Re: Linux serial port dropping bytes



On 2008-03-31, CBFalconer <cbfalconer@xxxxxxxxx> wrote:
Derek Young wrote:

I'm using an Arcom Viper PXA255 single board computer running Linux,
and I'm trying to receive bytes over the built-in RS-422 serial port
at 921.6 kbps. The received packets are 1500 bytes long. The UART
is a 16C2850 (dual port version of the 16C850 with 128 byte FIFO).

Everything works fine at low speeds, but if the packet rate
increases, I start to lose bytes.

Your numbers indicate that you would need an interrupt roughly
every 1 microsec. Not a chance.

Huh?

If he sets the FIFO threshold to 64, then the interrupt
frequency is 921600.0/10/64 == 1440Hz.

If he sets it FIFO threshold to 96, then the interrupt
frequency is 921600.0/10/96 == 960Hz. 960Hz should be no
problem at all unless some of the other ISRs are running too
long.

--
Grant Edwards grante Yow! .. the MYSTERIANS are
at in here with my CORDUROY
visi.com SOAP DISH!!
.