ShockBurst™ 是由 Nordic Semiconductor 公司为其 nRF 系列无线芯片(特别是 nRF2401、nRF24L01 等)开发的一种高性能、低功耗的无线数据传输协议和技术,它不是一种独立的无线通信标准(如 Wi-Fi 或蓝牙),而是一种运行在 2.4GHz ISM 频段上的增强型无线数据链路层技术。

你可以把它想象成一种“智能快递员”的工作方式,与传统“跑腿送货员”的方式形成鲜明对比。
ShockBurst 的核心思想:解决什么问题?
为了理解 ShockBurst 的优势,我们首先要了解它所改进的“传统”模式——Enhanced ShockBurst™ 的前身,可以理解为一种“收发同步”模式。
在传统模式下,发送方和接收方必须保持严格的同步:
- 发送方准备好数据后,需要一直保持发射状态。
- 它逐个字节地将数据通过天线发送出去。
- 接收方也必须一直保持接收状态,并准确地“捕捉”到每一个字节。
- 数据传输完成后,双方才能切换到其他状态(如发射/接收模式切换,或进入低功耗模式)。
这种方式的缺点非常明显:

- 功耗高:发送方在整个传输过程中都处于高功耗的发射状态,接收方也必须全程监听,非常耗电。
- 效率低:发送方无法在发送数据的同时做其他事情(比如处理传感器数据),因为它的全部资源都被占用了。
- 可靠性依赖底层:数据的完整性完全依赖于底层的无线链路,如果出现一点干扰导致数据丢失,整个传输过程就可能失败,且没有自动重传机制。
ShockBurst 如何工作:“智能快递员”模式
ShockBurst 技术通过引入 “自动打包、发送、应答和重传” 的机制,完美地解决了上述问题,它的工作流程如下:
发送方(发件人)的工作流程:
-
准备数据包:
- 微控制器将需要发送的数据(32 字节)准备好。
- 通过 SPI 接口将这个数据包一次性写入到 nRF 芯片的内部 FIFO(先进先出)缓冲区中。
-
启动发送:
- 微控制器向 nRF 芯片发送一个极短的“发送”指令(
CE引脚拉高)。 - 关键点:一旦启动发送,微控制器的任务就完成了! 它可以立即去执行其他任务(比如进入低功耗睡眠模式),或者准备下一个数据包。
- 微控制器向 nRF 芯片发送一个极短的“发送”指令(
-
芯片自动处理:
(图片来源网络,侵删)- nRF 芯片接管一切,它自动完成以下所有操作,无需微控制器干预:
- 打包:将 FIFO 中的数据、目标地址和 CRC 校验码打包成一个完整的无线数据帧。
- 信道评估:自动检测信道是否被占用(类似听一下周围是否有人在说话),如果被占用,会等待一个随机时间再尝试,以避免冲突。
- 发送:在 2.4GHz 频率上将数据包高速发送出去。
- 切换接收模式:数据包发送完毕后,芯片会自动切换到接收模式,并开启一个极短的“接收窗口”(250 微秒),专门等待来自接收方的应答信号。
- nRF 芯片接管一切,它自动完成以下所有操作,无需微控制器干预:
-
处理应答或重传:
- 如果收到应答:芯片在接收窗口内收到了接收方发回的正确应答信号,它会将一个“发送成功”的状态标志置位,它可以自动进入低功耗模式,等待下一次微控制器的指令。
- 如果未收到应答:如果在接收窗口内没有收到应答,芯片会认为数据包在传输过程中丢失了,它会自动启动重传机制,重复步骤 3 和 4(通常是重传最多 3 次),如果重传多次后仍失败,它会将“发送失败”的状态标志置位。
接收方(收件人)的工作流程:
-
监听地址:
- 接收方的 nRF 芯片被配置为监听特定的地址。
- 大部分时间,它处于低功耗的“空闲”模式,只有当检测到有数据包的目标地址与自己的地址匹配时,才会被唤醒。
-
接收数据包:
芯片自动接收来自发送方的完整数据包,并进行 CRC 校验以检查数据是否完整。
-
自动发送应答:
- 如果数据包完整无误,芯片会自动生成一个应答信号,并在下一个时隙将其发送回发送方。
- 它将接收到的数据存入自己的 FIFO 缓冲区。
-
通知微控制器:
- 数据接收和应答发送完成后,芯片会拉高一个中断引脚(如
DR引脚),通知微控制器:“嘿,有新数据了,快来取!”
- 数据接收和应答发送完成后,芯片会拉高一个中断引脚(如
-
微控制器取走数据:
微控制器被中断唤醒后,通过 SPI 接口从 FIFO 缓冲区中读走数据。
ShockBurst 的核心优势总结
| 特性 | 传统模式 | ShockBurst 模式 |
|---|---|---|
| 微控制器参与度 | 全程参与,需要精确时序控制 | 仅需启动和读取结果,中间过程完全由芯片自动完成 |
| 功耗 | 高,收发双方需长时间保持工作状态 | 极低,微控制器在传输期间可休眠,仅在关键时刻唤醒 |
| 可靠性 | 依赖底层,无自动重传 | 高,内置 CRC 校验和自动重传机制,确保数据可靠送达 |
| 效率 | 低,微控制器资源被占用 | 高,微控制器可以处理其他任务或进入睡眠,芯片在后台高效工作 |
| 设计复杂度 | 高,需要处理复杂的时序和状态机 | 低,将复杂的无线协议栈简化为几个简单的 SPI 指令 |
典型应用场景
ShockBurst 技术的这些特点使其特别适合以下应用:
- 无线鼠标、键盘、游戏手柄:需要快速响应、低延迟和高可靠性,同时主机和设备都需要省电。
- 无线耳机和音箱:需要高质量、低延迟的音频数据传输。
- 传感器网络和物联网:大量的传感器节点(如温湿度、光照传感器)需要将数据周期性地发送到网关或汇聚节点,这些节点由电池供电,必须最大限度地降低功耗以延长使用寿命。
- 遥控玩具和无人机:需要遥控器和设备之间稳定、低延迟的通信。
- 工业自动化和医疗设备:在需要可靠、抗干扰无线数据传输的场合。
ShockBurst™ 不是一种无线技术,而是一种由 nRF 芯片实现的、高度自动化的无线数据传输协议,它的核心价值在于将复杂的无线通信任务(打包、发送、应答、重传)从微控制器转移到专用的无线芯片上,从而极大地降低了系统功耗、提高了数据传输的可靠性和效率,并简化了嵌入式开发者的软件设计工作。 正是因为这些优点,基于 nRF 芯片和 ShockBurst 技术的解决方案在低功耗无线领域得到了极其广泛的应用。
