串口調(diào)試打印設(shè)計(jì)_第1頁(yè)
串口調(diào)試打印設(shè)計(jì)_第2頁(yè)
串口調(diào)試打印設(shè)計(jì)_第3頁(yè)
串口調(diào)試打印設(shè)計(jì)_第4頁(yè)
串口調(diào)試打印設(shè)計(jì)_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余13頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、串口調(diào)試打印設(shè)計(jì)1.需求分析1.1系統(tǒng)背景隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)與無線通信技術(shù)的迅速發(fā)展,人們開始將無線網(wǎng)絡(luò)技術(shù)與傳感器技術(shù)相結(jié)合,無線傳感器網(wǎng)絡(luò)(WSN,wireless sensor network應(yīng)運(yùn)而生。它由部署在監(jiān)測(cè)區(qū)域內(nèi)大量的微型傳感器節(jié)點(diǎn)組成,通過無線的方式形成的一個(gè)多跳的自組織網(wǎng)絡(luò),不僅可以接入In ternet,還可適用于有線接入方式所不能勝任的場(chǎng)合,提供優(yōu)質(zhì)的數(shù)據(jù)傳輸服務(wù)。微機(jī)電系統(tǒng)(MEMS,Micro-Electro-Mecha nical Systems)、超大規(guī)模集成電路技術(shù)(VLSI , Very-Large-Scale-Integration systems)

2、和無線通信技術(shù)的飛速發(fā)展,使得它的應(yīng) 用空間日趨廣闊,遍及軍事、民用、科研等領(lǐng)域;但由于網(wǎng)絡(luò)結(jié)點(diǎn)自身固有的通 信能力、能量、計(jì)算速度及存儲(chǔ)容量等方面的限制,對(duì)無線傳感器網(wǎng)絡(luò)的研究具 有很大的挑戰(zhàn)性和寬廣的空間。作為一種無線通信技術(shù) ZigBee具有如下特點(diǎn):(1) 低功耗:由于ZigBee的傳輸速率低,發(fā)射功率僅為1mW,而且采用 了休眠模式,功耗低,因此ZigBee設(shè)備非常省電。據(jù)估算 ZigBee設(shè)備僅靠?jī)?節(jié)5號(hào)電池就可以維持長(zhǎng)達(dá) 6個(gè)月到2年左右的使用時(shí)間,這是其它無線設(shè) 備望塵莫及的。(2) 成本低:ZigBee模塊的初始成本在6美元左右,估計(jì)很快就能降到1.52.5美元,并且Zig

3、Bee協(xié)議是免專利費(fèi)的。低成本對(duì)于ZigBee也是一個(gè)關(guān)鍵的因素。(3) 時(shí)延短:通信時(shí)延和從休眠狀態(tài)激活的時(shí)延都非常短,典型的搜索設(shè)備時(shí)延30ms,休眠激活的時(shí)延是15ms,活動(dòng)設(shè)備信道接入的時(shí)延為15ms。因此,ZigBee技術(shù)適用于對(duì)時(shí)延要求苛刻的無線控制(如工業(yè)控制場(chǎng)合等)應(yīng)用。(4) 網(wǎng)絡(luò)容量大:一個(gè)星型結(jié)構(gòu)的Zigbee網(wǎng)絡(luò)最多可以容納 254個(gè)從設(shè)備和一個(gè)主設(shè)備,一個(gè)區(qū)域內(nèi)可以同時(shí)存在最多100個(gè)ZigBee網(wǎng)絡(luò),而且網(wǎng)絡(luò)組成靈活。(5) 可靠:采取了碰撞避免策略,同時(shí)為需要固定帶寬的通信業(yè)務(wù)預(yù)留了專用時(shí)隙,避開了發(fā)送數(shù)據(jù)的競(jìng)爭(zhēng)和沖突。MAC層采用了完全確認(rèn)的數(shù)據(jù)傳輸模式,每個(gè)發(fā)

4、送的數(shù)據(jù)包都必須等待接收方的確認(rèn)信息。如果傳輸過程中出現(xiàn)問題可以進(jìn)行重發(fā)。(6) 安全:ZigBee提供了基于循環(huán)冗余校驗(yàn) (CRC)的數(shù)據(jù)包完整性檢查 功能,支持鑒權(quán)和認(rèn)證,采用了 AES-128的加密算法,各個(gè)應(yīng)用可以靈活確定 其安全屬性。1.2系統(tǒng)目標(biāo)運(yùn)用串口通信原理中的異步串行通信方式, 實(shí)現(xiàn)通過在串口調(diào)試助手的發(fā)送 區(qū)中輸入任意字符串,發(fā)送給 CC2430其接收區(qū)顯示該字符串。一條信息的各位數(shù)據(jù)被同時(shí)傳送的通訊方式稱為并行通訊。并行通訊的特點(diǎn)是:各數(shù)據(jù)位同時(shí)傳送,傳送速度快、效率高,但有多少數(shù)據(jù)位就需多少根數(shù)據(jù) 線,因此傳送成本高,且只適用于近距離,相距數(shù)米的通訊。一條信息的各位數(shù)

5、據(jù)被逐位按順序傳送的通訊方式稱為串行通訊。串行通訊的特點(diǎn)是:數(shù)據(jù)按位順序傳送,最少僅需一根傳輸線即可完 神農(nóng)百草膏成,成本低但傳送速度慢。串行 通訊的距離可以從幾米到幾千米。 根據(jù)信息的傳送方向,串行通訊可以進(jìn)一步分 為單工、半雙工和全雙工三種。信息只能單向傳送為單工,信息能雙向傳送但不 能同時(shí)雙向傳送稱為半雙工,信息能夠同時(shí)雙向傳送則稱為全雙工。1.3系統(tǒng)功能上電后模塊向電腦串口發(fā)出問候語,由串口向模塊發(fā)送不大于30個(gè)字符的字符串,末尾加#結(jié)束,模塊會(huì)返回相同的字符串,波特率為57600。1.4運(yùn)行環(huán)境開發(fā)環(huán)境:IARZigBee 2006 協(xié)議棧 CC2430模 塊 SmartRF04EB

6、仿真器運(yùn)行平臺(tái):Win dows XP操作系統(tǒng)串口調(diào)試助手2系統(tǒng)結(jié)構(gòu)2.1無線傳感器網(wǎng)絡(luò)結(jié)構(gòu)無線傳感器網(wǎng)絡(luò)是一種特殊的 Ad-hoc網(wǎng)絡(luò),它是由許多無線傳感器節(jié)點(diǎn)協(xié) 同組織起來的。這些節(jié)點(diǎn)具有協(xié)同合作、信息采集、數(shù)據(jù)處理、無線通信等功能, 可以隨機(jī)或者特定地布置在監(jiān)測(cè)區(qū)域內(nèi)部或附近, 它們之間通過特定的協(xié)議自組 織起來,能夠獲取周圍環(huán)境的信息并且相互協(xié)同工作完成特定任務(wù)。無線傳感器網(wǎng)絡(luò)典型的體系結(jié)構(gòu)如圖1所示,包括分布式傳感器節(jié)點(diǎn)、網(wǎng)關(guān)、 互聯(lián)網(wǎng)和監(jiān)控中心等。在傳感器網(wǎng)絡(luò)中,各個(gè)節(jié)點(diǎn)的功能都是相同的,它們既是 信息包的發(fā)起者,也是信息包的轉(zhuǎn)發(fā)者。大量傳感器節(jié)點(diǎn)被布置在整個(gè)監(jiān)測(cè)區(qū)域 中,每個(gè)節(jié)點(diǎn)

7、將自己所探測(cè)到的有用信息通過初步的數(shù)據(jù)處理和信息融合之后傳 送給用戶,數(shù)據(jù)傳送的過程是通過相鄰節(jié)點(diǎn)的接力傳送方式傳送給網(wǎng)關(guān),然后再用戶也可以對(duì)網(wǎng)絡(luò)進(jìn)通過互聯(lián)網(wǎng)、衛(wèi)星信道或者移動(dòng)通信網(wǎng)絡(luò)傳送給最終用戶。 行配置和管理,發(fā)布監(jiān)測(cè)任務(wù)以及收集監(jiān)測(cè)數(shù)據(jù)等。*r f F:1q互聯(lián)網(wǎng)、衛(wèi)星或XA移動(dòng)通信網(wǎng)絡(luò)4 b*網(wǎng)關(guān)I監(jiān)控中心0O0OOOO0000OO: *X/S監(jiān)測(cè)區(qū)域0傳感器節(jié)點(diǎn)圖1無線傳感器網(wǎng)絡(luò)體系結(jié)構(gòu)2.2傳感器節(jié)點(diǎn)結(jié)構(gòu)傳感器節(jié)點(diǎn)通常是一個(gè)微型的嵌入式系統(tǒng)。從網(wǎng)絡(luò)功能上看,每個(gè)傳感器節(jié) 點(diǎn)既具有傳統(tǒng)網(wǎng)絡(luò)節(jié)點(diǎn)的終端功能, 又兼具路由器的功能。除了要進(jìn)行本地信息 收集和數(shù)據(jù)處理外,還要對(duì)其他節(jié)點(diǎn)轉(zhuǎn)發(fā)

8、來的數(shù)據(jù)進(jìn)行存儲(chǔ)、管理和融合等處理。一個(gè)傳感器節(jié)點(diǎn)通常由傳感器模塊、 處理器模塊、無線通信模塊和能量供應(yīng) 模塊四部分組成,如圖2所示。傳感模塊負(fù)責(zé)采集監(jiān)測(cè)區(qū)域內(nèi)的有用信息并進(jìn)行 數(shù)據(jù)轉(zhuǎn)換;處理器模塊負(fù)責(zé)控制整個(gè)傳感器節(jié)點(diǎn)的運(yùn)行, 存儲(chǔ)和處理本身采集的 數(shù)據(jù)以及其他節(jié)點(diǎn)發(fā)來的數(shù)據(jù);無線通信模塊負(fù)責(zé)與其他傳感器節(jié)點(diǎn)進(jìn)行無線通 信,交換控制信息和收發(fā)采集到的數(shù)據(jù);能量供應(yīng)模塊為傳感器節(jié)點(diǎn)提供運(yùn)行所 需的能量,通常采用微型電池。傳感器節(jié)點(diǎn)為低功耗設(shè)備,為了最大限度地節(jié)約 電源,在硬件設(shè)計(jì)方面,要盡量采用低功耗器件,處理器通常選用嵌入式CPU射頻單元主要由低功耗、短距離的無線通信模塊組成 ,在沒有通信任

9、務(wù)的時(shí)候, 要切斷射頻部分電源;而且在軟件設(shè)計(jì)方面,各層通信協(xié)議都應(yīng)該以節(jié)能為中心,18必要時(shí)可以犧牲一些網(wǎng)絡(luò)性能指標(biāo),以獲得更高的電源效率。傳感器模塊處理器模塊i 傳感器卜fAC/DC_處理器存儲(chǔ)器11彳NET*BMA”無線收發(fā)器11111 1無線通信模塊圖2傳感器節(jié)點(diǎn)的體系結(jié)構(gòu)2.3無線傳感器網(wǎng)絡(luò)協(xié)議棧無線傳感器網(wǎng)絡(luò)通信協(xié)議主要包括物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層,與互聯(lián)網(wǎng)協(xié)議棧的五層協(xié)議相對(duì)應(yīng)。在低層采用IEEE802.15.4工作組所定義的MACg和物理層協(xié)議,而在MAd以上的協(xié)議則是由Zigbee聯(lián)盟制定。 完整的Zigbee協(xié)議棧模型如圖3所示。另外,協(xié)議棧還包括能量管理

10、平臺(tái)、移 動(dòng)管理平臺(tái)和任務(wù)管理平臺(tái)。這些管理平臺(tái)使得傳感器節(jié)點(diǎn)能夠按照能源高效的 方式協(xié)同工作,在節(jié)點(diǎn)移動(dòng)的傳感器網(wǎng)絡(luò)中轉(zhuǎn)發(fā)數(shù)據(jù),并支持多任務(wù)和資源共享。Zigbee Profiles網(wǎng)絡(luò)應(yīng)用層數(shù)據(jù)鏈路層IEEE 802.15.4 LLC802.2 LLCIEEE 802.15.4 MAC868/915 MHZ PHY 2.4 GHZ PHY圖3 Zigbee協(xié)議棧2.4.物理層物理層負(fù)責(zé)載波頻率產(chǎn)生、信號(hào)的調(diào)制解調(diào)等工作。IEEE802.15.4定義了2.4GHz物理層和868/915MH物理層兩個(gè)物理層標(biāo)準(zhǔn),兩個(gè)物理層都基于 DSSS(Direct Sequenee Spread Spec

11、trum, 直接序列擴(kuò)頻),使用相同的物理層數(shù)據(jù) 包格式,區(qū)別在于工作頻率、調(diào)制技術(shù)、擴(kuò)頻碼片長(zhǎng)度和傳輸速率的不同。2.4GHz 頻段有16個(gè)信道,能夠提供250kbps的傳輸速率,物理層采用的是0-QPS調(diào)制; 868MH是歐洲的ISM®段,只用一個(gè)信道,傳輸速率為 20kbps,物理層采用BPSK 調(diào)制;915MH是美國(guó)的ism®段,有10個(gè)信道,傳輸速率為40kbps,物理層采用 的也是BPSI調(diào)制方式。2.5數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層負(fù)責(zé)數(shù)據(jù)成幀、幀檢測(cè)、媒體訪問和差錯(cuò)控制。媒體訪問協(xié)議保 證可靠的點(diǎn)對(duì)點(diǎn)和點(diǎn)對(duì)多點(diǎn)通信,差錯(cuò)控制則保證源節(jié)點(diǎn)發(fā)出的信息可以完整、 無誤地到達(dá)

12、目標(biāo)節(jié)點(diǎn)。就實(shí)現(xiàn)機(jī)制而言,介質(zhì)訪問控制(MAC協(xié)議可分為3類:確定性分配、競(jìng)爭(zhēng)占用和隨機(jī)訪問。前兩者不是傳感器網(wǎng)絡(luò)的理想選擇。因?yàn)門DMA 固定時(shí)隙的發(fā)送模式功耗過大,為了節(jié)省功耗,空閑狀態(tài)應(yīng)關(guān)閉發(fā)射機(jī),競(jìng)爭(zhēng)占 用方案需要實(shí)時(shí)監(jiān)測(cè)信道狀態(tài),也不是一種合理的選擇,隨機(jī)介質(zhì)訪問模式比較 適合于無線傳感網(wǎng)絡(luò)的節(jié)能要求。IEEE802.15.4定義的MA層采用了 CSMA-CA載 波監(jiān)聽多信道接入/避免沖突)協(xié)議的信道共享多點(diǎn)接入技術(shù);為了保證傳輸?shù)?可靠行,還采用了完整的握手協(xié)議。在無線傳感器網(wǎng)絡(luò)中,兩個(gè)主要的錯(cuò)誤控制 模式是前向錯(cuò)誤修正(FEC和自動(dòng)重復(fù)請(qǐng)求(ARQ兩種。2.6網(wǎng)絡(luò)層網(wǎng)絡(luò)層主要負(fù)責(zé)

13、路由生成與路由選擇。網(wǎng)絡(luò)層協(xié)議是無線傳感器網(wǎng)絡(luò)的重要因素,在無線傳感器網(wǎng)絡(luò)中,大多數(shù)節(jié)點(diǎn)是無法直接與網(wǎng)關(guān)進(jìn)行通信的,需要通過中間節(jié)點(diǎn)進(jìn)行多跳路由才能將采集到的數(shù)據(jù)發(fā)送給網(wǎng)關(guān)。針對(duì)無線傳感器網(wǎng)絡(luò)中數(shù)據(jù)傳送的特點(diǎn)和難題,人們提出許多新的路由協(xié) 議。這些路由協(xié)議可以大致分為四類:洪泛式路由協(xié)議、層次式路由協(xié)議、以數(shù) 據(jù)為中心的路由協(xié)議、以及基于位置信息的路由協(xié)議。1.洪泛式路由協(xié)議:這種協(xié)議是一種古老的協(xié)議。它不需要維護(hù)網(wǎng)絡(luò)的拓 撲結(jié)構(gòu)和路由計(jì)算,接收到消息的節(jié)點(diǎn)以廣播形式轉(zhuǎn)發(fā)數(shù)據(jù)包給所有的鄰節(jié)點(diǎn)。 對(duì)于自組織的傳感器網(wǎng)絡(luò),洪泛式路由是一種較直接的實(shí)現(xiàn)方法,但容易帶來消息的“內(nèi)爆” (implosi

14、on )和“重疊”(overlap ),而且它沒有考慮能源方面的 限制,具有“資源盲點(diǎn)” (resource bli ndn ess )的缺點(diǎn)。典型算法為擴(kuò)散法(Flooding )。2層次式路由協(xié)議:它的基本思想是將傳感節(jié)點(diǎn)分簇,簇內(nèi)通訊由簇頭節(jié) 點(diǎn)來完成,簇頭節(jié)點(diǎn)進(jìn)行數(shù)據(jù)聚集和合成減少傳輸信息量,最后簇頭節(jié)點(diǎn)把聚集的數(shù)據(jù)傳送給終端節(jié)點(diǎn)。這種方式能滿足傳感器網(wǎng)絡(luò)的可擴(kuò)展性,有效的維持傳感節(jié)點(diǎn)的能量消耗,從而延長(zhǎng)網(wǎng)絡(luò)生命周期。典型算法為低功耗自適應(yīng)聚類路由 算法(LEACH。LEACH(low energy adaptive clustering hierarchy) LEAC是MIT的Cha

15、 ndrakasan等人為無線傳感器網(wǎng)絡(luò)設(shè)計(jì)的低功耗自適應(yīng)聚類路由算法。與一般 的平面多跳路由協(xié)議和靜態(tài)聚類算法相比,LEAC可以將網(wǎng)絡(luò)生命周期延長(zhǎng)15% 主要通過隨機(jī)選擇聚類首領(lǐng),平均分擔(dān)中繼通信業(yè)務(wù)來實(shí)現(xiàn)。LEAC定義了 “輪” (round)的概念,一輪由初始化和穩(wěn)定工作兩個(gè)階段組成。為了避免額外的處理 開銷,穩(wěn)定態(tài)一般持續(xù)相對(duì)較長(zhǎng)的時(shí)間。在初始化階段,聚類首領(lǐng)是通過下面的機(jī)制產(chǎn)生的。傳感器節(jié)點(diǎn)生成0,1之間的隨機(jī)數(shù),如果大于閾值T,則選該節(jié)點(diǎn)為聚類首領(lǐng)。T的計(jì)算方法如下:T =1 - pr mod(1/ p)其中p為節(jié)點(diǎn)中成為聚類首領(lǐng)的百分?jǐn)?shù),r是當(dāng)前的輪數(shù)。一旦聚類首領(lǐng)被選定, 它們

16、便主動(dòng)向所有節(jié)點(diǎn)廣播這一消息。 依據(jù)接收信號(hào)的強(qiáng)度,節(jié)點(diǎn)選擇它所要加 入的組,并告知相應(yīng)的聚類首領(lǐng)。基于時(shí)分復(fù)用的方式,聚類首領(lǐng)為其中的每個(gè) 成員分配通信時(shí)隙。在穩(wěn)定工作階段,節(jié)點(diǎn)持續(xù)采集監(jiān)測(cè)數(shù)據(jù),傳與聚類首領(lǐng), 進(jìn)行必要的融合處理之后,發(fā)送到sink節(jié)點(diǎn),這是一種減小通信業(yè)務(wù)量的合理工 作模式。持續(xù)一段時(shí)間以后,整個(gè)網(wǎng)絡(luò)進(jìn)入下一輪工作周期,重新選擇聚類首領(lǐng)。3以數(shù)據(jù)為中心的路由協(xié)議:它提出對(duì)傳感器網(wǎng)絡(luò)中的數(shù)據(jù)用特定的描述 方式命名,數(shù)據(jù)傳送基于數(shù)據(jù)查詢并依賴數(shù)據(jù)命名, 所有的數(shù)據(jù)通信都限制局部范圍內(nèi)。這種方式的通信不再依賴特定的節(jié)點(diǎn), 而是依賴于網(wǎng)絡(luò)中的數(shù)據(jù),從而 減少了網(wǎng)絡(luò)中大量傳送的重復(fù)

17、冗余數(shù)據(jù), 降低了不必要的開銷,從而延長(zhǎng)網(wǎng)絡(luò)生 命周期。典型算法為向擴(kuò)散(Directed Diffusi on )。定向擴(kuò)散模型是Estrin等人專門為傳感器網(wǎng)絡(luò)設(shè)計(jì)的路由策略, 與已有的路 由算法有著截然不同的實(shí)現(xiàn)機(jī)制。節(jié)點(diǎn)用一組屬性值來命名它所生成的數(shù)據(jù), 比 如將地震波傳感器生成的數(shù)據(jù)命名為 Type=seismic,id=12,timestamp=02.01.22/21:10:23 ,location=75 - 80S/100- 120E。Sink 節(jié)點(diǎn)發(fā)出 的查詢業(yè)務(wù)也用屬性的組合表示, 逐級(jí)擴(kuò)散,最終遍歷全網(wǎng),找到所有匹配的原 始數(shù)據(jù)。有一個(gè)稱為“梯度”的變量與整個(gè)業(yè)務(wù)請(qǐng)求的擴(kuò)散

18、過程相聯(lián)系,反映了 網(wǎng)絡(luò)中間節(jié)點(diǎn)對(duì)匹配請(qǐng)求條件的數(shù)據(jù)源的近似判斷。更直接的方法是節(jié)點(diǎn)用一組標(biāo)量值表示它的選擇,值越大意味著向該方向繼續(xù)搜索獲得匹配數(shù)據(jù)的可能性越 大,這樣的處理最終將會(huì)在整個(gè)網(wǎng)絡(luò)中為sink節(jié)點(diǎn)的請(qǐng)求建立一個(gè)臨時(shí)的“梯度” 場(chǎng),匹配數(shù)據(jù)可以沿“梯度”最大的方向中繼回sink節(jié)點(diǎn)。圖4描述了定向擴(kuò)散Sink A cA弋oiX。Source(b) Sei up Eradienr<ti)樣臨鬻辻電模型的工作原理。沁 0-001.3oO Source(c) Data t 他15 觸(c)敵搪倍輸 、0OO Bouite Rjequest diffusion(a)試求擴(kuò)fi勺定向擴(kuò)

19、散路由原理把查詢或者數(shù)據(jù)轉(zhuǎn)它利用節(jié)點(diǎn)的位置信息,4基于位置信息的路由協(xié)議:發(fā)給需要的地域,從而縮減數(shù)據(jù)的傳送范圍。實(shí)際上許多傳感器網(wǎng)絡(luò)的路由協(xié)議 都假設(shè)節(jié)點(diǎn)的位置信息為已知,所以可以方便的利用節(jié)點(diǎn)的位置信息將節(jié)點(diǎn)分為 不同的域(region )?;谟蜻M(jìn)行數(shù)據(jù)傳送能縮減傳送范圍緩和中間節(jié)點(diǎn),從而 延長(zhǎng)網(wǎng)絡(luò)生命周期。典型算法為GEA算法。GEAR是充分考慮了能源有效性的基于位置的路由協(xié)議, 它比其他的基于位置 的路由協(xié)議能更好的應(yīng)用于無線傳感器網(wǎng)絡(luò)之中。既然傳感器網(wǎng)絡(luò)中的數(shù)據(jù)經(jīng)常包含了位置屬性信息,那么可以利用這一信息,把在整個(gè)網(wǎng)絡(luò)中擴(kuò)散的信息傳送 到適當(dāng)?shù)奈恢脜^(qū)域中。同樣 GEAR也采用了查詢

20、驅(qū)動(dòng)數(shù)據(jù)傳送模式。它傳送數(shù)據(jù) 分組到目標(biāo)域中所有的節(jié)點(diǎn)的過程包括兩個(gè)階段:目標(biāo)域數(shù)據(jù)傳送和域內(nèi)數(shù)據(jù)傳送。在目標(biāo)域數(shù)據(jù)傳送階段,當(dāng)節(jié)點(diǎn)接收到數(shù)據(jù)分組,它將鄰接點(diǎn)同目標(biāo)域的距 離和它自己與目標(biāo)域的距離相比較,若存在更小距離,則選擇最小距離的鄰接點(diǎn) 作為下一跳節(jié)點(diǎn);若不存在更小距離,則認(rèn)為存在“ hole ”,節(jié)點(diǎn)將根據(jù)鄰居的 最小花銷來選擇下一跳節(jié)點(diǎn)。在域內(nèi)數(shù)據(jù)傳送階段,可通過兩種方式讓數(shù)據(jù)在域內(nèi)擴(kuò)散:在域內(nèi)直接洪泛 和遞歸的目標(biāo)域數(shù)據(jù)傳送直到目標(biāo)域剩下唯一的節(jié)點(diǎn)。GEA將網(wǎng)絡(luò)中擴(kuò)散的信息局限到適當(dāng)?shù)奈恢脜^(qū)域中, 減少了中間節(jié)點(diǎn)的數(shù)量,從 而降低了路由建立和數(shù)據(jù)傳送的能源開銷,從而更有效的提高了網(wǎng)

21、絡(luò)的生命周 期。缺點(diǎn)是依賴節(jié)點(diǎn)的GP定位信息,成本較高。在本實(shí)驗(yàn)中我們采用的是 AOD路由算法(Ad hoc on dema nd dista nee vectored hoc按需距離矢量協(xié)議)。它并不是傳感器網(wǎng)絡(luò)的最佳路由算法。但是 通過它,我們可以了解到傳感器網(wǎng)絡(luò)的一些路由特點(diǎn)。AOD是一個(gè)按需的路由協(xié)議,它只根據(jù)源節(jié)點(diǎn)的需要才建立節(jié)點(diǎn)之間的路 由。在源節(jié)點(diǎn)使用這條路由進(jìn)行網(wǎng)絡(luò)通信時(shí),路由程序會(huì)一直維護(hù)這些路由。AODV 使用序列號(hào)來保證路由的時(shí)效性。它通過一個(gè)路由請(qǐng)求 /路由回應(yīng)的查詢過程來 建立路由。當(dāng)一個(gè)源節(jié)點(diǎn)想要與目標(biāo)節(jié)點(diǎn)通信, 但又不具備到目標(biāo)節(jié)點(diǎn)的有效路 由時(shí),它廣播一個(gè)路由請(qǐng)

22、求報(bào)文(RREQ在RRE報(bào)文中包含了源節(jié)點(diǎn)的IP地址、 源節(jié)點(diǎn)當(dāng)前的序列號(hào)和一個(gè)廣播ID,同時(shí)還包含了源節(jié)點(diǎn)所知道的到目的節(jié)點(diǎn)的 最新路由的序列號(hào)。其它節(jié)點(diǎn)收到這個(gè)報(bào)文時(shí),就在路由表中建立到源節(jié)點(diǎn)的反 向路由,并重新廣播RRE報(bào)文。當(dāng)目標(biāo)節(jié)點(diǎn)收到RRE報(bào)文時(shí),它會(huì)單播一個(gè)路由 回答報(bào)文(RREP給源節(jié)點(diǎn)。如果某一個(gè)中間節(jié)點(diǎn)具有一條到目的節(jié)點(diǎn)的較新路 由(意味著這條路由的序列號(hào)比RRE中的目的節(jié)點(diǎn)的序列號(hào)要大),它也可以直 接給源節(jié)點(diǎn)發(fā)送RRE報(bào)文,而不在廣播RRE報(bào)文。當(dāng)然,如果一個(gè)節(jié)點(diǎn)收到了重 復(fù)的RREQ即具有相同廣播ID的RRE®,它將忽略這個(gè)報(bào)文,而不將其繼續(xù)廣播。在RRE從

23、目的節(jié)點(diǎn)向源節(jié)點(diǎn)傳播的過程中, 沿途的節(jié)點(diǎn)都在各自的路由表中 設(shè)定了到目的節(jié)點(diǎn)的正向路由。當(dāng)源節(jié)點(diǎn)收到RRE報(bào)文之后,就可以開始向目的 節(jié)點(diǎn)發(fā)送數(shù)據(jù)包。如果源節(jié)點(diǎn)在之后又再次收到RREP并且RRE中的目標(biāo)節(jié)點(diǎn)序 列號(hào)比它當(dāng)前所用的路由的序列號(hào)更大時(shí),它會(huì)更新自己的路由表,并開始使用 新路由。當(dāng)源節(jié)點(diǎn)頻繁給目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)包時(shí),其所用的路由會(huì)一直保持活躍狀 態(tài),并被沿途的所用中間節(jié)點(diǎn)所維護(hù)。 也就是說在AOD協(xié)議中,路由中的每個(gè)節(jié) 點(diǎn)都維護(hù)路由表,因而數(shù)據(jù)報(bào)文頭部不再需要攜帶完整的路由信息, 從而提高了 協(xié)議的效率。一旦源節(jié)點(diǎn)停止發(fā)包,則這條路由會(huì)超時(shí),并被中間節(jié)點(diǎn)從各自的 路由表中刪除。如果一

24、條活躍路由的中間某一段鏈路發(fā)生了破裂(可能時(shí)由于節(jié)點(diǎn)移動(dòng),或外界干擾),則這條路由會(huì)產(chǎn)生錯(cuò)誤。在鏈路破裂處的上游節(jié)點(diǎn)會(huì)給 源節(jié)點(diǎn)發(fā)送路由錯(cuò)誤(RERR報(bào)文。源節(jié)點(diǎn)收到RER后,如果它還需要繼續(xù)與目 的節(jié)點(diǎn)通信,就必須重新建立路由。2.7傳輸層傳輸層負(fù)責(zé)數(shù)據(jù)流的傳輸控制,將傳感器網(wǎng)絡(luò)的數(shù)據(jù)提供給外部網(wǎng)絡(luò),是保 證通信服務(wù)質(zhì)量的重要部分。2.8應(yīng)用層應(yīng)用層包括一系列基于監(jiān)測(cè)任務(wù)的應(yīng)用層軟件。3. 詳細(xì)設(shè)計(jì)3.1相關(guān)函數(shù)初始化函數(shù) initUARTtest(void) 函數(shù)原型:void in itUARTtest(void) CLKCON &= 0x40; while(!(SLEE P &

25、amp; 0x40);CLKCON &= 0x47;SLEE P 1= 0x04;晶振/等待晶振穩(wěn)定/TICHSPD128 分頻,CLKSPD 不分頻/關(guān)閉不用的RC振蕩器P ERCFG = 0x00; P0 SEL = 0x3c;/位置1 P0 口/P0用作串口U0CSR |= 0x80;U0GCR |= 10;U0BAUD |= 216;UTX0IF = 1;/UART方式/baud_e/允許接收開總中斷,接收中斷波特率設(shè)為57600U0CSR |= 0X40;IEN0 |= 0x84;函數(shù)功能:將系統(tǒng)時(shí)鐘設(shè)為高速晶振,將 P0 口設(shè)置為串口 0功能引腳,串 0使用UART模式,波

26、特率設(shè)為57600,允許接收。在使用串口之前調(diào)用。串口發(fā)送字符串函數(shù):void UartTX_Se nd_Stri ng(uchar *Data,i nt le n)函數(shù)原型:""void UartTX_Se nd_Stri ng(uchar *Data,i nt le n)""int j;for(j=0;j<le n;j+)U0DBUF = *Data+;while(UTX0IF = 0);UTX0IF = 0;串口接收一個(gè)字符串#p ragma vector = URX0_VECTOR_in terru pt void UART0_ISR(vo

27、id)清中斷標(biāo)志廠"URX0IF = 0;temp = U0DBUF;3.2實(shí)現(xiàn)框架圖3.3設(shè)計(jì)代碼#i nclude viocc2430.h> #in clude <stri ng.h> #defi ne uint un sig ned int#defi ne uchar un sig ned char#defi ne FALSE 0#defi ne TURE 1 /定義控制燈的端口#defi ne led1 P1_0#defi ne led2 P1_1 void Delay(ui nt);void ini tUARTtest(void);void In itia

28、lAD(void);void UartTX_Se nd_Stri ng(uchar *Data,i nt le n);uchar Recdata="Hello. Tia nYun WuXia nKeJi" uchar RTflag = 1;uchar temp;uint data nu mber = 0; uint strin gle n;/*m*mmm*mm*mm* *函數(shù)功能 *入口參數(shù) *返回值 *說 明延時(shí) 定性延時(shí) 無*/void Delay( uint n) uint i;for(i=0;i vn ;i+); for(i=0;i vn ;i+); for(i=0

29、;i vn ;i+); for(i=0;i vn ;i+); for(i=0;i vn ;i+);/*函數(shù)功能*入口參數(shù)*返回值*說 明初始化串口 1 無無57600-8-n-1*void in itUARTtest(void) CLKCON &= 0x40; while(!(SLEE P & 0x40);CLKCON &= 0x47;SLEE P 1= 0x04;晶振/等待晶振穩(wěn)定/TICHSPD128 分頻,CLKSPD 不分頻/關(guān)閉不用的RC振蕩器P ERCFG = 0x00; PO SEL = 0x3c;/位置1 P0 口/P0用作串口U0CSR |= 0x80

30、;U0GCR |= 10;U0BAUD |= 216;UTX0IF = 1;/允許接收開總中斷,接收中斷/UART方式/baud_e波特率設(shè)為57600UOCSR |= 0X40; lENO |= 0x84;/*函數(shù)功能:串口發(fā)送字符串函數(shù)*入口參數(shù):data數(shù)據(jù)*len :數(shù)據(jù)長(zhǎng)度*返回值:無*說明:*/void UartTX_Se nd_Stri ng(uchar *Data,i nt le n) ""int j;for(j=0;j<le n;j+)U0DBUF = *Data+; while(UTXOIF = 0); UTX0IF = 0;主函數(shù) 無 無 無/*

31、函數(shù)功能*入口參數(shù)*返回值*說 明*/void ma in (void)/P1 out P1DIR = 0x03;led1 = 1;led2 = 1; Delay(2000);in itUARTtest();stri ngle n = strle n( (char *)Recdata); /UartTX_Se nd_Stri ng(Recdata,30); while(1)/P1 控希y LED/關(guān) LED初始化UART/接收/接收狀態(tài)指示if(RTflag = 1)led2=0;if( temp != 0)if(te mp !=#)&&(data nu mberv30)/&#

32、39;#被定義為結(jié)束字符/最多能接收30個(gè)字符Recdatadata nu mber+ = temp; else/進(jìn)入發(fā)送狀態(tài)RTflag = 3;if(data nu mber = 30)RTflag = 3; temp = 0;if(RTflag = 3) /發(fā)送led2 = 1;led1 = 0;U0CSR &= -0x40;UartTX_Se nd_Stri ng(Recdata,data nu mber);U0CSR |= 0x40;RTflag = 1;data nu mber = 0; led1 = 1;/關(guān)綠色LED/發(fā)送狀態(tài)指示/不能收數(shù)/允許收數(shù)/恢復(fù)到接收狀態(tài)/指

33、針歸0/關(guān)發(fā)送指示/*函數(shù)功能:串口接收一個(gè)字符*入口參數(shù):無*返回值:無*說 明:接收完成后打開接收*/#p ragma vector = URXO_VECTOR_in terru pt void UARTO_ISR(void)廠"URX0IF = 0;temp = U0DBUF;清中斷標(biāo)志4. 運(yùn)行結(jié)果r f2a MT逑竟沁驗(yàn)和 串口波特$狡驗(yàn)包數(shù)據(jù)位停止位|57旳匚二I I無皿二I 夠u關(guān)閉串口諄止顯示I自動(dòng)清空r十六進(jìn)制顯示 廉存工殺數(shù)據(jù)愈 jcACOMDATAfehdffghdffehdffdffehdffgh4ff£kdffghdffdffghdffshaffg

34、hdff£kdff£i s dfikj hs s dfik jh ssdfskjh ssifskjh ssifskjL ssJfskjh ssdfskjh ssdfskjh ssdfstjh ssdfskjh stdfikjh iHfskjh ttdfikjh tidfskjh tidftkjh isdfikjh tidfikjh isdfikjh sidfskjK淸空£埴I懺送的命數(shù)捱r十六進(jìn)制發(fā)送手動(dòng)發(fā)送j!自動(dòng)垸送 砸改變后重選)'自動(dòng)蟋周期:1 毫秒I選樣覽送文件f 逑沒砒擇文祥有 |ST«US : C0«2 OFEHED *1 KtTZ37') 11207|為也1譏肚£町握送文件IKt:Z37嘯蜂關(guān)閉程序SMflO L 5. 自我評(píng)價(jià)通過此次課設(shè),使我加深了對(duì)無線傳感器網(wǎng)絡(luò)的認(rèn)識(shí),對(duì)一些傳感器,如濕度傳感器,溫度傳感器和光照傳感器等的應(yīng)用有了更深刻的理解,進(jìn)一步熟悉和掌握了硬件的開發(fā),并且學(xué)會(huì)使用 CC2430模塊進(jìn)行一些通信實(shí)驗(yàn),對(duì)今后學(xué)習(xí) ARM是一個(gè)良好的鋪墊。6. 課設(shè)總結(jié)在此次課設(shè)的過程中,盡管有一些困難,

溫馨提示

  • 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)論