2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩58頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)設(shè)計(論文)</p><p><b> ?。ǘ?屆)</b></p><p>  位置固定節(jié)點的無線傳感器網(wǎng)絡(luò)的設(shè)計</p><p>  所在學(xué)院 </p><p>  專業(yè)班級 電氣工程及其自動化 </p&

2、gt;<p>  學(xué)生姓名 學(xué)號 </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p><b>  摘 要</b></p><p> 

3、 基于單片機傳口通訊的位置固定節(jié)點的無線傳感器網(wǎng)絡(luò)的裝置。無線傳感器網(wǎng)絡(luò)由多個節(jié)點組成的面向任務(wù)的無線自組織網(wǎng)絡(luò)。它綜合了傳感器技術(shù)、嵌入式系統(tǒng)開發(fā)、現(xiàn)代網(wǎng)絡(luò)技術(shù)等,具有感知、計算和通信能力。主要由傳輸單元,計算單元、存儲單位組成。 </p><p>  本文介紹了一種用單片機以及一個基于cc1101的無線串口通信模塊作為主要硬件,通過單片機編程進行無線通訊的一種裝置。該裝置具有內(nèi)置MAC地址,通過MAC地址能任

4、意的設(shè)置IP地址。設(shè)定了IP地址之后數(shù)據(jù)在網(wǎng)絡(luò)中能夠進行自主的轉(zhuǎn)發(fā),從而到達(dá)目的地址。并且具有檢測網(wǎng)絡(luò)是否通暢的功能。整個設(shè)備硬件件結(jié)構(gòu)簡單,軟件編程靈活。</p><p>  關(guān)鍵詞:無線傳感器網(wǎng)絡(luò),節(jié)點,多跳,單片機串口</p><p>  The design of node’s position been fixed wireless sensor network</p>

5、;<p><b>  Abstract</b></p><p>  The device that node’s position been fixed wireless sensor network based on the communication of MCU’s Serial. Wireless sensor networks consisting of multip

6、le nodes. And it’s task-oriented self-organizing wireless network. It combines sensor technology, embedded systems development, modern network technology, with sensing, calculating and communication capabilities. Mainly

7、compose by the transmission unit, computing unit, storage units.</p><p>  This paper describes a device consisting of MCU and wireless modules which based on the cc1101 use as the main hardware, and achieve

8、wireless communication by MCU programming. The device has a MAC address, and IP address which can arbitrarily be set through the MAC address. After setting the IP address,the data in the network can be carry out independ

9、ent forwarding to reach the destination address. It also has the function of detecting whether the node can be reached or not. The device’s hardwar</p><p>  Key words:Wireless sensor networks,node,multi-jump

10、,MCU’s Serial</p><p><b>  目錄</b></p><p><b>  摘 要I</b></p><p>  Abstract錯誤!未定義書簽。</p><p><b>  1 緒論1</b></p><p>  1.1

11、無線傳感器網(wǎng)絡(luò)的基本要求和設(shè)計原則2</p><p>  1.2無線傳感器網(wǎng)絡(luò)的基本原理和特點1</p><p>  1.2.1無線傳感器網(wǎng)絡(luò)的原理錯誤!未定義書簽。</p><p>  1.2.2無線傳感器網(wǎng)絡(luò)的特點錯誤!未定義書簽。</p><p>  1.3無線傳感器網(wǎng)絡(luò)的國內(nèi)外發(fā)展現(xiàn)狀1</p><p&g

12、t;  1.4畢業(yè)設(shè)計的主要內(nèi)容2</p><p>  1.5課題的意義與應(yīng)用2</p><p>  2硬件電路的設(shè)計6</p><p>  2.1單片機最小系統(tǒng)6</p><p>  2.2無線串口模塊7</p><p>  2.3硬件上的連接8</p><p>  3算法研究與軟

13、件設(shè)計錯誤!未定義書簽。</p><p>  3.1時分復(fù)用(TDMA)錯誤!未定義書簽。</p><p>  3.1.1傳感器節(jié)點無效功率的主要來源錯誤!未定義書簽。</p><p>  3.1.2減少無效功率的方式錯誤!未定義書簽。</p><p>  3.1.3時分復(fù)用的實現(xiàn)錯誤!未定義書簽。</p><p

14、>  3.2 最短路徑算法錯誤!未定義書簽。</p><p>  3.2.1 假設(shè)與抽象錯誤!未定義書簽。</p><p>  3.2.2 實現(xiàn)方法錯誤!未定義書簽。</p><p>  3.3 轉(zhuǎn)發(fā)算法錯誤!未定義書簽。</p><p>  3.4 地址設(shè)定錯誤!未定義書簽。</p><p>  3.

15、3.1IP地址和硬件地址錯誤!未定義書簽。</p><p>  3.3.2地址解析及其協(xié)議錯誤!未定義書簽。</p><p>  3.4 ping功能錯誤!未定義書簽。</p><p>  3.3.1ping功能的作用錯誤!未定義書簽。</p><p>  3.3.2ping功能的協(xié)議錯誤!未定義書簽。</p><

16、;p>  4調(diào)試現(xiàn)象及說明錯誤!未定義書簽。</p><p><b>  結(jié)論23</b></p><p><b>  參考文獻(xiàn)24</b></p><p>  致謝錯誤!未定義書簽。</p><p><b>  附錄25</b></p><

17、p>  附錄1串行通信的程序25</p><p>  附錄圖2 eerom保存數(shù)據(jù)的程序39</p><p>  附錄圖3主函數(shù)程序42、</p><p><b>  1 緒論</b></p><p>  1.1無線傳感器網(wǎng)絡(luò)的原理和特點</p><p>  1.1.1無線傳感器網(wǎng)絡(luò)的

18、原理</p><p>  無線傳感器網(wǎng)絡(luò)的基本構(gòu)成原理是由一種或幾種傳感器原件或模塊采集出一種或幾種信號,然后將這種信號通過模數(shù)轉(zhuǎn)化,轉(zhuǎn)化成數(shù)字信號,然后通過數(shù)據(jù)傳輸模塊進行傳輸,最后在一個地方進行匯總,通過對匯總的數(shù)據(jù)的處理,得到要執(zhí)行的方案,又通過數(shù)據(jù)傳輸模塊進行再次傳輸,最后完成控制的過程。</p><p>  原理方面,包括傳感器測數(shù)據(jù)的原理,無線數(shù)據(jù)傳輸?shù)脑恚?shù)轉(zhuǎn)化的原理。這

19、些原理都不在這進行復(fù)述,后文會提到部分本次設(shè)計中使用到的無線數(shù)據(jù)傳輸原理,詳見后文。</p><p>  1.1.2無線傳感器網(wǎng)絡(luò)的特點</p><p>  本次設(shè)計的無線傳感器網(wǎng)絡(luò)具有以下幾個特點:</p><p> ?。╝)節(jié)點的地位對等。無中心結(jié)構(gòu),網(wǎng)絡(luò)中所有節(jié)點的地位對等,并構(gòu)建成一個對等式的網(wǎng)絡(luò)。節(jié)點可以隨時加入或離開網(wǎng)絡(luò),網(wǎng)絡(luò)中的部分節(jié)點發(fā)生故障不影響整

20、個網(wǎng)絡(luò)的運行。而每一個節(jié)點在網(wǎng)絡(luò)中的地位一致,在特定某一次通信時可以被作為特定的目標(biāo)節(jié)點或中繼節(jié)點。但是整體來看并無中心結(jié)構(gòu),地位一致。</p><p> ?。╞)自組方式組網(wǎng)。組網(wǎng)不依賴與任何固定的網(wǎng)絡(luò)設(shè)施,傳感器節(jié)點通過分布式網(wǎng)絡(luò)協(xié)議形成自組型網(wǎng)絡(luò),能夠自動調(diào)整來適應(yīng)節(jié)點的移動、加了和退出。網(wǎng)絡(luò)中多個運行著的節(jié)點在起始節(jié)點和目標(biāo)節(jié)點確定以后就可以快速、自組的組成一個獨立的網(wǎng)絡(luò)。并且傳輸路徑也隨之確定,具體的路

21、徑在會在后文中的最短路徑中討論。</p><p> ?。╟)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)不確定。無線傳感器網(wǎng)絡(luò)中的節(jié)點可能由于電池能量的耗盡或故障從網(wǎng)絡(luò)中退出,也可能是按照設(shè)定的程序從網(wǎng)絡(luò)中退出;網(wǎng)絡(luò)外的無線傳感器節(jié)點可以隨時加入到網(wǎng)絡(luò)中;傳感器節(jié)點具有移動屬性。除此之外,環(huán)境因素或者節(jié)點能量耗盡等因素也可能導(dǎo)致節(jié)點故障或失效。為增強監(jiān)控精度而加入新的節(jié)點,都會使網(wǎng)絡(luò)的拓?fù)浒l(fā)生改變。而拓?fù)浣Y(jié)構(gòu)發(fā)生改變之后,數(shù)據(jù)傳輸時都是簡化成

22、同一種拓?fù)浣Y(jié)構(gòu)之后再傳輸?shù)模喕椒ㄒ矔谒惴ㄖ羞M行詳細(xì)的分析。</p><p> ?。╠)采用多跳的形式進行傳輸傳感器網(wǎng)絡(luò)中的節(jié)點的通信距離較短,節(jié)點只能以相鄰節(jié)點直接通信,要實現(xiàn)在網(wǎng)絡(luò)覆蓋范圍之內(nèi)的較遠(yuǎn)節(jié)點通信,需要通過中間節(jié)點進行路由接力傳遞數(shù)據(jù)。無線傳感器網(wǎng)絡(luò)中的多跳路由是由普通網(wǎng)絡(luò)節(jié)點完成的,每個節(jié)點既能專發(fā)信息,又能發(fā)送信息。節(jié)點采用多跳接力來完成各個節(jié)點向目標(biāo)節(jié)點的數(shù)據(jù)發(fā)送。</p>

23、<p>  (e)無線傳感器網(wǎng)絡(luò)能自動空間尋址,傳感器節(jié)點都具有一個網(wǎng)絡(luò)中的唯一標(biāo)示,數(shù)據(jù)采集發(fā)生在某一個節(jié)點,而用戶關(guān)心的是數(shù)據(jù)發(fā)生的具體位置,而不是空間位置尋址的方式。而空間位置尋址方式會在算法中分析。標(biāo)示的形式會在路由協(xié)議中進行介紹</p><p>  1.2無線傳感器網(wǎng)絡(luò)技術(shù)的發(fā)展現(xiàn)狀</p><p>  早在20世紀(jì)90年代末,美國國防部高級研究計劃局就對傳感器節(jié)點技術(shù)

24、進行研究,而在那時在傳感器群中,各個不同傳感器節(jié)點間只進行較簡單的點對點通訊。</p><p>  而隨著無線通信技術(shù)和微電子技術(shù)的飛速發(fā)展,無線傳感器網(wǎng)絡(luò)也漸漸的成為了一種新興技術(shù),到了20世紀(jì)末,美國《商業(yè)周刊》將無線傳感網(wǎng)絡(luò)技術(shù)列為21世紀(jì)最重要的21項技術(shù)之一。</p><p>  無線傳感器網(wǎng)絡(luò)是一種全新的信息獲取與處理技術(shù),目前是通信、計算機和自動化等領(lǐng)域一個新興的研究熱點。它

25、能夠?qū)崟r感知和采集覆蓋區(qū)中的各種信息并進行處理,處理后的信息通過無線方式發(fā)送給觀察者。傳感網(wǎng)能夠直接感知客觀世界,極大地增強了現(xiàn)有網(wǎng)絡(luò)的功能和人類認(rèn)識世界的能力。無線傳感器網(wǎng)絡(luò)深入我們生活的每個環(huán)節(jié)、滲透社會的每個角落,有利于提高人們認(rèn)識物理世界的深度、廣度、精確性、及時性,加強后和密切人類與物理世界的聯(lián)系,大力提高人類對物理環(huán)境的遠(yuǎn)端監(jiān)視和控制能力。因而具有十分廣闊的應(yīng)用前景。</p><p>  大規(guī)模的數(shù)據(jù)

26、通信是近些年無線傳感器網(wǎng)絡(luò)技術(shù)的一個重點,也是取得成就比較多的方面。很多應(yīng)用場合中,需要大規(guī)模部署無線傳感器節(jié)點,形成一個覆蓋面很大的監(jiān)控區(qū)域。在這樣的網(wǎng)絡(luò)系統(tǒng)中,傳感器節(jié)點經(jīng)過數(shù)據(jù)采集后,使用多跳路由將數(shù)據(jù)送往下一個節(jié)點,大量的傳感器節(jié)點進行數(shù)據(jù)傳輸,而一個節(jié)點要對大量數(shù)據(jù)進行協(xié)同處理,。監(jiān)測區(qū)域內(nèi)密集的自治節(jié)點產(chǎn)生大量的傳感數(shù)據(jù),有效地對大量節(jié)點所獲感知數(shù)據(jù)進行協(xié)同處理,在此基礎(chǔ)上完成無線傳感器網(wǎng)絡(luò)的任務(wù)。</p>&

27、lt;p>  1.1無線傳感器網(wǎng)絡(luò)的基本要求和設(shè)計原則</p><p>  隨著我國社會主義市場經(jīng)濟的不斷發(fā)展和人民生活水平的不斷提高,無線傳感器網(wǎng)絡(luò)開始得到人們的關(guān)注。無線傳感器網(wǎng)絡(luò)剛開始研究的重點是傳感器節(jié)點技術(shù),在傳感器群中,各個不同傳感器節(jié)點間只進行較簡單的點對點通訊。而隨著無線通信技術(shù)和微電子技術(shù)的飛速發(fā)展,無線傳感器網(wǎng)絡(luò)的研發(fā)已經(jīng)轉(zhuǎn)到了整體網(wǎng)絡(luò)的實際設(shè)計,無線轉(zhuǎn)發(fā)算法的設(shè)計。傳感器的節(jié)點也從點到

28、點轉(zhuǎn)變成了數(shù)目龐大的整體網(wǎng)絡(luò)。到了20世紀(jì)末,美國《商業(yè)周刊》將無線傳感網(wǎng)絡(luò)技術(shù)列為21世紀(jì)最重要的21項技術(shù)之一。</p><p>  無線傳感器網(wǎng)絡(luò)的基本要求包括以下幾個方面的要求:</p><p>  1、數(shù)據(jù)傳輸穩(wěn)定。數(shù)據(jù)傳輸是無線傳感器網(wǎng)絡(luò)主要用途。數(shù)據(jù)傳輸不丟幀是對無線傳感器網(wǎng)絡(luò)的最基本要求。在無線傳感器網(wǎng)絡(luò)的傳輸過程中,應(yīng)該設(shè)計一個防止丟幀的算法,即發(fā)送完成之后,接受的節(jié)點進

29、行判斷,如果已經(jīng)接收到發(fā)送的數(shù)據(jù),則進行返回數(shù)據(jù),如果發(fā)送的節(jié)點也沒有接到返回的數(shù)據(jù),則數(shù)據(jù)進行重發(fā)。但是這個方法只適用于節(jié)點較少的無線傳感器網(wǎng)絡(luò),因為如果無線傳感器網(wǎng)絡(luò)的節(jié)點數(shù)目較大,則數(shù)據(jù)發(fā)送效率會過低。這就要求我們選擇數(shù)據(jù)發(fā)送較為穩(wěn)定的數(shù)據(jù)發(fā)送模塊。如果模塊發(fā)送數(shù)據(jù)穩(wěn)定則沒有這個問題。</p><p>  2、功耗小。無線傳感器網(wǎng)絡(luò)會一直處于監(jiān)聽狀態(tài),所以功耗也會一直處于最大狀態(tài),如果功耗一直過大則無線傳感

30、器網(wǎng)絡(luò)工作的時間就會過短,這是無線網(wǎng)絡(luò)傳感器能否良好工作的一個重要因素,除了選擇功耗較少的無線發(fā)射模塊和一塊功耗較低的單片機之外。必須對無線傳輸算法進行一定的優(yōu)化,達(dá)到功耗較低的要求。</p><p>  3、 傳輸數(shù)據(jù)速度塊。傳感器網(wǎng)絡(luò)的傳輸具有很高的實時性,這就要求在傳輸?shù)倪^程中達(dá)到傳輸速度快。這可以通過兩個方法來實現(xiàn),其一、選擇傳輸速度較快的傳輸模塊。其二、在單片機的算法中進行優(yōu)化,達(dá)到計算速度塊,轉(zhuǎn)發(fā)數(shù)據(jù)

31、計算快。 </p><p>  1.4畢業(yè)設(shè)計的主要內(nèi)容</p><p>  如圖1,就是本次設(shè)計的無線傳感器網(wǎng)絡(luò)總的結(jié)構(gòu)示意圖。其中用戶可以根據(jù)需要控制的內(nèi)容,在上位機中輸入一定的數(shù)據(jù),通過無線傳輸送給集控器。集控器接收到后進行轉(zhuǎn)化,再傳送到所需要控制的節(jié)點進行具體的控制。而在節(jié)點與節(jié)點之間可以任意的傳輸,從而克服由于無線傳感器的距離限制帶來的局限性。例如需要從D傳送到A,但是無線傳感器

32、的傳輸距離只能從D傳輸?shù)紺或從C到B,此時就可以通過C,B做為中繼的傳輸節(jié)點來傳送。而C,B除了在D到A的傳輸中起到了中繼節(jié)點的作用以外還能作為一個目標(biāo)的節(jié)點,而究竟是作為什么節(jié)點是由無線傳感器網(wǎng)絡(luò)的通信協(xié)議來規(guī)定。</p><p>  圖 1.1無線傳感器網(wǎng)絡(luò)的結(jié)構(gòu)示意圖</p><p>  通信協(xié)議時本次設(shè)計的重點,通信協(xié)議需要完成數(shù)據(jù)傳輸是所必須規(guī)定的中繼節(jié)點,起始節(jié)點,目標(biāo)節(jié)點,多

33、跳時的步長等等,當(dāng)然還有最重要的傳輸?shù)臄?shù)據(jù)。</p><p>  還有通信數(shù)據(jù)的重新生成也是本次設(shè)計的一個重要方面,需要根據(jù)要求重新判斷所需要傳輸?shù)臄?shù)據(jù),并且生成新的傳輸數(shù)據(jù)。</p><p>  除此之外,根據(jù)實際使用的需要,還包括了以下兩個實用的功能:</p><p>  1,設(shè)計一個檢驗無線傳感器網(wǎng)絡(luò)是否通暢的命令,例如需要驗證能否從D傳送到A,則需要發(fā)送一個

34、命令,而A能接受到之后進行處理,并且返回一個命令,D能接受到這個命令則代表本條無線傳感網(wǎng)絡(luò)通暢,沒接收到則代表在傳送的過程中數(shù)據(jù)丟失。</p><p>  2,每一個節(jié)點的ID數(shù)據(jù)都不同,但是在實際生產(chǎn)過程中,不可能對單片機逐塊的進行數(shù)據(jù)燒寫,這就需要在設(shè)計過程中進行這方面的考慮,使無線網(wǎng)絡(luò)能夠通過上位機有設(shè)置數(shù)據(jù)的功能,而通過無線網(wǎng)絡(luò)的傳輸,使節(jié)點自動設(shè)置數(shù)據(jù)。</p><p>  1.

35、5課題的意義與應(yīng)用</p><p>  本次課題主要圍繞著無線網(wǎng)絡(luò)傳感器的組網(wǎng)規(guī)則、最短路徑的傳輸方法和通信協(xié)議等問題進行研究。解決了一個基本的無線網(wǎng)絡(luò)的通信問題,并且對于大規(guī)模生產(chǎn)提出了一整套可行的方便的解決方案。能夠切實解決實際應(yīng)用中遇到的問題。</p><p>  本次課題應(yīng)用廣泛,無論是軍事,生活,監(jiān)測,控制還是其他的領(lǐng)域都能夠得到廣泛的應(yīng)用。比如:加一個紅外的傳感器,就可以將這個

36、無線網(wǎng)絡(luò)傳感器網(wǎng)絡(luò)應(yīng)用于安全防衛(wèi)的場合。只需要再加一個電源模塊,并且對無線網(wǎng)絡(luò)傳輸協(xié)議進行一定的修改,就能實現(xiàn)監(jiān)測到有人體發(fā)出的紅外線,就進行報警的系統(tǒng)。把各個節(jié)點散布于一個需要監(jiān)測的區(qū)域內(nèi)就能通過此無線傳感器網(wǎng)絡(luò)進行報警。</p><p><b>  2硬件電路的設(shè)計</b></p><p>  本次課題的硬件電路設(shè)計較為簡單,整體設(shè)計方案如圖。主要就是需要根據(jù)無線

37、傳感器網(wǎng)絡(luò)的工作特點進行單片機和無線傳輸模塊的選擇。并且進行兩個模塊的連接。</p><p>  圖2-1硬件電路的總體設(shè)計方案</p><p>  2.1單片機的最小系統(tǒng)</p><p>  無限網(wǎng)絡(luò)傳感器中使用的單片機需要盡量的減少功耗。由于無線傳感器網(wǎng)絡(luò)會一直處于監(jiān)聽狀態(tài),所以功耗也會一直處于最大狀態(tài),如果功耗一直過大則無線傳感器網(wǎng)絡(luò)工作的時間就會過短。所以需

38、要選擇一塊功耗較低的單片機。并且單片機能隨時進入低功耗狀態(tài)。綜合以上幾點,筆者放棄了經(jīng)常使用的 89c51單片機,而采用了功耗更低的89c5612單片機,下圖為本單片機的管腳圖。</p><p>  圖2-2 89s5612管腳圖</p><p>  本單片機除了有著功耗小的好處之外,還具有以下幾個優(yōu)勢能對本次設(shè)計起著一定的作用:</p><p> ?。?)超強的抗

39、干擾性能。根據(jù)大規(guī)模的傳感器網(wǎng)絡(luò)的需求,通常傳感器網(wǎng)絡(luò)工作在比較復(fù)雜的環(huán)境中,包括了強靜電的環(huán)境,低溫或者是高溫。這些方面本單片機都能夠很好的適用,他能順利工作在強靜電的環(huán)境下,而能工作的溫度范圍也達(dá)到了-40~85℃。這都已經(jīng)能基本滿足本傳感器網(wǎng)絡(luò)的工作環(huán)境。</p><p> ?。?)寬電壓。在后文中會提到無線串口模塊也能在寬電壓的條件下進行工作,所以在整個系統(tǒng)的電源選擇過程中就可以達(dá)到比較豐富的目的。這也有

40、利于傳感器網(wǎng)絡(luò)的大規(guī)模使用。</p><p>  (3)具有串行通訊口,雖然串行通訊口是大部分單片機都擁有的,但是本次選用的無線串口通訊模塊與傳送數(shù)據(jù)必須通過串行通訊口。所以就必須選用一塊具有串行通訊口的單片機。</p><p> ?。?)內(nèi)部工作時鐘。本次設(shè)計為了考慮到系統(tǒng)的穩(wěn)定性選擇了外接一個晶振進行時鐘信號的提供。但是考慮到后期進行改進時可能對體積有嚴(yán)格的要求,所以就選用了這一款有內(nèi)

41、部工作時鐘的單片機,便于以后的改進。</p><p>  2.2 無線串口模塊</p><p>  本次設(shè)計的成敗與否很大程度上取決于無線通訊模塊選擇的成功與否,經(jīng)過慎重的考慮選擇了基于cc1101的無線模塊作為本次設(shè)計無線通訊模塊。無線串口模塊的實物圖如下:</p><p>  該無線串口模塊有幾下幾點優(yōu)勢:</p><p> ?。?)通訊

42、穩(wěn)定可靠。</p><p><b> ?。?)通訊距離遠(yuǎn)。</b></p><p> ?。?)線路連接簡單,端口占用少。</p><p> ?。?)寬電壓。在前文中會提到本次設(shè)計選用的單片機也能在寬電壓的條件下進行工作,所以在整個系統(tǒng)的電源選擇過程中就可以達(dá)到比較豐富的目的。這也有利于傳感器網(wǎng)絡(luò)的大規(guī)模使用。</p><p&

43、gt;<b>  2.3硬件上的連接</b></p><p>  硬件上的連接主要是將串口與無線收發(fā)模塊相連,而單片機如果需要工作的話就必須得有最小系統(tǒng)的支持。最小系統(tǒng)包括兩個主要內(nèi)容,一個是外部的晶振,本次最小系統(tǒng)使用的晶振是11.0592mhz的晶振,包括兩個30pf的瓷片電容,連接了之后把兩個管教接到xtal1和xtal2上,起到了一個外部提供時鐘源的目的,還有一個是復(fù)位電路,這個電路

44、包括一個1k的電阻,和一個10uf的電解電容。提供了兩種復(fù)位的機會,一個是上電復(fù)位,另外一個是按鈕復(fù)位。提供調(diào)試時有必要的使用。</p><p>  圖2-3 硬件連接圖</p><p>  3 算法研究與軟件設(shè)計</p><p>  如上文所述,本次設(shè)計的硬件部分比較簡單。但是軟件部分就比較復(fù)雜了,為了無線傳感器網(wǎng)絡(luò)能良好的工作,需要對很多問題進行考慮和改進。&

45、lt;/p><p>  為了提高本次設(shè)計的無線傳感器網(wǎng)絡(luò)的穩(wěn)定性,需要對無線傳感器網(wǎng)絡(luò)的算法及軟件設(shè)計進行研究。主要通過使用時分復(fù)用算法,最短路徑算法和轉(zhuǎn)發(fā)算法來提高傳輸過程中的穩(wěn)定性。</p><p>  3.1 時分復(fù)用(TDMA)</p><p>  3.1.1傳感器節(jié)點無效功率的主要來源</p><p>  無線傳感器網(wǎng)絡(luò)的核心問題之一就

46、是功耗管理,其原因是無線傳感器網(wǎng)絡(luò)需不斷處于監(jiān)聽狀態(tài),并且使用的獨立的電源,如果功耗管理問題沒有處理好,可能需要時常更換電源,而使網(wǎng)絡(luò)適用于大多場所。</p><p>  無線傳感器網(wǎng)絡(luò)中最大的耗能部件是射頻模塊,使用是優(yōu)化的主要目標(biāo)。傳感器節(jié)點的無效功耗主要來自以下四個來源??臻e偵聽:節(jié)點不知道其他節(jié)點何時給自己發(fā)數(shù)據(jù),所以射頻模塊必須一直處于接收和判斷狀態(tài),消耗大量的能源。而這個方面的問題并沒有在這次設(shè)計中得

47、到妥善的堅決。數(shù)據(jù)沖突:多個節(jié)點同時向同一節(jié)點發(fā)送多幀數(shù)據(jù),信號相互干擾,波形相互疊加,收方無法準(zhǔn)確接收,雖可通過數(shù)據(jù)重發(fā)來解決數(shù)據(jù)接收的問題,但是數(shù)據(jù)重發(fā)會帶來能量的浪費。數(shù)據(jù)串?dāng)_;使接收和處理發(fā)往其他節(jié)點的數(shù)據(jù)屬于無效功耗??刂崎_銷:發(fā)送的控制數(shù)據(jù)不是有效的數(shù)據(jù),而轉(zhuǎn)發(fā)所消耗的能量對用戶來說是無效的。應(yīng)盡量減少。在軟件設(shè)計的時候應(yīng)加以注意。</p><p>  綜上所述,空閑偵聽的能量消耗并未得以妥善的解決,

48、而控制開銷的能量損耗已經(jīng)在程序設(shè)計過程中已經(jīng)減少到最小。而數(shù)據(jù)沖突和數(shù)據(jù)串?dāng)_的能量消耗就需要應(yīng)用另外的方法進行減小。</p><p>  3.1.2減少無效功率的方式</p><p>  為了減小無線傳感器網(wǎng)絡(luò)的無效功耗,比較常用的方式有以下幾種。頻分復(fù)用(FDMA)的方式;實現(xiàn)無沖突的強制信道分配,屬于非碰撞的MAC協(xié)議。理論上可以避免碰撞,從而可以保實時性。但是在本次設(shè)計中由于hh20

49、的局限性,只能使用波特率為9600的頻率,使用不適合使用。競爭方式(CSMA/CA);它是基于競爭的MAC協(xié)議,節(jié)點可以使用信道并且不受其他節(jié)點的干擾。不需使用任何MAC控制包。但是實現(xiàn)方法復(fù)雜,軟件編寫繁瑣。與時分復(fù)用(TDMA),此方式為各個節(jié)點分配獨立的信道,在一個子節(jié)點發(fā)送數(shù)據(jù)的時候其他節(jié)點禁聲,而轉(zhuǎn)發(fā)的時候只有一個節(jié)點進行轉(zhuǎn)發(fā),其他不是最短路徑上的節(jié)點就不進行轉(zhuǎn)發(fā)。從而在同一時間,空間上只有一個信號,從而不會進行相互干擾。從而

50、減小甚至消除數(shù)據(jù)沖突和數(shù)據(jù)串?dāng)_所帶來的能量消耗</p><p>  綜上所述,時分復(fù)用是適用于本次設(shè)計,并且并不繁瑣的一個減少甚至消除數(shù)據(jù)沖突和數(shù)據(jù)串?dāng)_所帶來的能量消耗的好算法。</p><p>  3.1.2時分復(fù)用的實現(xiàn)</p><p>  需要實現(xiàn)時分復(fù)用主要是在數(shù)據(jù)轉(zhuǎn)發(fā)與數(shù)據(jù)數(shù)據(jù)到達(dá)目標(biāo)地址之前,進行一些算法上的規(guī)定。</p><p>

51、;  為了實現(xiàn)數(shù)據(jù)在轉(zhuǎn)發(fā)過程中能夠?qū)崿F(xiàn)時分復(fù)用,需要在程序中實現(xiàn)中繼地址轉(zhuǎn)發(fā)時,只有一個節(jié)點進行轉(zhuǎn)發(fā)。其他節(jié)點不發(fā)送任何的數(shù)據(jù),為了使數(shù)據(jù)能夠最快的到達(dá)目的地址,需要使轉(zhuǎn)發(fā)的次數(shù)達(dá)到最少,從而引入了最短路徑的算法,會在后文中進行分析。</p><p>  如果在某一個子節(jié)點正在發(fā)送數(shù)據(jù)的時候,另一個子節(jié)點也需要發(fā)送數(shù)據(jù)。此時,后一個需要發(fā)送數(shù)據(jù)的子節(jié)點必須禁聲,既不能發(fā)送,只有當(dāng)前一個節(jié)點數(shù)據(jù)發(fā)送完畢之后才能讓下

52、一個子節(jié)點發(fā)送數(shù)據(jù)。</p><p>  通過這兩個規(guī)定就能實現(xiàn)時分復(fù)用,而程序中具體的實現(xiàn)語句見附錄1。</p><p>  3.2 最短路徑算法</p><p>  前文中以及得出數(shù)據(jù)在轉(zhuǎn)發(fā)的過程中,必須沿著一條路徑進行轉(zhuǎn)發(fā)這樣才能防止數(shù)據(jù)沖突和數(shù)據(jù)串?dāng)_的發(fā)生。而這條路徑也必須是轉(zhuǎn)發(fā)次數(shù)最少的路徑,只有這樣才能使數(shù)據(jù)以最快的速度,最小的功耗到達(dá)目的地址。<

53、/p><p>  在實際使用工程中節(jié)點的擺放是有很多種的,而必須對節(jié)點的擺放進行假設(shè)和抽象才能進行實際的分析。</p><p>  3.2.1假設(shè)和抽象</p><p>  如圖3-1是實際使用中的網(wǎng)絡(luò)模型圖(在此我們只分析二維的,三維的可同理得到),我們就可以假設(shè)某個節(jié)點的坐標(biāo)為(i ,j)而它的四個附近的節(jié)點為(i - H, j),(i , j - H),(i +

54、H, j),(i , j + H)。(i - H, j),(i , j - H),稱為低鄰居節(jié)點,(i + H, j),(i , j + H)稱為高鄰居節(jié)點。其中H為正整數(shù),是通信協(xié)議中的一個內(nèi)容稱為最大跳,會在后文中進行說明。</p><p><b>  圖3-1</b></p><p>  而(i ,j)節(jié)點所能接收的信息只能來自(i - H, j),(i , j

55、 - H),(i + H, j),(i , j + H)。這四個節(jié)點,如果不是這四個節(jié)點來的信息則會因為距離的原因而接收不到,這是在程序書寫過程中要盡量避免的。所以在這個假設(shè)條件下我們可以把實際的網(wǎng)絡(luò)模型抽象成如圖3-2所示的一個網(wǎng)絡(luò)結(jié)構(gòu)。數(shù)據(jù)再能在連線的兩個節(jié)點中傳輸。</p><p><b>  圖3-2</b></p><p>  3.2.2 實現(xiàn)方法</

56、p><p>  由上述的假設(shè)和抽象,我們可以知道數(shù)據(jù)只能在連線的兩個節(jié)點中傳輸,不能從(0,0)傳輸?shù)剑?,1)。既任意節(jié)點(i ,j)在傳輸過程中只能傳輸?shù)礁哙従庸?jié)點或低鄰居節(jié)點中的任意一點。而最短路徑的傳輸要求每跳一次,即接近目標(biāo)節(jié)點一次。有了這些原則不難得到最短路徑的傳輸方法如圖3-3所示:</p><p><b>  圖3-3</b></p><

57、;p>  需要說明的是這里分析的是二維的情況,而在編程中使用的是三維的指標(biāo)系。原理相同,可以由二維的情況推導(dǎo)出三維的情況。并且在使用過程中有引入最大跳的概念,這個情況是最大跳H=1的情況,而H的數(shù)值為其他值的情況會在后文中進行分析。最后就是優(yōu)先的問題,圖示的為X優(yōu)先的情況,X,Z優(yōu)先的情況也會在后文中進行分析</p><p><b>  3.2 轉(zhuǎn)發(fā)算法</b></p>

58、<p>  轉(zhuǎn)發(fā)算法所需考慮的問題已在上文中全都提及了,這里就不多加贅述了。</p><p>  截止到上文為為止,基本的無線傳感器網(wǎng)絡(luò)已經(jīng)能夠正常工作了</p><p><b>  3.3地址設(shè)定</b></p><p>  在實際生產(chǎn)過程,為了實現(xiàn)無線傳感器網(wǎng)絡(luò)能普遍適用,重復(fù)利用以及交換使用。需要能夠通過集控器來進行地址的設(shè)定,

59、通過把地址分為IP地址和硬件地址。IP地址為實際通訊構(gòu)成中使用的地址,硬件地址為單片機生產(chǎn)時,直接寫在單片機中的ID標(biāo)識。IP地址和硬件地址的轉(zhuǎn)換叫做地址解析,通過集控器來完成。地址解析所使用的協(xié)議叫做地址解析協(xié)議。</p><p>  3.3.1 IP地址和硬件地址</p><p><b> ?。?)硬件地址</b></p><p>  硬件

60、地址已經(jīng)固化在單片機的ROM中,所以也可以被稱為物理地址。通過燒寫的時候進行分片固化,既在集控器燒寫程序的時候,每一個單片機要有一個唯一的硬件地址。為了方便辨識和使用,可以將該地址打印出來貼在集控器上。硬件地址占4個字節(jié)。形式如下表所示</p><p>  表3-1 串行接口指令時序圖</p><p>  中央控制單元軟件依據(jù)硬件地址對集控器進行初始化參數(shù),既設(shè)定IP地址。</p&

61、gt;<p><b> ?。?)IP地址</b></p><p>  IP地址是在網(wǎng)絡(luò)通訊時網(wǎng)絡(luò)層上使用的地址,由于IP地址是由軟件實現(xiàn)的,所以又可以稱為邏輯地址,并沒有一個相應(yīng)的硬件和其對應(yīng),硬件地址的存在是為了在生產(chǎn)過程中區(qū)別單片機用的。而在實際使用過程中,用的都是IP的地址。而在整個網(wǎng)絡(luò)初始化的時候,需要對IP地址進行設(shè)定。而IP地址的形式如下表所示</p>

62、<p>  表3-2 串行接口指令時序圖</p><p>  在網(wǎng)絡(luò)初始化的過程中,可以根據(jù)實際使用的需要,把帶有固定的硬件地址的單片機解析成IP地址。</p><p>  3.2 地址解析及其協(xié)議</p><p><b> ?。?)地址解析</b></p><p>  地址解析的作用是,把單片機生產(chǎn)過程中

63、固化在單片機內(nèi)部的物理地址(即ID標(biāo)識)轉(zhuǎn)化為實際使用的IP地址。除了IP地址之外,還需要對跳級范圍進行初始化設(shè)定。地址解析的過程包括兩個階段。</p><p>  第一階段、把收到的數(shù)據(jù)進行解析,解析出所需要設(shè)定的物理地址(包括三個ID標(biāo)識),并且和單片機內(nèi)部固化的ID標(biāo)識進行比對。如果有所不同,則程序返回主函數(shù),不進行其他的任何操作。如果完全一樣,則進入下一階段。</p><p>  

64、第二階段、繼續(xù)對收到的數(shù)據(jù)進行解析,解析出需要最終設(shè)定的IP地址(包括三個坐標(biāo))以及跳級的范圍。把IP地址寫入ROM,在以后的通訊過程中,就使用這個IP地址。并且可以具有掉電不消失的功能,以便在意外掉電或者重啟之后,能夠繼續(xù)正常使用。</p><p><b>  (2)地址解析協(xié)議</b></p><p>  表3-3 地址解析協(xié)議</p><p

65、>  該地址解析協(xié)議意義特定,具體意義會在后文中進行匯總,詳細(xì)表格見后文。</p><p>  3.4 ping功能</p><p>  3.4.1ping功能的作用</p><p>  在實際的生產(chǎn)應(yīng)用之中,有可能出現(xiàn)單個的傳感器網(wǎng)絡(luò)的節(jié)點出現(xiàn)故障,而致使整個傳感器網(wǎng)絡(luò)或者是傳感器網(wǎng)絡(luò)的一部分不能接受或發(fā)送出信息。而又由于無線傳感器網(wǎng)絡(luò)遍布范圍之大不能夠依次

66、的實地檢驗傳感器網(wǎng)絡(luò)是否通暢,這個需要就要求我們在設(shè)計無線傳感器網(wǎng)絡(luò)的過程中設(shè)計一個功能能夠在一個節(jié)點的位置上通過發(fā)送出一種指令,而這種指令通過某種協(xié)議能夠使我們檢驗出無線傳感器網(wǎng)絡(luò)是否通暢。</p><p>  根據(jù)這個設(shè)計的思路,我們可以想象出ping功能的基本工作過程,就是想要檢驗一條固定的無線傳感器網(wǎng)絡(luò)傳輸路徑能否通路,就可先由一個起始節(jié)點發(fā)送出一個傳輸指令,該指令必須包括一個字符是指出不是普通的命令而是

67、一個ping命令,該ping命令通過傳輸,最終到達(dá)目標(biāo)地址,而該目標(biāo)地址對得到的數(shù)據(jù)進行解碼,最終的又生成一個指令,該指令的目標(biāo)地址為ping命令的起始地址,而我們將之稱為reping命令,該reping命令通過傳輸又回到了起始的地址,也就是ping命令的發(fā)出地址,只要該發(fā)出地址能夠接收到這個reping命令,地址就為通路,而如果沒有接收到這個命令就為斷路。知道該無線傳感器網(wǎng)絡(luò)為斷路之后又可以發(fā)出離起始地址較近的地址直到能接收到repi

68、ng命令為止,而這個能與不能接收到reping命令的臨界節(jié)點即為不能正常工作的節(jié)點。</p><p>  3.4.1ping功能的協(xié)議</p><p>  根據(jù)上文分析的ping功能的作用與工作方式,可以將ping功能的協(xié)議制定如下。定長16字節(jié)。根據(jù)前文中提到的地址設(shè)定等要求匯總與此表:</p><p>  表3-4 通訊協(xié)議格式</p><p

69、><b>  各部分如下表所示</b></p><p><b>  表3-5各部分含義</b></p><p>  著重強調(diào)其中類型與數(shù)據(jù)表示的意義為中央控制單元與控制器之間的命令,格式為如下,共3個字節(jié)</p><p>  表3-5中央控制單元與控制器之間的命令</p><p><b&

70、gt;  含義如下</b></p><p><b>  協(xié)議類型</b></p><p><b>  1代表Ping</b></p><p>  2代表Re ping</p><p>  3代表燈控/燈狀態(tài),使用數(shù)據(jù)狀態(tài)</p><p><b>  4代

71、表控制回復(fù)</b></p><p>  至此本次要考慮的軟件傳輸上的問題結(jié)束,具體的整個程序見附錄。</p><p><b>  4調(diào)試現(xiàn)象及說明</b></p><p>  通過上述的硬件和軟件的介紹和注意事項進行硬件和軟件的設(shè)計,最終設(shè)計出一套可以實際使用的實物系統(tǒng),對該地同進行一定的調(diào)試。</p><p&g

72、t;  調(diào)試過程中,需要一個無線串口模塊和電腦的串口進行直接相連,由電腦產(chǎn)生一個最原始的傳輸數(shù)據(jù)來模擬無線傳感器網(wǎng)絡(luò)內(nèi)部產(chǎn)生的傳輸?shù)臄?shù)據(jù)。通過操作計算機軟件通過無線串口模塊發(fā)射數(shù)據(jù)入無線傳感器網(wǎng)絡(luò),一一的進行調(diào)試。示意圖如圖所示:</p><p>  以下對無線傳感器網(wǎng)絡(luò)產(chǎn)生的數(shù)據(jù)的回復(fù)進行一個說明,我們對前面已經(jīng)介紹過的地址的設(shè)定,控制命令的傳輸,ping命令等一一的進行說明。</p><p

73、>  圖 4.1設(shè)地址成功不返回數(shù)據(jù)</p><p>  前3位的數(shù)值為00 00 00 、代表是設(shè)地址的命令,單片機的id為01 01 01 01。id匹配之后進行設(shè)地址命令,設(shè)定的地址是01 02 05。設(shè)定地址成功所以不返回數(shù)據(jù)。</p><p>  圖 4.2 控制命令 未達(dá)到目的地址的數(shù)據(jù)返回</p><p>  中繼地址為01 02 05,起始地址

74、是01 01 01,目標(biāo)地址為01 02 03。倒數(shù)第4位為03,代表是控制的命令。未到達(dá)目標(biāo)地址,從01 02 05 傳輸?shù)?1 02 03并且跳數(shù)為01跳,所以下一個中繼地址為01 02 04,起始地址和目標(biāo)地址不變,依然為控制命令,所以其他位數(shù)不變。</p><p>  圖 4.3 控制命令 達(dá)到目的地址進行燈光控制</p><p>  中繼地址為01 02 05,起始地址是01 0

75、1 01,目標(biāo)地址為01 02 05。倒數(shù)第4位為03,代表是控制的命令。到達(dá)目標(biāo)地址,所以進行控制命令的執(zhí)行,沒有返回數(shù)據(jù)。</p><p>  圖 4.4 ping命令 未達(dá)到目的地址的數(shù)據(jù)返回</p><p>  中繼地址為01 02 05,起始地址是01 01 01,目標(biāo)地址為01 02 03。倒數(shù)第4位為01,代表是ping命令。未到達(dá)目標(biāo)地址,從01 02 05 傳輸?shù)?1 0

76、2 03并且跳數(shù)為01跳,所以下一個中繼地址為01 02 04,起始地址和目標(biāo)地址不變,依然為ping命令,所以其他位數(shù)不變。</p><p>  圖 4.5 ping命令 達(dá)到目的地址的數(shù)據(jù)返回reping命令</p><p>  中繼地址為01 02 05,起始地址是01 01 01,目標(biāo)地址為01 02 05,倒數(shù)第4位為01,代表是ping命令。到達(dá)目標(biāo)地址,需要返回reping命

77、令,所以倒數(shù)第4位變成了02 ,并且在reping命令中是從01 02 05起始的,目標(biāo)地址為01 01 01 。即需要將起始地址和目標(biāo)地址進行互換。</p><p>  圖 4.4 ping命令 未達(dá)到目的地址的數(shù)據(jù)返回</p><p>  中繼地址為01 02 05,起始地址是01 01 01,目標(biāo)地址為01 02 03。倒數(shù)第4位為02,代表是reping命令。未到達(dá)目標(biāo)地址,從01

78、 02 05 傳輸?shù)?1 02 03并且跳數(shù)為01跳,所以下一個中繼地址為01 02 04,起始地址和目標(biāo)地址不變,依然為reping命令,所以其他位數(shù)不變。</p><p>  圖 4.4 reping命令 達(dá)到目的地址</p><p>  中繼地址為01 02 05,起始地址是01 01 01,目標(biāo)地址為01 02 05。倒數(shù)第4位為02,代表是reping命令。到達(dá)目標(biāo)地址,進行一定

79、的控制顯示網(wǎng)絡(luò)通路。</p><p><b>  結(jié)論</b></p><p>  通過前后將近5個月的硬件設(shè)計,軟件調(diào)試。得出了以下幾個結(jié)論:</p><p>  1、89c5612和基于cc1101的無線串口通訊模塊的硬件確實可以完成無線傳感器網(wǎng)絡(luò)通訊的任務(wù)。</p><p>  2、本次設(shè)計的無線傳感器網(wǎng)絡(luò)確實可以

80、完成數(shù)據(jù)自行通訊,自行按最短路徑傳輸完成通信任務(wù)。</p><p>  3、這套軟件確實可以完成地址設(shè)定,網(wǎng)絡(luò)是否通暢的檢查。</p><p>  4、采用的無線串口通訊模塊和89c5612單片機,都是功耗較小的模塊,所以整體耗能較小。</p><p>  除了實現(xiàn)的功能之外,本次設(shè)計還有以下的一些不足之處:由于基于cc1101的無線串口模塊比較昂貴,所以整個無線傳

81、感器網(wǎng)絡(luò)的構(gòu)建是成本是計較昂貴的。這限制了無線傳感器網(wǎng)絡(luò)的搭建和使用。還有就是最短路徑算法是基于一定的抽象和假設(shè)的前提之下,可能不能真正的達(dá)到最短路徑傳輸?shù)哪康摹S幸欢ǖ馁Y源的浪費。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]郁有文,常健,程續(xù)紅.傳感器原理及工程應(yīng)用[TP].西安:西安電子科技大學(xué)出版社,2003</p>

82、<p>  [2] 陳林星.無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用[TP].電子工業(yè)出版社.2009.3.</p><p>  [3] 汪 濤.無線傳感器技術(shù)導(dǎo)論[TP].清華大學(xué)出版社.2008.2.</p><p>  [4] 崔遜學(xué),左從菊.無線傳感器網(wǎng)絡(luò)簡明教程[TP]. 清華大學(xué)出版社. 2009.7.</p><p>  [5] 李文峰.無線傳感器網(wǎng)絡(luò)與移

83、動機器人控制[TP].科學(xué)出版社.2009.1.</p><p>  [6] 崔遜學(xué),趙 堪,王成.無線傳感器網(wǎng)絡(luò)的領(lǐng)域應(yīng)用與技術(shù)設(shè)計[TP].國防工業(yè)出版社.2009.5.</p><p>  [7] 李朝青.單片機原理及接口技術(shù).北京航空航天大學(xué)出版社.2005.10</p><p>  [8] 王玲芳,費 嵐,嚴(yán)正香.移動無線傳感器網(wǎng)——原理、應(yīng)用和發(fā)展方向.

84、機械工業(yè)出版社.2010.1</p><p>  [9] 謝希仁.計算機網(wǎng)絡(luò)(第5版).電子工業(yè)出版社.2010.4</p><p>  [10] 何立民.MCS-51系列單片機應(yīng)用系統(tǒng)設(shè)計系統(tǒng)配置與接口技術(shù)[M].北京航空航天大學(xué)出版社,1999.</p><p>  [11] 黎連業(yè),郭春芳,向東明.無線網(wǎng)絡(luò)及其應(yīng)用技術(shù).清華大學(xué)出版社,2004.</p&

85、gt;<p>  [12] 孫利民, 李建忠等.無線傳感器網(wǎng)絡(luò).清華大學(xué)出版社, 2005.5.</p><p>  [13] 張少軍.無線傳感器網(wǎng)絡(luò)技術(shù)及應(yīng)用.中國電力出版社,2010. </p><p>  [14] 孫增圻,張再興,鄧志東.智能控制理論與技術(shù).清華大學(xué)出版社,1997</p><p>  [15] 倪志蓮.單片機應(yīng)用技術(shù)[M].北

86、京理工大學(xué)出版社, 2007.06.</p><p>  [16] 胡漢才.單片原理及其接口技術(shù)[M].北京清華大學(xué)出版社.2008</p><p>  [17] 李曉維,徐勇軍,任豐原.無線傳感器網(wǎng)絡(luò)技術(shù)[M].北京理工大學(xué)出版社, 2007.</p><p>  [18] 孫利民,李建中,陳 渝等.無線傳感器網(wǎng)絡(luò)[M].清華大學(xué)出版社, 2005.</p&

87、gt;<p>  [19]Tilak S, Abu- Ghazaleh N B, Heinzelman W. A Taxonomy of Wireless Micro- Sensor Network Models. Mobile Computing and communications review. 2002.</p><p>  [20] T. Hunter and A. Nosratinia.

88、 Cooperation Diversity Through Coding. Proc. International Symposium on Information Theory,2002</p><p><b>  附錄</b></p><p>  #include <STC12C56.h></p><p>  #include

89、 "Glob.H"</p><p>  //在此全局定義默認(rèn)地址</p><p>  extern unsigned char Addr_DY;</p><p>  extern unsigned char Addr_Z;</p><p>  extern unsigned char Addr_X;</p>

90、<p>  //宏定義單片機id,方式有待改進</p><p>  #define ID0 2</p><p>  #define ID1 2</p><p>  #define ID2 2</p><p>  #define ID3 2</p><p>  //全局定義默認(rèn)跳級</p><

91、;p>  extern unsigned char Max_Y;</p><p>  extern unsigned char Max_Z;</p><p>  extern unsigned char Max_X;</p><p>  void SendFrame0(unsigned char cmd,unsigned char data1,unsigned

92、 char data2,unsigned char data3,unsigned char data4,unsigned char sumd); </p><p>  //sbit Led_Com=P1^3;//紅外通信</p><p>  bit Led_Com;</p><p>  unsigned char Senddata[16]; </p>

93、<p>  unsigned char Rev_i=0; </p><p>  unsigned char RevData[16]; //接受字節(jié) </p><p>  unsigned char framdata[16];</p><p>  unsigned char Send_i=0;&

94、lt;/p><p>  bit Com_ROK=0;</p><p>  bit Com_SOK=1;</p><p>  bit FindCom=0;</p><p>  //--------------------------------------------------------------------------------</

95、p><p>  unsigned char AUXR0;</p><p>  bit EADC_SPI0;</p><p>  void CloseInit()</p><p>  { AUXR0=AUXR;</p><p>  EADC_SPI0=EADC_SPI;</p><p>  AUXR=

96、0X00;</p><p>  EADC_SPI=0;</p><p><b>  }</b></p><p>  //--------------------------------------------------------------------------------</p><p>  void SendF

97、rame1() </p><p>  { unsigned char fori; </p><p>  for(fori=0;fori<16;fori++)</p><p>  Senddata[fori]=framdata[fori];</p><p><b>  Send_i=0;</b></p>

98、<p>  CloseInit();</p><p>  SBUF=Senddata[0];</p><p>  Com_SOK=0;</p><p>  while(!Com_SOK);</p><p><b>  }</b></p><p>  //----------------

99、----------------------------------------------------------------</p><p>  void FrameProcess()</p><p><b>  { </b></p><p>  unsigned char fchange; //目標(biāo)地址和源地址交換用的變量</p&

100、gt;<p>  //SendFrame0(0xf7,0x33,0x11,0x11,0x11,0x11);</p><p>  if((framdata[1]==Addr_DY)&&(framdata[2]==Addr_Z)&&(framdata[3]==Addr_X)) //中繼地址判斷</p><p><b>  { <

101、;/b></p><p>  if((framdata[5]==Addr_DY)&&(framdata[6]==Addr_Z)&&(framdata[7]==Addr_X)) //目的地址判斷</p><p><b>  { </b></p><p>  if(framdata[12]==0x01)

102、 //ping命令,需要回復(fù)</p><p><b>  {</b></p><p>  fchange=framdata[5];</p><p>  framdata[5]=framdata[8];</p><p>  framdata[8]=fchange;</p><p>  fchange

103、=framdata[6];</p><p>  framdata[6]=framdata[9];</p><p>  framdata[9]=fchange;</p><p>  fchange=framdata[7];</p><p>  framdata[7]=framdata[10];</p><p>  fra

104、mdata[10]=fchange; //起始地址,目的地址交換</p><p>  framdata[12]=2; // 回復(fù)reping </p><p>  //生成新的中繼地址 </p><p>  if(framdata[4]==1)//Z優(yōu)先</p><p><b>  { //層跳</b&g

105、t;</p><p>  if(Addr_Z<framdata[6]) //正向跳</p><p><b>  { </b></p><p>  unsigned char D_Addr=framdata[6]-Addr_Z; </p><p>  if(D_Addr>Max_Z)</p>&

106、lt;p>  { framdata[2]=Addr_Z+Max_Z;</p><p><b>  }</b></p><p><b>  else</b></p><p>  { framdata[2]=framdata[6];</p><p><b>  }</b>&l

107、t;/p><p><b>  }</b></p><p>  else if(Addr_Z>framdata[6]) //反向跳</p><p><b>  {</b></p><p>  unsigned char D_Addr=Addr_Z-framdata[6];</p>&

108、lt;p>  if(D_Addr>Max_Z)</p><p>  { framdata[2]=Addr_Z-Max_Z; </p><p><b>  }</b></p><p><b>  else</b></p><p>  { framdata[2]=framdata[6];

109、</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else//同層跳</b></p><p><b>  { </b></p><p>  if(Addr_X&

110、lt;framdata[7]) //正向跳</p><p>  { unsigned char D_Addr=framdata[7]-Addr_X;</p><p>  if(D_Addr>Max_X)</p><p>  { framdata[3]=Addr_X+Max_X;</p><p><b>  }</b>

111、;</p><p><b>  else</b></p><p>  { framdata[3]=framdata[7];</p><p><b>  }</b></p><p><b>  }</b></p><p>  else if(Addr_X&

112、gt;framdata[7]) //反向跳</p><p><b>  {</b></p><p>  unsigned char D_Addr=Addr_X-framdata[7];</p><p>  if(D_Addr>Max_X)</p><p>  { framdata[3]=Addr_X-Max_X;

113、 </p><p><b>  }</b></p><p><b>  else</b></p><p>  { framdata[3]=framdata[7];</p><p><b>  } </b></p><p><b>  }<

114、/b></p><p><b>  }</b></p><p><b>  }</b></p><p>  else if(framdata[4]==2)//X優(yōu)先</p><p><b>  {//同層跳</b></p><p>  if(Ad

115、dr_X<framdata[7]) //正向跳</p><p>  { unsigned char D_Addr=framdata[7]-Addr_X;</p><p>  if(D_Addr>Max_X)</p><p>  { framdata[3]=Addr_X+Max_X;</p><p><b>  }<

116、/b></p><p><b>  else</b></p><p>  { framdata[3]=framdata[7];</p><p><b>  }</b></p><p><b>  }</b></p><p>  else if(Ad

溫馨提示

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

最新文檔

評論

0/150

提交評論