Profile - CN005


CN005

便携式FLCOS微投影视频处理与控制

深圳大学
电子科学与技术学院


Finals


[print]


Project

Name of Project:便携式FLCOS微投影视频处理与控制

Contact Information

Name:刘云川
E-Mail:nyc1893@163.com
Telephone:075526535252
Mobile Phone:13510900285
Mailing Address:深圳大学 科技楼1002

Contest Advisor

Name:龚向东,余建华
E-Mail:gongxd@szu.edu.cn,jyu@szu.edu.cn
Telephone:13691699965,0755-26534192

Members

No.NameE-MailEnglish Name
1刘云川nyc1893@163.comliuyunchuan
2孔茹斌kongrubin@163.comkongrubin
3罗世洲xyy0215@gmail.comluoshizhou

Project Paper - view as Preliminary(2010/06/01), Final(2010/09/18), Draft, Latest

1. 设计概述 (Preliminary Paper)

一、       设计概述

 

便携式微型投影仪作为一种高清晰大画面移动显示设备,为商务、家庭娱乐、旅游等即时性应用提供了便捷的投影选择。FLCOSFerroelectic Liquid Crystal on Silicon-铁电硅基液晶)显示技术是目前用于实现大屏幕高分辨率低成本微投影显示的一种主流技术。

市面上大部分LCOS微投影仪都使用白光LED作为光源,其对比度约为100:1。本设计采用RGB三色LED为光源,使用Micron 公司的FLCOS微显示器件,其对比度将大于300:1,亮度表现、色泽和响应时间都要比一般的LCOS更为出色。

来自图像源(如VGAS-VideoUSB传输的视频文件)的视频信号通常都不满足微显示芯片的输入数据格式和同步时序要求,因此,原始信号在送入微显示芯片前必须进行所需的视频处理,并给微显示器件提供符合要求的扫描控制信号。

SOPC技术既具有基于模块设计的特征,又具有ASIC的系统级芯片设计的特征,涵盖了嵌入式设计的全部特征。此外,SOPC是一种特殊的嵌入式系统,它是片上系统,即由单个芯片完成整个系统的主要逻辑功能但它不是简单的SOC,它也是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能,特别适用于实现某些特殊的功能。因此,本设计采用SOPC技术来实现。

 

(Revision: 2 / 2010-05-31 21:17:13)

2. 功能描述 (Final Project Paper)

二、功能描述

 

本系统在SOPC的开发环境中,实现了用两种方式为便携式FLCOS微投影仪的微显示器件提供数据源。

第一种方式是通过CCD摄像头实时地对图像进行采集、传输、处理,最后传输到微显示器件上,并通过微投影仪的光学引擎实现投影;

第二种方式是通过USB总线将PC机上视频文件解码后的信号传送至本SOPC系统,再处理成符合微显示器件要求的数据格式,并生成显示所需的同步信号来实现投影。

 

(Draft / 2010-05-31 21:17:31)

3. 性能参数 (Final Project Paper)

三、性能参数

 

本设计中使用的微投影芯片,有如下一些关键特性:

l         显示的分辨率:852*480 (并支持行分辨率从8521280,列分辨率从480768之间的像素信号输入)

l         颜色深度:24

l         对比度:300:1

l         低功耗:75mw

l         工作温度:负10摄氏度到70摄氏度

l         芯片尺寸:23.4mm*9.8mm*3.6mm

l         .帧频为:60HZ  RGB场频为360HZ

 

需要供给RGB  LED5V电压和380mA的电流。

光源照射到屏幕上的亮度为3.56流明。

 

(Draft / 2010-08-28 23:20:34)

4. 设计结构 (Preliminary Paper)

四、设计结构

(一)系统组成

本设计的微投影系统组成示意图如图1,图2为该系统的组成框图。

1

 

2

(二)  FLCOS微投影系统工作原理

 

LCOS微投影仪的工作原理如图3所示,其中光学引擎由光束整形系统、偏振光束分离器和投影透镜组组成。来自图像源的视频信号经本设计模块处理转换为满足FLCOS微投影面板要求的视频流和控制流信号送入微投影面板,微投影面板内部电路按照场序色彩模式要求产生RGB照明光源的分色时序驱动信号送到外部光源驱动电路,光源由此产生R ,G ,B三个分量的时序光,经过预偏振,光束整形和匀光系统后,整形成一个无杂散偏振的平坦照明光。然后经过一个偏振光束分离器(PBS)偏振,最后反射到显示面板。

3

 

FLCOS硅基板控制像素化表面的电压。加于每个像素的电压确定液晶分子的方向,从而确定面板上每个像素点反射的偏振光的状态。视频信号用来控制每个像素点在特定偏振状态的时间(也称脉冲调制宽度)。PBS只传输一种类型的偏振光。因此根据供给到每个像素的电压和每个偏振状态的时间,会产生一幅彩色图像,这幅图像最后透过PBS并被投影透镜放大到显示屏上。

 

(三)SOPC系统

4

4SOPC系统结构框图,此SOPC系统以Nios II处理器为核心,将各种外设挂于Avalon总线。Nios II处理器主要负责接口的配置与控制,图像采集模块控制并处理来自CCD摄像头采集到的行、场同步信号,USB收发接口主要接受来自PC机上面的视频信号,视频信号或者 CCD图像数据都由DMA经过SDRAM控制器传入缓存区片外SDRAM中,SDRAM中的视频或者图像数据经过视频处理与控制模块的处理,产生微显示芯片符合其色序要求的色序和时序信号,SPI控制器负责串行信号的输入实现对微显示芯片的设置。

 

(四)初步设计

 

1、光学整形系统的设计

    初步设计出的光学整形系统如图5所示,由LED发出的120°发散光线经过前面两个透镜后准直成近似平行光,然后光线经过一组复眼透镜均匀化,最后光束再经过一对柱面镜得到我们所期望的光斑形状和长宽比例。

 

5

 

     6LED裸光源发出的光分布情况,图7LED裸光源发出的光经过光学系统后的光斑分布。可以明显看到,光束得到明显的均匀化,而且光斑形状也发生变换,从而满足我们FLCOS投影屏对光束的要求。

 

 

6

 

 

 

 

7

 

2LED光源驱动电路的设计

 

  

     三色LED驱动信号时序如图8所示。

8

 

9

 

单色LED驱动电路如图9所示,用于驱动LEDDIM1FLCOS投影面板内部电路产生的LED控制PWM信号。

 

3、接口板设计

 

FLCOS器件提供了45个针脚,如图10所示,其中VddVcc分别为1.8v5v,而VIO_SERIAL, VIO_VIDEO 需要3.3v供电。本赛题设计的FLCOS器件与FPGA开发板(DE1/2)的连接板结构如图11所示,图12和图13分别为相应的电路图和PCB图。

 

10

 

11

 

12

 

13

4、串行配置SPI接口

 

所选微显示器件支持SPI串口通信,SPI使用SDAT,SCK,SENSOUT四个信号。当SEN输入为低电平时,串口开始工作。这时,SDAT输入在每个SCK输入的上升沿采样。连同读/写命令和7bit地址,一个转换开始。

 

对于写命令,A7位为低,7位地址设置成所想要写入寄存器的地址,随后为8位数据。图14表明了写操作的时序。

14

对于读指令,A7位为高,数据位在SCK的下降沿变化,并在SCK的上升沿采样。图15表明了读操作时序。

 

15

 

 

16SPI口向FLCOS器件内部寄存器(地址0x10)写入数据0xb5SignalTap II波形图。

16

 

5、视频处理与控制模块方案

 

17为视频处理与控制结构示意图,PC主机中的视频文件经软件视频解码,由USB传输数据流,数据流经过视频格式转换模块,产生出符合微显示器件要求的数据流。同理,CCD摄像头产生的视频信号经过硬件解码打入视频数据格式转换模块中。

17

 

1)显示扫描发生器

 

18为微显示芯片的视频输入时序图,VALID信号用来规定在哪些时钟进行视频信号采样,在行同步信号和场同步信号HSYNCVSYNC信号有效的时间里采样24位视频信号DATARGB各为8位),PIXCLK为像素时钟。

 

 

18

 

 

19Modelsim中的仿真图,图20为其中的一个片段。图中oVGA_VS, oVGA_HS,o_VALID,o_ X,o_Y,信号分别用来表示VSYNCHSYNC,VALID,行像素计数和列像素计数信号,和图18的时序相对应。

 

19

 

20

 

2)视频数据格式变换模块

视频格式变换的功能主要包括:

1、数据格式变换

例如:当视频解码后提供的是8位的Y-Cb-Cr 4:2:2的信号,但微显示器件需要R-G-B 24位的数据信号,则需要先分离交织的Y-Cb-Cr像素信息。再把Y-Cb-Cr像素转化为R-G-B格式的数据。

2、像素分辨率的变换

以微显示芯片规定的像素值为852*480为例,当输入的视频信号大于微显示芯片规定的像素值时,则要进行像素缩减。

 

当像素数量都小于微显示芯片规定的像素值,我们要扩充像素,就需要对采集到的图像数据进行扩充,即用到插值的方法。以水平和垂直方向图像放大倍数均为2 为例,图21 为边缘插值示意图,黑白点阵构成高分辨率图像像素阵列。黑点为低分辨率原始图像构成的像素点阵,白点为需要插值的点

如图中所示某一白点坐标为(2k2l),则有:

f2k2l=0.5*[f2k+12l+1+ f2k-12l-1]

处理完此边缘像素后,可以以此类推,再对其余零填充像素用双三次插值赋值。

 

 

 

21

 

                                                                                                

 

(Draft / 2010-05-31 21:16:22)

5. 设计方法 (Final Project Paper)

五、设计方法

 

1、光机系统以及外围设备

如图22所示,PCB连接板和DE2开发板相连接实物图。

    

 

22  FLCOS和开发板的连接

如图23所示,为微投影系统的实物图,从左到右依次是DE2开发板,LED驱动电路(黄色部分)以及光机(由深圳大学自主设计和制作)以及PCB连接板。

      

 

 

23  微投影系统实物图

 

 

 

 

2、视频处理与控制模块

 

24为视频处理与控制结构示意图,I2C模块先对ADV7181芯片进行配置,该芯片正常工作时对模拟信号CVBS(复合视频)解码产生,数据通过ITU-656模块解码后产生交织的YUV4:2:2数据,经过SDRAM储存之后通过去隔行处理,再通过YUV422YUV444与转RGB模块得到我们所需要的信号格式。

24 视频处理与控制结构图

 

1I2C配置模块

ADV7181芯片支持I2C总线串行接口,在ADV7181I2C控制器之间的数据通过SDA串行输入传递,SCLK为串行时钟。每一个从设备都有一个唯一的地址,通过ADV7181I2C端口可对ADV7181的工作进行配置。

 

 

25 配置芯片的I2C时序

 

26  I2C时序的仿真

27 模拟I2C解码芯片的配置

 

 

2ITU -656解码器

28  ADV7181解码

 

ADV7181解码芯片输出TD_Data信号,行同步TD_HS和帧同步TD_VS信号,如图28所示。TD_Data8位的串行数据流,其格式如图29所示。

29  ITU -656数据流示意图

 

ITU -656解码模块的首要任务是解出串行数据流嵌入的控制字EAV(End of ActiveVideo)SAV(Start of Active Video)为表示有效视频的终点和起始点。当TD_Data依次出现FF0000进入识别状态阶段,接下来的8位数据可表示为:

 

第八位固定值为1

第七位FF=0时表示偶数场,F=l时表示奇数场。

第六位VV=0表示该行为有效视频数据,V=1表示该行没有有效视频数据。

第五位H H=0表示为SAV信号,H=1表示为EAV信号。

低四位的P3P2P1P0为保护信号,由FVH信号计算生成。

 

 

ITU -656模块的流程大致为:

1、  如图31所示,当检测到SAV时,计数器COUNTER开始累加,比如捕获到了TD_DATA上连续的四个数据:YCbYCrCOUNTER4

2、  COUNTER的值除以2,再除以9。除后的商最低位作为交织数标志位。当除后的余数为零时,省略像素信号为1。每18个像素就丢弃2个像素,使得源数据720个亮度信号变成640个像素。

3、  如图32所示,根据交织数标志位信息把获得的8TD_Data信息的转为16位的YUV4:2:2信息。

4、  如图30所示,当检测到SAV后,同时满足F位出现下降沿、COUNTER为偶数、且V=0时,则将数据有效信号置1,有效数据计数器也累加1。

 

30

 

31

32

 

 

以下为SignalTap II波形图。图33为检测到SAV时的波形图,图34为采集到有效数据时的波形图。

33  检测SAV信号图

 

34  检测有效信号图

 

3)储存系统

35  加入读写FIFO后的SDRAM控制器

 

本设计用SDRAM作为视频数据的缓存区。如图35所示,改造后的SDRAM控制器是加入了读FIFO和写FIFO端口的SDRAM控制器,其中检测器检测两个FIFO的水位线来控制SDRAM的读写。

 

4)去隔行模块

 

 

 

36

 

去隔行模块包括各选择器和3个移位寄存器组成,由于NTSC制式的数据源通过ITU -656解码器,解得一帧的数据135…525行再是246…524偶数行的隔行像素数据,如图36所示,选择器使得读出的SDRAM数据还原为第1234…的逐行像素数据,(由于本设计中微投影像素行数的限制,在读出数据的时候只读出480行)。(NTSC制式的有效行数为480行)

 

 

37  线缓冲单元对像素的处理

 

本设计中取一行640个像素点,如图37所示,A为寄存器的输入值,BC为两个移位寄存器末尾的输出像素值,再将其色度和亮度值取平均,一定程度上起到了去噪声的作用,使得去隔行之后的行间像素变化平滑。

 

5YUV4:2:2YUV4:4:4

 

如图38所示,根据像素控制信号把上一模块16位的YUV混合信号分离为16Y Cb或者Y Cr 信号,再将其分离成8Y Cb Cr信号。

 

38  YUV4:2:2YUV4:4:4原理图

 

 

以下为SignalTap II波形图。如图39所示,X[0]为像素控制信号分离好8位的oY oCb oCr信号。

39  YUV4:2:2YUV4:4:4时序图

6YUV4:4:410bit-RGB

   

8位的Y Cb Cr转为8位的RGB对应的关系如下:

 

R = 1.164(Y-16)+1.596(Cr-128) = 1.164Y+0Cb+1.596Cr-222.912

G = 1.164(Y-16)-0.391(Cb-128)-0.813(Cr-128) =      1.164Y-0.391Cb-0.813Cr+135.488

B = 1.164(Y-16)+2.018(Cb-128) = 1.164Y+2.018Cb+0Cr-276.928

 

   若需转为10RGB,则8位的YCb Cr需左移二位,即以上变换关系的左端各系数需放大4倍,变换关系变为:

 

       

 

由于FPGA进行浮点运算很复杂,所以思路是先通过对上式左右二端放大128倍化为整数运算:

 

 

计算后再对结果除以128(右移7位),即可获得正确的结果:

 

R >> 7 ; G >> 7 ; B >> 7

 

但难免这种操作之后可能会出现数据上溢或下溢的情况,因此再进行舍位操作。

该模块是由3个乘加器,加减运算、移位寄存器、比较选择器来实现,如图40和图41所示。

 

40   MAC_3乘加器

 

 

 

41    YUV4:4:410bit-RGB示意图

 

 

7)微投影控制器

 

42,43为微显示芯片的视频输入时序图,VALID信号用来规定在哪些时钟进行视频信号采样,在行同步信号和场同步信号HSYNCVSYNC信号有效的时间里采样24位视频信号DATARGB各为8位),PIXCLK为像素时钟。

42 微投影时序图1

 

 

43 微投影时序图2

 

44Modelsim中的仿真图,图45为其中的一个片段。图中,行像素计数和列像素计数信号为oCurrent_XoCurrent_Y以控制其他模块,输入的像素信号为iredigreeniblue,下图中模拟输入的红绿蓝为某固定值。

 

44   模拟微投影时序1

45   模拟微投影时序2

 

46为微投影放映测试图样的效果图,图47为播放DVD时的效果图。

 

46 测试图像显示效果

       47 播放DVD数据流的效果图

 

(Revision: 5 / 2010-08-29 00:14:38)

6. 设计特点 (Preliminary Paper)

六、设计特点

l         本设计涉及光学、图象处理、视频数据处理等多学科知识,综合性强。

l         基于Avalon总线的SoPC系统,资源丰富。本系统除使用了若干主设备(Nios IIDMAC等)外,也利用了现有的若干IP(如SDRAM控制器、USB控制器等)这将大大加速系统的开发进度。此外,系统还包括若干自定义外设,如FLCOS视频接口等将其挂于Avalon总线上,可方便重复使用。

l         Nios II处理器支持自定义指令,并将其以自定义指令的方式加入Nios II指令系统,从而大大地提高了整个系统的速度。

 

(Draft / 2010-05-31 21:05:16)

7. 总结 (Final Project Paper)

七、总结

 

短短几个月的竞赛,是一FPGA开发、学习和应用的过程。

相比之下,比赛能否获奖都是其次的,因为本项目进展的过程当中遇到了许许多多的问题,不断的磨练和提高自己这才是我们参加比赛所得的最大收获。同时也让我们对FPGA的缔造和开发者更加的钦佩,设计的过程就像烹饪的过程一样,只要有好的构思,通过FPGA就可以实现。

比赛虽然告一段落,不过微投影系统还有许多有待进一步完善的地方。

1)光机部分:如何压缩光机体积,提高LED灯亮度,控制LED灯散热等。

2)电控部分:由于时间紧迫,USB传输视频数据方案正在着手但还没有做完。以后还应考虑比如VGA模拟接口等各种视频源的输入,以及投设画面的像素畸化调整等工作,实现智能化带操作系统的微投影系统还有一段很长的路要走。

 

(Revision: 2 / 2010-08-29 00:05:53)