ZHCUBY0B May   2020  – June 2024 DLP2021-Q1 , DLP3021-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
    1. 1.1 用途和范围
  5. 2FPGA 引脚配置和功能
    1. 2.1 DMD 接口
    2. 2.2 光控制
    3. 2.3 通信
    4. 2.4 支持
    5. 2.5 FPGA 专用引脚
    6. 2.6 电源和接地
    7. 2.7 未使用的引脚
  6. 3规格
    1. 3.1 建议运行条件
    2. 3.2 FPGA 功耗
    3. 3.3 主机 SPI 接口时序
    4. 3.4 电源和复位时序
      1. 3.4.1 上电时序
      2. 3.4.2 断电时序
      3. 3.4.3 欠压检测
    5. 3.5 DMD 接口时序
    6. 3.6 闪存存储器接口时序
    7. 3.7 基准时钟时序
    8. 3.8 I2C 接口时序
  7. 4特性描述
    1. 4.1 视频控制器
      1. 4.1.1 视频选项
      2. 4.1.2 示例 1:显示静态图像
      3. 4.1.3 示例 2:重复显示 1 个视频
      4. 4.1.4 示例 3:显示两个视频,然后停止
      5. 4.1.5 示例 4:显示一次 VIdeo,然后一直显示图像
      6. 4.1.6 示例 5:无缝显示 3 个以上视频/图像
    2. 4.2 温度测量
    3. 4.3 PWM 输出
    4. 4.4 主机 IRQ 中断信号
    5. 4.5 视频和图像压缩
  8. 5布局
  9. 6主机命令协议
    1. 6.1 SPI 规格
    2. 6.2 SPI 写入命令
    3. 6.3 SPI 读取命令
  10. 7FPGA 寄存器定义
  11. 8修订历史记录

FPGA 寄存器定义

本节定义了可通过 SPI 访问的 FPGA 寄存器。

表 7-1 列出了器件寄存器的存储器映射寄存器。表 7-1 中未列出的所有寄存器偏移地址都应视为保留的位置,并且不应修改寄存器内容。

表 7-1 FPGA SPI 寄存器
地址 首字母缩写词 寄存器名称 部分
0x0 FPGA_INTERRUPT_CLEAR FPA 中断清除 转到
0x4 FPGA_INTERRUPT_SET FPGA 中断设置 转到
0x8 FPGA_INTERRUPT_ENABLE FPGA 中断启用 转到
0xC FPGA_MAIN_STATUS TI 内部使用。未定义的读取/写入行为。
0x10 FPGA_VERSION FPGA 版本 转到
0x14 FPGA_CONTROL TI 内部使用。未定义的读取/写入行为。
0x20 FMT_FLIP 格式翻转 转到
0x24 FMT_CONTROL TI 内部使用。未定义的读取/写入行为。
0x28 FMT_CMB_STATUS。 TI 内部使用。未定义的读取/写入行为。
0x2C FMT_FRB_STATUS TI 内部使用。未定义的读取/写入行为。
0x30 RSC_SW_DMD_UNPARK TI 内部使用。未定义的读取/写入行为。
0x34 RSC_PARK_WAVEFORM_CTRL TI 内部使用。未定义的读取/写入行为。
0x38 RSC_UNUSED TI 内部使用。未定义的读取/写入行为。
0x3C RSC_MISC_CONTROL TI 内部使用。未定义的读取/写入行为。
0x40 RSC_SEQ_CONTROL TI 内部使用。未定义的读取/写入行为。
0x44 RSC_SEQBUF_SELECT 序列缓冲器选择 转到
0x50 PWM_CONTROL PWM 控制 转到
0x60 VCM_FRAME_RATE 帧速率 转到
0x64 VCM_START_ADDR1 视频 1 起始地址 转到
0x68 VCM_CONFIG1 视频配置 1 转到
0x6C VCM_START_ADDR2 视频 2 起始地址 转到
0x70 VCM_CONFIG2 视频配置 2 转到
0x74 VCM_CONTROL 视频控制 转到
0x78 VCM_STATUS 视频状态 转到
0x7C VCM_SEQABORT TI 内部使用。未定义的读取/写入行为。
0x80 VCM_TMSEL TI 内部使用。未定义的读取/写入行为。
0x90 TMP_CTRL(1) 温度控制 转到
0x94 TMP_STATUS(1) 温度状态 转到
0x98 TMP_REMOTE_TEMP(1) 远程温度测量 转到
0x9C TMP_LOCAL_TEMP(1) 本地温度测量 转到
0xDC DESTOP_TIMEOUT_DEBUG_INFO_REG TI 内部使用。未定义的读取/写入行为。
0xE0 DESTOP_MBOX0_SAPTR_REG TI 内部使用。未定义的读取/写入行为。
0xE4 DESTOP_MBOX0_CTRL_REG TI 内部使用。未定义的读取/写入行为。
0xF0 DESTOP_MBOX0_DATA_REG TI 内部使用。未定义的读取/写入行为。
0x100 DESTOP_MBOX1_SAPTR_REG TI 内部使用。未定义的读取/写入行为。
0x104 DESTOP_MBOX1_CTRL_REG TI 内部使用。未定义的读取/写入行为。
0x110 DESTOP_MBOX1_DATA_REG TI 内部使用。未定义的读取/写入行为。
此寄存器不适用于 DLP2021-Q1。

复杂的位访问类型经过编码可适应小型表单元。节 7 展示了适用于此部分中访问类型的代码。

表 7-2 器件访问类型代码
访问类型 代码 说明
读取类型
R R 读取
写入类型
W W 写入
复位或默认值
-n 复位后的值或默认值

7.1 FPGA_INTERRUPT_CLEAR 寄存器(地址 = 0x0)[复位 = 0x0]

节 7 展示了 FPGA_INTERRUPT_CLEAR。

返回汇总表

向任何位写 1 可以清除中断事件。

表 7-3 FPGA_INTERRUPT_CLEAR 寄存器字段说明
字段 类型 复位 说明
31-5 RESERVED R 0x0 保留
4 VID_CONFIG_COMP_IRQ R/W 0x0 视频配置已完成,包括所有请求的循环。这在视频的所有循环都完成后触发一次。如果请求使用这两种视频配置,则会在每次配置完成后触发。
3 VID_LOOP_COMP_IRQ R/W 0x0 视频循环已完成。如果请求了视频的多个循环,则在每次完成循环后都会触发此中断。
2 BROWNOUT_IRQ R/W 0x0 检测到欠压
1 INIT_DONE_IRQ R/W 0x0 初始化完成
0 RESERVED R 0x0 保留

7.2 FPGA_INTERRUPT_SET 寄存器(地址 = 0x4)[复位 = 0x0]

表 7-4 展示了 FPGA_INTERRUPT_SET。

返回汇总表

读取中断事件的状态。

表 7-4 FPGA_INTERRUPT_SET 寄存器字段说明
字段 类型 复位 说明
31-5 RESERVED R 0x0 保留
4 VID_CONFIG_COMP_IRQ R/W 0x0 视频配置已完成,包括所有请求的循环。这在视频的所有循环都完成后触发一次。如果请求使用这两种视频配置,则会在每次配置完成后触发。
3 VID_LOOP_COMP_IRQ R/W 0x0 视频循环已完成。如果请求了视频的多个循环,则在每次完成循环后都会触发此中断。
2 BROWNOUT_IRQ R/W 0x0 检测到欠压
1 INIT_DONE_IRQ R/W 0x0 初始化完成
0 RESERVED R 0x0 保留

7.3 FPGA_INTERRUPT_ENABLE 寄存器(地址 = 0x8)[复位 = 0x0]

表 7-5 展示了 FPGA_INTERRUPT_ENABLE。

返回汇总表

中断事件屏蔽。向任何位写入1以使能该中断事件,从而将 HOST IRQ 设置为高电平。

表 7-5 FPGA_INTERRUPT_ENABLE 寄存器字段说明
字段 类型 复位 说明
31-5 RESERVED R 0x0 保留
4 VID_CONFIG_COMP_IRQ R/W 0x0 视频配置已完成,包括所有请求的循环。这在视频的所有循环都完成后触发一次。如果请求使用这两种视频配置,则会在每次配置完成后触发。
3 VID_LOOP_COMP_IRQ R/W 0x0 视频循环已完成。如果请求了视频的多个循环,则在每次完成循环后都会触发此中断。
2 BROWNOUT_IRQ R/W 0x0 检测到欠压
1 INIT_DONE_IRQ R/W 0x0 初始化完成
0 RESERVED R 0x0 保留

7.4 FPGA_VERSION 寄存器(地址 = 0x10)[复位 = 0x10000000]

FPGA_VERSION 寄存器字段说明 展示了 FPGA_VERSION。

返回汇总表

FPGA 位流版本

表 7-6 FPGA_VERSION 寄存器字段说明
字段 类型 复位 说明
31-28 FPGA_BUILD_LEVEL R 0x1 FPGA 位流构建级别

0x0 = 调试版本,不可重现

0x1+ = 版本控制版本,可复制

27-20 FPGA_VERSION_MINOR R 0x0 FPGA 位流次要修订
19-12 FPGA_VERSION_MAJOR R 0x0 FPGA 位流主要修订
11-0 FPGA_BUILD_NUMBER R 0x0 FPGA 位流内部版本号

7.5 FMT_FLIP 寄存器(地址 = 0x20)[复位 = 0x0]

FMT_FLIP 寄存器字段说明 展示了 FMT_FLIP。

返回汇总表

DMD 翻转控制寄存器

表 7-7 FMT_FLIP 寄存器字段说明
字段 类型 复位 说明
31-5 RESERVED R 0x0 保留
4 FMT_CTL_DMDLFLIP R/W 0x0 DMD 长边翻转
0x0 = 无长边翻转
0x1 = 启用沿 DMD 长边的图像翻转
3-1 RESERVED R 0x0 保留
0 FMT_CTL_DMDSFLIP R/W 0x0 DMD 短边翻转
0x0 = 无短边翻转
0x1 = 启用沿 DMD 短边的图像翻转

7.6 RSC_SEQBUF_SELECT 寄存器(地址 = 0x44)[复位 = 0x0]

RSC_SEQBUF_SELECT 寄存器字段说明 展示了 RSC_SEQBUF_SELECT。

返回汇总表

序列缓冲选择

表 7-8 RSC_SEQBUF_SELECT 寄存器字段说明
字段 类型 复位 说明
31-1 RESERVED R 0x0 保留
0 RSC_SEQBUF_SELECT R/W 0x0 序列缓冲器选择

0x0 = 选择序列发生器缓冲器 0

0x1 = 选择序列发生器缓冲器 1

7.7 PWM_CONTROL 寄存器(地址 = 0x50)[复位 = 0x46419064]

PWM_CONTROL 寄存器字段说明 展示了 PWM_CONTROL。

返回汇总表

PWM 控制寄存器

表 7-9 PWM_CONTROL 寄存器字段说明
字段 类型 复位 说明
31 RESERVED R 0x0 保留
30 PWM_EN R/W 0x1 PWM 使能
29-20 PWM_BPWM_DC R/W 0x64 蓝色 PWM 占空比
19-10 PWM_GPWM_DC R/W 0x64 绿色 PWM 占空比
9-0 PWM_RRPWM_DC R/W 0x64 红色 PWM 占空比

7.8 VCM_FRAME_RATE 寄存器(地址 = 0x60)[复位 = 0x00186A00]

VCM_FRAME_RATE 寄存器字段说明 展示了 VCM_FRAME_RATE。

返回汇总表

帧速率选择

表 7-10 VCM_FRAME_RATE 寄存器字段说明
字段 类型 复位 说明
31-24 RESERVED R 0x0 保留
23-0 VCM_FRAME_RATE R/W 0x00186A00 40MHz 时钟计数中的视频帧时间。

值应与序列时间相匹配

25Hz = 1600000

60Hz = 666666

7.9 VCM_START_ADDR1 寄存器(地址 = 0x64)[复位 = 0x0]

表 7-11 展示了 VCM_START_ADDR1。

返回汇总表

视频 1 起始地址

表 7-11 VCM_START_ADDR1 寄存器字段说明
字段 类型 复位 说明
31-0 START_ADDR1 R/W 0x0 闪存中的视频 1 起始地址

7.10 VCM_CONFIG1 寄存器(地址 = 0x68)[复位 = 0x1001]

表 7-12 展示了 VCM_CONFIG1。

返回汇总表

视频配置 1

表 7-12 VCM_CONFIG1 寄存器字段说明
字段 类型 复位 说明
31-24 RESERVED R 0x0 保留
23-12 LOOP_CNT1 R/W 0x1 循环视频 1 的次数

0x0 = 无效

0x1 = 1 循环

0x2 = 2 循环

11-0 FRAME_CNT1 R/W 0x1 视频 1 中的帧数

0x0 = 无效

0x1 = 1 帧

0x2 = 2 帧

7.11 VCM_START_ADDR2 寄存器(地址 = 0x6C)[复位 = 0x0]

表 7-13 展示了 VCM_START_ADDR2。

返回汇总表

视频 2 起始地址

表 7-13 VCM_START_ADDR2 寄存器字段说明
字段 类型 复位 说明
31-0 START_ADDR2 R/W 0x0 闪存中的视频 2 起始地址

7.12 VCM_CONFIG2 寄存器(地址 = 0x70)[复位 = 0x1001]

表 7-14 展示了 VCM_CONFIG2。

返回汇总表

视频配置 2

表 7-14 VCM_CONFIG2 寄存器字段说明
字段 类型 复位 说明
31-24 RESERVED R 0x0 保留
23-12 LOOP_CNT2 R/W 0x1 循环视频 2 的次数

0x0 = 无效

0x1 = 1 循环

0x2 = 2 循环

11-0 FRAME_CNT2 R/W 0x1 视频 2 中的帧数

0x0 = 无效

0x1 = 1 帧

0x2 = 2 帧

7.13 VCM_CONTROL 寄存器(地址 = 0x74)[复位 = 0x10]

表 7-15 展示了 VCM_CONTROL。

返回汇总表

表 7-15 VCM_CONTROL 寄存器字段说明
字段 类型 复位 说明
31-6 RESERVED R 0x0 保留
5 VCM_TOGGLE_CONFIGS R/W 0x0 视频缓冲器切换选择

0x0 = 播放将仅使用所选缓冲器

0x1 = 播放将使用两个缓冲器

4 VCM_LOOP_CONFIGS R/W 0x1 循环配置

0x1 = 重复配置

3 VCM_BUF_PTR R/W 0x0 视频配置指针

0x0 = 播放视频 1

0x1 = 播放视频 2

2 VCM_AUTOSTOP R/W 0x0 播放后自动停止

0x0 = 重复视频播放的最后一帧,直到收到其他命令

0x1 = 视频完成后停止,并且停止 DMD

1 VCM_STOP R/W 0x0 停止视频/停止 DMD

0x0 = 允许视频播放

0x1 = 停止视频播放并停止 DMD。必须设置为 0 才能播放视频

0 VCM_PLAY R/W 0x0 播放视频。自清除

7.14 VCM_STATUS 寄存器(地址 = 0x78)[复位 = 0x0]

表 7-16 展示了 VCM_STATUS。

返回汇总表

视频状态寄存器

表 7-16 VCM_STATUS 寄存器字段说明
字段 类型 复位 说明
31-3 RESERVED R 0x0 保留
2 VCM_SEQABORT_ERR R 0x0 序列中止错误在视频播放时清除
1 VCM_CURR_CONFIG_PTR R 0x0 当前视频配置指针
0 VCM_VID_IN_PROGRESS R 0x0 设置时视频正在进行

7.15 TMP_CTRL 寄存器(地址 = 0x90)[复位 = 0x00010003]

表 7-17 展示了 TMP_CTRL。

返回汇总表

温度控制寄存器

表 7-17 TMP_CTRL 寄存器字段说明
字段 类型 复位 说明
31-17 RESERVED R 0x0 保留
16 TMP_CTRLEN R/W 0x1 温度功能启用

0x0 = 禁用

0x1 = 启用

15-8 TMP_I2CSLADDR R/W 0x0 TMP411 I2C 从器件地址(有关详细信息,请参阅 TMP411 数据表)
7-0 TMP_NFACTOR R/W 0x3 补偿 TMP411 测量的 N 因子(有关详细信息,请参阅 TMP411 数据表)

7.16 TMP_STATUS 寄存器(地址 = 0x94)[复位 = 0x0]

表 7-18 展示了 TMP_STATUS。

返回汇总表

温度状态寄存器

表 7-18 TMP_STATUS 寄存器字段说明
字段 类型 复位 说明
31-2 RESERVED R 0x0 保留
1 TMP_VALID R 0x0 温度状态有效

0x0 = I2C 温度读取失败或尚未完成

0x1 = I2C 温度读取成功

0 TMP_PASS R 0x0 温度状态通过

0x0 = 选择序列发生器缓冲器 0

0x1 = 选择序列发生器缓冲器 1

7.17 TMP_REMOTE_TEMP 寄存器(地址 = 0x98)[复位 = 0x0]

表 7-19 展示了 TMP_REMOTE_TEMP。

返回汇总表

DMD 温度测量

表 7-19 FAULT_STATUS 寄存器字段说明
字段 类型 复位 说明
31-28 RESERVED R 0x0 保留
27-16 TMP_REMOTE_FILTERED R 0x0

TMP411 远程温度滤波测量

滤波后的 DMD 温度测量

15-12 RESERVED R 0x0 保留
11-0 TMP_REMOTE_RAW R 0x0

TMP411 远程温度原始测量

单个 DMD 温度测量

7.18 TMP_LOCAL_TEMP 寄存器(地址 = 0x9C)[复位 = 0x0]

表 7-20 展示了 TMP_LOCAL_TEMP。

返回汇总表

TMP411 温度测量

表 7-20 TMP_LOCAL_TEMP 寄存器字段说明
字段 类型 复位 说明
31-28 RESERVED R 0x0 保留
27-16 TMP_LOCAL_FILTERED R 0x0 TMP411 本地温度滤波测量

滤波后的 TMP411 温度测量

15-12 RESERVED R 0x0 保留
11-0 TMP_LOCAL_RAW R 0x0 TMP411 本地温度原始测量

单个温度测量