论坛» 嵌入式开发» MCU

DM9000AEP 在U-BOOT中能识别ID但PING不通主机

菜鸟
2012-10-21 00:28 1楼
我参照utu2440开发板做的板子,网络部分是DM9000AEP+HS9016网络变压器+RJ45 LED插座,在U-BOOT中能识别DM9000AEP的ID,RJ45插座的灯也闪,但PING不通主机,用抓包工具可以抓到DM9000AEP发出到主机的ARP包,但DM9000AEP收不到主机返回的应答包,所以PING不通,也不能TFTP,我跟踪进U-BOOT源码,driver/net/dm9000x.c中的eth_rx函数中:
/* Check packet ready or not, we must check
the ISR status first for DM9000A */
if (!(DM9000_ior(DM9000_ISR) & 0x01)) /* Rx-ISR bit must be set. */
return 0;
加了打印后发现eth_rx每次都是在这里返回,ISR(接收中断寄存器)始终置不了位,路过的帮忙指点下
高工
2012-10-22 22:29 2楼
是不是你的网线物理连接回路有问题啊(RX)
菜鸟
2012-10-23 16:37 3楼
我怀疑是芯片有问题,换了芯片后板子每次重启可以PING通一两次,之后再PING就像死机了,偶尔PING通时能收到ARP和ICMP应答,但不能TFTP下载BIN文件,量了49.9欧电阻都是好的,我怀疑是不是板子布线有问题,我用的自动布线,没有走差分线等长布线,会不会是这个原因?
高工
2012-10-26 09:12 4楼
自动布线的啊,这个有可能是问题所在
菜鸟
2012-10-26 10:56 5楼
我后来看了原理图,RXD+/RXD-,TXD+/TXD-是设计的两对差分线信号,我没走差分线,可能就是这个原因
共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]