●文/TCL集团工业研究院董小龙 施建华 邵诗强
为了能够实现普通电脑VGA端口数据在华映4.8英寸裸眼3D显示屏上显示,提出了一种从VGA端口到LVDS端口的数据转换系统方案。该系统首先通过AD9883A对VGA端口图像进行AD转换,然后再进行scaler,采用2片SDRAM对图像进行交替缓存,将采用SDRAM存储采集到的数据通过LVDS发送器将并行RGB数据信号转换成LVDS信号,然后传输到显示屏上显示。该系统能够实时地将电脑中的图像显示在3D屏上,实现了裸眼3D的效果。
1、引言
《阿凡达》激起了人们对3D技术的狂热追求,使人们意识到3D显示的巨大市场价值。但是由于长时间配戴眼镜会带来头疼及眼睛疲劳等副作用,因此裸眼3D将成为3D显示技术发展的未来。
华映光电研制的4.8英寸方向性背光3D显示屏利用了一种照射方向可控制的方向背光技术,能将图像的成像焦点左右快速移动,使得透过LCD的光线已经带有方向性。这种背光组件只需配合刷新率为120Hz的液晶显示面板就可以生成3D影像。其能够实现6位800×480(2D/3D模式)显示,要求输入的为低电压串行LVDS信号。然而普通电脑VGA输出的为模拟信号,所以,必须要经过电路转换将VGA输出转换为所需要的LVDS信号。为了实现上述信号的转换,本文设计出一个基于FPGA的数据转换和存储系统。
2、系统总体结构设计
整个系统实现了由普通电脑VGA输出到3D屏LVDS接口的数据实时传递和转换的功能。主要包括数据采集模块、图像scaler模块,FPGA逻辑控制模块、SDRAM存储模块、LVDS发送模块。其工作原理为:普通电脑VGA输出的模拟信号要经过一个AD转换模块变成120Hz的8位RGB三路数字信号,经过scaler模块成800*480分辨率,6bit的信号,同时,为了实现数据实时传输,采用两片SDRAM进行乒乓操作,一片为写操作的时候,另一片读操作,读出的数据时序经过处理,满足3D屏时序的要求,然后经LVDS发送器传送给3D显示屏LVDS接口,最终将左右眼各60Hz、分辨率为800×480的两幅图像显示在屏上,实现裸眼3D显示。
其中,FPGA控制模块起到了核心作用,它作为控制信号产生和处理的中枢对其他外围电路进行实时的监控和管理。其内部包括,scaler模块,I2C控制模块、时钟同步模块、数据位数转换模块、SDRAM控制器等模块组成。FPGA控制模块内部结构如图1所示:
设计中采用XILINX公司spartan6系列的XC6SLX45。XC6SLX45具有43661个逻辑单元,同时还包含了最大2088kb的Block ram模块。该芯片的频率和引脚IO等资源都能很好的满足本系统的要求。
3、系统的具体实现
3.1数据的采集和缩放
VGA是用于提供图像信号的模拟接口,包括RGB3个模拟信号分量以及行场同步信号,在本系统中,AD转换后像素点频率为800×600×120Hz=57.6MHz。由于模拟的VGA信号中包含有行、场同步时间和消隐时间,因此实际计算出来的要比57.6MHz还高,这里暂取66MHz。
这么高的采样率对AD芯片要求很高。这里选用的是AD9883A,它具有采样精度为8bit的3路通道,最高采样率为140Msps,300MB的模拟带宽,可最高采样分辨率为1280×1024,刷新率为75Hz的视频信号。AD9883A能够采集多种VGA图像格式,但却不能自动检测图像格式,必须根据实际的指标对内部寄存器进行初始化,初始化过程通过FPGA一个I2C模块依靠AD9883的SDA和SCL两引脚进行,时序符合I2C总线时序标准。图2为重要寄存器的设置值,其他未设置的均取默认值。
由于所采样到的数据分辨率为800*600,并不适合在800*480的屏幕上显示,因此我们必须在行上进行scaler,把600行转换为480行,进行一个5:4的缩小,在这里我们采用双线性内插值,双线性插值对于我们这样的小比列缩放,效果好,计算量也不算大,正好符合当前的需要,对于点(i+u,j+v)由它周边的四个像素决定它的灰度值,
f(i+u,j+v) = (1-u)(1-v)f(i,j) + (1-u)vf(i,j+1) + u(1-v)f(i+1,j) + uvf(i+1,j+1)
由于只在行方向插值,则u=0;
公式简化为:f(i,j+v) = (1-v)f(i,j) + vf(i,j+1)。
在这里5:4缩放,则j+v分别为:0+0,1+0.25,2+0.5,3+0.75,5+0,6+0.25…..
在FPGA实现中,我们采用内部SRAM暂存两行数据,进行运算产生新的一行。
3.2数据位数的转换
在图像视频系统开发中,常常需要用到存储容量大、读写速度快的存储器。在各种存储器件中,SDRAM的价格低、体积小、速度快、容量大,是比较理想的器件。在本系统设计中,SDRAM芯片采用SAMSUNG公司的K4S281632B,单片构成为2M×16bit×4banks,每个bank由4096行,512列的16bit存储阵列构成。而从scaler模块转换过来的是800×480个24位RGB数据,具体的策略为:480行,每一行800个24位数据转换成1200个16位,并且SDRAM每一行为512个数据,这样我们就将这一行1200个数据转换为450,450,300三行储存,一共需要SDRAM的1800行空间。同时,每一行中24转16位数据我们这样产生:设置一个3位移位寄存器使其产生的地址能够读2次sram数据写3次sdram数据。
此外,系统中FPGA主要时钟频率由AD9883A输出的像素时钟66MHz、SDRAM工作频率由FPGA内嵌的DCM模块建立100MHz,控制LVDS发送的输出时钟。时钟不同,必须在这不同频率时钟之间必须加FIFO来同步。FIFO使用ISE软件中提供的免费IP核,通过使用FPGA内部高速RAM来实现。
3.3数据的存储
...... 更多精彩内容请见《国际光电与显示》2012年8月刊,欢迎订阅! 订阅咨询:0755-86149014
关注我们
公众号:china_tp
微信名称:亚威资讯
显示行业顶级新媒体
扫一扫即可关注我们