当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]一种应用于ARM7的CMOS图像采集系统

Samsung公司的S3C4510B是基于以太网系统高性价比的16/32位RISC微控制器,内含一个由ARM公司设计的16/32位 ARM7TDMI RISC处理器核,ARM7TDMI为低功耗、高性能的16/32核,它具有0.9MIPS/MHz的三级流水线结构,支持32位ARM指令集和16位 Thumb指令集,有着功能丰富的片内外围功能模块,可挂载大容量的存储器,最适合用于对价格及功耗敏感的应用场合。 CMOS(Complementary Metal Oxide Semiconfuctor),即“互补金属氧化物半导体”。它是计算机系统内一种重要的芯片,将它加工也可以作为图像采集系统中的感光传感器。随着 CMOS技术的发展及市场需求的增加,这种图像传感器得以迅速发展,它具有高度集成化、低成本、低功耗、单一工作电压、局部像素可编程、随机读取等优点,适用于超微型数码相机、摄像机、安防监控、汽车防盗、机器视觉、指纹识别、手机等图像领域。本文介绍的是由美国OmniVision公司生产的 OV7640彩色CMOS图像传感器,它采用独特的传感器专利工艺技术和先进的算法(algorithms)解决了先前CMOS感光器件固定图像噪声(FPN)的限制。由这两种芯片组成的系统有较强的实际应用价值。

1 系统的基本硬件组成

整个图像采集系统主要有CMOS图像传感芯片OV7640、三星4510B控制器(板载64M存储器)、晶振电路、电源几部分组成。

OV7640是高度集成的彩色摄像芯片,可带1/4”镜头,支持多种格式,内设的SCCB(Serial Camera Control Bus)串行控制总线接口,提供简单控制方式,通过该接口,我们可以对OV7640芯片内部所有寄存器值进行修改,从而完成对OV7640的控制。另外,OV7640内置了640×480分辨率的镜像阵列,A/D转换器,并支持外部水平、垂直同步输入格式,外部微控制器和RAM界面、数字视频输出、增益控制、黑白平和白平衡等在内的控制寄存器功能模块。

S3C4510B是一款不带MMU的ARM7微处理器,可在其上运行uCLinux操作系统。它的系统时钟最高可达60MHz,有着丰富的外部资源接口,系统板载了64M的存储器,可直接利用板载的存储器进行图像数据的暂存,以最大限度的简化系统。

系统的时钟频率由一颗24MHz的有源晶振提供,系统电源为5V,S3C4510B需要1.8V和3.3V的电压,OV7640需要2.5V和3.3V的电压输入,可通过电平转换芯片LM1117进行转换得到所需要的电压。

2 硬件设计的思路和要点

系统功能是应用4510B芯片的GPIO口对OV7640图像数据进行采集,然后进行相应的处理和识别。OV7640包含有8位数据D0-D7、同步信号VSYNC、HREF、PCLK,这些信号需要送给CPU以读取图像数据和保证同步;另一方面,由于OV7640默认帧频为30Hz,在此帧频下的图像数据输出为30Hz*307.2K=9.216Mbytes/s,QVGA方式的数据率为30Hz*76.8K=2.3Mbytes/s,在不考虑同步的情况下已远远超过I/O口的响应速度,因此必须重新设置以降低帧频。因此,在本系统中对OV7640的访问有三个:第一是设置地址号为0x11的帧频控制器CLKRC以降低帧频,第二是设置地址号为0x14的控制器COMC以设置像素为320*240,最后是设置地址号为0x28的COMH以设置扫描格式。从信号的使用角度来说,需要用到OV7640的8位数据线D0-D7(双向),同步信号VSYNC、HREF、PCLK(单向,供控制器读),SCCB总线SIO_C(单向)、SIO_D(双向)。

 

由于4510B板上IO口资源相当丰富,8位并行数据线和控制线都可以接在IO口上,设置好输入输出关系,通过软件模拟SCCB总线实现控制器对 OV7640的控制。连接采用4510为主机,OV7640为从机的方式。在设置完帧频以后就可以根据同步信号对一帧一帧的图像进行采集了。系统连接图如图1所示。

3 图像采集的工作过程

1)通过SCCB总线设置OV7640的帧频

系统上电后需要对CMOS图像传感器进行初始化,以确定采集图像的开窗位置、开窗大小和黑白工作模式等。这些参数是受OV7640内部相应寄存器的值控制的,可通过SCCB总线对其进行设置。SCCB的接口有SCCE、SIO_C、SIO_D(SCCE是串行总线使能信号,SIO_C是串行总线时钟信号,SIO_D是串行总线数据信号)三条引脚。OV7640芯片上没有SCCE引脚,但也可实现单主对单从方式的通讯,控制总线规定的条件如下:当 SIO_C为高电平时,如SIO_D产生一个下降沿表明数据传输的开始,如SIO_D产生一个上升沿表明数据传输的结束;为了避免传送无用的信息位,分别在传输开始之前、传输结束之后将SIO_D设置为高电平。在数据传输期间,SIO_D上数据的传输受SIO_C的控制,当SIO_C为低电平时,SIO_D上数据有效,SIO_D为稳定数据状态,SIO_C每出现一正脉冲,将传送一位数据。其中两根线的上升和下降时延、高低电平的维持时间都有较严格的要求,软件的延时时间要根据CPU速度和GPIO口的速度精确的计算后才能使通讯保持顺畅。如图2所示:

 

[!--empirenews.page--]

配置的具体方法如下:采用三相写数据的方式,即在写寄存器过程中要先发送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中。由于篇幅有限,下面给出了采集部分的程序代码:

[!--empirenews.page--]

void collect()

{

int pixel_count = 0;

int line_count = 0;

int i,j;

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

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

for (line_count=0; line_count<480; line_count++)

{

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

for (pixel_count=0; pixel_count<640; 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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭