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.

[参考译文] AM2432:使用 DP83822时会发生 EIP 连接故障

Guru**** 1794070 points
Other Parts Discussed in Thread: AM2432, DP83826E, SYSCONFIG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1341100/am2432-eip-connection-failure-occurs-with-using-dp83822

器件型号:AM2432
主题中讨论的其他器件: DP83869DP83826ESysConfig

尊敬的专家:

我正在调试选择芯片 AM2432和 DP83822 PHY 的电路板。

正在使用的 EIP 堆栈是 ind_comms_sdk_am243x_09_00_00_03、我没有大幅更改 PHY 驱动程序代码。

这是 UART 日志:

[MCSPI] Loopback example started 3
Pruicss max =3 selected PRU:3
The data is corrupted, write default values.
Did Map 0x30080000 len 0x2000 to 0x30080000 (dram0)
Did Map 0x30082000 len 0x2000 to 0x30082000 (dram1)
Did Map 0x300b4000 len 0x4000 to 0x300b4000 (iram0)
Did Map 0x300b8000 len 0x4000 to 0x300b8000 (iram1)
Did Map 0x30090000 len 0x10000 to 0x30090000 (shdram)
Did Map 0x300a2000 len 0x400 to 0x300a2000 (control0)
Did Map 0x300a4000 len 0x400 to 0x300a4000 (control1)
Did Map 0x300a0000 len 0x2000 to 0x300a0000 (intc)
Did Map 0x300a6000 len 0x2000 to 0x300a6000 (cfg)
Did Map 0x300a8000 len 0x2000 to 0x300a8000 (uart0)
Did Map 0x300ae000 len 0x2000 to 0x300ae000 (iep)
Did Map 0x300b0000 len 0x2000 to 0x300b0000 (ecap0)
Did Map 0x300b2000 len 0x400 to 0x300b2000 (mii_rt)
Did Map 0x3009f000 len 0x1c00 to 0x3009f000 (mdio)
Did Map 0x3008a000 len 0x2000 to 0x3008a000 (txPru0Iram)
Did Map 0x3008c000 len 0x2000 to 0x3008c000 (txPru1Iram)
Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru0CtlReg)
Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru1CtlReg)
DP83822 detected
DP83822 detected
PRU_PHY_detect:185 Phy 1 alive
PRU_PHY_detect:185 Phy 4 alive
Phy 1 : REG[0x0000] = 0x3100
Phy 1 : REG[0x0001] = 0x7849
Phy 1 : REG[0x0002] = 0x2000
Phy 1 : REG[0x0003] = 0xA240
Phy 1 : REG[0x0004] = 0x01E1
Phy 1 : REG[0x0005] = 0x0000
Phy 1 : REG[0x0006] = 0x0004
Phy 1 : REG[0x0007] = 0x2001
Phy 1 : REG[0x0008] = 0x0000
Phy 1 : REG[0x0009] = 0x0000
Phy 1 : REG[0x000A] = 0x0100
Phy 1 : REG[0x000B] = 0x1000
Phy 1 : REG[0x000C] = 0x0000
Phy 1 : REG[0x000D] = 0x401F
Phy 1 : REG[0x000E] = 0x0007
Phy 1 : REG[0x000F] = 0x0000
Phy 1 : REG[0x0010] = 0x4002
Phy 1 : REG[0x0011] = 0x0108
Phy 1 : REG[0x0012] = 0x0000
Phy 1 : REG[0x0013] = 0x0800
Phy 1 : REG[0x0014] = 0x0000
Phy 1 : REG[0x0015] = 0x0000
Phy 1 : REG[0x0016] = 0x0100
Phy 1 : REG[0x0017] = 0x0041
Phy 1 : REG[0x0018] = 0x0400
Phy 1 : REG[0x0019] = 0x8021
Phy 1 : REG[0x001A] = 0x0000
Phy 1 : REG[0x001B] = 0x007D
Phy 1 : REG[0x001C] = 0x05EE
Phy 1 : REG[0x001D] = 0x0000
Phy 1 : REG[0x001E] = 0x0102
Phy 4 : REG[0x0000] = 0x3100
Phy 4 : REG[0x0001] = 0x7849
Phy 4 : REG[0x0002] = 0x2000
Phy 4 : REG[0x0003] = 0xA240
Phy 4 : REG[0x0004] = 0x01E1
Phy 4 : REG[0x0005] = 0x0000
Phy 4 : REG[0x0006] = 0x0004
Phy 4 : REG[0x0007] = 0x2001
Phy 4 : REG[0x0008] = 0x0000
Phy 4 : REG[0x0009] = 0x0000
Phy 4 : REG[0x000A] = 0x0100
Phy 4 : REG[0x000B] = 0x1000
Phy 4 : REG[0x000C] = 0x0000
Phy 4 : REG[0x000D] = 0x401F
Phy 4 : REG[0x000E] = 0x0007
Phy 4 : REG[0x000F] = 0x0000
Phy 4 : REG[0x0010] = 0x0002
Phy 4 : REG[0x0011] = 0x0108
Phy 4 : REG[0x0012] = 0x0000
Phy 4 : REG[0x0013] = 0x0800
Phy 4 : REG[0x0014] = 0x0000
Phy 4 : REG[0x0015] = 0x0000
Phy 4 : REG[0x0016] = 0x0100
Phy 4 : REG[0x0017] = 0x0041
Phy 4 : REG[0x0018] = 0x0400
Phy 4 : REG[0x0019] = 0x8024
Phy 4 : REG[0x001A] = 0x0000
Phy 4 : REG[0x001B] = 0x007D
Phy 4 : REG[0x001C] = 0x05EE
Phy 4 : REG[0x001D] = 0x0000
Phy 4 : REG[0x001E] = 0x0102
+EI_API_ADP_pruicssStart
-EI_API_ADP_pruicssStart
Assembly 0x64 size: 0
Assembly 0x64 size: 2 (attrId 0x340)
Assembly 0x64 size: 4 (attrId 0x341)
Assembly 0x64 size: 6 (attrId 0x342)
Assembly 0x64 size: 8 (attrId 0x343)
Assembly 0x64 size: 10 (attrId 0x344)
Assembly 0x64 size: 12 (attrId 0x345)
Assembly 0x64 size: 14 (attrId 0x346)
Assembly 0x64 size: 16 (attrId 0x347)
Assembly 0x64 size: 18 (attrId 0x348)
Assembly 0x64 size: 20 (attrId 0x349)
Assembly 0x64 size: 22 (attrId 0x34a)
Assembly 0x64 size: 24 (attrId 0x34b)
Assembly 0x64 size: 26 (attrId 0x34c)
Assembly 0x64 size: 28 (attrId 0x34d)
Assembly 0x64 size: 30 (attrId 0x34e)
Assembly 0x64 size: 32 (attrId 0x34f)
Local interface IP is 192.168.1.19
EI_API_ADP_getMacAddr: 1c:63:49:20:7c:bc

我的问题是如何使两个 DP83822 PHY 正常工作。

从日志中,我们能找到问题发生了吗? 我应该采取的下一步是什么?

谢谢你。

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

    顺便说一下、我想在使用  ind_comms_sdk_am243x_09_00_00_03堆栈驱动 DP83822 PHY 之前、它可以驱动 AM243x_LP 上的 DP83869。

    但是、我发现堆栈中的函数需要一些看不见的输入、例如 EI_API_ADP_pruicssInit、CUST_PHY_DP83869_setMIiMode。

    那么、这是否意味着 我必须为 DP83822 PHY 构建驱动程序? 或者在哪里可以找到当前堆栈中使用的基准?

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

    尊敬的 Sigong:

    所以、这是否意味着 我必须为 DP83822 PHY 构建驱动程序? 或者我可以在其中找到当前堆栈中使用的基准

    Dp83822 PHY 与 DP83826E 非常相似、因此通过一些修改、您应该能够使它正常工作。 我与 dp83826e 共享 phy 驱动程序。

    /cfs-file/__key/communityserver-discussions-components-files/908/CUST_5F00_PHY_5F00_dp83826e.h

    /cfs-file/__key/communityserver-discussions-components-files/908/CUST_5F00_PHY_5F00_dp83826e.c

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

    希望这将有所帮助、您将需要替换 dp83869的当前驱动程序文件。

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

    尊敬的 Nilabh:

    感谢您的答复。

    我已经用 dp83826e.h 和.c 替换了以前的驱动程序  

    以下是最新的日志:

    [MCSPI]环回示例已启动3.
    Pruicss max =3 Selected PRU:3
    数据已损坏、写入默认值。
    DID 映射0x30080000 len 0x2000至0x30080000 (dram0)
    DID 映射0x30082000 len 0x2000至0x30082000 (dram1)
    DID 映射0x300b4000 len 0x4000至0x300b4000 (iram0)
    DID 映射0x300b8000 len 0x4000至0x300b8000 (iram1)
    DID 映射0x30090000 len 0x10000至0x30090000 (shdram)
    DID 映射0x300a2000 len 0x400到0x300a2000 (CONTROL0)
    DID 映射0x300a4000 len 0x400至0x300a4000 (CONTROL1)
    DID 映射0x300a0000 len 0x2000到0x300a0000 (INTC)
    DID 映射0x300a6000长度0x2000到0x300a6000 (cfg)
    DID 映射0x300a8000 len 0x2000到0x300a8000 (uart0)
    DID 映射0x300ae000 len 0x2000至0x300ae000 (IEP)
    DID 映射0x300b0000 len 0x2000到0x300b0000 (ecap0)
    DID 映射0x300b2000 len 0x400至0x300b2000 (MII_RT)
    DID 映射0x3009f000 len 0x1c00至0x3009f000 (MDIO)
    DID 映射0x3008a000 len 0x2000到0x3008a000 (txPru0Iram)
    DID 映射0x3008c000 len 0x2000到0x3008c000 (txPru1Iram)
    DID 映射0x300a5000长度0x100到0x300a5000 (txPru0CtlReg)
    DID 映射0x300a5000长度0x100到0x300a5000 (txPru1CtlReg)
    检测到 DP83826E
    检测到 DP83826E
    PRU_PHY_DETECT:185 PHY 1活动
    PRU_PHY_DETECT:185 PHY 4活动
    PHY 1:REG[0x0000]= 0x3100
    PHY 1:REG[0x0001]= 0x7849
    PHY 1:REG[0x0002]= 0x2000
    PHY 1:REG[0x0003]= 0xA240
    PHY 1:REG[0x0004]= 0x01E1
    PHY 1:REG[0x0005]= 0x0000
    PHY 1:REG[0x0006]= 0x0004
    PHY 1:REG[0x0007]= 0x2001
    PHY 1:REG[0x0008]= 0x0000
    PHY 1:REG[0x0009]= 0x0000
    PHY 1:REG[0x000A]= 0x0100
    PHY 1:REG[0x000B]= 0x1000
    PHY 1:REG[0x000C]= 0x0000
    PHY 1:REG[0x000D]= 0x0000
    PHY 1:REG[0x000E]= 0x0000
    PHY 1:REG[0x000F]= 0x0000
    PHY 1:REG[0x0010]= 0x1002
    PHY 1:REG[0x0011]= 0x0108
    PHY 1:REG[0x0012]= 0x0000
    PHY 1:REG[0x0013]= 0x0200
    PHY 1:REG[0x0014]= 0x0000
    PHY 1:REG[0x0015]= 0x0000
    PHY 1:REG[0x0016]= 0x0100
    PHY 1:REG[0x0017]= 0x0041
    PHY 1:REG[0x0018]= 0x0400
    PHY 1:REG[0x0019]= 0x8021
    PHY 1:REG[0x001A]= 0x0010
    PHY 1:REG[0x001B]= 0x007D
    PHY 1:REG[0x001C]= 0x05EE
    PHY 1:REG[0x001D]= 0x0000
    PHY 1:REG[0x001E]= 0x0102

    PHY 4:REG[0x0000]= 0x3100
    PHY 4:REG[0x0001]= 0x7849
    PHY 4:REG[0x0002]= 0x2000
    PHY 4:REG[0x0003]= 0xA240
    PHY 4:REG[0x0004]= 0x01E1
    PHY 4:REG[0x0005]= 0x0000
    PHY 4:REG[0x0006]= 0x0004
    PHY 4:REG[0x0007]= 0x2001
    PHY 4:REG[0x0008]= 0x0000
    PHY 4:REG[0x0009]= 0x0000
    PHY 4:REG[0x000A]= 0x0100
    PHY 4:REG[0x000B]= 0x1000
    PHY 4:REG[0x000C]= 0x0000
    PHY 4:REG[0x000D]= 0x0000
    PHY 4:REG[0x000E]= 0x0000
    PHY 4:REG[0x000F]= 0x0000
    PHY 4:REG[0x0010]= 0x0002
    PHY 4:REG[0x0011]= 0x0108
    PHY 4:REG[0x0012]= 0x0000
    PHY 4:REG[0x0013]= 0x0000
    PHY 4:REG[0x0014]= 0x0000
    PHY 4:REG[0x0015]= 0x0000
    PHY 4:REG[0x0016]= 0x0100
    PHY 4:REG[0x0017]= 0x0041
    PHY 4:REG[0x0018]= 0x0400
    PHY 4:REG[0x0019]= 0x8024
    PHY 4:REG[0x001A]= 0x0000
    PHY 4:REG[0x001B]= 0x007D
    PHY 4:REG[0x001C]= 0x05EE
    PHY 4:REG[0x001D]= 0x0000
    PHY 4:REG[0x001E]= 0x0102

    +EI_API_ADP_PRuicssStart
    -ei_api_adp_pruicssStart
    组件0x64大小:0
    组件0x64大小:2 (attrId 0x340)
    组件0x64大小:4 (attrId 0x341)
    组件0x64大小:6 (attrId 0x342)
    组件0x64大小:8 (attrId 0x343)
    组件0x64大小:10 (attrId 0x344)
    组件0x64大小:12 (attrId 0x345)
    组件0x64尺寸:14 (attrId 0x346)
    组件0x64大小:16 (attrId 0x347)
    组件0x64大小:18 (attrId 0x348)
    组件0x64大小:20 (attrId 0x349)
    组件0x64大小:22 (attrId 0x34a)
    组件0x64大小:24 (attrId 0x34b)
    组件0x64大小:26 (attrId 0x34c)
    组件0x64大小:28 (attrId 0x34d)
    组件0x64大小:30 (attrId 0x34e)
    组件0x64大小:32 (attrId 0x34f)
    本地接口 IP 为192.168.1.19
    EI_API_ADP_getMacAddr:1C:63:49:20:7c:bc

    我们可以找到 phy reg  BMSR 的值不等于0x786d.Meanwhile、RJ45的链路和 ACK LED 都不亮。

    那么、接下来我可以采取什么步骤 来找到问题? 谢谢你。

    此致、

    σ

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

    尊敬的 Nilabh:

    我发现 EIP 堆栈的 syscfg 不包括 RX_ER、RX_LINK 等引脚。 这是否意味着 RX_ER、RX_LINK 不能在 MII 中使用?

    如果没有、为什么会这样?

    此外、当初始代码完成完成时、AM2432无法输出 PHY 应使用的25MHz 频率。 我测试了引脚 A18 (EXT_REFCLK1)、但未找到25MHz。

    PHY 无法正常工作。

    你能告诉我原因吗?谢谢。

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

    尊敬的 Nilabh:

    您能在这个问题上提供帮助吗?

    谢谢!

    挂起。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="580575" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1341100/am2432-eip-connection-failure-occurs-with-using-dp83822/5113657 #5113657"]

    我发现 EIP 堆栈的 syscfg 不包括 RX_ER、RX_LINK 等引脚。 这是否意味着 RX_ER、RX_LINK 不能在 MII 中使用?

    如果没有、为什么会这样?

    [报价]

    在我看来、只有 EtherCAT 需要 RX_ERR_LINK 引脚、我可以进行检查并联系您。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="580575" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1341100/am2432-eip-connection-failure-occurs-with-using-dp83822/5113657 #5113657"]

    此外、当初始代码完成完成时、AM2432无法输出 PHY 应使用的25MHz 频率。 我测试了引脚 A18 (EXT_REFCLK1)、但未找到25MHz。

    PHY 无法正常工作。

    你能告诉我原因吗?谢谢。

    [报价]

    您好、Hang、请为此创建一个单独的线程、这需要由时钟外设专家处理。

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

    上述语句是正确的 RX_ERR、RX_LINK 不是以太网 IP 的标准要求、因此即使没有它、示例也可以正常工作。 如果您对同一器件有任何具体要求、敬请告知。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="580575" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1341100/am2432-eip-connection-failure-occurs-with-using-dp83822/5110380 #5110380"]

    我们可以找到 phy reg  BMSR 的值不等于0x786d.Meanwhile、RJ45的链路和 ACK LED 都不亮。

    那么、接下来我可以采取什么步骤 来找到问题? 谢谢你。

    [报价]

    尊敬的 Hang:

    硬件应用团队是否已经审阅了客户定制电路板的原理图? 如果不能、请提出请求。

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

    尊敬的 Nilabh:

    他们的原理图已经过硬件团队审阅。 同时、他们通过向 PHY 添加25MHz 时钟输入修复了 PHY 链路、现在可以在其中一个 PHY 中看到0x786D。

    下面是端子输出、包括寄存器转储。

    2024年4月1日11:16 AM•[MCSPI]环回示例已启动3.
    Pruicss max =3 Selected PRU:3
    数据已损坏、写入默认值。
    DID 映射0x30080000 len 0x2000至0x30080000 (dram0)
    DID 映射0x30082000 len 0x2000至0x30082000 (dram1)
    DID 映射0x300b4000 len 0x4000至0x300b4000 (iram0)
    DID 映射0x300b8000 len 0x4000至0x300b8000 (iram1)
    DID 映射0x30090000 len 0x10000至0x30090000 (shdram)
    DID 映射0x300a2000 len 0x400到0x300a2000 (CONTROL0)
    DID 映射0x300a4000 len 0x400至0x300a4000 (CONTROL1)
    DID 映射0x300a0000 len 0x2000到0x300a0000 (INTC)
    DID 映射0x300a6000长度0x2000到0x300a6000 (cfg)
    DID 映射0x300a8000 len 0x2000到0x300a8000 (uart0)
    DID 映射0x300ae000 len 0x2000至0x300ae000 (IEP)
    DID 映射0x300b0000 len 0x2000到0x300b0000 (ecap0)
    DID 映射0x300b2000 len 0x400至0x300b2000 (MII_RT)
    DID 映射0x3009f000 len 0x1c00至0x3009f000 (MDIO)
    DID 映射0x3008a000 len 0x2000到0x3008a000 (txPru0Iram)
    DID 映射0x3008c000 len 0x2000到0x3008c000 (txPru1Iram)
    DID 映射0x300a5000长度0x100到0x300a5000 (txPru0CtlReg)
    DID 映射0x300a5000长度0x100到0x300a5000 (txPru1CtlReg)
    检测到 DP83826E
    检测到 DP83826E
    PRU_PHY_DETECT:185 PHY 3活动
    PRU_PHY_DETECT:185 PHY 15活动
    PHY 3:REG[0x0000]= 0x3100
    PHY 3:REG[0x0001]= 0x7849
    PHY 3:REG[0x0002]= 0x2000
    PHY 3:REG[0x0003]= 0xA240
    PHY 3:REG[0x0004]= 0x01E1
    PHY 3:REG[0x0005]= 0x0000
    PHY 3:REG[0x0006]= 0x0004
    PHY 3:REG[0x0007]= 0x2001
    PHY 3:REG[0x0008]= 0x0000
    PHY 3:REG[0x0009]= 0x0000
    PHY 3:REG[0x000A]= 0x0100
    PHY 3:REG[0x000B]= 0x1020
    PHY 3:REG[0x000C]= 0x0000
    PHY 3:REG[0x000D]= 0x401F
    PHY 3:REG[0x000E]= 0x0000
    PHY 3:REG[0x000F]= 0x0000
    PHY 3:REG[0x0010]= 0x4002
    PHY 3:REG[0x0011]= 0x0108
    PHY 3:REG[0x0012]= 0x0000
    PHY 3:REG[0x0013]= 0x0800
    PHY 3:REG[0x0014]= 0x0000
    PHY 3:REG[0x0015]= 0x0000
    PHY 3:REG[0x0016]= 0x0100
    PHY 3:REG[0x0017]= 0x0041
    PHY 3:REG[0x0018]= 0x0400
    PHY 3:REG[0x0019]= 0x8023
    PHY 3:REG[0x001A]= 0x0000
    PHY 3:REG[0x001B]= 0x007D
    PHY 3:REG[0x001C]= 0x05EE
    PHY 3:REG[0x001D]= 0x0000
    PHY 3:REG[0x001E]= 0x0102
    PHY 3:REG[0x001F]= 0x0000
    PHY 3:REG[0x0025]= 0x0000
    PHY 3:REG[0x0027]= 0x0000
    PHY 3:REG[0x003E]= 0x0000
    PHY 3:REG[0x003F]= 0xB4FF
    PHY 3:REG[0x0040]= 0xC11D
    PHY 3:REG[0x0042]= 0x0000
    PHY 3:REG[0x0218]= 0x00A4
    PHY 3:REG[0x0467]= 0x3FC3
    PHY 3:REG[0x0468]= 0x0000

    PHY 15:REG[0x0000]= 0x3100
    PHY 15:REG[0x0001]= 0x786D
    PHY 15:REG[0x0002]= 0x2000
    PHY 15:REG[0x0003]= 0xA240
    PHY 15:REG[0x0004]= 0x01E1
    PHY 15:REG[0x0005]= 0xCDE1
    PHY 15:REG[0x0006]= 0x000F
    PHY 15:REG[0x0007]= 0x2001
    PHY 15:REG[0x0008]= 0x4006
    PHY 15:REG[0x0009]= 0x0000
    PHY 15:REG[0x000A]= 0x0100
    PHY 15:REG[0x000B]= 0x1020
    PHY 15:REG[0x000C]= 0x0000
    PHY 15:REG[0x000D]= 0x401F
    PHY 15:REG[0x000E]= 0x0003
    PHY 15:REG[0x000F]= 0x0000
    PHY 15:REG[0x0010]= 0x5615
    PHY 15:REG[0x0011]= 0x0108
    PHY 15:REG[0x0012]= 0x6400
    PHY 15:REG[0x0013]= 0x2A00
    PHY 15:REG[0x0014]= 0x0000
    PHY 15:REG[0x0015]= 0x0000
    PHY 15:REG[0x0016]= 0x0100
    PHY 15:REG[0x0017]= 0x0049
    PHY 15:REG[0x0018]= 0x0400
    PHY 15:REG[0x0019]= 0x8C2F
    PHY 15:REG[0x001A]= 0x0010
    PHY 15:REG[0x001B]= 0x007D
    PHY 15:REG[0x001C]= 0x05EE
    PHY 15:REG[0x001D]= 0x0000
    PHY 15:REG[0x001E]= 0x0102
    PHY 15:REG[0x001F]= 0x0000
    PHY 15:REG[0x0025]= 0x0000
    PHY 15:REG[0x0027]= 0x0000
    PHY 15:REG[0x003E]= 0x0000
    PHY 15:REG[0x003F]= 0xB4FF
    PHY 15:REG[0x0040]= 0xC11D
    PHY 15:REG[0x0042]= 0x0000
    PHY 15:REG[0x0218]= 0x005E
    PHY 15:REG[0x0467]= 0xFFC3
    PHY 15:REG[0x0468]= 0x0003

    +EI_API_ADP_PRuicssStart
    -ei_api_adp_pruicssStart
    组件0x64大小:0
    组件0x64大小:2 (attrId 0x340)
    组件0x64大小:4 (attrId 0x341)
    组件0x64大小:6 (attrId 0x342)
    组件0x64大小:8 (attrId 0x343)
    组件0x64大小:10 (attrId 0x344)
    组件0x64大小:12 (attrId 0x345)
    组件0x64尺寸:14 (attrId 0x346)
    组件0x64大小:16 (attrId 0x347)
    组件0x64大小:18 (attrId 0x348)
    组件0x64大小:20 (attrId 0x349)
    组件0x64大小:22 (attrId 0x34a)
    组件0x64大小:24 (attrId 0x34b)
    组件0x64大小:26 (attrId 0x34c)
    组件0x64大小:28 (attrId 0x34d)
    组件0x64大小:30 (attrId 0x34e)
    组件0x64大小:32 (attrId 0x34f)
    本地接口 IP 为192.168.1.20
    EI_API_ADP_getMacAddr:1C:63:49:20:7c:D3

    PHY 建立链路后、问题可能出在堆栈或驱动程序中。

    是否可以通过在线调试会话帮助调查该问题?

    谢谢!

    挂起。

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

    随着更新、将读取 ICSS MDIO 寄存器以确认 PHY 地址和链路建立、下面是寄存器的屏幕截图、位3 (0x00000008)和位15 (0x00008000)随电缆连接/断开进行切换。

    PHY 地址(3和15)与 syscfg 中的地址对齐

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

    尊敬的 Hang:

    我想在客户端检查以下几个步骤:

    1. 我们需要检查 MDIO 寄存器中的链路状态吗?  
      1. 如果使用 MDIO 手动模式、基址如下:ICSSG0:30010e40
        ICSSG1:30090e40
      2. 如果使用 MDIO 状态机模式:ICSSG0:30032400
        ICSSG1:300B2400   
    2. phy 地址是否正确地填充在 syscfg 中(因为这是定制板?)--请检查此项?
    3. 接下来、如果工作正常、我们可以通过调试调用来启动。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您是否可以禁用 MDIO 手动模式并尝试。

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

    您好!

    我按照您的建议禁用了手动 模式。

    并且在地址0x300B2408中发生了一些更改。

    如下所示:

    但是、日志中没有关于 EIP 的更改。

    [MCSPI] Loopback example started 3
    Pruicss  max =3 selected PRU:3
    The data is corrupted, write default values.
    Did Map 0x30080000 len 0x2000 to 0x30080000 (dram0)
    Did Map 0x30082000 len 0x2000 to 0x30082000 (dram1)
    Did Map 0x300b4000 len 0x4000 to 0x300b4000 (iram0)
    Did Map 0x300b8000 len 0x4000 to 0x300b8000 (iram1)
    Did Map 0x30090000 len 0x10000 to 0x30090000 (shdram)
    Did Map 0x300a2000 len 0x400 to 0x300a2000 (control0)
    Did Map 0x300a4000 len 0x400 to 0x300a4000 (control1)
    Did Map 0x300a0000 len 0x2000 to 0x300a0000 (intc)
    Did Map 0x300a6000 len 0x2000 to 0x300a6000 (cfg)
    Did Map 0x300a8000 len 0x2000 to 0x300a8000 (uart0)
    Did Map 0x300ae000 len 0x2000 to 0x300ae000 (iep)
    Did Map 0x300b0000 len 0x2000 to 0x300b0000 (ecap0)
    Did Map 0x300b2000 len 0x400 to 0x300b2000 (mii_rt)
    Did Map 0x300b2000 len 0x1c00 to 0x300b2000 (mdio)
    Did Map 0x3008a000 len 0x2000 to 0x3008a000 (txPru0Iram)
    Did Map 0x3008c000 len 0x2000 to 0x3008c000 (txPru1Iram)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru0CtlReg)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru1CtlReg)
    DP83826E detected
    DP83826E detected
    PRU_PHY_detect:185 Phy 3 alive
    PRU_PHY_detect:185 Phy 15 alive
    Phy 3 : REG[0x0000] = 0x3100
    Phy 3 : REG[0x0001] = 0x786D
    Phy 3 : REG[0x0002] = 0x2000
    Phy 3 : REG[0x0003] = 0xA240
    Phy 3 : REG[0x0004] = 0x01E1
    Phy 3 : REG[0x0005] = 0xCDE1
    Phy 3 : REG[0x0006] = 0x000F
    Phy 3 : REG[0x0007] = 0x2001
    Phy 3 : REG[0x0008] = 0x4006
    Phy 3 : REG[0x0009] = 0x0000
    Phy 3 : REG[0x000A] = 0x0100
    Phy 3 : REG[0x000B] = 0x1000
    Phy 3 : REG[0x000C] = 0x0000
    Phy 3 : REG[0x000D] = 0x0000
    Phy 3 : REG[0x000E] = 0x0000
    Phy 3 : REG[0x000F] = 0x0000
    Phy 3 : REG[0x0010] = 0x0615
    Phy 3 : REG[0x0011] = 0x0108
    Phy 3 : REG[0x0012] = 0x6400
    Phy 3 : REG[0x0013] = 0x2800
    Phy 3 : REG[0x0014] = 0x0000
    Phy 3 : REG[0x0015] = 0x0000
    Phy 3 : REG[0x0016] = 0x0100
    Phy 3 : REG[0x0017] = 0x0049
    Phy 3 : REG[0x0018] = 0x0400
    Phy 3 : REG[0x0019] = 0x8C23
    Phy 3 : REG[0x001A] = 0x0000
    Phy 3 : REG[0x001B] = 0x007D
    Phy 3 : REG[0x001C] = 0x05EE
    Phy 3 : REG[0x001D] = 0x0000
    Phy 3 : REG[0x001E] = 0x0102
    Phy 3 : REG[0x001F] = 0x0000
    Phy 3 : REG[0x0025] = 0x0000
    Phy 3 : REG[0x0027] = 0x0000
    Phy 3 : REG[0x003E] = 0x0000
    Phy 3 : REG[0x003F] = 0xB4FF
    Phy 3 : REG[0x0040] = 0xC11D
    Phy 3 : REG[0x0042] = 0x0000
    Phy 3 : REG[0x0218] = 0x004B
    Phy 3 : REG[0x0467] = 0x3FC3
    Phy 3 : REG[0x0468] = 0x0000
    
    Phy 15 : REG[0x0000] = 0x3100
    Phy 15 : REG[0x0001] = 0x7849
    Phy 15 : REG[0x0002] = 0x2000
    Phy 15 : REG[0x0003] = 0xA240
    Phy 15 : REG[0x0004] = 0x01E1
    Phy 15 : REG[0x0005] = 0x0000
    Phy 15 : REG[0x0006] = 0x0004
    Phy 15 : REG[0x0007] = 0x2001
    Phy 15 : REG[0x0008] = 0x0000
    Phy 15 : REG[0x0009] = 0x0000
    Phy 15 : REG[0x000A] = 0x0100
    Phy 15 : REG[0x000B] = 0x1000
    Phy 15 : REG[0x000C] = 0x0000
    Phy 15 : REG[0x000D] = 0x0000
    Phy 15 : REG[0x000E] = 0x0000
    Phy 15 : REG[0x000F] = 0x0000
    Phy 15 : REG[0x0010] = 0x0002
    Phy 15 : REG[0x0011] = 0x0108
    Phy 15 : REG[0x0012] = 0x0000
    Phy 15 : REG[0x0013] = 0x0000
    Phy 15 : REG[0x0014] = 0x0000
    Phy 15 : REG[0x0015] = 0x0000
    Phy 15 : REG[0x0016] = 0x0100
    Phy 15 : REG[0x0017] = 0x0041
    Phy 15 : REG[0x0018] = 0x0400
    Phy 15 : REG[0x0019] = 0x802F
    Phy 15 : REG[0x001A] = 0x0000
    Phy 15 : REG[0x001B] = 0x007D
    Phy 15 : REG[0x001C] = 0x05EE
    Phy 15 : REG[0x001D] = 0x0000
    Phy 15 : REG[0x001E] = 0x0102
    Phy 15 : REG[0x001F] = 0x0000
    Phy 15 : REG[0x0025] = 0x0000
    Phy 15 : REG[0x0027] = 0x0000
    Phy 15 : REG[0x003E] = 0x0000
    Phy 15 : REG[0x003F] = 0xB4FF
    Phy 15 : REG[0x0040] = 0xC11D
    Phy 15 : REG[0x0042] = 0x0000
    Phy 15 : REG[0x0218] = 0x001F
    Phy 15 : REG[0x0467] = 0xFFC3
    Phy 15 : REG[0x0468] = 0x0003
    
    +EI_API_ADP_pruicssStart
    -EI_API_ADP_pruicssStart
    Assembly 0x64 size: 0
    Assembly 0x64 size: 2 (attrId 0x340) 
    Assembly 0x64 size: 4 (attrId 0x341) 
    Assembly 0x64 size: 6 (attrId 0x342) 
    Assembly 0x64 size: 8 (attrId 0x343) 
    Assembly 0x64 size: 10 (attrId 0x344) 
    Assembly 0x64 size: 12 (attrId 0x345) 
    Assembly 0x64 size: 14 (attrId 0x346) 
    Assembly 0x64 size: 16 (attrId 0x347) 
    Assembly 0x64 size: 18 (attrId 0x348) 
    Assembly 0x64 size: 20 (attrId 0x349) 
    Assembly 0x64 size: 22 (attrId 0x34a) 
    Assembly 0x64 size: 24 (attrId 0x34b) 
    Assembly 0x64 size: 26 (attrId 0x34c) 
    Assembly 0x64 size: 28 (attrId 0x34d) 
    Assembly 0x64 size: 30 (attrId 0x34e) 
    Assembly 0x64 size: 32 (attrId 0x34f) 
    Local interface IP is 192.168.1.19
    EI_API_ADP_getMacAddr:  1c:63:49:20:7c:d3
    
    

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

    另外、在 Wireshark 中、我找不到 EIP 板上的 TCP 数据包。

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

    您能否共享网络拓扑?

    您的 PC 是否已连接到 DUT。

    此外、您是否可以尝试对连接到 PC 的 DUT 执行 ping 操作?

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

    DUT 通过 RJ45电缆直接连接到 PC。

    我尝试了 ping 命令、它显示大多数或所有数据包都丢失了。

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

    您是否可以共享您的 PC 的 IP 地址、我想检查它是否在同一个网络上。

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

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

    作为更新、我们无法在今天的调试呼叫中对器件执行 ping 操作。

    客户已测量 RX_D0 ~RX_D3引脚和 TX RX 引脚、TX/RX 引脚上有信号、但 RX_D0~3上无信号  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="571219" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1341100/am2432-eip-connection-failure-occurs-with-using-dp83822/5125817 #5125817"]客户已测量 RX_D0 ~RX_D3引脚和 TX RX 引脚、TX/RX 引脚上有信号但 RX_D0~3上无信号 

    感谢 Hang 的更新、让我们从硬件团队处获得审查结果。

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

    尊敬的 Nilabh:

    到目前为止、原理图未发现任何关键问题、唯一的问题是在磁性侧并且已修复、但问题仍然存在。 我们现在使用环回示例进行测试、但也失败了。 回送无法接收数据包并停留在等待状态。

    当我们检查 PRG 寄存器时、可以看到只有一个 帧被传输。

    另外、我们在 TD[0-3]引脚上看不到信号、仅看到121ms 脉冲、这是不正常的。

    您还能帮助研究一下环回示例吗?  

    此致、

    挂起。

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

    客户已更正了 syscfg 中的一些配置、作为状态更新、他们可以在运行 EIP 堆栈时在 RD[3]引脚上看到波形、但仍然没有波形 TD[0-3]引脚。  下面是 TX 和 RX 寄存器

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

    尊敬的 Hang:

    Nilabh 不在办公室,我将支持查询。

    您能给我一些信息、以便更好地理解这一点吗
    1) 1)您要使用哪个环回示例进行测试?

    2)从统计数据来看、数据包似乎正在传输。 检查了 TX 引脚的引脚多路复用配置吗?

    3)您是否可以检查驾驶员是否能够接收数据包? -请在这里放置一个断点- ICSS_EMAC_rxInterruptHandler、看看它是否正在撞击

    此致、
    Prajith

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

    您好、Prajith:  

    抱歉忘记更新此主题、 原始 EIP 连接故障问题已解决。 因此我们无需再测试回送示例。  

    尽管 EIP 堆栈现在正常工作、但我们仍不了解问题的根本原因、您能否帮助解释以下行为?

    当我们运行 EIP 堆栈并使用主机 PC ping 设备时、我们在 ping 中未看到任何响应。 同时我们在探测信号时、我们在端口0 (0是上面的端口、1是下面的端口) RX 和端口1 TX 上拾取了信号、但是端口0 TX 上没有信号、 如图所示。 RJ45-A 连接到主机、红色的帧标记了我们拾取信号的位置。  

    这看起来 am243x 在错误的端口响应 ping。 它应在端口0上而不是端口1上进行响应。

    在 syscfg 中切换 PHY 地址(地址为3和15、我们将其切换为15和3)后、所有功能、ping 和 EIP 堆栈都运行正常。

    我们不了解 am243x 为什么一开始对错误的端口响应 ping、而且不了解 PHY 地址如何影响端口选择、我们认为这些地址仅用于 MDIO 接口。

    您能帮助我们理解这一点吗?

    谢谢!

    挂起。

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

    尊敬的 Hang:

    很高兴知道问题已解决。 将检查这一点,并在下周回来。

    您能否确认客户电路板原理图与 TI EVM 相同?

    此致、
    Prajith

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

    您好、Prajith:

    它们使用的是 dp83822、该值与 EVM 不同、但 MII 和 MDIO 接口相似。

    此外、还审阅了原理图。 如果需要、我可以提供给您。

    此致、

    挂起。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、我们还没有考虑 PHY 地址如何影响端口选择、我们认为这些地址仅用于 MDIO 接口。

    PHY 地址到端口映射对于从 MDIO 中提取端口/链路状态信息非常重要、因为 PRU 固件需要知道这一点

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

    您好、Pratheesh:

    固件是否根据 PHY 地址决定使用哪个端口?  如果是这种情况、则必须正确配置 syscfg 中的 PHY 地址。 是否有关于如何正确配置它的指南? 例如、在我的例子中、地址是3和15、我如何知道它应该是3/15 (PHY1/PHY2)还是15/3?  

    此致、

    挂起。

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

    尊敬的 Hang:

    ICSS EMAC 驱动程序使用 SysConfig 配置进行操作。 固件不取决于 PHY 配置。

    ICSS 内部有一个可用的内部多路复用器配置(MII_RT_RXCFGx 和 MII_RT_TXCFGx)、它允许 PRU 在任何端口上进行 Rx 和 TX 操作。 这种配置已经在 ICSS EMAC 中完成

    此致、
    Prajith

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

    您好、Prajith:

    您的意思是多路复用器配置是在 ICSS EMAC 内部处理的、与 syscfg 无关吗? 在这种情况下、 我仍然不确定切换 PHY 地址会影响 TX/RX 端口的原因、您能帮助我理解吗?

    此致、

    挂起。

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

    尊敬的 Hang:

    有。 我不希望 ICSS 内部多路复用器依赖于 SysConfig。 让我与团队一起看看这一点、然后再回来

    此致、
    Prajith

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

    你(们)好

    由于这个线程已锁定并且已经2个月了、您能否突出显示它是否仍处于打开状态、或者是否有任何离线转换可以关闭此状态?

    此致

    Karan

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

    尊敬的 Karan:

    此问题已解决、因此您可以关闭该线程。

    此致、

    挂起。