Re: Linux serial port dropping bytes
- From: CBFalconer <cbfalconer@xxxxxxxxx>
- Date: Wed, 02 Apr 2008 08:57:52 -0500
David Brown wrote:
CBFalconer wrote:
<snip>
I left the whole thing unsnipped. The time has come for me to
crave forgiveness. I think I have been afflicted with age or
something. The bits/persec crowd are absolutely correct, and I
am wrong.
I don't think you need forgiveness - you just made a mistake.
So that leaves the real problem handling throughput of
approximately 1 char each 10 microsec.
You need to handle an *average* of 1 character per 10 us. But
the cost of handling each character is peanuts - even if the
UART is on a slow bus, you should be able to read out characters
at something like 20 per us. The cost is in the handling of the
interrupt itself - context switches, cache misses, etc. That's
why you use a UART with a buffer - it takes virtually the same
time to read 128 bytes out the buffer during one interrupt, as
to read 1 byte from the buffer during the interrupt. So if
you've set your UART to give an interrupt every 100 characters,
you get an interrupt every ms and read out a block of 100
characters at a time.
That depends on your CPU speed. Within the interrupt, you have to
handle something like:
REPEAT
test for more in FIFO
take one, stuff in buffer, while checking for buffer full.
test for overflow or other errors.
if any, call appropriate handler
UNTIL FIFO empty
clear interrupt system
rearm interrupt
exit
Note that some operations will require several accesses to the
UART. Those will eat up time. They will be much slower than
on-chip memory access.
--
[mail]: Chuck F (cbfalconer at maineline dot net)
[page]: <http://cbfalconer.home.att.net>
Try the download section.
--
Posted via a free Usenet account from http://www.teranews.com
.
- Follow-Ups:
- Re: Linux serial port dropping bytes
- From: Anton Erasmus
- Re: Linux serial port dropping bytes
- From: David Brown
- Re: Linux serial port dropping bytes
- From: Didi
- Re: Linux serial port dropping bytes
- From: Grant Edwards
- Re: Linux serial port dropping bytes
- References:
- Linux serial port dropping bytes
- From: Derek Young
- Re: Linux serial port dropping bytes
- From: CBFalconer
- Re: Linux serial port dropping bytes
- From: Grant Edwards
- Re: Linux serial port dropping bytes
- From: CBFalconer
- Re: Linux serial port dropping bytes
- From: Grant Edwards
- Re: Linux serial port dropping bytes
- From: CBFalconer
- Re: Linux serial port dropping bytes
- From: David Brown
- Linux serial port dropping bytes
- Prev by Date: Re: reading in data from rs232 port, require to resend as an email
- Next by Date: Re: Cortex M3 with FreeRTOS
- Previous by thread: Re: Linux serial port dropping bytes
- Next by thread: Re: Linux serial port dropping bytes
- Index(es):
Relevant Pages
|