如何選擇正確的無線協(xié)議:802.15.4、zigbee以及專有網(wǎng)絡(luò)對(duì)比
許多設(shè)計(jì)人員都聽說過 zigbee 與 IEEE 802.15.4 標(biāo)準(zhǔn),但不清楚到底應(yīng)該選擇zigbee,還是 802.15.4,抑或是開發(fā)自己的專有網(wǎng)絡(luò)協(xié)議。本文將以專有協(xié)議為例,介紹各種協(xié)議的優(yōu)勢(shì),并在性能和應(yīng)用領(lǐng)域方面進(jìn)行對(duì)比區(qū)分。討論不同的網(wǎng)絡(luò)拓?fù)?、資源要求以及靈活特性,從而幫助利益相關(guān)方(interested party)選擇最適合自己應(yīng)用需求的開發(fā)協(xié)議。
本文分三部分講述低功耗網(wǎng)絡(luò)及在他們之間如何選擇的問題。第一部分論述網(wǎng)絡(luò)基礎(chǔ)知識(shí)以及低功耗網(wǎng)絡(luò)選擇標(biāo)準(zhǔn);第二部分繼續(xù)探討選擇標(biāo)準(zhǔn),并介紹802.15.4 協(xié)議;第三部分介紹 zigbee 和專有網(wǎng)絡(luò)協(xié)議 SimpliciTI,并根據(jù)上述選擇標(biāo)準(zhǔn)衡量這些協(xié)議。
第一部分
電子市場(chǎng)中的最主要趨勢(shì)之一就是越來越多的產(chǎn)品都開始添加無線連接功能。水電氣表、家庭安全系統(tǒng)、電視遙控或健身設(shè)備等各種產(chǎn)品都添加了無線連接功能,這一方面是為了方便用戶使用,用戶可通過無線遙控在房間任意位置操控,不像紅外線遙控非要瞄準(zhǔn)設(shè)備才能工作;另一方面,這種無線操控也是為了減少房間重新布線的昂貴成本例如不用重新布線就能安裝家庭安全系統(tǒng)等。此外,自動(dòng)抄表系統(tǒng) (AMR) 或高級(jí)電表架構(gòu) (AMI) 等設(shè)備也越來越依賴低功耗協(xié)議使設(shè)備的電池使用壽命能夠長(zhǎng)達(dá)數(shù)年之久。
本文將概括介紹無線網(wǎng)絡(luò)協(xié)議,不過將重點(diǎn)介紹 zigbee 與 802.15.4 協(xié)議,并將其與專有網(wǎng)絡(luò)協(xié)議進(jìn)行對(duì)比,這些協(xié)議根據(jù)設(shè)計(jì)都能滿足低功耗應(yīng)用的要求。盡管許多工程師對(duì)這些網(wǎng)絡(luò)協(xié)議都已經(jīng)比較熟悉了,但可能還沒有仔細(xì)對(duì)其加以評(píng)估。即便有人曾經(jīng)評(píng)估過這些協(xié)議,但在特定應(yīng)用時(shí)可能仍不清楚到底哪種協(xié)議最合適。本文分三部分。第一部分,我們將介紹網(wǎng)絡(luò)基礎(chǔ)知識(shí),其中包括常見的網(wǎng)絡(luò)術(shù)語(yǔ)、開放系統(tǒng)互連 (OSI) 網(wǎng)絡(luò)模型等,并探討在為特定應(yīng)用選擇網(wǎng)絡(luò)時(shí)應(yīng)考慮的因素;第二部分,我們將給出一系列網(wǎng)絡(luò)選擇標(biāo)準(zhǔn),根據(jù)這些標(biāo)準(zhǔn)對(duì)三種網(wǎng)絡(luò)協(xié)議加以對(duì)比;第三部分,我們將詳細(xì)介紹 802.15.4、zigbee 以及 SimpliciTI 專有網(wǎng)絡(luò)協(xié)議,并給出具體實(shí)例,說明如何根據(jù)選擇標(biāo)準(zhǔn)確定適合特定應(yīng)用的最佳網(wǎng)絡(luò)協(xié)議。
目前,推出的無線網(wǎng)絡(luò)協(xié)議種類繁多。下面我們僅列出部分網(wǎng)絡(luò)協(xié)議:
WiFi(802.11b)、藍(lán)牙、zigbee、zigbee Pro、802.15.4、RFID 以及 Wireless USB 等標(biāo)準(zhǔn)化協(xié)議。
芯片廠商、第三方等推出的專有協(xié)議,本文稱之為“DIY”網(wǎng)絡(luò)協(xié)議,僅用于推出該協(xié)議的公司自己生產(chǎn)的產(chǎn)品中。
圖 1 顯示了多種網(wǎng)絡(luò)協(xié)議及其重點(diǎn)應(yīng)用領(lǐng)域和典型資源要求等。我們?cè)诒容^低功耗協(xié)議(如 zigbee/802.15.4 與其它協(xié)議)時(shí),應(yīng)重點(diǎn)關(guān)注低功耗無線網(wǎng)絡(luò)區(qū)別于其它網(wǎng)絡(luò)的一些關(guān)鍵特性,比如數(shù)據(jù)速率低、連接距離短、幀開銷低、復(fù)雜性低等,還有就是協(xié)議本身的電源管理要求。上述各項(xiàng)設(shè)計(jì)因素都是為了最終實(shí)現(xiàn)降低網(wǎng)絡(luò)單位節(jié)點(diǎn)功耗的目的。如圖 1 所示,zigbee/802.15.4 協(xié)議理想適用于環(huán)境監(jiān)控市場(chǎng)領(lǐng)域中的相關(guān)應(yīng)用,不僅可確保電池供電設(shè)備能長(zhǎng)時(shí)間最佳工作,而且相對(duì)于支持更大型復(fù)雜化協(xié)議的硬件來說還能有效降低成本。
低功耗網(wǎng)絡(luò)主要設(shè)計(jì)用于為電池供電設(shè)備(電池使用壽命達(dá)數(shù)月或數(shù)年之久)間提供無線連接。大多數(shù)低功耗無線系統(tǒng)中,以無線電發(fā)送和接收數(shù)據(jù)最為耗電。因此,我們應(yīng)盡可能降低無線電的功耗,這對(duì)延長(zhǎng)電池使用壽命至關(guān)重要。由于信號(hào)發(fā)送和接收之間的距離與天線的功率輸入成正比,因此不同節(jié)點(diǎn)間的無線網(wǎng)絡(luò)覆蓋范圍一般有限。無線協(xié)議還應(yīng)降低自身的復(fù)雜性,以降低計(jì)算開銷,避免使用大容量存儲(chǔ)器,從而降低成本。
網(wǎng)絡(luò)基礎(chǔ)知識(shí)
圖 2 顯示了典型低功耗網(wǎng)絡(luò)節(jié)點(diǎn)的結(jié)構(gòu)圖。通常,節(jié)點(diǎn)中有一個(gè)或多個(gè)傳感器負(fù)責(zé)收集數(shù)據(jù)或狀態(tài)和/或向系統(tǒng)提供用戶接口。微控制器連接于傳感器并控制無線電(本例中為 CC1100 或 CC2500),而無線電則負(fù)責(zé)傳輸和接收狀態(tài)。
圖 2 — 典型低功耗網(wǎng)絡(luò)結(jié)構(gòu)圖(本例顯示的是自動(dòng)抄表系統(tǒng)應(yīng)用)
不管是有線網(wǎng)絡(luò)還是無線網(wǎng)絡(luò),我們?cè)诟拍钌隙伎蓪⒕W(wǎng)絡(luò)節(jié)點(diǎn)通信視為如圖 3 所示的網(wǎng)絡(luò)開放系統(tǒng)互連 (OSI) 基本參考模型。這一模型于上世紀(jì) 70 年代末由國(guó)際標(biāo)準(zhǔn)化組織 (ISO) 制定,該模型將網(wǎng)絡(luò)協(xié)議實(shí)施組件(component)分為不同的軟件層。在不同設(shè)備上的兩個(gè)應(yīng)用要想通信,消息必須穿過應(yīng)用層,經(jīng)過物理層到達(dá)另一側(cè)。每一層都只能與其相鄰層通信。
怎么理解分層軟件架構(gòu)呢?我們可以設(shè)想一下寄信的過程。信件本身就相當(dāng)于應(yīng)用數(shù)據(jù)。我們把信投在信箱里,等著郵遞員取出,再拿到郵局。郵局根據(jù)收信人地址將所有信件分類,再通過航空、海運(yùn)或陸路方式將信件寄到最終目的地。信件要想達(dá)到收信人的手中,在收信人一方的郵局也必須經(jīng)過相反的一套程序,先是寄到收信人所在的郵局,按目的地分類,再發(fā)送到收信人的郵箱,最終達(dá)到收信人手里。寄信過程實(shí)際反映了一個(gè)四層通信協(xié)議。寫信是第一層,當(dāng)?shù)剜]局的收發(fā)是第二層,郵局對(duì)信件分類是第三層,而信件運(yùn)輸方式則是第四層。每一層都有自身的任務(wù),也只同相鄰層有關(guān)。信件只有從整個(gè)環(huán)節(jié)的一端傳送到另一端,信件的內(nèi)容(或應(yīng)用數(shù)據(jù))才能在雙方之間得到成功交流。
OSI 模型涉及 7 個(gè)不同的軟件層。應(yīng)用層是直接針對(duì)用戶的界面。表示層將消息格式化為進(jìn)出網(wǎng)絡(luò)的格式,通常體現(xiàn)為消息加密和/或編碼。會(huì)話層創(chuàng)建并管理網(wǎng)絡(luò)上任何兩個(gè)設(shè)備間的邏輯鏈接。傳輸層負(fù)責(zé)提供可靠的端對(duì)端通信功能。如果傳輸層的故障過于頻繁,那么通道噪聲可能過大,或鏈接本身質(zhì)量不佳,這時(shí)就要通知會(huì)話層在發(fā)生故障的節(jié)點(diǎn)間建立新的鏈接。網(wǎng)絡(luò)層負(fù)責(zé)網(wǎng)絡(luò)路由機(jī)制,而不同設(shè)備間的消息傳輸則由數(shù)據(jù)鏈路層負(fù)責(zé)。數(shù)據(jù)鏈路層確保消息點(diǎn)對(duì)點(diǎn)交付,但消息在物理介質(zhì)上的實(shí)際傳輸則由物理層負(fù)責(zé)。這樣,消息就能從 OSI 模型的一端傳輸至另一端。
設(shè)計(jì)人員可以選擇實(shí)施不同數(shù)量層的協(xié)議,并能根據(jù)應(yīng)用需要選擇定制其它層。目前大多數(shù)網(wǎng)絡(luò)實(shí)施方案實(shí)際上都不能完全實(shí)施所有的層,需要根據(jù)協(xié)議要求將某些層的功能加以混合。事實(shí)上,OSI 模型是我們理解協(xié)議架構(gòu)復(fù)雜性和不同功能的最佳框架。設(shè)計(jì)人員應(yīng)當(dāng)明白自己的解決放案要實(shí)施哪些功能,哪些功能可不予以考慮。
為了明確到底在 zigbee、802.15.4 和專有網(wǎng)絡(luò)之中選擇何種無線協(xié)議,我們列出一些選擇標(biāo)準(zhǔn):
應(yīng)用考慮事項(xiàng)
穩(wěn)健性與可靠性
簡(jiǎn)便易用性
硬件及 RF 考慮事項(xiàng)
下面我們將詳細(xì)討論上述各標(biāo)準(zhǔn)。
應(yīng)用考慮事項(xiàng)
網(wǎng)絡(luò)設(shè)計(jì)的初始步驟與其它任何系統(tǒng)設(shè)計(jì)工作一樣,都是定義應(yīng)用的高級(jí)要求。下面我們列出一些最重要的網(wǎng)絡(luò)參數(shù),這是在確定任何無線協(xié)議作為最終解決方案之前都應(yīng)加以明確定義的。我們隨后在本文中將根據(jù)這些標(biāo)準(zhǔn)來介紹可能的實(shí)施方案,而這些選擇標(biāo)準(zhǔn)和協(xié)議本身都將得到進(jìn)一步詳細(xì)說明。
網(wǎng)絡(luò)拓?fù)?/p>
應(yīng)用需要多少個(gè)節(jié)點(diǎn)?節(jié)點(diǎn)采取什么樣的基本組織形式?
通信可靠性
網(wǎng)絡(luò)對(duì)每個(gè)數(shù)據(jù)包的接收有多重要?
網(wǎng)絡(luò)安全性
數(shù)據(jù)是否需要確保安全?如果需要的話,網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)慕^對(duì)安全性到底有多重要?
定制和設(shè)計(jì)的靈活性
網(wǎng)絡(luò)協(xié)議解決方案需要進(jìn)行多大程度的定制化以滿足應(yīng)用需求,協(xié)議是否提供無約束設(shè)計(jì)?
開發(fā)時(shí)間及協(xié)議復(fù)雜性
這一條與第 4 項(xiàng)密切相關(guān),有關(guān)協(xié)議本身的復(fù)雜性有多高?
互操作性
與其他廠商技術(shù)的互操作性是否能使最終產(chǎn)品受益?最終產(chǎn)品是否會(huì)成為完全專有解決方案?
圖4給出了四種最常見的無線網(wǎng)絡(luò)拓?fù)鋵?shí)施方案。
點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)拓?fù)渲С志W(wǎng)絡(luò)上不同節(jié)點(diǎn)間的單向或雙向鏈接。只有節(jié)點(diǎn)處在連接范圍以內(nèi)時(shí)才會(huì)相互通信,因?yàn)楸3种苯拥奈锢礞溄邮瞧渫ㄐ诺谋匾獥l件;唯一的例外是廣播消息,其可以通過網(wǎng)絡(luò)重復(fù)廣播傳播。樹狀網(wǎng)絡(luò)拓?fù)渲校總€(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都與其父節(jié)點(diǎn)相關(guān)聯(lián),網(wǎng)絡(luò)尋址也會(huì)反映出這種節(jié)點(diǎn)關(guān)系,這與 IP 因特網(wǎng)地址非常類似。這樣,我們就能實(shí)施更加有效的路由算法,因?yàn)楦嗟墓?jié)點(diǎn)網(wǎng)絡(luò)地址位數(shù)可以反映出某個(gè)節(jié)點(diǎn)相對(duì)于其對(duì)等節(jié)點(diǎn)的關(guān)系。星形網(wǎng)絡(luò)可將單個(gè)節(jié)點(diǎn)視為網(wǎng)絡(luò)協(xié)調(diào)點(diǎn),負(fù)責(zé)各種可能的網(wǎng)絡(luò)管理控制工作,如節(jié)點(diǎn)關(guān)聯(lián)、節(jié)點(diǎn)網(wǎng)絡(luò)加入與鏈接許可、消息轉(zhuǎn)發(fā)以及安全交換等。星形網(wǎng)絡(luò)依靠協(xié)調(diào)點(diǎn)來保持網(wǎng)絡(luò)通信,如果協(xié)調(diào)節(jié)點(diǎn)出了問題,網(wǎng)絡(luò)通信也會(huì)受到影響。
從最基本的意義上說,網(wǎng)狀網(wǎng)絡(luò)是指每個(gè)節(jié)點(diǎn)至少要有兩條連接路徑的網(wǎng)絡(luò)。而全網(wǎng)狀網(wǎng)絡(luò)是指每個(gè)節(jié)點(diǎn)都有到其它節(jié)點(diǎn)的直接連接的網(wǎng)絡(luò)。全網(wǎng)狀網(wǎng)絡(luò)在許多情況下是不合理的,因?yàn)檫@很快就會(huì)將網(wǎng)絡(luò)規(guī)模限制在連接能力最弱的設(shè)備所覆蓋的最小網(wǎng)絡(luò)范圍內(nèi),而網(wǎng)狀網(wǎng)絡(luò)的要求又過于嚴(yán)格。然而,人們會(huì)在兩種情況之間找到某種折中,通過某個(gè)中央節(jié)點(diǎn)發(fā)起網(wǎng)絡(luò),用樹狀尋址技術(shù)來定位節(jié)點(diǎn)并管理節(jié)點(diǎn)間的關(guān)聯(lián)關(guān)系。范圍擴(kuò)展器也稱路由節(jié)點(diǎn),可在網(wǎng)絡(luò)中發(fā)送消息,如果一個(gè)節(jié)點(diǎn)或協(xié)調(diào)節(jié)點(diǎn)出了問題,網(wǎng)絡(luò)仍能繼續(xù)正常工作,只是會(huì)在一定程度上影響操作性。自愈路由發(fā)現(xiàn)以及路由過期 (route expiraTIon)等其它優(yōu)異特性可提高路由算法的可靠性與效率。
需要考慮的另一個(gè)重要因素是使用某協(xié)議所涉及的財(cái)務(wù)成本。使用某組織提供的專有網(wǎng)絡(luò)協(xié)議一般要支付會(huì)員費(fèi)或?qū)@褂觅M(fèi)。不過使用 zigbee 無需支付專利使用費(fèi),但要求加入該聯(lián)盟并每年交納象征性的會(huì)員費(fèi)的。此外,驗(yàn)證過程也需要投入大量的時(shí)間和金錢。芯片廠商的專有協(xié)議通常要求其產(chǎn)品只許在其特許場(chǎng)所使用。
穩(wěn)健性與可靠性
低功耗網(wǎng)絡(luò)協(xié)議實(shí)施的穩(wěn)健性與可靠性可歸結(jié)為三點(diǎn):消息交付、物理層考慮事項(xiàng)以及消息發(fā)送協(xié)議。消息交付取決于路由技術(shù)來確保數(shù)據(jù)包的成功傳輸以及網(wǎng)絡(luò)交易的安全性。物理層考慮事項(xiàng)涉及工作通道內(nèi)的噪聲或其它傳輸信號(hào)的干擾問題。消息發(fā)送協(xié)議則定義了通道的分區(qū),確保所有設(shè)備都能使用物理介質(zhì),而不會(huì)在傳輸過程中導(dǎo)致數(shù)據(jù)包沖突。上述三點(diǎn)均有助于提高網(wǎng)絡(luò)服務(wù)質(zhì)量 (QOS),是一系列用以測(cè)量數(shù)據(jù)包通信效率、傳輸速率及故障率的網(wǎng)絡(luò)標(biāo)準(zhǔn)。
通道掃描即偵聽通道中傳輸量或噪聲大小的能力,屬于物理層考慮事項(xiàng)。網(wǎng)絡(luò)協(xié)議通過通道掃描來查找特定工作頻帶內(nèi)最不可能干擾節(jié)點(diǎn)間通信的通道。頻率捷變性是指網(wǎng)絡(luò)改變網(wǎng)絡(luò)上所有節(jié)點(diǎn)的工作通道的能力,這樣即便某條通道遭到干擾,網(wǎng)絡(luò)仍能繼續(xù)工作。我們還能通過確認(rèn)機(jī)制來改善消息交付能力,即讓接收節(jié)點(diǎn)在成功接收數(shù)據(jù)包后向最初的發(fā)送節(jié)點(diǎn)反饋一個(gè) ACK 確認(rèn)信息。點(diǎn)對(duì)點(diǎn)確認(rèn)機(jī)制配合消息重試次數(shù)定義有助于大幅降低數(shù)據(jù)包丟失的可能性。而端對(duì)端確認(rèn)機(jī)制將提供另一層安全性,確保數(shù)據(jù)包不會(huì)丟失,這在采用復(fù)雜路由算法的大型多跳轉(zhuǎn)網(wǎng)絡(luò)中尤其重要。
消息發(fā)送協(xié)議定義了網(wǎng)絡(luò)帶寬是如何獲得并進(jìn)行分區(qū)的。不同的無線協(xié)議可定義不同的帶寬分區(qū),其可能包括頻分、空分、時(shí)分或碼分等。頻分可理解為一屋子的人用高低不同的聲音談話;空分可理解成一屋子的人在不同方向上談話;時(shí)分可理解成一屋子的人都競(jìng)爭(zhēng)說話權(quán),但只要有一個(gè)人搶先發(fā)言,其他人就不再說話了;碼分則可理解為一屋子的人用高低不同的聲音講不同的語(yǔ)言。在本文涉及的協(xié)議中只討論時(shí)分,也就是時(shí)分多址協(xié)議,這種協(xié)議有同步和異步通信兩種可能的實(shí)施方案。
協(xié)調(diào)節(jié)點(diǎn)廣播周期性網(wǎng)絡(luò)信標(biāo)并將不同信標(biāo)間的時(shí)間間隔劃分為相同的時(shí)隙,從而實(shí)現(xiàn)同步通信。單個(gè)網(wǎng)絡(luò)信標(biāo)以及出現(xiàn)在下一信標(biāo)之前的各時(shí)隙均稱作超幀。超幀的時(shí)隙可進(jìn)一步分為活動(dòng)和非活動(dòng)通信期,這樣協(xié)調(diào)節(jié)點(diǎn)在非活動(dòng)期的低功耗模式下就能進(jìn)入休眠狀態(tài)。我們可通過通道偵聽多址(CSMA)技術(shù)或通信前偵聽算法來確?;蜃尭鞣綘?zhēng)用時(shí)隙。
CSMA 算法定義了多個(gè)節(jié)點(diǎn)同時(shí)嘗試通信時(shí)判優(yōu)RF 通道使用的協(xié)議。最常見的實(shí)施方案是采用 CSMA/CA 算法,這里的 CA是指防碰撞系統(tǒng),因?yàn)榘l(fā)送節(jié)點(diǎn)一旦偵聽到通道繁忙將取消發(fā)送消息。CSMA 算法還有其它的實(shí)施,如 CSMA/CD(碰撞檢測(cè))和CSMA/CR(碰撞解決)等,但這些在 RF 協(xié)議實(shí)施中并不常見,也不在本文討論的范圍之內(nèi)。
安全性是影響無線通信穩(wěn)健性的另一個(gè)重要因素,同時(shí)也是網(wǎng)絡(luò)的主要功能。例如,家庭安全網(wǎng)絡(luò)可能包含一個(gè)車庫(kù)門開啟器,用它來開關(guān)車庫(kù)門鎖。這種系統(tǒng)需具有高度的安全性,防止偷聽或出現(xiàn)安全漏洞,確保隱私。我們可通過采用不同級(jí)別的安全密鑰和加密機(jī)制、進(jìn)行消息驗(yàn)證與完整性保護(hù)、使用安全信任中心(trust center)等方式來確保安全性,也就是說,通過網(wǎng)絡(luò)上的單個(gè)節(jié)點(diǎn)(通常是網(wǎng)絡(luò)協(xié)調(diào)節(jié)點(diǎn))而不是采用分布式安全機(jī)制來解決所有安全問題。如果采用分布式安全機(jī)制,在創(chuàng)建不同鏈接時(shí)會(huì)分別交換對(duì)稱密鑰,某個(gè)攻擊節(jié)點(diǎn)會(huì)繞開管理節(jié)點(diǎn)的直接驗(yàn)證,很容易進(jìn)入網(wǎng)絡(luò)。