基于nRF24L01的PC机无线数据传输设计
摘 要 介绍以ATmega16单片机为控制核心,nRF24L01无线模块作为收发控制器的PC机无线通信,ATmega16单片机通过串口与PC机通信,通过spi串行通信方式与nRF24L01无线模块进行数据传送。
关键词nRF24L01;ATmega16;无线通信;PC机
近年来,随着射频技术、集成电路、自动控制、无线数据通信技术的迅速发展,无线传输技术已经被广泛应用于实际中。本文设计了一种基于nRF24L01 的无线数据传输系统, 该系统具有工作稳定可靠、传输速率高、体积小、成本低、功耗低、软硬件设计简单、通信稳定、使用灵活等特点。对于短距离的无线数据传输很有应用价值。
1无线收发芯片nRF24L01
1.1nRF24L01 芯片的特点及其应用
nRF24L01 是NORD IC 公司的一款新型单片射频收发器件, 工作于2.4~2.5GHz ISM 频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst 技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01 功耗低,在以-6dBm 的功率发射时,工作电流只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。nRF24L01 的主要特性如下:
1) GFSK 调制;
2) 具有自动应答和自动再发射功能;
3) 片内自动生成报头和CRC 校验码;
4) 数据传输率为lMbps 或2Mbps;
5) SPI 速率为0~10Mbps;
6) 与其他nRF24 系列射频器件相兼容;
7) 供电电压为1.9~3.6V。
nRF24L01 芯片具有两种通信模式: 直接模式(DirectMode)和突发模式(ShockBurs Mode)。直接模式的使用与其他传统射频收发器的原理一样,需要通过软件在发送端添加校验码和地址码,在接收端判断是否为本机地址,并检查数据是否传输正确。突发模式使用芯片内部的先入先出堆栈区,数据可从低速微控制器
送入,高速发射出去,地址和校验码由硬件自动添加和去除。这种模式的优点是:① 可使用低速微控制器控制芯片工作; ② 减小功耗; ③ 射频信号高速发射, 抗干扰性强; ④ 减小整个系统的平均电流。因此使用nRF24L01 芯片特有的突发模式,可以提高系统整体的性能和效率。nRF24L01 的封装和引脚排列如图2 所示。各引脚功能如下:CE 为使能发射或接收;CSN、SCK、MOSI、MISO 为SPI 引脚端, 微处理器可通过此引脚配置nRF24L01;IRQ 为中断标志位;VDD 为电源输入端;VSS 为电源地;XC2、XC1 为晶体振荡器引脚;VDD_PA 为功率放大器供电, 输出为1.8V;ANT1、ANT2 为天线接口;IREF 为参考电流输入。
1.2nRF24L01无线模块
本系统使用深圳云佳科技有限公司的nRF24L01模块,其特点是使用其开发方便、快捷,而且开发效率高,数据传输速率快。最主要是该模块的硬件结构很小,对开发系统而言,占据的空间很小,很有开发与应用价值。
2 硬件结构
本系统以ATmega16单片机为控制核心,nRF24L01无线模块作为收发控制器。ATmega16是一款很实用、高效率、快速的AVR单片机,由于其高速性能与nRF24L01的快速性匹配,不会带来很大的时间延迟, nRF24L01 芯片采用ShockBurst 发射模式,所以其工作速率可达到1Mbps。
nRF24L01 采用SPI 串行通信接口,采用SPI 进行数据传输时与ATmega16单片机之间只需5根线,原理图如下图所示。
3软件设计
3.1上位机程序
上位机的程序应用SSCOM32串口调试助手,波特率设置9600bit/s,无校验位,8位数据位,一位停止位。
通过串口向单片机发送数据,每次发送一个字节。串口也可以通过下位机接收程序并通过调试助手显示。
3.2下位机串口程序
下位机的串口程序的主要任务是接收上位机的数据和向上位机传送从nRF24L01接收的数据。接收上位机的数据用中断,进入中断读取数据,把数据保存。想上位机发送数据用中断查询的方式。
3.3nRF24L01程序设计
单片机从串口接收到数据后首先查询nRF24L01是否空闲,若空闲则线清除
nRF24L01数据寄存器,然后向nRF24L01写数据启动发送。若nRF24L01忙则等待直到nRF24L01空闲。在应答模式下,nRF24L01 在发射数据后立即进入接收模式,接收应答信号。如果收到应答,则认为此次通信成功,若未收到应答,说明发送失败,自动重新发射该数据
4结论
本系统主要应用与PC机的无线数据传送与接收,上位机程序还有很大的修改空间,若用VC++编写上位机的应用程序可以实现特定的功能,nRF24L01系统的成本低和体积小,在无线数据传输场合有很广阔的应用前景。
参考文献
[1]王晓红.基于nRF2401 的无线数据传输系统[J].太原师范学院学报,2006,(5).
[2]赵轩等.基于nRF24L01 的无线式模型车运动状态监控系统[J].科技导报,20010,28(2).