USER GUIDE / IMAGE PROCESSING / MSCALER / REGISTER CONFIGURATION GUIDE
寄存器配置指导
配置示例
以下按照输入图像 1280x720,输出图像 1280x720,图像格式 YUV420 进行举例。
- 在内存中存放一帧的图像信息;
- 开始配置
MSCALER_ADDR_CH_WORK_EN,32'h1; - 按照图像信息配置以下寄存器:
MSCALER_ADDR_SRC_RSZ_SIZE,(0x500<<16 | 0x2D0)MSCALER_ADDR_RSZ_STEP_W,0x4000MSCALER_ADDR_RSZ_STEP_H,0x4000MSCALER_ADDR_RSZ_SIZE,(0x500<<16 | 0x2D0)MSCALER_ADDR_OUT_FMT,0x1
- 配置 DMAout 的地址,如果是 YUV420 需要配置 Y 和 UV 的地址,如果是 YUV422 或者 ONLY_Y 模式下只需要配置 Y 的地址和 stride 即可:
MSCALER_ADDR_DMAOUT_Y_WR_ADDR,xxxxMSCALER_ADDR_DMAOUT_Y_WR_STRIDE,0x500MSCALER_ADDR_DMAOUT_UV_WR_ADDR,xxxMSCALER_ADDR_DMAOUT_UV_WR_STRIDE,0x500
- 配置算法参数,具体值找算法人员确认:
MSCALER_ADDR_CUB_WMSCALER_ADDR_CUB_WSMSCALER_ADDR_COEF_HCORE_0_1~MSCALER_ADDR_COEF_HCORE_14_15(共 8 个)MSCALER_ADDR_COEF_HCORE_16MSCALER_ADDR_COEF_WCORE_0_1~MSCALER_ADDR_COEF_WCORE_14_15(共 8 个)MSCALER_ADDR_COEF_WCORE_16
- 配置 DMAin 的地址和图像信息,如果是 YUV420 需要配置 Y 和 UV 的地址,如果是 YUV422 或者 ONLY_Y 模式下只需要配置 Y 的地址和 stride 即可:
MSCALER_ADDR_RDMA_Y_ADDR,xxxxMSCALER_ADDR_RDMA_Y_STRIDE,0x500MSCALER_ADDR_RDMA_UV_ADDR,xxxMSCALER_ADDR_RDMA_UV_STRIDE,0x500
- 配置和 JPEG 之间开辟 buffer 的大小:
MSCALER_ADDR_OUT_BUFF_NUM,0x80MSCALER_ADDR_OUT_BLINE_NUM,0x10(表示写完 16 行发给 JPEG 一个 end 信号。)
- 配置
MSCALER_ADDR_CTRL,32'hffffffff表示寄存器 shd; - 配置 DMAin 的使能开关,开始读取数据,
MSCALER_ADDR_RDMA_ENABLE,0x1。
多帧配置
上述是单帧的描述。多帧下如果每次启动图像分辨率不变、算法参数不变,只需重复第 4、6、8、9 步;如果图像信息发生变化,对应修改寄存器。