周娜,何錚
(1.??诮?jīng)濟(jì)學(xué)院,???571127;2.海南政法學(xué)院)
?
分布式CAN、ZigBee混合物聯(lián)網(wǎng)*
周娜1,何錚2
(1.??诮?jīng)濟(jì)學(xué)院,???571127;2.海南政法學(xué)院)
在組建大型物聯(lián)網(wǎng)系統(tǒng)中,采用分布式CAN-ZigBee混合物聯(lián)網(wǎng)架構(gòu)是融合了全ZigBee系統(tǒng)、多疊CAN系統(tǒng)、分布式物聯(lián)網(wǎng)系統(tǒng)優(yōu)點(diǎn)的一種優(yōu)化設(shè)計。它在測控小數(shù)據(jù)實時傳輸中,以高速、安全、硬件濾波點(diǎn)到點(diǎn)的CAN傳輸取代以太網(wǎng)傳輸,同時保留了分布式系統(tǒng)的優(yōu)點(diǎn)。在大系統(tǒng)中,各種感知網(wǎng)的節(jié)點(diǎn)統(tǒng)一賦以全系統(tǒng)唯一地址,從而可采用簡單、快捷的路由實現(xiàn)節(jié)點(diǎn)任意布設(shè)、移動和跨子網(wǎng)的測控。
物聯(lián)網(wǎng);分布式;CAN總線;ZigBee
在當(dāng)今辦公樓、別墅等智能化的系統(tǒng)集成中,隨著各種設(shè)備(如燈光、家電、音響、安防、環(huán)境、門禁、養(yǎng)生等)的接入,智能測控感知網(wǎng)的規(guī)模越來越大,一個系統(tǒng)需接入的感知節(jié)點(diǎn)數(shù)目從幾十上升到幾百,甚至過千,而且傳統(tǒng)設(shè)備多是有線RS-485等接口類型的,而新開發(fā)的設(shè)備多是ZigBee等無線接入接口類型的。
能接入成百上千個節(jié)點(diǎn)的大系統(tǒng),當(dāng)前主要只有3種方法:全ZigBee系統(tǒng)(見圖1)、多疊CAN系統(tǒng)(見圖2)和分布式互聯(lián)網(wǎng)系統(tǒng)(見圖3)。
圖1 全ZigBee系統(tǒng)
圖2 多疊CAN系統(tǒng)圖
圖3 分布式互聯(lián)網(wǎng)系統(tǒng)
全ZigBee系統(tǒng)具有可跳轉(zhuǎn)、自組網(wǎng)、可接入節(jié)點(diǎn)數(shù)多(16位短地址,可接入65 535個節(jié)點(diǎn))、節(jié)點(diǎn)功耗低等優(yōu)點(diǎn),而最大的優(yōu)點(diǎn)在于無需布線、可隨意增補(bǔ)節(jié)點(diǎn),且節(jié)點(diǎn)可變換位置,因而在當(dāng)今得到了廣泛的應(yīng)用。
但ZigBee無線接入網(wǎng)若采用網(wǎng)狀拓?fù)浣Y(jié)構(gòu),安全通達(dá)性好,但路由復(fù)雜、時延大,而且不確定,實時性不好;若采用樹型結(jié)構(gòu),固定節(jié)點(diǎn)地址,路由算法簡單,但在大范圍內(nèi)節(jié)點(diǎn)多時,樹型結(jié)構(gòu)的輩份太多、跳轉(zhuǎn)多、時延大,而且可靠性差,當(dāng)樹型路由器中一跳失效,其子系的工作基本全部失控。
多疊CAN系統(tǒng)具有安全性高、傳輸速度快、實時性好的優(yōu)點(diǎn),但只能有線傳輸,需布線,因而系統(tǒng)架設(shè)后,變更增補(bǔ)節(jié)點(diǎn)困難,不能移動放置,總體成本較高。
圖5 CAN-ZigBee混合物聯(lián)網(wǎng)地址分配
分布式互聯(lián)網(wǎng)系統(tǒng)接入性特別好,通過網(wǎng)關(guān)能接入各種有線及無線感知網(wǎng)組成的龐大系統(tǒng),并且它是分布式結(jié)構(gòu),當(dāng)主干出現(xiàn)問題,每個感知網(wǎng)都能自己獨(dú)立工作。但因為互聯(lián)網(wǎng)是基于IP及MAC的通信,對嵌入式系統(tǒng)而言,對下面感知網(wǎng)的增加節(jié)點(diǎn)、變換位置、移動部署不利。同時互聯(lián)網(wǎng)通信時延大,偶爾會出現(xiàn)丟包,實時性不好。當(dāng)智能系統(tǒng)需要在各感知網(wǎng)間、節(jié)點(diǎn)間相互實時測控時,它的效果不是太好。
針對這個問題,設(shè)計了一種分布式CAN/485-ZigBee混合物聯(lián)網(wǎng),其拓?fù)浣Y(jié)構(gòu)如圖4所示。它利用速度快、可靠性高、可硬件濾波、直接點(diǎn)到點(diǎn)傳輸?shù)腃AN通信取代ZigBee網(wǎng)絡(luò)中的傳輸主干,進(jìn)而取代分布式互聯(lián)網(wǎng)系統(tǒng)中的以太骨干網(wǎng),組成統(tǒng)一編址的分布式CAN-ZigBee混合物聯(lián)網(wǎng)。
圖4 分布式CAN-ZigBee混合物聯(lián)網(wǎng)
這種分布式CAN-ZigBee混合物聯(lián)網(wǎng)的優(yōu)點(diǎn)在于:
① 在同一物聯(lián)網(wǎng)系統(tǒng)中CAN、ZigBee、RS-485等多種通信方式混用,方便了各種設(shè)備的直接接入;
② 系統(tǒng)中有線通信與無線通信混用,結(jié)構(gòu)方式有多種變化,有利于前期接入和后期自由調(diào)整節(jié)點(diǎn);
③ 整個系統(tǒng)的每一個節(jié)點(diǎn),不論何種通信媒介都統(tǒng)一混合編址,便于組建大系統(tǒng),在系統(tǒng)內(nèi)實現(xiàn)快速跨媒介控制和交換數(shù)據(jù);
④ 所有節(jié)點(diǎn)統(tǒng)一混合編址,都采用固定地址、固定地址路由算法,便于系統(tǒng)設(shè)計、生產(chǎn)、安裝、維護(hù)和改變;
⑤ 遠(yuǎn)程主干傳輸由CAN代替ZigBee,利用CAN特有點(diǎn)到點(diǎn)的直傳技術(shù),大大克服了遠(yuǎn)距離ZigBee網(wǎng)絡(luò)數(shù)據(jù)傳輸多點(diǎn)接力路由速度慢而且可靠性差的弊端;
⑥ 采用分布式結(jié)構(gòu),將龐大的一個協(xié)調(diào)器,眾多輩系的ZigBee網(wǎng)絡(luò)改成眾多四輩小家庭的分布式的ZigBee網(wǎng),最多四級跳傳,大大提高了系統(tǒng)的可靠性。
CAN-ZigBee混合物聯(lián)網(wǎng)中,不管何種傳輸媒介類型的節(jié)點(diǎn),都有一個全系統(tǒng)唯一的16位地址,使其成為本節(jié)點(diǎn)在整個大統(tǒng)一系統(tǒng)中的標(biāo)識。其16位地址分配見圖5。
在16位地址中,高8位為一級CAN主干網(wǎng)絡(luò)地址,由于受CAN系統(tǒng)的制約,一級網(wǎng)絡(luò)最多只能有32個(一個CAN接口,00~1F)或64個(兩個CAN接口,00~1F、20~3F)。
在低8位中,高3位為二級子網(wǎng)地址,為了和CAN兼容及子網(wǎng)容量不要太大,所以每個子網(wǎng)分配約32個節(jié)點(diǎn),這樣正好形成8個子網(wǎng),子網(wǎng)號為0~7,0為CAN(或RS-485)子網(wǎng);1~7號為ZigBee子網(wǎng)(協(xié)調(diào)器、中繼器地址分別為20、40、60、80、A0、C0、E0)。
最低5位為子網(wǎng)中測控節(jié)點(diǎn)在子網(wǎng)內(nèi)的地址。每個子網(wǎng)測控節(jié)點(diǎn)為31個(地址為01~1F),若有協(xié)調(diào)器,則節(jié)點(diǎn)共32個(加入XX20協(xié)調(diào)器),若有中繼器,則節(jié)點(diǎn)共33個(加2個中繼器XX40、XX80、XXA0、XXC0、XXE0)。
整個系統(tǒng)地址容量為8 192,但測控節(jié)點(diǎn)最少可接入31×8×31=7 684個,已完全滿足要求。若還要組建更大的系統(tǒng),可以從主網(wǎng)關(guān)(地址0000)接出2路CAN總線,這樣,整個系統(tǒng)地址容量為8 192×2),測控節(jié)點(diǎn)最少可接入31×8×31×2=15 368個。
1.1 主網(wǎng)關(guān)(根節(jié)點(diǎn),地址為0x0000)
0000節(jié)點(diǎn)為系統(tǒng)根節(jié)點(diǎn)(主網(wǎng)關(guān)),它的CANA接口是CAN主干通信網(wǎng)的主節(jié)點(diǎn),可接31個CAN-ZigBee中繼器(地址為0x0100、0x0200、…、0x1F00),它的CANB/485接口可接入CAN/485測控節(jié)點(diǎn)(地址為0001~001F)。
它的ZigBee接口為ZigBee系統(tǒng)的協(xié)調(diào)器(地址為0x0020),下面可接有深度為4,每個父親最多有32個孩子,孩子中有2個是路由器的樹型ZigBee系統(tǒng)。
1.2 CAN-ZigBee路由器(地址為0x0100、0x0200、…、0x1F00)
CAN-ZigBee路由器在一級主干網(wǎng)上的地址為0x0100、0x0200、…、0x1F00。它的下行有2個接口,一個是下行CAN/485接口,每個CAN/485接口可自行接入31個CAN/485測控節(jié)點(diǎn):0101~011F、0201~022F、…、1F01~1F1F,最多可有31×31=961個CAN/485節(jié)點(diǎn);另一個是ZigBee接口,為下行ZigBee系統(tǒng)的協(xié)調(diào)器,它下面可接有深度為4,每個父親最多有32個孩子,孩子中有2個是路由器的樹型ZigBee系統(tǒng)。這31個協(xié)調(diào)器地址為0x0120、0x0220、0x0320、…、0x1F20。
1.3 ZigBee系統(tǒng)(具有32個相同樹型結(jié)構(gòu))
(1) 協(xié)調(diào)器 32個(0x0020、0x0120、0x0220、0x0320、…、0x1F20)
16位地址中高字節(jié)為一級網(wǎng)絡(luò)號:00、01、02、…、1F;低字節(jié)為協(xié)調(diào)器根地址20。
(2) 路由器(32×6個)
每一個協(xié)調(diào)器都組成一個深度為4,每個父親最多有32個孩子,孩子中有2個是路由器的樹型ZigBee系統(tǒng)。這32×6個路由器地址為:0x0040、0x0060、0x0080、0x00A0、0x00C0、0x00E0;0x0140、0x0160、0x0180、0x01A0、0x01C0、0x01E0;……;0x1F40、0x1F60、0x1F80、0x1FA0、0x1FC0、0x1FE0。
(3) ZigBee測控節(jié)點(diǎn)(32×31×6個)
每個路由器下可接31個測控節(jié)點(diǎn),它們的地址為:0x0041~005F、0x0061~007F、0x0081~009F、0x00A1~00BF、0x00C1~00DF、0x00E1~00FF;0x0141~015F、0x0161~017F、0x0181~019F、0x01A1~01BF、0x01C1~01DF、0x01E1~01FF;……;0x1F41~1F5F、0x1F61~1F7F、0x1F81~1F9F、0x1FA1~1FBF、0x1FC1~1FDF、0x1FE1~1FFF。
2.1 0000節(jié)點(diǎn)
0000節(jié)點(diǎn)方框圖如圖6所示。
圖6 0000節(jié)點(diǎn)方框圖
① 目的地址為0000H的信息均為上行發(fā)往以太網(wǎng)(云)的信息,該節(jié)點(diǎn)CPU配備有地址—信息代碼轉(zhuǎn)換表,以幫助上傳/下達(dá)控制/狀態(tài)信息。
② 該節(jié)點(diǎn)同時為CAN網(wǎng)及ZigBee網(wǎng)關(guān)節(jié)點(diǎn)(CAN接口地址為0000H, ZigBee接口為協(xié)調(diào)器,地址為0020H),發(fā)往0001~001F節(jié)點(diǎn)的信息均轉(zhuǎn)從CANB/485口發(fā)出,發(fā)往01XX~0FXX的信息均轉(zhuǎn)CANA口發(fā)出,發(fā)往002X~00FF的信息均轉(zhuǎn)ZigBee口發(fā)出。
③ 該節(jié)點(diǎn)也可組成最小系統(tǒng),接入31個CAN/485節(jié)點(diǎn)(0001~001F),31個ZigBee節(jié)點(diǎn)(0021~003F)。
2.2 CAN-ZigBee中繼器
圖7 中繼器框圖
這是位于主干網(wǎng)絡(luò)(CAN總線)上的CAN-ZigBee中繼器,其高字節(jié)為CAN一級子網(wǎng)號,低字節(jié)均為00,組成本中繼器地址(0000、0100、0200、1F00)。中繼器框圖如圖7所示。
① 第1字節(jié)為本一級子網(wǎng)號的信息,均通過CANA濾波自動接收,再按地址路由算法,將第2字節(jié)除以32,整數(shù)為第二級子網(wǎng)號。二級子網(wǎng)號為0的節(jié)點(diǎn)數(shù)據(jù)通過CANB發(fā)送到各CAN測控節(jié)點(diǎn); 二級子網(wǎng)號為0的節(jié)點(diǎn)數(shù)據(jù)通過CANB發(fā)送到各CAN測控節(jié)點(diǎn);二級子網(wǎng)號非0的節(jié)點(diǎn)數(shù)據(jù)發(fā)送到ZigBee協(xié)調(diào)器。
② ZigBee協(xié)調(diào)器接收的幀地址二級子網(wǎng)號非0的節(jié)點(diǎn)數(shù)據(jù)均直接發(fā)送,其中二級子網(wǎng)號為1的節(jié)點(diǎn)數(shù)據(jù)均直接發(fā)送給各測控節(jié)點(diǎn);二級子網(wǎng)號為2~7的節(jié)點(diǎn)數(shù)據(jù)均發(fā)送到ZigBee中繼器。
③ CPU接收到CANB發(fā)來的數(shù)據(jù),發(fā)往非本一級子網(wǎng)地址的數(shù)據(jù)全部通過CANA中繼器向外轉(zhuǎn)發(fā),通過CAN濾波機(jī)制發(fā)往目的一級子網(wǎng);發(fā)往本一級子網(wǎng)地址的數(shù)據(jù)全部通過ZigBee協(xié)調(diào)器轉(zhuǎn)發(fā)。
④ CPU接收到ZigBee發(fā)來的數(shù)據(jù),發(fā)往非本一級子網(wǎng)地址的數(shù)據(jù)全部通過CANA中繼器向外轉(zhuǎn)發(fā),通過CAN濾波機(jī)制發(fā)往目的一級子網(wǎng);發(fā)往本一級子網(wǎng)地址的數(shù)據(jù)全部通過CANB中繼器發(fā)往各CAN測控節(jié)點(diǎn)。
2.3 ZigBee中繼器
每個ZigBee協(xié)調(diào)器組成4級深度,每級有31~33個節(jié)點(diǎn)(其中可有2個中繼器)的樹型ZigBee網(wǎng)。每個中繼器均按固定地址路由算法計算路由。ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖如圖8所示。
圖8 ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
① 目的地址為0000或第1字節(jié)(一級網(wǎng)絡(luò)號)非本網(wǎng)絡(luò)的,均向父輩中繼器或協(xié)調(diào)器發(fā)送。
② 目的地址第1字節(jié)(一級網(wǎng)絡(luò)號)為本網(wǎng)絡(luò)的,將目的地址第2字節(jié)除以32,整數(shù)為第二級子網(wǎng)號,尾數(shù)為測控節(jié)點(diǎn)號。
(a) 若是發(fā)往本二級子網(wǎng)及本子網(wǎng)的子中繼器的測控信息,直接發(fā)往子節(jié)點(diǎn)及子中繼器;
(b) 若是發(fā)往非本二級子網(wǎng)的及非本子網(wǎng)的子輩中繼器的,向上級父輩中繼器轉(zhuǎn)發(fā)。
在CAN-ZigBee混合物聯(lián)網(wǎng)中,最主要的設(shè)備是主網(wǎng)關(guān)及CAN-ZigBee中繼器,設(shè)計選用了恩智浦的LPC1768。LPC1786采用Cortex-M3內(nèi)核,它集成有1個以太網(wǎng)MAC、2路CAN收發(fā)器及多個UART接口、SPI接口。
如圖9所示,全部選用,則成為CAN/485-ZigBee主網(wǎng)關(guān);若不要DP83848(以太PHY),則組成CAN/485-ZigBee中繼器。
圖9 網(wǎng)關(guān)框圖
[1] Guangzhou ZLGMCU Development.LPC1700 用戶手冊,2010.
[2] TI.CC253x System-on-Chip Solution for 2.4 GHz IEEE 802.15.4 and ZigBee Applications User's Guide.
[3] 周武斌.ZigBee無線組網(wǎng)技術(shù)的研究[D].長沙:中南大學(xué),2009.
[4] 何錚,周娜.基于Cortex-M3/M0的智能家居中的感知與控制子網(wǎng)設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014(12).
Large-scale Internet of Things Based on Distributed CAN and ZigBee
Zhou Na1,He Zheng2
(1.Haikou College of Economics,Haikou 571127,China;2.Hainan Institute of Political Science and Law)
In the construction of large-scale Internet of things,the use of distributed CAN-ZigBee network architecture is a kind of optimization design which combinates the whole ZigBee system,multi-stack CAN system,distributed networking system.It in the small control data real-time transmission,transmitted with high speed,safety,hardware filtering nap can replace the ethernet transmission,while retaining the advantages of distributed system.In the system,the various sensor network nodes are unified to the only system wide address,which can adopts a simple and high-efficient routing to achieve any node layout,mobile and inter subnet control.
internet of things;distributed;CAN bus;ZigBee
2016年度海南省高等學(xué)校科學(xué)研究項目:物聯(lián)網(wǎng)養(yǎng)生系統(tǒng)開發(fā)及產(chǎn)業(yè)化的研究(項目編號:Hnky2016-55)。
TP273
A
?士然
2016-06-08)