|
我采用 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 侧,或是时钟等其他硬件因素。 |
STM32L562DK探索板初试
收到商城兑换的开发板盲盒——STM32L562Discovery Kit
调试器显示变量数值错误
多通道平滑波形绘图方案
lwIP + FreeRTOS示例工程调试失败
使用 NUCLEO-L4 板载 ST-LINK 烧录其他板卡失败
F407的SDIO的硬件分流问题
STM32H5入门级DEMO板,NUCLEO-H503RB(Flash 128K,LQFP64封装)-ST中文论坛首帖
STM32N6的BOOT问题
将stm32内存中数据转存到文件中
微信公众号
手机版