王健,张翔
(西安工业大学 电子信息工程学院,陕西 西安 710032)
嵌入式系统中的图像采集是进行图像处理的基础,只有在采集时就进行前端的处理和控制,才能减少图像中的噪声,为后续的图像处理提供良好的数据[1]。OV7670开放了控制寄存器,用户可以通过SCCB总线来实现读写操作,可以设置图像输出格式、控制曝光等,为具体的应用场景提供了更底层的支持。正确的读写寄存器就成为获得图像的第一步。
OV7670 CAMERACHIPTM图像传感器,体积小、工作电压低,提供单片VGA摄像头和影像处理器的所有功能。通过SCCB总线控制,可以输出整帧、子采样、取窗口等方式的各种分辨率8位影响数据。该产品VGA图像最高达到30帧/秒。用户可以完全控制图像质量、数据格式和传输方式。所有图像处理功能过程包括伽玛曲线、白平衡、饱和度、色度等都可以通过SCCB接口编程。OmmiVision图像传感器应用独有的传感器技术,通过减少或消除光学或电子缺陷如固定图案噪声、托尾、浮散等,提高图像质量,得到清晰的稳定的彩色图像。功能框图[2]如图1所示。为了保证图像采集的连续性和完整性,外加一个384K,8位的FIFO,AL422为图像采集和处理作缓冲。OV7670与AL422的连接如图2所示。
SCCB(Serial Camera Control Bus),即串行摄像机控制总线,是OmniVision公司为完成对绝大部分OmniVision系列图像传感芯片功能的控制而制定的一种三线结构串行总线[3]。在简化的引脚封装中(如典型的24脚封装),SCCB总线可以工作在改进的两线工作方式下。两线SCCB适合于主片只有一个从片的时候使用,此时的SCCB_E*信号被使能并置低,其连接框图如图3所示。
两线连接的SCCB数据传输时序如图4所示。
SCCB总线协议中使用的信号如表1、表2所示。
图1 OV7670功能框图Fig.1 Functional block diagram of OV7670
数据传输开始:当总线空闲时,主片SIO_D信号置高或“1”。 在 SIO_C 是高或“1”且 SIO_D 驱动到低或“0”时,数据传输开始[4]。如图5所示。
图2 OV7670和FIFO连接示意图Fig.2 Connection diagram of OV7670 and FIFO
图3 两线SCCB连接框图Fig.3 2-wire SCCB functional block diagram
图4 两线SCCB数据传输时序Fig.4 2-wire data transmission
表1 主片信号说明Tab.1 Master device pin descriptions
表2 从片信号说明Tab.1 Slave device pin descriptions
图5 两线SCCB数据传输开始Fig.5 Start of data transmission
数据传输停止:当SIO_C信号是高或“1”,SIO_D信号从低或“0”到高或“1”时,数据传输停止[5]。 如图6所示。
图6 两线SCCB数据传输停止Fig.6 Stop of Data Transmission
写操作只有在一个开始信号之后,才能由主片启动;在一个停止信号之后或者一个新的开始信号之后,写操作才完成[6]。同样,读操作也是在一个停止信号或者一个新的开始信号之后才完成。
读寄存器操作的函数实现如下:
写寄存器操作的实现函数如下:
通过对OV7670的寄存器设置,可以很好的实现对OV7670的图像数据的采集和传输过程进行有效的干预。寄存器读写可以确定摄像头一端的工作状况,方便了嵌入式系统的开发调试;能够在系统中根据要求来改变模块传输数据的格式,并根据环境光线的强弱来改变曝光强度。避免了采集到的图像不清晰甚至是乱码的问题。
[1]褚红娟,隋国荣.基于SCCB通信的FPGA视频采集模块[J].自动化仪表,2010,11(31):68-70.
CHU Hong-juan,SUIGuo-rong.FPGA VF information collection Module Based on SCCB Communication[J].Process Automaton Instrumentation,2010,11(31):68-70.
[2]OV7670/OV7171 Datasheet(Version 1.3)[Z].Omnivision.
[3]OmniVision Serial Camera Control Bus (SCCB)Functional Specification(Version 2.1)[S].2003.
[4]苑玮琦,汤永华.OmniVision图像传感器的SCCB总线协议在DSP中的实现[J].仪器仪表学报,2006,27(S1):1687-1688.
YUAN Wei-qi,TANG Yong-hua.Application of SCCB of OmniVision camera in DSP[J].Chinese Journal of Scientific Instrument, 2006,27(S1):1687-1688.
[5]谭营,许化龙,吴琳.基于PC/104的数据采集系统设计[J].微计算机信息, 2007 (32):78-79.
TAN Ying,XU Hua-long,WU Lin.Design of data acquisition system based on PC/104 bus[J].Microcomputer Information,2007(32):78-79.
[6]刘明刚,施建礼,夏涑涛.基于PC/104总线和CPLD的多通道实时数据采集系统[J].仪表技术, 2007(8):23-25.
LIU Ming-gang,SHI Jian-li,XIA Su-tao.A design of real-time multichannel data acquisition system based on PC/104 bus and CPLD[J].Instrumentation Technology,2007(8):23-25.