/* 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(接收中断寄存器)始终置不了位,路过的帮忙指点下
14 个解决方案
#1
我也是相同的问题,问了芯片支持,说可能是我的芯片有问题,只能再进芯片调试。
#2
我怀疑是芯片有问题,换了芯片后板子每次重启可以PING通一两次,之后再PING就像死机了,偶尔PING通时能收到ARP和ICMP应答,但不能TFTP下载BIN文件,量了49.9欧电阻都是好的,我怀疑是不是板子布线有问题,我用的自动布线,没有走差分线等长布线,会不会是这个原因?
#3
想问问楼主你用芯片批号是多少的?我的是1029NC,也是ping 不通,PC机已经看到它发出的数据包了,网上说布线也关系很大。
#4
不是芯片问题,我把芯片焊到扬创的开发板上可以用
#5
估计是芯片问题
#6
不知LZ后来怎样了,我后来换了芯片,重新布线之后,功能基本正常了。
#7
能不能把你的DM9000部分原理图发给我参考一下,我设置dm9000为10M模式还是不行,因此怀疑是原理图部分有问题
#8
我的邮箱是841466820@qq.com
#9
不好意思,好久没上来,我原来图和扬创的是一样的,如果要明天到单位可发给你
#10
能不能加Q聊,我QQ是841466820,你是怎么重新布线的,有哪些需要注意的地方
#11
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模式”是怎么设置的?如果有空麻烦告知一下。
芯片的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模式”是怎么设置的?如果有空麻烦告知一下。
#12
我也遇到这个问题
#13
那位1029NC批次的同志,原厂是没有这个批次的。你懂的
#14
我QQ,1173835224,需要原厂标准设计的,加我一下。我发给你
#1
我也是相同的问题,问了芯片支持,说可能是我的芯片有问题,只能再进芯片调试。
#2
我怀疑是芯片有问题,换了芯片后板子每次重启可以PING通一两次,之后再PING就像死机了,偶尔PING通时能收到ARP和ICMP应答,但不能TFTP下载BIN文件,量了49.9欧电阻都是好的,我怀疑是不是板子布线有问题,我用的自动布线,没有走差分线等长布线,会不会是这个原因?
#3
想问问楼主你用芯片批号是多少的?我的是1029NC,也是ping 不通,PC机已经看到它发出的数据包了,网上说布线也关系很大。
#4
不是芯片问题,我把芯片焊到扬创的开发板上可以用
#5
估计是芯片问题
#6
不知LZ后来怎样了,我后来换了芯片,重新布线之后,功能基本正常了。
#7
能不能把你的DM9000部分原理图发给我参考一下,我设置dm9000为10M模式还是不行,因此怀疑是原理图部分有问题
#8
我的邮箱是841466820@qq.com
#9
不好意思,好久没上来,我原来图和扬创的是一样的,如果要明天到单位可发给你
#10
能不能加Q聊,我QQ是841466820,你是怎么重新布线的,有哪些需要注意的地方
#11
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模式”是怎么设置的?如果有空麻烦告知一下。
芯片的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模式”是怎么设置的?如果有空麻烦告知一下。
#12
我也遇到这个问题
#13
那位1029NC批次的同志,原厂是没有这个批次的。你懂的
#14
我QQ,1173835224,需要原厂标准设计的,加我一下。我发给你