返回列表 回复 发帖

基于CC2430的无线温度检测终端的设计

基于CC2430的无线温度检测终端的设计


王   玮,樊则宾


(昆明理工大学理学院,云南 昆明 650093)


摘  要:介绍了无线射频芯片CC2430和一线数字温度计DS1822的结构和功能;设计了一种无线温度检测终端,该终端以CC2430芯片为中央控制器,在数字温度计DS1822的协作下,能快速、高效地完成温度检测与报警,并可随时接受管理中心的查询。利用多个此类终端可对较大环境进行实时、无线、多点的温度检测。
关键词CC2430DS1822,无线检测
中图分类号:TP206.1          文献标识码B           文章编号:

Design for Wireless Temperature Detect Based on CC2430


WANG Wei, FAN Zebin


(Faculty of Science , Kunming University of Science and Technology, Kunming,650093,China)


Abstract:After introductions of the chips CC2430 and DS1822, a method to design a kind of wireless temperature detect device which based on CC2430 and DS1822 presented. The device can not only be used to detect the temperature but also to transmit the alarm signal to the computer centre .A computer center which accompany with lots of this kind of device can detect the temperature of a large room in different positions.

Keywords
CC2430DS1822,wireless detection







引 言
在现代工农业生产中,常常需要对环境温度进行检测。传统的方法往往费时、费力,效率低下,不便利用在对较大环境的温度检测中。本文设计了一种基于无线射频技术的温度检测终端,它以射频芯片CC2430为核心,在温度传感器DS1822的配合下,能够高效地完成对环境温度的无线检测。
1   CC2430芯片概述
CC2430芯片为Chipcon公司生产的2.4GHz射频系统单芯片,其结构框图如图一

所示。在该单芯片上,整合了ZigBee射频(RF)前端,内存,微控制器。其主要特点如下:

高性能和低功耗的8051微控制器核


集成符合IEEE802.15.4 标准的2.4GHzRF无线电收发机。



优良的无线接收灵敏度和强大的抗


干扰性。



在休眠模式时仅0.9µA的流耗,外部的中断或RTC能唤醒系统;在待机模式时少于0.6µA的流耗,外部的中断能唤醒系统。



硬件支持CSMACA功能。



较宽的电压范围(2.0V~3.6V)



数字化的RSSI/LQI支持和强大的DMA功能。



具有电池监测和温度感测功能。



集成了14位模数转换的ADC



集成AES安全协处理器。



带有2个强大的支持几组协议的USART,以及1个符合IEEE 802.15.4 规范的MAC计时器,1个常规的16位计时器和28位计时器。


◆21个可编程的I/O引脚。P0、P1口是完全8位口,P2口只有5个可使用位。可以由软件设定一组SFR寄存器的位和字节,使这些引脚作为通常的I/O口或作为连接ADC、计时器、USART等部件的外围设备口使用。
2   DS1822结构特点与基本操作指令




DS1822是一种一线数字温度计。它用一根信号线来实现互连通信。其内部电路的核心是一个直接数字输出的温度传感器。它可以将-55125℃范围内的温度值按9位、10位、l1位、12位的分辨率进行量化,其最高分辨率为0.625℃,工作电压范围为3.0至5.5V。每一片DS1822都有一个唯一的且不可改写的ROM ID标识码(电子序列号),在实际应用中可以通过指令方便地进行查询。有关DS1822的主要操作指令如下:

Search ROM指令(代码为F0h):用以读取在线的DS1822的序列号。



Write Scratchpad指令(代码为4Eh):将温度报警上、下限值分别写入DS1822便笺式存储器的TH与TL字节中。



Convert T指令(代码为44h):启动DS1822做温度AD转换。



Read Scratchpad指令(代码为BEh):读取便笺式寄存器中的温度值。









3  终端硬件设计
CC2430芯片需很少的外围部件配合就能实现信号的收发功能。图二即为该温度检测终端的硬件设计。电路使用一个非平衡天线,连接非平衡变压器可使天线性能更好。电路中的非平衡变压器由电容C1和电感L1、L2、L3以及一个PCB微波传输线组成,整个结构满足RF输入/输出匹配电阻(50Ω)的要求。内部TR交换电路完成LNA PA之间的交换。R1和R2为偏置电阻,电阻R1主要用来为32MHz的晶振提供一个合适的工作电流。用132 MHz的石英谐振器(XTAL1)2个电容(C2和C3)构成一个32MHz的晶振电路。用1个32.768kHz的石英谐振器(XTAL2)2个电容(C4C5)构成一个32.768kHz的晶振电路。电压调节器为所有要求1.8V电压的引脚和内部电源供电,电容C6和C7是去耦电容,用来为电源滤波,以提高芯片工作的稳定性。温度传感器DS1822的数据输入/输出端DQ接P0_0引脚,该引脚具有4mA的输出驱动能力。
4  终端软件设计

软件部分需要解决的问题包括:温度及报警信号采集、ZigBee协议栈(Z-Stack)、ZigBee通信等。


温度及报警信号的采集可由CC2430芯片内部的MCU完成。


ZigBee协议栈运行在一个OSAL操作系统上。该操作系统基于任务调度机制,通过对任务的事件触发来实现任务调度。每个任务都包含若干个事件,每个事件都对应一个事件号。当一个事件产生时,对应任务的Event就被设置为相应的事件号,这样事件调度就会调用相应的任务处理程序。OSAL中的任务可以通过任务API将其添加到系统中,这样就可以实现多任务机制。OSAL任务调度流程如图三所示。





其中,NextActiveTask()是一个任务事件查询函数,返回任务的事件状态ActiveTask。软件设计时,可通过ActiveTask的值来决定是否需执行对应的任务函数ActiveTask()
ZigBee的通信或数据传输涉及到两种通信帧格式:关键值偶(KeyValue PairKVP)帧格式、消息(Message)帧格式。在发送数据量较大时选择Message方式;当只需要发送一个字节或几个字节的命令或数据时,可以使用KVP格式,该格式是ZigBee协议定义好的一种通信方式,操作比较简单,调用相应的信息发送函数即可实现两点间的通信。该终端设计中采用后一种通信帧格式,在充分利用开发工具 CC2430ZDK Pro内部现有的协议栈的情况下可以方便地完成通信部分的软件开发工作。
5   终端工作原理
在该终端系统设计中采用DMA向存储器内部写终端控制程序。正式使用时,终端控制程序被启动,终端首先完成其内部系统的初始化:即通信协议的初始化;各端口使能与初始化;确认温度传感器连接完好;向DS1822中TH/TL位写入最高/最低温度门限;读取该温度传感器的身份标志码(该标志码亦代表该终端设备的身份),并将该终端标志码传回管理中心,以示该终端处于就绪状态,并准备随时接受管理中心的启动指令。
启动后,终端由自己内部MCU(即CC2430内部的MCU)控制,定期向温度传感器DS1822发送温度转换指令,DS1822在完成温度转换之后会自动将温度值和TH/TL寄存器中的触发门限相比较,如比较结果表明测量温度高于TH或低于TL中的门限值,则设置报警标志位。随后,MCU在读取温度值的同时也读取报警标志位,并将这些数据信号传回管理中心。这样终端就完成了温度的检测与报警功能。
当然,该终端亦可以随时接受来自管理中心的查询指令。
由于该类终端每一片都有自己唯一的身份标志码,所以,一个管理中心可以管理多个这样的终端,并能准确区分它们。利用多个此类终端可对较大环境的温度实现实时、无线、多点的检测。
6 结束语
本文设计的温度检测终端,其外围设备简单、功耗低、传输无线化,该类终端可以用在诸如温室、仓库等场合下。
参考文献
[1] 张广红,刘林山,张宏伟.一线数字温度计DS1822的原理及应用[J].国外电子元器件:2005(2)44-47.
[2] 马永强,李静强,冯立营.基于ZigBee技术的射频芯片CC2430[J].单片机与嵌入式系统:2006(3)45-47.
[3] 凌志浩,周怡颁,郑丽国.
ZigBee无线通信技术及其应用研究[J].华东理工大学学报(自然科学版): 2006(6)801-805.





通信地址:昆明理工大学莲华校区6栋204室(650093)
联系电话:13629431528
联系人:  王 玮
E_mail:    behipi@sohu.com
返回列表