当电子标签上电后,首先对无线射频模块及传感器进行初始化,完成射频芯片中的射频收发器的收发地址、收发频率、发射功率、无线传输速率、无线收发模式以及CRC校验的长度和有效数据长度等信息的设置,然后微控制器把传感器定时采集到的数据通过通信接口发送给射频芯片,射频芯片再通过发射模式发送出去[4]。
1.1 片上芯片CC2430
CC2430包含了1个高性能2.4 GHz的直接序列扩频(DSSS)射频收发器核心和1个工业级小巧高效的8051控制器,在单个芯片上整合了射频(RF)前端、内存和微控制器。它具有以下特点:(1)使用1个8位MCU(8051),具有32/64/128 KB可编程Flash和8 KB的RAM;(2)极高的接收灵敏度和抗干扰性能;(3)具备在各种供电方式下的数据保持能力;(4)只需极少的外接元件;(5)电流消耗小(当微控制器内核运行在32 MHz时,Rx为27 mA,Tx为25 mA),特别适合要求电池寿命非常长的应用[5]场合。
1.2 温度传感器DS18B20简介
DS18B20是DALLAS公司生产的单线式数字温度传感器,它具有3引脚TO-92小封装体积,其不锈钢外壳封装形式可以防水防潮,适合恶劣的现场温度检测,其温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.062 5℃[6]。其内部结构图如图2所示。
1.3 DS18B20与CC2430接口的设计
温度传感器DS18B20与芯片CC2430的硬件连接非常简单,如图3所示。由于它将地址线、数据线和控制线合为一根双向串行传输的信号线,可以单独控制,因此只需占用CC2430的1根I/O线。
2 系统的软件结构
2.1 系统流程图
系统的软件主要由主程序、初始化子程序、数据采集子程序、无线通信子程序、串口通信子程序5部分组成。其中的无线通信子程序分为发送模式和接收模式,系统工作流程图如图4所示。
2.2 DS18B20的工作时序及软件流程
DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此,系统对DS18B20的各种操作必须按协议进行。其采集程序流程图如图5所示。
2.3 测温结果
测温结果由两部分组成:(1)标签的ID号,ID号由64位十六进制组成,可以通过软件SmartRF04Prog进行改写;(2)实时采集到的温度信息。这两部分通过串口发送到上位机进行实时显示。
本系统软件编程采用单片机C51语言,在IAR Embedded Workbench IDE编译环境下进行在线实时调试。
经过调试,本设计达到了预期的结果,发送端每隔10 min发送1次标签的ID号和温度采集数据,接收端能够正确接收到数据并且通过串口通信发送到上位机进行实时显示。把温度传感器与RFID芯片结合起来只占很小的空间,满足了小型化、无线传输、实时监测的要求,其可靠性和精度也有了很大的提高,可应用于矿井生产安全监测监控系统中,也可以为易腐坏食品、药品和物流中任何其他对温度敏感的物品采集温度信息,为许多医药诊断试验和程序提供及时的数据。