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