STM32F7系列的MCU自带了MAC控制器,现在分析一下库函数中初始化的步骤:
一、整体初始化的流程
1、底层GPIO的初始化、时钟的开启,设置MAC与PHY的通信方式:MII或RMII
2、使MAC模块复位一次
3、获取SMI(MDC、MDIO组成)接口中的MII地址寄存器,要根据MCU的运行速度设置时钟范围,MDC的时钟频率是通过HCLK分频得到的
4、通过SMI接口对PHY_BCR寄存器写入0x8000,使PHY复位
5、如果设置成自动协商模式,MCU不断地读取PHY_BSR寄存器来判断网络是否建立。如果此时没有插入网线,超时网络没有连接,那么初始化MAC和DMA后直接返回
5.1、如果完成建立了网络连接,那么将PHY_BCR寄存器的自动协商使能位置1.
5.2、读取PHY_BSR,判断是否自动协商完毕,如果超时仍然没有自动协商完毕,那么初始化MAC和DMA后直接返回
5.3、如果自动协商完毕,那么读取PHY_SR寄存器来读取自动协商的结果(全双工还是半双工、10M还是100M)
6、如果没有配置成自动协商模式,那么程序通过SMI接口对PHY芯片的PHY_BCR写入配置
7、配置MAC和DMA
二、MAC和DMA的配置
1、使能MAC看门狗、JABBER定时器、设置最小数据长度、使能载波侦听、禁止回环模式等
2、使能接收中断、设置MAC地址等。
上一篇:基于STM32F107+DP83848嵌入式zigbee网关设计
下一篇:stm32 以太网启动后再插网线的问题
设计资源 培训 开发板 精华推荐
- LTC4419IDD 18V 双输入微电源路径优先器的典型应用电路
- 基于ESP-01F的带锂电池充电管理远程舵机开关
- OP495GSZ-REEL H桥运算放大器典型应用
- 智能小车
- 使用 LT1054IN8 基本电压逆变器的典型应用
- 基于STM32L432的智能家居控制系统
- 带有 EM3587、Si7053 和 PCB 天线的 ZigBee 接触式传感器参考设计
- EVAL-RS485HDEBZ,采用 8 引脚 SOIC 封装的 ADM4852 半双工 RS-485 收发器评估板
- LTC2171IUKG-12、12 位、40Msps 低功耗四通道 ADC 的典型应用电路
- 符合 IrDA 标准的发射器/接收器