前段时间解了一个基站的bug,问题的关键在于标签使用的是nRF24LE1( 增强型带51的内核),而接收信号的基站使用的是nRF24L01,在基站端 开启了EN_AA寄存器(Enable “Auto Acknowledgment” Funciton Disable this functionality to be compatible with nRF2401, 关闭后,可以应对大流量的数据收发,但是不保证丢包了。之前在接收大流量时会产生死机现象。
之后研究了NRF24LE1的收发模式,有两种收发模式 ShockBurstTM 收发模式,使用片内的先入先出堆栈区,数据低速从微控器送入,但高速(1Mbps)发射,这样可以尽量节能,因此,使用低速的微控器也能得到很高的射频数据 发射速率。与射频协议相关的所有高速信号处理都在片内进行。
这样做有三大好处:
1、 尽量节能;
2、 低的系统费用;
3、 数据在空中停留时间短,抗干扰性高。
nRF2401 的ShockBurstTM 技术同时也减小了整个系统的平均工作电流。在ShockBurstTM收发模式下,nRF2401自动处理字头和CRC校验码。在接收数据时,自动把字头和CRC校验码移去。在发送数据时,自动加上字头和CRC校验码,当发送过程完成后,数据准备号引脚通知微处理器数据发射完毕。
这款芯片内部已经集成了Nordic的Gazell 协议,Gazell协议时nordic针对自有的RF芯片研发的一种通信协议,支持调频等,收发机可以工作在多种模式下。
Enhanced ShockBurstTM 发射流程