温度采集系统所采集的温度信息通常通过RS485、CAN总线通信方式传输至上位机,但这种方式维护较困难,不利于工业现场生产;而无线通信GPRS技术传输距离长,通信可靠稳定,但设计复杂、成本昂贵、后期运转成本高。本设计采用工业级内置硬件链路层协议的低成本单芯片nRF24E01无线收发器件实现系统间的无线通信,完成无线信号的接收、显示及报警功能。
nRF24E01简介
nRF24EI收发器是Nordic VLSI推出的系统级芯片,采用先进的0.18μs CMOS工艺、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为采集发送电路原理图,该电路主要由温度传感器DS18820和nRF24E01组成。
DS18820是DALLAS公司生产的单总线数字L-Wire温度传感器,可把温度信号直接转换成串行数字信号供单片机处理,采用1-Wire接口,数据端DQ通过4.7kΩ的上拉电阻接NRF24E01。nRF24E01的任意IO端口都可通过程序模拟DQ通信信号,但需在编程时注意,这里接至PI端口。采集到的温度数据经过NRF24E01内部调制、混频无线传输到接收模块,接收模块可以显示或将所采集的数据通过串口发送至PC进行处理。
系统软件设计
数据采集发送部分上电后首先配置nRF24E01的相关寄存器,使其工作在发射状态,然后复位D S18820,向DS18820发送温度转换命令,读取已转换的温度值,然后由nRF24E01发送,由于DS18820采用的是单线读写方式,需采用软件模拟实现1-WIRE通信。因此应严格按照1-Wire的时序要求编写。复位要求nRF24E01将数据线下拉500μs,然后释放,当DS18820收到信号后等待16~60μs,后发出60~240μs的存在低脉冲,主CPU收到此信号表示复位成功,其流程如图2所示。
RF24E01的主要程序代码如下:
(1)nRF24E01对DS18820的数据读写是通过时间隙处理位和命令字来确认信息交换。根据“单线复位脉冲时序和1-wire presence detect”的时序图设计程序如下: