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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、將情況傳遞給用戶,用在得到消息后,可以立即采取有效的應急措施,如:打電話給110求救中心或者119消防中心,對事故進行緊急處理。為了滿足信息存儲和模擬量采集,本系統(tǒng)采用了Texas Instruments公司的MSP430F1649作為MCU,集中管理溫度傳感器、煙霧傳感器,并通過西門子公司的GSM模塊(TC35i)和用戶進行遠程信息交換。溫度傳感器、煙霧傳感器構成了防火災系統(tǒng),保障實驗室財產的安全。關鍵詞:GSM 無線通信 遠程 防火災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 總體方案設計11.1 各模塊的選擇與論證21.1.1 單片機與無線通信模塊的選擇21.1.2 GSM的選擇21.1.3 氣敏模塊的選擇31.1.4 溫度模塊的選擇31.2 結論32 系統(tǒng)硬件設計32.1 系統(tǒng)總體設計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)軟件設計93.1 采集模塊93.2 無線通信模塊123.3 GSM模塊程序設計133.3.1 短信中心地址的設置153.3.2 短信息格式的設置163.3.4 短信息接收223.3.5 短信息的刪除273.4 主循環(huán)程序流程圖273.5 主循環(huán)子程序283.6 部分程序清單294 系統(tǒng)調試294.1 系統(tǒng)硬件調試294.2 系統(tǒng)軟件調試295 實例總結30附錄131附錄232參考文獻3738實驗室溫度與煙霧報警系統(tǒng)設計前言 隨著“信息時代”的到來,作為獲取信息的手段傳感器技術得到了顯著的進步,其應用領域越來越廣泛,對其要求越來越高,需求越來越迫切。傳感器技術已成為衡量一個

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

40、A,等待信道空閑時從無線信道發(fā)送。具體的步驟為:首先把數據流按順序存入TXFIFO中,依次為數據幀的幀長度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ā)射模式。在任何新數據寫入TXFIFO前請確認

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

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

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

44、終端首先將短信息發(fā)送到短信中心,由短信中心再轉發(fā)給目的終端,因此實現的機制是存儲轉發(fā)的機制,這樣就必須要正確設置弓短信中心的地址。下面為該部分程序的具體代碼。/設置短信中心地址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”,函數返回的是數據包的長度。命令中的參數必須是字符形式。命令中的“+8613438332553”為短信中心的地址。命令中的“149”為地址識別號,這里地址信息中使用了“+”,因此識別號為“149”。3.3.2 短信息格式的設置在發(fā)送短信息的時候,需要選擇短信息的格式,短信息的格式有TXET和PDU兩種格式。在該系統(tǒng)中選擇PDU格式。下面為具體的程序。/設置短信息

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”,函數返回的是數據包的長度。由于設置成PDU格式,因此命令里面的參數為“0”。3.3.3 短信息發(fā)送在PDU模式下,先發(fā)送完長度字節(jié)后,必須等待TC35模塊的響應,當響應為“>”時,則繼續(xù)發(fā)送PDU數據包。下面給出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;/設置電話號碼copy(chrTemp,noff,phoneTemp,0,phonelen);noff+=phonelen;chrTempnoff=0;noff+=1;chrTempnoff=0;noff+=1;nContent_Len=nLen;/設置編碼類型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;/獲得長度的字符數組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;/封裝內容數據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),函數Encode(char in,char out,int nLen)完成GSM Default Alphabet編碼,in為需要編碼的數據,out為編碼后得到的數據,nLen為編碼的長度。為了將字節(jié)流轉換成字符流,提供函數ByteToChar(char nInPut,char Out,int nLen)來實現nInPut為輸入的字節(jié)流,0ut為轉換后得到的字符流,nLen為需要轉換的長度。下面給出具體的編碼函數和轉換函數,具體函數如下:/

53、編碼函數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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論