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