对ShockBurst与Enhance ShockBurst的理解

无线通信 一开始接触到nRF24L01,Datasheet中大量提到Enhance ShockBurst 模式的好处,但是就是不明白这到底是一个什么模式,这些优点是相对于什么模式而言的,如果不适用Enhance ShockBurst模式,那么传输使用的是什么模式呢?
通过认真阅读Datasheet和官方的Demo程序,对于ShockBurst与Enhance ShockBurst的区别,我的理解如下,相对于ShockBurst 模式 Enhance ShockBurst 模式增加了自动应答和自动重发功能。

nRF24L01+芯片有2种通信模式:ShockBurst? Mode(突发模式)和Enhanced ShockBurst Mode(增强式突发模式)。当在ShockBurst Mode下芯片自己完成需要高速处理的RF协议,发送数据时只需要将数据放入发送数据缓冲区,芯片会自动产生PREAMBLE和CRC数据并将这些数据和地址信息、发送数据缓冲区的数据等组成一个数据包发送出去,这个数据包的组成为“1字节字头 + 3~5字节地址 + 9bit标志位 + 1~2字节CRC”。配置为接收数据的nRF24L01+接收到数据包后由硬件解析地址数据和数据信息,当接收到有效的数据信息后在IRQ引脚产生中断通知外部处理器读走数。
Enhanced ShockBurst Mode比前一种多了数据传输的握手信号可以保证数据传输的可靠性。当配置为Enhanced ShockBurst Mode,nRF24L01+发送数据后会自动切换到接收模式以接收返回的握手信号,当收到确认信号后IRQ引脚产生数据发送完成中断,如果没有握手信号返回表示发送失败,芯片会自动重新发送。如果重新发送的次数超过在ARC_CNT寄存器里面设定的值则会在IRQ引脚产生中断。MCU查询STATUS寄存器的值即可知道是发送完成中断还是重发次数超限中断。
推荐将nRF24L01+配置工作于Enhanced ShockBurst?模式,这种工作模式下,系统的程序编制会更加简单,并且稳定性也会更高。

分享到: 更多
版权申明:

本站保留所有原创文章的版权,本站地址:奔跑的博客[http://www.elecbench.com]

原创文章转载时请注明出处,并添加文章所在页面的链接:http://www.elecbench.com/%e5%af%b9shockburst%e4%b8%8eenhance-shockburst%e7%9a%84%e7%90%86%e8%a7%a3/

本站所有 2010年3月4日 以后发表、未标明为“转载”的文章均是本站原创。

发表评论?

3 条评论。

  1. 写得很好。感谢分享!

  2. 😎 很到位!!!
    受益了!!!

发表评论


(设置自己的个性头像)

*

申请属于你的免费顶级域名