z-wave®强调易用性和互操作性,在消费类和“智能家居”应用领域,当属前沿无线网络技术之一。不过,对设计人员而言,实现 z-wave 特有的易用性极具挑战,每台基于 z-wave 的设备上市前都必须正式通过合规性认证。
这些挑战增加了应用开发的成本和时间,而对于成功的设计而言,最大限度地降低这两者却至关重要。除非内部成员具备丰富的射频 (rf) 硬件和固件专业知识,否则设计人员选择预认证组件和现成解决方案才是明智之举。对于时间紧迫、预算紧张的设计,毫无余裕就射频设计进行学习和实验。射频传播以及机载阅读器与射频卡之间的耦合作用等个中微妙,着实过于复杂。
本文介绍了无线网状组网的一些基础知识,特别是 z-wave。随后,本文以silicon labs的700 系列z-wave 兼容微控制器芯片系列及相关开发工具作为实例,展示如何快速构建经认证的可用 z-wave 网络并应用于新型消费类设备。
什么是 z-wave?
z-wave 是众多相互竞争的家庭无线网状组网标准之一(图 1),其他标准包括 zigbee、thread 和 insteon。虽然 wi-fi 和蓝牙最初设计时并不具备网状网络功能,但都已针对网状组网进行了更新,如今也加入了该领域的竞争,尽管其功率水平和数据速率有所不同。
每种无线网络都有其优缺点,但 z-wave 专为低成本、低功耗的消费类设备而设计,并不断发展以满足新的需求。
图 1:z-wave 是一种用于家庭的无线网状组网技术。该技术不断发展以满足新的应用需求。(图片来源:digi-key,资料来源于 silicon labs)
在网状网络中,数据包可以从网络上的一台设备“跳跃”到另一台设备,直至到达目标设备。因此,两台设备不必一定要在彼此的无线电范围内。只要某台设备至少在网络上另一台设备的无线电范围内,那么这台设备就可以将数据转发到范围内的下一台设备,依此类推,直到数据到达目的地。网络上任意两台设备之间可能存在多条不同路径,因此网状网络协议需确定最短且最有效的路径。网络连接的设备越多,冗余级别越高,网络性能越稳定。
虽然网络跳跃从概念上理解很简单,但实际应用却很难实现。无论其制造商、功能、使用年数、范围或固件版本级别,每台 z-wave 设备(即节点)必须能与任何其他节点进行通信。作为网状网络的组成部分,节点必须能够充当起始、目标,或彼此超出范围的其他节点之间的中介。此外,每个节点还必须能够与任何其他节点交换应用级数据和命令。用户可能随时添加或删除节点,而网络必须仍然保持稳定,无缝运行且不发生中断。为了便于使用,节点必须能够加入(和离开)网络,操作时无需复杂的用户设置,没有 dip 开关、服务集标识符 (ssid) 或密码,并且无需键盘、鼠标、接口等(如适用)。
在技术方面,z-wave 是低速、低功耗的无线网络,数据速率最高为 100 kbps,但常用速度约为 40 kbps。典型工作范围约为 30 至 40 m,具体取决于网络射频组件、设计布局、天线位置,以及墙壁和环境干扰等环境因素。不同于 wi-fi 或蓝牙等点对点网络,z-wave 是网状网络,数据包时常从一个节点跳跃到另一个节点,总有效范围达数百米,为家庭应用提供充足的覆盖范围。
z-wave 的工作频率低于 1 ghz,处在工业、科学和医疗 (ism) 频段(北美为 908.42 mhz,欧洲为 868.42 mhz),不受 wi-fi 或蓝牙干扰。虽然 zigbee 也可工作在相同的 ism 频段,但多数情况下仍工作在更通用的 2.4 ghz 频段,该频段是全球共用的频段。因此,这也表示 z-wave 设备通常不会干扰其他无线网络。
zen gecko 简介
silicon labs 推出的 gecko 系列包含各种低成本、低功耗的微控制器。该产品系列可进一步细分为几个特定应用区域,包括用于 z-wave 开发的 zen gecko 子系列。
该公司的 zen gecko 系列推出了两款不同的 z-wave 设备。一款是“智能调制解调器”芯片,另一款则是完整的独立式模块芯片。调制解调器芯片(零件编号为efr32zg14p231f256gm32-br)旨在与主机处理器配合使用,而模块 (zgm130s037hgn1r) 则可以单独使用,几乎不需要外部元器件。
这两款器件均基于 39 mhz 的arm®cortex®-m4 微控制器内核,虽然两者的实现方式有所不同。arm 的 cortex 架构是基于 risc 的新型微控制器设计,得到了数百家供应商的软件和硬件开发工具的广泛支持。
对于 'zg14 调制解调器芯片,内部 cortex-m4 自带预编程的 z-wave 协议栈。处理器对用户不可用,那么对开发人员而言,就几乎可以忽略其存在。因此,尽管调制解调器芯片能够处理复杂的 z-wave 协议,但仍需要由外部处理器来处理应用程序代码,进而使得 'zg14 成为相对复杂产品的理想之选,因为这些产品对空间和性能有所要求,以此支持独立的微处理器或微控制器。此外,只需添加 'zg14 智能调制解调器并接入信号和 rf 组件,即可使现有产品轻松兼容 z-wave。
而另一方面,'130s 模块是完全自足式芯片,可以作为产品中唯一的微控制器单独使用。该器件的内部 cortex-m4 对开发人员可用,可用于应用程序代码。相较于 'zg14 智能调制解调器,'130s 模块尺寸较大,但功能更强大,发烧友公众号回复资料可以免费获取电子资料一份记得留邮箱地址。包括模数转换器 (adc) 和数模转换器 (dac)、模拟比较器、电容检测接口(用于触摸屏)、计数器、定时器、看门狗计时器和 uart 等。该模块只需接入电源、接地和天线,即可实现功能齐全的 z-wave 控制器。
这两款器件共同构成了 700 系列,即 silicon labs 最新的 z-wave 组件,符合最新的 z-wave 规范。具体来说,两款器件均支持最新的安全功能(security-2,即 s2)以及简化用户设置的可选功能 smartstart。此外,还支持所有三种 z-wave 数据速率(9.6、40 和 100 kbps)以及所有全球频段。与所有 z-wave 设备一样,这两款器件向后兼容所有低版本的 z-wave 设备和控制器。
此前使用过 silicon labs 基于 8051 的 z-wave 设备(“500 系列”)的用户,可能希望将现有代码部分或全部移植到新版基于 arm 的设备。为了解决这一问题,silicon labs 提供了软件库和“构建模块”来简化转换。虽然旧版的 8051 代码不能单纯通过重新编译就转换为新版的 arm 代码,但代码库应该能够提供很大的帮助。
efr32zg14 z-wave 芯片内部结构
efr32zg14 是一款智能调制解调器片上系统 (soc),概念简单(图 2)。该器件包括用于连接外部主机处理器的双线串行接口,以及用于处理 z-wave 协议栈的内部 arm cortex-m4 mcu 内核,无线电部分则几乎包含物理无线电所需的所有组件。
图 2:efr32zg14 zen gecko 调制解调器 soc 的框图。该芯片可充当 z-wave 网状网络的智能调制解调器,仅有的外部接口包括用于连接主机处理器的 uart 和无线电收发器。(图片来源:silicon labs)
工作时,'zg14 单纯通过 uart 接口与主机处理器通信,波特率最高可达 115,200 bd。只需接入两根信号线,分别用于接收和发送。主机处理器通过 uart 接口发送命令和数据以供 'zg14 响应。resetn 是用于 'zg14 复位的第三根信号线,可由主机处理器的任何 i/o 引脚轻松驱动。
'zg14 与主机处理器之间只需接入三根数字信号线,与简单 ipd(集成无源器件)之间共四路数字信号,再接入晶振和几个简单的模拟元器件(图 3)。
或者,设计人员可以选择连接低电平有效的 suspend 信号,该信号可将 'zg14 置于低功耗状态,并中断所有无线电通信。事实上,大部分时间内 'zg14 可能都处于挂起状态以节能,具体取决于预期应用。
此外,开发人员还可以选择通过三芯线连接芯片内部闪存,用于实时对 'zg14 固件重新编程。silicon labs 提供了此类二进制固件。如前所述,'zg14 固件不能用于用户代码。
图 3:在 efr32zg14 zen gecko 的典型应用中,智能调制解调器芯片需要大约 20 个外部元器件,与主机处理器的连接只需要简单的三线串行接口。(图片来源:silicon labs)
如图 3 所示,设计人员可选择使用表面声波 (saw) 滤波器,具体取决于部署最终产品的地理位置:全球部分地区需要 saw 滤波器,其他地区则不需要。此外,设计人员还可以选择配备 saw 滤波器组,并通过 'zg14 的 saw0 和 saw1 两个输出引脚来实时配置,从而使最终产品适用于任何地区,同时简化设计、制造和库存。
zgm130s z-wave 模块内部结构
相较于 'zg14 调制解调器 soc,'130s 模块结构更复杂,功能更强大。silicon labs 称之为系统级封装 (sip)。名至实归,'130s 本质上集成了多个芯片,因而可作为独立的微控制器和 z-wave 控制器(图 4)。
图 4:zgm130s sip 模块的框图。该 sip 模块可作为独立的微控制器和 z-wave 控制器,具有 arm cortex-m4 及丰富的模拟和数字 i/o 以供开发人员使用。(图片来源:silicon labs)
该模块的 arm cortex-m4 中央处理器内核运行频率为 39 mhz,具有 512 kb 的闪存和 64 kb 的 sram。由于 z-wave 协议栈已包含在该模块的无线电收发器模块(框图左上角)中,因而用户可使用大部分存储空间。事实上,该模块相当于 'zg14 智能调制解调器芯片。
'130s 包含独立的内部 dc/dc 稳压器和内部晶振,因此无需外部时钟元件。此外,该模块还具有数个模拟和数字外设,包括 adc 和 dac、温度传感器、两个模拟比较器、三个运算放大器、电容检测接口、dma 控制器、32 个通用 i/o 引脚等。'130s 采用 lga64 封装,受引脚限制,并非所有 i/o 引脚都随时可用,具体取决于软件配置。
尽管 '130s 采用 64 引脚封装,但外部连接非常简单。如图 5 和图 6 所示,该器件只需接入简单的旁路电容(用于电源/接地),并通过单线连接天线,其余引脚均可用于用户 i/o。
图 5:zgm130s sip 模块只需接入一对旁路电容。(图片来源:silicon labs)
图 6:zgm130s sip 模块几乎包括所有所需的无线电组件,单线接口即可连接天线。(图片来源:silicon labs)
从入门套件开始
使用 zen gecko 系列开始着手 z-wave 开发,最简单的方法就是使用z-wave 700 入门套件。该套件的所有组件都成双配备,组成最小的双节点网络:两块主板、两块无线电板、两块带开关和 led 的扩展板、两根柔性天线和两根 usb 电缆。此外,还配有两个 usb 加密狗,可与个人电脑配合使用:一个装有 z-wave 无线电嗅探器应用 (zniffer),另一个则配有 z-wave 控制器功能。硬件及随附的软件支持全球所有地区的所有 z-wave 选项和协议。
图 7 显示一组电路板,顶部插入无线电板,右侧插入扩展板。主板不包括 zgm130s sip,该器件安装在无线电板上。相反,主板最显著的功能是具有位图 lcd,这对于调试或 gui 开发相当有用。
图 7:slwstk6050a z-wave 700 入门套件包括两组相同的主板、无线电板和扩展板,以构建小型 z-wave 网络。(图片来源:silicon labs)
软件安装
simplicity studio是 silicon labs 公司推出的一体式集成开发环境 (ide),可用于该公司的 zen gecko 等多款微控制器,支持 windows、macos 和 linux 系统。
在安装 simplicity studio 时,如果将开发套件中的一块主板(无论哪一块)连接到开发系统,则安装和配置过程会更为简单。ide 将检测硬件,并自动加载必要的软件支持。
若硬件不可用,则可以手动执行以下配置:
运行 simplicity studio 后,单击右上角的绿色箭头(图 8)。
图 8:simplicity studio ide 的主界面。下载链接突出显示。(图片来源:digi-key electronics)
simplicity studio 提供两个选项: install by device(按设备安装)或 install by product group(按产品组安装)(图 9)。两个选项产生的最终结果相同,但选择前者更加简单,因此请单击 install by device(按设备安装)绿色大按钮。
图 9:simplicity studio 提供了两种方案,可用于加载项目特定软件支持。(图片来源:digi-key electronics)
若安装了开发板,simplicity studio 应该会自动检测硬件,但如果没有,手动查找所需的软件包也很简单,只需在搜索框中键入 6050a(开发套件全称缩写),如图 10 所示。双击指示的软件支持包,然后单击“next”(下一步)。
图 10:在搜索框中键入 6050a 即可快速找到开发板所需的软件。(图片来源:digi-key electronics)
接下来,simplicity studio 将突出显示可用于此硬件配置的其他软件支持。某些情况下,一些软件模块仅限于同意补充许可协议和/或已注册硬件的用户,因此一些选项可能会灰显,暂时不可用,如图 11 所示。
图 11:是否可访问某些软件取决于硬件购买证明或其他软件许可。(图片来源:digi-key electronics)
最后,simplicity studio 将显示建议安装的所有软件清单,选项众多,包括一个或多个 c 编译器、可选的实时操作系统、分析工具等(图 12)。如有需要,可以手动启用或禁用特定选项,但一般情况下最好接受建议安装的软件选项。完成后,单击“next”(下一步)。
图 12:simplicity studio 最终软件清单。如有需要,可以手动启用或禁用特定选项,但一般情况下最好接受建议安装的软件选项。(图片来源:digi-key electronics)
在最后一步中,simplicity studio 将显示主软件许可协议,其中涵盖将安装的所有软件组件。阅读并接受许可,然后最后一次单击“next”(下一步)。
软件安装将需要几分钟时间。安装完成后,关闭并重新启动 simplicity studio。一切准备就绪,可以开始着手构建 z-wave 网状网络应用,包含一些预先配置的简单演示程序,以及可以修改的示例代码,这些都是为了帮助开发人员顺利上手。
总结
z-wave 旨在让消费者易于使用,但其可用性掩盖了设计人员所做的大量基础开发和认证工作。然而,只要设计人员选择使用包含兼容硬件和预测试软件的预配置套件,构建新的 z-wave 网状网络设备就变得相当简单。z-wave 700 系列调制解调器 soc、sip 模块及相关开发套件,提供快速构建双节点网络所需的硬件和软件,并确保与这种复杂而高效的协议兼容。
用于无线电通信的曼彻斯特数据编码
奥比中光举办安防行业沙龙 3D视觉引领安防进入新视界
《基于“矿板”低成本学习Zynq系列》之五-XADC改造与测试
Adam Taylor玩转MicroZed系列,第79部分
康佳PS300移动固态硬盘,不会让你失望
近零时间的 Z-Wave:智能家居网络的两种预认证解决方案
MES系统最全介绍来了,企业必看好文值得收藏备用
解读5G将为产业互联网及普通消费者带来的巨大变化!
三星推出全新Neo QLED电视
系统厂想自研芯片要先考虑什么?
什么是Ad hoc network
如何在 Ubuntu 和其他 Linux 发行版中创建照片幻灯片
Cambashi谈工业物联网的六大层面
瑞可达拟IPO 目前已恢复审查
中软国际解放号精彩亮相「全球智慧城市大会 · 长沙」
电机缺相的原因及排查
高合HiPhi X宣布在北京车展前全球首发上市
东芝电子开始量产M3H组21款新微控制器
CMS12510应用电路
西门子IPO出售Healthineers股权 医疗产业上市