首页/文章/ 详情

那些在LAN8720调试过程中踩过的坑,你是否遇到过?

12月前浏览2589
最近在调试一个型号为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封装

以上是今天分享的内容,希望对你有帮助。


 

 
推荐阅读

 

 


来源:硬件笔记本
电源电路芯片焊接理论Altium控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-05-11
最近编辑:12月前
硬件笔记本
本科 一点一滴,厚积薄发。
获赞 152粉丝 28文章 373课程 0
点赞
收藏
未登录
还没有评论

课程
培训
服务
行家

VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈