基于FPGA技术的红外实时采集系统设计

基于FPGA技术的红外实时采集系统设计,第1张

摘要:介绍了一种基于FPGA技术的红外视频采集系统组成架构,给出了各功能模块的实现方法,包括主要的HDL代码、SignaltapII波形以及QuartusII顶层原理,并制作电路板进行调试,最终的红外图像通过VGA实时显示。结果表明该系统能充分利用FPGA技术的优势,具有扩展性好、控制灵活、开发周期短等特点。

1 系统架构

红外视频监测系统的FPGA部分由5个模块组成,分别是I2C配置模块、图像采集模块、YUV2RGB模块、SRAM控制模块、VGA控制模块。配置模块通过I2C总线来对ADV7181B芯片进行配置。配置成功后,ADV7181B将产生图像采集模块所需的行场同步信号,并将红外摄像头输入的复合视频信号转化为标准的NTSC/PAL制式,输入到图像采集模块;图像采集模块用来提取YUV(BT656)图像中的有效数据;YUV2RGB模块将YUV图像数据转化为RGB格式以供VGA显示;VGA控制模块用来产生D/A芯片(ADV7123)工作的同步信号、图像数据,以及控制图像数据从SRAM中读出。红外视频监测系统框图如图1所示。

基于FPGA技术的红外实时采集系统设计,一种基于FPGA的红外视频采集系统设计,第2张

 

2 系统硬件设计 2.1 I2C配置模块

ADV7181B是Analog公司的一款应用广泛的视频解码芯片。该芯片自动监测输入的复合视频信号,通过I2C总线配置接口,可选择图像输出方式(NTSC/PAL等),本文以输出NTSC制式视频图像为例,给出了所需配置的寄存器地址和配置参数值,NTSC制式视频图像寄存器地址和配置参数值如表1所列。

基于FPGA技术的红外实时采集系统设计,一种基于FPGA的红外视频采集系统设计,第3张

ADV7181B芯片作为I2C总线通信的从器件,其ALSB引脚电平的高低所对应的器件地址是不同的,从器件读写地址如表2所列,本系统将ALSB引脚接地,写地址设置为0x40,所有地址代码用十六进制表示。

基于FPGA技术的红外实时采集系统设计,一种基于FPGA的红外视频采集系统设计,第4张

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。

基于FPGA技术的红外实时采集系统设计,一种基于FPGA的红外视频采集系统设计,第5张

一行图像数据的起始/结束(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位为保护信号。

基于FPGA技术的红外实时采集系统设计,一种基于FPGA的红外视频采集系统设计,第6张

图3为SignaltapII观测到的图像数据采集时序。hacTIve_even高电平期间为有效图像数据采集阶段,yuvdin为从ADV7181B输出的8位并行图像数据.当“FF 0000 ε0”到来时,开始采集偶数场图像的一行有效像素,其中黑线分隔的reg1、reg2、reg3为提取的3路即将送入RGB转化模块的图像数据。

2.3 YUV2RGB转化模块

VGA显示器所需的图像数据为RGB格式,所以需要对YCrCb进行转化,转化公式如下:
R=1.1 64(Y-16)+1.596(Cr-128) (1)
G=1.164(Y-16)-0.81 3(Cr-128)-0.392(Cb-128) (2)
B=1.1 64(Y-16)+2.017(Cb-128) (3)
浮点运算需要大量的FPGA资源,进而影响系统性能,本系统采用查找表来简少FPGA运算量,将上式中5个不同的系数分量分别编写查找表。为进一步简化运算将(1)式两边乘以2,以式(1)为例,查找表如下:

基于FPGA技术的红外实时采集系统设计,一种基于FPGA的红外视频采集系统设计,第7张

设a=2×1.1 64Y.b=2×1.596Cr式(1)简化为:2R=a+b-446。若(a+b)>446,则R分量值为(a+b446)/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的转化。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2619667.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-10
下一篇 2022-08-10

发表评论

登录后才能评论

评论列表(0条)

保存