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.

[参考译文] DP83848C:将两个器件连接在一起时、BMSR -链路状态标志永远不会置位

Guru**** 2511415 points
Other Parts Discussed in Thread: DP83848C

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/774511/dp83848c-bmsr---link-status-flag-never-set-when-connect-two-device-together

器件型号:DP83848C

您好!

我正在尝试使用 MPC5777c 芯片和用于 RJ45硬件接口的官方 MPC57xx 主板来实现以太网模块(FEC)、但我无法使 DP83848C 正常工作。

首先 、我将使用外部 RJ45环回测试仪、TX 和 RX 连接在一起并插入。 该模块工作正常、接收器可以接收发送器正确发送的内容。 活动 LED 闪烁、但链路 LED 永远不会亮起。 因此、我认为该模块在某种程度上起作用。  

然后、我用一根以太网电缆将2个主板连接在一起、两个芯片都使用相同的代码进行编程。 但它们之间不能通信、两者都停留在检查寄存器 BMSR 的"Link Status"位(返回值0x7849)处。 因为该位从未设置、所以我的连接无法建立。

我尝试在论坛上搜索、并检查 了 PFBOUT (引脚23)和 PFBIN1/PFBIN2 (引脚18和37)上的所有电压、它们都大约为1.8V。  

总之、当我只在 RJ45端口上插入一个外部环回测试仪时、我的连接已建立并能很好地发送/接收数据、但当我使用具有相同程序的2个相同板并使用以太网电缆连接 RJ45端口时、连接无法建立。 从 BMSR 读取的返回值始终为0x7849。

有人可以帮帮我吗?

谢谢、

Luke

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

    编程后是否可以为 PHY 提供寄存器转储? 如果两侧的设置相同、则可能存在无法建立链路的情况。 例如、两侧都被强制进入 MDI 或 MDIX 模式。

    此致、

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

    感谢你的答复。 PHYCR 寄存器为0x8001。 我在初始化过程中启用自动 MDIX 和自动否定。

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

    1.如果可能,是否可以为所有寄存器提供值?

    2.您尝试使用电缆的时间有多长? 您是否尝试以10Base-T 速度获取链路?

    请分享 PHY 部分的原理图。

    此致、

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

    Hung、

    感谢你的答复。

    1、当链路状态无法建立时的寄存器读数:

    BMCR 0x1100
    BMSR 0x7849
    PHYIDR1 0x2000
    PHYIDR2 0x5c90
    Anar 0x011
    ANLPAR 0x0000
    PHYCR 0x8001
    PHYSR 0x4100
    10T_BAS_SR 0x0804

    2、电缆长度约为1.5米、连接2块完全相同的板(NXP 的 MPC57xx 主板)。 当我使用外部环回 RJ45测试仪时、自动协商和自动 MDIX 开启。 它处于自动反向模式、因此我不确定如何检查它是否处于 Base10T 模式(在自动协商模式下、BMCR 中的位8和13会被忽略)。 但接收器可以接收发送器发送的内容。  

    我尝试禁用自动 MDIX 和自动协商、并将两个板设置为10BaseTmode、链接状态仍然不起作用。

    FEC 模块原理图:

    非常感谢你的帮助。

    此致、

    Luke

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

    我找到了问题。 问题是只需切换硬件跳线、将引脚39置于高电平即可选择 RMII 模式。 现在链接状态有效。 谢谢你。

    此致、
    Luke