LAN8720A网络模块的使用问题

LAN8720A网络模块的使用问题一、LAN8720A模块驱动电路最近在调试STM32F4驱动LAN8720A网络模块,在做方案前参考是正点原子的LAN8720A的驱动电路方案,但是从网上买回来的LAN8720A模块用正点原子的例程一直驱动不起来,在windows系统下一直都ping不通,后面对比正点原子的LAN8720A与网上买回来的微雪LAN8720A模块的电路有差异。下图为网上买回来微雪的LAN8720A驱动电路:下…

大家好,又见面了,我是你们的朋友全栈君。

一、LAN8720A模块驱动电路

最近在调试STM32F4驱动LAN8720A网络模块,在做方案前参考是正点原子的LAN8720A的驱动电路方案,但是从网上买回来的LAN8720A模块用正点原子的例程一直驱动不起来,在windows系统下一直都ping不通,后面对比正点原子的LAN8720A与网上买回来的微雪LAN8720A模块的电路有差异。
下图为网上买回来微雪的LAN8720A驱动电路:
1100486-20171026185858242-411932878.png
下图为正点原子LAN8720A驱动电路:
1100486-20171026185707023-1333497877.png
根据LAN8720A的数据手册后发现下面2个不同点:
1、PHY Address Configuration
1100486-20171026181719976-2015877583.png
有关于LAN8720A的PHY address,由上图中正点原子的LAN8720A中PHYAD0的引脚是悬空的,说明PHY address默认为0,而微雪的LAN8720A中PHYAD0的引脚是上拉到高电平,所以PHY address为1。如果使用正点原子的例程来驱动,则需要修改LAN8720_PHY_ADDRESS的值后模块才可以正常的通讯。

rval=ETH_Init(&ETH_InitStructure,LAN8720_PHY_ADDRESS);  
#define LAN8720_PHY_ADDRESS     0x01                //LAN8720 PHY address   

2、nINTSEL Configuration
从原理图中可以看出正点原子的LAN8720A模块所使用的晶振是25M,而微雪的LAN8720A模块使用的晶振是50M,根据数据手册和结合原理图可以看出,
微雪的LAN8720A的nINTSEL没有接下拉,则是默认使用内部上拉到高电平,即nINTSEL=1,为REF_CLK In Mode模式,所以选用50M的晶振。
1100486-20171026184006617-1104506003.png
正点原子的LAN8720A的nINTSEL是下拉到GND,即nINTSEL=0,为下图中的REF_CLK Out Mode模式,所以选用25M的晶振可以倍频到50M,可以节省成本。
1100486-20171026184048430-1695131946.png

二、参考文档

http://ww1.microchip.com/downloads/en/DeviceDoc/8720a.pdf
http://www.waveshare.net/wiki/LAN8720_ETH_Board

by 羊羊得亿
2017-10-26 ShenZhen

转载于:https://www.cnblogs.com/yangxuli/p/7738431.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148257.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号