在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于無線傳感器網(wǎng)絡(luò)技術(shù)實現(xiàn)msstatePAN協(xié)議棧的移植

電子設(shè)計 ? 來源:單片機與嵌入式系統(tǒng)應(yīng)用 ? 作者:陳彥明;王秋光 ? 2021-05-19 10:04 ? 次閱讀

無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSN)是由多個節(jié)點組成的面向任務(wù)的無線自組織網(wǎng)絡(luò),一般不需要很高的信道帶寬,但應(yīng)具有較低的傳輸延時和極低的功率消耗,使用戶能在有限的電池壽命內(nèi)完成任務(wù)。IEEE 802.15.4/ZigBee標(biāo)準(zhǔn)把低功耗、低成本作為主要目標(biāo),為無線傳感器網(wǎng)絡(luò)提供了一種互連互通的平臺。因此將ZigBee技術(shù)與無線傳感器網(wǎng)絡(luò)技術(shù)結(jié)合起來研究具有現(xiàn)實意義。

1 ZigBee技術(shù)的體系結(jié)構(gòu)

在ZigBee技術(shù)中,其體系結(jié)構(gòu)通常由層來量化它的各個簡化標(biāo)準(zhǔn)。每一層負(fù)責(zé)完成所規(guī)定的任務(wù),并且向上層提供服務(wù)。各層之間的接口通過所定義的邏輯鏈路來提供服務(wù)。ZigBee技術(shù)的體系結(jié)構(gòu)主要由物理(PHY)層、媒體接入控制(MAC)層、網(wǎng)絡(luò)/安全層以及應(yīng)用框架層構(gòu)成,其各層的分布如圖1所示。

2 ZigBee技術(shù)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

ZigBee技術(shù)網(wǎng)絡(luò)有2種拓?fù)浣Y(jié)構(gòu):星型拓?fù)浣Y(jié)構(gòu)和對等拓?fù)浣Y(jié)構(gòu),如圖2所示。其中定義了兩種設(shè)備:全功能設(shè)備(Full Funetion Device,F(xiàn)FD)和精簡功能設(shè)備(Re—dueed Function Device,RFD)。與RFD相比,F(xiàn)FD在硬件功能上比較完備。在通信能力方面,F(xiàn)FD可以與所有其他的FFD或RFD通信,而RFD只能和與其關(guān)聯(lián)的FFD進行通信。與RFD相關(guān)聯(lián)的FFD設(shè)備稱為該RFD的“協(xié)調(diào)器(Coordinator)”。在整個網(wǎng)絡(luò)中,有一個FFD充當(dāng)網(wǎng)絡(luò)協(xié)調(diào)器(PAN Coordinator)。除直接參與應(yīng)用外,網(wǎng)絡(luò)協(xié)調(diào)器還需要完成成員身份管理、鏈路狀態(tài)信息管理以及分組轉(zhuǎn)發(fā)等任務(wù)。

本文移植的協(xié)議棧拓?fù)浣Y(jié)構(gòu)是對等拓?fù)渚W(wǎng)絡(luò)中的一種——樹簇網(wǎng)絡(luò)。在樹簇網(wǎng)絡(luò)中大部分沒備為FFD,RFD只能作為樹枝末尾處的葉節(jié)點,這主要是由于RFD 一次只能連接一個FFD。任何一個FFD都可以作為主協(xié)調(diào)器,并為其他從設(shè)備或主設(shè)備提供同步服務(wù)。在整個PAN中,只要該設(shè)備相對于PAN巾其他設(shè)備具有更多資源,這樣的設(shè)備都可以成為該PAN的主協(xié)調(diào)器。

在建立一個PAN時,首先,PAN主協(xié)調(diào)器將其自身設(shè)置為一個簇標(biāo)識符(CID)為O的簇頭(CLH)。然后,選擇一個沒有使用的PAN標(biāo)識符,并向鄰近的其他設(shè)備以廣播的方式發(fā)送信標(biāo)幀,從而形成第一簇網(wǎng)絡(luò)。接收到信標(biāo)幀的候選設(shè)備可以在簇頭中請求加入該網(wǎng)絡(luò),如果PAN主協(xié)調(diào)器允許該設(shè)備加入,該設(shè)備就將主協(xié)調(diào)器作為它的父節(jié)點加到它的鄰近表中,成為該網(wǎng)絡(luò)的一個從設(shè)備;同樣,其他設(shè)備都按照同樣的方式,請求加入到網(wǎng)絡(luò)中。如果候選設(shè)備不能加入到該網(wǎng)絡(luò)中,那么它將尋找其他的父節(jié)點。在樹簇網(wǎng)絡(luò)中,最簡單的網(wǎng)絡(luò)結(jié)構(gòu)是只有一個簇的網(wǎng)絡(luò),但是多數(shù)網(wǎng)絡(luò)結(jié)構(gòu)由多個相鄰的網(wǎng)絡(luò)構(gòu)成。一旦第一簇網(wǎng)絡(luò)滿足預(yù)定的應(yīng)用或網(wǎng)絡(luò)需求,PAN主協(xié)調(diào)器將會指定一個從設(shè)備為另一個簇的簇頭,使得該從設(shè)備成為一個主協(xié)調(diào)器。隨后其他的從設(shè)備將逐個加入,形成一個多簇網(wǎng)絡(luò),如圖3所示。

3 無線傳感器網(wǎng)絡(luò)的節(jié)點結(jié)構(gòu)

本文移植的目標(biāo)板是自行設(shè)計的無線傳感器網(wǎng)絡(luò)節(jié)點模塊。其中,處理器模塊采用Atreel公司的AT—megal28L,無線通信模塊采用TI公司的CC2420,電源模塊使用NCPl402芯片將2節(jié)電池進行DC—DC變換后得到,傳感器模塊采用DSl8820。

CC2420利用SFD、FIFO、FIFOP和CCA四個引腳表示收發(fā)數(shù)據(jù)的狀態(tài)。ATmegal28L通過CC2420的SPI接口(CSn、SO、 SI、SCK)與CC2420交換數(shù)據(jù)、發(fā)送命令,利用RSTn引腳復(fù)位芯片;并且利用VREG_EN引腳使能CC2420的電壓調(diào)整器,使其產(chǎn)生 CC2420所需要的1.8 V電壓,從而使CC2420進入正常工作的狀態(tài)。CC2420通過單極天線PCB天線進行通信。節(jié)點總體框圖如圖4所示。

4 zigBee協(xié)議棧的移植

4.1 msstatePAN協(xié)議棧的移植

msstatePAN協(xié)議棧是由密西西比大學(xué)的R.Reese教授為廣大無線技術(shù)愛好者開發(fā)的精簡版ZigBee協(xié)議棧,基于標(biāo)準(zhǔn)C語言編寫,基本具備了 ZigBee協(xié)議標(biāo)準(zhǔn)所規(guī)定的功能,最新版本為V0.2.6,該版本支持多種開發(fā)平臺,包括PICDEM Z、CC2430評估板、MSP430+CC2420(Tmote)以及WIN32虛擬平臺。由于該協(xié)議棧的上述特點以及源代碼的開放性,本文選擇它作為學(xué)習(xí)和移植的對象。

移植是將msstatePAN協(xié)議棧在PICDEM Z平臺下的代碼移植到上面設(shè)計的目標(biāo)板中,采用winavr20070525作為編譯器,并通過JTAG接口將程序下載到目標(biāo)板中。下面介紹一下移植過程。

(1)編寫makefile文件

winavr 20070525采用GCC編譯器,要編寫makefile文件以完成程序的編譯。指定MCU為ATmegal28,定義CPU工作頻率F_CPU為8 000 000 Hz;定義編譯后生成的文件類型FORMAT為ihex;將TARGET改為項目主文件的文件名,由于后面測試用ing_pong.c這個文件,此處將 TARGET定義為ping_pong;最后定義SRC,在SRC中應(yīng)包含整個項目中的所有文件,并且各個文件名之間要用空格格開。協(xié)議棧為規(guī)定當(dāng)前編譯器編譯的是協(xié)調(diào)器代碼、IEEE 64位長地址等,要用到LRWPAN_COORDINATOR等宏定義,因此要在makefile文件中加入相應(yīng)的宏定義代碼。

(2) 替換與編譯器相關(guān)的定義

本移植用的是GCC編譯器,所以要將與PIC編譯器相關(guān)的代碼進行替換,為此修改compiler.h頭文件及特定編譯器的數(shù)據(jù)定義。例如對ROM數(shù)據(jù)類型進行替換,或者直接刪除該數(shù)據(jù)類型。

(3)移植與硬件平臺相關(guān)的部分

該部分代碼涉及的都是最底層的東西,通過對協(xié)議棧的透徹理解,總結(jié)出要修改的文件有halStack.c、hal.h、halHeepSpace.h、cc2420.c/.h、 evboard.c/.h、evbRadio.h、evbConfig.h等。其中halStack.c和evboard.c兩個文件改動很大。這兩個文件中包括硬件接口定義、串口定義、LED燈定義、硬件系統(tǒng)初始化定義,以及中斷處理函數(shù)和協(xié)議棧時鐘函數(shù)的實現(xiàn)。首先移植中斷處理函數(shù),注意采用下降沿觸發(fā)中斷。其次,移植協(xié)議棧時鐘,目標(biāo)板用ATmegal28L的定時器1作為協(xié)議棧的運行時鐘。由于單片機采用8 MHz晶振,當(dāng)定時器使用64分頻時(At—megal28L定時器1沒有128分頻),此時定時器計數(shù)一次所需要的時間為8μs,而在協(xié)議棧中每傳輸一個符號(symbo1)所需要的時間為16μs,故將定時器計數(shù)2次定義為一個symbol時間。所以在設(shè)計中,要修改hal—MacTicksToUs 函數(shù)及SYMBOLS_TO_MACTICKS(x)和MSECS_TO_MACTICKS(x)宏定義。

(4)對協(xié)議棧內(nèi)部各層進行適當(dāng)修改

這部分的移植工作與第3步相比簡單些,一些與硬件聯(lián)系緊密的MAC層和PHY層相關(guān)的函數(shù)都放在ev—board.c和halStack.c文件中。具體分析如下:

①根據(jù)自己的需求修改協(xié)議棧需要的堆棧,協(xié)議中默認(rèn)為l 024字節(jié),可以根據(jù)實際情況做些調(diào)整。

②debug.c函數(shù)中的一些定義在運行時需要大量RAM,如果選擇編譯的是協(xié)調(diào)器,則整個協(xié)議棧需要RAM存儲單元大于6KB,而ATmagal28L 內(nèi)部只有4 KB RAM,為此屏蔽了一些調(diào)試顯示信息,以達(dá)到系統(tǒng)要求。

③修改staticbind.h函數(shù),由于該協(xié)議棧是靜態(tài)分配地址,而該函數(shù)的作用就是定義其地址,所以該函數(shù)在整個協(xié)議棧運行中至關(guān)重要。首先要考慮其地址是不是和makefile中定義的相吻合,如果不吻合應(yīng)進行相應(yīng)修改,否則CC2420地址譯碼就通不過,以至于無法建立網(wǎng)絡(luò)。其次,應(yīng)該確定數(shù)據(jù)存儲是按大端模式還是小端模式,如果弄反了,地址就會不一樣。ATmegal28L是小端模式,這和PIC單片機是一致的,因此不需要修改,但要修改函數(shù)中的宏定義,讓編譯器選擇相應(yīng)的程序進行編譯,生成正確的地址。

(5)編譯下載

通過上面的移植,程序應(yīng)該能正確進行編譯以及鏈接,生成HEX文件;再用AVRStudio4.12軟件將程序下載到相應(yīng)節(jié)點中,進行協(xié)議棧測試。

4.2 測試方法

為了測試協(xié)議棧移植是否成功,采用2個節(jié)點進行實驗。其中,一個作為協(xié)調(diào)器,另一個作為RFD設(shè)備節(jié)點。在makefile中設(shè)定協(xié)調(diào)器的IEEE地址為 Ox001248000001216F,RFD設(shè)備的IEEE地址為0x0012480000012170,并使用ping_pong.c文件提供的功能進行測試。

首先完成網(wǎng)絡(luò)的建立,協(xié)調(diào)器調(diào)用aplFormNetwork()函數(shù)建立一個網(wǎng)絡(luò);然后等待RFD設(shè)備的加入,RFD設(shè)備調(diào)用 aplJoinNetwork()函數(shù)申請加入網(wǎng)絡(luò)。在網(wǎng)絡(luò)建立成功后執(zhí)行ping_pong過程,該過程就像打乒乓球一樣,先是協(xié)調(diào)器發(fā)送數(shù)據(jù)給RFD 設(shè)備,RFD設(shè)備接收到信息后回發(fā)給協(xié)調(diào)器。如此往返.這也是文件名為ping_pong的原因,具體程序流程如圖5所示。

編譯、鏈接ping_pong.c文件時務(wù)必注意:如果是協(xié)調(diào)器,—定要加入宏LRWPAN_COORDINATOR,否則編譯的程序為RFD設(shè)備的程序。編譯完成后,將生成的文件分別下載至各節(jié)點,并將節(jié)點連接到串口調(diào)試助手,按程序要求設(shè)置串口調(diào)試助手的參數(shù),如波特率、數(shù)據(jù)位長度等。完成這些設(shè)置后,分別打開各節(jié)點,首先啟動協(xié)調(diào)器節(jié)點,然后再啟動RFD設(shè)備節(jié)點。圖6是協(xié)凋器連接的串口調(diào)試助手的顯示信息。

從圖6中可以知道,節(jié)點Ox0012480000012170加入到網(wǎng)絡(luò),其IEEE的長地址為Ox0012480000012170;協(xié)調(diào)器分配給該節(jié)點的短地址為Oxl699,協(xié)調(diào)器有一個鄰居節(jié)點,2個節(jié)點之間已經(jīng)開始數(shù)據(jù)的傳送。由此可見,移植成功。

結(jié)語

無線傳感器網(wǎng)絡(luò)是一門新興的技術(shù),目前傳感器網(wǎng)絡(luò)硬件節(jié)點價格比較昂貴,軟件支持也有不足。如果能移植一個相對成熟的協(xié)議棧,將最大限度地降低節(jié)點成本。本文就是從這個角度出發(fā),設(shè)計出了相應(yīng)的硬件平臺,并成功移植了msstatePAN協(xié)議棧,從學(xué)習(xí)和科研角度考慮具有借鑒意義。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2551

    文章

    51099

    瀏覽量

    753606
  • 無線
    +關(guān)注

    關(guān)注

    31

    文章

    5453

    瀏覽量

    173309
  • 電池
    +關(guān)注

    關(guān)注

    84

    文章

    10576

    瀏覽量

    129692
收藏 人收藏

    評論

    相關(guān)推薦

    無線傳感器網(wǎng)絡(luò)技術(shù)及應(yīng)用現(xiàn)狀

    無線傳感器網(wǎng)絡(luò)技術(shù)及應(yīng)用現(xiàn)狀摘 要:無線傳感器網(wǎng)絡(luò)是當(dāng)前信息領(lǐng)域的一個研究熱點。本文總結(jié)
    發(fā)表于 10-26 16:22

    無線傳感器網(wǎng)絡(luò)技術(shù)對現(xiàn)代城市發(fā)展影響的若干關(guān)鍵應(yīng)用分析

    節(jié)點變得越來越廉價。由數(shù)量不等的無線傳感器節(jié)點構(gòu)建的無線傳感器網(wǎng)絡(luò)正被廣泛配置在各種不同領(lǐng)域的應(yīng)用【關(guān)鍵詞】:
    發(fā)表于 04-24 10:05

    無線傳感器網(wǎng)絡(luò)技術(shù)發(fā)展現(xiàn)狀

    無線傳感器網(wǎng)絡(luò)技術(shù)發(fā)展現(xiàn)狀
    發(fā)表于 08-14 22:31

    淺談無線傳感器技術(shù)的選擇

    無線傳感器網(wǎng)絡(luò)構(gòu)架第三部分應(yīng)用軟件,這部分包括各種根據(jù)用戶現(xiàn)有開發(fā)的軟件代碼,這些代碼目前大部分是采用C語言來進行開發(fā),可以之間以接口和API方式,調(diào)用軟件協(xié)議
    發(fā)表于 11-05 16:04

    無線傳感器網(wǎng)絡(luò)技術(shù)在人體參數(shù)采集中的應(yīng)用有哪些

    的測量;在模擬環(huán)境(人工氣候室)下對真人或假人體表溫濕度的測量,根據(jù)測量值給出主客觀評價。在進行真實環(huán)境下人體穿著動態(tài)實驗時,無線數(shù)據(jù)采集傳輸方式會帶來很大方便。無線傳感器網(wǎng)絡(luò)技術(shù)發(fā)展
    發(fā)表于 08-27 06:55

    無線傳感器網(wǎng)絡(luò)技術(shù)有哪些好處

    無線傳感器網(wǎng)絡(luò)技術(shù)有哪些好處?無線傳感器網(wǎng)絡(luò)技術(shù)的應(yīng)用
    發(fā)表于 03-17 08:30

    無線傳感器網(wǎng)絡(luò)技術(shù)環(huán)境應(yīng)用進展

    無線傳感器網(wǎng)絡(luò)技術(shù)環(huán)境應(yīng)用進展摘要: 過去10 年來, 無線傳感器網(wǎng)絡(luò)迅速發(fā)展成一門應(yīng)用
    發(fā)表于 05-28 15:00 ?33次下載

    無線傳感器網(wǎng)絡(luò)技術(shù)

    無線傳感器網(wǎng)絡(luò)技術(shù) 無線傳感器網(wǎng)絡(luò)(Wireless Sensor Net
    發(fā)表于 01-09 12:59 ?1101次閱讀

    無線傳感器網(wǎng)絡(luò)CSMA協(xié)議的設(shè)計與實現(xiàn)

    無線傳感器網(wǎng)絡(luò)CSMA協(xié)議的設(shè)計與實現(xiàn) CSMA協(xié)議作為網(wǎng)
    發(fā)表于 03-29 15:12 ?974次閱讀
    <b class='flag-5'>無線</b><b class='flag-5'>傳感器</b><b class='flag-5'>網(wǎng)絡(luò)</b>CSMA<b class='flag-5'>協(xié)議</b>的設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    無線傳感器網(wǎng)絡(luò)技術(shù)專利標(biāo)準(zhǔn)

    ??? 傳感器網(wǎng)絡(luò)技術(shù)的發(fā)展和應(yīng)用取得了很大的進展。在家庭自動化、工業(yè)自動化、樓宇控制、智能計量和電源管理市場等市場尤為顯著。同時,無線傳感器網(wǎng)絡(luò)
    發(fā)表于 07-22 11:19 ?536次閱讀

    基于ZigBee協(xié)議無線傳感器網(wǎng)絡(luò)的設(shè)計

    首先介紹了無線傳感器網(wǎng)絡(luò)的基本拓?fù)浣Y(jié)構(gòu)與傳感器節(jié)點的結(jié)構(gòu),詳細(xì)說明了基于ZigBee協(xié)議
    發(fā)表于 04-05 14:49 ?179次下載
    基于ZigBee<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>的<b class='flag-5'>無線</b><b class='flag-5'>傳感器</b><b class='flag-5'>網(wǎng)絡(luò)</b>的設(shè)計

    無線傳感器網(wǎng)絡(luò)技術(shù)及設(shè)計應(yīng)用

    本專題為你講述無線傳感器網(wǎng)絡(luò)技術(shù)及其相關(guān)設(shè)計應(yīng)用。內(nèi)容涵蓋無線傳感器網(wǎng)絡(luò)含義、體系結(jié)構(gòu)、通信標(biāo)準(zhǔn)
    發(fā)表于 10-26 18:01
    <b class='flag-5'>無線</b><b class='flag-5'>傳感器</b><b class='flag-5'>網(wǎng)絡(luò)技術(shù)</b>及設(shè)計應(yīng)用

    [無線傳感器網(wǎng)絡(luò)技術(shù)].彭力.掃描版

    電子發(fā)燒友網(wǎng)站提供《[無線傳感器網(wǎng)絡(luò)技術(shù)].彭力.掃描版.txt》資料免費下載
    發(fā)表于 03-04 04:27 ?0次下載

    如何使用ZigBee技術(shù)來設(shè)計無線傳感器網(wǎng)絡(luò)的詳細(xì)構(gòu)建與應(yīng)用資料概述

    基于無線傳感器網(wǎng)絡(luò)和ZigBee協(xié)議特點分析了ZigBee協(xié)議的體系結(jié)構(gòu)、
    發(fā)表于 09-07 15:12 ?18次下載
    如何使用ZigBee<b class='flag-5'>技術(shù)</b>來設(shè)計<b class='flag-5'>無線</b><b class='flag-5'>傳感器</b><b class='flag-5'>網(wǎng)絡(luò)</b>的詳細(xì)構(gòu)建與應(yīng)用資料概述

    使用MSstate PAN協(xié)議和嵌入式技術(shù)設(shè)計無線傳感器網(wǎng)絡(luò)的詳細(xì)資料說明

    本文介紹一種采用msstatePAN 協(xié)議和嵌入式技術(shù)開發(fā)的無線傳感器
    發(fā)表于 10-15 16:00 ?18次下載
    使用MSstate PAN<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>和嵌入式<b class='flag-5'>技術(shù)</b>設(shè)計<b class='flag-5'>無線</b><b class='flag-5'>傳感器</b><b class='flag-5'>網(wǎng)絡(luò)</b>的詳細(xì)資料說明
    主站蜘蛛池模板: 夜夜狠| 欧美黄色免费看| 国产欧美亚洲精品第二区首页| 久久精品亚洲一区二区三区浴池| 久久国产视频一区| 日本黄色免费网站| 大又大粗又爽又黄少妇毛片| 久久免费精品高清麻豆| 亚洲瑟瑟网| 四虎在线永久| 人人看人人添人人爽| 久久久夜色精品国产噜噜| 日本三级456| 免费男女| 狼人激情网| 加勒比在线免费视频| 亚洲已满18点击进入在线观看| 久久久精品久久久久久久久久久| 人人天天爱天天做天天摸| 国产男女怕怕怕免费视频| 色网站综合| 好色999| 凹厕所xxxxbbbb偷拍视频| 男生脱美女内裤内衣动态图| 欧美性喷潮| 毛片在线播放网址| 一级特级aaa毛片| 免费高清一级欧美片在线观看| 日韩一级特黄| 亚洲一区二区三区高清视频 | 四虎www.| 国产图片综合| 五月激情丁香| 欧美午夜色视频国产精品| 欧美黄色免费网站| 五月婷久久| 国产精品嫩草影院在线播放| 免费播放视频| 深夜释放自己vlog糖心旧版本| 午夜插| 一级片免费在线|