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

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

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