How to send data at higher data rate?

Hi,

I have two questions regarding the UART and SPI communication at high speed.

I am using the UART and SPI to transfer data on nRF52832 and sdk 17.0. I connected an ADS1299 and tried to get its 27 bytes data at 16000 samples/second.  Then I found that the data I received missed many data points. 

1. Is it possible to run at that high speed?

2. How can I avoid the data loss?

Thanks,

Parents
  • Cannot give you a generalized reply that fits both UART and SPI but in general 

    27 bytes of sample and 16000 samples per second = 27*16000*8= 3456000 bps which is not supported with UART. Maybe I misunderstood your requirement?

    With UART it becomes a necessity to have hardware flow control enabled at very high data rates or you need to handle the overflow errors in your app.

    2. How can I avoid the data loss?

    There is no general way of answering this without understanding the nature of your data loss. First try to figure out why you are having data loss then we can start to see if we can do something to avoid it. Check for any error sources in UART/SPI while transmitting or receiving your data (normally notified to the application using event handlers)

  • Thanks for your answers! 

    Where can I find the highest data rate that UART can support? If 3.456 Mbps is too high for UART, is there another way to transmit data at this speed?

Reply Children
Related