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.

Low rate and latency in UDP using c6678

Hello everyone,

I am a newbie in c6678 network programming. I would like to create a bridge between the C6678 evm and a Linux PC, using UDP. I based my project on the mcsdk_2_01_01_04\examples\ndk\helloWorld example. I send a packet first with the PC and the evm resends this packet. I make this loop 3000 times, to a have a good average of the bit rate. I tried two options of the NDK: with and without daemons. In both cases the bit rate doesn’t exceed 2MBytes/s with power cycle.

This rate is due to latency in the response of the evm. I have to wait 1ms between reception of the packet on the evm and the send to the PC, according to Wireshark.

In order to understand this latency I made my own project (seperated of helloWorld) with two tasks: one to send, one to receive. I used the execution graph of the System analyzer. It seems that the evm is blocked in the send task during 1ms.

What am I doing wrong?

Configuration :

NDK : 2.22.1.14

SYS-BIOS : 6.33.6.50

MCSDK : 2.1.1.4

Platform : evmc6678le

 

Best Regards

Rémi

  • Remi,

    On the PC side I ran the testudp application, based on the Wireshark capture, the delta between DSP receive a packet and send it back is about 0.7 ms. Are you complaining this delay?

    Regards, Eric

     

  • Eric,

    I made the same experiment with the testudp.exe winapps. I have one more time a delay of 1ms. Are there some parameters to adjust that can explain the difference between our results?

    Besides this, I try to evaluate the throughput in output of the CC6678. I obtained 272Mbits/s with  packets of 1kBytes situated in L2 memory. Is it the maximum we can obtain with the NDK, or is there something to improve in my configuration?

    Best regards,

    Rémi

  • hi Remi

    i have evaluated the throughput on 6678 EVM i got following results

    300Mbps with 1K payload

    415Mbpas with 1500 payload

    881Mbps with 8K payload

    you can increase your payload size and try may be use jumbo frame that will give you better result

    .

    Pratik jain

  • Hi, .

    I use c6671 and,

    I eventually success the use of dual port ethernet a week ago becuase John who works for TI helped me a lot.

    But, I met another problem nowadays.

    That is when I sent multicaste messages every 1ms, It becomes back out. i mean die the whole system.

    But every 100ms is OK with my borad.

    Our spec of this :

    1. get multicast messages every 1ms from linux server (40Byte)

    2. assemble the data around 126Byte and send back to linux server.

    I don't know what do I have to do now. Just I am doing changing all of variable which I think concerned with this problem.

    But as I mentioned it doesn't work.

    Please help me.

    Thanks, Ryan.

  • I make progress here a little bit.

    Actually  it's not a progress, :) just I check one thing more.

    That is just eth0 works fine but eth1 doesn't work with 1ms multicast receive but it works with 100ms muticast recevie.

    Just I think It doesn't work with accumulator when it set up in Setup_Rx in numu_eth.c.

    Anybody have any ideas? Please tell me someone who have any idea about this.

    Thanks, Ryan