TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320C6678: SRIO例程问题

Part Number:TMS320C6678

测试板型号:TMDXEVM6678LE

测试程序:STK-SRIO例程

 一、loopmode:digital loopback

1. 当 serdes_cfg.commonSetup.inputRefClock_MHz=312.5;  serdesLinkSetup.linkSpeed_GHz=5时

程序在如下三个path下

internal_path[]={SRIO_PATH_CTL_1xLaneA,SRIO_PATH_CTL_2xLaneAB,SRIO_PATH_CTL_4xLaneABCD}均可以正常运行。

2.当 serdes_cfg.commonSetup.inputRefClock_MHz=156.25;  serdesLinkSetup.linkSpeed_GHz=2.5时

SRIO初始化失败,程序总是执行到 Wait_SRIO_PLL_Lock();

请问这是什么问题?对于6678EVM inputRefClock和linkSpeed是有设置限制吗? 

二、loopmode:serdes loopback

DEBUG:

[C66xx_0] SRIO_SERDES_LOOPBACK test start……………………………………..
Initialize DSP main clock = 100.00MHz/1×10 = 1000MHz
Enable Exception handling…
SRIO link speed is 5.000Gbps
SRIO path configuration 1xLaneASWRITE from 0x10802200 to 0x1080a200, 8 bytes, 4259 cycles, 15 Mbps, completion code = 0
data mismatch at unit 0, 0x1 (at 0x10802200) != 0xffffffff (at 0x1080a200)
SWRITE from 0x10802200 to 0x1080a200, 16 bytes, 4187 cycles, 30 Mbps, completion code = 0
SWRITE from 0x10802200 to 0x1080a200, 32 bytes, 4371 cycles, 58 Mbps, completion code = 0
SWRITE from 0x10802200 to 0x1080a200, 64 bytes, 4580 cycles, 111 Mbps, completion code = 0
data mismatch at unit 0, 0x4 (at 0x10802200) != 0xffffffff (at 0x1080a200)
SWRITE from 0x10802200 to 0x1080a200, 128 bytes, 5094 cycles, 201 Mbps, completion code = 0
data mismatch at unit 0, 0x5 (at 0x10802200) != 0xffffffff (at 0x1080a200)
SWRITE from 0x10802200 to 0x1080a200, 256 bytes, 6092 cycles, 336 Mbps, completion code = 0
data mismatch at unit 0, 0x6 (at 0x10802200) != 0xffffffff (at 0x1080a200)
SWRITE from 0x10802200 to 0x1080a200, 512 bytes, 8286 cycles, 494 Mbps, completion code = 0
data mismatch at unit 0, 0x7 (at 0x10802200) != 0xffffffff (at 0x1080a200)

程序运行到KeyStone_SRIO_wait_LSU_completion;

请问这是什么问题?

三、loopmode:no loopback  (只用了一块板子)

当serdes_cfg.commonSetup.inputRefClock_MHz=312.5;  serdesLinkSetup.linkSpeed_GHz=5时,

SRIO初始化失败,程序总是执行到KeyStone_SRIO_Init;

if(srio_cfg->blockEn.bLogic_Port_EN[i])
{
while(0==(gpSRIO_regs->RIO_SP[i].RIO_SP_ERR_STAT&
CSL_SRIO_RIO_SP_ERR_STAT_PORT_OK_MASK));
}

查看寄存器值

bLogic_Port_EN[0,1]=0  bLogic_Port_EN[2,3]=1;

gpSRIO_regs->RIO_SP[2].RIO_SP_ERR_STAT=1;

这是因为我只用了一块板子的原因吗?

Shine:

1. C6678 EVM板的SRIO参考时钟是312.5MHz,所以改成156.25MHz,初始化不能通过。2.  有改动过代码吗?3. 是的,需要两块DSP板子,在KeyStone_1_SRIO_STK_User's_Guide.doc文档里有说明。SRIO_NO_LOOPBACK actually selects the test between two DSPs

,

Zahir Wang:

2.没有修改过代码,为了确认我重新导入了例程然后跑了一下还是这样。

3.请问KeyStone_1_SRIO_STK_User's_Guide.doc这个文档在哪里可以找到?

,

Shine:

在\K1_STK_v1.1\docs目录下,里面有调试步骤。

,

Zahir Wang:

我手上的例程应该是被人修改过,在官网上下载例程,程序可以正常运行。

K1_STK 地址:https://www.ti2k.com/wp-content/uploads/ti2k/DeyiSupport_DSP_faq-keystone1

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6678: SRIO例程问题
分享到: 更多 (0)