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.

[参考译文] Linux/DP8.3822万H:DP8.3822万H:未执行ping操作

Guru**** 2481835 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/662689/linux-dp83822h-dp83822h-ping-is-not-happening

部件号:DP8.3822万H

工具/软件:Linux

您好,

     我们在 MII模式下基于MPC8360的定制板中使用DP8.3822万 PHY。 连接到PC时,我们可以看到链路处于活动状态(100Mbps),但没有ping。 我们已经验证了所有phy配置寄存器,所有这些都似乎正常。 我们监控了所有TX线路(TX CLK,TX_EN,TX_D0,TX_D1,TX_D2,TX_D3),RX CLK看起来正常。 但在RX线路(RX_D0,RX_D1,RX_D2,RX_D3,RX_DV)上看不到数据。 我附上了示意图(处理器侧和PHY侧)。 请帮助我们解决此问题。 以下是 DP8.3822万的寄存器值

REG转储:

BMCR (0x0):3100

PHYRCR (0x1f):0

手提带锁存器1号(SOR1)(0x467):FFFF

手提带锁存器2号(SOR2)(0x468):FFFF

e2e.ti.com/.../6266.SCHEMATIC1-_5F00_-06_5F00_MPC8360_5F00_PCI_5F00_I2C.pdfe2e.ti.com/.../6787.SCHEMATIC1-_5F00_-11_5F00_DP83822_5F00_C_2600_C_5F00_FE_5F00_.pdf</s>8360 6787.8.3822万2600

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

    链接状态反映在寄存器0x01中。 将DP8.3822万连接到PC时,链路LED是否亮起?
    我想您可能会对读寄存器有一些问题。 0x467和0x468位于扩展寄存器空间中。 请参阅数据表以了解扩展寄存器空间访问,并验证您的寄存器读取机制中是否已考虑到该数据。

    有关原理图
    1.所需的PHY地址为0.001万。 对于此,RX_D0应处于模式3或模式4。 目前,RX_D0具有10K上拉电阻(R659)。 要在模式4中配置PHY,R659需要为2.49kohm。
    2.验证连接到RX_ER的带式电阻器,这将控制RGMII模式。 RGMII模式可能被意外激活。 一旦实施了扩展寄存器访问并读取了0x467-0x468寄存器,就可以很容易地进行验证。

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

    您好,

    1) 2.49K上拉电阻器连接到RX_D0。

     2)将DP8.3822万连接至PC时,链路LED亮起。 但ping不会发生。  问题是 0x0467和0x0468寄存器读数错误值(0x0467 =FFFF,0x0468 =FFFF)

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

    由于实施扩展寄存器空间访问时出现问题,寄存器可能读取了不正确的值。 正如我在上一篇文章中提到的,0x467-0x468位于扩展寄存器空间中。 在读取和写入此类寄存器时,需要遵循特定的算法。 数据表中的扩展寄存器空间访问部分对此进行了详细说明。 您能否检查您的软件中是否考虑到了这一点?

    另一种验证方法是读取未被绑带或软件修改的高于0x1F的寄存器,并验证读取值是否与数据表匹配。 例如,读取寄存器0x403。 这控制线路驱动器电压摆动,默认情况下应为0x9FCF。 如果读取值与数据表匹配,则软件已正确实施。 请检查寄存器0x17并发送您读取的值。 0x17不在扩展寄存器空间中,您应该能够读取它。

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

    您好,

    我们已写入0x0002值(地址函数字段= 00,DEVAD = 2),以便按照  扩展寄存器空间访问部分将0x000D (REGCR)和0x0000值注册到寄存器0x000E (Addar)。 其读数0x000D和0x000E正确注册。 但0x0467和0x0468寄存器仍作为FFFF值读取。

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

    您好,Veena,

    要读取寄存器0x467和0x468,请执行以下步骤:

    1.写入0x1F以注册0xD
    2.写入0x467以注册0xE
    3.写入0x401F以注册0xD
    4.读取寄存器0xE

    0xE中的值是0x467的值。