×
嵌入式 > 嵌入式开发 > 详情

PC104对OV7670寄存器的读写

发布时间:2020-07-07 发布时间:
|
    嵌入式系统中的图像采集是进行图像处理的基础,只有在采集时就进行前端的处理和控制,才能减少图像中的噪声,为后续的图像处理提供良好的数据。OV7670开放了控制寄存器,用户可以通过SCCB总线来实现读写操作,可以设置图像输出格式、控制曝光等,为具体的应用场景提供了更底层的支持。正确的读写寄存器就成为获得图像的第一步。

1 OV7670摄像头模组简介
    OV7670 CAMERACHIPTM图像传感器,体积小、工作电压低,提供单片VGA摄像头和影像处理器的所有功能。通过SCCB总线控制,可以输出整帧、子采样、取窗口等方式的各种分辨率8位影响数据。该产品VGA图像最高达到30帧/秒。用户可以完全控制图像质量、数据格式和传输方式。所有图像处理功能过程包括伽玛曲线、白平衡、饱和度、色度等都可以通过SCCB接口编程。OmmiVision图像传感器应用独有的传感器技术,通过减少或消除光学或电子缺陷如固定图案噪声、托尾、浮散等,提高图像质量,得到清晰的稳定的彩色图像。功能框图如图1所示。为了保证图像采集的连续性和完整性,外加一个384K,8位的FIFO,AL422为图像采集和处理作缓冲。OV7670与AL422的连接如图2所示。



2 两线SCCB
    SCCB(Serial Camera Control Bus),即串行摄像机控制总线,是OmniVision公司为完成对绝大部分OmniVision系列图像传感芯片功能的控制而制定的一种三线结构串行总线。在简化的引脚封装中(如典型的24脚封装),SCCB总线可以工作在改进的两线工作方式下。两线SCCB适合于主片只有一个从片的时候使用,此时的SCCB_E*信号被使能并置低,其连接框图如图3所示。


    两线连接的SCCB数据传输时序如图4所示。[page]


    SCCB总线协议中使用的信号如表1、表2所示。

3 接口时序及编程实现
    数据传输开始:当总线空闲时,主片SIO_D信号置高或“1”。在SIO_C是高或“1”且SIO_D驱动到低或“0”时,数据传输开始。如图5所示。

   


    数据传输停止:当SIO_C信号是高或“1”,SIO_D信号从低或“0”到高或“1”时,数据传输停止。如图6所示。
   
   


    写操作只有在一个开始信号之后,才能由主片启动;在一个停止信号之后或者一个新的开始信号之后,写操作才完成。同样,读操作也是在一个停止信号或者一个新的开始信号之后才完成。

[page]

    读寄存器操作的函数实现如下:

   

4 结论
    通过对OV7670的寄存器设置,可以很好的实现对OV7670的图像数据的采集和传输过程进行有效的干预。寄存器读写可以确定摄像头一端的工作状况,方便了嵌入式系统的开发调试;能够在系统中根据要求来改变模块传输数据的格式,并根据环境光线的强弱来改变曝光强度。避免了采集到的图像不清晰甚至是乱码的问题。

关键字:OV7670  图像采集  PC104  SCCB 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
RIOS实验室联手Imagination.共同助力RISC-V生态发展