Zigbee課程設(shè)計(jì)論文_第1頁
Zigbee課程設(shè)計(jì)論文_第2頁
Zigbee課程設(shè)計(jì)論文_第3頁
Zigbee課程設(shè)計(jì)論文_第4頁
Zigbee課程設(shè)計(jì)論文_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、武漢工商學(xué)院信息工程學(xué)院物聯(lián)網(wǎng)工程系Zigbee應(yīng)用課程設(shè)計(jì)項(xiàng)目名稱:基于ZigBee的溫度監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名:牛超學(xué) 號:15406038班 級:15物聯(lián)本2班指導(dǎo)教師:劉芳2017年12月20日目 錄摘 要I關(guān)鍵詞I1 緒論12 溫度控制系統(tǒng)總體設(shè)計(jì)與實(shí)現(xiàn)12.1 系統(tǒng)整體結(jié)構(gòu)12.2 系統(tǒng)實(shí)現(xiàn)功能12.3 方案具體流程13 溫度檢測系統(tǒng)工作原理43.1 Zigbee技術(shù)簡介43.2 Zigbee協(xié)議棧結(jié)構(gòu)43.3 Zstack協(xié)議棧結(jié)構(gòu)53.4 串口工作原理63.5 單播廣播原理63.6 無線溫度數(shù)據(jù)采集原理63.7 OSAL工作原理74 系統(tǒng)硬件設(shè)計(jì)74.1 Zigbee硬件設(shè)

2、計(jì)74.2 協(xié)調(diào)器節(jié)點(diǎn)設(shè)計(jì)84.3 終端節(jié)點(diǎn)設(shè)計(jì)94.3.1 溫度傳感器94.3.2 電機(jī)94.4 電源電路設(shè)計(jì)94.5 A/D轉(zhuǎn)換電路設(shè)計(jì)104.6 RS232串口電路設(shè)計(jì)105 系統(tǒng)軟件設(shè)計(jì)115.1 協(xié)調(diào)器相關(guān)程序分析115.2 終端相關(guān)程序分析125.2.1 溫度傳感器相關(guān)程序分析125.2.2 電機(jī)相關(guān)程序分析126 系統(tǒng)實(shí)現(xiàn)127 總結(jié)13參考文獻(xiàn)13摘 要 本方案基于ZigBee技術(shù)設(shè)計(jì)了監(jiān)測環(huán)境溫度的無線傳感網(wǎng)系統(tǒng)。采用集成了無線射頻芯片 CC2530 以及高集成度的數(shù)字溫度傳感器構(gòu)建節(jié)點(diǎn)硬件,并實(shí)現(xiàn)了節(jié)點(diǎn)軟件。該系統(tǒng)由三部分組成:溫度傳感器,風(fēng)扇,協(xié)調(diào)器。溫度傳感器監(jiān)測環(huán)境溫

3、度,若溫度過高,啟動風(fēng)扇。測試結(jié)果表明,本系統(tǒng)具有低功耗、低成本、易于維護(hù)擴(kuò)展等優(yōu)點(diǎn)。該系統(tǒng)可以應(yīng)用到智能家居領(lǐng)域從而節(jié)省人力和能源,具有非常廣闊的應(yīng)用前景和研究價(jià)值。 關(guān)鍵詞:無線傳感網(wǎng);ZigBee;CC2530;溫度采集1 緒論在生產(chǎn)和科學(xué)研究過程中的很多場合對環(huán)境的溫濕度有較高的要求。為了更方便快捷的監(jiān)控環(huán)境溫濕度,針對有線溫濕度監(jiān)測系統(tǒng)布線復(fù)雜、成本偏高以及后期維護(hù)不便的問題,結(jié)合無線傳感器網(wǎng)絡(luò)技術(shù),設(shè)計(jì)和實(shí)現(xiàn)了一種基于 ZigBee 技術(shù)的溫度監(jiān)測系統(tǒng)。ZigBee作為一種新興的近距離、低復(fù)雜度、低功耗、低數(shù)據(jù)速率、低成本的無線網(wǎng)絡(luò)技術(shù),主要用于近距離無線連接。在溫度傳感器的配合下

4、,采用ZigBee協(xié)議建立了點(diǎn)對點(diǎn)通信組網(wǎng),能夠高效地完成對環(huán)境溫度的無線檢測,實(shí)現(xiàn)了無線網(wǎng)絡(luò)的功耗管理方法、無線網(wǎng)絡(luò)的配置,利用溫度傳感器檢測環(huán)境溫度、從節(jié)點(diǎn)溫度數(shù)據(jù)的發(fā)送、主節(jié)點(diǎn)對溫度數(shù)據(jù)的接收、上傳給PC機(jī)顯示、通過溫度變化控制風(fēng)扇等內(nèi)容。該系統(tǒng)可以應(yīng)用到智能家居領(lǐng)域從而節(jié)省人力和能源,具有非常廣闊的應(yīng)用前景和研究價(jià)值。近年來隨著無線通信、計(jì)算機(jī)傳感技術(shù)的飛速發(fā)展和融合,無線傳感網(wǎng)技術(shù)(WSN)應(yīng)運(yùn)而生,而Zigbee以其低成本、低數(shù)據(jù)速率、超低功耗的特點(diǎn)滿足了當(dāng)前無線傳感網(wǎng)絡(luò)技術(shù)的應(yīng)用與普及。2 溫度控制系統(tǒng)總體設(shè)計(jì)與實(shí)現(xiàn)2.1 系統(tǒng)整體結(jié)構(gòu) 利用Z-Stack協(xié)議棧構(gòu)建一個(gè)具有實(shí)際意

5、義的無線傳感器網(wǎng)絡(luò)。系統(tǒng)由協(xié)調(diào)器節(jié)點(diǎn)和兩個(gè)終端節(jié)點(diǎn)組成。協(xié)調(diào)器的硬件系統(tǒng)中包括CC2530通信模塊、串口轉(zhuǎn)USB模塊和電源電路模塊等,其中串口轉(zhuǎn)USB模塊負(fù)責(zé)轉(zhuǎn)換CC2530模塊與PC機(jī)的通信信號。其主要功能是負(fù)責(zé)接收無線傳感器節(jié)點(diǎn)發(fā)送來的消息,并向傳感器節(jié)點(diǎn)發(fā)布網(wǎng)絡(luò)控制信息,同時(shí)與PC機(jī)進(jìn)行數(shù)據(jù)交換,向電機(jī)發(fā)送指令控制電機(jī)轉(zhuǎn)動。2.2 系統(tǒng)實(shí)現(xiàn)功能為了更方便快捷的監(jiān)控環(huán)境溫濕度,文中針對有線溫度監(jiān)測系統(tǒng)布線復(fù)雜、成本偏高以及后期維護(hù)不便的問題,結(jié)合無線傳感器網(wǎng)絡(luò)技術(shù),設(shè)計(jì)和實(shí)現(xiàn)了一種基于 ZigBee 技術(shù)的溫度監(jiān)測系統(tǒng)。通過溫度傳感器監(jiān)測環(huán)境溫度,如果溫度過高,啟動風(fēng)扇。2.3 方案具體流

6、程第一步,ZigBee協(xié)調(diào)器以固定的周期發(fā)送查詢光照的指令給終端,即溫度傳感器(溫度采集節(jié)點(diǎn)),同時(shí)監(jiān)聽設(shè)備端口,接受節(jié)點(diǎn)返回的數(shù)據(jù)。協(xié)調(diào)器監(jiān)聽工作流程圖如下所示: 圖2-1 協(xié)調(diào)器監(jiān)聽工作流程圖第二步,溫度采集節(jié)點(diǎn)接收到ZigBee協(xié)調(diào)器發(fā)送過來的溫度采集指令后,從傳感器取得當(dāng)前的溫度信息,將其打包成協(xié)議格式的指令返回給ZigBee協(xié)調(diào)器。溫度采集節(jié)點(diǎn)工作流程圖如下所示:圖2-2 溫度采集節(jié)點(diǎn)工作流程圖第三步,ZigBee協(xié)調(diào)器接收到溫度采集節(jié)點(diǎn)返回的數(shù)據(jù)后,對采集的溫度與設(shè)定的溫度值進(jìn)行比較,若當(dāng)前的溫度值高于用戶設(shè)定的溫度值時(shí),向電機(jī)發(fā)送開指令,并將收到的數(shù)據(jù)通過串口打印出來。協(xié)調(diào)器工作

7、流程圖如下所示:圖2-3 協(xié)調(diào)器工作流程圖第四步,節(jié)點(diǎn)接受網(wǎng)關(guān)消息并控制電機(jī)。電機(jī)工作流程圖如下所示: 圖2-4 電機(jī)工作流程圖3 溫度檢測系統(tǒng)工作原理3.1 Zigbee技術(shù)簡介致力于無線個(gè)域網(wǎng)中無線協(xié)議的物理層和媒體訪問層的標(biāo)準(zhǔn)化 ,為個(gè)人操作空間內(nèi)互相通信的設(shè)備之間提供統(tǒng)一的通信標(biāo)準(zhǔn),IEEE802.15.4工作組制定了相關(guān)標(biāo)準(zhǔn),Zigbee是基于此標(biāo)準(zhǔn)的一種無線通信方式。IEEE802.15.4標(biāo)準(zhǔn)定義了物理層和媒體訪問控制層。Zigbee聯(lián)盟在IEEE802.15.4標(biāo)準(zhǔn)的基礎(chǔ)上定義了網(wǎng)絡(luò)層和應(yīng)用層構(gòu)架。應(yīng)用層構(gòu)架包含應(yīng)用支持子層和Zigbee設(shè)備對象以及制造商需要的應(yīng)用對象組成。

8、Zigbee是突出特點(diǎn)為低成本、低功耗、低復(fù)雜度,低時(shí)延,近距離,雙向傳輸?shù)囊环N無線通信標(biāo)準(zhǔn)。國內(nèi)Zigbee工作頻段為2.4GHz,歐洲與美國分別工作在868MHz與915MHz。Zigbee組網(wǎng)支持星形、樹形和網(wǎng)絡(luò)狀拓?fù)浣Y(jié)構(gòu),無線網(wǎng)絡(luò)由一個(gè)協(xié)調(diào)器啟動和控制,網(wǎng)絡(luò)工作時(shí)協(xié)調(diào)器接收由終端節(jié)點(diǎn)發(fā)送來的數(shù)據(jù),并發(fā)送給上位機(jī)。網(wǎng)絡(luò)可以由路由器進(jìn)行擴(kuò)展,終端節(jié)點(diǎn)打包的數(shù)據(jù)由路由器轉(zhuǎn)發(fā)給協(xié)調(diào)器。3.2 Zigbee協(xié)議棧結(jié)構(gòu) Zigbee協(xié)議棧結(jié)構(gòu)包括物理層、媒體訪問控制層、網(wǎng)絡(luò)層和應(yīng)用層: 物理層由半雙工的無線收發(fā)器及其接口組成,主要作用是激活和關(guān)閉射頻收發(fā)器;檢測信道的能量;顯示收到數(shù)據(jù)包的鏈路質(zhì)量

9、;空閑信道評估;選擇信道頻率;數(shù)據(jù)的接受和發(fā)送。 媒體訪問控制(MAC)層建立了一條節(jié)點(diǎn)和與其相鄰的節(jié)點(diǎn)之間可靠的數(shù)據(jù)傳輸鏈路,共享傳輸媒體,提高通信效率。在協(xié)調(diào)器的MAC層,可以產(chǎn)生網(wǎng)絡(luò)信標(biāo),同步網(wǎng)絡(luò)信標(biāo);支持Zigbee設(shè)備的關(guān)聯(lián)和取消關(guān)聯(lián);支持設(shè)備加密;在信道訪問方面,采用CSMA/CA信道退避算法,減少了碰撞概率;確保時(shí)隙分配(GTS);支持信標(biāo)使能和非信標(biāo)使能兩種數(shù)據(jù)傳輸模式,為兩個(gè)對等的MAC實(shí)體提供可靠連接。 基于底層的可靠通信,提供路由、路由發(fā)現(xiàn)、多跳、轉(zhuǎn)發(fā)的功能。Zigbee網(wǎng)絡(luò)可以組成星型、簇樹型或MESH型網(wǎng)絡(luò)。對于終端節(jié)點(diǎn)而言,網(wǎng)絡(luò)層的功能只是加入和離開網(wǎng)絡(luò);對于路由器

10、而言,網(wǎng)絡(luò)層的功能是信息的轉(zhuǎn)發(fā),路由發(fā)現(xiàn),建立和維護(hù)路由表和鄰居表,以及構(gòu)造到某節(jié)點(diǎn)的路由任務(wù);而協(xié)調(diào)器網(wǎng)絡(luò)層的任務(wù)主要包括啟動和維護(hù)網(wǎng)絡(luò)正常工作,為新加入的節(jié)點(diǎn)分配網(wǎng)絡(luò)地址。 應(yīng)用層包括三部分:應(yīng)用支持子層(APS)、Zigbee設(shè)備對象(ZDO)和應(yīng)用框架(AF)應(yīng)用支持子層的任務(wù)是提取網(wǎng)絡(luò)層的信息并將信息發(fā)送到運(yùn)行在節(jié)點(diǎn)上的不同應(yīng)用端點(diǎn)。Zigbee設(shè)備對象負(fù)責(zé)設(shè)備的所有管理工作,包括設(shè)定該設(shè)備在網(wǎng)絡(luò)中的角色(協(xié)調(diào)器、路由器或終端設(shè)備),發(fā)現(xiàn)網(wǎng)絡(luò)中的設(shè)備,確定這些設(shè)備能提供的功能,發(fā)起或響應(yīng)綁定請求,完成設(shè)備之間建立安全的關(guān)聯(lián)等。AF應(yīng)用框架是應(yīng)用層與APS層的接口。它負(fù)責(zé)發(fā)送和接收數(shù)據(jù)

11、,并為接收到的數(shù)據(jù)尋找相應(yīng)的目的端點(diǎn)。3.3 Zstack協(xié)議棧結(jié)構(gòu) Zstack協(xié)議棧結(jié)構(gòu)如下: APP:應(yīng)用層目錄,這是用戶創(chuàng)建各種不同工程的區(qū)域,在這個(gè)目錄中包含了應(yīng)用層的內(nèi)容和這個(gè)項(xiàng)目的主要內(nèi)容,在協(xié)議棧里面一般是以操作系統(tǒng)的任務(wù)實(shí)現(xiàn)的。HAL:硬件層目錄,包含有與硬件相關(guān)的配置和驅(qū)動及操作函數(shù)。MAC:MAC層目錄,包含了MAC層的參數(shù)配置文件及其MAC的LIB庫的函數(shù)接口文件。MT:監(jiān)控調(diào)試層,主要用于調(diào)試目的的,即實(shí)現(xiàn)通過串口調(diào)試各層,與各層進(jìn)行直接交互。NWK:網(wǎng)絡(luò)層目錄,涵網(wǎng)絡(luò)層配置參數(shù)文件及網(wǎng)絡(luò)層庫的函數(shù)接口文件,APS層庫的函數(shù)接口。OSAL:協(xié)議棧的操作系統(tǒng)。Profi

12、le:AF層目錄,包含AF層處理函數(shù)文件。Security:安全層目錄,安全層處理函數(shù)接口文件,比如加密函數(shù)等。Services:地址處理函數(shù)目錄,包括著地址模式的定義及地址處理函數(shù)。Tools:工程配置目錄,包括空間劃分和Zstack相關(guān)的配置信息。ZDO:ZDO目錄。ZMac:MAC層目錄,包括MAC層參數(shù)配置及MAC層LIB庫函數(shù)回調(diào)處理函數(shù)。ZMain:主函數(shù)目錄,包括入口函數(shù)main()及硬件配置文件。Output:輸出文件目錄層,這個(gè)EW8051 IDE自主設(shè)計(jì)的。3.4 串口工作原理 串口是計(jì)算機(jī)上一種非常通用設(shè)備通信的協(xié)議(不要與通用串行總線Universal Serial B

13、us或者USB混淆)。大多數(shù)計(jì)算機(jī)包含兩個(gè)基于RS232的串口。串口同時(shí)也是儀器儀表設(shè)備通用的通信協(xié)議;很多GPIB兼容的設(shè)備也帶有RS-232口。同時(shí),串口通信協(xié)議也可以用于獲取遠(yuǎn)程采集設(shè)備的數(shù)據(jù)。RS-232(ANSI/EIA-232標(biāo)準(zhǔn))是IBM-PC及其兼容機(jī)上的串行連接標(biāo)準(zhǔn)??捎糜谠S多用途,比如連接鼠標(biāo)、打印機(jī)或者M(jìn)odem,同時(shí)也可以接工業(yè)儀器儀表。用于驅(qū)動和連線的改進(jìn),實(shí)際應(yīng)用中RS-232的傳輸長度或者速度常常超過標(biāo)準(zhǔn)的值。RS-232只限于PC串口和設(shè)備間點(diǎn)對點(diǎn)的通信。RS-232串口通信最遠(yuǎn)距離是50英尺。3.5 單播廣播原理單播是網(wǎng)絡(luò)節(jié)點(diǎn)之間的通信就好像是人們之間的對話一

14、樣。如果一個(gè)人對另外一個(gè)人說話,那么用網(wǎng)絡(luò)技術(shù)的術(shù)語來描述就是“單播”,此時(shí)信息的接收和傳遞只在兩個(gè)節(jié)點(diǎn)之間進(jìn)行。單播在網(wǎng)絡(luò)中得到了廣泛的應(yīng)用,網(wǎng)絡(luò)上絕大部分的數(shù)據(jù)都是以單播的形式傳輸?shù)?,只是一般網(wǎng)絡(luò)用戶不知道而已。例如,你在收發(fā)電子郵件、瀏覽網(wǎng)頁時(shí),必須與郵件服務(wù)器、Web服務(wù)器建立連接,此時(shí)使用的就是單播數(shù)據(jù)傳輸方式。但是通常使用“點(diǎn)對點(diǎn)通信”(Point to Point)代替“單播”,因?yàn)椤皢尾ァ币话闩c“廣播”相對應(yīng)使用。廣播在網(wǎng)絡(luò)中的應(yīng)用較多,如客戶機(jī)通過DHCP自動獲得IP地址的過程就是通過廣播來實(shí)現(xiàn)的。但是同單播和多播相比,廣播幾乎占用了子網(wǎng)內(nèi)網(wǎng)絡(luò)的所有帶寬。拿開會打一個(gè)比方吧,

15、在會場上只能有一個(gè)人發(fā)言,想象一下如果所有的人同時(shí)都用麥克風(fēng)發(fā)言,那會場上就會亂成一鍋粥。集線器由于其工作原理決定了不可能過濾廣播風(fēng)暴,一般的交換機(jī)也沒有這一功能,不過現(xiàn)在有的網(wǎng)絡(luò)交換機(jī)(如全向的QS系列交換機(jī))也有過濾廣播風(fēng)暴功能了,路由器本身就有隔離廣播風(fēng)暴的作用。 3.6 無線溫度數(shù)據(jù)采集原理利用ZigBee無線通訊技術(shù)完成的溫度無線采集系統(tǒng)。溫度傳感器采集來的數(shù)據(jù),通過單片機(jī)做數(shù)據(jù)處理并利用ZigBee的無線發(fā)送模塊,將溫度信息發(fā)送出去。經(jīng)過ZigBee接收模塊接收數(shù)據(jù),再通過單片機(jī)做數(shù)據(jù)處理,將溫度信息通過PC顯示出來,從而完成溫度的無線采集。3.7 OSAL工作原理 Z-Stack

16、1.4.3及以后的版本中引入了一個(gè)OSAL(Operating System Abstraction Layer 操作系統(tǒng)抽象層) ,但在我們整個(gè)的ZigBee 協(xié)議棧的結(jié)構(gòu)圖中,我并沒有能夠發(fā)現(xiàn)這個(gè)層在哪個(gè)位置。但是整個(gè)的協(xié)議棧都要在OS 的基礎(chǔ)上才能運(yùn)行。OSAL 和我們通常所說的RTOS ,pc 上的操作系統(tǒng)還是有很大的不同,ZigBee2006中只是利用了操作系統(tǒng)的概念和思想,利用OS 把Z-Stack 軟件組件從特殊的處理過程相分離,并將軟件成分保護(hù)了起來。它提供的管理功能有:任務(wù)的注冊、初始化、開始,任務(wù)間的消息交換,任務(wù)同步,中斷處理,時(shí)間管理和內(nèi)存分配。OSAL主要是這樣一種機(jī)

17、制, 一種任務(wù)分配資源的機(jī)制, 從而形成了一個(gè)簡單多任務(wù)的操作系統(tǒng)。4 系統(tǒng)硬件設(shè)計(jì)4.1 Zigbee硬件設(shè)計(jì)Zigbee硬件分為三部分,即CC2530核心板、協(xié)調(diào)器底板和路由器底板。CC2530核心板是協(xié)調(diào)器底板和路由器底板共用的電路板,便于設(shè)備的維護(hù),一旦CC2530核心板或者協(xié)調(diào)器底板和路由器底板出現(xiàn)問題,便于及時(shí)更換。便于設(shè)備靈活使用。CC2530既可以配合協(xié)調(diào)器底板使用,也可以配合路由器底板使用,并且還可以與網(wǎng)關(guān)配合使用。CC2530串口圖如下所示: 圖4-1 CC2530串口圖4.2 協(xié)調(diào)器節(jié)點(diǎn)設(shè)計(jì)協(xié)調(diào)器底板與CC2530核心板配合使用可以提供豐富的硬件支持資源,用于進(jìn)行功能的演

18、示和開發(fā)等。協(xié)調(diào)器底板集成了電源接口、JTAG接口、按鍵、LED和LCD、RS232和RS485接口、蜂鳴器、傳感器模塊、電位器、時(shí)鐘模塊和外擴(kuò)存儲模塊等。 JTAG接口是連接仿真器下載調(diào)試程序的接。JTAG接口有效的連線只有四條:地線、電源線、CC2530引腳的P2.1和P2.2即DC和DD引腳。JTAG接口的引腳1接地線,引腳7接電源,引腳3和引腳4分別接DD和DC。其余引腳懸空。SW1為復(fù)位按鍵。JTAG接口圖如下所示:圖4-2 JTAG接口圖LED指示燈,分別接CC2530的P1.0、P1.1、P1.2和P1.3,其中P1.2、P1.3、P1.4通過選擇跳線和外部擴(kuò)展存儲模塊共用引腳,

19、LED引腳圖如下所示:圖4-3 LED引腳圖4.3 終端節(jié)點(diǎn)設(shè)計(jì)4.3.1 溫度傳感器溫度傳感器采用SHT10。SHT10為外接溫度傳感器 ,SHT10有8個(gè)引腳,主要接電源線、地線和I/O引腳,選擇P1.1控制采集的溫度值。溫度傳感器引腳圖如下所示:圖4-4 溫度傳感器引腳圖4.3.2 電機(jī)電機(jī)通過P0.6口來控制是否轉(zhuǎn)動,電機(jī)部分引腳圖如下所示: 圖4-5 電機(jī)部分引腳圖4.4 電源電路設(shè)計(jì)POWER為電源插口,輸出5V電壓,PowerSW為開關(guān),5V電壓經(jīng)過保險(xiǎn)絲和濾波電路后,由電壓轉(zhuǎn)換電路將電壓轉(zhuǎn)換為3.3V電壓為整個(gè)電路板供電。電壓轉(zhuǎn)換電路采用AMS1117 3.3V電壓轉(zhuǎn)換芯片,其

20、中C4為輸入旁路電容,C5為輸出旁路電容,建議用鉭電容。JP1和JP2為5V外擴(kuò)電源接口,電源接口圖如下所示:圖4-6 電源接口圖4.5 A/D轉(zhuǎn)換電路設(shè)計(jì)AD按鍵是用于模數(shù)轉(zhuǎn)換,AD按鍵圖如下所示:圖4-7 AD按鍵圖電位器用于模擬一個(gè)傳感器的電壓輸出,旋轉(zhuǎn)旋鈕可以讓輸出電壓發(fā)生03.3V的變化,引起AD采樣值的變化。WI為電位器,電位器有三個(gè)引腳,引腳1接電源,引腳3接地線,引腳2通過跳線JP16與CC2530的P0.7相連,通過P0.7采集電壓值。電位器引腳圖如下所示: 圖4-8 電位器引腳圖4.6 RS232串口電路設(shè)計(jì)RS232串口有儀器儀表設(shè)備通用的通信協(xié)議;很多GPIB兼容的設(shè)備

21、也帶有RS-232口。同時(shí),串口通信協(xié)議也可以用于獲取遠(yuǎn)程采集設(shè)備的數(shù)據(jù)。RS-232(ANSI/EIA-232標(biāo)準(zhǔn))是IBM-PC及其兼容機(jī)上的串行連接標(biāo)準(zhǔn)。RS232串口電路圖如下所示: 圖4-9 RS232串口電路圖5 系統(tǒng)軟件設(shè)計(jì)5.1 協(xié)調(diào)器相關(guān)程序分析第一步,進(jìn)行相關(guān)的初始化操作App_Init(byte task_id):有硬件初始化Sensor_PIN_INT()和相關(guān)的節(jié)點(diǎn)描述符的初始化,配置串口并打開。第二步,組建網(wǎng)絡(luò),然后進(jìn)行監(jiān)聽,判斷有無節(jié)點(diǎn)需要接入events & SYS_EVENT_MSG。第三步,如果有消息事件發(fā)生,就用osal_msg_receive()函數(shù)從消

22、息隊(duì)列上接收消息。第四步,判斷接收到的信息類型。如果網(wǎng)絡(luò)狀態(tài)發(fā)生改變case ZDO_STATE_CHANGE,就點(diǎn)亮燈表示加入網(wǎng)絡(luò)成功。如果是終端節(jié)點(diǎn),啟動定時(shí)器發(fā)送消息 osal_start_timerEx(),發(fā)送App_SEND_MSG_EVT事件(采集溫度命令);如果接收到的是無線信息,就調(diào)用App_MessageMSGCB()函數(shù)。然后釋放內(nèi)存osal_msg_deallocate( (uint8 *)MSGpkt ),MSGpkt指向下一個(gè)消息隊(duì)列。事件處理完后,返回未處理完的事件return (events SYS_EVENT_MSG);App_MessageMSGCB()函數(shù)

23、的作用是接受節(jié)點(diǎn)消息并建立電機(jī)控制事件,用于判斷溫度數(shù)值,確定iMotor(0表示關(guān),1表示開) 和 bMotor(1表示更新)的值,將收到的數(shù)據(jù)通過串口打印出來HalUARTWrite(),建立電機(jī)控制事件,調(diào)用osal_set_event(App_TaskID,App_MOTOR_MSG_EVT)。第五步,如果發(fā)生了App_MOTOR_MSG_EVT事件:events & App_MOTOR_MSG_EVT ,執(zhí)行SerialApp_ControlMotor()函數(shù),事件處理完后,返回未處理完的事件return (events App_MOTOR_MSG_EVT);SerialApp_Co

24、ntrolMotor(void)作用是判斷iMotor、bMotor的值,如果都為1,那么motor數(shù)組為M1,然后調(diào)用App_SendTheMessage(),把命令發(fā)送給電機(jī)。App_SendTheMessage()函數(shù)的作用是廣播方式發(fā)送消息,包括消息發(fā)送方式(廣播)、標(biāo)終端編號(由哪個(gè)終端處理消息)、默認(rèn)的廣播地址(終端是0XFFFF),如果廣播發(fā)送成功 AF_DataRequest= afStatus_SUCCESS,就閃爍燈,清除緩存區(qū)osal_memset(buf, 0, len);第六步,如果發(fā)生了App_UART_RX_CB_EVT事件:events & App_UART_R

25、X_CB_EVT,執(zhí)行HalUARTWrite()函數(shù),作用是串口顯示發(fā)送內(nèi)容,然后調(diào)用App_SendTheMessage(),無線發(fā)送信息,事件處理完后,返回未處理完的事件return (events App_UART_RX_CB_EVT);App_rxCB(uint8 port, uint8 event)串口回調(diào)函數(shù),作用是當(dāng)串口有數(shù)據(jù)時(shí)調(diào)用此函數(shù)讀接收緩沖區(qū)數(shù)據(jù)到內(nèi)存,建立App_UART_RX_CB_EVT事件。5.2 終端相關(guān)程序分析5.2.1 溫度傳感器相關(guān)程序分析首先初始化,加入網(wǎng)絡(luò),如果接收到了App_SEND_MSG_EVT事件:events & App_SEND_MSG_

26、EVT,執(zhí)行SerialApp_SendTemp()函數(shù),定時(shí)發(fā)送 osal_start_timerEx()信息App_SEND_MSG_EVT,事件處理完后,返回未處理完的事件return (events App_SEND_MSG_EVT)。SerialApp_SendTemp()函數(shù)調(diào)用了結(jié)構(gòu)體,用于轉(zhuǎn)換Buffer里的數(shù)值,調(diào)用App_SendTheMessage(),發(fā)送溫度數(shù)據(jù)給協(xié)調(diào)器。5.2.2 電機(jī)相關(guān)程序分析初始化,加入網(wǎng)絡(luò),如果接收到的是無線信息,就調(diào)用App_MessageMSGCB(MSGpkt)函數(shù)App_MessageMSGCB(afIncomingMSGPacket_t *pkt)的作用是接收協(xié)調(diào)器發(fā)來的信息,判斷指令是否為M1,是的話就調(diào)用 MotorOn()(在Sensor.c里),點(diǎn)亮燈。6 系統(tǒng)實(shí)現(xiàn)進(jìn)入IAR開發(fā)環(huán)境,運(yùn)行程序并調(diào)試,如果沒錯(cuò)會生成.hex文件,先燒寫到協(xié)調(diào)器組建網(wǎng)絡(luò),然后再燒兩個(gè)終端,注意燒寫到電機(jī)時(shí),是將CC2000仿真器

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論