NRF24LE1收发模式的流程

      前段时间解了一个基站的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 发射流程:

(1) 把接收机的地址和要发送的数据按时序送入nRF24l01+

 (2)配置config寄存器,使之进入发送模式

  (3) 微控器把rfce置高,激发nrf24le1进行Enhanced ShockBurstTM 发射

   (4)NRF24L01+的Enhanced ShockBurstTM 发射

                         给射频前端供电;

                         射频数据打包(加前导码,CRC校验码);

                         发射完成,nrf24l01+进入待机状态。

 

   Enhanced ShockBurst 接收流程

(1) 配置本机地址和要接收的数据包的大小;

(2) 配置config寄存器,使之进入接收模式,把RFCE置高

(3) 130 微秒后,nrf24l01+ 进入监视状态,等待数据包的到来

(4) 当接收到正确的数据包(正确的地址和CRC校验码),nRF2401+自动把前导码、地址和CRC校验位移去。

(5) NRF24l01+通过把Status寄存器的RX-DR置位,通知微控制器,

 (6) 微控制器把数据从NRF2401+读出

 (7) 所有数据读取完毕后,可以清除Status寄存器。

你可能感兴趣的:(嵌入式开发,nrf24le1,nordic,发送接收模式)