你好:
1、我用两个C6678使用SRIO通信(测试一下srio性能),当进行大量多次数据发送时,出现超时错误,即Srio_sockSend_DIO()函数返回-1,我想请问一下可能是什么原因引起的?
我的测试环境:使用我们自己做的两个6678直接通过srio连接(sata口),线长度超过了50cm(srio long run),一个6678通过NWRITE_R发送数据给另一个6678,然后通过NREAD回读进行数据校验,出现的超时错误大都是NREAD超时错误和校验数据不一致(也可能是NREAD读取数据出错引起)。
是不是可能是线长引起的超时呢?srio支持short run和long run,但是我没有找到C6678 SRIO使用哪个寄存器来设置?但是有一句话“Short Run and Long Run compliant”,是什么意思呢?Short Run和long run兼容?
2、在刚初始化srio模块进行数据发送的前几次传输时,有时会一直传输不成功,但是只要一次传输成功后,以后大部分传输都成功(出现前面1中提到问题)。当我初始化srio模块完成后,过一段时间发送数据(目的是使srio模块稳定,假设srio起始不够稳定)和提高srio response时间后(提高SRIO Prescalar和寄存器RIO_SP_LT_CTL的值),这个问题可以缓解,但是不能完全解决,可能是什么原因呢?是不是可能也是srio线长引起的问题?
谢谢!
zxj cuc:
请问你是用mcsdk 中提供的例程进行测试的么?