尊敬的 TI 支持、各位同事:
我们的问题/目标似乎 与本论坛的以下主题中描述的相同:
https://e2e.ti.com/support/interface/ethernet/f/903/p/584209/2149151
但是该线程已锁定、没有任何解决方案在此处描述、所以、请允许我用我自己的语言来描述问题。
预期结果
在我们的两个配备 DP83867IS 的定制板之间建立电缆(CAT5E)连接后、我们需要尽可能缩短链路时间。 如果可能、我们希望达到大约10ms 的链路时间、但仍然可用的时间不到30ms。 要使用1000BASE-T 达到这一时间、可以禁用自动协商和自动交叉、 并且可以手动设置主设备和从设备、这是我们完全可以接受的解决方案。
因此、信号链是:
MAC <-- SGMII --> DP83867IS <-- CAT5E 交叉电缆--> DP83867IS <-- SGMII --> MAC
100BASE-TX 成功
借助100BASE-TX 固定模式和使用交叉电缆的手动 MDI 配置、我们实现了相当快的连接时间(短电缆时为10ms、长电缆时为43ms)。 我们使用了以下设置:
- 设置手动 MDI 配置:PHY 控制寄存器(PHYCR)、地址0x0010 <- 0x5808
- 设置100Mpbs 速度和全双工:基本模式控制寄存器(BMCR)、地址0x0000 <- 0x2100
1000BASE-T 失败
在1000BASE-T 固定模式下、手动 MDI 配置并将一个 DP83867IS 设置 为主设备、将另一个 DP83867IS 设置 为从设备、链路永远不会出现(无论 CAT5e 电缆连接如何、两个 DP83867IS 都报告链路断开)。 我们使用了以下设置:
- 设置手动 MDI 配置:PHY 控制寄存器(PHYCR)、地址0x0010 <- 0x5808
- 设置1000Mpbs 速度和全双工:基本模式控制寄存器(BMCR)、地址0x0000 <- 0x0140
- 设置手动主/从配置:配置寄存器1 (CFG1)、地址0x0009
- 在 第一个 DP83867IS 中设置手动主器件配置:CFG1 <- 0x1F00
- 在 第二个 DP83867IS 中设置手动从器件配置:CFG1 <- 0x1300
寄存器转储
我附加了完整的 DP83867IS 寄存器转储。 第一个 DP83867IS 具有 MDIO 地址6、第二个 DP83867IS 具有 MDIO 地址7。 表中有三种不同的情形:
- 默认上电配置(启用自动协商):连接电缆后、建立1000BASE-T 链路、并在两个 PHY 上进行转储。
- 修复了100BASE-TX (自动协商已禁用):连接电缆后、100BASE-TX 链路已建立、并且两个 PHY 上都发生了转储。
- 修复了1000BASE-T (自动协商已禁用):连接电缆后、未建立链路、转储在五秒后进行。
我们在加电配置后所做更改的相关字段:
| 寄存器地址 | PHY6:默认值 | PHY7:默认值 | PHY6:100Base-TX | PHY7:100Base-TX | PHY6:1000BASE-T 主站 | PHY7:1000BASE-T 从属设备 |
| 0x0000 |
0x1140 |
0x1140 | 0x2100 | 0x2100 | 0x0140 | 0x0140 |
| 0x0001 | 0x796D | 0x796D | 0x794D | 0x794D | 0x7949 | 0x7949 |
| 0x0009 | 0x0300 | 0x0300 | 0x0300 | 0x0300 | 0x1F00 | 0x1300 |
| 0x0010 | 0x5848 | 0x5848 | 0x5808 | 0x5808 | 0x5808 | 0x5808 |
完整的寄存器转储(CSV 文件):
e2e.ti.com/.../dp83867is_2D00_regdump.txt
问题
由于在1000BASE-T 中进行手动设置后、以太网链路从未出现(在设备之间插入 CAT5E 电缆后、两个 DP83867IS 上的链路状态都报告为链路断开)、正确的寄存器设置序列是什么以实现快速链路建立时间(30ms 或更短) 是否使用1000BASE-T 模式而不进行自动协商以及手动 MDI 和主/从设置?
谢谢、
西里尔