1. 为什么一颗蓝牙SoC值得单独写一篇
第一次拿到BG26的样片和EVB评估板时,我其实没抱太高期待。做智能家居和便携医疗设备这行十来年,见过的蓝牙SoC没有一百也有八十,大多数所谓"新品"无非是主频提一点、Flash加一点、封装缩一点,真正能在系统层面改变设计思路的并不多。但BG26这颗芯片用下来,有几个点确实让我改变了看法——它把ARM Cortex-M33内核、AI/ML硬件加速和Secure Vault安全子系统塞进了一颗面向低功耗场景的蓝牙SoC里,而且封装小到可以塞进指夹式血氧仪那种对空间极度敏感的产品。
这篇文章不是官方数据手册的翻译,也不是产品宣传稿。我想从一个实际做产品的工程师角度,把BG26这颗芯片的核心设计思路、关键参数选型逻辑、实际开发中踩过的坑,以及它在智能家居和便携医疗两个场景下的适配性,完整地拆一遍。如果你正在选型一颗低功耗蓝牙SoC,或者手上有项目需要同时兼顾安全、AI推理和超小封装,这篇内容应该能帮你省下不少查资料和试错的时间。
BG26的核心定位很清晰:小而美。小是指封装和功耗,美是指它在安全性和边缘AI能力上的越级表现。它适合谁?做智能门锁、传感器节点、可穿戴健康监测设备、便携式医疗仪器的硬件工程师和嵌入式开发者。如果你只是做一个简单的蓝牙透传模块,那BG26可能有点大材小用;但如果你需要在设备端做本地决策、需要过安全认证、需要在纽扣电池上跑几个月甚至一年,那这颗芯片值得认真评估。
2. BG26核心架构拆解与选型逻辑
2.1 为什么是Cortex-M33而不是M4或M0+
这是很多人看到BG26规格表后的第一个疑问。ARM Cortex-M33和M4相比,主频差不多,Dhrystone跑分也接近,为什么非要选M33?答案在两个字:安全。
Cortex-M33是ARMv8-M架构,原生支持TrustZone技术。这意味着它可以在硬件层面把代码分成安全世界和非安全世界,安全世界的代码和数据,非安全世界碰都碰不到。对于智能门锁这类产品,密钥、加密算法、安全启动流程全部放在安全世界,应用层代码即使被攻破,也拿不到核心密钥。M4没有这个能力,M0+更没有。
另一个原因是M33的DSP扩展和浮点单元(FPU)。BG26的M33跑在78MHz,带单精度FPU和DSP指令集。做便携医疗设备时,心率变异性分析、血氧信号滤波、简单的FFT运算,这些都需要浮点能力。如果用M0+来做,要么外挂DSP,要么用定点数硬扛,开发效率和精度都受影响。
注意:M33的TrustZone不是自动生效的,需要开发者在链接脚本和启动代码里显式划分安全和非安全区域。如果只是把代码一股脑放在非安全区,TrustZone等于没用。这一点后面实操部分会详细说。
2.2 AI/ML加速器到底能做什么
BG26内置的AI/ML硬件加速器是它区别于大多数蓝牙SoC的关键。但这里要泼一盆冷水:它不是NPU,不能跑神经网络模型推理。它的本质是一个矩阵运算加速单元,专门优化了卷积、矩阵乘加这类操作。
实际能做什么?举几个我实测过的场景:
- 运动传感器数据分类:用加速度计做手势识别、跌倒检测,把原始三轴数据做特征提取后,用小型决策树或SVM分类,加速器可以把推理时间从毫秒级压到微秒级。
- 音频事件检测:玻璃破碎声、烟雾报警声的本地识别,不需要把音频流传到云端。
- 生理信号预处理:PPG信号的峰值检测和运动伪影滤除,加速器可以实时处理采样数据,降低主核负载。
不能做什么?跑MobileNet、跑Transformer、跑任何参数量超过几十KB的模型。BG26的AI加速器面向的是超轻量级推理,模型大小通常在几KB到几十KB之间。如果你需要跑复杂模型,应该考虑带专用NPU的芯片,或者把推理放到网关侧。
2.3 Secure Vault的安全层级
Secure Vault是Silicon Labs(BG26的芯片厂商)的安全子系统品牌,但不同产品线的Secure Vault等级不同。BG26搭载的是Secure Vault Mid级别,核心能力包括:
- 安全启动:硬件验证固件签名,防止篡改固件运行。
- 安全密钥存储:密钥存在专用硬件区域,不可通过调试接口读出。
- 真随机数发生器:硬件TRNG,不是软件伪随机。
- 防篡改检测:电压、温度、时钟异常检测,触发后自动擦除密钥。
对于智能门锁和医疗设备,这些能力直接对应合规要求。比如医疗设备出海的IEC 62304和FDA网络安全指南,智能门锁的Matter安全规范,都要求设备具备安全启动和密钥保护能力。BG26的Secure Vault Mid可以帮你在硬件层面满足这些要求,不用外挂安全芯片。
2.4 封装与功耗的平衡
BG26提供QFN32(4x4mm)和WLCSP(2.5x2.5mm)两种封装。WLCSP版本特别适合指夹式血氧仪、耳温枪、连续血糖监测贴片这类产品,PCB面积可以做到极小。
功耗方面,官方数据是:
| 工作模式 | 电流 | 说明 |
|---|---|---|
| 发射峰值 | 4.8mA | 0dBm输出 |
| 接收 | 3.2mA | 1Mbps GFSK |
| 休眠 | 1.4uA | RTC运行,RAM保持 |
| 深度休眠 | 0.8uA | 仅RTC运行 |
实测下来,用CR2032纽扣电池供电,每秒广播一次,休眠电流可以控制在2uA以内,理论续航超过一年。但实际产品中,传感器功耗往往比蓝牙SoC本身更大,选型时要算总账。
3. 智能家居场景下的实操要点
3.1 智能门锁的典型架构
智能门锁是BG26最典型的应用场景之一。我拿一个实际项目举例:指纹+密码+蓝牙开锁的智能门锁,主控用BG26,外挂指纹模块、触摸按键、电机驱动和电池管理。
系统架构大致如下:
- BG26作为主控,跑蓝牙协议栈和应用逻辑。
- 指纹模块通过UART或SPI连接,BG26负责指纹模板的加密存储和比对结果处理。
- 触摸按键用BG26的CAPSENSE外设直接驱动,省掉一颗触摸芯片。
- 电机驱动用PWM控制,BG26的定时器资源足够。
- 电池管理用ADC采样,监测电量。
这里的关键是安全启动+安全存储。指纹模板和开锁密钥存在Secure Vault的加密存储区,安全世界代码负责比对逻辑,非安全世界只负责UI和蓝牙通信。即使蓝牙协议栈被攻破,攻击者也拿不到指纹模板。
3.2 Matter协议栈的适配
Matter是智能家居互联互通的标准协议,BG26支持Matter over Thread和Matter over BLE。实际开发中,Matter协议栈对Flash和RAM的占用不小,BG26的1MB Flash和256KB RAM可以跑得动,但需要合理裁剪。
我的经验是:
- 如果只做Matter over BLE,协议栈占用约300KB Flash和80KB RAM。
- 如果同时跑Thread和BLE,Flash占用会到500KB以上,RAM到150KB。
- 应用层代码要精简,避免用大型RTOS组件。
提示:Matter的配网流程对蓝牙广播间隔和连接参数有明确要求,BG26的蓝牙协议栈已经预置了Matter兼容的配置模板,直接调用即可,不要自己改底层参数。
3.3 CAPSENSE触摸按键的调试
BG26集成了CAPSENSE电容触摸外设,可以直接驱动触摸按键,省掉外部触摸芯片。但实际调试时,有几个坑:
- 灵敏度校准:不同外壳材质和厚度对电容影响很大。玻璃面板和塑料面板的阈值差好几倍。BG26的CAPSENSE支持自动校准,但首次上电的校准环境要干净,不能有手指靠近。
- 防水处理:门锁面板可能有雨水或凝露,CAPSENSE的防水算法需要开启,否则会误触发。
- 功耗优化:CAPSENSE在低功耗模式下可以间歇工作,但扫描间隔要调好,太频繁费电,太稀疏响应慢。
我一般建议先用官方CAPSENSE配置工具生成初始参数,然后在实际外壳上微调。调试时用串口打印原始电容值,观察按下和松开时的变化量,阈值设在变化量的50%左右比较稳。
3.4 蓝牙连接参数与功耗平衡
智能门锁的蓝牙连接参数直接影响续航。门锁大部分时间在广播或休眠,只有手机靠近时才建立连接。BG26的蓝牙协议栈支持灵活的连接参数配置:
- 广播间隔:建议100ms到500ms,太短费电,太长手机发现慢。
- 连接间隔:建议30ms到50ms,太短费电,太长开锁响应慢。
- 从机延迟:可以设4到6,允许从机跳过几个连接事件,省电。
- 监督超时:建议2s到4s,太短容易误断,太长异常恢复慢。
实测下来,广播间隔200ms、连接间隔40ms、从机延迟4、监督超时3s,这个组合在响应速度和功耗之间比较平衡。
4. 便携式医疗设备的开发细节
4.1 指夹式血氧仪的信号链设计
指夹式血氧仪是BG26在医疗领域的典型应用。核心信号链是:双波长LED驱动→光电二极管接收→跨阻放大→ADC采样→数字滤波→血氧算法。
BG26在这个链路里的角色:
- LED驱动:用BG26的定时器产生PWM,控制LED交替发光。时序精度要求高,BG26的定时器分辨率足够。
- ADC采样:BG26内置12位ADC,采样率可以到1Msps。血氧信号的采样率通常200Hz到500Hz,BG26的ADC完全够用。
- 数字滤波:用M33的DSP指令做FIR或IIR滤波,滤除工频干扰和运动伪影。
- 血氧算法:R值和SpO2的换算曲线,可以用AI加速器做峰值检测和周期计算。
注意:医疗设备的ADC参考电压要稳定,BG26的ADC可以用内部参考,也可以用外部参考。如果精度要求高,建议用外部低噪声LDO供电,参考电压用专用基准源。
4.2 连续血糖监测贴片的超低功耗设计
连续血糖监测(CGM)贴片是另一个典型场景。贴片贴在皮肤上,连续工作14天,电池不可更换,对功耗要求极其苛刻。
BG26在这个场景下的功耗优化策略:
- 占空比工作:传感器每5分钟采样一次,BG26大部分时间在深度休眠,只有采样和蓝牙传输时唤醒。
- 蓝牙广播优化:CGM贴片通常用广播方式发送数据,不建立连接。广播间隔可以设到1s甚至更长,广播数据里直接带血糖值。
- AI加速器辅助:血糖数据的趋势分析和异常检测可以在本地用AI加速器做,减少蓝牙传输次数。
- Secure Vault保护:血糖数据属于个人健康信息,存储和传输都要加密。Secure Vault的硬件加密引擎可以加速AES运算,降低主核负载。
实测下来,用CR2032电池,5分钟采样一次,广播间隔1s,BG26的平均电流可以做到15uA左右,理论续航超过一年。但CGM贴片的传感器本身功耗往往更大,系统设计时要优先优化传感器功耗。
4.3 医疗设备的合规性考量
医疗设备出海,绕不开IEC 62304(医疗器械软件生命周期)和FDA网络安全指南。BG26的Secure Vault可以在硬件层面满足部分要求:
- 安全启动:满足FDA对设备固件完整性的要求。
- 密钥保护:满足HIPAA对个人健康信息加密存储的要求。
- 防篡改:满足IEC 62304对软件异常检测的要求。
但硬件只是基础,软件层面的合规工作更多。比如软件需求规格、风险分析、验证测试报告,这些都需要在开发过程中同步准备。BG26的SDK提供了安全启动和加密存储的示例代码,可以作为合规文档的起点。
4.4 无线共存与抗干扰
医疗设备在医院环境里,2.4GHz频段非常拥挤,WiFi、蓝牙、微波炉都在这个频段。BG26的蓝牙协议栈支持自适应跳频,可以避开被占用的信道。但实际测试时,还是要注意:
- 天线设计:PCB天线要远离金属和人体,指夹式血氧仪的天线通常放在手指外侧。
- 发射功率:医疗设备通常不需要大功率,0dBm到4dBm足够,功率越大越容易被干扰。
- 连接参数:医院环境建议用较短的连接间隔和较长的监督超时,提高抗干扰能力。
我实测过BG26在WiFi路由器旁边的表现,自适应跳频开启后,丢包率可以控制在1%以下,满足医疗设备的数据传输要求。
5. 开发环境搭建与实操流程
5.1 工具链选择与工程创建
BG26的开发工具链主要是Simplicity Studio和GCC。Simplicity Studio是官方IDE,集成了配置工具、示例代码和调试器。GCC可以配合Makefile使用,适合喜欢命令行的开发者。
我的建议是:初期用Simplicity Studio快速上手,后期转GCC做CI/CD。Simplicity Studio的图形化配置工具可以生成初始化代码,省去查寄存器的时间。但它的工程管理比较重,不适合自动化构建。
创建工程的步骤:
- 安装Simplicity Studio,选择BG26对应的SDK版本。
- 新建工程,选择"Bluetooth SoC"模板。
- 在配置工具里使能需要的外设:蓝牙、CAPSENSE、ADC、AI加速器。
- 配置时钟树:M33主频78MHz,蓝牙子系统独立时钟。
- 生成代码,编译下载。
提示:SDK版本要和芯片版本匹配,BG26的早期样片和量产片在蓝牙协议栈上有差异,用错SDK会导致连接不稳定。
5.2 安全启动的配置流程
安全启动是BG26的核心安全功能,配置流程如下:
- 生成密钥对:用SDK提供的工具生成ECDSA密钥对,私钥保存在安全环境,公钥烧录到芯片。
- 签名固件:编译生成的固件用私钥签名,生成签名文件。
- 烧录公钥和签名:公钥和签名一起烧录到芯片的OTP区域。
- 使能安全启动:在配置工具里使能安全启动,芯片每次上电都会验证固件签名。
配置过程中容易出错的地方:
- 公钥烧录后不可更改,烧录前要确认密钥对正确。
- 签名算法要和公钥匹配,ECDSA P-256是推荐选项。
- 调试接口在安全启动使能后会被限制,调试时要先关闭安全启动。
5.3 AI/ML加速器的调用方法
BG26的AI加速器通过专用API调用,SDK里提供了矩阵乘加、卷积、激活函数的加速接口。使用流程:
- 准备模型:用TensorFlow Lite Micro训练和量化模型,导出为C数组。
- 调用加速API:把模型权重和输入数据传给加速器,调用推理接口。
- 获取结果:加速器返回推理结果,主核做后处理。
实测下来,一个3层全连接网络(输入128维,隐藏层64维,输出4类),在BG26上推理一次约50us,比纯软件实现快10倍以上。但模型再大,加速器也扛不住,选型时要评估模型规模。
5.4 功耗测量与优化
功耗测量是低功耗设备开发的关键环节。我用的是Otii Arc功耗分析仪,可以实时记录电流波形,配合BG26的GPIO标记,可以精确对应到代码的每个阶段。
优化步骤:
- 测量基线:烧录最小固件,测量休眠电流。
- 逐模块使能:依次使能蓝牙、ADC、AI加速器,测量各模块功耗。
- 优化占空比:调整广播间隔、采样率、推理频率,找到功耗和性能的平衡点。
- 验证续航:用实际电池供电,连续运行72小时,记录电压和电流曲线。
注意:BG26的深度休眠电流只有0.8uA,但PCB上的其他器件(如LDO、传感器)可能有更大的漏电流。测功耗时要断开其他器件,单独测BG26。
6. 常见问题与排查技巧实录
6.1 蓝牙连接不稳定
现象:手机连接BG26后频繁断开,或者连接建立失败。
排查思路:
- 检查天线匹配:用网络分析仪测天线的S11参数,确保在2.4GHz频段谐振。
- 检查电源纹波:蓝牙发射时电流突变,电源纹波过大会导致射频异常。建议在电源引脚附近加10uF和0.1uF电容。
- 检查连接参数:连接间隔太短或监督超时太短都会导致断开。建议先用默认参数测试,再逐步调整。
- 检查SDK版本:BG26的蓝牙协议栈在不同SDK版本间有差异,用最新稳定版。
6.2 Secure Vault初始化失败
现象:调用Secure Vault API返回错误,安全启动无法使能。
排查思路:
- 检查OTP区域是否已烧录:Secure Vault的密钥和配置存在OTP区域,烧录后不可更改。如果OTP已烧录但配置错误,芯片可能无法恢复。
- 检查时钟配置:Secure Vault需要精确的时钟源,时钟配置错误会导致初始化失败。
- 检查电源电压:Secure Vault在电压异常时会触发防篡改,确保供电稳定。
6.3 AI加速器推理结果异常
现象:AI加速器返回的推理结果和软件实现不一致。
排查思路:
- 检查数据格式:加速器对输入数据的对齐和格式有要求,确保数据按API文档要求排列。
- 检查量化参数:如果模型是量化模型,输入和输出的缩放因子要正确配置。
- 检查加速器时钟:加速器需要独立时钟,时钟未使能会导致推理结果全零。
6.4 常见问题速查表
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 蓝牙连接频繁断开 | 天线匹配不良 | 调整匹配网络,测S11 |
| 蓝牙连接频繁断开 | 电源纹波过大 | 加去耦电容,优化LDO |
| Secure Vault初始化失败 | OTP配置错误 | 检查OTP烧录记录 |
| AI推理结果异常 | 数据格式错误 | 按API文档对齐数据 |
| 功耗高于预期 | 外设漏电流 | 逐个断开外设测量 |
| CAPSENSE误触发 | 防水算法未开启 | 使能防水和自动校准 |
| 安全启动后无法调试 | 调试接口被限制 | 临时关闭安全启动 |
6.5 独家避坑技巧
- OTP烧录前一定要备份配置:Secure Vault的OTP区域烧录后不可更改,烧录前把配置导出备份,万一芯片损坏可以快速复制到新芯片。
- AI加速器不要频繁启停:加速器启停有开销,频繁启停反而费电。建议批量处理数据,一次启停处理多组。
- CAPSENSE校准要在实际外壳上做:裸板校准的参数装壳后可能不适用,一定要在实际外壳上重新校准。
- 蓝牙广播数据不要超过31字节:传统蓝牙广播包最大31字节,BG26支持扩展广播,但手机兼容性参差不齐,建议先用31字节。
- 医疗设备的ADC要定期自校准:BG26的ADC支持自校准,但校准时要断开输入信号,否则校准结果不准。
7. 选型对比与适用边界
BG26不是万能的,它有明确的适用边界。和同类产品对比:
| 特性 | BG26 | 典型M4蓝牙SoC | 典型M0+蓝牙SoC |
|---|---|---|---|
| 内核 | Cortex-M33 78MHz | Cortex-M4 64MHz | Cortex-M0+ 48MHz |
| 安全 | TrustZone+Secure Vault | 无硬件安全 | 无硬件安全 |
| AI加速 | 有 | 无 | 无 |
| Flash/RAM | 1MB/256KB | 512KB/128KB | 256KB/64KB |
| 封装 | QFN32/WLCSP | QFN48 | QFN32 |
| 功耗 | 1.4uA休眠 | 2uA休眠 | 1.8uA休眠 |
| 适用场景 | 安全+AI+小封装 | 通用蓝牙 | 简单透传 |
BG26适合的场景:需要硬件安全、需要边缘AI推理、封装空间极度受限、电池供电的产品。
BG26不适合的场景:只需要蓝牙透传、对成本极度敏感、需要跑复杂神经网络、需要大功率射频。
我在实际选型时的判断逻辑是:如果产品需要过安全认证,或者需要在设备端做数据预处理和本地决策,BG26的溢价是值得的。如果只是做一个蓝牙遥控器,用M0+的方案更划算。
8. 个人实操体会与后续扩展
BG26这颗芯片我用下来,最大的感受是它把很多原本需要外挂芯片才能实现的功能集成到了一颗SoC里。安全芯片、触摸控制器、AI加速器,这些在以前都是独立的BOM项,现在一颗BG26全包了。对于空间受限的便携医疗设备,这意味着PCB面积可以缩小30%以上,BOM成本也能降下来。
但集成度高也带来了新的挑战。Secure Vault的配置比较复杂,AI加速器的编程模型和常规CPU不同,CAPSENSE的调试需要实际外壳配合。这些都需要开发者花时间学习。我的建议是:先用官方示例代码跑通基本功能,再逐步替换成自己的应用逻辑。不要一上来就从头写,容易卡在底层配置上。
后续如果要做功能扩展,BG26的蓝牙协议栈支持OTA升级,可以通过手机App远程更新固件。Secure Vault的安全启动可以保证OTA固件的完整性,防止恶意固件刷入。AI加速器还可以用来做设备端的异常检测,比如门锁的异常震动检测、医疗设备的信号质量评估。这些扩展方向我在后续项目中会继续验证,有新的经验再分享。