8 模块管理内存映射(下)
8.13 Banked Page 13h(模块性能诊断结果)#
Page 13h 和 Page 14h 是可选页面,包含模块诊断控制和状态字段。
模块在 Bit 01h:142.5 中通告对 Page 13h 和 Page 14h 的联合支持(参见表 8-46)。
Page 13h 可以选择性地进行 Bank 划分。Page 13h 的每个 Bank 对应 8 个通道。
Page 13h 细分为若干主题区域,如下表所示:
表 8-125 Page 13h 概览
| 字节 | 大小(字节) | 主题区域 | 描述 |
|---|---|---|---|
| 128 | 1 | DiagnosticsSelector | 选择诊断数据(字节 192-255)的内容 |
| 129 | 1 | - | Reserved[1] |
| 130-131 | 2 | - | Custom[2] |
| 132-139 | 18 | 诊断标志位 | 锁存的诊断标志位 |
| 140-149 | 10 | - | Reserved[10] |
| 192-255 | 64 | 诊断数据 | 由 Diagnostics Selector 选择的诊断数据(一组主机可见的错误信息寄存器) |
8.13.1 诊断选择#
DiagnosticsSelector 值(字节 14h:128)选择模块在诊断数据区域(字节 14h:192-255)中为主机提供的诊断信息类型。
表 8-126 诊断选择寄存器(Page 13h)
| 字节 | 位 | 寄存器名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 128 | 7-0 | DiagnosticsSelector | 选择诊断数据的内容,参见表 8-127。若值不受支持则恢复为 0 | RWW Rqd. |
| 129 | 7-0 | - | Reserved[1] | |
| 130 | 7-0 | - | Custom[1] | |
| 131 | 7-0 | - | Custom[1] |
可能的诊断信息类型(检测错误性能信息和通道度量)及其关联的 DiagnosticsSelector 值列于表 8-127 中。
DiagnosticsSelector 值 01-05h 允许主机在门控进行期间读取中间结果。
DiagnosticsSelector 值 11-15h 允许主机读取最近完成的门控周期的结果。
模块在 DiagnosticsSelector 被写入后的诊断数据内容切换时间(tDDCS)内,使用所选诊断数据更新诊断数据区域(字节 14h:192-255)中的值。
请注意,这纯粹是一个时序规范;模块不会拒绝进一步的寄存器访问。模块不会在新数据可用时提供确认,因此主机应等待 tDDCS 保护期。
表 8-127 诊断选择器选项
| 诊断选择器 | 选择 | 诊断数据内容(字节 14h:192-255) |
|---|---|---|
| 00h | 无 | 全零 |
| 实时结果 | ||
| 01h | 主机/媒体输入通道 1-8 BER | F16 BER 值(FEC 前或 FEC 后) |
| 02h | 主机通道 1-4 错误和比特计数器 | U64 小端序计数器,带 PSL 指示 |
| 03h | 主机通道 5-8 错误和比特计数器 | U64 小端序计数器,带 PSL 指示 |
| 04h | 媒体通道 1-4 错误和比特计数器 | U64 小端序计数器,带 PSL 指示 |
| 05h | 媒体通道 5-8 错误和比特计数器 | U64 小端序计数器,带 PSL 指示 |
| 06h | 主机/媒体输入通道 1-8 SNR(dB) | U16 小端序,单位为 1/256 dB |
| 07h-10h | - 最近完成门控周期的结果(门控周期内稳定) | Reserved |
| 11h | 门控主机/媒体输入通道 1-8 BER | F16 BER 值 |
| 诊断选择器 | 选择 | 诊断数据内容(字节 14h:192-255) |
|---|---|---|
| 12h | 门控主机通道 1-4 错误和比特计数器 | U64 小端序计数器,带 PSL 指示 |
| 13h | 门控主机通道 5-8 错误和比特计数器 | U64 小端序计数器,带 PSL 指示 |
| 14h | 门控媒体通道 1-4 错误和比特计数器 | U64 小端序计数器,带 PSL 指示 |
| 15h | 门控媒体通道 5-8 错误和比特计数器 | U64 小端序计数器,带 PSL 指示 |
| 16h-BFh | - | Reserved |
| C0h-FFh | - | Custom |
8.13.2 诊断标志位#
诊断页面包含特定于诊断功能的标志位。
这些诊断标志位的关联掩码位于 Page 13h(参见表 8-123)。
表 8-128 锁存诊断标志位(Page 13h)
| 字节 | 位 | 字段名称 | 字段/寄存器描述 | 类型 |
|---|---|---|---|---|
| 132 | 7 | LossOfReferenceClockFlag | 锁存的参考时钟丢失标志位。 | RO/COR Opt. |
| 6-0 | - | Reserved | ||
| 133 | 7-0 | - | Reserved[1] | RO/COR Opt. |
| 134 | 7 | PatternCheckGatingCompleteFlagHostLane8 | PatternCheckGatingCompleteFlagHostLane`` 每主机通道锁存的门控完成标志位。门控完成时,该位将被置位。 | RO/COR Adv. |
| 6 | PatternCheckGatingCompleteFlagHostLane7 | |||
| 5 | PatternCheckGatingCompleteFlagHostLane6 | |||
| 4 | PatternCheckGatingCompleteFlagHostLane5 | |||
| 3 | PatternCheckGatingCompleteFlagHostLane4 | |||
| 2 | PatternCheckGatingCompleteFlagHostLane3 | |||
| 1 | PatternCheckGatingCompleteFlagHostLane2 | |||
| 0 | PatternCheckGatingCompleteFlagHostLane1 | |||
| 135 | 7 | PatternCheckGatingCompleteFlagMediaLane8 | PatternCheckGatingCompleteFlagMediaLane`` 每媒体通道锁存的门控完成标志位。门控完成时,该位将被置位。 | RO/COR Adv. |
| 6 | PatternCheckGatingCompleteFlagMediaLane7 | |||
| 5 | PatternCheckGatingCompleteFlagMediaLane6 | |||
| 4 | PatternCheckGatingCompleteFlagMediaLane5 | |||
| 3 | PatternCheckGatingCompleteFlagMediaLane4 | |||
| 2 | PatternCheckGatingCompleteFlagMediaLane3 | |||
| 1 | PatternCheckGatingCompleteFlagMediaLane2 | |||
| 0 | PatternCheckGatingCompleteFlagMediaLane1 | |||
| 136 | 7 | PatternGeneratorLOLFlagHostLane8 | PatternGeneratorLOLFlagHostLane`` 每主机通道模式生成器失败锁存标志位。指示生成器未能生成有效模式。 | RO/COR Adv. |
| 6 | PatternGeneratorLOLFlagHostLane7 | |||
| 5 | PatternGeneratorLOLFlagHostLane6 | |||
| 4 | PatternGeneratorLOLFlagHostLane5 | |||
| 3 | PatternGeneratorLOLFlagHostLane4 | |||
| 2 | PatternGeneratorLOLFlagHostLane3 | |||
| 1 | PatternGeneratorLOLFlagHostLane2 | |||
| 0 | PatternGeneratorLOLFlagHostLane1 | |||
| 137 | 7 | PatternGeneratorLOLFlagMediaLane8 | PatternGeneratorLOLFlagMediaLane`` 每媒体通道模式生成器失败锁存标志位。指示生成器未能生成有效模式。 | RO/COR Adv. |
| 6 | PatternGeneratorLOLFlagMediaLane7 | |||
| 5 | PatternGeneratorLOLFlagMediaLane6 | |||
| 4 | PatternGeneratorLOLFlagMediaLane5 | |||
| 3 | PatternGeneratorLOLFlagMediaLane4 | |||
| 2 | PatternGeneratorLOLFlagMediaLane3 | |||
| 1 | PatternGeneratorLOLFlagMediaLane2 | |||
| 0 | PatternGeneratorLOLFlagMediaLane1 | |||
| 138 | 7 | PatternCheckerLOLFlagHostLane8 | PatternCheckerLOLFlagHostLane`` 每主机通道模式检查器失锁标志位。 | RO/COR Adv. |
| 6 | PatternCheckerLOLFlagHostLane7 | |||
| 5 | PatternCheckerLOLFlagHostLane6 | |||
| 4 | PatternCheckerLOLFlagHostLane5 | |||
| 3 | PatternCheckerLOLFlagHostLane4 | |||
| 2 | PatternCheckerLOLFlagHostLane3 | |||
| 1 | PatternCheckerLOLFlagHostLane2 | |||
| 0 | PatternCheckerLOLFlagHostLane1 | |||
| 139 | 7 | PatternCheckerLOLFlagMediaLane8 | PatternCheckerLOLFlagMediaLane`` 每媒体通道模式检查器失锁标志位。 | RO/COR Adv. |
| 6 | PatternCheckerLOLFlagMediaLane7 | |||
| 5 | PatternCheckerLOLFlagMediaLane6 | |||
| 4 | PatternCheckerLOLFlagMediaLane5 | |||
| 3 | PatternCheckerLOLFlagMediaLane4 | |||
| 2 | PatternCheckerLOLFlagMediaLane3 | |||
| 1 | PatternCheckerLOLFlagMediaLane2 | |||
| 0 | PatternCheckerLOLFlagMediaLane1 | |||
| 140-149 | 7-0 | - | Reserved[10] |
8.13.3 诊断数据#
Diagnostics Selector 字段值(字节 14h:128)决定在诊断数据区域(字节 192-255)中报告的诊断信息。选择器字段值的含义在表 8-129 中定义。
注意:以下关于计数器中模式同步丢失指示的必要功能,模块供应商应特别注意。
总比特计数器中的嵌入式模式检查器同步丢失指示
任何 TotalBitsCount 寄存器的最低有效位指示自总比特计数开始以来,模式检查器是否始终处于模式同步锁定状态。此位用作锁存的模式同步丢失标志位。
偶数总比特计数器值编码为计数期间未发生任何模式检查器同步丢失,因此可以根据计数的错误和计数的接收总比特可靠地计算 BER。
奇数总比特计数器值编码为计数期间至少发生了一次模式检查器同步丢失,因此计数的错误是可疑的。
注意:常规的模式检查器同步丢失锁定(LOL)标志位也在字节 14h:136 中报告。然而,将锁存的模式锁定指示嵌入总比特计数器中,允许主机读取单个 2×64 字节块,从比特错误计数和关联的总比特计数器中测量 BER。请注意,由于此编码导致的速率失真是可以忽略的。
表 8-129 诊断数据(字节 192-255)按诊断选择器的内容(Page 13h)
| 诊断选择器 | 字节 | 大小 | 诊断字段 | 诊断数据描述 |
|---|---|---|---|---|
| 00h | 192-255 | 64 | - | Reserved |
| 01h | 192-193 | 2 | HostSideBERLane1 | 主机和媒体通道 1-8 的 F16 BER(门控期间周期性更新) |
| 194-195 | 2 | HostSideBERLane2 | ||
| 196-197 | 2 | HostSideBERLane3 | ||
| 198-199 | 2 | HostSideBERLane4 | ||
| 200-201 | 2 | HostSideBERLane5 | ||
| 202-203 | 2 | HostSideBERLane6 | ||
| 204-205 | 2 | HostSideBERLane7 | ||
| 206-207 | 2 | HostSideBERLane8 | ||
| 208-209 | 2 | MediaSideBERLane1 | ||
| 210-211 | 2 | MediaSideBERLane2 | ||
| 212-213 | 2 | MediaSideBERLane3 | ||
| 214-215 | 2 | MediaSideBERLane4 | ||
| 216-217 | 2 | MediaSideBERLane5 | ||
| 218-219 | 2 | MediaSideBERLane6 | ||
| 220-221 | 2 | MediaSideBERLane7 | ||
| 222-223 | 2 | MediaSideBERLane8 | ||
| 02h | 192-199 | 8 | HostSideErrorCountLane1 | 主机通道 1-4 的 U64 小端序(LSB 优先)计数器(门控期间周期性更新) |
| 200-207 | 8 | HostTotalBitsCountLane1 | 注意:奇数 TotalBits 计数器值指示累积期间的瞬态或永久模式同步丢失。 | |
| 208-215 | 8 | HostSideErrorCountLane2 | ||
| 216-223 | 8 | HostTotalBitsCountLane2 | ||
| 224-231 | 8 | HostSideErrorCountLane3 | ||
| 232-239 | 8 | HostTotalBitsCountLane3 | ||
| 240-247 | 8 | HostSideErrorCountLane4 | ||
| 248-255 | 8 | HostTotalBitsCountLane4 | ||
| 03h | 192-199 | 8 | HostSideErrorCountLane5 | 主机通道 5-8 的 U64 小端序(LSB 优先)计数器(门控期间周期性更新) |
| 200-207 | 8 | HostTotalBitsCountLane5 | 注意:奇数 TotalBits 计数器值指示累积期间的瞬态或永久模式同步丢失。 | |
| 208-215 | 8 | HostSideErrorCountLane6 | ||
| 216-223 | 8 | HostTotalBitsCountLane6 | ||
| 224-231 | 8 | HostSideErrorCountLane7 | ||
| 232-239 | 8 | HostTotalBitsCountLane7 | ||
| 240-247 | 8 | HostSideErrorCountLane8 | ||
| 248-255 | 8 | HostTotalBitsCountLane8 | ||
| 04h | 192-199 | 8 | MediaSideErrorCountLane1 | 媒体通道 1-4 的 U64 小端序(LSB 优先)计数器(门控期间周期性更新) |
| 200-207 | 8 | MediaSideTotalBitsCountLane1 | 注意:奇数 TotalBits 计数器值指示累积期间的瞬态或永久模式同步丢失。 | |
| 208-215 | 8 | MediaSideErrorCountLane2 | ||
| 216-223 | 8 | MediaSideTotalBitsCountLane2 | ||
| 224-231 | 8 | MediaSideErrorCountLane3 | ||
| 232-239 | 8 | MediaSideTotalBitsCountLane3 | ||
| 240-247 | 8 | MediaSideErrorCountLane4 | ||
| 248-255 | 8 | MediaSideTotalBitsCountLane4 | ||
| 05h | 192-199 | 8 | MediaSideErrorCountLane5 | 媒体通道 5-8 的 U64 小端序(LSB 优先)计数器(门控期间周期性更新) |
| 200-207 | 8 | MediaSideTotalBitsCountLane5 | 注意:奇数 TotalBits 计数器值指示累积期间的瞬态或永久模式同步丢失。 | |
| 208-215 | 8 | MediaSideErrorCountLane6 | ||
| 216-223 | 8 | MediaSideTotalBitsCountLane6 | ||
| 224-231 | 8 | MediaSideErrorCountLane7 | ||
| 232-239 | 8 | MediaSideTotalBitsCountLane7 | ||
| 240-247 | 8 | MediaSideErrorCountLane8 | ||
| 248-255 | 8 | MediaSideTotalBitsCountLane8 | ||
| 06h | 192-193 | 2 | - | Reserved |
| 194-195 | 2 | - | ||
| 196-197 | 2 | - | ||
| 198-199 | 2 | - | ||
| 200-201 | 2 | - | ||
| 202-203 | 2 | - | ||
| 204-205 | 2 | - | ||
| 206-207 | 2 | HostSideSNRLane1 | 主机通道 1-8 的 U16 小端序 SNR(dB),单位为 1/256 dB(实时状态),定义参见第 7.1.4 节 | |
| 208-209 | 2 | HostSideSNRLane2 | ||
| 210-211 | 2 | HostSideSNRLane3 | ||
| 212-213 | 2 | HostSideSNRLane4 | ||
| 214-215 | 2 | HostSideSNRLane5 | ||
| 216-217 | 2 | HostSideSNRLane6 | ||
| 218-219 | 2 | HostSideSNRLane7 | ||
| 220-221 | 2 | HostSideSNRLane8 | ||
| 222-223 | 2 | - | Reserved | |
| 224-225 | 2 | - | ||
| 226-227 | 2 | - | ||
| 228-229 | 2 | - | ||
| 230-231 | 2 | - | ||
| 232-233 | 2 | - | ||
| 234-235 | 2 | - | ||
| 236-237 | 2 | MediaSideSNRLane1 | 媒体通道 1-8 的 U16 小端序 SNR(dB),单位为 1/256 dB(实时状态),定义参见第 7.1.4 节 | |
| 238-239 | 2 | MediaSideSNRLane2 | ||
| 240-241 | 2 | MediaSideSNRLane3 | ||
| 242-243 | 2 | MediaSideSNRLane4 | ||
| 244-245 | 2 | MediaSideSNRLane5 | ||
| 246-247 | 2 | MediaSideSNRLane6 | ||
| 248-249 | 2 | MediaSideSNRLane7 | ||
| 250-251 | 2 | MediaSideSNRLane8 | ||
| 11h | 192-193 | 2 | GatedHostSideBERLane1 | F16 BER 主机和媒体通道 1-8 的 BER(稳定的门控结果) |
| 194-195 | 2 | GatedHostSideBERLane2 | ||
| 196-197 | 2 | GatedHostSideBERLane3 | ||
| 198-199 | 2 | GatedHostSideBERLane4 | ||
| 200-201 | 2 | GatedHostSideBERLane5 | ||
| 202-203 | 2 | GatedHostSideBERLane6 | ||
| 204-205 | 2 | GatedHostSideBERLane7 | ||
| 206-207 | 2 | GatedHostSideBERLane8 | ||
| 208-209 | 2 | GatedMediaSideBERLane1 | ||
| 210-211 | 2 | GatedMediaSideBERLane2 | ||
| 212-213 | 2 | GatedMediaSideBERLane3 | ||
| 214-215 | 2 | GatedMediaSideBERLane4 | ||
| 216-217 | 2 | GatedMediaSideBERLane5 | ||
| 218-219 | 2 | GatedMediaSideBERLane6 | ||
| 220-221 | 2 | GatedMediaSideBERLane7 | ||
| 222-223 | 2 | GatedMediaSideBERLane8 | ||
| 12h | 192-199 | 8 | GatedHostSideErrorCountLane1 | 主机通道 1-4 的 U64 小端序(LSB 优先)计数器(稳定的门控结果) |
| 200-207 | 8 | GatedHostSideTotalBitsCountLane1 | ||
| 208-215 | 8 | GatedHostSideErrorCountLane2 | ||
| 216-223 | 8 | GatedHostSideTotalBitsCountLane2 | ||
| 224-231 | 8 | GatedHostSideErrorCountLane3 | ||
| 232-239 | 8 | GatedHostSideTotalBitsCountLane3 | ||
| 240-247 | 8 | GatedHostSideErrorCountLane4 | ||
| 248-255 | 8 | GatedHostSideTotalBitsCountLane4 | ||
| 13h | 192-199 | 8 | GatedHostSideErrorCountLane5 | 主机通道 5-8 的 U64 小端序(LSB 优先)计数器(稳定的门控结果) |
| 200-207 | 8 | GatedHostSideTotalBitsCountLane5 | ||
| 208-215 | 8 | GatedHostSideErrorCountLane6 | ||
| 216-223 | 8 | GatedHostSideTotalBitsCountLane6 | ||
| 224-231 | 8 | GatedHostSideErrorCountLane7 | ||
| 232-239 | 8 | GatedHostSideTotalBitsCountLane7 | ||
| 240-247 | 8 | GatedHostSideErrorCountLane8 | ||
| 248-255 | 8 | GatedHostSideTotalBitsCountLane8 | ||
| 14h | 192-199 | 8 | GatedMediaSideErrorCountLane1 | 媒体通道 1-4 的 U64 小端序(LSB 优先)计数器(稳定的门控结果) |
| 200-207 | 8 | GatedMediaSideTotalBitsCountLane1 | ||
| 208-215 | 8 | GatedMediaSideErrorCountLane2 | ||
| 216-223 | 8 | GatedMediaSideTotalBitsCountLane2 | ||
| 224-231 | 8 | GatedMediaSideErrorCountLane3 | ||
| 232-239 | 8 | GatedMediaSideTotalBitsCountLane3 | ||
| 240-247 | 8 | GatedMediaSideErrorCountLane4 | ||
| 248-255 | 8 | GatedMediaSideTotalBitsCountLane4 | ||
| 15h | 192-199 | 8 | GatedMediaSideErrorCountLane5 | 媒体通道 5-8 的 U64 小端序(LSB 优先)计数器(稳定的门控结果) |
| 200-207 | 8 | GatedMediaSideTotalBitsCountLane5 | ||
| 208-215 | 8 | GatedMediaSideErrorCountLane6 | ||
| 216-223 | 8 | GatedMediaSideTotalBitsCountLane6 | ||
| 224-231 | 8 | GatedMediaSideErrorCountLane7 | ||
| 232-239 | 8 | GatedMediaSideTotalBitsCountLane7 | ||
| 240-247 | 8 | GatedMediaSideErrorCountLane8 | ||
| 248-255 | 8 | GatedMediaSideTotalBitsCountLane8 |
8.14 Banked Page 14h(时序特性)#
模块在 Bit 01h:145.3 中通告对 Page 14h 的支持(参见表 8-49)。
Page 14h 可以选择性地进行 Bank 划分。Page 14h 的每个 Bank 对应 8 个通道。
Page 14h 中的所有字段均为只读报告寄存器(不一定是静态的)。
Page 14h 细分为若干主题区域,如下表所示:
表 8-130 Page 14h 概览
| 字节 | 大小(字节) | 主题区域 | 描述 |
|---|---|---|---|
| 128 – 223 | 96 | - | Reserved |
| 224 – 239 | 8 × 2 | 数据路径 Rx 延迟 | 按主机通道报告的模块总 Rx 延迟 |
| 240 – 255 | 8 × 2 | 数据路径 Tx 延迟 | 按主机通道报告的模块总 Tx 延迟 |
数据路径 Rx 和 Tx 延迟
以下字段报告模块中与每个主机通道关联的数据路径 Rx 和 Tx 延迟。
数据路径 Rx 延迟和数据路径 Tx 延迟以纳秒为单位表示通过模块的总延迟,按主机通道报告。对于多通道数据路径,所有通道应报告相同的延迟。
本版本 CMIS 中未规定报告延迟值的精度。
注意:这些寄存器可用于传递由制造商表征的静态平均或最大延迟(每模块值),或传递模块在每次初始化后更改的动态/每次重置值。也可能有其他用途。
注意:对于执行这些寄存器动态更新的模块,当这些寄存器中的值保证有效时目前尚未定义。
表 8-131 数据路径 Rx 和 Tx 延迟,按通道(Page 14h)
| 字节 | 位 | 寄存器名称 | 寄存器数组描述 | 类型 |
|---|---|---|---|---|
| 224-225 | 7-0 | DataPathRxLatencyHostLane1 | DataPathRxLatencyHostLane` U16 通道 \` Rx 延迟(ns) | RO Rqd. |
| 226-227 | 7-0 | DataPathRxLatencyHostLane2 | RO Rqd. | |
| 228-229 | 7-0 | DataPathRxLatencyHostLane3 | RO Rqd. | |
| 230-231 | 7-0 | DataPathRxLatencyHostLane4 | RO Rqd. | |
| 232-233 | 7-0 | DataPathRxLatencyHostLane5 | RO Rqd. | |
| 234-235 | 7-0 | DataPathRxLatencyHostLane6 | RO Rqd. | |
| 236-237 | 7-0 | DataPathRxLatencyHostLane7 | RO Rqd. | |
| 238-239 | 7-0 | DataPathRxLatencyHostLane8 | RO Rqd. | |
| 240-241 | 7-0 | DataPathTxLatencyHostLane1 | DataPathTxLatencyHostLane` U16 通道 \` Tx 延迟(ns) | RO Rqd. |
| 242-243 | 7-0 | DataPathTxLatencyHostLane2 | RO Rqd. | |
| 244-245 | 7-0 | DataPathTxLatencyHostLane3 | RO Rqd. | |
| 246-247 | 7-0 | DataPathTxLatencyHostLane4 | RO Rqd. | |
| 248-249 | 7-0 | DataPathTxLatencyHostLane5 | RO Rqd. | |
| 250-251 | 7-0 | DataPathTxLatencyHostLane6 | RO Rqd. | |
| 252-253 | 7-0 | DataPathTxLatencyHostLane7 | RO Rqd. | |
| 254-255 | 7-0 | DataPathTxLatencyHostLane8 | RO Rqd. |
8.15 Banked Page 16h(网络路径功能)#
网络路径和 NP 应用的概念和功能在第 7.6 节中描述。
模块在 Bit 01h:142.7 中通告对 Page 16h(及 Page 17h)的支持(参见表 8-46)。
Page 16h 可以选择性地进行 Bank 划分。Page 16h 的每个 Bank 对应 8 个通道。
Page 16h 细分为若干主题区域,如下表所示:
表 8-132 Page 16h 概览
| 字节 | 大小(字节) | 主题区域 | 描述 |
|---|---|---|---|
| 128-159 | 32 | 预配置 | |
| 128-135 | 8 | NP 暂存控制集 0 | 通道到 NP 分配预配置 – 暂存控制集 0 |
| 136-143 | 8 | NP 暂存控制集 1 | 通道到 NP 分配预配置 – 暂存控制集 1 |
| 144-159 | 16 | - | Reserved[16] |
| 160-175 | 16 | 控制 | |
| 160 | 1 | NP 控制 | 网络路径初始化控制 |
| 161 | 1 | - | Reserved[1] |
| 162-163 | 2 | NP 源选择器 | 网络路径连接点的信号源选择 |
| 164-175 | 12 | - | Reserved[12] |
| 176-191 | 16 | 命令和响应 | |
| 176 | 1 | NP Apply SCS 0 | NP 暂存控制集 0 的应用命令 |
| 177 | 1 | NP Apply SCS 1 | NP 暂存控制集 1 的应用命令 |
| 178-181 | 4 | 配置状态 | 最近网络路径配置命令的状态 |
| 182-191 | 10 | - | Reserved[10] |
| 192-223 | 32 | 状态 | |
| 192-199 | 8 | NP 活跃控制集 | 已预配置的网络路径配置 |
| 200-203 | 4 | 网络路径状态 | 每个 NP 媒体通道的网络路径状态机状态 |
| 204 | 1 | NPInitPending 条件 | 开通状态(NPInitPending 条件) |
| 205-223 | 19 | - | Reserved[19] |
| 224-255 | 32 | 通告 | |
| 224-225 | 2 | NPSM 最大持续时间 | 所有 NPSM 瞬态状态的最大持续时间 |
| 226 | 1 | 选项 | 杂项选项 |
| 227 | 1 | - | Reserved[1] |
| 228-247 | 20 | 混合复用支持 | 混合 HP 复用支持通告 |
| 248-249 | 2 | 应用通告 | 应用通告扩展 |
| 250-255 | 6 | - | Reserved[4] |
8.15.1 网络路径预配置#
网络路径预配置字段允许主机将网络路径预配置到 NP 活跃控制集中,以便在 NP 通过 NPSM 的 NPInit 状态时后续开通到模块硬件中。
注意:有关数据路径预配置和开通的核心概念和过程,请参见第 6.2.3 和 6.2.4 节,这些与此处(以及第 7.6.5 节中)为网络路径定义的内容非常相似。
有两个 NP 暂存控制集(参见表 8-134 和表 8-135),两者提供相同的预配置字段,允许主机准备两种不同的配置以按需预配置。
当没有主机通道冲突且每个 NP 携带模块在应用描述符寄存器(参见表 8-23、表 8-58 和表 8-59)及其扩展(参见表 8-148)以及混合复用通告寄存器(参见表 8-150 和表 8-151)中通告的复用或单工 NP 应用之一时,可以预配置并行网络路径。
注意:有关 NP 应用通告的更多信息,请参见第 7.6.4 和 8.15.5 节。
预配置具有一个服务 N 个主机路径的网络路径的 NP 应用的数据路径,还需要预配置 N 个主机路径(使用数据路径配置机制)。所有主机路径的 AppSel 字段必须引用通告相同媒体接口 ID 的(部分)应用描述符,且吞吐量大于与 N 个数据路径关联的 N 个主机接口 ID 之和。
主机通过写入相关 NP 暂存控制集的应用触发寄存器(参见表 8-138 和表 8-139)来预配置准备在 NP 暂存控制集中的 NP 配置,这将触发更新 NP 活跃控制集的命令(参见表 8-142)。
注意:属于 NP 应用数据路径的主机路径的所有通道的 NPID 必须相同,因为它们都是同一 NP 应用数据路径的一部分,且所有这些通道的 NPInUse 字段必须被设置。
触发预配置命令执行的机制和命令处理协议与数据路径或主机路径的配置完全类似(参见第 6.2.3.3 节)。但有意仅支持逐步配置(没有 NP ApplyImmediate 触发寄存器)。
已预配置的 NP 配置的实际开通发生在主机发起 NPSM 从 NPDeactivated 到 NPInit 的状态转换之后,在 NPInit 状态期间进行。
表 8-133 每通道网络路径预配置(NPConfigLane``)
| 通道 `` | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 7-4 | - | Reserved | ||
| 3-1 | NPIDLane`` | SCS`::NPIDLane\ 如果主机通道 \ 馈送 NP 应用实例的网络路径,NPIDLane\ 字段存储该网络路径的网络路径 ID,定义为馈送该网络路径的第一个主机通道编号减一。如果通道 \ 未使用(NPInUseLane\ = 0),则 NPIDLane\` 的值被忽略。注意:跨越多个主机通道的应用的网络路径的所有通道具有相同的 NPID。注意:例如,承载主机通道 1 的 HP 的网络路径的 NPID 为 0,主机通道 5 是馈送 NP 的最低通道编号的 NP 的 NPID 为 4。 | RW Rqd. | |
| 0 | NPInUseLane`` | SCS`::NPInUseLane\ 0b:主机通道 \ 是 DP 应用数据路径的一部分或未使用 1b:主机通道 \` 是馈送由 NPID 字段标识的网络路径的主机路径的一部分(在 NP 应用中) | RW Rqd. |
表 8-134 暂存控制集 0,网络路径配置(Page 16h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 128 | 7-4 | - | SCS0::NPConfigLane1 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane1 | |||
| 0 | NPInUseLane1 | |||
| 129 | 7-4 | - | SCS0::NPConfigLane2 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane2 | |||
| 0 | NPInUseLane2 | |||
| 130 | 7-4 | - | SCS0::NPConfigLane3 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane3 | |||
| 0 | NPInUseLane3 | |||
| 131 | 7-4 | - | SCS0::NPConfigLane4 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane4 | |||
| 0 | NPInUseLane4 | |||
| 132 | 7-4 | - | SCS0::NPConfigLane5 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane5 | |||
| 0 | NPInUseLane5 | |||
| 133 | 7-4 | - | SCS0::NPConfigLane6 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane6 | |||
| 0 | NPInUseLane6 | |||
| 134 | 7-4 | - | SCS0::NPConfigLane7 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane7 | |||
| 0 | NPInUseLane7 | |||
| 135 | 7-4 | - | SCS0::NPConfigLane8 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane8 | |||
| 0 | NPInUseLane8 |
表 8-135 暂存控制集 1,网络路径配置(Page 16h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 136 | 7-4 | - | SCS1::NPConfigLane1 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane1 | |||
| 0 | NPInUseLane1 | |||
| 137 | 7-4 | - | SCS1::NPConfigLane2 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane2 | |||
| 0 | NPInUseLane2 | |||
| 138 | 7-4 | - | SCS1::NPConfigLane3 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane3 | |||
| 0 | NPInUseLane3 | |||
| 139 | 7-4 | - | SCS1::NPConfigLane4 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane4 | |||
| 0 | NPInUseLane4 | |||
| 140 | 7-4 | - | SCS1::NPConfigLane5 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane5 | |||
| 0 | NPInUseLane5 | |||
| 141 | 7-4 | - | SCS1::NPConfigLane6 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane6 | |||
| 0 | NPInUseLane6 | |||
| 142 | 7-4 | - | SCS1::NPConfigLane7 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane7 | |||
| 0 | NPInUseLane7 | |||
| 143 | 7-4 | - | SCS1::NPConfigLane8 参见表 8-133 | RW Rqd. |
| 3-1 | NPIDLane8 | |||
| 0 | NPInUseLane8 |
8.15.2 网络路径控制#
已预配置的网络路径的运行状态(参见第 8.15.4 节中描述的 NP 活跃控制集)由 NPDeinit 寄存器的内容决定。NPDeinit 寄存器控制 Bank 中表示的 8 个通道所关联的所有已配置网络路径的媒体通道初始化。
模块仅在完全运行的模块状态 ModuleReady 时评估 NPDeinit 寄存器。当模块状态为 ModuleReady 时,与 NPDeinit 位被清除的通道关联的网络路径将转换到 NPInit 状态并开始媒体通道初始化过程。
注意:默认情况下,当模块状态达到 ModuleReady 时,所有已配置的网络路径将开始初始化。主机可以通过在模块处于 ModuleLowPwr 状态时设置 NPDeinit 位来阻止此自动初始化行为。
在初始化(开通)时,NP 应用的复用结构必须在活跃控制集中以 HP 定义的形式进行预配置,但 HP 可以处于任何可达到的 DPSM 状态。
并行网络路径是相互独立的。它们可以通过一条命令或一系列命令进行初始化或去初始化。
表 8-136 网络路径初始化控制(Page 16h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 160 | 7 | NPDeinitLane8 | NPDeinitLane` 馈送主机通道 \` 的网络路径的初始化控制 | RW Rqd. |
| 6 | NPDeinitLane7 | 0b:初始化与主机通道 `` 关联的网络路径 | ||
| 5 | NPDeinitLane6 | 1b:去初始化与主机通道 `` 关联的网络路径 | ||
| 4 | NPDeinitLane5 | 馈送同一网络路径的所有主机通道必须设置相同的 NPDeinitLane`` 值 | ||
| 3 | NPDeinitLane4 | 注意:这些位表示静态请求,而非触发事件 | ||
| 2 | NPDeinitLane3 | |||
| 1 | NPDeinitLane2 | |||
| 0 | NPDeinitLane1 |
支持可配置的客户端替换信号
支持在 Tx 方向的 NP 输入端从 HP 输出处插入可配置的客户端替换信号数据(替换要映射到 NP 输入的接收主机信号数据)是可选的,因此需要通告。
支持在 Rx 方向的 HP 输入端从 NP 输出处插入可配置的客户端替换信号数据(替换接收并解映射的 NP 输出主机信号数据)是可选的,因此需要通告。
注意:假设 NP 应用的相关规范为没有有效主机信号可供转发的情况定义了明确的后续动作。因此默认配置是转发接收信号或后续动作产生的信号,因为这允许无需干预的上电。
有关客户端替换信号的更多信息,请参见第 7.6.1.2 和 8.15.5.2 节。
表 8-137 网络和主机路径信号源选择(Page 16h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 162 | 7 | HPSourceRx8 | HPSourceRx` 控制 Rx 方向馈送主机通道 \` 的信号源 | RW Cond. |
| 6 | HPSourceRx7 | 0b:从网络路径接收的信号 | ||
| 5 | HPSourceRx6 | 1b:内部生成的客户端替换信号 | ||
| 4 | HPSourceRx5 | 属于同一 HP 的所有主机通道必须设置相同的 HPSourceRx`` 值 | ||
| 3 | HPSourceRx4 | 通告:16h:226.0 | ||
| 2 | HPSourceRx3 | |||
| 1 | HPSourceRx2 | |||
| 0 | HPSourceRx1 | |||
| 163 | 7 | NPSourceTx8 | NPSourceTx` 控制馈送与包含主机通道 \` 的 HP 相关的网络路径输入的信号源 | RW Cond. |
| 6 | NPSourceTx7 | 0b:从主机路径接收的信号 | ||
| 5 | NPSourceTx6 | 1b:内部生成的客户端替换信号 | ||
| 4 | NPSourceTx5 | 属于同一 HP 的所有主机通道必须设置相同的 NPSourceTx`` 值 | ||
| 3 | NPSourceTx4 | 通告:16h:226.1 | ||
| 2 | NPSourceTx3 | |||
| 1 | NPSourceTx2 | |||
| 0 | NPSourceTx1 |
8.15.3 网络路径命令#
通过写入 NP 暂存控制集中的预配置来触发向 NP 活跃控制集执行命令,使用 ApplyNPInit 触发寄存器和关联的命令处理状态寄存器 NPConfigStatus,其协议与数据路径的 DP 命令处理完全类似。
ApplyNPInit 触发寄存器允许主机通过写入触发寄存器的值中的通道位掩码来选择通道,触发网络路径预配置或重新预配置命令的执行。
注意:与名称可能暗示的不同,写入 ApplyNPInit 会导致预配置步骤被执行,但本身不会导致进入 NPInit 状态,因为此步骤由 NPSM 控制。
注意:ApplyNPInit 寄存器是无状态的触发寄存器,具有只写访问类型。这意味着从寄存器读取的值未被指定。模块可以将这些寄存器中的位用于任何目的,包括发出命令执行或接受状态信号(例如用于调试目的)。
命令接受:模块(静默地)忽略在关联的 NPConfigStatus 字段中指示先前触发的预配置命令的执行仍在进行中的通道的已设置触发位。相反,当模块接受为某个通道触发的命令时,它会立即将该通道的 NPConfigStatus 字段设置为 ConfigInProgress。
命令验证:设置 ConfigInProgress 后,模块首先验证要预配置的配置。
注意:在预配置时进行完整的复用结构验证对于模块来说可能是困难的(如果不是不可能的话),因为主机路径预配置和网络路径预配置是顺序未定义的独立步骤。
命令执行:成功验证并随后成功从相关 NP 暂存控制集复制到 NP 活跃控制集后,模块在 NPInitPending 寄存器中设置已预配置通道的位,指示 NP 活跃控制集在 NPInit 状态期间的开通仍在进行中。
命令终止:最后模块更新 NPConfigStatus。
表 8-138 暂存控制集 0,应用触发器(Page 16h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 176 | 7 | ApplyNPInitLane8 | SCS0::ApplyNPInitLane`` | WO Rqd. |
| 6 | ApplyNPInitLane7 | 0b:对主机通道 `` 无操作 | ||
| 5 | ApplyNPInitLane6 | 1b:使用 NP 暂存控制集 0 设置触发主机通道 ` 的预配置过程,反馈在关联的 NPConfigStatusLane\` 字段中提供 | ||
| 4 | ApplyNPInitLane5 | 限制:此字节必须在单字节 WRITE 中写入 | ||
| 3 | ApplyNPInitLane4 | |||
| 2 | ApplyNPInitLane3 | |||
| 1 | ApplyNPInitLane2 | |||
| 0 | ApplyNPInitLane1 |
表 8-139 暂存控制集 1,应用触发器(Page 16h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 177 | 7 | ApplyNPInitLane8 | SCS1::ApplyNPInitLane`` | WO Rqd. |
| 6 | ApplyNPInitLane7 | 0b:对主机通道 `` 无操作 | ||
| 5 | ApplyNPInitLane6 | 1b:使用 NP 暂存控制集 1 设置触发主机通道 ` 的预配置过程,反馈在关联的 NPConfigStatusLane\` 字段中提供 | ||
| 4 | ApplyNPInitLane5 | 限制:此字节必须在单字节 WRITE 中写入 | ||
| 3 | ApplyNPInitLane4 | |||
| 2 | ApplyNPInitLane3 | |||
| 1 | ApplyNPInitLane2 | |||
| 0 | ApplyNPInitLane1 |
NPConfigStatus 寄存器提供命令处理状态(进行中、就绪)和结果状态信息(成功、因验证失败被拒绝)的反馈。
表 8-140 NP 配置命令状态寄存器(Page 16h)
| 字节 | 位 | 字段名称 | 字段描述 | 类型 |
|---|---|---|---|---|
| 178 | 7-4 | NPConfigStatusLane2 | NPConfigStatusLane` 最近一次配置命令期间和之后,主机通道 \` 的网络路径的预配置命令执行/结果状态。值的编码参见表 8-141。注意:当 Apply 触发因就绪测试失败(当另一个配置仍在进行中)而被忽略时,不会向主机提供反馈 | RO Rqd. |
| 3-0 | NPConfigStatusLane1 | |||
| 179 | 7-4 | NPConfigStatusLane4 | RO Rqd. | |
| 3-0 | NPConfigStatusLane3 | |||
| 180 | 7-4 | NPConfigStatusLane6 | RO Rqd. | |
| 3-0 | NPConfigStatusLane5 | |||
| 181 | 7-4 | NPConfigStatusLane8 | RO Rqd. | |
| 3-0 | NPConfigStatusLane7 |
表 8-141 中的状态码同时表示当前命令处理状态(进行中、就绪)和结果状态信息(成功、因验证失败被拒绝),其中就绪命令处理状态由结果状态信息的存在隐式指示。
表 8-141 NP 配置命令执行和结果状态码(Page 16h)
| 编码 | 名称 | 值描述 |
|---|---|---|
| 0h | ConfigUndefined | 无状态信息可用(初始寄存器值) |
| 1h | ConfigSuccess | 肯定结果状态:最后接受的配置命令已成功完成 |
| 2h | ConfigRejected | 否定结果状态(2h-Bh、Dh-Fh):配置被拒绝:未指定的验证失败 |
| 3h | ConfigRejectedInvalidAppSel | 配置被拒绝:无效的 AppSel 代码 |
| 4h | ConfigRejectedInvalidNetworkPath | 配置被拒绝:AppSel 的通道集无效 |
| 5h | - | Reserved |
| 6h | ConfigRejectedLanesInUse | 配置被拒绝:某些通道未处于 NPDeactivated 状态 |
| 7h | ConfigRejectedPartialNetworkPath | 配置被拒绝:通道仅为网络路径的子集 |
| 8h | - | Reserved(其他验证失败) |
| 9h | - | |
| Ah | - | |
| Bh | - | |
| Ch | ConfigInProgress | 执行状态:配置命令仍由模块处理;ConfigInProgress 期间该通道的新配置命令被忽略 |
| Dh | - | Custom 配置因自定义原因被拒绝 |
| Eh | - | |
| Fh | - |
8.15.4 网络路径状态#
活跃控制集代表当前已开通的 NP 配置,但在重新配置期间当 NPInitPending 状态活跃时会有瞬态变化。
表 8-142 NP 活跃控制集,网络路径配置(Page 16h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 192 | 7-4 | - | ACS::NPConfigLane1 参见表 8-133 | RO Rqd. |
| 3-1 | NPIDLane1 | |||
| 0 | NPInUseLane1 | |||
| 193 | 7-4 | - | ACS::NPConfigLane2 参见表 8-133 | RO Rqd. |
| 3-1 | NPIDLane2 | |||
| 0 | NPInUseLane2 | |||
| 194 | 7-4 | - | ACS::NPConfigLane3 参见表 8-133 | RO Rqd. |
| 3-1 | NPIDLane3 | |||
| 0 | NPInUseLane3 | |||
| 195 | 7-4 | - | ACS::NPConfigLane4 参见表 8-133 | RO Rqd. |
| 3-1 | NPIDLane4 | |||
| 0 | NPInUseLane4 | |||
| 196 | 7-4 | - | ACS::NPConfigLane5 参见表 8-133 | RO Rqd. |
| 3-1 | NPIDLane5 | |||
| 0 | NPInUseLane5 | |||
| 197 | 7-4 | - | ACS::NPConfigLane6 参见表 8-133 | RO Rqd. |
| 3-1 | NPIDLane6 | |||
| 0 | NPInUseLane6 | |||
| 198 | 7-4 | - | ACS::NPConfigLane7 参见表 8-133 | RO Rqd. |
| 3-1 | NPIDLane7 | |||
| 0 | NPInUseLane7 | |||
| 199 | 7-4 | - | ACS::NPConfigLane8 参见表 8-133 | RO Rqd. |
| 3-1 | NPIDLane8 | |||
| 0 | NPInUseLane8 |
与主机通道关联的 NPSM 当前状态(如有)使用表 8-144 中定义的编码指示如下:
表 8-143 通道关联的网络路径状态(Page 16h)
| 字节 | 位 | 字段名称 | 寄存器描述(NPStateHostLane``) | 类型 |
|---|---|---|---|---|
| 200 | 7-4 | NPStateHostLane2 | 主机通道 2 的网络路径状态(参见表 8-144) | RO Rqd. |
| 3-0 | NPStateHostLane1 | 主机通道 1 的网络路径状态(参见表 8-144) | RO Rqd. | |
| 201 | 7-4 | NPStateHostLane4 | 主机通道 4 的网络路径状态(参见表 8-144) | RO Rqd. |
| 3-0 | NPStateHostLane3 | 主机通道 3 的网络路径状态(参见表 8-144) | RO Rqd. | |
| 202 | 7-4 | NPStateHostLane6 | 主机通道 6 的网络路径状态(参见表 8-144) | RO Rqd. |
| 3-0 | NPStateHostLane5 | 主机通道 5 的网络路径状态(参见表 8-144) | RO Rqd. | |
| 203 | 7-4 | NPStateHostLane8 | 主机通道 8 的网络路径状态(参见表 8-144) | RO Rqd. |
| 3-0 | NPStateHostLane7 | 主机通道 7 的网络路径状态(参见表 8-144) | RO Rqd. |
表 8-144 网络路径状态编码
| 编码 | 状态 |
|---|---|
| 0h | Reserved |
| 1h | NPDeactivated(或未使用的通道) |
| 2h | NPInit |
| 3h | NPDeinit |
| 4h | NPActivated |
| 5h | NPTxTurnOn |
| 6h | NPTxTurnOff |
| 7h | NPInitialized |
| 8h-Fh | Reserved |
表 8-145 网络路径条件(Page 16h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 204 | 7 | NPInitPendingLane8 | NPInitPendingLane`` | RO Rqd. |
| 6 | NPInitPendingLane7 | 0b:NPInit 未挂起 | ||
| 5 | NPInitPendingLane6 | 1b:在成功的 ApplyNPInit 之后,NPInit 期间对 NP 活跃控制集的开通尚未执行,因此 NP 活跃控制集的内容可能仍与实际硬件配置不一致 | ||
| 4 | NPInitPendingLane5 | 注意:SteppedConfigOnly 设置与 NPSM 无关 | ||
| 3 | NPInitPendingLane4 | |||
| 2 | NPInitPendingLane3 | |||
| 1 | NPInitPendingLane2 | |||
| 0 | NPInitPendingLane1 |
8.15.5 网络路径相关通告(能力和限制)#
8.15.5.1 最大持续时间通告#
瞬态 NPSM 状态的最大持续时间由模块通告如下:
表 8-146 NPSM 持续时间通告(Page 16h)
| 字节 | 位 | 字段名称 | 字段描述 | 类型 |
|---|---|---|---|---|
| 224 | 7-4 | MaxDurationNPDeinit | NPDeinit 状态的最大持续时间(按表 8-48 编码) | RO Rqd. |
| 3-0 | MaxDurationNPInit | NPInit 状态的最大持续时间(按表 8-48 编码) | RO Rqd. | |
| 225 | 7-4 | MaxDurationNPTxTurnOff | NPTxTurnOff 状态的编码最大持续时间(参见表 8-48) | RO Rqd. |
| 3-0 | MaxDurationNPTxTurnOn | NPTxTurnOn 状态的编码最大持续时间(参见表 8-48) | RO Rqd. |
8.15.5.2 杂项选项#
模块通告主机是否可以配置主机替换信号以在下游方向转发,替换从上游源接收的(可能但不一定失败的)主机信号。
注意:替换信号插入旨在当没有主机信号连接到 NP 的复用连接点(Tx 方向)时或当没有主机信号预期来自 NP 的复用连接点(Rx 方向)时使用,即始终在主机信号已知为有意缺失或”未装备”时使用。
注意:假设 NP 应用的相关传输规范在上游主机信号故障时提供传输和转发规范,例如自动 AIS 或 LF 插入。在转发数据流之前由模块自动执行的数据流的反应性修改通常称为”后续动作”。
注意:当不支持可配置替换信号时,故意未连接的主机信号将被模块视为主机信号故障,而支持可配置替换信号可以区分有意未连接的信号和导致后续动作的信号故障。
表 8-147 杂项选项(Page 16h)
| 字节 | 位 | 字段名称 | 字段描述 | 类型 |
|---|---|---|---|---|
| 226 | 7-2 | - | Reserved | RO |
| 1 | ReplaceHPSignalTxSupported | 0b:不支持 1b:支持 NP 输入的 Tx 替换信号 | Rqd. | |
| 0 | ReplaceHPSignalRxSupported | 0b:不支持 1b:支持 NP 输出的 Rx 替换信号 | Rqd. |
8.15.5.3 应用通告扩展#
作为第 8.2.12 节中描述的基本应用通告的扩展,支持 NP 应用的模块为每个应用描述符(由其 AppSel 代码标识)通告所通告的应用是 DP 应用还是 NP 应用。
此应用通告扩展对于可靠地区分系统接口应用(DP 应用)和单工应用(NP 应用)是必要的。
注意:真正的同构复用应用的应用描述符也可以从与 MediaInterfaceID 和 HostInterfaceID 关联的数据速率来识别:同构复用主机路径的数量是应用描述符中媒体接口(MediaInterfaceID)的较大信息速率与主机接口(HostInterfaceID)的较小信息速率的商。
注意:应用描述符的扩展是必需的(对于支持 NP 应用的模块),因为单工 NP 应用和 DP 应用的区分不能总是从所通告的 MediaInterfaceID 的含义中推导出来,因此必须明确指示。
表 8-148 NP 扩展应用通告(Page 16h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 248 | 7 | ExtAppDescriptor15 | ExtAppDescriptor` 由 AppSel\` 标识的应用描述符: | RO Rqd. |
| 6 | ExtAppDescriptor14 | 0b:描述支持的 DP 应用 | ||
| 5 | ExtAppDescriptor13 | 1b:(部分)描述支持的 NP 应用 | ||
| 4 | ExtAppDescriptor12 | 注意:当 AppSel`` 标识的应用描述符未使用时,该值无关紧要 | ||
| 3 | ExtAppDescriptor11 | |||
| 2 | ExtAppDescriptor10 | |||
| 1 | ExtAppDescriptor9 | |||
| 0 | ExtAppDescriptor8 | |||
| 249 | 7 | ExtAppDescriptor7 | RO Rqd. | |
| 6 | ExtAppDescriptor6 | |||
| 5 | ExtAppDescriptor5 | |||
| 4 | ExtAppDescriptor4 | |||
| 3 | ExtAppDescriptor3 | |||
| 2 | ExtAppDescriptor2 | |||
| 1 | ExtAppDescriptor1 | |||
| 0 | - |
8.15.5.4 复用和单工应用通告#
NP 应用由一个或多个应用描述符(参见表 8-23、表 8-58 和表 8-59)通告,每个描述符指示一种 HP 类型(HostInterfaceID)和 NP 类型(MediaInterfaceID),以及区分 NP 应用和 DP 应用的应用描述符扩展(参见表 8-148)。
单工或同构复用 NP 应用在具有 AppSel=` 且关联的 ExtAppDescriptor\` 位被设置的单个应用描述符中通告。
注意:使用单个应用描述符的一个特点是所有支路的主机通道数据速率相同,因为它们都使用相同的 HostInterfaceID。
混合(异构)复用 NP 应用通过一组相互一致的应用描述符(所有关联的 ExtAppDescriptor`` 位均被设置)以及附加的混合复用通告寄存器(参见表 8-150 和表 8-151 以及第 8.15.5.5 节)来通告。
当所有描述符通告相同的 MediaInterfaceID 且在 MediaLaneAssignmentOptions 中至少有一个公共选项,并且应用描述符中存在至少一种 HostLaneAssignmentOptions 的组合可以为每个描述符分配不同的主机通道时,这些应用描述符是一致的。
混合复用应用的一致通道数据速率要求主机通道数据速率相同。
注意:换句话说,复用应用的所有支路是可能具有不同通道数但具有统一通道数据速率的多通道信号。如下文第 8.15.5.5 节所述,此通道数据统一性要求甚至扩展到并行复用应用(任何类型)。
注意:此看似不期望的限制的理由是在合理的通告复杂度水平上保持能力和限制的准确定义(如下所述)。
馈送单个网络路径的主机路径通道组的有序列表(按通道编号排列)称为复用结构。
馈送所有(可能多个并行网络路径的)主机路径通道组的有序列表称为全局复用结构。
复用粒度由 HostInterfaceID 值定义,该值指示公共主机通道数据速率和混合复用结构的复用速率粒度。
当满足以下条件时,支持特定的全局复用结构:
- 每个主机路径的数据速率是所选复用粒度的 2 的幂次倍数
- 每个网络路径的信息速率是其所有主机路径信息速率的总和
- 主机通道到主机路径的通道分组被模块通告为受支持
表 8-149 列出了复用应用中混合主机路径宽度的所有可能通道分组(全局复用结构)及其全局复用结构编码(复用结构 ID)。
表 8-149 还显示了特定全局复用结构的主机路径 DPID(HP DPID),与它们所属的任何 NP 无关。
当支持并行网络路径时,第一个 NP 使用第一组主机通道与一个或多个 HP 关联,第 n 个 NP 使用第 n 组主机通道与一个或多个 HP 关联。
注意:此表与表 8-38 具有相同的手工制作结构,不可扩展到更少或更多通道。此处重用是因为实现中预期使用查找表。ID 编号(0-25)不同(相差一),因为此处复用结构 ID 选择位掩码中的位位置。
表 8-149 复用通道分组通告
| 复用结构 ID | HP 数量 | HP 宽度 | 每主机通道编号的 HP DPID | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 8 | 1, 1, 1, 1, 1, 1, 1, 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
| 1 | 1 | 8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
| 2 | 2 | 4, 4 | 1 | 1 | 1 | 1 | 5 | 5 | 5 | 5 | |
| 3 | 4 | 2, 2, 2, 2 | 1 | 1 | 3 | 3 | 5 | 5 | 7 | 7 | |
| 4 | 3 | 4, 2, 2 | 1 | 1 | 1 | 1 | 5 | 5 | 7 | 7 | |
| 5 | 4 | 4, 2, 1, 1 | 1 | 1 | 1 | 1 | 5 | 5 | 7 | 8 | |
| 6 | 4 | 4, 1, 1, 2 | 1 | 1 | 1 | 1 | 5 | 6 | 7 | 7 | |
| 7 | 5 | 4, 1, 1, 1, 1 | 1 | 1 | 1 | 1 | 5 | 6 | 7 | 8 | |
| 8 | 3 | 2, 2, 4 | 1 | 1 | 3 | 3 | 5 | 5 | 5 | 5 | |
| 9 | 4 | 2, 1, 1, 4 | 1 | 1 | 3 | 4 | 5 | 5 | 5 | 5 | |
| 10 | 4 | 1, 1, 2, 4 | 1 | 2 | 3 | 3 | 5 | 5 | 5 | 5 | |
| 11 | 4 | 1, 1, 1, 1, 4 | 1 | 2 | 3 | 4 | 5 | 5 | 5 | 5 | |
| 12 | 5 | 2, 2, 2, 1, 1 | 1 | 1 | 3 | 3 | 5 | 5 | 7 | 8 | |
| 13 | 5 | 2, 2, 1, 1, 2 | 1 | 1 | 3 | 3 | 5 | 6 | 7 | 7 | |
| 14 | 5 | 2, 1, 1, 2, 2 | 1 | 1 | 3 | 4 | 5 | 5 | 7 | 7 | |
| 15 | 5 | 1, 1, 2, 2, 2 | 1 | 2 | 3 | 3 | 5 | 5 | 7 | 7 | |
| 16 | 6 | 2, 2, 1, 1, 1, 1 | 1 | 1 | 3 | 3 | 5 | 6 | 7 | 8 | |
| 17 | 6 | 2, 1, 1, 2, 1, 1 | 1 | 1 | 3 | 4 | 5 | 5 | 7 | 8 | |
| 18 | 6 | 2, 1, 1, 1, 1, 2 | 1 | 1 | 3 | 4 | 5 | 6 | 7 | 7 | |
| 19 | 6 | 1, 1, 2, 2, 1, 1 | 1 | 2 | 3 | 3 | 5 | 5 | 7 | 8 | |
| 20 | 6 | 1, 1, 2, 1, 1, 2 | 1 | 2 | 3 | 3 | 5 | 6 | 7 | 7 | |
| 21 | 6 | 1, 1, 1, 1, 2, 2 | 1 | 2 | 3 | 4 | 5 | 5 | 7 | 7 | |
| 22 | 7 | 2, 1, 1, 1, 1, 1, 1 | 1 | 1 | 3 | 4 | 5 | 6 | 7 | 8 | |
| 23 | 7 | 1, 1, 2, 1, 1, 1, 1 | 1 | 2 | 3 | 3 | 5 | 6 | 7 | 8 | |
| 24 | 7 | 1, 1, 1, 1, 2, 1, 1 | 1 | 2 | 3 | 4 | 5 | 5 | 7 | 8 | |
| 25 | 7 | 1, 1, 1, 1, 1, 1, 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 7 |
基于此全局复用结构的编码枚举,模块通过最多四个复用描述符的列表通告支持的全局复用选项如下:
每个复用描述符通告一个支持的全局复用结构,包括复用粒度 MuxGranularity(带宽)和该粒度的 MuxStructsSupported 集合。出于访问效率的原因,复用描述符的两部分(粒度和全局复用结构列表)存储在两个独立的寄存器数组中,如下所示:
表 8-150 复用粒度通告(Page 16h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 228 | 7-0 | MuxGranularity1 | U8 MuxGranularity`` | RO Rqd. |
| 229 | 7-0 | MuxGranularity2 | 0:不支持(粒度列表结束:零值之后所有后续 MuxGranularity`` 字段也为零) | |
| 230 | 7-0 | MuxGranularity3 | >0:HostInterfaceID 指示通道数据速率和复用速率粒度:所有复用信号具有相同的通道数据速率,且数据速率是复用速率粒度的 2 的幂次倍数 | |
| 231 | 7-0 | MuxGranularity4 |
表 8-151 全局复用结构通告(Page 16h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 232-235 | 31-0 | MuxStructsSupported1 | U32 MuxStructsSupported` 包含一个位掩码,其中每个被设置的位 \ 指示支持表 8-149 中定义的复用结构 ID \ | RO Rqd. |
| 236-239 | 31-0 | MuxStructsSupported2 | RO Rqd. | |
| 240-243 | 31-0 | MuxStructsSupported3 | RO Rqd. | |
| 244-247 | 31-0 | MuxStructsSupported4 | RO Rqd. |
8.16 Banked Page 17h(标志位和掩码)#
注意:将不同功能的标志位收集在一个页面上,允许主机高效地搜索中断源,无需进行与功能相关的页面切换。
当相关功能之一被通告为受支持时,模块支持此页面。
Page 17h 可以选择性地进行 Bank 划分。Page 17h 的每个 Bank 对应 8 个通道。
Page 17h 细分为等大小的标志位和掩码区域,如下表所示:
表 8-152 Page 17h 概览
| 字节 | 大小(字节) | 主题区域 | 描述 |
|---|---|---|---|
| 128 | 1 | 网络路径标志位 | 网络路径相关标志位 |
| 129-191 | 63 | - | Reserved[63] |
| 192 | 1 | 网络路径掩码 | 网络路径相关掩码 |
| 193-255 | 63 | - | Reserved[63] |
8.16.1 标志位#
表 8-153 网络路径相关标志位(Page 17h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 128 | 7 | NPStateChangedFlag8 | NPStateChangedFlag` 主机通道 \` 的网络路径的锁存网络路径状态变化标志位 | RO/COR Cond. |
| 6 | NPStateChangedFlag7 | 条件:Page 17h 受支持 | ||
| 5 | NPStateChangedFlag6 | |||
| 4 | NPStateChangedFlag5 | |||
| 3 | NPStateChangedFlag4 | |||
| 2 | NPStateChangedFlag3 | |||
| 1 | NPStateChangedFlag2 | |||
| 0 | NPStateChangedFlag1 |
8.16.2 掩码#
表 8-154 网络路径相关掩码(Page 17h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 192 | 7 | NPStateChangedMask8 | NPStateChangedMask` 主机通道 \ 的网络路径的 NPStateChangedFlag\` 掩码 | RW Cond. |
| 6 | NPStateChangedMask7 | 条件:Page 17h 受支持 | ||
| 5 | NPStateChangedMask6 | |||
| 4 | NPStateChangedMask5 | |||
| 3 | NPStateChangedMask4 | |||
| 2 | NPStateChangedMask3 | |||
| 1 | NPStateChangedMask2 | |||
| 0 | NPStateChangedMask1 |
8.17 Banked Page 18h(通道控制和数据路径控制 第2部分)#
Page 18h 细分为若干区域,如下表所示:
表 8-155 Page 18h 概览
| 字节 | 大小(字节) | 主题区域 | 描述 |
|---|---|---|---|
| 128-135 | 8 | SCS 0 扩展 | 暂存控制集 0 中标准化应用描述符的每通道 NAD 块编号 |
| 136-143 | 8 | SCS 1 扩展 | 暂存控制集 1 中标准化应用描述符的每通道 NAD 块编号 |
| 144-199 | 56 | SCS 0 多功能控制集参数空间 | 受限 – 在 CMIS-VCS [6] 中定义。CMIS-VCS 支持在 01h:162.7 中通告。 |
| 200-255 | 56 | SCS 1 多功能控制集参数空间 |
8.17.1 暂存控制集扩展 – 应用描述符块索引#
传统控制集通过范围为 1 到 15 的 AppSel 代码来标识应用。
当使用标准化应用描述符(NAD)时(例如支持超过 15 个应用),必须标识相关的标准化应用描述符块。另请参见第 6.2.1.4.2 和 8.20 节。
表 8-156 暂存控制集 0 – 标准化应用描述符块索引(Page 18h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 128 | 7-4 | - | SCS0:: NADBlockIndex<lane> | RW Cnd. |
| 3-0 | NADBlockIndex1 | 条件:Page 18h 受支持。位 7-4 保留以允许未来扩展 | ||
| 129 | 7-4 | - | RW Cnd. | |
| 3-0 | NADBlockIndex2 | |||
| 130 | 7-4 | - | RW Cnd. | |
| 3-0 | NADBlockIndex3 | |||
| 131 | 7-4 | - | RW Cnd. | |
| 3-0 | NADBlockIndex4 | |||
| 132 | 7-4 | - | RW Cnd. | |
| 3-0 | NADBlockIndex5 | |||
| 133 | 7-4 | - | RW Cnd. | |
| 3-0 | NADBlockIndex6 | |||
| 134 | 7-4 | - | RW Cnd. | |
| 3-0 | NADBlockIndex7 | |||
| 135 | 7-4 | - | RW Cnd. | |
| 3-0 | NADBlockIndex8 |
表 8-157 暂存控制集 1 – 标准化应用描述符块索引(Page 18h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 136 | 7-4 | - | SCS1:: NADBlockIndex<lane> | RW Cnd. |
| 3-0 | NADBlockIndex1 | 条件:Page 18h 受支持且 SCS1 受支持。位 7-4 保留以允许未来扩展 | ||
| 137 | 7-4 | - | RW Cnd. | |
| 3-0 | NADBlockIndex2 | |||
| 138 | 7-4 | - | RW Cnd. | |
| 3-0 | NADBlockIndex3 | |||
| 139 | 7-4 | - | RW Cnd. | |
| 3-0 | NADBlockIndex4 | |||
| 140 | 7-4 | - | RW Cnd. | |
| 3-0 | NADBlockIndex5 | |||
| 141 | 7-4 | - | RW Cnd. | |
| 3-0 | NADBlockIndex6 | |||
| 142 | 7-4 | - | RW Cnd. | |
| 3-0 | NADBlockIndex7 | |||
| 143 | 7-4 | - | RW Cnd. | |
| 3-0 | NADBlockIndex8 |
8.18 Banked Page 19h(通道状态和数据路径状态 第2部分)#
Page 19h 上的所有字段均为只读。
Page 19h 在支持单向重新配置或支持按照 [6] 中的规范使用 ACS 参数空间时受支持。
Page 19h 可以选择性地进行 Bank 划分。Page 19h 的每个 Bank 对应一组 8 个通道。
Page 19h 细分为若干区域,如下表所示:
表 8-158 Page 19h 概览
| 字节 | 大小(字节) | 主题区域 | 描述 |
|---|---|---|---|
| 128-135 | 8 | 活跃控制集数据路径配置 Tx | Tx 的已预配置 DP 设置,镜像在 Page 11h:206-213 中。通告:01h:162.6 |
| 136-143 | 8 | 活跃控制集数据路径配置 Rx | Rx 的已预配置 DP 设置。通告:01h:162.6 |
| 144-151 | 8 | ACS 扩展 | 活跃控制集中标准化应用描述符的每通道 NAD 块索引 |
| 152-207 | 56 | ACS 多功能控制集参数空间 | 受限 – 在 CMIS-VCS [6] 中定义。CMIS-VCS 支持在 01h:162.7 中通告。条件:参见 [6] |
| 208-255 | 48 | - | Reserved |
8.18.1 方向特定的已预配置数据路径配置#
当模块支持 Tx 和 Rx 方向的独立重新配置时(当通告位 UnidirReconfigSupported 被设置时),当主机使用 ApplyDPInitTx 和 ApplyDPInitRx 触发器时,Rx 和 Tx 方向的已预配置数据路径配置可能变得不同。参见第 8.10.6 节。
在此情况下(当 UnidirReconfigSupported 位被设置时),DPConfigTx 寄存器(参见表 8-159)和 DPConfigRx 寄存器(参见表 8-160)显示每方向的已预配置数据路径配置。
表 8-159 活跃控制集,已预配置 Tx 数据路径配置(Page 19h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 128 | 7-4 | AppSelCodeTx1 | ACS::DPConfigTx1 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDTx1 | |||
| 0 | ExplicitControlTx1 | |||
| 129 | 7-4 | AppSelCodeTx2 | ACS::DPConfigTx2 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDTx2 | |||
| 0 | ExplicitControlTx2 | |||
| 130 | 7-4 | AppSelCodeTx3 | ACS::DPConfigTx3 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDTx3 | |||
| 0 | ExplicitControlTx3 | |||
| 131 | 7-4 | AppSelCodeTx4 | ACS::DPConfigTx4 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDTx4 | |||
| 0 | ExplicitControlTx4 | |||
| 132 | 7-4 | AppSelCodeTx5 | ACS::DPConfigTx5 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDTx5 | |||
| 0 | ExplicitControlTx5 | |||
| 133 | 7-4 | AppSelCodeTx6 | ACS::DPConfigTx6 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDTx6 | |||
| 0 | ExplicitControlTx6 | |||
| 134 | 7-4 | AppSelCodeTx7 | ACS::DPConfigTx7 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDTx7 | |||
| 0 | ExplicitControlTx7 | |||
| 135 | 7-4 | AppSelCodeTx8 | ACS::DPConfigTx8 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDTx8 | |||
| 0 | ExplicitControlTx8 |
表 8-160 活跃控制集,已预配置 Rx 数据路径配置(Page 19h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 136 | 7-4 | AppSelCodeRx1 | ACS::DPConfigRx1 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDRx1 | |||
| 0 | ExplicitControlRx1 | |||
| 137 | 7-4 | AppSelCodeRx2 | ACS::DPConfigRx2 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDRx2 | |||
| 0 | ExplicitControlRx2 | |||
| 138 | 7-4 | AppSelCodeRx3 | ACS::DPConfigRx3 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDRx3 | |||
| 0 | ExplicitControlRx3 | |||
| 139 | 7-4 | AppSelCodeRx4 | ACS::DPConfigRx4 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDRx4 | |||
| 0 | ExplicitControlRx4 | |||
| 140 | 7-4 | AppSelCodeRx5 | ACS::DPConfigRx5 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDRx5 | |||
| 0 | ExplicitControlRx5 | |||
| 141 | 7-4 | AppSelCodeRx6 | ACS::DPConfigRx6 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDRx6 | |||
| 0 | ExplicitControlRx6 | |||
| 142 | 7-4 | AppSelCodeRx7 | ACS::DPConfigRx7 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDRx7 | |||
| 0 | ExplicitControlRx7 | |||
| 143 | 7-4 | AppSelCodeRx8 | ACS::DPConfigRx8 参见表 8-92 | RO Cnd. |
| 3-1 | DataPathIDRx8 | |||
| 0 | ExplicitControlRx8 |
8.18.2 活跃控制集扩展 – 应用块选择#
传统控制集通过范围为 1 到 15 的 AppSel 代码来标识应用,该代码引用原始(第 0 个)应用描述符段。当通告超过 15 个应用时,必须标识相关的标准化应用描述符块(参见第 6.2.1.4.2 节)。
表 8-161 活跃控制集 – 标准化应用描述符块索引(Page 19h)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 144 | 7-4 | - | ACS:: NADBlockIndex<lane> | RO Cnd. |
| 3-0 | NADBlockIndex1 | 位 7-4 保留以允许未来扩展 | ||
| 145 | 7-4 | - | RO Cnd. | |
| 3-0 | NADBlockIndex2 | |||
| 146 | 7-4 | - | RO Cnd. | |
| 3-0 | NADBlockIndex3 | |||
| 147 | 7-4 | - | RO Cnd. | |
| 3-0 | NADBlockIndex4 | |||
| 148 | 7-4 | - | RO Cnd. | |
| 3-0 | NADBlockIndex5 | |||
| 149 | 7-4 | - | RO Cnd. | |
| 3-0 | NADBlockIndex6 | |||
| 150 | 7-4 | - | RO Cnd. | |
| 3-0 | NADBlockIndex7 | |||
| 151 | 7-4 | - | RO Cnd. | |
| 3-0 | NADBlockIndex8 |
8.19 Banked 页面范围 1Ah-1Bh(资源模块)#
这些 Banked 页面在资源模块规范(如 [10])中定义。
资源模块类型(如有)在 ModuleFunctionType 字段 00h:57 中通告(参见表 8-18)。
8.20 Banked Page 1Ch(标准化应用描述符)#
Page 1Ch 上的所有字段均为只读且静态的。
每个 NADBanksSupported Bank 为 15 个标准化应用描述符提供空间。
标准化应用描述符的概念在第 6.2.1.4.2 节中介绍。
位于 Bank 0 中的第一个 NAD 块****镜像了始终可用的基本应用描述符列表的内容,这些描述符分配在低位内存(参见第 8.2.12 节)和 Page 0h(参见第 8.4.15 节)中。
与散布在内存中的基本应用描述符不同,每个标准化应用描述符(NAD)是一个连续的 8 字节数据结构(参见表 8-163),允许系统化和便捷的访问。
Page 1Ch 细分为若干区域,如下表所示:
表 8-162 Page 1Ch 概览
| 字节 | 大小(字节) | 主题区域 | 描述 |
|---|---|---|---|
| 128-247 | 120 | 标准化应用描述符块 | 包含 15 个标准化应用描述符(NAD)实例数组的 NAD 块 |
| 248-255 | 8 | - | Reserved[8] |
8.20.1 标准化应用描述符格式#
表 8-163 标准化应用描述符(NAD)结构(Page 1Ch)
| 字节偏移 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 0 | 7-0 | HostInterfaceID | 参见第 0 节 | RO Rqd. |
| 1 | 7-0 | MediaInterfaceID | ||
| 2 | 7-4 | HostLaneCount | ||
| 3-0 | MediaLaneCount | |||
| 3 | 7-0 | HostLaneAssignmentOptions | ||
| 4 | 7-0 | MediaLaneAssignmentOptions | ||
| 5 | 7 | NetworkPathIndicator | 网络路径扩展,参见第 8.15.5.3 节。0b:NAD 描述数据路径 1b:NAD 描述网络路径 | |
| 6-0 | - | Reserved | ||
| 6 | 7-0 | - | ||
| 7 | 7-0 | - |
8.20.2 标准化应用描述符块#
表 8-164 标准化应用描述符块(Page 1Ch)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 128-135 | 7-0 | NAD1 | 数据结构 NAD`,AppSel 代码 = \ = 1..15,在 Bank 索引 \(j = 0..15)上访问,是应用编号 AN = 15*\ + \ 的标准化应用描述符(NAD)。注意:要使用此 AN 选择应用(例如在控制集中),必须使用设置 AppSelCode =\ 和 NADBlockIndex = \ | RO Rqd. |
| 136-143 | 7-0 | NAD2 | RO Rqd. | |
| 144-151 | 7-0 | NAD3 | RO Rqd. | |
| 152-159 | 7-0 | NAD4 | RO Rqd. | |
| 160-167 | 7-0 | NAD5 | RO Rqd. | |
| 168-175 | 7-0 | NAD6 | RO Rqd. | |
| 176-183 | 7-0 | NAD7 | RO Rqd. | |
| 184-191 | 7-0 | NAD8 | RO Rqd. | |
| 192-199 | 7-0 | NAD9 | RO Rqd. | |
| 200-207 | 7-0 | NAD10 | RO Rqd. | |
| 208-215 | 7-0 | NAD11 | RO Rqd. | |
| 216-223 | 7-0 | NAD12 | RO Rqd. | |
| 224-231 | 7-0 | NAD13 | RO Rqd. | |
| 232-239 | 7-0 | NAD14 | RO Rqd. | |
| 240-247 | 7-0 | NAD15 | RO Rqd. |
8.21 Banked Page 1Dh(主机通道切换)#
每个受支持的 Bank 为一组 8 个通道内的主机通道切换功能提供空间。
有关此可选功能的描述,请参见第 7.8 节。
Page 1Dh 细分为若干区域,如下表所示:
表 8-165 Page 1Dh 概览
| 字节 | 大小(字节) | 主题区域 | 描述 |
|---|---|---|---|
| 128-135 | 8 | 通告 | 主机通道切换相关功能 |
| 136-151 | 16 | 预配置 | 主机通道切换的已预配置配置 |
| 152-159 | 8 | 配置 | 启用主机通道切换 |
| 160-167 | 8 | 命令 | 命令执行触发器 |
| 168-183 | 16 | 结果 | 命令执行状态和结果 |
| 184-199 | 16 | 状态 | 主机通道切换的已提交配置 |
| 200-255 | 56 | - | Reserved[56] |
表 8-166 主机通道切换(Page 1Dh)
| 字节 | 位 | 字段名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 通告 | ||||
| 128 | 7-4 | MaxRedirectionCommitDuration | CommitRedirection 命令执行处于进行中状态的最大持续时间,按表 8-48 中定义的编码。 | RO Rqd. |
| 3-0 | - | Reserved | ||
| 129-135 | 7-0 | - | Reserved[7] | RO |
| 预配置 | ||||
| 136 | RedirectionOfLane1 | RedirectionOfLane` 包含电气主机通道编号 \` 要重定向到的标称主机通道编号 j(在 {1, …, 8} 中)。有效的重定向与活跃数据路径的粒度和数据路径内的通道顺序一致,并且是通道的排列。 | RW Rqd. | |
| 137 | RedirectionOfLane2 | RW Rqd. | ||
| 138 | RedirectionOfLane3 | RW Rqd. | ||
| 139 | RedirectionOfLane4 | RW Rqd. | ||
| 140 | RedirectionOfLane5 | RW Rqd. | ||
| 141 | RedirectionOfLane6 | RW Rqd. | ||
| 142 | RedirectionOfLane7 | RW Rqd. | ||
| 143 | RedirectionOfLane8 | RW Rqd. | ||
| 144-151 | - | Reserved[8] | ||
| 配置 | ||||
| 152 | 7-1 | - | Reserved | |
| 0 | EnableHostLaneRedirection | 0b:禁用:提交命令无效 1b:启用:提交命令有效。首次启用时,RedirectionOfLane 寄存器显示平凡的未排列主机通道切换,即提交命令不会自动执行。禁用时,当前切换配置保持不变。 | RW Rqd. | |
| 153-159 | - | Reserved[7] | ||
| 命令 | ||||
| 160 | 7-1 | - | Reserved | |
| 0 | CommitRedirection | 1b:将 RedirectionOfLane 寄存器提交到硬件。重定向未更改的通道上的流量完整性不受影响。与 CMIS 中其他地方一样,命令应在执行前进行验证,验证失败时不做任何更改。 | WO/SC Rqd. | |
| 161-167 | - | Reserved[7] | ||
| 命令结果 | ||||
| 168 | RedirectionCommitResult | RedirectionCommitResult` 编码通道 \` 上最近(或当前)主机通道切换提交命令的结果 | RO Rqd. | |
| 0:无状态(初始值) | ||||
| 1:命令执行成功 | ||||
| 2:命令执行进行中 | ||||
| 3:被拒绝,未指定的验证失败 | ||||
| 4:被拒绝,无效配置(非排列) | ||||
| 5:被拒绝,与活跃数据路径不一致 | ||||
| 6:被拒绝,不支持的通道顺序 | ||||
| >6:Reserved | ||||
| 169-183 | - | Reserved[15] | ||
| 配置状态 | ||||
| 184 | RedirectStatusOfLane1 | RedirectStatusOfLane` 包含电气主机通道 \` 重定向到的标称通道编号 j(在 {1, …, 8} 中)。默认值:j = i | RO Rqd. | |
| 185 | RedirectStatusOfLane2 | RO Rqd. | ||
| 186 | RedirectStatusOfLane3 | RO Rqd. | ||
| 187 | RedirectStatusOfLane4 | RO Rqd. | ||
| 188 | RedirectStatusOfLane5 | RO Rqd. | ||
| 189 | RedirectStatusOfLane6 | RO Rqd. | ||
| 190 | RedirectStatusOfLane7 | RO Rqd. | ||
| 191 | RedirectStatusOfLane8 | RO Rqd. | ||
| 192-199 | - | Reserved[8] |
8.22 Banked 页面范围 20h-2Fh(VDM)#
多功能诊断监控(VDM)是一种可选功能,允许扩展可监控的可观测量类型,超出低位内存和 Page 13h 中定义的范围。
基本监控功能包括访问最近样本和阈值越限检测。
高级监控功能为某些可观测量提供区间统计(最小值、最大值、平均值)。
模块在 Bit 01h:142.6 中通告对 VDM 功能的支持(参见表 8-46)。
模块可提供最多 256 个所谓的 VDM 实例(“槽位”),用于最多 256 个可观测量。
VDM 实例的数据在 VDM 页面范围 20h-2Fh 中以每组 64 个 VDM 实例的形式提供。
额外的 Bank 页面可以为具有超过 8 个通道的模块提供 VDM 实例。
有关更多信息和 VDM 功能介绍,请另参见第 7.1 节。
介绍和概览
VDM 实例是 VDM 页面中编号的”槽位”,可以是活跃的并关联到基本可观测量或基本可观测量的统计量(最小值、最大值、平均值),也可以是被动的且未使用。
与 VDM 实例关联的可观测量可以与通道、数据路径或整个模块相关。
VDM 实例与基本可观测量或统计量的关联是模块定义的:模块在 VDM 实例描述符数组中描述每个受支持的 VDM 实例,该数组分布在最多四个页面上(每页 64 个描述符)。
VDM 实例的描述符从支持的可观测量类型列表中标识关联的可观测量(基本或统计),或将 VDM 实例标记为未使用(被动)。对于活跃的 VDM 实例,描述符指向一组四个模块定义的阈值,模块使用这些阈值来检测和标记阈值越限。主机可以为每个阈值越限标志位设置掩码以抑制该标志位对中断请求生成的贡献。
注意:不同的模块通常会支持监控相同的可观测量,但用于每个可观测量的 VDM 实例不是预定义的。主机将需要从 VDM 实例描述符数组中搜索和映射所需的监控器。
对于基本可观测量,VDM 通过其 VDM 实例的样本寄存器(在 Page 24h-27h 中)周期性地报告该可观测量的”当前值”样本,并且通过在阈值越限上设置适当的标志位为该可观测量提供高/低报警/警告阈值越限监控。
对于统计可观测量(最小值、最大值、平均值),主机可以”实时”读取由模块更新的统计量当前值,但也可以请求模块停止(冻结)当前值更新,以确保跨一个或多个 VDM 实例的统计结果的一致读取(参见第 8.22.6 节)。模块也为统计可观测量执行阈值越限检测。
(全局)冻结统计报告寄存器的一个重要副作用是,模块在对当时冻结的寄存器执行最后一次更新时,在内部通过重置其内部统计变量来启动新的统计区间。
这种冻结和重置机制实现了跨越主机定义区间的无间隔区间统计。
VDM 页面概览
下表提供了 VDM 页面及其用途的概览:
表 8-167 Page 20h-2Fh 的页面定义摘要
| 页面 | 主题区域 | 描述 |
|---|---|---|
| 20h | VDM 实例 1-64 的描述符(第 1 组) | 每个 2 字节值描述模块提供的一个 VDM 实例。(RO 访问) |
| 21h | VDM 实例 65-128 的描述符(第 2 组) | |
| 22h | VDM 实例 129-192 的描述符(第 3 组) | |
| 23h | VDM 实例 193-256 的描述符(第 4 组) | |
| 24h | VDM 实例 1-64 的样本(第 1 组) | 每个 2 字节值是 VDM 实例监控的可观测量的(可能已冻结的)样本。(RO 访问) |
| 25h | VDM 实例 65-128 的样本(第 2 组) | |
| 26h | VDM 实例 129-192 的样本(第 3 组) | |
| 27h | VDM 实例 193-256 的样本(第 4 组) | |
| 28h | 阈值 1-16(第 1 组) | 每组四个 2 字节值描述阈值越限检测器的阈值集,可能由多个 VDM 实例共享。这些阈值集与 VDM 实例的关联在 VDM 描述符中描述。(RO 访问) |
| 29h | 阈值 17-32(第 2 组) | |
| 2Ah | 阈值 33-48(第 3 组) | |
| 2Bh | 阈值 49-64(第 4 组) | |
| 2Ch | VDM 标志位(第 1-4 组) | 每个字节包含 2 个 VDM 实例的锁存阈值越限标志位(每个 4 位)。(RO/COR 访问) |
| 2Dh | VDM 掩码(第 1-4 组) | 每个字节包含 2 个 VDM 实例的阈值越限标志位掩码(每个 4 位)。(RW 访问)每个掩码的默认值为 1(已掩码) |
| 2Eh | - | Reserved |
| 2Fh | 通告和动态控制 | VDM 支持详情和动态控制(混合 RO 和 RW 访问) |
8.22.1 Page 20h-23h(VDM 描述符组页面)#
最多可有 256 个 VDM 实例来监控最多 256 个 VDM 可观测量。
模块在 VDM 实例描述符寄存器中描述其支持的 VDM 实例列表。
每个页面包含四个 VDM 实例组之一。
表 8-168 VDM 配置(Page 20h-23h)
| 页面 | 字节 | 寄存器名称 | 描述 | 类型 |
|---|---|---|---|---|
| 20h | 128-129 | VDMDescriptor1 | 第 1 组中 VDM 实例 1 的描述符寄存器 | RO |
| 130-131 | VDMDescriptor2 | 第 1 组中 VDM 实例 2 的描述符寄存器 | RO | |
| 132-251 | VDM 3…62 | 第 1 组中 VDM 实例 3 至 62 的描述符寄存器 | RO | |
| 252-253 | VDMDescriptor63 | 第 1 组中 VDM 实例 63 的描述符寄存器 | RO | |
| 254-255 | VDMDescriptor64 | 第 1 组中 VDM 实例 64 的描述符寄存器 | RO | |
| 21h | 128-129 | VDMDescriptor65 | 第 2 组中 VDM 实例 65 的描述符寄存器 | RO |
| 130-131 | VDMDescriptor66 | 第 2 组中 VDM 实例 66 的描述符寄存器 | RO | |
| 132-251 | VDM 67..126 | 第 2 组中 VDM 实例 67 至 126 的描述符寄存器 | RO | |
| 252-253 | VDMDescriptor127 | 第 2 组中 VDM 实例 127 的描述符寄存器 | RO | |
| 254-255 | VDMDescriptor128 | 第 2 组中 VDM 实例 128 的描述符寄存器 | RO | |
| 22h | 128-129 | VDMDescriptor129 | 第 3 组中 VDM 实例 129 的描述符寄存器 | RO |
| 130-131 | VDMDescriptor130 | 第 3 组中 VDM 实例 130 的描述符寄存器 | RO | |
| 132-251 | VDM 131..190 | 第 3 组中 VDM 实例 131 至 190 的描述符寄存器 | RO | |
| 252-253 | VDMDescriptor191 | 第 3 组中 VDM 实例 191 的描述符寄存器 | RO | |
| 254-255 | VDMDescriptor192 | 第 3 组中 VDM 实例 192 的描述符寄存器 | RO | |
| 23h | 128-129 | VDMDescriptor193 | 第 4 组中 VDM 实例 193 的描述符寄存器 | RO |
| 130-131 | VDMDescriptor194 | 第 4 组中 VDM 实例 194 的描述符寄存器 | RO | |
| 132-251 | VDM 195..254 | 第 4 组中 VDM 实例 195 至 254 的描述符寄存器 | RO | |
| 252-253 | VDMDescriptor255 | 第 4 组中 VDM 实例 255 的描述符寄存器 | RO | |
| 254-255 | VDMDescriptor256 | 第 4 组中 VDM 实例 256 的描述符寄存器 | RO |
8.22.1.1 VDM 实例描述符#
模块通过两字节描述符字段描述每个可用的 VDM 实例。
表 8-169 2 字节 VDM 实例描述符定义
| 字节 | 位 | 字段名称和描述 |
|---|---|---|
| 偶地址 | 7-4 | LocalThresholdSetID 此编号确定该可观测量将使用哪个阈值集。阈值集与可观测量描述符在同一组中。全局 ThresholdSetID(1-64)定义如下:Page 20h(第 1 组):ThresholdSetID = 1 + LocalThresholdSetID;Page 21h(第 2 组):ThresholdSetID = 17 + LocalThresholdSetID;Page 22h(第 3 组):ThresholdSetID = 33 + LocalThresholdSetID;Page 23h(第 4 组):ThresholdSetID = 49 + LocalThresholdSetID |
| 3-0 | 监控资源 0:通道 1 或从通道 1 开始的数据路径 1:通道 2 或从通道 2 开始的数据路径 2:通道 3 或从通道 3 开始的数据路径 3:通道 4 或从通道 4 开始的数据路径 4:通道 5 或从通道 5 开始的数据路径 5:通道 6 或从通道 6 开始的数据路径 6:通道 7 或从通道 7 开始的数据路径 7:通道 8 或从通道 8 开始的数据路径 15:模块(不与通道或数据路径关联) | |
| 奇地址 | 7-0 | 可观测量类型(可观测量和编码参见表 8-170) |
8.22.1.2 VDM 可观测量类型#
已定义的 VDM 可观测量类型列表、关联的类型 ID 以及可观测量类型样本的数据类型在表 8-170 中定义。
与整个模块相关的可观测量仅在 Bank 索引 0 上呈现。
与常规模块诊断可观测量(在 Page 13h-14h 上)不同,所有 VDM 数据类型均为大端序。
CPO 模块中激光器的编号方案在其他地方定义。
表 8-170 VDM 可观测量类型(类型编码)
| 类型 ID | 可观测量类型 | 实例类型 | 数据类型 | 单位比例 | 单位 |
|---|---|---|---|---|---|
| 0 | 未使用指示符¹ | N/A | N/A | ||
| 1 | 激光器寿命(BOL 时 0%,EOL 时 100%)(媒体通道) | 基本 | U16 | 1 | % |
| 2 | TEC 电流(模块) | 基本 | S16 | 100/32767 | % |
| 3 | 激光器频率误差(媒体通道) | 基本 | S16 | 10 | MHz |
| 4 | 激光器温度(媒体通道) | 基本 | S16 | 1/256 | °C |
| 5 | SNR (dB) 媒体输入(媒体通道)——参见第 7.1.4 节 | 基本 | U16 | 1/256 | dB |
| 6 | SNR (dB) 主机输入(通道)——参见第 7.1.4 节 | 基本 | U16 | 1/256 | dB |
| 7 | PAM4 电平转换参数媒体输入(媒体通道) | 基本 | U16 | 1/256 | dB |
| 8 | PAM4 电平转换参数主机输入(通道) | 基本 | U16 | 1/256 | dB |
| 9 | FEC 前 BER 最小样本媒体输入(数据路径) | 统计 | F16 | N/A | |
| 10 | FEC 前 BER 最小样本主机输入(数据路径) | 统计 | F16 | N/A | |
| 11 | FEC 前 BER 最大样本媒体输入(数据路径) | 统计 | F16 | N/A | |
| 12 | FEC 前 BER 最大样本主机输入(数据路径) | 统计 | F16 | N/A | |
| 13 | FEC 前 BER 样本平均值媒体输入(数据路径) | 统计 | F16 | N/A | |
| 14 | FEC 前 BER 样本平均值主机输入(数据路径) | 统计 | F16 | N/A | |
| 15 | FEC 前 BER 当前样本媒体输入(数据路径) | 基本 | F16 | N/A | |
| 16 | FEC 前 BER 当前样本主机输入(数据路径) | 基本 | F16 | N/A | |
| 17 | FERC 最小样本值媒体输入(数据路径) | 统计 | F16 | N/A | |
| 18 | FERC 最小样本值主机输入(数据路径) | 统计 | F16 | N/A | |
| 19 | FERC 最大样本值媒体输入(数据路径) | 统计 | F16 | N/A | |
| 20 | FERC 最大样本值主机输入(数据路径) | 统计 | F16 | N/A | |
| 21 | FERC 样本平均值媒体输入(数据路径) | 统计 | F16 | N/A | |
| 22 | FERC 样本平均值主机输入(数据路径) | 统计 | F16 | N/A | |
| 23 | FERC 当前样本值媒体输入(数据路径) | 基本 | F16 | N/A | |
| 24 | FERC 当前样本值主机输入(数据路径) | 基本 | F16 | N/A | |
| 25 | FERC 累计总量媒体输入(数据路径) | 统计 | F16 | N/A | |
| 26 | FERC 累计总量主机输入(数据路径) | 统计 | F16 | N/A | |
| 27 | SEWmax 最小样本值媒体输入(数据路径) | 统计 | U16 | N/A | |
| 28 | SEWmax 最小样本值主机输入(数据路径) | 统计 | U16 | N/A | |
| 29 | SEWmax 最大样本值媒体输入(数据路径) | 统计 | U16 | N/A | |
| 30 | SEWmax 最大样本值主机输入(数据路径) | 统计 | U16 | N/A | |
| 31 | SEWmax 样本平均值媒体输入(数据路径)¹ | 统计 | U16 | N/A | |
| 32 | SEWmax 样本平均值主机输入(数据路径) | 统计 | U16 | N/A | |
| 33 | SEWmax 当前样本值媒体输入(数据路径) | 基本 | U16 | N/A | |
| 34 | SEWmax 当前样本值主机输入(数据路径) | 基本 | U16 | N/A | |
| 35-76 | - | Reserved[42] | |||
| 77 | Vcc2p6 电压监控(模块) | 基本 | U16 | 100 | uV |
| 78 | Vcc1p8 电压监控(模块) | 基本 | U16 | 100 | uV |
| 79 | Vcc1p2 电压监控(模块) | 基本 | U16 | 100 | uV |
| 80 | Vcc0p9 电压监控(模块) | 基本 | U16 | 100 | uV |
| 81 | Vcc0p7A 电压监控(模块) | 基本 | U16 | 100 | uV |
| 82 | Vcc0p7B 电压监控(模块) | 基本 | U16 | 100 | uV |
| 83 | Vcc12 电压监控(模块) | 基本 | U16 | 250 | uV |
| 84 | ELS 输入功率(通道=激光器 ID) | 基本 | S16 | 0.01 | dBm |
| 85-99 | - | 为 CPO 可观测量保留[15] | |||
| 100-127 | - | Custom 可观测量[28] | |||
| 128-255 | - | 受限 OIF[128] |
¹ 未使用意味着模块不为描述符描述的 VDM 实例呈现数据。
² SEWmax 非整数平均值应向上舍入到下一个整数。
8.22.2 Page 24h-27h(VDM 样本组页面)#
最多有 256 个只读样本寄存器(实时值寄存器),用于最多 256 个 VDM 实例关联的基本可观测量或统计量的当前值。
所有样本值以大端序(MSB 在低地址)存储。
VDM 实例 ` 的 VDM\Sample 寄存器中实际报告的可观测量在 Page 20h-23h 中该 VDM 实例的 VDM\`Descriptor 描述符中定义。
表 8-171 VDM 实时值(Page 24h-27h)
| 页面 | 字节 | 寄存器名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 24h | 128-129 | VDMSample1 | 第 1 组中 VDM 实例 1 的 X16 实时值 | RO |
| 130-131 | VDMSample2 | 第 1 组中 VDM 实例 2 的 X16 实时值 | RO | |
| 132-251 | VDM 3…62 | 第 1 组中 VDM 实例 3 至 62 的 X16 实时值 | RO | |
| 252-253 | VDMSample63 | 第 1 组中 VDM 实例 63 的 X16 实时值 | RO | |
| 254-255 | VDMSample64 | 第 1 组中 VDM 实例 64 的 X16 实时值 | RO | |
| 25h | 128-129 | VDMSample65 | 第 2 组中 VDM 实例 65 的 X16 实时值 | RO |
| 130-131 | VDMSample66 | 第 2 组中 VDM 实例 66 的 X16 实时值 | RO | |
| 132-251 | VDM 67..126 | 第 2 组中 VDM 实例 67 至 126 的 X16 实时值 | RO | |
| 252-253 | VDMSample127 | 第 2 组中 VDM 实例 127 的 X16 实时值 | RO | |
| 254-255 | VDMSample128 | 第 2 组中 VDM 实例 128 的 X16 实时值 | RO | |
| 26h | 128-129 | VDMSample129 | 第 3 组中 VDM 实例 129 的 X16 实时值 | RO |
| 130-131 | VDMSample130 | 第 3 组中 VDM 实例 130 的 X16 实时值 | RO | |
| 132-251 | VDM 131..190 | 第 3 组中 VDM 实例 131 至 190 的 X16 实时值 | RO | |
| 252-253 | VDMSample191 | 第 3 组中 VDM 实例 191 的 X16 实时值 | RO | |
| 254-255 | VDMSample192 | 第 3 组中 VDM 实例 192 的 X16 实时值 | RO | |
| 27h | 128-129 | VDMSample193 | 第 4 组中 VDM 实例 193 的 X16 实时值 | RO |
| 130-131 | VDMSample194 | 第 4 组中 VDM 实例 194 的 X16 实时值 | RO | |
| 132-251 | VDM 195..254 | 第 4 组中 VDM 实例 195 至 254 的 X16 实时值 | RO | |
| 252-253 | VDMSample255 | 第 4 组中 VDM 实例 255 的 X16 实时值 | RO | |
| 254-255 | VDMSample256 | 第 4 组中 VDM 实例 256 的 X16 实时值 | RO |
8.22.3 Page 28h-2Bh(VDM 阈值集组页面)#
Page 28h-2Bh 包含只读的阈值集数组,每页存储 16 个阈值集。
每个使用的阈值集(四元组)包含四个阈值,用于高/低报警/警告阈值的阈值越限监控。
实际阈值值可能取决于已开通的应用集,因此每当新应用被开通时可能会更改。
注意:模块仅会因此原因更新阈值值。对于数据路径应用,当相关数据路径达到 DPInitialized 时阈值将被更新。对于网络路径应用,当相关网络路径达到 NPInitialized 时媒体侧阈值将被更新,当相关主机路径达到 DPInitialized 时主机侧阈值将被更新。
注意:建议对阈值感兴趣的主机在数据路径初始化和/或网络路径初始化之后读取阈值。
一个或多个可观测量的阈值集的使用在 Page 20h-23h 上这些可观测量的 VDM 实例描述符中定义。
表 8-172 VDM 报警/警告阈值(Page 28h-2Bh)
| 页面 | 字节 | 寄存器名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 28h | 128-129 | HighAlarmThreshold1 | X16 第 1 组监控可观测量的阈值。阈值类型和存储与受监控的实时值相同。 | RO |
| 130-131 | LowAlarmThreshold1 | RO | ||
| 132-133 | HighWarningThreshold1 | RO | ||
| 134-135 | LowWarningThreshold1 | RO | ||
| 136-137 | HighAlarmThreshold2 | RO | ||
| 138-139 | LowAlarmThreshold2 | RO | ||
| 140-141 | HighWarningThreshold2 | RO | ||
| 142-143 | LowWarningThreshold2 | RO | ||
| 144-247 | … 3 至 15 | RO | ||
| 248-249 | HighAlarmThreshold16 | RO | ||
| 250-251 | LowAlarmThreshold16 | RO | ||
| 252-253 | HighWarningThreshold16 | RO | ||
| 254-255 | LowWarningThreshold16 | RO | ||
| 29h | 128-129 | HighAlarmThreshold17 | X16 第 2 组监控可观测量的阈值。阈值类型和存储与受监控的实时值相同。 | RO |
| 130-131 | LowAlarmThreshold17 | RO | ||
| 132-133 | HighWarningThreshold17 | RO | ||
| 134-135 | LowWarningThreshold17 | RO | ||
| 136-137 | HighAlarmThreshold18 | RO | ||
| 138-139 | LowAlarmThreshold18 | RO | ||
| 140-141 | HighWarningThreshold18 | RO | ||
| 142-143 | LowWarningThreshold18 | RO | ||
| 144-247 | … 19 至 31 | RO | ||
| 248-249 | HighAlarmThreshold32 | RO | ||
| 250-251 | LowAlarmThreshold32 | RO | ||
| 252-253 | HighWarningThreshold32 | RO | ||
| 254-255 | LowWarningThreshold32 | RO | ||
| 2Ah | 128-129 | HighAlarmThreshold33 | X16 第 3 组监控可观测量的阈值。阈值类型和存储与受监控的实时值相同。 | RO |
| 130-131 | LowAlarmThreshold33 | RO | ||
| 132-133 | HighWarningThreshold33 | RO | ||
| 134-135 | LowWarningThreshold33 | RO | ||
| 136-247 | … 34 至 47 | RO | ||
| 248-249 | HighAlarmThreshold48 | RO | ||
| 250-251 | LowAlarmThreshold48 | RO | ||
| 252-253 | HighWarningThreshold48 | RO | ||
| 254-255 | LowWarningThreshold48 | RO | ||
| 2Bh | 128-129 | HighAlarmThreshold49 | X16 第 4 组监控可观测量的阈值。阈值类型和存储与受监控的实时值相同。 | RO |
| 130-131 | LowAlarmThreshold49 | RO | ||
| 132-133 | HighWarningThreshold49 | RO | ||
| 134-135 | LowWarningThreshold49 | RO | ||
| 144-247 | … 50 至 63 | RO | ||
| 248-249 | HighAlarmThreshold64 | RO | ||
| 250-251 | LowAlarmThreshold64 | RO | ||
| 252-253 | HighWarningThreshold64 | RO | ||
| 254-255 | LowWarningThreshold64 | RO |
8.22.4 Page 2Ch(VDM 标志位页面)#
每个 VDM 实例有四个阈值越限事件标志位:高阈值和低阈值的报警和警告。
Page 2Ch 包含所有活跃 VDM 实例的这些阈值越限报警和警告的标志位。
表 8-173 VDM 阈值越限(TC)标志位字节
| 字节 | 位 | 字段名称 | 字段描述 | 类型 |
|---|---|---|---|---|
| 任意 | 0 或 4 | HighTCAlarmFlag | 当监控的可观测量 > 高报警阈值时锁存 | RO/COR |
| 1 或 5 | LowTCAlarmFlag | 当监控的可观测量 < 低报警阈值时锁存 | RO/COR | |
| 2 或 6 | HighTCWarningFlag | 当监控的可观测量 > 高警告阈值时锁存 | RO/COR | |
| 3 或 7 | LowTCWarningFlag | 当监控的可观测量 < 低警告阈值时锁存 | RO/COR |
表 8-174 VDM 报警和警告配置(Page 2Ch)
| 字节 | 位 | 字段名称 | 字段描述 | 类型 |
|---|---|---|---|---|
| 128 | 7-4 | VDMFlags2 | 第 1 组 VDM 实例 2 的高/低报警/警告 TC 标志位 | RO/COR |
| 3-0 | VDMFlags1 | 第 1 组 VDM 实例 1 的高/低报警/警告 TC 标志位 | RO/COR | |
| 129-158 | 7-0 | VDMFlags3-62 | 如表 8-172 所述,第 1 组 VDM 实例 3-62 的高/低报警/警告 TC 标志位 | RO/COR |
| 159 | 7-4 | VDMFlags64 | 第 1 组 VDM 实例 64 的高/低报警/警告 TC 标志位 | RO/COR |
| 3-0 | VDMFlags63 | 第 1 组 VDM 实例 63 的高/低报警/警告 TC 标志位 | RO/COR | |
| 160 | 7-4 | VDMFlags66 | 第 2 组 VDM 实例 66 的高/低报警/警告 TC 标志位 | RO/COR |
| 3-0 | VDMFlags65 | 第 2 组 VDM 实例 65 的高/低报警/警告 TC 标志位 | RO/COR | |
| 161-190 | 7-0 | VDMFlags 67-126 | 如表 8-172 所述,第 2 组 VDM 实例 67-126 的高/低报警/警告 TC 标志位 | RO/COR |
| 191 | 7-4 | VDMFlags128 | 第 2 组 VDM 实例 128 的高/低报警/警告 TC 标志位 | RO/COR |
| 3-0 | VDMFlags127 | 第 2 组 VDM 实例 127 的高/低报警/警告 TC 标志位 | RO/COR | |
| 192 | 7-4 | VDMFlags130 | 第 3 组 VDM 实例 130 的高/低报警/警告 TC 标志位 | RO/COR |
| 3-0 | VDMFlags129 | 第 3 组 VDM 实例 129 的高/低报警/警告 TC 标志位 | RO/COR | |
| 193-222 | 7-0 | VDMFlags 131-190 | 如表 8-172 所述,第 3 组 VDM 实例 131-190 的高/低报警/警告 TC 标志位 | RO/COR |
| 223 | 7-4 | VDMFlags192 | 第 3 组 VDM 实例 192 的高/低报警/警告 TC 标志位 | RO/COR |
| 3-0 | VDMFlags191 | 第 3 组 VDM 实例 191 的高/低报警/警告 TC 标志位 | RO/COR | |
| 224 | 7-4 | VDMFlags194 | 第 4 组 VDM 实例 194 的高/低报警/警告 TC 标志位 | RO/COR |
| 3-0 | VDMFlags193 | 第 4 组 VDM 实例 193 的高/低报警/警告 TC 标志位 | RO/COR | |
| 224-254 | 7-0 | VDMFlags 195-254 | 如表 8-172 所述,第 4 组 VDM 实例 195-254 的高/低报警/警告标志位 | RO/COR |
| 255 | 7-4 | VDMFlags256 | 第 4 组 VDM 实例 256 的高/低报警/警告 TC 标志位 | RO/COR |
| 3-0 | VDMFlags255 | 第 4 组 VDM 实例 255 的高/低报警/警告 TC 标志位 | RO/COR |
8.22.5 Page 2Dh(VDM 掩码页面)#
每个 VDM 实例可以设置 Page 2Ch 中描述的标志位。
每个已设置的标志位会触发中断请求信号,除非相应的掩码位被设置。
所有 VDM 掩码位的默认值为 1(已掩码)。
Page 2Dh 定义了 Page 2Ch 中定义的相应标志位的可写报警掩码位页面。
表 8-175 VDM 阈值集 0 至 15 报警和警告配置(Page 2Dh)
| 字节 | 位 | 字段名称 | 字段描述 | 类型 |
|---|---|---|---|---|
| 128 | 7-4 | VDMMasks2 | 第 1 组 VDM 实例 2 的高/低报警/警告掩码 | RW |
| 3-0 | VDMMasks1 | 第 1 组 VDM 实例 1 的高/低报警/警告掩码 | RW | |
| 129-158 | 7-4 | VDMMasks3-62 | 如表 8-172 所述,第 1 组 VDM 实例 3-62 的高/低报警/警告掩码 | RW |
| 3-0 | ||||
| 159 | 7-4 | VDMMasks64 | 第 1 组 VDM 实例 64 的高/低报警/警告掩码 | RW |
| 3-0 | VDMMasks63 | 第 1 组 VDM 实例 63 的高/低报警/警告掩码 | RW | |
| 160 | 7-4 | VDMMasks66 | 第 2 组 VDM 实例 66 的高/低报警/警告掩码 | RW |
| 3-0 | VDMMasks65 | 第 2 组 VDM 实例 65 的高/低报警/警告掩码 | RW | |
| 161-190 | 7-4 | VDMMasks67-126 | 如表 8-172 所述,第 2 组 VDM 实例 67-126 的高/低报警/警告掩码 | RW |
| 3-0 | ||||
| 191 | 7-4 | VDMMasks128 | 第 2 组 VDM 实例 128 的高/低报警/警告掩码 | RW |
| 3-0 | VDMMasks127 | 第 2 组 VDM 实例 127 的高/低报警/警告掩码 | RW | |
| 192 | 7-4 | VDMMasks130 | 第 3 组 VDM 实例 130 的高/低报警/警告掩码 | RW |
| 3-0 | VDMMasks129 | 第 3 组 VDM 实例 129 的高/低报警/警告掩码 | RW | |
| 193-222 | 7-4 | VDMMasks131-190 | 如表 8-172 所述,第 3 组 VDM 实例 131-190 的高/低报警/警告掩码 | RW |
| 3-0 | ||||
| 223 | 7-4 | VDMMasks192 | 第 3 组 VDM 实例 192 的高/低报警/警告掩码 | RW |
| 3-0 | VDMMasks191 | 第 3 组 VDM 实例 191 的高/低报警/警告掩码 | RW | |
| 224 | 7-4 | VDMMasks194 | 第 4 组 VDM 实例 194 的高/低报警/警告掩码 | RW |
| 3-0 | VDMMasks193 | 第 4 组 VDM 实例 193 的高/低报警/警告掩码 | RW | |
| 224-254 | 7-4 | VDMMasks195-254 | 如表 8-172 所述,第 4 组 VDM 实例 195-254 的高/低报警/警告掩码 | RW |
| 3-0 | ||||
| 255 | 7-4 | VDMMasks256 | 第 4 组 VDM 实例 256 的高/低报警/警告掩码 | RW |
| 3-0 | VDMMasks255 | 第 4 组 VDM 实例 255 的高/低报警/警告掩码 | RW |
8.22.6 Page 2Fh(VDM 通告和动态控制)#
- 受支持的 VDM 组数量的通告(即 VDM 页面的可用性)
- 主要用于冻结和解冻统计报告寄存器的动态控制
VDM 组通告
VDMSupport 字节 2Fh:128 通告支持多少个 VDM 实例组(每组 64 个 VDM 实例),即 Page 20h-2Bh 中哪些页面以及 Page 2Ch 和 2Dh 的哪些部分可用。
模块实际提供的用于报告基本可观测量或基本可观测量统计量样本的各个 VDM 实例在 VDM 描述符页面中描述(参见第 8.22.1 节)。
冻结和解冻统计报告寄存器
为简化以下描述,报告基本可观测量的统计量(最小值、最大值或平均值)的 VDM 实例的样本寄存器(在 Page 24h-27h 中)称为统计报告寄存器。
注意:有关 VDM 中统计支持的介绍,请参见第 8.19 节开头。
在统计收集期间,模块始终更新内部统计变量(例如计数器),但仅在统计报告未被冻结时才更新关联的统计报告寄存器(如下所述)。
全局冻结统计报告意味着模块终止当前的统计收集区间(在当时冻结的统计报告寄存器中提供结果),并在内部原子性地启动新的统计收集区间(不丢失任何基本可观测量的样本)。
注意:提升 FreezeRequest 位实际上定义了一个主机控制的性能监控区间。
注意:统计收集的初始行为未被指定;不知道统计收集初始时是暂停还是运行。为达到明确定义的起点,建议主机初始时提升 FreezeRequest,然后在模块确认冻结已执行后的适当时间点启动统计收集。
统计区间和冻结的动态控制
主机提升 FreezeRequest 位 2Fh:144.7 以请求模块停止更新统计报告寄存器(以便允许一致的结果读取),同时启动新的统计区间。
读取完成后,主机可以清除 FreezeRequest 位以通知模块可以恢复更新区间统计寄存器。作为请求下一次冻结的准备,主机最终必须清除 FreezeRequest 位。
当冻结报告寄存器时,模块启动新的统计区间并确保不丢失任何可观测量的样本。为此,模块在对当时冻结的寄存器执行最后一次更新时原子性地重置并重启其内部统计变量,然后停止更新统计报告寄存器,直到主机通过终止冻结期来释放报告寄存器。
场景
主机-模块交互的场景(重复地)获取由主机定义的连续统计区间上的统计结果(即跨越主机定义的性能监控区间)如下:
- 主机撤销 FreezeRequest(如果仍被设置)以请求解冻统计报告寄存器
- 模块清除 UnfreezeDone(在 tVDMF 时间内)为后续的解冻完成指示做准备
- 模块将其内部收集的统计量(在冻结期间内部收集)的当前值复制到统计报告寄存器,然后提升 UnfreezeDone
- 主机现在可以从统计报告寄存器读取实时统计量以获取增量更新的统计结果。模块现在继续更新统计报告寄存器。
- 为请求终止当前统计区间并准备统计结果读取,主机提升 FreezeRequest
- 模块清除 FreezeDone(在 tVDMF 时间内)为后续的 FreezeDone 指示做准备
- 模块在冻结后停止更新统计报告寄存器,重置其内部统计变量,并立即继续更新内部统计变量(只是不将更新复制到冻结的统计报告寄存器),然后设置 FreezeDone
- 统计报告寄存器现在已冻结,主机可以自由读取刚结束的统计区间的冻结统计报告寄存器结果。
- 当统计结果寄存器被冻结时,模块更新其内部统计变量,但不更新统计报告寄存器。
- 主机可以在结束当前统计区间的任何时候撤销仍活跃的 FreezeRequest,无论是在读取前一个区间的统计量之后立即撤销,还是在结束当前区间之前撤销,然后场景重复。
节能
模块可以支持节能模式(PowerSavingMode),其中可观测量的监控和派生功能(例如报警阈值检测)被暂停以节省功耗。
注意:此功能适用于功耗包络紧张的模块,使得监控应仅在诊断时短暂启用。预计不会在其他情况下使用。
当主机对 PowerSavingMode 进行更改时,应采用以下过程以确保模块报告一致的信息,并忽略瞬态统计量:
启用 PowerSavingMode:
- 主机发出 FreezeRequest
- 主机等待模块确认
- 主机将 PowerSavingMode 更改为启用
禁用 PowerSavingMode(如果需要),假设上面的 FreezeRequest 仍处于活动状态:
- 主机将 PowerSavingMode 更改为禁用
- 主机发出 UnFreezeRequest
- 主机等待模块确认
- 主机发出 FreezeRequest
- 主机等待模块确认
- 主机正常继续
表 8-176 VDM 通告和控制寄存器摘要(Page 2Fh)
| 字节 | 位 | 字段名称 | 字段描述 | 类型 |
|---|---|---|---|---|
| 128 | 7-3 | - | Reserved | RO |
| 2 | PowerSavingSupport | 1b:支持 PowerSavingMode | RO | |
| 1-0 | VDMSupport | 通告 0:第 1 组(Page 20h、24h、28h、2Ch 的前 1/4、2Dh) 1:第 1-2 组(Page 20h-21h、24h-25h、28h-29h、2Ch 的前 1/2、2Dh) 2:第 1-3 组(Page 20h-22h、24h-26h、28h-2Ah、2Ch 的前 3/4、2Dh) 3:第 1-4 组(Page 20h-23h、24h-27h、28h-2Bh、2Ch、2Dh) | RO | |
| 129-130 | 7-0 | FineIntervalLength | U16 细粒度区间长度(一个样本的测量时间),用于内部 BER/FERC 监控,单位为 0.1 ms | RO |
| 131-143 | 7-0 | - | Reserved[13] | RO |
| 144 | 7 | FreezeRequest | 当主机提升时,导致模块冻结并保持 Page 24h-27h 中所有报告的统计报告寄存器(最小值、最大值和平均值)。当主机撤销时,释放冻结请求,允许报告的最小值、最大值和平均值再次更新。多 Bank 行为:在一个受支持的 Bank 中冻结或解冻会在所有受支持的 Bank 中同步发生,与是否支持和启用了 BankBroadcastEnable 无关。注意:模块在报告寄存器被冻结时内部记录新统计数据,因此不会丢失数据。 | RW |
| 6 | PowerSavingMode | 0b:VDM 监控功能已启用(开启) 1b:VDM 监控功能已禁用(关闭)以节省功耗。通告:2Fh:128.2(PowerSavingSupport) | RW | |
| 5-0 | - | Reserved | RO | |
| 145 | 7 | FreezeDone | 当模块完成冻结报告寄存器(使主机现在可以安全读取)并同时在内部重启所有支持的统计量时由模块提升。由模块撤销(在主机提升 Freeze Request 后的 tVDMF 时间内)。任何受支持的 Bank 中的 FreezeDone 状态反映跨所有受支持的 Bank 的 FreezeRequest 完成。在第一个 FreezeRequest 被服务之前,模块报告 0b。 | RO |
| 6 | UnfreezeDone | 当报告寄存器的实时更新再次执行时由模块提升。由模块撤销(在主机撤销 Freeze Request 后的 tVDMF 时间内)。任何受支持的 Bank 中的 UnfreezeDone 状态反映跨所有受支持的 Bank 的解冻完成。在第一个解冻请求被服务之前,模块报告 0b。 | RO | |
| 5-0 | - | Reserved | RO | |
| 146-255 | 7-0 | - | Reserved[110] | RO |
8.23 Banked Page 1Fh(CDB 消息)#
模块在 CdbInstancesSupported 字段中通告对 Page 1Fh 的支持(参见表 8-54)。
注意:可以通过不同的 CDB 实例进行并发消息传递。
Page 1Fh 是可选的命令数据块(CDB)消息传递功能(参见第 7.2 节)的主页面。
每个受支持的 Page 1Fh Bank(与受支持的 Page A0h-AFh 子集使用相同的 Bank)仅在模块支持时作为一个独立的内存映射命令/回复消息交换设施。
表 8-177 Page 1Fh 概览(CDB 消息)
| 字节 | 大小(字节) | 主题区域 | 描述 |
|---|---|---|---|
| 128 – 133 | 6 | 命令消息头 | 主机写入的命令消息头 |
| 134 – 135 | 2 | 回复消息头 | 模块在回复消息中写入的头补充 |
| 136 – 255 | 120 | 本地有效载荷(LPL) | 存储命令和/或回复消息体(或部分)的区域 |
CDB 消息页面同时用于命令消息(由主机组成)和回复消息(由模块组成)。
CDB 命令消息头 字节(Page 1Fh:128-133)在表 8-178 中描述,由主机填充以指定要由模块执行的 CDB 命令、使用的本地命令有效载荷长度(LPLLength)、使用的扩展命令有效载荷长度(EPLLength)以及消息校验和(CdbChkCode)。这些字段在主机组成命令消息时填充,在模块接收命令消息时评估。模块不会在回复中更改命令头字段。
表 8-178 CDB 命令消息头(Page 1Fh)
| 字节 | 位 | 寄存器名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 128-129 | 7-0 | CMDID | U16 CDB 命令代码。注意:模块在主文本中通告支持的命令。(CMDID)标识要执行的 CDB 命令,写入此字段也从主机向模块”发送”CMD 消息以进行处理。注意:有关命令及其 CMD ID 的列表,请参见表 9-7。实际的”消息传输”触发条件在规范中详细说明。忽略一些细节,它可以是对 Page 1Fh:128-129 或 Page 1Fh:129 的写入,也可以是包含字节 Page 1Fh:129 的多字节写入的结束。注意:这意味着主机必须在写入字节 Page 1Fh:129 之前或在包含字节 Page 1Fh:129 的多字节写入操作期间组成头和体。 | RW Rqd. |
| 130-131 | 7-0 | EPLLength | U16 扩展有效载荷长度(EPLLength)指定主机写入的 EPL(在 Page A0h-AFh 中)命令消息体字节数。有效长度为 0-2048。注意:EPLLength 字段包含在 CdbChkCode 的计算中。 | RW Cnd. |
| 132 | 7-0 | LPLLength | U8 本地有效载荷长度(LPLLength)指定主机写入的 LPL(在此 Page 1Fh 上)命令消息体字节数。有效长度为 0-120。注意:LPLLength 字段包含在 CdbChkCode 的计算中。 | RW Rqd. |
| 133 | 7-0 | CdbChkCode | U8 CDB 校验码(CdbChkCode)由主机计算为 Page 1Fh:128 至 Page 1Fh:(136+LPLLength-1) 字节的算术总和的反码。EPL 页面(如有)的完整性检查为每个 CMD 单独定义(如第 9 章中所定义)。注意:回复头字段 Page 1Fh:134-135 和命令使用的任何 EPL 数据均不包含在校验计算中。注意:模块可以将正确重新计算的 CdbChkCode 与接收值进行比较以检查消息完整性。 | RW Rqd. |
CDB 回复消息头 字节(Page 1Fh:134-135)在表 8-179 中描述,由模块填充以提供关于在一个或两个有效载荷区域(LPL 或 EPL)中携带的回复消息体(如有)的信息。当接收命令时,这些回复头字段被模块忽略;相反,它们在组成回复时由模块确定和填充。
注意:为了稍后验证模块是否确实正确填充了回复头字段,主机在组成命令消息时可以将所有回复头字段设置为回复中预期不到的值。
表 8-179 CDB 回复消息头(Page 1Fh)
| 字节 | 位 | 寄存器名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 134 | 7-0 | RPLLength | U8 回复有效载荷长度(RPLLength)由模块计算并编码返回的回复数据长度:0-120:LPL 区域中使用的 LPL 字节数 240≤i≤255:使用的 EPL 页面数,编码为 i-239(页面 A0h 至 A0h+i-240) 121-239:Reserved EPL 页面中返回的确切字节数以 CMDID 特定的方式确定。当在 LPL 和 EPL 区域中均返回数据时,RPLLength 以 CMDID 特定的方式计算。注意:此回复头字段不包含在 CdbChkCode 计算中。主机可能希望在组成 CMD 时将此字节设置为合适的值,以便稍后检查模块是否确实在回复中设置了此字段。 | RW Cnd. |
| 135 | 7-0 | RPLChkCode | U8 回复有效载荷校验码(RPLChkCode)由模块计算如下:无回复消息体:RPLChkCode = 0 本地有效载荷中的回复消息体:RPLChkCode 是 LPL 字节 136 至(136+RPLLength-1)之和的反码。扩展有效载荷中的回复消息体:RPLChkCode 是 EPL 页面 A0h 至(A0h+RPLLength-240)中所有使用字节之和的反码。LPL 和 EPL 中的回复消息体:RPLChkCode 按特定 CMD 的规定计算。注意:此回复头字段不包含在 CdbChkCode 计算中。主机可能希望在组成 CMD 时将此字节设置为合适的值,以便稍后检查模块是否确实在回复中设置了此字段。 | RW Rqd. |
本地有效载荷(LPL)区域 Page 1Fh:136-255 在表 8-180 中描述,可以在与消息头相同的页面上携带不超过 120 字节长度的消息体。
LPL 区域同时用于 CMD 参数和回复数据(即回复 LPL 可能覆盖 CMD LPL)。
注意:CDB EPL 页面范围(A0h-AFh)称为扩展有效载荷(EPL),允许最多 2048 字节的大型消息体长度,如下一节所述。
表 8-180 CDB 消息体(Page 1Fh)
| 字节 | 位 | 寄存器名称 | 寄存器描述 | 类型 |
|---|---|---|---|---|
| 136-255 | 7-0 | LPL | 本地有效载荷(LPL):消息体区域,足够容纳不超过 120 字节的长度,用于主机写入的 CMD 数据或模块写入的回复数据(可能覆盖 CMD 数据),如第 9 章中每个 CDB 命令单独指定。 | RW Cnd. |
消息交换协议
主机必须写入长度、消息校验和、有效载荷(如适用)和 CMDID。
主机写入结束于或包含 CMDID 字段 LSB 的 WRITE “发送消息”并触发模块执行命令。
注意:如果主机在当前 CDB 命令完成之前写入新的 CMDID,行为是不可预测的。
在处理 CDB 命令时,模块在 CdbStatus 00h:38 或 00h:37 中更新命令执行状态,并在 CDB CMD 完成标志位 00h:8.7 或 00h:8.6 中发出完成信号。
注意:命令消息头字段 EPLLength 和 LPLLength 始终包含在命令消息校验和 CdbChkCode 中(即使未使用),而回复头字段 RPLLength 和 RPLChkCode 永远不会包含。
编者注:在本规范的未来修订中,以下文本应予以整合。
触发 CDB 命令执行
触发模块开始 CDB 命令处理的事件取决于通告位 01h:165.7。
假设当前页面为 Page 1Fh,模块中的 CDB 处理触发如下:
- 当 01h:165.7=0b 时:当包含字节 Page 1Fh:129 的二字节或一字节 WRITE 的 I2CMCI STOP 条件被接收时
- 当 01h:165.7=1b 时:当包含字节 Page 1Fh:129 的多字节 WRITE 的 I2CMCI STOP 条件被接收时
注意:在第一种方法中,至少需要两次 WRITE 来调用 CDB 命令,除非主机以环绕方式写入 Page 1Fh 的全部 128 字节。在第二种方法中,单次 WRITE 可能足以调用完全在 Page 1Fh 中表示的 CDB 命令。
注意:主机必须使用通告的方法。
注意:CDB 每次 ACCESS 的最大字节数在 Page 01h Byte 164 中通告。
LPLLength 字段和/或 EPLLength 字段由主机填充,且取决于 CDB 命令。
命令可以使用 LPL 或 EPL 或同时使用 LPL 和 EPL。
EPL 的长度在 EPLLength 字段中指定。确保 EPL 数据有效性的任何检查未被一般性地定义。如果需要额外检查,将为每种类型或命令代码组独立指定。
例如,固件下载假设写入 EPL 块中的 CDB 数据直接来自表示供应商提供文件的二进制字节流,由供应商负责向文件内嵌入的任何数据添加额外检查。
8.23.1 在 WRITE 结束于 9Fh:129 时触发 CDB 命令#
当 CDB 命令执行由写入字节 Page 1Fh:129 或 Page 1Fh:128-129 触发时,模块通告 01h:165.7=0b。
注意:在此情况下,调用带 LPL 的 CDB 命令的推荐方法至少包括两次 WRITE:
- 将命令参数写入字节 Page 1Fh:130-(135+LPLLength)。 a. 这些写入可能需要分成多次 WRITE 访问。 b. 每次 WRITE 允许的最大字节数在 01h:164 中通告。
- 将 16 位 CDBID 字段通过二字节 WRITE 写入 Page 1Fh:128-129,或通过两次一字节 WRITE 先写入 Page 1Fh:128 再写入 Page 1Fh:129。
注意:在此模式下,将字节 Page 1Fh:128-(135+LPLLength) 在一次 WRITE 中写入的结果是不可预测的。
8.23.2 在 WRITE 包含 9Fh:129 时触发 CDB 命令#
当 CDB 命令执行由包含字节 129 的 WRITE 的 STOP 条件触发时(即在 MCI 写入事务完成后),模块通告 01h:165.7=1b。
注意:使用此选项时,调用带 LPL 的 CDB 命令的推荐方法涉及对 Page 1Fh:128-(135+LPLLength) 的一次 WRITE(如果 CDB 页面中的最大 WRITE 长度允许)。
注意:尽管字节 129 作为第 2 个字节发送,但命令在接收到 STOP 位之前不会被处理。
注意:如果每次 WRITE 的最大字节数至少为 8,则没有 LPL(LPLLength 为 0)的命令可以通过单次 WRITE 调用。
注意:如果每次 WRITE 的最大字节数为 128,则任何仅使用 LPL 的 CDB 命令都可以在一次 WRITE 中触发。
注意:主机仍然可以使用多次 WRITE 或逐字节 WRITE,因为对字节 129 的单字节写入以 STOP 条件结束,也会调用 CDB 命令。
8.24 Banked 页面范围 A0h-AFh(CDB 扩展有效载荷页面)#
Page A0h-AFh 包含可选的命令数据块(CDB)消息传递功能(参见第 7.2 节)的扩展有效载荷(EPL)区域,为超出 Page 1Fh 本地有效载荷(LPL)区域容量的长消息体数据提供空间(参见上一节)。
每个 Page A0h-AFh Bank 对应一个 CDB 消息传递实例。
实际支持的 EPL 页面集在 CdbMaxPagesEPL 字段中通告,并取决于 CDB 支持(在 CdbInstancesSupported 字段中通告,参见表 8-54)。
为实现对多页 EPL 区域的高效 READ 或 WRITE 访问,模块可以支持自动分页和 READ/WRITE 长度扩展。
如果 CdbAutoPagingSupported 位被设置(参见表 8-54),则除最后一个受支持的 EPL 页面外,EPL 页面范围 A0h-AFh 中超出页面末尾的主机 READ 或 WRITE 访问会导致模块自动递增页面编号并将当前地址指针环绕到下一页的开头(字节 128)。在最后一个 EPL 页面上,自动分页将页面编号环绕回 A0h,并将当前地址指针环绕到字节 A0h:128。
否则,如果 CdbAutoPagingSupported 位被清除,超出页面末尾的主机 READ 或 WRITE 访问将环绕到同一页面的字节 128,如第 B.1 节和第 B.2.5.2.1 节中分别描述。
READ 和 WRITE 操作的允许长度由 CdbReadWriteLengthExtension 通告字段确定(参见表 8-54)。
表 8-181 EPL 段(Page A0h-AFh)
| 字节 | 位 | 页面名称 | 页面描述 | 类型 |
|---|---|---|---|---|
| 128-255 | 7-0 | EPLSegment`` | EPLSegment` 是整体扩展有效载荷(EPL)区域的第 \ 个 128 字节段,其中 \` 是顺序段编号,从 EPLSegment1(在 Page A0h 上)开始,向上计数到 EPLSegment16(在 Page AFh 上)。最大可用 EPL 长度取决于支持的 EPL 段数量,不超过 2048 字节。通告:01h:163 注意:EPL 区域同时用于主机写入的 CMD 数据和模块写入的回复数据(可能覆盖 CMD 数据),如第 9 章中每个 CDB 命令指定。 | RW Adv. |