




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
張琦:基于ZigBee的無線網絡報警系統(tǒng)PAGEIIZIGBEE無線傳感器及其網絡設計學生:學號:專業(yè):班級:指導教師:二OO八年六月PAGEI磨摘猴匹夠要奉本奶文浩介延紹賤了嗽無掀線走傳牢感隙器班網龍絡擔的房概陳念墊,籌從拼無冰線臭傳覺感顯器療網夸絡男的肅體慌系結結付構騙、疲網諸絡烏協(xié)釣議壘、限節(jié)對點豪技雪術笛出液發(fā)夏,所展礙開錫了糕對鍋無斤線腸傳購感妙器衰網雞絡憶的櫻相睛關惱研堤究他,污歸病納艱了銷無屑線甜傳挖感憶器場網要絡逝的程特安點電和峽關絹鍵選性態(tài)問儲題謹,畫詳鉆細畏介糟紹韻了聞無腎線出通討信適協(xié)習議工Z管i執(zhí)g植B媽e屈e由的彩特教點棕及拍協(xié)學議瘋結伯構伯。痛接穗著誕基價于括無腰線室傳檢感抄器潛節(jié)慨點鼓設躲計凈原盲則村及貨所宣選辨的渡微丙型刃數(shù)古字塞溫慨度旗傳豆感鳴器晃D怒S挽1青8謝2棵0弊,慘給奔出響了瓦無蠢線慌傳蠢感貞器攝網穴絡位的習通箱用父結肢構跪,翼給渴出漢了反系惜統(tǒng)著硬綠件畜及趴軟愈件爬的夢設暢計御方慧案糾和嫁具呼體拴實倘現(xiàn)帳,澆并筒從慢硬臺件趨和智軟誰件咬方澤面揚考蓋慮初了誓低底功作耗稿設菌計序的導要僵求庸。珠最筑后葬進孕行靜了宴實攪驗淡環(huán)練節(jié)生,棚實掩驗雁結肥果用表打明盜本車文竭設脖計彼的化無堂線傳傳鵝感役器咱網悠絡樓可杰以揮在蘆較遲低化功需耗靜下萬實攝現(xiàn)景溫渠度店信想息故的童無數(shù)線穴采劉集嗓。照關歇鍵壘詞悲:處無籃線乏傳貞感執(zhí)器誼網乏絡針;恰;圾Z風i障g根B漁e麻e膚協(xié)馳議崖;言D藥S爆1旁8下2格0倒A瞎B件S舟T響R失A精C蔑TThisdissertationdescribestheconceptofWSN.Systemstructure蜂,肝中n馬o肆d濤e趙蕩t幫e忍c濱h站n竿o販l暢o食g懸y胖巡a腫n浩d趙識p繪r太o皺t厲o幸c斃o駐l圓s從竄o殼f憶薪n域e扮t楚w北o第r寒k允覆o序f伴慚w趴i屬r糾e館l陷e惰s潑s駱腐s盯e籠n辰s犁o脖r優(yōu)災n貸e即t羊w福o曠r窩k戲s徐玻a闖r爪e踐抄e貨x津p凍l近o頃r蛙e賤d躲鮮a福s嚴液t皆h數(shù)e負妖r浮e父s寺e餅a憶r玻c爛h怠總w冊o言r茂k小賓o恭f撲休t車h普e寶井b觸e頸g絮i陪n斬n瘦i羨n粒g駝.雨T母h洞e膠冬c繩h尼a影r曠a巡c震t君e乓r訓i兼s延t醫(yī)i概c康s額衣a鵝n義d啦歉a密n銹a杠l削y尾z部e咬搖o培f約蜘t矩h縣e類玩p見r構o寒t謠o托c蝶o粉l盞s且嚇o煩f恐紐d桌a動t誤a化元l盟i般n卡k吃證l叫a風y軋e禿r賠娘a腳n妙d簡赴n公e頑t層w明o計r獵k剩彼l辭a往y款e肺r菠綁a奶r拜e罪濤c晶a權r遵r岸i喚e癥d陽濾o肆u提t(yī)五.草柏T撇h日e肚n睛,累缺t妹h菊e街下p殊r掛o驚t裹o閑c蔬o僚l扎s普t共r米u貢c需t圈u磁r言e靜棍a滲n屋d筒醒c頂h臣a桶r調a旁c貼t達e押r口i渡s么t風i堵c棄s罪祝o澡f烘卷t桂h霸e摟速w鉆i常r摔e易l粥e膜s駝s逆港c火o卵m偷m腦u蝦n佛i緊c其a鉆t善i濫o擱n臘徒p航r畝o老t惰o搶c言o斧l碌男Z仇i騎g爭B腐e盯e筋渠a吸r障e鈴游i陷n妨t絨r土o貧d婦u鍬c棵e草d足筋i到n森座d竹e旨t唇a業(yè)i臥l達.誰I臉t荷庫w戀a榆s耐聞p加r巴o東p笨o執(zhí)s賄e伯d葵帶t銀h蔑a絨t怖丹b斃a痛s拖i夜c升凈o琴n魄帽t塊h臭e館擋p辣r四i勺n籠c遲i嬸p構l渴e分平o灰f漁番w岡i酸r市e飼l改e僵s碌s尼賓c課o沈m非m自u聲n蓄i撞c穴a回t肆i雷o始n社盛p孩r讓o抓t施o辛c傷o兵l竿氧a漁n紅d躬艦m跨i縫r憑a冒c曉l鑒e克廈d駱i禽g跡i棄t倘a爆l阻趕t淘e怎m五p悄e冠r邀a張t難u毒r背e激腿c藥o緣m旬m掉u逃n螞i熊c瀉a售t監(jiān)i忠o南n瞞園D炮S泡1痰8靠2悼0光.帆T槽h要e酷毀s權o漢l奧u揀t甩i左o鎮(zhèn)n拌米a互n白d杜澤p呈r刮a劃c胡t親i壽c注a誓l硬煩s遇e候n煮s勉o姑r純北n鋼e嫩t爐w用o情r登k田概b呈a黑s堤i知c獸s醬o招n尤襪t覽h莊e荒芽p封r炒i擁n燃c蛾i震p濱l問e槍o跳f象菠d籮e穩(wěn)s衫i伯g舊n圈.神T破h描e靠缺s減o廉l袖u哨t爽i帽o訊n肢喬a工n寸d性詠p扇r旬a要c店t娛i襖c戲a怕l皇傭i泊m竿p五l港e揉m搖e茄n胡t勞a攝t琴i繁o舌n述斬o熱f脫恰h憂a蘆r題d枝w肅a拾r瓜e摸撈s罪t今r撇u稅c侄t售u月r與e橫系a洪n烘d難膚s踩o杰f灣t鏈w隆a木r歷e迎售o枯f義廚t抖h綱e怖擠s張y幟s屆t澆e償m波撈i探s振淡p次r垂o息v詞i關d院e業(yè)d繭,佛a滲n碌d淡柄a飲包g黨o查o思d儉翠c鴉o芳n使s都i捐d籠e媽r窯a溉t坊i嘆o常n孩抄o局f機暖i劉t旗s急貓l著o恒w棕王p照o且w徐e弟r架皺c流o魚n考s稼u罵m倆p順t畏i扛o撲n銹此o帽n洗躲t健h濟e濫肺f舌a們c而t愈未o駕f唱零h左a欠r渡d谷w繪a衡r扎e俯原a各n惕d媽餃s區(qū)o鄰f節(jié)t炊w最a式r困e浮斥w鍛a慕s觸粥o活u涌t飲l激i初n銅e掉d及.送A漁t字覽l哨a伸s勻t宇,澡t誤h巷e敞材e職x情p泳e睡r呼i貞m備e罩n監(jiān)t最a五l旋仿r勵e東s智u損l偏t她s攀淡s第h女o雖w飲遷t作h唐a洽t萌偷t寨h膠e個煮s癢y兄s賀t衛(wèi)e摘m桑蛋c吳a綿n誼漁r隨e疫a菜l船i弱z希e兔刷w盯i樹r咱e復l姓e迫s憶s古疾c富o怠m檢m咳u弊n隨i趁c洞a足t繁i破o襯n繁莊b儉e器t晨w濁e責e患n旨洪t畝h席e邊鮮s炮e信n值s帽o萬r須用n淡o詢d住e瓶s革快a渡t券塑l纖o扁w廳e津r雜糟p懶o奴w杜e采r繞自c貧o伯n御s事u遮m壇p逐t企i參o帶n洗.Keywords:Wirelesssensornetwork(WSN);;ZigBeeprotocol;DS1820目錄TOC\o"1-4"\f\h\z\uHYPERLINK\l"_Toc199576066"摘要IHYPERLINK\l"_Toc199576067"ABSTRACTIIHYPERLINK\l"_Toc199576069"第1章引言1HYPERLINK\l"_Toc199576070"1.1ZigBee概述1HYPERLINK\l"_Toc199576071"1.2國內外ZigBee技術現(xiàn)狀及發(fā)展趨勢1HYPERLINK\l"_Toc199576072"1.2.1國外ZigBee技術現(xiàn)狀及發(fā)展趨勢1HYPERLINK\l"_Toc199576073"1.2.2國內ZigBee技術現(xiàn)狀及發(fā)展趨勢2HYPERLINK\l"_Toc199576078"1.3無線傳感器網絡3HYPERLINK\l"_Toc199576078"1.3.1基于藍牙技術的傳感器網絡3HYPERLINK\l"_Toc199576078"1.3.ZigBee與藍牙的比較4HYPERLINK\l"_Toc199576086"第2章系統(tǒng)總體設計3HYPERLINK\l"_Toc199576087"2.1系統(tǒng)設計總體方案6HYPERLINK\l"_Toc199576088"2.2系統(tǒng)網絡設計方案6HYPERLINK\l"_Toc199576089"第3章硬件電路的設計8HYPERLINK\l"_Toc199576090"3.1芯片CC2430簡介8HYPERLINK\l"_Toc199576092"3.1.1CC2430的功能特性8HYPERLINK\l"_Toc199576093"3.1.2CC2430的引腳及分布描述9HYPERLINK\l"_Toc199576094"3.2硬件應用電路設計10HYPERLINK\l"_Toc199576095"3.3網絡協(xié)調器電路11HYPERLINK\l"_Toc199576096"3.4RFD節(jié)點電路11HYPERLINK\l"_Toc199576097"3.5溫度傳感器的構建12HYPERLINK\l"_Toc199576097"3.5.1DS1820的特性12HYPERLINK\l"_Toc199576097"3.5.2DS1820的工作原理12HYPERLINK\l"_Toc199576097"3.5.3溫度檢測系統(tǒng)原理幾程序流程圖12HYPERLINK\l"_Toc199576098"第4章系統(tǒng)軟件的設計18HYPERLINK\l"_Toc199576099"4.1系統(tǒng)程序設計18HYPERLINK\l"_Toc199576100"4.2協(xié)議棧19HYPERLINK\l"_Toc199576101"4.3網絡節(jié)點的軟件設計20HYPERLINK\l"_Toc199576102"4.4控制器的軟件設計21HYPERLINK\l"_Toc199576103"4.5串口通信22HYPERLINK\l"_Toc199576104"4.5.1信道選擇22HYPERLINK\l"_Toc199576105"4.5.2幀格式23HYPERLINK\l"_Toc199576106"4.5.3控制字23HYPERLINK\l"_Toc199576107"4.6各功能部件的程序流程及程序24HYPERLINK\l"_Toc199576108"4.6.1格式化星狀網絡24HYPERLINK\l"_Toc199576109"4.6.2加入和開始ZigBee網絡25HYPERLINK\l"_Toc199576110"4.6.3液晶驅動C51程序25HYPERLINK\l"_Toc199576111"4.6.4遙控器和主機按鍵電路與程序25HYPERLINK\l"_Toc199576112"4.6.5網絡協(xié)調器26HYPERLINK\l"_Toc199576113"4.6.6RFD節(jié)點26HYPERLINK\l"_Toc199576114"4.6.7重要函數(shù)28HYPERLINK\l"_Toc199576115"4.6.8主程序28HYPERLINK\l"_Toc199576116"第5章系統(tǒng)調試30HYPERLINK\l"_Toc199576117"5.1系統(tǒng)開發(fā)環(huán)境及設備30HYPERLINK\l"_Toc199576118"5.2調試步驟30HYPERLINK\l"_Toc199576119"5.2.1進入調試30HYPERLINK\l"_Toc199576120"5.2.2窗口管理30HYPERLINK\l"_Toc199576121"5.2.3查看源文件語句31HYPERLINK\l"_Toc199576122"5.2.4查看變量31HYPERLINK\l"_Toc199576123"5.2.5設置并監(jiān)控斷點32HYPERLINK\l"_Toc199576124"5.2.6在反匯編模式中調試32HYPERLINK\l"_Toc199576125"5.2.7監(jiān)控寄存器32HYPERLINK\l"_Toc199576126"5.2.8監(jiān)控存儲器33HYPERLINK\l"_Toc199576127"5.2.9完整運行程序33HYPERLINK\l"_Toc199576128"第6章總結34HYPERLINK\l"_Toc199576129"致謝35HYPERLINK\l"_Toc199576130"參考文獻35HYPERLINK\l"_Toc199576131"附錄iCC2430模塊原理圖38HYPERLINK\l"_Toc199576132"附錄iiCC2430的引腳描述39HYPERLINK\l"_Toc199576134"附錄III液晶驅動C51程序42HYPERLINK\l"_Toc199576135"附錄IV遙控器和主機按鍵電路與程序46附錄VHYPERLINK\l"_Toc199576136"重要函數(shù)147HYPERLINK\l"_Toc199576137"附錄VI重要函數(shù)249HYPERLINK\l"_Toc199576138"附錄VII主程序52HYPERLINK\l"_Toc199576138"附錄VIII18B20通訊程序52PAGE58PAGE59第1章引言1.1ZigBee概述ZigBee是一種近距離、低復雜度、低功耗、低數(shù)據(jù)速率、低成本的雙向無線通信技術,主要適合于自動控制、傳感、監(jiān)控和遠程控制等領域,可以嵌入各種設備中,同時支持地理定位功能。IEEE802.15.4工作組定義了一種廉價的供固定、便攜或移動設備使用的極低復雜度、成本和功耗的低速率無線連接技術。ZigBee聯(lián)盟在制定ZigBee標準時,采用了IEEE802.15.4作為其物理層和媒體接入層規(guī)范。在其基礎之上,ZigBee聯(lián)盟制定了數(shù)據(jù)鏈路層(DLL)、網絡層(NWK)和應用編程接口(API)規(guī)范,并負責高層應用、測試和市場推廣等方面的工作。ZigBee是一個由可多到65000個無線數(shù)傳模塊組成的一個無線數(shù)傳網絡平臺,每一個ZigBee網絡數(shù)傳模塊在整個網絡范圍內,它們之間可以進行相互通信。每個網絡節(jié)點間的距離可以從標準的75米,到擴展后的幾百米,甚至幾公里;另外整個ZigBee網絡還可以與現(xiàn)有的其它的各種網絡連接。例如,你可以通過互聯(lián)網在北京監(jiān)控云南某地的一個ZigBee控制網絡。ZigBee網絡主要是為自動化控制數(shù)據(jù)傳輸而建立,每個ZigBee“基站”卻不到1000元人民幣。每個ZigBee網絡節(jié)點不僅本身可以與監(jiān)控對象,例如傳感器連接直接進行數(shù)據(jù)采集和監(jiān)控,它還可以自動中轉別的網絡節(jié)點傳過來的數(shù)據(jù)資料;除此之外,每一個ZigBee網絡節(jié)點(FFD,F(xiàn)ullFunctionDevice)還可在自己信號覆蓋的范圍內,和多個不承擔網絡信息中轉任務的孤立的子節(jié)點(RFD,ReducedFunctionDevice)無線連接。1.2國內外ZigBee技術的現(xiàn)狀及發(fā)展趨勢國外ZigBee技術現(xiàn)狀及發(fā)展趨勢為了推動ZigBee技術的發(fā)展,Chipcon、Ember、Freescale、Honeywell、Mistubishi、Motorola、Philips和Samsung等公司共同成立了ZigBee聯(lián)盟(ZigBeeAlliance),包括有許多IC設計、家電、通訊設備、IP服務提供、玩具等廠商相繼加入,目前該聯(lián)盟已經包含150多家會員。在ZigBeeAlliance的成員中,有不少是提供ZigBee解決方案的業(yè)者。下面簡單介紹一下著名的相關產品。TI/CHIPCON公司的CC2420:CC2420是ChipconAs公司推出的首款符合2.標準的射頻收發(fā)器。該器件包括眾多額外功能,是第一款適用于ZigBee產品的RF器件。它基于Chipcon公司的SmartRF03技術,以0.18umCMOS工藝制成,只需極少外部元器件,性能穩(wěn)定且功耗極低。CC2420的選擇性和敏感性指數(shù)超過了標準的要求,可確保短距離通信的有效性和可靠性。利用此芯片開發(fā)的無線通信設備支持數(shù)據(jù)傳輸率高達250kbps可以實現(xiàn)多點對多點的快速組網。Freescale的MC1322x:MC1322x平臺應用32位ARM7處理器,數(shù)據(jù)傳輸方面可采用Freescale專有的TurboLink模式,使速率可達2Mbps以上,且可與協(xié)議256kbps速率的標準模式相互切換,把ZigBee技術的應用范圍擴大到壓縮音頻、文件、內部通信系統(tǒng)方面的新領域。同時,MC1322x功耗方面的性能優(yōu)秀。平臺在運行MCU時,收發(fā)電流小于20mA,非常適合鈕扣電池應用,3.6V~1.8V的運行電壓也使電池壽命較前代產品延長1.5倍。Freescale同時還提供BeeKitWirelessConnectivityToolkit開發(fā)環(huán)境,提供了無線聯(lián)網庫、應用模板、綜合代碼庫,以及友好的用戶界面(GUI),可自動確認設置的參數(shù),生成向集成開發(fā)環(huán)境(IDE)導入的工作空間文件,實現(xiàn)通過XML的連續(xù)開發(fā)和調試。該開發(fā)環(huán)境可用于各種無線聯(lián)網實施方案的創(chuàng)建、修改和更新。此外,BeeKit還可實現(xiàn)輕松擴展,以支持新的代碼庫和功能。1.2.2國內ZigBee技術現(xiàn)狀及發(fā)展趨勢國內不少人已經開始關注Zigbee這們新技術,而且也有不少單位開始涉足Zigbee技術的開發(fā)工作,然而,由于Zigbee本身是一種新的系統(tǒng)集成技術,應用軟件的開發(fā)必須和網絡傳輸,射頻技術和底層軟硬件控制技術結合在一起。因而深入理解這個來自國外的新技術,再組織一個在這幾個方面都有豐富經驗的配套的隊伍,本身就不是一件容易的事情,因而,到目前為止,國內目zigbee產品還是比較少。赫立訊科技(Helicomm)的短程無線系列模塊IP-Link1220/21:IP-Link122X系列模塊集成了符合IEEE802.15.4標準的射頻收發(fā)器(2.4GHz或915MHz)和SILICONLab的8051微處理器,具有多種天線連接方式和通訊距離的選擇,并且同時支持赫立訊自主知識產權的ZigBee1.0協(xié)議棧和ZigBee-ReadyIP-Net網絡軟件。IP-Link122X系列模塊已經通過了FCC,IEEE802.15.4和ZCP三重認證。模塊內嵌的ZigBee-ReadyIP-Net軟件協(xié)議包含了有創(chuàng)新意義的、通過網絡進行串行通訊的功能,使RS232/RS485數(shù)據(jù)流可以通過多跳進行透明傳輸,從而提高數(shù)據(jù)可靠性和增大傳輸范圍。用戶可根據(jù)模塊開放的API,對模塊的ADC,GPIO進行個性化的控制和使用。此功能特別適用于工業(yè)控制以及傳感器網絡。1.3無線傳感器網絡無線傳感器網絡是由許多獨立的無線傳感器節(jié)點通過無線電波互相通信而構成的無線通信網絡。無線傳感器網絡在配置上分為“點到點”和“主從”兩種。“點到點”配置是兩個節(jié)點之間進行連接和通信。一臺安裝了無線節(jié)點的計算機可以在無線網絡覆蓋范圍內自由移動并自動建立點到點的連接,在不同節(jié)點之間直接進行數(shù)據(jù)傳輸。在“主從”配置中,所有無線節(jié)點都與“訪問節(jié)點”連接,有訪問節(jié)點承擔無線通信的管理和與有線網絡橋連接的工作。使用“主從”配置,無線用戶在訪問節(jié)點的覆蓋范圍內工作時,無須再為尋找其他節(jié)點耗費電量,因此節(jié)約了能源。“主從”配置是最理想的低耗電網絡配置方式。基于藍牙技術的傳感器網絡藍牙技術主要面向網絡中各類數(shù)據(jù)及語音設備(如PC撥號網絡、筆記本電腦、打印機、數(shù)碼相機、移動電話和高品質耳機等),通過無線方式將它們連成一個微微網(Piconet),多個微微網之間也可以互連形成分布式網絡(Scatternet),從而方便、快速地實現(xiàn)各類設備之間的通信。它是實現(xiàn)語音和數(shù)據(jù)無線傳輸?shù)拈_放性規(guī)范,是一種低成本、短距離的無線連接技術。其無線收發(fā)器是很小的一塊芯片,大約有9mm×9mm,可方便地嵌入到便攜式設備中,從而增加設備的通信選擇性。藍牙技術實現(xiàn)了設備的無連接工作,提供了接入數(shù)據(jù)網的功能,并且具有外圍設備接口,可以組成一個特定的小網。藍牙技術的特點包括:采用跳頻技術,抗信號衰落;采用快跳頻和短分組技術,減少同頻干擾,保證傳輸?shù)目煽啃?;采用前向糾錯(FEC)編碼技術,減少遠距離傳輸時的隨機噪聲影響;使用2.4GHz的ISM頻段,無需申請許可證;采用FM調制方式,降低設備的復雜性。該技術的傳輸速率設計為1MHz,以時分方式進行全雙工通信,其基帶協(xié)議是電路交換和分組交換的組合。一個跳頻頻率發(fā)送一個同步分組,每個分組占用一個時隙,也可擴展到5個時隙。藍牙技術支持一個異步數(shù)據(jù)通道,或3個并發(fā)的同步話音通道,或一個同時傳送異步數(shù)據(jù)和同步話音的通道。每一個話音通道支持64kbps的同步話音;異步通道支持最大速率721kbps、反向應答速率為57.6kbps的非對稱連接,或者是432.6kbps的對稱連接。ZigBee與藍牙的比較(1)系統(tǒng)復雜性ZigBee的系統(tǒng)復雜性要遠小于藍牙的系統(tǒng)復雜性。ZigBee協(xié)議棧簡單,實現(xiàn)相對容易,需要的系統(tǒng)資源也較少,據(jù)估計運行ZigBee需要系統(tǒng)資源約28Kb;藍牙協(xié)議棧相對復雜,它需要系統(tǒng)資源約為250Kb。ZigBee定義了兩種類型的設備:全功能設備FFD和簡化功能設備RFD。網絡為主從結構,一個網絡有一個網絡協(xié)調者(Coordinator)和最多可達65535個從屬設備。網絡協(xié)調者必須是FFD,它負責管理和維護網絡,包括路由、安全性、節(jié)點的附著與離開等。一個網絡只需要一個網絡協(xié)調者,其他終端設備可以是RFD,也可以是FFD。RFD的價格要比FFD便宜得多,其占用系統(tǒng)資源僅約為4Kb,因此網絡的整體成本比較低。從這一點來說,ZigBee非常適合有大量終端設備的網絡,如傳感網絡、樓宇自動化等。(2)功耗ZigBee的MAC信道接入機制有兩種:無信標(Beacon)模式和有信標模式。無信標模式就是標準的ALOHACSMA-CA的信道接入機制,終端節(jié)點只在有數(shù)據(jù)要收發(fā)的時候才和網絡會話,其余時間都處于休眠模式,這樣低平均功耗非常低。有信標模式下,終端設備可以只在信標被廣播時醒來,并偵聽地址,如果沒有偵聽到自己的地址,則又轉入休眠狀態(tài)。信標對簇形網絡和網狀網的節(jié)點同步尤為重要,節(jié)點不用長時間偵聽信道而消耗能量。網絡拓撲結構對功率節(jié)省也有很重要的關系。星形和簇形網絡結構比網狀網結構更有利于功率節(jié)省。因為前者的終端節(jié)點不充當路由器的功能,只收發(fā)自己的數(shù)據(jù),這樣可以更節(jié)省更多功率。藍牙主要采用兩種方式來控制功率:自適應發(fā)射功率和調整基帶鏈接模式。在自適應發(fā)射功率控制方式中,當從屬設備檢測到接收信號強度指示值小于最低閾值時,從屬設備可以請求主控設備增大的發(fā)射功率,反之,當RSSI大于某個規(guī)定的閾值時,從屬設備也可以請求主控設備降低發(fā)射功率。藍牙基帶有四種鏈接模式:活躍(Active)、呼吸(Sniff)、保持(Hold)和休眠(Park)。通過調節(jié)基帶鏈接模式,也可以實現(xiàn)節(jié)約功率的目的?;钴S、呼吸、保持、休眠這四個狀態(tài)消耗的平均功率依次減小,但設備響應時間也依次增加通過從技術和應用兩方面的分析與比較,可以看出:ZigBee非常適合于低功耗、低數(shù)據(jù)速率的監(jiān)視、傳感網絡。藍牙則適合于較高數(shù)據(jù)數(shù)率的應用,如語音和數(shù)據(jù)傳輸。兩者之間同時又存在著競爭,比如,在計算機外設、互動玩具、家庭自動化和工業(yè)自動化等應用領域及在未來的穿戴網絡中ZigBee技術有較強的競爭力。第2章ZigBee無線傳感器系統(tǒng)總體設計2.1系統(tǒng)設計總體方案ZigBee無線傳感器系統(tǒng)的功能單元結構如圖3-1所示。以ZigBee為基礎構建的網絡有著更大的網絡容量,可以管理更多個網絡終端。其中感測單元包括溫度傳感器與A/D轉換器,用于感知和采集信息,并將其轉換為數(shù)字信號。由處理單元包括嵌入式微處理器、存儲器及CC2430芯片,將數(shù)據(jù)轉換為射頻信號來進行信號的收發(fā)。圖3-1ZigBee無線傳感器系統(tǒng)設計方案本方案設計一個ZigBee星型網絡,由一個網絡協(xié)調者和若干個網絡終端節(jié)點構成。網絡協(xié)調者負責網絡的管理工作,而終端節(jié)點一方面采集模擬數(shù)據(jù),同時把這些模擬數(shù)據(jù)通過無線網絡發(fā)送給協(xié)調者。圖3-2大致描述了本方案的實現(xiàn)效果:在PAN協(xié)調者的無線覆蓋范圍之內,布置若干(小于255)個網絡終端節(jié)點,實現(xiàn)網絡的管理和相互通信。2.2系統(tǒng)網絡設計方案圖3-2ZigBee無線傳感器網絡結構中央控制中心通過網絡與多個匯節(jié)點連接,匯節(jié)點和傳感器節(jié)點之間通過ZigBee技術實現(xiàn)無線的信息交換,帶有射頻收發(fā)器的無線傳感器節(jié)點負責對數(shù)據(jù)的感知和處理并傳送給匯節(jié)點;控制中心通過網絡獲取采集到的相關信息,實現(xiàn)對現(xiàn)場的有效控制和管理。分布在傳感器網絡中的匯節(jié)點主要用于接收傳感器節(jié)點的數(shù)據(jù)上報,并將其進行融合處理,傳給無線通信數(shù)據(jù)傳輸模塊,通過網絡傳遞給中央信息控制中心。ZigBee模塊與MCU之間的連接是通過異步串行口實現(xiàn)的,它們之間的通信速度為38.4kB/s,MCU控制通信模塊完成匯節(jié)點和中央控制中心的通信,由于傳感器網絡中分布著多個匯節(jié)點,因此16位MCU要利用軟件中斷實現(xiàn)對不同ID匯節(jié)點上傳數(shù)據(jù)輪詢掃描,使匯節(jié)點的數(shù)據(jù)可以有序、完整地通過MCU處理后傳出。匯節(jié)點在此傳感器網絡中充當?shù)氖莻鞲衅鞴?jié)點和網絡之間的關。第3章硬件電路的設計3.1芯片CC2430簡介CC430是一顆真正的系統(tǒng)芯片(SOC)CMOS解決方案,這種方案能夠提高性能并滿足ZigBee為基礎的2.4GHzISM波段應用對低成本、低功耗的要求。它包括了一個高性能的2.4GHzDSSS(直接序列)射頻收發(fā)器核心和一顆工業(yè)級小巧高效的8051控制器。CC2430芯片延用了以往CC2420芯片的架構,在單個芯片上整合了ZigBee射頻(RF)前端、內存和微控制器。它使用1個8位MCU(8051),具有128KB可編程閃存和8KB的RAM,還包含模擬數(shù)字轉換器(ADC)、幾個定時器(Timer)、AES128協(xié)同處理器、看門狗定時器(Watchdogtimer)、32kHz晶振的休眠模式定時器、上電復位電路(PowerOnReset)、掉電檢測電路(Brownoutdetection),以及21個可編程I/O引腳。CC2430芯片采用0.18μmCMOS工藝生產;在接收和發(fā)射模式下,電流損耗分別低于27mA或25mA。CC2430的休眠模式和轉換到主動模式的超短時間的特性,特別適合那些要求電池壽命非常長的應用。CC2430電路原理圖詳見附錄I所示圖3-1CC2430ZigBee芯片3.1.1CC2430的功能特性(1)高性能和低功耗的8051微控制器核。(2)集成符合標準的2.4GHz的RF無線電收發(fā)機。(3)優(yōu)良的無線接收靈敏度和強大的抗干擾性。(4)在休眠模式時僅0.9μA的流耗,外部的中斷或RTC能喚醒系統(tǒng);在待機模式時少于0.6μA的流耗,外部的中斷能喚醒系統(tǒng)。(5)硬件支持CSMA/CA功能。(6)較寬的電壓范圍(2.0~3.6V)。(7)數(shù)字化的RSSI/LQI支持和強大的DMA功能。(8)具有電池監(jiān)測和溫度感測功能。(9)集成了14位模數(shù)轉換的ADC。(10)集成AES安全協(xié)處理器。(11)帶有2個強大的支持幾組協(xié)議的USART,以及1個符合規(guī)范的MAC計時器,1個常規(guī)的16位計時器和2個8位計時器。(12)強大和靈活的開發(fā)工具。3.1.2CC2430的引腳及分布描述CC2430芯片采用7mm×7mmQLP封裝,共有48個引腳。全部引腳可分為I/O端口線引腳、電源線引腳和控制線引腳三類。(1)I/O端口線引腳功能CC2430有21個可編程的I/O口引腳,P0、P1口是完全的8位口,P2口只有5個可使用的位。通過軟件設定一組SFR寄存器的位和字節(jié),可使這些引腳作為通常的I/O口或作為連接ADC、計時器或USART部件的外圍設備I/O口使用。I/O口有下面的關鍵特性:可設置為通常的I/O口,也可設置為外圍I/O口使用。在輸入時有上拉和下拉能力。全部21個數(shù)字I/O口引腳都具有響應外部的中斷能力。如果需要外部設備,可對I/O口引腳產生中斷,同時外部的中斷事件也能被用來喚醒休眠模式。(2)電源線引腳功能:為芯片各個部分電路、模塊提供電壓。(3)控制線引腳功能:提供電阻、正負射頻信號、為晶振提供信號。CC2430引腳描述詳見附錄II所示圖3-2CC2430芯片引腳3.2硬件應用電路設計電路使用一個非平衡天線,連接非平衡變壓器可使天線性能更好。電路中的非平衡變壓器由電容C341和電感L341、L321、L331以及一個PCB微波傳輸線組成,整個結構滿足RF輸入/輸出匹配電阻(50Ω)的要求。內部T/R交換電路完成LNA和PA之間的交換。R221和R261為偏置電阻,電阻R221主要用來為32MHz的晶振提供一個合適的工作電流。用1個32MHz的石英諧振器(XTAL1)和2個電容(C191和C211)構成一個32MHz的晶振電路。用1個32.768kHz的石英諧振器(XTAL2)和2個電容(C441和C431)構成一個32.768kHz的晶振電路。電壓調節(jié)器為所有要求1.8V電壓的引腳和內部電源供電,C241和C421電容是去耦合電容,用來電源濾波,以提高芯片工作的穩(wěn)定性。CC2430模塊原理圖詳見附錄I圖3-3硬件應用電路3.3網絡協(xié)調器電路無線網絡報警系統(tǒng)網絡協(xié)調器電路需要顯示當前環(huán)境的狀態(tài),所以網絡協(xié)調器由CC2430、串口部分、按鍵和液晶組成。電路框圖如圖5-4所示。圖3-4網絡協(xié)調器電路框圖3.4RFD節(jié)點電路該節(jié)點可以檢測自己所處環(huán)境的溫度,并可以掃描按鍵值,然后發(fā)送給主機。同時增加了串口的擴展接口,若外接一個RS-232模塊,就可以把數(shù)據(jù)上傳到計算機上了。圖3-5節(jié)點電路原理框圖3.5溫度傳感器的構建3.5.1DS1820的特性獨特的單線接口僅需一個端口引腳進行通訊;簡單的多點分布應用;無需外部器件;可通過數(shù)據(jù)線供電;零待機功耗;測溫范圍-55~+125℃,以0.5℃遞增。華氏器件-67~+2570F,以0.90F遞增,溫度以9位數(shù)字量讀出;溫度數(shù)字量轉換時200ms(典型值);用戶可定義的非易失性溫度報警設置;報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件;應用包括溫度控制、工業(yè)系統(tǒng)消費品、溫度計或任何熱感測系統(tǒng).圖3-6DS1820方框圖圖3-7DS1820封裝DS1820引腳及功能:NC:空GND:地;DQ:數(shù)據(jù)輸入/輸出腳(單線接口,可作寄生供電);VDD:電源電壓。3.5.2DS1820的工作原理DS1820測溫原理:用一個高溫度系數(shù)的振蕩器確定一個門周期,內部計數(shù)器在這個門周期內對一個低溫度系數(shù)的振蕩器的脈沖進行計數(shù)來得到溫度值。計數(shù)器被預置到對應于-55℃的一個值。如果計數(shù)器在門周期結束前到達0,則溫度寄存器(同樣被預置到-55℃)的值增加,表明所測溫度大于-55℃。同時,計數(shù)器被復位到一個值,這個值由斜坡式累加器電路確定,斜坡式累加器電路用來補償感溫振蕩器的拋物線特性。然后計數(shù)器又開始計數(shù)直到0,如果門周期仍未結束,將重復這一過程。斜坡式累加器用來補償感溫振蕩器的非線性,以期在測溫時獲得比較高的分辨力。這是通過改變計數(shù)器對溫度每增加一度所需計數(shù)的的值來實現(xiàn)的。因此,要想獲得所需的分辨力,必須同時知道在給定溫度下計數(shù)器的值和每一度的計數(shù)值。DS1820內部對此計算的結果可提供0.5℃的分辨力。溫度以16bit帶符號位擴展的二進制補碼形式讀出,表1給出了溫度值和輸出數(shù)據(jù)的關系。數(shù)據(jù)通過單線接口以串行方式傳輸。DS1820測溫范圍-55℃~+125℃,以0.5℃遞增。如用于華氏溫度,必須要用一個轉換因子查找表。注意DS1820內溫度表示值為1/2℃LSB,如下所示9bit格式:3.5.3溫度檢測系統(tǒng)原理及程序流程圖溫度檢測系統(tǒng)采用寄生電源供電方式。為保證在有效的DS1820時鐘周期內,提供足夠的電流,我們用一個MOSFET管和89C51的一個I/O口(P1.0)來完成對DS1820總線的上拉。當DS1820處于寫存儲器操作和溫度A/D變換操作時,總線上必須有強的上拉,上拉開啟時間最大為10μs。采用寄生電源供電方式時VDD必須接地。由于單線制只有一根線,因此發(fā)送接收口必須是三態(tài)的,為了操作方便我們用89C51的P1.1口作發(fā)送口Tx,P1.2口作接收口Rx。通過試驗我們發(fā)現(xiàn)此種方法可掛接DS1820數(shù)十片,距離可達到50米,而用一個口時僅能掛接10片DS1820,距離僅為20米。同時由于讀寫在操作上是分開的故不存在信號競爭問題。無論是單點還是多點溫度檢測,在系統(tǒng)安裝及工作之前,應將主機逐個與DS1820掛接,讀出其序列號。其工作過程為:主機Tx發(fā)一個脈沖,待“0”電平大于480μs后,復位DS1820,待DS1820所發(fā)響應脈沖由主機Rx接收后,主機Tx再發(fā)讀ROM命令代碼33H(低位在前),然后發(fā)一個脈沖(15μs)并接著讀取DS1820序列號的一位。用同樣方法讀取序列號的56位。對于圖3-8系統(tǒng)的DS1820操作的總體流程圖如圖3-9所示。它分三步完成:①系統(tǒng)通過反復操作,搜索DS1820序列號;②啟動所有在線DS1820做溫度A/D變換;③逐個讀出在線DS1820變換后的溫度數(shù)據(jù)。主機啟動溫度變換并讀取溫度值的詳細流程圖如圖3-10所示;主機寫入存儲器數(shù)據(jù)詳細流程圖如3-11所示。圖4-8寄生電源供電的DS1820溫度檢測系統(tǒng)DS1820的通信程序詳見附錄VIII圖3-9對DS1820操作的總體流程圖圖3-10主機啟動溫度變換并讀溫度值圖3-11主機寫入數(shù)據(jù)流程圖第4章ZigBee無線傳感器系統(tǒng)軟件的設計4.1系統(tǒng)程序設計系統(tǒng)初始化主要包括節(jié)點定義和各參數(shù)初始化。ZigBee包含全功能設備FFD和精簡功能設備RFD。程序根據(jù)應用要求定義節(jié)點是FFD還是RFD,從而確定節(jié)點性質。參數(shù)初始化主要包括I/O接口和外設的初始化,定義系統(tǒng)的時鐘信號、工作頻率、電源管理方式及ZigBee網絡層和MAC層的參數(shù),如網絡地址、節(jié)點所屬接口、集群等。主程序主要包括信號的采集、計算處理、數(shù)據(jù)收發(fā)以及組網功能,可充分利用CC2430豐富的中斷資源對各種類型的事件進行排序和處理。開始開始定義節(jié)點屬性定義始終定義節(jié)點頻率定義電源模式I/O初始化外設初始化定義網絡地址和參數(shù)定義節(jié)點屬性、接口通道選擇、開終端建立配置文件可運行主程序?進入主程序YN圖4-1系統(tǒng)初始化圖4-2系統(tǒng)主程序4.2協(xié)議棧協(xié)議棧是使用C語言編寫的,協(xié)議棧使用閃存程序存儲器來存儲可配置的MAC地址、網絡表和綁定表。用戶應用程序ZigBee設備對象應用層應用支持子層網絡層MAC層物理層圖4-3協(xié)議棧構架協(xié)議棧根據(jù)ZigBee規(guī)范的定義將其邏輯分為多個層。實現(xiàn)每個層的代碼位于一個獨立的源文件中,而服務和應用程序接口(API)則在頭文件中定義。要實現(xiàn)抽象性和模塊性,頂層總是通過定義完善的API和緊接著的下一層進行交互,該層的C頭文件定義該層所支持的所有API。應用程序總是與應用層(APL)和應用支持子層(APS)接口,APL模塊提供高級協(xié)議棧管理功能,用戶應用程序使用此模塊來管理協(xié)議棧功能。APS層主要提供ZigBee端點接口。應用程序將使用該層打開或關閉一個或多個端點并且獲取或發(fā)送數(shù)據(jù)。它還為鍵值對(KVP)和報文(MSG)數(shù)據(jù)傳輸提供了原語。當首次對協(xié)調器編程時綁定表為空,主應用程序必須調用正確的綁定API來創(chuàng)建新的綁定項。APS還有一個間接發(fā)送緩沖器RAM,用來存儲間接幀,直到目標接收者請求這些幀為止。MAC_MAX_DATA_REQ_PERIOD編譯時間選項定義了確切的請求時間。節(jié)點請求數(shù)據(jù)時間越長,數(shù)據(jù)包需要保存在間接發(fā)送緩沖器里的時間也越長,數(shù)據(jù)請求時間越長需要的間接緩沖空間越大。網絡層(NWK)負責建立和維護網絡連接,它獨立處理傳入數(shù)據(jù)請求、關聯(lián)、解除關聯(lián)和孤立通知請求。ZigBee設備對象(ZDO)負責接收和處理遠程設備的不同請求。介質訪問控制(MAC)層實現(xiàn)了IEEE規(guī)范所要求的功能,并負責同物理(PHY)層進行交互。4.3網絡節(jié)點的軟件設計網絡節(jié)點主要負責采集傳感器數(shù)據(jù)并將這些數(shù)據(jù)傳送給協(xié)調器(控制器),同時接收來自協(xié)調器(控制器)的數(shù)據(jù)并根據(jù)這些數(shù)據(jù)進行相關操作。網絡節(jié)點上電后掃描所有可用信道來找到臨近協(xié)調器,申請加入此網絡。由于采用電池供電方式,必須要保證終端節(jié)點的低功耗,設計中采用定時喚醒的方式連接協(xié)調器,接收或發(fā)送數(shù)據(jù)。其它時間則轉入休眠模式,節(jié)點功耗降到最低。圖4-4網絡節(jié)點軟件流程4.4控制器的軟件設計作為網絡中的協(xié)調器,按功能可分為兩個部分:網絡創(chuàng)建與管理功能;數(shù)據(jù)傳輸功能。網絡創(chuàng)建與管理功能主要是負責組建ZigBee網絡,分配網絡地址及維護綁定表。協(xié)調器通過掃描一個空信道來創(chuàng)建一個新網絡,維護一個目前連接設備的列表,支持獨立掃描程序來確保以前的連接設備能夠重新加入網絡。數(shù)據(jù)傳輸功能主要是充當ZigBee網絡與RS485總線之間的網關,將兩個使用不同協(xié)議的網絡連接在一起,對兩個網絡中的使用不同傳輸協(xié)議的數(shù)據(jù)進行互相的轉換。圖4-5控制器軟件流程圖4.5串口通信4.5.1信道選擇IEEE為2.4GHz頻段分配了16個信道,從2405MHz到2480MHz,每5MHz有一個信道,提供250kb/s的傳輸速率。信道頻率的計算公式為(4-1)為減少成本,系統(tǒng)僅使用一個信道來創(chuàng)建多條虛擬鏈路。為避免k=18時(2440MHz)與藍牙的2437MHz頻率在傳輸數(shù)據(jù)時發(fā)生沖突,取k=20(2450MHz)。4.5.2幀格式系統(tǒng)通信采用了IEEE可變幀長的幀格式,如表1所示。同步頭(SHR)包含前導序列和SFD。幀控制字段(FCF)、數(shù)據(jù)序列號、地址信息、MAC有效載荷與幀檢測序列(FCS)一起構成了MAC協(xié)議數(shù)據(jù)單元(MPDU)。前導序列被定義為4Byte的0X00,SFD為1Byte,設為0XA7。在接收模式時,同步頭用于同步和頻偏校正。長度字段定義了MPDU中的字節(jié)數(shù),在發(fā)送模式中被用于下溢探測。0~20Byte的地址信息用以標志各個節(jié)點。幀有效載荷長度可變。FCS中第一個字節(jié)為8bit接收信號強度指標(RSSI)值,最后一個字節(jié)包含接收到的長度字段和MPDU最前面8個符號的平均相關值。這個相關值可被作為計算鏈路質量指示(LQI)的要素。表4-1幀格式前導序列幀開始分隔符幀長度幀控制序列號地址信息有效載荷幀檢測序列4Byte1Byte1Byte2Byte1Byte10~20ByteNByte2ByteSHRPHRMPDUMHRMA載荷MFR4.5.3控制字CC2430包括了較多的自定義SFR寄存器,如何使用好這些SFR寄存器較為關鍵。在對USART的控制操作中,CC2430內部集成的USART的控制寄存器和狀態(tài)寄存器分別是UxUCR和UxCSR(其中x可取值為0和1,表示CC2430集成的兩USART中的一個)。UxCSR狀態(tài)字格式和UxUCR控制字格式如表1所示。用這兩個寄存器可完成USART的基本設置,如:SETU0CSR.MODE;選擇USART0為UART模式SETU0CSR.RE;允許USART0接收數(shù)據(jù)MOVU0UCR,#1FH;設置UART的幀格式。此格式為奇偶校驗有效,一幀為9位,第9位為偶校驗,停止位為高電平,且接收器校驗兩位停止位,開始位為高電平。CC2430串口波特率的設置與一般8051不同,因為其內部集成了一個波特率發(fā)生器,因此,不需要使用定時器而只需設置相關的SFR寄存器UxBAUD.BAUD_M[7:0]和UxGCR.BAUD[4:0],便可得到系統(tǒng)要求的波特率,其關系式如下:(4-2)其中,F(xiàn)為系統(tǒng)時鐘頻率。若F為32MHz,執(zhí)行下列語句,得到9600b/s的串口波特率:MOVU0GCR,#08HMOVU0BAUD,#3BH;設置波特率為9600b/s實際上對USART的操作還包含對其所連接的I/O口的設置。設置I/O應與硬件密切結合,如:MOVP1SEL,#30H;選擇P1.5,P1.4為外部功能口MOVP1DIR,#20H;選擇P1.5為輸出口,P1.4為輸入口CLRP1FGCLRP1FG;清空P1口的中斷標志MOVP2SEL,#00H;設置USART0為優(yōu)4.6各功能部件的程序流程及程序4.6.1格式化星狀網絡在ZigBee協(xié)議棧里,只需要進行相關網絡參數(shù)的定義,然后再調用函數(shù)aplFormNetwork(),即可以建一個新的網絡。所示如下:#defineLRWPAN_DEFAULT_START_CHANNEL11//定義頻號#defineLRWPAN_DEFAULT_PANID0x1347//定義網絡號若要把設備初始化為網絡協(xié)調器,那么首先網絡管理層請求MAC層執(zhí)行一個能量檢測掃描,然后在所反應的信道上執(zhí)行主動掃描。在主機掃描完成以后,網絡管理層從MAC層接收到返回信號后,選擇一個合適的信道。若應用層已經確定了PANID不會與所選擇的現(xiàn)有網絡PANID參數(shù)產生沖突。若存在沖突,那么,若有可能則從給定的信道中選擇另外一個信道,在這個信道中。所給定的個域網絡標識符PANID不與信道中的其他網絡沖突;若選取不到合適的相信到,則網絡層就會返回建立失敗信息。一旦合適的信道和個域網標識符PANID確定后,網絡管理實體將選擇0x0000作為16位的短MAC地址,并告知MAC層。4.6.2加入和開始ZigBee網絡當一個RFD節(jié)點初始化完成之后,如果此時在其高頻覆蓋范圍內有一個網絡協(xié)調器處于正常工作狀態(tài),而RFD節(jié)點又與該網絡協(xié)調器同頻時,可以調用aplJoinNetwork()函數(shù)加入當前的網絡協(xié)調器。首先RFD節(jié)點上電后掃描網絡中是否有網絡協(xié)調器存在。若此時主機存在,主機就會自動應答RFD節(jié)點,當RFD節(jié)點收到主機的3次應答信號后,RFD節(jié)點就向網絡協(xié)調器發(fā)送自己的64位物理地址。之后網絡協(xié)調器收到RFD發(fā)送上來的64位物理地址后,根據(jù)加入的點后給RFD節(jié)點分配16位的短網絡地址。此時RFD節(jié)點加入網絡成功。4.6.3液晶驅動C51程序在進行主程序之前,要先了解系統(tǒng)中的液晶擴展的地板的液晶驅動程序。液晶只需要用SPI方式直接寫入就行了,程序見附錄III。4.6.4遙控器和主機按鍵電路與程序按鍵采用ADC采樣和直接讀點評兩種方式,直接采集可以掛到中斷I\O口。通過幾個電阻分壓,可以判斷按鍵值。halAdcSampleSingle(ADC_REF_AVDD,ADC_INPUT_JOYSTICK)為ADC采樣函數(shù)。程序見附錄IV。4.6.5網絡協(xié)調器在網絡協(xié)調器中首先初始化CC2430和液晶,然后程序開始初始化協(xié)議棧并打開中斷。之后程序開始格式化一個網絡,若網絡格式化成功,可以在液晶上或是通過串口看到格式化網絡的信息。初始化建立一個新的網絡初始化建立一個新的網絡顯示網絡的ID號,頻道號等進入無線監(jiān)控狀態(tài)空中有無線信號?顯示溫度值和按鍵提示無信號有節(jié)點申請加入網絡網絡中節(jié)點溫度和按鍵信號給該節(jié)點分配網絡號4.6.6RFD節(jié)點對于一個RFD,只能加入一個網絡,因此,只有沒有加入過網絡的才能進行網絡加入。在這些設備中,有些是曾經加入過網絡,但是卻與它的父節(jié)點喪失聯(lián)系,這樣的被稱為孤兒節(jié)點。在它的相鄰表中存有元父節(jié)點的信息,于是它可以直接給原父節(jié)點發(fā)送加入網絡的請求信息。如果父節(jié)點有能力同意它加入,于是直接告知它的以前被分配的網絡地址,它便入網成功;如果此時他原來的父節(jié)點的網絡中,子節(jié)點數(shù)已達最大值,父節(jié)點便無法批準它加入,它只能以新節(jié)點身份重新尋找并加入網絡。對于新節(jié)點來說,它首先會掃描周圍它可找到的網絡,尋找有能批準自己加入網絡的父節(jié)點,并把可以找到的所有父節(jié)點的資料存入自己的相鄰表。存入相鄰表的父節(jié)點的資料包括ZigBee協(xié)議的版本、堆棧的規(guī)范、PANID和可以加入的信息。在相鄰表中所有的父節(jié)點中選擇一個深度最小的,并對其發(fā)出請求信息,如果出現(xiàn)相同最小深度的兩個以上的父節(jié)點信息,那么隨機選取一個發(fā)送請求。如果相鄰表中沒有合適的父節(jié)點信息,那么表示入網失敗,終止過程。如果發(fā)出的請求被批準,那么父節(jié)點同時會分配給它一個16位的網絡地址,此時入網成功,子節(jié)點可以開始通信。如果請求失敗,那么重新查找相鄰表,繼續(xù)發(fā)送請求信息,直到加入網絡或者相鄰表中沒有了合適的父節(jié)點。圖4-9RFD節(jié)點流程圖4.6.7重要函數(shù)(1)此函數(shù)為RFD節(jié)點采集溫度值和按鍵掃描值,并把數(shù)據(jù)發(fā)送給網絡協(xié)調器。RFD節(jié)點每隔一段時間采集一次溫度值和掃描一次按鍵值,然后把數(shù)據(jù)發(fā)送給網絡協(xié)調器,并開始接手應答。若發(fā)送成功,RFD節(jié)點回到空閑狀態(tài);若發(fā)送不成功,RFD節(jié)點滿上重新采集一次數(shù)據(jù)再發(fā)送給主機,知道發(fā)送成功。平時節(jié)點大多處在空閑狀態(tài)。程序調用aplSendMSG()函數(shù)發(fā)送數(shù)據(jù),這里的發(fā)送地址為網絡地址0x0000,表示發(fā)送給網絡協(xié)調器,發(fā)送數(shù)據(jù)的字節(jié)數(shù)為2,分別為一個按鍵值和一個溫度值。程序見附錄V。(2)函數(shù)為網絡協(xié)調器或RFD節(jié)點接收到數(shù)據(jù)后從串口輸出數(shù)據(jù)的函數(shù)。串口輸出包括發(fā)送數(shù)據(jù)模塊的網絡號、接收信號RSSI值、接收數(shù)據(jù)等。而網絡協(xié)調器則還會在液晶顯示上收到數(shù)據(jù)的信息。如果收到的是第一個加入網絡的RFD節(jié)點發(fā)送的數(shù)據(jù),則把溫度值顯示在第2頁,此時若按鍵值為0x24,則在每一頁顯示“1#:Helpme!”,表示需要幫助。此時課在網絡協(xié)調器上按上鍵清除顯示的求助信號。若收到的是第2個加入網絡的RFD節(jié)點發(fā)送的數(shù)據(jù),則把溫度值顯示在第4頁,此時若按鍵值為0x24,則每3頁顯示“2#,Helpme!”,此時可在網絡協(xié)調器上按下鍵清除顯示的求助信號。程序見附錄VI。4.6.8主程序在網絡協(xié)調器中首先初始化CC2430和液晶,然后程序開始初始化協(xié)議棧并打開中斷。之后程序開始格式化一個網絡,若網絡格式化成功,可以在液晶上或是通過串口看到格式化網絡的信息。通過串口57600,8,N,1可以在串口調試助手中看到網絡協(xié)調器的無力地址、現(xiàn)在簡歷網絡的網絡ID號和頻道號等。之后程序開始進入應用層,處理函數(shù)apsFSM()檢測空中的ZigBee信號。如果現(xiàn)在有RFD或路由節(jié)點加入網絡,則液晶和串口輸出都會顯示有新的RFD或路由節(jié)點加入網絡,并顯示加入網絡節(jié)點的無力地址,此時網絡協(xié)調器給節(jié)點分配網絡地址。同樣在函數(shù)apsFSM()里接收RFD節(jié)點發(fā)送過來的溫度值和按鍵值,并在液晶上顯示出來,也同時從串口發(fā)送出來。有節(jié)點加入網絡之后,節(jié)點發(fā)送過來的溫度值和按鍵信號就會被顯示在液晶上。若收到的是第一個加入網絡的RFD節(jié)點發(fā)送的數(shù)據(jù),則把溫度值顯示在第2頁,此時若按鍵值為0x24,則在每一頁顯示“1#:Helpme!”,表示需要幫助。此時課在網絡協(xié)調器上按上鍵清除顯示的求助信號。若收到的是第2個加入網絡的RFD節(jié)點發(fā)送的數(shù)據(jù),則把溫度值顯示在第4頁,此時若按鍵值為0x24,則每3頁顯示“2#,Helpme!”,此時可在網絡協(xié)調器上按下鍵清除顯示的求助信號,且每一次收到的數(shù)據(jù)都會從串口輸出。在RFD節(jié)點程序同樣首先初始化CC2430,然后打開傳感器電源。之后初始化協(xié)議棧,就開始發(fā)送加入網絡信號,等待主機響應,并給自己分配網絡地址。若加入網絡成功,RFD節(jié)點的D2發(fā)光二極管會點亮,若加入失敗則不亮。加入網絡后,RFD就可以向網絡協(xié)調器發(fā)送溫度及按鍵值了。此后程序開始進入循環(huán)調用SendData()函數(shù)發(fā)送溫度值和按鍵值。RFD節(jié)點每隔一段時間采集一次溫度值和掃描一次按鍵值,然后把數(shù)據(jù)包再發(fā)送到網絡協(xié)調器,并開始接收應答。若發(fā)送成功,RFD節(jié)點回到空閑狀態(tài);若發(fā)送不成功,RFD節(jié)點馬上重新采集一次數(shù)據(jù)再發(fā)送給主機,直到發(fā)送成功。程序見附錄VII。第5章系統(tǒng)調試5.1系統(tǒng)開發(fā)環(huán)境及設備IAREmbeddedWorkbench(簡稱EW)的C/C++交叉編譯器和調試器是當今世界最完整和最容易使用的專業(yè)嵌入式應用開發(fā)工具。EW對不同的微處理器提供了一樣直觀的用戶界面。EW包括嵌入式C/C++優(yōu)化編輯器、匯編器、連接定位器、庫管理員、編輯器、項目管理器和C-SPY調試器。使用IAR的編譯器生成最優(yōu)化、最緊湊的代碼,從而節(jié)省硬件資源,最大限度地降低產品成本。系統(tǒng)調試所需設備:1個仿真器、2個CC2430高頻模塊、2個2.4GHz天線1條USB電纜2塊擴展表演板、PC機一臺、EW集成開發(fā)環(huán)境CC2430標準軟件庫。5.2調試步驟5.2.1進入調試選擇菜單Project\Debug或按快捷鍵CTRL+D進入調試狀態(tài),也可按工具欄上的按鈕進入調試。圖5-1進入調試5.2.2窗口管理在IAREmbeddedWorkbench中用戶可以在特定的位置??看翱冢⒗脴撕灲M來管理它們。用于也可以使某個窗口處于懸浮狀態(tài),即讓它始終??吭诖翱诘纳蠈印顟B(tài)欄位于主窗口底部,包含了如何管理窗口的幫助信息。圖5-2程序調試界面5.2.3查看源文件語句StepInto執(zhí)行內部函數(shù)或子進程的調用StepOver每步執(zhí)行一個函數(shù)調用Nextstatement每次執(zhí)行一個語句這些命令在工具欄上都有對應的快捷鍵。5.2.4查看變量C-SPY允許用戶在源代碼中查看變量或表達式,可在程序運行時跟蹤其值的變化。使用自動窗口:選擇菜單View\Auto,開啟窗口。自動窗口會顯示當前被修改過的表達式。連續(xù)步進觀察j的值的變化情況。圖5-3自動串口設置監(jiān)控點:使用Watch窗口來查看變量。選擇菜單View\Watch,打開Watch窗口。點擊Watch窗口中的虛線框,出現(xiàn)輸入區(qū)域時鍵入j并回車。5.2.5設置并監(jiān)控斷點選擇ToggleBreakpoint命令,在i++語句出插入斷點:在編輯窗口選擇要插入斷點的語句,選擇菜單Edit\ToggleBreakpoint。圖5-4設置斷點5.2.6在反匯編模式中調試選擇菜單View\Disassembly,打開反匯編調試窗口,可看到當前C語言語句對應的匯編語言指令。圖5-5匯編模式中調試程序5.2.7監(jiān)控寄存器選擇菜單View\Regisster,打開寄存器窗口。圖5-6寄存器窗口5.2.8監(jiān)控存儲器選擇菜單View\Memory,打開存儲器窗口。打開test.c,選擇j,將它從源代碼窗口拖到存儲器窗口中。圖5-7存儲器窗口5.2.9完整運行程序選擇菜單Debug\Go。如果沒有斷點,程序將一直運行下去??梢钥吹絃ED1間隙點亮。完成之后選擇菜單Debug\StopDebugging退出調試模式。第6章總結本次設計以ZigBeeCC2430芯片和微型數(shù)字溫度傳感器DS18B20相通信實現(xiàn)ZigBee的無線傳感器網絡節(jié)點的組建。把低成本、低功耗的無線ZigBee技術應用于無線網絡,實現(xiàn)了對環(huán)境溫度的自動監(jiān)測控制,提高了系統(tǒng)應用的靈活性,同時也減少了溫度監(jiān)測系統(tǒng)現(xiàn)場布線帶來的各種問題。ZigBee是一門新興的技術,有著巨大的發(fā)展?jié)摿ΑMㄟ^做設計期間的學習,我了解到ZigBee無線傳感器網絡應用市場潛力非常大,可以涉及到人們生活、工作、娛樂、研究等各個方面。以下就如何推廣該技術應用提幾點看法:(1)醫(yī)療領域在醫(yī)院,ZigBee無線網絡可以幫助醫(yī)生及時準確地收集急診病人的信息和檢查結果,快速準確的作出診斷。戴有ZigBee終端的患者可以得到24小時的體溫、脈搏監(jiān)控;配有ZigBee終端的擔架可以遙控電梯門的開關。在醫(yī)院,時間就是生命,ZigBee網絡可以幫助醫(yī)生和患者爭取每一秒的時間。(2)工業(yè)自動化領域在工業(yè)自動化領域,人們可以通過ZigBee網絡實現(xiàn)廠房內不同區(qū)域溫濕度的監(jiān)控;及時得到機器運轉狀況的信息;結合RF標簽,可以方便的統(tǒng)計庫存量。(3)智能建筑領域通過建立完備的ZigBee網絡,智能建筑可以感知隨處可能發(fā)生的火災隱患,及早提供相關信息;根據(jù)人員分布情況自動控制中央空調,實現(xiàn)能源的節(jié)約;及時掌握酒店客房內客人的出入信息,以便在突發(fā)事件時及時準確地發(fā)出通知??傊ㄟ^這次畢業(yè)設計讓我學會了很多新的概念,掌握了新的技術,也為以后的工作打下了基礎。本設計由于能力有限尚有一些錯誤及許多不足之處,懇請各位批評指正。致謝回顧在四川理工學院電子與信息工程系學習的四年,感受頗多。在這四年的求學過程中,我要衷心感謝指導老師——任小洪、梁立飛。感謝他們對我在學習、研究、工作和生活方方面面的悉心指導、熱情鼓勵和關心,讓我在求學的路上逐漸成長,少走了不少彎路。指導老師淵博的知識、實事求是的態(tài)度、嚴謹?shù)闹螌W作風、誨人不倦的教育情懷和對事業(yè)的忠誠,必將使我終身受益,并激勵我勇往直前,在此,特向我的指導老師表示由衷的感謝和崇高的敬意。同時感謝電子與信息工程系的全體老師,他們的教誨讓我有了設計本文的潛力,讓我有了必要的理論基礎,并給我了許許多多的學習機會。感謝師兄師姐師弟師妹們。我們和睦相處,相互幫助,攻克難關,同他們的友誼是我一生的財富。參考文獻[1]凌志浩.ZigBee無線通信協(xié)議的技術支持及其應用前景[M].世界儀表與自動化,2006(1)[2]盛超華,陳章龍.無線傳感器網絡及應用[M].微型電腦應用,2005(6)[3]李文仲,段朝玉.短距離無線數(shù)據(jù)通信入門與實戰(zhàn)[M].北京:北京航空航天大學出版社,2006[4]樓然苗,李光飛.51系列單片機設計實例[M].北京:北京航空航天大學出版社,2006[5]錢春麗,張興敢.用于礦井環(huán)境監(jiān)測的無線傳感器網絡[J].電子技術應用,2006(9)[6]金純,齊巖松,羅祖秋,陳前斌.ZigBee在礦井安全領域的應用[J].煤礦安全,2006(2)[7]馬永強,李靜強,馮立營.基于ZigBee技術的射頻芯片CC2430[J].單片機與嵌入式系統(tǒng),2006(3):45-47.[8]王吉富,馬建倉,盧崇.基于單片機控制射頻芯片CC2420無線通信的實現(xiàn)[J].電子測量技術,2007(5):88-91.[9]凌志浩,周怡頒,鄭麗國.ZigBee無線通信技術及其應用研究[J].華東理工大學學報:自然科學版,2006,32(7):801-805.[10]周祖德.基于網絡環(huán)境的智能控制[M].北京:國防工業(yè)出版社,2004.[11]朱向慶,王建明.ZigBee網絡路由算法測試方案[J].電子測量技術,2006,29(5):142-147.[12]姚引娣.基于ZigBee的無線管理系統(tǒng)設計[J].電子技術應用,2007,33(1):27-29.[13]殷明,汪立偉.基ZigBee技術的通用無線通信模塊設計[J].交通與計算機,2006,5(24):110-112.[14]肖昕宇,戴瑜興.基于ZigBee技術的消防報警定位系統(tǒng)設計[J].消防與安防,2007(4):19-21.[15]ChipconASSmartRFCC2420PreliminaryDatasheet(rev1.2),2004206209.[Z].[16]IEEE802.15.4,WirelessMediumAccessControl(MAC)andPhysicalLayer(PHY)SpecificationsforLow2RateWirelessPersonalArea.(2003)[17]Networks(LR2WPANs)[S]ZigBeeAlliance.Document[EB/OL].(2004-12-15)http://www.zigbee.Org.附錄附錄I附錄II管腳編號信號名稱描述1P1_2具有4mA輸出驅動能力2P1_3具有4mA輸出驅動能力3P1_4具有4mA輸出驅動能力4P1_5具有4mA輸出驅動能力5P1_6具有4mA輸出驅動能力6P1_7具有4mA輸出驅動能力7DVDD為I/O提供2.0~3.6V工作電壓8P1_0具有20mA的驅動能力9P1_1具有20mA的驅動能力10RESET_N復位引腳,低電平有效11P0_0具有4mA輸出驅動能力12P0_1具有4mA輸出驅動能力13P0_2具有4mA輸出驅動能力14P0_3具有4mA輸出驅動能力15P0_4具有4mA輸出驅動能力16P0_5具有4mA輸出驅動能力17P0_6具有4mA輸出驅動能力18P0_7具有4mA輸出驅動能力19XOSC_Q232MHz的晶振引腳220AVDD_SOC為模擬電路連接2.0~3.6V的電壓21XOSC_Q132MHz的晶振引腳1,或外部時鐘輸入引腳22RBIAS1為參考電流提供精確的偏置電阻23AVDD_RREG為模擬電路連接2.0~3.6V的電壓24RREG_OUT為25,27~31,35~40引腳端口提供1.8V的穩(wěn)定電壓25AVDD_IF1為接收器波段濾波器、模擬測試模塊和VGA的第一部分電路提供1.8V電壓26RBIAS2提供精確電阻,43kΩ,±1%27AVDD_CHP為環(huán)狀濾波器的第一部分電路和充電泵提供1.8V電壓28VCO_GUARDVCO屏蔽電路的報警連接端口29AVDD_VCO為VCO和PLL環(huán)濾波器最后部分電路提供1.8V電壓30AVDD_PRE為預定標器、Div2和LO緩沖器提供1.8V的電壓31AVDD_RF1為LNA、前置偏置電路和PA提供1.8V的電壓32RF_P在RX期間向LNA輸入正向射頻信號;在TX期間接收來自PA的輸入正向射頻信號33TXRX_SWITCH為PA提供調整電壓34RF_N在RX期間向LNA輸入負向射頻信號;在TX期間接收來自PA的輸入負向射頻信號35AVDD_SW為LNA/PA交換電路提供1.8V電壓36AVDD_RF2為接收和發(fā)射混頻器提供1.8V電壓37AVDD_IF2為低通濾波器和VGA的最后部分電路提供1.8V電壓38AVDD_ADC為ADC和DAC的模擬電路部分提供1.8V電壓39DVDD_ADC為ADC的數(shù)字電路部分提供1.8V電壓40AVDD_DGUARD為隔離數(shù)字噪聲電路連接電壓41AVDD_DREG向電壓調節(jié)器核心提供2.0~3.6V電壓42DCOUPL提供1.8V的去耦電壓,此電壓不為外電路所使用43P2_4/XOSC_Q2具有4mA輸出驅動能力/32.768kHzXOSC的2.3端口44P2_3/XOSC_Q1具有4mA輸出驅動能力/32.768kHzXOSC的2.4端口45P2_2具有4mA輸出驅動能力46P2_1具有4mA輸出驅動能力47DVDD為I/O端口提供2.0~3.6V的電壓48P2_0具有4mA輸出驅動能力附錄III液晶驅動C51程序*********************************************************************#defineLCD_RSTP2_0#defineLCD_RSP1_1#defineLCD_CLKP1_5#defineLCD_SDOP1_6#defineLCD_CSP1_4*********************************************************************//函數(shù)名:voidLCDwritecom(int8ucom)//功能:lcd寫指令//輸入:com指令//輸出:無//描述:液晶只需要用SPI直接方式寫入就行課,這就是液晶的寫命令和寫數(shù)據(jù)程序*********************************************************************voidLcdwritecom(INT8Ucom){INT8Ui,temp;LCD_CLK=0;LCD_CS=0;LCD_RS=0;temp=com;for(i=0;i<8;i++){if(temp&0x80){LCD_SDO=1;}elseLCD_SDO=0;temp<<=1;LCD_CLK=1;LCD_CLK=0;}LCD_CS=1;}*********************************************************************//函數(shù)名:voidLCDwritedata(int8udat)//功能:lcd//輸入:dat數(shù)據(jù)//輸出:無*********************************************************************voidLcdwritedata(int8udat){int8uI,temp;LCD_CS=0;LCD_RS=1;temp=dat;for(i=0;i<8;i++){if(temp&0x80){LCD_SDO=1;}elseLCD_SDO=0;temp<<=1;LCD_CLK=1;LCD_CLK=0;}LCD_CS=1;}*********************************************************************//函數(shù)名:voidClearScreen(void)//功能:清屏//輸入:無 //輸出:無//描述:清除液晶屏幕程序,可以清除整個屏幕的顯示,其中SetRamAddr(i,0)為液晶顯示位置函數(shù)*********************************************************************voidClearScreen(void){int8ui,j;for(i=0;i<PageNo:i++){SetRamAddr(i,0);//液晶顯示位置調整for(j=0;j<ColNo;j++)Lcdwritedata(0x00);}}*********************************************************************//函數(shù)名:voidPrint6(int8uxx,int8uyy,int8uch1[],int8uyn)//功能:顯示6*8字符串//輸入:xx,yy坐標,ch1待顯示的字符串,yn是否反黑//輸出:無//描述:這是在指定位置與6*8的字符串。SetRamAddr(xx,yy)為液晶開始的顯示位置,調整了之后,字符串從這里開始顯示,直到換FontSystem6*8[]為6*8的點陣字模*********************************************************************voidPrint(int8uxx,int8uyy,int8ucha1[],int8uyn){int8uii=0;Int8ubb=0;unsignedintindex=0;SetRamAddr(xx,yy);While(ch1[bb]!=’\0’){index=(unsignedint)(cha1[bb]-0x20);index=(unsignedint)index*6;for(ii=0;ii<6;ii++){if(yn){LCDwritedata(FontSystem6x6[index]);}else{LCDwritedata(~FontSystem6x6[index])}index+=1;}bb+=1;}*********************************************************************附錄IV遙控器和主機按鍵電路與程序#defineK_UP0x20#defineK_DOWN0x21#defineK_LIFT0x22#define
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆吉林省吉林市長春汽車經濟開發(fā)區(qū)第六中學高一化學第二學期期末聯(lián)考試題含解析
- 北京市首都師大附中2025年化學高二下期末檢測試題含解析
- 獸醫(yī)執(zhí)業(yè)注冊管理辦法
- 材料使用取貨管理辦法
- 出口專用標簽管理辦法
- 醫(yī)保藥房售賣管理辦法
- 學術質量評估
- 網絡教學系統(tǒng)設計與實施方案
- 江蘇徐州地名管理辦法
- 機型數(shù)量評審管理辦法
- 社會救助政策培訓
- DB3702-T 0009-2020 市民訴求數(shù)據(jù)分析與應用規(guī)范
- 坐大巴車安全教育
- 廣西建設職業(yè)技術學院博士高層次人才招考聘用高頻重點提升(共500題)附帶答案詳解
- 軍事訓練傷病預防
- 阿爾伯特;哈伯德-把信送給加西亞
- 2025中級消防設施操作員作業(yè)考試題及答案(1000題)
- 鐵路貨物運價規(guī)則
- 病房突發(fā)事件的應急與處理
- 光伏項目運維服務承包合同5篇
- 小學期末科學質量分析
評論
0/150
提交評論