基于32位嵌入式系统的实时图像采集模块
图3 图像采集卡在采集数据时的工作时序
其中,VSYNV为场同步输出脉冲,HREF为行同步输出信号,PCLK是用来锁存有效数据的时钟(当系统时钟为17.7
3MHz时,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×288或176×144)象素点数的计数。当采集完一帧图像后,CPLD产生一中断请求信号,通知CPU可以读走数据。如果得到CPU发出的中断响应,则中断响应信号有效(低有效)。CPLD在收到中断响应信号后,使存储器片选信号和存储器写信号同时为低电平,CPU读取数据,直到读完一帧图像数据,其仿真时序如图4所示。
图4 嵌入式32位CPU读取一帧图像数据的时序
本设计是基于32位嵌入式系统的实时图像采集,其突出的优点是:图像质量无损、实时性强、接口电路简单、可扩展性强。由于该图像采集卡体积小,可应用于可视电话、多媒体IP电话等手挂式或便携移动式图像处理设备。更重要的是它为嵌入式系统中视频图像捕获提供了另外一种新的方法。只要做一简单的接口变换电路就可以很方便地移植到不同的符合总线接口的嵌入式系统中,具有一定的应用和研究价值。
《基于32位嵌入式系统的实时图像采集模块(第2页)》