Zephyr async uart driver corrupts data on UARTE frame timeout

Related to the issue reported here:  RE: Framing Errors seen on nRF54L15 UART. Is it super sensitive to stop bit timing? 

If the UARTE FRAMETIMEOUT fires while new data is coming in then some bits of the new data is dropped, leading to corruption and potentially framing errors.

I've attached a loopback sample app that reliably reproduces this issue within seconds on the nRF54L15 DK. Simply connect a jumper wire between pins P1.11 and P1.12 then build and flash the image for the nrf54l15dk/nrf54l15/cpuapp board.

async_uart_echo.tar.gz

Parents
  • We're also experiencing this issue. 
    We're using a custom protocol where a uart BREAK is immediately followed by (at least) two bytes of data. Due to this issue, we are not able to capture those bytes, and get framing errors instead. Further data (~2-3ms after the BREAK signal) also seems to get received wrongfully.

    Tested on the nRF54L15DK. (with 19200 BAUD rate)

Reply
  • We're also experiencing this issue. 
    We're using a custom protocol where a uart BREAK is immediately followed by (at least) two bytes of data. Due to this issue, we are not able to capture those bytes, and get framing errors instead. Further data (~2-3ms after the BREAK signal) also seems to get received wrongfully.

    Tested on the nRF54L15DK. (with 19200 BAUD rate)

Children
No Data
Related