- UID
- 1029342
- 性别
- 男
|
eed和cfsetospeed来实现,如本设计采用的是9600波率,可以通过cfsetispeed(&newtio, B115200);和cfsetospeed(&newtio, B115200);语句来实现波特率的设置。2.4光谱数据的精度控制
光谱数据的精度是决定仪器优劣的一个重要指标,为了确保系统的光谱数据精度,设计通过增加采集信号精度,减少外界引入的噪声这两个方面来实现对光谱数据信噪比的提高。采集系统中ADC芯片采用了24位带数字滤波的ADC,精度可达224,在噪声控制方面,为了减少系统的噪声,设计中对光学以及电学系统都做了屏蔽。在光学系统的整个外壳喷上了黑漆,以避免外界光的干扰。在电学上减少了对有源器件的使用,并且每个有源器件都具有独立的屏蔽,以减少电噪声的引入。经过实验测量,设计中的光谱数据采集精度可达到4位半的精度。
3.软件设计
3.1基于ARM9下Linux系统的串口应用程序设计
由于嵌入式控制系统中所选取的核心微处理器是植入了Linux 2.4.18内核的ARM9开发板,具体串口模块的打开以及读,写应用程序是由基于Linux下的C编程来完成。具体的流程图如下所示:
图(3)串口打开及设置流程图 串口模块打开后,ARM微处理器通过串口模块与单片机、热敏打印机进行通信,实现对光谱数据接收和打印的功能。
3.2基于嵌入式QT的人机交互界面应用软件设计
人机交互界面主要是利用基于Linux下的图形界面设计开发工具Qt/Embedded来实现。QT是挪威Trolltech 公司的一个标志性产品。它的开发语言是C++.,它为跨平台的软件开发者提供统一的,精美的图形用户编程接口,还提供了统一的网络和数据库操作的编程接口,这使得Linux这些操作系统以更加方便、精美的人机界面走近普通用户。Qt/Embedded是以原始的QT为基础,做出了许多调整以适用于嵌入式环境。Qt/Embedded是面向嵌入式系统的QT版本,是QT的嵌入式Linux窗口,是完整的自包含C++ GUI和基于Linux的嵌入式平台开发工具。
光谱采集定标应用软件设计包括了编译环境的建立和应用软件程序的编译两个部分构成。
3.2.1编译环境的建立
完整建立交叉编译环境需要用到的软件工具包包括:tmake-1.11或更高版本的tmake工具包、Qt/Embedded2.3.7安装包和Qt2.3.2 for X11版的安装包。首先将tmake-1.11工具包解压,得到tmake工具。tmake工具是用于生成应用程序中的Makefile。然后安装Qt/X11 2.3.2用于生成应用程序界面设计工具designer和应用程序界面的C++源程序、头文件的转化工具uic。其中必须注意的一点是uic和designer工具的源文件会和Qt/Embedded的库一起编译,所以根据“向前兼容”的原则,Qt for X11 的版本应比Qt/Embedded的版本旧。最后是对基于X86架构下的Qt/Embedded和基于ARM架构下的Qt/Embedded库进行编译,分别得到基于主机PC下的QTE编译库和基于ARM目标板下的QTE编译库。
3.2.2应用软件程序的编译
光谱采集定标应用软件程序编译利用Qt/X11中的designer工具进入QT图形界面设计器进行界面设计,生成以ui为后缀的界面图形文件。再利用uic工具生成图形界面文件所对应的C++源码及头文件。用vi建立应用软件的主程序和项目文件用于说明相关文件间的依赖关系。利用tmake工具生成应用软件的Makefile,最后通过g++交叉编译生成基于ARM架构下的可执行光谱采集定标应用软件程序的二进制文件,将其挂载到ARM板下便可运行。用户通过点触触摸屏就可以对测量的样品进行测量和定标。下面是软件具体的设计流程图。
图(4)软件工作流程 4.结束语
本设计利用了ARM开发板的丰富接口模块实现了近红外光谱仪器的光谱数据采集和打印机的控制。并通过QT编程实现了基于触摸屏的人机交互平台,使用者通过简单的点触操作就可以对一些物质进行分析。基于ARM微处理器的嵌入式近红外光谱仪器使用和操作更为简便是本设计的一大亮点,并且该嵌入式系统可加用于其它类型的光学系统,形成不同类型的光谱仪器,具有一定的普遍适用性。
本文作者创新点:在光谱数据采集系统中采用了24位带数字滤波器的ADC,使到仪器的精度有了一定的提高, 光谱数据采集精度可得到4位半。另一方面在仪器的嵌入式控制系统中选用了ARM微处理器取代了以往的单片机,使到定标等分析软件脱离对微机的依赖。 |
|