网卡芯片DM9000EP ping不通
系统用的是友善之臂的MICRO2440核心板,网卡芯片是DM9000EP,原理图是参照友善之臂的原理图画的,不过它的用的是集成网络芯片的RJ45插座,我选用的是HR601680网络变压器加上一般的RJ45插座,因为DM9000 PDF上说只需要1:1的网络变压器都可以用,所以就选了这一款。调试时发现连接PC机可以正常连接,也就是说MICRO2440核心板加载驱动后PC机显示网络已连接,但是从两边ping都是不通的,用Wireshark抓包工具可以抓到包,但是源地址和目标MAC地址都乱码,且是随机出现,内容也都是乱码。首先怀疑电路图,但是电路图都是按友善之臂接的,除了我的模数没有分开;又怀疑网络变压器和晶体振荡器,但是抓包工具都已经抓到包了,只是不对,就排除了晶体振荡器和网络变压器;用示波器测试DM9000EP的中断、片选、读、写引脚都有信号,就是说ping命令发出后,各信号都有反映,没有ping命令时中断没有,但是片选和读信号一直都有,即使不插网线时片选也有信号,确定不是杂波,是确实的信号,和开发板对比了下,开发板的信号比较短,而我的底板信号比较长。
就是这样的情况,中间也查了一下电源,电源也没有什么大问题,最后就怀疑DM9000芯片是不是有问题,因为做了四块底板,但是只有一个核心板插上能够启动,其他的核心板插上ARM只要一读DM9000芯片就死掉了,要不就是布线的问题了。
请各位分析一下是什么原因;谢谢! 你在本论坛搜索下,DM9000,前段时间刚讨论过,看下看有帮助没。 谢了,我搜过,只有两个贴,情况和我的不一样,我的是直接ping不通,别人的一般都是掉线之类的! 我的DP9000EP的状态灯是亮的,当有数据的时候会闪的,现在就很纳闷为什么发出去的MAC地址都是错的,难道是电源不稳?电源不稳不应该是这个表现,应该是掉线才对;难道是没有走差分线?郁闷!
在内核中加入了读取DM9000的语句,显示无法读取DM9000,明天加班要看看是不是能够读取到DM9000的ID,如果读取不到是不是硬件连线或供电有问题? 很明显, 驱动问题.
如果用了官方驱动, 可以推测是芯片问题. 找axwjiang问问. 今天上午来调试,用wireshark抓包后显示源MAC地址和目的MAC地址很有规律,以前的都是随机出现的,但是发现源MAC和目的MAC ping过一段时间没有响应的DM9000就自动把源和目的MAC地址交换一下,但是交换过程中有移位的现象。只听说DM9000可以对交叉线和直连线进行翻转,还没有听说过DM9000对源MAC和目的MAC还能翻转。没有人有相同的问题? 我调DM9161时,倒是在物理地址上栽过跟头,不知道DM9000的物理地址怎么回事 昨天怀疑6.8K的电阻有问题,今天来测量了一下,我的电阻和开发板的电阻是一样的,实在找不到原因,还是等大家都上班了再找一个新DM9000来试一下吧。 楼上的,你看过人家开发板的代码吗?
如果人家把代码写成换了开发板就不能用,你不是白费力? 学习中! 今天换了直接从总代理处拿的片子,重新焊接上也还是以前的老问题,看来是我的布板的问题了,明天开始重新画一版了,这次准备用四层板了,谢谢各位的关注。 楼主,不好意思,一直都没有看见您的留言!我看了下,您说读ID是乱码,很可能是时序设置不正确。如果方便加一下我的QQ1604206301 6.8K的电阻是需要1%精度要求的! 楼上的,有个技术问题请您帮忙,能否解决! DM9000AEP调试的时候注意事项:
1.首先要判断芯片的真假。常见的方法是读取芯片的ID号。当然有些工程师朋友的寄存器设置,以及时序设置有问题,读取芯片的ID号就会错。读取ID是最基本的操作。
2.其次确认芯片无质量问题后,再确定是硬件,还是软件方面的问题。一般软件方面,问题很容易解决。硬件问题,需要注意:
网络变压器的CT端,一般要接DM9000AEP的管脚2,9脚输出的2.5V,输出的时候一般要加一个稳压电容以及一个滤波电容,稳压电容至少200uf。
另外可以通过10M下是否有连接,来判断网络变压器是否连接正确。不同的网络变压器,连接电路一般有差异,要注意兼容性。
3.其次发送和接收的几个50欧姆的电阻,电阻值一定要正确,如果不正确,会有丢包现象。或者网络时断时续。
4.DM9000AEP的datasheet,必须要看,不看的工程师,自己瞎琢磨,一般会耽误时间的。
5.在驱动程序里最好要添加打印信息,打印信息可以反馈硬件的故障,对分析问题,解决问题很有帮助。
6.一般晶振,网络变压器,最好要买真货,如果买到假的,通常很难从电路上分析出问题,通常要经过很长时间的测试,才发现。最好不要在电子市场买东西,假的东西很多。亲身经历。特别是Pluse的H1102很多假冒的。
7.网络变压器的49.9的电阻,不用接任何电源。
8.PWRST复位引脚,如果是通过GPIO控制,应该是下拉电阻,不是上拉电阻。 我现在的设计中采用的是DM9000IEP的片子,
1、cs IOR IOW CMD等信号均正常输出
2、复位采用了上电复位及arm的IO复位
3、同一批的PCBA,有的板能正常读取ID(但很不稳定,过一段时间又不行),有的根本读取到的就是不定值(如0x3E003837、0x10000A46
)
请高手指点,万分感激 搞定了吗?
现在有DM9000IEP的片子了? 15楼说的及是!太对了!
是有经验的高手! 一般要接DM9000AEP的管脚2,9脚输出的2.5V,输出的时候一般要加一个稳压电容以及一个滤波电容,稳压电容至少200uf
这点很关键! ls ,DM9000EP 非DM9000AEP
页:
[1]
2