Jump to content

Featured Replies

Posted

Hello!

 

 

 

I have a OMAP-35xx board ported with WinCE-6.0 which uses a TL16c754 quad

 

uart chip

 

This chip has 4 interruptlines going to a CPLD, where they are OR'ed,

 

and connected to the CPU.

 

 

 

So, in other words i need to share GPIO irq.

 

 

 

This system used to run Windows CE .net.

 

 

 

The ISR is actually just GIISR.DLL, which was called for each

 

uart like this:-

 

 

 

KernelLibIoControl(pHWHead->hIsrHandler, IOCTL_GIISR_INFO, &Info,

 

sizeof(Info), NULL, 0, NULL)

 

 

 

where the GIISR_INFO struct is:

 

 

 

Info.SysIntr = pSerialHead->pHWObj->dwIntID

 

Info.CheckPort = TRUE

 

Info.PortIsIO = FALSE

 

Info.UseMaskReg = FALSE

 

Info.PortAddr = (DWORD)pSerialHead->pCPLDUartReg

 

Info.PortSize = sizeof(BYTE)

 

Info.Mask = pSerialHead->UARTChannelNumMask

 

 

 

My problem is:

 

 

 

When we work with one port, the quart work fine (both receive and transmit)

 

 

 

(At 115200 baud rate if we transmit data through any one port throughput

 

comes aroung 10k

 

byte per second which is fine )

 

 

 

When we try to send data through one port and receive data on another port

 

the throughput goes down and we can see some framing errors.

 

 

 

(At 115200 baud rate if we transmit data through both port throughput comes

 

aroung

 

2.8k byte per second)

 

 

 

When we try to send data from PC to one of the port on device, redirect this

 

data to

 

another port on device and send it back to PC. It works for some time and

 

then one of the

 

port just hangs, while the other port keeps on working.

 

 

 

When the port hangs RTS of device/ CTS of PC becomes off for ever. And it

 

becomes on

 

only on device restart.

 

 

 

 

 

Is this the latency issue? if yes how could we able to overcome it?

 

 

 

Is there any way like usinf isr16550.dll would help to improve the

 

performance ?

 

 

 

Is this a design issue to have 8 uart with one interrupt ?

 

 

 

How could we be able to improve the performance. Please do share your

 

experience in this

 

regard. I would be highly thankful for your advice/suggession.

 

 

 

Thank you,

 

Misbah

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...