USER GUIDE / IMAGE INPUT & ENCODING / IPU / OPERATION FLOW

操作流程

OSD 功能数据流

  1. 配置IPU_TRIGGER 寄存器,选择帧模式以及数据输出流向。
  2. 配置大图数据格式、分辨率、地址、STRIDE 相关寄存器。如果是连续帧模式,需要配置*BK*PP*寄存器。
  3. 配置小图数据格式、分辨率、地址、STRIDE 相关寄存器。如果是连续帧模式,需要配置*CH*PP 寄存器。
  4. 如果在步骤一种配置的数据流向为PSRAM,则需要配置输出地址、STRIDE 相关寄存器;否则跳过这一步。
  5. 配置小图图像在大图图像上的起始位置X 和Y
  6. 配置小图参数寄存器:OSD_CH_CH0_PARA(0x11C),选择所需要的功能,其中CH0_EN 需配置为1。小图叠在大图上时,[29:28]推荐配置为2’b00;大图叠在小图上时,[29:28]推荐配置为2’b11。
  7. 配置大图参数寄存器:OSD_CH_BK_PARA(0x12C),选择所需的功能。
  8. 根据需求配置其他的寄存器,比如OSD_LAY_PADDING_ARGB(0x01B0)。
  9. 配置IPU_REG_CTRL,使相关配置生效。
  10. 配置IPU_TRIGGER.RUN 启用IPU。
  11. 单帧模式时,需等到帧结束中断后,才可以启动下一帧,连续帧时自动启动下一帧。
OSD 功能数据流
图 1 OSD 功能数据流

CSC 功能数据流

  1. 配置IPU_TRIGGER 寄存器,选择帧模式以及数据输出流向。
  2. 配置大图数据格式、分辨率、地址、STRIDE 相关寄存器。如果是连续帧模式,需要配置*BK*PP*寄存器。
  3. 配置输出数据格式
  4. 如果在步骤一种配置的数据流向为PSRAM,则需要配置输出地址、STRIDE 相关寄存器;否则跳过这一步。
  5. 如有必要,应为CSC 功能设置通道0 CSC 参数寄存器
  6. 配置小图参数寄存器:OSD_CH_CH0_PARA(0x11C),选择所需要的功能,其中CH0_EN 需配置为0。
  7. 配置IPU_REG_CTRL,使相关配置生效。
  8. 配置IPU_TRIGGER.RUN 启用IPU。
  9. 单帧模式时需要等到帧结束中断,并清除中断。
CSC 功能数据流
图 2 CSC 功能数据流

注意点

  1. 如果帧模式为连续帧,则需要软件维护BUFF_STATE(0x1D0)寄存器,软件可实时下参数,直到当前帧结束后参数生效。
  2. 数据输出方向为DPU 时,软件需按照先启动DPU 后启动IPU 的顺序。