Problem with UART ADSP-2191
Hi, everyone.
There is the problem with UART adps-2191. I use simple code to transmit a string. To define the THR register emptiness I use polling of the THRE bit (bit 5) in the LSR register. But I see on the oscilloscope screen only last byte (it looks like the next byte overwrites the previous one). Then I insert explicit delay after sending byte and everything works properly (i see the whole string on the oscilloscope screen). I even used the example from the data sheet (hardware reference) but result is the same. What have I done wrong?
Hi,
I can see that the issue which you are facing is already mentioned in the ADSP-2191 Anomaly Sheet.
There is a latency issue with the Transmit Holding Register of the UART which can cause a transmit data overrun situation to occur. The link for the Anomaly sheet (Page 2/11)which discusses this issue is given below:
http://www.analog.com/static/imported-files/ic_anom/2191_95_96_anomaly_42506.pdf
It also provides a work-around which allows error free transmission via UART.
I request you to kindly go through it and please let me know if you have any further queries/doubts.
Thanks,
Harshit
Please log in to reply.