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

I need Baudrate 2M (2000000).

I am developing a wearable using nRF52832.
I am using SKD_15.3 ble_app_uart source code for testing. And use Putty together.
This source code implements UART Baudrate up to 1M (NRF_UART_BAUDRATE_1000000).

By the way, I need Baudrate 2M, so I modified the source code for Baudrate 2M and tested it.
However, the text input from the iPhone app is displayed in Putty.
However, the string entered in Putty is not sent. The uart_event_handler () function in the uart_fifo.c file is not called.

So ask for help here.
Please make ble_app_uart source code that works with Baudrate 2M (2000000).
Parents
  • Hi,

     

    See the Product Specification: nRF52832 supports up to 1 Mbps baudrate.

     

    Best regards,

    Andreas

  • I know too. The nRF52832 supports Baudrate up to 1M.

    But I really need Baudrate 2M.
    So I tried Baudrate 2M and TX works very well. But the RX part is not recognized. Perhaps something is blocked.
    Since TX works fine, I believe RX will work too.
    I believe that anyone who knows source code, such as Nordic engineers, will definitely solve it.

    I believe the Cortex-M4 will support Baudrate 2M of course.

    Please solve the problem that RX does not work when set to Baudrate 2M.

    Thank you.

  • There is no 'problem' that RX doesn't work when set to baudrate 2M because the peripheral is specified only to work to 1M and that's the limitation of the hardware. If it worked at 2M, trust me Nordic would advertise it as such. The peripheral works at only the frequencies specified in the documentation, no others. 

    Your 'belief' that because TX works at 2M then RX will has no basis at all. TX is easy, the peripheral controls the clock, you need a 2MHz clock and you can transmit. RX .. is much harder and usually requires running the clock at multiples of the frequency and sampling the signal many times during one cycle to work out where the middle of the pulses are in order to decode them. The peripheral bus likely does not run fast enough to do this oversampling at frequencies greater than 1MHz. 

    You've tried an unsupported configuration which exceeds the specifications of the device and found it doesn't work. It isn't going to work however often you ask. Either use a different chip which can support 2MHz or work out how to restrict your communications to 1MHz, or use SPI, which is a better protocol for high frequency anyway as the clock is provided as part of the protocol. You can run that up to 8MHz. 

Reply
  • There is no 'problem' that RX doesn't work when set to baudrate 2M because the peripheral is specified only to work to 1M and that's the limitation of the hardware. If it worked at 2M, trust me Nordic would advertise it as such. The peripheral works at only the frequencies specified in the documentation, no others. 

    Your 'belief' that because TX works at 2M then RX will has no basis at all. TX is easy, the peripheral controls the clock, you need a 2MHz clock and you can transmit. RX .. is much harder and usually requires running the clock at multiples of the frequency and sampling the signal many times during one cycle to work out where the middle of the pulses are in order to decode them. The peripheral bus likely does not run fast enough to do this oversampling at frequencies greater than 1MHz. 

    You've tried an unsupported configuration which exceeds the specifications of the device and found it doesn't work. It isn't going to work however often you ask. Either use a different chip which can support 2MHz or work out how to restrict your communications to 1MHz, or use SPI, which is a better protocol for high frequency anyway as the clock is provided as part of the protocol. You can run that up to 8MHz. 

Children
No Data
Related