基于ARM嵌入式近紅外光譜儀器的研制
關鍵詞:近紅外光譜儀;ARM處理器;嵌入式系統(tǒng)
1. 引言
近紅外光譜主要是由分子振動的非諧振性使分子振動從基態(tài)向高能級躍遷時產(chǎn)生的,記錄的主要是含氫基團C-H、O-H、N-H等振動的倍頻和合頻吸收[1],具有豐富的物質(zhì)結(jié)構(gòu)和組成信息,非常適合用于碳氫有機物質(zhì)的組成性質(zhì)測量。近紅外光譜作為迅速崛起的光譜分析技術在分析測試領域中起的作用越來越引起人們關注,由于樣品在分析時基本不需要處理,且不破壞和消耗樣品,自身又無環(huán)境污染,近紅外光譜分析技術堪稱是綠色分析儀器的典型代表[2],該技術已廣泛應用于各領域包括農(nóng)作物質(zhì)量檢測、食品成分分析、藥物制劑分析、血氧的測定、石化工業(yè)分析、煙草行業(yè)中的應用等,是分析領域中最為活躍的熱點。
文中采用基于ARM9內(nèi)核的嵌入式系統(tǒng)S3C2410A為核心開發(fā)近紅外光譜分析儀器。 作為32位的RISC(Reduced Instruction Set Computing)架構(gòu),基于ARM核的微控制器芯片具有較高的運行速度、較大的地址空間、低功耗和高性價比,具備在其上運行一個完整的嵌入式操作系統(tǒng)的能力,已遍及工業(yè)控制、消費類電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡系統(tǒng)、無線系統(tǒng)等各類產(chǎn)品市場。利用ARM來開發(fā)近紅外光譜分析儀器,以觸摸屏作為人機交換平臺,取代了傳統(tǒng)的鍵盤,脫離了定標等分析軟件對微機的依賴,最終使用戶在指引下通過簡單的操作對樣品進行檢測。
2. 儀器結(jié)構(gòu)與工作原理設計
2.1總體結(jié)構(gòu)
本設計是基于ARM微處理器的濾光片型近紅外光譜儀??傮w結(jié)構(gòu)如圖(1)所示。光學系統(tǒng)中的光電檢測信號經(jīng)過ADC后,并行輸入到單片機中進行初步數(shù)據(jù)處理,再由單片機串行發(fā)送到ARM微處理器中,利用ARM微處理器對光譜數(shù)據(jù)進行定標和分析,以及實現(xiàn)對光學系統(tǒng)、打印機和顯示操作系統(tǒng)的控制。
圖(1)總體結(jié)構(gòu)圖
2.2儀器光學原理結(jié)構(gòu)
在近紅外光譜測量技術中,對于分立波長型儀器是測量幾個特定波長的光譜數(shù)據(jù),并建立樣品濃度與這些數(shù)據(jù)的關系。濾光片型的近紅外儀器屬于分立波長測量儀器,設計分別選取了在近紅外光譜區(qū)內(nèi)的11塊不同透射波長的窄帶干涉濾光片作為光譜儀器的分光系統(tǒng)。工作原理是:由光源發(fā)出的光經(jīng)過濾光片得到一定帶寬的分析光,當光進入樣品內(nèi)部后,通過與樣品內(nèi)部的漫反射作用返回表面,由光電檢測器進行檢測。漫反射光是分析光和樣品內(nèi)部分子發(fā)生了相互作用后的光,因此負載了樣品的結(jié)構(gòu)和組成信息,可用于樣品成分測量。在測量過程中通過對濾光片盤的轉(zhuǎn)動來得到不同波長的光,從而實現(xiàn)分光。
2.3 儀器的電學原理結(jié)構(gòu)
本設計分為光譜數(shù)據(jù)采集系統(tǒng)和嵌入式控制系統(tǒng)兩部分。
圖(2)電學原理設計圖
2.3.1光譜數(shù)據(jù)的采集系統(tǒng)
光譜數(shù)據(jù)的采集系統(tǒng)是由緊貼光傳感器的ADC芯片和單片機來實現(xiàn)的。光譜信號的信噪比是儀器穩(wěn)定性的重要指標。光譜數(shù)據(jù)采集系統(tǒng)要盡量避免光譜采集過程中噪聲的引入和光譜信號的減弱,從而保證光譜數(shù)據(jù)采集的精度。因此,在光譜數(shù)據(jù)采集系統(tǒng)的設計中將ADC芯片緊貼光傳感器,由單片機對光譜數(shù)據(jù)進行采集和初步處理后傳輸?shù)紸RM微處理器中,這樣的設計可以減少數(shù)據(jù)的傳輸距離,避免因長距離傳輸而引入噪聲,從而達到提高信噪比的目的。
2.3.2嵌入式控制系統(tǒng)
嵌入式控制系統(tǒng)采用的處理器是由SAMSUNG公司推出的16/32位RISC處理器S3C2410A。S3C2410A提供了豐富的內(nèi)部設備其中包括:LCD控制,支持NAND Flash系統(tǒng)引導,3通道UART,4通道DMA, I/O端口,RTC,8通道10位ADC和觸摸屏接口,IIC-BUS接口, USB設備,SD主卡MMC卡接口,2通道的SPI以及內(nèi)部PLL時鐘倍頻器等。S3C2410A采用了ARM920T內(nèi)核,它的低功耗、精簡和出色的全靜態(tài)設計特別適用于對成本和功耗敏感的應用。利用ARM微處理器實現(xiàn)光譜數(shù)據(jù)的接收、定標、打印,人機交互界面和光學系統(tǒng)控制三大模塊功能。
光譜數(shù)據(jù)接收和數(shù)據(jù)打印都是利用ARM板中RS-232標準串口通信模塊來實現(xiàn)。S3C2410內(nèi)部具有兩個獨立的UART控制器,每個UART均具有16字節(jié)的FIFO,支持的最高波特率可達到230.4Kbps。對ARM中的串口的設置主要是通過編寫串口通信協(xié)議程序來實現(xiàn)。本設計采用的是異步通信的格式。數(shù)據(jù)位寫入主要是通過對8位數(shù)據(jù)傳送接收緩沖區(qū)寄存器URXH1、URXH2的寫入來實現(xiàn),緩沖區(qū)寄存器寄放傳送/接收的數(shù)據(jù)字符。在字符數(shù)據(jù)傳送/接收過程中,數(shù)據(jù)位從最低位開始發(fā)送。數(shù)據(jù)位發(fā)送完后,不設置發(fā)送奇偶校驗位,數(shù)據(jù)位之后發(fā)送的是停止位,設置停止位是通過清零c_cflag中的CSTOPB來實現(xiàn)。波特率設置通過函數(shù)cfsetispeed和cfsetospeed來實現(xiàn),如本設計采用的是9600波率,可以通過cfsetispeed(newtio, B115200);和cfsetospeed(newtio, B115200);語句來實現(xiàn)波特率的設置。
2.4光譜數(shù)據(jù)的精度控制
光譜數(shù)據(jù)的精度是決定儀器優(yōu)劣的一個重要指標,為了確保系統(tǒng)的光譜數(shù)據(jù)精度,設計通過增加采集信號精度,減少外界引入的噪聲這兩個方面來實現(xiàn)對光譜數(shù)據(jù)信噪比的提高。采集系統(tǒng)中ADC芯片采用了24位帶數(shù)字濾波的ADC,精度可達224,在噪聲控制方面,為了減少系統(tǒng)的噪聲,設計中對光學以及電學系統(tǒng)都做了屏蔽。在光學系統(tǒng)的整個外殼噴上了黑漆,以避免外界光的干擾。在電學上減少了對有源器件的使用,并且每個有源器件都具有獨立的屏蔽,以減少電噪聲的引入。經(jīng)過實驗測量,設計中的光譜數(shù)據(jù)采集精度可達到4位半的精度。
3.軟件設計
3.1基于ARM9下Linux系統(tǒng)的串口應用程序設計
由于嵌入式控制系統(tǒng)中所選取的核心微處理器是植入了Linux 2.4.18內(nèi)核的ARM9開發(fā)板,具體串口模塊的打開以及讀,寫應用程序是由基于Linux下的C編程來完成。具體的流程圖如下所示:
圖(3)串口打開及設置流程圖
串口模塊打開后,ARM微處理器通過串口模塊與單片機、熱敏打印機進行通信,實現(xiàn)對光譜數(shù)據(jù)接收和打印的功能。
3.2基于嵌入式QT的人機交互界面應用軟件設計
人機交互界面主要是利用基于Linux下的圖形界面設計開發(fā)工具Qt/Embedded來實現(xiàn)。QT是挪威Trolltech 公司的一個標志性產(chǎn)品。它的開發(fā)語言是C++.,它為跨平臺的軟件開發(fā)者提供統(tǒng)一的,精美的圖形用戶編程接口,還提供了統(tǒng)一的網(wǎng)絡和數(shù)據(jù)庫操作的編程接口,這使得Linux這些操作系統(tǒng)以更加方便、精美的人機界面走近普通用戶。Qt/Embedded是以原始的QT為基礎,做出了許多調(diào)整以適用于嵌入式環(huán)境。Qt/Embedded是面向嵌入式系統(tǒng)的QT版本,是QT的嵌入式Linux窗口,是完整的自包含C++ GUI和基于Linux的嵌入式平臺開發(fā)工具。
光譜采集定標應用軟件設計包括了編譯環(huán)境的建立和應用軟件程序的編譯兩個部分構(gòu)成。
3.2.1編譯環(huán)境的建立
完整建立交叉編譯環(huán)境需要用到的軟件工具包包括: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++源程序、頭文件的轉(zhuǎn)化工具uic。其中必須注意的一點是uic和designer工具的源文件會和Qt/Embedded的庫一起編譯,所以根據(jù)“向前兼容”的原則,Qt for X11 的版本應比Qt/Embedded的版本舊。最后是對基于X86架構(gòu)下的Qt/Embedded和基于ARM架構(gòu)下的Qt/Embedded庫進行編譯,分別得到基于主機PC下的QTE編譯庫和基于ARM目標板下的QTE編譯庫。
3.2.2應用軟件程序的編譯
光譜采集定標應用軟件程序編譯利用Qt/X11中的designer工具進入QT圖形界面設計器進行界面設計,生成以ui為后綴的界面圖形文件。再利用uic工具生成圖形界面文件所對應的C++源碼及頭文件。用vi建立應用軟件的主程序和項目文件用于說明相關文件間的依賴關系。利用tmake工具生成應用軟件的Makefile,最后通過g++交叉編譯生成基于ARM架構(gòu)下的可執(zhí)行光譜采集定標應用軟件程序的二進制文件,將其掛載到ARM板下便可運行。用戶通過點觸觸摸屏就可以對測量的樣品進行測量和定標。下面是軟件具體的設計流程圖。
圖(4)軟件工作流程
4.結(jié)束語
本設計利用了ARM開發(fā)板的豐富接口模塊實現(xiàn)了近紅外光譜儀器的光譜數(shù)據(jù)采集和打印機的控制。并通過QT編程實現(xiàn)了基于觸摸屏的人機交互平臺,使用者通過簡單的點觸操作就可以對一些物質(zhì)進行分析?;贏RM微處理器的嵌入式近紅外光譜儀器使用和操作更為簡便是本設計的一大亮點,并且該嵌入式系統(tǒng)可加用于其它類型的光學系統(tǒng),形成不同類型的光譜儀器,具有一定的普遍適用性。
本文作者創(chuàng)新點:在光譜數(shù)據(jù)采集系統(tǒng)中采用了24位帶數(shù)字濾波器的ADC,使到儀器的精度有了一定的提高, 光譜數(shù)據(jù)采集精度可得到4位半。另一方面在儀器的嵌入式控制系統(tǒng)中選用了ARM微處理器取代了以往的單片機,使到定標等分析軟件脫離對微機的依賴。
5.參考文獻:
[1].王燕嶺.《近紅外光譜技術基礎理論與應用綜述》[Z].北京英賢儀器有限公司,2004,4
[2].嚴衍祿,趙龍蓮,韓東海.《近紅外光譜分析基礎與應用》[M].第一版,中國輕工業(yè)出版社,2005
[3].周蓓,王典洪,宋俊磊.ARM在信息家電方面的應用[J].微計算機信息,2006,2-2:126-128。
[4].《SAMSUNG S3C2410A中文數(shù)據(jù)手冊》[Z].杭州立宇泰電子有限公司
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論