发布日期:2022-04-17 点击率:50
Z-Wave® 强调易用性和互操作性,在消费类和“智能家居”应用领域,当属前沿无线网络技术之一。不过,对设计人员而言,实现 Z-Wave 特有的易用性极具挑战,每台基于 Z-Wave 的设备上市前都必须正式通过合规性认证。
这些挑战增加了应用开发的成本和时间,而对于成功的设计而言,最大限度地降低这两者却至关重要。除非内部成员具备丰富的射频 (RF) 硬件和固件专业知识,否则设计人员选择预认证组件和现成解决方案才是明智之举。对于时间紧迫、预算紧张的设计,毫无余裕就射频设计进行学习和实验。射频传播以及机载阅读器与射频卡之间的耦合作用等个中微妙,着实过于复杂。
本文介绍了无线网状组网的一些基础知识,特别是 Z-Wave。随后,本文以 Silicon Labs 的 700 系列 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 设备通常不会干扰其他无线网络。
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 是一款智能调制解调器片上系统 (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 两个输出引脚来实时配置,从而使最终产品适用于任何地区,同时简化设计、制造和库存。
相较于 '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 模块及相关开发套件,提供快速构建双节点网络所需的硬件和软件,并确保与这种复杂而高效的协议兼容。
下一篇: PLC、DCS、FCS三大控
上一篇: 使用市面上首款基于 A