以太网丢包,。急啊,求助各位大神
时间:10-02
整理:3721RD
点击:
最近在负责调试芯片自带的以太网接口,丢包严重,求各位大神帮忙,谢谢。
公司芯片,型号就不说了,内嵌了一个数据链路层模块,称为GEDI,通过外接一个PHY芯片实现以太网连接
调试设置:芯片:10M,双工;电脑:自适应。设置了芯片内部的mac地址,IP地址,通过网线与电脑直接相连
芯片IP设置为:10.10.2.100,电脑主机IP设置为:10.10.2.102,子网掩码设置为:255.255.255.0
芯片内部通过fireware把收发的frame全部保存起来;电脑通过wireshark抓包,使用ping命令ping 100次
通过交叉对比,电脑发送的请求包芯片全部收到并且发送了对应的响应,但是有45%的响应timeout, 芯片内部负责统计收发数据帧的寄存器中的计数器值也与预期相同。
timeout期间芯片发了一些arp包,电脑都正确收到了,GEDI模块在EDA环境DUT验证没有问题
通过上述可以看出,芯片中GEDI模块收发通路都是好的,PHY接收发送也是ok的,但是就是丢包,望各位大神帮忙解决,谢谢。
下图是以太网的帧格式,GEDI主要完成同步头、界定符,DA,SA,TYPE/LEN的分析,解帧,生成/检查headchksun、payload chksum等内容,然后根据DMA配置读取/写入芯片内置RAM。补充一下,实现以太网协议和802.3协议,下图只是网上找的一个,示意一下。

下图是wireshark抓包的一个截图,在timeou期间芯片发送了一些ARP包。

下图是电脑使用ping命令的截图

有人知道吗,有人知道吗,求助求助,谢谢!
用shark抓个包试试,看有没丟包的
谢谢支持,已经抓包了,由于板卡上没有预留PHY输入端的接口,所以数据采集比较麻烦,现在正在想办法采集TX通路上PHY的输入输出数据,与写入RAM的数据对比看看先。
用sniffer查下报文,报文个数是否正确,报文CRC校验是否出错
你说的丢包是丢了响应的包吗?如果是这样的话,丢包是确定在你芯片的发送端到电脑的接收端,目前是不是这个结论?
