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

摘要:介绍了一种基于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所示。
2 系统硬件设计 2.1 i2c配置模块 adv7181b是analog公司的一款应用广泛的视频解码芯片。该芯片自动监测输入的复合视频信号,通过i2c总线配置接口,可选择图像输出方式(ntsc/pal等),本文以输出ntsc制式视频图像为例,给出了所需配置的寄存器地址和配置参数值,ntsc制式视频图像寄存器地址和配置参数值如表1所列。
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。
一行图像数据的起始/结束(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为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)为例,查找表如下:
设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的转化。
2.4 sram读写控制模块 当写入360×250的视频流数据量所需的存储空间为100kb时,由于fpga内部存储资源有限,本系统通过外部sram来存储图像数据。sram所使用的型号为is61lv25616,存储空间为256k×16位,满足图像存储需求。sram芯片工作不需要刷新,读写时序也不复杂,当向sram写入数据时先建立地址和数据,然后使能写信号wr_n,在wr_n保持一定时间后将其复位,最后释放地址总线和数据总线;当从sram中读出数据时,置wr_n为高电平,同时使能sram读出信号,并建立地址。一帧图像的偶场信号写入sram的波形如图4所示。
2.5 vga控制模块 adv7123是一个3路10位信号输入的高速d/a芯片,采样速度最高可达330mhz,可用于多种显示系统。本文采用标准的vga显示模式640 ×480@60 hz,vga水平/垂直时序参数如表4、表5所列。
vga控制模块产生adv7123的工作时序,当一帧图像的偶数场写入sram时,奇数场时间段则不再向sram中写数据,而是从sram中读出图像数据,这样即可实时传输图像。为了实现图像的完整性,640×480可显示区域为360×250,具体代码如下:
在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。
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技术,结构简单,可以灵活地根据需求配置系统,具有开发周期短、扩展性好、成本低的特点,有较高的应用价值。

5G产业基金在杭州正式成立
华为:90%机型将升级鸿蒙系统
七段数码管驱动方式_七段数码管怎么接
控制器与稳压器实例对比 简化的降压开关电源实例
神奇的石墨烯又来了:用来做音质超众的耳机
基于FPGA技术的红外实时采集系统设计
RFID用于建筑许可证申请跟踪有什么好处
Linear推出同步双输出降压型稳压器LTC3633
深入探讨DCS的应用及发展
魅蓝A6新机曝光:单摄像头+Android系统,仅售千元
无线充电器有辐射吗?无线充电器对人体辐射大吗?
硒鼓
各应用领域情况进行了详细的分析未来几年(2019-2023年)行业发展前景
简述常见SNMP故障处理方法
聚积与触控IC场义隆合作,深化Micro LED及MiniLED应用
植物冠层仪有哪些功能,它的具体作用是什么
车联网赋能自动驾驶应用于商业模式探索
亚马逊为Eero推出了两款新的订购服务,确保家庭网络更安全
RD4300Pro嵌入式二维码识读器应用到医疗自助服务终端上怎么样?
韩国电池龙头在磷酸铁锂电池技术路线上加速进军