① 通过模块调用将FPGA的片内RAM分为“RAM_A”和“RAM_B”;
② 在第一个行周期,将输入的第一行数据流缓存到“RAM_A”:因为一行视频信号有3K字节,为了实现在LCD屏上三基色的分离,在对数据进行存储时,不能按照数据进入FPGA的顺序来存储,而应将红色数据依次存放在第1至第1024个存储单元,绿色数据存放在第1025至第2048个存储单元,蓝色数据则放在第2049至第3072个存储单元,即将原来的象素“打乱”存放;
③ 在第二个行周期,按照步骤②中所描述的方法将第二行的视频信号存入“RAM_B”,同时将“RAM_A”中所存的第一行视频信号依次从I/O口读出,再经DVI编码芯片编码后送至LCD屏,即在读出数据时“按序”读取;
④ 重复步骤②、③,使读、写操作交替在“RAM_A”和“RAM_B”间循环进行,直至一帧数据传输完毕。
此时,LCD屏上显示数据的具体算法如图5所示,即R1,2占据G1,1的位置(即第2个单元),R1,3占据B1,1的位置(即第3个单元),R1,4占据第4个单元,以此类推,直至1024个红色数据在LCD屏上排列完毕,再开始绿色数据,继而是蓝色数据。这样便可达到图2中在一块LCD屏上分别显示R、G、B图像的目的。
本设计中所采用的FPGA是ALTEra公司CvclONe系列中的EP1C6Q240C8。该FPGA的片内存储器容量为90kbits,完全能够胜任对分辨率为XGA显示模式的视频信号进行行处理。如果要支持更高分辨率的投影模式或对图像进行整帧的处理,只需更换具有更大片内RAM资源的FPGA或是在FPGA的I/O口外接片外存储器。DVI解码和编码芯片分别选用SIL161和Sil164。
这种基于FPGA的控制器除可用投影机的视频信号处理外,还可应用于平板显示中有关图像的翻转、截取以及象素的抽取等。其操作的关键是对数据读、写地址的控制。
3 液晶屏的处理和光学调整
现在市面上的TFT液晶板都是有滤色膜的。本设计如果直接使用这种液晶板,那么当R、G、B三单色光分别照射到R、G、B图像区域的时候,滤色膜会吸收掉很大一部分光能,从而从投影亮度过低,无法达到应用要求。因此,本设计中所采用的液晶板需去掉滤色膜或者没有滤色膜的产品,以提高光源利用率和投影亮度。
由于视频信号在LCD屏上分为R、G、B三个部分,因此,三基色图像通过液晶板汇聚以后,会形成一幅高度和原图像相等。宽度压缩为原图像三分之一的彩色图像。这时,只需要一枚宽银幕镜头即可将该压缩图像拉宽,从而使其恢复到正常图像。
4 结束语
随着家庭影院概念的普及,约来越多的消费者希望在家中享受大制作影片所带来的强烈震撼。然而,昂贵的投影机却让很多家庭望而却步。本文从实际应用出发,设计了一种基于FPGA的高光效单片彩色LCD投影方式。不难看出,该投影系统将具有如下优势:
(1) 一旦产业化,这种新型投影机的成本比其它的LCD投影机要低很多,因而易于进入普通家庭;
(2) 集成度高,体积小,信息容量大,速度快;
(3) 光利用率显著提高,从而提高了显示质量。