基于Linux的嵌入式红外热成像系统设计

发布者:GoldenSerenity最新更新时间:2012-12-08 来源: 维库开发网关键字:Linux  红外热成像系统  ARM920T 手机看文章 扫描二维码
随时随地手机看文章
系统结构设计

  本系统通过红外焦平面阵列探测器将红外图像送入红外图像采集模块并完成模数转化,转化后的数字信号送入图像校正模块进行非均匀校正、测温和滤波处理,校正后的图像数据再送入图像显示终端,图像显示终端将图像信息进行灰度拉伸、伪彩变换后在终端进行显示,并可完成图像分析、图像存储等多种功能。本系统可应用于远程检测和移动监控等多个领域。系统总体方案如图1所示。

图1红外热成像系统框图

  系统硬件设计

  1 硬件结构

  本文设计的红外成像系统的结构可分为红外镜头、信号预处理、数字信号处理、控制显示四大部分,系统硬件结构如图2所示。红外焦平面阵列探测器完成光电转化功能,信号预处理电路包括视频信号分离电路和视频信号调整电路,预处理后的模拟信号经高速A/D转化后由双口RAM送入DSP。由于DSP具有高速的处理能力,要求DSP能有效地与低速外设连接,否则整个系统的数据处理能力就会受到影响,因此需要把图像数据进行高速缓存。双口RAM具有两套独立的数据、地址和控制总线,因而可从两个端口同时读写而互不干扰,并且具有随机存取的优点,读写具有很大的灵活性。DSP完成红外图像数据的非均匀校正、中值滤波等大运算量处理,减轻ARM的运算负担,因此成像系统具有很强的可靠性和实时性。ARM-Linux完成灰度拉伸、伪彩变换、数据分析处理、红外图像显示及系统控制。

图2 红外热成像系统硬件框图

  2 主要芯片介绍

  ARM处理器体积小、内核耗电少、具有良好的图像处理能力。ARM处理器本身是32位设计,但也配备16位指令集。因此存储器比等价32位代码节省35%,同时保留了32位系统的所有优势。系统处理器采用的是三星公司基于ARM的ARM920T处理器核。本系统选用TI公司的TMS320C6000系列DSP。

  系统软件设计

  本文采用嵌入式ARM-Linux操作系统进行系统管理,在编译内核阶段加入了对红外探测器和LCD的支持,在ARM-Linux操作系统下实现红外成像系统应用程序,利用QT实现红外成像系统的界面控制及红外图像显示功能。

  1 系统控制软件设计

  系统控制程序控制着系统的初始化、参数配置、图像的采集、校正、分析、显示的全过程,其功能主要分为后台的控制和前台的界面及图像动态显示两大部分。显示终端发送命令后,系统开始初始化过程,设定图像采集模式,启动采集过程。接下来系统将连续查询图像采集控制寄存器的值,查询是否完成一幅图像的采集,如果没有完成,继续查询图像采集控制寄存器,直到查询到采集完成一幅图像,启动图像读取子程序,把图像数据送入到DSP中完成滤波及非均匀校正,校正后的图像数据送入到图像显示子程序中,根据用户指定的显示模式,将灰度图显示为伪彩图,并完成相关的分析处理。程序流程如图3所示。[page]

图3 红外热成像系统软件流程图

  2 界面及图像显示程序

  Qt是Trolhech公司推出的一个多平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt具有完全面向对象的特点,很容易扩展,并且允许真正地组件编程。本程序共由QApplication、QWidget、QImageShow和QBmpSave、QtextRemark、QPain五大类组成,其中QimageShow、QBmpSave和QTextRemark是自定义的类。QApplication是QT程序必须有的一个类,每一个QT应用程序都要包含QApplication对象,QApplication管理应用程序各种各样的资源。QWidget类是所有用户界面对象的基类。QimageShow负责红外图像及温度的实时显示。

  QbmpSave负责红外图像的存储,存储格式为16bitBMP格式。QtextRemark实现了注释文件的新建、打开、编辑等常用功能。

  图像显示程序

  采集图像数据为RGB24格式,几个重要函数如下:

  fd=open(INFRARED_DEVICE,O_RDWR);//打开红外探头设备

  pict.palette=VIDEO_PALETTE_RGB24;//设置图像格式

  frames=(unsigned char *)mmap(0,mbuf.size,PROT_READPROT_WRITE,MAP_SHARED,fd,0);//通过内存映射获取图像数据

  构建QimageShow图像表示类,再使用QPaint画图:

  image=QimageShow(frames+ mbuf.offsets[frame],width,height,QImage::Format_RGB 888);

  painter.drawImage(QRect ((width()-w)/2,(height()-h)/2,w,h),m_image,QRect(0,0,m_image.width(),m_image.height()));

  温度动态显示程序

  用ALPHA通道,使用半透明效果实现跟踪鼠标并输出对应点温度(point.x、point.y记录当前鼠标所指向坐标)。

  Int Width,Hight;//定义显示框的高度和宽度Pixmap= QPixmap(100,50);//设定显示框大小

  Pixmap.fill(QColor(255,255,  255,127));//设定温度显示效果为半透明效果

  Painter.drawpixmap(point.x,point.y,pixmap)//跟踪鼠标显示出对应点温度

  BMP位图保存程序

  位图文件(Bitmap-File,BMP)可看成由4个部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、彩色表(color table)和定义位图的字节阵列,它们的名称和符号如表1所示。


  程序先建立存储文件,进行相应的文件信息设置,文件信息的设置要和所采集图像数据一致,否则不能正确显示结果,然后将信息保存到文件中。

参考文献:

[1]. ARM920T datasheet http://www.dzsc.com/datasheet/ARM920T_139814.html.
[2]. TMS320C6000 datasheet http://www.dzsc.com/datasheet/.html.
[3]. frame datasheet http://www.dzsc.com/datasheet/frame_2528858.html.

关键字:Linux  红外热成像系统  ARM920T 引用地址:基于Linux的嵌入式红外热成像系统设计

上一篇:基于SIP协议的IP电话通信系统的组成原理
下一篇:甚于ARM和FPGA的全彩独立视频LED系统

推荐阅读最新更新时间:2024-03-16 13:14

基于tiny4412的Linux内核移植 -- eMMC驱动移植(六)
平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Boot 2010.12 (为支持uImage启动,做了少许改动) busybox版本:busybox 1.25 eMMC:KLMxGxFE3x-x00x 交叉编译工具链: arm-none-linux-gnueabi-gcc (gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-29)) 概述 eMMC驱动在内核中也已经支持好了,代码在:
[单片机]
基于tiny4412的<font color='red'>Linux</font>内核移植 -- eMMC驱动移植(六)
基于Linux的嵌入式闸门智能监控系统
引言 闸门系统是水资源调度中重要的组成部分,国内目前多采用手动和部分电动的操作方式,真正实现闸门的智能控制还少有报道。文中采用的是基于Linux 操作系统的嵌入式技术,实现水利工程闸门的集视频监控与水位、闸位、库容、流量等参数实时监控一体化的本地/ 远程自动监控。 Linux 与嵌入式系统 嵌入式系统是一种以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应实际应用对功能、可靠性、成本、体积、功耗等要求严格的专用计算机系统。它面向特定应用,有较高的可靠性和较长的市场生命周期。由于嵌入式系统的功能越来越复杂,硬件条件越来越好,选择合适的嵌入式操作系统成为系统开发的关键问题。 目前嵌入式系统的开发方法主要有两种:一是依赖现有
[单片机]
基于<font color='red'>Linux</font>的嵌入式闸门智能监控<font color='red'>系统</font>
嵌入式Linux的图像采集与显示
1 系统平台的硬件结构 本文使用的系统平台硬件功能框图如图1所示,该平台采用Samsung公司的处理器S3C2410。该处理器内部集成了ARM公司ARM920T处理器核的32b微控制器,资源丰富,带独立的16kB的指令Cache和16kB数据Cache,LCD控制器、RAM控制器,NAND闪存控制器,3路UART、4路DMA、4路带PWM的Timer、并行I/O口、8路10位ADC、Touch Screen接口,I2C接口,I2S接口、2个USB接口控制器、2路SPI,主频最高可达203MHz。在处理器丰富资源的基础上,还进行了相关的配置和扩展,平台配置了16MB 16b的FLASH和64MB 32位的SDRAM,通过以太网控制器
[单片机]
嵌入式<font color='red'>Linux</font>的图像采集与显示
Ubuntu 24.04 LTS默认采用Linux6.8内核,实验性版本可通过PPA获得
Ubuntu 23.04“Lunar Lobster”在去年 4 月发布,这是一个“短期支持版本”,拥有 9 个月支持周期,目前该发行版的官方支持已经正式结束。 此前许多人在讨论 Ubuntu 24.04 LTS 会采用哪个内核版本,大部分人都认为会是 6.6~6.7。现在 Canonical 工程师 Andrea Righi 宣布将在 Ubuntu 24.04 中采用 Linux 6.8 作为默认内核。 根据 Canonical 公布的更新计划:下一个长期支持 Ubuntu 桌面 / 服务器发行版将采用 Linux 6.8 作为默认内核,预计将于 4 月 25 日发布。 据介绍,新版 Ubuntu Noble 内核的实验版本
[嵌入式]
基于S3C2440的嵌入式Linux驱动——看门狗(watchdog)驱动解读
本文将介绍看门狗驱动的实现。 目标平台:TQ2440 CPU:s3c2440 内核版本:2.6.30 1. 看门狗概述 看门狗其实就是一个定时器,当该定时器溢出前必须对看门狗进行 喂狗“,如果不这样做,定时器溢出后则将复位CPU。 因此,看门狗通常用于对处于异常状态的CPU进行复位。 具体的概念请自行百度。 2. S3C2440看门狗 s3c2440的看门狗的原理框图如下: 可以看出,看门狗定时器的频率由PCLK提供,其预分频器最大取值为255+1;另外,通过MUX,可以进一步降低频率。 定时器采用递减模式,一旦到0,则可以触发看门狗中断以及RESET复位信号。 看门狗定时器的频率的计算公式如下
[单片机]
基于S3C2440的嵌入式<font color='red'>Linux</font>驱动——看门狗(watchdog)驱动解读
ARM920T_内核MMU与cache应用分析
一、cache分类及应用场合 cache是内存和CPU之间的高速缓冲存储器,其分为icache(指令缓存)和dcache(数据缓存)。如果开启了cache,当CPU运行时会将正在运行的指令地址附近的指令或者数据调入cache,这样当运行下一条指令或用到下一条数据时直接从cache中查找,如果查找不到再访问内存,以此加快CPU执行速度。icache可以直接开启,而dcache需要开启MMU之后才能开启。 在启动文件中开启icache的代码可以放在时钟速度配置完成之后,代码如下: bl enable_icache enable_icache: mrc p15, 0, r0, c1, c0, 0 orr r0,
[单片机]
ARM920T_内核MMU与cache应用分析
arm-linux-gcc 裸机程序开发(二)
NANDFLASH启动与标准库问题 把u-boot的start.S移植到我的程序上,这样程序可以用supervivi的D功能下载到内存中运行了,但是还不够。因为程序在内存里,如果掉电程序就没有了,所以我们得将程序固化在flash里面。这里我们要固化在NandFlash里,这就要求程序可以能够NandFlash启动。这里我参考了mini2440的nandlfash读写程序nand.c,里面有一个函数CopyProgramFromNand就是将Nandflash里的程序复制到内存里。在这之前我一直用u-boot默认的下载地址0x33f80000,这个是为了u-boot引导内核方便而定的,因为内核要下载到前面的内存中,既然我的程序没
[单片机]
AMX推出基于Wind River Linux的标准化Modero系列触摸屏面板
全球领先的设备软件优化(DSO)厂商风河系统公司(Wind River)日前宣布,AMX推出采用Wind River Linux平台的标准化Modero系列触摸屏面板。Wind River Linux是风河公司提供的业界领先的商用级Linux平台。AMX在与风河公司达成此次合作关系前,进行了一项全面的投资回报率(RIO)分析,结果显示采用Wind River Linux替代自行开发Linux平台,预计可节省近200万美元的成本。此外,采用Wind River Linux平台进行标准化产品开发,通过风河Workbench On-Chip Debugging工具集和全球顶尖的技术支持服务,AMX的工程师们可获得更高的开发和生产效率。 A
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved