nRF 芯片在校园智能灌溉系统中的应用
2020-07-31冉菲帆曹涌郭建巍
◎冉菲帆 曹涌 郭建巍
科技和创新是促使一个国家向前迈进的重要因素。工业和农业一直是国家发展的重要产业,而提到农业,首先要考虑的就是植被的灌溉问题,目前常见的灌溉方式主要是人工灌溉和喷洒式灌溉,然而,在现代化的今天,传统的灌溉方式存在的弊端日益明显,因此,只有将科学技术与农业结合起来,才能进行更加高效的灌溉。在整个校园智能灌溉系统中,最为重要且关键的模块,就是实现主机和从机的无线通信,在经过实际测试之后,我们发现nRF24L01 芯片无疑是最适合的。
一、nRF24L01 芯片的基础特性及引脚接口
nRF24L01 的输入地址、输出功率和通信频道都可以通过程序来进行设置,提供了可控性和多样性,并且适合多个设备之间进行通信。它的温度范围和工作湿度跨度非常大,这使它可以很轻松的保证在各种恶劣天气环境下运行,它最高工作速率能达到2Mbps,且具有超强的抗干扰能力,不用担心在工作时被其他信号所干扰。它的内部设有专门的稳压电路,再加上具有自动应答机制和CRC 校验功能,使其不会因为电源和信号的波动而影响通信效果,保证了数据通信高效稳定的进行。
八引脚接口的设计使它功能十分的全面,其中除了GND 和VCC 外,共有四个接口负责数字输入,两个接口负责数字输出,此芯片对于单片机的要求比较低,即使是没有集成SPI 功能的单片机也可以很容易的控制本模块,用普通的单片I0 口模拟SPI 时序进行读写操作就可以。负责数字输入的管脚 CE、CSN、SCK、MOSI 分别代表的是收发模式切换控制端口、SPI 片选使能端,且对低电平有效、SPI 时钟、SPI 从设备数据输入;负责输出的管脚MISO、IRQ分别代表SPI 从设备数据输出以及工作状态指示。
二、nRF24L01 的工作模式及配置字
(一)工作模式
nRF24L01主要有四种工作状态,分别为发送状态、接收状态、空闲状态和掉电状态。
CE、PRIM_RX register、PWR_UP register 这三种组合来决定当前所处的工作状态。其中收发模式是四种模式中的核心模式,在增强ShockBurstTM 收发模式下,要使用到先入先出算法,使用此堆栈区,可以把数据从微控制器中以一个较低的速度送出,之后用较高的速度发射,这样做的好处,一是系统费用低,因为不管是高速射频还是低速射频都可以使用低速的微处理器,这样就大大节省了费用;二是抗干扰性强,由于发射出去的数据的速度是较高的,这也就代表数据在空中停留较短的时间,越短的时间,数据被干扰的可能性就越小,同时在很大程度上减少了整个灌溉系统的平均电流。
1.发送模式。
首先,为了可以使它的工作模式为发射模式,要对CONFIG 寄存器进行相应的配置,然后把数据和接收节点的地址依次按时序写入缓冲区,通过MCU 把CE 置1并保持至少10us,在发射的过程中首先需要给射频前端提供电量,然后对需要发送的数据(射频数据)进行打包,也就是前面提到的添加字头和CRC 校验码,最后利用其高速发射的特点把打包好的数据以较快的速度发射出去。
2.接收模式。
总体来说,接收数据的流程与发送数据的流程是类似的,先对CONFIG 寄存器和地址及数据进行相应的配置,将地址和数据写入缓冲区,之后把CE 置为1 并保持大约130us,之后将会进入监视状态以等待数据包的到来,一旦接受到数据包,通过对字头、地址、CRC 的检测来判断接受到的数据包是否正确,在正确的情况下nRF24L01 会自动把它们移除,接下来nRF24L01 会将状态寄存器置位来通知MCU,此时的微控制器就会产生中断,把输入的数据从芯片内读出,最后当所有的数据都已经读出来以后,它可以清除掉STATUS 寄存器,并使得nRF24L01 进入之前介绍过的四种工作模式之一,以此循环。
3.待机模式和关机模式。
待机模式最大的特点就是通过减小平均工作电流来降低功耗,这种状态下为22uA,这在一定程度上极大地减少了能源的损耗,并且能够缩短芯片的启动时间,在这种模式下晶体振荡器依然是工作的。需要注意的是,在待机状态下,它会对所有的配置字进行保留,不会丢失。关机状态下的电流损耗是最小的,此时它虽然不工作,但是所有配置寄存器的值也是保留的。
(二)配置字
nRF24L01 是先通过同步串行外设接口(SPI)来访问配置寄存器,然后通过配置寄存器来进行配置字的定义的,这些配置寄存器可通过SPI 口访问,一共有8 个与其有关的控制指令,nRF 芯片的MOS(IMaster Input Slave Output)输入来进行使用,然后把数据输出给微控制单元。它是采用先传送低比特位,再传送高比特位的方式来进行数据的传输,传输速率最大能达到10 Mb/s,但是对于单个字节而言是不同的,它对单个字节的传输要先送高比特位。
nRF24L0 共有25 个配置寄存器,其中较为常用的如下表所示:
?
其主要的配置参数分别有:数据宽度、地址宽度、接收通道、CRC 校验、工作频率、发射频率和通信频率等。数据宽度:也就是数据包中的数据所占用的位数,它的存在可以让芯片很清晰的分出来数据包中的数据和CRC 校验码,使得数据的传输更具有目的性;地址宽度:我们都知道,在传输的数据包中,一定会带有源地址,而地址宽度的存在就可以让芯片很轻松的把地址和数据发开来;接收通道:顾名思义,接受通道也就是接受地址,即数据即将到达的地址,通常情况下,有通道0 到通道5 的地址;CRC 校验:这个参数的存在目的就是为了使芯片学会如何生成和接触CRC 校验码,使用此技术时,一定要保证配置字,也就是 CONFIG 中的 EN_CRC 中的 CRC 校验被使能,并且还有比较重要的一点就是,发送和接收使用的协议必须一致;工作效率:常规的工作频率间隔为1M 赫兹,所以建议设置在2.4 到2.5G 赫兹这个范围内;发射功率:发射功率也就是数据以高速发出时的速率,它的大小对于通信的距离以及整套系统的耗能起到了决定性的作用;通信速率:主机与从机之间进行通信的功率,基本上有两种情况可以选择设置,分别为1Mbps 和2Mbps。当把这一系列的参数都按照工作情况设置完成后,nRF24L01+就可以进入收发模式,从而进行整个系统的流程畅通。
三、nRF 芯片在校园智能节水灌溉系统中的实际应用
(一)在系统中的功能实现过程
在校园自动灌溉系统中,nRF24L01 芯片的主要作用是实现主机和从机之间的无线通信。前面我们已经从芯片特性、芯片内部结构、芯片工作模式及配置方法等多个方面介绍了nRF24L01,从功能特性上,它具备高效的GFSK 调制,抗干扰能力强,且满足多点通信和跳频通信的需要。从使用者的角度,它简单易操作性也是给用户提供了便利的服务,可以通过软件设置地址,在收到本机地址时会输出数据(提供中断指示),而且,可以直接接各种单片机使用,软件编程十分方便。
(二)NRF24L01 与单片机连接部分的原理图
图1.主机
图2.从机