基于32位嵌入式系统的实时图像采集模块
扫描二维码
随时随地手机看文章
摘要:介绍了32位嵌入式系统及应用现状,指出了在嵌入式实时图像采集的重要性和存在问题,提出了一种基于嵌入式系统总线接口的实时图像采集模块的实现方法。 关键词:32位嵌入式系统 CMOS摄像 实时图像采集 1 32位嵌入式系统及其应用现状 1.1 32位嵌入式系统概述 嵌入式系统是后PC时代的主导,当低端的嵌入式系统无法满足信息化、智能化、网络化时代的更高要求时,32位嵌入式系统应运而生。32位嵌入式系统是电脑硬件与软件的有机结合。嵌入式设计的目的在于满足某种特殊的功能。嵌入式系统的大体构架可分为五部分:处理器、内存、输入与输出、操作系统与应用软件。 32位嵌入式系统可分为硬件和软件两个平台。硬件平台的设计包括处理器电路、网络功能、无线通信及使用接口等的设计。嵌入式软件为信息、通信网络或消费性电子产品等系统中的必备软件,为硬件产品的驱动程序、控制处理和基本接口功能服务,以提高硬件产品的价值。嵌入式软件为该硬件产品不可缺少的重要组成部分。
1.2 32位嵌入式系统的应用现状 嵌入式系统把微处理器(CPU)或者微控制器(MCU)的系统电路与其专用的软件平台相结合,以此来达到系统操作的最高效率。目前的移动电话、手表、电子游戏机、PDA、电视、冰箱等民用电子与通信设备,电动汽车、电动机车等电动产品的控制核心,无不与32位嵌入式系统息息相关。32位嵌入式系统早已融入了人们的日常生活,嵌入式系统的产品主要集中在信息家电、通信产品、工业控制器、掌上电脑(PDA)领域。家电、玩具、汽车、新一代手机、数码相机等设备也都采用了32位嵌入式系统的核心技术。随着后PC时代的到来,有理由相位32位嵌入式系统会呈现出蓬勃发展的趋势。 2 实时图像采集的重要性和存在的问题 实时图像的采集和处理在现代多媒体技术中占有极其重要的地位。日常生活中所见到的数码相机、可视电话、多媒体IP电话和电话会议等产品,实时图像采集是最核心的技术。图像采集的速度、质量直接影响到产品的整体效果。众所周知,视频图像数字化后数据量非常庞大,对如此大量高速的数据进行实时处理是计算机应用领域中技术难度最大的部分。例如,一幅大小为352%26;#215;288、彩色深度为16的图像,其数据量为0.5MB。而依据人的视觉特性,25幅图像连续播放才能使人感到一幅动态的画面,这意味着必须要有5MB的原始数据量才能保证画面的连续。可见如何实现视频图像的高保真数字化并且采取科学合理的方法实现数据的高速传输是该领域必须解决首要问题。
目前大多数视频图像采集采用摄像头传感器,再通过视霸卡或实时图像采集(压缩)卡对视频图像进行采集(或压缩)后送入计算机进行处理。由于摄像机的输出已转换成模拟NTSC或PAL制式并以Svideo或混合视频信号方式输出,且摄像头传感器的象素点在输出时序上很难与采集卡的采样点一一对应,因此视频图像数字化后图像质量损失较大,图像分辨率上限受限式限制。另外,这种方法存在系统成本高、结构复杂等局限性,不便于推广和普及应用。为此,最新出现了采用先进摄像技术的图像采集卡,极大地改善了图像质量损失较大、成本高、不便于推广等缺点。这类先进摄像技术(如CMOS摄像技术)的采集卡的突出优点是占用计算机资源少,数据传输速率较高,通用性好。例如采用USB接口的摄像头在一定程度上满足了实时性要求,突出了采样速率高、图像质量高、通用性好的特点。但采用这种技术的图像采集卡必须具有压缩处理,且图像大小受限制,成本随之提高。为此,本文以OmmVision公司的OV6630芯片为例,提高一种新的基于32位嵌入式系统ISA总线接口的实时图像采集技术,旨在充分利用其快速、图像质量高、成本低和通用性好的优点。 3 实时图像采集主芯片介绍 CMOS数字摄像头芯片OV6630将CCD摄像机和相应的视频A/D转换及视频输出电路集成在一个芯片上,从而在实现高保真数字图像的前提下显著地降低了成本和体积。356%26;#215;292的CCD阵列扫描输出原始的R、G、B彩色图像信号,经模拟处理电路进行曝光、校正、白电平调整等处理后,根据输出要求还要转换成YUV等移种信号输出形式,其模拟视频信号经两路8位视频A/D转换后由视频接口输出16位的YUV或RGB4:2:2格式的标准数字视频图像信号。OV6630的视频时序产生电路用于产生行同步、场同步等多种同步信号及象素时钟等多种内部时钟信号;I2C接口使外部CPU通过 I2C总线控制OV6630的各种工作状态、工作方式、数据输出格式和读取内部状态信息等。CMOS数字摄像芯片OV6630的工作时序如图1所示。 图3 图像采集卡在采集数据时的工作时序 其中,VSYNV为场同步输出脉冲,HREF为行同步输出信号,PCLK是用来锁存有效数据的时钟(当系统时钟为17.73MHz时,PCLK为 8.86MHz),即象素时钟,Y[7:0]是8位亮度数据总线,UV[7:0]为8位色度数据总线。 4 实时图像采集框图及工作原理 本图像采集模块基于Intel StrongARM SA1110 32位高端嵌入式CPU,CMOS摄像头芯片采用OmmVision的OV6630,可编程逻辑器件是Xilinx公司推出的CPLD芯片 XCR3128XL。实时图像采集模块框图如图2所示。图像采集卡由五大部分组成:CMOS摄像头电路、CPLD控制、锁存器、SRAM存储器和32位嵌入式系统总线接口。 图像采集卡的工作原理为:系统上电时,只要摄像头OV6630的电源使能信号(PWDN)为低电平,它就处于正常的工作模式,即OV6630的 Y[7:0]和UV[7:0]信号线上就会输出图像数据;接收到来自CPU的有效采集启动信号后,可编程逻辑器件CPLD会判断OV6630的场同步信号 (VSYNC)是否为1,若为1,则复位地址线,即保证地址线A[16:0]=00000000000000000,而此17位地址线直接与存储器 SRAM的地址信号线相连,选通SRAM准备存储数据。当VSYNC信号为0、行同步信号HREF为1,且象素时钟PCLK信号处上升沿时,可以使锁存允许信号为低电平,同时使锁存器的时钟信号1上产生一上升沿,将第一个象素点的数据Y[7:0]和UV[7:0]锁存进锁存器1。由于CPU采用32位的数据总线,而每个象素点的数据是16位的,所以本设计在CPLD中做一个用来指示象素奇偶的计数器,将奇数象素点的数据锁存在锁存器1中,将偶数象素点的数据锁存在锁存器2中。等到“凑齐”了32位的图像数据,再将存储器片选信号CAP_RAMCS和存储器写信号CAP_RAMWR同时拉为低电平,则32位数据就存储存储SRAM中。其仿真时序如图3所示。CPLD还完成一帧图像(352%26;#215;288或176%26;#215;144)象素点数的计数。当采集完一帧图像后,CPLD产生一中断请求信号,通知CPU可以读走数据。如果得到CPU发出的中断响应,则中断响应信号有效(低有效)。 CPLD在收到中断响应信号后,使存储器片选信号和存储器写信号同时为低电平,CPU读取数据,直到读完一帧图像数据,其仿真时序如图4所示。 图4 嵌入式32位CPU读取一帧图像数据的时序 本设计是基于32位嵌入式系统的实时图像采集,其突出的优点是:图像质量无损、实时性强、接口电路简单、可扩展性强。由于该图像采集卡体积小,可应用于可视电话、多媒体IP电话等手挂式或便携移动式图像处理设备。更重要的是它为嵌入式系统中视频图像捕获提供了另外一种新的方法。只要做一简单的接口变换电路就可以很方便地移植到不同的符合总线接口的嵌入式系统中,具有一定的应用和研究价值。