图5 主程序设计流程
3.2 温度采集
温度采集可分为系统初始化、等待NRF905接收和接收主机命令三部分。结合硬件设计,接收主机命令时,应采用通道0(CH0)来进行温度采集,具体程序如下:
3.3 NRF905无线通信
NRF905无线通信分为发送和接收两部分,以数据发送为例进行分析。NRF905数据发送可以分为确定数据和地址、确定发送模式、数据发送和发送完成四步。
当有数据提出发送请求时,从机地址和待发送的数据按时序经SPI接口传送给NRF905,SPI接口的速率由器件引脚配置信息决定。同时,TRX_CE和TX_EN被置成高电平,激发NRF905的ShockBurstTM发送模式[6],数据由NRF905 不断发送,直至TRX_CE 被置低。TRX_CE 被置低后,数据发送过程完成,系统自动进入待机模式等待下次数据请求,具体设计流程如图6所示。
图6 NRF905发送程序流程图
4、数据实测
数据测量时为了验证设计效果,选择了五种不同温度环境,首先在实验室搭建了温度采集硬件电路,接着用KeiluVision4软件编程和编译得到[.hex]文件,最后用STC_ISP_V483软件对芯片进行烧写。把实验电路和苏州领航测控技术有限公司生产的SHWD-T486型无线多点温度计测量的温度值作对比,由表1数据可知有两组值和SHWD-T486型测量数据一样,剩余三组数据的相对测量精度也都在0.18%以下,测量精度较高,且受环境影响较小。
5、结语
本文提出了一种基于NRF905 的无线温度采集系统的设计方案。先对方案中的温度采集系统的总体设计进行了介绍,同时对系统的硬件设计进行了分析,并重点对温度采集系统的软件进行设计,编程采用C语言,主要分为主程序、温度采集和NRF905 无线通信三部分。设计的温度采集系统与采用传统设计方法相比具有测量精度高、受环境影响小、成本低等优点,在工业生产过程中具有实际应用和推广价值。