NRF2401无线通信

CSN:芯片的片选线,CSN 为低电平芯片工作。
SCK:芯片控制的时钟线(SPI 时钟)
MISO:芯片控制数据线(Master input slave output)
MOSI:芯片控制数据线(Master output slave input)
IRQ:中断信号。无线通信过程中MCU 主要是通过IRQ 与NRF24L01 进行通信。
CE: 芯片的模式控制线。在 CSN 为低的情况下,CE 协同NRF24L01 的CONFIG 寄
存器共同决定NRF24L01 的状态(参照NRF24L01 的状态机)。

  • 状态机
    NRF2401无线通信_第1张图片

  • nrf2401的SPI时序
    NRF2401无线通信_第2张图片空闲状态为低电平,上升沿读取数据

  • 工作模式
    NRF2401无线通信_第3张图片

  • Tx 模式初始化过程
    1)写Tx 节点的地址 TX_ADDR
    2)写Rx 节点的地址(主要是为了使能Auto Ack) RX_ADDR_P0
    3)使能AUTO ACK EN_AA
    4)使能PIPE 0 EN_RXADDR
    5)配置自动重发次数 SETUP_RETR
    6)选择通信频率 RF_CH
    7)配置发射参数(低噪放大器增益、发射功率、无线速率) RF_SETUP
    8 ) 选择通道0 有效数据宽度 Rx_Pw_P0
    9)配置24L01 的基本参数以及切换工作模式 CONFIG。

  • Rx 模式初始化过程:
    初始化步骤 24L01 相关寄存器
    1)写Rx 节点的地址 RX_ADDR_P0
    2)使能AUTO ACK EN_AA
    3)使能PIPE 0 EN_RXADDR
    4)选择通信频率 RF_CH

  1. 选择通道0 有效数据宽度 Rx_Pw_P0
    6)配置发射参数(低噪放大器增益、发射功率、无线速率) RF_SETUP
    7)配置24L01 的基本参数以及切换工作模式 CONFIG。
  • Enhanced ShockBurstTM发射流程
    A. 把接收机的地址和要发送的数据按时序送入NRF24L01;
    B. 配置CONFIG寄存器,使之进入发送模式。
    C. 微控制器把CE置高(至少10us),激发NRF24L01进行Enhanced ShockBurstTM发射;
    D.N24L01的Enhanced ShockBurstTM发射(1) 给射频前端供电; (2)射频数据打包(加 字头、CRC校验码); (3) 高速发射数据包; (4)发射完成,NRF24L01进入空闲状态。
  • Enhanced ShockBurstTM接收流程
    A. 配置本机地址和要接收的数据包大小;
    B. 配置CONFIG寄存器,使之进入接收模式,把CE置高。
    C. 130us后,NRF24L01进入监视状态,等待数据包的到来;
    D.当接收到正确的数据包(正确的地址和CRC校验码),NRF2401自动把字
    头、地址和CRC校验位移去;
    E. NRF24L01通过把STATUS寄存器的RX_DR置位(STATUS一般引起微
    控制器中断)通知微控制器;
    F. 微控制器把数据从NewMsg_RF2401 读出;
    G. 所有数据读取完毕后,可以清除STATUS寄存器。NRF2401可以进入
    四种主要的模式之一。

你可能感兴趣的:(STM32)