本文从实际应用的角度出发,采用FPGA作为主控芯片,设计了一款数字视频接口转换设备,该设备针对于MT9M111这款数字图像传感器产生的ITU-R BT.656格式数据进行采集、色彩空间变换、分辨率转换等操作,完成了从ITU-R BT.656格式数据到DVI格式数据的转换,使得MT9M111数字图像传感器的BT656数据格式图像能够以1280×960(60Hz)和1280×1024(60Hz)两种显示格式在DVI-I接口的显示器上显示,并且还具有图像静止功能,在系统空闲时的待机状态实现了整机的低功耗,适用于使用移动设备的工业现场。
整体方案设计
现实景物的采集与显示过程如图1所示。图像传感器MT9M111采集到现实景物后,将生成的ITU-R BT.656数据流由ITU数据输出端口发送给视频转换接口。视频转换接口将ITU数据输入端口送来的ITU-R BT.656数据流转换成TMDS数据流发送,通过DVI-I端口发送给显示终端显示。本设计方案中,MT9M111输出图像的分辨率为1280×960。
图1 系统采集与显示过程
在现实景物的采集与显示过程中,视频转换接口功能的实现通过以下步骤来完成:
1) 对收到的ITU-R BT.ITU656数据流解交织;
2) 对解交织后的数据流进行色彩空间转换;
3) 将转换后的每个像素的RGB值写入存储器中;
4) 从存储器中读出像素的RGB值,并将其转换成TMDS码元序列;
5) 从存储器中读出像素的RGB值,并将其转换成VGA模拟信号值。
硬件构架设计
系统的硬件构架框图如图2所示。图像传感器输出的ITU信号(包括YCbCr数据流、行场同步信号和像素时钟)经ITU输入接口送入FPGA主控芯片。FPGA主控芯片对ITU信号进行解交织和色彩空间转换,再将转换后的每个像素的RGB值写入SDRAM存储器。再由FPGA主控芯片按照输出分辨率的要求从SDRAM存储器中读出像素的RGB值,并按照VGA的时序标准,将像素的RGB值发送给TMDS发送芯片和D/A芯片,由TMDS发送芯片提供视频数据的数字通道,由D/A芯片提供视频数据的模拟通道,共同汇集到DVI-I输出接口,传送到数字显示器或模拟显示器上显示。
图2 硬件构架框图
输出图像的分辨率要求FPGA与TMDS发送芯片之间传送数据的带宽在100M(像素/秒)以上,因此要求FPGA的速度足够快。同时由于FPGA与外围器件之间的互联比较多,因此要求FPGA的引脚数足够多。同时由于晶振提供的时钟频率为50MHz,满足不了100M以上的传输速度,因此需要FPGA内部带有锁相环。另外,为了实现系统脱机工作,要求FPGA支持配置芯片。最后,考虑到系统占用的面积和以后版本的升级,要求FPGA的内部资源尽量丰富。为此,系统最终选用了Altera公司Cyclone系列FPGA。
考虑到视频数据的存储和显示是同时进行的,而SDRAM存储器是单端口器件,数据的写入和读出不能同时进行,故需要两块SDRAM同时进行乒乓操作来完成数据的连续读写。最终选用了MICron公司的型号为MT48LC2M32B2TG-6的SDRAM存储器;TMDS发送芯片选用的是Silicon Image公司的SiI164CT64型号。由于输出图像的分辨率要求FPGA与TMDS发送芯片之间传送数据的带宽在100M以上,这一数据流同时又要送入D/A芯片完成数模转换,因此要求D/A芯片的转换速率在100MHz以上。同时由于R、G、B的数据宽度都为8位,因此需要选用专用的图像D/A芯片,它需要具有R、G、B三路数据通道,每路的宽度至少为8位。根据以上要求,系统最终选定CSEMIC公司的CSV7123型号的图像D/A芯片。
FPGA功能设计
FPGA作为系统的主控芯片,是软件设计的核心。根据整体方案的设计思路,FPGA主控芯片的工作过程为:首先接收由图像传感器送来的ITU-R BT.656格式的视频数据流,经过解交织操作,将像素数据流中交织在一起的串行YCbCr值解成独立的并行YCbCr值。然后对解交织的YCbCr值进行色彩空间转换,转换成对应的RGB值。接着将此RGB值存入一块SDRAM存储器。与此同时,从另一块SDRAM存储器中读出像素的RGB值,并发送给TMDS发送芯片和D/A芯片,经过数字通道和模拟通道后,传送到DVI显示器或VGA显示器上显示。根据FPGA主控芯片的工作过程,设计的软件功能框图如图3所示。
图3 软件功能框图
图3中FPGA内部的工作时钟有两个,以图中的虚线为界,虚线左侧部分使用的时钟为图像传感器的54MHz像素时钟;虚线右侧使用的时钟是经过锁相环将晶振的50MHz时钟倍频成108MHz以后的时钟,其中108MHz的时钟是由输出图像的分辨率所决定的。两个时钟域通过异步FIFO相连。整个系统共分成6个模块:解交织模块、YCbCr转RGB模块、异步FIFO模块、乒乓操作模块、SDRAM控制器模块和VGA发送模块。此外,系统还可实现图像静止、系统待机、模式选择等功能。
图像显示效果
图4是输出图像分辨率为1280×960模式下的显示效果,图中显示器检测到的视频图像分辨率为1280×960
图4 1280×960模式下的显示效果