目录
1. STM32CubeMx的功能配置
LWIP使用的以太网芯片是 LAN8720,使用STM32CubeMX6.10来配置工程。配置完的工程能通过电脑来ping通LWIP设置的静态IP地址的单片机开发板。后面涉及TCP客户端和UDP的通信开发。
1.1 选择芯片 STM32F407ZET6,基础配置3件套: RCC、SYS和系统时钟
1.2 配置ETH:
- 为什么选择RMII:
在以太网通信中,RMII(Reduced Media-Independent Interface)是一种用于连接以太网物理层(PHY)和媒体访问控制层(MAC)的接口标准。相比于传统的 MII(Media-Independent Interface),RMII使用更少的引脚,简化了硬件设计。具体来说:- MII 需要16条信号线来传输数据、控制信号和时钟。
- RMII 则减少到10条信号线,且运行速度加倍,使得时钟频率从25 MHz提高到50 MHz。当你设置以太网的Mode为RMII时,意味着:
- 引脚数减少:硬件设计上减少了引脚的数量,简化了电路布局。
- 数据速率保持不变:尽管引脚减少,数据速率依然可以保持为10/100 Mbps,只不过数据是以双倍速率(50 MHz)传输的。
- 时钟共享:RMII模式允许多个PHY共享同一个时钟源,这对简化时钟树设计非常有利。
- 一般在单片机或FPGA中,用户可以选择MII或RMII模式,这取决于硬件资源和设计需求。如果你的项目硬件上支持RMII,那么使用RMII模式可以简化设计。
- 以下这些参数没有更改
1.3 配置 FreeRTOS 和 LWIP
- FreeRTOS
- LWIP
1.4 串口输出配置
- UART4
1.5 工程配勾选,生成代码
2. 代码修改:增加PHY芯片初始化复位功能:
3. 电脑ping测试
此时电脑上能够ping通CubeMX中配置的192.168.137.51的地址
4. TCP和UDP的通信测试
- 待调试