Elan Logo
Search
Telephone : +44 1489 579 799 email:
sales@elandigitalsystems.com
HOME PRODUCTS BUY ABOUT US SUPPORT DOWNLOADS CUSTOM CONTACT US SITEMAP

Problems on PDAs due to Interrupt Latency

Problems have been observed on several PDA platforms due to excessively high interrupt latency in the host CF slot.

More Information

When a comms card is used in the CF slot of a PDA, data is transferred from the card into the PDA via an interrupt. The "interrupt latency" is the time taken for the host to generate an interrupt in response to a request from the card. The card requests an interrupt as soon as it starts to receive data (from the device downstream). During the interrupt latency delay, data continues to arrive at the card and is stored in the data buffers in the UART chip inside the card.

If the interrupt latency of the PDA CF slot is too high, the buffers may fill up before the interrupt occurs and the data is collected from the card by the PDA. If this occurs, data loss will be observed.

More Information

A typical data rate for a serial application is 38.4 Kbits/second.

The CF232 card family use a standard PC card UART which has a 16-byte FIFO (buffer) which will hold 16 x 8 = 128 bits of data.

The buffer will fill up every 128 / 2847000 seconds = 3.3ms.

So if the interrupt latency is longer than 3.3ms, the buffer will become full and data loss will occur.

Elan has measured interrupt latency on some new PDA models, including the Dell Axim X51 and the HP2100 models, of over 30ms! This is far too high. It appears to be worse if the PDA is also carrying out other tasks; probably some other application is causing the lengthy delay.

Work-Around

Unfortunately the root cause of this issue can only be addressed by the PDA manufacturers. In some cases, the manufacturer has issued a new ROM version which reduces the interrupt latency.

Otherwise the only solution is to slow down the data rate, until the data loss ceases.

If this is impractical, the CF332 card (dual RS232 ports) may provide a solution. Because the CF332 uses Elan's VMB5000 chip, which was designed as a USB interface for high speed telecoms applications, it has very large buffers on one of it's data channels. If only the first port of the CF332 is used then it will tolerate an interrupt latency of more than 3 seconds which is sufficient for even the worst-offending PDAs that Elan has measured.