|
我采用 Micrel KSZ8863RLL 作为以太网 PHY,搭配 STM32F207IG 工作在 RMII 模式;50MHz 参考时钟由外部有源晶振供给。 通过 SMI(ETH_MACMIIAR/ETH_MACMIIDR 寄存器)读写 PHY 寄存器,对应 PHY 侧 MDIO/MIIM 管理接口。 系统搭载 uC/OS-III 与 uC/TCP-IP 协议栈。 100Mbps 全双工模式通信完全正常;切换到 10Mbps 半双工后出现通信故障。 MCU 可正常读写所有 PHY 寄存器; 自动协商能正确识别 10Mbps 链路,PHY 状态寄存器标记为 10M 半双工; STM32 读取协商结果后,正确配置 ETH_MACCR 寄存器的 FES、DM位; 完成配置后,以太网 DMA 接收中断完全不再触发,100M 模式下接收中断工作正常。 我已清除 ETH_MACCR 中的 ROD位,但故障依旧。 全部 MAC 配置寄存器、中断屏蔽寄存器检查均无异常;示波器观测 RMII 的 TXD/RXD 引脚能看到数据流量,只是 MCU 收不到中断。 目前无法定位问题来源:STM32 MAC 侧、KSZ8863 PHY 侧,或是时钟等其他硬件因素。 |
|
重复贴STM32F207IG10Mbps 半双工以太网异常 |
有没有在STM32C542RC开发板上实现CoreMark测试的教程?
尝试进行STM32C542RC开发板的低功耗实验
STM32C542RC开发板启用PWM后对串口通讯造成影响
完成了STM32C542RC开发板PWM呼吸灯及多功能按键实验的视频
录制开箱上电和创建项目的视频挺麻烦啊
L9663驱动开发
完成了STM32C542RC开发板的串口通讯实验的视频
STM32C542RC开发板PWM实验终于完成
在PWM实验中为什么实际占空比会与设置相差那么大?
STM32C542RC开发板PWM实验——编译通过但回调函数未调用
微信公众号
手机版