a20以太网模块的调试记录

  调试以太网模块,费了不少周折,,,,,虽然是硬件的问题,但是通过调试驱动程序,查找问题也是必不可少的过程,,,,,,,,,,,,,

       对于调试过程中遇到的问题,在此记录和总结一下,与大家共享,,,,,,,,

      A20处理器的以太网用的IO是PA0--PA17口,这是已经定义好的,驱动代码在lichee/linux-3.3/drivers/net/ethernet/sun7i/目录下,至于驱动配置选项应该是已经添加好的,你可以通过在以太网模块驱动里添加一些打印信息,通过查看打印信息,就可以看到驱动是否 加载了,,,,,,,,lsmod查看的话结果是这样的,貌似看起来不是很明显:

 

首先正常移植以太网驱动之后,以太网设置界面显示未连接,且不能获得动态获取IP地址,静态IP地址倒是显示,但是网络不能连接,且ping 不通,,,,,,

查看查看调试打印信息,点击配置界面连接的时候,会有如下打印信息:

 

根据打印信息提示,申请IO口失败,一开始怀疑是PA口被其他模块占用,通过添加打印信心查看,发现PA0-PA17所有的IO都申请失败,查看了sys_conffig.fex文件,只有部分PA口被公用,但是相应的模块并没有被加载.所以IO口申请失败并不是这个原因.后来为了更加确定,我在以太网驱动代码里申请IO口之前,先对每个IO进行释放,然后在申请,虽然不报申请IO失败的错误了,但是依然网络显示未连接,网络连接指示灯也没有亮,,,,,

由此开始查找硬件方面的问题,首先介绍一下我们的网络硬件结构,网络芯片是内嵌到A20处理器的,这也就是说在配置界面是可以显示MAC地址的,事实是MAC地址确实有显示;硬件层的网络收发器用的是RTL8021CP这款芯片,时钟晶振用的是25MHZ,RTL8201和网口之间通过一个网络变压器进行转接.

首先通过信号源和示波器对网络变压器和网口之间的通讯进行测试,通过信号源给网络变压器的收发管脚一个正弦脉冲信号,在网口段通过示波器来进行是否有正弦脉冲,以及魔宠是否正常,,,测试正常,木有问题

其次测试了RTL8201cp网络收发器,测试了相应的电压引脚,测试正常,相应的电阻值基本正常,然后测试了网络数据收发脉冲引脚正常,所有的硬件线路短接也测试过,没有问题.虽然测试的这些都正常,以至于误认为硬件没有问题,但是其实网络冲突指示灯\网络连接指示灯都没有亮,已经说明RTL8201芯片存在问题了

后来通过软硬件实在找不到原因了,换了一个RTL8201cp芯片之后,网络冲突指示灯亮了,而且点击连接的时候,发现网络连接指示灯也会闪一下,以太网配置界面也实现连接eth0了,但是还是不能上网,获取动态IP失败,获取静态IP到可以,但是网络指示灯只是黄灯亮,,,ping不通,,,,但是至少看到曙光了,,,,,

后来发现网络连接指示灯一开始点击连接的时候还闪一下,后来就不闪了,无论如何都不闪烁了,上电的时候也不闪烁  

于是怀疑硬件那个地肯定存在问题,,,,于是测试晶振脉冲,发现晶振两个引脚短接了,,,,,重新焊接之后,上电,配置网络,网络衔接指示灯成功亮起来了,打开网络,成功登录百度界面,

以太网终于调好了!!!!!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值