ZHCU813A April   2021  – February 2022 DLPC6540

 

  1.   商标
  2. 范围
  3. 参考文献
  4. 首字母缩写词
  5. 系统引导
    1. 4.1 闪存中的数据
    2. 4.2 引导加载程序
    3. 4.3 主应用程序
    4. 4.4 引导加载程序和主应用程序支持的命令
    5. 4.5 调试终端
    6. 4.6 HOST_IRQ/SYSTEM_BUSY
    7. 4.7 心跳
    8. 4.8 低级故障
  6. 系统状态
  7. 版本
  8. 功耗模式
  9. 显示模式
  10. 源检测和配置
  11. 10内部源
    1. 10.1 测试图形 (TPG)
    2. 10.2 纯色域 (SFG) 颜色
    3. 10.3 幕布
  12. 11显示格式
  13. 12图像处理
  14. 13照明控制
  15. 14外设
    1. 14.1 GPIO
  16. 15接口协议
    1. 15.1 支持的接口
    2. 15.2 I2C 目标
    3. 15.3 USB
  17. 16命令协议
    1. 16.1 命令数据包
    2. 16.2 响应数据包
    3. 16.3 目标详细信息
    4. 16.4 错误处理和恢复
    5. 16.5 系统繁忙 - I2C 场景
      1. 16.5.1 GPIO 实现
      2. 16.5.2 短缺状态响应
    6. 16.6 支持可变数据大小
  18. 17自动初始化批处理文件
  19. 18命令说明
  20. 19系统命令
    1. 19.1  3D
    2. 19.2  管理事务
    3. 19.3  自动锁定
    4. 19.4  引导加载程序
    5. 19.5  校准
    6. 19.6  内部调试
    7. 19.7  调试
    8. 19.8  常规运行
    9. 19.9  照明
    10. 19.10 图像处理
    11. 19.11 外设
    12. 19.12 扭曲
    13. 19.13 手动 WPC
  21.   修订历史记录

命令数据包

命令数据包定义了将命令发送到 DLP 控制器时要遵循的数据包格式。始终存在的字段以粗体显示,可选字段以正常字体显示。

关于存在哪些字段的定义基于 1 个字节的标头字段。如果命令被定义为具有可变数据大小,则必须具有长度字段。

表 16-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 校验和实现方式如下:
uint32  SimpleChecksum = 0;
uint32 SumofSumChecksum = 0;
uint08 *Addr = (uint08 *) StartAddress;
while (NumBytes--)
{
    SimpleChecksum += *Addr++;
    SumofSumChecksum += SimpleChecksum;
}
表 16-2 命令标头字节
字段名称
0:2Destination(目标)请参阅 Topic Link Label16.3
3Opcode Length(操作码长度)1 = 两字节操作码
0 = 一字节操作码
4Datalength Present(数据长度存在)1 = 扩展标头中存在长度字段
0 = 无长度字段
5Checksum Present(校验和存在)1 = 数据字节后存在校验和
0 = 不存在校验和
6Reply Requested(已请求应答)1 = 器件将向每个写入命令发送一个响应数据包。此字段仅适用于写入命令
0 = 未向写入命令发送响应数据包
7Read Command(读取命令)1 = 读取命令
0 = 写入命令