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.   修订历史记录

CMD_WriteManualWarpTable [操作码:0x34,目标:4]

此命令用于将手动变形表加载到系统中。它具有起始索引和任意点数作为参数。起始索引是一个 16 位数字,表示 2D 变形表中的线性索引。始终假定变形表具有与使用 SetManualWarpControlPoints 命令设置的控制点相同的变形点数量。

每个点会作为两个 13.3 固定点数(表示 X 和 Y 坐标)来传递。由于命令数据包总大小不能超过 512 字节,加载该表时应使用不同的起始索引多次调用命令。如果在手动变形表中传递的点数小于 62×32,则软件会通过输入均匀间隔控制点的变形映射来生成所有 62×32 控制点的变形映射。对于每个 62×32 控制点,它会在均匀间隔变形映射中找到四个最接近的控制点,然后使用双线性插值计算输出位置。

注:

在变形引擎执行任何缩放和梯形校正后应用手动变形映射。

使用此命令之前应设置手动变形控制点。

GUID-20230112-SS0I-WX8G-PWRQ-PHD7PFT3FKCG-low.jpg图 13-5 示例输出
表 13-4 示例命令数据包
字节索引 说明
0 0x54 命令数据包标头(目标 4,长度存在,需要响应)
1 0x34 命令操作码
2-3 0x0031 有效载荷中的字节数 (49)
4-5 0x0000 表中的起始索引 (0)
6-7 0x0000 X1 = 0.0
8-9 0x0000 Y1 = 0.0
10-11 0x2800 X2 = 1280.0
12-13 0x0640 Y2 = 200.0
14-15 0x5000 X3 = 2560.0
16-17 0x0640 Y3 = 200.0
18-19 0x77F8 X4 = 3839.0
20-21 0x0640 Y4 = 200.0
22-23 0x0000 X5 = 0.0
24-25 0x21C0 Y5 = 1080.0
26-27 0x2800 X6 = 1280.0
28-29 0x21C0 Y6 = 1080.0
30-31 0x5000 X7 = 2560.0
32-33 0x21C0 Y7 = 1080.0
34-35 0x71C0 X8 = 3640.0
36-37 0x21C0 Y8 = 1080.0
38-39 0x0000 X9 = 0.0
40-41 0x4378 Y9 = 2159.0
42-43 0x2800 X10 = 1280.0
44-45 0x3D40 Y10 = 1960.0
46-47 0x5000 X11 = 2560.0
48-49 0x3D40 X11 = 1960.0
50-51 0x77F8 X12 = 3839.0
51-52 0x4378 Y12 = 2159.0

发送大量变形点的方法

如前所述,一条命令中的字节数不能超过 512。要发送大量的变形点,请发送多个数据包。下面显示了发送 62×32 变形点的示例方法:

命令 1:索引 = 0,后跟 124 对 X、Y(124×2×2 = 496 字节)

命令 2:索引 = 124,后跟下一个 124 对 X、Y

命令 3:索引 = 248,后跟下一个 124 对 X、Y

以此类推:

命令 16:索引 = 930,后跟最后 124 对 X、Y

优化以减少命令接口发送的数据

如果在 62×32 个变形点中,只有一些点发生了变化(例如第 10 点、第 11 点、第 12 点和第 45 点),则可以使用以下方法。

命令 1:索引 = 0,后跟(X10、Y10、X11、Y11、X12、Y12)

命令 2:索引 = 45,后跟(X45、Y45)

命令 3:ApplyManualWarping 命令,启用 = 0

命令 4:ApplyManualWarping 命令,启用 = 1

当任何点发生变化时,可以使用此优化,而不是发送所有 62×32 个变形点。