基于NRF24LE1 无线猪体温测量系统的研究与设计

2020-12-21 12:10张思豪
通化师范学院学报 2020年12期
关键词:接收端寄存器无线

王 龙,张思豪

猪体温是猪的一个重要生理健康指标,生物学研究表明,猪的体温在38 ℃~39.5 ℃之间为正常,猪仔正常体温为38 ℃,如果猪生理机能发生扰乱时一般会伴有猪体温反常的症状[1].因此,对养殖场所有生猪体温进行实时动态的监控,能够实现对生猪疫情的预警.而传统人工猪体温采集存在耗时长、耗费人力资源多等问题.

基于此,本文采用NRF24LE1芯片和DS18B20测温模块,设计出一款无线温度采集系统.该系统可以分为两个部分:第一部分是发送端,由无线模块与温度传感器组成;第二部分是接收端,接收端与PC 机通信,将检测到的温度值上传并显示出来.

整个系统以无线收发模块NRF24LE1 为核心,实现多点温度测量和多点发送,解决了传统人工采集耗时长、耗费人力资源多等问题.系统的设计突破了传统的传输方式,通过远程检测就可得到相应温度数据.具有通用性强、封装小、便于安装、耗能低等特点,市场推广价值较高.

1 硬件电路设计

1.1 系统总体框图设计

本系统以NRF24LE1 为核心,外接温度检测模块,通过串口模块与PC 机连接,实现温度值的显示.系统的总体框图如图1 所示.

图1 系统总体框图

系统采用模块化的设计方法,主要由两大部分构成:一部分是由温度传感器和NRF24LE1模块组成的温度采集端,完成温度的采集;另一部分是由NRF24LE1 芯片组成的接收端,使用串行口与PC 端进行互通,完成数值的上传与显示.

1.2 NRF24LE1 无线模块

(1)NRF24LE1 芯片.NRF24LE1 是一款成本低廉、内部集成了高性能微处理器的芯片,工作频段在2.4 Ghz~2.4853 Ghz 标准ISM 频段内[2].该芯片内部还集合了Flash 暂存器、低功耗振荡器、AES 硬件加密器等多个元件,内部融合了增强型ShockBurst 技术,并且提供了理想的无线协议,保证数据传输的安全性.NRF24LE1 芯片在0 dB 的功率状态下发射数据时,仅需要电流大小为11.1 mA 即可,接收状态下所需的电流大小只需13.3 mA.这种低功耗的工作方式,对供电方式的设计要求简单,可延长系统的待机时间.

NRF24LE1 的基本特性:

①内置有高性能的微控制器并且还兼容8051 芯片的指令;

②16 KB 的片内Flash 存储代码空间;

③AES 硬件加密解密加速器;

④I/O 口使用方便:提供多个I/O 口;

⑤多种低功耗电源模式设计;

⑥NRF24LE1 有多种不同的封装形式;

⑦支持硬件调试器.

(2)NRF24LE1 芯片引脚功能.NRF24LE1的引脚封装图如图2 所示.

图2 NRF24LE1 引脚封装图

引脚功能:

①VSS:芯片接地端;

②VDD:芯片电源正极接口;

③P0.0~P1.6:外设连接端口;

④PROG:程序下载使能端口;

⑤RESET:低电平实现复位;

⑥VDD_PA:RF 功放电源供电,输出电压为+1.8 V;

⑦ANT1、ANT2:发射、接收天线的引脚接口;

⑧XC1、XC2:连接一个晶体振荡器;

⑨IREF:参考电流输出.

(3)工作模式.NRF24LE1 的工作方式有很多,可以通过设置CONFIG 寄存器在多种模式间进行转变,能够有效地降低功耗[3].NEF24LE1芯片能够在四种不同的工作状态下运行,四种工作状态分别为:掉电状态、待机状态、接收状态和发射状态,其中待机状态又包括待机状态1、待机状态2 两种状态.其工作状态由相关寄存器进行设置,状态设置如表1 所示.

掉电模式.在该模式中,NRF24LE1 芯片的收/发功能被禁止使用,目的是降低自身的功耗,减少对电源的使用.该模式下PRIM_RX、rfce、FIFO的状态不需要设置,只需要将PWR_UP置为低电平即可.

待机模式.使芯片在功耗比较低的状态下有短暂的响应时间.

接收模式.是接收数据时的工作模式.作用是将从信道里接收到的数据包送入微处理器中进行对比处理,如果地址与循环校验码符合,则将接收到的数据保留.

发射模式.将采集到的数值与发送机地址和循环校验码打包传送给另一方.

(4)配置寄存器.芯片的运行状态及工作模式的选择都需要进行相关参数的配置,这些参数需要在配置寄存器中进行设置,这些配置寄存器的设置是芯片工作关键所在.表2列出了NRF24LE1 基本的配置寄存器.

(5)NRF24LE1 原理图.图3 为NRF24LE1模块电路原理图.

1.3 DS18B20 测温模块

(1)DS18B20 传感器特性.DS18B20 测温模块能够支持使用“一线总线”端口的数字测温传感器,是DALLAS 公司生产的单线传感器[4].

DS18B20 管脚定义:

①DQ:控制DS18B20 的信号是输入还是输出;

②GND:接地;

表1 射频收发工作模式

表2 常用配置寄存器

图3 NRF24LE1 原理图

③VDD:电源正极;

④NC:悬空.

(2)DS18B20 的硬件连接.DS18B20 的硬件连接较为简单,但是程序相对比较难写.首先需要读懂DS18B20 的读写时序图,才能更好地书写程序. 在本设计中DS18B20 的DQ 与NRF24LE1 芯片的P13 口连接,如图4 所示.

图4 DS18B20连接图

2 系统软件流程设计

2.1 总体设计

发射端程序设计.发射端需要采集数据,所以先将DS18B20 初始化,从中提取出数值,数值分为高八位和低八位,然后把数值和地址、ID 号和循环校验码一起打包,发射出去.整个发射端的工作步骤如图5 所示.

图5 发射端发射总体步骤

首先应对接收端进行初始化,将其设置为接收模式,然后判断状态寄存器是否有中断标志.如果有接收中断标志,表示已经接收到数据,从暂存器中读出数据并对数据进行校验.数据正确则将其中的温度值提取出来,转化成十进制,在PC 机上打印.整个运行流程如图6 所示.

图6 接收端接收总体步骤

2.2 无线接收模块

接收端工作时,需要把NRF24LE1 芯片初始化,然后设置无线参数.首先设置CE 和RFCKEN 时钟使能端,关闭芯片中所有的数据通道,再开启接收数据通道0,只在通道0 中实现接收,之后还需要设置通道0 的自动应答.在CONFIG 寄 存 器 中,PRIM_RX 是RX/TX 模 式选择位,PRIM_RX 设置为高电平,芯片就为RX 模式[5].再在RF_CH 中设置射频频道,只有接收端和发射端的射频频道处于同一信道内才能互相通信.之后设置无线传输的空中传输速率和工作时的输出功率,这两个参数的设置都在同一寄存器RF_SETUP 中设置,RF_DR_HIGH 掌管着空中无线速率的选择,有1 Mbps、2 Mbps 和250 kbps 三种选择,本设计选用的是250 kbps.RF_PWR 掌管着输出功率的选择,有0 dBm、-6 dBm、-12 dBm、-18 dBm四种选择,本设计选用0 dBm 的输出功率.然后在CONFIG 寄存器中设置CRC 校验,设置接受的数据长度,这两个都是用来判断接收到的数据格式是否正确.最后PWR_UP 设置为高电平,芯片才能正式作为接收端使用.接收端接收到数据后,检测数据包中的第一个数据、有效地址和循环校验码,当条件判断成立,才会把收到的数值保存.接收完成后接收端会自动生成一个应答信号,这个信号的作用是用来答复发射端,表示数据已经接收到位.接收端的工作运行步骤如图7 所示.

图7 无线接收流程图

2.3 无线发射模块

发射端首先要配置初始化寄存器.配置方法与接收端的无线配置流程一样,其中的数据通道、RF 信道、发射机地址、传输功率、空中无线速率,以及CRC 校验都需要设置为同样的参数,只需要将CONFIN 寄存器中的PRIM_RX 设置为低电平,让其在TX 状态下工作. 需要注意的是这些指令数据都需要在CSN 为低电平时才能够连续写入,否则无法写入指令和数据,在执行完后将CSN 的电平设置为高.发射完数据后,发射端会等待一个信号的传回,这个信号是由接收端发出的,只有接收到这个信号,发射端才会确保数据没有丢失,不会进行重发操作,否则会自动进行数据重发.最后整个发射完成后,就会进入寄存器低功耗状态,等待下一个发射命令的出现.以上发射端的工作步骤如图8 所示.

图8 无线发射流程图

3 系统测试

使用本系统与标准温度计同时测量猪的温度,对比两个温度值,观察误差.温度测量值对比如表3 所示.

表3 温度测量对比

通过表3 可以看出,温度计读出来的温度值与系统读取出来的温度值基本相近,误差非常小,达到了设计的要求.另外对收发距离进行测试,在30 m 以外进行数据传输、发射和接收的情况都非常好,能够正常地在电脑上显示数据.图9 为接收端将接收到的温度值在PC 机上打印出来的多点温度测量结果图.

图9 PC机显示

4 结语

本设计利用无线采集收发技术,对养殖场所有生猪的体温进行实时动态监控,相比于人工检测,该系统测量体温准确度高、省时、省力、方便、科学.系统可以实时采集温度数据,降低了生产成本和劳动强度,提高了养殖效率,有助于养殖技术自动化的实现.

猜你喜欢
接收端寄存器无线
基于扰动观察法的光通信接收端优化策略
《无线互联科技》征稿词(2021)
基于多接收线圈的无线电能传输系统优化研究
Lite寄存器模型的设计与实现
手机无线充电收发设计
无线追踪3
二进制翻译中动静结合的寄存器分配优化方法
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
移位寄存器及算术运算应用