工具与软件:
您好!
我目前正在致力于将 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