CMOS小结
1.支持接口
1.摄像头支持接口很多,MIPI(Mobile Industry Processor Interface),DVP(Digital Video Port),SPI,CSI(CMOS Sensor Interface)等;
DVP接口
---------简介----------
并行传输;
数据位宽8bit,10bit,12bit等;
非差分信号;
高像素的Sensor使用DVP比较勉强;
-------------硬件通信信号------------
PCLK: pixel clock ,像素时钟,每个时钟对应一个像素数据,一般为几十MHz(CMOS发出);
HSYNC: horizonal synchronization,行同步信号,一般为几十KHz;
VSYNC: vertical synchronization,帧同步信号,一般为几十Hz,与帧率FPS相同;
DATA: 像素数据;
MCLK: 外部晶振或主控输出给sensor的驱动时钟,典型值是24MHz;
SCL,SDA: 用来配置sensor寄存器的IIC接口。
-------------Sensor电源------------
AVDD(模拟电源)、DOVDD(数字IO电源)、DVDD18(数字内核电源);
注意上电时序,一般先后顺序依次是AVDD、DOVDD、DVDD18,或者至少三者同步上电,而不能是反过来的顺序
注意: sensor的电源稳定性非常重要,电源有问题的话,图像就可能出现各种奇奇怪怪的现象。sensor的3路电源最好分开单独供电
MIPI接口
CSI接口
SPI接口
四根线,两条主从数据线,1条时钟线(主Out从In),一个CS片选;
2.输出格式
YUV色彩格式
-----------------------简介--------------------
采样方式: YUV444、YUV422、YUV420
Y:表示明亮度(灰度值);U(Cb)V(Cr)表示色度;YUV也叫(YCbCr),UV和CbCr还是有些许存储方式不同;
优点:不用像RGB要求三个独立视频信号同时传输,YUV方式传入占用带宽极少
-----------------------三种格式介绍 ------------------------
YUV444
YUV444是RGB直接转换的,不进行采样的结果;
四个像素点为: [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
采样后的数据: Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3
映射出像素点保持原样
YUV422
也就是UV色度信号仅仅取一半;YUV又称做 YUYV或者YVYU;
信号数据计算
假设一帧为720*480;YUV422的存储方式
Y分量: (720×480)个字节
U(Cb)分量:(720×480>>2)个字节
V(Cr)分量:(720×480>>2)个字节
这三部分内部机智行有线存储,三个部分是YUV顺序存储;
YUV422P(planar数据)
即YUV数据的0--720×480字节是Y分量值,
720×480--720×480×5/4字节是U分量
720×480×5/4 --720×480×3/2字节是V分量。
打包模式,并不是将YUV数据交错存储,而是先存放所有的Y分量,然后存储所有的U(Cb)分量,最后存储所有的V(Cr)分量
四个像素点为:[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
采样后的数据:Y0 U0 Y1 V1 Y2 U2 Y3 V3
映射出像素点为:[Y0 U0 V1] [Y1 U0 V1] [Y2 U2 V3] [Y3 U2 V3]
YUV411
四个像素点UV色度信号仅仅取1/4;
四个像素点为: [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
采样后的数据: Y0 U0 Y1 Y2 V2 Y3
还原出像素点为:[Y0 U0 V2] [Y1 U0 V2] [Y2 U0 V2] [Y3 U0 V2]
YUV420
4:2:0并不意味着只有Y,Cb而没有Cr分量。它指得是对每行扫描线来说,只有一种色度分量以2:1的抽样率存储。相邻的扫描行存储不同的色度分 量,也就是说,如果一行是4:2:0的话,下一行就是4:0:2,再下一行是4:2:0…以此类推。对每个色度分量来说,水平方向和竖直方向的抽样率 都是2:1,所以可以说色度的抽样率是4:1。对非压缩的8比特量化的视频来说,每个由2x2个2行2列相邻的像素组成的宏像素需要占用6字节内存。
下面八个像素为:[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3] [Y5 U5 V5] [Y6 U6 V6] [Y7U7 V7] [Y8 U8 V8]
存放的码流为:Y0 U0 Y1 Y2 U2 Y3 Y5 V5 Y6 Y7 V7 Y8
映射出的像素点为:[Y0 U0 V5] [Y1 U0 V5] [Y2 U2 V7] [Y3 U2 V7] [Y5 U0 V5] [Y6 U0 V5] [Y7U2 V7] [Y8 U2 V7]
RGB色彩格式
-----------------------简介--------------------
RGB565 每个像素用16位表示,RGB分量分别使用5位、6位、5位
RRRRRGGG GGGBBBBB (16bit)
RGB555 每个像素用16位表示,RGB分量都使用5位(剩下1位不用)
XRRRRRGG GGGBBBBB (16bit X表示忽略)
RGB24 每个像素用24位表示,RGB分量各使用8位
每个RGB分量各位 8bit 内存中RGB各分量排序 BGR BGR BGR…
RGB32 每个像素用32位表示,RGB分量各使用8位(剩下的8位用于表示Alpha通道值)
RGB各站8bit,剩下8bit用于Alpha或者不用; 内存RGB分量排序:BGRA BGRA…
RawBayer
3.Sensor数据手册注意
以GC032A为例,其中0xFE作为控制页选;也就是说,当你需要修改P0-P2之间的数据的时候,需要进行一个页选操作,才能操作到对应的寄存器中;
如 P0:0x03表示P0页 0x03对应
如图
4.芯片及实际操作
芯片引脚开关控制
-------------Sensor电源------------
AVDD(模拟电源)、DOVDD(数字IO电源)、DVDD18(数字内核电源);
注意上电时序,一般先后顺序依次是AVDD、DOVDD、DVDD18,或者至少三者同步上电,而不能是反过来的顺序
注意: sensor的电源稳定性非常重要,电源有问题的话,图像就可能出现各种奇奇怪怪的现象。sensor的3路电源最好分开单独供电
控制好 PWDN和MCLK一般(24MHZ)
I2C通信读写这是最先需要验证的;
芯片LOCSC接口
PEdge:表示PCLK上升(下降)出数据0(1)
HActive:行有效信号(1:高有效,0低有效)
VActive:帧有效信号(1:高有效,0低有效)
VEn:模块使能 (写1使能)
另外,每次采图时开启PWDN,不采图可以让Sensor处于待机状态或者关闭状态等(降低功耗);
具体见 LOCSC数据手册;