无线通信模块

更新时间:2023-03-08 17:02:27 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

无线通信模块

智能车的行走路线是根据跑道的实时路况信息来决定的,为了获取路况信息,要求单片机能够与PC机之间进行通信,鉴于小车处于运动模式,因而比较方便有效的方式就是进行无线通信。

无线通信模块工作原理图如下所示:

在无线通信模块中,我们将采用一种基于NRF24L01的无线数据传输系统,该系统具有工作稳定可靠,传输速率较高,体积小,成本低,功耗低,通信稳定,使用较为灵活,可以很方便地在模型车上安装使用。在此无线传输系统中,利用NRF24L01无线数据传输芯片和单片机MC9S12XS128构成无限发射模块,使用NETUSB-24L01为无线接收模块,并通过USB接口将接收到的数据传输给上位机,然后在上位机中编写数据采集程序,在屏幕上实时描绘智能车的运动状态,行驶轨迹和性能参数,并将数据保存下来,在计算机中对数据进行分析处理和优化处理,得到小车的最佳运动状况和性能参数。

1.NRF24L01芯片特点及发射模块应用

nRF24L01是一款新型单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型

ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,在以-6 dBm的功率发射时,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。nRF24L01有两种通信模式,直接模式和突发模式,直接模式使用时与传统的射频收发器的原理一样,需要通过软件在发送端添加校验码和地址码,在接收端判断是否为本机地址,并检查数据传输是否正确。而在突发模式下使用该芯片内部的先入先出堆栈区,数据可以从低速微控制器送入,高速发射出去,为直接模式的不同之处在于地址码和校验码有硬件自

动添加和去除,鉴于突发模式有如下四条优点1.可以使用低速微控制器来控制芯片工作,2.减小功耗3.射频信号高速发射,抗干扰性很强,4.采用该芯片可以减小整个系统的平均电流,因而选用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。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。

接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。

2.NETUSB-24L01芯片与接收应用

在接收数据时采用NETUSB-24L01,该芯片通过USB接口与上位机相连,在硬件驱动程序方面可以采用该芯片提供的.NETUSB.lib库函数完成USB驱动程序的开发,程序开发流程如下:开始程序后,寻找USB设备,若检测到USB设备,下一步检测接收到的数据,若检测到数据,下一步则读取数据,存储数据,之后清除缓冲区,在上位机界面上显示出来。

本文来源:https://www.bwwdw.com/article/z9a6.html

Top