微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > n R F24 LU 1+的U S B无线网络系统设计

n R F24 LU 1+的U S B无线网络系统设计

时间:10-15 来源:互联网 点击:


3.2 nRF24LU1+的无线模块程序设计
nRF24LU1+使用具有内嵌的协议引擎(EnhancedShockBurst)2.4 GHz GFSK的RF收发器。EnhancedShockBurst具有自动包处理的特性,这使得实现可靠的双向数据链接变得容易。数据包的传输是在两个收发器之间进行的,其中一个作为主接收器(PRX),另一个作为主发送器(PTX)。每个数据包的传输都是由PTX发送数据包开始,而以PTX接收到PRX的应答包结束。在自动包传输处理工作时,nRF24LU1+提供了自动应答和重发数据的硬件机制,重发数据包的最大次数和第一次传输到下一次重传之间的延时均可编程设置。
nRF24LU1+发送器在Enhanced ShockBurst情况下的工作流程如图4所示。

通过把RECON寄存器的rfce位置高使发送器进入PTX模式。如果在TX的FIFO缓存区有数据包,则无线收发器进入TX模式并发送这个数据包。如果自动重新传输使能,状态机检查NO_ACK标志位是否被置位。如果被置位,RF收发器进入RX模式准备接收应答包。如果收到的应答包为空,则只有TX_DS(传输数据发出)中断请求发生。如果应答包中包含载荷数据,则在收发器返回standby-I模式之前,TX_DS和RX_DR(接收数据准备)中断请求同时发生。如果延时时间到了而收发器还没有收到应答包,则收发器返回到standby-II模式。在自动重新传输时间没到之前,一直保持在standby-II模式。如果重传次数没有达到设定值,则RF收发器进入TX模式并再一次重传最后一次的数据包;否则,会发生最大重传MAX_RT中断请求,并返回到standby-I模式。如果RECON寄存器的rfce位为高且TX FIFO(先入先出数据缓存区)为空,则RF收发器进入standby-I模式。
由于nRF24LU1+的无线收发模块有强大数据硬件收发机制,编写程序比较简单,只需在初始化程序中对相关寄存器进行设置就可进入数据的收发。发送数据时,把待发送的数据放入发送FIFO后,收发器会按照设置进行发送,发送的情况通过中断来通知MCU,MCU根据具体的中断请求执行相应的中断服务程序。接收数据时,收发器会不断地搜寻有效地址,当找到一个有效地址时,会处理剩下的数据包并通过CRC验证数据包。如果这个包是有效的,包内的载荷数据将被放入RX FIFO中。
数据包的格式如下:

无线通信程序由两部分组成:无线通信模块的初始化程序和中断服务程序。
初始化程序对工作模式、传输速率、无线通信的工作波段频率、RF输出功率、地址寄存器、数据包的有效数据长度、CRC的校验长度和RF中断寄存器等进行相应的设置。无线通信模块对nRF24LU1+只占一个中断源RFIRQ,具体是何种中断可通过查询STATUS寄存器中的TX_DS、RX_DR、MAX_RT位来获得。中断服务程序分为发送中断服务程序、接收中断服务程序和最大重传中断服务程序。

结 语
本文提出一种运用无线收发芯片nRF24LU1+组建的无线网络系统。此网络系统充分利用USB和无线收发模块各自的优点实现了快速、便捷的数据传输,具有集成度高、体积小、保密性强、功耗低的特点。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top