基于ESP32驱动LAN8720以太网收发器

基于ESP32驱动LAN8720以太网收发器LAN8720A 是低功耗的 10 100M 以太网 PHY 芯片 支持通过 RMII 接口和 MAC 层通信

大家好,欢迎来到IT知识分享网。

在这里插入图片描述

一、LAN8720A简介

  LAN8720A是低功耗的10/100M以太网PHY芯片,支持通过RMII接口和MAC层通信。它包含一个全双工10-BASE-T/100BASE-TX收发器,支持10Mbps和100Mbps操作。可以自动协商以自动确定最佳速度和双工操作模式。支持 HPAuto-MDIX 自动翻转功能,无需更换网线即可将连接更改为直连或交又连接。特性如下:

  1. 10/100M
  2. 支持RMII接口
  3. 支持全双工和半双工
  4. 使用外部25M晶振,LAN8720A内部集成 PLL可以将25M倍频到50MHz参考时钟给MAC层使用
  5. 支持自协商模式 支持HPAuto-MDIX自动翻转
  6. 支持SMI串行管理接口

二、引脚说明

引脚 描述
TX1 PHY收发器发送的两位数据第1位数据发送引脚
NC 不连接
TX_EN 数据发送使能指示TXD[1:0]上存在有效的发送数据,用于控制发送数据的使能
TX0 PHY收发器发送的两位数据第0位数据发送引脚
RX0 PHY收发器接收的两位数据第0位数据接收引脚
RX1 PHY收发器接收的两位数据第1位数据接收引脚
nINT/RETCLK 中断输出低有效/参考时钟信号輸出
CRS 载波侦听/接收数据有效,用于指示是否检测到网络上的载波
MDIO 串行管理接口的输入输出引脚,用于读写PHY寄存器
MDC 串行管理接口的时钟引脚,用于同步数据传输
VCC 3.3V

芯片管脚配置

示例演示

  1. 引脚接线
ESP32 LAN8720模块
GPIO21 TX_EN
GPIO19 TX0
GPIO22 TX1
GPIO25 RX0
GPIO26 RX1
GPIO27 CRS
GPIO23 MDC
GPIO18 MDIO
  1. 示例代码
#include <ETH.h> //引用以使用ETH #include <WiFiUdp.h>  #define ETH_ADDR 1 #define ETH_POWER_PIN -1 #define ETH_MDC_PIN 23 #define ETH_MDIO_PIN 18 #define ETH_TYPE ETH_PHY_LAN8720 #define ETH_CLK_MODE ETH_CLOCK_GPIO17_OUT WiFiUDP Udp; //创建UDP对象 unsigned int localUdpPort = 2333; //本地端口号 void setup() { 
    Serial.begin(); Serial.println(); ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK_MODE); //启用ETH while(!((uint32_t)ETH.localIP())) //等待获取到IP { 
    } Serial.println("Connected"); Serial.print("IP Address:"); Serial.println(ETH.localIP()); Udp.begin(localUdpPort); //启用UDP监听以接收数据 } void loop() { 
    int packetSize = Udp.parsePacket(); //获取当前队首数据包长度 if (packetSize) //如果有数据可用 { 
    char buf[packetSize]; Udp.read(buf, packetSize); //读取当前包数据 Serial.println(); Serial.print("Received: "); Serial.println(buf); Serial.print("From IP: "); Serial.println(Udp.remoteIP()); Serial.print("From Port: "); Serial.println(Udp.remotePort()); Udp.beginPacket(Udp.remoteIP(), Udp.remotePort()); //准备发送数据 Udp.print("Received: "); //复制数据到发送缓存 Udp.write((const uint8_t*)buf, packetSize); //复制数据到发送缓存 Udp.endPacket(); //发送数据 } } 
  1. 示例结果
    基于ESP32驱动LAN8720以太网收发器

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/119917.html

(0)
上一篇 2025-11-02 09:26
下一篇 2025-11-02 09:45

相关推荐

发表回复

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

关注微信