| |
回想调试88E1111芯片时,遇到不少的心酸,花掉不少的money,从目前实现的UDP数据传输,ICMP ping包,ARP包,与大家一起分享一下,也许是受到调试时遇问题发帖求助,到热心网友的帮助的感慨吧;
1、芯片Package:我选择的为《117-Pin TFBGA Package》,建议没有调试过以太网的不要选择BGA封装,最好选择PQFP封装,调试过硬件会懂得;
2、硬件配置:通过芯片CONFIG[6:0]这7个引脚与外部信号相连接,得到不同的结果,例如传输速率、光线、以太网接口等,通过与外界不同管脚的连接也影响着寄存器,他们分别可以与VSS、LED_TX、LED_RX、LED_DUPLEX、LED_LINK1000、LED_LINK100、LED_LINK10、VDDO连接,依次代表3位从000到111的值;对于CONFIG[6:0]分别对应3位,每位都具有自己的含义,详见下datasheet P65;
我选择的千兆以太网的配置为:
CONFIG[0]--VSS,
CONFIG[1]-- LED_RX,
CONFIG[2]-- LED_LINK100,
CONFIG[3]-- VSS,
CONFIG[4]-- VDDO,
CONFIG[5]-- VDDO,
CONFIG[6]-- VSS,
对照上面以PHY地址为例,有PHYADR为10000b,也可参照手册实例P64;
3、MAC接口:通过上一步硬件配置知HWCFG_MODE[3:0]为1111,实际应该先确定传输速率、模式,再选择HWCFG_MODE[3:0]对应的值,参考手册P48,当选定此值时可知为GMII/MII to copper,接下来可以参照P48 GMII MAC接口图;
在此不给我实际的原理图,真是有原因的,我原来做硬件时候就是参照别人的图纸做的,做回来的板子有部分好用,部分不好用,由于采用BGA封装,当时就以为是芯片没有焊接好(没用专用BGA焊接机),做了几种板子之后发现奇怪的现象,数据只能读,不能写,其他的一切都正常,猜想过板子使用发热、焊接内部助焊剂没有清洗干净等等,其实就是自己没有看手册,太相信别人的原理图,受先入为主的思想,认为只要好使过的板子原理就没有问题,如果以后遇到调试硬件问题,一定要回答datasheet中寻求答案,大神们早都知道的东西,可我在调试以太网给我上了深深一课,这也就是不给我画好板子原理图的原因,别给大家误导了!一切都得从根本出发!!!
4、上拉电阻:一定要注意一些引脚需要上拉电阻,例如:MIC、MDIO、RESET等引脚;
5、电源地信号:88E1111有两种不同的电源2.5V、1.2V,对于2.5V需要区分不同的地方的供电,参照datasheet P73,我只把数字2.5V与模拟2.5V用磁珠分开,将地采用铺地的方式链接到一起;
6、以太网网线接口:有的带有变压器,有的没有,这样就需要外加芯片转换,在两者直接转换时一定要对应好引脚,否则在做好硬件后,最起码的LINK都链接不上的。