ZHCUC57E August   2016  – July 2024

 

  1.   1
  2.   商标
  3. 引言
    1. 1.1 文档概览
    2. 1.2 软件概述
    3. 1.3 前照灯概述
  4. 电气接口
    1. 2.1 加电信号
      1. 2.1.1 STAY-IN-BOOT (TSTPT_0)
      2. 2.1.2 HOST_IF_SEL
      3. 2.1.3 CRCZ_CHKSUM_SEL
      4. 2.1.4 HOST_SPI_MODE
        1. 2.1.4.1 引导流程调试
      5. 2.1.5 SPREAD-SPECTRUM-DISABLE (TSTPT_5)
    2. 2.2 系统信号
      1. 2.2.1 HOST_IRQ
      2. 2.2.2 GPIO
      3. 2.2.3 PWM 控制
  5. 通信协议
    1. 3.1 命令协议
    2. 3.2 SPI 规格
    3. 3.3 I2C 规范
    4. 3.4 写入
      1. 3.4.1 短写入
        1. 3.4.1.1 SPI 短写入
        2. 3.4.1.2 I2C 短写入
      2. 3.4.2 批量写入
        1. 3.4.2.1 SPI 批量写入
        2. 3.4.2.2 I2C 批量写入
      3. 3.4.3 写入命令处理
    5. 3.5 读取
      1. 3.5.1 读取预取
        1. 3.5.1.1 SPI 读取预取
        2. 3.5.1.2 I2C 读取预取
      2. 3.5.2 读取激活
        1. 3.5.2.1 SPI 读取激活
        2. 3.5.2.2 I2C 读取激活
      3. 3.5.3 短状态读取
        1. 3.5.3.1 SPI 短状态读取
        2. 3.5.3.2 I2C 短状态读取
      4. 3.5.4 读取命令处理
    6. 3.6 CRC 和校验和
      1. 3.6.1 CRC 计算
        1. 3.6.1.1 CRC 示例实现
        2. 3.6.1.2 CRC 示例
      2. 3.6.2 校验和计算
    7. 3.7 命令标签
  6. 系统运行
    1. 4.1 工作模式
      1. 4.1.1 待机
      2. 4.1.2 显示
    2. 4.2 软件启动过程
  7. 应用和用例
    1. 5.1 显示和源
      1. 5.1.1 显示图像
      2. 5.1.2 支持的图像处理
      3. 5.1.3 外部视频
      4. 5.1.4 测试模式
      5. 5.1.5 启动界面图像
      6. 5.1.6 图像翻转
    2. 5.2 批处理命令集
    3. 5.3 闪存编程
      1. 5.3.1 闪存程序 - 主应用程序
      2. 5.3.2 闪存读取 - 主应用程序
      3. 5.3.3 闪存程序 - 引导应用程序
    4. 5.4 视频帧和照度分级延迟
    5. 5.5 平稳照明转换
    6. 5.6 温度管理
      1. 5.6.1 DMD 停止/解除停止温度管理
      2. 5.6.2 PWM 温度管理功能
    7. 5.7 ADC 测量
      1. 5.7.1 序列对齐的 ADC 测量
      2. 5.7.2 单个 ADC 测量
  8. 测试和诊断
    1. 6.1 概述
    2. 6.2 紧急关闭
      1. 6.2.1 紧急关闭原因
    3. 6.3 诊断存储器接口
    4. 6.4 测试说明
      1. 6.4.1 周期性测试
        1. 6.4.1.1  视频源损耗检测
          1. 6.4.1.1.1 配置
          2. 6.4.1.1.2 执行
          3. 6.4.1.1.3 失败操作
          4. 6.4.1.1.4 错误代码
        2. 6.4.1.2  视频信号灯校验和
          1. 6.4.1.2.1 配置
          2. 6.4.1.2.2 执行
          3. 6.4.1.2.3 失败操作
          4. 6.4.1.2.4 错误代码
        3. 6.4.1.3  视频帧计数器校验和
          1. 6.4.1.3.1 一像素帧计数器
          2. 6.4.1.3.2 七像素帧计数器
          3. 6.4.1.3.3 配置
          4. 6.4.1.3.4 执行
          5. 6.4.1.3.5 失败操作
          6. 6.4.1.3.6 错误代码
        4. 6.4.1.4  画面平均值
          1. 6.4.1.4.1 配置
          2. 6.4.1.4.2 执行
          3. 6.4.1.4.3 失败操作
          4. 6.4.1.4.4 错误代码
        5. 6.4.1.5  Ping 命令丢失
          1. 6.4.1.5.1 配置
          2. 6.4.1.5.2 执行
          3. 6.4.1.5.3 失败操作
          4. 6.4.1.5.4 错误代码
        6. 6.4.1.6  DLPC230-Q1 处理器存储器 ECC
          1. 6.4.1.6.1 配置
          2. 6.4.1.6.2 执行
          3. 6.4.1.6.3 失败操作
          4. 6.4.1.6.4 错误代码
        7. 6.4.1.7  闪存表传输 CRC
          1. 6.4.1.7.1 配置
          2. 6.4.1.7.2 执行
          3. 6.4.1.7.3 失败操作
          4. 6.4.1.7.4 错误代码
        8. 6.4.1.8  帧缓冲区交换看门狗
          1. 6.4.1.8.1 配置
          2. 6.4.1.8.2 执行
          3. 6.4.1.8.3 失败操作
          4. 6.4.1.8.4 错误代码
        9. 6.4.1.9  序列发生器指令读取看门狗
          1. 6.4.1.9.1 配置
          2. 6.4.1.9.2 执行
          3. 6.4.1.9.3 失败操作
          4. 6.4.1.9.4 错误代码
        10. 6.4.1.10 DMD 复位指令看门狗
          1. 6.4.1.10.1 配置
          2. 6.4.1.10.2 执行
          3. 6.4.1.10.3 失败操作
          4. 6.4.1.10.4 错误代码
        11. 6.4.1.11 DLPC230-Q1 系统电压监控器
          1. 6.4.1.11.1 配置
          2. 6.4.1.11.2 执行
          3. 6.4.1.11.3 失败操作
          4. 6.4.1.11.4 错误代码
        12. 6.4.1.12 DLPC230-Q1 DMD 电压监控器
          1. 6.4.1.12.1 配置
          2. 6.4.1.12.2 执行
          3. 6.4.1.12.3 失败操作
          4. 6.4.1.12.4 错误代码
        13. 6.4.1.13 DLPC230-Q1 TPS99000-Q1 带隙监视器
          1. 6.4.1.13.1 配置
          2. 6.4.1.13.2 执行
          3. 6.4.1.13.3 失败操作
          4. 6.4.1.13.4 错误代码
        14. 6.4.1.14 DMD 温度监测器
          1. 6.4.1.14.1 配置
          2. 6.4.1.14.2 执行
          3. 6.4.1.14.3 失败操作
          4. 6.4.1.14.4 错误代码
        15. 6.4.1.15 DMD 时钟监测器
          1. 6.4.1.15.1 配置
          2. 6.4.1.15.2 执行
          3. 6.4.1.15.3 失败操作
          4. 6.4.1.15.4 错误代码
        16. 6.4.1.16 DMD 高速接口训练
          1. 6.4.1.16.1 配置
          2. 6.4.1.16.2 执行
          3. 6.4.1.16.3 失败操作
          4. 6.4.1.16.4 错误代码
        17. 6.4.1.17 DMD 低速接口信号
          1. 6.4.1.17.1 配置
          2. 6.4.1.17.2 执行
          3. 6.4.1.17.3 失败操作
          4. 6.4.1.17.4 错误代码
        18. 6.4.1.18 TPS99000-Q1 DLPC230-Q1 处理器看门狗 (WD1)
          1. 6.4.1.18.1 配置
          2. 6.4.1.18.2 执行
          3. 6.4.1.18.3 失败操作
          4. 6.4.1.18.4 错误代码
        19. 6.4.1.19 TPS99000-Q1 DLPC230-Q1 序列发生器看门狗 (WD2)
          1. 6.4.1.19.1 配置
          2. 6.4.1.19.2 执行
          3. 6.4.1.19.3 失败操作
          4. 6.4.1.19.4 错误代码
        20. 6.4.1.20 TPS99000-Q1 温度警告/错误
          1. 6.4.1.20.1 配置
          2. 6.4.1.20.2 执行
          3. 6.4.1.20.3 失败操作
          4. 6.4.1.20.4 错误代码
        21. 6.4.1.21 TPS99000-Q1 时钟比率监视
          1. 6.4.1.21.1 配置
          2. 6.4.1.21.2 执行
          3. 6.4.1.21.3 失败操作
          4. 6.4.1.21.4 错误代码
        22. 6.4.1.22 TPS99000-Q1 寄存器密码锁定
          1. 6.4.1.22.1 配置
          2. 6.4.1.22.2 执行
          3. 6.4.1.22.3 失败操作
          4. 6.4.1.22.4 错误代码
        23. 6.4.1.23 TPS99000-Q1 寄存器校验和
          1. 6.4.1.23.1 配置
          2. 6.4.1.23.2 执行
          3. 6.4.1.23.3 失败操作
          4. 6.4.1.23.4 错误代码
        24. 6.4.1.24 软件监控器线程
          1. 6.4.1.24.1 配置
          2. 6.4.1.24.2 执行
          3. 6.4.1.24.3 失败操作
          4. 6.4.1.24.4 错误代码
      2. 6.4.2 非周期性测试
        1. 6.4.2.1  执行时间
        2. 6.4.2.2  DLPC230-Q1 前端功能 BIST(主)
          1. 6.4.2.2.1 配置
          2. 6.4.2.2.2 执行
          3. 6.4.2.2.3 失败操作
          4. 6.4.2.2.4 错误代码
        3. 6.4.2.3  DLPC230-Q1 后端功能 BIST(主)
          1. 6.4.2.3.1 配置
          2. 6.4.2.3.2 执行
          3. 6.4.2.3.3 失败操作
          4. 6.4.2.3.4 错误代码
        4. 6.4.2.4  DLPC230-Q1 存储器 BIST(主)
          1. 6.4.2.4.1 配置
          2. 6.4.2.4.2 执行
          3. 6.4.2.4.3 失败操作
          4. 6.4.2.4.4 错误代码
        5. 6.4.2.5  TPS99000-Q1 接口信号连接测试(主)
          1. 6.4.2.5.1 配置
          2. 6.4.2.5.2 执行
          3. 6.4.2.5.3 失败操作
          4. 6.4.2.5.4 错误代码
        6. 6.4.2.6  DMD 存储器测试(主)
          1. 6.4.2.6.1 配置
          2. 6.4.2.6.2 执行
          3. 6.4.2.6.3 失败操作
          4. 6.4.2.6.4 错误代码
        7. 6.4.2.7  闪存数据验证(引导/主)
          1. 6.4.2.7.1 配置
          2. 6.4.2.7.2 执行
          3. 6.4.2.7.3 失败操作
          4. 6.4.2.7.4 错误代码
        8. 6.4.2.8  DLPC230-Q1 引导 ROM CRC(引导)
          1. 6.4.2.8.1 配置
          2. 6.4.2.8.2 执行
          3. 6.4.2.8.3 失败操作
          4. 6.4.2.8.4 错误代码
        9. 6.4.2.9  DLPC230-Q1 闪存表 CRC(引导)
          1. 6.4.2.9.1 配置
          2. 6.4.2.9.2 执行
          3. 6.4.2.9.3 失败操作
          4. 6.4.2.9.4 错误代码
        10. 6.4.2.10 DLPC230-Q1 主应用程序 CRC(引导)
          1. 6.4.2.10.1 配置
          2. 6.4.2.10.2 执行
          3. 6.4.2.10.3 失败操作
          4. 6.4.2.10.4 错误代码
        11. 6.4.2.11 DLPC230-Q1 命令和闪存接口存储器测试(引导)
          1. 6.4.2.11.1 配置
          2. 6.4.2.11.2 执行
          3. 6.4.2.11.3 失败操作
          4. 6.4.2.11.4 错误代码
      3. 6.4.3 接口测试
        1. 6.4.3.1 温度传感器接口
          1. 6.4.3.1.1 失败操作
        2. 6.4.3.2 DLPC230-Q1 至 TPS99000-Q1 SPI 接口
          1. 6.4.3.2.1 失败操作
        3. 6.4.3.3 DLPC230-Q1 至 TPS99000-Q1 ADC 接口
          1. 6.4.3.3.1 失败操作
        4. 6.4.3.4 DMD 插座连通性测试
          1. 6.4.3.4.1 配置
          2. 6.4.3.4.2 执行
          3. 6.4.3.4.3 失败操作
          4. 6.4.3.4.4 错误代码
  9. 命令 - 引导应用程序
    1. 7.1 命令表
    2. 7.2 命令定义
      1. 7.2.1  系统复位 - 写入 (00h)
      2. 7.2.2  读取预取 - 写入 (01h)
      3. 7.2.3  读取激活 (02h)
      4. 7.2.4  系统软件版本 - 读取 (B0h)
      5. 7.2.5  闪存器件 ID - 读取 (B1h)
      6. 7.2.6  短状态 - 读取 (C0h)
      7. 7.2.7  错误历史 - 读取 (C1h)
      8. 7.2.8  清除短状态错误 - 写入 (C2h)
      9. 7.2.9  清除错误历史 - 写入 (C3h)
      10. 7.2.10 闪存完全擦除 - 写入 (E0h)
      11. 7.2.11 闪存数据写入 - 写入 (E1h)
      12. 7.2.12 闪存数据验证 - 写入 (E2h)
      13. 7.2.13 闪存接口速率 - 写入 (E3h)
      14. 7.2.14 闪存接口速率 - 读取 (E4h)
  10. 命令 - 主应用程序
    1. 8.1 模式可用性
    2. 8.2 命令定义
      1. 8.2.1  系统复位 - 写入 (00h)
      2. 8.2.2  读取预取 - 写入 (01h)
      3. 8.2.3  读取激活 (02h)
      4. 8.2.4  运行模式 - 写入 (03h)
      5. 8.2.5  运行模式 - 读取 (04h)
      6. 8.2.6  源选择 - 写入 (05h)
      7. 8.2.7  源选择 - 读取 (06h)
      8. 8.2.8  准备源切换 - 写入 (07h)
      9. 8.2.9  显示图像方向 - 写入 (18h)
      10. 8.2.10 显示图像方向 - 读取 (19h)
      11. 8.2.11 系统模式选择 - 写入 (1Ch)
      12. 8.2.12 系统模式选择 - 读取 (1Dh)
      13. 8.2.13 执行批处理命令集 - 写入 (21h)
      14. 8.2.14 执行延迟 - 写入 (22h)
      15. 8.2.15 GPIO 配置 - 写入 (23h)
      16. 8.2.16 GPIO 配置 - 读取 (24h)
      17. 8.2.17 GPIO 输出 - 写入 (25h)
      18. 8.2.18 GPIO 输出 - 读取 (26h)
      19. 8.2.19 GPIO 保留 - 读取 (27h)
      20. 8.2.20 执行非周期性 BIST - 写入 (28h)
      21. 8.2.21 外部视频校验和控制 - 写入 (29h)
      22. 8.2.22 外部视频校验和控制 - 读取 (2Ah)
      23. 8.2.23 外部视频校验和设置 - 写入 (2Bh)
      24. 8.2.24 外部视频校验和设置 - 读取 (2Ch)
      25. 8.2.25 DMD 插座连通性测试 - 写入 (2Dh)
      26. 8.2.26 DMD 插座连通性测试 - 读取 (2Eh)
      27. 8.2.27 画面平均值控制 - 写入 (2Fh)
      28. 8.2.28 画面平均值控制 - 读取 (30h)
      29. 8.2.29 Ping 控制丢失 - 写入 (33h)
      30. 8.2.30 Ping 控制丢失 - 读取 (34h)
      31. 8.2.31 PWM 温度管理使能 - 写入 (35h)
      32. 8.2.32 PWM 温度管理使能 - 读取 (36h)
      33. 8.2.33 PWM 温度管理源 - 写入 (37h)
      34. 8.2.34 PWM 温度管理源 - 读取 (38h)
      35. 8.2.35 PWM 温度管理占空比 - 读取 (39h)
      36. 8.2.36 前照灯 Ping - 写入 (46h)
      37. 8.2.37 PWM 控制 - 写入 (47h)
      38. 8.2.38 PWM 控制 - 读取 (48h)
      39. 8.2.39 照明转换速率 - 写入 (49h)
      40. 8.2.40 照明转换速率 - 读取 (4Ah)
      41. 8.2.41 去伽马选择 - 写入 (54h)
      42. 8.2.42 去伽马选择 - 读取 (55h)
      43. 8.2.43 ADC 测量 - 读取 (5Ch)
      44. 8.2.44 ADC 单次测量 - 读取 (63h)
      45. 8.2.45 照度分级选择 - 写入 (70h)
      46. 8.2.46 照度分级选择 - 读取 (71h)
      47. 8.2.47 TPS99000-Q1 TIA1 修整 - 写入 (86h)
      48. 8.2.48 TPS99000-Q1 TIA1 修整 - 读取 (87h)
      49. 8.2.49 TPS99000-Q1 TIA1 增益 - 写入 (88h)
      50. 8.2.50 TPS99000-Q1 TIA1 增益 - 读取 (89h)
      51. 8.2.51 TPS99000-Q1 TIA1 电容 - 写入 (8Ah)
      52. 8.2.52 TPS99000-Q1 TIA1 电容 - 读取 (8Bh)
      53. 8.2.53 TPS99000-Q1 TIA1 暗偏移 - 写入 (8Ch)
      54. 8.2.54 TPS99000-Q1 TIA1 暗偏移 - 读取 (8Dh)
      55. 8.2.55 TPS99000-Q1 TIA1 输入偏移 - 写入 (8Eh)
      56. 8.2.56 TPS99000-Q1 TIA1 输入偏移 - 读取 (8Fh)
      57. 8.2.57 TPS99000-Q1 驱动模式 - 读取 (93h)
      58. 8.2.58 TPS99000-Q1 ADC 配置 - 写入 (94h)
      59. 8.2.59 TPS99000-Q1 ADC 配置 - 读取 (95h)
      60. 8.2.60 TPS99000-Q1 照明同步控制 - 写入 (96h)
      61. 8.2.61 TPS99000-Q1 照明同步控制 - 读取 (97h)
      62. 8.2.62 TPS99000-Q1 TIA2 控制 - 写入 (98h)
      63. 8.2.63 TPS99000-Q1 TIA2 控制 - 读取 (99h)
      64. 8.2.64 LED 驱动错误 - 读取 (9Ah)
      65. 8.2.65 LED 驱动错误清除 - 写入 (9Bh)
      66. 8.2.66 TPS99000-Q1 测试多路复用选择 - 写入 (9Ch)
      67. 8.2.67 TPS99000-Q1 测试多路复用选择 - 读取 (9Dh)
      68. 8.2.68 闪存数据类型选择 - 写入 (A0h)
      69. 8.2.69 闪存数据擦除 - 写入 (A1h)
      70. 8.2.70 闪存数据写入 - 写入 (A2h)
      71. 8.2.71 闪存数据读取 - 读取 (A3h)
      72. 8.2.72 闪存数据验证 - 写入 (A4h)
      73. 8.2.73 闪存块计数 - 读取 (A5h)
      74. 8.2.74 闪存块 CRC - 读取 (A6h)
      75. 8.2.75 闪存结构版本 - 读取 (A7h)
      76. 8.2.76 闪存数据大小 - 读取 (A9h)
      77. 8.2.77 系统软件版本 - 读取 (B0h)
      78. 8.2.78 闪存器件 ID - 读取 (B1h)
      79. 8.2.79 DLPC230-Q1 器件 ID - 读取 (B2h)
      80. 8.2.80 DMD 器件 ID - 读取 (B3h)
      81. 8.2.81 TPS99000-Q1 器件 ID - 读取 (B4h)
      82. 8.2.82 系统温度 - 读取 (B5h)
      83. 8.2.83 当前源信息 - 读取 (B6h)
      84. 8.2.84 当前显示信息 - 读取 (B8h)
      85. 8.2.85 系统信息 - 读取 (BAh)
      86. 8.2.86 闪存接口速率 - 读取 (BBh)
      87. 8.2.87 短状态 - 读取 (C0h)
      88. 8.2.88 错误历史 - 读取 (C1h)
        1. 8.2.88.1 信息位 - 命令或通信
        2. 8.2.88.2 信息位 - 系统电压
        3. 8.2.88.3 信息位 - DMD 高速接口训练
        4. 8.2.88.4 信息位 - DMD 存储器测试
      89. 8.2.89 清除短状态错误 - 写入 (C2h)
      90. 8.2.90 清除错误历史 - 写入 (C3h)
  11. 命令 - 诊断接口
    1. 9.1 诊断命令读取过程
    2. 9.2 命令表
    3. 9.3 命令定义
      1. 9.3.1 读取预取 - 写入 (01h)
      2. 9.3.2 读取激活 (02h)
      3. 9.3.3 诊断接口状态 - 读取 (F0h)
      4. 9.3.4 诊断接口状态清除 - 写入 (F1h)
  12. 10闪存配置
    1. 10.1 概述
    2. 10.2 系统模式概述
    3. 10.3 暂存区数据
      1. 10.3.1 CRC
      2. 10.3.2 块编号
      3. 10.3.3 版本(主要、次要、补丁)
      4. 10.3.4 自定义数据
  13.   A 错误代码
    1.     A.1 引导应用程序
    2.     A.2 主应用程序
  14.   修订历史记录

闪存程序 - 引导应用程序

闪存编程也可由引导应用程序执行。引导应用程序只能对整个闪存进行编程;它无法对部分闪存进行更新,也无法对 EEPROM 数据进行编程。引导闪存编程的主要用途是系统无法转换到主应用程序的情况,例如闪存为空或损坏。

以下命令用于擦除、编程和验证闪存:

图 5-18 演示了闪存编程步骤。

  1. 写入闪存接口速率 - 向引导应用程序通知闪存器件支持的最大允许闪存接口速度和读取模式。这用于最大化闪存 SPI 带宽,从而根据所选闪存器件的能力缩短闪存编程时间。如果未在闪存编程之前发送此命令,则将使用默认速度 10MHz 并仅使用快速读取,这可能会显著降低编程操作的速度。此默认值也可能导致闪存验证步骤出现问题,因为它不符合 DLPC230 最小闪存带宽要求。
  2. 写入闪存完全擦除 - 擦除整个闪存。
  3. 闪存数据写入 - 重复写入一页(256 字节)的闪存数据。如果所需数据小于 256 个字节,则其余字节应设置为 0xFF。在写入每段数据后,重复读取短状态,直到写入完成。继续操作,直到没有剩余闪存数据。
  4. 写入闪存接口速率 - 如果需要四路读取模式,则需要执行此步骤。在写入操作期间,引导应用程序将在某些闪存器件中禁用四路模式。此步骤可确保在闪存验证之前在闪存器件中启用四路模式。可以为此步骤和步骤 1 写入相同的数据。
  5. 闪存数据验证 - 开始验证闪存数据。此过程可能需要很长时间才能完成。写入命令处理程序 应该会有额外的时间轮询短状态,以确认命令标签已更改为适当的值,并且请求正在进行中 位已被清除。闪存验证错误将标记短状态中的命令错误位。这应该会在写入命令过程中检测到。

DLPC230-Q1 闪存程序引导应用程序图 5-18 闪存程序引导应用程序