IEEE 802.3 标准中 Clause 73 的 **Next Page(下一页)** 机制用于 PHY 之间在自协商过程中交换更复杂的能力信息。每一页是一个 **16 位(16-bit)寄存器值**,其格式分为两种类型:
---
## ✅ 一、Next Page 的 16-bit 格式通用结构
```text
bit: 15 14 13 12 ................ 0
NP ACK2 T <Message/Code Field>
```
| 位编号 | 字段名 | 含义说明 |
| ----- | ------------------------------------------ | --------------------- |
| 15 | **NP** (Next Page) | 是否还有下一页,1=有后续页,0=最后一页 |
| 14 | **ACK2** (Acknowledge 2) | 通信握手确认标志,表示收到对端页 |
| 13 | **Toggle** | 翻转位,用于判断页是否是新内容 |
| 12\~0 | **Message Field / Unformatted Code Field** | 页的主要内容(根据页类型不同解释方式不同) |
---
## 🧠 二、两种类型的 Next Page
IEEE 802.3 Clause 73 明确区分两类页内容:
### 1️⃣ Message Page(格式化页)
用于传递标准定义的能力信息,如 2.5G、5G、10G、EEE 等。
| 位编号 | 字段名 | 说明 |
| ----- | -------------------- | ----------------- |
| 15 | NP | 是否还有下一页 |
| 14 | ACK2 | 确认位 |
| 13 | Toggle | 翻转位 |
| 12 | **Message Page = 1** | 表示这是 Message Page |
| 11\~0 | **Message Code** | 表示支持的能力编码 |
🔹 示例 Message Code(见 IEEE 802.3 Table 73–8):
| Message Code (12位) | 含义 |
| ------------------ | ---------------------------- |
| `0x0001` | IEEE standard device |
| `0x0002` | 2.5GBASE-T |
| `0x0003` | 5GBASE-T |
| `0x0004` | 10GBASE-T |
| `0x0009` | Vendor Specific Page follows |
---
### 2️⃣ Unformatted Page(非格式页 / 厂商页)
用于传输厂商自定义信息,例如:
* OUI(组织唯一标识码)
* FEC 能力(是否支持、是否要求)
* Master/Slave 能力
* 其他 PHY 专用功能
| 位编号 | 字段名 | 说明 |
| ----- | ----------------------- | -------------------- |
| 15 | NP | 是否还有下一页 |
| 14 | ACK2 | 确认位 |
| 13 | Toggle | 翻转位 |
| 12 | **Message Page = 0** | 表示为 Unformatted Page |
| 11\~0 | Vendor/Unformatted Code | 厂商自定义的内容解释 |
🔹 不同厂商定义不同。例如:
* 某些 PHY 在第1页设置 FEC 能力:
* bit\[0]:支持 FEC
* bit\[1]:请求对端启用 FEC
* 某些 PHY 以连续页表示 OUI,例如三页分别放置 OUI 的高、中、低位。
---
## 🔍 三、实战解析例子
### 示例:`0xB402`
```text
0xB402 = 1011 0100 0000 0010
bit 15: 1 → NP = 1(后续还有页)
bit 14: 0 → ACK2 = 0
bit 13: 1 → Toggle = 1
bit 12: 0 → Message Page = 0 ⇒ 这是一个 Unformatted 页
bit 11~0: 0x0402 ⇒ 厂商自定义字段(需查 PHY 手册)
```
---
### 示例:`0x9803`
```text
0x9803 = 1001 1000 0000 0011
bit 15: 1 → NP = 1
bit 14: 0 → ACK2 = 0
bit 13: 0 → Toggle = 0
bit 12: 1 → Message Page = 1 ⇒ 格式化页
bit 11~0: 0x0003 ⇒ Message Code = 5GBASE-T
```
---
## 🛠️ 四、相关寄存器(Clause 45,MMD=7)
| 寄存器地址 | 名称 | 说明 |
| ------ | ------------ | -------------------- |
| 0x0007 | Next Page TX | 当前发出的 Next Page 内容 |
| 0x0008 | Next Page RX | 当前收到的对端 Next Page 内容 |
| 0x0001 | Status 1 | AN 完成标志、NP 能力标志 |
---
## ✅ 总结表:Next Page 位意义
| 位 | 名称 | 功能 |
| ----- | ------- | --------------------------- |
| 15 | NP | 是否有下一页(1=有,0=最后一页) |
| 14 | ACK2 | 下一阶段确认(表示收到对端页) |
| 13 | Toggle | 内容变化标志(用来检测页是否更新) |
| 12 | MP | 1=格式化页(Message Page),0=非格式页 |
| 11\~0 | Payload | 根据 MP 位解释为能力码或厂商定义字段 |
---