1. nRF52产品开发全景
nRF52系列(nRF52810/832/840/810等)是Nordic主力的低功耗蓝牙SoC平台。一个产品从想法走到量产,并不是“写代码—烧录—出货”这么简单,而是一条由需求、选型、协议栈、硬件、固件、认证、量产测试共同构成的工程链。任何一环判断失误,都可能在后期以改板、重新认证或批量返工的形式付出代价。本节先建立一张全景地图,让后续每一章都能落到具体位置上。
一、全景流程与关键里程碑
把整个开发过程压缩成一条主线,可以划分为六个阶段,每个阶段都有明确的交付物和“不可回退”的里程碑:
- 需求定义:明确产品形态、连接角色、功耗目标、成本区间、认证市场。交付物是《产品需求规格》,里程碑是需求冻结。
- 芯片选型:根据Flash/RAM、外设、封装、协议栈支持确定具体型号。里程碑是主芯片与协议栈版本锁定。
- 协议栈与系统规划:确定GATT服务、连接参数、广播策略、DFU方案、电源域划分。里程碑是软件架构评审通过。
- 硬件与固件并行开发:原理图/PCB、天线匹配、SDK工程搭建、驱动与业务逻辑实现。里程碑是EVT样机点亮并跑通基本连接。
- 验证与认证:射频指标、功耗实测、互操作性、BQB/CE/FCC/SRRC等。里程碑是认证报告齐套。
- 量产交付:产测工装、烧录与MAC地址管理、良率与一致性控制。里程碑是PVT通过并转入MP。
这六个阶段并非严格串行。硬件打样与协议栈规划常常并行,认证准备也应在DVT阶段就启动,否则会拖长整体周期。真正需要严格串行的,是“需求冻结→选型锁定”和“认证通过→量产放行”这两处。
二、需求定义:先定边界,再谈技术
需求阶段最容易被忽略的是“连接角色”和“功耗目标”的量化。例如一款智能门锁,若定义为“手机主动连接开锁”,则设备多数时间处于广播或可连接空闲态,平均电流可做到几十微安;若要求“设备主动上报状态”,则需周期性建立连接,平均电流会显著上升。这两者在选型和协议栈规划上完全不同。
建议在需求规格中至少写清以下量化项:
| 需求项 | 示例值(假设) | 影响 |
|---|---|---|
| 连接角色 | Peripheral,从机 | 决定广播与连接参数 |
| 广播间隔 | 500 ms | 影响平均功耗与发现速度 |
| 连接间隔 | 30 ms | 影响吞吐与功耗 |
| 平均电流目标 | < 50 µA | 决定是否用System OFF |
| 供电方式 | CR2032纽扣电池 | 限制峰值电流 |
| 认证市场 | CE + FCC + SRRC | 决定测试项目与周期 |
这些数值是示例假设,实际项目需按产品定义填写。需求冻结后,后续所有选型和参数调整都应回溯到这张表。
三、芯片选型:从Flash/RAM反推型号
nRF52家族型号差异主要体现在Flash、RAM、外设和封装。选型时先估算协议栈占用,再估算应用代码与DFU空间。以S132 SoftDevice为例,协议栈本身占用约100 KB以上Flash和数KB RAM,若启用DFU双区升级,还需预留一份应用镜像空间。因此:
可用应用Flash ≈ 总Flash − SoftDevice占用 − Bootloader占用 − DFU双区预留
例如 nRF52832(512 KB):
512 − 约110(S132) − 约30(Bootloader) − 约200(双区预留) ≈ 172 KB 应用空间
若应用逻辑复杂、带大量字符串或算法,172 KB可能偏紧,此时应选nRF52840(1 MB Flash、256 KB RAM)或裁剪DFU策略。RAM同理,需为协议栈、连接上下文、缓冲区留出余量。选型里程碑一旦锁定,后续更换型号意味着重新认证,代价很高。
四、协议栈规划:服务、连接与升级
协议栈规划的核心是GATT服务划分与连接参数策略。建议按“标准服务优先、自定义服务最小化”的原则设计。例如心率设备优先使用HRS,电池使用BAS,自定义数据放入128位UUID的私有服务。连接参数需在“响应速度”和“功耗”之间折中:连接间隔越短,响应越快但功耗越高;从机延迟(Slave Latency)可在无数据时跳过若干连接事件以省电。
DFU方案也应在此时确定:是否支持空中升级、使用双区还是单区、Bootloader是否带按键/GPIO触发。这些决定会直接影响Flash分区表和产测流程。
五、开发、验证与量产的关键衔接
EVT阶段重点验证“能不能跑通”:广播、连接、读写特征值、基本功耗。DVT阶段重点验证“稳不稳定”:射频指标、互操作性、极限功耗、异常恢复。PVT阶段重点验证“能不能批量做”:产测工装能否快速烧录、MAC地址是否唯一、良率是否达标。
产测通常包含:烧录SoftDevice+Bootloader+应用、写入MAC地址与设备密钥、射频发射功率与频偏抽检、电流抽检、功能自检。若产测节拍过长,会成为量产瓶颈,因此工装设计应与固件预留的测试接口配合。
六、里程碑检查表示例
为了让全景流程可执行,下面给出一份可直接参考的里程碑检查表(字段按nRF52项目实际需要设计):
| 里程碑 | 通过条件 | 输出物 |
|---|---|---|
| M1 需求冻结 | 角色、功耗、认证市场量化确认 | 产品需求规格 |
| M2 选型锁定 | Flash/RAM余量≥20%,封装确认 | 选型报告 |
| M3 架构评审 | GATT服务表、连接参数、DFU方案确认 | 软件架构文档 |
| M4 EVT点亮 | 广播/连接/读写通过,平均电流≤目标1.5倍 | EVT测试记录 |
| M5 认证齐套 | 射频、功耗、互操作、BQB报告齐全 | 认证报告包 |
| M6 PVT转MP | 产测节拍达标,良率≥目标值 | 产测SOP与良率报告 |