TI论坛
直播中

梁兴力

7年用户 226经验值
私信 关注
[问答]

请教C6455 EMAC开发问题

DSP接收PC发送的以太包,但是DSP端一直接收不到数据,查看寄存器RXGOODFRAMES一直为0,但是寄存器RXFRAGMENTS却有数据,同时NETOCTETS寄存器也有值。给我的感觉是,数据包进来了,但是不知道为何DSP接收到了很多碎片,请问这是什么问题呢?
之前这一块通路还是好的,但是现在突然就不好了,通过示波器观察MII接口的TXCLK,TXEN,TXD,RXCLK,TXDV,RXD都没看到异常。

回帖(10)

许朝亮

2018-7-25 09:39:36
whisper.wind 您好,
由于之前的测试通路是好的,所以我觉得可以重点比较确认一下前后的测试差异:
1. 测试的硬件链接及配置;
2. 相关发包的数据及软件等。
从user guide来看,如果收到的包都是RXFRAGMENTS的话,说明收到的包大size小于64B,且存在CRC error,alignment及error code,请重点查一下这一块。
另外建议重启环境进行一下测试,谢谢。
举报

梁兴力

2018-7-25 09:59:04
引用: tutu11 发表于 2018-7-25 09:39
whisper.wind 您好,
由于之前的测试通路是好的,所以我觉得可以重点比较确认一下前后的测试差异:
1. 测试的硬件链接及配置;

谢谢Andy!
硬件的连接和配置没有变化,我担心某些元器件损坏,所以从C6455到PHY到RJ45这个链路上的所有元器件我都重新换了一遍,问题依然存在。
我PC端发送的包的size均是大于64B,唯一让我觉得怀疑的就是,DSP接收到的包发生了破坏,但是现在不知道采用什么样的方法来验证这一点。
另外,DSP发送数据包,PC一样接收不到,但是DSP发送寄存器TXGOODFRAMES的数值是正常的,这个也很奇怪。
重启环境是什么意思?我使用的是XDS560PLUS Emulator,望不吝指教,谢谢
举报

李晓欢

2018-7-25 10:18:01
引用: w13756941107 发表于 2018-7-25 09:59
谢谢Andy!
硬件的连接和配置没有变化,我担心某些元器件损坏,所以从C6455到PHY到RJ45这个链路上的所有元器件我都重新换了一遍,问题依然存在。
我PC端发送的包的size均是大于64B,唯一让我觉得怀疑的就是,DSP接收到的包发生了破坏,但是现在不知道采用什么样的方法来验证这一点。

whisper.wind 您好:
TXGOODFRAMES和RXGOODFRAMES能统计到进出EMAC的报文,RXFRAGMENTS统计了报文错误的情况,一般是CRC错(链路信号不稳定)和包长小于(64)等的非正常包。
从统计寄存器情况来看应该是Ethernet传送中间信号问题,不过这个现象不好确定。
我建议你可以试试EMAC Loopback模式,如果Loopback模式能够测试通过,那么再仔细检查下是否链路中间有什么问题。
谢谢!
举报

梁兴力

2018-7-25 10:31:17
引用: jiaolesu 发表于 2018-7-25 10:18
whisper.wind 您好:
TXGOODFRAMES和RXGOODFRAMES能统计到进出EMAC的报文,RXFRAGMENTS统计了报文错误的情况,一般是CRC错(链路信号不稳定)和包长小于(64)等的非正常包。
从统计寄存器情况来看应该是Ethernet传送中间信号问题,不过这个现象不好确定。

Thanks,  King Wang!
我也是怀疑ethernet传输不稳定造成的,只是没有很好的方法去检测,我用示波器观察了MII接口的TX各路信号和RX各路信号,只从信号表象来看,也没发现明显异常。
另外,如果EMAC收到了错误的报文,我是否能够看到出错的以太包?也就是说RXFRAGMENTS寄存器有值的情况下,能否观察到以太包?
EMAC loopback模式,我试试,如果这个测试通过,应该可以排除EMAC本身的问题,是么?
我使用的是TI提供的EMAC CSL开发包,没有使用NDK。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分