智能家居課程設(shè)計(jì)報(bào)告_第1頁(yè)
智能家居課程設(shè)計(jì)報(bào)告_第2頁(yè)
智能家居課程設(shè)計(jì)報(bào)告_第3頁(yè)
智能家居課程設(shè)計(jì)報(bào)告_第4頁(yè)
智能家居課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、南通大學(xué)智能家居監(jiān)控系統(tǒng)設(shè)計(jì)學(xué) 院:電氣工程班級(jí):電115姓 名:劉家辰學(xué) 號(hào): 1112002083目錄1 引言.32 系統(tǒng)設(shè)計(jì) .33 硬件設(shè)計(jì) .43.1單片機(jī)的選型 .43.2溫度監(jiān)測(cè)模塊 .53.2.1 溫度傳感器簡(jiǎn)介 . .53.2.2測(cè)量原理 .53.2.3電路仿真 .63.3煙霧監(jiān)測(cè)模塊 .73.4 Zigbee 模塊 .83.5報(bào)警模塊 .93.6鍵盤輸入模塊 .103.7液晶顯示模塊 .113.8人體紅外感應(yīng)模塊 . .114 主機(jī)軟件設(shè)計(jì) .124.1主機(jī)程序整體框架 .134.2無線發(fā)送 / 接收程序 . .134.3溫度監(jiān)測(cè)節(jié)點(diǎn)程序 . .154.4煙霧監(jiān)測(cè)節(jié)點(diǎn)程序

2、. .174.5紅外熱釋電監(jiān)測(cè)節(jié)點(diǎn)程序 . .185 設(shè)計(jì)體會(huì) .20第1頁(yè)共22頁(yè)6 參考文獻(xiàn)207 附錄21主機(jī)電路原理圖21第2頁(yè)共22頁(yè)1 引言隨著社會(huì)經(jīng)濟(jì)和科學(xué)技術(shù)的發(fā)展,社會(huì)信息化程度越來越高, 物聯(lián)網(wǎng)的推出是時(shí)代發(fā)展的需要, “三網(wǎng)合一”、“ 三屏合一” 等新概念不斷提出, 智能家居成為未來家居的發(fā)展方向。智能家居在兩個(gè)方面具有重要作用:(1) 家居智化, 繼而實(shí)現(xiàn)住戶舒適最大化, 家庭安全最大化。智能家居通過其智能家庭控制幫助人們改進(jìn)生活方式, 重新安排每天的時(shí)間計(jì)劃表, 并為高質(zhì)量的生活環(huán)境提供安全保障。(2) 智能家居的另一個(gè)重要作用是降低能源消耗,操作成本最小化, 幫助人

3、們節(jié)約日常能源消耗開支。智能家居主要通過智能家庭控制系統(tǒng)實(shí)現(xiàn), 家庭控制網(wǎng)絡(luò)是實(shí)現(xiàn)智能家庭控制系統(tǒng)的關(guān)鍵。 近幾年, 各種家庭網(wǎng)絡(luò)推進(jìn)組織相繼成立, 并各自推出了相關(guān)建議和標(biāo)準(zhǔn), 但這些技術(shù)標(biāo)準(zhǔn)缺乏統(tǒng)一的通信接口, 相互間不兼容 , 無法提供家庭控制網(wǎng)絡(luò)的完整解決方案。因此, 智能家居研究者面臨的最大挑戰(zhàn)和機(jī)遇是家用電子領(lǐng)域缺乏統(tǒng)一的通信標(biāo)準(zhǔn)和互操作協(xié)議。2 系統(tǒng)設(shè)計(jì)智能家居監(jiān)控系統(tǒng)的總體設(shè)計(jì)框圖如圖 1 所示。該系統(tǒng)采用主從方式, 主機(jī)負(fù)責(zé)接收無線信息、 GSM遠(yuǎn)程報(bào)警、傳感器閾值設(shè)置,從機(jī)負(fù)責(zé)溫度、氣體、煙霧、等環(huán)境信號(hào)采集處理及無線發(fā)送。 本文研制的智能家居環(huán)境監(jiān)測(cè)報(bào)警系統(tǒng)能夠?qū)崟r(shí)監(jiān)測(cè)煤

4、氣泄漏、火災(zāi)、電熱毯過熱等溫度異常、外人闖入等危險(xiǎn)狀態(tài),并可實(shí)現(xiàn)電話號(hào)碼報(bào)警,設(shè)置傳感器閾值等功能。第3頁(yè)共22頁(yè)被檢測(cè)對(duì)象溫度檢ZigBee測(cè)模塊模塊顯示模塊煙霧檢ZigBee測(cè)模塊模塊溫度監(jiān)ZigBee蜂鳴器測(cè)模塊模塊ZigBee主單片報(bào)警模模塊機(jī)塊有害氣ZigBee體監(jiān)測(cè)模塊模塊紅外感ZigBee應(yīng)模塊模塊鍵盤輸入模塊圖 1 智能家居監(jiān)控系統(tǒng)的總體設(shè)計(jì)框圖3 硬件設(shè)計(jì)3.1單片機(jī)的選型采用 AT89S51作為主要單片機(jī)AT89S51是一種可編程可擦除的只讀存儲(chǔ)器并帶有 4K 字節(jié)的閃爍,具有是低功耗,高性能 CMOS8位微處理器,俗稱單片機(jī)。 AT89S51內(nèi)有 4K 字節(jié)可編程閃爍存儲(chǔ)

5、器, 128 字節(jié)的內(nèi)部 RAM,32 個(gè)外部雙向 I/O 口,6 個(gè)中斷源,兩個(gè) 16 位定時(shí)計(jì)數(shù)器及兩個(gè)全雙工串行通信口 , 看門狗電路。 AT89S51 有片內(nèi)振蕩器和時(shí)鐘電路,具有掉電模式和低功耗的閑置。AT89S51可降至 0Hz 的靜態(tài)邏輯操作,第4頁(yè)共22頁(yè)空閑方式是停止 CPU的工作,但允許定時(shí)計(jì)數(shù)器、 RAM、中斷系統(tǒng)及串行通信口繼續(xù)工作。掉電方式是保存 RAM中的內(nèi)容,但振蕩器停止工作就要禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。3.2 溫度監(jiān)測(cè)模塊3.2.1 溫度傳感器簡(jiǎn)介溫度傳感器的種類眾多,在應(yīng)用與高精度、高可靠性的場(chǎng)合時(shí) DALLAS(達(dá)拉斯)公司生產(chǎn)的 DS18B2

6、0溫度傳感器當(dāng)仁不讓。DS18B20具有以下特性:( 1)獨(dú)特的單線接口僅需一個(gè)端口引腳進(jìn)行通訊;( 2)簡(jiǎn)單的多點(diǎn)分布應(yīng)用;( 3)無需外部器件;( 4)可通過數(shù)據(jù)線供電;( 5)零待機(jī)功耗;( 6)測(cè)溫范圍 -50+125,以 0.5 遞增。華氏器件 -67+257,以 0.9 遞增;(7) 溫度以 9 位數(shù)字量讀出溫度數(shù)字量轉(zhuǎn)換時(shí)200ms(典型值);(8) 用戶可定義的非易失性溫度報(bào)警設(shè)置;(9) 報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;(10) 應(yīng)用包括溫度控制、工業(yè)系統(tǒng)、消費(fèi)品、溫度計(jì)或任何熱感測(cè)系統(tǒng)。3.2.2 測(cè)量原理DS18B20有三個(gè)主要數(shù)字部件: 1

7、)64 位激光 ROM, 2)溫度傳感器, 3)非易失性溫度報(bào)警觸發(fā)器 TH和 TL。器件用如下方式從單線通訊線上汲取能量:在信號(hào)線處于高電平期間把能量?jī)?chǔ)存在內(nèi)部電容里, 在信號(hào)線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。 DS18B20也可用外部 5V 電源供電。第5頁(yè)共22頁(yè)DS18B20+5VVDDI/OuP圖 3 DS18B20與單片機(jī)的連接方式DS18B20依靠一個(gè)單線端口通訊, 如圖 3 所示。在單線端口條件下, 必須先建立 ROM操作協(xié)議,才能進(jìn)行存儲(chǔ)器和控制操作。 因此,控制器必須首先提供下面 5 個(gè) ROM操作命令之一: 1)讀 ROM,2)

8、匹配 ROM,3)搜索 ROM,4)跳過 ROM,5)報(bào)警搜索。這些命令對(duì)每個(gè)器件的激光 ROM部分進(jìn)行操作,在單線總線上掛有多個(gè)器件時(shí), 可以區(qū)分出單個(gè)器件, 同時(shí)可以向總線控制器指明有多少器件或是什么型號(hào)的器件。 成功執(zhí)行完一條 ROM操作序列后,即可進(jìn)行存儲(chǔ)器和控制操作,控制器可以提供 6 條存儲(chǔ)器和控制操作指令中的任一條。一條控制操作命令指示 DS18B20完成一次溫度測(cè)量。 測(cè)量結(jié)果放在 DS18B20 的暫存器里,用一條讀暫存器內(nèi)容的存儲(chǔ)器操作命令可以把暫存器中數(shù)據(jù)讀出。溫度報(bào)警觸發(fā)器 TH和 TL 各由一個(gè) EEPROM字節(jié)構(gòu)成。如果沒有對(duì) DS18B20使用報(bào)警搜索命令, 這些

9、寄存器可以做為一般用途的用戶存儲(chǔ)器使用。 可以用一條存儲(chǔ)器操作命令對(duì) TH和 TL 進(jìn)行寫入,對(duì)這些寄存器的讀出需要通過暫存器。 所有數(shù)據(jù)都是以最低有效位在前的方式進(jìn)行讀寫。圖 4 DS18B20溫度測(cè)量電路原理圖3.2.3 電路仿真1>未達(dá)到設(shè)定值前:第6頁(yè)共22頁(yè)2>到達(dá)設(shè)定值之后:3.3 煙霧監(jiān)測(cè)模塊MQ系列氣體傳感器是常見的氣體傳感器,它有多種系列,可用于不同氣體濃度的檢測(cè)。 它的工作原理為: 其內(nèi)部由活性很高的金屬氧化物半導(dǎo)體 (常用的是 SnO2)組成,金屬氧化物半導(dǎo)體在空氣中被加熱到一定溫度時(shí),氧原子被吸第7頁(yè)共22頁(yè)附在帶負(fù)電荷的半導(dǎo)體表面, 半導(dǎo)體表面的電子會(huì)被轉(zhuǎn)

10、移到吸附氧上, 氧原子就變成了氧負(fù)離子, 同時(shí)在半導(dǎo)體表面形成一個(gè)正的空間電荷層, 導(dǎo)致表面勢(shì)壘升高,從而阻礙電子流動(dòng)。 在敏感材料內(nèi)部, 自由電子必須穿過氧化物半導(dǎo)體微晶粒的結(jié)合部位 (晶界)才能形成電流。 由氧吸附產(chǎn)生的勢(shì)壘同樣存在于晶界而阻礙電子的自由移動(dòng), 傳感器的電阻即緣于這種勢(shì)壘。 在工作條件下當(dāng)傳感器遇到還原性氣體時(shí),氧負(fù)離子因與還原性氣體發(fā)生氧化還原反應(yīng)而導(dǎo)致其表面濃度降低,勢(shì)壘隨之降低,傳感器的阻值減小。在給定的工作條件下和適當(dāng)?shù)臍怏w濃度范圍內(nèi),傳感器的電阻值和還原性氣體濃度之間的關(guān)系可近似由下面方程表示:Rs=AC- 其中: Rs:傳感器電阻 ,A: 常數(shù) ,C: 氣體濃度

11、, :Rs 曲線的斜率通過對(duì)傳感器兩端電壓的測(cè)量可以得到傳感器的阻值, 進(jìn)而可以得到所測(cè)氣體的濃度。MQ-7半導(dǎo)體氣體傳感器具有對(duì) 一氧化碳的高靈敏度、優(yōu)異的穩(wěn)定性、長(zhǎng)壽命、大的電信號(hào)輸出、優(yōu)異的選擇性,常用于家庭、商業(yè)、工業(yè)環(huán)境的一氧化碳、煤氣探測(cè)裝置。MQ-7 工作條件:環(huán)境溫度: -20 +55 濕度: 95%RH環(huán)境含氧量: 21%煙霧監(jiān)測(cè)模塊由一塊 MQ-7 型氣敏傳感器芯片及若干外圍電路組成。其測(cè)量電路如圖 5 所示。圖 5 煙霧監(jiān)測(cè)模塊測(cè)量電路3.4 Zigbee模塊ZigBee是 一 種 低 速 無 線 個(gè) 域 網(wǎng) 技 術(shù) ( LowRate Wireless Personal

12、Network, LRWPAN)。它用途很廣泛,多適用于一些分布范圍較小,通信數(shù)據(jù)量不大,數(shù)據(jù)傳輸速率相對(duì)較低, 但同時(shí)對(duì)傳輸數(shù)據(jù)的可靠性和安全性有一定的要求,同時(shí)成本低和功耗低且易安裝使用的場(chǎng)合。選用CC2530 作為無線通信模塊的核心芯片。外觀圖如圖5.2 所示。第8頁(yè)共22頁(yè)CC2530-ZigBee 無線通訊模塊是采用 TI 最新一代 CC2530 ZigBee 標(biāo)準(zhǔn)芯片,適用于 2.4GHz、 IEEE 802.15.4、ZigBee 和 RF4CE 應(yīng)用。 CC2530 芯片包括了極好性能的一流 RF 收發(fā)器,工業(yè)標(biāo)準(zhǔn)增強(qiáng)性 8051 MCU ,系統(tǒng)中可編程的快閃內(nèi)存, 8KB R

13、AM 以及許多其他功能強(qiáng)大的特性,可廣泛應(yīng)用在 2.4-GHz IEEE 802.15.4 系統(tǒng)、 RF4CE 控制系統(tǒng)、 ZigBee 系統(tǒng),其應(yīng)用領(lǐng)域可為:家庭醫(yī)院建筑物自動(dòng)化,工業(yè)控制測(cè)量和監(jiān)視,低功耗無線感測(cè)器網(wǎng)絡(luò)等各方面應(yīng)用。無線模塊的軟件主要由兩部分構(gòu)成, 一部分為主程序, 實(shí)現(xiàn)串口數(shù)據(jù)到無線數(shù)據(jù)的轉(zhuǎn)換;另一部分為中斷服務(wù)程序, 實(shí)現(xiàn)無線數(shù)據(jù)到串口數(shù)據(jù)的轉(zhuǎn)換 CC2530 的開發(fā)環(huán)境是 IAR Embedded Workbench IDE,采用 C 語言編程,流程圖 6 如下:開始初始化時(shí)鐘初始化電源初始化串口初始化 DMA初始化無線無線接收串口接收到數(shù)N據(jù)?數(shù)據(jù)在 DMA 的控制

14、下從 RadioY區(qū)轉(zhuǎn)移到 Memory 區(qū)串口數(shù)據(jù)經(jīng) DMA控制轉(zhuǎn)移到 Radio區(qū)中DMA 工作結(jié)束后產(chǎn)生中斷,通無線發(fā)送過串口將轉(zhuǎn)移到 Memory 中數(shù)據(jù)發(fā)送出去圖 6ZigBee 模塊軟件設(shè)計(jì)流程圖3.5 報(bào)警模塊當(dāng)需要報(bào)警時(shí), 單片機(jī)將通過一個(gè) I/O 口進(jìn)行報(bào)警。報(bào)警電路由一個(gè)蜂鳴器和三極管 9013 組成,當(dāng)單片機(jī)的 WARN口輸出高電平時(shí), 9013 導(dǎo)通,蜂鳴器聯(lián)通,從而發(fā)出聲音,聲音的大小可由 WARN口輸出的方波頻率控制。第9頁(yè)共22頁(yè)圖 7報(bào)警模塊電路3.6 鍵盤輸入模塊在單片機(jī)系統(tǒng)中, 鍵盤的設(shè)計(jì)主要有三種方式: 獨(dú)立按鍵式鍵盤、 行列掃描式鍵盤和 N×(

15、 N-1)鍵盤。獨(dú)立按鍵式鍵盤使用單片機(jī)的 I/O 口線直接連接,每個(gè)按鍵對(duì)應(yīng)一根口線, 一般應(yīng)用在按鍵較少的場(chǎng)合。 但系統(tǒng)功能較多、 按鍵數(shù)量較大時(shí),獨(dú)立式按鍵就不能滿足需要了。此時(shí)需要使用行列掃描式鍵盤接口,可以通過少量的 I/O 口線連接較多的按鍵。 在有的應(yīng)用場(chǎng)合, 單片機(jī)的 I/O 口線非常緊缺,又需要較多按鍵的鍵盤,這時(shí)可使用 N 條口線上連接 N×( N-1)個(gè)按鍵的方法予以解決。本設(shè)計(jì)中采用的是獨(dú)立按鍵式鍵盤,接線方式如圖 8 所示。圖 8 行列掃描式鍵盤原理圖在獨(dú)立按鍵式鍵盤上實(shí)現(xiàn)鍵盤主要有三個(gè)步驟: 判斷有無按鍵被按下并消除抖動(dòng);鍵盤識(shí)別;等待按下鍵盤松開。1判斷

16、有無按鍵被按下并消除抖動(dòng)在圖 8 中,按鍵開關(guān)一端接地,一端通過一個(gè)上拉電阻接高電平作為輸出,當(dāng)按鍵按下時(shí), 輸出電平由高變?yōu)榈停?通過單片機(jī)進(jìn)行延時(shí)消除抖動(dòng)即可判定為一次有效按鍵觸動(dòng)。2. 鍵盤識(shí)別經(jīng)確認(rèn)的有效按鍵觸動(dòng)后就可以進(jìn)行鍵盤的識(shí)別,由單片機(jī)對(duì) KEY口輸入進(jìn)第10頁(yè)共22頁(yè)行識(shí)別從而得到對(duì)應(yīng)的鍵值。3. 等待按下按鍵松開鍵盤識(shí)別后單片機(jī)將采用 while 來檢測(cè)按鍵的輸出電平是高還是低來確定按鍵是否松開,未松開則一直在等待直到松開。3.7 液晶顯示模塊LPH7366是 NOKIA公司生產(chǎn)的可用于其 5110、 6150,6100 等系列移動(dòng)電話的液晶顯示模塊, 國(guó)內(nèi)廠家也生產(chǎn)有類似

17、的兼容產(chǎn)品。 該產(chǎn)品除應(yīng)用于移動(dòng)電話外,也可廣泛應(yīng)用于各類便攜式設(shè)備的顯示系統(tǒng)。 與其它類型的產(chǎn)品相比, 該模塊具有以下特點(diǎn):1>84×48 的點(diǎn)陣 LCD,可以顯示 4 行漢字;2> 采用串行接口與主處理器進(jìn)行通信, 接口信號(hào)線數(shù)量大幅度減少, 包括電源和地在內(nèi)的信號(hào)線僅有 9 條。支持多種串行通信協(xié)議 (如 AVR單片機(jī)的 I 、MCS51的串口模式等),傳輸速率高達(dá) 4Mbps,可全速寫入顯示數(shù)據(jù),無等待時(shí)間;3> 可通過導(dǎo)電膠連接模塊與印制版, 而不用連接電纜, 用模塊上的金屬鉤可將模塊固定到印制板上,因而非常便于安裝和更換;4>LCD控制器 / 驅(qū)動(dòng)

18、器芯片已綁定到LCD晶片上,模塊的體積很??;5>采用低電壓供電,正常顯示時(shí)的工作電流在200A 以下,且具有掉電模式。LPH7366的這些特點(diǎn)非常適合于電池供電的便攜式通信設(shè)備和測(cè)試設(shè)備中。圖 9液晶顯示模塊電路3.8 人體紅外感應(yīng)模塊HC-SR501是基于紅外線技術(shù)的自動(dòng)控制模塊,采用德國(guó)原裝進(jìn)口 LHI778 探頭設(shè)計(jì),靈敏度高,可靠性強(qiáng),超低電壓工作模式,廣泛應(yīng)用于各類自動(dòng)感應(yīng)電器設(shè)備,尤其是干電池供電的自動(dòng)控制產(chǎn)品。第11頁(yè)共22頁(yè)圖 10HC-SR501人體感應(yīng)模塊實(shí)物圖功能特點(diǎn) :1、全自動(dòng)感應(yīng) :人進(jìn)入其感應(yīng)范圍則輸出高電平,人離開感應(yīng)范圍則自動(dòng)延時(shí)關(guān)閉高電平,輸出低電平。

19、2、光敏控制(可選擇,出廠時(shí)未設(shè))可設(shè)置光敏控制,白天或光線強(qiáng)時(shí)不感應(yīng)。3、溫度補(bǔ)償 (可選擇,出廠時(shí)未設(shè) ):在夏天當(dāng)環(huán)境溫度升高至 3032,探測(cè)距離稍變短,溫度補(bǔ)償可作一定的性能補(bǔ)償。4、 兩種觸發(fā)方式:(可跳線選擇)a、不可重復(fù)觸發(fā)方式 :即感應(yīng)輸出高電平后,延時(shí)時(shí)間段一結(jié)束,輸出將自動(dòng)從高電平變成低電平;b、可重復(fù)觸發(fā)方式:即感應(yīng)輸出高電平后,在延時(shí)時(shí)間段內(nèi),如果有人體在其感應(yīng)范圍活動(dòng),其輸出將一直保持高電平, 直到人離開后才延時(shí)將高電平變?yōu)榈碗娖?(感應(yīng)模塊檢測(cè)到人體的每一次活動(dòng)后會(huì)自動(dòng)順延一個(gè)延時(shí)時(shí)間段, 并且以最后一次活動(dòng)的時(shí)間為延時(shí)時(shí)間的起始點(diǎn) )。5、具有感應(yīng)封鎖時(shí)間 (默

20、認(rèn)設(shè)置 :2.5S 封鎖時(shí)間 ):感應(yīng)模塊在每一次感應(yīng)輸出后(高電平變成低電平) ,可以緊跟著設(shè)置一個(gè)封鎖時(shí)間段, 在此時(shí)間段內(nèi)感應(yīng)器不接受任何感應(yīng)信號(hào)。此功能可以實(shí)現(xiàn) “感應(yīng)輸出時(shí)間 ”和 “封鎖時(shí)間 ”兩者的間隔工作,可應(yīng)用于間隔探測(cè)產(chǎn)品; 同時(shí)此功能可有效抑制負(fù)載切換過程中產(chǎn)生的各種干擾。 (此時(shí)間可設(shè)置在零點(diǎn)幾秒 幾十秒鐘 )。4 主機(jī)軟件設(shè)計(jì)編寫程序時(shí),應(yīng)當(dāng)首先確定一個(gè)比較完整的程序結(jié)構(gòu), 在此結(jié)構(gòu)的基礎(chǔ)上逐步細(xì)化,最終完成程序所要求的全部功能。 本文是按照模塊的思想來規(guī)劃整個(gè)軟件系統(tǒng)的設(shè)計(jì), 對(duì)系統(tǒng)所應(yīng)實(shí)現(xiàn)功能進(jìn)行分析, 并考慮硬件設(shè)備, 將軟件分為主第12頁(yè)共22頁(yè)機(jī)軟件設(shè)計(jì)和從

21、機(jī)軟件設(shè)計(jì)兩個(gè)部分。本節(jié)和3 節(jié)將對(duì)軟件設(shè)計(jì)過程進(jìn)行闡述。4.1 主機(jī)程序整體框架系統(tǒng)按照功能分層次進(jìn)行實(shí)現(xiàn), 每個(gè)部分完成各自部分的功能, 所有源程序?qū)懺趯?duì)應(yīng)模塊的 .c 文件中,而宏定義、外部變量聲明、函數(shù)聲明保存在對(duì)應(yīng)名稱的 .h 文件中。如前述,系統(tǒng)主機(jī)要實(shí)現(xiàn)低功耗, 絕大部分處理將安排在中斷程序中。 程序框架如圖 11 所示。檢測(cè)狀態(tài)N狀態(tài)異常 or有按鍵?Y初始化、讀取配置參數(shù)置相應(yīng)標(biāo)志根據(jù)標(biāo)志進(jìn)退出低功耗無行相應(yīng)處理限循返回環(huán)進(jìn)入低功耗( a)系統(tǒng)主程序( b)中斷程序圖 11 主機(jī)程序整體框架中斷程序:實(shí)現(xiàn)各種狀態(tài)及按鍵的檢測(cè),若正常或無按鍵,直接返回;否則置相應(yīng)標(biāo)志后退出低功

22、耗模式,以便主程序完成處理。主程序:根據(jù)各個(gè)中斷程序中設(shè)置的標(biāo)志位進(jìn)行相應(yīng)報(bào)警處理或按鍵處理,處理完成后進(jìn)入低功耗模式。按上述框架實(shí)現(xiàn)程序,可以使得 CPU 無須時(shí)時(shí)刻刻執(zhí)行程序,在沒有中斷時(shí)進(jìn)入低功耗狀態(tài), 從而提高系統(tǒng)運(yùn)行時(shí)間。 后續(xù)節(jié)將分別闡述主程序和各個(gè)中斷程序的實(shí)現(xiàn)過程。4.2 無線發(fā)送 / 接收程序在進(jìn)行 CC2420通訊之前需要確定發(fā)送和接收數(shù)據(jù)的幀格式,為了簡(jiǎn)化,不用官方 Zigbee的數(shù)據(jù)幀格式。在這個(gè)項(xiàng)目中采用下面的數(shù)據(jù)幀格式。CC2420處于接收狀態(tài)下,它開始接收新的一幀數(shù)據(jù)當(dāng)它檢測(cè)到SFD和前導(dǎo)碼時(shí)。表 3CC2420發(fā)送與接收數(shù)據(jù)幀格式MAC協(xié)議數(shù)據(jù)單元( MPDU)

23、前導(dǎo)碼幀起始分隔幀長(zhǎng)度源地址目的地址負(fù)載幀檢查系列符( SFD)( CRC)4字節(jié)1字節(jié)1字節(jié)1字節(jié)1字節(jié)4字節(jié)2字節(jié)0x000x7AMPDU發(fā)送者地接收者地?cái)?shù)據(jù)? 發(fā)射 , 0x00.的長(zhǎng)度 :址址或廣播? 接收,第2 個(gè)字第13頁(yè)共22頁(yè)0x08地址 0xFF節(jié)的第 7位當(dāng)CRC 正確為 1,否則是 0數(shù)據(jù)幀發(fā)送時(shí), CC2420自動(dòng)在數(shù)據(jù)包的開始處加上前導(dǎo)碼和幀起始分隔符在數(shù)據(jù)包末尾加 CRC檢驗(yàn)。發(fā)送與接收程序代碼見附錄 2.一、發(fā)送按以下步驟進(jìn)行數(shù)據(jù)發(fā)送:1把數(shù)據(jù)流按順序存入 TX FIFO:a.幀中 MPDU的長(zhǎng)度,通常情況下是 0x08b.本地地址c.接收者地址或廣播地址0xFF

24、d.用于發(fā)送的四個(gè)字節(jié),從MSB開始(也就是 In31:24->In7:0 )e.兩個(gè)字節(jié)的 0x00,它表示 CC2420自動(dòng)替換 CRC位。2檢查 CCA信號(hào)并且在信道空閑時(shí)才進(jìn)行操作。另一做法是用 STXCCA命令寄存器代替第 2和第 3步。不管你采用哪一種方法來執(zhí)行 CCA,建議你要經(jīng)過一段“隨機(jī)”長(zhǎng)的時(shí)間的等待后才重試。3執(zhí)行 STXON命令寄存器4在任何新數(shù)據(jù)寫入 TX FIFO前請(qǐng)確認(rèn) SFD變高后變底并且已經(jīng)等待了至少60個(gè)時(shí)鐘周期。二、接收接收數(shù)據(jù)幀時(shí), CC2420自動(dòng)計(jì)算幀的 CRC校驗(yàn)。你要人工檢查接收幀的最后一個(gè)字節(jié)的 CRC校驗(yàn)位。存到 RX FIFO的首個(gè)字

25、節(jié)是長(zhǎng)度字節(jié)。 CC2420將不會(huì)接收任何數(shù)據(jù)除非它已經(jīng)處于接收模式 12個(gè)信號(hào)周期。你必須在數(shù)據(jù)包的發(fā)送過程中加入等待時(shí)間以便 CC2420檢查和接收數(shù)據(jù)。按以下步驟進(jìn)行數(shù)據(jù)接收:1 檢查 FIFO和FIFOP信號(hào),確認(rèn)是否有新數(shù)據(jù)到來。2 如果有新數(shù)據(jù)到來,開始從RX FIFO中讀取。a. 首字節(jié)是長(zhǎng)度字節(jié)。要保存,因?yàn)樗菐Y(jié)束的唯一標(biāo)志。馬上清除 RX FIFO如果它的長(zhǎng)度不是 0x08。b. 接收源地址并檢查它是否與希望的發(fā)送者相匹配。如果不匹配則隨機(jī)的丟棄整個(gè)幀。對(duì)地址的檢查請(qǐng)參考 4.4節(jié)。c. 接收目的地址并檢查它是與本地地址相匹配還是廣播地0xFF。如果不匹配則隨機(jī)的丟棄整個(gè)

26、幀。d. 接收并保存 4字節(jié)負(fù)載到一個(gè)你將要設(shè)計(jì)的 FIFO中。e. 接收兩字節(jié)的 CRC信息。如果 CRC沒有檢查,則丟棄先前保存的數(shù)據(jù)負(fù)載。3任何時(shí)候 RX FIFO只要發(fā)生下溢或溢出,馬上清除 FIFO。接收中斷程序如圖所示。第14頁(yè)共22頁(yè)開始設(shè)接收數(shù)據(jù)狀態(tài)收到數(shù)據(jù)?NOYES設(shè)發(fā)送數(shù)據(jù)狀態(tài)回送數(shù)據(jù)數(shù)據(jù)類型?溫度煙霧紅外置火警標(biāo)志置煤氣標(biāo)志置闖入標(biāo)志退出低功耗返回圖 11無線接收流程圖4.3 溫度監(jiān)測(cè)節(jié)點(diǎn)程序溫度監(jiān)測(cè)節(jié)點(diǎn)采用和主機(jī)類似的程序框架。 主程序流程和溫度采集判斷流程分別如圖 12、13 所示。第15頁(yè)共22頁(yè)開始系統(tǒng)初始化NO參數(shù)未配置?YES等待配置讀取參數(shù)NO有標(biāo)志?YE

27、S發(fā)送溫度數(shù)據(jù)無線置接收狀態(tài)收到回送數(shù)據(jù)?進(jìn)入低功耗圖 12 溫度監(jiān)測(cè)節(jié)點(diǎn)主程序流程圖開始檢測(cè)溫度NO超限?YES置溫度標(biāo)志退出低功耗圖 13 溫度檢測(cè)、判斷流程圖第16頁(yè)共22頁(yè)無線節(jié)點(diǎn)同樣有低功耗的要求, 另一方面考慮到溫度變化不快, 所以程序中對(duì)溫度的檢測(cè)間隔進(jìn)行,每 10s 采樣一次,使用一個(gè)定時(shí)器實(shí)現(xiàn)。在定時(shí)器中斷服務(wù)程序中實(shí)現(xiàn)溫度檢測(cè)及是否超限的判斷,若超限置超限標(biāo)志后退出低功耗,以便主程序?qū)崿F(xiàn)處理。在溫度節(jié)點(diǎn)中要實(shí)現(xiàn)對(duì)上位機(jī)溫度設(shè)定數(shù)據(jù)的接收,和主機(jī)類似,待機(jī)狀態(tài)下 CC2420處于休眠模式 GIO1 pin 周期性輸出一方波, 接于 MSP430F149具有中斷功能的 P1.6

28、 上,定時(shí)通知 CPU處理通信任務(wù)。其中 P1.6 設(shè)為上升沿中斷。中斷程序中判斷是否接收到溫度設(shè)定數(shù)據(jù), 若接收到則更新本地設(shè)定數(shù)據(jù), 并寫入FLASH信息段。DS18B20 數(shù)字溫度計(jì)提供 9 位 (二進(jìn)制 )溫度讀數(shù) 指示器件的溫度 信息經(jīng)過單線接口送入 DS18B20或從 DS18B20讀出,因此從主機(jī) CPU,到 DS18B20僅需一條線 (和地線 )。這也決定了對(duì) DS18B20的操作時(shí)序有嚴(yán)格的要求。下面簡(jiǎn)單介紹其工作過程及時(shí)序。開始DS18B20初始化,NO成功?DS18B20初始化,NOYES成功?YES發(fā)送跳過讀 ID 號(hào)命令發(fā)送跳過讀 ID號(hào)命令發(fā)送讀 ScratchPa

29、d命令發(fā)送溫度轉(zhuǎn)換命令從ScratchPad讀取溫度延時(shí) 1s溫度轉(zhuǎn)換為十進(jìn)制保存返回圖 14溫度轉(zhuǎn)換程序流程4.4 煙霧監(jiān)測(cè)節(jié)點(diǎn)程序煙霧檢測(cè)主要是測(cè)量煙霧傳感器的電壓,可以通過單片機(jī)AD 模塊將電壓值數(shù)字化,通過調(diào)節(jié)靈敏度分壓電阻可以得到適合的報(bào)警值,若單片機(jī)獲得的AD值超過這一報(bào)警值,則延時(shí) 1s,然后每隔 1s 采集一次煙霧傳感器電壓值,若5次該電壓值均超過設(shè)定的報(bào)警值, 則置報(bào)警標(biāo)志位并通過無線發(fā)送給主機(jī)進(jìn)行處理。煙霧監(jiān)測(cè)節(jié)點(diǎn)主程序流程和中斷服務(wù)程序流程分別如圖15、16 所示。第17頁(yè)共22頁(yè)開始初始化NO5次 AD 值均超過報(bào)警值?YES發(fā)送煙霧報(bào)警進(jìn)入低功耗圖 15 煙霧監(jiān)測(cè)節(jié)點(diǎn)主程序流程圖開始置煙霧標(biāo)志退出低功耗圖 16 中斷服務(wù)程序流程4.5 紅外熱釋電監(jiān)測(cè)節(jié)點(diǎn)程序紅外熱釋電監(jiān)測(cè)節(jié)點(diǎn)程序的

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論