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.

DirectIO Edma streaming example

Hello,

I'm executing the edma rapidio streaming example provided by the DIO library 1.0 on the evm board (c6474) and i want to modify/know the used data rate (3.125 ; 2.5 ; 1.25 gbps)

I guess that could be changed from these 2 lines of code of the example :

#define     PLLC_PREDIV_CLK    1        // PLLC_PREDIV_CLK - 1 set to register             
#define     PLLC_PLLM_CLK      20       // PLLC_PLLM_CLK - 1 set to register     

What does 20 mean ? I want to set it to the full value (3.125) .. according to the user guide, an MPY value of 12.5 must be used !

I've another question about time mesurement using the 2 DIO functions :

    t1 = COM_startChrono();
    t2 = COM_stopChrono();

How to get the value of spent time (in ns) from t1 & t2 and how to know the DSP working frequency ?

By the way, what does that structure field mean in the example : testObjTab[k].raw_lsu_setup=1; ?

Thanks !

  • In cslUtils.c\DIO_portSetup() find:

     

            hSrio->portPllMpy[0]   = CSL_SRIO_SERDES_PLL_MPLY_BY_12_5;

            hSrio->portRate[0]     = CSL_SRIO_SERDES_RATE_FULL;

     

    This sets the speed for port 0. Use the table below to change to a different rate:

        {CSL_SRIO_SERDES_RATE_HALF,     CSL_SRIO_SERDES_PLL_MPLY_BY_10},    //1.25Gbps

        {CSL_SRIO_SERDES_RATE_FULL,     CSL_SRIO_SERDES_PLL_MPLY_BY_10},    //2.5Gbps

        {CSL_SRIO_SERDES_RATE_FULL,     CSL_SRIO_SERDES_PLL_MPLY_BY_12_5}   //3.125Gbps

     

    The trick is that you have to change both.

     

    The chrono functions return clock cycles if i am not mistaken. You get the nr of ns via you core clock frequency.

     

    HTH,

    -Dirk