分类:
2008-05-08 15:53:52
从带有扫描装置的第一代热像仪到焦平面阵列式结构的凝成像红外热像仪,红外热像仪已从笨重、操作复杂发展成为轻巧、操作方便简洁的手持设备。
高性能处理器芯片的不断发展,给红外热像仪带来了新的动力。利用恰当的处理器,可以提高图像的处理速度,并设计出更精巧的产品。本文就此讨论基于非制冷焦平面探测器和高性能双核处理器OMAPl510的红外热像仪的设计。
1 硬件体系结构
由于被测目标物体红外辐射的热像分布图信号非常弱,与可见光图像相比,缺少层次和立体感。因此,在实际探测过程中为更有效地判断被测目标的红外热分布场,常采用一些辅助措施增加仪器的实用功能,如图像亮度/对比度的控制、实标校正、伪色彩描绘等高线和直接进行数学运算,打印等。
本便携式红外热像仪主要由具有320×240非制冷焦平面探测器的红外摄像头、预处理单元、OMAPl510处理器及其外围器件组成,如图1所示。
通过红外摄像头采集的320×2AO图像数据量较大,自探测器转换而来的电信号经采样后,先经过预处理模块,将数据转换成16位数据交由OMAPl510处理。l510则需要对图像数据进行窗位窗宽处理、256色的伪彩转换、亮度对比度调节等,并最终在320×240的液晶屏上显示。
OMAPl510处理器是TI公司生产的高性能单芯片双核处理器.它主要由TMS320C55x DSP内核、低功耗增强型ARM925T。微处理器、交通控制器(Traffic Controller)、强大的DMA控制器和丰富的外围设备等组成。
TI增强型ARM925T核采用ARM RISC体系结构,工作主频为175MHz。它包括存储器管理单元、16KB的高速指令缓冲存储器(Cache)、8KB的数据高速缓冲存储器和17个字的写缓冲器。片内有1.5MB的内部SRAM,为液晶显示等应用提供大量的数据和代码存储空间。它有13个内部中断和19个外部中断,采用两级中断管理。此外,核内还有ARM CPl5协处理器和保护模块。
C55x DSP核具有最佳的功耗性能比,工作主频为200MHz。它增加了三个硬件加速器:离散余弦变换,反相离散余弦变换加速器、运动估计运算加速器和半像素插值加速器。C55x DSP核内部有32K字的双存取SRAN,48K字的单存取SRAM和12K字的高速指令缓存。此外,核内还包含存储器管理单元(MMU)、两级中断管理器和直接存储器访问(DMA)控制器。
交通控制器是ARM925T处理器与各存储芯片进行数据交换的中枢,同时也控制DSP、DMA控制器及本地总线接口对各存储器的访问。根据片外存储器的特性,交通控制器可以灵活配置访问的字宽、周期及整字访问的突发式访问。
OMAPl510芯片具有丰富的外围接口,如液晶控制器、存储器接口、摄像头接口、蓝牙接口、通用异步收发器、I2C主机接口、脉宽音频发生器、串行接口、主客户机USB口、安全数字多媒体卡控制器(SD/MMC)接口、键盘接口等。
2 软件构架
软件构架如图2所示。MPU侧加载嵌入式Linux操作系统,实现对前端图像数据的读取,对LCD、触摸屏、键盘、SD卡等设备的访问,与DSP的通信,以及Qt应用程序的运行等。应用程序对LCD等外围设备的访问都由相应的Linux驱动程序实现。MPU对DSP的访问也是把DSP当作设备,在MPU倒加载所谓的DSP驱动实现。DSP侧在DSP/BIOS的基础上构造进行数据处理的任务(tasks),对图像数据进行运算处理,如窗位窗宽调节、伪彩查色、亮度和对比度调节等。 MPU与DSP之间的通信有三种实现方式:mailbox寄存器、MPU接口和共享内存。
(1)MPU/DSP mailbox寄存器
MPU与DSP处理器通过mailbox中断机制通信。在公共TIPB空间有4个mailbox寄存器设备被双核共享。其中,2个mailbox寄存器用来让MPU发消息并向DSP发出中断信号,另外2个用来让DSP发消息并向MPU发出中断请求信号。每个mailbox寄存器设备由2个16位寄存器和l位标志寄存器组成。发出中断的处理器可以用一个16位寄存器发送一个字节的数据给接收中断的处理器,而用另一个16位寄存器发送一个字的命令。
当一个处理器向命令寄存器写入合适的命令字并对另一个处理器产生中断,设置了合适的标志寄存器,通信即实现。接收中断方的处理器通过读取命令字、清除标志寄存器确认这次中断。此时每个mailbox寄存器中的数据寄存器有效,可以传送2个字的数据。
(2)MPU Interface(MPU)
MPUI允许MPU、系统DMA控制器与DSP及其外围通信。MPUI允许访问所有的DSP内存空间(16MB)和公有外围总线。所以,MPU和系统DMA控制器都有访问完整的DSP I/O空间(128KB)的读写权限,包括DSP公有的外围控制寄存器。
(3)MPU/DSP共享内存
OMAP1510通过交通控制器(Traffic Controller)实现了一种共享内存结构。所以,MPU和DSP都可以访问相同的共享内存SRAM(192KB)及EMIFF、EMIFS内存空间。MPU通过DSP的内存管理单元。MMU确定DSP的哪块区域为可以用来访问的共享内存。通过分配共享内存区域,定义好MPU和DSP之间访问此共享内存的协议,处理器之间的交流机制即可实现。
本系统MPU与DSP的通信是结合mailbox寄存器和共享内存实现的。由于图像数据较大,而mailbox的寄存器每次通信只能发送2×16bits的数据,所以仅用mailbox不能高效地实现大数据量的共享。共享内存虽然可以让MPU与DSP共享一段内存。但却缺少同步机制。用mailbox registers建立握手信号(中断),可以使MPU和DSP同步访问共享内存。当MPU将原始数据写入共享内存后,通过写mailbox发送消息并向DSP发出中断信号来通知DSP处理数据;而当DSP处理数据完毕,也通过写mailbox寄存器发送消息并向MPU发出中断信号,通知MPU数据准备好。
在测试过程中发现,MPU和DSP在通过mailbox通信时会有延时,当数据量、运算量较小时,采用双核机制的效率较低;而当数据量和运算量较大时,双核机制远比仅用MPU时效率高。MPU与DSP通信之问的延时对整个系统的影响不大。本系统在动态显示320×240、16位的图像数据时,DSP对数据做窗位窗宽处理、伪彩查表,并将数据转换成LCD可接收的5—6—5格式,显示速率约为18帧/秒。而这些操作都交由MPU处理时,显示速率只有11.5帧/秒。
3 Qt应用程序设计
面向嵌入式系统的GUI主要有MiniGUI、OpenGUI、MicomWindows、Ot/Embedded几种。本系统采用Qt/Embedded。
Qt是挪威Troll Tech开发的一个多平台的C++图形用户界面工具包。它使用C++语言,具有面向对象编程的特点,因而采用Qt编写的程序易懂且易于维护。
Qt/Embedded是基于有帧缓冲(frame-buffer)支持的Linux嵌入式平台的独立的C++图形用户界面应用程序平台的开发工具。它包含一套完整的GUI类、操作系统封装、数据结构类、效用和综合类,可直接对framebuffer写操作,避免用户使用复杂的Xlib/Xserver系统。它对嵌入式用户提供全部源码,并允许修改及进一步调试。在Qt/embedded的移植过程中,当所使用的设备(如触摸屏、键盘)不是Qt所支持的标准控件时,需要修改Qt/embedded源代码,以实现Qt程序对设备的响应。
本系统Qt应用程序图像显示部分的软件流程如图3所示。其用户界面具有窗口风格,从主菜单中选择不同选项,可以弹出相应的功能窗口:全屏显示红外热图;回放保存在存储卡上的图像(BMP位图);删除存储卡上的图像、感兴趣点温度显示等。点击窗口上的退出按钮,可以关闭相应功能窗口。操作过程既可以通过按键完成,也可以通过点击触摸屏实现。整个GUI界面风格简洁,操作简单。
本文通过红外的开发设计过程,说明了非制冷红外探测热像仪的原理,探讨了OMAPl510手持终端的实现方法。由此设计出的红外热像仪的各项性能指标都达到了较高水平,如可以实现红外热像的高速动态摄像、图片存储到SD卡、图片回放、USB口图像传输等功能。实践表明,双核结构的系列是一种处理能力强、功耗低、结构紧凑的嵌入式系统芯片。它将在需要较强处理能力的便携式装置中表现出优良特性。
原来来自: