基于ZigBee技術(shù)的機(jī)動(dòng)車綜合檢測(cè)系統(tǒng)的研究
CC2430與主控制器是通過SPI連接的,其中主控制器處于主模式,CC2430處于從模式。LPC2292還有4個(gè)I/O與CC2430相連,主要作用為必要時(shí)查詢CC2430的狀態(tài)。CC2430使用SFD、 FIFO、 FIFOP和CCA 4個(gè)引腳表示收發(fā)數(shù)據(jù)的狀態(tài)。SFD腳高電平表示處于接收狀態(tài);FIFO和FIFOP引腳表示接收FIFO緩存區(qū)的狀態(tài);CCA引腳在信道有信號(hào)時(shí)輸出高電平,它只在接收狀態(tài)下有效。CC2430是一個(gè)半雙工的RF芯片,在同一時(shí)刻只處于一種工作狀態(tài)。CC2430有15個(gè)命令寄存器,每個(gè)寄存器都有一個(gè)固定的地址。發(fā)送緩沖與接收緩沖是分開的:TXFIFO、RXFIFO各128 bit。
協(xié)調(diào)器的硬件結(jié)構(gòu)與終端節(jié)點(diǎn)類似,在此不再贅述。數(shù)據(jù)傳輸?shù)母袷揭?guī)定如表1,幀數(shù)據(jù)格式為:檢測(cè)工位編號(hào)(1B)+數(shù)據(jù)內(nèi)容(4B)。
2.1 硬件數(shù)據(jù)發(fā)送程序
發(fā)送程序首先通過查詢狀態(tài)字來確保CC2430允許發(fā)送,若允許發(fā)送,程序先把殘留在TXFIFO中的信息清空,然后將待發(fā)送的數(shù)據(jù)包通過SPI寫入TXFIFO中。然后通過SPI接口觸發(fā)發(fā)送命令,即STROBE_ STXONCCA。通過狀態(tài)位來判斷是否發(fā)送成功,若不成功則調(diào)用CSMS/CA的算法多次嘗試;若發(fā)送成功,則向上層返回發(fā)送成功的原語(yǔ)。程序流程如圖3所示。本文引用地址:http://m.butianyuan.cn/article/197661.htm
2.2 硬件數(shù)據(jù)接收程序
當(dāng)CC2430接收到一個(gè)有效的數(shù)據(jù)包后,會(huì)通過拉高FIFOP引腳電平指示數(shù)據(jù)包的到來。主控制器檢測(cè)到FIFOP的高電平會(huì)觸發(fā)外部中斷,利用中斷函數(shù)來接收數(shù)據(jù),此中斷優(yōu)先級(jí)設(shè)為最高。程序流程如圖4所示。
3 網(wǎng)絡(luò)建立與通信
本文設(shè)計(jì)的網(wǎng)絡(luò)系統(tǒng)未使用ZigBee聯(lián)盟定義的標(biāo)準(zhǔn)配置文件,而在應(yīng)用程序中對(duì)網(wǎng)絡(luò)進(jìn)行配置。設(shè)置節(jié)點(diǎn)的最大子節(jié)點(diǎn)數(shù)為5,網(wǎng)絡(luò)深度為3,子節(jié)點(diǎn)中最大路由器個(gè)數(shù)為3,由此可計(jì)算出網(wǎng)絡(luò)最大節(jié)點(diǎn)數(shù)為66。
在ZigBee技術(shù)定義的LR-WPAN中,網(wǎng)絡(luò)建立的起點(diǎn)是PAN網(wǎng)絡(luò)協(xié)調(diào)器(PAN Coordinator)。節(jié)點(diǎn)在兩種情況下將建立一個(gè)新的PAN網(wǎng)絡(luò): (1)在主動(dòng)掃描時(shí)沒有收到任何信標(biāo)幀; (2)收到的信標(biāo)幀參數(shù)與自身節(jié)點(diǎn)能力不相匹配。
建立PAN網(wǎng)絡(luò)步驟如下:
(1)協(xié)調(diào)器節(jié)點(diǎn)加電后,首先由網(wǎng)絡(luò)層發(fā)布NLME-NETWORK-FORMATION.request 原語(yǔ),之后由網(wǎng)絡(luò)層管理實(shí)體(NLME)請(qǐng)求MAC層檢測(cè)網(wǎng)絡(luò)信道,通過發(fā)布MLME-SCAN.request 原語(yǔ)掃描有效信道能量,掃描完成后的結(jié)果由MLME-SCAN.confirm 原語(yǔ)返回至網(wǎng)絡(luò)層管理實(shí)體。NLME根據(jù)能量檢測(cè)結(jié)果將能量水平較低的信道丟棄不用,之后對(duì)選出的信道進(jìn)行主動(dòng)掃描,最終找出建立網(wǎng)絡(luò)的最佳信道(默認(rèn)為18信道)。
(2)選擇網(wǎng)絡(luò)標(biāo)識(shí)。每一個(gè)網(wǎng)絡(luò)都分配有一個(gè)獨(dú)立的網(wǎng)絡(luò)標(biāo)識(shí)PAN ID。網(wǎng)絡(luò)中的設(shè)備根據(jù)此標(biāo)識(shí)來確認(rèn)自己所屬的網(wǎng)絡(luò)。在完成第一步的工作之后,協(xié)調(diào)器節(jié)點(diǎn)在此信道上選擇一個(gè)隨機(jī)的網(wǎng)絡(luò)標(biāo)識(shí),并開始偵聽該信道。本系統(tǒng)采用18號(hào)信道對(duì)應(yīng)的PAN ID編號(hào)0x1aab。
(3)設(shè)定網(wǎng)絡(luò)地址。一旦網(wǎng)絡(luò)標(biāo)識(shí)被選定,NLME將選擇一個(gè)16位網(wǎng)絡(luò)地址,同時(shí)通過發(fā)布MLME-SET. request原語(yǔ)修改MAC子層的PIB屬性macShortAddress,與其保持一致。此時(shí)NLME將向MAC層發(fā)布MLME START.request 原語(yǔ)開始一個(gè)新的PAN的操作。然后,網(wǎng)絡(luò)層管理實(shí)體(NLME)通過發(fā)送NLME-NETWORK-FORMATION.confirm 原語(yǔ)將初始化ZigBee協(xié)調(diào)器的執(zhí)行結(jié)果通知上一層。
在ZigBee協(xié)調(diào)器設(shè)備建立網(wǎng)絡(luò)后,終端設(shè)備可作為子節(jié)點(diǎn)加入?yún)f(xié)調(diào)器建立的網(wǎng)絡(luò),子節(jié)點(diǎn)加入網(wǎng)絡(luò)的方式有兩種:通過MAC層關(guān)聯(lián)方式加入網(wǎng)絡(luò);通過指定的父節(jié)點(diǎn)直接方式加入網(wǎng)絡(luò)。本文取前種方式。
評(píng)論