摘要:由于人们对立体图像的视觉需求越来越强烈,提出了一种基于迭芬奇技术的三维全息显示系统的研究方案,利用迭芬奇处理器TMS32 0DM6446及其他外围电路和光电设备构建一个嵌入式系统。该系统以嵌入式操作系统即Linux为软件平台,充分利用TMS320DM6446丰富的外设和存储接口并充分发挥ARM926EJ-S强大的控制功能和C64x+DSP强大的数值计算能力。井将最后的三维立体显示图形显示到液晶显示器上,实现数字全息三维显示。结果显示一个原始的图像数据经过该系统处理之后,从各个角度很完美的展现了原来的实物,该研究为图像的三维全息显示提供了一个很好的嵌入式实验平台,具有很好的应用前景及创新价值。
关键词:达芬奇技术;三维全息;DSP;TMS320DM6446
0 引言
在视频创新已经成为数字信息产业热点的今天,人们对立体图像的视觉需求越来越强烈,二维图像的显示效果缺乏真实感、深度感、立体感,早已不能满足人们的感官刺激和心理感受。于是,各种三维立体显示的实现方案不断涌现,全息显示技术是最常见的三维显示技术之一。计算全息是利用计算机来综合全息图,用计算机的数值计算代替物理干涉,它不要求物体的实际存在,只需要知道物光波的数学描述即可,把物光波的数学描述输入到计算机处理后,用成图设备绘制出全息图,然后用光学的方法重现。计算全息图不仅可以全面地记录光波的振幅和相位,而且能综合再现世间不存在的物体的全息图,因而具有独特的优点和极大的灵活性,并且观察者可以不必借助眼镜等辅助装置从各个方向进行观察。
本文结合计算全息三维立体显示技术和达芬奇技术的优点,给出了一种新的三维立体显示方案:利用达芬奇处理器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 结语
本文结合数字全息三维立体显示技术和达芬奇技术的优点,给出了一种全新的三维立体显示方案。结果显示,一个原始的图像数据经过该系统之后,从各个角度很完美地展现了原来的实物。因此该嵌入式系统平台具有很大的使用价值。
上一篇:DSP双模手机的小灵通网络优化分析
下一篇:用DSP实现新型无分电器点火装置
推荐阅读最新更新时间:2024-05-02 21:32