ZHCU955C August   2021  – March 2024 DLPC7540

 

  1.   1
  2.   摘要
  3.   商标
  4. 范围
  5. 参考资料
  6. 首字母缩写词
  7. 系统引导
    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 低电平故障
  8. 系统状态
  9. 版本
  10. 功耗模式
  11. 显示模式
  12. 源检测和配置
  13. 10内部源
    1. 10.1 测试图形 (TPG)
    2. 10.2 纯色域 (SFG) 颜色
    3. 10.3 幕布
  14. 11显示格式
  15. 12图像处理
  16. 13变形
    1. 13.1 控制点表
    2. 13.2 手动变形表
    3. 13.3 表约束
    4. 13.4 示例变形表
    5. 13.5 手动变形命令
      1. 13.5.1 CMD_SetManualWarpControlPoints [命令 ID:0x35,目标:4]
      2. 13.5.2 CMD_GetManualWarpControlPoints [命令 ID:0x35,目标:4]
      3. 13.5.3 CMD_WriteManualWarpTable [操作码:0x34,目标:4]
      4. 13.5.4 CMD_ReadManualWarpTable [操作码:0x34,目标:4]
      5. 13.5.5 CMD_ConfigureSmoothWarp [命令 ID:0x38,目标:4]
      6. 13.5.6 CMD_ApplyManualWarping [命令 ID:0x36,目标:4]
    6. 13.6 光学(镜头)失真校正
  17. 14混合简介
    1. 14.1  混合映射控制点
    2. 14.2  混合映射增益值
    3. 14.3  混合映射偏移值
    4. 14.4  约束条件
    5. 14.5  手动混合命令
      1. 14.5.1 CMD_EnableEdgeBlending [命令 ID:0x2F]
      2. 14.5.2 CMD_SetBlendMapControlPoints [操作码:0x2E]
      3. 14.5.3 CMD_ GetBlendMapControlPoints [命令 ID: 0x2E]
      4. 14.5.4 CMD_SetBlendMapGainValues [命令 ID:0x2B]
      5. 14.5.5 CMD_ GetBlendMapGainValues [命令 ID:0x2B]
      6. 14.5.6 CMD_ SetBlendMapOffsetValues [命令 ID:0x2D]
      7. 14.5.7 CMD_ GetBlendMapOffsetValues [命令 ID:0x2D]
      8. 14.5.8 CMD_ApplyBlendMap [命令 ID:0x2C]
    6. 14.6  手动混合应用命令
      1. 14.6.1 CMD_SetEdgeBlendingSystemParams [命令 ID:0x3D]
      2. 14.6.2 CMD_GetEdgeBlendingSystemParams [命令 ID:0x3D]
      3. 14.6.3 CMD_SetEdgeBlendingConfiguration [命令 ID:0x3E]
      4. 14.6.4 CMD_GetEdgeBlendingConfiguration [命令 ID:0x3E]
    7. 14.7  为混合设置裁剪输入图像
    8. 14.8  在 EEPROM 中存储边缘混合配置
    9. 14.9  存储在 EEPROM 或辅助闪存中
    10. 14.10 控制程序中的手动混合 GUI
  18. 15照明控制
  19. 16外设
    1. 16.1 GPIO
    2. 16.2 PWM
  20. 17接口协议
    1. 17.1 支持的接口
    2. 17.2 I2C 目标
    3. 17.3 USB
  21. 18命令协议
    1. 18.1 命令数据包
    2. 18.2 响应数据包
    3. 18.3 目标详细信息
    4. 18.4 错误处理和恢复
    5. 18.5 系统繁忙 - I2C 场景
      1. 18.5.1 GPIO 实施
      2. 18.5.2 短缺状态响应
    6. 18.6 支持可变数据大小
  22. 19自动初始化批处理文件
  23. 20命令说明
  24. 21系统命令
    1. 21.1  3D
    2. 21.2  管理事务
    3. 21.3  自动锁定
    4. 21.4  引导加载程序
    5. 21.5  校准
    6. 21.6  混合
    7. 21.7  调试内部
    8. 21.8  调试
    9. 21.9  常规运行
    10. 21.10 照明
    11. 21.11 图像处理
    12. 21.12 手动 WPC
    13. 21.13 外设
    14. 21.14 视觉
    15. 21.15 变形
  25.   修订历史记录

外设

外设

表 21-122 GPIO 引脚配置 [操作码:60h | 目标:4]
设置 GPIO 引脚配置
写入参数
字节 说明
字节 0

范围 = 0 至 87。

字节 1

输入/输出

bit0:1 = 输出(启用输出缓冲器)

0 = 输入(输出缓冲器高阻抗)

字节 2

逻辑值

bit0:1 = LogicVal 1

0 = LogicVal 0

字节 3

开漏配置

bit0:1 = 开漏输出

0 = 标准输出

对单个通用 I/O 引脚的方向、逻辑值和开漏特性进行编程。

获取 GPIO 引脚配置
读取参数
字节 说明
字节 0

范围 = 0 至 87。

返回参数
字节 说明
字节 0

输入/输出

bit0:1 = 输出(启用输出缓冲器)

0 = 输入(输出缓冲器高阻抗)

字节 1

逻辑值

bit0:1 = LogicVal 1

0 = LogicVal 0

字节 2

开漏配置

bit0:1 = 开漏输出

0 = 标准输出

返回单个通用 I/O 引脚的方向、逻辑值和开漏配置。

表 21-123 GPIO 引脚 [操作码:61h | 目标:4]
设置 GPIO 引脚
写入参数
字节 说明
字节 0

范围 = 0 至 87。

字节 1

逻辑值

bit0:1 = LogicVal 1

0 = LogicVal 0

设置指定 GPIO 引脚的输出逻辑值。

获取 GPIO 引脚
读取参数
字节 说明
字节 0

范围 = 0 至 87。

返回参数
字节 说明
字节 0

逻辑值

bit0:1 = LogicVal 1

0 = LogicVal 0

返回指定 GPIO 引脚的逻辑值。

表 21-124 通用时钟启用 [操作码:63h | 目标:4]
设置通用时钟启用
写入参数
字节 说明
字节 0

需配置的时钟

字节 1

TRUE = 启用时钟。

FALSE = 禁用时钟。

字节 2-5

对选定时钟进行分频的量。如需禁用时钟,则忽略此参数。范围 2-127。

获取通用时钟启用
读取参数
字节 说明
字节 0

DDP 时钟输出。

返回参数
字节 说明
字节 0

已启用

表 21-125 通用时钟频率 [操作码:64h | 目标:4]
获取通用时钟频率
读取参数
字节 说明
字节 0

需要返回频率配置的时钟。

返回参数
字节 说明
字节 0-3

时钟频率(以 kHz 为单位)。范围 = 787KHz 至 50,000kHz。

表 21-126 PWM 输出配置 [操作码:65h | 目标:4]
设置 PWM 输出配置
写入参数
字节 说明
字节 0

端口

0 = 输出 PWM 0

1 = 输出 PWM 1

2 = 输出 PWM 2

3 = 输出 PWM 3

4 = 输出 PWM 4

5 = 输出 PWM 5

6 = 输出 PWM 6

7 = 输出 PWM 7

8 = 色轮 0 PWM

9 = 色轮 1 PWM

10 = 色轮 2 PWM

11 = 输入 PWM 0

12 = 输入 PWM 1

13 = 用于在不使用 DB PWM 时设置 DynamicBlack PWM 端口

14 = 无效的 PWM 端口

字节 1-4

频率

范围 = 20 至 10390000,步长为 1

字节 5

占空比

范围 = 0 至 100,步长为 1

字节 6

输出启用字节

bit0:1 = 已启用

0 = 已禁用

设置指定 PWM 端口的占空比和频率。还会启用或禁用该端口。

注意:LED PWM 端口的频率是固定的,不能更改。

获取 PWM 输出配置
读取参数
字节 说明
字节 0

端口

0 = 输出 PWM 0

1 = 输出 PWM 1

2 = 输出 PWM 2

3 = 输出 PWM 3

4 = 输出 PWM 4

5 = 输出 PWM 5

6 = 输出 PWM 6

7 = 输出 PWM 7

8 = 色轮 0 PWM

9 = 色轮 1 PWM

10 = 色轮 2 PWM

11 = 输入 PWM 0

12 = 输入 PWM 1

13 = 用于在不使用 DB PWM 时设置 DynamicBlack PWM 端口

14 = 无效的 PWM 端口

返回参数
字节 说明
字节 0-3

频率

范围 = 20 至 10390000,步长为 1

字节 4

占空比

范围 = 0 至 100,步长为 1

字节 5

输出启用

bit0:1 = 已启用

0 = 已禁用

获取指定 PWM 端口的占空比和频率。还会返回端口当前是启用还是禁用状态。

表 21-127 PWM 输入配置 [操作码:66h | 目标:4]
设置 PWM 输入配置
写入参数
字节 说明
字节 0

端口

0 = PWM 输入计数器 0

1 = PWM 输入计数器 1

字节 1-4

采样速率

字节 5

启用输入计数器

设置指定 PWM 输入计数器端口的采样速率、占空比、高脉宽和低脉宽。还会启用或禁用该端口。

获取 PWM 输入配置
读取参数
字节 说明
字节 0

端口

0 = PWM 输入计数器 0

1 = PWM 输入计数器 1

返回参数
字节 说明
字节 0-3

采样速率

范围 = 317 至 20780000,步长为 1

字节 4

启用输入计数器

字节 5-6

高脉宽

字节 7-8

低脉宽

字节 9

占空比

范围 = 0 至 100,步长为 1

获取指定 PWM 输入计数器端口的采样速率、占空比、高脉宽和低脉宽。还会返回端口当前是启用还是禁用状态。

表 21-128 I2C Passthrough [操作码:67h | 目标:4]
设置 I2C Passthrough
写入参数
字节 说明
字节 0

端口

0 = I2C 端口 0

1 = I2C 端口 1

2 = I2C 端口 2

3 = 仅支持三个端口

字节 1

7 位地址 - 0 = 10 位地址;1 = 7 位地址

字节 2

子地址存在 - 0 = 子地址不存在;1 = 子地址存在

字节 3-6

时钟速率 - 支持 100Khz 或 400Khz

字节 7-8

器件地址

字节 9 - 传递的字节数

子地址(如果存在)

字节 9 - *

数据字节

将数据写入指定的 I2C 器件地址。

获取 I2C Passthrough
读取参数
字节 说明
字节 0

端口

0 = I2C 端口 0

1 = I2C 端口 1

2 = I2C 端口 2

3 = 仅支持三个端口

字节 1

7 位地址

0 = 10 位地址

1 = 7 位地址

字节 2

子地址存在 - 0 = 子地址不存在;1 = 子地址存在

字节 3-6

时钟速率

字节 7-8

器件地址

字节 9-10

字节计数

字节 11 - 传递的字节数

子地址(如果存在)

返回参数
字节 说明
字节 0 - 传递的字节数

数据字节

从指定的 I2C 器件地址读取数据。

表 21-129 DMD 温度 [操作码:69h | 目标:4]
获取 DMD 温度
返回参数
字节 说明
字节 0-1

摄氏温度值。注意:默认情况下,固件配置为使用 I2C 端口 2 来读取 TMP411A 输出。这可以根据需要进行更改。使用最新的 DLP Composer 软件,可重建固件以通过 I2C 在需要配置硬件的端口 1 和 2 上接收串行数据。

范围 = -256 至 255,步长为 1

此命令仅适用于系统中安装了 TMP411A 温度传感器的情形。

表 21-130 EEPROM 锁定状态 [操作码:6Ch | 目标:4]
设置 EEPROM 锁定状态
写入参数
字节 说明
字节 0

“0”- 未锁定

“1”- 已锁定

设置 EEPROM 的锁定状态。设置锁定后,从应用软件写入的所有 EEPROM 设置和/或校准数据都不会实际写入到 EEPROM。锁定模式只能在工厂内使用,方便用户使用各种不同的设置,而不将这些设置实际记录到 EEPROM 中。在正常使用模式下,不应设置锁定。

获取 EEPROM 锁定状态
返回的数据与写入参数的格式相同。

获取 EEPROM 的锁定状态。

表 21-131 UART 配置 [操作码:6Dh | 目标:4]
设置 UART 配置
写入参数
字节 说明
字节 0

UART 端口

0 = Port0

1 = Port1

2 = Port2

字节 1

启用状态

bit0:0 = 禁用

1 = 启用

字节 2

波特率

0 = 1200

1 = 2400

2 = 4800

3 = 9600

4 = 14400

5 = 19200

6 = 38400

7 = 57600

8 = 115200

9 = 230400

10 = 460800

11 = 921600

字节 3

数据位

0 = 5

1 = 6

2 = 7

3 = 8

字节 4

停止位

0 = 1

1 = 2

字节 5

奇偶校验

0 = 既不传输也不检查奇偶校验位

1 = 传输并检查偶校验

2 = 传输并检查奇校验

字节 6

流控

0 = 关

1 = 硬件流控制

字节 7

Rx 触发电平

0 = 八分之一满

1 = 四分之一满

2 = 二分之一满

3 = 四分之三满

4 = 八分之七满

字节 8

Tx 触发电平

0 = 八分之一满

1 = 四分之一满

2 = 二分之一满

3 = 四分之三满

4 = 八分之七满

字节 9

Rx 数据极性

0 = 提供 UART_RXD 输入的同相版本

1 = 提供 UART_RXD 输入的反相版本

字节 10

Rx 数据源

0 = UART_x.RXD 来源于 UART_x_RXD 引脚

1 = UART_x.RXD 来源于 LAMPSTAT 引脚

初始化指定 UART 端口的所有可编程参数。

获取 UART 配置
读取参数
字节 说明
字节 0

UART 端口

0 = Port0

1 = Port1

2 = Port2

返回参数
字节 说明
字节 0

启用状态

bit0:0 = 禁用

1 = 启用

字节 1

波特率

0 = 1200

1 = 2400

2 = 4800

3 = 9600

4 = 14400

5 = 19200

6 = 38400

7 = 57600

8 = 115200

9 = 230400

10 = 460800

11 = 921600

字节 2

数据位

0 = 5

1 = 6

2 = 7

3 = 8

字节 3

停止位

0 = 1

1 = 2

字节 4

奇偶校验

0 = 既不传输也不检查奇偶校验位

1 = 传输并检查偶校验

2 = 传输并检查奇校验

字节 5

流控

0 = 关

1 = 硬件流控制

字节 6

Rx 触发电平

0 = 八分之一满

1 = 四分之一满

2 = 二分之一满

3 = 四分之三满

4 = 八分之七满

字节 7

Tx 触发电平

0 = 八分之一满

1 = 四分之一满

2 = 二分之一满

3 = 四分之三满

4 = 八分之七满

字节 8

Rx 数据极性

0 = 提供 UART_RXD 输入的同相版本

1 = 提供 UART_RXD 输入的反相版本

字节 9

Rx 数据源

0 = UART_x.RXD 来源于 UART_x_RXD 引脚

1 = UART_x.RXD 来源于 LAMPSTAT 引脚

获取指定 UART 端口的当前配置。

表 21-132 执行器 EEPROM 空闲存储器访问权限 [操作码:6Eh | 目标:4]
设置执行器 EEPROM 空闲存储器访问权限
写入参数
字节 说明
字节 0-1

偏移

字节 2-3

大小

字节 4 - *

数据字节

将数据写入执行器 EEPROM 可用存储器。

获取执行器 EEPROM 空闲存储器访问权限
读取参数
字节 说明
字节 0-1

偏移

字节 2-3

大小

返回参数
字节 说明
字节 0 - 传递的字节数

数据字节

此命令从执行器 EEPROM 空闲存储器读取数据。

表 21-133 执行器 EEPROM 空闲存储器信息 [操作码:6Fh | 目标:4]
获取执行器 EEPROM 空闲存储器信息
返回参数
字节 说明
字节 0-1

偏移

字节 2-3

大小

此命令返回相对于空闲存储器起始位置的 XPR EEPROM 地址偏移和可用大小。