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.

[参考译文] AM6421:AM6421:无法通过 PHY ADIN1300 运行 Enet CPSW 环回示例

Guru**** 2652575 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1592057/am6421-am6421-it-is-failed-to-run-enet-cpsw-loopback-example-with-phy-adin1300

器件型号: AM6421
主题: SysConfig 中讨论的其他器件

您好:

我们正在尝试在与 phy ADIN1300 移植的客户电路板上运行 SDK 11.0.0.15 的 Enet CPSW 环回示例。  但它失败、输出如下。

tarting ARK MPU Bootloader ...

DMSC Firmware Version 11.0.7--v11.00.07 (Fancy Rat)
DMSC Firmware revision 0xb
DMSC ABI revision 4.0

INFO: Bootloader_runCpu:205: CPU r5f1-0  is initialized to 800000000 Hz !!!
INFO: Bootloader_runCpu:205: CPU m4f0-0 is initialized to 400000000 Hz !!!
INFO: Bootloader_runCpu:205: CPU a530-0 is initialized to 1000000000 Hz !!!
INFO: Bootloader_loadSelfCpu:257: CPU r5f0-0 is initialized to 800000000 Hz !!!
INFO: Bootloader_runSelfCpu:267: All done, reseting self ...

=============================
 Enet Loopback: Iteration 1
=============================
CPSW_3G Test
Enabling clocks!
Mdio_open: MDIO Manual_Mode enabled
Open MAC port 1
EnetPhy_bindDriver: PHY 0: OUI:00a0ef Model:03 Ver:00 <-> 'ADIN1300' : OK
PHY 0 is alive
PHY 15 is alive
initQs() txFreePktInfoQ initialized with 16 pkts
Cpsw_handleLinkUp: Port 1: Link up: 100-Mbps Full-Duplex
Assertion @ Line: 572 in C:/ti/flex_ti_am64x_sdk_11_00_00_15/source/networking/enet/core/examples/enet_loopback/enet_cpsw_loopback/loopback_test.c: EnetLpbk_verifyRxFrame(pktInfo, rxPktCnt) == true :

经过调查后、它似乎需要在 loopback_test.c 中的 EnetApp_waitForLinkUp() 之后再等待 3 秒钟、然后它才能成功运行。

image.png

它需要再等待 3 秒的原因是、当处于 CPSW 的环回模式时、它不会检查寄存器 PHY_BMSR (01) 的 BMSR_LINKSTS(位 2)。 它只是返回 true、没有任何延迟或等待 SDK 代码 (cpsw.c 和 enetphy.c)。

对于 phy DP83867、没关系、因为如果它处于环回模式、寄存器 PHY_BMSR (01) 的 BMSR_LINKSTS(位 2)将始终为 0、并且不会影响数据接收。

对于 phy ADIN1300、它将不起作用、因为即使处于环回模式、它仍需要等待寄存器 PHY_BMSR (01) 的 BMSR_LINKSTS(位 2)变为 1、否则它将无法接收数据。 等待链路建立的时间约为 2.5 秒。

请提供此问题的解决方案。

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

    尊敬的 Ling Yun:

    Enet PHY 层的实现假设、当 PHY 保持环回模式时、PHY 立即建立链路。  ADIN1300 PHY 即使在链路建立模式下也需要 3 秒来检测链路是否正常?

    如果是、那么我们可能需要在 phy 状态机中进行一些更改来解决这个问题。 您是否还能提供该应用程序的相应 SysConfig 文件?  

    此致、
    Teja。

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

    尊敬的 Ling Yun:

    当设置为环回模式时、Enet PHY 驱动器立即响应链路建立。 如果 PHY 未处于环回模式、它将检查 BMSR 寄存器以检测链路状态。 因此、在 enet_lwip_cpsw 示例中使用时、它正常工作。

    让我来查看有关如何修改状态机的详细信息、以便即使在环回模式下、也可以使用 BMSR 更新链接状态。 由于我也参与了其他支持活动、因此请在 4 个工作日内收到回复。

    谢谢。此致、
    Teja。