基于LPC2292和μC/OS-II的無線數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
同時(shí),嵌入式系統(tǒng)以其高效的開發(fā)、低廉的成本、方便的使用和維護(hù)等優(yōu)點(diǎn)受到信息業(yè)界的廣泛推崇。嵌入式系統(tǒng)在工農(nóng)業(yè)控制領(lǐng)域主要用于對(duì)現(xiàn)場(chǎng)的監(jiān)視和控制。而傳統(tǒng)監(jiān)控產(chǎn)品的設(shè)計(jì)目標(biāo)往往為保護(hù)大型企事業(yè)單bit的安全,不同程度地使用了凌亂的布線和較大型的硬件,其造價(jià)高昂、安裝繁瑣、操作復(fù)雜,必須有人長(zhǎng)時(shí)間專門值守,且不具備遠(yuǎn)程控制功能。這些缺點(diǎn)使它們很難走進(jìn)中小型工農(nóng)企業(yè)和家庭中。因此開發(fā)一種小型的、模塊化的、無須專人隨時(shí)維護(hù)、能夠方便地使用無線網(wǎng)絡(luò)進(jìn)行操作的采集監(jiān)控系統(tǒng),已成為必然的趨勢(shì),并擁有巨大的需求[2]。隨著系統(tǒng)復(fù)雜度的提高,應(yīng)用嵌入式操作系統(tǒng)是一個(gè)流行的趨勢(shì)。本文方案是采用ARM核的微控制器LPC2292、嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II、明基的GPRS芯片M23和模擬式溫濕度傳感器CHTM-02A相結(jié)合的一種數(shù)采方案。
1 LPC2292、M23和CHT M-02A簡(jiǎn)介
LPC2292是PHILIPS公司生產(chǎn)的一個(gè)支持實(shí)時(shí)仿真和跟蹤的32 bit ARM7內(nèi)核的微控制器,片內(nèi)帶有16 kB的靜態(tài)RAM和256 kB的高速Flash存儲(chǔ)器,128 bit寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使32bit代碼能夠在最大時(shí)鐘速率下運(yùn)行。滿足了系統(tǒng)對(duì)存儲(chǔ)空間的要求, 不需要擴(kuò)展存儲(chǔ)空間,減少了系統(tǒng)的能耗以及成本。LPC2292運(yùn)算速度快、精度高、功耗低,且片內(nèi)外設(shè)豐富(如UART、10bitADC、PWM、CAN控制器等),由于內(nèi)置了寬范圍的具有16B接收FIFO和16 B發(fā)送FIFO,結(jié)構(gòu)及寄存器符合16C550工業(yè)標(biāo)準(zhǔn)串口通信接口,也非常適用于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器、嵌入式modem以及其他各種類型的應(yīng)用[3]。
明基M23是內(nèi)置TCP/IP議協(xié)的900/1800/1900 三頻GPRS模塊。其設(shè)計(jì)及開發(fā)符合ETSI GSM Phase2+標(biāo)準(zhǔn)。發(fā)送頻率為1 850 MHz~1 910 MHz;接收頻率1 930 MHz~1 990 MHz;工作狀態(tài)溫度范圍為-20℃~+55℃。它具有話音/數(shù)據(jù)/傳真/短信息功能。其中GPRS數(shù)據(jù)特性:GPRS Class4(Class10)代碼為CS1~CS4;短信息服務(wù)功能特性:文字及PDU,點(diǎn)對(duì)點(diǎn)(MT/MO),小區(qū)廣播[4]。
CHTM-02A是西博臣科技有限公司生產(chǎn)的模擬式溫濕度傳感器,其測(cè)溫元件是LM35,輸出電壓為0~1 V。其濕度敏感元件是高分子濕敏電阻“CHR-01”, 供電電壓為5 V(±5%),工作溫度范圍為0~60℃,濕度變送范圍為0~100%RH,精度±5%,輸出信號(hào)為0~3 V。該溫濕度傳感器性價(jià)比較高,且使用方便,可廣泛適用于工業(yè)機(jī)械、電氣自動(dòng)化、氣象和農(nóng)業(yè)等行業(yè)[5]。
2 硬件設(shè)計(jì)
總體硬件框圖如圖1所示。
2.1 GPRS接口電路設(shè)計(jì)
M23與LPC2292之間的接口設(shè)計(jì)較易實(shí)現(xiàn)。使用UART1控制GPRS模塊,GPRS所需的+5 V、+12 V電源和地,直接由MCU開發(fā)板提供。M23模塊正常工作需要正確連接GPRS天線。
2.2 CHTM-02A溫濕度傳感器接口電路設(shè)計(jì)
LPC2292和 CHTM-02A的接口部分只需要4根線,其中第1根接5V電源;第2根接地;第3根接LPC2292的一路A/D輸入,本設(shè)計(jì)中使用AIN1,即P0.28引腳,測(cè)量環(huán)境濕度;第4根接LPC2292的另一路A/D輸入P0.27,測(cè)量環(huán)境溫度。
3 軟件設(shè)計(jì)
本系統(tǒng)軟件設(shè)計(jì)可分為數(shù)采終端(測(cè)量節(jié)點(diǎn))和控制中心兩大部分,它們構(gòu)成一個(gè)最基本的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)。當(dāng)然,需要這個(gè)系統(tǒng)可以方便地?cái)U(kuò)容,包括數(shù)采終端的數(shù)量和可采集信息的種類。且每個(gè)數(shù)采終端由其唯一的SIM卡號(hào)區(qū)別身份,組網(wǎng)便利。
本設(shè)計(jì)中控制中心可以是任意一個(gè)GPRS終端,例如手機(jī)或者連接有GPRS終端的電腦。而數(shù)采終端要完成實(shí)現(xiàn)GPRS編程控制、環(huán)境參數(shù)的采集、預(yù)處理等工作。采用常規(guī)的前/后臺(tái)系統(tǒng)(foreground/background)編程極其復(fù)雜,選擇嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II作為軟件系統(tǒng)平臺(tái),將各個(gè)處理模塊分成單獨(dú)的任務(wù),能夠較好地完成系統(tǒng)需求[6]。詳細(xì)的移植可參考文獻(xiàn)[6]。在數(shù)采終端軟件系統(tǒng)設(shè)計(jì)中,涉及到的主要任務(wù)有:LPC2292初始化、GPRS模塊初始化、通信、采集傳感器信息、看門狗等12個(gè)任務(wù)。
3.1 數(shù)采終端主任務(wù)設(shè)計(jì)
數(shù)采終端有兩種工作模式:一是由控制中心控制,數(shù)采終端判斷控制中心GPRS地址(本設(shè)計(jì)由唯一的手機(jī)號(hào)碼確定)和讀取溫濕度值,在數(shù)采終端與控制中心建立鏈接之后,數(shù)采終端將適時(shí)地通過無線網(wǎng)絡(luò)把溫濕度數(shù)據(jù)信息傳輸給控制中心。數(shù)采終端在整個(gè)系統(tǒng)中起到一個(gè)采集、預(yù)處理數(shù)據(jù)和發(fā)送的作用。實(shí)際測(cè)試發(fā)現(xiàn),當(dāng)SIM卡上存有過多短信息時(shí),會(huì)干擾系統(tǒng)正常通信。故程序中在判斷完每個(gè)新收到的短信后將其刪除。二是定時(shí)發(fā)送節(jié)點(diǎn)信息,此模式相對(duì)簡(jiǎn)單一些。下面主要分析第一種工作模式。
第一種工作模式下主程序流程圖如圖2所示。
3.2 GPRS初始化任務(wù)設(shè)計(jì)
在對(duì)GPRS模塊操作前,要運(yùn)行GPRS模塊進(jìn)行初始化。它包括復(fù)bitGPRS模塊、讀緩沖區(qū)大小和設(shè)定信息中心號(hào)碼等。上面介紹的每一步操作都有相應(yīng)的AT指令,程序中執(zhí)行指令的步驟是一樣的。LPC2292通過串口1使用AT指令操作GPRS模塊,例如AT+CMGF=1:設(shè)置為文本模式,不支持中文。
常用的與短信息操作相關(guān)的AT指令有:
AT+CNMA:新信息確認(rèn)應(yīng)答。
AT+CNMI:新信息指示。這個(gè)命令選擇如何從網(wǎng)絡(luò)上接收短信息。
AT+CMGR:讀短信。信息從+CPMS命令設(shè)定的存儲(chǔ)器讀取。
AT+CMGS:發(fā)送信息。
AT+CMGD:刪除短信息。刪除一個(gè)或多個(gè)短信息。
AT+CSCA:短信服務(wù)中心地址。
GPRS初始化至關(guān)重要,如果初始化不成功,將直接影響下面程序的執(zhí)行。為提高系統(tǒng)的穩(wěn)定性,在設(shè)計(jì)中把相關(guān)部分都封裝成帶返回參數(shù)的函數(shù)形式。
設(shè)定信息中心號(hào)碼是初始化的關(guān)鍵,不同地區(qū)的信息中心號(hào)碼是不同的,這一點(diǎn)要引起注意。并且信息中心號(hào)碼只需要設(shè)置一次就可以了。中國(guó)移動(dòng)短信中心服務(wù)號(hào)碼的編碼規(guī)則是:+861380 + 開戶地四bit長(zhǎng)途區(qū)號(hào) + 500,長(zhǎng)途區(qū)號(hào)不足四bit的在后面加"0"補(bǔ)齊(如北京為+8613800100500,四川綿陽的信息中心號(hào)碼是+8613800816500)。
3.3 數(shù)據(jù)采集任務(wù)設(shè)計(jì)
前面已經(jīng)介紹過,數(shù)據(jù)采集包括溫度和濕度的采集,選用的溫濕度傳感器是CHTM-02A,該器件的轉(zhuǎn)換速度快,線性度非常理想。圖3為采集濕度的流程圖。
在濕度采集程序流程圖中,提到了初始化,它包括對(duì)LPC2292的 A/D轉(zhuǎn)換器和I/O的初始化。MCU從傳感器接收的是與溫濕度的值相應(yīng)的電壓值,根據(jù)傳感器使用手冊(cè)將接收到的電壓轉(zhuǎn)換成所需要的數(shù)字量。為了得到更加接近于現(xiàn)實(shí)的真實(shí)值,使用增強(qiáng)型均值濾波,即將采集的8次外部電壓值去除最大和最小值后取平均值,這個(gè)平均值即為濾波后的電壓。溫度采用相似的方式進(jìn)行處理。
該傳感器可測(cè)量溫度范圍為0~100℃,濕度測(cè)量的范圍為0%RH~100%RH,當(dāng)出現(xiàn)異常情況時(shí),程序中做出相應(yīng)的處理。
3.4 控制中心程序設(shè)計(jì)
控制中心可以是任一GPRS終端,本設(shè)計(jì)為手機(jī)。在系統(tǒng)中有發(fā)送控制命令和接收測(cè)量節(jié)點(diǎn)采集的環(huán)境信息的作用。
本系統(tǒng)綜合運(yùn)用了無線通信技術(shù)、MCU控制技術(shù)、溫濕度傳感器技術(shù)和嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II,以模塊化完成,實(shí)現(xiàn)了溫濕度采集模塊化、無線通信模塊化。通過對(duì)該數(shù)采系統(tǒng)的應(yīng)用,發(fā)現(xiàn)GPRS模塊工作正常,溫濕度值傳輸準(zhǔn)確、穩(wěn)定。以溫濕度計(jì)作為標(biāo)準(zhǔn),與測(cè)試所得的溫濕度值作對(duì)比,誤差?。撼叵聺穸取?RH%,溫度±0.5℃。且系統(tǒng)硬件接口電路簡(jiǎn)單,軟硬件系統(tǒng)穩(wěn)定,模塊化程度高,具有很好的可操作性和維護(hù)性。