微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一种应用于ARM7的CMOS图像采集系统

一种应用于ARM7的CMOS图像采集系统

时间:05-18 来源:互联网 点击:

中两根线的上升和下降时延、高低电平的维持时间都有较严格的要求,软件的延时时间要根据CPU速度和GPIO口的速度精确的计算后才能使通讯保持顺畅。如图2所示:

配置的具体方法如下:采用三相写数据的方式,即在写寄存器过程中要先发送OV7640的ID地址,然后发送数据的目的寄存器地址,接着为要写的数据。如果给连续的寄存器写数据,写完一个寄存器后,OV7640会自动把寄存器地址加1,程序可继续向下写,而不需要再次输入地址,从而三相写数据变为了两相写数据,由于本系统中只需要对有限个不连续寄存器的数据进行更改,如果采用对全部寄存器都加以配置这一方法的话,会浪费很多时间和资源,所以我们只对需要更改数据的寄存器进行写数据。对于每一个变化的寄存器,都采用三相写数据的方法。三相写数据的传输周期如图3所示。

2) 图像数据的采集

系统配置完毕后,将进行图像数据的采集。在采集图像的过程中,最主要的是判别一帧图像数据的开始和结束时刻。在仔细研究了OV7640输出同步信号(VSYNC是垂直同步信号、HREF是水平同步信号、PCLK是输出数据同步信号)的基础上,用C语言实现了采集过程起始点的精确控制。图4表示了图像采集期间三个同步信号的时序关系示意图。

VSYNC的上升沿表示一帧新的图像的到来,下降沿表示一帧图像数据采集的开始(CMOS图像传感器是按列采集图像的)。HREF是水平同步信号,其上升沿表示一列图像数据的开始。PCLK是输出数据同步信号。当HREF为高电平期间,才能开始有效的数据采集,PCLK下降沿的到来表明数据的产生,PCLK每出现一个下降沿传输一位数据。HREF为高电平期间共传输640位数据。在一帧图像中,即VSYNC为低电平期间,HREF出现480次高电平。当下一个VSYNC信号的上升沿到来时,就表明分辨率640*480的图像采集过程结束。

4. 软件编程设计

本文的软件设计是运行于uCLinux环境下的标准C程序。软件设计的主要步骤是,在系统加电时,对系统进行初始化,包括S3C4510B的初始化和SCCB的配置,配置完后,当接受到开始采集信号后,根据同步信号的状态判断是否开始采集数据,采集完一帧图像后将数据存入FLASH中。由于篇幅有限,下面给出了采集部分的程序代码:

void collect()

{

int pixel_count = 0;

int line_count = 0;

int i,j;

IOPMOD = IOPMOD 0x00000000; /*设置IO口为输入*/

while (!VSYNC); /*等待新的一帧开始*/

for (line_count=0; line_count480; line_count++)

{

while (!HREF); /*等待新的一列开始*/

for (pixel_count=0; pixel_count640; pixel_count++)

{

while (PCLK); /*等待一个新的象素点*/

buf[line_count][pixel_count] = PIXEL;

while (!PCLK); /*等待这个象素点传输完毕*/

}

while (HREF); /*等待这一列传输完毕*/

}

while (VSYNC); /*等待这一帧传输完毕*/

}

5.结束语

用ARM控制OV7640的数据采集系统性能良好,这种信号采集方法适合应用在对速率要求不高,追求高性价比的场合,以最简单的方式构建自主式系统。本系统已实现了SCCB总线的写功能,读功能需要一个更严格的时序,由于S3C4510B的I/O口速度较慢难以实现。另外,S3C4510B的时钟频率只有50MHz左右,信号的同步是个难题,可以考虑在接收端再加上一个时钟电路以实现严格的信号同步。

总而言之,本系统具有两大特点:一是开放性,由于采用的是通用的uCLinux操作系统,使用标准的C程序即可,然后通过以太网接口便可实现远程连接功能以改变目标任务。二是自主性,该系统自成体系,可以实现自启动,具有某些方面的识别能力和较高的性价比。

参考文献:

1. OmnVision Corp Public OV7640 Datasheet, 27 October 2003

2. OmnVision Corp, Serial Camera Controls Function Specification, 26 February 2003

3. 邹思轶.Linux嵌入式设计与应用.清华大学出版社,2002年1月第1版

4. 段峰,王耀南,雷晓峰,吴立钊,谭文。机器视觉技术及其应用综述,自动化博览,2002年1月

5. 刁修民,多分辨率图像实时采集系统的FPGA逻辑设计,电子技术应用2003(3)

6. 陈志辉,I2C总线在MCS51系列单片机数据采集系统中的实现,微计算机信息2005年第1期No.36

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top