DCMI接口

目录

DCMI数字摄像头接口

DCMI引脚

摄像头引脚

操作过程与通信方式

硬件连接图

写操作

读操作

图像输出

数据格式

rawRGB

 YUV

RGB

JPEG

代码实现过程简述

学习过程的问题

YUV是亮度和色度的格式,为什么UV中取Cb蓝和Cr红作为色度?

提问MIPI、DVP、DCMI是什么关系?


DCMI数字摄像头接口

同步并行接口,可接受外部8-14位CMOS摄像头模块的高速数据流。支持YUV,RGB原始的按行帧格式组织的图像数据(具体见下文数据格式),也支持JPEG格式压缩的数据流。

DCMI引脚

DCMI接口_第1张图片

DCMI从外部接收数据,PIXCLX最高为HCLK的1/4

摄像头引脚

DCMI接口_第2张图片

操作过程与通信方式

硬件连接图

DCMI接口_第3张图片

写操作

数字摄像头OV2640通过类I2C实现,SCCB读写过程定义了两种写操作,分为三步或两步写操作。

三步,1发送7b从设备ID地址+读写方向,2发送从设备目标寄存器8b地址,3发送要写入寄存器的8b数据。

两步,不发送上述第3步8b数据。

读操作

两步读操作,从设备目的寄存器中读取数据。发送从设备ID+R标志(设备地址+读标志)和自由位,在二阶段中读取寄存器中的8b数据和写NA位(非应答信号)。读操作没有确定的目的寄存器地址,所以在读操作前,需有一个两步写操作提供操作的寄存器地址。

图像输出

时序有VGA\SVGA\UXGA等时序,图像输出在帧内从左到右从上到下一个像素输出,顺序可变。这里的VGA一般指640×480的屏幕分辨率,QVGA指320×240.

输出图像格式可以设置RGB565,意思数据位分别以R\G\B为基的2次多项式的16次方,即16b数据为一像素,RGB888等同理

数据格式

摄像头sensor的数据输出格式。_天际草原的博客-CSDN博客_摄像头数据格式

Sensor信号输出YUV、RGB、RAW DATA、JPEG 4种方式区别_southcamel的博客-CSDN博客_raw rgb yuv

rawRGB

传感器基带数据,即初始模拟信号,每一像素对应一个彩色滤光片,滤光片按Bayer pattern分布,将每一个像素的数据直接输出。

 YUV

(YCbCr为换算后的数字信号),CCIR601 CCIR656

YUV详解数据和格式_Alex_designer的博客-CSDN博客_yuv数据

Y表示亮度,单位Luma,指灰度值;UV表示色度(Cb蓝色度 Cr红色度),描述影像色彩及饱和度,用于指定像素的颜色。存储格式分为planar和packed,前者分块存储Y\U\V像素数据,后者交叉存储YUV数据,使用一个数组存储一个像素的YU 或 YV,依次交叉,这部分可细分三种方式YUV444/422/420。若如此存储则压缩了图像,损失了信息。

RGB

RGB565 RGB555 RGB24 RGB32 ARGB(带Alpha通道)

RGB565通过raw数据进行插值获取,丢失信息,R5G3 G3B5方式存储,G多一位是因为人眼对绿色敏感。500M以上的sensor只输出RAW数据以保证比较快的输出速度。

JPEG

先经过系列转换成必要格式,如YCbCr,再进行离散余弦量化编码压缩。

代码实现过程简述

注:具体设置根据不同芯片sdk为准,以STM32F4xx系列为例

初始化I2C接口IO,时钟及使能。进行I2C功能配置,选择CLK频率、寻址长度、自身地址,时钟线占空比和角色模式等。

初始化DCMI接口IO,时钟及使能,同时使能PWDN为低,供电。

配置DCMI功能,捕获模式、信号同步方式、同步信号及像素时钟的触发方式、捕获数、数据长度等。

配置DMA/DMA2D(图形专用加速)功能。使用DMA,DMA通道、外设地址、显存地址,DMA方向自增模式、优先级、FIFO;使用DMA2D配置LCD图像显示于LCD显示相关文章中再介绍。

通过I2C写入寄存器配置数据,选择不同分辨率及图像设置等,具体可见各摄像头datasheet。

学习过程的问题

YUV是亮度和色度的格式,为什么UV中取Cb蓝和Cr红作为色度?

YUV可以转换成RGB格式,公式如下。

详解各种RGB与YUV(YCbCr)互转公式 - 简书 (jianshu.com)

这东西引出一个大坑。

提问MIPIDVPDCMI是什么关系?

MIPI是MIPI联盟定义的一个移动端处理器规范,MIPI的camera接口叫CSI,显示接口叫DSI。DVP接口直接对应DCMI接口。前者适用于高速率高分辨率,后者低于500w像素。

你可能感兴趣的:(外设驱动,嵌入式硬件,mcu)