UART faster than 1Mbps?

I was a bit surprised to see that 1Mbps was the fastest that the UART (and UARTE) supports. Is it really so that it can not be run at 2Mbps (which I would need)?

Parents
  • You can run the UART Tx transmitter at 1, 2, 4 or even nearly 8Mbps (I have done this) but the receiver is limited to 1Mbps due to the usual UART multi-sample-voting algorithm with 16MHz clock and divide-by-16 sampling. I can share code if you want to test that, but it's really only useful for either transmit-only data at (say) 2Mbps or (with a bit of pain) an asymmetrical baud rate half-duplex link with 2Mbps Tx and 1Mbps Rx. It works though.

    Edit: I posted the code here custom-uart-baud-rate .. and ah, don't expect Nordic official support to necessarily agree with me (no offence intended) :-)

Reply
  • You can run the UART Tx transmitter at 1, 2, 4 or even nearly 8Mbps (I have done this) but the receiver is limited to 1Mbps due to the usual UART multi-sample-voting algorithm with 16MHz clock and divide-by-16 sampling. I can share code if you want to test that, but it's really only useful for either transmit-only data at (say) 2Mbps or (with a bit of pain) an asymmetrical baud rate half-duplex link with 2Mbps Tx and 1Mbps Rx. It works though.

    Edit: I posted the code here custom-uart-baud-rate .. and ah, don't expect Nordic official support to necessarily agree with me (no offence intended) :-)

Children
Related