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 loopback问题

我在论坛里下载的SRIO的例子。其中的loopback模式可以有如下选择:

typedef enum
{
 SRIO_NO_LOOPBACK = 0,
 SRIO_DIGITAL_LOOPBACK,
 SRIO_SERDES_LOOPBACK,
 SRIO_EXTERNAL_LINE_LOOPBACK,
 SRIO_EXTERNAL_FORWARD_BACK
}SRIO_Loopback_Mode;

可是我看了SRIO的数据手册发现,loopback只有三种模式:

请问SRIO工程中的五种loopback模式都是代表什么呢?希望专家解答,谢谢

 

  • 你好

    SERDES_LOOPBACK 和 DIGITAL_LOOPBACK都是本地的自循环,所不同的是前者循环路径是经过数字IP而后者循环路径是经过SERDES IP

    对于后两种循环方式,请参考SRIO_Test.c 文件中的注释,有详细说明如下

    else if(SRIO_EXTERNAL_FORWARD_BACK==loopback_mode)

    {

    /*For external loopback, DSP0 sends packet to DSP1, and DSP1 sends

    back to DSP0. So, DSP0 runs as normal, DSP1 is configured to forward

    back packets with ID of DSP0*/

    else if(SRIO_EXTERNAL_LINE_LOOPBACK==loopback_mode)

    {

    /*For external loopback, DSP0 sends packet to DSP1, and DSP1 sends

    back to DSP0. So, DSP0 runs as normal, DSP1 runs in line loopback mode*/

  • Thomas 你好,在查阅程序之后发现在SERDES_LOOPBACK 模式下,其定义的PLL寄存器SRIO_SERDES_CFGRX[3:0]和SERDES_CFGTXn_CNTL的loopback为Enable,但是在 DIGITAL_LOOPBACK模式下,其定义寄存器PER_SET_CNTL1 中的loopback使能,请问,这两种loopback的区别在哪里?您所说的数字IP和SERDES IP具体是指什么?谢谢