只读分享解决方案文档原理方案设计📅 2026-10-14🔖 allowed⏳ 还有3日到期
🔧解决方案&应用市场分析 -> 原理方案设计 -> 主芯片方案调试开发 -> 芯科EFR32-SIWx917_开发指南

芯科EFR32-SIWx917_开发指南

同系列 · 原理方案设计
扫码打开本页
微信扫码

1 · 文档导读与阅读路径

这份文档面向已经会写 C、但第一次接触芯科(Silicon Labs)生态的嵌入式工程师。它不假定你用过 Simplicity Studio,也不假定你熟悉 Zephyr;从「买哪块板子」一路写到「怎么量产烧录、怎么过认证」。

1.1 覆盖范围

文档覆盖芯科两条并行的无线产品线:

  • EFR32 无线 SoC:Series 1(xG1x,遗留)、Series 2(xG21 至 xG29,出货主力)、Series 3(SixG301 家族,22 nm 多核,2025 年 10 月起全面供货)。协议覆盖蓝牙 LE、Bluetooth Mesh、Zigbee、OpenThread、Matter、Wi-SUN、Amazon Sidewalk、Z-Wave、专有 Sub-GHz 与 2.4 GHz。
  • SiWx91x 无线 MCU:以 SiWx917(及同族的 SiWG917 / SiWN917)为代表,单芯片 Wi-Fi 6 + 蓝牙 LE 5.4,Matter over Wi-Fi 的官方推荐平台。
  • 工具链:Simplicity Studio 6、Simplicity Studio VS Code 扩展、Simplicity SDK(SiSDK)、Gecko SDK(GSDK)、WiSeConnect SDK、Simplicity Commander、Energy Profiler、Network Analyzer。
  • 驱动:EMLIB / 驱动层两条抽象层级,GPIO、EUSART、I2C、SPI、IADC、定时器、RTCC、LDMA、PRS。
  • 工程化:低功耗设计与实测、Secure Vault 安全架构、Gecko Bootloader 与 OTA、调试与测试、量产烧录与合规。

1.2 不覆盖什么

  • 不覆盖 EFM32 纯 MCU 系列(非无线)的完整开发流程;它们与 EFR32 共用 EMLIB 与大部分外设,第 8 章的外设驱动可以直接复用。
  • 不覆盖 Series 0(EM3xx / EZR32)与 Wi-Fi transceiver 老产品线(RS911x 独立模块形态)的细节。
  • 不重复蓝牙 LE / Zigbee / Matter 协议本身的规范教程,只讲在芯科平台上怎么用、怎么调、怎么排查。
  • 不给原理图级射频匹配网络的完整计算过程;天线与匹配请对照官方 Reference Design 与对应器件的《Data Sheet》。
  • 不提供法律意义上的认证建议,第 15.7 节只给流程与清单。

1.3 版本标注约定

芯科的软件版本在 2025 年做了一次大改名(Gecko SDK Suite → Simplicity SDK),文档里出现的版本号按下面约定理解:

写法含义本文取值
SiSDK 2025.xSimplicity SDK 版本,按年月命名;主线服务于 Series 2 / Series 3行文按 2025.6 / 2025.12
GSDK 4.xGecko SDK Suite;4.5 LTS 专门服务 Series 0 / Series 1仅在第 20 章出现
Gecko Platform 4.4.xSiSDK 与 GSDK 共同底层:EMLIB、驱动、服务、RAIL按 4.4.7
WiSeConnect 3.x / 4.xSiWx91x 的 SDK 扩展,内含 NWP 固件命令行按 3.x 主干
SSv6Simplicity Studio 6,2025-10-01 正式 GA主线行文按 6.1
commander 1.16+Simplicity Commander 命令行工具版本第 18 章与附录 A

1.4 事实来源与免责

文中规格数字来自 Silicon Labs 官网产品页、参考手册(EFR32xG24 / xG26 / xG28 Reference Manual)、docs.silabs.com 文档集(Bluetooth / Zigbee / Gecko Bootloader / WiSeConnect)以及 2025-10 的 Series 3 发布材料。电流、灵敏度、发射功率等参数随器件版本、封装与测试条件变化,量产前必须以所用 OPN 的最新《Data Sheet》为准。文中命令在 SSv6 + SiSDK 2025.x 与 WiSeConnect 3.x 上验证,跨版本可能改名(尤其是 slc 子命令与组件名)。

1.5 五条阅读路径

路径 A · 新项目立项
选型 → 环境 → 跑通
第 2 章 选型 → 第 5 章 装环境 → 第 7 章 跑通第一个应用 → 第 14 章 做功耗预算。
约 3~4 小时
路径 B · 蓝牙 LE 开发
GATT → 吞吐 → 安全
第 10 章 GATT 与广播 → PHY / 连接参数 / MTU 调优 → 第 15 章 配对与密钥存储。
约 6~8 小时
路径 C · Wi-Fi 上云
SiWx917 走通联网
第 4 章 双核架构 → 第 12 章 连 AP、MQTT/TLS → 第 13 章 BLE 配网与共存。
约 6~8 小时
路径 D · 功耗攻坚
测出来才算数
第 14 章 EM0~EM4 与 SiWx917 电源态 → Energy Profiler 接线与实测 → 反推电池寿命。
约 4~6 小时
路径 E · 量产交付
烧录、密钥、OTA
第 15 章 密钥与调试口锁定 → 第 16 章 OTA → 第 18 章 产线烧录与 Token。
约 2~3 小时
读法建议

如果你手上已经有 EFR32xG24 或 BG26 的 Explorer Kit / Pro Kit,可以直接按路径 A 动手;没有板子也不影响阅读——第 5 章的安装、第 6 章的工程结构、第 14 章的功耗数据都能直接抄去用。只有第 12 章的 Wi-Fi 实验强烈依赖 SiWx917 硬件。

2 · 产品全景与选型

芯科的无线产品线可以拆成三条:Series 2 是当前出货主力(xG21 到 xG29 十几个子系列),Series 3 是 22 nm 多核的新平台,SiWx91x 则是把 Wi-Fi 6 与 BLE 5.4 塞进单芯片的支线。这一章把三者放在同一张表里对比,并给出可直接执行的选型规则。

2.1 三代无线平台时间线

从架构演进的角度看,芯科做的事与 Nordic 类似:把「MCU + 射频 + 协议栈 + 安全」越塞越紧、越做越省电。区别是芯科从一开始就按协议分系列命名(BG = Bluetooth、MG = Multi-protocol、FG = Flex / Sub-GHz、ZG = Z-Wave),选型的第一个动作是先确定协议族。

芯科无线平台演进:Series 1 → Series 2 → Series 3,另有 Wi-Fi 6 支线主线是 2.4 GHz 多协议 SoC,支线 SiWx91x 把 Wi-Fi 6 与 BLE 5.4 合进单芯片Series 12016 起Cortex-M4 / M0+40 nm · GSDK 4.5 LTSSeries 2 早期2018 起xG21 / xG22Cortex-M33 80 MHzSeries 2 主力2021 起xG24 / xG26 / xG2878 MHz · MVP · VaultSiWx9172022 起Wi-Fi 6 + BLE 5.4M4 180 MHz + NWPSeries 32025-10SiMG301 / SiBG30122 nm · 150 MHz · L4工艺:40 nm → 40 nm → 40 nm → 22 nm(SiWx917 亦为 22 nm)SDK:GSDK 4.5 LTS(Series 0/1)/ Simplicity SDK(Series 2/3)+ WiSeConnect(SiWx91x)
图 1 · 芯科无线平台三代演进:工艺、内核、射频与 SDK 主线

来源:Silicon Labs 产品页与 Series 3 发布材料(2025-10)

三条线并非替代关系,而是长期并行:Series 2 覆盖面最广、成熟度最高;Series 3 在算力与安全上拔高,但与 Series 2 共用同一套工具与生态,官方明确承诺向后兼容;SiWx91x 则单独占住「Wi-Fi + BLE」这个位置。

2.2 Series 2:当前出货主力

Series 2 全系 Cortex-M33,带 DSP 扩展与 FPU,主频多在 76.8 ~ 78 MHz(部分子系列更高);无线侧由独立的 Cortex-M0+ 射频控制器承担,协议栈的底层时序不占用应用核。差异集中在频段、Flash/RAM、发射功率与 Secure Vault 等级。

子系列典型型号频段 / 协议Flash / RAM发射功率定位
xG21EFR32MG21 / BG212.4 GHz,BLE / Zigbee / Thread / 专有512~1024 KB / 64~96 KB+20 dBmSeries 2 开局,高发射功率版本
xG22EFR32BG22 / MG22 / FG222.4 GHz,BLE 5.x / 专有256~512 KB / 32 KB+6 dBm(部分 +10)极致低功耗、小封装电池设备
xG23EFR32FG23 / ZG23Sub-GHz,专有 / Z-Wave256~512 KB / 32~64 KB+20 dBmSub-GHz 长距,无线抄表、安防
xG24EFR32MG24 / BG242.4 GHz,BLE / Mesh / Zigbee / Thread / Matter1024~1536 KB / 128~256 KB+19.5 dBmMatter 与网状网络主力
xG26EFR32BG26 / MG262.4 GHz,BLE 5.3 / Zigbee / 专有1024~3200 KB / 256~512 KB+19.5 dBm大存储、测向、高性能分支
xG27EFR32BG27 / MG272.4 GHz,BLE / Zigbee1024 KB / 256 KB+8 dBm小封装低成本,集成升压可低至 0.8 V 供电
xG28EFR32FG28 / ZG28 / MG28Sub-GHz + 2.4 GHz BLE 双频1024 KB / 256 KBSub-GHz +20 dBm / BLE +10 dBm多频段旗舰,Wi-SUN、Sidewalk、Z-Wave
xG29EFR32BG292.4 GHz BLE1024 KB / 256 KB+8 dBm精简引脚版本(19/25/26 GPIO)

几个容易踩的选型细节:

  • xG22 与 xG27 不带 Secure Vault High,只提供基础安全能力;要过 PSA Level 3 的认证,必须选 xG24 / xG26 / xG28 或更新器件。
  • Sub-GHz 与 2.4 GHz 不能在同一颗芯片上真正并发,xG28 是「双频可切换」而非同时收发,做 Sub-GHz + BLE 同时工作的产品要看清这一点。
  • xG26 的 Flash 高达 3200 KB(即 3.2 MB),是 Series 2 里唯一能装下「Zigbee + Matter + OTA 双槽」还留有余量的型号。

2.3 Series 3(SixG301):22 nm 多核新时代

2025 年 10 月,芯科在 Works With 开发者大会上宣布 Series 3 首批产品 SiMG301 与 SiBG301 全面供货,这是 SixG301 家族的开局。核心变化有四条:

维度Series 2Series 3(SixG301)
工艺40 nm22 nm
架构M33 应用核 + M0+ 射频控制器多核:应用 / 无线 / 安全任务分离
主频76.8 ~ 78 MHzCortex-M33 最高 150 MHz(带 FPU 与 DSP)
存储最大 3.2 MB Flash / 512 KB RAM最大 4 MB Flash / 512 KB RAM,支持 8 MB 外部 Flash
安全Secure Vault Mid / High(PSA L3)Secure Vault,业界首个 PSA Level 4 认证
能效约 33 µA/MHz 级约 47 µA/MHz 满载(SixG302 目标 15 µA/MHz)
协议BLE / Zigbee / Thread / Matter / 专有SiMG301 支持 Zigbee + BLE + Matter over Thread 并发

两个型号的分工很清楚:SiMG301 面向多协议(Zigbee + BLE + Matter over Thread 并发运行),集成 LED 预驱动器与 PIXELRZ 单线接口,直接对标智能照明;SiBG301 面向纯 BLE 应用,并提供从 Series 2 BLE 产品平滑迁移的路径。2026 年计划出样的 SiXG302(SiMG302 / SiBG302)把能效目标定在 15 µA/MHz,是电池供电场景的下一站。

SiMG301 是首批 Matter 合规平台认证产品之一

连接标准联盟(CSA)的 Matter Compliant Platform(MCP)认证把「SDK + 指定硬件」作为一个整体预先认证。在这类平台上做产品,配网、网络与消息安全机制可以直接继承预测试结果,走 Fast Track / Rapid Recertification 通道,显著减少终端产品认证所需的测试项。Series 2 的 MG24 与 MG26 也会被纳入该计划。

2.4 SiWx91x:Wi-Fi 6 + BLE 5.4 单芯片

SiWx917 是 SiWx91x 家族的第一颗芯片,定位很直接:业界功耗最低的 Wi-Fi 6 SoC,让电池供电设备也能常连云。它的关键规格如下(以官方 Data Sheet 为准):

维度规格备注
应用处理器ARM Cortex-M4F,最高 180 MHz带 FPU、MPU、NVIC;CMSIS 与非 CMSIS 驱动并存
无线处理器ThreadArch 四线程处理器,最高 160 MHz(NWP)独立线程跑 Wi-Fi / BLE / TCP-IP 协议栈
Wi-FiIEEE 802.11 b/g/n/ax,2.4 GHz 单流 20 MHz支持 OFDMA、UL/DL MU-MIMO、TWT
Wi-Fi 射频发射最高 +21 dBm(集成 PA),接收灵敏度低至 −98 dBmMCS0~MCS7
蓝牙BLE 5.4,1M / 2M / Long Range(125 k / 500 kbps)发射最高 +19 dBm,灵敏度 LE −95 dBm / LR −106 dBm
SRAM最高 672 KB应用可配置 192 / 256 / 320 KB 三档
Flash内置 0 / 4 / 8 MB,可选 0 / 2 / 8 MB PSRAM外部 Flash/PSRAM 最高 16 MB,支持加密 XiP
功耗深睡 < 1 µA;Wi-Fi 关联待机约 50 µA @ 1 sMCU 低功耗模式约 19 µA/MHz
封装 / GPIOQFN 7 mm × 7 mm(84 pin),最多 45~46 个 GPIO工作电压 1.75 ~ 3.63 V,−40 ~ +85 / 105 °C
安全PSA Level 2 可认证安全引擎、PUF、TRNG、安全启动与 OTASecure Zone、加密 XiP、防回滚、安全证明

同族的 SiWG917 强调 8 MB 内置 Flash 的 OPN(也是 Firmware Fallback 功能的硬件前提),SiWN917 则是 RF 引脚引出的模组形态。选型时最容易忽略的一点是:固件回退(Firmware Fallback)只在 8 MB 内置 Flash 的 OPN 上支持,若产品需要 OTA 失败自动回滚,采购时就要锁死这个 OPN。

2.5 横向选型速查

选型决策树:先定协议与供电,再定系列同一个问题换个问法,答案就清晰了:设备要跟谁通信、用什么电你的设备要连什么?BLE 点对点 / 传感器电池供电、纽扣电池EFR32BG22 / BG26BG26:+19.5 dBm、1 MB FlashBG22:极致休眠电流小封装 BG27 / BG29Zigbee / Thread / Matter网状网络、市电或电池EFR32MG24 / MG26MG24:1.5 MB Flash、MVPMG26:3.2 MB Flash、512 KB RAM新项目可等 SiMG301直连 Wi-Fi 上云需要 IP 直达云端SiWx917 / SiWG917M4 180 MHz + NWP672 KB SRAM、8 MB FlashMatter over Wi-Fi 首选Sub-GHz 专有 / 长距穿墙、远距离、私有协议EFR32FG23 / xG28xG28:+20 dBm Sub-GHz支持 Wi-SUN、SidewalkZG28 兼做 Z-Wave两条硬约束(优先级高于上表)① 已量产项目若用 Series 1(xG1x),留在 GSDK 4.5 LTS,不要跨到 SiSDK —— 两条 SDK 不兼容同一个工程;② 需要 PSA Level 3 以上安全等级、或要过欧盟 CRA / 美国 Cyber Trust Mark 的产品,直接选 Series 3(Secure Vault 已达 PSA L4)。
图 2 · 选型决策树:按协议与供电方式落到具体系列
应用场景首选次选为什么
电池供电 BLE 传感器EFR32BG22 / BG26EFR32BG27休眠电流与唤醒时间是第一约束
BLE 网关 / 需要长距与测向EFR32BG26EFR32MG24支持 AoA/AoD,Flash/RAM 余量大
Matter over Thread 终端设备EFR32MG24SiMG301(新设计)MCP 认证平台,认证工作量最小
Zigbee 灯 / 开关 / 传感器EFR32MG26 / MG24EFR32MG21需要 3.2 MB 时选 MG26
智能照明(线供电 + LED 驱动)SiMG301EFR32MG26内置 LED 预驱动与 PIXELRZ 单线接口
Matter over Wi-FiSiWx917SiWG917单芯片 Wi-Fi 6 + BLE 配网
Wi-Fi 常连云低功耗设备SiWx917—关联待机 50 µA 级,TWT 省电
Sub-GHz 长距 / 抄表EFR32FG23 / FG28EFR32xG28 双频+20 dBm 与 −109 dBm 级灵敏度
Wi-SUN / Sidewalk / Z-WaveEFR32FG28 / ZG28EFR32ZG23协议栈与频段绑定,先定协议再定料号
高安全等级(PSA L3+ / CRA)SiMG301 / SiBG301EFR32MG24 / MG26Series 3 已达 PSA Level 4

2.6 料号与封装命名规则

芯科的完整料号形如 EFR32MG24B310F1024IM48,可拆成几段理解:

字段示例含义
家族EFR32无线 SoC 家族前缀(EFM32 为纯 MCU)
协议 + 系列MG24MG = 多协议、BG = 蓝牙、FG = Flex/Sub-GHz、ZG = Z-Wave;24 = Series 2 的 xG24
版本与频段档B310区分发射功率档、频段与安全等级(Vault Mid/High),同一系列内部差异最大
Flash 容量F1024F 后紧跟 KB 数:F1024 = 1024 KB Flash
温区 / 等级I工业温区等器件等级标识
封装M48M = QFN,48 = 引脚数;M68 = QFN68,M40 = QFN40
料号第三段最容易被忽略,也最容易出事

同为 EFR32MG24,B310F1024IM48 与另一个后缀的 OPN 可能在发射功率上限、Sub-GHz 支持、Secure Vault 等级上完全不同。采购与 BOM 管理必须以完整 OPN 为准,只写「MG24」会导致量产时拿到不支持目标功能的批次。完整字段定义以该器件《Data Sheet》的 Ordering Information 章节为准。

2.7 模组与第三方方案

芯科自己出模组(如 BGM 系列 SiP 模组、MGM 系列),同时也通过代理与第三方伙伴提供多种形态:PCB 板载天线、陶瓷天线、u.FL 座、以及把射频部分全部屏蔽的认证模组。选模组的直接收益是射频认证可复用,对没有射频调优能力的团队几乎是必选项。

需要注意两点:一是模组的 GPIO 引出数通常少于裸片(例如 xG24 模组只引出 26~32 个),二是模组内部的 Flash/RAM 档位是固定的,做 OTA 双槽设计时要用模组标称容量反推,而不是按同型号裸片的最大值算。

3 · EFR32 硬件架构与核心子系统

EFR32 与通用 MCU 最大的区别在三处:射频有一棵独立的 Cortex-M0+ 核、安全有一套独立的 Secure Engine、外设之间可以绕开 CPU 互相触发。理解这三点,后面的驱动、功耗与安全章节才讲得通。

3.1 CPU、内存与总线

EFR32 Series 2 的应用核是 ARM Cortex-M33,带 DSP 扩展、FPU 与 TrustZone,主频多在 76.8 ~ 78 MHz(Series 3 提升到 150 MHz)。M33 相比 M4 的关键增量是 TrustZone 的安全/非安全分区——配合安全子系统的硬件隔离,可以把密钥操作放进安全侧,业务代码完全拿不到明文密钥。

  • Flash:Series 2 覆盖 256 KB ~ 3200 KB,Series 3 最高 4 MB;带指令缓存,读等待状态随主频配置。
  • RAM:Series 2 常见 32 ~ 512 KB;协议栈(Zigbee / Matter)会吃掉相当大一块,选型时务必按「协议栈 + OTA 双槽 + 业务」三项加总。
  • 总线:多层总线矩阵,LDMA 与 CPU 可并行访问不同从设备;Flash 控制器(MSC)负责擦写与读保护。
EFR32 Series 2/3 硬件架构:应用核、无线核、安全核三权分立射频与安全各有独立处理单元,应用核只跑业务代码Cortex-M33 应用核DSP + FPU + TrustZone76.8 ~ 78 MHz(Series 2)Series 3 最高 150 MHz无线子系统Cortex-M0+ 射频控制器FRC / DEMOD / MOD / AGCBUFC RAM · 频率合成器安全子系统 SE / VSETRNG · 加密加速 · PUFDPA 防护 · 安全启动安全调试认证时钟管理HFXO / HFRCO / FSRCOLFXO / LFRCO / ULFRCO外设时钟独立门控能量管理DC-DC Buck · LDOBOD · POREM0 ~ EM4 五档能量模式外设与接口EUSART / USART / I2CIADC / VDAC / ACMPTIMER / RTCC / LETIMERLDMA(8 通道链接 DMA)PRS(外设反射系统,8 ~ 12 通道)总线矩阵 + Flash 指令缓存 + RAM外设之间可不经过 CPU 直接握手:定时器溢出 → PRS → ADC 启动 → LDMA 搬运结果 → RAM架构带来的三个直接好处① 协议栈时序由射频核承担,应用核可以降频甚至睡眠;② 密钥永不离开安全子系统;③ PRS + LDMA 让采集链路全程不叫醒 CPU。
图 3 · EFR32 硬件架构:应用核、无线子系统、安全子系统与外设互连

来源:EFR32xG24 / xG26 / xG28 Reference Manual 摘要

3.2 无线子系统:M0+ 射频控制器

EFR32 的射频部分不是一堆寄存器,而是一颗独立的 Cortex-M0+ 射频控制器加一套数字前端:帧控制器(FRC)、调制/解调(MOD / DEMOD)、自动增益控制(AGC)、中频 ADC(IFADC)、CRC 与缓冲 RAM(BUFC)。固件层面的协议时序跑在这颗核上,应用核只负责「给数据、收数据」。

支持的调制格式包括 2/4 (G)FSK(整形可配)、OQPSK DSSS、(G)MSK 与 OOK,因此同一颗芯片既能跑 BLE / Zigbee(OQPSK),也能跑各种 Sub-GHz 专有协议(FSK / OOK)。这也是 RAIL(Radio Abstraction Interface Layer)存在的意义:它把这颗射频核抽象成一套统一的 API。

3.3 安全子系统:SE 与 VSE

Series 2 器件里,安全功能由 Secure Engine(SE)承担——部分子系列是独立硬件模块,部分子系列用 Virtual Secure Engine(VSE)实现(以硬件加密单元 + 受保护的固件组合达成等价能力)。SE / VSE 提供的能力包括:

能力说明典型用途
TRNG真随机数发生器密钥生成、nonce
加密加速AES-128/192/256、ChaCha20-Poly1305、SHA-1/2、ECDSA / ECDH、Ed25519、Curve25519、J-PAKETLS、固件验签
PUF 密钥管理物理不可克隆功能生成密钥加密密钥密钥不出芯片
DPA 防护差分功耗分析对抗措施抗侧信道攻击
安全启动 RTSLRoot of Trust and Secure Loader防止运行未授权固件
安全调试Secure Debug Unlock(凭证书解锁)量产后锁死调试口
VSE 与硬件 SE 的能力不完全等价

不要想当然地认为「所有 Series 2 都支持 Secure Vault High」。Secure Vault 有 Mid 与 High 两个等级,具体支持情况由 OPN 决定(见 2.6 节)。需要 PSA Level 3 认证的产品,必须选带 Vault High 的 OPN,并在设计阶段就把这一点写进 BOM 约束。

3.4 时钟系统

EFR32 的时钟源按频率与功耗分成两组,理解它们的启动时间是低功耗设计的关键:

时钟源频率特点典型用途
HFXO高频晶振,常见 38.4 / 39 / 40 MHz精度高、启动慢(数百 µs ~ ms 级)射频收发、USB、高精度定时
HFRCO高频 RC,可编程启动快、精度较低唤醒后过渡时钟、非射频外设
FSRCO快速启动 RC启动最快深度睡眠唤醒后的临时时钟
LFXO32.768 kHz 晶振精度高、功耗低RTCC 计时、BLE 睡眠时钟
LFRCO32.768 kHz RC无需外部晶振、精度较低成本敏感设计的睡眠时钟
ULFRCO超低频 RC(约 1 kHz)功耗最低看门狗、极低功耗计时

射频操作必须使用 HFXO:BLE / Zigbee / 专有协议的连接时序容不下 RC 振荡器的误差。这意味着每次射频唤醒都要付出 HFXO 启动时间与启动能量,是「频繁短报文」场景下功耗居高不下的常见原因。第 14 章会给出对应的优化手段。

时钟相关的两个实用建议

① 在设计评审阶段就确定是否要焊 32.768 kHz 晶振——BLE 的长连接间隔场景对睡眠时钟精度有硬要求,用 LFRCO 可能过不了测试;② HFXO 启动失败的兜底由 HFXO Manager 服务处理,不要在应用里手写重试逻辑。

3.5 能量模式 EM0~EM4

EFR32 用五个能量模式描述系统的睡眠深度,这也是芯科功耗文档里最常被引用的一组概念:

EFR32 能量模式:越往上越省电,能用的外设越少功耗优化的本质是「让系统绝大部分时间待在最深的、还能满足唤醒需求的那一层」EM4 Shutoff仅复位唤醒,RAM 全掉0.0x ~ 0.3 µAEM3 Stop高频时钟停,低频外设仍可运行1 ~ 2 µAEM2 Deep SleepRTCC / LETIMER 运行,RAM 保持1.3 ~ 3 µAEM1 SleepCPU 停,外设与 DMA 全速运行40 ~ 60 µAEM0 Active全速运行,射频可收发30 ~ 40 µA/MHz选型口诀周期性采集 → EM2 + RTCC;要留 UART 接收但无需 CPU → EM1;只等一次按键 → EM4;射频常连 → EM0/EM1 交替。
图 4 · EFR32 能量模式金字塔:五档模式的电流量级与可用外设

来源:EFR32xG28 Data Sheet 电流参数与参考手册能量管理章节

模式CPU高频时钟可用外设唤醒源典型电流
EM0 Active运行运行全部—30 ~ 40 µA/MHz
EM1 Sleep停止运行全部(含 DMA)任意中断40 ~ 60 µA
EM2 Deep Sleep停止停止RTCC / LETIMER / LESENSE 等低频外设低频外设、外部中断1.3 ~ 3 µA
EM3 Stop停止停止部分低频外设可保持外部中断、比较器1 ~ 2 µA
EM4 Shutoff掉电掉电几乎全关复位、专用唤醒引脚0.0x ~ 0.3 µA

上表电流为量级参考,实际数值随器件子系列、RAM 保持量、是否启用 DC-DC 与温度而变;以所用 OPN 的 Data Sheet 为准。举个例子:xG28 在 256 KB RAM 保持 + RTC 走 LFXO 时 EM2 约 2.8 µA,切到 16 KB RAM 保持 + LFRCO 后可降到约 1.3 µA。

3.6 GPIO 与 PRS

GPIO 部分有几点与其他厂商不同:

  • 端口按 Port A / B / C / D 分组,引脚号独立编号;API 形如 GPIO_PinModeSet(gpioPortA, 5, gpioModePushPull, 0)。
  • 每个引脚的外设功能选择不是简单的 AF 编号,而需要通过 引脚工具(Pin Tool)或 GPIO->ROUTE / ABUS 类寄存器配置路由;实际工程中建议一律用 Pin Tool 生成配置,不要手写路由寄存器。
  • PRS(外设反射系统)是芯科外设互连的核心:任何外设都能发出事件(producer),任何外设都能订阅事件(consumer),全程不经过 CPU。常见用法是定时器溢出触发 ADC 启动。
// 例:把 TIMER0 溢出事件接到 ADC 启动(思路示意,具体常量以所用器件头文件为准)
CMU_ClockEnable(cmuClock_PRS, true);
PRS_SourceAsyncSignalSet(0, PRS_ASYNC_CH_CTRL_SOURCESEL_TIMER0,
                         PRS_ASYNC_CH_CTRL_SIGSEL_TIMER0OF);
PRS_ConnectConsumer(0, prsTypeAsync, prsConsumerIADC0_SINGLE);

3.7 LDMA:不占用 CPU 的数据搬运

LDMA(Linked DMA)是 8 通道的链接式 DMA,最大特点是支持描述符链:一次配置可以让 DMA 自动在多个缓冲区之间轮转,适合环形采集。它能在 EM1 下工作(EM2 下需要外设支持),配合 PRS 就构成完整的「无 CPU 采集链」:

// 典型结构:描述符 + 传输配置 + 启动
static LDMA_Descriptor_t desc = LDMA_DESCRIPTOR_SINGLE_P2M_BYTE(src, dst, len);
static LDMA_TransferCfg_t cfg  = LDMA_TRANSFER_CFG_PERIPHERAL(ldmaPeripheralSignal_IADC0_IADC_SINGLE);
LDMA_Init(&init);
LDMA_StartTransfer(chn, &cfg, &desc);

调试 DMA 时最常见的问题是缓冲区放在了不可被 DMA 访问的地址或描述符未按要求对齐;另外注意 linker 把缓冲区放在了 flash 的 const 段时,DMA 写不进去。

3.8 模拟外设:IADC / VDAC / ACMP / LESENSE

外设能力典型用法注意事项
IADC逐次逼近型 ADC,12 bit @ 1 Msps 或 16 bit @ 76.9 ksps电池电压、传感器采样高分辨率档位吞吐下降,注意采样时间与源阻抗
VDAC数模转换输出偏置电压、音频提示音输出带负载能力有限,需缓冲
ACMP模拟比较器阈值检测、EM2/EM3 唤醒可在深度睡眠下工作,是低功耗唤醒利器
LESENSE低功耗传感器接口电容/电感/电阻式传感器自动扫描几乎不唤醒 CPU 就能完成周期性检测
温度传感器片内温度检测温补、过温保护精度有限,出厂校准点有限
电容触摸多通道触摸输入按键、滑条布板与地平面影响极大

3.9 定时器家族

EFR32 的定时器资源按「能不能在深睡下跑」分成两类,这是低功耗设计的核心分野:

定时器位宽能否在 EM2 下运行典型用途
TIMER16 bit(部分 32 bit)否PWM、输入捕获、通用计时
LETIMER16/24 bit是低功耗周期性唤醒、波形输出
RTCC32 bit 实时计数是日历、长时间定时唤醒
BURTC32 bit 备份域计时是(含 EM4)EM4 下保持计时,备份域供电
PCNT16 bit 脉冲计数是(异步)脉冲计数、旋转编码
WDOG—是看门狗,防跑飞
SYSRTC32 bit是Series 3 平台的系统 RTC
定时器选型一句话

只要任务需要在 EM2 以下仍然计时,就只能选 LETIMER / RTCC / BURTC / PCNT 这一组;一旦用了普通 TIMER 做周期唤醒,系统就被钉在 EM0/EM1,功耗会高出两个数量级。

4 · SiWx917 硬件架构

SiWx917 与 EFR32 是两条不同的设计哲学:EFR32 是「一颗 M33 + 一颗射频小核」,SiWx917 是「一颗 M4 跑业务 + 一颗多线程无线处理器跑整个网络栈」。后者把 Wi-Fi 的复杂度彻底关在了 NWP 那一侧。

4.1 双核:M4 应用处理器 + NWP 无线处理器

两个处理核的分工非常干净:

  • MCU(Cortex-M4F,最高 180 MHz):跑用户业务、驱动外设、处理传感器数据。带 FPU、MPU、NVIC 与 SysTick。
  • NWP(ThreadArch 无线处理器,最高 160 MHz):在独立线程上运行 Wi-Fi、BLE、TCP/IP 与网络协议栈,同时作为安全处理域,负责安全启动、安全固件升级与调试锁定。
  • 两核通过 AHB 接口互连,共享一块 SRAM;彼此的行为由固件状态机协调。

M4 侧通过 WiSeConnect SDK 提供的 API 与 NWP 交互——你调用的是 C 函数,实际干活的是另一颗核。这个边界决定了两件事:NWP 固件必须单独烧写,且版本必须与 SDK 匹配。

SiWx917 双核架构:M4 跑应用,NWP 跑无线与网络两核通过 AHB 接口互连,共享 SRAM;NWP 固件以预编译二进制形式随 SDK 发布MCU:Cortex-M4F最高 180 MHzFPU · MPU · NVIC外设与业务代码NWP:ThreadArch 无线处理器最高 160 MHz四线程 · 独立协议栈线程Wi-Fi / BLE / TCP-IPAHB 互连 + 共享 SRAM最高 672 KB SRAM应用可配置 192 / 256 / 320 KB其余留给无线与系统固件状态机协同两核行为API 边界:M4 侧调用 WiSeConnect SDK 的 API,由 NWP 完成实际无线操作存储:三种配置Common Flash(两核共享)Dual Flash(各自独立)内置 0/4/8 MB + PSRAM 至 8 MBULP 外设与 Sensor HubULP UART / SSI / I2S / UDMA传感器可在 M4 睡眠时采集电源与时钟域MCU HP / MCU ULP / UULP VbatSOC_PLL 与 INTF_PLL(1~180 MHz)两条开发铁律① NWP 固件必须与 SDK 版本匹配,升级 SDK 后要重新烧写 NWP 镜像;② M4 侧用 RTOS 时,所有用到的 MCU 中断都要显式配置优先级。③ 高功耗模式下启用 DMA 时,缓冲区建议放在 ULP Memory 块(参考 ULP_I2S / ULP_UDMA / ULP_SSI / ULP_UART 示例)。
图 5 · SiWx917 双核架构:M4 应用核、NWP 无线核、共享 SRAM 与存储配置

来源:SiWx917 Software Reference Manual(WiSeConnect SDK 文档)

4.2 存储架构:三种 Flash 配置

SiWx917 的存储组合相当灵活,也是选型时最容易搞错的地方:

配置项可选规格说明
Flash 组织Common Flash(两核共享一块)/ Dual Flash(各自独立)由 OPN 决定,影响升级与地址布局
内置 Flash0 / 4 / 8 MB0 MB(即 flashless)版本需外部 Flash 配合
内置 PSRAM0 / 2 / 8 MBPSRAM 版本适合代码量大、需要 XiP 的场景
外部 Flash / PSRAM最高 16 MB支持加密 XiP(AES-XTS)
SRAM最高 672 KB软件可配置应用侧分得 192 / 256 / 320 KB
8 MB Flash 的 OPN 才有固件回退能力

Firmware Fallback(双槽固件回退,见 12.7 节)只在 8 MB 内置 Flash 的 OPN 上支持。如果产品需要「OTA 失败自动回退上一版」,采购阶段就必须锁定这些 OPN,事后无法通过软件补救。

4.3 时钟与电源域

SiWx917 的时钟子系统比 EFR32 复杂,因为它要同时服务高性能应用核与超低功耗待机:

  • SOC_PLL_CLK:1 ~ 180 MHz,给处理器用;INTF_PLL_CLK:1 ~ 180 MHz,给高速接口用;I2S_PLL_CLK:为音频接口定义好的一组频率。
  • ULP 时钟振荡器:给低功耗域用,是睡眠状态下维持计时的基础。
  • 电源域分为 MCU HP(高性能)、MCU ULP(超低功耗)与 UULP Vbat(常开域)三级,睡眠时逐级关闭。

配置思路是:把频率按功能模块分别设定,不用全速的地方就降下来——这与 EFR32「整颗芯片一个主频」的模型不同。

4.4 ULP 外设与 Sensor Hub

SiWx917 把一部分外设做成了 ULP(超低功耗)版本,可以在 M4 处于低功耗状态时继续工作:ULP_UART、ULP_SSI、ULP_I2S、ULP_UDMA。配合 Sensor Hub,传感器数据可以在不唤醒主核的情况下采集与累积。

DMA 缓冲区的存放位置有讲究

官方建议在高功耗模式下启用 DMA时,把缓冲区放在 ULP Memory 块里。具体实现可直接参考 SDK 自带的 ULP_I2S / ULP_UDMA / ULP_SSI / ULP_UART 四个示例工程,不要自己凭感觉分配。

4.5 启动流程:两级 Bootloader

SiWx917 有两级 Bootloader:安全 Bootloader(固化在 TASS ROM)与应用 Bootloader(固化在 M4SS ROM)。上电后安全 Bootloader 先按 eFuse 与 Flash 里的配置初始化硬件、校验 Flash 配置、并用公私钥数字签名验证固件镜像,然后把必要信息交给应用 Bootloader,最终启动应用。

SiWx917 启动链:安全 Bootloader → 应用 Bootloader → 应用两级 Bootloader 分别固化在 TASS ROM 与 M4SS ROM 里,安全启动在前者中实现① 上电复位POR / 掉电检测进入 TASS ROM② 安全 Bootloader读取 eFuse 与 Flash 配置校验配置签名③ 验签固件镜像公私钥数字签名校验失败则拒绝启动④ 应用 Bootloader位于 M4SS ROM加载 NWP 与 M4 镜像⑤ 应用运行NWP 初始化完成后M4 应用开始执行安全启动一旦开启就不可逆eFuse 与 OTP 位的写入是一次性的;开启前必须先把签名密钥的公私钥对完整备份,并在两台机器上分别保存 —— 私钥丢失意味着该批次器件永久无法升级固件。注:TASS = ThreadArch 安全子系统,M4SS = M4 子系统;两者的 ROM 固化代码构成信任根的第一环。
图 6 · SiWx917 启动流程:两级 Bootloader 与安全启动验签点

来源:SiWx917 Software Reference Manual(Bootup Flow 章节)

4.6 SoC 与 NCP 两种工作形态

SiWx917 支持两种完全不同的集成方式,选型阶段就要定下来:

形态说明适用场景代价
SoC(host-less)应用代码直接跑在片内 M4 上,无线能力通过 API 调用绝大多数产品;功耗与 BOM 最优应用受限于片内资源与 SDK
NCP(Network Co-Processor)SiWx917 只做无线协处理器,由外部主机 MCU 通过 SPI / UART / SDIO 下发命令已有主控、只想加 Wi-Fi;主控算力强多一颗 MCU,通信接口成为吞吐瓶颈
Transceiver 托管模式更底层的托管形态,主机承担更多协议职责特殊定制场景开发复杂度高

做 NCP 方案时,主机侧的适配层要按官方示例实现(命令帧格式、流控与并发处理都不建议自创);吞吐上限会明显受限于那根 SPI / UART,做大数据量传输前先评估。

RTOS 使用提醒

官方明确说明:RTOS 支持位于应用与服务层。如果 M4 侧上了 RTOS,多个软件线程访问 MCU 外设时必须正确使用 RTOS 原语(互斥 / 信号量),并且要为所有用到的 MCU 中断显式配置中断优先级——漏配会在高负载下表现为偶发丢包或死机,很难定位。

5 · 开发环境搭建

芯科在 2025 年把工具链整体翻新了一遍:Simplicity Studio 6(SSv6)取代 SSv5,SDK 从「一个整包」变成「按需安装的模块化组件」,分析工具也从 IDE 插件拆成独立应用。这一章按三条路线分别讲安装,并给出验证方法。

5.1 三条安装路线怎么选

路线适合谁优点代价
SSv6 IDE第一次接触芯科、需要图形化配置与示例工程工程向导、组件视图、引脚工具、内置分析工具体积大、启动慢;不支持同时开多个实例(与 v5 不同)
VS Code + 扩展习惯了 VS Code、要做日常编码与调试轻量、与现有工作流融合、可构建/烧录/调试部分高级配置仍需回到 SSv6 或命令行
命令行 SLT + CMakeCI/CD、批量构建、产线脚本可脚本化、可容器化、无图形依赖上手门槛高,组件依赖要自己理解
工具链拓扑:三种前端,共用同一套后端SSv6 IDE、VS Code 扩展与命令行只是外壳不同,底层都是 slc + CMake + CommanderSimplicity Studio 6全功能 IDE(Eclipse 系)工程向导 · 组件视图适合首次上手VS Code + Simplicity 扩展扩展 v2.0 与 SSv6.1 配套构建 / 烧录 / 调试适合日常编码命令行 SLT + CMakeslc generate + cmake + ninja无图形界面适合 CI / 批量构建slc generate读 .slcp 生成 autogen 与 CMakeListsCMake + Ninja / Make调用 GCC 或 IAR 工具链产物.s37 / .hex / .binSimplicity CommanderSWD / J-Link 烧录、擦除、Token 读写目标板(Explorer Kit / Pro Kit / 自定义板)独立分析工具(SSv6 起均为独立应用,可脱离 IDE 单独使用)Energy Profiler 功耗分析 · Network Analyzer 抓包 · Bluetooth NCP Commander · Simplicity Connect 手机端
图 7 · 芯科开发工具链:IDE / VS Code / 命令行三种前端与共用的后端流程

来源:Simplicity Studio 6 User Guide 与 SSv6.1 Release Notes

三条路线不是互斥:实际团队里常见做法是「SSv6 建工程 + VS Code 写代码 + 命令行跑 CI」,三者操作的是同一份 .slcp 工程文件。

5.2 路线一:Simplicity Studio 6(推荐)

SSv6 于 2025 年 10 月 1 日 GA,6.1.0 版本发布(2026-01)。与 v5 相比最大的变化是模块化 SDK 管理——不再一次性下载几十 GB 的完整包,而是按需安装组件。

  1. 安装 Simplicity Installer,选择 SSv6 本体。
  2. 启动后在 Package Manager 里安装目标器件所需的 SiSDK 版本(如 2025.12)与协议栈包(Bluetooth / Zigbee / Matter / WiSeConnect)。
  3. 插上开发板,SSv6 会自动识别并列出适配的示例工程;用 New Project Wizard 创建工程。
  4. 首次使用时在 Device Manager 里检查适配器固件版本(见 5.6 节)。
SSv6 的已知限制(6.1.0)

官方 Release Notes 明确列出:不支持同时运行多个 SSv6 实例(v5 可以);Matter Provisioning 工具在 6.1.0 暂不可用;IAR 工程不能从新建工程向导生成;SixG301(Series 3)仅支持 CMake/GCC,不支持 IAR。升级 SDK 后工程视图可能仍显示旧版本号,但构建是正常的,以 VS Code 扩展里的工程树为准。

5.3 路线二:VS Code + Simplicity 扩展

安装 Simplicity Studio VS Code Extension(2.0.0 与 SSv6.1 配套验证)。扩展负责工程树、构建、烧录与调试,编辑体验完全交给 VS Code。适合下列场景:

  • 团队已经标准化在 VS Code 上,不想再维护一套 Eclipse 配置。
  • 需要同时打开多个工程(SSv6 IDE 不支持多实例)。
  • 在远程开发容器 / SSH 环境下工作。

SSv6.1 起,Studio 会为 VS Code 与 CMake 工程生成 toolchain.cmake,工具路径不再硬编码,而是从系统 PATH 里的 SLT 位置动态解析——这显著改善了工程在不同机器之间共享时的可移植性(v6.1 专门修了「移动 CMake 工程后构建失败」的问题)。

5.4 路线三:命令行 SLT + CMake(CI 友好)

命令行路线的核心是三个工具:slc(工程生成器)、CMake + Ninja(构建)、commander(烧录)。典型流程:

# 1. 由 .slcp 生成构建文件(含 autogen 与 CMakeLists)
slc generate my_project.slcp --with brd4186c

# 2. 配置并构建
cmake -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake
ninja -C build

# 3. 烧录(用 J-Link 序列号指定目标,便于多板并行)
commander flash build/my_project.s37 --serialno 440123456

# 4. 复位运行
commander device reset --serialno 440123456

做 Matter / Zephyr 路线的项目(如 SiWx917 与 MG24 上的 Matter 示例)则会用 west 作为外层构建工具,内部仍是 CMake:启用 OTA(sysbuild)后 west flash 会按正确顺序先烧 MCUboot 再烧应用,也可用 west flash --domain mcuboot 单独烧某个域。这条路线与原生 SiSDK 路线不要混用。

5.5 SDK 体系:SiSDK / GSDK / WiSeConnect

SDK服务对象版本节奏说明
Simplicity SDK(SiSDK)Series 2 / Series 3按年月发布(2025.6 / 2025.12 …)模块化组件,按需安装;内含 Gecko Platform 作为底层
Gecko SDK(GSDK)4.5 LTSSeries 0 / Series 1长期支持版专门服务与 SiSDK 不兼容的老器件,做维护与稳定性保障
Gecko Platform两者共同底层随主 SDK 升级(4.4.x)EMLIB、驱动、服务、RAIL、安全组件
WiSeConnect SDKSiWx91x 家族3.x 主干,文档已到 4.xM4 应用 SDK + 预编译 NWP 固件;Matter/Wi-Fi 支撑
SiSDK 与 GSDK 不能混在一个工程里

这两条 SDK 产品线面向不同的器件世代,工程文件与组件互不兼容。判断标准很简单:目标器件是 Series 1 及更早 → GSDK 4.5 LTS;Series 2 / Series 3 → SiSDK。升级现有工程时,不要试图把老工程直接搬到新 SDK,正确做法是按 20.2 节的映射表重建工程。

5.6 驱动、权限与适配器固件

这一节是安装阶段最容易卡住的地方,尤其是 Windows 与 Linux:

  • Windows:SSv6.1 的 Release Notes 明确提示——使用 低于 v2.0.0 的适配器固件可能导致 Windows 蓝屏(BSOD)。务必升级到 v2.0.0 或更高版本(改用 Microsoft WinUSB 驱动)。如果 Device Overview 界面不提示有新固件,打开 Device Manager 手动检查。
  • Linux:需要为 J-Link / USB 设备配置 udev 规则,否则普通用户权限下看不到调试器;把 commander 所在目录加入 PATH 以免每次写全路径。
  • macOS:注意 x86 与 Apple Silicon 是两个安装包,M 系列机器请下 Mac (ARM) 版本。
  • 多板并行:一台 PC 接多块开发板时,用 commander --serialno 或 --ip 精确定位,避免烧错板子。

5.7 验证:从零编译并烧录

安装完成后,用最小闭环验证整条链路是否通:

  1. 新建(或导入)一个 Blinky / SoC Empty 示例工程,目标选你手上的板子。
  2. 直接构建,确认工具链与 SDK 版本匹配(构建日志里会打印 SiSDK 版本)。
  3. 烧录并观察板载 LED 翻转。
  4. 打开串口终端(115200 8-N-1)确认有日志输出。
  5. 再用命令行重复一次同样的构建与烧录,确认 CI 路线可用。
验收标准

第 3 步与第 5 步都要过。只过图形界面会在做 CI 时卡住,只过命令行则无法确认 IDE 配置正确。建议把第 5 步的命令直接写进项目 README,团队新人照抄即可上手。

相关报告 · 交叉引用 1 器件全部展开收起 ▾
点开类目即可展开:具体文档 / 章节(点章直接跳转到该章)
其他提及器件(共 1)
eMCP/uMCP
电路设计指南2
软件设计规范2