由nRF24E01设计的无线温度采集系统
本设计采用具有工业级内置硬件链路层协议的低成本单芯片nRF24E01无线收发器设备,实现系统之间的无线通信,并完成无线信号的接收,显示和报警功能。
温度采集系统采集的温度信息通常通过RS485和CAN总线通讯传输到上位机,但是这种方法难以维护,不利于工业现场生产。
虽然无线通信GPRS技术传输距离长,通信可靠稳定,但设计复杂,价格昂贵,后期操作成本高。
nRF24E01简介nRF24E1收发器是Nordic VLSI推出的片上系统。
它采用先进的0.18μsCMOS工艺和36引脚QFN封装。
基于nRF2401 / 02芯片结构,射频,8051MCU,9输入12位ADC,125通道,UART,SPI,PWM,RTC和WDT都集成在单个芯片中。
nRF24E01是具有内置硬件链路层协议的工业级低成本无线收发器。
该设备工作在2.4GHz全球开放ISM频段。
它具有内置的功能模块,例如频率合成器,功率放大器,晶体振荡器,调制器,并集成了增强的ShockBurst技术。
可以通过程序配置其输出功率和通信通道。
它具有两种数据传输模式:ShockBurst和Enhanced ShockBurst。
nRF24E01的功耗很低。
当以-6dBm发射时,工作电流仅为9mA。
接收时,工作电流仅为12.3mA。
多种低功耗工作模式(掉电和空闲模式)更有利于节能设计。
nRF24E1 / nRF24E2适用于无线鼠标和键盘,无线手持终端,无线频率识别,数字视频,远程控制和汽车电子以及其他短距离无线高速应用。
系统硬件设计系统硬件设计主要由两部分组成:采集与发送,接收与显示。
图1是采集和传输电路的示意图,该电路主要由温度传感器DS18B20和nRF24E01组成。
图1采集和传输电路原理图DS18B20是DALLAS生产的单总线数字1-Wire温度传感器。
它可以将温度信号直接转换为串行数字信号,以进行单芯片处理。
它使用1-Wire接口,数据端子DQ通过4.7kΩ。
上拉电阻连接到NRF24E01。
nRF24E01的任何IO端口都可以通过程序模拟DQ通信信号,但是在编程时需要注意,此处已连接到P1端口。
收集的温度数据通过NRF24E01内部调制和混合无线传输到接收模块。
接收模块可以通过串口显示或发送采集到的数据到PC进行处理。
系统软件设计在上电数据采集和发送部分后首先配置nRF24E01的相关寄存器。
使它在发送状态下工作,然后复位DSl8B20,向DSl8B20发送温度转换命令,读取转换后的温度值,然后由nRF24E01发送。
由于DS18B20使用单线读写模式,因此需要软件仿真来实现1-WIRE通信。
因此,应严格按照1-Wire时序要求进行编写。
复位需要nRF24E01将数据线下拉500μs,然后释放它。
当DS18B20接收到信号时,它会等待16〜60μs,然后发出60〜240μs的低电平脉冲。
主CPU接收到该信号以指示复位成功。
过程如图2所示。
图2温度数据采集和发送流程图RF24E01的主程序代码如下:(1)nRF24E01通过时间间隔处理位和命令字向DSl8B20读取和写入数据以确认信息。
交换。
根据“单线复位脉冲定时和1-线存在检测”,将“单线复位脉冲定时和1-线存在检测”设置为“单线复位脉冲定时和1-线存在检测”。
时序图设计程序如下:uint get_temperature()&float wendu;& nbsp; uchar a,b;& nbsp; ds_reset();& nbspdelay(1); //大约2ms& nbsp; ds_write_byte(0xcc);& nbsp; a = ds_read_byte();& nbsp; b = ds_read_byte();& nbsp; temp = b;& n ;& nbsp; & nbsp;返回温度& nbsp;& nbsp;& nbsp; //返回温度相关数据}(2)发送功能,无线发送温度数据,实现功能如下:void Transmitter(unsigned char b){ //发送功能unsigned char mtemp; CS = 1; Delay100us(0);对于(mtemp = 0; mtemp& lt; tconf.n; mtemp ++){ SpiReadWrite(tconf.buf [mtemp]); //发送发送器配置