NRF24L01的使用方法

要实现nRF24L01的ACK PAYLOAD功能需要经过以下步骤:

首先进行无线模块的基本配置,包括发送接收模式的选择(CONFIG)——收发模式、配置模式、空闲模式、关机模式。

  开启自动重传功能(EN_AA)、

  接收地址使能(EN_ADDR)、

  设置重传时问不为零(SET-UP RETR)等;然后同时开启DPL和ACK PAYLOAD功能,要实现这两个功能,必须在完成第一步之后用nRF24L01白带的ACTIVATE命令加上0x73数据开启默认隐藏的两个寄存器FEATURE和DYNPD。通过对这两个寄存器的设置就可以实现数据的双向通信。但要注意,接收端开启DPL后要使用R_RX PL WID命令读取当前数据帧的有效数据长度,同时使用W ACK PAY-LOAD命令将ACK PAYLOAD写入FIFO。



2、1无线数据传输芯片nRF24L01
  2.1.1芯片简介H
  nRF24L01是挪威NorDic公司的单片2.4 GHz无线收发一体芯片,有多达125个频道可供选择,支持1 Mb/s和2 Mb/s传输速率。该芯片采用SPI接口进行数据读写和参数配置,以寄存器映射方式对各个寄存器进行管理,同时具有自动重传、动态有效信息长度(DPL)、应答信号携带有效信息(ACK PAYLOAD)等高级功能。
  2.1.2功能
  动态有效信息长度(DPL)指的是发送端的nRF24L01芯片通过写入有效数据区的数据长度决定当前一帧数据的大小,而接收端则通过接收到的数据帧中的控制域信息而不是寄存器中定义的数据长度提取有效数据。这个功能极大地提高了无线信道的使用率,同时减少了冗余数据的传播,降低了数据在空中滞留的时间和数据被污染的概率。配合nRF24L0l的CRC校验和自动重传功能,在有效地降低数据误码率的同时保证了数据传输的时效性。
  应答信号携带有效信息(ACK PAYLOAD)指nRF24L01芯片在开启自动重传和DPL的基础上实现的双向通信功能。图2为一对无线模块之间的一次携带应答有效信息的数据传输过程。主发送模块(PTX)发送完第1帧数据后,自动置为接收模式,等待主接收模块(PRX)发送应答信号或携带有效数据的应答信号。主接收模块收到主发送模块发送的第1个数据帧后,若此时有需要附加的有效数据,则在发送完ACK信号后继续发送有效数据。而主发送模块收到ACK信号后继续接收有效信号,直到空中没有残留的无线信号再开始发送第2帧信号。
  使用ACK PAYLOAD可以实现车载系统和PC机的双向通信,该功能很好地解决了手动切换无线收发状态导致双方互相等待的问题,同时只在需要对车载控制板进行控制的时刻附带应答有效信息,可以减少不必要的通信过程,大大提高了系统稳定性

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值