This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Sending Burst Data through Ethernet of TM4C1294NCPDT board to PC

Other Parts Discussed in Thread: TM4C1294NCPDT

Hi,

I am working on TM4C1294NCPDT board for an application. Here I am using 8 ADC channels to collect data from 8 sensors. I need the sampling rate of 1 kSpS. As tiva ADC is sufficient to give the sampling rate till 1 MSpS, there is no problem with that. But when I need to send that data through UART to see it in the serial terminal, I miss most of the data. So I tried using UART transmit interrupt (it will wait for the transmit buffer to get empty before sending next data). So with this, I can able to achieve only 240 SpS (samples per second). Because, the UART is not supporting for bulk data transfer within 1 second.

So, I thought of using Ethernet, as Ethernet is used for transmitting huge data. Now, I need to send those values (from ADC with 1 kSpS) that are obtained to a serial terminal using Ethernet of tiva board. I no need to send the data to any web server. I just want to see all the data in serial terminal.

Can anyone please help me out to start working in this application. As I searched the example of Ethernet applications, all projects are discussing about, sending data to a web server using Ethernet. But my objective is to send the data to a serial terminal. So please guide me to start with this task.

Thanks and Regards,

Subash

  • Hello Subash

    When using the UART port the baud rate is set to 115200 bps. After removing the framing bits the effective data rate is 92160 bps. Now if you are packing the 12-bit ADC as 16-bit words and sending it, then for back to back UART frames the effective data rate is 5760 messages per second. This is still greater than the 1KSPS.

    I would suggest checking the code first on how UART is being used.
  • I would suggest checking the code first on how UART is being used.

    In other words - the issues are most probably caused by inappropriate code.

    A simple synchronous "sample -> send" sequence will never achieve any noteworthy throughput. Those things can run in parallel - which requires a little more thought beforehand...

  • Hi Amit,

    Thank you for your reply. You are absolutely right and I can achieve that (5760 messages per second). But the problem is I am using 8 ADC channels, so each time 8*16 bit words will be sent through UART. As well as I am using 8 GPIO's, so even I need to send that GPIO outputs (1 or 0) through UART continuously. So when doing that, the data rate in my application comes down to nearly 500 messages per second. That in turn means that ADC sampling rate is also 0.5KSPS for my application.

    This is what I need to overcome. That is why I am trying with Ethernet.

    Also I don't know whether I am going anywhere wrong. So please give your valuable suggestions.

    Regards,

    Subash  

  • Hello Subash

    Even though you are using 8 channels, it would mean that the 8 channels are converting one after the other and not in parallel. So the equation will still hold. Even if you are using 2 ADC's, the overall rate will double, but still there is sufficient bandwidth available on the UART.