目的: 将摄像头采集到的数据实时的在LCD上进行显示
    
    自然景观->摄像头模块->接口->S3C2440的摄像头控制器->LCD
    
     
   
    
    
    ov7740(摄像头模块)
   
    看模组手册
    
    
     1). 常用参数
    
    
    输入信号: 自然景观等的模拟信号
    
    输出信号:
    
     RAW RGB、YUV格式
    
    的数字信号
    
    输出格式为:
    
     RAW RGB、YUV
    
    
    输出分辨率为:
    
     
      VGA(640
     
     480)
    
    *、QVGA(240* 320)、CIF(352* 288)、更小的任意大小
    
    问:RAW RGB与RGB的区别是什么?
    
    答:RAW RGB就是只有红绿蓝三种颜色的数据。而RGB数据,它不仅只表示红绿蓝三种颜色,而且还能表示由红绿蓝组合成的任何一种颜色。
    
    问:RGB、YUV又分别是什么?
    
    答:RGB、YUV是两种完全不同的颜色空间,它们之间可以相互转换。
    
    
    
    有效感光阵列的大小:656 *488 = 320128 (
    
     30W像素
    
    )
    
    镜头的大小:1/5寸
    
    像素点颗粒的大小: 4.2um *4.2um
    
    总结:以上三个参数,都是用来描述感光阵列,即使同为30W像素的摄像头,如果它的镜头尺寸大小越小,那么对应的像素点颗粒(只能感受三种颜色之一)的大小就越小,从而感光性就越差,进而拍摄的效果就越差。
   
    输入时钟频率: 6~27MHz(24), 即0V7740摄像头模组的工作频率范围。
    
    
    
    扫描模式: 连续扫描( P )
    
    对应的还有隔行扫描( I ) ,连续扫描连续一行一行扫描,隔行扫描第一次扫描偶数行,第二次扫描奇数行,一幅图要扫描两次。
   
    
     2). 内部数据的处理流程
    
    
    OV7740的功能模块图
    
    
    a.isc部分:图像传感器核心部分(只能感应红绿蓝得到RAW RGB数据)
    
    翻转、增益大小调整、黑电平校准、饱和度的控制、OTP存储器
    
    b.isp部分:图像传感器处理部分(DSP单元处理)
    
    提供测试功能、镜头补偿功能、自动白平衡、
    
     RAW RGB->RGB、RGB->YUV、窗口功能、缩小放大功能
    
    
    c.ioi部分:
    
     图像输出部分
    
    (输出格式,分辨率,同步信号)
    
    
     RAW RGB/YUV、VGA/QVGA、BT601/BT656
    
   
    以上这些处理过程,只有极少部分是自动完成的,而剩余部分是需要我们设置后,才能完成。是通过IIC总线,操作OV7740的寄存器来进行设置。
    
    问:BT601与BT656的传输方式有什么区别?
    
    答:BT601有独立的行同步信号线、帧同步信号线,而BT656是将这两种信号内嵌到数据中的。
   
    
     原理图(接口)
    
    
    
    
    
     控制类
    
    :
    
    IICSDA     – IIC总线的数据线
    
    IICSCL     – IIC总线的时钟线
    
    
     数据传输类
    
    :
    
    CAMRST     – 复位CMOS摄像头模块
    
    CAMCLK     – 摄像头模块工作的系统时钟(24MHz)
    
    CAM_HREF   – 行同步信号
    
    CAM_VSYNC   – 帧同步信号
    
    CAM_PCLK    – 像素时钟
    
    CAMDATA0~7   – 数据线
   
    
     总结
    
    
    1.CMOS摄像头模块的接口分为两类: 控制类和数据传输类
    
     IIC
    
    和LCD
    
    (1).控制类
    
    – 初始化:对摄像头模块进行相应的初始化操作,让摄像头模块能够正常的输出摄像头数据
    
    – 控制: 设置亮度、旋转、缩放等等的操作
    
    (2).数据传输类: 与LCD的接口完全一样
    
    把接口分为控制类和数据传输类的设备很多,比如声卡控制类用的三总线和数据传输类是IIS总线;控制类IIC,数据传输类IIS,AC97,PIM。比如重力传感器,都是IIC总线。
    
    2.CMOS摄像头模块,是一个IIC设备,需要给它写符合IIC设备那套架构的驱动,从而实现初始化和灵活的控制。
   
    实现输出格式:
    
     640*480、30fps、YUV、BT601
    
    
    s3c2440摄像头控制器(CAMIF):看2440手册
    
    
    
    摄像头输出格式:640×480,BT601,
    
    通过相应寄存器来设置相关参数。
    
    串口功能:裁剪
    
    预览通道(PIP画中画较小,最大640×480),编码通道(编码有用的数据,最大4096×4096),缩放旋转功能
    
    输出到缓存:(预览通道)格式RGB16/24,或(编码通道)YCbCr420,YCbCr422
   
    所有功能都有相应寄存器设置(预览通道和编码通道寄存器基本对称)
    
    帧同步的下降沿时触发中断,采集一帧数据。
   
    
    
    寄存器
   
    
     CISRCFMT(源图片格式)
    
    :选择传输方式(BT601),设置偏移值,源图片的水平像素值(640),源图片的垂直像素值(480),源图片的颜色顺序(CbYCrY,YCbYCr等)
    
    
     CIPRTRGFMT(目标图片格式)
    
    :目标图片的水平像素大小,是否旋转,表示目标图片的垂直像素大小
    
    
     CIWDOFST(窗口功能)
    
    :使能窗口功能,水平方向的裁剪的大小,垂直方向的裁剪的大小
    
    
     CIGCTRL(全局控制)
    
    :软件复位CAMIF控制器,复位外部摄像头模块,选择信号源(00 = 输入源来自摄像头模块),像素时钟的极性,VSYNC的极性,HREF的极性
    
    
     CIPRCTRL(DMA控制(突发长度))
    
    :主突发长度,剩余突发长度,是否使能LastIRQ功能
    
    
     预览缩放功能寄存器
    
    
    CIPRSCPRERATIO:预览缩放的变化系数,预览缩放的水平比,预览缩放的垂直比
    
    CIPRSCPREDST:预览缩放的目标宽度, 预览缩放的目标高度
    
    CIPRSCCTRL:告诉摄像头控制器(图片是缩小、放大),预览主缩放的水平比,预览主缩放的垂直比,设置图像输出格式是RGB16、RGB24,预览缩放开始
    
    
     CIPRTAREA(DMA目标区域)
    
    :预览通道的目标区域(目标水平x目标垂直)
    
    
     CIIMGCPT(使能)
    
    :使能摄像头控制器,使能编码通道,使能预览通道
    
    
     缓存地址寄存器
    
    :存放帧RGB数据
    
    CIPRCLRSA1
    
    CIPRCLRSA2
    
    CIPRCLRSA3
    
    CIPRCLRSA4
   
 
