1 体系架构
红外视频监测体系的FPGA部分由5个模块组成,别离是I2C装备模块、图画收集模块、YUV2RGB模块、SRAM操控模块、VGA操控模块。装备模块经过I2C总线来对ADV7181B芯片进行装备。装备成功后,ADV7181B将发生图画收集模块所需的行场同步信号,并将红外摄像头输入的复合视频信号转化为规范的NTSC/PAL制式,输入到图画收集模块;图画收集模块用来提取YUV(BT656)图画中的有用数据;YUV2RGB模块将YUV图画数据转化为RGB格局以供VGA显现;VGA操控模块用来发生D/A芯片(ADV7123)作业的同步信号、图画数据,以及操控图画数据从SRAM中读出。红外视频监测体系框图如图1所示。
2 体系硬件规划
2.1 I2C装备模块
ADV7181B是Analog公司的一款运用广泛的视频解码芯片。该芯片主动监测输入的复合视频信号,经过I2C总线装备接口,可选择图画输出方法(NTSC/PAL等),本文以输出NTSC制式视频图画为例,给出了所需装备的寄存器地址和装备参数值,NTSC制式视频图画寄存器地址和装备参数值如表1所列。
图1 红外视频监测体系结构框图
表1 NTSC制式视频图画寄存器地址和装备参数值(十六进制)
表2 从器材读写地址
ADV7181B芯片作为I2C总线通讯的从器材,其ALSB引脚电平的凹凸所对应的器材地址是不同的,从器材读写地址如表2所列,本体系将ALSB引脚接地,写地址设置为0x40,一切地址代码用十六进制表明。
2.2 图画收集模块
NTSC默许输出的图画为奇偶场替换输出,数据信号和行场同步信号时序联系如图2所示。奇偶场别离有253有用行,本文获取其偶数场图画用于传输和显现。BT.656界说了一个并行的硬件接口,传输的视频图画格局为YCbCr 4:2:2(Y为亮度信号,Cb、Cr别离为蓝色信号重量和赤色信号重量)。一行图画数据的有用像素为720,一个像素占用两个字节,格局为CbYCrYCbYCrY。本文选用每两个像素即每输出CbYCrY获取一组CbYCr,这一组数据经过移位寄存器得到3路8位的并行数据送入YUV2RGB模块,此刻有用像素被压缩成360个。720×525的图画数据经过本模块的收集,可传送的有用像素为360×253。
图2 数据信号和行场同步信号时序联系
图3 图画数据收集时序
一行图画数据的开端/完毕(SAV/EAV)和地点数据帧的方位是依据BT656图画格局(即依据检测到的ADV7181B输出数据序列“FF,00,00,xy”)来判别的。奇数场的有用行开端时xy为0xC7,完毕时xy为0xDA;偶数场的有用行开端时xy为0x80,完毕时xy为0x9D。xy各位意义如表3所列。最高位bit7为固定数据1,F=0表明偶数场,F=1表明奇数场;V=0表明该行为有用视频数据,V=1表明该行无有用视频数据;H=0表明为SAV信号(行开端),H=1表明为EAV信号(行完毕);低4位为维护信号。
表3 xy字节各位意义
图3为SignaltapII观测到的图画数据收集时序。hactive_even高电平期间为有用图画数据收集阶段,yuv_din为从ADV7181B输出的8位并行图画数据,当“FF 00 00 80”到来时,开端收集偶数场图画的一行有用像素,其间黑线分隔的reg1、reg2、reg3为提取的3路行将送入RGB转化模块的图画数据。
2.3 YUV2RGB转化模块
VGA显现器所需的图画数据为RGB格局,所以需求对YCrCb进行转化,转化公式如下:
R=1.164(Y-16)+1.596(Cr-128)(1)
G=1.164(Y-16)-0.813(Cr-128)
-0.392(Cb-128)(2)
B=1.164(Y-16)+2.017(Cb-128)(3)
浮点运算需求很多的FPGA资源,从而影响体系功能,本体系选用查找表来简少FPGA运算量,将上式中5个不同的系数重量别离编写查找表。为进一步简化运算将(1)式两头乘以2,以式(1)为例,查找表如下:
always @ (in)
case(in)
d0:out = 10d0;
d1:out = 10d3;
d2:out = 10d6;
d3:out = 10d10;
d4:out = 10d13;
d5:out = 10d16;
……
设a=2×1.164Y,b=2×1.596Cr式(1)简化为:2R=a+b-446。若(a+b)>446,则R重量值为(a+b-446)/2;若(a+b)446,则R重量值为0。
同理可算出G、B重量,即完成了YCrCb到RGB的转化。因为SRAM数据线为16位,各取3路8位RGB重量的R信号(5位),G信号(6位),B信号(5位)写入SRAM。当RGB_wrdata为非零图画数据时,将其写入SRAM即完成了分辩率由720×525向360×250的转化。
2.4 SRAM读写操控模块
当写入360×250的视频流数据量所需的存储空间为100 KB时,因为FPGA内部存储资源有限,本体系经过外部SRAM来存储图画数据。SRAM所运用的型号为IS61LV25616,存储空间为256K×16位,满意图画存储需求。SRAM芯片作业不需求改写,读写时序也不杂乱,当向SRAM写入数据时先树立地址和数据,然后使能写信号wr_n,在wr_n坚持必定时刻后将其复位,最终开释地址总线和数据总线;当从SRAM中读出数据时,置wr_n为高电平,一起使能SRAM读出信号,并树立地址。一帧图画的偶场信号写入SRAM的波形如图4所示。
图4 一帧图画的偶场信号写入SRAM的波形
2.5 VGA操控模块
ADV7123是一个3路10位信号输入的高速D/A芯片,采样速度最高可达330 MHz,可用于多种显现体系。本文选用规范的VGA显现形式640×480@60 Hz,VGA水平/笔直时序参数如表4、表5所列。
表4 VGA水平时序参数
表5 VGA笔直时序参数
VGA操控模块发生ADV7123的作业时序,当一帧图画的偶数场写入SRAM时,奇数场时刻段则不再向SRAM中写数据,而是从SRAM中读出图画数据,这样即可实时传输图画。为了完成图画的完整性,640×480可显现区域为360×250,详细代码如下:
if(odd_period)//奇数场
begin
if(V_Cont>=Y_START V_ContY_START+250)//Y_START为图画场消隐区
begin
if(H_Cont>=X_START H_ContX_START+360 )//X_START为图画行消隐区
sram_rd_addr=sram_rd_addr+18b1;//SRAM数据读出地址
else
sram_rd_addr=sram_rd_addr;
end
在VGA的有用显现区域内,将SRAM读使能,地址自增,即可将图画信号从SRAM中读出。读出的16位数据中,高5位为R信号重量,中心6位为G信号重量,低5位为B信号重量;将这3个重量赋给各自色彩重量的最高位,低位补零即得到VGA作业的RGB信号输出。图5为奇数场SRAM读出地址时序。VGA操控模块从SRAM中将图画波形读出,rd_period为高电平时读出一帧图画的偶数场,sram_rd_addr规模为0~360×250。
图5 奇数场SRAM读出地址时序
3 硬件规划及试验成果
3.1 硬件规划
FPGA芯片选用Altera公司Cyclone II系列的EP2C35F484C6,它具有较高的性价比,内部有33 216个逻辑单元,322个外部引脚、4个PLL、66个M4K RAM块、8个I/O BANK。作业需求1.2 V电压和3.3 V的I/O电平。本体系选用的芯片封装为FBGA,PCB制板选用的是4层电路板。因为板子上运用了A/D、D/A数模混合信号的芯片,要使电路板到达好的功能,就需求严厉的恪守PCB布板规矩:
① 模仿复合视频信号输入到ADV7181B的走线要尽或许短,数据线和时钟线也要尽或许短。
② 在电源引脚邻近增加去耦电容,滤波%&&&&&%。
③ 对芯片的每个电源(AVDD、DVDD、DVDDIO、PVDD)分隔供电。
④ 分隔数字部分和模仿部分,数字地和模仿地经过单点衔接。
3.2 试验成果
将规划调试好的PCB电路板,接上电源、NTSC制式红外摄像头和VGA显现器进行联调,红外图画实时显现杰出,试验成果如图6所示。调试成果证明了该图画收集体系规划的正确性。
结语
试验成果表明,该红外实时收集体系作业安稳。该体系依据FPGA技能,结构简略,能够灵敏地依据需求装备体系,具有开发周期短、扩展性好、成本低的特色,有较高的运用价值。
图6 试验成果