實驗室溫度煙霧報警系統(tǒng)_第1頁
實驗室溫度煙霧報警系統(tǒng)_第2頁
實驗室溫度煙霧報警系統(tǒng)_第3頁
實驗室溫度煙霧報警系統(tǒng)_第4頁
實驗室溫度煙霧報警系統(tǒng)_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、四川師范大學成都學院本科畢業(yè)設(shè)計 實驗室溫度與煙霧報警系統(tǒng)設(shè)計學生:吳碧華 指導(dǎo)教師:劉強內(nèi)容摘要:隨著國民安全防范意識的逐步增強,人們開始越來越關(guān)心實驗室環(huán)境,特別是對實驗室火災(zāi)的預(yù)防。相應(yīng)的研究開發(fā)領(lǐng)域也應(yīng)運而生,新技術(shù)、新產(chǎn)品層出不窮?;贕SM短消息的遠程火災(zāi)控制系統(tǒng),克服了電話遠程火災(zāi)控制系統(tǒng)電話費用高,控制時間長等的缺點,具有良好可擴展性和使用價值。智能火災(zāi)控制系統(tǒng)可以在用戶外出期間,對實驗室進行遠程控制,提高了用戶的時間利用率。安全監(jiān)控可以對實驗室進行實時的監(jiān)控。監(jiān)控范圍包括室內(nèi)溫度、煙霧等不安全因素,保障實驗室財產(chǎn)的安全。一旦有上述安全事故發(fā)生,智能監(jiān)控器就會立即通過GSM網(wǎng)絡(luò)

2、將情況傳遞給用戶,用在得到消息后,可以立即采取有效的應(yīng)急措施,如:打電話給110求救中心或者119消防中心,對事故進行緊急處理。為了滿足信息存儲和模擬量采集,本系統(tǒng)采用了Texas Instruments公司的MSP430F1649作為MCU,集中管理溫度傳感器、煙霧傳感器,并通過西門子公司的GSM模塊(TC35i)和用戶進行遠程信息交換。溫度傳感器、煙霧傳感器構(gòu)成了防火災(zāi)系統(tǒng),保障實驗室財產(chǎn)的安全。關(guān)鍵詞:GSM 無線通信 遠程 防火災(zāi)The Aalarm System Of Laboratory Temperature And Smoke Abstract: Nowadays,in the

3、 wake of the constant improving of the living standard,more and more pelple begin to care about the lab environment. especially for laboratory of fire prevention.The relevant reserch and develop field are come into existence,new technology and new product are incessantly be invented.The remote intel

4、ligent appliance controll subsystem is based on the GSM short message which surmount the disadvantages of the remote wire telephone conyroll system such as the high cost and the long time of controll course,so the expansion and utility of our design are powefull.The subsystem can be used to controll

5、 the lab when the consumers are not at lab,it can greatly improve the unitization of time.Once one of the above safety accidents is break out,the subsystem would auto immediately send a short message to the consumers to inform the safety situation by the GSM network,when the consumers get the massag

6、e they can take some available expedients to greatestly bring down the loses,such as call the local property, 110 or 119.To cut down the consume of the power,our design adopt Texas Instruments MSP430F149 as MCU(micro controll unit)to intensively administer switch, temperature senser and smoke senser

7、.The MCU make use of the Siemens GSM module Tc35i to remotely exchange messages with consumers.The switches are taken as the appliances controll terminals to turn on or turn off appliances.Temperature senser and smoke senser,they constitute the remote intelligent safety monitor system,and ensure the

8、 consumerslife and property be safe.Keywords: GSM Wireless Communication Remote Safety Monitor 目 錄前言11 總體方案設(shè)計11.1 各模塊的選擇與論證21.1.1 單片機與無線通信模塊的選擇21.1.2 GSM的選擇21.1.3 氣敏模塊的選擇31.1.4 溫度模塊的選擇31.2 結(jié)論32 系統(tǒng)硬件設(shè)計32.1 系統(tǒng)總體設(shè)計32.2 單元電路功能及原理分析42.2.1 電源部分分析42.2.2 串口通訊電路分析52.2.3 液晶顯示電路52.2.4 傳感器部分電路62.2.5 無線通信模塊72.2.

9、6 GSM模塊83系統(tǒng)軟件設(shè)計93.1 采集模塊93.2 無線通信模塊123.3 GSM模塊程序設(shè)計133.3.1 短信中心地址的設(shè)置153.3.2 短信息格式的設(shè)置163.3.4 短信息接收223.3.5 短信息的刪除273.4 主循環(huán)程序流程圖273.5 主循環(huán)子程序283.6 部分程序清單294 系統(tǒng)調(diào)試294.1 系統(tǒng)硬件調(diào)試294.2 系統(tǒng)軟件調(diào)試295 實例總結(jié)30附錄131附錄232參考文獻3738實驗室溫度與煙霧報警系統(tǒng)設(shè)計前言 隨著“信息時代”的到來,作為獲取信息的手段傳感器技術(shù)得到了顯著的進步,其應(yīng)用領(lǐng)域越來越廣泛,對其要求越來越高,需求越來越迫切。傳感器技術(shù)已成為衡量一個

10、國家科學技術(shù)發(fā)展水平的重要標志之一。因此,了解并掌握各類傳感器的基本結(jié)構(gòu)、工作原理及特性是非常重要的。由于傳感器能將各種物理量、化學量和生物量等信號轉(zhuǎn)變?yōu)殡娦盘?,使得人們可以利用計算機實現(xiàn)自動測量、信息處理和自動控制,但是它們都不同程度地存在溫漂和非線性等影響因素。傳感器主要用于測量和控制系統(tǒng),它的性能好壞直接影響系統(tǒng)的性能。因此,不僅必須掌握各類傳感器的結(jié)構(gòu)、原理及其性能指標,還必須懂得傳感器經(jīng)過適當?shù)慕涌陔娐氛{(diào)整才能滿足信號的處理、顯示和控制的要求,而且只有通過對傳感器應(yīng)用實例的原理和智能傳感器實例的分析了解,才能將傳感器和信息通信和信息處理結(jié)合起來,適應(yīng)傳感器的生產(chǎn)、研制、開發(fā)和應(yīng)用。另

11、一方面,傳感器的被測信號來自于各個應(yīng)用領(lǐng)域,每個領(lǐng)域都為了改革生產(chǎn)力、提高工效和時效,各自都在開發(fā)研制適合應(yīng)用的傳感器,于是種類繁多的新型傳感器及傳感器系統(tǒng)不斷涌現(xiàn)。溫度傳感器是其中重要的一類傳感器。其發(fā)展速度之快,以及其應(yīng)用之廣,并且還有很大潛力。為了提高對傳感器的認識和了解,尤其是對溫度傳感器的深入研究以及其用法與用途,基于實用、廣泛和典型的原則而設(shè)計了本系統(tǒng)。本文利用單片機結(jié)合傳感器技術(shù)而開發(fā)設(shè)計了這一溫度監(jiān)控系統(tǒng)。文中傳感器理論單片機實際應(yīng)用有機結(jié)合,詳細地講述了利用熱敏電阻作為熱敏傳感器探測環(huán)境溫度的過程,以及實現(xiàn)熱電轉(zhuǎn)換的原理過程。本設(shè)計應(yīng)用性比較強,設(shè)計系統(tǒng)可以作為生物培養(yǎng)液溫度

12、監(jiān)控系統(tǒng),如果稍微改裝可以做熱水器溫度調(diào)節(jié)系統(tǒng)、實驗室溫度監(jiān)控系統(tǒng)等等。課題主要任務(wù)是完成環(huán)境溫度檢測,利用單片機實現(xiàn)溫度調(diào)節(jié)并通過計算機實施溫度監(jiān)控。設(shè)計后的系統(tǒng)具有操作方便,控制靈活等優(yōu)點。本設(shè)計系統(tǒng)包括溫度傳感器,A/D轉(zhuǎn)換模塊,輸出控制模塊,數(shù)據(jù)傳輸模塊,溫度顯示模塊和溫度調(diào)節(jié)驅(qū)動電路六個部分。文中對每個部分功能、實現(xiàn)過程作了詳細介紹。整個系統(tǒng)的核心是進行溫度監(jiān)控,完成了課題所有要求。 1 總體方案設(shè)計 防止火災(zāi)的發(fā)生是實驗室日常工作的重要內(nèi)容,是衡量實驗室管理質(zhì)量的重要指標。它直接影響到實驗室公共設(shè)施的使用壽命和工作可靠性。為保證日常工作的順利進行,首要問題是加強實驗室內(nèi)溫度與煙霧的

13、監(jiān)測工作。但傳統(tǒng)的方法是用溫度計等測試器材,通過人工進行檢測,對不符合溫度要求的實驗室進行通風和降溫等工作。這種人工測試方法費時費力、效率低,且測試的結(jié)果誤差大,隨機性大。因此我們需要一種造價低廉、使用方便且測量準確的溫度煙霧測量儀。1.1 各模塊的選擇與論證 1.1.1 單片機與無線通信模塊的選擇 方案一:MCU采用常用的8位單片機例如ATMEL公司的AVR單片機ATmegal28, 射頻芯片采用Chipcon的CC2420芯片。該方案是大家研究最多的方案,采用8位單片機和射頻芯片的方案,在功耗方面有一定的優(yōu)勢。但由于該方案采用了兩個公司的芯片,協(xié)議棧需要自己從底層開始寫,沒有很好的技術(shù)支持

14、。同時8位單片機的計算能力有限,可擴展接口少,因此該方案已經(jīng)逐漸被淘汰了。 方案二:Freescale的8位MCU芯片HCS08和通信模塊MCl3192。這是Freescale的典型方案。MCU和RF芯片都采用Freescale的芯片,技術(shù)支持比較好,但是處理器芯片應(yīng)用不是很廣泛。而且如前面所說,8位MCU在很多方面都有著局限性。 方案三:Freescale的單芯片的方案MCl322x,MCl322x平臺包括一個32位微控制器(MCU),一個完全符合IEEE 802.15.4標準的收發(fā)器,以及不平衡變壓器和射頻(RF)匹配組件一一所有這些都集成到一個小巧的矩柵陣列(LGA)封裝中,可以極大的減

15、少外圍電路。這個方案實際是CPU和RF芯片的芯片級組合,不是真正的SOC方案。該方案主要面向需要在IEEE 802.15.4TM或ZigBee網(wǎng)絡(luò)中更快地傳輸音頻和數(shù)據(jù)文件的新型無線設(shè)備,所以對于火災(zāi)報警系統(tǒng)來說,過于昂貴。 方案四:Chipcon推出的一片式解決方案:CC2430,該芯片集成了微處理器和射頻單元。最大的優(yōu)勢就是一片式解決方案,成本低,體積小,而且Chipcon提供了開發(fā)板,和開放的協(xié)議棧,開發(fā)成本低。 方案五:TI并購Chipcon之后推出的16位超低功耗單片機MSP430系列和CC2420 的解決方案。采用了超低功耗的16位的單片機,可以運行較復(fù)雜的算法,而且外設(shè)接口更豐富

16、,在處理速度以及應(yīng)用方面有自己的優(yōu)勢。 綜上可以看出,方案四和方案五各有優(yōu)勢。CC2430平臺可以應(yīng)用在數(shù)據(jù)處理比較簡單,但是對節(jié)點的體積和成本有著比較高的要求的情況下。MSP430+CC2420平臺可以應(yīng)用在需要比較復(fù)雜的數(shù)據(jù)處理計算,對于節(jié)點的內(nèi)存和反應(yīng)速度要求比較高的場合。1.1.2 GSM的選擇GSM(Global System for Mobile communication)系統(tǒng)是目前基于時分多址技術(shù)的移動通訊體制中比較成熟、完善、應(yīng)用最廣泛的一種系統(tǒng)。目前已建成的覆蓋全國的GSM數(shù)字蜂窩移動通信網(wǎng),是我國公眾移動通信網(wǎng)的主要方式,主要提供話音、短信息、數(shù)據(jù)等多種業(yè)務(wù)?;贕SM短

17、消息功能可以做成傳輸各種檢測、監(jiān)控數(shù)據(jù)信號和控制命令的數(shù)據(jù)通信系統(tǒng),能廣泛用于遠程監(jiān)控、定位導(dǎo)航、個人通信終端等。由于公眾GSM網(wǎng)絡(luò)在全球范圍內(nèi)實現(xiàn)了聯(lián)網(wǎng)和漫游,建立上述系統(tǒng)不需再組建專用通信網(wǎng)絡(luò),所以具有實時傳輸數(shù)據(jù)功能的短消息應(yīng)用將得到迅速普及。本設(shè)計在綜合考慮設(shè)備質(zhì)量和造價的前提下,決定使用Siemens公司的GSM模塊TC35i。TC35i是一個支持中文短信息的工業(yè)級GSM模塊,具有良好的市場口碑,且接口電路簡單,可直接和串口通信,因此,具有可用性。1.1.3 氣敏模塊的選擇考慮到本系統(tǒng)需要采集煙霧濃度和煤氣濃度,因此,我們需要選擇一個多功能的氣敏傳感器,這樣可以節(jié)約成本,同時可以簡化

18、電路,提高系統(tǒng)穩(wěn)定性等。經(jīng)過分析對比,我們選擇了MQ-2氣體傳感器。該傳感器可用于家庭和工廠的氣體泄漏監(jiān)測裝置, 適宜于液化氣、丁烷、丙烷、甲烷、酒精、氫氣、煙霧等的探測。因此,符合本設(shè)計的要求。1.1.4 溫度模塊的選擇 該系統(tǒng)的溫度采集部分是采用MAX6613溫度傳感器來采集溫度數(shù)據(jù),該芯片具有以下特點: 寬電壓供電。該芯片的供電電壓為1.8v5.5v。 較高的精度。該芯片的精度為1.3。 大的測量范圍。該芯片的溫度范圍為-55130。 較小的封裝。該芯片具有很小的封裝,采用的是SC70封裝。1.2 結(jié)論通過對各類型元器件的對比,考慮到設(shè)計成本和設(shè)計精度的要求,在充分保障系統(tǒng)可靠性的前提下

19、,我們選擇了成本低廉的元器件,降低了系統(tǒng)硬件投資并減少了軟件開發(fā)周期,具有可行性。同時,在模塊的選擇時,考慮了系統(tǒng)升級或者功能的改變帶來的資源消耗,我們考慮了冗余部分資源,提高了系統(tǒng)的適應(yīng)能力。2 系統(tǒng)硬件設(shè)計2.1 系統(tǒng)總體設(shè)計系統(tǒng)硬件框圖如圖2.1-1 所示,本設(shè)計采用Texas Instruments公司的MSP430F149作為中央微處理器(Central Micro Processor),整合了一些外圍模塊,構(gòu)成了最小系統(tǒng),完成了實驗室遠程火災(zāi)報警監(jiān)測功能。無線通信模塊:遇到險情立即用2.4G無線模塊發(fā)送報警信號到控制室。GSM通訊模塊:在本方案中作為主控器的報警通道,同時也是用戶遠

20、程控制的通道,負責信息的接收與傳送。液晶顯示模塊:顯示模塊工作狀態(tài)及數(shù)據(jù),主要用于測試系統(tǒng)和安裝系統(tǒng)以及演示時使用。傳感器子系統(tǒng):負責環(huán)境數(shù)據(jù)采集并傳到控制器處理。圖2.1-1 系統(tǒng)框圖系統(tǒng)電路總原理圖見附錄1,系統(tǒng)硬件采用模塊化設(shè)計,便于原理分析與硬件調(diào)試。2.2 單元電路功能及原理分析 2.2.1 電源部分分析3圖2.2.1-1 供電系統(tǒng)圖2.2.1-1為智能控制系統(tǒng)的供電部分電路,由于本系統(tǒng)元件的工作電壓各有部同,因此,我們在設(shè)計電源時,為了降低成本,我們沒有使用獨立供電,由于需要12V、5V、3.3V這三組電源。因此,我們選擇了一個12V交流變壓器,將12V交流輸入電源后,首先整流,然

21、后接入一個三端穩(wěn)壓器78L12,使其輸出一組12V的穩(wěn)壓電源,在12V輸出后,我們在通過一個5V三端穩(wěn)壓器78L05,這樣就產(chǎn)生了5V直流穩(wěn)壓電源,供部分傳感器使用,最后,經(jīng)過一個3.3V三端穩(wěn)壓器(CX1117),使其輸出穩(wěn)定的3.3V電源供系統(tǒng)控制芯片及部分傳感器使用。為了讓電源更加穩(wěn)定,降低波紋系數(shù),我們加入電解電容使電壓更穩(wěn)定。為了指示系統(tǒng)電源工作正常,我們在3.3V輸出端加了一個電源指示燈,便于目測電源是否正常。2.2.2 串口通訊電路分析5、8圖2.2.2-1 串口通信電路圖2.2.2-1為控制中心MSP430F149與GSM模塊(TC35i)通信的接口電路。本電路采用了異步串行通

22、信芯片MAX232,經(jīng)過這個電路處理后的數(shù)據(jù)傳輸距離可以達到5米左右,滿足我們這個系統(tǒng)的要求。該芯片可以支持兩路獨立的通信,本系統(tǒng)只使用了其中的第2路,為了讓芯片與MSP430F149電平匹配,我們在其間加了5.1K歐姆的降壓電阻。當本系統(tǒng)用于多點數(shù)據(jù)采集時或者需要連接上位機時,我們可以利用另一個通道傳送數(shù)據(jù),因此,這樣的冗余既沒有浪費硬件資源也為系統(tǒng)升級提供了條件。2.2.3 液晶顯示電路6圖2.2.3-1為本系統(tǒng)顯示部分接口電路,液晶顯示器采用了128*64字符型點陣液晶顯示器,其電路需要5V電源,為了便于看清顯示器的內(nèi)容,我們加上了背光,為了防止電流過大,在背光中加了一個10歐姆的功率電

23、阻。同時我們加了屏幕對比度調(diào)節(jié),通過圖中RT2 電阻可以實現(xiàn)對比度調(diào)節(jié)。在本設(shè)計中,液晶顯示主要功能用于系統(tǒng)調(diào)試和安裝以及演示使用,當安裝成功后,即可拆去,這樣的設(shè)計降低了成本。圖2.2.3-1 顯示模塊電路2.2.4 傳感器部分電路1如圖2.2.4-1所示為本系統(tǒng)對實驗室火災(zāi)監(jiān)測電路,由溫度傳感器、氣敏傳感器(煙霧傳感器)組成。由于該系統(tǒng)采用的是MAX6613作為溫度采集傳感器,這樣該系統(tǒng)的這部分電路將非常簡單。 通過下圖可以看出,該采集電路具有簡單、實用等特點。為了減少電源的輸入紋波對采集電路的影響,在電源的管腳增加一個0.1F的電容來實現(xiàn)濾波,以減小輸入端受到的干擾。氣敏傳感器是一類對煙

24、霧和煤氣等氣體非常敏感的模擬傳感器,本系統(tǒng)采用了氣敏傳感器MQ-2,當給氣敏傳感器加上加熱電壓大約兩分鐘后,便可進入正常工作狀態(tài)。圖2.2.4-1 傳感器電路2.2.5 無線通信模塊2CC2420只需要極少的外圍元器件,其典型應(yīng)用電路如圖2.2.5-1所示。它的外圍電路包括晶振時鐘電路、射頻輸入/ 輸出匹配電路和微控制器接口電路三個部分。芯片本振信號既可由外部有源晶體提供,也可由內(nèi)部電路提供。由內(nèi)部電路提供時需外加晶體振蕩器和兩個負載電容,電容的大小取決于晶體的頻率及輸入容抗等參數(shù)。例如當采用 16MHz晶振時,其電容值約為22pF。射頻輸入/ 輸出匹配電路主要用來匹配芯片的輸入輸出阻抗,使其

25、輸入輸出阻抗為 50,同時為芯片內(nèi)部的PA及LNA提供直流偏置。圖2.2.5-1 無線傳輸模塊電路CC2420可以通過4線SPI總線 (SI、SO、SCLK、CSn)設(shè)置芯片的工作模式,并實現(xiàn)讀/寫緩存數(shù)據(jù),讀/寫狀態(tài)寄存器等。通過控制FIFO和FIFOP管腳接口的狀態(tài)可設(shè)置發(fā)射/接收緩存器。注意:在SPI總線接口上進行的地址和數(shù)據(jù)傳輸大多是MSB優(yōu)先的。 CC2420片內(nèi)有33個16比特狀態(tài)設(shè)置寄存器,在每個寄存器的讀/寫周期中,SI總線上共有24比特數(shù)據(jù),分別為:1比特RAM/寄存器選擇位(0:寄存器,1: RAM),1比特讀/ 寫控制位(0:寫,1:讀),6比特地址選擇位、16比特數(shù)據(jù)位

26、。在數(shù)據(jù)傳輸過程中CSn必須始終保持低電平。另外,通過SFD管腳狀態(tài)的設(shè)置可以控制時鐘/定時信息的輸入。這些接口必須與微處理器的相應(yīng)管腳相連來實現(xiàn)系統(tǒng)射頻功能的控制與管理。CC2420先將要傳輸?shù)臄?shù)據(jù)流進行變換,每個字節(jié)被分組為兩個符號,每個符號包括 4個比特,LSB優(yōu)先傳輸。每個被分組的符號用32碼片的偽隨機序列表示,共有16個不同的32碼片偽隨機序列。經(jīng)過DSSS擴頻變換后,碼片速率達到2Mchips/s,此碼片序列再經(jīng)過O- QPSK調(diào)制,每個碼片被調(diào)制為半個周期的正弦波。碼片流通過I/Q通道交替?zhèn)鬏敚瑑赏ǖ姥訒r為半個碼片周期。CC2420為IEEE 802.15.4的數(shù)據(jù)幀格式提供硬件

27、支持。其MAC層的幀格式為:頭幀+數(shù)據(jù)幀+校驗幀;PHY層的幀格式為:同步幀+ PHY頭幀+MAC幀,幀頭序列的長度可以通過寄存器的設(shè)置來改變??梢圆捎?6位CRC校驗來提高數(shù)據(jù)傳輸?shù)目煽啃浴0l(fā)送或接收的數(shù)據(jù)幀被送入RAM中的128字節(jié)的緩存區(qū)進行相應(yīng)的幀打包和拆包操作。2.2.6 GSM模塊4TC35是Siemens公司推出的一種無線通信GSM模塊,可以快速安全可靠地實現(xiàn)系統(tǒng)方案中的數(shù)據(jù)傳輸、語音傳輸、短信息服務(wù)(Short Message Service)和傳真服務(wù)。模塊的工作電壓為3.3V5.5V,可以工作在900MHz和1800MHz兩個頻段,所在頻段功耗分別為2W(900M)和1W(

28、1800M)。模塊有AT命令集接口,支持文本和PDU模式的短信息、第三組的二類傳真以及2.4k、4.8k、9.6k的非透明模式。此外,該模塊還具有電話簿功能、多方通話、漫游檢測等功能。常用工作模式有省電模式、IDLE、TALK等模式。通過獨特的40管腳的ZIF連接器,實現(xiàn)電源連接、指令、數(shù)據(jù)、語音信號、及控制信號的雙向傳輸。通過ZIF連接器及50天線連接器,可分別連接SIM卡支架和天線。TC35模塊主要由GSM基帶處理器、GSM射頻模塊、供電模塊(ASIC)、閃存、ZIF連接器和天線接口6部分組成。作為TC35的核心,基帶處理器主要處理GSM終端內(nèi)的語音、數(shù)據(jù)信號,并涵蓋了蜂窩射頻設(shè)備中的所有

29、的模擬和數(shù)字功能。在不需要領(lǐng)外硬件電路的前提下,可支持FR、HR和EFR語音編碼。TC35是一個完整的無線GSM模塊,本身能完成獨立的功能。外部通過40管腳的ZIF連接器對TC35模塊進行控制,從而實現(xiàn)電源連接、指令、數(shù)據(jù)、語音信號及控制信號的雙向傳輸。為了了解各個管腳的具體功能,下面對具體的管腳分別進行詳細的介紹,為下面的硬件設(shè)計打下基礎(chǔ)。 VBATI+:供電管腳。供電的電壓在3.3V5.5V之間,該管腳還必須滿足峰值電流為2A。當模塊在充電的時候,該管腳還可以作為輸出管腳。所有的VBATI+必須并行連接在起。 GND:接地管腳。 POWER:充電管腳。如果該管腳不用的話,將該管腳懸空。3系

30、統(tǒng)軟件設(shè)計本系統(tǒng)采用了MSP430F149作為系統(tǒng)控制中心,在軟件設(shè)計中利用了該單片機數(shù)據(jù)存儲器大的優(yōu)點,便于對用戶信息、傳感器數(shù)據(jù)和短信內(nèi)容進行存儲和處理。主程序中首先完成的是各個模塊的初始化,主要包括液晶顯示器初始化、傳感器初始化、GSM模塊初始化、模數(shù)轉(zhuǎn)換模塊初始化。為了防止天氣變化和晝夜溫差等因素造成的誤差,本系統(tǒng)在啟動時首先對環(huán)境的狀況進行一次數(shù)據(jù)采集,并記錄各數(shù)據(jù)整個程序的編寫采用IAR Embedded Workbench 開發(fā)環(huán)境進行系統(tǒng)軟件的設(shè)計,在程序設(shè)計中,采用了結(jié)構(gòu)化程序設(shè)計方法,使各個模塊程序相對獨立開來,便于程序代碼的維護、移植和升級。同時,這樣分離式程序設(shè)計,降低

31、了代碼的調(diào)試難度,縮短了調(diào)試周期。在程序設(shè)計中,大量使用了宏代換語句,為程序的修改提供了簡易的接口,消除了修改中重復(fù)查找相同代碼的繁瑣,提高了效率。我們將與用戶信息密切相關(guān)的數(shù)據(jù)放在一個文件里,在系統(tǒng)安裝時,我們可以根據(jù)用戶要求修改控制命令和返回信息等信息,體現(xiàn)了現(xiàn)代社會人性化的要求。3.1 采集模塊9圖3.1-1 采集模塊流程圖采集模塊主要是獲得MAX6613溫度傳感器的數(shù)據(jù),該部分主要是通過MSP430F149片內(nèi)的A/D轉(zhuǎn)換來完成數(shù)據(jù)的采集任務(wù),采集的模擬參考電壓采用片內(nèi)的參考電壓。數(shù)據(jù)采集的間隔時間通過定時器A來完成,就是在每次定時器A中斷到來時讀取A/D轉(zhuǎn)換采集得到的數(shù)據(jù),在讀數(shù)據(jù)之

32、前先停止A/D轉(zhuǎn)換,在讀取數(shù)據(jù)完畢后啟動A/D轉(zhuǎn)換,如果得到數(shù)據(jù),則設(shè)置一個標志位通知主程序,告訴主程序已經(jīng)得到新的數(shù)據(jù)。整個模塊采用的中斷服務(wù)的結(jié)構(gòu)完成。圖3.1-1為該模塊的程序流程圖該模塊主要涉及到AD轉(zhuǎn)換和定時器A的操作。下面分析該模塊的程序設(shè)計。初始化部分:該部分主要完成AD轉(zhuǎn)換和定時器A的初始化功能。下面為初始化部分的代碼程序。AD初始化程序如下:void Init_ADC(void)P6SEL0X07; /設(shè)置P6.0為模擬輸入通道ADCl2CTL 0=(ENC); /設(shè)置ENC為0,從而修改ADC12寄存器的值A(chǔ)DCl2CTLl |=CSTARTADD_0; /轉(zhuǎn)換的起始地址為

33、:ADCMEM0ADC12MCTL0 = INCH_0+EOS; /設(shè)置參考電壓分別為AVss和AVcc,輸入通道為A0ADC12CTL0 |= ADC12CTON;ADC12CTL0 |= MSC;ADC12CTL1 |= CONSEQ_1; /轉(zhuǎn)換模式為:多通道、單次轉(zhuǎn)換ADC12CTL1 |= ADC12SSEL_1; /SMCLKADC12CTL1 |= ADC12DIV_0; /時鐘分頻為1ADC12CTL1 |= (SHP); /采樣脈沖由采用采用定時器產(chǎn)生ADC12CTL0 |= ENC; /使能ADC轉(zhuǎn)換return;通過以上的程序代碼可以看出,只要適當設(shè)置AD轉(zhuǎn)換的寄存器,就

34、能使A仍模塊正確的工作。定時器A的初始化程序如下。void Init_TimerA(void)TACTL=TASSELL+TACLR; /選擇SMCLK,清除TARTACTL+=ID1;TACTL+=ID0;/1/8中斷允許CCTL0=CCIE; /CCR0中斷允許CCR0=40000; /時間間隔為250HzTACTL |=MC0; /增記數(shù)模式return;通過上面的程序代碼可以看出,通過設(shè)置CCR0就可以設(shè)置定時器中斷的頻率,從而實現(xiàn)采樣時間間隔的控制。定時器A處理和A/D轉(zhuǎn)換部分:該部分主要完成數(shù)據(jù)的采集,并且通過定時器A來控制采集的頻率,另外也設(shè)置一個標志來通知主程序已經(jīng)獲得新的數(shù)據(jù)

35、,通過全局變量來實現(xiàn)與主處理程序?qū)崿F(xiàn)數(shù)據(jù)的交互。達部分程序采用中斷服務(wù)程序?qū)崿F(xiàn),在定時器A里先停止A/D轉(zhuǎn)換,讀取數(shù)據(jù)后啟動A/D轉(zhuǎn)換,然后再等待下一次中斷的到來。下面為定時器A處理和A/D轉(zhuǎn)換部分的代碼程序。/定時器中斷,完成ADC轉(zhuǎn)換interrupt TIMERA0_VECTOR void Timera_ISR(void)int results;ADC12CTL0 &=ENC; /關(guān)閉轉(zhuǎn)換results=ADC12MEM0; /讀出轉(zhuǎn)換結(jié)果ADC_BUFNadc_Count=results;nADC_Count+=1;if(nADC_Count=10)nADC_Flag=1; /

36、設(shè)置標志for(int i=0;i<10;i+) ADC_BUF_TEMPi=ADC_BUFi;nADC_Count=0;ADC12CTL0 |=ENC+ADC12SC; /開始轉(zhuǎn)換以上程序使用了全局變量nADC_Flag,通過nADC_Flag變量通知主程序有新的采集數(shù)據(jù)獲;全局變量nADC_Count用來記數(shù)處理;ADC_BUF_Temp和ADC_BUF全局變量用來存放數(shù)據(jù),ADC_BUF_Temp作為與主程序交換數(shù)據(jù)的緩沖區(qū)。3.2 無線通信模塊CC2420是一款符合IEEE 802.15.4標準的RF收發(fā)芯片,硬件支持一部分 IEEE 802 115 14MAC 幀。同步頭包括前

37、導(dǎo)碼和幀起始分隔符(SFD),在CC2420中,前導(dǎo)碼和幀起始分隔符是可以配置的,默認值4B和1B是符合IEEE 802.15.4的標準。當MODEMCTRL0 1AU2TOCRC控制位置位時,自動產(chǎn)生2B的幀校驗序列,并由CC2420硬件自動插入。CC2420有2個用于訪問收發(fā)FIFO緩存區(qū)的寄存器:一個用來發(fā)送FIFO緩存區(qū),稱為TXFIFO寄存器;另一個用來訪問接收FIFO緩存區(qū),稱為RXFIFO寄存器。訪問這2個寄存器時,CC2420傳輸?shù)臄?shù)據(jù)是8位,同時自動更新FIFO緩存區(qū)的讀寫指針。整個無線通信程序主要包括以下3個方面:a.系統(tǒng)初始化首先初始化端口。包括I/ O初始化、SPI接口

38、和UART接口的初始化。要注意方向寄存器的設(shè)置及串口波特率的設(shè)定等。其次初始化射頻芯片CC2420。CC2420內(nèi)部有33個16位配置寄存器,初始化CC2420 時需要對這些寄存器進行設(shè)置,實際上這些寄存器在芯片復(fù)位時都已設(shè)置了一些初始值。例如:MDMCTRL0. AU TOCRC自動循環(huán)冗余校驗;IOCFG0. FIFOP_ THR 設(shè)置RX FIFO 緩沖器中字節(jié)門限值;BATTMON.BATTMON_E電池監(jiān)控使能;TXCTRL.PA_L EVEL輸出功率編程(輸出功率單位為dBm) ;MAIN.XOSC16M_BYPASS使能外部晶體振蕩器等。實際使用時,應(yīng)根據(jù)需要對初始值進行修改。初

39、始化的步驟為:打開電壓調(diào)節(jié)器,復(fù)位CC2420,開啟晶體振蕩器并等待晶振穩(wěn)定,寫入所有必須的寄存器的值和地址識別(為自動地址識別準備)。配置寄存器設(shè)置的參考值:MDMCTRL0=0x0AF2,打開自動應(yīng)答; MDMCTRL1=0x0500,設(shè)置關(guān)聯(lián)門限值=20;IOCFG0=0x007F,設(shè)置FIFOP門限至最大值127;SECCTRL0=0x01C4,關(guān)閉安全使能。注意:在處理器訪問CC2420時,要關(guān)閉全局中斷。b.發(fā)送數(shù)據(jù)處理器需要CC2420發(fā)送數(shù)據(jù)時, 首先通過TXFIFO寄存器把需要發(fā)送的數(shù)據(jù)包按字節(jié)依次寫入到發(fā)送緩存區(qū)TXFIFO中,然后寫命令選通寄存器STXON或STXONCC

40、A,等待信道空閑時從無線信道發(fā)送。具體的步驟為:首先把數(shù)據(jù)流按順序存入TXFIFO中,依次為數(shù)據(jù)幀的幀長度Length(1B)、幀控制字段Frame control field(2B)、序列號Sequence number(1B)、PAN 標識符PANID(2B)、目標地址Dest address(2B)、源地址Source address(2B)、有效載荷 Payload(Length2(2+1+2+2+2)和幀校驗序列Frame check sequence(2B)。接下來檢查CCA信號并等待信道空閑。然后執(zhí)行STXON命令選通寄存器,打開TX發(fā)射模式。在任何新數(shù)據(jù)寫入TXFIFO前請確認

41、SFD變高后再變底并且已經(jīng)等待了至少60 個時鐘周期。c.接收數(shù)據(jù)當CC2420接收到數(shù)包時,會把數(shù)據(jù)存入到接收緩存區(qū)RXFIFO,并改變FIFO和 FIFOP引腳的狀態(tài),處理器通過FIFOP的引腳中斷讀RXFIFO寄存器依次讀取整個數(shù)據(jù)包。具體的實現(xiàn)步驟為:首先檢查FIFO和FIFOP信號,確認是否有新數(shù)據(jù)到來。如果有新數(shù)據(jù)到來,當數(shù)據(jù)包的數(shù)目超過設(shè)置的FIFOP的閾值時,F(xiàn)IFOP變?yōu)楦唠娖?從而觸發(fā)處理器的外部中斷,通過中斷接收數(shù)據(jù)。 首字節(jié)是幀的長度,通過幀長度來判斷是否正確接收到了幀以及接收到的幀的類型,并作相應(yīng)的處理,在串口輸出相關(guān)的信息。 接收源地址并檢查它是否與希望的發(fā)送者相匹

42、配,如果不匹配則丟棄整個幀。 接收目的地址并檢查它是與本地地址相匹配,如果不匹配則丟棄整個幀。 接收并保存有效載荷到接收緩存區(qū)RxBuffer 中。 接收兩字節(jié)的CRC信息,如果CRC校驗失敗,則丟棄先前保存的數(shù)據(jù)。任何時候RXFIFO只要發(fā)生下溢或溢出,立即清除RXFIFO。3.3 GSM模塊程序設(shè)計7整個軟件系統(tǒng)系統(tǒng)軟件實現(xiàn)了一個簡單的短信息傳輸數(shù)據(jù)系統(tǒng),另外也包括一些輔助的配置管理,整個程序的流程圖如主要實現(xiàn)TC35的短信息發(fā)送,另外還通過與上位機的通信來實現(xiàn)一些簡單的配置管理。整個圖3.3-1所示。在本設(shè)計中,由于GSM模塊是本系統(tǒng)的核心,GSM模塊不能正常工作,則系統(tǒng)不能正常工作,因

43、此,GSM的初始化采用了循環(huán)程序設(shè)計,只有每條命令都正常執(zhí)行后,方可進行下一條命令的發(fā)送。初始化過程如圖3.3-2所示:圖3.3-1 GSM模塊軟件設(shè)計流程圖圖3.3-2 初始化流程圖在該系統(tǒng)中,短信息操作是基于PDU格式的。短信息的實現(xiàn)主要有短信中心地址的設(shè)置、短信息格式的設(shè)置、短信息發(fā)送、短信息接收、短信息的刪除等操作。下面對各個部分的實現(xiàn)進行具體的分析。在下面的介紹中,由于數(shù)據(jù)的發(fā)送是基于串口實現(xiàn)的,這樣該部分討論的軟件位于串口發(fā)送軟件之上因此這里具體討論的是數(shù)據(jù)包的封裝和解析。3.3.1 短信中心地址的設(shè)置在短信息的發(fā)送過程中,源GSM終端將短信息發(fā)送到另外一個日的GSM終端,源GSM

44、終端首先將短信息發(fā)送到短信中心,由短信中心再轉(zhuǎn)發(fā)給目的終端,因此實現(xiàn)的機制是存儲轉(zhuǎn)發(fā)的機制,這樣就必須要正確設(shè)置弓短信中心的地址。下面為該部分程序的具體代碼。/設(shè)置短信中心地址int setCsCa(char pBuf)pBuf0 =A;pBuf1 =T;pBuf2 =+;pBuf3 =C;pBuf4 =S;pBuf5 =C;pBuf6 =A;pBuf7 =;pBuf8 =+;pBuf9 =8;pBuf10 =6;pBuf11 =1;pBuf12 =3;pBuf13 =4;pBuf14 =3;pBuf15 =8;pBuf16 =3;pBuf17 =3;pBuf18 =2;pBuf19 =5;

45、pBuf20 =5;pBuf21 =3;pBuf22 =,;pBuf23 =1;pBuf24 =4;pBuf25 =4;pBuf26 = l3;return;在該程序中,封裝好命令“AT+CASC=+8613438332553,149”,函數(shù)返回的是數(shù)據(jù)包的長度。命令中的參數(shù)必須是字符形式。命令中的“+8613438332553”為短信中心的地址。命令中的“149”為地址識別號,這里地址信息中使用了“+”,因此識別號為“149”。3.3.2 短信息格式的設(shè)置在發(fā)送短信息的時候,需要選擇短信息的格式,短信息的格式有TXET和PDU兩種格式。在該系統(tǒng)中選擇PDU格式。下面為具體的程序。/設(shè)置短信息

46、格式int setCmgf(char pBuf)pBuf0 =A;pBuf1 =T;pBuf2 =+;pBuf3 =C;pBuf4 =M;pBuf5 =G;pBuf6 =F;pBuf7 =;pBuf8 =0;pBuf9 =13;return 10;在該程序中,封裝好命令“AT+CMGF=0”,函數(shù)返回的是數(shù)據(jù)包的長度。由于設(shè)置成PDU格式,因此命令里面的參數(shù)為“0”。3.3.3 短信息發(fā)送在PDU模式下,先發(fā)送完長度字節(jié)后,必須等待TC35模塊的響應(yīng),當響應(yīng)為“>”時,則繼續(xù)發(fā)送PDU數(shù)據(jù)包。下面給出PDU模式下,短信息發(fā)送的流程圖,圖3.3.3-1為短信息發(fā)送的流程圖。圖3.3.3-1

47、 短信息發(fā)送流程圖下面給出發(fā)送短信息的程序,程序如下:/發(fā)送短信息void sendSms(char pPhone,int phonelen,char pData,int nLen,int *nTXLen1,int *nTXLen2,char pOut1,char pOut2)char strHead18=0, 8, 9, 1, 6, 8 3, 1,0 ,8, 2, 0, 0, 3, 0, 5, F, 0;char chrInfo6= 1, 1, 0, 0, 0, B;int nLen_temp;int nContent_Len;int nTenmplen;int noff;int noffs

48、et;char chrTemp100;char chrTmp100;char pBuf200;char phoneTemp20;char nTemp100;char Len1;int i;int n;noff=0;noffset=0;for(i=0;i<phonelen;i+)chrTmpi=pPhonei;chrTmpphonelen=F;phonelen+=1;/將電話號碼按照規(guī)范的順序作成n=0;for(i=0;i<phonelen/2;i+)phoneTempn+=chrTmp2*i+1;phoneTempn+=chrTmp2*i;copy(chrTemp,0,chrInf

49、o,0,6);noff=6;chrTempnoff=8;noff+=1;chrTempnoff=1;noff+=1;/設(shè)置電話號碼copy(chrTemp,noff,phoneTemp,0,phonelen);noff+=phonelen;chrTempnoff=0;noff+=1;chrTempnoff=0;noff+=1;nContent_Len=nLen;/設(shè)置編碼類型chrTempoff= 0;noff+=1;chrTempnoff=0;noff+=1;Len0=nLen;for(i=0;i<10;i+)chrTempi=0;ByteToChar(Len,chrTmp,1);ch

50、rTempnoff= A;noff+=1;chrTempnoff= A;noff+=1;copy(chrTemp,noff,chrTemp,0,2);noff+=2;nLen_temp=noff;nLen_temp+=nContent_Len;/獲得長度的字符數(shù)組nTempLen=IntToChar(nLen_temp,chrTmp);/封裝長度信息nTemp0=A;nTemp1=T;nTemp2=+;nTemp3=C;nTemp4=M;nTemp5=G;nTemp6=S;nTemp7=;noffset=8;for(i=0;i<nTempLen;i+) /長度nTempnoffset=c

51、hrTmpi;noffset+=1;nTempnoffset=13;for(i=0;i<noffset;i+)pOut1i=nTempi;*nTXLen1=noffset;/封裝內(nèi)容數(shù)據(jù)copy(pOut2,0,strHead,0,l8)noffset18;copy(pOut 2,noffset,0,chrTemp,noff);noffset+= noff;Encode(pData,pBuf,nLen):ByteToChar(pBuf,chrTmp,nLen);copy(pout2, noffsetchrTmp,0,(2*nLen);noffset+(2 * nLen);pOut2nof

52、fset=26; *nTXLen2=noffset;GSM Default Alphabet編碼是將由7位ASCII碼移位組成8位十六進制碼(octet),函數(shù)Encode(char in,char out,int nLen)完成GSM Default Alphabet編碼,in為需要編碼的數(shù)據(jù),out為編碼后得到的數(shù)據(jù),nLen為編碼的長度。為了將字節(jié)流轉(zhuǎn)換成字符流,提供函數(shù)ByteToChar(char nInPut,char Out,int nLen)來實現(xiàn)nInPut為輸入的字節(jié)流,0ut為轉(zhuǎn)換后得到的字符流,nLen為需要轉(zhuǎn)換的長度。下面給出具體的編碼函數(shù)和轉(zhuǎn)換函數(shù),具體函數(shù)如下:/

53、編碼函數(shù)void Encode(char in,char out,int nLen) int nOrigin = O;int nCode = 0;while(true)ifnOrigin>= nLen) break;outnCode=innOrigin ;if(nOrigin+1)>=nLen) break;outnCode=(byte)( (innOrigin+1&0x01)<<7);outnCode+1=(byte)( (innOrigin+1>>1)&0xff);if(nOrigin+2)>=nLen) break;outnCod

54、e+1 |= (byte)(innOrigin+2&0x03)<<6);outnCode+2=(byte)(innOrigin+2>>2)&0xff);if(nOrigin+3)>=nLen) break;outnCode+2 |= (byte)(innOrigin+3&0x07)<<5);outnCode+3=(byte)(innOrigin+3>>& 0xff);if(nOrigin+4)>=nLen) break;outnCode+3 |= (byte)(innOrigin+4&0x0f)<<4);outnCode+4=(byte)(innOrigin+4>>4)&0xff);if(nOrigin+5)>=nLen) break;outnCode+4 |= (byte)(innOrigin+5&0x1f)<<3);outnCode+5=(byte)(innOr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論