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.

[参考译文] DP83822HF:DP83822HFRHBR 集成问题

Guru**** 2478765 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1453487/dp83822hf-dp83822hfrhbr-integration-issue

器件型号:DP83822HF

工具与软件:

您好!

我目前正在致力于将 DP83822 PHY 与 STM32H735IGT3微控制器集成、以建立以太网连接。 我已配置以太网接口、当我连接以太网电缆时、系统会成功检测到该电缆、并且设备会显示在 PC 上。

但是、在读取 PHY 寄存器时、我会观察到以下情况:

  • PHY 寄存器是可访问的、其值可以被正确读取。
  • 尽管如此 链路接通状态(基本模式状态寄存器[BMSR]中的位2、地址0x0001) 不会被设置。

我已验证硬件连接和 PHY 初始化序列、并确保 DP83822的时钟和电源稳定。 下面是读取以下 DP83822 PHY 寄存器时获得的地址值。

寄存器名称 寄存器地址 该设计的链接 读取的值
DP83822_BCR 0x0000U //基本模式控制寄存器 0x3100
DP83822_BSR 0x0001U //基本模式状态寄存器 0x786D
DP83822_PHYI1R 0x0002U //PHY 标识符寄存器#1 0x2000
DP83822_PHYI2R 0x0003U //PHY 标识符寄存器#2 0xA240
DP83822_ANAR 0x0004U //自动协商通告寄存器 0x01E1
DP83822_ANLPAR 0x0005U //自动协商链路伙伴能力寄存器 0xCDE1
DP83822_ANER 0x0006U //自动协商扩展寄存器 0x000F
DP83822_ANNPTR 0x0007U //自动协商下页寄存器 0x2001
DP83822_ANLNPTR 0x0008U //自动协商链路伙伴能力下一个图 0x4B9B
DP83822_CR1 0x0009U //控制寄存器#1 0x0000
DP83822_CR2 0x000AU //控制寄存器#2 0x0100
DP83822_CR3 0x000BU //控制寄存器#3 0x1000
DP83822_REGCR 0x000DU //寄存器控制寄存器 0x0000
DP83822_ADDAR 0x000EU //数据寄存器 0x0000
DP83822_FLDS 0x000FU //快速链路断开状态寄存器 0x0000
DP83822_PHYSTS 0x0010U // PHY 状态寄存器 0x4015
DP83822_PHYSCR 0x0011U //PHY 特定控制寄存器 0x0108
DP83822_RCSR 0x0017U //RMII 和状态寄存器 0x0065
DP83822_PHYCR 0x0019U // PHY 控制寄存器 0x8C21
DP83822_PHYRCR 0x001FU // PHY 复位控制寄存器 0x0000

您能否就导致此问题的原因提供任何指导? 是否建议任何特定的初始化步骤、配置寄存器或调试方法来对 DP83822中的链路接通状态进行故障排除并建立数据传输。

此致、

Srijan

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

    Srijan、您好!

    很乐意帮助解决您的问题。 根据提供的寄存器转储、将设置0x0001的位2。 我们可以将该值读取为786D。 D 转换为二进制后得到1101、对于已建立的链路、将第二个最高有效位(即第二个最高有效位)正确设置为1。  

    此行为是否不符合您对应用的预期?

    此致!

    Vivaan

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

    尊敬的 Vivaan:

    是的、谢谢、我已经验证过。 链接已建立。 不过、我正面临一个新的问题:

    • DHCP 服务器未分配 IP 地址 严重损坏。
    • 我正在使用该tftpd应用程序来验证 DHCP 服务器状态并检查来自设备的任何 DHCP 请求、但似乎未检测到任何 DHCP 请求。

      DHCP 数据包发送或接收是否需要任何特定的 PHY 配置或以太网栈设置(MAC 地址)?

    此致、

    Srijan

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

    Srijan、您好!  

    没有任何特定的设置/配置来启用 DHCP 数据包。 从您的描述来看、这似乎是软件/系统级问题。 我认为 PHY MDI 线功能符合预期。  

    作为完整性检查、我们可以尝试使用寄存器0x16位4在 PHY 上运行反向环回测试。 如果我们在 PC 端发送任何数据包、则数据包应路由回 PC。 该测试将验证 MDI 路径。

    此致!

    Vivaan