针对LAN8720A芯片,本文介绍了如何在CubeMX中启用LwIP功能的步骤。
首先,LAN8720A是一个集成了RMII接口和PHY地址设置功能的芯片。其PHY Address Value通过PHYAD[0]引脚决定,高电平对应地址1,低电平对应地址0。在硬件连接中,通常使用HY911105A变压器和带LED指示的RJ45插座。
LAN8720A内部集成PLL,允许从25MHz时钟源生成50MHz时钟,REF_CLK引脚就是接收这种时钟输入。其内部结构显示了数据接收和发送控制器等关键模块,以及与外部接口的连接。
MODE[2:0]引脚用于设置通信速率和工作模式,支持10Mbps/100Mbps和半全双工,通过自动MDIX功能进行自适应。nINTSEL引脚用于配置时钟输入/输出,当为低电平时,可以作为50MHz时钟输出,而高电平时用于外部时钟接入。
REGOFF引脚用于配置内部+1.2V电压源,可通过VDDCR引脚或内部稳压器提供。MI/MDC/MDIO接口是PHY的管理和数据传输通道,MDIO用于控制PHY的寄存器读写,MDC则提供MDIO时钟。
在实际操作中,如使用F407探索者开发板,需通过PHYAD0配置地址,通常使用50MHz时钟源,根据PHY的特性配置Advanced Parameters页面,包括外部PHY配置,基础和扩展寄存器设置。最后,通过HAL_ETH_MspInit函数启用LwIP,设置ETH参数和中断,即可实现与电脑的通信。
LwIP学习(2)
首先,LAN8720A是一个集成了RMII接口和PHY地址设置功能的芯片。其PHY Address Value通过PHYAD[0]引脚决定,高电平对应地址1,低电平对应地址0。在硬件连接中,通常使用HY911105A变压器和带LED指示的RJ45插座。LAN8720A内部集成PLL,允许从25MHz时钟源生成50MHz时钟,REF_CLK引脚就是接收这种时钟输入。其内...
正点原子lwIP学习笔记——lwIP入门
在正点原子的学习过程中, lwIP的学习路径分为三部分:首先移植,介绍协议并进行操作系统(如FreeRTOS)下的移植;接着是原理篇,深入理解协议的工作原理;最后是实战篇,通过实际项目应用巩固所学知识。
正点原子lwIP学习笔记——lwIP入门
lwIP入门学习笔记lwIP是一个轻量级的开源TCP\/IP协议栈,专为嵌入式系统设计,主要用于简化云台接入、无线网关等应用的网络通信。它并非完整的TCP\/IP协议,不包含NAT协议,需额外添加。NAT是路由器的基本功能,如果要在lwIP中使用,需要自行实现。TCP\/IP协议栈结构中,应用层处理用户交互,传输层TCP提供可靠...
正点原子lwIP学习笔记——lwIP内存管理
lwIP内存管理基于内存池与内存堆原理,内存堆与内存池实质上直接操作数组实现。lwIP内存堆采用可变长分配策略,支持任意大小内存申请。First Fit算法从低地址空间查找符合要求的内存块,将其切割并返回剩余部分至动态内存堆中,优点在于时间换空间。在lwIP内存堆初始化时,设置MEM_LIBC_MALLOC为0。初始化mem结...
正点原子lwIP学习笔记——lwIP网络接口管理
lwIP网络接口简介 lwIP协议栈支持多种不同网络接口,如以太网、WIFI等,硬件差异导致处理方式不同。lwIP提供统一接口,底层实现由用户完成,如在ethernetif.c文件。每个系统可能有多个网络接口,每个接口由一个netif结构体表示。这些结构体描述底层实现函数及状态,以链表形式连接,实现对不同网络接口抽象。neti...
正点原子lwIP学习笔记——UDP协议
lwIP内核允许实现多个UDP连接,通过控制块的单向链表链接实现。每个控制块包含本地端口、接收数据的回调函数、当前状态标志以及接收数据的缓冲区。当接收到数据包,lwIP解析IP首部发现是UDP协议后,会将数据传递给对应的控制块进行处理。NETCONN和SOCKET接口采用IPC方式,通过邮箱传递数据指针至对应的回调函数。...
正点原子lwIP学习笔记——IP协议
IP重组是根据到达顺序重新组合分片,lwIP处理分片时,ip_reassdata链表用于存储和管理未完整接收的数据包。源码中的函数如ip4_reass()和ip_reass_chain_frag_into_datagram_and_validate()处理了这些逻辑,确保数据包在到达目的地后正确组合。总的来说,理解lwIP协议的这部分内容,关注核心原理和源码示例,...
正点原子lwIP学习笔记——网络数据包管理
然后会根据类型来决定payload_len的大小,进行相应的payload指针指向数据区前的首部字段。这一章主要讲述了lwIP中重要的pbuf缓冲,具体有哪些数据构成,为之后的学习奠定基础,确定了pbuf除了所需传输的数据,还有哪些变量需要添加,如何申请对应的pbuf内存大小,以及对应的内存堆和内存池。
正点原子lwIP学习笔记——传输层协议
在传输层协议中,TCP和UDP两种协议各具特色。TCP基于连接,强调数据的可靠性和顺序性,通过三次握手建立连接,传输数据后进行四次挥手断开,确保信息完整。三次握手涉及客户端发送SYN,服务器响应SYN+ACK,客户端确认ACK,形成ESTABLISHED状态,允许数据双向传输。TCP通过MSS大小(如lwIP的1460字节)控制数据...
正点原子lwIP学习笔记——PHY芯片简介
PHY地址设置用于唯一标识每个PHY芯片,SMI站管理接口通过这些地址进行管理。LAN8720A的PHY地址由PIN10控制,默认0x00,而YT8512C通过PIN24和PIN25设置,可选地址更多。在RMII模式选择上,LAN8720A有REF_CLK In和RED_CLK Out两种,通过PIN2设定;YT8512C则有RMII1和RMII2,PIN8和PIN12的组合决定,如PIN...