我在论坛里下载的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模式都是代表什么呢?希望专家解答,谢谢
Thomas Yang1:
你好
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*/
guoping Lee:
Thomas 你好,在查阅程序之后发现在SERDES_LOOPBACK 模式下,其定义的PLL寄存器SRIO_SERDES_CFGRX[3:0]和SERDES_CFGTXn_CNTL的loopback为Enable,但是在 DIGITAL_LOOPBACK模式下,其定义寄存器PER_SET_CNTL1 中的loopback使能,请问,这两种loopback的区别在哪里?您所说的数字IP和SERDES IP具体是指什么?谢谢