首页 视频 图库 新闻 体育 博客 娱乐
基于EFR32ZG14微控制器的双节点智能家居网络系统电路设计
发布时间:2020-02-12
分享到:
基于EFR32ZG14微控制器的双节点智能家居网络系统电路设计
发布时间:2020-02-12
分享到:

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 专为低成本、低功耗的消费类设备而设计,并不断发展以满足新的需求。

Z-WAVE

在网状网络中,数据包可以从网络上的一台设备“跳跃”到另一台设备,直至到达目标设备。因此,两台设备不必一定要在彼此的无线电范围内。只要某台设备至少在网络上另一台设备的无线电范围内,那么这台设备就可以将数据转发到范围内的下一台设备,依此类推,直到数据到达目的地。网络上任意两台设备之间可能存在多条不同路径,因此网状网络协议需确定最短且最有效的路径。网络连接的设备越多,冗余级别越高,网络性能越稳定。

虽然网络跳跃从概念上理解很简单,但实际应用却很难实现。无论其制造商、功能、使用年数、范围或固件版本级别,每台 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 内核,无线电部分则几乎包含物理无线电所需的所有组件。

Z-WAVE

工作时,'ZG14 单纯通过 UART 接口与主机处理器通信,波特率最高可达 115,200 Bd。只需接入两根信号线,分别用于接收和发送。主机处理器通过 UART 接口发送命令和数据以供 'ZG14 响应。RESETn 是用于 'ZG14 复位的第三根信号线,可由主机处理器的任何 I/O 引脚轻松驱动。

'ZG14 与主机处理器之间只需接入三根数字信号线,与简单 IPD(集成无源器件)之间共四路数字信号,再接入晶振和几个简单的模拟元器件(图 3)。

或者,设计人员可以选择连接低电平有效的 SUSPEND 信号,该信号可将 'ZG14 置于低功耗状态,并中断所有无线电通信。事实上,大部分时间内 'ZG14 可能都处于挂起状态以节能,具体取决于预期应用。

此外,开发人员还可以选择通过三芯线连接芯片内部闪存,用于实时对 'ZG14 固件重新编程。Silicon Labs 提供了此类二进制固件。如前所述,'ZG14 固件不能用于用户代码。

Z-WAVE

如图 3 所示,设计人员可选择使用表面声波 (SAW) 滤波器,具体取决于部署最终产品的地理位置:全球部分地区需要 SAW 滤波器,其他地区则不需要。此外,设计人员还可以选择配备 SAW 滤波器组,并通过 'ZG14 的 SAW0 和 SAW1 两个输出引脚来实时配置,从而使最终产品适用于任何地区,同时简化设计、制造和库存。

ZGM130S Z-Wave 模块内部结构

相较于 'ZG14 调制解调器 SoC,'130S 模块结构更复杂,功能更强大。Silicon Labs 称之为系统级封装 (SiP)。名至实归,'130S 本质上集成了多个芯片,因而可作为独立的微控制器和 Z-Wave 控制器(图 4)。

Z-WAVE

该模块的 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。

从入门套件开始

使用 Zen Gecko 系列开始着手 Z-Wave 开发,最简单的方法就是使用 Z-Wave 700 入门套件。该套件的所有组件都成双配备,组成最小的双节点网络:两块主板、两块无线电板、两块带开关和 LED 的扩展板、两根柔性天线和两根 USB 电缆。此外,还配有两个 USB 加密狗,可与个人电脑配合使用:一个装有 Z-Wave 无线电嗅探器应用 (Zniffer),另一个则配有 Z-Wave 控制器功能。硬件及随附的软件支持全球所有地区的所有 Z-Wave 选项和协议。

图 7 显示一组电路板,顶部插入无线电板,右侧插入扩展板。主板不包括 ZGM130S SiP,该器件安装在无线电板上。相反,主板最显著的功能是具有位图 LCD,这对于调试或 GUI 开发相当有用。

软件安装

Simplicity Studio 是 Silicon Labs 公司推出的一体式集成开发环境 (IDE),可用于该公司的 Zen Gecko 等多款微控制器,支持 Windows、MacOS 和 Linux 系统。

在安装 Simplicity Studio 时,如果将开发套件中的一块主板(无论哪一块)连接到开发系统,则安装和配置过程会更为简单。IDE 将检测硬件,并自动加载必要的软件支持。

若硬件不可用,则可以手动执行以下配置:

运行 Simplicity Studio 后,单击右上角的绿色箭头(图 8)。

Simplicity Studio 提供两个选项: "Install by Device"(按设备安装)或 "Install by Product Group"(按产品组安装)(图 9)。两个选项产生的最终结果相同,但选择前者更加简单,因此请单击 "Install by Device"(按设备安装)绿色大按钮。

若安装了开发板,Simplicity Studio 应该会自动检测硬件,但如果没有,手动查找所需的软件包也很简单,只需在搜索框中键入 "6050A"(开发套件全称缩写),如图 10 所示。双击指示的软件支持包,然后单击“Next”(下一步)。

接下来,Simplicity Studio 将突出显示可用于此硬件配置的其他软件支持。某些情况下,一些软件模块仅限于同意补充许可协议和/或已注册硬件的用户,因此一些选项可能会灰显,暂时不可用,如图 11 所示。

最后,Simplicity Studio 将显示建议安装的所有软件清单,选项众多,包括一个或多个 C 编译器、可选的实时操作系统、分析工具等(图 12)。如有需要,可以手动启用或禁用特定选项,但一般情况下最好接受建议安装的软件选项。完成后,单击“Next”(下一步)。

在最后一步中,Simplicity Studio 将显示主软件许可协议,其中涵盖将安装的所有软件组件。阅读并接受许可,然后最后一次单击“Next”(下一步)。

软件安装将需要几分钟时间。安装完成后,关闭并重新启动 Simplicity Studio。一切准备就绪,可以开始着手构建 Z-Wave 网状网络应用,包含一些预先配置的简单演示程序,以及可以修改的示例代码,这些都是为了帮助开发人员顺利上手。

总结

Z-Wave 旨在让消费者易于使用,但其可用性掩盖了设计人员所做的大量基础开发和认证工作。然而,只要设计人员选择使用包含兼容硬件和预测试软件的预配置套件,构建新的 Z-Wave 网状网络设备就变得相当简单。Z-Wave 700 系列调制解调器 SoC、SiP 模块及相关开发套件,提供快速构建双节点网络所需的硬件和软件,并确保与这种复杂而高效的协议兼容。

文章来源网络

加入微信技术交流群

技术交流,职业进阶

关注电路设计技能公众号

了解最新技术方案

加入betway必威 QQ 交流群

与技术大牛交朋友

讨论