在图画处理体系中,首要对摄像头收集的视频信号进行A/D转化,将模仿图画信号转化为数字信号,提供给后端的处理体系进行图画处理。而视频图画收集体系是多媒体信息处理、视频监控等体系的前端子体系,是视频处理体系中不行短少的部分。传统视频收集体系一般电路杂乱、本钱高,并且较难满意实时性的要求,而选用视频摄像头+视频解码器+FPGA的形式,可简化电路的杂乱性,其间视频解码器对摄像头收集的信号进行AD转化,FPGA对信号的采样进行操控。FPGA的时钟频率高、时间延迟小,能够满意实时性的要求。依据以上的长处文中选用些结构来完结视频图画的收集。
1 视频解码器SAA7113H
SAA7113H是Philips公司的一种增强型视频输入处理器,内部有一系列寄存器,寄存器的读、写经过I2C总线完结。包含一个双通道的模仿预处理电路、可编程静态增益和主动增益操控电路、时钟生成电路、数字多规范解码电路、亮度、对比度、饱和度操控电路和I2C总线操控电路。SAA7113H需外接24.576 MHz晶体,内部锁相环PLL可输出27 MHz的时钟。主动检测50 Hz和60 Hz的场频,可在PAL、NTSC两种制式之间主动转化。具有4路模仿视频信号输入,经过内部寄存器的不同装备能够完结4路信号的转化;输入能够是4路CVBS或2路Y/C信号或1路Y/C信号2路CVBS,输出为规范ITU656 YUV4:2:2格局的VPO数据总线(8-bit)。SAA7113H模仿部分和数字部分选用+3.3V,数字I/O接口兼容+5V。
2 体系总体方案及作业原理
体系选用Altera公司的CycloneⅡ系列中的EP2C20Q240C8为体系的硬件渠道,该芯片内部有18752个LE,26个乘法器和4个锁相环等。视频解码芯片选用Philips的SAA7113H。体系首要由SAA7113H图画收集接口模块、I2C总线装备模块、操控模块、像素存储模块、格局转化模块和显现接口模块组成。规划中使用VHDL言语在QuartusⅡ下进行编程和调试。体系根本结构如图1所示。
3 首要模块功用介绍
3.1 SAA7113H图画收集接口模块
该模块担任视频图画的收集并将模仿视频信号转化为数字视频信号,为后边的视频处理做准备。该模块与SAA7113H的VPO数据总线、RTS0、RTS1、及LLC相连,RTS0和RTS1别离装备为行同步和场同步信号,只要在这两个信号一同有用时,输出数据是有用图画数据,否则是消隐信号。有用的视频信号分为奇数场和偶数场,共576行有用数据,其间奇数场有用数据为23~310行,偶数场有用数据为336~623行,其他
为笔直操控信号。
SAA7113H的VP0总线输出数据的频率是27 MHz,在每个LLC的上升沿输出1 Byte有用数据。规范ITU YUV 4:2:2格局视频信号的每个像素都有各自的亮度重量Y,每两个相邻的像素共用一对的色差数据Cb和Cr。在存储像素数据时,能够为每两个接连字节表明一个像素,当需求格局转化或进行其他的处理时,要一次提取两个相邻的像素的数据,进行相应处理。其间,每行有数据864个采样点中有用数据720个,消隐期间数据144个。在完好的一帧图画数据中第一场的消隐EAV为FF 00 00 BX,第一场消隐SAV为FF 00 00 AX;第一场有用数据SAV为FF 00 00 8X,有用数据EAV为FF 00 00 9X,其他场类推。奇数场有用数据阶段的SAV为“FF 00 00 80”,偶数场有用数据阶段的SAV为“FF 00 00 C7”。在每个时钟的上升沿读取8位数据,当检测到一行数据的开端标志FF 00 00 XY时,检测到SAV或EAV信号,提取H、F、V信号。然后开端对图画数据进行解码,依据8位数据自带的信息,判别该数据是Y、Cb仍是Cr,然后得到Y、Cb、Cr各重量。
3.2 I2C总线装备模块
该模块经过I2C总线协议对SAA7113H进行装备,时钟频率为20 kHz。经过该模块完结SAA7113H装备。装备模块如图2所示。
其间,inicio_conf信号表明发动对SAA7113H进行装备,高电平有用。clk为时钟信号。reset为外部复位信号高电平有用。SCL和SDA为SAA7113H装备信号。CONFIGURACION_OK表明解码芯片装备好今后输出一个操控信号给操控模块,以发动数据收集。
SAA7113H的寄存器地址从00H开端,只要01H~05H前端输入装备部分,06H~13H、15H~17H解码部分,40H~60H惯例别离数据部分,这些可读写,其他为保存地址或只读寄存器,将需求装备的寄存器数据存在查找表con_data中,并用count表明当时对哪个寄存器装备,装备时逐一写入寄存器。
依据I2C总线数据传输的时序,总线操控器的状况机分为闲暇状况、发动状况、数据传输状况、应对状况和中止状况。Idle状况表明总线闲暇状况,SCL和SDA都为高电平,若clk=1则进入Start状况。Start状况表明总线发动,此刻坚持SCL为高电平,将SDA由高电平变为低电平,然后发动数据传输。Data_trans状况中一次传1 Byte数据。在本状况中,1 Byte数据的传输进程为将时钟线变为低电平,然后将数据放在数据线SDA上。再将时钟线变为高电平,让接纳方进行数据接纳。传输完1 Byte后进入Hold。Hold状况用来表明应对阶段,首要是发生一个时钟脉冲,让接纳方对1 Byte的数据发生应对信号。在此状况中进行对本次数据接连传送是否完毕进行判别。如未传输完则持续到Start状况进行下一次数据的传输,并将count-1。Stop状况表明数据传输完毕。在SCL高电平期间将SDA由低转为高。然后输出一个装备完结的信号。寄存器装备状况机如图3所示。
3.3 操控模块
操控模块由control_enable模块和control_interface模块组成首要担任图画收集模块和显现接口模块的同步和使能。当解码芯片装备完结后,从CONFIGURACION_OK输入使能信号,发动该模块,一同经过href和odd信号发动图画收集模块和显现接口模块,href=1表明SAA7113H经过VPO传输像素数据;odd=1表明奇数场,odd=0表明偶数场。
3.4 像素存储模块
图画的一帧为720×625提取其间的有用像素640×576存入SDRAM中,再读出480行数据进行格局转化和显现。
因为SDRAM每个单元为16位,所以将一个Y和一个Cb或Cr合存在一个地址空间中,即两个时钟周期发生一个地址。SDRAM有4端口形式,2个用于将FIFO中的数据写SDRAM,2个用于将数据读到FIFO中,读写选用的时钟不同,写时钟选用解码芯片的27MHz,而渎时钟选用VGA的25MHz,因为SDRAM的读写速度为50 MHz,时钟频率不同,不能直接写入,因而需求一个FIFO将数据暂时贮存,再将其写到SDRAM中。
此处要害问题是隔行扫描到逐行扫描的转化。SAA7113H是先奇数场后偶数场的次序输出,即隔行输出,而VGA显现是逐行显现的,因而要进行去隔行操作。使用对SDRAM的读写地址的操控能够有用处理隔行到逐行的转化问题,数据写入SDRAM是将隔行数据写入到SDRAM的0-640× 576的地址空间中,其间640×23-640×310为1、3、5、…奇数场的有用数据,640×336-640×623为2、4、6、…偶数场的有用数据。两场数据别离经过不同的FIFO读出,格局转化时穿插读取两个FIFO中的数据,这样读出的数据即1、2、3、4、…逐行数据。
3.5 格局转化模块
要将摄像头收集的图画显现在显现器上,需进行数据的格局转化,将YUV格局的数据转化成RGB格局的数据。YUV 4:2:2格局的数据两个相邻的像素共用一对Cb和Cr重量,所以在进行格局转化时要先解交错,即一次从FIFO中提取相邻的两个像素数据,将Cb和Cr各复用一次,使得YUV变成4:4:4格局,然后进行格局的转化。将转化好的数据存放在reg_RGB中,VGA显现的时分穿插读取这两个寄存器中的数据。转化公式如下所示
因为在FPGA中进行浮点运算较困难,因而可将式(1)中的各系数转化为整数在进行运算,选用将各系数扩大1 024倍的办法,得到r、g、b后再除以1 024,扩大后的公式为
依据上述公式得到r、g、b。然后将成果均右移10位完结除法运算,得到RGB值。因为r、g、b均为8位,取值规模为0~255,而运算进程较易生成负数和超越255的正数,因而运算成果需将负数取0,超越255的正数取为255。此办法虽然会引进差错,但对终究图画的显现作用不会有较大影响。
3.6 显现接口模块
由interface_vga担任图画的显现,从reg_RGB寄存器中读取转化好的数据,对这两个像素的读取由一个转化电路担任在两个寄存器之间切换。显现接口模块将r、g、b以及hsync、vsync一同发送给编码芯片THS8134,经过VGA显现出来,hsync和vsyne别离是行和场同步信号。在仿真中,选用CycloneⅡEP2C20Q240C8芯片,用QuartusⅡ8.0进行归纳与仿真。图4是对显现接口模块的仿真。由仿真成果能够看出,行同步和场同步契合时序要求。
4 完毕语
完结了一种依据CycloneII系列FPGA与视频信号处理芯片SAA7113H的嵌入式图画收集体系。体系结构简单系、统安稳、功耗低、本钱低、速度快以及接口便利,能够满意视频监控体系等的需求。图画收集体系中选用FPGA作为收集操控部分,能够进步体系处理的速度及体系的灵活性和适应性,关于不同的视频图画信号,只要在FPGA内对操控逻辑稍作修正,便可完结信号收集。