USER GUIDE / IMAGE PROCESSING / MSCALER / REGISTER CONFIGURATION GUIDE

寄存器配置指导

配置示例

以下按照输入图像 1280x720,输出图像 1280x720,图像格式 YUV420 进行举例。

  1. 在内存中存放一帧的图像信息;
  2. 开始配置 MSCALER_ADDR_CH_WORK_EN,32'h1;
  3. 按照图像信息配置以下寄存器:
    • MSCALER_ADDR_SRC_RSZ_SIZE,(0x500<<16 | 0x2D0)
    • MSCALER_ADDR_RSZ_STEP_W,0x4000
    • MSCALER_ADDR_RSZ_STEP_H,0x4000
    • MSCALER_ADDR_RSZ_SIZE,(0x500<<16 | 0x2D0)
    • MSCALER_ADDR_OUT_FMT,0x1
  4. 配置 DMAout 的地址,如果是 YUV420 需要配置 Y 和 UV 的地址,如果是 YUV422 或者 ONLY_Y 模式下只需要配置 Y 的地址和 stride 即可:
    • MSCALER_ADDR_DMAOUT_Y_WR_ADDR,xxxx
    • MSCALER_ADDR_DMAOUT_Y_WR_STRIDE,0x500
    • MSCALER_ADDR_DMAOUT_UV_WR_ADDR,xxx
    • MSCALER_ADDR_DMAOUT_UV_WR_STRIDE,0x500
  5. 配置算法参数,具体值找算法人员确认:
    • MSCALER_ADDR_CUB_W
    • MSCALER_ADDR_CUB_WS
    • MSCALER_ADDR_COEF_HCORE_0_1 ~ MSCALER_ADDR_COEF_HCORE_14_15(共 8 个)
    • MSCALER_ADDR_COEF_HCORE_16
    • MSCALER_ADDR_COEF_WCORE_0_1 ~ MSCALER_ADDR_COEF_WCORE_14_15(共 8 个)
    • MSCALER_ADDR_COEF_WCORE_16
  6. 配置 DMAin 的地址和图像信息,如果是 YUV420 需要配置 Y 和 UV 的地址,如果是 YUV422 或者 ONLY_Y 模式下只需要配置 Y 的地址和 stride 即可:
    • MSCALER_ADDR_RDMA_Y_ADDR,xxxx
    • MSCALER_ADDR_RDMA_Y_STRIDE,0x500
    • MSCALER_ADDR_RDMA_UV_ADDR,xxx
    • MSCALER_ADDR_RDMA_UV_STRIDE,0x500
  7. 配置和 JPEG 之间开辟 buffer 的大小:
    • MSCALER_ADDR_OUT_BUFF_NUM,0x80
    • MSCALER_ADDR_OUT_BLINE_NUM,0x10(表示写完 16 行发给 JPEG 一个 end 信号。)
  8. 配置 MSCALER_ADDR_CTRL,32'hffffffff 表示寄存器 shd;
  9. 配置 DMAin 的使能开关,开始读取数据,MSCALER_ADDR_RDMA_ENABLE,0x1。

多帧配置

上述是单帧的描述。多帧下如果每次启动图像分辨率不变、算法参数不变,只需重复第 4、6、8、9 步;如果图像信息发生变化,对应修改寄存器。