The design of two-channel video synchronization system based on embedded system 摘 要: 为了实现基于嵌入式系统的两路视频的同步播放控制,本文提出了根据图像内容检测达到两路视频同步播放控制的设计思想。根据该思想设计了基于FPGA的实验电路,构建了完整的系统实验硬件平台。该系统平台的建立,证明了基于嵌入式电路的以图像内容检测为手段的两路图像同步播放控制的可行性。 关键词: 同步播放、FPGA、FIFO、SDRAM Abstract: In order to implement the synchronization of two-channel video, this paper presents a general idea of frame synchronization based on the contend of the pictures and the buildup of a hardware platform. From the result the system testing , the feasibility of the control of two-channel videl synchronization based on embedded system using picture contends can be completely proved. Key words: video-synchronization、FPGA、FIFO、SDRAM 1、引言 如图1所示,两台摄像机C1、C2分别对具有部分重叠区域的景物进行拍摄。在t1时刻拍摄,得到了图像A1、B1;在下一时刻t2,得到了图像A2、B2。 在同一屏幕上重现原图像时,必须保证两个播放器依次同时播放图像A1和B1,A2和B2,以保证图像经拼接后正常显示。由于两路视频播放器各自具有独立性,因此在读取、解码等过程中都会出现不同程度的不同步。如图2所示,两路图像由于播放的不同步将发生交叠现象。因此,为了避免图像交叠现象的发生,必须对两路视频同步播放问题进行研究。 如图3所示,本系统实现两路视频信号同步播放的原理是:基于图像重叠部分的相关信息,通过一定的同步检测算法判定两路播放视频是否同步并检测出两路视频相差的帧数,再通过对播放器的调整使两路视频同步播放。
图3两路视频同步播放系统实现原理 2、硬件系统设计与搭建 已经有研究表明两路视频信号在PC机上的同步播放是可实现的,而本系统则是利用嵌入式系统来实现同步播放。接下来,本文将对基于嵌入式系统的两路视频同步播放系统的设计、搭建以及调试进行展开。 2.1 硬件系统总体设计 如图3.1所示,两路视频同步播放系统由接口电路、输入视频信号预同步电路、输入视频信号重叠区域图像采样窗电路、数据存储电路、主控运算及播放器控制电路组成。 图4硬件系统总体设计 2.2 主要硬件功能模块电路设计与测试 2.2.1 接口电路模块设计 接口1和接口2分别将两路视频信号由播放器引入后续处理模块,并将处理后的视频信号输出给显示系统。 2.2.2 预同步电路模块设计 两路输入视频信号在进行同步处理前需要首先进行缓冲,以期在同一时刻到达主控模块上一致。本系统采用两片有FPGA芯片控制的FIFO芯片分别实现两路信号的预同步功能。 本系统采用uPD42280芯片。uPD42280是容量为256kbyte*8bit (262, 224 * 8bit)的高速场存储器。CMOS动态电路实现了芯片的高速和低功耗。uPD42280O可以设置为同步或异步读写的FIFO。其中,DI0-7为数据输入,DO0-7为数据输出;/WE、/RE分别为写使能和读使能;/WRST、/RRST分别为写复位和读复位; VDD、GND分别为电源和接地。而在进行预同步处理时,两路输入的视频信号均为隔行PAL制黑白信号,其中亮度信号为8位,即每帧图像大小为702*288*8/1024/8=198Kbyte,所以uPD42280的容量足够一场图像的存储。 2.2.3重叠区域采样电路模块设计 输入视频信号重叠区域采样窗模块是由两块uPD42280芯片串联构成。通过FPGA对uPD42280芯片发出控制信号,达到对指定像素区域进行采样的目的。之所以采用两片uPD42280芯片串联是考虑到系统设定的同步范围。对于50HZ的PAL制的隔行扫描图像,每一场的采样像素点为32*32=1024个,只取其中8位Y信号,则每一场的采样数据量为28800字节。uPD42280场存储器的单片容量为256K字节,可以容纳约256场。这样采用两片串联增加了一倍的容量,采样窗的数目可以达到512场。 采样的控制时序图5所示,为了对702*288的右1/4重叠区域进行行列的均匀采样,每隔8行在后128点进行1/4clk均匀抽样,得到32点。同时,每场一共抽取32行,这样FIFO中存储数据为32*32=1024byte。而读时钟在每场的前32行,采用clk(13.5MHZ)进行连续读取。图6为一帧图像重叠区域采样的效果图。 图5 采样时序控制图 图6 图像重叠区域采样效果图 2.2.4存储器电路模块设计 在本系统中,由于需要用到大规模的图像数据存储及运算存储操作,并且考虑到系统算法的可扩展性,存储器选取了两片SDRAM芯片HY57V641620HG, 每片HY57V641620HG大小为4bank*1M*16bit。在结构设计方面,由于SDRAM不能够同时进行读写操作,与主控运算电路采取并行连接的方式。这样做的目的是可以进行SDRAM的乒乓读写操作,提高数据读取及写入的效率。 FPGA对SDRAM的初始化和fullpage模式下的读写控制的时序如图7、8、9。 主控运算电路是本系统中最重要的硬件组成部分,因为这部分电路将承担整个系统大部分控制和运算任务。这部分电路由FPGA芯片EP1C6及其附属电路组成。 EP1C6属于ALTERA公司的Cyclone系列,内含5980个逻辑单元;内部RAM大小为92160bit;支持LVTTL, LVCMOS, SSTL-2, 和SSTL-3 I/O 标准;支持66和 33-MHz, 64- and 32-bit PCI 标准;支持高速640 Mbps) LVDS I/O和低速(311 Mbps) LVDS I/O;支持311-Mbps RSDS I/O;支持外部存储器,包括DDR SDRAM (133 MHz),FCRAM, 和SDRAM;支持IP核。它具有20块M4K,可实现乘法器的数量为7。本系统采用的封装形式为240-Pin PQFP,可用的I/O口为185个。两路视频同步播放系统需要近170个I/O口、连接SDRAM和植入算法,而EP1C6可以提供足够多的逻辑单元资源。 2.2.6 电源电路模块及其他电路设计 播放器控制电路由开关芯片CD4066构成。CD4066芯片是4路双向CMOS开关电路,可用于数字和模拟信号的信号传输和复用。 主控运算电路中的Cyclone EP1C6芯片需要接3.3V和1.5V两种电压,存储器HY57V641620HG芯片需要接3.3V电压,Upd42280芯片和CD4066芯片需要接5V电压。所以在设计电源电路部分时考虑需要满足3.3V、1.5V、5V三种电压。系统选择的电源芯片为固定3.3V和1.5V两个型号的SPX1587芯片。SPX1587芯片具有静态电路低的特点,在满负载的情况下电压降仅有1.1V。 3、结论 本文作者创新点在于应用嵌入式系统解决以往使用PC机解决的视频同步播放问题。本硬件系统充分考虑到了两路视频同步播放算法的各种硬件功能需要,进行了各硬件电路模块的设计、搭建及调试。硬件平台的基本功能──显示、采样及存储器的控制均达到同步播放算法的要求。 参考文献: (1) 查蔓莉,王保明.Cyclone系列可编程逻辑器件配置实现[J].微计算机信息,2007,4-2: 226-227. (2) 温淑鸿,崔慧娟. ALTERA FPGA在微处理器系统中的在应用配置[J].电子技术应用 ,,2007年03月 . (3) 韩娟娟,邓文怡,娄小平.基于FPGA的图像预处理系统[J].今日电子,2007年02月. 作者简介:张博(1982—)男(汉族),陕西省咸阳市人,上海大学通信与信息系统专业,在读硕士,主要从事运用嵌入式系统进行数字图像处理方面的研究。 |