交通信息与安全 2009年第4期 第27卷 总150期
基于FPGA的图像采集及VGA显示3
郑 容 朱宏辉
(武汉理工大学物流工程学院 武汉430063)
摘 要 根据汽车自动防撞系统前端图像采集模块对实时性处理要求高的特点,提出了1种基于
FPGA的图像采集及VGA显示系统的设计方案。系统中FPGA主要完成对AD芯片的配置,从数字
图像信号中提取时序信息和亮度信号,实现去隔行操作以及产生标准的VGA时序等。实验表明,该方案在满足图像质量要求的同时,较好地兼顾了实时性需求。关键词 FPGA;NIOSII;图像采集;VGA
中图分类号:TP274 文献标志码:A DOI:10.3963/j.ISSN167424861.2009.04.036
随着汽车工业的发展,汽车安全性技术的研
究已由被动式安全技术发展到主动式安全技术,“汽车自动防撞系统”正是当前主动式安全技术的研究热点。
作为汽车自动防撞系统的前端图像采集模块,需对采集到的图像数据进行实时处理,其特点是数据量大,实时性要求高。嵌入式技术的发展为解决上述难题提供了重要的技术支持。目前,嵌入式数字图像处理技术主要有基于专用芯片、基于DSP和基于FPGA3种处理方式[1]。基于专用芯征方式的灵活性和系统可更改性差,不适合前期未成熟产品的开发工作。基于DSP的方式在吞吐量,运行速度,系统结构的可重配性,功能升级等方面存在约束,也不适合用在前端图像采集系统中。基于FPGA的方式除了FPGA芯片本身的灵活性外,还有以下几点优势:
(1)FPGA单片逻辑门数越来越多,内嵌功能越来越强,体积越来越小;
(2)FPGA有完整的多平台设计环境,还可以利用第三方的综合、仿真工具;
(3)QuartusⅡ的设计方法十分灵活,支持多种编辑方式,具备LPM模块,可调用SOPCBuilder完成Nios系统的配置、生成,还提供了Nios系统的软件开发环境;
(4)可进行静态重复编程和动态在系统重配;
(5)可在FPGA内部生成外围器件连接模
性[223]。
系统总体方案系统采用Altera公司的CycloneII系列FP2GA(EP2C20Q240C8)作为主控制器,该芯片具有18752个LE,240kB的内部RAM容量,26个内嵌乘法器单元,4个模拟锁相环等[4],广泛应用于汽车电子、消费电子、音/视频处理、通信以及测试测量等终端产品市场。系统还包括:32MBSDRAM,4MBNORFLASH,一路调试用串口,视频AD+DA,以及40芯扩展DSP接口等,硬件结构如图1所示。
图1 系统硬件结构
系统通过CCD摄像头获取外界图像信号,经
视频AD芯片转换成数字信号后输出至FPGA中。在FPGA中构建了AD接口模块、去隔行模块、VGA显示模块和NIOSII处理器模块,其中AD接口模块完成从接收到的图像数据中提取有效的亮度信号和时序控制信息,供后续模块使用;去隔行模块完成将摄像头输出的隔行图像数据按
块,简化外围器件的电路和功能,提高电路的稳定
收稿日期:2008212215 修回日期:2009206223
3国家自然科学基金项目(批准号:50878132)、住房和城乡建设部2008年科学技术项目(批准号:20082K922)资助
作者简介:郑 容(1982),硕士研究生.研究方向:智能控制与嵌入式系统.E2mail:zrynn@163.com
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
基于FPGA的图像采集及VGA显示———郑 容 朱宏辉155
NIOS处理器添加2个双向的IO口(分别用来模
拟SDA和SCL),然后利用NIOSIIIDE中自带
照一定的算法转换成逐行输出的图像格式;VGA显示模块完成标准VGA(640×480,60Hz)时序信号输出以及与视频DA芯片的连接;系统中各模块的控制及外部芯片的初始化均由NIOS处理器模块实现。
的底层驱动来对它们进行操作,比如需要通过SDA引脚向外部写’1’,可以采用如下的语句[6]:
IOWR_ALTERA_AVALON_PIO_DIRECTION(SDA_BASE,0x0);
IOWR_ALTERA_AVALON_PIO_DATA(SDA_BASE,0x1);
各模块的具体实现
2.1 视频AD接口模块
本系统使用的视频解码芯片为菲利普公司的
SAA7113,它是1种集成了解码、采样和量化于一体,并且支持隔行扫描、多种数据输出格式的视频解码器,内置了A/D转换电路、预处理电路及I2C(inter2integratedcircuit)接口[5],通过I2C接口对内部寄存器进行配置,即可实现对芯片内部电路的控制。
SAA7113在工作之前需通过I2C总线对其内部寄存器进行配置,系统中采用NIOS处理器来模拟I2C时序。首先通过SOPCBuilder为该地 址
0~1515~3132~4748~6364~7980~9596~127
00H38H00H00H02HFFH
08H0CH00H00HFFHFFH
C0HE8H00H00HFFHFFH
33H00H00H00HFFHFFH
00H00H00H00HFFHFFH
00H00H00H00HFFHFFH
E0H00H00H00HFFHFFH
在上述函数中,SDA_BASE为对应于SDA引脚的寄存器,第1条语句的作用是将SDA引脚设置为输出模式,第2条语句的作用是将SDA引脚置为“1”。如果要从SDA引脚读入数据,必须首先将SDA引脚设置为输入模式。
本系统中,CCD摄像机输出的是NTSC信号,因此,在配置SAA7113时应按照NTSC制式进行配置,否则可能工作不正常。表1为本系统中SAA7113的寄存器配置值。
SAA7113配置完成后,输出位宽为8bit的
配置值
0DH00H00H00HFFHFFH
B8H00H00H00HFFH00H
01H00H00H00HFFH00H
80H00H00H00HFFH0AH
47H00H00H00HFFH80H
40H00H00H00HFFH00H
00H00H00H00HFFH00H
01H00H00H00HFFH00H
2AH00H00H00HFFH00H
表1 SAA7113各寄存器配置值
保留,无需配置
YUV4:2:2格式的视频信号,前8位输出亮度信2.2 去隔行操作
SAA7113是按照先奇场后偶场的顺序输出
号,后8位输出色度信号。当输入视频信号为NTSC制式时,SAA7113输出30帧/s图像,每帧
的,即隔行输出,而本系统采用VGA显示,因此需要进行去隔行操作。目前普遍采用的去隔行算法主要有组合帧法、帧内行平均法、修正沿自适应法和运动补偿法4种算法。组合帧法是将隔行扫描的奇偶场信号直接拼接,以2倍场频输出。这种方法未对数据进行复杂的处理,容易实现,对静态图像处理较好;帧内平均法是对同一场的上下2行求平均值的方法来计算插值,达到去隔行的
图像按照先奇行后偶行的顺序传输。SAA7113的时序信息由4B组成,即“FF00003”。其中3为时序控制字,具体含义如表2所示。
表2 SAA7113时序控制字
bit位
7
6
5
4
3
2
1
0
含义
固定1:偶场1:场消隐1:行消隐
为“1”0:奇场0:有效数据0:行有效
保留,不应赋值
该控制字是判断行、场同步信号和有效数据的依据,必须准确检测出这个控制字,方法是:在时钟的上升沿对SAA7113输出的VPO数据进行采样,当连续采到的3个B为“FF0000”时,即可判断下一个B为时序控制字,然后根据下一个采到的数据判断出当前帧的状态,并输出给后续模块。后续模块根据各控制位的电平及跳变情况确定后面各控制信号的转换。
目的,这种去隔行算法实现比较方便,但对画面清晰度损伤较大,会导致锯齿状边沿的产生;修正沿自适应法利用沿的方向相关性对图像进行去隔行,这种算法可以消除图像的锯齿状沿,但在画面细节的显示方面略有不足;运动补偿滤波算法去隔行效果较好,但算法复杂。
本系统主要用于采集高速运动的画面,后期还要完成各种图像的识别,因此对算法的要求是:
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
156
交通信息与安全 2009年第4期 第27卷 总150期
去隔行后的图像不应出现虚影和错位,且物体的
边缘不出现锯齿状沿。综合分析各算法的优缺点和实现的难易程度,决定采用修正沿自适应法来进行去隔行处理。
修正沿自适应算法的思想是利用相邻行像素点的方向相关性来计算插值。图2给出了利用像素点之间的方向性来计算像素点插值的示意图:
2.3 VGA显示
本系统采用高速、高精度视频DAC芯片CS7123完成图像数据的数模转换。该芯片内部包括3路10位电流导引(currentsteering)结构的DAC,最大采样速度240MHz,是1个3路高速数模转换器的单片集成电路。对于VGA显示器而言,当输入的R、G、B信号相等时显示图像为灰度图像,因此,本系统将处理后的亮度数字信号同时输出给CS7123的R、G和B接口,即可在显示器上显示出灰度图像。
标准的VGA时序如图4和图5所示[6]。图中Ta时间段为同步脉冲,Tb、Tc、Te和Tf为消隐期,Td为信号有效期,时序驱动在VGA图像显示设计中尤为重要,稍有偏差,则显示不正常,甚至会损坏显示器,因此应严格按照VGA的扫描时序进地设计。图2 修正沿自适应算法示意图
图中:Yi=|Y(k-1,n-2+i)-Y(k+1,n+2-i)|(i=0,1,2,3,4),分别表示以Y(k,n)为中点
的对角线上像素点上的亮度之差。其中亮度之差最小的对角线表示具有最强的方向性。当插值最小的对角线确定后,插值就在该对角线方向上进行。即如果Yi最小,则:Y(k,n)=(|Y(k-1,n-2+i)+
Y(k+1,n+2-i)|)/2 为实现上述算法,按照图3所示的框图完成了相应代码的编写。
行同步头
对应位置时间(Pixels)
Tf
Ta
Tb
Tc
行图像
Td
Te
行周期
Tg
8964086408800
图4 行扫描时序图及要求(单位:像素)
行同步头行图像
Tb
Tc
Td
Te
行周期
Tg
图3 算法框图
对应位置时间(Pixels)
TfTa
由于从隔行向逐行转变后,数据量提高了1
倍,相应的时钟频率也需要提高,首先通过1个FIFO将原始隔行数据的速率从13.5M/s提升至25M/s,然后将该数据送至FIFO1,当FIFO1完成1行数据的存储后,内部逻辑即开始从FIFO1中读取数据送至FIFO2,同时从FIFO2中读取上1行的第1个数据,一路直接通过二选一MUX输出,一路与FIFO1中的第1个数据一同送至插值运算模块,插值运算模块即可算出第1个插值,然后存于FIFO3中待输出。当FIFO2中的数据输出完毕后,FIFO3中也已存满1行经插值运算得到的值,此时二选一MUX选择FIFO3作为输出,如此往复,即可完成逐行数据输出。
222584808525
图5 场扫描时序图及要求(单位:像素)
实验结果与分析
图6(a)为系统的输入图像,(b)为去隔行处
理后的输出图像。对比可知,采用修正沿自适应算法产生的插值与实际图像数据拟合较好,处理后图像边缘清晰,无锯齿状沿,无错位得。在进行插值运算之前,需预存2行图像数据,待处理完后才会连续输出,因此输出图像滞后于输入图像2行像素点对应的时间(约0.14ms),可以满足实时性显示要示,插值后图像素点个数由640×240提升为640×480,图像帧频提高了1倍,显著降低了画面的抖动。
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
基于FPGA的图像采集及VGA显示———郑 容 朱宏辉157
取得较好的效果,后期将进一步研究基于FPGA
内部逻辑结构的数字图像处理实用算法。
参考文献
[1] 潘 松,黄继业,王国栋.现代DSP技术[M].西安:
西安电子科技大学出版社,2003
图6 实验结果对比图
[2] 闻见明.FPGA芯片在视频图像实时处理中的应用
[J].警察技术,1994(3):10211
[3] 张志刚.FPGA与SOPC设计教程—DE2实践[M].
结束语
本系统集成了前端采集,中间处理和后续显
示功能模块,充分利用了FPGA的逻辑资源和NIOSII处理器的强大功能,较好地实现了预期目标。和同类系统相比,具有开发时间短、程序可移植性强和成本低等优势。该系统作为汽车自动防撞系统的一部分,在图像采集及预处理方面已经
西安:西安电子科技大学出版社,2007
[4] 孔祥刚,诸 静,阳 涛.SAA7113H在视频采集接
口设计中的应用[J].电子技术,2003(12):26228
[5] 潘 松,黄继业,曾 毓.SOPC技术实用教程[M].
北京:清华大学出版社,2004[6] 潘 松,黄继业.EDA技术实用教程[M].北京:科
学出版社,2004ImageAcquisitionandVGADisplayControllerBasedonFPGA
ZHENGRong ZHUHonghui
(SchoolofLogisticsEngineering,WuhanUniversityofTechnology,Wuhan430063,China)
Abstract:AnimageacquisitionandVGAdisplaysystembasedonFPGAwaspresentedaccordingtothereal2time
processingrequirementsfortheautomaticcollisionavoidancesystem.Inthissystem,themaintasksoftheFPGAareto
configuretheperipheralchips,extracttiminginformationandbrightnesssignalfromthereceiveddata,deinterlaceandgeneratestandardVGAtiming.Theexperimentalresultsdemonstratethatthismethodisfeasible.
Keywords:FPGA;NIOSII;imageacquisition;VGA(上接第153页)
[5] 黃铁生.大岛大桥钢箱梁设计概要[J].国外桥梁,
1994(2):932101
[6] 李传习,王 俊,董创文,等.联合Ansys与Matlab
规范[S].北京:人民交通出版社,1986
[9] 交通部.JTGD60-2004公路桥涵设计通用规范
[S].北京:人民交通出版社,2004
[10] 交通部.公路悬索桥设计规范(报批稿)[S].JTJ
xxx-2002,北京:人民交通出版社,2002
[11] 大治一,大川宗男.長大斜長鋼床版の圧縮+度の
进行钢箱梁顶推施工过程仿真优化[J].交通与计算机,2008(6):1362142
[7] 泰州通道施工图设计项目组主梁小组,泰州大桥悬
索桥钢箱梁有限元计算书[Z].2007
[8] 交通部.JTJ025-86公路桥涵钢结构及木结构设计
評価[J].本四技報,1996,20(4):78
ApplicationofCAEinSteelBoxGirdersDesignofTaizhouBridge
ZHENGBenhui
(ArchitecturalDesignandResearchInstitute(Group)CO.,LTD,
TongjiUniversity,Shanghai200092,China)
1080mspanAbstract:TaizhouBridgeonChangjiangriverisanimportantgroundanchorsuspensionbridgewith2×
inJiangsuprovince.Itisthelargestthree2towertwo2spanbridgeintheworld.Thedesignofthesteelboxgirdersisanimportantpartoftheproject.ThestructurewasdeignedbyfiniteelementanalysisofComputerAidedEngineering.Thus,thevaliddesignandbeststeeldosagewereobtained.Eventuallythesteelindicatorofthegirdersis425kg/m2.
Keywords:CAE;Taizhou;steelboxgirder;finiteelement;suspensionbridge
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
因篇幅问题不能全部显示,请点此查看更多更全内容