筆者利用Zigbee技術,設計了一種適合於短距離、低成本應用場合的通信模塊。
1 Zigbee技術
1.1 Zigbee概述
Zigbee是一種短距離、低速率無線網路通信技術,其開發是為了建立一種低成本、低功耗的小區域的無線通信方式,在此基礎上通過軟體協議棧發展出易布建的大容量、不依賴現有通信網路和現有電力網路的無線網路。Zigbee在工業控制、家庭智能化、無線感測器網路等領域有廣泛的應用前景。
Zigbee技術採用直接序列擴頻(DSSS)的方式進行無線信號的收發,其工作頻率為2.4 GHz波段和868/915 MHz波段。2.4 GHz波段射頻支
持250 kb/s的數據速率和16個不同的通道。在868/915 MHz波段中,868 MHz支持1個數據速率為20 kb/s的通道,915 MHz支持10個數據速
率為40 kb/s的通道。
Zigbee技術的無線網路連接功能非常豐富和強大。Zigbee技術的物理層、媒體存取控制層(media access control,MAC)和鏈路層採用了
EEE802.15.4(無線個人區域網)協議標準,並在此基礎上進行了完善和擴展。其網路層、應用會聚層和高層應用規範(API)由Zigbee聯盟進行了制定,整個協議架構如圖1所示。
圖1 Zigbee協議棧架構
在網路層方面,Zigbee聯盟制訂Zigbee可具備支持星狀、樹狀及網狀3種網路架構。Zigbee依託於一個個獨立的工作節點,每個節點的功能不盡相同。大部分節點為子節點,只具有部分網路功能,這些節點稱為精簡功能設備(reduced-function device,RFD);而其餘的一些節點,負責與所控制的子節點進行通信,彙集數據和發布控制,或起到通信路由的作用,稱之為全功能設備(full-function device,FFD;也稱為協調器)。相較於FFD,RFD電路簡單且內存較小。FFD節點具備控制器(controller)的功能,可提供數據交換,而RFD則只能與FFD傳輸數據。
1.2 Zigbee的主要技術特點
2 模塊設計方案
2.1 系統框圖
通信模塊設計方案由硬體部分和軟體部分構成。硬體方案設計框圖如圖2所示。
微處理器採用8位或16位高性能單片機,考慮到通信模塊必須安裝Zigbee協議棧,微處理器宜自帶一定容量的可編程flash存儲器。
Microchip公司的16位單片機ATmega128L含有128 K flash存儲器,滿足全功能節點Zigbee模塊的協議棧存儲要求。目前Microchip已向公共用戶提供免費的縮減功能的協議棧,用於普通用戶的系統開發。因此本方案採用該單片機作為核心MCU。ATmega128L自帶1個SPI介面和2個串口(UART),這3個介面可以靈活的設定。考慮到Zigbee通信模塊的應用通用性,本方案採用SPI作為通用輸入輸出介面,連接模塊的通用輸入輸出單元,作為模塊與其他應用系統的工作介面電路。採用1個UART口作為模塊同計算機的介面。這樣配合上層應用軟體,採用RS232方式連接的計算機可以方便可靠地向本模塊下載程序;同時接收模塊採集發送到主控台的數據。框圖中RAM模塊可作為模塊上電工作后MCU程序運行單元。
2.2 射頻(RF)單元
目前,在投入應用的Zigbee射頻晶元中,CC2420是應用較廣泛的一種。CC2420是標準的Zigbee晶元,符合Zigbee聯盟的規定協議;採用直接序列擴頻的方式進行數據收發,工作在ISM的免費2.4 G頻帶;可同時工作為全功能節點(FFD)和縮短功能節點(RFD);輸出信號可調且可完成接收信號強度指示(RSSI);採用CRC16、AES硬體加密等方式來保證數據傳輸的安全可靠。CC2420封裝形式為QLP-48 package,大小僅為7×7 mm,高度集成性可將無線傳輸模塊硬體電路模塊設計成很小的尺寸,方便與其他電路連接。其典型連接如圖3所示。
可以看到CC2420隻需很少的電路元器件就能組成完整的射頻工作單元,其中SPI數字介面用來連接MCU。RF單元、MCU單元共同組成完
整的工作模塊。
2.3 通用無線通信模塊的軟體設計
軟體設計是實現模塊通用的關鍵,其設計目標是提供一種不依賴於應用和硬體MCU 的監控程序。該程序主要包括模塊定義、系統參數初始化和模塊功能實現3部分。模塊定義根據應用要求定義模塊是FFD還是RFD,從而確定節點性質和軟體內核規模。系統參數初始化主要進行協議棧配置,參數初始化流程如圖4所示。
圖4 初始化軟體流程圖
首先定義系統的時鐘信號,然後定義Zigbee晶元所連接的MCU類型和型號,接著定義通信模塊性質即定義通信模塊所在節點為全功能節點還是縮減功能節點;再接著定義模塊的工作頻率、電源管理方式及Zigbee網路層和MAC層的參數,如網路地址、節點所屬介面、集群等。模塊功能實現主要包括由模塊用戶開發的上層應用程序。
在程序設計中需要考慮較多的因素,如電源管理、網路路由、通信協議實現、數據管理和網路安全等。系統的初始化程序中需要首先定義這些參數。
模塊的初始化可通過兩個方法實現,一是直接設置在單片機源程序中初始化部分,採用專門的宏定義文件;一是開發專門的上層軟體,在PC機操作系統窗口中設置。從模塊應用的通用型考慮,後者比較合適,但為了不增加硬體的複雜性,初始化程序數據需嵌入到MCU程序中,從串口下載至MCU 的flash存儲器中。
2.4 模塊方案檢測驗證
選取基於以上方案的兩個模塊進行驗證。通信雙方都為縮減功能設備,通信方式為點對點通信;通信距離分別為無障礙50 m和30 m;發送方以5 kb/s速率循環發送字元信號,接收端正確接受傳輸信號,誤碼率為零;驗證結果表明,模塊正常通信,傳輸距離、傳輸速率符合要求。通過上層軟體能正常同模塊通信,對模塊的多樣性初始化能滿足不同應用場合的要求。由於試驗條件所限,未能驗證模塊在大規模應用和複雜拓撲結構中的網路通信特性。
3 結語
筆者提出了一種基於Zigbee技術實現短距離小區域無線通信的通用模塊方案,本方案能夠較好地解決目前短距離無線通信模塊常遇的問
題。適用於通信節點應用較多的場合。目前,基於Zigbee技術的開發方案所面臨的主要問題是,Zigbee軟體協議棧較為昂貴,導致開發系統成本較高。因此,設計通用型無線通信模塊是非常有意義的。
[admin via 研發互助社區 ] 基於Zigbee技術的通用無線通信模塊設計已經有2105次圍觀
http://cocdig.com/docs/show-post-44826.html