选择无线协议:802.15.4、ZigBee 以及专有网络之间的对比
许多设计人员都听说过 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 模型是我们理解协议架构复杂性和不同功能的最佳框架。设计人员应当明白自己的解决放案要实施哪些功能,哪些功能可不予以考虑。