Peripheral UART Baud-Rate

Hello,

I am using the nRF54L15-DK development kit. The peripheral-uart example works well to stream data from the kit to a smartphone using the nRF-tools App. However, this software runs only at 115200 Baud/s. I would like to use at least 230400, better 460800. Is there already a sample tool ready for this? If not, how do I modify the peripheral-uart-code to increase the Baudrate? Does the Android-App support this speed?

Regards,

Michael

Parents
  • Hi Michael,

    You can incrase the baud rate of the UART interface by modifying the devicetree. For the Bluetooth peripheral UART sample and the nRF54L15 DK, you can modify boards/nrf54l15dk_nrf54l15_cpuapp.overlay and add this to set the baud rate (here 9600 is used, you can pick another supported baud rate):

    &uart20 {
    	current-speed = <9600>;
    };

    However, the maixmum UART baud rate for most instances is 1 Mbaud. The exception is UARTE00, which should suppor tup to 4 Mbaud. This is not supported in the SDK yet though, nor is the details availbale in the current datasheet. So for now, you need to stick to maximum 1 Mbaud.

    Regarding Android app etc, the UART speed and the throguhput of the Bluetooth interface are two different things. Bluetooth throughput is a bit complex, and depend on the capabilities of both devices. With 2 Mbps PHY and ideal connection parameters etc you may be able to get a throughput up to about 1.5 Mbps over Bluetooth, but this depend on a lot of factors, not leas the phones capabilities (and of course, if you are using NUS with a slower UART interface, you will not get this high throughpug in the whole system).

  • Is there any idea when UARTE00 with 4Mbit support will be available?

  • Hi,

    It is supported in nRF Connect SDK 3.0.0. No special consideration is needed. However, as part of supporting this, the devicetree now describe the clock in the device tree using clocks = <&hfpll>; for the high speed instance (and clocks = <&pclk>; for the normal speed / 16 MHz instances). So if you redefine uart00 you need to make sure you do not select the wrong clock source.

  • Thank you for fast response,

    Could I ask you point me to the example for Zephyr?

  • Hi,

    If you look at the devicetree file for nRF54L05/10/15 you can see tha tit includes the mentionned property for UARTE00 here. As long as this is kept as is or added to a potential overlay file if you define this elsewhere, you can specify the baud rate and the driver will handle this for you properly. No other special handling is needed.

Reply Children
No Data
Related