Hi Christian,
Thanks for your reply!
Please find attached a couple of logic analyzer images.
I have included four different cases (001 - 004);
001: DMA disabled, baud rate 57600
002: DMA enabled, baud rate 57600
004: DMA enabled, baud rate 1M
005: DMA disabled, baud rate 1M
For cases 001 and 002 there are two images, an "overall" image and a more detailed one, named _with_markers.
A few notes regarding the images;
001-NO_DMA_57600_result_OK_with_markers.png vs 002-DMA_57600_result_NOK_with_markers.png
- with DMA enabled, TX pulse width (A1-A2) is 17,208 usec, with DMA disabled it is 17,498 usec
- time periods between TX end and and RX start (C1-C2) are 51,05 usec (DMA enabled) and 50,734 usec (DMA disabled)
- it seems like iMX does not receive (or ignores?) the byte '0x79' (in image 002)
004-DMA_1M_result_OK_with_markers.png vs 005-NO_DMA_1M_result_OK_with_markers.png
- communication works in both cases!
- in both cases, TX and RX pulse widths are 1 usec
- time periods between TX end and and RX start (C1-C2) are 5,54 usec (DMA enabled) vs 4,62 usec (DMA disabled)
What could cause the communication fail at lower baud rates?
According to my tests, communication works ok with baud rates >= 1M.
Can you notice any specific issue in the timings that could explain the problems in communication?
Thanks,
Jari