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.

SRIO communication between two dsp through switch(cps1616).

In our custom board, we have two DSPs(c6678) connected through SRIO switch(cps-1616). We are running TputBenchmarking example code. After running code for type11 msg packets, the transfer occurs perfectly but when we try to run the same project again, the transfer doesn't start. When I tried to check status of code it shows input error and:

Inbound Ack : 0

Expected Ack: 15 

My assumption is that after first data transfer, the switch has retained last ACK and since new ACK is not same as expected, the switch port is going into error. How to clear these ACK on switch ports?

  • Deepankar,

    I went ahead and moved this thread over to the device forum in hopes that one of the MCSDK experts who monitor it will be able to answer your question more quickly.
  • Hi,

    Have you using TI provide SRIO TputBenchmarking example code for your testing? (\ti\pdk_C6678_1_1_2_6\packages\ti\drv\exampleProjects\SRIO_TputBenchmarkingTestProject)

    Have you run this example via CCS?

    Please try to test the same test after the power cycle of your custom board.

    Thanks,
  • Hi Ganapathi,

    I have been using the same, SRIO_TputBenchmarking example code.

    We are running this example via CCS.

    After power cycle of our board, the code runs perfectly but after running code once if I give CPU RESET and then try to run same project, it doesn't work. After each transfer I should not start the whole board again. Also I should not give reset to switch device after each packet transfer. 

    The problem that I can see is that in srio switch(cps-1616) is difference is different ACKIDs(after resetting device without power cycle)

    Link Partner Expected inbound ACKID   11

    Inbound ACK                                                 0

    Outbound ACK                                            11

    Outstanding ACK                                        11

    After power cycle these problems these problems doesn't come for one time only.

  • Hi,

    Yes, i observe the type 11 test is not working for rerun the same example on my EVMs. But after power reset the example is working fine.

    For my understanding, some of the SRIO type 11 configuration registers are not clear/set properly on this example project at rerun case. If you contentiously transfer the data means it is working fine.

    It is a test project for validate the SRIO transfer between two devices. You can refer this example and develop your test code for your real time setup.

    Thanks,
  • Hi,

    Actually I found out that after transfer is completed, RIO_SP_ACKID_STAT register keeps its previous value and the corresponding register in switch also keep its previous value. DSPs register value(RIO_SP_ACKID_STAT) can be easily reset. I was hoping if we could write a code to reset the switch's register which keeps ACKIDs then problem can be solved. We can send maintenance packets to write to switch registers, but what should be destID for those packets as switch doesn't have any ID. Is their any other way, we can write switch registers through DSP after every transaction?

  • Hi,

    Please check with SRIO switch provider for reset the switch registers. Also refer the below srio switch related threads
    e2e.ti.com/.../619318
    e2e.ti.com/.../234491

    Thanks,