高速视频采集与拼接显示系统设计

2017-06-30 17:55张伟
科技视界 2017年5期

张伟

【摘 要】本文介绍了一种由嵌入式处理器S3C2440A、CMOS图像传感器OV7221、FIFO帧存储器AL4V8M440和FPGA构成的高速视频采集与拼接显示系统, 给出了系统的工作原理,以及软、硬件的设计和实现方法。该系统视频实时拼接速度可达30帧/秒,并通过LCD实时显示两路摄像头拼接后的视频信息,可以广泛应用于监控、安防、识别等各个领域。

【关键词】视频采集;视频拼接;高帧频;OV7221;FIFO

Design of High-Speed Video Acquisition and Stitching System

ZHANG Wei

(The 41st Institute of China Electronics Technology Group Corporation, Bengbu Anhui 233006, China)

【Abstract】A high-speed video acquisition and stitching system composed of Embedded Processor S3C2440A、CMOS image sensor OV7221、FIFO frame memory AL4V8M440 and FPGA is presented. The systems working principle, and its circuit and programming method are also described. In this system, the video stitching speed is up to 30 f/s, and can achieve real-time display the stitching video of two cameras in LCD. The system can be applied to monitoring,security and protection,identification,etc.

【Key words】Video Acquisition; Video Stitching; High frame rate; OV7221; FIFO

0 引言

随着数字视频技术的快速发展以及人们安防意识不断的增强,视频采集与拼接处理技术在通信、广播、监控、消费类电子和医疗等领域得到广泛的应用。目前成熟产品多采用基于PC机的图像采集系统,这样的采集系统成本高、携带性差、占用的资源多,很多场合应用受到了限制。本文设计了一种嵌入式视频采集与拼接显示系统,该系统具有可靠性高、速度快、成本低、体积小、功耗低和环境适应性强等优点,具有很强的现实意义和广泛的应用前景。

1 系统总体设计

本设计是通过采用S3C2440A CPU为主控芯片,包括双路OV7221图像传感器、FIFO、FPGA和LCD,可以实现视频的采集、拼接和实时显示等功能。首先以双路OV7221图像传感器采集物体信息,采集数据被送至两片大容量FIFO,通过FPGA控制FIFO的读、写和复位信号时序实现双路视频数据的拼接,拼接后的视频数据送至CPU的摄像头接口转换后通过LCD实时显示视频信息。系统总体设计如图1所示。

2 硬件组成

2.1 主控芯片选择

本系统采用三星公司的S3C2440A CPU为主控芯片, 它是一款基于ARM920T内核的16/32位的RISC嵌入式微处理器,主要面向手持设备以及高性价比、低功耗的应用,运行频率最高可达400MHz。同时还提供多种集成模块和总线接口,包括内存及LCD控制器,摄像头、IIC总线、SPI总线、USB、SD等总线接口,能够灵活地运用到不同的领域中。本系統主要用到的是该CPU的摄像头接口和LCD控制器。

2.2 视频采集模块

本系统采用OmniVision公司的CMOS图像传感器0V7221芯片采集视频信息。这是一款高灵敏度的黑白图像传感器,靶面尺寸是1/4英寸,支持640×480的分辨率,输出数据宽度是8bit,通过SCCB总线的控制,该芯片能够以子采样、窗口等方式输出各种分辨率8位影像数据,VGA模式最高输出速度可达30 f/s,用户能够自己完全控制图像质量、数据格式和传输方式,图像处理功能过程包括伽玛曲线、饱和度、白平衡、色度等都可以通过SCCB总线编程实现。

2.3 视频拼接模块

目前对于多路视频拼接技术主要采取如下方案,分离一路视频采集模块的时钟信号,对其它路视频采集模块进行外同步,并使用专用的解码芯片,以达到多路视频信号的完全同步,视频数据的随意切换、拼接。存在的缺点是控制电路庞大、时序复杂。

本系统采用一种新的视频拼接技术,采用2片大容量FIFO帧存储器,接收视频数据流。每片FIFO分别缓存2帧数据,在FPGA产生的读写控制信号控制下,两路视频交替输出,构成一幅完整的拼接视频,如图2所示。与现有技术相比具有帧速率高、图像稳定、无缝拼接的优点。

X/Y向CMOS图像传感器在FPGA提供CLK的驱动下,分别产生各自的像素时钟信号(PCLK)、行同步信号(HREF)、场同步信号(VSYNC)及8bits的视频数据输出,FPGA主要完成根据显示的不同需求(垂直/水平双显)对FIFO相关的读写控制信号进行相应的控制。

两组缓存器在FPGA输出控制信号的作用下,分别存储一路压缩的CMOS视频数据,且一帧视频数据只占据缓存的一半空间,数据的输出和存储作乒乓切换,以使视频显示流畅。在数据存储的同时将两个压缩的数据拼接成完整的一帧视频输出,同时输出行、场同步信号,乒乓切换过程如图3所示。

2.4 视频显示和VGA接口模块

本系统液晶屏尺寸是5.7英寸,型号为友达公司的G057VN01,分辨率为640×480,数据信号格式为RGB565,时钟信号包括VFRAME、VLINE、VCLK,数据使能信号DE,通过数字电位器调节LCD亮度。

本系统使用Chrontel公司的CH7005 作为VGA接口视频转换芯片。CH7005是一款高性能的模拟视频编码芯片, 内部集成了存储器、PLL、DAC、滤波器、PAL/NTSC 编码器等部件。对CH7005 芯片的控制, 则通过I2C 总线来完成,芯片工作时CPU的LCD 控制器向CH7005发送像素时钟信号, CH7005 将根据像素时钟采样数据线。同时, LCD 控制器送出行、场同步信号, 以实现视频同步。LCD和VGA接口模块原理图如图4所示。

2.5 电源电路

系統供电电源为12 V,VGA供电为5V,通过LTC1624进行必要的电源转换产生5V电源,CPU和FIFO、液晶供电电源都为3.3 V,CPU内核和FPGA内核需要1.2V,通过线性稳压芯片将5V变换产生3.3V和1.2V两路电源。系统电源电路原理图如图5所示。

3 软件总体设计

采用μC/OS-II操作系统,通过C语言编程实现达对CPU及其他电路模块的控制,包括LCD显示初始化、摄像头和VGA接口配置、FPGA加载等,利用按键选择左右拼接显示和上下拼接显示功能。软件实现功能流程如图6所示。

4 结语

本文介绍了基于S3C2440A CPU视频采集与拼接显示系统设计方案,经过调试可以在LCD上清晰观察到捕捉的图像,同时可通过VGA外接电视同步显示。本文的创新点在于:该系统有效地结合了S3C2440A CPU低成本、高性能的优点,极大地降低了成本,同时可可通过VGA同步显示视频信息,非常适合监控、安防、医疗、识别等领域使用,具有广阔的市场前景。

【参考文献】

[1]Samsung Electronics.S3C2440A 32-bit CMOS microprocessor users manual[Z].2004.

[2]OmniVision Technologies, Inc. Datasheet of OV7720/OV7221[Z].www.omnivison.com.

[3]金峰.基于FPGA的多路视频拼接系统设计[D].浙江工业大学硕士论文,2015.

[4]田泽.ARM9嵌入式开发实验与实践[M].北京:北京航空航天大学出版社,2006.

[5]宣林,胡晨.一种嵌入式平台上模拟视频模块的设计与实现[J].电子器件,2006,29(2):447-450.

[责任编辑:朱丽娜]