作者:Miguel Morales,MSP430 应用工程师,Kevin Belnap,MSP430 产品市场营销经理
摘要
许多设计人员都听说过 ZigBee 与 IEEE 802.15.4 标准,但不清楚到底应该选择Zigbee,还是 802.15.4,抑或是开发自己的专有网络协议。本文将以专有协议为例,介绍各种协议的优势,并在性能和应用领域方面进行对比区分。讨论不同的网络拓扑、资源要求以及灵活特性,从而帮助利益相关方(interested party)选择最适合自己应用需求的开发协议。
本文分三部分讲述低功耗网络及在他们之间如何选择的问题。第一部分论述网络基础知识以及低功耗网络选择标准;第二部分继续探讨选择标准,并介绍802.15.4 协议;第三部分介绍 ZigBee 和专有网络协议 SimpliciTI,并根据上述选择标准衡量这些协议。
第一部分
电子市场中的最主要趋势之一就是越来越多的产品都开始添加无线连接功能。水电气表、家庭安全系统、电视遥控或健身设备等各种产品都添加了无线连接功能,这一方面是为了方便用户使用,用户可通过无线遥控在房间任意位置操控,不像红外线遥控非要瞄准设备才能工作;另一方面,这种无线操控也是为了减少房间重新布线的昂贵成本例如不用重新布线就能安装家庭安全系统等。此外,自动抄表系统 (AMR) 或高级电表架构 (AMI) 等设备也越来越依赖低功耗协议使设备的电池使用寿命能够长达数年之久。
本文将概括介绍无线网络协议,不过将重点介绍 ZigBee 与 802.15.4 协议,并将其与专有网络协议进行对比,这些协议根据设计都能满足低功耗应用的要求。尽管许多工程师对这些网络协议都已经比较熟悉了,但可能还没有仔细对其加以评估。即便有人曾经评估过这些协议,但在特定应用时可能仍不清楚到底哪种协议最合适。本文分三部分。第一部分,我们将介绍网络基础知识,其中包括常见的网络术语、开放系统互连 (OSI) 网络模型等,并探讨在为特定应用选择网络时应考虑的因素;第二部分,我们将给出一系列网络选择标准,根据这些标准对三种网络协议加以对比;第三部分,我们将详细介绍 802.15.4、ZigBee 以及 SimpliciTI 专有网络协议,并给出具体实例,说明如何根据选择标准确定适合特定应用的最佳网络协议。
目前,推出的无线网络协议种类繁多。下面我们仅列出部分网络协议:
-
WiFi(802.11b)、蓝牙、ZigBee、ZigBee Pro、802.15.4、RFID 以及 Wireless USB 等标准化协议。
-
芯片厂商、第三方等推出的专有协议,本文称之为“DIY”网络协议,仅用于推出该协议的公司自己生产的产品中。
图 1 显示了多种网络协议及其重点应用领域和典型资源要求等。我们在比较低功耗协议(如 ZigBee/802.15.4 与其它协议)时,应重点关注低功耗无线网络区别于其它网络的一些关键特性,比如数据速率低、连接距离短、帧开销低、复杂性低等,还有就是协议本身的电源管理要求。上述各项设计因素都是为了最终实现降低网络单位节点功耗的目的。如图 1 所示,ZigBee/802.15.4 协议理想适用于环境监控市场领域中的相关应用,不仅可确保电池供电设备能长时间最佳工作,而且相对于支持更大型复杂化协议的硬件来说还能有效降低成本。
图 1 — 无线协议参数及其重点应用领域(ZigBee联盟提供)
低功耗网络主要设计用于为电池供电设备(电池使用寿命达数月或数年之久)间提供无线连接。大多数低功耗无线系统中,以无线电发送和接收数据最为耗电。因此,我们应尽可能降低无线电的功耗,这对延长电池使用寿命至关重要。由于信号发送和接收之间的距离与天线的功率输入成正比,因此不同节点间的无线网络覆盖范围一般有限。无线协议还应降低自身的复杂性,以降低计算开销,避免使用大容量存储器,从而降低成本。
网络基础知识
图 2 显示了典型低功耗网络节点的结构图。通常,节点中有一个或多个传感器负责收集数据或状态和/或向系统提供用户接口。微控制器连接于传感器并控制无线电(本例中为 CC1100 或 CC2500),而无线电则负责传输和接收状态。
图 2 — 典型低功耗网络结构图(本例显示的是自动抄表系统应用)
不管是有线网络还是无线网络,我们在概念上都可将网络节点通信视为如图 3 所示的网络开放系统互连 (OSI) 基本参考模型。这一模型于上世纪 70 年代末由国际标准化组织 (ISO) 制定,该模型将网络协议实施组件(component)分为不同的软件层。在不同设备上的两个应用要想通信,消息必须穿过应用层,经过物理层到达另一侧。每一层都只能与其相邻层通信。
怎么理解分层软件架构呢?我们可以设想一下寄信的过程。信件本身就相当于应用数据。我们把信投在信箱里,等着邮递员取出,再拿到邮局。邮局根据收信人地址将所有信件分类,再通过航空、海运或陆路方式将信件寄到最终目的地。信件要想达到收信人的手中,在收信人一方的邮局也必须经过相反的一套程序,先是寄到收信人所在的邮局,按目的地分类,再发送到收信人的邮箱,最终达到收信人手里。寄信过程实际反映了一个四层通信协议。写信是第一层,当地邮局的收发是第二层,邮局对信件分类是第三层,而信件运输方式则是第四层。每一层都有自身的任务,也只同相邻层有关。信件只有从整个环节的一端传送到另一端,信件的内容(或应用数据)才能在双方之间得到成功交流。
OSI 模型涉及 7 个不同的软件层。应用层是直接针对用户的界面。表示层将消息格式化为进出网络的格式,通常体现为消息加密和/或编码。会话层创建并管理网络上任何两个设备间的逻辑链接。传输层负责提供可靠的端对端通信功能。如果传输层的故障过于频繁,那么通道噪声可能过大,或链接本身质量不佳,这时就要通知会话层在发生故障的节点间建立新的链接。网络层负责网络路由机制,而不同设备间的消息传输则由数据链路层负责。数据链路层确保消息点对点交付,但消息在物理介质上的实际传输则由物理层负责。这样,消息就能从 OSI 模型的一端传输至另一端。
设计人员可以选择实施不同数量层的协议,并能根据应用需要选择定制其它层。目前大多数网络实施方案实际上都不能完全实施所有的层,需要根据协议要求将某些层的功能加以混合。事实上,OSI 模型是我们理解协议架构复杂性和不同功能的最佳框架。设计人员应当明白自己的解决放案要实施哪些功能,哪些功能可不予以考虑。
图 3 — 网络的组成部分
为了明确到底在 ZigBee、802.15.4 和专有网络之中选择何种无线协议,我们列出一些选择标准:
-
应用考虑事项
-
稳健性与可靠性
-
简便易用性
-
硬件及 RF 考虑事项
下面我们将详细讨论上述各标准。
应用考虑事项
网络设计的初始步骤与其它任何系统设计工作一样,都是定义应用的高级要求。下面我们列出一些最重要的网络参数,这是在确定任何无线协议作为最终解决方案之前都应加以明确定义的。我们随后在本文中将根据这些标准来介绍可能的实施方案,而这些选择标准和协议本身都将得到进一步详细说明。
-
网络拓扑
-
应用需要多少个节点?节点采取什么样的基本组织形式?
-
通信可靠性
-
网络安全性
-
数据是否需要确保安全?如果需要的话,网络数据传输的绝对安全性到底有多重要?
-
定制和设计的灵活性
-
网络协议解决方案需要进行多大程度的定制化以满足应用需求,协议是否提供无约束设计?
-
开发时间及协议复杂性
-
这一条与第 4 项密切相关,有关协议本身的复杂性有多高?
-
互操作性
-
与其他厂商技术的互操作性是否能使最终产品受益?最终产品是否会成为完全专有解决方案?
图4给出了四种最常见的无线网络拓扑实施方案。
图 4 — 低功耗网络拓扑
点对点网络拓扑支持网络上不同节点间的单向或双向链接。只有节点处在连接范围以内时才会相互通信,因为保持直接的物理链接是其通信的必要条件;唯一的例外是广播消息,其可以通过网络重复广播传播。树状网络拓扑中,每个网络节点都与其父节点相关联,网络寻址也会反映出这种节点关系,这与 IP 因特网地址非常类似。这样,我们就能实施更加有效的路由算法,因为更多的节点网络地址位数可以反映出某个节点相对于其对等节点的关系。星形网络可将单个节点视为网络协调点,负责各种可能的网络管理控制工作,如节点关联、节点网络加入与链接许可、消息转发以及安全交换等。星形网络依靠协调点来保持网络通信,如果协调节点出了问题,网络通信也会受到影响。
从最基本的意义上说,网状网络是指每个节点至少要有两条连接路径的网络。而全网状网络是指每个节点都有到其它节点的直接连接的网络。全网状网络在许多情况下是不合理的,因为这很快就会将网络规模限制在连接能力最弱的设备所覆盖的最小网络范围内,而网状网络的要求又过于严格。然而,人们会在两种情况之间找到某种折中,通过某个中央节点发起网络,用树状寻址技术来定位节点并管理节点间的关联关系。范围扩展器也称路由节点,可在网络中发送消息,如果一个节点或协调节点出了问题,网络仍能继续正常工作,只是会在一定程度上影响操作性。自愈路由发现以及路由过期 (route expiration)等其它优异特性可提高路由算法的可靠性与效率。
需要考虑的另一个重要因素是使用某协议所涉及的财务成本。使用某组织提供的专有网络协议一般要支付会员费或专利使用费。不过使用 ZigBee 无需支付专利使用费,但要求加入该联盟并每年交纳象征性的会员费的。此外,验证过程也需要投入大量的时间和金钱。芯片厂商的专有协议通常要求其产品只许在其特许场所使用。
稳健性与可靠性
低功耗网络协议实施的稳健性与可靠性可归结为三点:消息交付、物理层考虑事项以及消息发送协议。消息交付取决于路由技术来确保数据包的成功传输以及网络交易的安全性。物理层考虑事项涉及工作通道内的噪声或其它传输信号的干扰问题。消息发送协议则定义了通道的分区,确保所有设备都能使用物理介质,而不会在传输过程中导致数据包冲突。上述三点均有助于提高网络服务质量 (QOS),是一系列用以测量数据包通信效率、传输速率及故障率的网络标准。
通道扫描即侦听通道中传输量或噪声大小的能力,属于物理层考虑事项。网络协议通过通道扫描来查找特定工作频带内最不可能干扰节点间通信的通道。频率捷变性是指网络改变网络上所有节点的工作通道的能力,这样即便某条通道遭到干扰,网络仍能继续工作。我们还能通过确认机制来改善消息交付能力,即让接收节点在成功接收数据包后向最初的发送节点反馈一个 ACK 确认信息。点对点确认机制配合消息重试次数定义有助于大幅降低数据包丢失的可能性。而端对端确认机制将提供另一层安全性,确保数据包不会丢失,这在采用复杂路由算法的大型多跳转网络中尤其重要。
消息发送协议定义了网络带宽是如何获得并进行分区的。不同的无线协议可定义不同的带宽分区,其可能包括频分、空分、时分或码分等。频分可理解为一屋子的人用高低不同的声音谈话;空分可理解成一屋子的人在不同方向上谈话;时分可理解成一屋子的人都竞争说话权,但只要有一个人抢先发言,其他人就不再说话了;码分则可理解为一屋子的人用高低不同的声音讲不同的语言。在本文涉及的协议中只讨论时分,也就是时分多址协议,这种协议有同步和异步通信两种可能的实施方案。
协调节点广播周期性网络信标并将不同信标间的时间间隔划分为相同的时隙,从而实现同步通信。单个网络信标以及出现在下一信标之前的各时隙均称作超帧。超帧的时隙可进一步分为活动和非活动通信期,这样协调节点在非活动期的低功耗模式下就能进入休眠状态。我们可通过通道侦听多址(CSMA)技术或通信前侦听算法来确保或让各方争用时隙。
CSMA 算法定义了多个节点同时尝试通信时判优RF 通道使用的协议。最常见的实施方案是采用 CSMA/CA 算法,这里的 CA是指防碰撞系统,因为发送节点一旦侦听到通道繁忙将取消发送消息。CSMA 算法还有其它的实施,如 CSMA/CD(碰撞检测)和CSMA/CR(碰撞解决)等,但这些在 RF 协议实施中并不常见,也不在本文讨论的范围之内。
安全性是影响无线通信稳健性的另一个重要因素,同时也是网络的主要功能。例如,家庭安全网络可能包含一个车库门开启器,用它来开关车库门锁。这种系统需具有高度的安全性,防止偷听或出现安全漏洞,确保隐私。我们可通过采用不同级别的安全密钥和加密机制、进行消息验证与完整性保护、使用安全信任中心(trust center)等方式来确保安全性,也就是说,通过网络上的单个节点(通常是网络协调节点)而不是采用分布式安全机制来解决所有安全问题。如果采用分布式安全机制,在创建不同链接时会分别交换对称密钥,某个攻击节点会绕开管理节点的直接验证,很容易进入网络。
第二部分
在本文第一部分,我们讨论了包括开放系统互连(OSI)网络模型在内的网络基础知识,并介绍了低功耗网络的特点以及包括应用考虑事项和稳健性与可靠性等在内的相关选择标准。在第二部分中,我们将探讨更多选择标准,介绍802.15.4协议并将其与上述选择标准进行了比较。
简便易用性
简便易用性反映为对协议可用性的主观分析。包括代码可读性、支持文档、直接工程设计支持和简化的 API 等在内的多种因素都有助于简化对哪怕是最复杂软件系统的学习进程;不过,本文所说的简便易用性是从协议的复杂程度角度来说的。根据不同应用要求,设计人员可能认为须采用高度复杂的协议,但我们应认识到,软件实施方案越复杂,特性集也就越丰富。802.15.4、ZigBee 和 SimpliciTI 等低功耗无线协议正好实现了复杂性与简便易用性的最佳平衡,其提供的完整协议架构,便于设计人员理解并发挥特性集的全部优势。如实施方案过于复杂,即便经验丰富的嵌入式开发人员都可能感到头疼。因此,协议特性与简便易用性相平衡是我们要考虑的一个重要选择标准。
硬件与 RF 考虑事项
我们应考虑的一些硬件和应用问题,其中包括系统的物理规模、传输距离、成本预算、功耗预算,以及应用特性(如要求语音识别或用户接口)等。只有回答了这些问题,我们才能确定采用何种无线协议,才能明确支持何种微控制器特性。在超低功耗协议设计中应考虑的关键硬件选择标准如图 5所示。
图 5 — 主要低功耗无线硬件选择标准
上述选择标准适用于本文所讨论的有关协议,也是在实施最终解决方案评估硬件时可借鉴的重要依据。我们还应处理一些系统级问题,如硬件的物理尺寸,因为这会限制MCU和/或无线电的选择。在某些情况下,在单个器件上集成了MCU和无线电的片上系统(SOC)是一款具有最佳尺寸与特性的解决方案。而在其它情况下,尺寸的限制意味着支持集成模拟功能的 ADC 等会决定 MCU 的选择。此外,硬件的选择还会受到协议本身对存储器和 MCU 资源要求的影响。如果协议实施的资源要求对MCU的应用性能有一定局限,那么设计人员就可选择专门用来支持实施方案的无线应用处理器,如ZigBee 协议栈处理器,这样就能让“应用”MCU来实施定制应用功能。
在详细讨论协议之前,图 6 以 MSP4304618 MCU 和 CC2420 无线电广播为例显示了协议的范例编制,使读者对实际实施中的内存占用情况有个一般性的了解。
|
闪存/ROM (KB)
|
RAM (KB)
|
SimpliciTI
|
6
|
2
|
TIMAC 802.15.4
|
1
|
2.3
|
ZigBee协调器 (Min/typ)
|
54/56
|
4.5/6.6
|
ZigBee终端设备 (Min/typ)
|
38/41
|
3.64.4
|
ZigBee Pro 协调器
|
62.6
|
6.7
|
ZigBee Pro 终端设备
|
48
|
4.8
|
* 采用 IAR Embedded Workbench v4.1;优化度设为? 高;由德州仪器进行协议实施
图 6 —— 不同无线协议的微控制器内存要
802.15.4
802.15.4 标准是由 IEEE 802.15第4任务组 (IEEE 802.15 Task Group 4) 开发的低功耗无线网络标准。原始标准于 2003 年发布,后经修改由 2006 年版取代。随着越来越多的电子设计人员要求一种适用于低复杂性、低数据速率以及(大多数情况下)电池供电应用的实施方案,该标准应运而生。具休而言,开发该标准旨在面向家庭自动化、工业控制、农业以及安全监控等领域的应用。包括 ZigBee和 ZigBee Pro 等在内的若干种其它协议也采用 802.15.4 作为物理层和数据链路层。
也有人将 802.15.4 标准称为 MAC,即媒体接入控制 (Medium Access Control) 标准,因为其可定义网络中任意两个对等设备的通信协议。从概念上讲,我们能够以全功能设备 (FFD) 或简约功能设备 (RFD) 的方式实施802.15.4 个人局域网 (PAN) 中的设备。FFD 节点具备网络协调器的能力,一般由主电源供电。不过由于每个星型配置的 PAN 只能有一个 FFD 节点,所以 FFD 一般不会始终用作网络协调器。FFD 可用作通用节点。RFD 节点在设计上相对简单,因而不能充分发挥网络协调器的全部功能,只能与 FFD 节点通信。RFD 节点对于应用的实施要求很低,从而可降低 IC 的成本,有可能作为应用中启用传感器或制动器的节点,而且由于运行占空比极低,也比较有可能适合采用电池供电。如错误!未找到引用源。 所示,若 FFD 协调器向子节点之一(也必须为 FFD)分配新的 PAN 标识 (PAN ID) 后就能够对 802.15.4 网络的星型拓朴进行扩展,从而创建仅有协调器节点才可以交换信息的 PAN 群集。注意该标准不直接支持路由。
图7:802.15.4的网络配置
通过定义两个节点之间的通信,如网络管理基础,802.15.4 标准可为开发 ZigBee 等更高级别的网络实施提供灵活的基础。
虽然 802.15.4 标准是开发更高级别网络的良好基础,但其存在一定的复杂性,这在适当的应用考虑条件下,可以直接当作一种可靠的通信方式进行部署。一般来说,如果要满足下列要求,设计人员应考虑采用802.15.4 标准:
-
要求采用业界标准化的物理层与较低层协议
-
可自由设计自己的较高层协议
-
能够灵活选择各种硬件与较低层软件厂商
-
具备物理层与较低协议层的互操作性
-
实现较低的设计与开发成本
-
由第三方厂商/供应商提供支持与维护
且愿意接受下列劣势:
-
需要设计与开发较高层协议和应用
-
根据标准会存在无线电广播通道限制
为便于理解这些应用级考虑事项符合 802.15.4 标准的原因,对协议本身的稳健性、可靠性以及总体实施进行分析非常重要。图 8 是该协议层的概念组织结构与先前讨论的 OSI 模型的比较。
图8 -- 802.15.4 的 OSI 网络模型。IEEE 的该标准包含物理层与数据链路层的规范。
实际上,“媒体接入控制”仅指 802.15.4 标准的数据链路层。物理层,也称为 PHY 层,能够定义无线电广播设备间在欧洲(868 MHz)、美国(915 MHz)以及世界范围(2.4 GHz)工业、科学以及医疗(ISM)频带上工作的物理链接。PHY 层可通过 DSSS RF 调制方案最终提供节点之间的数据传输服务,并设定 868/915MHz 通道的数据速率为 20 kbps 或 40kbps,2.4 GHz 通道的工作数据速率为 250kbps。此外,PHY 层还可规定网络节点的特性要求,如接收机功率检测、链接质量指示、无干扰通道评估以及寻址方案(包含 64 位 IEEE 寻址和 16 位网络地址,可在网络中设定 64,000 个节点)。
协议的 MAC 层提供的特性能够实现可靠的对等通信,如数据包帧管理、节点关联、对等确认等。802.15.4网络可实现同步或异步通信。同步通信由 16 个时隙构成的超帧定义,可以选择其中的 7 个时隙提供担保,或者所有时隙都可以使用 CSMA/CA 协议。完全按照 CSMA/CA 协议处理异步通信,如果通道繁忙会引起对传送节点的随机的指数时长的退避,直到下一次尝试传输数据包。在任一情况下,在发送与接收节点之间都可实施确认方案,以最大限度地降低数据包事务交易的丢包可能性。如果发送方接收到 NACK,就意味着该数据包未被成功接收。在这种情况下,基于超时的重发方案与用户定义的重试次数将最有可能确保数据包的成功交付。为实现异步通信,802.15.4 网络中的 FFD 节点也会实施存储并转发功能。
802.15.4 没有指定加密方式。不过,符合标准的软件平台可以实施某些功能,以使用户能够轻松地在较高层实施中添加对称加密方法。这样,用户就可对其应用采用的安全方式进行优化。
802.15.4 协议的相对易用性与功能性的平衡使得现有的软件实施具有良好的易用性。由于协议提供的高可靠性,一般来说如果结合采用某种低级别任务调度程序,则工程设计小组从上手到充分利用现有解决方案只需要很少时间。参见图 6,协议对内存占用、资源要求以及协议开销等也没有限制性要求。
第三部分
本文第一部分和第二部分讨论了网络的基本知识,其中包括开放系统互连 (OSI) 网络模式、低功耗网络和802.15.4的特点与选用标准(如应用层问题、稳健性/可靠性)以及如何根据这些选择标准进行比较判断。第三部分将讨论 ZigBee 和 SimpliciTI,并将提供如何选择协议的相应例子。
ZigBee
ZigBee 采用 802.15.4 标准作为其对等通信的基础。该标准由 ZigBee 联盟 (ZigBee Alliance) 开发并管理。ZigBee Alliance 是一家投资于该标准并在无线领域进行推广的联合组织,并且日益为业界所关注。不过ZigBee 拥有自己独特的应用功能,用户应对此进行充分了解,而不是仓促地将其应用于所有的低功耗无线应用领域。
ZigBee 最常用作异步通信标准,其具备 CSMA/CA 通道接入能力,并拥有 802.15.4 章节所述的所有功能。针对相同市场领域的情况下,相比之下 ZigBee 可为寻求准担保信息交付、大规模轻松网络集成以及设备间互操作性的开发人员提供众多优势,同时还提供众多 802.15.4 标准不能直接解决的较高级别网络问题的解决方案。
ZigBee 网络的实施有三种拓扑,如图 9 所示。与 802.15.4 类似,ZigBee 支持对等通信与星型配置。ZigBee 在 802.15.4 规范之上添加了路由协议与层级网络寻址方案,可实现群集树拓扑结构(具有相同PAN ID)以及多跳网状网络拓扑。
图9 —— ZigBee的网络配置
这些拓扑结构均由可实现三种逻辑抽象功能之一的 802.15.4 FFD 和 RFD 节点提供支持。必须为 FFD 的ZigBee 协调器将启动网络和管理网络连接与安全密钥等大多数网络参数,是路由消息不可分割的组成部分。ZigBee 路由器也必须为 FFD,负责转发往返于其他网络节点的消息,并实现 ZigBee 网络的网状网特性,同时扩展网络的总体覆盖范围。ZigBee 协调器与路由器一般由主电源供电,因为它们应能够在任何时间接收和传输消息。如果预计应用的数据传输是周期性的,则 ZigBee 也可以采用 802.15.4 同步网络的TDMA 消息传输协议。ZigBee 终端设备以 RFD 方式实施,可以最大限度地减少其占空比和资源要求,从而实现采用电池供电并长期工作的目的。
ZigBee 理想适用于具有下列要求的应用:
-
采用标准化的物理层与较低层协议 (IEEE 802.15.4)
-
标准化的较高层协议(比如网状网拓扑,多跳等)
-
全面互操作性,甚至达到应用层级别(公共配置文件)
-
设计与开发要求低(仅限于应用)
-
技术支持与维护厂商/供应商之间竞争激烈
ZigBee 可接受下列劣势:
-
ZigBee Alliance 成员费用
-
认证费用(如果不专门针对符合 ZigBee 或者 ZigBee 认证的产品则无需此费用)
-
代码量(功能性的开销可能大到难以使用)
-
无线电广播通道限制(限于在 IEEE 802.15.4 中指定的通道)
上述所列各项表明需要对许多项目进一步澄清,因此首先对标准化的较高层协议进行描述。与 802.15.4 相比,如图 10 所示,ZigBee 可向上实施至 OSI 无线应用网络模型的传输层,甚至能够达到部分会话层。
图10 —— ZigBee 的 OSI 网络模型
对 802.15.4 协议最突出的三项新特性是网状网路由算法,一个功能强大的安全实施,以及应用级抽象以在目标市场领域中实现设备与可互操作“应用配置文件”的强大关联性。
ZigBee 网络的网状网路由算法使其成为网络上终端设备之间数据交付的极可靠方式。除了能够在网络中确保分组交付的可选端到端确认,ZigBee 还定义了能够围绕故障节点进行通信的路由发现算法,这也称为ZigBee 的通信自愈能力。路由发现是一种可由任何路由器设备启动并始终针对特定目的地执行的最短路径算法。计算的原理是由于每个节点都一直保留着至所有相邻设备的“链接成本”记录,其中链接成本是测量所接收信号的信号强度。累加沿路由所有链接的链接成本就可得出“路由成本”,并可计算网络中每个路由的路由成本。
节点可以通过向其相邻设备广播针对特定目的地的路由请求 (RREQ) 数据包来请求路由发现。每当某节点接收 RREQ 时,其就会向路由成本累加其链接成本,然后再相应广播 RREQ。这种情况将反复进行,直至所有 RREQ 均到达目的地设备。然后目的地设备将选择路由成本最低的 RREQ 数据包,并广播路由回复 (Route Reply)。当 RREP 数据包返回至源地,所有中间节点将更新它们的路由表,指示通往目的地的路由。这样,节点可丢失至下一跳的连接,并向网络发送路由错误 (RERR) 数据包,以便在下一次有人试图向其发送消息时,就会启动新的路由发现。
ZigBee 可实施广泛的安全措施。ZigBee 采用三种安全性密钥,即用于长期安全性的主密钥、加入网络的网络密钥,以及用于对等通信的加密密钥。采用 AES-128 位加密标准执行加密。在检验消息的完整性方面,ZigBee 采用 MIC-128,即消息完整性代码。此外,通过使用协调器作为信任中心从单个节点管理所有安全性,网络还能够定期选择对对称加密密钥进行更新,从而实现安全通信的无限管理。
不过,应用级抽象可能是 ZigBee 最具有竞争力的特性。可以对每个节点进行汇编以容纳多达 270 个“端点”或者应用。举例来说,每个端点都可以代表一个电灯开关或者一个灯泡(灯泡 01、灯泡 02 等)。每个端点可以接受任意类型的数据,也可以发送任意类型的数据。从某端点输出到另一端点的输入数据有单个描述符,一般称为群集 (Cluster)。为继续使用灯泡作为例子,假定被命名为“light_status_on_off”的灯泡开关状态是这些称为群集的数据描述符之一。然后,每个端点就可以根据端点 ID (1-270) 及其群集列表(接收或者传输的数据类型)进行描述。在群集匹配的情况下,就可以进行一对一或者一对多端点的逻辑绑定。在该例中,某一灯泡开关可以与任一或者所有被描述为支持“light_status_on_off”群集的灯泡逻辑绑定。这种应用级的一对一或者一对多绑定是 ZigBee 协议功能强大的特性。
图11 – ZigBee 的绑定表可用于即时控制更改
如果 ZigBee Alliance 当时定义了群集列表和解释端点间群集流的方法,就可以为特定应用(如电灯开关/电灯泡等)指定标准,且无需担心用于实施应用的具体硬件。ZigBee Alliance 正好已经完成了这项任务,将这些标准称为应用配置文件,从而不仅使来自不同厂商的应用能够完全实现互操作性,而且还加强了ZigBee 低功耗无线网络目标市场领域的整体竞争性。
如果互操作性不是设计人员的主要意图,ZigBee Alliance 还可以让设计人员定义不共享的企业专用型应用配置文件。为简明扼要,我们就不对 ZigBee 实施的其他特性进行详细讨论了,这些特性包括群组寻址、频率捷变、会话故障的自动重加入和协议最新版本 ZigBee 2007(也称为 ZigBee PRO)提供的系列附加特性。ZigBee PRO 基本上仍属于 ZigBee 标准范畴,但在编辑时增加了用于优化支持超大网络集成的特性。如欲了解更多详情,敬请访问 ZigBee Alliance 网站:。
采用 ZigBee 协议进行产品设计的劣势包括与开发 ZigBee 产品相关的成本:按年支付给 ZigBee Alliance的成员费用、认证产品是否符合 ZigBee 的费用以及协议本身的存储器占用。ZigBee 协议加载的特性很难在每项应用中都得到充分利用,从而在定制解决方案的情况下需要设计额外的存储器资源。在某些情况下,对存储器与资源的要求甚至可以限制到最终应用级。因此,部分企业推出了具备集成 MCU、预加载了 ZigBee 软件协议栈的无线电广播组件,其运行则由少量 API 对另一个以应用为中心的 MCU 的调用来控制。通过采用 SPI 通信来更新ZigBee芯片的配置,应用 MCU 可以免受协议对存储器与资源要求的限制,可以有效地处理其他应用任务。
SimpliciTI
SimpliciTI 是现有低级别协议实施的范例,设计人员在开发时间有限、网络拓扑简单的应用时可以用来实施。实际上,不符合现有低功耗无线标准的专有网络非常多,不仅跨多个应用空间而且还具有各种不同的实施复杂性。之所以将 SimpliciTI 选作范例协议,是因为其与 802.15.4 和 ZigBee 相比具有更小的尺寸以及更低的复杂度。不过还有众多其他实施方案也值得纳入考虑范围,简单来说有 Ant、Blue Robin、MiWi或者 SunSpot 等。SimpliciTI 拥有众多优异的关键特性,如内存占用少、方便易用、复杂度低等。
SimpliciTI 专注于支持简单星型网络的对等拓扑,即指最大化地利用称为接入点 (Access Point) 的单个网络协调器。图 12是一个家庭自动化网络的范例,其中 SimpliciTI 网络还定义了范围扩展器 (Range Extender) 与终端设备 (End Device) 抽象概念。可将该网络扩展至包括多达四个范围扩展器。
图 12 — 厂商所提供网络的范例
SimpliciTI 提供简化的网络管理功能,包括可实现终端设备休眠功能的存储并转发缓存、网络初始化、基本链接管理以及网络探索。图 13 显示的该协议架构很难直接与 OSI 模型并行,因为其在物理层、数据链路层以及网络层中实施的功能都有所简化,难以充分满足各层全面实施的要求。
图 13 —— 针对专有网络 SimpliciTI 调整后的 OSI 网络模型
SimpliciTI 采用能够与提供管理功能的网络层通信、非常类似于 TCP/IP 协议的端口架构,并可维护最少的电路板支持数据包层,即 BSP 层来与无线广播和MCU进行接口相连。SimpliciTI 没有正式的物理层描述,因此也没有对频率、数据速率或者调制提供要求,从而为设计人员提供了广阔的硬件级设计空间。
此外,需要重点指出的是,SimpliciTI 协议也没有定义路由、确认或者确保可靠性的其他方法。用户必须处理如消息超过最大应用有效负荷、数据丢失以及数据冗余等众多问题。但这不是一种局限,因为低功耗应用往往对数据数率和要求都相当低,这里或者那里丢失一个数据包不是什么问题。以自动调温器为例,丢失一个包的数据对应用来说并不构成重大问题。如果通信的可靠性对应用非常重要,用户也可在应用级实施可靠性协议。比如,可重复多次发送数据,可实施对等层确认,或实施可通知接收设备是否丢包的事务交易计数器。
SimpliciTI 与多数其他现有的低级别实施适用于具有如下要求的应用:
-
可自由设计自己的较高层协议
-
与纯粹的专有解决方案相比设计和开发成本更低
-
采用可用的较低层协议进行简单方便的即用型实施
且愿意接受如下劣势:
-
需要设计与开发较高层协议和应用
-
可能对芯片厂商有硬件要求
-
可能需要向推广标准的公司组织缴纳专利费或成员费
免费提供 SimpliciTI 的完整源码,且免专利费,但仅限于使用协议设计方德州仪器 (TI) 所推出硬件的情况。更多详情,敬请访问 。
协议选择范例
本节将探讨如何应用上面阐述的选择标准根据假定设计要求来进行选用的一些范例。
数据日志器
第一个例子是每隔五分钟就记录湿度与气压数据的制造监控系统。在此情况下,根据相关标准要求,数据必须保存至少五年,但如果每隔几个小时可能丢失某次采样数据,也不是什么大问题。数据应该保密。安装该系统后,将取代原有的机械监控方法,而且在此情况下有线系统并不适用。工厂生产线长度不一,但最长可达到 27 米,而且相关规则要求每 7 米设一个感测站。设计进度安排非常紧,系统需要在 6 个月内就完成推出。
从上述要求来看,该设计标准如下:
-
应用方面的考虑事项
-
系统可用于每隔五分钟捕获一次湿度与气压数据
-
最多 5 个感测站
-
基站必须向 PC 网络传输数据
-
系统用于工厂改造,以取代原有的机械记录方法
-
稳健性与可靠性
-
工厂数据应保密
-
在工厂生产期间将数据记录下来,而且根据规则要求必须保留五年,但偶有缺失并不造成关键问题
-
易用性
-
硬件与 RF的考虑事项
在本例中建议采用 SimpliciTI,这主要是由于设计进度安排比较紧,而且系统本身并不复杂。
家庭安全网络
第二与第三个例子将显示出,如果要求略有变动就会导致选择不同的协议。本系统是一个在已装修好的家居环境中安装的家庭安全网络,因此重新布线会花销太大。我们可选配安装几种不同的传感器,如烟雾传感器、玻璃破损传感器、运动传感器以及门禁控制感测 (access control) 等。每个传感器都与基站通信,然后基站再与家庭安全监控公司通信。该系统应能够与其它传感器实现互操作性,举例来说,从一家公司采购的烟雾检测器可以配合另一家公司生产的运动检测器。该网络必须具有高度安全性,以防窃听或篡改。设计进度安排能允许工程师有一定的学习时间,以加快网络协议的设计工作。
-
应用方面的考虑事项
-
家庭安全网络
-
用户界面必须直观易懂
-
需要遵循业界标准
-
应能够从不同厂商技术之间的互操作性及其相关支持方面受益***
-
稳健性与可靠性
-
关键的设计标准
-
系统必须具有高度的安全性,以防篡改、窃听
-
易用性
-
需要标准化的实施方案实现可靠性与安全性***
-
计划在总体的家庭自动化网络中集成家庭安全性应用
-
愿意花时间学习与充分利用更复杂的 API
-
硬件与 RF的考虑事项
本例中的最终结果应选择使用 ZigBee,因为不仅需要与不同厂商提供的设备互操作,还要确保满足标准化的可靠性与安全性要求。
结论
低功耗无线网络对改进使用体验、提高功能性有着巨大的潜力。本文概括性地介绍了基本的无线网络架构及相关术语,此外还探讨了如何通过相关标准并在一定框架基础上选用何种低功耗无线协议,而且专门讲解了 802.15.4、ZigBee 以及低层专有特性集的范例。我们首先重点讨论了高级别应用的考虑事项,随后再深入讨论包括稳健性、可靠性、易用性以及硬件等在内的各项具体标准,以帮助设计人员应用框架来为其应用选择正确的协议,从而为更多产品提供低功耗的无线连接能力。
|