根据 ET1100的数据表、它引入了在 MDC/MDIO 写入和读取时的操作序列、我们不确定如何设置 MDC 的频率。 此外、为了实现所需的序列、如果 GPIO 仿真? TI 是否会为 MDC/MDIO 操作和访问提供一些演示用例或驱动程序库? 谢谢!
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.
根据 ET1100的数据表、它引入了在 MDC/MDIO 写入和读取时的操作序列、我们不确定如何设置 MDC 的频率。 此外、为了实现所需的序列、如果 GPIO 仿真? TI 是否会为 MDC/MDIO 操作和访问提供一些演示用例或驱动程序库? 谢谢!
您好、Bruce、
MII 管理控制在默认情况下仅设置为 ECAT 主站。 PDI 必须通过 EtherCAT IP 寄存器“MII 管理 PDI 访问状态(0x0517)"声明对 MII 管理的访问权限。
这将打开对 PDI 的 MII 管理访问权限。 启用此功能后、PDI 可通过"MII 管理控制"和"PHY 地址"寄存器访问 PHY 寄存器
我有一些用于读取/写入 PHY 寄存器的 driverLib 测试代码。 在我的 PC 上找到它后、我将共享它。
最棒的
Kevin
您好、Bruce、
下面是作为写入/读取 PHY 寄存器示例的测试代码。
/* MII Management and PHY Addressing defines */
#define ESC_MII_CTRL_STATUS_1_OFFSET 0x0510
#define ESC_MII_CTRL_STATUS_2_OFFSET 0x0511
#define ESC_PHY_ADDRESS_OFFSET 0x0512
#define ESC_PHY_REG_ADDRESS_OFFSET 0x0513
#define ESC_PHY_DATA_OFFSET 0x0514
#define ESC_MII_ECAT_ACCESS_OFFSET 0x0516
#define ESC_MII_PDI_ACCESS_OFFSET 0x0517
// Adding PHY configuration code here
HW_EscWriteByte(0x01,ESC_MII_PDI_ACCESS_OFFSET); // Give PDI access to MII management
HW_EscWriteByte(0x0A,ESC_PHY_REG_ADDRESS_OFFSET); // Set PHY register to read/write
HW_EscWriteByte(0x01,ESC_MII_CTRL_STATUS_2_OFFSET); // Read PHY reg
HW_EscWriteWord(0x0102,ESC_PHY_DATA_OFFSET); // Set the value to write to register
HW_EscWriteByte(0x02,ESC_MII_CTRL_STATUS_2_OFFSET); // Write PHY reg
HW_EscWriteWord(0x00,ESC_PHY_DATA_OFFSET); // Set the value to write to register, clearing to 0x00
HW_EscWriteByte(0x01,ESC_MII_CTRL_STATUS_2_OFFSET); // Read PHY reg
如果要了解该序列、需要参考 Beckhoff 数据表中的 ESC 寄存器、如下所示:
最棒的
Kevin