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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 怎么用命令提示符运行JAVA代码_java命令提示符如何进入

    怎么用命令提示符运行JAVA代码_java命令提示符如何进入展开全部用命令提示符编译Java程序的方法62616964757a686964616fe59b9ee7ad9431333363363432我们先新建文本文档,输入自己的java程序。这里我写一个简单的java程序,来做示范。importjava.util.*;publicclassHelloDate{publicstaticvoidmain(String[]args){System….

    2022年8月30日
    1
  • stm32编程步骤_单片机STM32

    stm32编程步骤_单片机STM32近几年来,从云计算、大数据到机器学习、AI、物联网,各种新潮的技术概念一波~~接一波。于是就产生了一些好奇心旺盛,抱着去凑一凑热闹的心态,实际上却是也想分一杯羹儿的程序员!但问题是,在他们的技术栈里,一切…

    2022年9月6日
    5
  • ODrive开发 #1 ODrive固件开发指南[通俗易懂]

    ODrive固件开发指南本指南适用于希望修改ODrive固件的开发人员。因此,它假定您了解诸如如何使用Git,什么是编译器之类的知识。如果这听起来很陌生,以下内容对您来说可能不适合。官方发行版在master分支上。但是,由于您是开发人员,因此建议您使用devel分支,因为它包含最新功能。该项目正在积极开发中,因此请确保检查更新日志以跟踪更新动态。文章目录ODrive固件开发指南需要的开…

    2022年4月18日
    636
  • win7 64位wamp2.5无法启动MSVCR110.DLL丢失听语音

    win7 64位wamp2.5无法启动MSVCR110.DLL丢失听语音

    2021年9月23日
    60
  • java中clone_java copyproperties

    java中clone_java copyproperties1.克隆的用处在日常编码中我们经常需要产生某个对象的副本,这里的副本并不是指向同一个对象的不同引用,而是与当前对象状态一模一样的另一个新的对象。如果使用单纯的引用赋值,会发生什么效果呢?我们可以观察下面的代码:packagecom.coderap.foundation.clone;classAddress{publicStringprovince;publicStringcity;…

    2022年10月14日
    0
  • linux卸载软件包命令rpm_为linux卸载一个软件包应使用

    linux卸载软件包命令rpm_为linux卸载一个软件包应使用例如卸载mysql:这样就完成了rpm安装程序的卸载。

    2022年9月8日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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