目前在调DSP6678的SRIO接口,参考论坛上提供的例程,板子是自己做的,由FPGA发数据,(fpga用的是ALTERA的EP4C) DSP接收。参考时钟为312.5Mhz,配置为1X,2.5G,有几个问题很疑惑..
1. 是不是FPGA那边发送的数据只要按照srio协议的数据格式发送(包头+payload),DSP这边只要初始化端口完了,就不做其他事了,等待数据放入L2中??现在初始化端口port ok 通过了,但是在L2中查看数据没收到啊。
2. 还有就是如果DSP这边只是接收,可以采用directI/O方式吗??
3. CSR/CAR寄存器的作用是什么,我用directI/O方式,可以不配置它吗?
请各位高手赐教!!谢啦! 我的邮箱是lux.123@163.com
King Wang1:
回答你的几个问题:
1,SRIO协议上规定,发送directI/O的时候对端是不知道的,因此只有发送端知道发送了数据,对端如果需要知道接收数据那么就要另行通知(比如发送doorbell通知)。你的FPGA发送如果正确,那么DSP能收到的。如果没收到,肯定是你的报文或者链路有问题,你可以查看SRIO IP中的相关寄存器确定。
2. 可以。
3. 这个寄存器保存了ID,你在DirectI/O的报文中需要填写对端ID。