原创性声明郑重声明:此篇题为《基于FPGA的数字视频转换接口的设计与实现》的论文,是作者在导师的指导下,于武汉大学攻读硕士学位期间,进行研究工作所取得的成果。根据作者所知,论文中除了参考文献列举的地方外,不包含其他人已经发表或撰写过的研究成果。本声明的一切法律结果由本文作者承担。作者签名:赵东方李雄于心亮程方敏导师签名:黄启俊常胜撰写日期:二零零七年八月二十四日基于FPGA的数字视频转换接口的设计与实现作者:赵东方李雄于心亮程方敏导师:黄启俊常胜(武汉大学物理科学与技术学院电子科技系,武汉,430072)摘要:本设计针对MT9M111这款数字图像传感器,采用Altera公司Cyclone系列的FPGA作为主控芯片,实现了对图像传感器输出的ITU-RBT.656视频数据的采集,色彩空间转换,以及在DVI-I显示器上显示的全过程。通过本设计,图像能够以1280×960(60Hz)和1280×1024(60Hz)两种显示格式在DVI-I显示器上显示,并且具有图像静止功能。同时,在系统空闲时,可以将系统设置为待机状态,实现了低功耗。关键词:ITU-RBT.656视频数据;FPGA;AS配置;SDRAM;D/A;TMDS;DVI-IThedesignandimplementationofadigitalvideoconversioninterfacebasedonFPGAAuthor:ZhaoDongfangLiXiongYuXinliangChengFangminTutor:HuangQijunChangSheng(DepartmentofElectronicTechnology,CollegeofPhysicsandTechnologyWuhanUniversity,Wuhan,430072,P.R.China)Abstract:Thisdesign,whichisaimedatthedigitalimagesensorMT9M111,usedAlteraCycloneFPGAasthemaincontrolchip,andimplementedthewholeprocessofthecollectionoftheITU-RBT.656videodatafromtheimagesensor,colorspaceconversion,andthedisplayonDVI-Imonitor.Throughthisdesign,theimagecanbedisplayedonDVI-Imonitorinthemodeof1280*960(60Hz)or1280*1024(60Hz),imagefreezingisalsosupported.Moreover,thesystemcanbesetintostandbystatewhenthesystemisidled,forlowpowerconsumption.Keyword:ITU-RBT.656VideoData;FPGA;ASConfiguration;SDRAM;D/A;TMDS;DVI-I0.引言随着计算机、多媒体和数据通信技术的高速发展,一方面使得数字视频技术得到了极大的促进和推动,另一方面也使得不同数字显示设备之间的接口互联问题日益突出,然而在当今市场上对于数字接口互联问题的重视还不够,在两个不同数字接口之间进行转换的设备还比较少见。本文从实际应用的角度出发,采用Altera公司推出的低成本、高密度的Cyclone系列FPGA作为主控芯片,设计了一款数字视频接口转换设备,该设备针对于MT9M111这款数字图像传感器产生的ITU-RBT.656格式数据进行采集、色彩空间变换、分辨率转换等操作,完成了从ITU-RBT.656格式数据到DVI格式数据的转换,使得MT9M111数字图像传感器的BT656数据格式图像能够以1280×960(60Hz)和1280×1024(60Hz)两种显示格式在DVI-I接口的显示器上显示,并且还具有图像静止功能,在系统空闲时的待机状态实现了整机的低功耗,适用于使用移动设备的工业现场。采用FPGA可编程芯片,让整个系统拥有了较大的灵活性,不仅可以轻松的实现数字接口的转换功能,而且还可以很方便地利用芯片的可配置性来完成系统的在线升级维护,提升了系统的应用价值。1.数据格式简介1.1MT9M111芯片的ITU-RBT.656视频数据格式[1]MT9M111芯片是美光科技公司推出的新型低噪音DigitalClarity片上系统(SOC)130万像素CMOS图像传感器,该图像传感器能输出ITU-RBT.656、565RGB、555RGB和444RGB原始和处理过的视频数据,与标准的ITU-RBT.656隔行扫描的数据格式不同,这款图像传感器输出的数据格式是逐行扫描的数据格式,因此在设计时,视频数据流的处理部分就可以不用区分奇偶场,降低了设计的复杂度。MT9M111图像传感器输出的一帧完整的视频ITU-RBT.656图像矩阵如右图1所示的四部分组成,矩阵的大小是可配置的,其输出的顺序依次为从左到右,从上到下。图1中左上角的灰色部分为像素数据,其余白色部分均为消隐数据。按照串行数据流的表示方式,MT9M111图像传感器输出的一帧数据也可以表示由图2来表示,图2中上半部分的数据为的一帧数据,下半部分为的一行数据(timingcodes、视频数据和消隐数据)。图1MT9M111输出的一帧图像矩阵图2MT9M111输出的BT.656数据格式1.2DVI数据格式[2]DVI(DigitalVisualInterface)接口标准是DDWG(DigitalDisplayWorkingGroup)组织推出的视频通信接口标准。它以SiliconImage公司的PanalLink接口技术为基础,以TMDS(TransitionMinimizedDifferentialSignaling)作为数据链路的基本电气连接形式,为数字视频数据的实时传输提供了一种高速的数据链路通道。DVI接口标准提供了两条独立的TMDS链路。每条链路的可用像素带宽如图3所示:图3DVI链路像素带宽单链路的昀大像素带宽为165MPix/sec,能够满足的昀高图像显示格式为1600×1200(60Hz)。当图像的显示格式超过此值时,需要两条链路同时传输视频数据。由于两条链路共用一条时钟通道,因此数据传输带宽由两条链路平均承担。单链路的通道连接结构如图4所示[3]:图4单链路通道连接结构在单链路结构中,图像处理终端由图像控制器将R、G、B三组视频数据(每组8bit)以及时钟和控制信号传送给TMDS发送芯片,在TMDS发送芯片中包含三个编码器,每个编码器负责对一组视频数据编码。编码后的码元(10bit)经过并串转换后,发送到TMDS链路上,并且昀低位先被发送。图像接收终端中,TMDS接收芯片将接收到的视频数据先进行串并转换,然后由其中的三个解码器分别对三个通道的视频数据解码。解码后的视频数据以及时钟和控制信号共同送给显示控制器来显示。2.整体方案设计现实景物的采集与显示过程如图5所示。图像传感器MT9M111采集到现实景物后,将生成的ITU-RBT.656数据流由ITU数据输出端口发送给视频转换接口。视频转换接口将ITU数据输入端口送来的ITU-RBT.656数据流转换成TMDS数据流发送,通过DVI-I端口发送给显示终端显示。本设计方案中,MT9M111输出图像的分辨率为1280×960。图5系统采集与显示过程在现实景物的采集与显示过程中,视频转换接口功能的实现通过以下步骤来完成:1)对收到的ITU-RBT.ITU656数据流解交织图像传感器MT9M111输出的ITU-RBT.656数据流中的视频数据是以串行的方式传输的,即每个像素的YCbCr值在同一个通道依次连续输出,且前后两个像素的YCbCr值有所交织,因此需要将交织在一起的串行YCbCr数据流拆解成独立的并行的YCbCr数据流。这部分的功能由FPGA来实现。2)对解交织后的数据流进行色彩空间转换DVI接口的TMDS链路上发送的是对像素的RGB值编码后的码元序列,而视频转换接口收到的是像素的YCbCr值,因此需要将每个像素的色彩值由YCbCr空间转换到RGB空间,实现色彩空间的转换。由于色彩空间变换的公式是固定的,所以FPGA在完成这部分数值运算操作时,可以考虑采用MegaCore库函数来完成。3)将转换后的每个像素的RGB值写入存储器中由于BT.656接口和DVI接口的视频数据流工作的时钟域是不同的,同时考虑到视频转换接口又要具有能够对分辨率进行调整的功能,因此在系统中需要有专门的存储设备来实现这两种不同接口之间数据流的时序衔接以及分辨率格式的转换。同时考虑存储容量大和价格低的要求,存储器宜选用SDRAM来完成数据的存取,FPGA中可以利用状态机来完成对SDRAM的读写操作。4)从存储器中读出像素的RGB值,并将其转换成TMDS码元序列设计中输出图像的显示格式为1280×960(60Hz)和1280×1024(60Hz),根据TMDS链路上可用的像素带宽情况,需要的像素传输带宽在100M(像素/秒)左右,因此只用一条TMDS链路就可满足要求。但是考虑到TMDS链路上传输的是编码后的串行码元,根据TMDS链路的编码规则,链路上传输的码元速率将达到1G(码元/秒)左右,这样高的速度对于FPGA的实现是比较困难的,所以需要采用专用的TMDS发送芯片来实现TMDS数据流的发送,即由FPGA将像素的RGB值从SDRAM中读出,并按照VGA的时序标准发传送给TMDS发送芯片,再由TMDS发送芯片完成对每个像素的RGB值的编码和并串转换,然后将其发送到TMDS链路上,提供给DVI显示器显示。因此,这部分工作需要FPGA和TMDS发送芯片共同协作完成。5)从存储器中读出像素的RGB值,并将其转换成VGA模拟信号值由于DVI-I接口能对VGA模拟信号兼容,因此系统需要有能够直接输出VGA模拟信号的单元,而FPGA内部没有DA转换单元,因此不能通过FPGA来直接产生模拟信号,还需要另外添加专门的图像DA芯片来完成模拟信号的产生。系统工作时,FPGA将从SDRAM存储器中读出的RGB值送至图像DA芯片进行数模转换变成模拟信号值由DVI-I接口直接输出,这样通过DVI-I/VGA转换接口系统也能将图像在VGA显示器上直接显示。3.硬件构架设计根据整体方案的设计思路,系统的硬件构架框图如图6所示。图像传感器输出的ITU信号(包括YCbCr数据流、行场同步信号和像素时钟)经ITU输入接口送入FPGA主控芯片。FPGA主控芯片对ITU信号进行解交织和色彩空间转换,再将转换后的每个像素的RGB值写入SDRAM存储器。再由FPGA主控芯片按照输出分辨率的要求从SDRAM存储器中读出像素的RGB值,并按照VGA的时序标准,将像素的RGB值发送给TMDS发送芯片和D/A芯片,由TMDS发送芯片提供视频数据的数字通道,由D/A芯片提供视频数据的模拟通道,共同汇集到DVI-I输出接口,传送到数字显示器或模拟显示器上显示。图6硬件构架框图输出图像的分辨率要求FPGA与TMDS发送芯片之间传送数据的带宽在100M(像素/秒)以上,因此要求FPGA的速度足够快。同时由于FPGA与外围器件之间的互联比较多,因此要求FPGA的引脚数足够多。同时由于晶振提供的时钟频率为50MHz,满足不了100M(像素/秒)以上的传输速度,因此需要FPGA内部带有锁相环。另外,为了实现系统脱机工作,要求FPGA支持配置芯片。昀后,考虑到系统占用的面积和以后版本的升级,要求FPGA的内部资源尽量丰富。为此,系统昀终选用了Altera公司Cyclone系列的FPGA芯片,型号为EP1C6Q240C6。这种型号的FPGA的高速LVDSI/O脚的工作速度可达到640Mbps,低速LVDSI/O脚的工作速度也能达到311Mbps;引脚数240个,其中可用引脚数185个;锁相环2个;支持低成本串行配置器件;逻辑资源598