APP下载

NRF24L01组网方式

2016-08-09孙冬冬山东科技大学

电子制作 2016年14期
关键词:区分频道无线

孙冬冬 王 玲 山东科技大学



NRF24L01组网方式

孙冬冬 王 玲 山东科技大学

【文章摘要】

【关键词】

NRF24L01;多机通信; STC89C52 ;无线传输

1.NRF24L01介绍

NRF24L01拥有一个发送通道和六个接收通道,可以接收六路不同的数据,在正常工作时只有收发地址相互对应的NRF24L01模块才能进行通信。NRF24L01有125个可选的工作频道,在正常工作时也是只有频道一致的模块才能通信。因此,若要进行多机通信至少有两种方式:利用地址对从机进项编号区分或者是利用地址对从机进行区分。当把频道当做划分依据时,在实际应用中发现频道相近的从机都能收到主机发送过来的数据,所以实际应用中不要选择连续的频道。

2.多机通信方式

2.1选择频道为区分对象

首先提前选择好频道号并将它们赋给各个从机。然后就可以对主机和从机分别进行操作了。上电之后先对NRF模块进行初始化。步骤如下。

先把模式选择引脚拉低,让芯片工作在待机模式下,然后才能对芯片的各个寄存器进行配置。接着写接收通道0的数据宽度,一般情况下数据宽度选择为32字节。然后清除接收缓冲寄存器,写本机地址即发送地址,写接收地址,使能接收通道0的自动应答,使能接收通道0,设置自动重发间隔时间,选择工作频道0,设置发射参数,配置基本工作模式的参数,最后将CE引脚拉高,设置芯片工作在发送模式下。关于指令中某些语句的详细功能,请读者参考NEF24L01的技术手册。NRF24L01与STC89C52单片机通信时遵循SPΙ协议,STC89C52虽然不自带SPΙ功能,但是可以用普通ΙO口模拟。

各个从机的初始化程序与主机大体相同,但是从机的频道不能一致。比如:

从机1选择频道0:NRF24L01_Write_ Reg(WRΙTE_REG+RF_CH,0);

从机2选择频道10:NRF24L01_Write_ Reg(WRΙTE_REG+RF_CH,10);

从机3选择频道20:NRF24L01_Write_ Reg(WRΙTE_REG+RF_CH,20);等。这样配置好后,系统一上电只有从机一能够与主机进行通信。其他从机由于所处的频道和主机不一致,无法和主机进行通信。当主机需要访问其他从机时,只需要改变频道号即可比如访问从机1:

然后主机就可以和从机1进行通信了。若NRF24L01_Write_Reg(WRΙTE_REG+RF_ CH,20),主机就可以和从机2进行通信。切换到其他的频道就可以和相应频道的从机进行通

信。

注意:所有主从机的地址应设置成同一个地址即TX_ADDRESS和和RX_ADDRESS为同一个地址。区分当前主机和哪个从机进行通信完全由频道来决定。

2.2选择地址为区分对象

由于NRF24L01有六个接收通道,如果给主机的六个接收通道分别赋予不同的接收地址,那么主机就可以根据地址来对从机进行访问了。

NRF24L01共有六个接收通道,其中通道零和通道一的地址都是40位,通道二到通道五的高32位和通道一相同,只有低八位可以自由配置。这些地址可以任意取,只需要保证主从机的地址匹配即可。

由于主机根据地址对从机进行识别,所以所有主从机应处于同一个频道。而且使能所有的接收通道即NRF24L01_Write_Reg(WRΙTE_ REG+EN_RXADDR,0x3F)和使能所有接收通道的自动应答。自动应答是NRF24L01功能中自带的,开启此功能后,当发送货或接收完数据后,NRF模块中的硬件会自动做出反应,不用再编写额外的应答程序。

自动应答功能是接收方以接收到的数据的发送地址为目的地址,发送给发送方一个应答信号,表示数据已经接收,可以进行下一步操作。对于发送方来说,应答信号是用通道零来接收的,因此发送方需要将发送地址和通道零的接收地址配置成同一个地址。

当需要访问不同的从机时只需要将发送地址和通道零的接收地址更改为从机地址即可。

如果从机数目非常多的话,可以把两种方式结合起来。先将从机分组,每一组中的所有从机的频道号相同,主机按照地址对从机进行区分,不同的组按照频道号进行区分。

【参考文献】

[1] 朱桂峰.基于nRF24L01的无线传感局域网络的研究与设计[D].保定:河北大学,2011.

[2]Nordic VLSL ASA.nRF24xx Link Integrity[EB/OL].(2003-04-01) [2010-10-09]

NRF24L01是一款由NORDIC公司生产的无线传输模块,它的工作频段是世界上通用的频段。空中的最大传输速率可达,而且功率非常低,当工作在接收模式下时,为最大电流,工作在发送模式下时,为最大电流。没有加功率芯片的NRF24l01模块的传输距离最近:空旷条件下,传输的距离为15米,传输的距离为30米,传输的距离为50米,如果是外加天线的话传输距离会更远。功率加强版的模块NRF24L01+在空旷条件下传输距离可达110米。其最大的特点是不仅能实现一对一的点对点通信,还能实现最大为六对一(六个发送端一个接收端)的多机通信。本文主要介绍如何利用NRF24L01实现基于STC89C52单片机的无线多机通信。

猜你喜欢

区分频道无线
灵活区分 正确化简
《无线互联科技》征稿词(2021)
无线追踪3
怎么区分天空中的“彩虹”
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
4K频道开播,你准备好了吗
区分“我”和“找”
寒假快乐频道
怎祥区分天空中的“彩虹”(一)