USER GUIDE / DISPLAY / DISPLAY CONTROLLER / OPERATION GUIDE

操作指南

配置描述符

  1. 准备图层和帧的描述符链;
  2. 通过寄存器设置第一帧描述符的地址;
  3. 设置 DC_FRM_CFG_CTRL 寄存器启动描述符链的 DMA;
  4. 如果 FRM_CFG_END 为 0,模块将在 DMA_END 时读取下一个描述符;如果 FRM_CFG_END 为 1,模块将在 FRM_END 时停止,此时需要配置 DC_FRM_CFG_ADDR 和 DC_FRM_CFG_CTRL 以启动下一个流程。

TFT 操作

  1. 设置 FT_TIMING_HSYNC, TFT_TIMING_VSYNC, TFT_TIMING_HDE, TFT_TIMING_VDE;
  2. HS,HSYNC 的无效时间,至少需要 5 个周期,HBP 需要 10 个周期,HFP 需要十个周期,每行有 800 个像素。因此 HPS 需要设置为 5,HPE 设置为 825;HDS 需要设置在 15,HDE 需要设置在 815;配置 VSYNC 和 VDE 使用相同的方法;
  3. 设置 TFT_TRAN_CFG;
  4. PIX_CLK_INV, DE_DL 和 SYNC_DL 分别用于调整 DOT_CLK, DE, HSYNC 和 VSYNC 的相位;OLOR_EVEN 和用于改变像素颜色模式的输出方式;MODE 用于配置传输模式;
  5. 按照配置描述符的步骤启动配置。

SLCD 操作

  1. 根据相关说明配置 SLCD_PANEL_CFG 的各个位;
  2. 设置 SLCD_WR_DUTY、SLCD_TIMING 和 SLCD_SLOW_TIME,以满足面板要求;
  3. 将 SLCD_FRM_SIZE 设置为实际尺寸;
  4. 按照配置描述符的步骤启动配置;
  5. 将 SLCD_PANEL_CFG 的 FMT_EN 设置为 0(如果没有命令,则跳过此步);
  6. 向 SLCD_CMD 写入命令及其标志(如果没有命令,则跳过此步);
  7. 等待 SLCD_ST 的 BUSY 为 0(如果没有命令,则跳过此步);
  8. 重复步骤(5)和(6),直到所有命令发送完毕(如果没有命令,则跳过此步);
  9. 将 FMT_EN 设为 1;
  10. 配置 SLCD_START;
  11. 等待 DC_ST 的 FRM_END,并清除它 Wait FRM_END of DC_ST;
  12. 重复步骤(5)至(11),进行下一帧传输。

ipu 直通模式

  1. 配置 DC_COM_CONFIG[0] 为 1;
  2. 配置 CSC 相关寄存器;
  3. 配置直通图层配置寄存器;
  4. 根据输出模式 继续上面 TFT 或 SLCD 配置流程,无需配置描述符;
  5. 所有其他寄存器配置完成后配置 reg_cfg_end[0]为 1,表示寄存器配置完成。

中断控制

非直通模式下描述符中的中断屏蔽位 EOD 必须与 INTC 寄存器中的相同屏蔽位配合,只有两个屏蔽位 都是 1 时才能产生中断,其他中断仅由 INTC 寄存器控制。

直通模式下中断屏蔽只与 INTC 寄存器相关屏蔽位有关,为 1 则会产生中断。