如何使用 Silicon Labs 的 PG23 MCU 设计安全的低功耗边缘物联网设备

作者:Jacob Beningo

投稿人:DigiKey 北美编辑

对于一些列消费和工业边缘物联网 (IoT) 应用的设计者来说,从电灯开关、抄表机和智能锁到太阳能逆变器和安全面板,都需要在高性能和低功耗之间权衡利弊,找到一个合适的平衡点,特别是在进行电池供电设计时,同时还要确保其实施的安全性。许多情况下,这类设计基于微控制器 (MCU),所以设计者必须认真考虑使用哪一种微控制器。

除了坚定支持安全外,还需考虑处理器内核性能、能效、外设和 I/O 支持、整体外形尺寸以及生态系统支持。虽然 MCU 可能在性能和功率方面满足设计要求,但安全设计的实施有一个学习曲线,这可能会造成延迟或导致无法充分地实施安全。

本文将简要讨论边缘物联网设备的安全注意事项。然后,介绍 Silicon Labs 的 EFM32PG23 MCU,展示如何在强调低功耗的同时,将其应用于安全边缘物联网设计。

物联网设备的安全问题

互联网连接设备受到的远程攻击数量在持续上升。嵌入式开发人员可能会认为,他们的物联网边缘设备不需要安全,因为这些设备中没有“任何有价值的东西”。事实上,黑客能在几乎每台设备中发现有价值的东西,无论是传感器数据、客户数据、设备上的实际固件,还是设备作为连接网络的后门提供的权限。安全是关键功能,必须从一开始就设计到每个物联网边缘设备中:不应在设计周期结束时才将安全绑到系统上。否则,该设备将极易受到攻击。

每个物联网边缘设备都有几个方面需要考虑安全,如设备识别、设备配置和软件/固件更新等。图 1 所示为常见问题清单,以及这些问题如何转化为设备安全要求。每个安全要求都有相关的技术,通常用于满足该要求并挫败潜在的攻击者。

关注 安全要求 技术
设备识别 可在逻辑和物理上唯一地识别物联网设备。 安全认证
设备配置 物联网设备的软件和固件配置可以改变,而且此类改变只能由授权实体完成。 安全升级
软件和固件更新 物联网设备的软件和固件可以由授权实体只使用安全的可配置机制来升级。
数据保护 物联网设备可以保护由其存储、传输的数据不接受未经授权的访问和修改。 安全密钥管理
对接口的逻辑访问 物联网设备可以限制对其本地和网络接口的逻辑访问,只允许授权实体访问。 安全调试
软件和固件更新 物联网设备的软件和固件可以由授权实体只使用安全的可配置机制来升级。 安全升级
网络安全事件记录 物联网设备可以记录网络安全事件,并且只让授权实体访问这些日志。 防篡改
软件完整性 记录试图破坏安全的行为,开发者可以选择适当的系统对抗技术来保护安全。 安全引导

图 1:边缘物联网应用的设计者有许多需要考虑的安全问题、要求和相关技术。(图片来源:Silicon Labs)

对于很多开发物联网边缘应用的嵌入式团队来讲,缺乏内部安全专业知识是个大问题。结果是他们要么在内部尽最大努力学习并实施安全,要么利用外部资源。无论哪种方式,其成本和时间都可能异乎寻常。

还有一种选择:开发团队可以选择在设计时就考虑了安全问题的 MCU。这种 MCU 就是现成的安全解决方案,只需对手头的应用进行小的配置调整。

Silicon Labs PG23 系列 MCU 器件简介

Silicon Labs EFM32PG23 系列微控制器是物联网边缘设备应用的一个有趣选择,原因如下。首先,PG23 MCU 可以运行 Silicon Labs 自己的 Secure Vault 物联网安全解决方案。Secure Vault 是一个保护物联网设备安全和面向未来的平台,最近成为首个获得 PSA 认证的 3 级物联网安全解决方案。Secure Vault 为 PG23 MCU 带来的一些功能包括安全设备身份、安全密钥管理和存储,以及高级篡改检测。

Secure Vault 利用了由物理不可克隆函数 (PUF) 生成的独特数字指纹。PUF 可以用来创建 AES 对称密钥,当系统断电时,该密钥会物理性地消失。当芯片关闭时,AES 对称密钥甚至不存在,使其不可能从设备中移除。对于许多物联网边缘应用面临的密钥管理挑战而言,PUF 是一种有效解决方案。事实上,PUF 可以扩展,以支持某个应用所需的尽可能多的密钥。Secure Vault 还包括一个篡改检测系统,能够在设备发生篡改事件后即可将其关闭,使得钥匙无法重建。主要安全特性总结如下:

  • 安全认证
  • 安全密钥管理
  • 确保关键存储安全
  • 防篡改

PG23 MCU 非常适合物联网边缘应用的另一个原因是其低功耗设计。PG23 的有效电流消耗为 21 微安每兆赫兹 (µA/MHz)。在 EM2 模式下,16 千字节 (KB) 的 RAM 处于激活状态,电流消耗为 1.03 µA;或者在 EM4 模式下,启用实时时钟 (RTC) 时电流消耗为 0.7 µA。如此低的电流消耗水平有助于开发人员设计节能设备,无论是通过墙插电源还是电池供电。

本文要研究的 PG23 的最后一个特点是 MCU 能力。PG23 采用 Arm®Cortex®-M33 处理器,时钟高达 80MHz。这款处理器可以在 1.71 V 至 3.8 V 的范围内使用单电源工作。对于从事传感器应用的开发者来说,可使用低功耗传感器接口 (LESENSE)。这款 MCU 采用 5×5 mm 40 引脚 QFN 封装或 6×6 mm 48 引脚 QFN 封装。PG23 的方框图见图 2。这款 MCU 也有五个电源状态:运行模式 EM0、睡眠模式 EM1、深度睡眠模式 EM2、停止模式 EM3 以及关断模式 EM4。

Silicon Labs PG23 MCU 广泛外设的图(点击放大)。图 2:PG23 MCU 具有广泛的外设、存储器和节能模式。(图片来源:Silicon Labs)

PG23-PK2504A 开发板入门

PG23 入门的最好方法是使用 PG23-PK2504A 开发板。该板采用 EFM32PG23B310F512 处理器,自带 512KB 闪存和 64KB 内存。该开发板配备了各种板载传感器、接口和一个 4×10 段 LCD 显示屏(图 3)。

Silicon Labs PG23-2504A 开发板示意图图 3:PG23-2504A 开发板上有 EFM32PG23 单片机以及 4×10 段式 LCD 显示屏、温度和湿度传感器、电压基准和扩展接口。(图片来源:Silicon Labs)

拿到开发板后,开发者可以下载并安装 Simplicity Studio(在入门标签下)。Simplicity Studio 是一个启动平台,可提供评估、配置 EFM32 微控制器和使用该控制器进行开发所有的一切。软件包括入门材料、说明文档、兼容工具和资源。

当打开 Simplicity Studio 并插入开发板时,软件将识别该板并提供有关示例项目、说明文档和演示的建议(图 4)。然后,开发者可以选择最适合的途径,开始对 PG23 的实验。

Silicon Labs Simplicity Studio 的图片(点击放大)图 4:Silicon Labs Simplicity Studio 检测到电路板,并提供定制的入门建议、文档、示例项目等。(图片来源:Silicon Labs)

值得强调的是,PG23-PK2504A 开发板上决定开发板供电方式的开关。有两种选择;AEM 或 BAT(图 5)。在 AEM 模式下,有电流检测电阻与 LDO 电源和 PG23 串联。这种模式优点在于,开发人员可以测量处理器的电流消耗,这有助于功率优化。一旦应用经过优化,开发人员就可以切换到 BAT 模式,通过钮扣电池为开发板供电。

Silicon Labs PG23-PK2504A 可选择通过 USB-C 供电的图。图 5:PG23-PK2504A 可选择在其 AEM 模式下通过 USB-C 供电,这样可以测量处理器电流。此外,该处理器还可通过 CR2032 钮扣电池供电。(图片来源:Silicon Labs)

在物联网应用中尽量降低能耗的技巧和窍门

无论采用电池供电与否,最大限度地降低功耗对于每一个物联网边缘设计都至关重要。如果开发者不小心,对设计进行能耗优化可能会很耗时。以下是开发人员应牢记的几个“技巧和窍门”,这有助于对物联网应用进行低功耗优化:

  • 使用事件驱动型软件架构。当系统不处理事件时,使其进入低功耗状态。
  • 概括在几个充/放电周期内对系统的电池消耗情况。记录电流消耗和工作电压,并绘制其时间变化的曲线。
  • 充分利用低功耗模式,自动禁用时钟、外设和 CPU。
  • 在简单应用中,探索使用 Arm Cortex-M 的“退出时睡眠”功能,以尽量减少唤醒系统时的中断开销。
  • 如果使用 RTOS,要利用其“tickless”模式来防止 RTOS 意外唤醒系统。
  • 在迭代优化时,跟踪每个变化的节能效果。在某一点上,开发商发现了一个“拐点”,此时优化所花费的时间在节能方面的回报是很低的。是时候停止优化并进入下一阶段了。

开发者遵循这些“技巧和窍门”,可以在开始新的安全低功耗物联网设计时节省更多的时间并省去更多的麻烦。

结语

物联网边缘应用对安全、低功耗 MCU 的需求在日益增加。除了一如既往地支持安全外,设计者还需考虑处理器内核性能、能效、外设和 I/O 支持、整体外形尺寸以及生态系统支持,以满足基于边缘的设计需求。

如图所示,Silicon Labs EFM32PG23 MCU 可以帮助开发者解决与低功耗设计和设备安全有关的几个问题。其相关的开发板提供了所有必要的工具,按照“提示和技巧"可以加快低功耗设计。

免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。

关于此作者

Jacob Beningo

Jacob Beningo 是一位嵌入式软件顾问,目前与十几个国家的客户保持合作,通过帮助客户改善产品质量、降低成本和加快上市时间来大幅改变他们的业务。Jacob 先后发表了 200 多篇关于嵌入式软件开发技术的文章,是一位广受欢迎的演讲者和技术培训师。他拥有三个学位,其中包括密歇根大学的工程硕士学位。如有需要,欢迎随时通过 jacob@beningo.com 与其联系,也可访问其网站 www.beningo.com,并订阅其月度 Embedded Bytes Newsletter

关于此出版商

DigiKey 北美编辑