NFR_24L01无线SPI模块使用

模块发射功率:1MA 

接口模式:SPI SLAVE, MSBit

协议功能:

1. 可控发射功率,可视接收信号强度。SPI接口最大速率10M,

2. 1-32可变负载长度。发射和接收缓存分别有3个FIFO缓冲器。

3.  自动封包解包

4. 自动包确认、重发包​。协议会自动在发射完一个包后切换到接收状态,等待接收者的确包。接收者则会在接收到包后自动发送一个确认包。如果在一定的等待后发射者没有接收到确认包,则回自动重发。重发前的等待时间和重发次数都可以进行设置。

封包结构:LSByte to MSByte

1字节起始位+4-5字节地址+2字节保护位+​9bit控制位+0-32字节负载内容+1-2字节CRC

起始位用于同步接收端的解调器。

地址位是标记接收者用的。

保护位功能未知。

控制位包含了​6bit负载长度,2bit包身份标记,1bit无需确认标记。包身份标记(PID)是用来标记包是否重复发送。每次一个新的负载进入缓存后,PID会自动+1。如果接收者连续收到两个PID相同的包,则会自动比较两个包的CRC。如果CRC一致,则认为两个包是因为某种原因(比如未收到确认包)而重复发送的,第二次收到的包会被舍弃。这就意味着如果发送者通过同一个TX_BUF连续发送相同的包,是会被接受者忽略的!

负载内容长度位0-32字节。

CRC无需说明。​

5. 共有6个逻辑通讯通道,对应6个不同的接收地址。6个地址的高位都相同,只有最低一个字节可以自定义。实际上6个通讯地址都对应着同一个频率和收发配置,只是接收的地址不一样而已。

6. 中断功能。接收、发射、寄存器满都会产生中断。通过对状态寄存器中相应的位写1,可以请空中断标志

模块共5种有效的模式:

1. ​​掉电模式。寄存器中PWR_UP=0,4ua

2.空闲1。CE=0的状态,低功耗,待机状态。30ua

3.空闲2。TX状态下,CE=1,发射缓存已经清空的状态下,进入该状态。当有内容进入发射缓存的时候,会立刻进行发射。一种待发射状态。900ua

4.接收状态。​PRIM_RX=1,CE=1的时候进入接收状态,无线机构接收所有信号并筛选出发给指定地址的包。在该状态下,还能督导RPD也就是接收信号强度值。18.5ma

5.发射状态。​PRIM_RX=0,CE=1的时候进入发射状态,无线机构将负载内容组装成包发射出去。当发射缓存清空而CE还是1的时候,进入空闲2。该状态也可以通过一个20us以上的CE脉冲来触发,完成发射后会自动返回空闲1状态。17ma

 关于 频率、地址和管道:

模块工作的频率为2.4-2.525G。具体设置的频率F=2400+RF_CH,单位是MHZ。RF_CH<125;

当工作在2M时,为了保证频道之间不重叠,频率间隔必须高于2M,其它情况下间隔1M。

即使工作在同频率上,还可以用地址加以区分。​模块会接受当前频率上所有的信息,但是会先对包地址进行过滤,只保存针对自己地址的包。每个包只包含了接受者的地址。

每个模块可以接受6个管道发来的信息。每个管道​的地址前4字节相同,只有最后一个字节不一样。也就是说,可以同时接受6个地址发送来的信息。每个管道可以分别设置一些参数,比如负载长度。但是每次发送只能使用一个地址。也就是说,这个模块是多收单发的!

 在发射状态下,除了需要设置TX_ADDR,还需要将接收管道P0的RX_ADDR_P0设置为相同的地址,用来接收自动ACK。也就是说,来自接受者的自动ACK包里的地址是当前接收者的地址。

在接收状态下,只需要设置每个管道的​接收地址RX_ADDR, 自动ACK包的地址会复制接收到包的地址。

通讯过程解析:

填写图片摘要(选填)

 

操作过程:

注:只有在空闲或者掉电状态下,才能向模块写控制寄存器!只要​CSN下拉,模块必然会自动输出8位状态寄存器,高位优先。而所有的读写操作,在操作SPI前必须将CSN下拉,并在结束后上拉。

与NRF芯片通讯的顺序是:(指令+地址)+数据​。

指令包括​:读写寄存器(都要加地址),读写缓冲,冲洗缓冲,连续发送,读取接收缓冲宽度,写ACK负载,等等

 

1. 在掉电状态或者空闲状态下,设置基本参数。包括RF频道、地址、等等。

2. 向发射内容缓冲器写入发射内容。在写入前最好用FLUSH指令清空一下缓冲器,否则容易产生发送错误

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值