Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Baud Rate on nRF52 issues

Hi, I am evaluating two nRF52832 boards with a PCA10040. I am using the SDK examples Central and Peripheral to talk to each other on Tera Term. I am using the "send file" operation on tera term. On this file, I have typed six characters (all numbers). So I am trying to see how the UARTs on both boards work and the details in which they talk to each other. For this, I have been trying to communicate at different baud rates with the same message. I have connected an O-scope to the boards to see what gets sent and what gets received. The first picture is the send and receive of the UARTs at baud rate = 9600. The second and third pictures are the same message but at baud rate = 912600. As you can see, at the 9600 rate, the message is send and received normally. But at the 912600 rate, the received looks broken up and really weird. I have also tried it at baud rate = 38400, and it works fine as well. Can someone explain what exactly is actually happening at baud rate = 912600 and why it doesn't send/receive data properly? *note: 3rd picture is slightly scaled out compared to 2nd picture so you could see how its broken up. 

Parents
  • Looks normal to me, if you are using UART and not UARTE (with DMA).

    Reason is simply the little delay on every entry (and exit) from an interrupt handler. The first larger delay might be softdevice interrupting your UART receiver.

    At  higher baud rates I recommend using hardware handshake lines.

    Also consider using UARTE instead of UART, and/or try rolling your own UART interrupt handler function. The NRF stuff might not be optimal for your case.

Reply
  • Looks normal to me, if you are using UART and not UARTE (with DMA).

    Reason is simply the little delay on every entry (and exit) from an interrupt handler. The first larger delay might be softdevice interrupting your UART receiver.

    At  higher baud rates I recommend using hardware handshake lines.

    Also consider using UARTE instead of UART, and/or try rolling your own UART interrupt handler function. The NRF stuff might not be optimal for your case.

Children
Related