大家好、
我是以太网协议的初学者、我正在 进行实习、在这里我使用 PHY KSZ9031RNX 与 PC 进行通信。 我目前有一个100Mps 全双工通信(RGMII)。 此通信在没有自动协商的情况下完成。 当我尝试切换到千兆时、自动协商过程永远不会完成。 我不知道问题是什么。 首先、我并不完全确定我为1Giga 正确配置了寄存器。 (很抱歉、问了一些明显的问题、但我 在任何地方都找不到寄存器的配置)。
根据 IEEE 802.3标准(第28和40条)的理解、我将使用以下配置:
############################ 注册0h ########################
0.15:复位 phy = 0
0.14环回= 0
0.13速度选择 (LSB)= 0
0.12自动协商使能= 1.
0.11断电=0
0.10隔离= 0
0.9重新启动自动协商=1
0.8双工模式= 1
0.7反转=0
0.6 速度选择(MSB)= 0
0.5:0 Reseverd = 00_0000
我设置了1000速和全双工模式、但我知道如果启用了自动协商、它具有优先级、目标是在本地和远程设备之间找到兼容的速度和模式。
############################ 注册4h ##########################
4.15下一页= 1.
4.14保留
4.13 远程故障= 1.
4.12保留
4.11:10 = 0.0 (无暂停)--- > 我使用 MAC IP。 IP 没有暂停模式的治疗。 因此、我选择了不 暂停选项
4.9 100BASE-T4 = 0
4.8 100BASE-TX (全双工)=1
4.7 1000BASE-TX (半双工)=0 --- >该 IP 对半双工模式没有任何限制
4.6 10BASE-T (全双工)=1
4.5 10BASE-T (半双工)=0
4.4:0选择器字段= 00001 IEEE 802.3
问题1: 由于我不启用模式暂停、自动协商是否存在问题?
############################ 注册7h ######################
7.15下一页= 1 (后面将显示其他页面)
7.14保留
7.13消息页= 1.
7.12 Ack2=0
7.11切换=0
7. 10:0消息字段= 00000001000 --- >第40条(40.5.1.2 1000BASE-T 自协商页面使用)
问题2: 我将仅使用第40条中提供的三个页面(第0页-消息下一页、第-1页未格式化下一页和第2页(未格式化下一页)。 即使我输入消息字段 M10:M0 = 8、我仍然需要添加以下其他页面、即下一页= 1、还是仅当我在三个必要页面之外使用额外页面时、此选项才有效?
############################ 注册9h ####################
9.15:13测试模式= 000 (正常运行)
9.12主从手动配置= 0 (禁用)
9.11主从配置值= 0
9.10端口类型= 0
9.9 1000Base-T 全双工= 1.
9.8 1000Base-T 半双工= 0
9.7:0复数器
问题3:当我禁用手动主从配置选项时、SEED 值应该由我开发、还是由 PHY KSZ9031rnx 负责开发?
我已经将 FLP 时间集中到16ms、以避免链路故障、但仍然无法获得完整的自动协商过程。 是否有人可以看到我在该配置中出现的任何错误? 或者我可以尝试的其他想法吗? 我非常感谢您的耐心和关注。