.. _ip_ls_intf_dcmi: DCMI ===== 1. 简介 >>>>>>> Nuclei DCMI(数字摄像头接口)可以接收来自外部 8-、10-、12-、14- 或 16-位 CMOS 摄像头的高速数据流。它支持不同的数据格式:YCbCr4:2:2/RGB565、BT656、BT1120、RAW 和压缩数据(JPEG)。 它还能够完成一些简单的图像处理算法,如数据格式转换、统计直方图、图像裁剪和下采样。 它有 9 个输出通道,可以输出不同的数据格式:RGB565、ARGB8888、图像直方图、灰度图、RAW、JPEG、R 值、G 值和 B 值。 2. 主要特性 >>>>>>>>>>> DCMI 的主要特性如下: * 支持 DVP 接口摄像头(GC0308/OV5640)的图像和视频捕获。 * 支持并行数字视频解码芯片(TVP5150)的图像和视频捕获。 * 支持 8-、10-、12-、14-、16-位并行输入数据。 * 支持 RGB565/YUV422/RAW/JPEG 格式,将 RAW/JPEG 格式数据直接写入用户可配置的内存而无需解码。 * 支持嵌入式编码同步和硬件同步。 * 支持图像裁剪 * 支持 2x、4x 和 8x 图像下采样。 * 支持可配置中断,在帧结束、溢出和错误后触发中断。 * 支持数据格式转换:YUV422 转 RGB565、YUV422 转 RGB888、YUV422 转灰度图、RGB565 转 RGB888 和 RGB565 转灰度图。 * 支持可配置地址内存写入,能够将不同格式的数据分别写入不同地址:RGB565、ARGB8888、图像直方图、灰度图、R 值、G 值和 B 值。 * 支持将 RAW 和 JPEG 数据格式写入配置的地址而无需解码。 * 支持生成图像直方图并将结果写入配置的地址。 3. 功能描述 >>>>>>>>>>> DCMI 框图 --------------- DCMI 的框图如图 3.1 DCMI 框图所示: .. _DCMI 框图: .. figure:: /assets/images/dcmi_block.png :alt: DCMI 框图 :align: center **图 3.1: DCMI 框图** DCMI 可以作为主设备将数据写入总线,也可以作为从设备从总线接收配置数据。 DCMI 物理接口 --------------------------------------- 下表总结了 DCMI 物理接口。 .. list-table:: 表3.1 物理接口 :widths: 20 15 15 25 :header-rows: 1 * - 物理接口 - 方向 - 宽度 - 描述 * - DCMI_PIX_CLK - 输入 - 1 - 像素时钟输入 * - DCMI_HS - 输入 - 1 - 水平同步 * - DCMI_VS - 输入 - 1 - 垂直同步 * - DCMI_PIX - 输入 - 16 - 16-位输入数据 DCMI_PIX 与 DCMI_PIX_CLK 同步,并根据极性在像素时钟的上升/下降沿变化。 DCMI_HS 信号与 DCMI_PIX_CLK 同步,指示一行开始/结束。 DCMI_VS 信号与 DCMI_PIX_CLK 同步,指示一帧开始/结束。 当输入数据格式是 RGB565、YUV422 和 JPEG 时,DCMI 仅支持 8 位模式。当输入数据格式是 RAW 时,DCMI 能够支持 8-、10-、12-、14-、16-位。当使用 8 位、10 位、12 位、14 位模式时,仅使用部分 DCMI_PIX 引脚,如下表 3.2 像素接口所示。 .. list-table:: 表3.2 像素接口 :widths: 20 25 :header-rows: 1 * - 8-位模式 - DCMI_PIX[8:15] * - 10-位模式 - DCMI_PIX[6:15] * - 12-位模式 - DCMI_PIX[4:15] * - 14-位模式 - DCMI_PIX[2:15] * - 16-位模式 - DCMI_PIX[0:15] DCMI 时钟 ------------------- DCMI 有三个时钟域。 * 像素时钟域:此时钟来自摄像头,输入数据、hs 和 vs 在此时钟域同步。 * 总线时钟域:此时钟是 DCMI 的主时钟,它来自总线时钟域。在理想的两时钟同步的情况下,此时钟的频率应为像素始终的2倍;实际应用中应至少为像素时钟的2.5倍。 * 摄像头时钟域:此时钟仅用于为摄像头生成时钟。 同步 ------------------- 硬件同步模式 ~~~~~~~~~~~~~~~~~~~~~~~~ 当 DCMI_CTL 寄存器中的 ESM 位设置为 0 时,启用硬件同步模式。在此模式下,HS 和 VS 指示数据传输的活动区域和消隐区域。用户可以使用 CKS、VPS 和 HPS 位来配置像素时钟、HS 和 VS 的极性。下图显示了配置 VPS 低有效、HPS 高有效和 CKS 上升沿的情况。 .. _DCMI DCMI_HS_VS: .. figure:: /assets/images/dcmi_hard_sync_hs_vs.png :alt: DCMI DCMI_HS_VS :align: center **图 3.2: DCMI_HS_VS** 嵌入式编码同步模式 ~~~~~~~~~~~~~~~~~~~~~~~~ 嵌入式编码模式仅使用 DCMI_PIX 和 DCMI_PIX_CLK,同步信息嵌入在像素数据中。用户可以通过设置 ESM 位并清除 DCMI_CTL 寄存器中的 JM 和 RAWN 位来选择此模式,此外在此模式下仅允许8位模式。在嵌入式编码模式下,DCMI 能够识别4种同步编码:行开始(LS)、行结束(LE)、帧开始(FS)、帧结束(FE)。所有这四种编码都跟在 FF-00-00-XY 之后(XY 代表同步编码,在 DCMI_SC 寄存器中配置),FF 和 00 仅用于同步,不能出现在像素数据中。 此外,DCMI 支持对这四种编码进行掩码(DCMI_SCUMSK 寄存器),这意味着每种同步编码可以对应不止一个编码。例如,用户将 LS(在 DCMI_SC 寄存器中)配置为 C5,并将 LSM(在 DCMI_SCUMSK 寄存器中)配置为 F0,在这种情况下,FF-00-00-C6 也被视为 LS 编码。DCMI 还支持 BT656 和 BT1120。 对于 BT656,用户应将 DCMIIF 位(在 DCMI_CTL 寄存器中)配置为 000(8位模式)。 **四种同步编码配置如下:** - FS = SAV(活动) - FE = SAV(消隐) - LS = SAV(活动) - LE = EAV(活动) FS、FE、LS、LE 中的第7位应被掩码(在 DCMI_SCUMSK 中),该位是视频时序参考码(SAV, EAV)中的 F 位。此外,LE 中的第5位应被掩码,该位是 EAV 中的 V 位。 对于 BT1120,用户应将 DCMIIF 位(在 DCMI_CTL 寄存器中)配置为 100(16位模式),DCMI_PIX [15:8] 是 Y 通道,[7:0] 是 Cb/Cr 通道。 捕获模式 ------------------- DCMI 支持两种捕获模式:快照和连续抓取。 快照模式 ~~~~~~~~~~~~~~~~~~~~~~~~ 应设置 SNAP 位(在 DCMI_CTL 寄存器中)以启用此模式。一旦在 DCMI_CTL 中设置了 SNAP 位,DCMI 将等待检测到帧开始,然后再采样数据。在接收到第一个完整帧后,接口会自动禁用(DCMI_CTL 中的 CAP 位被清除)。同时,VSMF 中断将被置位。 连续模式 ~~~~~~~~~~~~~~~~~~~~~~~~ 在此模式下,应清除 SNAP 位。一旦在 DCMI_CTL 中设置了 CAP 位,抓取过程将在下一个 DCMI_VS 或嵌入式帧开始(取决于模式)时开始。该过程将持续到 DCMI_CTL 中的 CAP 位被清除。一旦 CAP 位被清除,抓取过程将继续直到当前帧结束。 在连续抓取模式下,您可以配置 DCMI_CTL 中的 FR 位来抓取所有图片、每隔一张图片或每四张图片中的一张,以降低帧捕获率。 裁剪功能 ------------------- 应设置 DCMI_CTL 中的 WDEN 位以启用此模式。通过裁剪功能,DCMI 可以从接收到的图像中选择一个矩形窗口。起始(左上角)坐标和大小(水平方向上的像素时钟数和垂直方向上的行数)使用两个 32 位寄存器(DCMI_CWSPOS 和 DCMI_CWSZ)指定。窗口的大小以像素数(水平方向)和行数(垂直方向)指定。 下图显示了裁剪后窗口的坐标和大小配置。 .. _DCMI 裁剪: .. figure:: /assets/images/dcmi_cutoff.png :alt: DCMI 裁剪 :align: center **图 3.3: 裁剪** 这些寄存器将捕获窗口的起点坐标指定为行号(在帧中,从1开始)和像素数(在行上,从1开始),并将窗口的大小指定为行数和像素数。 注意:如果图像的右边界或下边界小于配置的窗口,DCMI 将把图像边界视为最终边界。 下采样 ------------------- 应设置 DCMI_CTL 中的 DSEN 位以启用此模式。DSR_X 位用于配置 X 方向的下采样率,DSR_Y 位用于配置 Y 方向的下采样率,用户可以配置这些位来选择 2x、4x、8x(每 2、4、8 个像素或每 2、4、8 行)。 注意:如果剩余的像素或行数小于下采样率,DCMI 将不进行采样。 格式转换 ------------------- YUV422 转 RGB888 ~~~~~~~~~~~~~~~~~~~~~~~~ 如果输入数据格式是 YUV422,则应设置 DCMI_CTL 中的 422TO888 位。DCMI 首先将 YUV422 转换为 YUV444,然后将 YUV444 转换为 RGB888。FMT422 位可以配置输入序列格式,它可以支持 4 种输入序列。转换算法如下图: .. _DCMI YUV422 转 RGB888: .. figure:: /assets/images/dcmi_yuv2rgb888.png :alt: DCMI YUV422 转 RGB888 :align: center **图 3.4: YUV422 转 RGB888** 下图显示了 YUV422(YUYV: FMT422 = 3'b000)到 RGB888 的波形: .. _DCMI YUV422 转 RGB888 波形: .. figure:: /assets/images/dcmi_yuv2rgb888_wave.png :alt: DCMI YUV422 转 RGB888 波形 :align: center **图 3.5: YUV422 转 RGB888 波形** RGB565 转 RGB888 ~~~~~~~~~~~~~~~~~~~~~~~~ 如果输入数据格式是 RGB565,则应设置 DCMI_CTL 中的 565TO888 位。DCMI 可以将 RGB565 转换为 RGB888。 FMT565 位可以配置输入序列格式,它可以支持 3 种输入序列。转换算法如下图: .. _DCMI RGB565 转 RGB888: .. figure:: /assets/images/dcmi_rgb565_to_rgb888.png :alt: DCMI RGB565 转 RGB888 :align: center **图 3.6: RGB565 转 RGB888** 下图显示了 RGB565(FMT565 = 2'b00)到 RGB888 的波形: .. _DCMI RGB565 转 RGB888 波形: .. figure:: /assets/images/dcmi_rgb565_to_rgb888_wave.png :alt: DCMI YUV422 转 RGB888 波形 :align: center **图 3.7: RGB565 转 RGB888 波形** RGB 转灰度图 ~~~~~~~~~~~~~~~~~~~~~~~~ 应设置 DCMI_CTL 中的 GREYEN 位以启用此模式。DCMI 将把 RGB888 转换为灰度图并输出到内存。转换算法如下: 灰度 = (306R+601G+117B) >> 10 RGB888 转 RGB565 ~~~~~~~~~~~~~~~~~~~~~~~~ 如果用户想要输出 RGB565 格式,DCMI 将首先将 YUV422 或 RGB565 转换为 RGB888,然后将 RGB888 转换为 RGB565。DCMI 使用伪随机抖动技术生成 2/3 位随机值,然后比较 R/G/B 的低 2/3 位,最后决定是否丢弃它们。 直方图生成器 ------------------- 应设置 HISTEN 位以启用此模式。DCMI 将为 R/G/B 通道生成直方图。如果用户在 OUT_CTL 中设置了 HISTEN,DCMI 将在消隐期间将直方图写入地址(在 ADDR_HISTRLA 或 ADDR_HISTRLB 中配置)。如果消隐时间太短(少于 256*3 个总线时钟周期),可能不足以让 DCMI 将直方图写入内存,则无法启用此功能。 写入内存 ------------------- DCMI 支持 9 种输出格式,用户可以配置 OUT_CTL 寄存器来选择输出格式。当用户选择 JPEG 或 RAW 时,其他 8 种格式应被禁用。DCMI 支持每种格式的乒乓写入(称为 AB 写入),用户可以配置 OUT_CTL 中的 9-17 位来启用每种格式的 AB 写入。在 AB 写入模式下,用户需要配置两个地址(例如:ADDR_HISTRLA 和 ADDR_HISTRLB),DCMI 将第一帧写入地址 A,下一帧写入地址 B,DCMI_STAT 寄存器中每种格式的 AB 标志可以作为当前写入地址的指示器。如果 AB 写入模式被禁用,DCMI 会将每一帧写入一个地址,下一帧将覆盖上一帧。 内存存储格式 ------------------- 不同的格式将以不同的类型存储在内存中,如下表: .. list-table:: 表 3.3:存储类型 :widths: 25 20 20 15 15 :header-rows: 1 * - 输出格式 - 31:24 - 23:16 - 15:8 - 7:0 * - 8 位模式 (JPEG R/G/B 通道) - data3 - data2 - data1 - data0 * - 10 位模式 (RAW) - 6'd0 - data1 - 6'd0 - data0 * - 12 位模式 (RAW) - 4'd0 - data1 - 4'd0 - data0 * - 14 位模式 (RAW) - 2'd0 - data1 - 2'd0 - data0 * - 16 位模式 (RGB565/RAW) - data1[15:8] - data1[7:0] - data0[15:8] - data0[7:0] * - 32 位模式 (ARBG) - data0[31:24] - data0[23:16] - data0[15:8] - data0[7:0] * 对于 8 位输出模式,每 4 个数据/像素可以组合成一个 32 位数据。 * 对于 16 位输出模式,每 2 个数据/像素可以组合成一个 32 位数据。 * 对于 10、12、14 位输出模式,DCMI 在每个数据的高位添加一些 0 以生成一个 16 位数据,每 2 个数据/像素可以组合成一个 32 位数据。 DCMI 支持 ARGB8888 和 RGB565 输出的两种序列类型,可以使用 DCMI_CTL 中的 OFMT 位来配置此功能,如下表 输出类型 ARGB 和 输出类型 RGB565。 .. list-table:: 表 3.4:输出类型 ARGB :widths: 15 15 15 15 15 :header-rows: 1 * - OFMT - 31:24 - 23:16 - 15:8 - 7:0 * - 1 - A - B - G - R * - 0 - A - R - G - B .. list-table:: 表 3.5:输出类型 RGB565 :widths: 15 15 15 15 :header-rows: 1 * - OFMT - 15:11 - 10:5 - 4:0 * - 1 - B - G - R * - 0 - R - G - B 状态、错误 ------------------- 状态如下表: .. list-table:: 表 3.6:状态 :widths: 20 40 :header-rows: 1 * - 状态 - 描述 * - VS - DCMI_VS 引脚状态 * - HS - DCMI_HS 引脚状态 * - HISTERR - 直方图错误状态 * - ODDEVENF - BT656 视频格式的奇偶场标志,0 为偶数场,1 为奇数场 * - HISTABEF - 直方图输出 AB 地址标志 * - GRAYSCAABEF - 灰度图输出 AB 地址标志 * - RGB565ABEF - RGB565 输出 AB 地址标志 * - RGB888ABEF - ARGB8888 输出 AB 地址标志 * - BCHABEF - B 通道输出 AB 地址标志 * - GCHABEF - G 通道输出 AB 地址标志 * - RCHABEF - R 通道输出 AB 地址标志 * - JEGABEF - JEPG 输出 AB 地址标志 * - RAWABEF - RAW 输出 AB 地址标志 VS 和 HS 是输入同步信号的指示器。HISTERR 状态指示直方图写入在消隐区域未完成。当检测到 OVRMF 中断时,应首先检查此状态。如果状态为高,则表示消隐区域对于直方图功能不够长,用户应禁用直方图输出或降低帧率。 4. 中断 >>>>>>>>>>>>>> 中断如下表: .. list-table:: 表 4.1:中断 :widths: 20 40 :header-rows: 1 * - 中断 - 描述 * - ELIF - 行结束中断,在一行结束后置位 * - VSMF - 垂直同步信号中断 * - ESEMF - 嵌入式编码错误中断,当 DCMI 检测到 FF-00-00-XY 序列,且 XY 不等于四种同步编码中的任何一种时,此中断将被置位 * - EFMF - 帧结束中断,在一完整帧接收完成后置位。当抓取速率不是每帧时,此中断与 VSMF 不同。如下图所示。 * - BUSERMF - 写总线错误中断,当总线对 DCMI 响应错误时,此中断将被置位 * - OVRMF - 溢出错误中断,当 DCMI 输出带宽大于最大带宽时,此中断将被置位 当 DCMI 配置为每 2 帧抓取 1 帧时,vsmf 和 efmf 的区别如下图所示,vsmf 在两帧中的第一帧之后置位,efmf 在 2 帧之后置位,用户可以利用这两个中断之间的间隙。 .. _DCMI VSMF 和 EFMF: .. figure:: /assets/images/dcmi_vsmf_efmf.png :alt: DCMI VSMF 和 EFMF :align: center **图 4.1: VSMF 和 EFMF** **注意:关于 OVRMF 有一些提示** 1. 启用的输出越多,DCMI 所需的带宽就越大,这会导致溢出。 2. 一旦中断被置位,当前帧将丢失,之后,用户应首先清除中断标志,然后清除 DCMIEN 并重新配置 DCMI_OUT 寄存器(减少输出数量)。 3. 当中断被置位时,用户应首先检查 HISTERR 状态,然后尝试减少一些输出,直到中断不再被置位。 5. 寄存器 >>>>>>>>>>>>>> DCMI 中的寄存器及其对应的偏移地址如 表 5.1 DCMI 中的寄存器偏移地址所示。 .. list-table:: 表 5.1:DCMI 中的寄存器偏移地址 :widths: 10 25 46 :header-rows: 1 * - 偏移地址 - 寄存器名称 - 功能描述 * - 0x8 - DCMI_CTL - DCMI 控制寄存器 * - 0xC - DCMI_STAT - DCMI 状态寄存器 * - 0x10 - DCMI_INTEN - DCMI 中断使能寄存器 * - 0x14 - DCMI_INTF - DCMI 中断标志寄存器 * - 0x18 - DCMI_INTC - DCMI 中断清除寄存器 * - 0x1C - DCMI_SC - DCMI 嵌入式同步编码寄存器 * - 0x20 - DCMI_SCUMSK - DCMI 嵌入式同步编码掩码寄存器 * - 0x24 - DCMI_CWSPOS - DCMI 裁剪窗口起始位置寄存器 * - 0x28 - DCMI_CWSZ - DCMI 裁剪窗口大小寄存器 * - 0x2C - DCMI_DATA - DCMI ARGB 数据寄存器 * - 0x30 - OUT_CTL - DCMI 输出控制寄存器 * - 0x34 - ADDR_HISTRLA - 直方图 R 通道地址 A 寄存器 * - 0x38 - ADDR_HISTRLB - 直方图 R 通道地址 B 寄存器 * - 0x3C - ADDR_HISTGLA - 直方图 G 通道地址 A 寄存器 * - 0x40 - ADDR_HISTGLB - 直方图 G 通道地址 B 寄存器 * - 0x44 - ADDR_HISTBLA - 直方图 B 通道地址 A 寄存器 * - 0x48 - ADDR_HISTBLB - 直方图 B 通道地址 B 寄存器 * - 0x4C - ADDR_RAWLA - RAW 数据地址 A 寄存器 * - 0x50 - ADDR_RAWLB - RAW 数据地址 B 寄存器 * - 0x54 - ADDR_JPGLA - JPEG 数据地址 A 寄存器 * - 0x58 - ADDR_JPGLB - JPEG 数据地址 B 寄存器 * - 0x5C - ADDR_RCHLA - R 通道地址 A 寄存器 * - 0x60 - ADDR_RCHLB - R 通道地址 B 寄存器 * - 0x64 - ADDR_GCHLA - G 通道地址 A 寄存器 * - 0x68 - ADDR_GCHLB - G 通道地址 B 寄存器 * - 0x6C - ADDR_BCHLA - B 通道地址 A 寄存器 * - 0x70 - ADDR_BCHLB - B 通道地址 B 寄存器 * - 0x74 - ADDR_ARGBLA - ARGB 地址 A 寄存器 * - 0x78 - ADDR_ARGBLB - ARGB 地址 B 寄存器 * - 0x7C - ADDR_RGB565LA - RGB565 地址 A 寄存器 * - 0x80 - ADDR_RGB565LB - RGB565 地址 B 寄存器 * - 0x84 - ADDR_GRAYLA - 灰度地址 A 寄存器 * - 0x88 - ADDR_GRAYLB - 灰度地址 B 寄存器 * - 0x8C - LENTH - 一帧的字节数寄存器 * - 0x90 - PIXNUM - 一帧的像素数寄存器 * - 0x94 - LINENUM - 一帧的行数寄存器 * - 0x98 - CAMDIV - 摄像头时钟分频比寄存器 * - 0x9C - VERSION - RTL 版本寄存器 DCMI 控制寄存器 (DCMI_CTRL) ---------------------------------------- 地址偏移:``0x8`` .. list-table:: 表 5.2:DCMI_CTRL 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - CAP - 0 - 读/写 - 0x0 - 捕获使能 - 1'b0: 禁用捕获 - 1'b1: 使能捕获 * - TO422888 - 1 - 读/写 - 0x0 - YUV422 转 RGB888 使能 - 1'b0: 禁用 - 1'b1: 使能 * - TO565888 - 2 - 读/写 - 0x0 - RGB565 转 RGB888 使能 - 1'b0: 禁用 - 1'b1: 使能 * - RAWM - 3 - 读/写 - 0x0 - RAW 模式控制 - 1'b0: 禁用 RAW 模式 - 1'b1: 使能 RAW 模式 * - JM - 4 - 读/写 - 0x0 - JPEG 模式 - 1'b0: 禁用 JPEG 模式 - 1'b1: 使能 JPEG 模式 * - ESM - 5 - 读/写 - 0x0 - 嵌入式编码使能 - 1'b0: 禁用 嵌入式编码使能 - 1'b1: 使能 嵌入式编码使能 * - CKS - 6 - 读/写 - 0x0 - 像素时钟极性 - 1'b0: 下降沿有效 - 1'b1: 上升沿有效 * - HPS - 7 - 读/写 - 0x0 - 水平同步极性 - 1'b0: hs 高电平有效 - 1'b1: hs 低电平有效 * - VPS - 8 - 读/写 - 0x0 - 垂直同步极性 - 1'b0: vs 高电平有效 - 1'b1: vs 低电平有效 * - FR - 10:9 - 读/写 - 0x0 - 帧捕获率控制 这些位定义帧捕获的频率 - 2'b00: 捕获所有帧 - 2'b01: 每隔一帧捕获 - 2'b10: 每四帧捕获一帧 * - DCMIF - 13:11 - 读/写 - 0x0 - 每个像素时钟捕获位宽配置 - 3'b000: 每个像素时钟捕获 8-位 - 3'b001: 每个像素时钟捕获 10-位 - 3'b010: 每个像素时钟捕获 12-位 - 3'b011: 每个像素时钟捕获 14-位 - 3'b100: 每个像素时钟捕获 16-位 * - DSEN - 14 - 读/写 - 0x0 - 下采样使能 - 1'b0: 禁用下采样 - 1'b1: 使能下采样 * - DSR_Y - 16:15 - 读/写 - 0x0 - 行下采样率 - 2'b00: 捕获所有行 - 2'b01: 每 2 行捕获 1 行 - 2'b10: 每 4 行捕获 1 行 - 2'b11: 每 8 行捕获 1 行 * - DSR_X - 18:17 - 读/写 - 0x0 - 水平方向下采样率 - 2'b00: 捕获一行中的每个像素 - 2'b01: 每 2 个像素捕获 1 个像素 - 2'b10: 每 4 个像素捕获 1 个像素 - 2'b11: 每 8 个像素捕获 1 个像素 * - SNAP - 19 - 读/写 - 0x0 - 快照功能控制 - 1'b0: 禁用快照 - 1'b1: 使能快照 * - WDEN - 20 - 读/写 - 0x0 - 裁剪功能控制 - 1'b0: 禁用裁剪 - 1'b1: 使能裁剪 * - HISTEN - 21 - 读/写 - 0x0 - 直方图生成控制 - 1'b0: 禁用直方图生成 - 1'b1: 使能直方图生成 * - CAMCLKEN - 22 - 读/写 - 0x0 - 摄像头时钟输出使能 - 1'b0: 禁用摄像头时钟输出 - 1'b1: 使能摄像头时钟输出 * - DCMIEN - 23 - 读/写 - 0x0 - DCMI 使能控制位 - 1'b0: 禁用 DCMI - 1'b1: 使能 DCMI * - FMT422 - 26:24 - 读/写 - 0x0 - YUV422 序列 - 3'b000: YUYV - 3'b001: YVYU - 3'b010: UYVY - 3'b011: VYUY * - FMT565 - 29:27 - 读/写 - 0x0 - RGB565 序列 - 3'b000: {b[4:0] g[5:3]} {g[2:0] r[4:0]} - 3'b001: {r[4:0] g[5:3]} {g[2:0] b[4:0]} - 3'b010: {g[2:0] b[4:0]} {r[4:0] g[5:3]} * - OFMT - 30 - 读/写 - 0x0 - 输出 R/G/B 通道格式 - 1'b0: RGB - 1'b1: BGR * - 保留 - 31 - / - 0x0 - / DCMI 状态寄存器 (DCMI_STAT) ------------------------------------------------------------ 地址偏移:``0xC`` .. list-table:: 表 5.3:DCMI_STAT 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - EFF - 0 - 只读 - 0x0 - 行中断状态 - 1'b0: 无行中断产生 - 1'b1: 行中断产生 * - ESEF - 1 - 只读 - 0x0 - 嵌入式编码错误中断 - 1'b0: 无嵌入式编码错误中断产生 - 1'b1: 嵌入式编码错误中断产生 * - VSF - 2 - 只读 - 0x0 - 垂直同步信号中断 - 1'b0: 无垂直同步信号中断产生 - 1'b1: 垂直同步信号中断产生 * - HISTERR - 3 - 只读 - 0x0 - 直方图功能错误状态 - 1'b0: 直方图无错误 - 1'b1: 直方图有错误 * - HS - 4 - 只读 - 0x0 - HS 引脚状态 - 1'b0: hs 处于消隐区域 - 1'b1: hs 处于活动区域 * - VS - 5 - 只读 - 0x0 - VS 引脚状态 - 1'b0: vs 处于活动区域 - 1'b1: vs 处于消隐区域 * - ODDEVNFLG - 6 - 只读 - 0x0 - 在 bt656 模式下,此标志指示当前行是否为奇数行 - 1'b0: 偶数行 - 1'b1: 奇数行 * - HISTABEF - 7 - 只读 - 0x0 - 直方图输出 AB 地址标志 - 1'b0: 当前帧写入 A 地址 - 1'b1: 当前帧写入 B 地址 * - GRAYSCAABEF - 8 - 只读 - 0x0 - 灰度图输出 AB 地址标志 - 1'b0: 当前帧写入 A 地址 - 1'b1: 当前帧写入 B 地址 * - RGB565ABEF - 9 - 只读 - 0x0 - RGB565 输出 AB 地址标志 - 1'b0: 当前帧写入 A 地址 - 1'b1: 当前帧写入 B 地址 * - RGB888ABEF - 10 - 只读 - 0x0 - ARGB8888 输出 AB 地址标志 - 1'b0: 当前帧写入 A 地址 - 1'b1: 当前帧写入 B 地址 * - BCHABEF - 11 - 只读 - 0x0 - B 通道输出 AB 地址标志 - 1'b0: 当前帧写入 A 地址 - 1'b1: 当前帧写入 B 地址 * - GCHABEF - 12 - 只读 - 0x0 - G 通道输出 AB 地址标志 - 1'b0: 当前帧写入 A 地址 - 1'b1: 当前帧写入 B 地址 * - RCHABEF - 13 - 只读 - 0x0 - R 通道输出 AB 地址标志 - 1'b0: 当前帧写入 A 地址 - 1'b1: 当前帧写入 B 地址 * - JEGABEF - 14 - 只读 - 0x0 - JPEG 输出 AB 地址标志 - 1'b0: 当前帧写入 A 地址 - 1'b1: 当前帧写入 B 地址 * - RAWABEF - 15 - 只读 - 0x0 - RAW 数据输出 AB 地址标志 - 1'b0: 当前帧写入 A 地址 - 1'b1: 当前帧写入 B 地址 * - 保留 - 31:16 - / - 0x0 - / DCMI 中断使能寄存器 (DCMI_INTEN) ------------------------------------------------------------ 地址偏移:``0x10`` .. list-table:: 表 5.4:DCMI_INTEN 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - BUSRIE - 0 - 读/写 - 0x0 - 响应总线错误中断使能 - 0: 当接收到总线错误响应时,不产生中断 - 1: 当接收到总线错误响应时,产生中断 * - OVRIE - 1 - 读/写 - 0x0 - FIFO 溢出中断使能 - 0: 禁止 - 1: 使能 * - EFIE - 2 - 读/写 - 0x0 - 帧结束中断使能 - 0: 当一帧结束时,不产生中断 - 1: 当一帧结束时,产生中断 * - ESEIE - 3 - 读/写 - 0x0 - 嵌入式编码错误中断使能 - 0: 当嵌入式编码有错误时,不产生中断 - 1: 当嵌入式编码有错误时,产生中断 * - VSIE - 4 - 读/写 - 0x0 - Vs 同步中断使能 - 0: 当一帧结束时,不产生中断 - 1: 当一帧结束时,产生中断 * - ELIE - 5 - 读/写 - 0x0 - 行结束中断使能 - 0: 当一行结束时,不产生中断 - 1: 当一行结束时,产生中断 * - 保留 - 31:6 - / - 0x0 - / DCMI 中断标志寄存器 (DCMI_INTF) ------------------------------------------------------------ 地址偏移:``0x14`` .. list-table:: 表 5.5:DCMI_INTF 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - BUSRMF - 0 - 只读 - 0x0 - 响应总线错误中断 - 0: 无中断产生 - 1: 有中断产生 * - OVRMF - 1 - 只读 - 0x0 - FIFO 溢出中断 - 0: 无溢出中断产生 - 1: 有溢出中断产生 * - EFMF - 2 - 只读 - 0x0 - 帧结束中断 - 0: 无中断产生 - 1: 有中断产生 * - ESEMF - 3 - 只读 - 0x0 - 嵌入式编码错误中断 - 0: 无中断产生 - 1: 有中断产生 * - VSMF - 4 - 只读 - 0x0 - Vs 同步中断 - 0: 无中断产生 - 1: 有中断产生 * - ELMF - 5 - 只读 - 0x0 - 行结束中断 - 0: 无中断产生 - 1: 有中断产生 * - 保留 - 31:6 - / - 0x0 - / DCMI 中断清除寄存器 (DCMI_INTC) -------------------------------------------------------------------- 地址偏移:``0x18`` .. list-table:: 表 5.6:DCMI_INTC 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - BUSRFC - 0 - 读/写 - 0x0 - 行中断状态清除 向此位写入 1 清除 DCMI_INTF 寄存器中的 BUSRMF * - OVRFC - 1 - 读/写 - 0x0 - 行中断状态清除 向此位写入 1 清除 DCMI_INTF 寄存器中的 OVRMF * - EFFC - 2 - 读/写 - 0x0 - 行中断状态清除 向此位写入 1 清除 DCMI_INTF 寄存器中的 EFMF * - ESEFC - 3 - 读/写 - 0x0 - 行中断状态清除 向此位写入 1 清除 DCMI_INTF 寄存器中的 ESEMF * - VSFC - 4 - 读/写 - 0x0 - 行中断状态清除 向此位写入 1 清除 DCMI_INTF 寄存器中的 VSMF * - ELFC - 5 - 读/写 - 0x0 - 行中断状态清除 向此位写入 1 清除 DCMI_INTF 寄存器中的 ELMF * - 保留 - 31:6 - / - 0x0 - / DCMI 嵌入式同步编码寄存器 (DCMI_SC) ------------------------------------------------------------ 地址偏移:``0x1C`` .. list-table:: 表 5.7:DCMI_SC 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - FS - 7:0 - 读/写 - 0x0 - 帧开始分隔符编码。此字节指定帧开始分隔符的编码 * - LS - 15:8 - 读/写 - 0x0 - 行开始分隔符编码。此字节指定行开始分隔符的编码 * - LE - 23:16 - 读/写 - 0x0 - 行结束分隔符编码。此字节指定行结束分隔符的编码 * - FE - 31:24 - 读/写 - 0x0 - 帧结束分隔符编码。此字节指定帧结束分隔符的编码 DCMI 嵌入式同步编码掩码寄存器 (DCMI_SCUMSK) -------------------------------------------------------------------- 地址偏移:``0x20`` .. list-table:: 表 5.8:DCMI_SCUMSK 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - FSM - 7:0 - 读/写 - 0x0 - 帧开始分隔符掩码。此字节指定要应用于帧开始分隔符编码的掩码 * - LSM - 15:8 - 读/写 - 0x0 - 行开始分隔符掩码。此字节指定要应用于行开始分隔符编码的掩码 * - LEM - 23:16 - 读/写 - 0x0 - 行结束分隔符掩码。此字节指定要应用于行结束分隔符编码的掩码 * - FEM - 31:24 - 读/写 - 0x0 - 帧结束分隔符掩码。此字节指定要应用于帧结束分隔符编码的掩码 DCMI 裁剪窗口起始位置寄存器 (DCMI_CWSPOS) ------------------------------------------------------------ 地址偏移:``0x24`` .. list-table:: 表 5.9:DCMI_CWSPOS 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - WHSP - 13:0 - 读/写 - 0x0 - 水平偏移计数。此值给出在开始捕获之前要计数的像素时钟数。 * - 保留 - 15:14 - / - 0x0 - / * - WVSP - 29:16 - 读/写 - 0x0 - 垂直起始行计数。图像捕获从此行号开始。 * - 保留 - 31:30 - / - 0x0 - / DCMI 裁剪窗口大小寄存器 (DCMI_CWSZ) -------------------------------------------------------------------- 地址偏移:``0x28`` .. list-table:: 表 5.10:DCMI_CWSZ 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - WHSZ - 13:0 - 读/写 - 0x0 - 像素计数。此值给出从同一条线上的起点开始要捕获的像素数 * - 保留 - 15:14 - / - 0x0 - / * - WVSZ - 29:16 - 读/写 - 0x0 - 垂直线计数。此值给出从起点开始要捕获的行数 * - 保留 - 31:30 - / - 0x0 - / DCMI ARGB 数据寄存器 (DCMI_DATA) ------------------------------------------------------------ 地址偏移:``0x2C`` .. list-table:: 表 5.11:DCMI_DATA 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - ALPHCH - 31:0 - 读/写 - 0x0 - ALPH 通道数据 DCMI 输出控制寄存器 (OUT_CTL) -------------------------------------------------------------------- 地址偏移:``0x30`` .. list-table:: 表 5.12:OUT_CTL 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - HISTEN - 0 - 读/写 - 0x0 - 直方图输出使能 - 1'b0: 禁用直方图输出 - 1'b1: 使能直方图输出 * - GRAYSCAEN - 1 - 读/写 - 0x0 - 灰度图输出使能 - 1'b0: 禁用灰度图输出 - 1'b1: 使能灰度图输出 * - RGB565EN - 2 - 读/写 - 0x0 - RGB565 输出使能 - 1'b0: 禁用 rgb565 输出 - 1'b1: 使能 rgb565 输出 * - RGB888EN - 3 - 读/写 - 0x0 - ARGB8888 输出使能 - 1'b0: 禁用 ARGB8888 输出 - 1'b1: 使能 ARGB8888 输出 * - BCHEN - 4 - 读/写 - 0x0 - B 通道输出使能 - 1'b0: 禁用 B 通道输出 - 1'b1: 使能 B 通道输出 * - GCHEN - 5 - 读/写 - 0x0 - G 通道输出使能 - 1'b0: 禁用 G 通道输出 - 1'b1: 使能 G 通道输出 * - RCHEN - 6 - 读/写 - 0x0 - R 通道输出使能 - 1'b0: 禁用 R 通道输出 - 1'b1: 使能 R 通道输出 * - JEGEN - 7 - 读/写 - 0x0 - JPEG 输出使能 - 1'b0: 禁用 JPEG 输出 - 1'b1: 使能 JPEG 输出 * - RAWEN - 8 - 读/写 - 0x0 - RAW 数据输出使能 - 1'b0: 禁用 RAW 输出 - 1'b1: 使能 RAW 输出 * - HISTABEN - 9 - 读/写 - 0x0 - 直方图乒乓写入输出使能 - 1'b0: 禁用直方图乒乓写入输出 - 1'b1: 使能直方图乒乓写入输出 * - GRAYSCAABEN - 10 - 读/写 - 0x0 - 灰度图乒乓写入输出使能 - 1'b0: 禁用灰度图乒乓写入输出 - 1'b1: 使能灰度图乒乓写入输出 * - RGB565ABEN - 11 - 读/写 - 0x0 - RGB565 乒乓写入输出使能 - 1'b0: 禁用 RGB565 乒乓写入输出 - 1'b1: 使能 RGB565 乒乓写入输出 * - RGB888ABEN - 12 - 读/写 - 0x0 - ARGB8888 乒乓写入输出使能 - 1'b0: 禁用 ARGB8888 乒乓写入输出 - 1'b1: 使能 ARGB8888 乒乓写入输出 * - BCHABEN - 13 - 读/写 - 0x0 - B 通道乒乓写入输出使能 - 1'b0: 禁用 B 通道乒乓写入输出 - 1'b1: 使能 B 通道乒乓写入输出 * - GCHABEN - 14 - 读/写 - 0x0 - G 通道乒乓写入输出使能 - 1'b0: 禁用 G 通道乒乓写入输出 - 1'b1: 使能 G 通道乒乓写入输出 * - RCHABEN - 15 - 读/写 - 0x0 - R 通道乒乓写入输出使能 - 1'b0: 禁用 R 通道乒乓写入输出 - 1'b1: 使能 R 通道乒乓写入输出 * - JEGABEN - 16 - 读/写 - 0x0 - JPEG 乒乓写入输出使能 - 1'b0: 禁用 JPEG 乒乓写入输出 - 1'b1: 使能 JPEG 乒乓写入输出 * - RAWABEN - 17 - 读/写 - 0x0 - RAW 数据乒乓写入输出使能 - 1'b0: 禁用 RAW 数据乒乓写入输出 - 1'b1: 使能 RAW 数据乒乓写入输出 * - 保留 - 31:18 - / - 0x0 - / 直方图 R 通道地址 A 寄存器 (ADDR_HISTRLA) ------------------------------------------------------------ 地址偏移:``0x34`` .. list-table:: 表 5.13:ADDR_HISTRLA 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - HISTRLA - 31:0 - 读/写 - 0x0 - 直方图中 R 通道的 A 地址 直方图 R 通道地址 B 寄存器 (ADDR_HISTRLB) ------------------------------------------------------------ 地址偏移:``0x38`` .. list-table:: 表 5.14:ADDR_HISTRLB 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - HISTRLB - 31:0 - 读/写 - 0x0 - 直方图中 R 通道的 B 地址 直方图 G 通道地址 A 寄存器 (ADDR_HISTGLA) ------------------------------------------------------------ 地址偏移:``0x3C`` .. list-table:: 表 5.15:ADDR_HISTGLA 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - HISTGLA - 31:0 - 读/写 - 0x0 - 直方图中 G 通道的 A 地址 直方图 G 通道地址 B 寄存器 (ADDR_HISTGLB) ------------------------------------------------------------ 地址偏移:``0x40`` .. list-table:: 表 5.16:ADDR_HISTGLB 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - HISTGLB - 31:0 - 读/写 - 0x0 - 直方图中 G 通道的 B 地址 直方图 B 通道地址 A 寄存器 (ADDR_HISTBLA) ------------------------------------------------------------ 地址偏移:``0x44`` .. list-table:: 表 5.17:ADDR_HISTBLA 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - HISTBLA - 31:0 - 读/写 - 0x0 - 直方图中 B 通道的 A 地址 直方图 B 通道地址 B 寄存器 (ADDR_HISTBLB) ------------------------------------------------------------ 地址偏移:``0x48`` .. list-table:: 表 5.18:ADDR_HISTBLB 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - HISTBLB - 31:0 - 读/写 - 0x0 - 直方图中 B 通道的 B 地址 RAW 数据地址 A 寄存器 (ADDR_RAWLA) ------------------------------------------------------------ 地址偏移:``0x4C`` .. list-table:: 表 5.19:ADDR_RAWLA 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - RAWLA - 31:0 - 读/写 - 0x0 - RAW 数据输出的 A 地址 RAW 数据地址 B 寄存器 (ADDR_RAWLB) ------------------------------------------------------------ 地址偏移:``0x50`` .. list-table:: 表 5.20:ADDR_RAWLB 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - RAWLB - 31:0 - 读/写 - 0x0 - RAW 数据输出的 B 地址 JPEG 数据地址 A 寄存器 (ADDR_JPEGLA) ------------------------------------------------------------ 地址偏移:``0x54`` .. list-table:: 表 5.21:ADDR_JPEGLA 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - JPEGLA - 31:0 - 读/写 - 0x0 - JPEG 数据输出的 A 地址 JPEG 数据地址 B 寄存器 (ADDR_JPEGLB) ------------------------------------------------------------ 地址偏移:``0x58`` .. list-table:: 表 5.22:ADDR_JPEGLB 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - JPEGLB - 31:0 - 读/写 - 0x0 - JPEG 数据输出的 B 地址 R 通道地址 A 寄存器 (ADDR_RCHLA) ------------------------------------------------------------ 地址偏移:``0x5C`` .. list-table:: 表 5.23:ADDR_RCHLA 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - RCHLA - 31:0 - 读/写 - 0x0 - R 通道数据输出的 A 地址 R 通道地址 B 寄存器 (ADDR_RCHLB) ------------------------------------------------------------ 地址偏移:``0x60`` .. list-table:: 表 5.24:ADDR_RCHLB 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - RCHLB - 31:0 - 读/写 - 0x0 - R 通道数据输出的 B 地址 G 通道地址 A 寄存器 (ADDR_GCHLA) ------------------------------------------------------------ 地址偏移:``0x64`` .. list-table:: 表 5.25:ADDR_GCHLA 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - GCHLA - 31:0 - 读/写 - 0x0 - G 通道数据输出的 A 地址 G 通道地址 B 寄存器 (ADDR_GCHLB) ------------------------------------------------------------ 地址偏移:``0x68`` .. list-table:: 表 5.26:ADDR_GCHLB 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - GCHLB - 31:0 - 读/写 - 0x0 - G 通道数据输出的 B 地址 B 通道地址 A 寄存器 (ADDR_BCHLA) ------------------------------------------------------------ 地址偏移:``0x6C`` .. list-table:: 表 5.27:ADDR_BCHLA 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - BCHLA - 31:0 - 读/写 - 0x0 - B 通道数据输出的 A 地址 B 通道地址 B 寄存器 (ADDR_BCHLB) ------------------------------------------------------------ 地址偏移:``0x70`` .. list-table:: 表 5.28:ADDR_BCHLB 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - BCHLB - 31:0 - 读/写 - 0x0 - B 通道数据输出的 B 地址 ARGB地址 A 寄存器 (ADDR_ARGBLA) ------------------------------------------------------------ 地址偏移:``0x74`` .. list-table:: 表 5.29:ADDR_ARGBLA 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - ARGBLA - 31:0 - 读/写 - 0x0 - ARGB 数据输出的 A 地址 ARGB地址 B 寄存器 (ADDR_ARGBLB) ------------------------------------------------------------ 地址偏移:``0x78`` .. list-table:: 表 5.30:ADDR_ARGBLB 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - ARGBLB - 31:0 - 读/写 - 0x0 - ARGB 数据输出的 B 地址 RGB565 地址 A 寄存器 (ADDR_RGB565LA) ------------------------------------------------------------ 地址偏移:``0x7C`` .. list-table:: 表 5.31:ADDR_RGB565LA 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - RGB565LA - 31:0 - 读/写 - 0x0 - RGB565 数据输出的 A 地址 RGB565 地址 B 寄存器 (ADDR_RGB565LB) ------------------------------------------------------------ 地址偏移:``0x80`` .. list-table:: 表 5.32:ADDR_RGB565LB 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - RGB565LB - 31:0 - 读/写 - 0x0 - RGB565 数据输出的 B 地址 灰度地址 A 寄存器 (ADDR_GRAYLA) ------------------------------------------------------------ 地址偏移:``0x84`` .. list-table:: 表 5.33:ADDR_GRAYLA 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - GRAYLA - 31:0 - 读/写 - 0x0 - 灰度数据输出的 A 地址 灰度地址 B 寄存器 (ADDR_GRAYLB) ------------------------------------------------------------ 地址偏移:``0x88`` .. list-table:: 表 5.34:ADDR_GRAYLB 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - GRAYLB - 31:0 - 读/写 - 0x0 - 灰度数据输出的 B 地址 一帧的字节数寄存器 (LENTH) ------------------------------------------------------------ 地址偏移:``0x8C`` .. list-table:: 表 5.35:LENTH 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - LENTH - 24:0 - 读/写 - 0x0 - 传输的最大字节数 * - 保留 - 31:25 - / - 0x0 - / 一帧的像素数寄存器 (PIXNUM) ------------------------------------------------------------ 地址偏移:``0x90`` .. list-table:: 表 5.36:PIXNUM 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - PIXNUM - 31:0 - 读/写 - 0x0 - 一帧的像素数 一帧的行数寄存器 (LINENUM) ------------------------------------------------------------ 地址偏移:``0x94`` .. list-table:: 表 5.37:LINENUM 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - LINENUM - 31:0 - 读/写 - 0x0 - 一帧的行数 摄像头时钟分频比寄存器 (CAMDIV) ------------------------------------------------------------ 地址偏移:``0x98`` .. list-table:: 表 5.38:CAMDIV 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - CAMDIV - 15:0 - 读/写 - 0x0 - 摄像头时钟分频因子 * - 保留 - 31:16 - / - 0x0 - / RTL 版本寄存器 (VERSION) ------------------------------------------------------------ 地址偏移:``0x9C`` .. list-table:: 表 5.39:VERSION 寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - VERSION - 31:0 - 只读 - 0x10200 - RTL 版本