This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LAUNCHXL-F28P65X:F28P65x LaunchPad:尽管有正确的 MII 命令和时钟配置、PHY 寄存器仍始终读取为零

Guru**** 2693225 points

Other Parts Discussed in Thread: C2000WARE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1596408/launchxl-f28p65x-f28p65x-launchpad-phy-registers-always-read-zero-despite-correct-mii-commands-and-clock-config

器件型号: LAUNCHXL-F28P65X
主题: C2000WARE 中讨论的其他器件

TI 团队大家好、

我正在使用 F28P65x LaunchPad 和 pdi_test_app C2000Ware v6.00.00.00 中的 EtherCAT。 我的目标是使用 EtherCAT MII 管理接口 (0x0510) 读取以太网 PHY 寄存器,但所有读取都返回 0x0000

我已确认的内容:

  1. 时钟配置正确: 我的 device.h 配置用于 25MHz 晶体、 Device_verifyXTAL() 检查通过。 我的系统时钟在 200MHz 上正常运行。

  2. PHY 复位被置为无效: 我手动将 GPIO 76 驱动为高电平。

  3. PDI 具有控制功能: 我手动写入寄存器 0x0516 、并 0x0517 为 CPU 提供对 MII 接口的独占控制。

  4. MII 命令正确: 我的自定义读取/写入函数正确实现了 Beckhoff 数据表中的命令序列(使用正确的 READ_CMD、WRITE_CMD 和 BUSY 位)。

问题:
即使在正确执行这些软件的每一个步骤后、PHY 寄存器仍然读取为零。 这证明 PHY 由于库 ESC_initHW() 函数中针对我的特定电路板版本缺少或不正确的步骤而完全处于非活动状态(无时钟或保持复位状态)。 HAL 似乎具有未满足的隐藏依赖项。

您能否告诉我 ESC_initHW 缺少其中的寄存器、引脚多路复用或电源设置、以便在 F28P65x LaunchPad 上正确启用 PHY?

谢谢你。