Serial quart driver issue

  • Thread starter Thread starter Misbah
  • Start date Start date
M

Misbah

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
 
Back
Top