基于ZigBee Mesh網絡的無線串口設計
摘要:利用ZigBee技術,組成具有可“自愈”能力的Mesh網絡,實現無線串口通信。ZigBee技術的Mesh網絡,單個模塊的傳輸距離在10~100 m之間,加功放在1 km以上。傳輸速率為250 kb·s-1,完全能滿足一般用戶的要求。
關鍵詞:ZigBee技術;Mesh網絡;“自愈”能力;無線串口
RS-232串行通信是異步通信中應用最廣的標準總線,在沒有Modem的情況下,一般傳輸距離限制在15 m內,使得遠距離串口通信受到較大限制。無線技術是當今設備通信中取代有線技術的必然趨勢。
本文利用ZigBee無線技術組成Mesh網絡實施串口通信,網絡中任意兩個模塊的傳輸距離可達100 m,如果模塊有功放,傳輸距離可上升至1.5 km。因為Mesh網絡的多跳性,數據能夠多跳傳輸,所以數據的傳輸距離取決于跳數的多少,如圖1所示S4經過3跳把數據傳送到S1,如果每一跳距離是1 km,則傳輸距離達3 km,這有效地解決了有線串口傳送的距離限制問題。同時,ZigBee網絡中最大的數傳速率為250 kb·s-1,完全能滿足一般用戶的要求。
1 ZigBee無線串口設計原理
1.1 節點入網后的初始化
根據ZigBee技術的要求,ZigBee網絡中存在3種角色,協調器、路由和終端設備,協調器負責建立網絡,路由器負責路由,終端設備只能收發數據。協調器和路由統稱為全功能設備(FFD)。
在此,所有的設備都統稱為節點(node),只是所扮演的角色不一樣,每個節點都人為地在程序里給它們取名,如:01、02、03表示節點1、節點2、節點3,00保留給協調器。
協調器(00)加電后組建網絡,各節點自動發現并加入網絡,根據本文的設計,節點在加入網絡后都會自動地向網絡中的其他節點廣播其16位網絡地址和名字,網絡中的其他節點接收到這廣播數據后將該數據儲存在數組NodeAddress[]中,然后以單播的方式向新加入節點反饋自己的網絡地址和名字,新節點也將該數據保存在數組NodeAddress[]中,從而保證網絡中的每個節點都知道其他節點的網絡地址和名字。具體流程如圖2所示。
1.2 串口數據的格式
當節點串口有數據要發送的時候,必須要指明,數據的發送目的地,所以從串口輸入的數據必須滿足一定的格式,本設計規定該格式為:××……;××為要發送的目的節點名字,……為要發送的數據。譬如向節點01發送數據“ZigBee”,格式為:01 ZigBee。因為節點在加入網絡的時候,已經建立了名字和網絡地址的對應表,所以發送節點會自動將01解釋為網絡地址0x0023,從而將數據準確地發送到節點01上。
2 無線串口硬件設計
2.1 系統框圖
串口接收、發送系統可以是PC或者其他嵌入式系統,ZigBee控制系統負責組網和接收發送數據。這里主要研究ZigBee控制系統。
2.2 芯片選擇
選擇TI公司的2.4 GHz片上系統解決方案CC2530。CC2530是用于IEEES02.15.4、ZigBee和RF4CE應用的一個片上系統解決方案。它能以較低的總材料成本建立強大的網絡節點。CC2530結合了領先的RF收發器的優良性能,業界標準的增強型8051CPU,使操作更容易,具備不同的運行模式,尤其適應超低功耗要求的系統。
評論