主题中讨论的其他器件:DP83826E、 DP83826I、 AM2434
您好!
我们使用的是 MCU 和 SDK 08.04.00.01。
我们板上有 DP83826-以太网 PHY。 我们使用直接连接到 PHY 的 LED:LED0用于 Rx/Tx、LED2用于链路/100Mbit 信令。
SDK 中提供了 DP83826E 驱动程序、我想它也可用于 DP83826衍生产品。
因此、我尝试如下设置:
ETHPHY_DP83826E_LedSourceConfig ledConfig; ETHPHY_DP83826E_LedBlinkRateConfig_s ledBlinkConfig; /* ACT-LED */ ledConfig.ledNum = ETHPHY_DP83826E_LED0; ledConfig.mode = ETHPHY_DP83826E_LED_MODE_LINK_OK_AND_BLINK_ON_RX_TX; ETHPHY_command(ðPhyConfig_, ETHPHY_CMD_CONFIGURE_LED_SOURCE, (void *)&ledConfig, sizeof(ledConfig)); /* LK-LED */ ledConfig.ledNum = ETHPHY_DP83826E_LED2; ledConfig.mode = ETHPHY_DP83826E_LED_MODE_SPEED_100BTX; ETHPHY_command(ðPhyConfig_, ETHPHY_CMD_CONFIGURE_LED_SOURCE, (void *)&ledConfig, sizeof(ledConfig)); ledBlinkConfig.rate = ETHPHY_DP83826E_LED_BLINK_RATE_200_MS; ETHPHY_command(ðPhyConfig_, ETHPHY_CMD_CONFIGURE_LED_BLINK_RATE, (void *)&ledBlinkConfig, sizeof(ledBlinkConfig));
遗憾的是、LED2保持关闭状态。 我还尝试将其设置为 ETHPHY_DP83826E_LED_MODE_LINK_OK、但也未成功。
我检查了驱动程序实现、看不出它为什么不起作用。
然后、我检查了数据表、也无法确定问题所在。
驱动程序似乎正确初始化了 LEDCFG 寄存 器、LED2_GPIO_CFG (无论如何设置为0008h = LED2为默认值)也是如此。
然后、我尝试将 LEDCFG2 (0x469)寄存器直接设置为0xFFFF、以检查 PHY 是否正常工作、我们可能会遇到硬件问题。 但 LED 会突然亮起。 因此、将 LED2_drv_val 设置为1即可正常工作。
我不确定是否需要额外配置一些特殊功能、但数据表并未指示要执行任何其他操作、SDK 中的编译器也不会提供有关此功能的任何其他选项。
PHY 本身是否也存在错误?
我们的新布局基于此实现、正确运行此实现非常重要。
此致
Felix