Re: TL16C550CIFN




CBFalconer wrote:
"wuyi316904@xxxxxxxxx" wrote:
CBFalconer 写道:
"wuyi316904@xxxxxxxxx" wrote:

Thanks a lot,I have a problem that I have set a simulation model to
verify this UART's DMA function,but the /RXRDY goes true when there is
only one character in the rxbuffer(I set the trigger level is 14),I
want to know why and can u give me a example of DMA mode configuration.

... snip about context. You caught on ...

IIRC most cacheing UARTs will allow you to adjust the trigger point
(items in the cache) at which an interrupt will be raised. The
RXRDY signal has a different purpose, it simply signals that that
cache is non-empty. Thus once an interrupt occurs the service can
be of the general form:

while (rxrdy) buffer[index++] = rxdata;
/* now reset and rearm interrupt system */

Thus avoiding the overhead of a system interrupt for each byte.

I don't know ur meanings very much. My problem is that the /RXRDY
does't operate correctly, it gose true(low) when the first byte has
received by the rxbuffer, not when the rxbuffer reach the trigger.

And I pointed out that it is correct. The trigger controls the
point at which an interrupt is raised. This has nothing to do with
DMA. It has everything to do with interrupt service. Data rates
from UARTs will normally be much too slow to bother with DMA
operation.

Maybe you should be describing what you are trying to do.

--
"If you want to post a followup via groups.google.com, don't use
the broken "Reply" link at the bottom of the article. Click on
"show options" at the top of the article, then click on the
"Reply" at the bottom of the article headers." - Keith Thompson
More details at: <http://cfaj.freeshell.org/google/>

Now,when the /RXRDY goes true,the interrupt signal goes true is
right?if not,when does the interrupt signal go true and what is the
value of iir this time?

.



Relevant Pages

  • Re: TL16C550CIFN
    ... verify this UART's DMA function,but the /RXRDY goes true when there is ... IIRC most cacheing UARTs will allow you to adjust the trigger point ... Thus once an interrupt occurs the service can ... or more characters in the FIFO and more than three character ...
    (comp.arch.embedded)
  • Re: TL16C550CIFN
    ... >> only one character in the rxbuffer(I set the trigger level is 14),I ... >> want to know why and can u give me a example of DMA mode configuration. ... > (items in the cache) at which an interrupt will be raised. ...
    (comp.arch.embedded)
  • Re: TL16C550CIFN
    ... >>> only one character in the rxbuffer(I set the trigger level is 14),I ... >>> want to know why and can u give me a example of DMA mode configuration. ... >> at which an interrupt will be raised. ... not when the rxbuffer reach the trigger. ...
    (comp.arch.embedded)
  • Re: Handling high UDP throughput
    ... The product that uses this sustains 540MbS with a 38kHz interrupt running using more than half the processor's power, so a lot goes on in the system but a lot of time is available for TCP/IP. ... The Ethernet driver was optimized, the memory movement was optimized (just using an inline memcpy that does a DMA transfer adds 30% to the effective speed), the IP checksum was in assembly, and a zero-copy TCP/IP stack was required. ... How much TX buffers did you have? ...
    (comp.arch.embedded)
  • Re: TL16C550CIFN
    ... verify this UART's DMA function,but the /RXRDY goes true when there is ... IIRC most cacheing UARTs will allow you to adjust the trigger point ... Thus once an interrupt occurs the service can ... or more characters in the FIFO and more than three character ...
    (comp.arch.embedded)