基于ARM的紧凑型图像采集系统

发布者:码农侠最新更新时间:2008-01-24 来源: 单片机及嵌入式系统应用关键字:图像数据  图像采集系统  ARM  中断响应  指令周期  停止条件  位图文件  DMA控制器  QVGA 手机看文章 扫描二维码
随时随地手机看文章

  摘要利用ARM7(LPC2210)与CMOS感光芯片(OV7620)实现了一个紧凑型圈像采集、处理系统;通过夸理利用LPC2210数据总线的工作方式,有效地消除了OV7620对系统数据总线的干扰。SCCB控制,图像数据的采集、处理以及传输都由一片LPC22lO完成,特别适合于对功耗、体积要求较严格的嵌入式应用。

  0V7620是一种CMOS图像传感器,它被广泛应用在网络摄像头、摄像手机等产品中。由它组成的图像采集系统,比较常见的设计方法为OV7620搭配OV5ll+或CPLD/FPGA。OV511+或CPLD/FPGA采集的图像数据通过USB总线或双端口RAM输出到PC或MCU(ARM、DSP等),由PC或MCU对图像数据进行进一步的处理。本文所设计的图像采集系统仅用一个ARM芯片就实现了OV7620的功能控制、时序同步、数据采集与处理等功能,系统结构紧凑、实用。

  1 硬件结构

  OV7620是CMOS彩色/黑白图像传感器。它支持连续和隔行两种扫描方式,VGA与QVGA两种图像格式;最高像素为664492,帧速率为30fp8;数据格式包括YUV、YCrCb、RGB三种,能够满足一般图像采集系统的要求。

  OV7620内部可编程功能寄存器的设置有上电模式和SCCB编程模式。本系统采用SCCB编程模式,连续扫描,16位RGB数据输出。系统硬件结构框图如图1所示。

  

  

  ARM芯片选用具有ARM7TDMI内核的LPC2210,通过LPC2210的GPIO模拟SCCB总线协议,控制OV7620的功能寄存器。使用LPC2210的3个中断引脚引入OV7620的图像输出同步信号VSYNC、HSYNC、PCLK,以中断方式同步图像数据输出。OV7620的YUV通道输出的16位并行数据通过LPC2210的高16位数据线接入。SST39VF160和IS61LV25616AL为扩展的Flash和SRAM,分别用作程序存储器和数据存储器。

  2 具体实现

  2.1 OV7620的功能控制

  OV7620的控制采用SCCB(SeriaI Camera ControlBus)协议。SCCB是简化的I2C协议,SIO-l是串行时钟输入线,SIO-O是串行双向数据线,分别相当于I2C协议的SCL和SDA。SCCB的总线时序与I2C基本相同,它的响应信号ACK被称为一个传输单元的第9位,分为Don’t care和NA。Don’t care位由从机产生;NA位由主机产生,由于SCCB不支持多字节的读写,NA位必须为高电平。另外,SCCB没有重复起始的概念,因此在SCCB的读周期中,当主机发送完片内寄存器地址后,必须发送总线停止条件。不然在发送读命令时,从机将不能产生Don’t care响应信号。

  由于I2C和SCCB的一些细微差别,所以采用GPIO模拟SCCB总线的方式。SCL所连接的引脚始终设为输出方式,而SDA所连接的引脚在数据传输过程中,通过设置IODIR的值,动态改变引脚的输入/输出方式。SCCB的写周期直接使用I2C总线协议的写周期时序;而SC-CB的读周期,则增加一个总线停止条件。

  OV7620功能寄存器的地址为0x00~0x7C(其中,不少是保留寄存器)。通过设置相应的寄存器,可以使OV7620工作于不同的模式。例如,设置OV7620为连续扫描、RGB原始数据16位输出方式,需要进行如下设置:

  I2CSendByte()为写寄存器函数,它的第1个参数OV7620为宏定义的芯片地址0x42,第2个参数为片内寄存器地址,第3个参数为相应的寄存器设定值。

  2.2 OV7620时钟同步

  OV7620有4个同步信号:VSYNC(垂直同步信号)、FODD(奇数场同步信号)、HSYNC(水平同步信号)和PCLK(像素同步信号)。当采用连续扫描方式时,只使用VSYNC和HSYNC、PCLK三个同步信号,如图l所示。时为检测OV7620扫描窗口的有效大小,还引入了HREF水平参考信号。

  LPC2210的3个外部中断引脚分别作为3个同步信号的输入,相应的中断服务程序分别为Vsync_IRQ()、Hsync_IRQ()和Pclk_IRQ()。在内存中定义一个二维数组存储图像数据,一维用变量y表示,用于水平同步信号计数;二维用变量x表示,用于像素同步信号计数。图像采集的基本流程为:当用SCCB初始化好OV7620后,使能VSYNC对应的中断,在Vsync_IRQ()中断服务程序中判断是否已取得一帧数据。若是,则在主程序的循环体中进行数据处理;若不是,则使能HSYNC对应的中断,并将y置为O。在Hsync_IRQ()中断服务程序中,判断HREF的有效电平,若有效,则y加1,x置为O,并使能PCLK对应的中断。在Pclk_IRQ()中断服务程序中,判断HREF的有效电平,若有效,则z增加,同时采集一个像素点的图像数据。

  2.3 图像数据的输出速度匹配

  在OV7620的3个同步信号中,PCLK的周期最短。当OV7620使用27 MHz的系统时钟时,默认的PCLK的周期为74 ns。而LPC2210的中断响应时间远远大于这个值。LPC2210的最大中断延迟时问为27个处理器指令周期,最小延迟时问为4个指令周期,再加上中断服务时间、现场恢复时间等,完成一次中断响应的时问要大于7~30个指令周期。当LPC2210使用最高系统频率60 MHz时,它的中断响应时间远大于O.2~0,6 μs,所以只能将OV7620的PCLK降频。通过设置时钟频率控制寄存器,可将PCLK的周期设为4μs左右。

  2.4 图像数据的接入

  当OV7620工作于主设备方式时,它的YUV通道将连续不断地向总线上输出数据。如果将OV7620的YUV通道直接接在LPC2210的DO~D15数据总线上,则会干扰数据总线,使LPC2210不能正常运行;如果使用74HC244等隔离,分时使用数据总线的方法,则会大大降低系统的运行速度,使得LPC2210不能及时取走总线上的数据,造成图像数据不完整。由于LPC2210的数据总线宽度为32位,而Flash和SRAM仅占用了低16位数据线D0~D15,困此可以采用图l中的方法,将空闲的高16位数据线D16~D31设为GPIO,用于采集OV7620输出的16位图像数据。

  2.5 图像数据的恢复

  OV7620采用16位输出方式时,Y通道和UV通道的数据输出格式如表l所列。从表l中可以看出,每一行Y通道和UV通道交替输出上一行的重复数据和本行的新数据。而在一行之内,B数据只在奇数列出现,R数据只在偶数列出现。

  

  

  下面以一个55的像素点阵为例,详细介绍图像数据的恢复。

  首先定义一个515的字节型数组,在Pclk_IRQ()中断服务程序中读取55个像素点的图像数据;然后对图像数据进行插值,奇数点则在数组的连续3个字节中存入B、G、0,偶数点则存入O、G、R;最后对当前行的每一个字节与下一行对应列的每一个字节求平均值,即可算出当前行的RGB值。而在每一行内,奇数点的R数据和偶数点的B数据可通过分别对其两侧的2个点的R和B数据求平均值得到。

  这样,一幅图像就恢复好了。可以直接存成二进制文件(本系统采用串口输出到PC进行显示),或者增加BMP位图文件头信息,存成biBitCouNt=24的DIB位图文件;也可用LPC2210对此图像数据进行进一步的处理,如指纹识别等。

  3 结论

  本系统的图像采集速度主要受限于LPC2210的中断响应时间,如果采用带有DMA控制器,并且具有更高处理速度的ARM芯片,可大大提高整个图像采集系统的速度。例如,采用具有ARM9内核的S3C2410,其最高系统频率达203 MHz,完成一次DMA传送的时间约为30 ns。小于默认的PCLK的周期74 ns,可以实现30 fps的图像采集速度。

  与搭配OV511+或CPLD/FPGA的图像采集系统相比,此图像采集系统极大地简化了系统结构,降低了系统设计成本,缩短了开发周期;图像数据的采集与处理均由ARM芯片完成,因而降低了数据中转过程中传输错误的几率,提高了系统的可靠性。

  

关键字:图像数据  图像采集系统  ARM  中断响应  指令周期  停止条件  位图文件  DMA控制器  QVGA 引用地址:基于ARM的紧凑型图像采集系统

上一篇:多核与多执行绪的嵌入式系统解决方案
下一篇:基于ARM的智能家居远程控制系统设计

推荐阅读最新更新时间:2024-05-13 21:01

菜鸟自学ARM:linux下编程获取系统时间和设置时间
获取时间有几种编程方法: 1 #include stdio.h #include time.h main(){ time_t t; struct tm *p; time(&t); p=gmtime(&t); printf( Year :%d\n ,1900+p- tm_year); printf( Month :%d\n ,1+p- tm_mon); printf( Day :%d\n ,p- tm_mday); printf( Hour :%d\n ,p- tm_hour); printf( Minute:%d\n ,p- tm_min); printf( Second:%d\n ,p- tm_sec); printf( W
[单片机]
ARM7和UC/OS-II设计的信号采集系统
在一些工业现场中,设备长时间运行容易出现故障,为了监控这些设备,通常利用数据采集装置采集他们运行时的数据并送给PC机,通过运行在PC机上的特定软件对这些数据进行分析,以此判断当前运行设备的状况,进而采取相应措施。当前常用的数据采集装置,在其系统软件设计中,多采用单任务顺序机制。这样就存在系统安全性差的问题。这对于稳定性、实时性要求很高的数据采集装置来说是不允许的,因此有必要引入嵌入式操作系统。笔者以μC/OSII为操作系统平台,基于ARM7系列处理器,对一种高性能的数据采集系统开发进行了探索。 1μC/OSII嵌入式操作系统简介 嵌入式操作系统μC/OSII(microcontroller operating system)是
[单片机]
用<font color='red'>ARM</font>7和UC/OS-II设计的信号<font color='red'>采集系统</font>
初学者如何玩转ARM,举一反三
我是稀里糊涂的走上了嵌入式开发的道路,回想起来,多亏了身边的几位朋友,是在与他们的闲侃中慢慢的走上了这条道路:从最早的电路设计,PCB打板,电路调试,模拟仿真,单片机开发到后来的ARM开发,回想起来,心里也是诚惶诚恐,如履薄冰。 我开始做电子是用的AVR单片机,从I/O、按键…到内存、外设玩了一通。工作之后,才开始玩ARM。在项目中逐渐对ARM开发有了一些感悟。 学习ARM有两个目的,看你是那种:1、长见识,顺便玩玩;2、工作需要,从事ARM开发。这就要分开对待了。 如果是长见识,随便玩玩,为日后的工作做准备,那么就应该挑选市场上很成熟的ARM7、ARM9等资料比较多,玩的人比较多,出现问题容易解决;如果是工作需要,就
[单片机]
初学者如何玩转<font color='red'>ARM</font>,举一反三
Segars:ARM欢迎同Intel竞争 可时刻保持警惕性
据国外媒体报道,在今天早些时候,媒体就如何看待与Intel竞争关系时,ARM即将上任的新CEO Simon Segars表示:“有竞争永远是好事,他可以使你随时保持着高度警惕性。” Segars表示,其并不满足于ARM仅仅能成为Intel的竞争对手,而是更多的在某些领域完全超越了Intel。随着平板电脑销量节节攀高,预计2013年总出货量将超越PC,考虑到平板电脑基本都是基于ARM架构的处理器,从某种程度上来说,ARM在个人计算市场方面已经超过了Intel。 ARM现任CEO Warren East表示,对于退休并没有什么可说的。“我在半导体行业已经工作了将近30年,这几乎是我终身的事业。”East同时补充道,他对于英国的技术
[嵌入式]
Segars:<font color='red'>ARM</font>欢迎同Intel竞争 可时刻保持警惕性
ARM_linux开发环境建立(2)
安装FTP、SSH、NFS服务器软件 apt-get. 安装VMwareTools以及实现本机和虚拟机文件共享 安裝VMWare Tools有几个优点: .Host OS与Guest OS传档时,只需鼠标拖曳即可。鼠标在Host OS与Guest OS切换时,不需再按Ctrl + Alt。 此次安装VMWare Tools的目的是第三点:为了本机和centos切换时,可以直接切换,不需再按ctrl+Alt,这样会觉得方便许多哦,呵呵, 这里介绍的是主机是windows,客户机是linux下的设置。   1,安装vmtools for linux   选择vmware workstation 程序菜单中vm install
[单片机]
Digitimes:孙正义太乐观 收购ARM对软银没啥用
    新浪科技讯 北京时间7月20日晚间消息,据台湾媒体报道,台湾地区研究机构Digitimes Research今日发布报告称,软银董事长兼CEO孙正义对软银收购ARM交易过于乐观,其实收购ARM对软银并无太大帮助。   日本电信巨头软银周一宣布,将以243亿英镑(约合320亿美元)现金收购英国芯片设计公司ARM。这是自收购美国电信运营商Sprint以来软银进行的最大一笔并购交易。   对此,孙正义在一份声明中称,当前软银正积极投资于“物联网”业务,希望抓住该市场的重大商机,而收购ARM与该战略完美匹配。换言之,软银收购ARM主要动机是希望借助于ARM拓展“物联网”业务。   但Digitimes Research认
[手机便携]
基于DSP、DDS和ARM的雷达中频信号模拟器设计与实现
雷达信号模拟器是模拟技术与雷达技术相结合的产物。它通过模拟的方法产生雷达回波信号,以便在实际雷达系统前端不具备的条件下对雷达系统后级进行调试。随着数字技术的进步,高速、超大规模集成电路的使用,雷达信号模拟系统正朝着灵活、通用的方向发展。笔者设计了一种基于PC+ARM+DSP+DDS体系结构的能家长雷达中频信号模拟器,介绍了该系统的硬件设计,并以模拟相参数脉冲雷达动目标信号为例,介绍了本系统的应用。 1 系统结构设计 现代雷达信号模拟的设计偏重于运用数字化方式实现,随着实时数字信号处理技术的发展,PC+DSP+D/A的体系结构成了雷达模拟器实现的主要方式。直接数字频率合成技术(DDS)以其在频率捷变速度、相位连续性、相对带宽、高
[单片机]
基于DSP、DDS和<font color='red'>ARM</font>的雷达中频信号模拟器设计与实现
ARM内核的中断技术
    摘要: 以ARM7TDMI处理器为例,详细介绍ARM内核的三种中断:常规中断、快中断和软件中断;结合应用,给出优化的中断处理程序的ARM指令代码,对电子设计人员有效大的参考价值。     关键词: ARM 中断 快速 精简指令系统 1 ARM7TDMI简介 ARM7TDMI是一款经典的通用32位微处理器,采用精简指令系统(RISC)和流水线结构。典型应用如GPS、PDA、双向寻呼机、移动电话、板卡间高速通信等。 ARM7TDMI定义有7种工作模式,本文涉及到的有:用户模式,程序正常运行时的模式;快中断模式,处理器响应快中断而进入的模式;中断模式,处理响应常规中断而进入的模式;监督模式,操作系统
[嵌入式]
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved