
数学执来与率用
基于nRF24L01的频率自适应通讯
刘景文
(天津滨海职业学院天津300451)
应用研究
摘要:本文在分新ISM频疫通试存在的前提下,在考虑价格、程序复杂性等外部条件的情况下,选定nRF24L01为通讯设备。为保证nRF24L01间通试的可靠性和普遍性,提出频率自适应通试,使nRF24L01间可进行可靠信息传输。对实现频率自适应通试涉及的SPI接口通试、工作模式选择、频率自适应通试协议设计进行了描速
关键词:nRF24L01频率自适应SPI
中图分类号TM755 1引言
文献标识码:A
nRF24L01是一款工作在2.4~2.5GHz世界通用ISM频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型 SchockBurst模式控制器.功率放大器、调制器、解调器。输出功率、频道选择和协议的设置可以通过SPI接口进行设置
在嵌人式系统中,广泛采用nRF24L01进行通讯。在ISM频段存在zigbee、wifi,蓝牙,Iwip等通讯协议,在ISM频段进行通信必须克服不同协议间的相互干扰,前提是必须通讯保证双方选定的通讯频率是空闲的,在nRF24L01广泛使用的背录下,在设计最人式系统时,如果预先设定通讯频率,在实际使用环境下,不能保证预先设定通讯额率空闲,通讯功能也不能保证,造成通讯系统设计失败。如果联人式系统能够根据使用场合,自已找到工作场合的空闲频率,并做为通讯频率,同时在通讯频率发生冲突时,可以重新选择新的空
闲频率,实现通讯频率自适应,则是成功的通讯系统设计。 2实现频率自适应通讯
实现频率自适应通讯涉及三方面内容:SPI接口通讯、工作模式选择、频率自适应通讯协议设计。SPI接口通讯部分实现nRF24L01 设置、通讯数据存取等底层操作。以数据包处理方式为依据选择合适的工作模式是实现频率自适应通讯的前提和关键。频率自适应通讯协议设计通过对对数据格式,同步方式,传送速度、传送步骤,检纠错方式等问题数据传送控制的约定完成数据通讯。
2.1SPI接口通试
SPI接口是nRF24L01的数据传输通道,只有通过SPI接口用户才可以设置nRF24L01工作模式存取通讯数据
常见单片机不外51、avr两系列,51系列常见单片机不带SPI接口,aVr系列单片机带SPI接口,SPI接口引脚位置相当固定。可以采用时序模拟,利用四个引脚模拟SP接口操作时序,这样即使单片机不带SPI接口也可以进行SPI接口数据通讯,对带SPI接口的aVT系列单片机则可以灵活使用引脚。
(1)SPI接口操作。对不带SPI接口单片机,模拟SPI接口操作后则可以执行SPI操作,这样频率自适应通讯可以推广到所有单片机上实现,使之更具广泛性。
SPI接口由SCLK(串行时钟,用来同步数据传输,由主机输出) MISO(主机输入/从机输出数据线).MOSI(主机输出/从机输人数据线和SS由主机输出低电平有效的从机选择线)四个信号组成,
SPI接口在进行数据传输时,在一个SPI时钟周期内,会完成如下操作:1主机通过MOSI线发送1位数据,从机通过该线读取这1位数据,2)从机通过MISO线发送1位数据,主机通过该线读取这1位数据。
SPI接口有四种工作模式:模式0.1、2和3nRF24L01的SPI接口工作在模式0下。
(2)SPI接口的模拟,本设计使用AVR系列的Atmega16单片机
采用模拟SPI接口操作时序实现SPI接口通讯功能。收移日期:2015-0125
文章编号:1007-9416(2015)02-0115-01
模拟SPI接口由函数spi_rw实现,spi_rw返回结果设置为无符号字符类型,spi_rw只有一个无符号字符类型的人口参数byte,函数 spi_rw内定义无符号字符类型变量n。函数spi_rw以n为循环变量,采在for循环语句中,n的初值从0开始,循环延续条件是n小于8,每循环一次n值加一,循环8次。在循环内执行如下操作:1)利用位与运算判断byte的最高位值,如果为1,MOSI引脚置为1;否则,MOSI引脚置为0。2)byte中数据左移一位,次高位移至最高位,其他各位向左补上空出的前一位,最低位补零。3)串行时钟SCLK引脚置为1。4)根据 MISO引脚电平,设置byte最低位值。如果MISO引脚电平为高电平, byte最低位值为1;否则,不进行任何操作(在第二步数据左移后,最低位已为零)。5)申行时钟SCLK引脚置为1。最后,函数用retum语句返回byte值,利用spi_rw晒数模拟SPI接口操作,可以使频率自适应通讯协议推广到各种嵌人式系统下实现。
2.2工作模式选择
从数据包处理方式角度看,ⅡRF24L01有两种工作模式: ShockBurst模式,增强ShockBurst模式。
在ShockBurst接收模式下,nRF24L01收到有效数据后,用IRQ 发出提示,单片机从RXFIFO寄存器读出数据。在ShockBurst发送模式下,数据发送完毕后,用RQ发出提示表示发送完毕。
在增强ShockBurst模式下,接收、发送过程同在ShockBurst模式,区别在于:接收到数据时,要向发送方发送应答信号,发送信息时,要等待接收方的正确应答信号,否则要重复发送。频率自适应在综合考患后,采用ShockBurst模式。
2.3频率自适应通讯协议
频率自适应通讯协议的设计思路:将通讯过程分为连接呼叫数据传输、再连接三个状态。
连接呼叫状态:在数据通讯前,在可用频段上,从第一个频段开始,发送方对接收方进行呼叫,同时在预定时间内等待接收方应答。如果没有接收方应答,则转下一频段进行呼叫;如果收到接收方应答,数据传输状态就在此频段进行通讯,
数据传输状态:发送方发送数据,后在预定时间内等待接收方应答,如果没有接收方应答,则认为频道被干扰,转人再连接状态。
再连接状态:本质同连接呼叫状态一样,选择好空闲频道后,重
新转人数据传输状态进行数据传输。 3结语
在Atmegal6单片机下,基于nRF24L01的题率自适应通讯,在 zigbee,wif,蓝牙、lwip等共处的ISM频段,采用频率自适应通讯协议,可以克服干扰实现可靠的数据通信,由于采用模拟SP接口,使频
率自适应通讯协议可以推广到各种嵌入式系统下实现。参考文献
[1 JnRF24L01 datasheet[ZJ.www.freqchina.com,2007 年.P1.
作者简介:刘景文(1968一)男,天津市人,天津滨海职业学院电子信息工程技术教研主任,制教投,硕士,主要研究:控制工程、嵌入式应用,
115