基于FPGA的LCoS驱动和图像处理系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于FPGA的LCoS驱动和图像处理系统设计
李大鹏;杨济民;杨娟;李雯雯;厉严忠
【摘要】A verilog code was designed to drive a LCoS screen whose resolution is 1024 × 768. The code was synthesized and compiled in quartusⅡ9. 1 and it was implemented successfully on Altera EP3C5E144C8 and the actual output signal was measured. Asynchronous FIFO structure was adopted to solve data transmission between different clock domains. With Embedded FFT ip core, FFT transform and spectrum analysis can be done. The system provides a hardware platform for computer-generated hologram 3D image processing and display.%针对分辨率为1 024×768的LCoS屏编写了Verilog HDL驱动代码,在quartusⅡ9.1平台上综合编译,并在Altera的FPGA芯片EP3C5E144C8上进行了功能验证和实际输出信号测量.采用异步FIFO结构解决了跨异步时钟域的数据传输问题.嵌入FFT IP核后,可进一步对图像进行基于FFT的变换处理,分析图像的频谱.为计算全息3D图像处理及显示提供了硬件平台.
【期刊名称】《现代电子技术》
【年(卷),期】2011(034)010
【总页数】3页(P65-67)
【关键词】Verilog HDL;LCoS;异步FIFO;FFT
【作者】李大鹏;杨济民;杨娟;李雯雯;厉严忠
【作者单位】山东师范大学物理与电子科学学院,山东济南,250014;山东师范大学
物理与电子科学学院,山东济南,250014;山东师范大学物理与电子科学学院,山东济南,250014;山东师范大学物理与电子科学学院,山东济南,250014;山东师范大学物
理与电子科学学院,山东济南,250014
【正文语种】中文
【中图分类】TN27-34;TN141.9
0 引言
基于空间光调制器的计算全息三维显示技术,目前常采用透射式LCD和反射式LCoS作为空间光调制器,以改变光经过空间光调制器(SLM)后的空间相位和振幅
分布,达到对光信息的调制。

传统的基于透射式LCD空间光调制器的计算全息三
维显示系统,其成像光路复杂,而且必须依赖计算机进行数据发生、采集以及处理,这就限制了系统应用的灵活性,不便于推广。

相较于透射式LCD,LCoS具有光利用率高、体积小、开口率高、器件尺寸小等特点,可以很容易地实现高分辨率和微显示投影。

采用彩色LCoS屏显示基于RGB
的彩色图像,经过光学成像系统投影到接收屏上,实现计算全息图像的三维显示。

基于FPGA的显示系统有以下优势:第一,LCoS尺寸小,便于实现微投影,利用可灵活编程的FPGA器件作为驱动控制器,这样就可以将其做成像普通投影仪一
样的微型投影设备,使计算全息三维显示摆脱了计算机和复杂光路的束缚,具有了更高的灵活性,为其走出实验室提供了条件。

第二,因为在传统空间光调制器上得到的图像里含有物波和参考光的复共轭像,形成了噪声,在FPGA上可以实现图
像滤波去噪,使得到的图像更清晰。

第三,FPGA是基于可编程逻辑单元的器件,当经过综合、布局布线、时钟约束的代码烧录到FPGA器件后,FPGA就将算法代
码硬件化了,可以作为专用芯片工作,其内部信号延时完全是硬件级传输延时。

在处理数据搬移和复杂的数学运算以及一些循环操作时,例如图像的FFT变换,FPGA硬件运算要比软件运算快得多,即利用FPGA器件实现对软件算法的硬件加速。

基于以上原因,本文设计了基于FPGA的LCoS驱动代码及图像的FFT变换系统,为计算全息三维显示图像处理和显示提供了硬件平台。

1 系统设计
1.1 系统模块框图:
该系统采用cycloneⅢ EP3C5E144C8,该芯片有5 136个LE,95个用户I/O,2个PLL,以及46个嵌入式乘法器和423 936 b的内部逻辑寄存器。

以它丰富的资源,完全可以作为LCoS的驱动控制器件。

显示屏采用Himax的反射式LCoS屏HX7308,其分辨率为1 024×768,可以支持256级灰度显示,具有内置的行场
驱动电路,在外部输入时钟的上升沿和下降沿分别接收8 b×4 dots图像数据,这保证了场频可高达360 Hz。

系统的整体框图如图1所示。

图1 系统框图
1.2 PLL及系统复位模块
采用Altera的锁相环IP核,外部输入时钟为20 MHz,经倍频后得到其他各模
块的驱动时钟,以及LCoS的驱动时钟信号。

为防止系统异步复位时寄存器出现亚稳态,设计了PLL的前级和后级D触发器。

因为锁相环的locked引脚在锁相环
稳定输出后才会跳变为高电平,所以为保证其他模块得到稳定的时钟信号,将locked引脚和外部输入复位信号rst_n相与后作为整个系统的复位信号。

1.3 单口ROM模块
利用FPGA内部的M9K存储器资源实现的单口ROM作为源图像的数据存储器。

将分辨率为176×144(QCIF)的256阶灰度位图图像初始化到单口ROM里,所需
数据深度为25 344 B。

当异步FIFO没写满时,单口ROM将按图像存储地址依
次输出图像数据给FFT核做快速傅里叶变换。

经过处理的图像数据暂存到FIFO里,等待行场时序控制器模块取用。

1.4 异步FIFO模块
按其数据地址最高2位分为4个区间,读/写指针分别对某一区间操作,当读/写
指针相等时通过译码器产生FIFO已读空或者已写满标志信号。

为避免地址信号变化时出现冒险竞争现象,写地址和读地址指针都采用格雷码编码。

在读空比较子模块和写满比较子模块里加入了FIFO“将空”和“将满”检验机制,有效地保证了FIFO正确无误的工作。

在写时钟wrclk的上升沿,异步FIFO每个地址对应的存
储单元里被写入8bits数据,在读时钟rdclk的上升沿,FIFO四块连续地址上的
32bits数据输出,即读FIFO的速率相当于写FIFO速率的4倍速。

1.5 I2C状态机模块
没有满足I2C配置条件时,状态机处于空闲状态,当满足I2C配置条件时,状态机
在状态标志位的控制下依次输出配置地址和配置数据。

当数据配置结束时,状态机产生停止信号,并拉高输出引脚iic_config,通知行场时序控制器模块开始工作,这样保证了LCoS屏能在正确配置下工作。

状态机工作原理如图2所示。

图2 I2C状态机原理图
1.6 行场时序控制器模块
内设水平计数器hcnt和垂直计数器vcnt。

由于显示屏每个时钟周期锁存8个像素值,所以显示1 024个像素值所需行周期为128个Tclk(行时钟周期)。

当hcnt计数器值为HBP时表示行有效显示区域开始,hcnt计数器值为HBP+128时表示行有效显示区域结束,hcnt计数器值为HSYNC cycle时,完成一行显示,vcnt计
数器加1。

当vcnt计数器值为VBP时,垂直有效显示区域开始,当vcnt计数器
值为VBP+768时,垂直有效显示区域结束,当vcnt计数器值为VSYNC cycle时,
完成一帧图像显示。

行场时序关系如图3所示。

图3 行场时序关系图
1.7 FFT模块
FFTV 9.1 IP核采用Cooley-Tukey基-2 DIF算法,其FFT变换原始公式为:
(1)
因为采用了数据流模式,经过变换的数据可以连续输出,即输出数据不会因为图像数据的输入而停止数据输出,同时输入数据也不会因为处理后的数据正在输出而停止继续输入,保证了数据转换和传输的连续性,提高了数据处理的速度和效率。

因为FFT通过异步FIFO向屏幕输出数据,而FIFO的读数据是写数据的4倍速,假如读时钟和写时钟都为100 MHz,那么有可能会在某一行里出现FIFO被取空,而无法向屏幕输出有效数据的情况。

为保证FIFO向屏幕输出图像数据的连续性,就要充分利用VBP,VFP,HBP和HFP的时间,在每一行的开始,如果FIFO没满,那么启动FFT进行数据转换。

若图像的分辨率为M×N并且在VBP期间FIFO已被写满,则FIFO,FFT核、行场周期以及图像分辨率间关系的计算公式如下:
(2)
式中:Deepth是异步FIFO的数据深度,单位为B;THSYNC cycle是行周期;Tclk是异步FIFO,FFT核、行场时序控制器模块的驱动时钟周期。

当Δ>0时,系统会连续实时地处理图像;当Δ<0时,会导致在屏幕某些行的有效显示区域没有有效图像数据可供显示,这样就破坏了图像显示的连续性。

可根据以上公式合理设计FIFO深度以及选取合适分辨率的图像。

该设计中,异步FIFO,FFT核、行场时序控制器模块的驱动时钟为100 MHz,FIFO深度为256 B,行周期为336个
Tclk,M为174,N为144,经计算Δ>0。

2 实验仿真结果和测量结果分析。

图4是采用Modelsim 6.5b进行功能仿真的结果。

利用QuartusⅡV9.1自带的TimeQuest Timing Analyzer 进行时序约束后,在实验板上的场信号测量结果如图5所示,场扫描频率已达到368 Hz,经测量其他引脚输出信号也均满足时序要求。

由于FPGA器件资源限制,对图像做了256点FFT变换,经实验验证,该设计能够实现图像的实时处理,代码达到了预期设计效果。

图4 系统功能仿真
3 结语
采用Himax的LCoS屏HX7308BTJFA作为显示器件,其尺寸为14.43
mm×10.69 mm,大小可跟1枚1元硬币相比拟,很容易实现三维投影微显示。

因Ver-ilog HDL有很强的可移植性,便于以后对代码的升级和维护。

FPGA内部资源毕竟有限,文中叙述可知,若显示分辨率较大的图像,光靠内部资源实现异步FIFO是不可能的,所以在此提出两种方案:第一,换一片性能较高的芯片,满足写FIFO速率等于读FIFO速率的要求,这样就能达到读/写数据的动态平衡,保证了图像的连续显示;第二,采用外部存储器SDRAM存储源图像和FFT处理后的数据,采用DDRII技术读取数据,使读/写FIFO的速率匹配。

受FPGA芯片资源限制,该设计采用分辨率为176×144的图像进行了系统功能验证,尚未实现图像滤波以及FFT逆变换,未来可将代码移植在高端的FPGA芯片上继续开发数据处理功能。

图5 场信号实测图
参考文献
[1] 商广辉,代永平,黄茜,等.场序彩色视频控制系统[J].液晶与显示,2007,
22(4):67-69.
[2] 尹霞,符秋丽,杨济民,等.基于SLM 的计算全息三维显示视角扩展编码[J].光子学报,2008,37(6):1144-1147.
[3] 吴厚航.深入浅出玩转FPGA[M].北京:北京航空航天大学出版社,2010(5):44-49.
[4] 刘波.精通Verilog HDL[M].北京:电子工业出版社,2007.
[5] 刘艳艳,代永平,耿卫东,等.单片式彩色LCOS微显芯片电路设计[J].现代显示,2006(3):55-58.
[6] 郑华东,于瀛洁,程维明.三维立体显示技术研究新进展[J].光学技术,
2008,34(3):426-434.
[7] 耿文韬,朱为,堵国梁.单片彩色LCoS显示系统的设计实现[J].现代电子技术,2008,31(12):41-43.
[8] 尹霞,符秋丽,杨济民.基于SLM 的计算全息三维显示视角扩展编码[J].光子学报,2008,37(6):1144-1147.
[9] ATSUSHI Shiraki, NAOKI Takada, MASASHI Niwa, et al. Simplified electroholographic color reconstruction system using graphics processing unit and liquid crystal display projector [J]. OPTICS EXPRESS, 2009, 17(18): 16038-16045.
[10] YASUYUKI I, NOBUYUKI M, MUNENORI T, et al. One-unit system to reconstruct a 3-D movie at a video-rate via electroholography [J]. OPTICS EXPRESS, 2009, 17(22): 19691-19697.。

相关文档
最新文档