Re: DMA in UART .
- From: "PeteS" <PeterSmith1954@xxxxxxxxxxxxxx>
- Date: 17 Jul 2006 12:18:57 -0700
Grant Edwards wrote:
On 2006-07-17, Sikandar <sikandar032@xxxxxxxxx> wrote:
I am using 16550 compatible UART. While this UART supports max
speed of about 11.5 Kbps which is connected to a V92 dialup
modem supporting speeds upto 64Kbps.
I want to know the logic behind using DMA inside the UART for
transmission to the FIFOs Is this really required for such low
speeds.
There is no DMA inside 16550 UARTs.
--
Grant Edwards grante Yow! I'm into SOFTWARE!
at
visi.com
There is a _highly_ misnamed DMA mode 1 and 2 in 16550 compliant UARTS,
which really refers to their FIFO buffering mode.
This is DMA in the sense the core has direct access to some memory, but
it's not system memory.
This mode uses 16 byte (normal) or 64 byte (certain devices,
non-standard) of FIFO available for each of the receiver and
transmitter, with interrupts based on the FIFO levels.
This mode would be used (at the relative low speed of the device) to
minimise the time in the interrupt handler. Serial interrupt handlers
are still rather instruction intensive (because the 16550 uses a
priority encoder, the device can have multiple interrupts pending and
all must be serviced before it will generate a new hardware level
interrupt).
So the obvious answer is the actual answer: to minimise the time
software has to take to fill the receive / transmit data buffers
Cheers
PeteS
.
- References:
- DMA in UART .
- From: Sikandar
- Re: DMA in UART .
- From: Grant Edwards
- DMA in UART .
- Prev by Date: Z-World Dynamic C conversion from v5.26 to v9.21
- Next by Date: Proslic Help
- Previous by thread: Re: DMA in UART .
- Next by thread: Re: DMA in UART .
- Index(es):
Relevant Pages
|