nRF24L01无线通信系统设计(4)

2019-04-09 21:08

接收方对新接收数据包的PID值与上一包进行比较如果PID值不同则认为接收的数据包是新数据包如果PID值与上一包相同则新接收的数据包有可能与前一包相同,接收方必须确认CRC值是否相等如果CRC值与前一包数据的CRC值相等则认为是同一包数据并将其舍弃。 (2)发送方

每发送一包数据则发送方的PID值加1。 开始

否 开始 是 PID 等于是 来自微处理器新数据包? 增加 PID的last PID的值? 否 否 CRC 等于 Last CRC? 是 来自微处理器新数据包结束 丢弃重复数据包 结束

数据字段的宽度为1到32字节,发送方与接收方必须一致,接收到数据通道有效数据宽度通过RX_PW_Px寄存器设置,x为0到5。

CRC校验是可选的,寄存器EN_CRC用来使能CRC,寄存器CRCO用于设置CRC模式,有8位CRC校验的多项式X8+X2+X+1,16位CRC校验的多项式是X16+X12+X5+1,发送方与接收方也必须一致,CRC计算范围包括整个数据包:地址、PID和有效数据等。若CRC校验错误则不会接收数据包。 3.3.2 SPI的读写程序

15

图3-7 PID生成和检测

图3-8 SPI 程序时序图

1.数据发送过程

当一字节写进发送缓冲器时,发送过程开始。在发送第一个数据位时,数据字被并行地(通过内部总线)传入以为寄存器,而后串行地溢出到MOSI脚上;MSB在线还是LSB在线,取决于SPI_CR1寄存器中的LSBFIRST位,数据从发送缓冲器传输到移位寄存器时TXE标志将被置位,如果设置SPI_CR1寄存器中的TXEIE位,将产生中断。 SPI总线读写操作流程图3-9如下:

16

等待数据发送结束(SPIF将产生中断) 读出从机发送的数据或释放从机 发送一字节数据启动SPI数据传输 设置为SPI主机(设置 SPI_CR1寄存器) 选择从机 开始 图3-9 SPI总线读写操作流程图

2.数据接收过程

对于接收器来说,当数据传输完成时,移位寄存器里的数据传送到接收缓冲器,并且RXNE标志被置位。如果SPI_CR2寄存器中的RXEIE位被置位,则产生中断。在最后采样时钟沿,RXNE位被设置,在移位寄存器中接收到的数据字被传送到接受缓冲器,读SPI_DR寄存器时,SPIU设备返回接受到的数据字,读SPI_DR寄存器将清除RXNE位。 3.3.3 nRF24L01发送程序设计

发射数据时,首先将nRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TX FIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TX_FIFO中数据保留以便在次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时, 清STATUS中断标志位进入下一次发射。nRF24L01发送时序图和流程图分别如下图3-10和3-11所示:

图3-10 nRF24L01发送数据时序图

17

清STATUS中断标志位 返回 MAX_RT=1? N TD_DS=1? Y 读取STATUS 延迟130us N IRQ=0? Y 清STATUS中断标志位 延迟20us 写Pay load 配置为发送模式 nRF24L01初始化 置CE为高 置CE为低 图3-11 发送模块软件流程图

3.3.4 nRF24L01接收程序设计

接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,清STATUS中断标志位,等待接收下一组信号。nRF24L01接收数据时序图与流程图分别如下图3-12和3-13所示:

18

图3-12 nRF24L01接收数据时序图

延迟130us 置CE为高 nRF24L01初始化 配置为接收模式

返回 清STATUS中断标志位 RD_DR=1? 是 发送数据指令,读取接收数据 否 IRQ=0? 是 读取STATUS 否 图3-13 接收模式软件流程图

19


nRF24L01无线通信系统设计(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:破解福建男装迅速崛起的奥秘

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: