最近在调试一个型号为LAN8720的以太网芯片,外围电路其实很简单,但我们还是踩坑了。
把其中比较重要的两点分享给大家。
首先简单介绍一下LAN8720这款芯片图1这是一款封装很小,支持RMII接口的10M/100M以太网PHY芯片,支持HP-Auto-MDIX自动翻转功能。
RMII?可能没接触过的小伙伴不知道是什么意思?简单来说,RMII是一种接口,它比MII接口有更少的I/O传输。
在数据的收发上它比MII接口少了一半的信号线。
RMII所有的数据端口公用一个时钟用于所有端口的收发 ,这里就节省了不少的端口数目。
RMII的一个端口要求7个数据线 ,比MII少了一半,所以交换机能够接入多一倍数据的端口。
功能框图如下图2 功能框图支持全双工和半双工模式有两个状态的LED灯输出可使用25MHz的晶振来降低成本我们测试发现的问题有两个:1.REFCLKO引脚功能配置2.1.2V内部稳压器配置一、问题记录1.nINT/REFCLKO引脚功能配置错误为了降低成本,我们用的是25MHz的晶振,理论上芯片内部会倍频一个50MHz的频率送给单片机。
如下图图三 25M晶振电路实际上,我们没有检测到50MHz的频率。
2.内部稳压器1.2V配置错误我们使用的是1.2V内部稳压器。
但在实际测试时,并没有测到1.2V电压。
二、分析问题查看手册,得到两个关键信息1.nINT/REFCLKO引脚可以作为中断输出或者参考时钟输出。
通过LED2引脚设置,LED2引脚的值在芯片复位后,被LAN8720读取。
当该引脚上拉(或浮空,内置上拉电阻),那么nINT/REFCLKO引脚为中断输出,当该引脚接下拉电阻,nINT/REFCLKO引脚为时钟输出。
实际上我们的设计是这样的图四 LED的错误配置电路我们选择nINT/REFCLKO引脚为时钟输出,LED2应该被下拉。
在时钟输出模式下,可以外接25MHz的晶振,通过内部倍频到50MHz,然后通过REFCLKO引脚输出50MHz参考时钟给MAC控制。
也可以直接外接50MHz的晶振,然后通过一个阻值较小的电阻直接送给REFCLKO。
图五 50MHz晶振的配置电路2.芯片需要1.2V给VDDCR供电,不过芯片内部集成了1.2V稳压器,可以通过LED1来配置是否使用内部稳压器。
当不使用内部稳压器的时候,必须外供1.2V电源。
通过这两个重要信息得出:LED1和LED2的配置方式是多么的重要。
简单说50MHz的时钟输出和参考电压1.2V都是通过这两个引脚来配置的。
三、解决问题LED1和LED2的供电断开,芯片引脚接10K下拉电阻,如下图。
这时候1.2V电压和50MHz的频率都有了。
图六 LED的正确配置电路调试成功后,LED2常亮,LED1会不停的闪烁。
小技巧分享一下该芯片封装特别小,中间焊盘部分是接地的,焊接的时候很容易跟旁边的引脚短路,可以将中间部分挖孔,多余的焊锡就会从板子背面溢出。
图七 LAN8720封装以上是今天分享的内容,希望对你有帮助。
硬件笔记本,一起学习电路设计、PCB设计、仿真、调试以及EMC知识更多干货文章请点击关注:搞懂元器件,就搞懂了电路的一半一起学习吧:硬件笔记本|加群