This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Problems with UARTE on nRF52832

Hi. We are using nRF52832 and we have problem with UARTE. SoftDevice version - S132 5.0.0, SDK version - 14.2.0.
Our application uses nRF and Mbed Serial to communicate with the GSM module using UART protocol with RTS/CTS flow control and sometimes reception errors occur, such as missing or incorrect bytes. Worth noticing: this errors occur only when there is BLE scan running at same time.
With digital analyzer we saw that there is no interference on pins and data transmits to nRF correctly, but sometimes nRF doesn't set RTS pin high after receiving next byte and apparently doesn't generate ENDRX event, which causes data corruption:

Our first hypothesis was that UART interruppt handling takes too much time due to the high priority interrupts from SoftDevice. So we modified implementation of Mbed Serial to work with a larger DMA buffer (DMA buffer is now flushed after a certain timeout after receiving last byte from the modem. The number of bytes received is counted using PPI and TIMER). But reception errors still occur. After connecting RXRDY event to pin toggle task, we can see that sometimes nRF doesn't generate RXRDY events properly:

Do you have any idea why this could happen?

Related