(海华电子企业(中国)有限公司510656)
摘要:为满足目前监控船舶电子海图、雷达等高分辨率图像的需求,提出并实现了采用以FPGA为核心进行图像采集、处理的系统。系统采用了Altera公司的CycloneIVFPGA为核心,通过ADI公司的图像解码芯片ADV7604完成对模拟VGA信号的采集。FPGA完成对ADC芯片的控制,数字图像存储、压缩及传输处理等。经过相关软硬件测试,本系统可以满足对1600×1200@60Hz高分辨率VGA图像的采集与处理,且效果良好。
关键词:图像采集;FPGA;ADV7604;数字图像处理
引言
随着计算机技术的日益发展,图像应用愈加广泛,并已经成为工程学、计算机科学、信息科学、物理学、化学等领域各个学科之间学习和研究的对象。与此同时,FPGA因其高性能、高灵活性以及低开发成本等优点,在通信、医疗、计算机、电力等各个领域得到广泛应用,同样,该CPU也非常适合视频和图像处理应用。因此,针对目前船舶电子海图以及导航雷达监控的需要,采用了FPGA作为核心CPU进行图像采集处理。
FPGA图像采集系统设计的总体结构
如图1所示,外部输入VGA模拟图像,经过图像采集芯片ADV7604转化为数字图像之后送入FPGA,FPGA从中提取出有效的图像数据,并将其进行图像抽取、压缩等处理,DDR2SDRAM完成对大数据量图像数据的缓存,待图像处理算法完成后,按照规定好的通信协议打包,通过以太网送到外部主机单元,做进一步处理。在上述图像采集处理过程中,FPGA主要完成了以下工作:1)对ADC芯片进行上电初始化工作;2)完成对数字图像的抽取;3)完成对图像的压缩、去噪等算法处理;4)完成对DDR2SDRAM存储器的缓存控制;5)完成对PHY芯片的控制,图像数据打包发送工作。
图像采集单元硬件平台设计
硬件平台采用了Altera公司的第四代CycloneFPGA,该系列FPGA因其较高的信价比而被采用,无论其工艺、性能、成本以及货期都满足要求;ADC图像采集芯片选用了ADI公司的ADV7604芯片,该芯片工作温度范围-40℃~70℃,能够采集1600×1200@60HZ分辨率的VGA图像。电路设计软件采用了AltiumDesigner09开发工具。该硬件平台采用了8层电路板设计,PCB设计时对信号的阻抗进行了控制。部分原理图及PCB版图如图2~6所示。
图像采集软件系统设计
图像采集软件系统框图如下图7所示。
图7.像采集软件系统框图
1)FPGA通过I2C协议完成对ADV7604的配置
ADV7604部分寄存器参数配置及说明
400C42;PoweruppartandPowerdownVDP
400016;VID_STD=00111bforautographicsmode
400182;EnableSimultaneousMode,Prim_Mode=0010bforGR
4002F2;AutoCSC,RGBOut
400342;36BitSDR
400528;TURNOFFEAV&SAVCODES&EnableFreerun
4006A7;invertHsandVSforcompliancetospecandInvLLC
400B44;PowerdownESDPblock
40147F;Drivestrengthadjustment
401590;DisableTristateofPinsexceptforAudiopins
403360;LLCDLLMuxEnable
443E04;EnablegaincontrolforCP
44405C;AdjustCPgainforPGAgainof1.4
446930;EnableCPCSC
ADV7604是一款高质量、单芯片、多格式视频及图像数字化仪,并集成4:1路高清HDMI接口。该器件含有一个主分量处理器(CP),可处理YPrPb和RGB分量格式,包括RGB图形。CP还处理来自HDMI接收器的视频信号。ADV7604支持四路HDMI和模拟输入模式,因而同时具有HDMI和模拟视频同步处理能力,允许HDMI与ADC之间进行快速切换。ADV7604支持将RGB/YPrPb分量视频信号解码为数字YCrCb或RGB像素输出流。在配置过程中,按照表1,通过I2C总线接口将其配置为标准的YCrCb4:2:2格式的数字图像。对其ADV7604的配置,只需要将数据写入ADV7604的寄存器,所以I2C控制器只需实现I2C写数据控制。整个功能由两个子模块完成。一个用来产生I2C总线时序I2C_CTR:在SCL为高电平,SDA由高电平向低电平跳变时启动传送数据,I2C控制器每次传输24bit数据,先是8位从设备地址slave_addr,接下来8位是从设备地址sub_addr,最后8位是数据,然后产生停止信号结束本次操作,准备下一次通信。另外一个子模块i2c_config用来产生需要配的寄存器的地址和配置参数。
对ADV7604配置完成以后,采用SignalTapII对其进行分析,采集到的波形如图所示。
图8.ADV7604接口配置时序图
2)有效图像数据的采集与存储
YCrCb4:2:2图像数据流可以从ADC采集芯片解码出的原始数字图像流中提取出来,由于ADV7604输出的数据流满足ITU656标准协议格式,就可以从中根据原始数据的开始SAV和结束EAV两种定时基准信号进行分流出有效数据。这两种基准定时信号都由4个字节的序列组成,其中前三个字节分别为FF、00和00,第4个字节表示该行位于整个数据帧的位置如何以及如何区分SAV和EAV。所以只要能够正确的检测到有效开始信号SAV和有效图像数据结束信号EAV就可以确定整个数据帧的位置。设计过程中可以采用计数器进行读数,完成对有效图像数据的提取。利用SignalTapII对图像数据进行采集如图所示。从图11中可以看到,已经正确的采集到图像数据且已经分离出了有效图像数据。
图9.ADV7604输出的数字图像信号
由于对高分辨率图像进行采集,像素时钟较高,图像数据流数据量很大,所以需要高速大容量存储器作为图像数据缓存。而SDRAM具有容量大、价格低廉等优点,因此经常被在图像及视频处理中。本系统经过SigaltapII采集的读写DDR2SDARM时序如图12所示。
图11.采集系统图片显示
结论
本系统由于在设计阶段进行了大量细致的工作,包括对方案设计、原理图及PCB设计,最终完成了软硬件设计。整个图像采集系统工作正常,图像采集、处理结果均满足设计要求。应该来说,利用FPGA作为核心CPU进行图像采集数据系统的开发加快了项目设计的进度,并降低设计成本,同时方便产品功能扩展、升级,产品生命周期更长。
参考文献
[1]眭世晨.基于FPGA的高清视频解码系统控制模块设计.南京大学,2008.
[2]张林.FPGA图像采集系统在视频输出测试系统中的应用.《宜春学院学报》,第33卷.第12期.
[3]唐晓燕.基于SOPC的图像采集和处理系统的设计与实现.华北电力大学,2007.