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

UARTE framing errors at low temperatures?

Hello,

i'm using an nRF52832 as a Bluetooth to UART bridge, similar to the APP UART example. Another controller (Cortex M7) is connected to the UART. I'm using UARTE with EasyDma and, because i have telegrams with variable length, TIMER1 to generate timeouts. For this i have made the following connections via PPI:

  • UARTE RXDRDY event to TIMER1 CLEAR task

  • UARTE RXDRDY event to TIMER1 START task

  • TIMER1 COMPARE0 event to UARTE STOPRX task

Flow control is not enabled. I use SDK14.0.0.

This works so far except that at temperatures below -30 °C i'm sometimes getting framing errors from the UARTE althought the signal looks good. The baudrate of the sender is correct and the nRF52 is using a 32 MHz crystal to generate the HFCLK.

Are there any problems known with UARTE at low temperatures?

Is my usage of UARTE together with TIMER1 ok?

The Cortex M7 is a Microchip ATSAMS70Q21-CN with an operating teperature range of -40 to 105 °C. Connected is a 20 MHz crystal with a frequency stability of +-20 ppm at -40 to 85 °C.

The 32 MHz crystal at the nRF52 has a frequency stability of +-10 ppm at -40 to 85 °C. I also have no problems with Bluetooth LE communication at low temperatures.

Edit: The problem is not independent of the Baudrate. I see the framing errors at -35 °C with 1Mbps (I don't know yet where they start). At lower baudrates the framing errors start at lower temperatures, i have to check, where exactly.

Attached is a oscilloscope screenshot, showing the Problem. Channel 2 is the serial data, channel 4 is the UARTE RXDRDY Event and channel 3 is the UARTE ERROR Event, where the events toggle io-ports via GPIOTE.

1MBd_-35Deg.png

Related