Zigbee無線組網(wǎng)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及物聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體涉及ZIGBEE無線組網(wǎng)方法。
【背景技術(shù)】
[0002]無線傳感器網(wǎng)絡(luò)(WSN:WirelessSensor Network)綜合了傳感器技術(shù)、嵌入式計(jì)算技術(shù)、現(xiàn)代網(wǎng)絡(luò)及無線通信技術(shù)、分布式信息處理技術(shù)等,能夠通過各類集成的微型傳感器共同的實(shí)時(shí)監(jiān)測(cè)、感知和采集各種環(huán)境或監(jiān)測(cè)對(duì)象中的信息,人們獲得信息的能力得到了極大的擴(kuò)展,它是21世紀(jì)產(chǎn)生巨大影響的技術(shù)之一。目前用于無線傳感網(wǎng)絡(luò)的主要網(wǎng)絡(luò)協(xié)議有Bluetooth、ZigBee、W1-Fi以及IrDA等。其中,在各類無線傳感網(wǎng)絡(luò)中,ZigBee技術(shù)是具有延時(shí)短,低成本,低功耗的無線通信應(yīng)用的首選技術(shù)。
[0003]隨著微電子技術(shù)、計(jì)算技術(shù)以及無線通信技術(shù)的進(jìn)步,推動(dòng)了低功耗多功能傳感器的快速發(fā)展,使其在微小體積內(nèi)能夠集成信息采集、數(shù)據(jù)處理和無線通信等多種功能。無線傳感器網(wǎng)絡(luò)就是由部署在監(jiān)測(cè)區(qū)域內(nèi)大量的廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過無線通信方式形成的一個(gè)多跳的自組織的網(wǎng)絡(luò)系統(tǒng),其目的是共同協(xié)作感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中檢測(cè)對(duì)象的信息,并把所采集的信息發(fā)送給觀察者。
[0004]當(dāng)今,個(gè)域無線網(wǎng)絡(luò)的出現(xiàn)極大的方便了人類的生活,并極力的在改變?nèi)祟惖纳睿娮有畔?、半?dǎo)體技術(shù)的發(fā)展又為個(gè)域無線網(wǎng)絡(luò)帶來了更多的機(jī)遇和挑戰(zhàn)。無線通信在人們的生活中扮演越來越重要的角色。無線傳感器網(wǎng)絡(luò)的發(fā)展是由傳感器網(wǎng)絡(luò)開始的。無線傳感器網(wǎng)絡(luò)的發(fā)展大致經(jīng)過了四個(gè)階段:第一階段,將傳統(tǒng)傳感器采用點(diǎn)對(duì)點(diǎn)的連接方式,進(jìn)行數(shù)據(jù)的傳輸,從而構(gòu)成的傳感網(wǎng)絡(luò),這種連接方式的傳感器構(gòu)成了傳感器網(wǎng)絡(luò)的最初模型。第二階段,隨著電子通信技術(shù)的發(fā)展,傳感器網(wǎng)絡(luò)同時(shí)也具有了獲取多種信息和綜合處理信息的能力,通過與傳感控制器的相聯(lián),組成了具有信息綜合處理能力的傳感器網(wǎng)絡(luò)。第三階段,就是具有智能獲得信息的傳感器網(wǎng)的通信技術(shù)進(jìn)入局部監(jiān)控網(wǎng)絡(luò)階段,并且可以通過網(wǎng)關(guān)和路由器實(shí)現(xiàn)與Internet相連,從而形成智能化傳感網(wǎng)絡(luò)。第四階段,伴隨著低能耗的模擬和數(shù)字電路技術(shù)、無線電射頻技術(shù)和傳感技術(shù)的發(fā)展,開發(fā)小體積、低成本、低能耗的微型傳感器,在實(shí)際應(yīng)用中需要成千上萬個(gè)這種微傳感器一起協(xié)調(diào)工作,它們之間通信的方式也由有線通信轉(zhuǎn)變?yōu)闊o線通信,最終形成無線傳感器網(wǎng)絡(luò)。在第四代無線傳感網(wǎng)絡(luò)中,采用大量的具有多功能、多信息獲取能力的傳感器,在通信方式上采用自組織無線接入,從而構(gòu)成了現(xiàn)代意義的無線傳感器網(wǎng)絡(luò)。
【發(fā)明內(nèi)容】
[0005]針對(duì)上述問題,本發(fā)明要解決的技術(shù)問題是提供一種網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量大,網(wǎng)絡(luò)具有自組織性的ZIGBEE無線組網(wǎng)方法。
[0006]本發(fā)明的ZIGBEE無線組網(wǎng)方法,它包含以下步驟:
一、通過軟件接口將程序下載到芯片;
二、通過硬件底層驅(qū)動(dòng)處理器初始化和芯片初始化; 三、通過協(xié)調(diào)器構(gòu)建并發(fā)送數(shù)據(jù);
四、終端設(shè)備入網(wǎng)。
[0007]作為優(yōu)選,所述的軟件接口中MAC層與應(yīng)用程序之間為用戶提供了三種接口進(jìn)行各種信息的交換三個(gè)接口分別為MLME-SAP、MCPS-SAP和ASP-SAP。
[0008]MAC層與上層之間的3個(gè)接口有6個(gè)服務(wù)訪問點(diǎn)(SAP),又分別調(diào)用以6個(gè)不同C語言函數(shù)來完成不同的通信。
[0009]作為優(yōu)選,所述的硬件初始化主要包括處理器初始化和射頻芯片MC13192初始化,處理器初始化程序包括SPI接口設(shè)置、中斷功能設(shè)置、IXD驅(qū)動(dòng)軟件、SCI串口設(shè)置以及ATD轉(zhuǎn)換初始化等。MC13192的中斷引腳與處理器的外部中斷申請(qǐng)引腳相連,處理器的外中斷的控制與狀態(tài)信息集中在一個(gè)控制寄存器IRQSC中。硬件中的應(yīng)用設(shè)置為下降沿觸發(fā),在邊沿觸發(fā)時(shí)IRQACK位寫入1,為了清除以前可能產(chǎn)生的中斷。
[0010]1、處理器的SPI接口與5個(gè)寄存器有關(guān),分別為SPI控制寄存器I (SPI1C1)、SPI控制寄存器2 (SPI1C2)、SPI波特率寄存器(SPI1BR)、SPI狀態(tài)寄存器(SPIlS)以及SPI數(shù)據(jù)寄存器(SPIlD);
2、MCU初始化包括了I/O 口、SPI和中斷等初始化;
3、處理器對(duì)MC13192所有的操作都是通過SPI接口來完成的,在實(shí)現(xiàn)MC13192的初始化時(shí),先要完成對(duì)SPI接口的程序設(shè)計(jì)。SPI接口程序有對(duì)射頻芯片內(nèi)部寄存器的采用的是單字節(jié)讀寫模式。SPI接口的CE信號(hào)線被拉低就開始了一次SPI操作,在單字讀寫方式下,數(shù)據(jù)格式一次實(shí)際的數(shù)據(jù)操作長(zhǎng)度為24位;
如果SPI為讀操作時(shí),傳遞參數(shù)為寄存器的地址,函數(shù)返回時(shí)讀取寄存器的16位值。其SPI的讀操作通過函數(shù)UINT16 SPIDrvRead (UINT8 u8Addr)來實(shí)現(xiàn);
MC13192內(nèi)部有125字節(jié)的收發(fā)緩沖區(qū),收發(fā)緩沖區(qū)的讀寫采用SPI讀寫方式。
[0011]4、IXD模塊的功能主要用來顯示接收端接收的數(shù)據(jù),直觀的把信息傳遞給觀測(cè)者;
5、MC13213內(nèi)部具有串行通信模塊SCI,通過對(duì)SCI設(shè)置,可以實(shí)現(xiàn)硬件平臺(tái)通過串口與PC機(jī)相連,選擇波特率為38400b/s ;
MC13213的CLKO管腳輸出8種時(shí)鐘頻率,分別為可以為16MHz、8MHz、4MHz、2MHz、1MHz、62.5ΚΗζ、32.768ΚΗζ 和 16.393ΚΗζ。在軟件編程中可以通過 MLMESetMC13192ClockRate 函數(shù)來實(shí)現(xiàn)輸出時(shí)鐘的大小。
[0012]作為優(yōu)選,所述的協(xié)調(diào)器在一個(gè)ZigBee無線網(wǎng)絡(luò)中應(yīng)最先啟動(dòng)。一個(gè)全功能的設(shè)備在啟動(dòng)后,它將先進(jìn)行能量檢測(cè),檢查周圍有沒有其它的ZigBee網(wǎng)絡(luò)的存在,如果存在一個(gè)ZigBee網(wǎng)絡(luò),選擇一個(gè)父設(shè)備提出入網(wǎng)請(qǐng)求,并等待父設(shè)備的請(qǐng)求響應(yīng)。如果沒有檢測(cè)到ZigBee網(wǎng)絡(luò),那么這個(gè)全功能設(shè)備就將作為協(xié)調(diào)器開始工作。在開始工作前,F(xiàn)FD設(shè)備根據(jù)能量掃描的結(jié)果選擇一個(gè)合適的信道,并選擇PANID,網(wǎng)絡(luò)短地址等功能完成后啟動(dòng)協(xié)調(diào)器,允許終端設(shè)備加入。能量掃描的目的是檢測(cè)協(xié)調(diào)器的工作區(qū)域內(nèi)所指定的信道上沒有其它的無線設(shè)備在工作,為協(xié)調(diào)器選擇信道提供必要的支持,所以終端設(shè)備不需要能量檢測(cè)。
[0013]設(shè)備通過掃描方式獲得PAN的基本信息后,就可以向協(xié)調(diào)器發(fā)送入網(wǎng)請(qǐng)求,這一過程有終端設(shè)備來實(shí)現(xiàn)。協(xié)調(diào)器接收到終端設(shè)備發(fā)送的入網(wǎng)請(qǐng)求后,如果同意接收則分配給該設(shè)備一個(gè)16位短地址,并向設(shè)備發(fā)送相應(yīng)原語。
[0014]設(shè)備入網(wǎng)以后就可以實(shí)現(xiàn)數(shù)據(jù)的發(fā)送與接收了,協(xié)調(diào)器在向RFD設(shè)備發(fā)送數(shù)據(jù)之前,先把數(shù)據(jù)緩存。在使用信標(biāo)幀時(shí),協(xié)調(diào)器將要發(fā)送的數(shù)據(jù)信息存放在信標(biāo)幀里,RFD設(shè)備收到信標(biāo)后,發(fā)現(xiàn)有協(xié)調(diào)器發(fā)過來的數(shù)據(jù),則向協(xié)調(diào)器發(fā)送一個(gè)數(shù)據(jù)請(qǐng)求命令,協(xié)調(diào)器接收到這個(gè)命令后,將數(shù)據(jù)發(fā)送給RFD設(shè)備。如果網(wǎng)絡(luò)不使用信標(biāo),則協(xié)調(diào)器等待接收RFD設(shè)備發(fā)來的詢問原因,當(dāng)接收到詢問后,把數(shù)據(jù)發(fā)送給相應(yīng)的RFD設(shè)備。此外,在使用信標(biāo)網(wǎng)絡(luò)中,協(xié)調(diào)器和RFD設(shè)備都可以運(yùn)行低功耗模式。而在非信標(biāo)網(wǎng)絡(luò),協(xié)調(diào)器要用穩(wěn)定的電源,因?yàn)閰f(xié)調(diào)器一直處于接收狀態(tài)。不管使不使用信標(biāo),發(fā)送數(shù)據(jù)的方式是一樣的。首先構(gòu)造一個(gè)數(shù)據(jù)幀,然后把這個(gè)用數(shù)據(jù)請(qǐng)求原語構(gòu)造的數(shù)據(jù)幀發(fā)送給MAC層,可以使用函數(shù)voidApp_TransmitData(uint8_t*pData, uint8_t length)傳輸串口接收緩沖區(qū)接收到的數(shù)據(jù)。
[0015]作為優(yōu)選,所述的終端設(shè)備加入網(wǎng)絡(luò)的過程主要包括網(wǎng)絡(luò)的發(fā)現(xiàn)、與協(xié)調(diào)器建立連接請(qǐng)求,建立連接后就可以發(fā)送數(shù)據(jù)了。
[0016]本發(fā)明選擇WindowsXP操作系統(tǒng)、CodeWarr1r軟件開發(fā)環(huán)境以及硬件仿真器USBMulti