基于CC2510的星形无线网络温度采集系统设计
2009-09-26闫传平王斌吴昊黄家鹏
闫传平 王 斌 吴 昊 黄家鹏
[摘要]设计以CC2510无线单片机构架的星状拓扑无线网络为网络基础,以多个DS18B20数字温度传感器终端节点构成的无线温度采集系统。简要介绍CC2510、DS18B20的功能特点,并详细介绍温度采集系统的软硬件设计。该系统有多个终端节点、一个数据中心和一台电脑组成,单独工作的终端节点能够连续多点测温,并且通过显示电路显示显示,整个系统,通过传感器的编号对应相应的位置实现区域的温度的实时自动监控,且能够通过串口连接到电脑进行操作,具有高精度,自动化,多功能,高度的可扩展性以及低功耗等特点。
[关键词]星状拓扑 无线 CC2510 DS18B20 低功耗
中图分类号:TN99文献标识码:A文章编号:1671-7597(2009)0920053-02
一、引言
无线温度采集网络系统多个网络终端节点组成,每个终端节点由CC2510无线单片机[1]外接DS18B20一线式数字温度传感器和一个3位八段数码管显示电路组成。节点由电池供电,并且可以通过外部中断触发,使其工作于低功耗模式。每一个DSl8B20包括一个唯一的64位长的序号,通过对序列号与地址的对应关系,就可以获取某地的实时的温度情况,最后由一个终结点传输到电脑,实现区域的温度实时监控。节点可以配合终结点使用,也可以单独使用,用于测试该点的温度。
二、系统硬件电路
系统硬件由连接到多个数据终端的星形无线传感器网络合一个数据中心节点[2,3]以及电脑终端构成。每个数据终端则包括了天线、显示电路等。
(一)整体框图
无线温度采集网络系统的结构如图1,主要把包括射频天线、键控开关、显示模块、DS18B20温度传感器、CC2510终结点以及终端的串口通信程序。图中所画的基本模型为两个终端节点和一个数据中心节点与电脑的通信,无线信道采用星形拓扑结构,工作于2.4GHz免费频段。
(二)单片机
系统选用CC2510无线单片机。其连接图见图2。CC2510是由Chipcon公司开发的内嵌51内核的单片可编程UHF收发器芯片,它还内嵌32kB的Flash存储器、4kB的SRAM,以及8通道8-14bitA/D转换器、1个16位定时器和3个8位定时器、2个UART/SPI、RTC、看门狗电路、DES编码和21个通用I/O。芯片的高度集成结构使其具有高速度、高灵敏度性、低功耗、低成本、集成单片机和位判决、同步、频率灵活性等特点。本电路采用9V电池供电,以方便外围芯片的供电。再有LM1117转换成3.3V和5V的直流电源。并带有外设接口,可以方便的进行硬件的升级,以及添加多种传感器。
(三)温度传感器
本系统采用了一线式数字温度传感器DS18B20。与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式,可以分别在93.75ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。它在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。它有独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器DS18B20的双向通讯。在使用中不需要任何外围元件。可用数据线供电,电压范围:+3.0V~+5.5V。测温范围:-55℃~+125℃。通过编程可实现9~12位的数字读数方式。用户可自设定非易失性的报警上下限值。支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
(四)显示电路
八段数码管和键控开关是进行人机交互的重要手段。八段数码管的功耗很低,比较适合电池供电的而应用场合。通过它们,数据可以显示无线单片机的工作状态,并且使得每个终端节点可以在当地即可读取温度值,增加了数据终端节点的功能。由于CC2510的GPIO口较少,我们只采用了两个键控开关,直接与GPIO口相连,通过查询方式获得数据。
(五)系统终结点
系统数据中心节点由一个基本的终端节点电路和串口电平转换电路构成。数据中心节点直接与电脑串口相连,通过电脑的串口可以方便的接收来自于各个节点的温度数据。本系统选择波特率为57600bps,通过特定的帧格式识别数据。将温度与传感器编号一一对应,通过查找事先存储在电脑上的地名与传感器编号的匹配,更新各地的温度情况,然后在图中显示出来。对于超过临界值的温度地点,给予红色警报提示,提醒管理员做适当操作。
三、系统软件设计
整个系统软件设计分为三部分,第一部分是单片机的软件设计主要由温度采集、低功耗设计、LED显示、无线数据发送组成。第二部分由低功耗设计、无线数据接收和串口通信模块组成。第三部分是电脑的串口编程,主要完成数据的识别,传感器编码与地址的匹配,以及温度信号的处理、存储等功能。
(一)温度采集
该系统采用DS18B20温度传感器,可提供最高12位数据,转换精度可达0.0625℃,测温范围-55℃~+125℃。每次测温前,必须先对其进行初始化,由于是一线式的,因此要求非常精确的时延。温度的读写是按位读取的。本系统选择12为数据。首先编写初始化程序,其次是按位写子程序与按位读程序。然后通过调用按位写程序写入控制字,开始测试温度,并将结果存入寄存器,再调用按位读程序,逐个读出温度。最后通过把个个位的数据组成长整形的数据,以便一次性转换为浮点型数据,方便读出十位,个位以及十分位的数据,一边传送。
值得注意的是,一定要计算时每个延时程序的精确的调用时间,包括程序调用自身所用的时间,最好每个时延都用示波器测试一下,看是否符合要求。
(二)LED显示
LED显示部分主要是显示其编码号和实时温度。要实现LED的正常显示至少需要下面几个重要步骤:选择LED驱动模式、制定相应驱动模式下LED的BCD码显示存储表、设置LED时钟、设置通用I/O端口属性和更新LED显示缓存区。本系统选择静态LED驱动模式,制定了0~F的BCD码显示存储表,采用1024Hz的时钟频率,设置通用I/O口属性为输出,根据不同功能实时更新LED显示缓存区的内容。
(三)无线收发
CC2510使用的2.4GHz的免费无线网络资源,不会给系统带来额外的开销。通过调用射频初始化程序,设定频率,然后向无线发送数据寄存器按位写入数据,逐位发送数据。接收端则通过判断接收寄存器指示为判断是否有数据写入,如有则读出,并将指示位置位。这样就完成了数据的逐为传输。
四、结束语
本网络系统实现了温度的远程无线实时监控,并且可以在节点处显示实时温度,在同类产品中还从未出现过类似功能。用星形网络拓扑,使组网更加方便,结构简单,线路清晰。同时,本系统工作稳定,精度高,并且方便扩展,通过外接不同的扩展板就可以实现多种的物理参数的监控,可用于温室大棚温度湿度监控以及多种工业控制,且成本低廉。通过无线网络使节点设置更加方便灵活,且带有节能模式[4],可低功耗运行,延长了一次性的使用时间。且CC2510有多种组网方式,灵活方便,可随时增加或者减少节点而对系统无任何影响,可实现动态的节点分布测量。
参考文献:
[1]李文仲、段朝玉等,cc1110/cc2510无线单片机和无线自组织网络入门与实践[M].北京航空航天大学出版社,2008.
[2]基于CC2431的无线传感器网络节点的设计[J].中国期刊全文数据库,2008.
[3]无线传感器网络中目标定位的节点选择策略[J].中国期刊全文数据库,2009.
[4]无线传感器网络SMAC协议的节能改进[J].中国期刊全文数据库,2008.
作者简介:
闫传平(1987-),男,汉族,2006级本科生,主要研究方向:现代通信技术。