i.MX6UL UART Tx time-delay option between bytes?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6UL UART Tx time-delay option between bytes?

865 Views
sraynesford
Contributor I

On the i.MX6UL UARTs (RS232 mode), is there any way to add time between transmitted bytes so that the start bit doesn't immediately follow the stop bit? 

I'm working around communicating with a flawed UART in a legacy device on the other end that can't keep up with tight-packed bytes on its UART input (the flaw is documented in that device's errata).  The flaw is independent of bit-rate

We are using DMA for UART transfers and Linux 4.x is the OS.  Currently running at 3Mbps, same issue on 1Mbps.

Using two stop bits doesn't work in our application because it affects the Rx side as well.

Since the two devices are on the same board with no noise or jitter issues, I'm considering slowing down the i.MX6UL UART bit rate to create the illusion in the other device UART of extra time between the stop bit center and the start bit leading edge.  I'm not sure this will create enough extra time, however.

Thanks

Steve

imx6ul uart‌

uart transmit‌

#uart data transmission

Labels (2)
0 Kudos
1 Reply

617 Views
Pavel
NXP Employee
NXP Employee

The i.MX6UL UART hardware does not have possibility to insert delay between bytes. It is possible send BREAK condition to the receiver. See the UARTx_UCRx[SNDBRK].

You can also detect the Transmitter Empty Interrupt and insert a delay between data sending.

 

Linux driver does not support this possibility. It was developed for working as console.


Have a great day,
Pavel Chubakov

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos