ZHCU949 April   2022 DLPC1438

 

  1.   摘要
  2.   商标
  3. 1引言
  4. 2系统概述
    1. 2.1 初始化
    2. 2.2 I2C 接口规范
  5. 3系统写入/读取命令
    1.     概述
    2. 3.1 常规操作命令
      1. 3.1.1  写入工作模式选择 (05h)
        1. 3.1.1.1 写入参数
      2. 3.1.2  读取工作模式选择 (06h)
        1. 3.1.2.1 读取参数
        2. 3.1.2.2 返回参数
      3. 3.1.3  写入测试图形选择 (0Bh)
        1. 3.1.3.1 写入参数
      4. 3.1.4  读取测试图形选择 (0Ch)
        1. 3.1.4.1 读取参数
        2. 3.1.4.2 返回参数
      5. 3.1.5  写入启动界面选择 (0Dh)
        1. 3.1.5.1 写入
        2. 3.1.5.2 写入参数 (0Dh)
      6. 3.1.6  读取启动界面选择 (0Eh)
        1. 3.1.6.1 读取参数
        2. 3.1.6.2 返回参数
      7. 3.1.7  读取启动界面标题 (0Fh)
        1. 3.1.7.1 读取参数
        2. 3.1.7.2 返回参数
      8. 3.1.8  写入显示图像方向 (14h)
        1. 3.1.8.1 写入参数
      9. 3.1.9  读取显示图像方向 (15h)
        1. 3.1.9.1 读取参数
        2. 3.1.9.2 返回参数
      10. 3.1.10 写入显示图像幕布 (16h)
        1. 3.1.10.1 写入参数
      11. 3.1.11 读取显示图像幕布 (17h)
        1. 3.1.11.1 读取参数
        2. 3.1.11.2 返回参数
      12. 3.1.12 写入图像冻结 (1Ah)
        1. 3.1.12.1 写入参数
        2. 3.1.12.2 利用图像冻结减少屏幕上的伪影
      13. 3.1.13 读取图像冻结 (1Bh)
        1. 3.1.13.1 读取参数
        2. 3.1.13.2 返回参数
      14. 3.1.14 写入执行闪存批处理文件 (2Dh)
        1. 3.1.14.1 写入参数
      15. 3.1.15 写入启动界面执行 (35h)
        1. 3.1.15.1 写入参数
    3. 3.2 照明控制命令
      1. 3.2.1 写入照明器 LED 启用 (52h)
        1. 3.2.1.1 写入参数
      2. 3.2.2 读取照明器 LED 启用 (53h)
        1. 3.2.2.1 读取参数
        2. 3.2.2.2 返回参数
      3. 3.2.3 写入照明器 LED 电流 PWM (54h)
        1. 3.2.3.1 写入参数
      4. 3.2.4 读取照明器 LED 电流 PWM (55h)
        1. 3.2.4.1 读取参数
        2. 3.2.4.2 返回参数
      5. 3.2.5 写入照明器 LED 最大电流 PWM (5Ch)
        1. 3.2.5.1 写入参数
      6. 3.2.6 读取照明器 LED 最大电流 PWM (5Dh)
        1. 3.2.6.1 读取参数
        2. 3.2.6.2 返回参数
    4. 3.3 3D 打印命令
      1. 3.3.1  没有 FPGA 前端时的 3D 打印过程
      2. 3.3.2  具有 FPGA 前端时的 3D 打印过程
      3. 3.3.3  写入触发输出配置 (92h)
        1. 3.3.3.1 写入参数 (92h)
      4. 3.3.4  读取触发输出配置 (93h)
        1. 3.3.4.1 读取参数
        2. 3.3.4.2 返回参数
      5. 3.3.5  读取传感序列版本 (9Bh)
        1. 3.3.5.1 读取参数
        2. 3.3.5.2 返回参数
      6. 3.3.6  写入外部打印配置 (A8h)
        1. 3.3.6.1 写入参数
      7. 3.3.7  读取外部打印配置 (A9h)
        1. 3.3.7.1 读取参数
        2. 3.3.7.2 返回参数
      8. 3.3.8  写入外部打印控制 (C1h)
        1. 3.3.8.1 写入参数
      9. 3.3.9  读取外部打印控制 (C2h)
        1. 3.3.9.1 读取参数
        2. 3.3.9.2 返回参数
      10. 3.3.10 写入并行视频 (C3h)
        1. 3.3.10.1 写入参数
      11. 3.3.11 读取并行视频 (C4h)
        1. 3.3.11.1 读取参数
        2. 3.3.11.2 返回参数
      12. 3.3.12 写入活跃缓冲器 (C5h)
        1. 3.3.12.1 写入参数
      13. 3.3.13 读取活跃缓冲器 (C6h)
        1. 3.3.13.1 读取参数
        2. 3.3.13.2 返回参数
      14. 3.3.14 写入 FPGA 控制 (CAh)
        1. 3.3.14.1 写入参数
      15. 3.3.15 读取 FPGA 控制 (CBh)
        1. 3.3.15.1 读取参数
        2. 3.3.15.2 返回参数
      16. 3.3.16 读取 FPGA SPI CRC16 (CEh)
        1. 3.3.16.1 读取参数
        2. 3.3.16.2 返回参数
    5. 3.4 一般设置命令
      1. 3.4.1 管理命令
        1. 3.4.1.1 读取短暂状态 (D0h)
          1. 3.4.1.1.1 读取参数
          2. 3.4.1.1.2 返回参数
        2. 3.4.1.2 读取系统状态 (D1h)
          1. 3.4.1.2.1 读取参数
          2. 3.4.1.2.2 返回参数
        3. 3.4.1.3 读取系统软件版本 (D2h)
          1. 3.4.1.3.1 读取参数
          2. 3.4.1.3.2 返回参数
        4. 3.4.1.4 读取通信状态 (D3h)
          1. 3.4.1.4.1 读取参数
          2. 3.4.1.4.2 返回参数
        5. 3.4.1.5 读取控制器器件 ID (D4h)
          1. 3.4.1.5.1 读取参数
          2. 3.4.1.5.2 返回参数
        6. 3.4.1.6 读取 DMD 器件 ID (D5h)
          1. 3.4.1.6.1 读取参数
          2. 3.4.1.6.2 返回参数
        7. 3.4.1.7 读取系统温度 (D6h)
          1. 3.4.1.7.1 读取参数
          2. 3.4.1.7.2 读取参数
        8. 3.4.1.8 读取闪存构建版本 (D9h)
          1. 3.4.1.8.1 读取参数
          2. 3.4.1.8.2 返回参数
        9. 3.4.1.9 写入闪存批处理文件延迟 (DBh)
          1. 3.4.1.9.1 写入参数
    6. 3.5 FPGA Commands
      1. 3.5.1 读取 FPGA 版本 (64h)
        1. 3.5.1.1 读取参数
        2. 3.5.1.2 返回参数
      2. 3.5.2 读取 FPGA 状态 (6Fh)
        1. 3.5.2.1 读取参数
        2. 3.5.2.2 返回参数
      3. 3.5.3 写入 FPGA TPG (67h)
        1. 3.5.3.1 写入参数
      4. 3.5.4 读取 FPGA TPG (68h)
        1. 3.5.4.1 读取参数
        2. 3.5.4.2 返回参数
      5. 3.5.5 激励器命令
        1. 3.5.5.1  写入激励器延迟 (70h)
          1. 3.5.5.1.1 写入参数
        2. 3.5.5.2  读取激励器延迟 (71h)
          1. 3.5.5.2.1 读取参数
          2. 3.5.5.2.2 返回参数
        3. 3.5.5.3  写入激励器增益 (72h)
          1. 3.5.5.3.1 写入参数
        4. 3.5.5.4  读取激励器增益 (73h)
          1. 3.5.5.4.1 读取参数
          2. 3.5.5.4.2 返回参数
        5. 3.5.5.5  写入激励器段长度 (74h)
          1. 3.5.5.5.1 写入参数
        6. 3.5.5.6  读取激励器段长度 (75h)
          1. 3.5.5.6.1 读取参数
          2. 3.5.5.6.2 返回参数
        7. 3.5.5.7  写入激励器子帧延迟 (76h)
          1. 3.5.5.7.1 写入参数
        8. 3.5.5.8  读取激励器子帧延迟 (77h)
          1. 3.5.5.8.1 读取参数
          2. 3.5.5.8.2 返回参数
        9. 3.5.5.9  写入激励器偏移 (78h)
          1. 3.5.5.9.1 写入参数
        10. 3.5.5.10 读取激励器偏移 (79h)
          1. 3.5.5.10.1 读取参数
          2. 3.5.5.10.2 返回参数
        11. 3.5.5.11 写入激励器配置选择 (A2h)
          1. 3.5.5.11.1 写入参数
        12. 3.5.5.12 读取激励器配置选择 (A3h)
          1. 3.5.5.12.1 读取参数
          2. 3.5.5.12.2 返回参数
        13. 3.5.5.13 写入激励器固定输出电平 (A4h)
          1. 3.5.5.13.1 写入参数
        14. 3.5.5.14 读取激励器固定输出电平 (A5h)
          1. 3.5.5.14.1 读取参数
          2. 3.5.5.14.2 返回参数
        15. 3.5.5.15 写入激励器段数 (A6h)
          1. 3.5.5.15.1 写入参数
        16. 3.5.5.16 读取激励器段数 (A7h)
          1. 3.5.5.16.1 读取参数
          2. 3.5.5.16.2 返回参数
        17. 3.5.5.17 写入激励器输出选择 (AAh)
          1. 3.5.5.17.1 写入参数
        18. 3.5.5.18 读取激励器输出选择 (ABh)
          1. 3.5.5.18.1 读取参数
          2. 3.5.5.18.2 返回参数
        19. 3.5.5.19 读取激励器控制 (AFh)
          1. 3.5.5.19.1 读取参数
          2. 3.5.5.19.2 返回参数
        20. 3.5.5.20 读取激励器温度 (C7h)
          1. 3.5.5.20.1 读取参数
          2. 3.5.5.20.2 返回参数
        21. 3.5.5.21 写入激励器方向 (C8h)
          1. 3.5.5.21.1 写入参数
        22. 3.5.5.22 读取激励器方向 (C9h)
          1. 3.5.5.22.1 读取参数
          2. 3.5.5.22.2 返回参数
    7. 3.6 闪存更新命令
      1. 3.6.1 读取闪存更新预检验 (DDh)
        1. 3.6.1.1 读取参数
        2. 3.6.1.2 返回参数
      2. 3.6.2 写入闪存数据类型选择 (DEh)
        1. 3.6.2.1 写入参数
      3. 3.6.3 写入闪存数据长度 (DFh)
        1. 3.6.3.1 写入参数
      4. 3.6.4 写入擦除闪存数据 (E0h)
        1. 3.6.4.1 写入参数
      5. 3.6.5 写入闪存开始 (E1h)
        1. 3.6.5.1 写入参数
      6. 3.6.6 写入闪存继续 (E2h)
        1. 3.6.6.1 写入参数
      7. 3.6.7 读取闪存开始 (E3h)
        1. 3.6.7.1 读取参数
        2. 3.6.7.2 返回参数
      8. 3.6.8 读取闪存继续 (E4h)
        1. 3.6.8.1 读取参数
        2. 3.6.8.2 返回参数
  6. 4SPI 数据传输
    1. 4.1 SPI 像素视频规范
    2. 4.2 SPI 数据格式
      1. 4.2.1 拆分 SPI 数据

SPI 数据格式

通过 SPI 接口发送的数据必须通过以下方式进行格式化,才能在 FPGA 上正确解析:
表 4-1 SPI 数据流格式
布局: 命令 行/列索引 长度 1 数据字段2 CRC16 3
位: 0-7 8-39 40-47 48-79 80 -336/16.777297E6 337/16.777298E6 - 369/16.777329E6
  1. 长度字段是数据字段字节数的十六进制表示。
  2. 数据字段最小为 256 位,最大为 16,777,216 位。
  3. CRC16 是 16 位冗余检验。这些位始终位于数据流的末尾。

         例如,TI 的 DLP 团队使用 Python 脚本中 crcmod 的 mkCrcFun 函数。用于生成该函数的参数如下:
            多项式:0x18005
            初始值:0xFFFF
            最终 XOR 值:0x0
            输入翻转:False
            结果翻转:False
            正向或反向:Forward
       FPGA SPI CRC16 结果可以按照Topic Link Label3.3.16所述进行检验

  4. 这些命令参数均以小端字节序格式发送。
  5. 由于 SPI 发送器缓冲器的大小受到限制,可能有必要划分成多个更小的部分来发送这些命令。相关说明,请参阅Topic Link Label4.2.1
表 4-2 SPI 数据流命令
命令代码 说明
00 空闲
04 数据流
SPI 数据流可能会替换整个图像缓冲器,也可能有选择地更新图像缓冲器的矩形窗口部分。Column Start Index 设置待更新矩形的左上像素一列,具体形式为列编号 128 x Column Start Index。Row Start Index 设置待更新矩形的左上像素一行,具体形式为 2 x Row Start Index。Column End Index 设置待更新矩形的最右侧一列,具体形式为列编号 128 x Column End Index - 1。Length 确定待更新矩形的的右下角,并且必须设置为“高度 x 宽度 x 每像素位数”。
例如,若要更新 8 位值的整个 2560 x 1440 帧,请使用以下设置:
Column Start Index:0
Column End Index:19
Start Row Index:0
Length:3686400

例如,若要更新 8 位值的 1280 x 720 帧,请使用以下设置:

Column Start Index:5
Column End Index:14
Start Row Index:180
Length:921600
表 4-3 SPI 数据流行和列索引位 (8 - 39)
说明 使用 DLPC1438 时的有效值
b(8:12) Column Start Index 左上像素一列 = 128 x Column Start Index 0 至 19
b(13:17) Column End Index 最右侧一列 = 128 x Column End Index - 1 0 至 19,必须大于或等于 Column Start Index
b(18:28) Start Row Index 左上像素一行 = 2 x Start Row Index 0 至 719
b(29:35) 空位全部为 0
b(36:39) 数据流校验全部为 1