ZHCU813A April 2021 – February 2022 DLPC6540
命令数据包定义了将命令发送到 DLP 控制器时要遵循的数据包格式。始终存在的字段以粗体显示,可选字段以正常字体显示。
关于存在哪些字段的定义基于 1 个字节的标头字段。如果命令被定义为具有可变数据大小,则必须具有长度字段。
字段 | 大小(字节) | 说明 |
---|---|---|
Header(标头) | 1 | 请参见下方的表 16-2。 |
Opcode(操作码) | 1 或 2,基于标头中的操作码长度字段 | 命令操作码。大于 0xFF 的命令操作码数字应使用 2 个字节发送。其他操作码可以用 1 个字节或 2 个字节发送。如果是 2 个字节的操作码,第一个字节为 LSB。 |
Length(长度) | 2 或 0, 基于标头中的数据长度存在字段 | 此字节之后的命令数据长度(以字节为单位)。校验和不包含在长度中。 例如 length=10 表示在这个长度字段之后有 10 个字节的数据。应先发送长度 LSB,然后是 MSB。 |
Data(数据) | 0-511(整个消息中包括标头和校验和在内总计最多 512 个字节) | 参数/数据 |
Checksum(校验和) | 1 或 0 (可选,作为标头字节的“校验和存在”字段) | 消息中所有字节的校验和(包括标头字节)。Fletcher 校验和实现方式如下:
|
位 | 字段名称 | 值 |
---|---|---|
0:2 | Destination(目标) | 请参阅 Topic Link Label16.3 |
3 | Opcode Length(操作码长度) | 1 = 两字节操作码 0 = 一字节操作码 |
4 | Datalength Present(数据长度存在) | 1 = 扩展标头中存在长度字段 0 = 无长度字段 |
5 | Checksum Present(校验和存在) | 1 = 数据字节后存在校验和 0 = 不存在校验和 |
6 | Reply Requested(已请求应答) | 1 = 器件将向每个写入命令发送一个响应数据包。此字段仅适用于写入命令 0 = 未向写入命令发送响应数据包 |
7 | Read Command(读取命令) | 1 = 读取命令 0 = 写入命令 |