由于人們對數(shù)字形式信息的需求量越來越大,,數(shù)據(jù)采集及其應用技術受到了越來越廣泛的關注和應用。隨著技術的發(fā)展,,數(shù)據(jù)采集系統(tǒng)正向著高精度、高速度,、穩(wěn)定可靠和集成化的方向發(fā)展,。目前,大多數(shù)的數(shù)據(jù)采集監(jiān)控系統(tǒng)都是獨立的系統(tǒng),,只能進行數(shù)據(jù)的現(xiàn)場采集或存儲,,已不能滿足應用的需要,迫切要求接入網(wǎng)絡實現(xiàn)遠程監(jiān)控?,F(xiàn)代數(shù)據(jù)采集技術的發(fā)展是建立在新型采集系統(tǒng)軟硬件平臺性能提高的基礎之上的,。具有強大功能的32位微控制器在一些高端儀器儀表中得到了廣泛的應用,,而將GPRS無線傳輸模塊嵌入其中,將采集到的數(shù)據(jù)以無線的方式接入Internet,,實現(xiàn)遠程監(jiān)控,,非常適合工作人員在比較惡劣的環(huán)境下或者需要對多種參量進行采集時使用。而高性能微處理器的應用也極大提高了數(shù)據(jù)采集的精度和速度,。
1 系統(tǒng)整體方案
整個遠程多路數(shù)據(jù)采集系統(tǒng)如圖1所示,。當無線終端成功連接到互聯(lián)網(wǎng)后,采集終端將傳感器采集到的數(shù)據(jù)經(jīng)放大濾波后發(fā)送到ARM微控制器,,經(jīng)過A/D轉換以及相關處理后,,通過RS232口將數(shù)據(jù)發(fā)送到GPRS無線終端,GPRS無線終端又將這些數(shù)據(jù)打成一個個的IP包,,經(jīng)GPRS空中接口接入無線網(wǎng)絡,,并由移動通信服務商轉接到Internet,最終通過各種網(wǎng)關和路由到達統(tǒng)一的遠程數(shù)據(jù)處理中心,,數(shù)據(jù)中心接收數(shù)據(jù)并對數(shù)據(jù)做后續(xù)處理,。
遠程數(shù)據(jù)中心也可以發(fā)送數(shù)據(jù)信息(各種命令及診斷信息)到無線數(shù)據(jù)采集模塊,通過GPRS終端上的RS232接口輸出到ARM微控制器上,,采集終端在接收到遠程數(shù)據(jù)中心的信息后,,進行解碼并執(zhí)行相應的操作,以實現(xiàn)對采集現(xiàn)場的控制,。
GPRS無線終端嵌入了TCP/IP協(xié)議和UDP協(xié)議(用戶可選),,本系統(tǒng)采用TCP/IP協(xié)議,實際上GPRSDTU上實現(xiàn)的協(xié)議棧是TCP/IPOverPPP,。
圖1 GRPS無線數(shù)據(jù)采集終端
2 硬件組成
2.1 傳感器及放大器
理論上,,該系統(tǒng)可以同時進行16路數(shù)據(jù)的采集,但在實際的調(diào)試中,,只選用了2路來做模擬,。
一路選用溫度傳感器,表面/液體熱電偶NR281530,,獲取實時現(xiàn)場的溫度,,另一路采用壓力傳感器,PPM241BY油井專用型壓力傳感器,,此系統(tǒng)在油田油井中具有較好應用,。
在前端信號處理單元,由于各種傳感器的輸出參數(shù)不同,,輸出信號不僅電平低,、內(nèi)阻高,而且有共模電壓以及現(xiàn)場惡劣環(huán)境的影響,,因此,,在選用放大芯片時要綜合考慮以上因素,。選取常用的MCP6S2X可編程增益放大器對原始信號進行放大,OP07CP做后續(xù)濾波芯片,。
2.2 微處理器
微處理器是系統(tǒng)工作的核心,,其性能的好壞直接決定了數(shù)據(jù)采集系統(tǒng)性能的優(yōu)劣?;诒静杉到y(tǒng)對數(shù)據(jù)實時性和精度的要求,,以及易操作性方面的考慮,選擇32位的ARM7系列處理器,,它具有以下特點:
·體積小,、低功耗、低成本,、高性能,;
·支持Thumb(16位)/ARM(32位)雙指令,能很好兼容8位/16位器件,;
·大量使用寄存器,,指令執(zhí)行速度快;
·指令長度固定,;
·尋址方式靈活簡單,,執(zhí)行效率高
本系統(tǒng)采用PHILIPS公司的單片32位微控制器LPC2134,它是基于一個支持實時仿真和跟蹤的16/32位ARM7TDMI2STMCPU,,含有128KB的FLASH,,該存儲器用作代碼和數(shù)據(jù)的存儲。
LPC2134擁有兩個異步串行口UART0和UART1,,本系統(tǒng)中將UART0與GPRS終端相連,,實現(xiàn)數(shù)據(jù)傳輸。它采用16字節(jié)收發(fā)FIFO,,內(nèi)置波特率發(fā)生器,,包含使能實現(xiàn)軟件控制的機制。
硬件SPI接口是一個同步,、全雙工串行接口,,最大數(shù)據(jù)位速率為時鐘速率的1/8,可配置為主機或從機,。本系統(tǒng)中SPI接口作為主機,,根據(jù)不同的中斷,控制多個從機,,包括可編程增益放大器MCP6S2X,使用SPI總線訪問SD卡,,以及控制開發(fā)板上的數(shù)碼管顯示,。
A/D轉換器是2個8路10位逼近式模/數(shù)轉換器,,測量范圍是0~313V,10位轉換時間大于或等于2144μS,,一個或多個Burst轉換模式,。
2.3 GPRS終端
GPRS終端選用的是南京傲屹電子有限公司的AYG285C,它是采用GPRS模塊專為工業(yè)集成設計的,,在溫度范圍,、震動、電磁兼容性和接口多樣性等方面均采用特殊設計,,保證了惡劣環(huán)境下的工作穩(wěn)定性,,基于GPRS公網(wǎng)的數(shù)據(jù)傳輸具有通信范圍廣,傳輸穩(wěn)定可靠等特點,。通過按鍵可以進行模塊參數(shù)設置或者進行網(wǎng)絡數(shù)據(jù)通信,,串口波特率在300~115200bps可調(diào),校驗位可選:無校驗,,奇校驗,,偶校驗。支持協(xié)議PPP,、IP,、TCP、UDP,、DNS,、PING的客戶端功能。另外,,電源,、工作狀態(tài)有LED指示,方便現(xiàn)場查看MODEM運行情況,。
由于人們對數(shù)字形式信息的需求量越來越大,,數(shù)據(jù)采集及其應用技術受到了越來越廣泛的關注和應用。隨著技術的發(fā)展,,數(shù)據(jù)采集系統(tǒng)正向著高精度,、高速度、穩(wěn)定可靠和集成化的方向發(fā)展,。目前,,大多數(shù)的數(shù)據(jù)采集監(jiān)控系統(tǒng)都是獨立的系統(tǒng),只能進行數(shù)據(jù)的現(xiàn)場采集或存儲,,已不能滿足應用的需要,,迫切要求接入網(wǎng)絡實現(xiàn)遠程監(jiān)控。現(xiàn)代數(shù)據(jù)采集技術的發(fā)展是建立在新型采集系統(tǒng)軟硬件平臺性能提高的基礎之上的,。具有強大功能的32位微控制器在一些高端儀器儀表中得到了廣泛的應用,,而將GPRS無線傳輸模塊嵌入其中,,將采集到的數(shù)據(jù)以無線的方式接入Internet,實現(xiàn)遠程監(jiān)控,,非常適合工作人員在比較惡劣的環(huán)境下或者需要對多種參量進行采集時使用,。而高性能微處理器的應用也極大提高了數(shù)據(jù)采集的精度和速度。
1 系統(tǒng)整體方案
整個遠程多路數(shù)據(jù)采集系統(tǒng)如圖1所示,。當無線終端成功連接到互聯(lián)網(wǎng)后,,采集終端將傳感器采集到的數(shù)據(jù)經(jīng)放大濾波后發(fā)送到ARM微控制器,經(jīng)過A/D轉換以及相關處理后,,通過RS232口將數(shù)據(jù)發(fā)送到GPRS無線終端,,GPRS無線終端又將這些數(shù)據(jù)打成一個個的IP包,經(jīng)GPRS空中接口接入無線網(wǎng)絡,,并由移動通信服務商轉接到Internet,,最終通過各種網(wǎng)關和路由到達統(tǒng)一的遠程數(shù)據(jù)處理中心,數(shù)據(jù)中心接收數(shù)據(jù)并對數(shù)據(jù)做后續(xù)處理,。
遠程數(shù)據(jù)中心也可以發(fā)送數(shù)據(jù)信息(各種命令及診斷信息)到無線數(shù)據(jù)采集模塊,,通過GPRS終端上的RS232接口輸出到ARM微控制器上,采集終端在接收到遠程數(shù)據(jù)中心的信息后,,進行解碼并執(zhí)行相應的操作,,以實現(xiàn)對采集現(xiàn)場的控制。
GPRS無線終端嵌入了TCP/IP協(xié)議和UDP協(xié)議(用戶可選),,本系統(tǒng)采用TCP/IP協(xié)議,,實際上GPRSDTU上實現(xiàn)的協(xié)議棧是TCP/IPOverPPP。
圖1 GRPS無線數(shù)據(jù)采集終端
2 硬件組成
2.1 傳感器及放大器
理論上,,該系統(tǒng)可以同時進行16路數(shù)據(jù)的采集,,但在實際的調(diào)試中,只選用了2路來做模擬,。
一路選用溫度傳感器,,表面/液體熱電偶NR281530,獲取實時現(xiàn)場的溫度,,另一路采用壓力傳感器,,PPM241BY油井專用型壓力傳感器,此系統(tǒng)在油田油井中具有較好應用,。
在前端信號處理單元,,由于各種傳感器的輸出參數(shù)不同,輸出信號不僅電平低,、內(nèi)阻高,,而且有共模電壓以及現(xiàn)場惡劣環(huán)境的影響,因此,在選用放大芯片時要綜合考慮以上因素,。選取常用的MCP6S2X可編程增益放大器對原始信號進行放大,,OP07CP做后續(xù)濾波芯片。
2.2 微處理器
微處理器是系統(tǒng)工作的核心,,其性能的好壞直接決定了數(shù)據(jù)采集系統(tǒng)性能的優(yōu)劣?;诒静杉到y(tǒng)對數(shù)據(jù)實時性和精度的要求,,以及易操作性方面的考慮,選擇32位的ARM7系列處理器,,它具有以下特點:
·體積小,、低功耗、低成本,、高性能,;
·支持Thumb(16位)/ARM(32位)雙指令,能很好兼容8位/16位器件,;
·大量使用寄存器,,指令執(zhí)行速度快;
·指令長度固定,;
·尋址方式靈活簡單,,執(zhí)行效率高
本系統(tǒng)采用PHILIPS公司的單片32位微控制器LPC2134,它是基于一個支持實時仿真和跟蹤的16/32位ARM7TDMI2STMCPU,,含有128KB的FLASH,,該存儲器用作代碼和數(shù)據(jù)的存儲。
LPC2134擁有兩個異步串行口UART0和UART1,,本系統(tǒng)中將UART0與GPRS終端相連,,實現(xiàn)數(shù)據(jù)傳輸。它采用16字節(jié)收發(fā)FIFO,,內(nèi)置波特率發(fā)生器,,包含使能實現(xiàn)軟件控制的機制。
硬件SPI接口是一個同步,、全雙工串行接口,,最大數(shù)據(jù)位速率為時鐘速率的1/8,可配置為主機或從機,。本系統(tǒng)中SPI接口作為主機,,根據(jù)不同的中斷,控制多個從機,,包括可編程增益放大器MCP6S2X,,使用SPI總線訪問SD卡,以及控制開發(fā)板上的數(shù)碼管顯示。
A/D轉換器是2個8路10位逼近式模/數(shù)轉換器,,測量范圍是0~313V,,10位轉換時間大于或等于2144μS,一個或多個Burst轉換模式,。
2.3 GPRS終端
GPRS終端選用的是南京傲屹電子有限公司的AYG285C,,它是采用GPRS模塊專為工業(yè)集成設計的,在溫度范圍,、震動,、電磁兼容性和接口多樣性等方面均采用特殊設計,保證了惡劣環(huán)境下的工作穩(wěn)定性,,基于GPRS公網(wǎng)的數(shù)據(jù)傳輸具有通信范圍廣,,傳輸穩(wěn)定可靠等特點。通過按鍵可以進行模塊參數(shù)設置或者進行網(wǎng)絡數(shù)據(jù)通信,,串口波特率在300~115200bps可調(diào),,校驗位可選:無校驗,奇校驗,,偶校驗,。支持協(xié)議PPP、IP,、TCP,、UDP、DNS,、PING的客戶端功能,。另外,電源,、工作狀態(tài)有LED指示,,方便現(xiàn)場查看MODEM運行情況。
3 系統(tǒng)軟件實現(xiàn)
3.1 μC/OS2Ⅱ嵌入式操作系統(tǒng)
當需要進行多任務處理和調(diào)度時,,一個嵌入式實時操作系統(tǒng)就必不可少,。為此系統(tǒng)中采用源碼公開的μC/OS2Ⅱ操作系統(tǒng),它具有執(zhí)行效率高,、占用空間小,、實時性能優(yōu)良以及可擴展性強等特點,最小內(nèi)核可編譯至2K字節(jié),。
μC/OS2Ⅱ的移植需要滿足以下要求:
·處理器的C編譯器可以產(chǎn)生可重入代碼,;
·可以使用C調(diào)用進入和退出臨界區(qū)代碼;
·處理器必須支持硬件中斷,,并且需要一個定時中斷源,;
·處理器需要能夠容納一定數(shù)據(jù)的硬件堆棧,;
·處理器需要有能夠在CPU寄存器與內(nèi)核和堆棧交換數(shù)據(jù)的指令。
本系統(tǒng)使用的LPC2134ARM7處理器滿足以上所有條件,,因此可以對其進行移植,。根據(jù)μC/OS2Ⅱ的要求,移植μC/OS2Ⅱ到一個LPC2134ARM7體系結構上需要提供2個或3個文件:OSCPU.
H(C語言頭文件),、OS-CPU-C.C(C程序源文件)及OS-CPU-A.ASM(匯編程序源文件),。
數(shù)據(jù)采集任務中,采用C語言進行編程,,但對于系統(tǒng)的初始化,,仍然采用匯編來制作啟動代碼,它可以實現(xiàn)向量表定義,、堆棧初始化、系統(tǒng)變量的初始化,、中斷系統(tǒng)初始化,、I/O初始化、外圍初始化,、地址映射等操作,。
芯片復位后,系統(tǒng)初始化流程如圖2所示,。
圖2 系統(tǒng)初始化流程圖
3.2 接口程序及SD卡驅(qū)動的實現(xiàn)
在實時內(nèi)核下,,接口程序讀取A/D采樣數(shù)據(jù)的方法通常有三種:程序延時法、ADC轉換完畢時產(chǎn)生中斷法和程序循環(huán)等待的方法,。其中循環(huán)等待的方法CPU開銷小,,不需要中斷服務,比較適合嵌入式系統(tǒng)中采用,。
循環(huán)等待A/D讀取數(shù)據(jù)的偽代碼如下:
之間通過串口相連,,采集數(shù)據(jù)先通過開發(fā)板串口UART0發(fā)送到無線數(shù)據(jù)終端AYG285C的緩沖區(qū),然后緩沖區(qū)將數(shù)據(jù)打成一個個數(shù)據(jù)包,,通過GPRS網(wǎng)絡發(fā)送到遠程數(shù)據(jù)處理中心,。因此,在μC/OS2Ⅱ下LPC2134的UART底層接口驅(qū)動顯得尤為重要,。
UART0初始化函數(shù)片斷如下:
在本系統(tǒng)中,,串口通信采用8位數(shù)據(jù)位,1位停止位,,奇校驗,,無流控制。在實際使用中為接收數(shù)據(jù)穩(wěn)定波特率設置為9600bps效果較好,。在測試系統(tǒng)中,,測量到的數(shù)據(jù)范圍為10-6~101,有效數(shù)字為4位,所以在發(fā)送數(shù)據(jù)時采用每幀數(shù)據(jù)由3個字節(jié)組成,,第1個字節(jié)為數(shù)據(jù)指數(shù)部分,,高四位為0,低四位中的第四位表示指數(shù)符號,,0表示正數(shù),,1表示負數(shù);其余三位表示指數(shù)的數(shù)值部分,。
后續(xù)兩個字節(jié)為數(shù)據(jù)底數(shù)部分,,采用壓縮的BCD碼編碼方式,高位在前,,低位在后,,即一個字節(jié)表示兩位十進制數(shù),則兩個字節(jié)表示四位十進制數(shù),。
LPC2134的UART0使用中斷方式進行通信,,這樣不會占用CPU很多時間,效率比較高,。當中斷服務處理子程序接收到一次中斷,,它僅能知道UART0產(chǎn)生了中斷,還需要查詢中斷標志寄存器U0IIR,,依據(jù)不同中斷源類型進行不同處理,。在處理完當前的中斷源類型之后,不能立即退出服務,,而應當繼續(xù)判斷U0IIR寄存器最低位是否為0,。
如果為0,則表示還有尚未處理的中斷,,應該繼續(xù)根據(jù)U0IIR[3∶0]判斷中斷源類型,,進行處理,直到U0IIR的最低位為1,,最后發(fā)送中斷結束命令結束中斷服務處理程序,。
SD卡讀寫軟件移植到ARM7微處理器LPC2134上的結構圖如圖3所示。其中硬件抽象層是讀寫SD卡的硬件條件配置,,是與硬件相關的函數(shù),;命令層包含SD卡的相關命令以及卡與主機之間數(shù)據(jù)流的控制,這一層與實時操作系統(tǒng)μC/OSⅡ相關,,與硬件無關,;應用層是向應用程序提供卡的API函數(shù),這一層由實時操作系統(tǒng)μC/OSⅡ控制,。
圖3 SD卡讀寫軟件移植結構圖
3.3 應用程序?qū)崿F(xiàn)
系統(tǒng)初始化完成后,,創(chuàng)建各個任務,,進入多任務調(diào)度處理。應用程序框架流程如圖4所示,。
本系統(tǒng)的主要任務是完成數(shù)據(jù)采集,。系統(tǒng)在得到遠程數(shù)據(jù)中心的采集命令后,選擇適當?shù)牟杉ǖ?,并設置A/D模塊參數(shù),。在采集過程中判斷是否要停止,如果停止,,任務處于等待掛起狀態(tài),。
圖4 應用程序框架流程圖
4 結語
本系統(tǒng)采用了ARM+RTOS以及ARM+GPRS的方案,選取適當?shù)钠骷嫵闪硕嗦返臄?shù)據(jù)采集系統(tǒng),,具有一定的實用價值,。考慮到現(xiàn)場采集到的多是小信號,,為了有較好的準確度和精確度,,對A/D后的采集數(shù)據(jù)還要進行分析和調(diào)整,然后再發(fā)送到數(shù)據(jù)處理中心,。為此,可以進行反復實驗,,獲得多組數(shù)據(jù),,最后通過最小二乘法曲線擬合來提高準確度。另外,,隨外界環(huán)境的變化,,也可以修改擬合曲線以適應具體的應用。隨著3G時代的來臨,,大量數(shù)據(jù)信息的傳輸成為可能,,可以考慮采集現(xiàn)場的相關視頻信號。在短消息功能,,數(shù)據(jù)加密技術以及軟件操作和文件管理上還有待進一步開發(fā)和優(yōu)化,。