USER GUIDE / DISPLAY / DISPLAY CONTROLLER / OPERATION GUIDE
操作指南
配置描述符
- 准备图层和帧的描述符链;
- 通过寄存器设置第一帧描述符的地址;
- 设置 DC_FRM_CFG_CTRL 寄存器启动描述符链的 DMA;
- 如果 FRM_CFG_END 为 0,模块将在 DMA_END 时读取下一个描述符;如果 FRM_CFG_END 为 1,模块将在 FRM_END 时停止,此时需要配置 DC_FRM_CFG_ADDR 和 DC_FRM_CFG_CTRL 以启动下一个流程。
TFT 操作
- 设置 FT_TIMING_HSYNC, TFT_TIMING_VSYNC, TFT_TIMING_HDE, TFT_TIMING_VDE;
- HS,HSYNC 的无效时间,至少需要 5 个周期,HBP 需要 10 个周期,HFP 需要十个周期,每行有 800 个像素。因此 HPS 需要设置为 5,HPE 设置为 825;HDS 需要设置在 15,HDE 需要设置在 815;配置 VSYNC 和 VDE 使用相同的方法;
- 设置 TFT_TRAN_CFG;
- PIX_CLK_INV, DE_DL 和 SYNC_DL 分别用于调整 DOT_CLK, DE, HSYNC 和 VSYNC 的相位;OLOR_EVEN 和用于改变像素颜色模式的输出方式;MODE 用于配置传输模式;
- 按照配置描述符的步骤启动配置。
SLCD 操作
- 根据相关说明配置 SLCD_PANEL_CFG 的各个位;
- 设置 SLCD_WR_DUTY、SLCD_TIMING 和 SLCD_SLOW_TIME,以满足面板要求;
- 将 SLCD_FRM_SIZE 设置为实际尺寸;
- 按照配置描述符的步骤启动配置;
- 将 SLCD_PANEL_CFG 的 FMT_EN 设置为 0(如果没有命令,则跳过此步);
- 向 SLCD_CMD 写入命令及其标志(如果没有命令,则跳过此步);
- 等待 SLCD_ST 的 BUSY 为 0(如果没有命令,则跳过此步);
- 重复步骤(5)和(6),直到所有命令发送完毕(如果没有命令,则跳过此步);
- 将 FMT_EN 设为 1;
- 配置 SLCD_START;
- 等待 DC_ST 的 FRM_END,并清除它 Wait FRM_END of DC_ST;
- 重复步骤(5)至(11),进行下一帧传输。
ipu 直通模式
- 配置 DC_COM_CONFIG[0] 为 1;
- 配置 CSC 相关寄存器;
- 配置直通图层配置寄存器;
- 根据输出模式 继续上面 TFT 或 SLCD 配置流程,无需配置描述符;
- 所有其他寄存器配置完成后配置 reg_cfg_end[0]为 1,表示寄存器配置完成。
中断控制
非直通模式下描述符中的中断屏蔽位 EOD 必须与 INTC 寄存器中的相同屏蔽位配合,只有两个屏蔽位 都是 1 时才能产生中断,其他中断仅由 INTC 寄存器控制。
直通模式下中断屏蔽只与 INTC 寄存器相关屏蔽位有关,为 1 则会产生中断。