主题中讨论的其他器件:SysConfig
工具与软件:
我正在尝试在定制 PCB 上使用 CPSW。 我的 SysConfig 工程配置为使用 端口2。 PHY 针对 ADDR =2进行自举。 我实现了一个 BSP 以方便将驱动程序绑定到此端口。 不过、我看到什么是 MDIO 读取错误。 在 EnetPhy_getid ()中、从 PHY_PHYIDR1和 PHY_PHYIDR2读取的值如下所示:
…μ A 与数据表中的预期值不匹配、如下所示:
‘示波器探测 MDIO 总线时、我发现 MDIO 总线具有合理的信号完整性、但总线非常"健壮"。 每~80us 我看到什么看起来是重复相同的交易。 当处理器在断点处停止时、此操作仍然存在。 此外、在不解析事务的情况下、它看起来相当符合中定义的帧格式:
AM263Px Sitara 微控制器技术参考手册(spruj55)、第3.2.1.4.9.1节- MDIO 帧格式、
在以下两个图像中捕获了一个事务:
如上所述、在80us 内将有另一笔相同的交易。
阅读 spruj55第13.2.1.4.9.2节 MDIO 功能说明、如下所示:
…μ A 提示我尝试读取 CPSW_MDIO_USER_ACCESS_REG_k GO。
理由:硬件必须启动我在示波器上看到的事务。
读取:
AM263Px Sitara 微控制器寄存器附录(spruj57)
此处所示:
…μ A 和此处:
…μ A 提示我使用以下"Watch Expressions":
*((uint32_t *) 0x52820F80)
*((uint32_t *) 0x52820F80)
不过、我读取的寄存器值与行为不一致。 我为 CPSW_MDIO_USER_ACCESS_REG_k 读取零、如下所示:
我希望在两个寄存器中的至少一个中设置 GO 位。
1)
我的监视表达式是否正确?
2)
我对"‘MDIO "行为及其与 CPSW_MDIO_USER_ACCESS_REG_k GO 位的关系的假设是否正确?