基于CC2430和DS18B20的无线测温系统设计

发布者:森绿企鹅最新更新时间:2012-01-16 关键字:CC2430  DS18B20  无线测温系统 手机看文章 扫描二维码
随时随地手机看文章

  目前,很多场合的测温系统采用的还是有线测温设备,由温度传感器、分线器、测温机和监控机等组成,各部件之间采用电缆连接进行数据传输。这种系统布线复杂、维护困难、成本高,可采用无线方案解决这些问题。无线测温系统是一种集温度信号采集、大容量存储、无线射频发送、LED(或LCD)动态显示、控制与通信等功能于一体的新型系统。

  本文从低功耗、小体积、使用简单等方面考虑,基于射频SoC CC2430和数字温度传感器DS18B20设计了一个无线测温系统,整个系统由多个无线节点和1个基站组成。无线节点工作在各个测温地点,进行温度数据采集和无线发送。基站与多个节点进行无线通信,并通过数码管将数据显示出来,同时可以通过RS-232串口将数据发送给PC。

CC2430简介


  CC2430是TI/ChipconAs公司最新推出的符合2.4G IEEE802.15.4标准的射频收发器.利用此芯片开发的无线通信设备支持数据传输率高达250 kbit/s可以实现多点对多点的快速组网。CC2430的主要性能参数如下:

   (1)工作频带范围:2.400~2.483 5 GHz; 

  (2)采用IEEE802.15.4规范要求的直接序列扩频方式;

  (3)数据速率达250 kbit/s码片速率达2 MChip/s;

  (4)采用o-QPSK调制方式;

  (5)超低电流消耗(RX:19.7mA,TX:17.4mA)高接收灵敏度(-99 dBm);

  (6)抗邻频道干扰能力强(39 dB);

  (7)内部集成有VCO、LNA、PA以及电源整流器 采用低电压供电(2.1~3.6V);

  (8)输出功率编程可控;

  (9)IEEE802.15.4 MAC层硬件可支持自动帧格式生成、同步插入与检测、16bit CRC校验、电源检测、完全自动MAC层安全保护(CTR,CBC-MAC,CCM);

  (10)与控制微处理器的接口配置容易(4总线SPI接口);

  (11)采用QLP-48封装,外形尺寸只有7×7mm。CC2430只需要极少的外围元器件,其典型应用电路如图2所示。它的外围电路包括晶振时钟电路、射频输入/输出匹配电路和微控制器接口电路3个部分。
                     

  芯片本振信号既可由外部有源晶体提供,有晶振1为基于CC2430芯片的ZigBee在智能交通系统中的应用 32 MHz, 晶振2为32.768 kHz。 射频输入/输出匹配电路主要用来匹配芯片的输入输出阻抗,使其输入输出阻抗为60 Ω,同时为芯片内部的PA及LNA提供直流偏置。
CC2430可以通过4线SPI总线(SI、SO、SCLK、CSn)设置芯片的工作模式 并实现读/写缓存数据 读/写状态寄存器等。通过控制FIFO和FIFOP管脚接口的状态可设置发射/接收缓存器。注意:在SPI总接口上进行的地址和数据传输大多是MSB优先的。

  CC2420片内有33个16比特状态设置寄存器,在每个寄存器的读/写周期中,SI总线上共有24比特数据,分别为:1比特RAM/寄存器选择位(0:寄存器,1:RAM),1比特读/写控制位(0:写,1:读),6比特地址选择位、16比特数据位。在数据传输过程中CSn必须始终保持低电平。另外,通过CCA管脚状态的设置可以控制清除通道估计,通过SFD管脚状态的设置可以控制时钟/定时信息的输入。这些接口必须与微处理器的相应管脚相连来实现系统射频功能的控制与管理。CC2430先将要传输的数据流进行变换,每个字节被分组为两个符号,每个符号包括4个比特LSB优先传输。每个被分组的符号用32码片的伪随机序列表示,共有16个不同的32码片伪随机序列。经过DSSS扩频变换后,码片速率达到2Mchips/s,此码片序列再经过O-QPSK调制,每个码片被调制为半个周期的正弦波。码片流通过I/Q通道交替传输,两通道延时为半个码片周期。

  CC2430为IEEE802.15.4的数据帧格式提供硬件支持。其MAC层的帧格式为 头帧+数据帧+校验帧;PHY层的帧格式为,同步帧+PHY头帧+MAC帧,帧头序列的长度可以通过寄存器的设置来改变。可以采用16位CRC校验来提高数据传输的可靠性。发送或接收的数据帧被送入RAM中的128字节的缓存区进行相应的帧打包和拆包操作。

DS18B20概述

  DS18B20是美国DALLAS公司的“单总线”数字温度传感器,它具有结构简单、体积小、功耗低、无须外接元件、用户可自行设定预警上下限温度等特点。“单总线”结构独特而且经济,采用一根I/O数据线既可供电又可传输数据,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

  3引脚封装的DS18B20形如一只三极管,其内部结构如图2所示。主要由四部分组成:64位光刻ROM、温度传感器、非易失性的温度报警触发器和配置寄存器。此外,还有电源检测模块、存储和控制逻辑器、中间结果缓存器和8位循环冗余校验码(CRC)发生器。

  ROM中的64位序列号是出厂前被光刻好的,可以看作该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20内部的RAM由9个字节的高速缓存器和E2PROM组成,数据先写入高速缓存器,经校验后再传送给E2PROM。通过DS18B20功能命令对RAM进行操作。

  DS18B20的测量温度范围为-55℃~125℃,在-10℃~85℃范围内,精度为0.5℃,可编程设定9~12位的分辨率,默认值为12位,转换12位温度信号所需时间为750ms(最大)。检测温度由2字节组成,字节1的高5位S代表符号位,字节0的低4位是小数部分,中间7位是整数部分。

无线测温系统组成及硬件设计

  无线测温系统主要可分为基站和无线节点两大部分。每套系统一般只有1个基站,包括微控制器及射频收发单元、显示单元、报警单元、电源模块及接口单元,主要硬件连接。

  接口单元是为了方便射频模块和PC的通信,通常可采用RS-232接口、USB接口、以太网接口等,其中,RS-232接口是目前PC与通信工业中应用最广泛的一种串行接口。本文使用RS-232接口,采用MAX3221芯片实现RS-232电平与TTL电平之间的转换。MAX3221是MAXIM公司生产的一种RS-232接口芯片,使用单一电源电压供电,电源电压在3.0~5.5V范围内都可以正常工作。

  基站接收到数据后,将温度信息通过数码管(或液晶显示屏)显示出来,根据需要,还可以通过RS-232接口与PC进行通信。为简化系统,本设计直接用CC2430的I0口驱动数码管,但是I0口不具备数据保持能力,需要外接一定大小的上拉电阻,显示方法采用扫描法。采用一个蜂鸣器作为报警装置,当温度超过设定范围时,鸣叫报警。射频天线采用单鞭天线。

  无线节点分布在温度采集点,由数字温度传感器DS18B20、射频CC2430、天线及电池组成。在实际应用中,可以有多个无线节点,它们与基站之间通过射频进行无线通信。DS18B20有寄生电源和外部电源两种供电方式,本文采用外部供电方式,VDD引脚直接连接外部电源。DS18B20在空闲时,其D1脚由上拉电阻置为高电平。无线节点的天线根据实际需要可选用单鞭天线,陶瓷天线或PCB印制天线


基于CC2430和DS18B20的无线测温系统工作原理及ZigBee网络

  在系统中的工作架构无线温度信号控制系统的管理模式就是集中管理,分级控制,充分利用现有设施,按实际现状先进行单个用户的自适应协调,然后是主干线的协调控制,实现分布式协调的分级控制,最终达到区域控制的系统最优。  
    
  基于CC2430和DS18B20的无线测温的系统,系统具有以下几个特点:

   (1)整个控制系统的各个模块具有高集成度、高可靠性和低功耗、低成本、体积小等优点,维护保养十分方便,只需更换相应节点即可,避免了传统控制线路本身带来许多麻烦,从而大大减少了设备购置成本,建设安装成本和系统维护成本。

  (2)卓越的物理性能,整个网络所使用的无线频率是国际通用的免费频段(2.4~2.48 GHz ISM),传输的方式是抗干扰能力强的直序扩频方式(DSSS),特别适合在干扰较大的环境中使用。

  (3)网络的自组织、自愈能力强,ZigBee的自组织功能:无需人工干预,网络节点能够感知其他节点的存在,并确定连接关系,组成结构化的网络;ZigBee自愈功能:增加或者删除一个节点,节点位置发生变动,节点发生故障等,网络都能够自我修复,并对网络拓扑结构进行相应地调整,无需人工干预,保证整个系统仍然能正常工作。

结束语

  通过系统的设计和对于CC2430芯片的使用,感觉到ZigBee无线温度传感网络应用前景非常广阔,CC2430芯片是真正意义上的SOC芯片,使得我们开发ZigBee无线传感网络会更加方便,产品开发周期会大大缩短。

关键字:CC2430  DS18B20  无线测温系统 引用地址:基于CC2430和DS18B20的无线测温系统设计

上一篇:仪表系统的嵌入式控制器的开发研究
下一篇:基于AVR USB接口的温度测量系统下位机设计

推荐阅读最新更新时间:2024-03-30 22:22

51单片机实验板DS18B20测温程序
/*********************************************** ** 实验名:51单片机实验板温度测量(DS18B20) ** 创建人: 谢军洋 ** 描 述:P3.7口输入,输出数据。 **------------------------------------------------------------------ ** CPU:MCS-51 ** 语言:汇编 ** Fosc=12M 此次试验的仿真图 ***************************************************/ GE_BIT EQU 30H SHI_BIT EQU 31H BAI_BI
[单片机]
51单片机实验板<font color='red'>DS18B20</font><font color='red'>测温</font>程序
DS18B20的驱动程序
/******************************************************************** 程序名称:DS18B20演示实验 时钟频率:内部RC 8M 芯片 :DS18B20 引脚 :**PA0 DATA** **PD0--PD7接数码管扫描端1--8** **PC0--PC7接数码管扫描端。.A--G** ********************************************************************/ #include iom16v.h #include macros.h #define DQ_H PORTA|=BIT
[单片机]
AVR16 AVR128的DS18B20温度传感器protues仿真与源码
单片机温度计设计仿真原理图如下 有AVR16芯片和AVR128芯片2个版本 单片机源程序如下: /*------------------------------- 作者:小新 email:xuxing1261207@126.com --------------------------------*/ #include iom16v.h #include macros.h #include lcd.h #include ds18b20.h unsigned int temp1=20,temp2=35; void main(void) { unsigned char i=0; DDRD=0xff;
[单片机]
AVR16 AVR128的<font color='red'>DS18B20</font>温度传感器protues仿真与源码
PIC16F877A例程---DS18B20
#include pic.h #include pic1687x.h __CONFIG(0x3F32); //芯片配置字 #define LCDRS RB2 #define LCDRW RB1 #define LCDE RB0 #define LCDDATA PORTD #define DS18B20 RE0 #define TRIS_B20 TRISE0 void LCD1602_INIT(void); void WRITE_LCD_CMD (char cmd); void WRITE_LCD_DATA (char data);
[单片机]
PIC+DS18B20+LCD设计及程序过程中的问题
1、mcu:pic18f25k22 2、由于ds18b20的程序前面文章已经写过,所以暂不概述; 3、液晶显示采用sms太阳人的液晶显示屏; 4、实物图如下: 5、使用xc编译完成,调试过程中,当使用static bit 的时候不能进行函数传参,一直很头疼,最后使用强制类型转换;给变量定义绝对地址使用@这个特殊符号,具体写法:unsigned char a @ 0x40;当然这只是个简单的。在定义bit类型时,注意bit的类型只有全局和静态两种 否则会报错 6、使用pickit3烧写的程序,使用时注意打开项目属性,把power的对钩打上 电源3.3-5.5v自己订喽,其实都可以 当然越低越好, 7、程序就不留了 73
[单片机]
PIC+DS18B20+LCD设计及程序过程中的问题
电子温度报警器设计制作总结
制作方案: 本温度计采用一种智能温度传感器DS18B20作为检测元件。该元件测温范围为-55~125度,最高分辨率为0.0625度,完全满足本设计中分辨率为0.1度的要求!考虑到下载程序的方便和一些条件的限制我选了STC89C52RC这款单片机作为控制器!显示电路方面,我选择四位共阳LED数码管作为显示电路! 而鉴于单片机驱动力有限,所以P0,P2口均加一上拉排阻以提升其驱动力!P0,P2口均有一锁存器74HC573以使数据控制方便! 报警方面,当温度超过警界最高温度时,响报警音乐,红色发光二极管闪烁;当温度低于最低温度报警时,响报警音乐,黄色发光二级管闪烁!因为所选单片机可擦写次数达万次以上,为使电路的简化,其温度报警值已
[单片机]
电子温度报警器设计制作总结
电池温度智能监测系统设计与实现
  蓄电池作为一种供电方便、安全可靠的直流电源,在电力、通信、军事等领域中得到了广泛的应用。温度是蓄电池的一个重要参数,它可以间接地反映电池的性能状况,并且根据此温度参数可以对电池进行智能化管理,以延长电池的寿命。在蓄电池组充放电维护及工作工程中,电池内部产生的热量会引起电池的温度发生变化,尤其是蓄电池过充电、电池内部电解液发生异常变化等原因均可能造成电池温度过高而造成电池损坏。   传统上用人工定时测量的方法,劳动强度大、测量精度差,工作环境恶劣,尤其是不能及时发现异常单体电池容易导致单体电池损坏,甚至导致整组电池故障或损坏; 基于总线结构的有线多点温度监测系统,能够实现温度的智能化测量,但存在布线繁多复杂、维护扩展困难等不足
[测试测量]
电池温度智能监测<font color='red'>系统</font>设计与实现
数字温度传感器DS18B20在卫星电源系统中的应用
0 引言 卫星电源系统主要用来为整个卫星的正常运行提供稳定的电源。它是卫星电能产生、储存、变换、调节、传输分配和管理的重要分系统。其基本功能是通过物理和化学过程将太阳的光能、核能或化学能转化为电能,并根据需要对电能进行存储、调节和变换,然后向卫星其它各分系统不间断供电。我国的卫星大都采用太阳能/蓄电池供电系统。蓄电池充电终压控制采用电压-温度补偿法,即V-T曲线控制。蓄电池温度传感器传统上一般选用热电耦或铂电阻。模拟电路硬件控制是温度补偿的常用方法,已经在我国各种型号的卫星上获得成功应用。 为加快我国卫星电源分系统的数字化设计。充分体现数字电路体积小、重量轻、功耗低、适应性强和可靠性高等优点,提高电源分系统的电能重量比,本文以
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved