完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
平台为6678通过交换芯片CPS1848和FPGA相连。
在调试中,第一次上电我们按照交换芯片,FPGA,DSP这样的顺序来load程序,结果可以正常的收发,两端的端口也都是OK的。 之后重新load了交换芯片和FPGA的程序,没有load DSP的程序,DSP端就只能够接收FPGA的数据而不能发送出去,此时端口状态寄存器err_stat显示端口错误,读出来的值为0x01130306. 然后load了DSP的程序并对DSP进行重新初始化,跑完SRIO的初始化程序KeyStone_SRIO_Init();之后,端口状态OK,即err_stat寄存器最低字节为2.但此时DSP不能接收数据只能发送数据,这个时候观测交换芯片对应的端口的寄存器,发现端口状态出错,其值为0x84120306。 请问 1.是否可以这么理解,交换芯片和FPGA重新load程序之后,DSP的SRIO仍然处于已初始化的状态,所以可以直接和交换芯片连接上接收数据,但是为何端口状态会是错误,从而无法发送数据?而且端口状态错误之后,为什么还是能够接受数据,而不能够发送数据? 2.为何DSP重新进行一次初始化之后,交换芯片那一端的端口状态就变为了错误,导致这个时候DSP只能发送不能接收? 3.出现这些错误的原因是没有进行维护吗? 4.一边端口出错的情况下,应该使用maintenance函数进行维护吗?还是端口出错maintenance函数在这种情况下就没有作用了? 5.如果不是使用maintenance函数,那么这个错误原因是什么,是因为初始化的原因吗?应该怎么解决啊? 谢谢 |
|
相关推荐
3个回答
|
|
看了一些帖子说是因为DSP和交换芯片需要进行重新同步的操作。
是否是DSP和交换芯片需要重新进行握手?还是使用其他方法重新同步呢? 如果需要重新握手或重同步,需要进行哪些操作呢? |
|
|
|
testd023 发表于 2018-6-21 14:05 下面这个帖子里有讨论的 需要重新握手,方式可以是 link partner两边重新 reset,如果一方正常运行,一方reset后,那么需要做维护包ID对齐操作,但这个也不是百分百成功的,所以建议一方reset后,另外一方也要reset,两端都重新link up 后,再收发数据 http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/p/135596/380123.aspx#380123 |
|
|
|
liuqin123 发表于 2018-6-21 14:21 您好! 我也遇到了同样的问题,这里也请教你两个问题:1.6678似乎没有像1848交换芯片那样的端口reset,是不是只有整个srio模块的reset。2.两端重新link up,怎么判断link up成功了?如果没有link up成功的情况下,有数据发送,是不是会使端口出错,导致不能继续收发数据。 |
|
|
|
只有小组成员才能发言,加入小组>>
572 浏览 1 评论
408 浏览 1 评论
608 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
862 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
695 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
160浏览 29评论
1031浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
306浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
264浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
117浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 10:34 , Processed in 0.786739 second(s), Total 49, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号