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.

TMS320C6678: UDP throughput is slow when DSP->PC->DSP

Genius 13655 points

Part Number: TMS320C6678


Hello Champs,

Hardware: own board
Software: CCS 5.5, ndk_2_25_01_11

Customer used helloworld example to test UDP throughput. 

 100MHz speed    package size must be 1400bytes due to their project requirement

1. DSP->PC or PC->DSP, the throughput can reach 90Mbps

2. DSP->PC->DSP, the throughput can only reach 10Mbps. 

Which may cause the issue?

Thanks.

Rgds
Shine




  • Hi,Shine,I suggest customer try to send packet  directly in driver layer and project's task count reduce to  enough.

    step1:creat a send task;

    step2:init  udp packet  raw data "pktMatch array in cppi_qmss_mgmt.c",formart fixly,such as "00 01 02 03 04 05 06 07" ;

    step3:init  cppi host descriptor,inited by raw data.

    step4:push host descriptor into qmss queue 648.

    while(1) execute step1 to step 4,check dsp->pc packet rate,view windows control panel network rate maybe exceed 500Mbps.

    later,create a receive task in dsp,pc send packet to dsp,view again windows control panel network rate?

     

    suspect:

    1、is there drop pkts because of  exhausted buffer?

    2、is there some delay or task_sleep?

    3、is there other task enter into while(1) loop branch?

    4、how to confirm the packet not drop in PC forward step?

     

    NOT professional tips,good luck.

  • Hi Kros,

    Customer had further questions about below two steps.

    step2:init udp packet raw data "pktMatch array in cppi_qmss_mgmt.c",formart fixly,such as "00 01 02 03 04 05 06 07" ;

    step3:init cppi host descriptor,inited by raw data.

    step4:push host descriptor into qmss queue 648.

    1. Not very understand the data format in step2, are the data {0x10,0x11,0x12......} meet the requirements?

    2. Where is the source code or the API function mentioned in step3 and step4?

    Thanks.
    Rgds
    Shine

  • Hi,Shine,

    from your feedback,customer maybe not familar with Gbe and PA,so i suggest He can try to run an example firstly.

    the example source code install directory such as: ti\pdk_6678_1_1_2_6\packages\ti\drv\pa\example\simpleExample\paExample.

    the example ccs project directory such as:ti\pdk_6678_1_1_2_6\packages\ti\drv\exampleProjects\pa_simpleExample_exampleProject.

    the raw data formart is very clear by comment.

    this project show raw data send to GMAC by push it queue 648,it help customer to understand the Gbe and PA's  config and flow simply.

    NDK should be stable,after similar with gbe and PA driver,check it to nimu layer,it connect net driver and net stack.

    Not professinal advice,just ti forum fans tips, hope to get good news.

    Bst Rgds!
    tiKros