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

bravegen 2012-10-21 01:03:26
我参照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(接收中断寄存器)始终置不了位,路过的帮忙指点下
...全文
527 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ic12580 2012-11-28
  • 打赏
  • 举报
回复
我QQ,1173835224,需要原厂标准设计的,加我一下。我发给你
ic12580 2012-11-28
  • 打赏
  • 举报
回复
那位1029NC批次的同志,原厂是没有这个批次的。你懂的
梦溪求索 2012-11-25
  • 打赏
  • 举报
回复
我也遇到这个问题
teaco2007 2012-11-20
  • 打赏
  • 举报
回复
1. 电源的处理: 芯片的23,30,42管脚为3.3V供电端,每一个管脚尽可能的要加两个退耦电容(10uF电容和0.1uF的电容),而且要靠近电源焊盘。 2.差分线对的处理: 这是最重要的一个地方,芯片出来的RX+/TX+,RX-/TX-为差分线对(千万别走成RX+/RX-和TX+/TX-,否则你就哭去吧),应该优先布差分线,保持平行,等长,紧靠,避免交叉。避免差分线周围走其他信号线,而且差分线要包地,包地的周围隔一段距离就要打地孔。这两组差分线布线的好坏,严重的影响网卡的工作。 3.信号线的处理: 16位数据线尽量保持等长走线,数据线要和其他信号线(如电源线)之间用地隔离,防止干扰 4. 终端电阻: 也就是连接在收发线上的50欧电阻,要尽量靠近芯片的RX/TX脚 5.模拟地的处理: 网络变压器的AGND(第8脚)通过一个0.1uF的电容和GND相连 网络变压器中心抽头,AVDD和AGND之间放一个0.1uF的退耦电容,电容尽量靠近中心抽头 6. BandGap电阻 连接在芯片第1脚的6.8k电阻,要使用1%精度的,尽量靠近芯片管脚,在此附近不要走其他高速信号线 7.网络变压器和RJ45端子 网络变压器尽量靠近RJ45端子,我使用的集成网络变压器的RJ45端子。在网络变压器和RJ45端子下面,网络接口布线区域中避免走其他信号线 8. 铺铜处理: 这也是一个重点,通常网络变压器和RJ45端子网络接口布线区域范围内,不允许铺任何地平面或电源平面,板的正面背面都如此,要用keepout将这段区域保护起来 基本上遵守上面这几点布线,就可以使网卡稳定工作了 -------------- 我是看了这篇后,基本按照以上提示布线的,原来我的16数据线离核心板比较远,后来我放近,尽量长度差得不是很大。差分线对应该要保证一下,如果到网口线很短,大概不做到也行,我也不是很有经验。 我顺便请教一下,你“设置dm9000为10M模式”是怎么设置的?如果有空麻烦告知一下。
bravegen 2012-11-19
  • 打赏
  • 举报
回复
引用 9 楼 teaco2007 的回复:
不好意思,好久没上来,我原来图和扬创的是一样的,如果要明天到单位可发给你
能不能加Q聊,我QQ是841466820,你是怎么重新布线的,有哪些需要注意的地方
teaco2007 2012-11-18
  • 打赏
  • 举报
回复
不好意思,好久没上来,我原来图和扬创的是一样的,如果要明天到单位可发给你
bravegen 2012-11-08
  • 打赏
  • 举报
回复
引用 7 楼 bravegen 的回复:
引用 6 楼 teaco2007 的回复: 不知LZ后来怎样了,我后来换了芯片,重新布线之后,功能基本正常了。 能不能把你的DM9000部分原理图发给我参考一下,我设置dm9000为10M模式还是不行,因此怀疑是原理图部分有问题
我的邮箱是841466820@qq.com
bravegen 2012-11-08
  • 打赏
  • 举报
回复
引用 6 楼 teaco2007 的回复:
不知LZ后来怎样了,我后来换了芯片,重新布线之后,功能基本正常了。
能不能把你的DM9000部分原理图发给我参考一下,我设置dm9000为10M模式还是不行,因此怀疑是原理图部分有问题
teaco2007 2012-11-06
  • 打赏
  • 举报
回复
不知LZ后来怎样了,我后来换了芯片,重新布线之后,功能基本正常了。
teaco2007 2012-10-24
  • 打赏
  • 举报
回复
想问问楼主你用芯片批号是多少的?我的是1029NC,也是ping 不通,PC机已经看到它发出的数据包了,网上说布线也关系很大。
qiantuaa 2012-10-24
  • 打赏
  • 举报
回复
估计是芯片问题
bravegen 2012-10-24
  • 打赏
  • 举报
回复
不是芯片问题,我把芯片焊到扬创的开发板上可以用[Quote=引用 3 楼 的回复:]
想问问楼主你用芯片批号是多少的?我的是1029NC,也是ping 不通,PC机已经看到它发出的数据包了,网上说布线也关系很大。
[/Quote]
teaco2007 2012-10-23
  • 打赏
  • 举报
回复
我也是相同的问题,问了芯片支持,说可能是我的芯片有问题,只能再进芯片调试。
bravegen 2012-10-23
  • 打赏
  • 举报
回复
我怀疑是芯片有问题,换了芯片后板子每次重启可以PING通一两次,之后再PING就像死机了,偶尔PING通时能收到ARP和ICMP应答,但不能TFTP下载BIN文件,量了49.9欧电阻都是好的,我怀疑是不是板子布线有问题,我用的自动布线,没有走差分线等长布线,会不会是这个原因?

6,163

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧