ti的员工好:
最近在调srio接口,遇到几个问题想请教下;
1、dsp给FPGA发数据,swrite模式,FPGA收到包头header的ID与地址解析错误,这个是哪里有问题引起的呢?
2、lsu reg 配置正确,dsp端能看到底层发出的信号是什么吗?怎么看?
3、FPGA给dsp发数据时,swrite模式,为啥有时收不到信号,有时能收到?
目前两边的回环测试已经验证了,都没问题,是哪出了问题呢,怎么查呢?
希望ti员工帮忙解答一下,十分感谢,比较着急。
Thomas Yang1:
请问您是用的哪款DSP芯片,和哪个版本的软件包进行测试的呢?
1 有没有测试过NWRITE是否正常,由于TI 这边DSP中SRIO IP中填包头ID和地址 这些都是SRIO接口硬核IP自动完成的,建议仔细检查下FPGA侧的逻辑
2 可以通过示波器抓取,看眼图
3首先查看SERDES层有没有错误状态指示,如果有的话,仔细检查链路硬件设计是不是完全符合Keystone硬件设计中的规范要求
Yaoyao Sun:
回复 Thomas Yang1:
您好,我们用的是6655芯片,用的是mcsdk_1_01_00_02_setupwin32里的pdk_c6657_1_0_0_21
试了nwrite模式也有问题,
SERDES的状态指示是不是就是serdes_ctl_sts1~4呢,里面的数都是零啊?不知道对不对?然后FpGA的逻辑检查了一下没什么问题,还有什么可能呢?麻烦您了,谢谢。
Yaoyao Sun:
回复 Thomas Yang1:
你好,还有个问题就是dsp本地ID是0X0000,但fpga侧解析过来的dsp的srcid是0x1080;往fpga侧的swrite的地址是0x10801200,解析的地址0x212000100;数据类型解析正确;发给fpga的数据负载全部解析正确。fpga是按照标准Rapidio协议组包的,自环可以正确发送接受任何消息类型。这是什么原因呢?谢谢啦!
Thomas Yang1:
回复 Yaoyao Sun:
DSP侧能配置的SRCID和ADDR比较有限,就那几个寄存器,建议重点检查下FPGA侧的解析,如果有RAPID IO SWITCH做路由的话,也需要看下SWITCH的端口配置。可以把DSP侧发送的包类型换一下比如NWRITE试试