版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Word格式目錄前言2摘要3一 需求分析4二 系統(tǒng)設(shè)計5三 實現(xiàn)原理63.1zigbee協(xié)議介紹63.2ZigBee技術(shù)的應(yīng)用領(lǐng)域73.3zigbee協(xié)議棧結(jié)構(gòu)7四 硬件設(shè)計114.1傳感器節(jié)點模塊化設(shè)計114.2CC2530芯片概述114.2.1CC2530芯片基本介紹114.2.2CC2530芯片引腳介紹124.3溫度傳感器調(diào)理電路設(shè)計134.4網(wǎng)絡(luò)協(xié)調(diào)器外圍電路設(shè)計14五 軟件設(shè)計165.1IAR開發(fā)環(huán)境165.2協(xié)調(diào)器節(jié)點程序165.2.1網(wǎng)絡(luò)組建175.2.2節(jié)點之間的數(shù)據(jù)傳輸205.3嵌入式網(wǎng)關(guān)程序215.4 傳感器節(jié)點程序23總結(jié)24參考文獻25致謝26前言 智能家居通過物聯(lián)網(wǎng)技
2、術(shù)將家中的各種設(shè)備(如音視頻設(shè)備、照明系統(tǒng)、窗簾控制、空調(diào)控制、安防系統(tǒng)、數(shù)字影院系統(tǒng)、影音服務(wù)器、影柜系統(tǒng)、網(wǎng)絡(luò)家電等)連接到一起,提供家電控制、照明控制、電話遠程控制、室內(nèi)外遙控、防盜報警、環(huán)境監(jiān)測、暖通控制、紅外轉(zhuǎn)發(fā)以及可編程定時控制等多種功能和手段。 在很多應(yīng)用場合,溫度是一個很重要的一個參數(shù)。溫度的自動監(jiān)測已經(jīng)成為各行業(yè)進行安全生產(chǎn)和減少損失的重要措施之一。傳統(tǒng)的溫度測量方式測量周期長,施工復(fù)雜,不便于管理,并且在有些特定場合如封閉,高壓等環(huán)境下根本無法測量。但是往往這些場合容易引起很大的事故。因而溫度的無線傳輸顯的越來越重要。摘要隨著社會經(jīng)濟的發(fā)展,人民生活水平的提高,人們對生活的
3、品質(zhì)提出了更高的要求。在設(shè)計中,為了實現(xiàn)智能家居系統(tǒng)的遠程管理和無線傳輸?shù)墓δ?,利用Zigbee無線網(wǎng)絡(luò)技術(shù),以CC2530芯片和相關(guān)的一些外圍器件組建成整個系統(tǒng)的家庭網(wǎng)關(guān)控制平臺,而家居內(nèi)部控制網(wǎng)絡(luò)則利用Zigbee無線網(wǎng)絡(luò)技術(shù)來實現(xiàn)。本設(shè)計主要從無線傳感方向進行改進,主要設(shè)計一種基于CC2530和數(shù)字溫濕度傳感器的溫濕度采集系統(tǒng)。該系統(tǒng)采用無線通信技術(shù)結(jié)合傳感器,通過運用協(xié)議架構(gòu)組建無線傳感網(wǎng)絡(luò),實現(xiàn)主從節(jié)點的數(shù)據(jù)采集和傳輸,以及一點對多點,兩點之間的通信。并詳細闡述了基于Zigbee協(xié)議棧的中心節(jié)點和終端節(jié)點的協(xié)議傳輸,主要是從協(xié)議棧網(wǎng)絡(luò)層里AODV路由協(xié)議著手,闡述在網(wǎng)絡(luò)層如何通過AO
4、DV路由協(xié)議進行節(jié)點間的連接以及數(shù)據(jù)的收發(fā)。關(guān)鍵字: 智能家居; 溫濕度數(shù)據(jù)采集; CC2530; Zigbee協(xié)議棧; 一 需求分析隨著社會經(jīng)濟結(jié)構(gòu)、家庭人口結(jié)構(gòu)以及信息技術(shù)的發(fā)展變化,人們對家居環(huán)境的安全性、舒適性、效率性、透明性提出了更高的要求。同時越來越多的家庭要求家居產(chǎn)品不僅要具備簡單的智能,更要求整個系統(tǒng)在功能擴展、外延以及服務(wù)方面能夠做到簡單、方便、輕松、安全。很顯然我們的家居生活需要改變,智能家居系統(tǒng)提供廣泛的信息交互功能,優(yōu)化居住環(huán)境,幫助人們有效地利用網(wǎng)絡(luò)的便捷性各種實現(xiàn)了對家居環(huán)境的控制。智能家居產(chǎn)品為家居環(huán)境、家電設(shè)備提供一個共享的接入中心,實現(xiàn)對家庭環(huán)境及其設(shè)備的智能
5、管理、遠程管理、集中管理和資源共享。隨著網(wǎng)絡(luò)科技的高速發(fā)展,在可以預(yù)見的未來,在智能化住宅中,以寬帶網(wǎng)絡(luò)將家里的電腦、電視機、家電、安防系統(tǒng)等連成一體的自主控制、擴展、享用的工作、學(xué)習(xí)、娛樂家庭綜合信息服務(wù)平二 系統(tǒng)設(shè)計三 實現(xiàn)原理3.1zigbee協(xié)議介紹ZigBee協(xié)議標準采用分層結(jié)構(gòu),每一層為上層提供一系列特殊的服務(wù):數(shù)據(jù)實體提供數(shù)據(jù)傳輸服務(wù);管理實體則提供所有其他的服務(wù)。所有的服務(wù)實體都通過服務(wù)接人點SAP為上層提供接口,每個SAP都支持一定數(shù)量的服務(wù)原語來實現(xiàn)所需的功能。ZigBee標準的分層架構(gòu)是在OSI七層模型的基礎(chǔ)上根據(jù)市場和應(yīng)用的實際需要定義的。其中IEEE 80215420
6、03標準定義了底層協(xié)議:物理層(physical layer,PHY)和媒體訪問控制層(medium access control sublayer,MAC)。ZigBee 聯(lián)盟在此基礎(chǔ)上定義了網(wǎng)絡(luò)層(network layer,NWK),應(yīng)用層(application layer,APL)架構(gòu)。在應(yīng)用層內(nèi)提供了應(yīng)用支持子層(application support sublayer,APS)和 ZigBee設(shè)備對象(ZigBee device object,ZDO)。應(yīng)用框架中則加入了用戶自定義的應(yīng)用對象。 ZigBee的網(wǎng)絡(luò)層采用基于Ad Hoc的路由協(xié)議,除了具有通用的網(wǎng)絡(luò)層功能外,還應(yīng)該
7、與底層的IEEE 802154標準一樣功耗小,同時要實現(xiàn)網(wǎng)絡(luò)的自組織和自維護,以最大限度方便消費者使用,降低網(wǎng)絡(luò)的維護成本。應(yīng)用支持子層把不同的應(yīng)用映射到ZigBee網(wǎng)絡(luò)上,主要包括安全屬性設(shè)置、業(yè)務(wù)發(fā)現(xiàn)、設(shè)備發(fā)現(xiàn)和多個業(yè)務(wù)數(shù)據(jù)流的匯聚等功能。 ZigBee無線測溫系統(tǒng)的組成及原理基于ZigBee技術(shù)的無線測溫系統(tǒng)主要由基于ZigBee技術(shù)的底層無線傳感器網(wǎng)絡(luò)、遠程數(shù)據(jù)傳輸網(wǎng)絡(luò)以及功能完善的上位監(jiān)控系統(tǒng)3部分組成,該系統(tǒng)是由大量的傳感器點、匯節(jié)點以及遠程傳輸模塊組成的分布式系統(tǒng)?;诖氐姆謱咏Y(jié)構(gòu)具有天然的分布式處理能力,簇頭就是分布式處理中心,即無線傳感器網(wǎng)絡(luò)的一個匯節(jié)點。每個簇成員(傳感器節(jié)
8、點)都把數(shù)據(jù)傳給簇頭,數(shù)據(jù)融合后直接傳給遠程傳輸網(wǎng)絡(luò),中央控制中心通過遠程傳輸網(wǎng)絡(luò)與多個匯節(jié)點連接,匯節(jié)點和傳感器節(jié)點之間通過ZigBee技術(shù)實現(xiàn)無線的信息交換。帶有射頻收發(fā)器的無線傳感器節(jié)點負責對數(shù)據(jù)的感知和處理并傳送給匯節(jié)點;通過遠程傳輸網(wǎng)絡(luò)獲取采集到的相關(guān)信息,實現(xiàn)對現(xiàn)場的有效控制和管理。3.2ZigBee技術(shù)的應(yīng)用領(lǐng)域ZigBee技術(shù)的目標就是針對工業(yè)、家庭自動化、遙測遙控、汽車自動化、農(nóng)業(yè)自動化和醫(yī)療護理等,例如燈光自動化控制、傳感器的無線數(shù)據(jù)采集和監(jiān)控、油田、電力、礦山和物流管理等應(yīng)用領(lǐng)域。另外它還可以對局部區(qū)域內(nèi)移動目標例如城市中的車輛進行定位。通常,符合如下條件之一的應(yīng)用,就可
9、以考慮采用ZigBee技術(shù)做無線傳輸:數(shù)據(jù)采集或監(jiān)控的網(wǎng)點多;傳輸?shù)臄?shù)據(jù)量不大,但要設(shè)備成本低;要求數(shù)據(jù)傳輸可性高,安全性高;設(shè)備體積很小,不便放置較大的充電電池或者電源模塊;電池供電;地形復(fù)雜,監(jiān)測點多,需要較大的網(wǎng)絡(luò)覆蓋;現(xiàn)有移動網(wǎng)絡(luò)的覆蓋盲區(qū);使用現(xiàn)存移動網(wǎng)絡(luò)進行低數(shù)據(jù)量傳輸?shù)倪b測遙控系統(tǒng);使用GPS效果差,或成本太高的局部區(qū)域移動目標的定位應(yīng)用。3.3zigbee協(xié)議棧結(jié)構(gòu)ZigBee協(xié)議棧定義了四層,分別是物理層、媒體訪問控制層、網(wǎng)絡(luò)層、應(yīng)用層。物理層和媒體訪問控制層由IEEE802.15.4-2003定義,上層的網(wǎng)絡(luò)層和應(yīng)用層由Zigbee聯(lián)盟定義。應(yīng)用層分別包括ZDO(Zigbe
10、e設(shè)備對象),APS(應(yīng)用支持子層)和AF(應(yīng)用框架)組成。Zigbee協(xié)議棧每一層負責完成所規(guī)定的任務(wù),并且向上層提供服務(wù),各層之間的接口通過所定義的邏輯鏈路來提供服務(wù)。 ZigBee協(xié)議棧結(jié)構(gòu)如 圖2 ZigBee協(xié)議棧結(jié)構(gòu)圖所示。 圖2 ZigBee協(xié)議棧結(jié)構(gòu)圖1. 物理層物理層由半雙工的無線收發(fā)器及其接口組成,主要作用是激活和關(guān)閉射頻收發(fā)器;檢測信道的能量;顯示收到數(shù)據(jù)包的鏈路質(zhì)量;空閑信道評估;選擇信道頻率;數(shù)據(jù)的接受和發(fā)送。2. 媒體訪問控制層媒體訪問控制(MAC)層建立了一條節(jié)點和與其相鄰的節(jié)點之間可靠的數(shù)據(jù)傳輸鏈路,共享傳輸媒體,提高通信效率。在協(xié)調(diào)器的MAC層,可以產(chǎn)生網(wǎng)絡(luò)信
11、標,同步網(wǎng)絡(luò)信標;支持ZigBee設(shè)備的關(guān)聯(lián)和取消關(guān)聯(lián);支持設(shè)備加密;在信道訪問方面,采用CSMA/CA信道退避算法,減少了碰撞概率;確保時隙分配(GTS);支持信標使能和非信標使能兩種數(shù)據(jù)傳輸模式,為兩個對等的MAC實體提供可靠連接。3. 網(wǎng)絡(luò)層網(wǎng)絡(luò)層負責拓撲結(jié)構(gòu)的建立和維護網(wǎng)絡(luò)連接,主要功能包括設(shè)備連接和斷開網(wǎng)絡(luò)時所采用的機制,以及在幀信息傳輸過程中所采用的安全性機制。此外,還包括設(shè)備的路由發(fā)現(xiàn)和路由維護和轉(zhuǎn)交。并且,網(wǎng)絡(luò)層完成對一跳(onehop)鄰居設(shè)備的發(fā)現(xiàn)和相關(guān)結(jié)點信息的存儲。一個ZigBee協(xié)調(diào)器創(chuàng)建一個新網(wǎng)絡(luò),為新加入的設(shè)備分配短地址等。并且,網(wǎng)絡(luò)層還提供一些必要的函數(shù),確保Z
12、igBee的MAC層正常工作,并且為應(yīng)用層提供合適的服務(wù)接口。網(wǎng)絡(luò)層要求能夠很好地完成在IEEE 802154標準中MAC子層所定義的功能,同時,又要為應(yīng)用層提供適當?shù)姆?wù)接口。為了與應(yīng)用層進行更好的通信,網(wǎng)絡(luò)層中定義了兩種服務(wù)實體來實現(xiàn)必要的功能。這兩個服務(wù)實體是數(shù)據(jù)服務(wù)實體(NLDE)和管理服務(wù)實體(NLME)。網(wǎng)絡(luò)層的NLDE通過數(shù)據(jù)服務(wù)實體服務(wù)訪問點(NLDESAP)來提供數(shù)據(jù)傳輸服務(wù),NLME通過管理服務(wù)實體服務(wù)訪問點(NLMESAP)來提供管理服務(wù)。NLME可以利用NLDE來激活它的管理工作,它還具有對網(wǎng)絡(luò)層信息數(shù)據(jù)庫(NIB)進行維護的功能。 在這個圖中直觀地給出了網(wǎng)絡(luò)層所提供的
13、實體和服務(wù)接口等。 NLDE提供的數(shù)據(jù)服務(wù)允許在處于同一應(yīng)用網(wǎng)絡(luò)中的兩個或多個設(shè)備之間傳輸應(yīng)用協(xié)議數(shù)據(jù)單元(APDU)。NLDE提供的服務(wù)有:產(chǎn)生網(wǎng)絡(luò)協(xié)議數(shù)據(jù)單元(NPDU)和選擇通信路由。選擇通信路由,在通信中,NLDE要發(fā)送一個NPDU到一個合適的設(shè)備,這個設(shè)備可能是通信的終點也可能只是通信鏈路中的一個點。NLME需提供一個管理服務(wù)以允許一個應(yīng)用來與協(xié)議棧操作進行交互。 NLME需要提供以下服務(wù):配置一個新的設(shè)備(configuring a new device)。具有充分配置所需操作棧的能力。配置選項包括:ZigBee協(xié)調(diào)器的開始操作,加入一個現(xiàn)有的網(wǎng)絡(luò)等。 4. 應(yīng)用層應(yīng)用層包括三部分
14、:應(yīng)用支持子層(APS)、ZigBee設(shè)備對象(ZDO)和應(yīng)用框架(AF)。應(yīng)用支持子層的任務(wù)是提取網(wǎng)絡(luò)層的信息并將信息發(fā)送到運行在節(jié)點上的不同應(yīng)用端點。應(yīng)用支持子層維護了一個綁定表,可以定義、增加或移除組信息;完成64位長地址(IEEE地址)與16位短地址(網(wǎng)絡(luò)地址)一對一映射;實現(xiàn)傳輸數(shù)據(jù)的分割與重組;應(yīng)用支持子層連接網(wǎng)絡(luò)層和應(yīng)用層,是它們之間的接口。這個接口由兩個服務(wù)實體提供:APS數(shù)據(jù)實體(APSDE)和APS管理實體(APSME)。APS數(shù)據(jù)實體為網(wǎng)絡(luò)中的節(jié)點提供數(shù)據(jù)傳輸服務(wù),它會拆分和重組大于最大荷載量的數(shù)據(jù)包。APS管理實體提供安全服務(wù),節(jié)點綁定,建立和移除組地址,負責64位IE
15、EE地址與16位網(wǎng)絡(luò)地址的地址映射4。ZigBee設(shè)備對象負責設(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)等。用戶在開發(fā)ZigBee產(chǎn)品時,需要在ZigBee協(xié)議棧的AF上附加應(yīng)用端點,調(diào)用ZDO功能以發(fā)現(xiàn)網(wǎng)絡(luò)上的其他設(shè)備和服務(wù),管理綁定、安全和其他網(wǎng)絡(luò)設(shè)置。ZDO是一個特殊的應(yīng)用對象,它駐留在每一個ZigBee節(jié)點上,其端點編號固定為0。AF應(yīng)用框架是應(yīng)用層與APS層的接口。它負責發(fā)送和接收數(shù)據(jù),并為接收到的數(shù)據(jù)尋找相應(yīng)的目的端點。四 硬件設(shè)計4.1傳感器節(jié)點模塊化設(shè)計
16、傳感器節(jié)點一般由數(shù)據(jù)采集單元、數(shù)據(jù)處理單元,通信單元( 即射頻模塊) 和電源單元組成,其結(jié)構(gòu)如圖5.1所示。圖5.1 無線傳感器節(jié)點結(jié)構(gòu)圖由于無線傳感網(wǎng)絡(luò)在通信上消耗較大能量,故處理器選用功耗較小的CC2530 為通信器件,設(shè)計無線網(wǎng)絡(luò)節(jié)點。數(shù)據(jù)采集模塊利用傳感器監(jiān)測外部環(huán)境,本作品中負責采集水的溫度、PH值、濁度等水質(zhì)信息,通過信號的調(diào)理輸出,并傳送給處理器進行處理。4.2CC2530芯片概述4.2.1CC2530芯片基本介紹ZigBee新一代SOC芯片CC2530是真正的片上系統(tǒng)解決方案,支持IEEE 802.15.4標準/ZigBee/ZigBee RF4CE和能源的應(yīng)用。擁有龐大的快閃
17、記憶體多達256個字節(jié),CC2530是理想ZigBee專業(yè)應(yīng)用。支持新RemoTI的ZigBee RF4CE ,這是業(yè)界首款符合ZigBee RF4CE兼容的協(xié)議棧,和更大內(nèi)存大小將允許芯片無線下載,支持系統(tǒng)編程。此外,CC2530結(jié)合了一個完全集成的,高性能的RF收發(fā)器與一個8051微處理器,8 kB的RAM ,32/64/128/256 KB閃存,以及其他強大的支持功能和外設(shè)。CC2530芯片具有如下主要性能: (1)高性能和低功耗的8051微控制器核;(2)32-KB、64-KB、128-KB或256KB的系統(tǒng)內(nèi)可編程閃存; (3)8-KB RAM,具備在各種供電方式下的數(shù)據(jù)保持能力;
18、(4)集成符合IEEE 802.15.4標準的2.4GHz的RF無線電收發(fā)機; (5)極高的接收靈敏度和抗干擾性能; (6)可編程的輸出功率高達4.5dBm;(7)只需一個晶振,即可滿足網(wǎng)狀網(wǎng)絡(luò)系統(tǒng)的需要; (8)硬件支持CSMA/CA功能; (9)較寬的電壓范圍(2.03.6V)。4.2.2CC2530芯片引腳介紹CC2530芯片如圖5.2所示。它采用6 mm×6 mm的QFN封裝,共有40個引腳。全部引腳可以分為I/O端口線引腳、電源線引腳和控制線引腳三類。圖5.2 CC2530芯片引腳1. I/O端口線引腳功能 CC2530有21個可編程的I/O口引腳,P0、P1口是完全的8位
19、口,P2口只有5個可使用的位。通過軟件設(shè)定一組SFR寄存器的位和字節(jié),可使這些引腳作為通常的I/O口或作為連接ADC、計時器或USART部件的外圍設(shè)備I/O口使用。2 電源引腳功能 AVDD1(28腳):為模擬電路連接2.0V3.6V的電壓。 AVDD2(27腳):為模擬電路連接2.0V3.6V的電壓。 AVDD3(24腳):為模擬電路連接2.0V3.6V的電壓。 AVDD4(29腳):為模擬電路連接2.0V3.6V的電壓。 AVDD5(21腳):為模擬電路連接2.0V3.6V的電壓。 AVDD6(31腳):為模擬電路連接2.0V3.6V的電壓。 DCOUPL(40腳):提供1.8V的數(shù)字電源
20、去耦電壓,不使用外部電路供應(yīng)。 DVDD1(39腳):提供2.0V3.6V的數(shù)字電源連接電壓。 DVDD2(10腳):提供2.0V3.6V的數(shù)字電源連接電壓。3. 控制線引腳 RBIAS(30腳):為參考電流提供精確的偏置電阻。 RESET_N(20腳):復(fù)位引腳,低電平有效。 RF_N(26腳):在RX期間向LNA輸入負向射頻信號。RF_P(25腳):在RX期間向LNA輸入正向射頻信號。 XOSC_Q1(22腳):32MHz的晶振引腳1,或外部時鐘輸入引腳。 XOSC_Q2(23腳):32MHz的晶振引腳2。4.3溫度傳感器調(diào)理電路設(shè)計溫度傳感器采用 Dallas 公司推出的 DS18B20
21、 數(shù)字式溫度傳感器,磨耐碰,體積小,使用方便,封裝形式多樣,適用于空間狹小的應(yīng)用場合。只需單線接口,電路簡單不需要 AD 轉(zhuǎn)換器件和其它外圍電路,縮小了系統(tǒng)的體積,提高了系統(tǒng)的可靠性。DS18B20 的封裝有 3 腳、6 腳和 8 腳三種方式。本次設(shè)計中選用的是 3 引腳方式(TO-92 封裝),如圖5.6所示。其中 DQ 為數(shù)字信號輸入/輸出端,GND 為電源地,VCC 為外接供電電源輸入端(以寄生供電方式時接地)。系統(tǒng)把 DQ 端連接到 CC530的 P0.0 口,通過對 DS18B20 的初始化,溫度轉(zhuǎn)換和讀取等指令來測量室內(nèi)質(zhì)溫度。圖5.6 溫度傳感器測量電路4.4網(wǎng)絡(luò)協(xié)調(diào)器外圍電路設(shè)
22、計網(wǎng)絡(luò)協(xié)調(diào)器的外圍電路都放在擴展板上,主要包括電源、串口等外圍電路,用于支持ZigBee 模塊工作以及和 PC 機的通信。網(wǎng)絡(luò)協(xié)調(diào)器是整個網(wǎng)絡(luò)中功耗最大的模塊,因此網(wǎng)絡(luò)協(xié)調(diào)器用的電源是通過 220V 交流電源轉(zhuǎn)換而來,而不是 ZigBee 網(wǎng)絡(luò)中的常用的電池。在設(shè)計時為了簡化電路、降低功耗,網(wǎng)絡(luò)協(xié)調(diào)器上所有芯片都選用工作電壓為 3.3V 的,該模塊只需要 3.3V 電源供電,如圖5.7所示。圖5.7 節(jié)點電源處理模塊圖5.8 傳感器電源處理模塊圖5.8中D1、D2的作用是防止輸出電壓大于輸入電壓導(dǎo)致燒壞7812或者7805。得到5V電源后再通過一個低壓差線性穩(wěn)壓器(LDO:Low Dropou
23、t Regulator)將5V電源轉(zhuǎn)換為工作電壓3.3V給整個模塊供電,LDO選用TI公司REG1117-3.3穩(wěn)壓器,該芯片電路簡單,質(zhì)量可靠,價格低。五 軟件設(shè)計5.1IAR開發(fā)環(huán)境IAREmbedded Workbench簡稱為EW,它具備的調(diào)試器和C/C交叉編譯環(huán)境,是當今最易使用、最完整的嵌入式應(yīng)用開發(fā)工具。針對不同的微處理器提供一樣直觀的用戶界面,當前支持35種以上的32位、16位、8位ARM微處理器。EW的組成部分為C-SPY調(diào)試器、嵌入式C/C編譯器、匯編器、庫管理員、編譯器、項目管理器和連接定位器。使用IAR的編譯器不僅能節(jié)省硬件資源,最大限度降低產(chǎn)品成本,提高產(chǎn)品競爭力還能
24、最大程度優(yōu)化和緊湊代碼。IAR Embedded Workbench集成編譯環(huán)境主要有以下特征:支持高效浮點運算、完全兼容C標準、高效的PROMable代碼、目標特性擴充、內(nèi)建對應(yīng)芯片的程序速度和大小的優(yōu)化器、版本控制和擴展工具支持良好、便捷的中斷處理和模擬、內(nèi)存模式選擇、瓶頸性能分析、工程中相對路徑支持。IAR EW8051集成開發(fā)環(huán)境如圖6.1所示。圖6.1 IAR EW8051集成開發(fā)環(huán)境5.2協(xié)調(diào)器節(jié)點程序協(xié)調(diào)器的主要功能是建立網(wǎng)絡(luò),還有掃描網(wǎng)絡(luò)信標、管理網(wǎng)絡(luò)中節(jié)點的加入/退出和存儲節(jié)點信息,同時還提供關(guān)聯(lián)節(jié)點之間的路由信息。組建網(wǎng)絡(luò)分為網(wǎng)絡(luò)初始化和節(jié)點加入網(wǎng)絡(luò)兩個過程。ZigBee網(wǎng)
25、絡(luò)的建立是由協(xié)調(diào)器發(fā)起的,要組建網(wǎng)絡(luò)的節(jié)點必須滿足兩個基本要求:一是節(jié)點必須是FFD節(jié)點,具備協(xié)調(diào)器的能力;二是節(jié)點還沒有加入到其他網(wǎng)絡(luò)中,網(wǎng)絡(luò)初始化的流程如圖6.2所示。圖6.2 協(xié)調(diào)器組網(wǎng)流程圖5.2.1網(wǎng)絡(luò)組建確定網(wǎng)絡(luò)協(xié)調(diào)器、信道掃描過程、設(shè)置網(wǎng)絡(luò)ID至此網(wǎng)絡(luò)初始化就完成,相關(guān)代碼如下第一步:Z-Stack由 main()函數(shù)開始執(zhí)行,main()函數(shù)共做了2件事:一是系統(tǒng)初始化,另外一件是開始執(zhí)行輪轉(zhuǎn)查詢式操作系統(tǒng)int main( void )
26、 . osal_init_system();/第二步,操作系統(tǒng)初始化. osal_start_system();/初始化完系統(tǒng)任務(wù)事件后,正式開始執(zhí)行操作系統(tǒng) .第二步,進入 osal_init_system()函數(shù),執(zhí)行操作系統(tǒng)初始化uint8 osal_init_system( void ) osal_mem_init(); osal_qHead = NULL;
27、;osalTimerInit(); osal_pwrmgr_init(); osalInitTasks(); /第三步,執(zhí)行操作系統(tǒng)任務(wù)初始化函數(shù) osal_mem_kick(); return ( SUCCESS );第三步,進入osalInitTasks()函數(shù),執(zhí)行操作系統(tǒng)任務(wù)初始化void osalInitTasks( void ) /第三步,初始化操作系統(tǒng)任務(wù) uint8 taskID = 0; tasksEvents = (uint16 *)osal_
28、mem_alloc( sizeof( uint16 ) * tasksCnt); osal_memset( tasksEvents, 0, (sizeof( uint16 ) * tasksCnt);/任務(wù)優(yōu)先級由高向低依次排列,高優(yōu)先級對應(yīng) taskID 的值反而小 macTaskInit( taskID+ ); /不需要用戶考慮 nwk_init( taskID+ ); /不需要用戶考慮 Hal_Init( taskID+ );/硬件抽象層初始化,需要我們考慮 #if defined( MT_
29、TASK ) MT_TaskInit( taskID+ );#endif APS_Init( taskID+ );/不需要用戶考慮#if defined ( ZIGBEE_FRAGMENTATION ) APSF_Init( taskID+ ); #endifZDApp_Init( taskID+ );/第四步,ZDApp層,初始化,執(zhí)行ZDApp_init函數(shù)后,如果是協(xié)調(diào)器將建立網(wǎng)絡(luò),如果是終端設(shè)備將加入網(wǎng)絡(luò)。#if defined (ZIGBEE_
30、FREQ_AGILITY)|defined ( ZIGBEE_PANID_CONFLICT ) ZDNwkMgr_Init( taskID+ ); #endif SerialApp_Init( taskID );/應(yīng)用層SerialApp層初始化,需要用戶考慮在此處設(shè)置了一個按鍵觸發(fā)事件,
31、0; /當有按鍵按下的時候,產(chǎn)生一個系統(tǒng)消息 第四步,進入ZDApp_init()函數(shù),執(zhí)行ZDApp層初始化第五步,正式執(zhí)行操作系統(tǒng)void osal_start_system( void )/第五步,正式執(zhí)行操作系統(tǒng)#if !defined ( ZBIT ) && !defined ( UBIT ) for(;)/死循環(huán)#end
32、if uint8 idx = 0; osalTimeUpdate();Hal_ProcessPoll(); do if (tasksEvents) break;/ 得到待處理的最高優(yōu)先級任務(wù)索引號idx while (+idx < task
33、sCnt); if (idx < tasksCnt) uint16 events; halIntState_t intState; HAL_ENTER_CRITICAL_SECTION(intState);/進入臨界區(qū) events = tasksEvents;/提取需要處理的任務(wù)中的事件
34、;tasksEvents = 0;/ 清除本次任務(wù)的事件 HAL_EXIT_CRITICAL_SECTION(intState);/退出臨界區(qū) events = (tasksArr)( idx, events ); /通過指針調(diào)用任務(wù)處理函數(shù),緊接著跳到相應(yīng)的函數(shù)去處理,此為第五步 HAL_ENTER_CRITICAL_SECTION(intState);/進入臨界區(qū) tasksEvents |= event
35、s; / Add back unprocessed events to the current task./ 保存未處理的事件 HAL_EXIT_CRITICAL_SECTION(intState);/退出臨界區(qū) #if defined( POWER_SAVING ) else osal_pwrmgr_powerconserve();
36、#endif 5.2.2節(jié)點之間的數(shù)據(jù)傳輸在完成協(xié)調(diào)器組網(wǎng)以及終端節(jié)點加入網(wǎng)絡(luò)后并進行數(shù)據(jù)傳輸,將協(xié)調(diào)器通過RS-232和PC相連,可以通過串口助手或者相應(yīng)的開發(fā)軟件來觀察節(jié)點之間的數(shù)據(jù)傳輸。分析和處理數(shù)據(jù),進行相關(guān)的控制操作,達到實時監(jiān)控和智能控制的目的。協(xié)調(diào)器與上位機采用RS-232串口,傳輸速率為115200bps,無校驗位,8個數(shù)據(jù)位,1位停止位,其軟件流程如圖6.3所示。圖6.3 串口工作點流程5.3嵌入式網(wǎng)關(guān)程序嵌入式網(wǎng)關(guān)軟件主要由硬件設(shè)備底層驅(qū)動、WinCE 6.0操作系統(tǒng)與協(xié)議棧的裁剪與移植和網(wǎng)關(guān)應(yīng)用程序三大部分構(gòu)成。通過系統(tǒng)的軟件設(shè)計可以完成系統(tǒng)控制及Z
37、igBee網(wǎng)絡(luò)和以太網(wǎng)通信等。硬件設(shè)備底層驅(qū)動是對物理硬件設(shè)備功能的軟件封裝,提供軟件接口給Wince6.0操作系統(tǒng)內(nèi)核調(diào)用。網(wǎng)關(guān)驅(qū)動主要由以太網(wǎng)網(wǎng)卡驅(qū)動、串口驅(qū)動、外部存儲器驅(qū)動、LCD驅(qū)動和板載初始化等構(gòu)成,嵌入式網(wǎng)關(guān)軟件平臺參考模型如圖6.4所示。圖 6.4 軟件平臺參考模型圖6.5嵌入式網(wǎng)關(guān)網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換模型傳感器節(jié)點將經(jīng)過簡單的處理之后傳輸給協(xié)調(diào)器節(jié)點,協(xié)調(diào)器節(jié)點通過串口將數(shù)據(jù)傳輸給網(wǎng)關(guān),網(wǎng)關(guān)將ZigBee網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換為Internet網(wǎng)絡(luò)協(xié)議,如圖6.5所示,便可以實現(xiàn)遠程訪問。由于ZigBee網(wǎng)絡(luò)與Internet網(wǎng)絡(luò)使用的網(wǎng)絡(luò)地址不同,要想實現(xiàn)這兩種網(wǎng)絡(luò)之間的轉(zhuǎn)換,首先應(yīng)該解決的
38、就是兩種網(wǎng)絡(luò)的地址轉(zhuǎn)換問題,網(wǎng)關(guān)就完成了兩種地址之間的轉(zhuǎn)換,使得數(shù)據(jù)能夠在兩種網(wǎng)絡(luò)之間進行傳輸。ZigBee網(wǎng)絡(luò)中的每個節(jié)點都有各自的地址信息,其中地址信息內(nèi)容包括端點ID和節(jié)點ID兩部分。在網(wǎng)關(guān)上建立ZigBee網(wǎng)絡(luò)的地址映射,將每個ZigBee網(wǎng)絡(luò)節(jié)點地址與一個UDP端口建立一一映射關(guān)系。同時在網(wǎng)關(guān)上建立Internet的地址映射,Internet地址信息包括IP地址和端口號兩部分,在網(wǎng)關(guān)上將每個Internet主機地址與一個端點建立映射。這樣就在網(wǎng)關(guān)中保存了ZigBee節(jié)點和Internet主機的全部信息,當ZigBee網(wǎng)絡(luò)數(shù)據(jù)報文傳到網(wǎng)關(guān)時,網(wǎng)關(guān)根據(jù)ZigBee網(wǎng)絡(luò)節(jié)點發(fā)送的報文的目的
39、端點ID,來判斷與這個端點ID對應(yīng)的Internet主機的IP地址和端口號,以這個地址為目的地,將數(shù)據(jù)報文重新封裝成UDP報文并發(fā)送,數(shù)據(jù)的有效部分不變。同理當Internet網(wǎng)絡(luò)發(fā)來數(shù)據(jù)時,網(wǎng)關(guān)根據(jù)主機發(fā)送的目的端口找到對應(yīng)端點ID,將Internet數(shù)據(jù)報文重新封裝并發(fā)送出去。最終完成數(shù)據(jù)能都在ZigBee網(wǎng)絡(luò)和Internet網(wǎng)絡(luò)中進行傳輸。嵌入式網(wǎng)關(guān)流程圖如圖6.6所示。圖6.6 嵌入式網(wǎng)關(guān)軟件流程圖5.4 傳感器節(jié)點程序在數(shù)據(jù)采集部分,各個終端節(jié)點首先監(jiān)測附近的協(xié)調(diào)器節(jié)點,加入網(wǎng)絡(luò),進行數(shù)據(jù)的采集。為了節(jié)省能量的消耗,盡可能低的降低功耗,當終端節(jié)點不采集信息的時候,就進入睡眠模式,此時的功耗降到最低。當接收的指令需要采集數(shù)據(jù)時,就會從睡眠模式轉(zhuǎn)換為工作模式進行工作。這種周期性的工作方式有效降低了功耗,節(jié)點軟件的流程圖如圖6.7所示
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 46934-2025安全與韌性城市或區(qū)域活動主辦和組織指南
- CCAA - 2014年09月建筑施工領(lǐng)域?qū)I(yè)答案及解析 - 詳解版(70題)
- 建筑工地安全責任協(xié)議2025
- 養(yǎng)老院消防安全制度
- 養(yǎng)老院安全巡查制度
- 企業(yè)內(nèi)部信息傳播制度
- 2025年高考(上海卷)歷史真題(學(xué)生版+解析版)
- 系統(tǒng)結(jié)構(gòu)自考通簡答
- 灌區(qū)管理工10S執(zhí)行考核試卷含答案
- 我國上市公司環(huán)境信息披露:現(xiàn)狀、問題與突破路徑
- 《SPSS與AMOS在中介效應(yīng)與調(diào)節(jié)效應(yīng)分析中的應(yīng)用》
- 家屬院停車管理暫行辦法
- 單位開展女神節(jié)活動方案
- 錫圓電子科技有限公司高端半導(dǎo)體封測項目環(huán)評資料環(huán)境影響
- T/CGAS 031-2024城鎮(zhèn)燃氣加臭技術(shù)要求
- T/CGAS 026.2-2023瓶裝液化石油氣管理規(guī)范第2部分:平臺建設(shè)
- 上海市2023-2024學(xué)年八年級下學(xué)期期末語文試題匯編-現(xiàn)代文1說明文(答案版)
- 《新能源汽車電力電子技術(shù)》電子教案-新能源汽車電力電子技術(shù).第一版.電子教案
- 金屬非金屬礦山開采方法手冊
- GB/T 45356-2025無壓埋地排污、排水用聚丙烯(PP)管道系統(tǒng)
- 設(shè)備管理人員19年述職
評論
0/150
提交評論