知识门户

返回

9 CDB命令参考

views | comments

CDB 命令参考#

CDB 是主机与模块之间进行命令-应答消息交换的可选功能。

CDB 的支持情况在 01h:163 中通告(参见第 8.4.11 节)。

当模块支持 CDB 时,所有已定义 CDB 命令的子集(例如功能查询)是(有条件地)必需的。有关有条件必需命令组的信息,请参见表 9-1。在每个有条件必需的命令组中,还有进一步的按命令信息,说明哪些命令是有条件必需的。

所有其他命令均为可选。

如 01h:163.7-6 所通告,模块可以提供多个 CDB 消息交换实例。

CDB 消息实例通过 CDB 消息交换页的 Bank 地址来区分。

9.1 CDB 命令组概览#

主机与模块之间的单次 CDB 数据交换遵循命令-应答模式。

因此,各个消息交互被称为 CDB 命令(简称,尽管实际上包含命令和关联的响应)。

每种类型的 CDB 交互(CDB 命令)由一个 CDB 命令标识符(CMD ID)标识,该标识符决定了 CDB 数据交换的目的、结构和语义。

表 9-1 CDB 命令组

CMD ID命令组描述参见
起始结束
0000h003Fh模块命令CDB 模块级命令。必需9.3
0040h005Fh能力查询查询已通告的 CDB 特性和能力必需9.4
0060h006Fh-保留,用于 Bank 和页的批量读取。-9.4.6
0070h007Fh-保留,用于 Bank 和页的批量写入。-9.6
0080h00FFh-保留,用于模块级命令--
0100h011Fh固件管理CDB 固件管理通告9.7
0120h01FFh-保留--
0200h027Fh性能监控CDB 性能监控通告9.8
0280h02FFh数据记录非易失性数据记录与监控通告9.9
0300h037Fh-保留,用于 BERT 功能9.10
0380h03FFh诊断与调试保留,用于诊断与调试命令通告9.11
0400h04FFh安全特性安全相关的 CDB 命令通告9.12
0500h3FFFh-保留--
4000h40FFh通用控制集模块定义的、可能与应用相关的控制集中的 SI 参数在 CMIS-VCS 补充文档 [6] 中定义通告[6]
4100h7FFFh-保留供 OIF 使用。此 CMD ID 范围允许 OIF 在单独的补充文档中定义特定于应用的新消息组。注意:每个组的 CMD ID 范围可以提供额外的保留供 OIF 使用的子范围。
8000hFFFFh-自定义

9.2 通用消息规则#

9.2.1 命令与应答#

一次消息交互由一个主机命令(CMD)和关联的模块响应(REPLY)组成。

主机准备 CMD 参数并触发模块执行 CMD。

模块处理请求的命令并准备 REPLY 头和 REPLY 数据。

当处理完成时,模块设置命令完成标志和命令状态字节,根据所使用的 CDB 实例如下:

  • CdbCmdCompleteFlag1 (00h:8.6) 和 CdbStatus1 (00h:37) 用于 CDB 实例 1
  • CdbCmdCompleteFlag2 (00h:8.7) 和 CdbStatus2 (00h:38) 用于 CDB 实例 2

这些规则适用于所有 CDB 命令以及后台模式和前台模式处理。

9.2.2 多 CDB 实例的使用#

一次命令-应答消息交互始终使用相同的 CDB 实例(即相同的 Bank 地址)。

对于涉及 CDB 命令序列的协议(如固件下载),每个协议执行绑定到可能的多个 CDB 消息实例中的一个。在不同 CDB 实例上并行或顺序发送协议消息可能导致模块行为未定义。

9.2.3 命令扩展的准备工作#

未来的 CMIS 版本可能会以向后兼容的方式,通过重新定义消息体中先前保留的部分,为现有 CDB 命令添加可选参数(具有向后兼容的默认值)。

尚未确定此类消息定义的更改是否包括更改消息长度。

希望对此类未来命令扩展保持容忍的模块必须避免根据预期检查长度字段。

因此建议这些模块以以下方式对具有意外长度字段的命令做出响应:

  • 当接收到较短的消息内容(与字段结构兼容)时,仅处理此内容,并在其余预期字段中假定零值。
  • 当接收到较长的消息内容时,仅处理已知长度的内容。
  • 在所有情况下,校验码 RPLChckCode 需要根据接收到的长度进行计算。

9.2.4 查询应答扩展的准备工作#

预计在未来 CMIS 版本中,可能会向 CDB 查询命令的 应答 中添加消息内容。

示例:用于检索对象属性的 CDB 命令可能在未来的版本中返回更多属性。

为了向后兼容,此类扩展将始终附加到现有的消息应答体之后,因此长度字段的内容会相应更改。

注意:这是可行的,因为几乎所有应答都将 LPL 或 EPL 中的剩余空间定义为未指定。

因此建议主机以以下方式对具有意外长度字段的消息应答做出响应:

  • 当接收到较短的消息内容(与字段结构兼容)时,仅处理此内容。
  • 当接收到较长的消息内容时,仅处理已知长度的内容。
  • 在所有情况下,校验码 RPLChckCode 需要根据接收到的长度进行计算。

9.3 CDB 模块命令#

表 9-2 CDB 模块命令概览

ID命令标题描述类型章节
0000hQuery Status模块返回成功状态 (01h) 的 CdbStatus 以及模块的基本状态信息,如密码解锁状态。注意:也可用于检查是否支持 CDB。必需9.3.1
0001hEnter Password此命令允许主机输入密码。模块报告成功或失败,特别是密码是否被接受或拒绝。注意:也可以通过写入字节 00h:122-125 来输入密码,但此方法缺乏密码是否被接受或拒绝的反馈。通告9.3.2
0002hChange Password此命令允许主机更改主机密码。模块的应答报告成功或失败,即新主机密码是否已被接受并成功存储到非易失性内存中,或是否存在任何错误。注意:也可以通过写入字节 00h:118-121 来持久更改主机密码,但没有操作是否成功完成的反馈。通告9.3.3
0003h-保留
0004hAbort Processing中止当前后台操作通告9.3.4
0005h-001Fh-保留

9.3.1 CMD 0000h: Query Status#

此 Query Status 命令可用于检索密码接受状态(如有)并执行 CDB 消息测试。

消息中的 ResponseDelay 时间参数定义了模块在通过断言 CDB 完成标志返回此命令响应之前,由主机指定的延迟。

注意:此延迟插入可用作测试,特别是当模块通过 01h:163.5 通告 CDB 命令在后台处理时。如果在延迟时间内启用了 MCI,CdbStatus 将报告”In Progress”状态,直到延迟时间到期。如果 MCI 被禁用,则 MCI 将 NACK 直到延迟时间结束且 CDB 响应就绪。

返回消息显示当前模块解锁级别。

表 9-3 CDB 命令 0000h: Query Status

字节字段名描述
CMD 头
9Fh128-129CMDIDQuery Status CMD ID0000h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度2
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-137ResponseDelayU16。模块响应此命令的可编程延迟(毫秒)。值为 0 表示要求模块尽快响应
9Fh138-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在捕获命令 10 000010b: 正在检查/验证命令 10 000011b: 正在执行命令 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLengthLPL 或 EPL 中 REPLY 消息体的编码长度和校验码。参见表 8-179。2
REPLY 数据 (LPL)9Fh135RPLChkCodecomp.
9Fh136Length此消息载荷的长度(包括此字节)2
9Fh137Status0000 0000b: 模块启动。0000 0001b: 主机密码已接受。1xxx xxxxb: 模块密码已接受。位’x’可能包含自定义信息。模块密码是在密码字段中设置位 31 的密码(参见第 8.2.14 节)。
9Fh138-255-无数据返回。模块未修改内容¹ ¹ 未返回的应答消息部分的字节通常为”未指定”。此处使用更强的规范”未修改”,是出于历史原因(保持与先前措辞的向后兼容性)。

9.3.2 CMD 0001h: Enter Password#

Enter Password 命令允许主机输入主机密码。

表 9-4 CDB 命令 0001h: Enter Password

字节字段名描述
CMD 头
9Fh128-129CMDIDEnter Password CMD ID0001h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度4
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-139Password要输入的密码
9Fh140-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000101b: CdbChkCode 错误 01 000110b: 密码错误 – 未被接受
REPLY 头
9Fh134RPLLength参见表 8-1790
9Fh135RPLChkCode参见表 8-1790
9Fh136-255-无数据返回。内容未指定。undef.

9.3.3 CMD 0002h: Change Password#

Change Password 命令允许主机更改主机密码。

表 9-5 CDB 命令 0002h: Change Password

字节字段名描述
CMD 头字段
9Fh128-129CMDIDChange Password CMD ID0002h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度4
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-139New password
9Fh140-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误(例如位 31 被设置)。01 000101b: CdbChkCode 错误 01 000110b: 权限不足,无法更改密码
REPLY 头
9Fh134RPLLength参见表 8-1790
9Fh135RPLChkCode参见表 8-1790
9Fh136-255-无数据返回。内容未指定。undef.

9.3.4 CMD 0004h: Abort Processing#

Abort 命令允许主机中止任何当前的后台操作。

表 9-6 CDB 命令 0004h: Abort

字节字段名描述
CMD 头
9Fh128-129CMDIDAbort Processing CMD ID0004h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178FBh
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-1790
9Fh135RPLChkCode参见表 8-1790
9Fh136-255-无数据返回。内容未指定。undef.

9.4 CDB 特性与能力查询命令#

表 9-7 CDB 特性与能力命令概览

ID命令标题描述类型章节
0040hModule Features标识在 CMD ID 空间 0000h 到 00FFh 中支持哪些模块级命令。注意这包括本组中的命令。必需9.4.1
0041hFirmware Management Features标识在 CMD ID 空间 0100h 到 011Fh 中支持哪些固件管理特性。必需9.4.2
0042hPerformance Monitoring Features标识在 CMD ID 空间 0200h 到 02FFh 中支持哪些性能监控和数据监控与记录命令必需9.4.3
0043hBERT and Diagnostic Features标识在 CMD ID 空间 0300h 到 03FFh 中支持哪些 BERT 和诊断特性必需9.4.4
0044hSecurity Features标识在 CMD ID 空间 0400h 到 04FFh 中支持哪些安全相关命令和特性通告9.4.5
0045hExternally Defined Features标识在受限制的 CMD ID 空间 4000h 到 7FFFh 的专用部分中定义 CDB 消息的哪些 CMIS 补充规范受支持通告9.4.6
0046h-005Fh-保留

9.4.1 CMD 0040h: Module Features#

此命令用于查询支持哪些 CDB 命令。

表 9-8 CDB 命令 0040h: Module Features

字节字段名描述
CMD 头
9Fh128-129CMDIDModule Features CMD ID0040h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178BFh
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-17936
9Fh135RPLChkCode参见表 8-179comp.
9Fh136CDB Flags保留用于额外的 CDB 标志。00h
9Fh137-保留00h
9Fh138CMDs 0000h-0007h此 32 字节数组表示 CDB 命令 CMD <i>(标识符 0 ≤ <i> ≤ 255)的支持情况,如下:当字节 <k> = 138+floor(<i>/8) 的位 <j>=<i>mod 8 被设置时,CMD <i> 受支持。注意:先前的 CMIS 版本对于必需命令是否也在此处”通告”存在歧义。为尊重现有实现,不指示必需命令是允许的(但已弃用)。
9Fh139CMDs 0008h-000Fh
9Fh140CMDs 0010h-0017h
9Fh141CMDs 0018h-001Fh
9Fh142CMDs 0020h-0027h
9Fh143CMDs 0028h-002Fh
9Fh144CMDs 0030h-0037h
9Fh145CMDs 0038h-003Fh
9Fh146CMDs 0040h-0047h
9Fh147CMDs 0048h-004Fh
9Fh148CMDs 0050h-0057h
9Fh149CMDs 0058h-005Fh
9Fh150CMDs 0060h-0067h
9Fh151CMDs 0068h-006Fh
9Fh152CMDs 0070h-0077h
9Fh153CMDs 0078h-007Fh
9Fh154-169CMDs 0080h-00FFh
9Fh170-171MaxCompletionTimeU16 所有支持的 CDB 命令的最大 CDB 命令执行时间(毫秒)。注意:如果超时,主机可以发送 CDB Abort 命令。注意:最大可能的 MaxCompletionTime 约为一分钟(65.535 秒)。
9Fh172-255-无数据返回。内容未指定。undef.

9.4.2 CMD 0041h: Firmware Management Features#

此命令用于查询支持哪些固件管理特性以及查询命令性能属性。

表 9-9 CDB 命令 0041h: Firmware Management Features

字节字段名描述
CMD 头
9Fh128-129CMDIDFirmware Management Features CMD ID0041h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178BEh
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-17918
9Fh135RPLChkCode参见表 8-179comp.
9Fh136-保留0
9Fh137.7ImageReadback0b = 不支持完整镜像回读 1b = 支持完整镜像回读(参见第 7.3.1 节)
9Fh137.6-4-保留
9Fh137.3MaxDurationCoding0b = 最大持续时间乘数 M 为 1 1b = 最大持续时间乘数 M 为 10 此位编码乘数值 M,用于解释此消息字节 144-153 中通告的最大持续时间 U16 数组中的值:这些通告值乘以 M。
9Fh137.2SkippingErasedBlocks0b = 不支持跳过已擦除块 1b = 支持跳过已擦除块
9Fh137.1CopyCmd0b = CMD 0108h(复制镜像)不支持 1b = CMD 0108h(复制镜像)支持
9Fh137.0AbortCmd0b = CMD 0102h(中止)不支持 1b = CMD 0102h(中止)支持000b
9Fh138StartCmdPayloadSize定义主机必须从供应商交付的二进制固件镜像文件开头提取并在 CMD 0101h(Start)中发送给模块的字节数。
9Fh139ErasedByte表示已擦除字节的值。通告此字节的目的是通过允许主机跳过发送仅包含 ErasedByte 值的镜像块来可选地减少下载时间。注意:通常对于 NAND 闪存,已擦除状态为 FFh,对于其他闪存或 EEPROM 技术为 00h。
9Fh140ReadWriteLengthExtReadWriteLengthExt = i 指定 READ 或 WRITE 中允许的额外字节八位组数,特别是对于固件管理命令(ID 0100h-01FFh)如下
字节字段名描述
EPL: 对于访问多页 EPL 字段,允许的长度扩展为 i 字节八位组(8 字节)。LPL: 对于访问页 9Fh 上的 LPL 字段,允许的长度扩展为 min(i, 15) 字节八位组。这导致 READ 或 WRITE 的最大长度如下值 最大字节数 (EPL) 0: 8 字节(不扩展一般长度限制)i: 8 * (1+ i) 字节 (0 ≤ i ≤ 255) 255: 8 * 256 = 2048 字节 值 最大字节数 (LPL) 0: 8 字节(不扩展一般长度限制)i: 8 * (1+ i) 字节 (0 ≤ i ≤ 15) i: 8 * 16 = 128 字节 (16 ≤ i ≤ 256) 注意:另请参见 CdbReadWriteLengthExtension 字节 01h:164,它为任意 CDB 命令定义了类似的长度扩展。
9Fh141WriteMechanism固件更新支持的机制。00h: 不支持。01h: 支持写入 LPL。10h: 支持写入 EPL。11h: 同时支持写入 LPL 和 EPL。
9Fh142ReadMechanism固件读取/回读支持机制。00h: 不支持。01h: 支持通过 LPL 读取。10h: 支持通过 EPL 读取。11h: 同时支持通过 LPL 和 EPL 读取。
9Fh143HitlessRestart0: CMD Run Image 导致复位。流量受影响。1: CMD Run Image 可能复位但模块将尽力维护流量和管理状态。数据路径功能不复位。
9Fh144-145MaxDurationStartU16 CDB Start 命令完成执行的最大时间(M 毫秒),其中 M 由位 137.3 定义
9Fh146-147MaxDurationAbortU16 CDB Abort 命令完成执行的最大时间(M 毫秒),其中 M 由位 137.3 定义
9Fh148-149MaxDurationWriteU16 CDB Write 命令完成执行的最大时间(M 毫秒),其中 M 由位 137.3 定义
9Fh150-151MaxDurationCompleteU16 CDB Complete 命令完成执行的最大时间(M 毫秒),M 由位 137.3 定义
9Fh152-153MaxDurationCopyU16 CDB Copy 命令完成执行的最大时间(M 毫秒),其中 M 由位 137.3 定义
9Fh154-255-无数据返回。内容未指定。undef.

9.4.3 CMD 0042h: Performance Monitoring Features#

表 9-10 CDB 命令 0042h: Performance Monitoring Features

字节字段名描述
CMD 头
9Fh128-129CMDIDPerformance Monitoring Features CMD ID0042h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178BDh
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-17932
9Fh135RPLChkCode参见表 8-179comp.
9Fh136CMDs 0200h-0207h support每个位表示一个掩码。如果位为”1”则表示支持该命令 D0: 支持 CMD 0200h。.. D7: 支持 CMD 0207h。
9Fh137CMDs 0208h-020Fh每个位表示一个掩码。如果位为”1”则表示支持该命令 D0: 支持 CMD 0208h。.. D7: 支持 CMD 020Fh。
9Fh138-151CMDs 0210h-027Fh位掩码定义支持的命令。
9Fh152CMDs 0280h-0287h数据监控命令支持。D0: 支持 CMD 0280h。.. D7: 支持 CMD 0287h。
9Fh153-167CMDs 0288h-02FFh
9Fh168-255-无数据返回。内容未指定。undef.

9.4.4 CMD 0043h: BERT and Diagnostics Features#

表 9-11 CDB 命令 0043h: BERT and Diagnostics Features

字节字段名描述
CMD 头字段
9Fh128-129CMDIDBERT and Diagnostics Features CMD ID0043h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178BCh
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-17932
9Fh135RPLChkCode参见表 8-179comp.
9Fh136CMDs 0300h-0307h support每个位表示一个掩码。如果位为”1”则表示支持该命令 D0: 支持 CMD 0300h。.. D7: 支持 CMD 0307h。
9Fh137CMDs 0308h-030Fh每个位表示一个掩码。如果位为”1”则表示支持该命令 D0: 支持 CMD 0308h。.. D7: 支持 CMD 030Fh。
9Fh138-151CMDs 0310h-037Fh位掩码定义支持的命令。
9Fh152CMDs 0380h-0387h数据监控命令支持。D0: 支持 CMD 0380h。.. D7: 支持 CMD 0387h。
9Fh153-167CMDs 0388h-03FFh
9Fh168-255-无数据返回。内容未指定。undef.

9.4.5 CMD 0044h: Security Features and Capabilities#

表 9-12 CDB 命令 0044h: Security Features and Capabilities

字节字段名描述
CMD 头
9Fh128-129CMDIDSecurity Features and Capabilities CMD ID0044h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-17950
9Fh135RPLChkCode参见表 8-179comp.
9Fh136CMD 0400h-0407h support每个位表示一个掩码。如果位被设置,则支持相应的命令 D0: 支持 CMD 0400h。.. D7: 支持 CMD 0407h
9Fh137-167CMD 0408h-04FFh定义支持命令的位掩码。0
9Fh168NumCertificates主机可从模块获取的公共证书数量。设备必须包含单个叶证书,可选地包含一个或多个中间证书,后面可选地跟随一个根证书。对于 X.509 证书,中间证书不是自签名的,根证书是自签名的。NumCertificates <= 4。
9Fh169CertChainSupported0: 不支持证书链。模块仅包含叶证书实例 i = 0。1: 模块支持证书链,主机必须在下载证书时指定实例。实例 i = 0 是链的起始,即叶证书,任何实例 i+1 是用于签名证书实例 i 的另一个证书,其中 i < NumCertificates <= 4
9Fh170CertificateFormatIDevID 证书格式:0: 不支持 1: 自定义 2: X509v3 DER 编码 3-255: 保留
9Fh171-保留0
9Fh172-173CertificateLength1叶证书 i=0 的长度
9Fh174-175CertificateLength2证书 i=1 的长度,不支持时为 0
9Fh176-177CertificateLength3证书 i=2 的长度,不支持时为 0
9Fh178-179CertificateLength4证书 i=3 的长度,不支持时为 0
字节字段名描述
9Fh180DigestLength所需的消息哈希摘要长度(字节) 0: 不支持 1: 28 字节 (SHA224) 2: 32 字节 (SHA256) 3: 48 字节 (SHA384) 4: 64 字节 (SHA512) 5-255: 保留
9Fh181-保留0
9Fh182-183SignatureTime签名生成的最大时间(毫秒)。在”Set Signature Digest”命令之后,主机必须在”Get Signature”之前等待。
9Fh184-185SignatureLength编码/填充(如适用)摘要签名的长度(字节)
9Fh186SignatureFormat签名格式:0: 不支持 1: 自定义,供应商特定编码 2: 原始二进制字节流 3: DER 编码 4: ECDSA (R,S) 整数对,整数以长度为前缀 5-255: 保留
9Fh187SignaturePadScheme签名填充方案:0: 无 1: 自定义 2: PKCS#1 v1.5 3: OAEP 4: PSS 5-255: 保留。注意:建议使用随机化填充
9Fh188-255-无数据返回。内容未指定。undef.

9.4.6 CMD 0045h: Externally Defined Features#

表 9-13 CDB 命令 0045h: Externally Defined Features

字节字段名描述
CMD 头字段
9Fh128-129CMDIDExternally Defined Features CMD ID0043h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-1791
9Fh135RPLChkCode参见表 8-179comp.
9Fh136SupplementSupport位 0 = 0/1: CMIS-VCS 不支持/支持
9Fh137-255-无数据返回。内容未指定。undef.

9.4.7 CMD 0050h: Get Application Attributes#

某些模块通告是与应用相关的,特别是在通用可编程模块中。

例如,主机可能无法容纳模块通告的最坏情况功耗,但可能存在功耗较低的应用可供使用。

为允许主机了解与应用相关的属性,可以使用以下命令。

表 9-14 CDB 命令 0050h: Get Application Attributes

字节字段名描述
CMD 头
9Fh128-129CMDIDGet Application Attributes CMD ID0050h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL2
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-137ApplicationNumberU16 应用编号 15-8: 保留 (0) 7-4: NADBlockIndex (0-15) 或 0 3-0: AppSelCode (1-15)
9Fh138-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-17920
9Fh135RPLChkCode参见表 8-179comp.
9Fh136-137ApplicationNumberU16: 应用编号 15-8: 保留 (0) 7-4: NADBlockIndex (0-15) 或 0 3-0: AppSelCode (1-15)
9Fh138-139MaxModulePowerU16: 当此应用以最坏情况配置选项尽可能多地并行实例化(如适用)时的最坏情况模块功耗。单位: 0.25 W ¹ 当可能且预期存在承载不同应用的混合并行数据路径时,建议主机假设最坏情况应用的整体模块功耗。
9Fh140-141ProgOutputPowerMinS16: 最小可编程输出功率,单位: 0.01 dBm
9Fh142-143ProgOutputPowerMaxS16: 最大可编程输出功率,单位: 0.01 dBm
9Fh144-145PreFECBERThresholdF16: Pre FEC BER VDM 高告警阈值
9Fh146-147RxLOSOpticalPowerThrS16: RxLOS 告警的光功率阈值 单位: 0.01dBm
9Fh148-149RxPowerHighAlarmThrU16: OpticalPowerRxHighAlarmThreshold 单位: 0.1uW
9Fh150-151RxPowerLowAlarmThrU16: OpticalPowerRxLowAlarmThreshold 单位: 0.1uW
9Fh152-153RxPowerHighWarnThrU16: OpticalPowerRxHighWarningThreshold 单位: 0.1uW
9Fh154-155RxPowerLowWarnThrU16: OpticalPowerRxLowWarningThreshold 单位: 0.1uW
9Fh156-255-无数据返回。内容未指定。undef.

9.4.8 CMD 0051h: Get Interface Code Description#

SFF_8024 [5] 提供了主机和媒体接口的接口 ID 代码及描述性属性,这些对于标准化接口是众所周知的,但对于供应商定义的自定义接口则是未知的。

为允许主机为所有应用(包括使用自定义接口的应用)构建描述性选择列表,可以使用此命令从模块查询这些描述性属性。

支持此命令的模块建议返回所有支持的接口类型的信息,而对于所有支持的自定义接口则必须这样做。

表 9-15 CDB 命令 0051h: Get Interface Code Description

字节字段名描述
CMD 头
9Fh128-129CMDIDGet Interface Code Description CMD ID0051h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL3
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-137InterfaceIDU16: HostInterfaceID 或 MediaInterfaceID 15-8: 保留 (0) 7-0: InterfaceID
9Fh138InterfaceLocation0: 媒体侧 1: 主机侧
9Fh139-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-17992
9Fh135RPLChkCode参见表 8-179comp.
9Fh136-137InterfaceID未修改的 CMD 数据
9Fh138InterfaceLocation未修改的 CMD 数据
9Fh139-保留(用于下方 X16 字段的对齐)0
9Fh139-154InterfaceNameASCII[16]: 简称
9Fh155-202InterfaceDescriptionASCII[48]: 描述和规范引用
9Fh204-205InterfaceDataRateF16: 应用比特率(Gb/s)
9Fh206-207InterfaceLaneCountU16: 并行通道数
9Fh208-209LaneSignalingRateF16: 通道信号速率(GBd)
9Fh210-225ModulationASCII[16]: 通道调制格式
9Fh226-227BitsPerSymbolU16: 每通道调制符号的比特数
9Fh228-255-无数据返回。内容未指定。undef.

9.5 ID 0060h-006Fh CDB 批量读取命令#

表 9-16 CDB 批量读取命令概览

ID命令标题描述类型章节
0060h-006Fh-保留

9.6 ID 0070h-007Fh CDB 批量写入命令#

表 9-17 CDB 批量写入命令概览

ID命令标题描述类型章节
0070h-007Fh-保留

9.7 CDB 固件管理命令#

使用 CDB 进行固件管理是一个可选功能。

有关模块固件作为多个固件组件的潜在聚合体以及聚合固件版本标识的背景,请参见第 8.2.9 节。

表 9-18 CDB 固件下载命令概览

ID命令标题描述类型章节
0100hGet Firmware Info当主机发出此命令时,模块返回模块中所有可现场更新固件的请求固件信息。必需9.7.1
0101hStart Firmware Download主机发出此命令以启动固件更新。模块可以完全擦除目标或仅确认并准备模块固件进行任何适当的更新,或在每个数据块到达时动态擦除。成功后,主机可以使用命令代码 0103h-0107h 开始发送固件镜像。条件:支持 CMD 103h、104h、105h、106h 中的任何一个有条件9.7.2
0102hAbort Firmware Download如果已发出 FW Start,则中止固件下载。通告:CMD 0041h, 9Fh.137.0通告9.7.3
0103hWrite Firmware Block LPL使用此命令,主机下载先前存储在 LPL 区域中的固件镜像块。模块将该固件镜像块传输到非易失性存储。注意:从主机到模块的每个镜像块传输都由 CDB 命令块校验和覆盖;此校验和不确保镜像已正确传输到非易失性存储。通告:CMD 0041h, 9Fh.141通告9.7.4
0104hWrite Firmware Block EPL使用此命令,主机下载先前存储在 EPL 页中的固件镜像块。模块将该固件镜像块传输到非易失性存储。通告:CMD 0041h, 9Fh.141通告9.7.5
0105hRead Firmware Block LPL主机可以使用此命令读回最近写入非易失性存储的固件镜像。模块将镜像从非易失性存储复制到 LPL 页。从模块到主机的固件镜像传输由 CDB 命令块校验和覆盖,但此校验和不确保镜像已正确地从非易失性存储传输到 LPL 页。通告:CMD 0041h, 9Fh.142通告9.7.6
0106hRead Firmware Block EPL主机可以使用此命令读回最近写入非易失性存储的固件镜像。模块将镜像从非易失性存储复制到 EPL 页。从模块到主机的固件镜像传输由块校验和覆盖,但此校验和不确保镜像已正确地从非易失性存储传输到 EPL 页。通告:CMD 0041h, 9Fh.142通告9.7.7
ID命令标题描述类型章节
0107hComplete Firmware Download当整个固件镜像已通过 LPL 或 EPL 页写入,或在失败后停止下载时,主机发出此命令。如果未发出此命令,即使镜像已正确加载到非易失性存储,固件也无法运行。当主机发出此命令时,模块验证与镜像关联的校验和。条件:支持 CMD 103h、104h、105h、106h 中的任何一个有条件9.7.8
0108hCopy Firmware Image当模块中给定子系统支持多个镜像时,此命令使模块将镜像从一个非易失性存储位置复制到另一个位置。假设复制固件镜像命令包含模块固件的验证过程以确保复制的镜像有效。复制固件镜像命令之后不需要调用 CDB 完成固件镜像命令 0107h。通告:CMD 0041h, 9Fh.137.1通告9.7.9
0109hRun Firmware Image此命令用于启动和运行选定的镜像。此命令将控制从当前运行的固件转移到启动的选定固件。它可用于在固件版本之间切换,或执行当前运行固件的重启。条件:支持 CMD 103h 或 CMD 104h有条件9.7.10
010AhCommit Firmware Image主机使用此命令提交运行中的镜像,以便模块在未来的启动中从此镜像引导。假设主机有一段时间运行新固件并”接受”新固件。在此期间,如果发生复位,将运行先前提交的镜像。当主机发出此命令时,模块将标记一个非易失性存储位置用于未来的模块复位之后。只能提交正在运行的镜像。这是为了避免提交”坏”镜像。条件:支持 CMD 103h 或 CMD 104h有条件9.7.11
010Bh - 011Fh-保留

9.7.1 CMD 0100h: Get Firmware Info#

此命令返回驻留在模块中的固件版本和固件默认运行镜像。固件镜像 A、B 以及工厂或引导固件镜像版本。

注意:有关通过版本三元组(主修订号、次修订号、构建号)唯一标识整个固件聚合体的语义预期,请参见第 8.2.9 节。

表 9-19 CDB 命令 0100h: Get Firmware Info

字节字段名描述
CMD 头
9Fh128-129CMDIDGet Firmware Info CMD ID0100h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178Feh
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-178110
9Fh135RPLChkCode参见表 8-178comp.
9Fh136FirmwareStatus指示固件状态的位掩码。Bank A 中的镜像:位 0: 运行状态 位 1: 管理状态 位 2: 有效性状态 位 3: 保留 Bank B 中的镜像:位 4: 运行状态 位 5: 管理状态 位 6: 有效性状态 位 7: 保留 编码如下:运行状态:1 = 正在运行,0 = 未运行 管理状态:1=已提交,0=未提交 有效性状态:1 = 无效,0 = 有效 注意:有效的零编码保持与 CMIS 4.0 的向后兼容性 根据表 7-4,代码 00h、04h、40h、44h 表示正在运行引导加载程序或工厂镜像(如支持)。详细描述参见第 7.3.1.4 节。
9Fh137ImageInformation位 0: 9Fh:138-173 中的固件镜像 A 信息 位 1: 9Fh:174-209 中的固件镜像 B 信息 位 2: 9Fh:201-245 中的工厂或引导镜像信息
9Fh138ImageAMajor镜像 A 固件主修订号
9Fh139ImageAMinor镜像 A 固件次修订号
9Fh140-141ImageABuild镜像 A 固件构建号
9Fh142-173ImageAExtraString附加信息
9Fh174ImageBMajor镜像 B 固件主修订号
9Fh175ImageBMinor镜像 B 固件次修订号
9Fh176-177ImageBBuild镜像 B 固件构建号
9Fh178-209ImageBExtraString附加信息
9Fh210FactoryBootMajor工厂或引导镜像固件主修订号
9Fh211FactoryBootMinor工厂或引导镜像固件次修订号
9Fh212-213FactoryBootBuild工厂或引导镜像固件构建号
9Fh214-245FactoryBootExtraStr附加信息
9Fh246-255-无数据返回。内容未指定undef.

9.7.2 CMD 0101h: Start Firmware Download#

模块可以擦除整个镜像或仅准备更新固件。此命令的持续时间取决于主机写入的命令载荷。完整擦除镜像可能需要几秒钟。

表 9-20 CDB 命令 0101h: Start Firmware Download

字节字段名描述
CMD 头
9Fh128-129CMDIDStart firmware download process CMD ID0101h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度comp.
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-139ImageSizeU32 要下载到模块中的固件镜像大小。这应该是文件大小,包括在此消息中作为供应商数据发送的 LPL 字节。Var.
9Fh140-143-保留0
9Fh144-255VendorDataU8[112] 供应商可以在 Start Firmware Download 命令中发送最多 112 字节的信息。建议交付的二进制文件具有最多 112 字节的头部,发送给模块。此字段中的信息可由供应商用于拒绝不正确的文件(二进制文件)并防止向模块加载不正确的固件。
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-1790
9Fh135RPLChkCode参见表 8-1790
9Fh136-255-无数据返回。内容未指定。

9.7.3 CMD 0102h: Abort Firmware Download#

中止固件更新过程。

仅支持单个镜像的模块不应实现此命令并相应通告。

表 9-21 CDB 命令 0102h: Abort Firmware Download

字节字段名描述
CMD 头
9Fh128-129CMDIDAbort Firmware Download CMD ID0102h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178FCh
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-1790
9Fh135RPLChkCode参见表 8-1790
9Fh136-255-无数据返回。内容未指定。undef.

9.7.4 CMD 0103h: Write Firmware Block LPL#

通过 LPL 下载一个固件镜像块。

表 9-22 CDB 命令 0103h: Write Firmware Block LPL

字节字段名描述
CMD 头
9Fh128-129CMDIDWrite Firmware Block LPL CMD ID0103h
9Fh130-131EPLLengthEPL 未使用0000h
9Fh132LPLLengthFirmwareBlock 字段中固件块的实际长度 + 4。Comp.
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-139BlockAddressU32 此数据块在提供的镜像文件中的起始字节地址减去”Start Command Payload Size”的大小。参见第 7.3.1.2 节。
9Fh140-255FirmwareBlockU8[116] 一个固件镜像块。实际需要的长度可能短于可用的 FirmwareBlock 字段大小。此块的实际长度在字节 132(LPLLength)中定义,见上文。
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-1790
9Fh135RPLChkCode参见表 8-1790
9Fh136-255-无数据返回。内容未指定。undef.

9.7.5 CMD 0104h: Write Firmware Block EPL#

通过 EPL 下载一个固件镜像块。

表 9-23 CDB 命令 0104h: Write Firmware Block EPL

字节字段名描述
CMD 头
9Fh128-129CMDIDWrite Firmware Block EPL CMD ID0104h
9Fh130-131EPLLengthFirmwareBlock 字段中固件块的长度,可能跨多个页。Comp.
9Fh132LPLLengthLPL 长度4
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-139BlockAddressU32 此数据块在提供的镜像文件中的起始字节地址减去”Start Command Payload Size”的大小。参见第 7.3.1.2 节。
9Fh140-255-无数据传递。内容未指定。undef.
CMD 数据 (EPL)A0h-Afh128-255FirmwareBlock最多 2048 字节。实际长度在 EPLLength 中指定
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-1790
9Fh135RPLChkCode参见表 8-1790
9Fh136-255-无数据返回。内容未指定。undef.
REPLY 数据 (EPL)A0h-Afh128-255-无数据返回。内容未指定。

9.7.6 CMD 0105h: Read Firmware Block LPL#

从非易失性存储中指示的块通过 LPL 上传一个固件镜像块。

注意:隐式读取的镜像是最近写入的镜像。

表 9-24 CDB 命令 0105h: Read Firmware Block LPL

字节字段名描述
CMD 头
9Fh128-129CMDIDRead Firmware Block LPL CMD ID0105h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度6
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-139BlockAddressU32 此数据块在提供的镜像文件中的起始字节地址减去”Start Command Payload Size”的大小。参见第 7.3.1.2 节。
9Fh140-141LengthU16 在此命令中从指示地址开始读回到 LPL 的字节数。
9Fh142-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-179var.
9Fh135RPLChkCode参见表 8-179comp.
9Fh136-139Address of blockU32 固件镜像中数据块的基地址
9Fh140-255ImageDataU8[116]: 最多 116 字节

9.7.7 CMD 0106h: Read Firmware Block EPL#

从非易失性存储中指示的块通过 EPL 上传一个固件镜像块。

注意:隐式读取的镜像是最近写入的镜像。

表 9-25 CDB 命令 0106h: Read Firmware Block EPL

字节字段名描述
CMD 头
9Fh128-129CMDIDRead Firmware Block EPL CMD ID0106h
9Fh130-131EPLLengthEPL 长度0
9Fh132LPLLengthLPL 长度6
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-139BlockAddressU32 此数据块在提供的镜像文件中的起始字节地址减去”Start Command Payload Size”的大小。参见第 7.3.1.2 节。
9Fh140-141LengthU16 在此命令中从指示地址开始读回到 EPL 的字节数。
9Fh142-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-179Variable
9Fh135RPLChkCode参见表 8-179comp.
9Fh136-255-LPL 未使用。内容未指定undef.
REPLY 数据 (EPL)A0h-Afh128-255ImageDataU8[128]: 最多 128 字节。实际长度在 RPLLength 中指定

9.7.8 CMD 0107h: Complete Firmware Download#

当主机发出此命令时,模块验证完整的固件镜像,然后返回成功或失败(可能是校验和失败)。

注意:此命令也可用于中止固件下载。模块检测到不完整的下载并预期返回失败。

表 9-26 CDB 命令 0107h: Complete Firmware Download

字节字段名描述
CMD 头
9Fh128-129CMDIDComplete Firmware Download CMD ID0107h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178F7h
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-1790
9Fh135RPLChkCode参见表 8-1790
9Fh136-255-无数据返回。内容未指定。undef.

9.7.9 CMD 0108h: Copy Firmware Image#

Copy Firmware Image 是固件下载命令中的可选命令,可在固件更新过程中使用。

注意:此命令通常用于写入闪存的两个镜像相同的系统中,因此如果主机希望镜像 A 和 B 相同,它只需告诉模块从运行中的已提交镜像复制到未提交的备份镜像。

表 9-27 CDB 命令 0108h: Copy Firmware Image

字节字段名描述
CMD 头
9Fh128-129CMDIDCopy Firmware Image CMD ID0108h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度1
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136Copy DirectionABh: 将镜像 A 复制到镜像 B BAh: 将镜像 B 复制到镜像 A
9Fh137-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-1796
9Fh135RPLChkCode参见表 8-179comp.
9Fh136-139LengthU32 已复制的字节数
9Fh140CopyDirectionABh: 镜像 A 已复制到镜像 B BAh: 镜像 B 已复制到镜像 A
9Fh141CopyStatus00h : 复制成功 01h : 复制失败
9Fh142-255-无数据返回。内容未指定。undef.

9.7.10 CMD 0109h: Run Firmware Image#

主机使用此命令从模块内部固件组运行选定的镜像。

例如,固件更新后,此命令可用于切换到新的固件版本。主机可以使用 CMD 0100h 来确定活动和非活动固件版本。

执行 Run Image 命令可能对高速流量是无中断的、非破坏性的或最小破坏性的。

复位期间模块及其控制环路瞬态行为取决于供应商和技术。

Run Firmware Image 命令成功执行的最大持续时间与使用 ResetS 转换信号的常规重启相同。

注意:此持续时间主要由 tMgmtInit 时序参数控制。假设到 Reset 状态的转换时间可以忽略不计。

表 9-28 CDB 命令 0109h: Run Firmware Image

字节字段名描述
CMD 头
9Fh128-129CMDIDRun FW Image CMD ID0109h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度4
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-保留0
9Fh137ImageToRun00h = 影响流量的复位到非活动镜像。01h = 尝试无中断复位到非活动镜像 02h = 影响流量的复位到正在运行的镜像。03h = 尝试无中断复位到正在运行的镜像
9Fh138-139DelayToResetU16 指示从接收到此命令到发生复位的延迟(毫秒),从 CDB 完成标志被设置时开始计算(如果未设置 CDB 后台模式则从 NACK 清除时开始)。注意:当 DelayToReset 为 0 时,模块可能在主机读取 CdbStatus 消息之前复位。
9Fh140-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-179
9Fh135RPLChkCode参见表 8-179
9Fh136-255-无数据返回。内容未指定undef.

9.7.11 CMD 010Ah: Commit Firmware Image#

提交是将”正在运行”的镜像设置为模块复位退出时使用的镜像的过程。换句话说,已提交的镜像将运行,并且预期在任何复位(包括看门狗)后都是”好”的固件版本。

此命令用于在固件更新过程之后切换已提交的镜像,当新固件正在运行且主机已确定新固件正常工作时。

注意:Commit Image 仅提交当前正在运行的镜像。如果可以提交非运行镜像,则可能会提交坏版本并在下次模块复位后尝试运行。

注意:此命令没有特定的最大持续时间通告,假设其微不足道,大约相当于将管理信息写入非易失性内存的时间(tWRITE)。

表 9-29 CDB 命令 010Ah: Commit Image

字节字段名描述
CMD 头
9Fh128-129CMDIDCommit Image CMD ID010Ah
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-1790
9Fh135RPLChkCode参见表 8-1790
9Fh136-255-无数据返回。内容未指定undef.

9.8 CDB 性能监控命令#

表 9-30 CDB 性能监控命令概览

ID命令标题描述类型章节
0200hControl PM通用性能监控控制必需9.8.1
0201hGet PM Feature Information关于可选 PM 支持的通告。必需9.8.2
0202h-020Fh-保留
0210hGet PM Module LPL使用 LPL 获取模块级 X16 PM通告9.8.3
0211hGet PM Module EPL使用 EPL 获取模块级 X16 PM通告9.8.3
0212hGet PM Host Side LPL使用 LPL 获取特定通道的主机侧 X16 PM通告9.8.4
0213hGet PM Host Side EPL使用 EPL 获取特定通道的主机侧 X16 PM通告9.8.4
0214hGet PM Media Side LPL使用 LPL 获取特定通道的媒体侧 X16 PM通告9.8.5
0215hGet PM Media Side EPL使用 EPL 获取特定通道的媒体侧 X16 PM通告9.8.5
0216hGet PM Data Path LPL使用 LPL 获取特定数据路径的 X16 PM通告9.8.6
0217hGet PM Data Path EPL使用 EPL 获取特定数据路径的 X16 PM通告9.8.6
0218h-0219h-保留
0220hGet Data Path RMON Statistics使用 LPL 获取数据路径 RMON 统计通告9.8.7
0221h-0229h-保留
0230hControl Data Path SEW Histogram控制 FEC 符号错误权重直方图通告9.8.8
0231hGet Data Path SEW Histogram获取 FEC 符号错误权重直方图通告9.8.9
0232hControl Data Path SEW Stats max控制最大 FEC 符号错误权重统计通告9.8.10
0233hGet Data Path SEW Stats max获取最大 FEC 符号错误权重统计通告9.8.11
0234h-027Fh-保留

下表提供了可通过 CDB 命令检索的 PM 可观测对象概览。

有关 VDM 可观测对象 ID,请参见表 8-170。

表 9-31 CDB 性能监控可观测对象交叉引用

PM 组实例CDB ID: 类型和可观测对象单位对应可观测对象
Module10: S16 模块温度 1: S16 Vcc 2: S16 Aux1Mon 3: S16 Aux2Mon 4: S16 Aux3Mon1/256 °C 100 uV 参见 à 参见 à 参见 à0:00h:14-15 0:00h:16-17 0:00h:18-19 0:00h:20-21 0:00h:22-23
Host Side每通道(跨 Bank)0: U16 主机侧通道 SNR 1: F16 主机侧 PAM4 LTP 2: F16 主机侧 Pre-FEC BER1/256 dB 1/256 dBVDM ID 6 VDM ID 8 n/a
Media Side每媒体通道(跨 Bank)0: U16 Tx 激光器偏置 1: U16 Tx 光功率 2: U16 Rx 光功率 3: S16 每通道激光器温度0.1 uW 2uA * x 0.1 uW 1/256 °C0-3:11h:170-185 0-3:11h:154-169 0-3:11h:186-201 VDM ID 4
Data Path每数据路径(跨 Bank)0: F16 媒体侧帧错误 (FERC) 1: F16 媒体侧 Pre-FEC BER -: U16 媒体侧 SEW max -: F16 主机侧帧错误 (FERC) -: F16 主机侧 Pre-FEC BER -: U16 主机侧 SEW maxVDM ID 23 VDM ID 15 VDM ID 33 VDM ID 24 VDM ID 16 VDM ID 34

9.8.1 CMD 0200h: Control PM#

控制 CDB 性能监控行为及其与 20h-2Fh 中通用诊断监控的关系。

本节详述用于提取 PM 数据记录(如最小值、平均值、最大值)的消息。

注意:除非另有说明,2 字节、4 字节或 8 字节值以大端格式编码,即最低字节地址存储字的最高有效字节。

表 9-32 CDB 命令 0200h: Control PM

字节字段名描述
CMD 头
9Fh128-129CMDIDControl PM CMD ID0200h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度4
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136.1-7-保留
9Fh136.0LinkMode0b: PM 对象独立 1b: PM 对象与 20h-2Fh 相同(已链接)当 PM 对象被链接时,意味着 20h-2Fh 中的 PM 数据与 CDB Get PM 命令返回的 PM 记录基于相同的对象。这也意味着使用任一方法在 20h-2Fh 中清除统计信息也会清除 CDB 中的统计信息。0
9Fh137-保留0
9Fh138.1-7-保留。设为 0。
9Fh138.0ClearAllStatistics0b: 无操作 1b: 尽力方式同时清除所有 Bank 中所有通道的所有可观测对象的所有统计信息(最小值、平均值、最大值)0
9Fh139-保留0
9Fh140-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-1790
9Fh135RPLChkCode参见表 8-1790
9Fh136-255-无数据返回。内容未指定。undef.

9.8.2 CMD 0201h: Get PM Feature Information#

标识模块支持 CMD 0210h 到 0217h 中定义的哪些 PM 监控器。

表 9-33 CDB 命令 0201h: Get PM Feature Information

字节字段名描述
CMD 头
9Fh128-129CMDIDGet PM Feature Information CMD ID0201h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178FCh
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-1794
9Fh135RPLChkCode参见表 8-179comp.
9Fh136HostSideMonitors位 0: Bool: 主机侧 SNR 监控器可用 位 1: Bool: 主机侧 LTP 监控器可用X
9Fh137MediaSideMonitors位 0: Bool: 媒体侧 SNR 监控器可用 位 1: Bool: 媒体侧 LTP 监控器可用X
9Fh138-保留0
9Fh139-保留0
9Fh140-255-无数据返回。内容未指定。undef.

9.8.3 CMD 0210h/0211h: Get Module PM LPL/EPL#

此命令收集与模块整体相关的性能监控可观测对象。

表 9-34 CDB 命令 0210h/0211h: Get Module PM LPL/EPL

字节字段名描述
CMD 头
9Fh128-129CMDIDGet Module PM using LPL CMD ID Get Module PM using EPL CMD ID0210h 0211h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度5
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136.7ClearOnRead0b: 返回选定的 PM 数据 1b: 返回选定的 PM 数据然后重置其统计信息
9Fh136.1-6-保留
9Fh136.0RecordType0b: 返回 6 字节 PM 记录(最小值、均值、最大值)1b: 返回 8 字节 PM 记录(附加”当前”值)
9Fh137Observables位 0: 模块温度 位 1: Vcc 位 2: Aux1 位 3: Aux2 位 4: Aux3 位 5-7: 保留
9Fh138-保留
9Fh139-受限制(OIF)
9Fh140-自定义
9Fh141-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-179comp.
REPLY 数据 (LPL) (CMD 0210h)9Fh135RPLChkCode参见表 8-179
9Fh136-255LPL PM 数据(最多 120 字节)一个可观测对象的 PM 记录由 6 或 8 字节组成:X16 最小值 X16 平均(均值)值 X16 最大值 X16 当前值(如果请求)注意:使用 LPL 最多可返回 15 到 20 条记录,取决于请求的 PM 记录长度。PM 记录的序列与 Observables 字段中置位位的序列相同,按升序排列。
REPLY 数据 (EPL) (CMD 0211h)A0h 到 AFh128-255EPL PM 数据(最大字节数取决于可用 EPL 页)

9.8.4 CMD 0212h/0213h: Get PM Host Side LPL/EPL#

此命令收集与各个主机通道相关的性能监控可观测对象。

表 9-35 CDB 命令 0212h/0213h: Get PM Host Side LPL/EPL

字节字段名描述
CMD 头
9Fh128-129CMDIDGet PM Host Side LPL CMD ID Get PM Host Side EPL CMD ID0212h 0213h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度20
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136.7ClearOnRead0b: 返回选定的 PM 数据 1b: 返回选定的 PM 数据然后重置其统计信息
9Fh136.1-6-保留
9Fh136.0RecordType0b: 返回 6 字节 PM 记录(最小值、均值、最大值)1b: 返回 8 字节 PM 记录(附加”当前”值)
9Fh137-139-保留。将来如果需要支持超过 32 通道的模块,可在此定义起始/停止/增量通道。
9Fh140-143LanesU32 Lanes 是指示哪些主机通道存在的位掩码,其中位 i 代表通道 i+1
9Fh144Observables位 0: 主机侧通道 SNR 位 1: 主机侧 PAM4 LTP 位 2: 主机侧 Pre-FEC BER¹ 位 3-7: 保留 ¹ 由于 FEC 解码通常跨越数据路径的通道,模块可以选择假设数据路径所有通道上估计的 pre-FEC BER 相同,或拒绝请求为不支持。
9Fh145-147-保留
9Fh148-151-受限制(OIF)
9Fh152-155-自定义
9Fh156-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-179comp.
9Fh135RPLChkCode参见表 8-179comp.
REPLY 数据 (LPL) (CMD 0212h)9Fh136-255LPL PM 数据(最多 120 字节)一个 PM 可观测对象的 PM 记录由 6 或 8 字节组成:X16 最小值 X16 平均(均值)值 X16 最大值 X16 当前值(如果请求)注意:使用 LPL 最多可返回 15 到 20 条记录,取决于请求的 PM 记录长度。PM 记录的序列与 Observables 字段中置位位的序列相同,按升序排列。
REPLY 数据 (EPL) (CMD 0213h)A0h 到 AFh128-255EPL PM 数据(字节数取决于可用页)一个可观测对象的 PM 记录由 6 或 8 字节组成:X16 最小值 X16 平均(均值)值 X16 最大值 X16 当前值(如果请求)注意:最大记录数取决于 EPL 的大小和请求的 PM 记录长度。数据在 EPL 页之间连续,PM 记录的序列与 Observables 字段中置位位的序列相同,按升序排列。

9.8.5 CMD 0214h/0215h: Get PM Media Side LPL/EPL#

此命令收集与各个媒体通道相关的性能监控可观测对象。

表 9-36 CDB 命令 0214h/0215h: Get PM Media Side LPL/EPL

字节字段名(类型)描述
CMD 头
9Fh128-129CMDID (U16)Get PM Media Side LPL CMD ID Get PM Media Side EPL CMD ID0214h 0215h
9Fh130-131EPLLength (U16)EPL 未使用0
9Fh132LPLLengthLPL 长度20
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136.7ClearOnRead0b: 返回选定的 PM 数据 1b: 返回选定的 PM 数据然后重置其统计信息
9Fh136.1-6-保留
9Fh136.0RecordType0b: 返回 6 字节 PM 记录(最小值、均值、最大值)1b: 返回 8 字节 PM 记录(附加”当前”值)
9Fh137-139-保留用于超过 32 通道的模块。
9Fh140-143LanesU32 Lanes 是指示哪些媒体通道存在的位掩码,其中位 i 代表通道 i+1。
9Fh144Selected PM data位 0: 媒体侧 SNR 位 1: 媒体侧 PAM4 LTP 位 2-7: 保留
9Fh145Selected PM data位 0: Tx 激光器偏置 位 1: Tx 功率 位 2: Rx 功率 位 3: 每通道激光器温度 位 4-7: 保留
9Fh146-147保留
9Fh148-151受限制(OIF)
9Fh152-155自定义
9Fh156-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-179comp.
9Fh135RPLChkCode参见表 8-179comp.
REPLY 数据 (LPL) (CMD 0214h)9Fh136-255LPL PM 数据(最多 120 字节)一个可观测对象的 PM 记录由 6 或 8 字节组成:X16 最小值 X16 平均(均值)值 X16 最大值 X16 当前值(如果请求)注意:使用 LPL 最多可返回 15 到 20 条记录,取决于请求的 PM 记录长度。PM 记录的序列与 Observables 字段中置位位的序列相同,按升序排列。
REPLY 数据 (EPL) (CMD 0215h)A0h 到 AFh128-255EPL PM 数据(最大字节数取决于可用 EPL 页)一个 PM 参数的 PM 记录由 6 或 8 字节组成:X16 最小值 X16 平均(均值)值 X16 最大值 X16 当前值(如果请求)注意:最大记录数取决于 EPL 的大小和请求的 PM 记录长度。数据在 EPL 页之间连续,PM 记录的序列与 Observables 字段中置位位的序列相同,按升序排列。

9.8.6 CMD 0216h/0217h: Get Data Path PM LPL/EPL#

此命令收集与数据路径相关的性能监控可观测对象。

表 9-37 CDB 命令 0216/0217h: Get Data Path PM LPL/EPL

字节字段名描述
CMD 头
9Fh128-129CMDIDGet PM Data Path LPL CMD ID Get PM Data Path EPL CMD ID0216h 0217h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度20
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136.7ClearOnRead0b: 返回选定的 PM 数据 1b: 返回选定的 PM 数据然后重置其统计信息
9Fh136.1-6-保留
9Fh136.0RecordType0b: 返回 6 字节 PM 记录(最小值、均值、最大值)1b: 返回 8 字节 PM 记录(附加”当前”值)
9Fh137-139-保留用于超过 32 通道的模块。
9Fh140-143DataPathsU32 DataPaths 是指示哪些数据路径存在的掩码,其中位 i 代表 DataPathID(最低通道号)为 i+1 的数据路径
9Fh144Observables位 0: 媒体侧帧错误计数 (FERC) 位 1: 媒体侧 Pre-FEC BER 位 2-7: 保留
9Fh145-147-保留
9Fh148-151-受限制(OIF)
9Fh152-155-自定义
9Fh156-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-179comp.
使用 LPL 返回的数据路径通道 PM (0216h)9Fh135RPLChkCode参见表 8-179
9Fh136-255LPL PM 数据(最多 120 字节)一个可观测对象的 PM 记录由 6 或 8 字节组成:X16 最小值 X16 平均(均值)值 X16 最大值 X16 当前值(如果请求)注意:使用 LPL 最多可返回 15 到 20 条记录,取决于请求的 PM 记录长度。PM 记录数据的序列与 Observables 字段中置位位的序列相同,按升序排列。
使用 EPL 返回的数据路径通道 PM (0217h)A0h 到 AFh128-255EPL PM 数据(最大字节数取决于可用 EPL 页)一个可观测对象的 PM 记录由 6 或 8 字节组成:X16 最小值 X16 平均(均值)值 X16 最大值 X16 当前值(如果请求)注意:最大记录数取决于 EPL 的大小和请求的 PM 记录长度。数据在 EPL 页之间连续,PM 记录的序列与 Observables 字段中置位位的序列相同,按升序排列。

9.8.7 CMD 0220h: Get Data Path RMON Statistics#

表 9-38 CDB 命令 0220h: Get Data Path RMON Statistics

字节字段名描述
CMD 头
9Fh128-129CMDIDGet Data Path RMON Statistics CMD ID0220h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度2
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136.7ClearOnRead0b: 返回选定的 PM 数据 1b: 返回选定的 PM 数据然后重置其统计信息 注意:强烈建议使用原子读取-重置-恢复(即无间隙)计数。
9Fh136.7-1-保留0
9Fh136.0MonitorLocation0: 媒体侧,Rx 方向 1: 主机侧,Tx 方向
9Fh137DPIDU8: 感兴趣数据路径的数据路径 ID。
9Fh138-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength参见表 8-179120
9Fh135RPLChkCode参见表 8-179comp.
9Fh136-141FrameCountU48: 饱和计数器
9Fh142-147OctetCount
9Fh148-153BadFrameCount
9Fh154-159BadOctetCount
9Fh160-165MulticastCount
9Fh166-171BroadcastCount
9Fh172-177Packets64B
9Fh178-183Packets64to127B
9Fh184-189Packets128to255B
9Fh190-195Packets256to511B
9Fh196-201Packets512to1023B
9Fh202-207Packets1024to1518B
9Fh208-211PacketsLargeNonJumboU32: 饱和计数器
9Fh212-215PacketsJumbo
9Fh216-219BadMulticastCount
9Fh220-223BadBroadcastCount
9Fh224-227BadPackets64B
9Fh228-231BadPackets64to127B
9Fh232-235BadPackets128to255B
9Fh236-239BadPackets256to511B
9Fh240-243BadPackets512to1023B
9Fh244-247BadPackets1024to1518B
9Fh248-251BadPacketsLargeNonJumbo
9Fh252-255BadPacketsJumbo

9.8.8 CMD 0230h: Control FEC Symbol Error Weight Histogram#

此命令为给定数据路径的给定 FEC 位置重置、启动或停止给定类型的 FEC 纠错统计。

表 9-39 CDB 命令 0230h: Control FEC Symbol Error Weight Histogram

字节字段名描述
CMD 头
9Fh128-129CMDIDControl FEC Symbol Error Weight Histogram CMD ID0230h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度2
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136DPIDU8: 要监控的数据路径的数据路径 ID。
9Fh137.0DecoderLocation0: 媒体侧 1: 主机侧
9Fh137.2-1Command0: 重置(清除统计)1: 启动(清除统计并开始收集)2: 停止(停止收集)
9Fh137.7-3-保留: 0
9Fh138-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头和数据 (LPL)9Fh134RPLLengthLPL 或 EPL 中 REPLY 消息体的编码长度和校验码。参见表 8-179
9Fh135RPLChkCodecomp.
9Fh136-255-无数据返回。内容未指定。undef.

9.8.9 CMD 0231h: Get FEC Symbol Error Weight Histogram#

此命令提供给定数据路径的符号错误权重(每 FEC 帧的符号错误纠正数)直方图,FEC 解码器位于媒体侧或主机侧。

统计收集应已提前启动,以获取有效的当前数据。此命令可以在未停止统计的情况下运行。

表 9-40 CDB 命令 0231h: Get FEC Symbol Error Weight Histogram

字节字段名描述
CMD 头
9Fh128-129CMDIDGet FEC Symbol Error Weight Histogram CMD ID0231h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度2
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136DPIDU8: 感兴趣数据路径的数据路径 ID
9Fh137.0DecoderLocation0: 媒体侧 1: 主机侧
9Fh137.7-1-保留: 00
9Fh138-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLengthLPL 或 EPL 中 REPLY 消息体的编码长度和校验码。参见表 8-179120
9Fh135RPLChkCodecomp.
9Fh136-未修改的 CMD 参数
9Fh137-未修改的 CMD 参数
9Fh138CorrectionCapabilityU8 每码字可纠正的 FEC 符号数
9Fh139-保留(填充对齐)
9Fh140-145UncorrectableCountU48: 不可纠正的 FEC 帧数
9Fh146-151ErrorWeight0CountU48: 无错误的 FEC 帧数
9Fh152-157ErrorWeight1CountU48: 具有 1 个纠正符号的 FEC 帧数
9Fh158-163ErrorWeight2CountU48: 具有 2 个纠正符号的 FEC 帧数
9Fh164-169ErrorWeight3CountU48: 具有 3 个纠正符号的 FEC 帧数
9Fh170-175ErrorWeight4CountU48: 具有 4 个纠正符号的 FEC 帧数
9Fh176-181ErrorWeight5CountU48: 具有 5 个纠正符号的 FEC 帧数
9Fh182-187ErrorWeight6CountU48: 具有 6 个纠正符号的 FEC 帧数
9Fh188-193ErrorWeight7CountU48: 具有 7 个纠正符号的 FEC 帧数
9Fh194-199ErrorWeight8CountU48: 具有 8 个纠正符号的 FEC 帧数
9Fh200-205ErrorWeight9CountU48: 具有 9 个纠正符号的 FEC 帧数
9Fh206-211ErrorWeight10CountU48: 具有 10 个纠正符号的 FEC 帧数
9Fh212-217ErrorWeight11CountU48: 具有 11 个纠正符号的 FEC 帧数
9Fh218-223ErrorWeight12CountU48: 具有 12 个纠正符号的 FEC 帧数
9Fh224-229ErrorWeight13CountU48: 具有 13 个纠正符号的 FEC 帧数
9Fh230-235ErrorWeight14CountU48: 具有 14 个纠正符号的 FEC 帧数
9Fh236-241ErrorWeight15CountU48: 具有 15 个纠正符号的 FEC 帧数
9Fh242-247ErrorWeight16CountU48: 具有 16 个纠正符号的 FEC 帧数
9Fh248-253HighErrorWeightCountU48: 具有 17 个或更多纠正符号的 FEC 帧 注意:此收集桶用于(有限地)支持具有更高符号纠错能力的 FEC 方案。
9Fh254-255BERF16: 通过计数(或估计)已计入错误权重直方图的符号错误中的比特错误确定的 Pre-FEC BER,不包括不可纠正 FEC 帧中发生的未知比特错误。

9.8.10 CMD 0232h: Control Max FEC Symbol Error Weight#

此命令为给定数据路径的给定 FEC 位置重置、启动或停止给定类型的 FEC 纠错统计。

表 9-41 CDB 命令 0232h: Control Max FEC Symbol Error Weight

字节字段名描述
CMD 头
9Fh128-129CMDIDControl Max FEC Symbol Error Weight CMD ID0232h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度2
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136DPIDU8: 要监控的数据路径的数据路径 ID。
9Fh137.0DecoderLocation0: 媒体侧 1: 主机侧
9Fh137.2-1Command0: 重置(清除统计)1: 启动(清除统计并开始收集)2: 停止(停止收集)
9Fh137.7-3-保留0
9Fh138-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头和数据 (LPL)9Fh134RPLLengthLPL 或 EPL 中 REPLY 消息体的编码长度和校验码。参见表 8-179
9Fh135RPLChkCode0
9Fh136-255-无数据返回。内容未指定。undef.

9.8.11 CMD 0233h: Get Max FEC Symbol Error Weight#

此命令为所有数据路径提供每帧最大 FEC 符号纠正数高水位标记,针对每个数据路径的第一个通道报告。

统计收集应已提前启动,以获取有效的当前数据。此命令可以在未停止统计的情况下运行。

表 9-42 CDB 命令 0233h: Get Max FEC Symbol Error Weight

字节字段名描述
CMD 头
9Fh128-129CMDIDGet Max FEC Symbol Error Weight CMD ID0233h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度2
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-保留0
9Fh137.0DecoderLocation0: 媒体侧 1: 主机侧
9Fh137.7-1-保留0
9Fh138-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头和数据 (LPL)9Fh134RPLLengthLPL 或 EPL 中 REPLY 消息体的编码长度和校验码。参见表 8-179
9Fh135RPLChkCodecomp.
9Fh136-未修改
9Fh137-未修改的 CMD 参数
9Fh138-139CorrectionCapabilityU16 每 FEC 帧可纠正的 FEC 符号数
9Fh140-141MaxErrorWeightDPID1U16 MaxErrorWeightDPID <DPID> := 在 DPID = <DPID> 的数据路径上观察到的最大 FEC 符号错误权重,如果不存在该数据路径则为零。当存在不可纠正的 FEC 帧时,应报告超过 CorrectionCapability 的值。
9Fh142-143MaxErrorWeightDPID2
9Fh144-145MaxErrorWeightDPID3
9Fh146-147MaxErrorWeightDPID4
9Fh148-149MaxErrorWeightDPID5
9Fh150-151MaxErrorWeightDPID6
9Fh152-153MaxErrorWeightDPID7
9Fh154-155MaxErrorWeightDPID8
9Fh156-255-无数据返回。内容未指定。undef.

9.9 CDB 数据监控与记录命令#

表 9-43 CDB 数据监控与记录命令概览

ID命令标题描述类型章节
0280hData Monitoring and Recording Controls必需9.9.1
0281h-保留(用于通告)9.9.2
0282h-02FFh-保留
0290hTemperature Histogram可选9.9.3
0291h-02FFh-保留

9.9.1 CMD 0280h: Data Monitoring and Recording Controls#

表 9-44 CDB 命令 0280h: Data Monitoring and Recording Controls

字节字段名描述
CMD 头
9Fh128-129CMDIDData Monitoring Controls CMD ID0280h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度4
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-保留0
9Fh137-保留0
9Fh138.1-7-保留。设为 0
9Fh138.0ClearAllStatistics0b: 无操作。1b: 尽力方式同时清除所有通道的所有监控可观测对象的所有统计信息(最小值、平均值、最大值)。0
9Fh139-保留0
9Fh140-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头和数据 (LPL)9Fh134RPLLength参见表 8-179
9Fh135RPLChkCode参见表 8-179
9Fh136-255-无数据返回。内容未指定。undef.

9.9.2 CMD 0281h: Data Monitoring and Recording Advertisement#

保留用于 CMD 0280-029Fh 中定义的特性的通告。

表 9-45 CDB 命令 0281h: Data Monitoring and Recording Advertisements

字节字段名描述
CMD 头
9Fh128-129CMDID0281h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-1787Ch
9Fh134RPLLengthundef.
9Fh135RPLChkCodeundef.
CMD 数据 (LPL)9Fh136-255-
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头和数据 (LPL)9Fh134RPLLength参见表 8-179
9Fh135RPLChkCode参见表 8-179
9Fh136-255-

9.9.3 CMD 0290h: Temperature Histogram#

这是模块的可选功能,在非易失性内存中跟踪模块在定义的温度区间内运行的秒数,从上次主机或用户清除温度直方图开始。

采样间隔和模块写入非易失性内存的间隔取决于模块。为了不丢失直方图数据,主机可以在从插槽中移除模块之前发送命令将当前直方图保存到 NVR。

内部时钟的时序精度不在此定义。

表 9-46 CDB 命令 0290h: Temperature Histogram

字节字段名描述
CMD 头
9Fh128-129CMDIDTemperature Histogram CMD ID0290h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度1
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
9Fh135RPLChkCodeundef.
CMD 数据 (LPL)9Fh136SubCommands位 0: 保留 位 1: 将当前直方图保存到 NVR(主机触发)位 2: 返回直方图(10°C 区间)位 3-6: 保留 位 7: 清除温度直方图(应为 NV)
9Fh136-255-无数据传递。内容未指定。undef.
字节字段名描述
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头和数据 (LPL)9Fh134RPLLengthLPL 或 EPL 中 REPLY 消息体的编码长度和校验码。参见表 8-179
9Fh135RPLChkCodecomp.
9Fh136SubCommands主机写入值的回显
9Fh137NHoursToNextWrite0: 模块不指示距下次写入 NVR 的小时数。1-254: 温度直方图将在此指定小时数内写入 NVR。注意:取决于设备技术使用,NVR 写入可能需要由主机触发。255: NVR 写入需要由主机触发。如果模块自主写入 NVR,某些操作可能共享 EEPROM 或闪存设备,并可能导致较小的微控制器在自主写入进行时停止响应 MCI。
9Fh138-139-保留0
9Fh140-143TotalSecondsU32 温度直方图累积的总时间(秒)
9Fh144-147TenDegBinBelowM5U32 温度低于 -5°C 的总运行秒数。
9Fh148-151TenDegBin0U32 温度区间 [-5, 5)°C 的总运行秒数
9Fh152-155TenDegBin10U32 温度区间 [5, 15)°C 的总运行秒数
9Fh156-159TenDegBin20U32 温度区间 [15, 25)°C 的总运行秒数
9Fh160-163TenDegBin30U32 温度区间 [25, 35)°C 的总运行秒数
9Fh164-167TenDegBin40U32 温度区间 [35, 45)°C 的总运行秒数
9Fh168-171TenDegBin50U32 温度区间 [45, 55)°C 的总运行秒数
9Fh172-175TenDegBin60U32 温度区间 [55, 65)°C 的总运行秒数
9Fh176-179TenDegBin70U32 温度区间 [65, 75)°C 的总运行秒数
9Fh180-183TenDegBin80U32 温度区间 [75, 85)°C 的总运行秒数
9Fh184-187TenDegBinAbove85U32 温度高于 85°C 的总运行秒数
9Fh188-255-无数据返回。内容未指定。undef.

9.10 CDB PRBS BERT 命令#

另请参见使用页 13h-14h 可用的特性。

表 9-47 CDB BERT 命令概览

ID命令标题描述类型章节
0300h-保留用于 PRBS 相关能力
030xh-保留用于 PRBS 生成器配置、启用和禁用
030xh-保留用于 PRBS 错误注入器
030xh-保留用于 PRBS 检测器(检查器)配置、启用和禁用
030xh-保留用于 PRBS 错误计数
030xh-保留用于 PRBS BER
030xh-037Fh-保留

9.11 CDB 诊断与调试命令#

表 9-48 CDB 诊断与调试命令概览

ID命令标题描述类型章节
0380hLoopbacks保留用于环回通告9.11.1
0390h-保留用于 PAM4 直方图
03A0h-保留用于眼图监控器

9.11.1 CMD 0380h: Loopbacks#

基本环回模式可通过页 13h 和 14h 支持的特性使用。

此 CDB 命令保留用于额外的环回能力。

表 9-49 CDB 命令 0380h: Loopbacks

字节字段名描述
CMD 头
9Fh128-129CMDIDLoopbacks CMD ID0380h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-1787Ch
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-255-undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus进行中 10 000001b: 正在处理命令,CMD 已捕获 10 000010b: 正在处理命令,CMD 正在检查 10 000011b: 正在处理命令,CMD 正在执行 成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000010b: 参数范围错误或不支持 01 000101b: CdbChkCode 错误
REPLY 头和数据 (LPL)9Fh134RPLLength空应答消息体。参见表 8-179
9Fh135RPLChkCode0
9Fh136-255-undef.

9.12 CDB 安全相关命令#

与安全命令相关的模块能力在 CMD 0044h 的应答中通告(参见第 9.4.5 节)。

安全相关命令可能携带较大的载荷,如证书或签名。根据通告的模块能力,安全相关命令和应答消息通过 LPL(必要时分段为多个命令)或 EPL(完整数据在一次 CDB 交互中传输)交换。

当数据需要分段时,需要发出多个具有递增段索引的命令调用来传输或收集和重新组装所有段。主机可以从通告或给定的数据长度和已知的最大段长度推导出所需的段数。

由于模块可能在证书发放链中托管多个证书,因此需要区分链中的证书实例。这通过实例索引完成,其中叶证书由索引值 0 标识。

表 9-50 CDB 安全相关命令概览

ID命令标题描述类型章节
0400hGet IDevID Certificate in LPL以通告的格式(X.509 v3 或自定义)读取模块的初始设备标识(IDevID)证书的(段),或其证书链中选定元素的(段)。IDevID 证书可以是由主机信任的根 CA 直接颁发的端点证书,或者是最多 4 个证书的发放链中的叶证书,其中最高一个由主机信任的根 CA 颁发。注意 RSA 3072 位叶证书约 1200 字节,RSA 4096 位证书约 1500 字节(不含扩展)。其他算法中使用的较小密钥(和签名)会产生较小的证书。除非使用具有证书链和/或扩展的大密钥,否则 CDB EPL 2048 字节预计不会成为问题。通告9.12.3
0401hGet IDevID Certificate in EPL此命令变体在单个应答中检索整个证书(不分段)。EPL 页数必须容纳最大的证书。通告
0402hSet Digest To Sign given in LPL提供要由模块签名的随机消息的摘要(指纹)。注意:这实现了挑战-应答交互的挑战部分,其中主机创建随机消息,然后应用对通告的 DigestLength(由 CMD 0044h 返回)具有特征的哈希函数来创建模块必须签名的消息摘要(指纹)。CMD 0044h SignatureTime 指示完成签名操作所需的最大时间。通告
0403hSet Digest To Sign given in EPL此命令变体在单个 CMD 中传输要签名的消息摘要(不分段)。EPL 页数必须足以容纳最大的消息摘要。通告
0404hGet Digest Signature in LPL读取模块对最近提供的要签名的摘要的签名。注意:这实现了挑战-应答交互的应答部分,允许模块向主机证明它拥有与提供的模块证书关联的私钥。签名的编码由 CMD 0044h SignatureFormat 定义。签名算法在模块证书中指定。重复的 Get Digest Signature 命令将返回相同的签名,直到发出新的 Set Digest To Sign 命令。通告
ID命令标题描述类型章节
0405hGet Digest Signature in EPL此命令变体在单个 CMD 中检索完整的摘要签名。EPL 页数必须足以容纳最大的签名。通告
0406h-04FFh-保留用于额外的安全相关命令通告

表 9-51 安全命令的详细返回状态码

符号描述
0000hOK命令成功完成
0001hCOMMUNICATION_ERROR一般内部通信错误
0002hUNEXPECTED_ERROR一般非特定错误
0010hUSER_COMMAND_DATA_ERROR一般命令数据错误
0011hUSER_NO_DIGEST_ERROR签名请求之前未提供摘要
0012hUSER_NOT_READY_ERROR处理期间的签名请求
0020hSEC_INVALID_PRIVATE_KEY无效的私钥
0021hSEC_INVALID_PUBLIC_KEY证书中无效的公钥
0022hSEC_DEVICE_NOT_FOUND安全设备不存在或未运行
0023hSEC_DEVICE_READ_ERROR安全设备读取错误
0024hSEC_DEVICE_WRITE_ERROR安全设备写入错误
1000h-1FFFh …-自定义返回码

9.12.1 模块认证概述#

以下是模块认证的高级消息交换图。

图 9-1 模块认证流程

9.12.2 CMD 0400h: Get Initial Device ID Certificate in LPL#

表 9-52 CDB 命令 0400h: Get Initial Device ID Certificate in LPL

字节字段名描述
CMD 头
9Fh128-129CMDIDGet Initial Device ID Certificate CMD ID in LPL0400h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度2
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136CertificateIndexU8: 标识要获取的证书实例索引,叶证书(CertificateIndex = 0)或链中的另一个证书(0 < CertificateIndex < 4)。
9Fh137SegmentIndexU8: 主机始终从 SegmentIndex=0 开始读取证书,如果模块应答在 RPLLength 中指示需要重复调用,则发出递增 SegmentIndex 的进一步命令。注意:证书的总字节长度已从通过 CMD 044h 检索的 CertificateLen* 字段中获知
9Fh138-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength返回的 LPL 字节数,如表 8-179 所述。
9Fh135RPLChkCode如表 8-179 所述的校验码。
9Fh136-137ReturnStatusU16: 详细返回状态(参见表 9-51)
9Fh138SegmentIndexU8: 返回的段索引;应与 CMD 数据中的值相同
9Fh139-255CertificateSegmentU8[117]: 请求的证书段。最后一段可能较短(RPLLength-3 < 117 字节),剩余字节未定义。

9.12.3 CMD 0401h: Get Initial Device ID Certificate in EPL#

注意:此命令的应答同时使用 LPL 和 EPL。

表 9-53 CDB 命令 0401h: Get Initial Device ID Certificate in EPL

字节字段名描述
CMD 头
9Fh128-129CMDIDGet Initial Device ID Certificate CMD ID in EPL0401h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 长度1
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136CertificateIndexU8: 标识要获取的证书实例索引,叶证书(CertificateIndex = 0)或链中的证书(0 < CertificateIndex < 4)。
9Fh137-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength用于证书的 EPL 页数按表 8-179 中的指定编码。
9Fh135RPLChkCode如表 8-179 所述的校验码。
9Fh136-137ReturnStatusU16: 详细返回状态(参见表 9-51)
9Fh138-139CertificateLengthU16: 请求的证书写入 EPL 的实际长度(字节),如果 EPL 页不足则为 0。注意:预期的证书字节长度已从通过 CMD 044h 检索的 CertificateLen* 字段中获知
REPLY 数据 (EPL)A0h-AFh128-255CertificateDataU8[128]: 跨越一个或多个 EPL 页(根据需要)的完整证书。最后一个 EPL 页可能仅部分使用(CertificateLength mod 128 字节),剩余字节未定义。

9.12.4 CMD 0402h: Set Digest To Sign given in LPL#

表 9-54 CDB 命令 0402h: Set Digest To Sign given in LPL

字节字段名描述
CMD 头
9Fh128-129CMDIDSet Digest To Sign CMD ID given in LPL0402h
9Fh130-131EPLLengthEPL 未使用。0.
9Fh132LPLLength给定签名摘要长度(字节)(另见 CMD 0044h DigestLength)。comp.
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136-255Digest DataU8[120]: 要由模块签名的摘要。实际摘要长度取决于用于创建摘要的哈希函数,在 LPLLength 中给出
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength返回的 LPL 字节数,如表 8-179 所述。2
9Fh135RPLChkCode如表 8-179 所述的校验码。
9Fh136-137ResultStatusU16: 详细返回状态(参见表 9-51)
9Fh138-255-无数据返回。内容未指定。undef.

9.12.5 CMD 0403h: Set Digest To Sign given in EPL#

注意:此命令的应答使用 LPL,而要签名的消息摘要在 EPL 中提供。

表 9-55 CDB 命令 0403h: Set Digest To Sign given in EPL

字节字段名描述
CMD 头
9Fh128-129CMDIDSet Digest To Sign CMD ID given in EPL0403h
9Fh130-131EPLLength签名(消息)摘要长度(字节)(参见 CMD 0044h DigestLength)。comp.
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (EPL)9Fh135RPLChkCodeundef.
A0h128-255Digest DataU8[128]: 要由模块签名的摘要。实际摘要长度取决于用于创建摘要的哈希函数,在 LPLLength 中给出
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength返回的 LPL 字节数,如表 8-179 所述。2
9Fh135RPLChkCode如表 8-179 所述的校验码。
9Fh136-137ResultStatusU16: 详细返回状态(参见表 9-51)
9Fh138-255-无数据返回。内容未指定。undef.

9.12.6 CMD 0404h: Get Digest Signature in LPL#

表 9-56 CDB 命令 0404h: Get Digest Signature in LPL

字节字段名描述
CMD 头
9Fh128-129CMDIDGet Digest Signature CMD ID in LPL0404h
9Fh130-131EPLLengthEPL 未使用0000h
9Fh132LPLLengthLPL 长度1
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-1787Ch
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh136SegmentIndexU8: 主机始终从 SegmentIndex=0 开始读取签名,并发出递增 SegmentIndex 的进一步命令。注意:签名的总字节长度已从 CMD 044h SignatureLength 获知,因此主机知道要请求多少段
9Fh137-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength返回的 LPL 字节数。参见表 8-179。
9Fh135RPLChkCode如表 8-179 所述的校验码。comp.
9Fh136-137ReturnStatusU16: 详细返回状态(参见表 9-51)
9Fh138SegmentIndexU8: 返回的段索引;应与 CMD 数据中的值相同
9Fh139-255SignatureSegmentU8[117]: 请求的签名段。最后一段可能较短(RPLLength-3 < 117 字节),剩余字节未定义。

9.12.7 CMD 0405h: Get Digest Signature in EPL#

注意:此命令的应答同时使用 LPL 和 EPL。

表 9-57 CDB 命令 0405h: Get Digest Signature in EPL

字节字段名描述
CMD 头
9Fh128-129CMDIDGet Digest Signature CMD ID in EPL0405h
9Fh130-131EPLLengthEPL 未使用0
9Fh132LPLLengthLPL 未使用0
9Fh133CdbChkCode9Fh:128-132 和 LPL 的校验码。参见表 8-178Comp.
9Fh134RPLLength注意:发起方可以填充这些应答字段,以便稍后验证目标在应答中的字段更新。参见表 8-178undef.
CMD 数据 (LPL)9Fh135RPLChkCodeundef.
9Fh138-255-无数据传递。内容未指定。undef.
REPLY 状态
00h8.6 或 8.7CdbCmdCompleteFlag当 CDB 命令完成时由模块设置。1
00h37 或 38CdbStatus成功时 00 000001b: 成功 失败时 01 000000b: 失败,无特定失败原因 01 000101b: CdbChkCode 错误
REPLY 头
9Fh134RPLLength返回签名所用的 EPL 页数按表 8-179 中的指定编码。4
9Fh135RPLChkCode如表 8-179 所述的校验码。comp.
9Fh136-137ReturnStatusU16: 详细返回状态(参见表 9-51)
9Fh138-139SignatureLengthU16: 请求的签名写入 EPL 的长度(字节),如果 EPL 页不足则为 0。注意:预期的签名字节长度已从通过 CMD 044h 检索的 SignatureLength 字段中获知
9Fh140-255-无数据返回。内容未指定。undef.
REPLY 数据 (EPL)A0h-AFh128-255SignatureDataU8[128]: 跨越一个或多个 EPL 页(根据需要)的返回签名数据。最后一个 EPL 页可能仅部分使用(SignatureLength mod 128 字节),剩余字节未定义。
Comment seems to stuck. Try to refresh?✨