基于达芬奇技术的三维全息显示系统研究

嵌入式设计应用

132人已加入

描述

 

  本文结合计算全息三维立体显示技术和达芬奇技术的优点,给出了一种新的三维立体显示方案:利用达芬奇处理器TMS320DM6446及其他外围电路构建一嵌入式系统,并实现计算全息三维显示。该系统以嵌入式操作系统——Linux为软件平台,利用Monta Vista Linux提供的丰富的设备驱动和系统调用,充分利用TMS320DM6446丰富的外设和存储接口并充分发挥ARM926EJ-S的强大的控制功能和C64x+DSP强大的数值计算能力。并将最后的三维的立体显示图形显示到分辨率为1 024×768的LCOS液晶显示器上,为图像的三维全息显示研究提供了一个很好的嵌入式平台。

  1 基于达芬奇技术的三维全息显示系统

  该系统用达芬奇处理器TMS320DM6446代替通用计算机实现二维全息图的计算编码,其中ARM子系统对整个系统进行控制,DSP子系统完成二维计算全息编码以及三维物体全息图的计算。整个系统是以达芬奇处理器TMS320DM6446及其外围电路、LCOS和其他光电设备组合而成的嵌入式系统。

  1.1 基于TMS320DM6446的计算全息三维显示系统

  该系统软件和硬件均采用模块化设计。软件上,ARM和DSP子系统分别支持Linux和DSP/BIOS操作系统,可以相对独立的工作,这样的划分符合系统软件模块化的设计要求,便于各部分的并行开发和调试,利于项目组各成员的分工协作,后期软件测试符合由单元测试到集成测试再到系统测试的测试原则,缩短系统的开发周期,降低设计成本。总体结构框图如图1所示。

  

三维全息

 

  将原始的图像数据通过USB接口输送到达芬奇处理器TMS320DM6446中,然后对数据进行FFT变换,对变换之后的数据实现计算全息算法,进行逆变换之后的图像数据送到LCOS显示器上,最终实现图像的三维显示。其中,FFT变换、计算全息以及FFT的逆变换是在DSP的子系统内进行的,而ARM子系统通过控制总线控制DSP数据处理子系统。上位机可以通过JTAG接口实现对系统的控制和二次开发。此处键盘设置为4×4的独立键盘,目的就是为了对系统进行设定,实现数据的输入和命令的传送。

  1.2 液晶显示器LCOS的特点

  LCOS(Liquid Crystal on Silicon)是一种新型的反射式液晶显示器件,与传统的显示技术相比具有光利用率高、体积小、开口率高、尺寸小等优点。LCOS显示文字或图像信息的原理与普通液晶显示的原理大致相同,利用液晶分子具有很强的诱导偶极矩的特性,通过外加电场作用使液晶分子的排列与外加电场相关。

  显示系统选用像素为1024×768的HX7308BTJFA的液晶显示器。HX7308BTJFA嵌入了定时控制器用来产生内部控制信号,并且该芯片显示图像质量和对比度很高的图像。HX7308BTJFA在每个时钟的上升沿和下降沿从外部接收8 b×4点的数字显示数据并且产生相应的灰度的输出电压值。其内部系统框图如图2所示。

  

三维全息

 

  2 ARM与DSP的开发

  该系统的处理器是TMS320DM6446,它是一个DSP+ARM的双核架构的芯片,对于ARM和DSP要选择不同的开发工具。该系统是ARM中运行操作系统Linux,而对于DSP需要CCS仿真器来进行开发调试。

  2.1 嵌入式linux系统开发

  嵌入式软件开发需要交叉编译环境,因为需要在主机平台上生成目标平台上的可执行代码。首先在主机Linux上安装搭建交叉编译环境,然后通过交换机使用共享文件系统方式将嵌入式bootloder和Linux内核镜像下载到目标板上,并启动嵌入式Linux内核。然后就可以在主机Linux的交叉编译环境下开发应用程序,并将生成的可执行代码下载到目标板上。

  这样,通过Linux提供的丰富的应用接口函数APIs,用户可以将DSP视作黑盒子,只需调用这些API就可以使用DSP端的编解码功能,而DV-SDK开发套件可以为DSP端的直接编程提供支持。

  2.2 CCS上FFT运算的实现

  FFT是傅里叶变换的快速算法,可以将一个信号变换到频域。有些信号在时域上很难看出其特性,但是如果变换到频域以后,就很容易看出是什么特性的。所以很多信号分析选择采用FFT变换。另外FFT可将一个信号的频谱提取出来,这在频域分析方面也是经常用到的。

  2.3 DSPLIB库函数功能

  TMS320C64X+系列的函数库(DSPLIB)是对C语言编程可调用优化的DSP库函数,它全部由汇编语言编写,并可由C语言调用,方便C语言与汇编语言混合编程。这些程序用在计算强度大、执行速度重要的实时运算中。通过使用这些程序,可以取得较用C语言编写的相关程序快的多的运行速度,另外通过使用现成的程序可以使开发速度大大加快。DSPLIB可进行的运算有:FFT运算、滤波与卷积运算、自适应滤波运算、相关运算、三角函数运算等。

  2.4 FFT运算

  DSPLIB提供的FFT运算为基2的时间抽取算法。运算可以直接调用void cfft(DATA x,nx,shortscale)。其中:x[2*nx]为输入/输出数据存储数组;nx为FFT的运算长度;scale为归一化设置变量;scale=1是进行归一化设置变量,scale=0是不进行归一化运算。归一化功能使得输出结果被运算长度n所除,目的是为了防止FFT运算结果可能导致溢出。以一个简单的程序说明DSPLIB的使用。在该程序中输入数据放在x[512]数组中,运算后结果仍在x[512]数组中。

  

三维全息

 

  这样就完成了DSP内一个运算长度为256点的FFT变换。

  3 结果分析

  对频率为50 Hz的方波信号进行了频谱分析,采样点数为128,并调整采样频率,使得128点的采样时间为40 ms,即输入2个信号的周期。在通过DSP的集成开发环境(CCS)观看结果,如图3、图4所示。

  

三维全息
三维全息

 

  4 结语

  本文结合数字全息三维立体显示技术和达芬奇技术的优点,给出了一种全新的三维立体显示方案。结果显示,一个原始的图像数据经过该系统之后,从各个角度很完美地展现了原来的实物。因此该嵌入式系统平台具有很大的使用价值。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分