《電子技術(shù)應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 組建SMAC協(xié)議構(gòu)架的ZigBee星形網(wǎng)絡
組建SMAC協(xié)議構(gòu)架的ZigBee星形網(wǎng)絡
來源:CCTIME飛象網(wǎng)
摘要: 在FREESCALE公司SMAC協(xié)議構(gòu)架的基礎上提出一種組建ZigBee星形網(wǎng)絡的有效方法。本文給出了網(wǎng)絡節(jié)點的硬件構(gòu)成,詳細分析了網(wǎng)絡組建的軟件設計思想;并將該無線網(wǎng)絡應用于某紡織車間線路改造的項目中,解決了原車間布局下的多臺設備之間不易走線的問題,大大降低了成本。
Abstract:
Key words :

 引言
       ZigBee技術(shù)是最近發(fā)展起來的一種近距離無線通信技術(shù),功耗低、成本低、易應用,工作在2.4GHz頻段,采用擴頻技術(shù)。ZigBee被業(yè)界認為是最有可能應用在工業(yè)監(jiān)控、傳感器網(wǎng)絡、家庭監(jiān)控、安全系統(tǒng)等領域的無線技術(shù)。目前市場上已經(jīng)有多家公司提供ZigBee產(chǎn)品,可是大多功能齊全的ZigBee無線通信系統(tǒng)(含協(xié)議棧)的價格卻比較昂貴,單獨的ZigBee模塊又不具有組網(wǎng)通信、節(jié)點自主加入的功能,這在很大程度上限制了ZigBee產(chǎn)品應用的靈活性和廣泛性。本文在FREESCALE公司的SMAC協(xié)議包的軟件構(gòu)架的基礎上,采用MC13192RF收發(fā)器成功組建了一個ZigBee星形網(wǎng)絡。在該網(wǎng)絡中,多個通信節(jié)點能夠自由入網(wǎng),在網(wǎng)絡中實現(xiàn)數(shù)據(jù)包的可靠傳輸。并且各個節(jié)點在軟件和硬件上有著良好的可擴展性,能夠接入多路傳感器信號組網(wǎng)通信。
1  星形網(wǎng)絡的結(jié)構(gòu)體系

        星形網(wǎng)絡結(jié)構(gòu)如圖1所示,所有終端設備都與唯一的中央控制設備(PAN協(xié)調(diào)器)通信,終端設備之間的通信通過PAN協(xié)調(diào)器的轉(zhuǎn)發(fā)來實現(xiàn)。網(wǎng)絡終端設備要么是數(shù)據(jù)傳輸?shù)钠瘘c,要么是數(shù)據(jù)傳輸?shù)慕K點。
        網(wǎng)絡中必須有一個PAN協(xié)調(diào)器,它在網(wǎng)絡建立之前先對網(wǎng)絡的各個屬性初始化并建立協(xié)調(diào)器的描述符表,然后等待終端設備入網(wǎng)。星形網(wǎng)絡由于沒有路由器,最多只能允許255個終端設備加入網(wǎng)絡。終端設備進行數(shù)據(jù)發(fā)送時,必須先把數(shù)據(jù)包發(fā)送給PAN協(xié)調(diào)器,PAN協(xié)調(diào)器根據(jù)數(shù)據(jù)包中的源地址字段查詢近鄰設備列表,判斷該終端設備是否已在網(wǎng)絡中。當近鄰設備列表中存在該設備時,就說明該終端設備已經(jīng)處在網(wǎng)絡中,然后PAN協(xié)調(diào)器對數(shù)據(jù)包進行分析。若數(shù)據(jù)包的目的地址字段為PAN協(xié)調(diào)器,則PAN協(xié)調(diào)器接收數(shù)據(jù)包并處理其信息字段;若數(shù)據(jù)包的目的地址字段為其他終端設備,則PAN協(xié)調(diào)器根據(jù)數(shù)據(jù)包中的目的地址字段是否為終端設備進行數(shù)據(jù)包的轉(zhuǎn)發(fā)。在星形網(wǎng)絡中,PAN協(xié)調(diào)器使用不間斷電源(UPS)供電,而其他設備采用電池供電。
2  網(wǎng)絡節(jié)點的硬件設計
        不論是協(xié)調(diào)器還是終端設備,硬件設計上大體是一致的,只是外圍電路根據(jù)不同環(huán)境需要稍作改動。在工作模式下,網(wǎng)絡節(jié)點的傳輸數(shù)據(jù)量很小,因此信號的收/發(fā)時間極短;而在非工作模式時,網(wǎng)絡節(jié)點又處于休眠模式。而且設備的搜索、休眠激活和信道接入時延(分別為30 ms、15 ms、15 ms)都很短,使得網(wǎng)絡節(jié)點功耗極低,非常省電。圖2為硬件設計的基本框圖。

2.1  中央處理單元
        MCU選用FREESCALE公司的8位微控制器MC9S08GT60,內(nèi)部總線頻率高達20 MHz,完全能夠支持高實時性的射頻模塊。60 KB的FLASH足夠容納ZigBee協(xié)議棧。10位的A/D轉(zhuǎn)換模塊用于對傳感器信號的數(shù)據(jù)采集。2個串行通信接口(SCI)用于和上位機進行通信。串行外設接口(SPI)用于MCU和射頻模塊之間的數(shù)據(jù)傳遞。每個功能模塊動作完成后都能向MCU申請中斷,因此很少需要CPU干預。
2.2  射頻通信模塊
        射頻通信模塊選用FREESCALE公司的MC13192 RF收發(fā)器,它內(nèi)部包含了完整的IEEE802.15.4標準的物理層(PHY)調(diào)制解調(diào)器,用于支持IEEE 802.15.4標準所規(guī)定的點對點、星狀和網(wǎng)狀網(wǎng)絡通信。通信中,該收發(fā)器的包差錯率在1.0%時,輸出功率小于-92 dBm(典型值),遠遠低于IEEE 802.15.4標準所規(guī)定的-85  dBm。
2.3  MCU與射頻模塊的接口
        MC13192的控制和數(shù)據(jù)傳送依靠4線串行外設接口(SPI)完成,其4個接口信號分別是MOSI、MISO、CE、SPICLK。主控MCU通過控制信號ATTN退出睡眠模式或休眠模式,通過RST來復位收發(fā)器,通過RXTXEN來控制數(shù)據(jù)的發(fā)送和接收,或者強制收發(fā)器進入空閑模式。接口示意圖如圖3所示。
3  網(wǎng)絡節(jié)點的軟件設計
3.1  SMAC協(xié)議包簡介
        FREESCALE公司提供足夠的軟件支持MC13192硬件,SMAC是MC13192射頻模塊產(chǎn)品隨機附帶的軟件協(xié)議包,用于簡單的個人無線連接。SMAC協(xié)議包源程序是C語言,該協(xié)議包可以應用在基于MC13192集成電路的RF收發(fā)器中。協(xié)議包包含一個SMAC應用模版以及幾個應用示例程序(Wireless  UART、Packet Error Rate等),可以直接應用于FREESCALE公司的2.4 GHz無線收發(fā)器*估板(MC13192EVB)。SMAC協(xié)議包雖是建立于HCS08系列的MCU和其串行接口SPI組成的硬件電路,但是具有很好的可移植性,能夠移植到大多數(shù)處理器內(nèi)核中使用。
3.2  軟件設計構(gòu)架
        當MC13192射頻模塊搭配了適合的MCU時,用戶首先要在SMAC協(xié)議包的基礎上弄明白收發(fā)器各個工作狀態(tài)的基本特征,以及各個工作狀態(tài)之間的轉(zhuǎn)換機制。然后更改SMAC協(xié)議包中硬件接口部分的程序,在主程序中調(diào)用相應功能服務函數(shù)進行組合。整個SMAC協(xié)議構(gòu)架采用狀態(tài)轉(zhuǎn)換的思想,清楚地將MC13192收發(fā)器的休眠、睡眠、空閑、發(fā)送、接收等狀態(tài)抽象并分解出來,收發(fā)器對接收到數(shù)據(jù)的有效信息的相應字段進行判斷之后,依據(jù)協(xié)議改變收發(fā)器的工作狀態(tài)。
        SMAC協(xié)議包是不包含ZigBee規(guī)范的網(wǎng)絡層的,也就是說該協(xié)議包中不具有組網(wǎng)通信、節(jié)點自主加入的功能程序,使用SMAC協(xié)議包只能夠?qū)崿F(xiàn)無線模塊之間進行無目的的廣播方式的無線通信。要使用MC13192收發(fā)器組建一個有效的無線傳感器網(wǎng)絡,并且能夠與其他的ZigBee產(chǎn)品相兼容,軟件設計必須嚴格遵守IEEE802.15.4協(xié)議,在SMAC協(xié)議包構(gòu)架的基礎上進一步對協(xié)議進行擴展。本文成功實現(xiàn)了非超幀結(jié)構(gòu)的星形網(wǎng)絡,具體軟件流程如圖4所示。
3.3  組網(wǎng)的基本過程
        PAN協(xié)調(diào)器選定創(chuàng)建網(wǎng)絡的信道后,首先要初始化網(wǎng)絡的各種屬性,建立協(xié)調(diào)器的PAN信息數(shù)據(jù)庫,分配網(wǎng)絡ID號和16位的網(wǎng)絡短地址,設定允許設備入網(wǎng)機制并初始化設備近鄰表,然后進入接收模式等待其他節(jié)點加入。網(wǎng)絡節(jié)點上電后,也要初始化內(nèi)部資源并建立其自身節(jié)點的PAN信息數(shù)據(jù)庫之后,發(fā)送掃描信號進而準備通過MAC層關(guān)聯(lián)過程加入網(wǎng)絡。
        網(wǎng)絡節(jié)點先以廣播方式發(fā)送一個掃描信號,查看當前信道是否存在PAN。協(xié)調(diào)器收到廣播信號后會發(fā)送一個確認幀。網(wǎng)絡節(jié)點若沒有收到確認幀就代表當前信道還沒有協(xié)調(diào)器,則繼續(xù)處于接收模式,等待協(xié)調(diào)器發(fā)現(xiàn)該節(jié)點后直接將其加入網(wǎng)絡;若收到確認幀,即存在PAN,該節(jié)點就可以嘗試加入網(wǎng)絡。網(wǎng)絡節(jié)點首先向PAN協(xié)調(diào)器發(fā)送信標請求命令,收到協(xié)調(diào)器的信標幀后,根據(jù)信標幀更新自身節(jié)點的信息數(shù)據(jù)庫中的PAN標識等相關(guān)屬性,并判斷當前PAN協(xié)調(diào)器是否未飽和以及是否允許設備入網(wǎng)。若協(xié)調(diào)器允許設備入網(wǎng),網(wǎng)絡節(jié)點就要向協(xié)調(diào)器發(fā)送關(guān)聯(lián)請求命令,嘗試通過關(guān)聯(lián)方式加入網(wǎng)絡。協(xié)調(diào)器收到后把該節(jié)點信息(如64位擴展地址等)寫入設備近鄰表并向該節(jié)點分配16位的網(wǎng)絡短地址。該節(jié)點收到協(xié)調(diào)器的關(guān)聯(lián)響應命令后,把短地址寫入其數(shù)據(jù)信息庫,即成功入網(wǎng)。然后網(wǎng)絡節(jié)點按照功能設定使用此短地址向協(xié)調(diào)器發(fā)送信息。網(wǎng)絡節(jié)點一般為電池供電,在空閑狀態(tài)時就會進入休眠節(jié)能狀態(tài)。外圍電路的控制主要是針對傳感器、開關(guān)、LED等器件的控制,可隨時根據(jù)不同需求對軟件進行相應修改。
3.4  調(diào)試及運行
       MC13192包括4種主動模式:空閑模式、TX模式、RX模式和CCA/能量檢測模式??臻e模式是退出低功耗模式后的缺省模式,每次各個模式間轉(zhuǎn)換的起點必須是空閑模式,從該模式起才能轉(zhuǎn)化到其他主動模式。
       MC13192發(fā)送片上事件給主控MCU通過中斷(IRQ)來完成,作為主機的外部中斷源,主機通過讀MC13192的中斷標志寄存器IRQ_status的相應標志位來判別各個片上事件的發(fā)生。然而IRQ的中斷優(yōu)先級在MCU中僅次于復位信號,比計數(shù)器中斷、鍵盤中斷等優(yōu)先級都要高,因此當程序中涉及其他中斷時,用戶須先屏蔽MCU的外部中斷源(IRQ),再單獨打開要使用的中斷源。
4  應用
        目前,本設計已被應用于某紡織車間線路改造的項目中。該車間有200臺紡機,每臺紡機獨立工作?,F(xiàn)在工廠要對車間實行統(tǒng)一控制,需要在每臺紡機上安裝.,把紡機數(shù)據(jù)實時上傳給中央控制器。中央控制器通過控制每臺紡機的停車狀態(tài)、車速、打緯次數(shù)、加時產(chǎn)量等信息,進而控制整個車間的運行狀態(tài)。這樣既可提高車間的生產(chǎn)效率,又使車間易于管理。若采用CAN總線等有線網(wǎng)絡進行控制,由于車間各臺紡機布線通道已經(jīng)固定,且車間的空間較小,這些因素給車間的線路設計造成了不便,而且走線的過于密*給車間增加安全隱患。
        ZigBee無線網(wǎng)絡的引入,解決了該車間布局下的多臺設備之間不易走線的問題。中央控制器相當于PAN協(xié)調(diào)器,而每臺紡機的.相當于終端設備。網(wǎng)絡中只有這兩種角色,不需要增加PAN協(xié)調(diào)器。每臺紡機每0.5s上傳一次數(shù)據(jù),而且最遠的紡機距離區(qū)域控制器也在80 m之內(nèi),這些因素ZigBee星形網(wǎng)絡都能夠滿足。網(wǎng)絡中的應答機制和數(shù)據(jù)校驗機制能夠保證紡機數(shù)據(jù)的可靠傳輸,而且網(wǎng)絡節(jié)點功耗極低。測試表明,MC13192工作在停止、休眠、睡眠、空閑各模式時的工作電流依次為0.2μA、1 μA、35 μA、200 μA。采用了低功耗的ZigBee無線技術(shù)之后,車間節(jié)約了大量成本。
5  結(jié)論
        本文利用FREESCALE公司的8位微處理器MC9S08GT60和射頻模塊MC13192在硬件上實現(xiàn)了網(wǎng)絡節(jié)點的設計。通過對協(xié)議包SMAC進行分析,在原有協(xié)議框架的基礎上對其進行擴展,在軟件上實現(xiàn)了ZigBee星形網(wǎng)絡的組建。該網(wǎng)絡實現(xiàn)了多個節(jié)點的自動入網(wǎng)、網(wǎng)間可靠通信等功能,并且成功應用于紡織車間線路改造的項目中。
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。