无线温度采集系统
一、温度传感器DS18B20
DS18B20是DALLAS (达拉斯)公司生产的一款超小体积、超低硬件开销,抗干扰能力强、精度高、附加功能强的温度传感器。下面就为大家介绍一些详细的DS18B20中文资料。
DS18B20的样子:
1.1 DS18B20内部结构:
DS18B20主要由4部分组成:64位ROM 、温度传感器、非挥发的温度报警除法器TH 和TL 、配置寄存器。ROM 中的64位序列号是出厂前被光刻好的,它可以看做是DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。ROM 的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
图1 DS18B20结构图
图2 DS18B20引脚图
GND 为电源地,DQ 为数字信号输入/输出端,VDD 为外接供电电源输入端。
图3 DS18B20寄生电源工作方式图(电源从IO 口上获得)
注意:当温度高于100℃时,不能使用寄生电源,因为此时器件中较大的漏电流会使总线不能可靠检测高低电平,从而导致数据传输误码率的增大。
图4 DS18B20外接电源工作方式图
1.2 DS18B20温度传感器的优点:
1、采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
2、测量温度范围宽,测量精度高。DS18B20的测量范围为-55℃-125℃,在-10℃-85℃范围内,精度为±0.5℃。
3、在使用中不需要任何外围元件。
4、持多点组网功能。多个DS18B20可以并联在唯一的单线上,实现多点测温。
5、供电方式灵活。DS18B20可以通过内部寄生电路从数据线上获取电源,因此,当数据线上的时序满足一定的要求时,可以不接外部电源,从而使系统结构更简单,可靠性更高。
6、测量参数可配置。DS18B20的测量分辨率可通过程序设定为9-12位。
7、负压特性。电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
8、掉电保护功能。DS18B20内部含有EEPROM ,在系统掉电以后,它仍可保存分辨率及报警温度的设定值。
二、MSP430F1232单片机
MSP430单片机是TI 公司1996年开始推向市场的超低功耗微处理器,另外他还集成了很多模块功能,从而使得用一片MSP430 芯片可以完成多片芯片才能完成的功能,大大缩小了产品的体积与成本。如今,MSP430单片机已经用于各个领域,尤其是仪器仪表、监测、医疗器械以及汽车电子等领域。
2.1主要特点:1、低电源电压范围,1.8~3.6V ;2、超低功耗,拥有5种低功耗模式(以后会详细介绍) ;3、灵活的时钟使用模式;4、高速的运算能力,16位RISC 架构,125ns 指令周期;5、丰富的功能模块,这些功能模块包括:A :多通道10-14位AD 转换器;B :双路12位DA 转换器;C :比较器;D :液晶驱动器;E :电源电压检测;F :串行口USART(UART/SPI);G :硬件乘法器;H :看门狗定时器,多个16位、8位定时器(可进行捕获,比较,PWM 输出);I :DMA 控制器;6、FLASH 存储器,不需要额外的高电压就在运行种由程序控制写擦欧哦和段的擦除;7、MSP430芯片上包括JTAG 接口,仿真调试通过一个简单的JTAG 接口转换器就可以方便的实现如设置断点、单步执行、读写寄存器等调试;8、快速灵活的变成方式,可通过JTAG 和BSL 两种方式向CPU 内装在程序。
2.2 MSP430的复位信号有2种:上电复位信号(POR )、上电清除信号(PUC )。还有能够触发POR 和PUC 的信号:5种来在看门狗,1种来自复位管脚,1种来自写FLASH 键值出现错误所产生的信号。
POR信号只在2种情况下发生:(1)微处理上电;(2)RST/NMI管脚上产生低电平时系统复位。
PUC信号产生的条件:(1)POR 信号产生;(2)看门狗有效时,看门狗定时器溢出;(3)写看门狗定时器安全键值出现错误;(4)写FLASH 存储器安全键值出现错误。
POR 和PUC 两者的关系:POR 信号的产生会导致系统复位并产生PUC 信号。而PUC 信号不会引起POR 信号的产生。
无论是POR 信号还是PUC 信号触发的复位,都会使MSP430从地址0xFFFE 处读取复位中断向量,程序从中断向量所指的地址处开始执行。触发PUC 信号的条件中,除了POR 产生触发PUC 信号外,其他的豆科一通过读取相应的中断向量来判断是何种原因引起的PUC 信号,以便作出相应的处理。
系统复位(指POR )后的状态为:(1)RST/NMI管脚功能被设置为复位功能;
(2)所有I/O管脚被设置为输入;(3)外围模块被初始化,其寄存器值为相关手册上的默认值;(4)状态寄存器SR 复位;(5)看门狗激活,进入工作模式;
(6)程序计数器PC 载入0xFFFE 处的地址,微处理器从此地址开始执行程序。典型的复位电路有一下3种:
(1)在RST/NMI管脚上接100K 欧的上拉电阻。(2)在(1)的基础上再接0.1uf 的电容,电容的一端接地,可以使复位更加可靠。(3)再(2)的基础上,再在电阻上并接一个型号为IN4008的二极管,可以可靠的实现系统断电后立即上电。
2.3 MSP430单片机的时钟系统
MSP430根据型号的不同最多可以选择使用3个振荡器。我们可以根据需要选择合适的振荡频率,并可以在不需要时随时关闭振荡器,以节省功耗。这3个振荡器分别为:
(1)DCO 数控RC 振荡器。它在芯片内部,不用时可以关闭。DCO 的振荡频率会受周围环境温度和MSP430工作电压的影响,且同一型号的芯片所产生的频率也不相同。但DCO 的调节功能可以改善它的性能,他的调节分为以下3步:a :选择BCSCTL1.RSELx 确定时钟的标称频率;b :选择DCOCTL.DCOx 在标称频率基础上分段粗调;c :选择DCOCTL.MODx 的值进行细调。
(2)LFXT1 接低频振荡器。典型为接32768HZ 的时钟振荡器,此时振荡器不需要接负载电容。也可以接450KHZ~8MHZ的标准晶体振荡器,此时需要接负载电容。
(3)XT2 接450KHZ~8MHZ的标准晶体振荡器。此时需要接负载电容,不用时可以关闭。
低频振荡器主要用来降低能量消耗,如使用电池供电的系统,高频振荡器用来对事件做出快速反应或者供CPU 进行大量运算。
2.4 MSP430内部含有晶体振荡器失效监测电路,监测LFXT1(工作在高频模式)和XT2输出的时钟信号。当时钟信号丢失50us 时,监测电路捕捉到振荡器失效。如果MCLK 信号来自LFXT1或者XT2,那么MSP430自动把MCLK 的信号切换为DCO ,这样可以保证程序继续运行。但MSP430不对工作在低频模式的LFXT1进行监测。
5种低功耗模式分别为LPM0~LPM4(LOW POWER MODE),CPU 的活动状态称为AM(ACTVE MODE)模式。其中AM 耗电最大,LPM4耗电最省,仅为0.1uA 。另外工作电压对功耗的影响:电压越低功耗也越低。
系统PUC 复位后,MSP430进入AM 状态。在AM 状态,程序可以选择进入任何一种低功耗模式,然后在适当的条件下,由外围模块的中断使CPU 退出低功耗模式,返回AM 模式,再由AM 模式选择进入相应的低功耗模式,如此类推。
工作模式的选择由状态寄存器SR 中的SCG1、SCG0、OSCOFF 、CPUOFF 位控制。由于在CPU 的头文件中对CPU 内的各寄存器和模块的各种工作模式都作了详尽的定义,所以编程时尽可能的利用就是了。如:要进入低功耗模式0,可在程序中直接写:LPM0; 。进入低功耗模式4,可以写:LMP4; 就可以了。退出低功耗模式如下:
LPM0_EXIT; //退出低功耗模式0
LPM4_EXIT; //退出低功耗模式4
中断是MSP430微处理器的一大特色,有效地利用中断可以简化程序和提高执行效率。MSP430的几乎每个外围模块都能够产生中断,为MSP430针对事件(即外围模块产生的中断)进行的编程打下基础。MSP430在没有事件发生时进入低功耗模式,事件发生时,通过中断唤醒CPU ,事件处理完毕后,CPU 再次进入低功耗状态。由于CPU 的运算速度和退出低功耗的速度很快,所以在应用中,CPU 大部分时间都处于低功耗状态。
2.5 MSP430的中断分为3种:系统复位、不可屏蔽中断、可屏蔽中断。
1、系统复位的中断向量为0xFFFE 。
2、不可屏蔽中断的中断向量为0xFFFC 。响应不可屏蔽中断时,硬件自动将
OFIE 、NMIE 、ACCVIE 复位。软件首先判断中断源并复位中断标志,接着执行用户代码。退出中断之前需要置位OFIE 、NMIE 、ACCVIE ,以便能够再次响应中断。需要特别注意点:置位OFIE 、NMIE 、ACCVIE 后,必须立即退出中断相应程序,否则会再次触发中断,导致中断嵌套,从而导致堆栈溢出,致使程序执行结果的无法预料。
3、可屏蔽中断的中断来源于具有中断能力的外围模块,包括看门狗定时器工作在定时器模式时溢出产生的中断。每一个中断都可以被自己的中断控制位屏蔽,也可以由全局中断控制位屏蔽。
多个中断请求发生时,响应最高优先级中断。响应中断时,MSP430会将不可屏蔽中断控制位SR.GIE 复位。因此,一旦响应了中断,即使有优先级更高的可屏蔽中断出现,也不会中断当前正在响应的中断,去响应另外的中断。但SR.GIE 复位不影响不可屏蔽中断,所以仍可以接受不可屏蔽中断的中断请求。
中断响应的过程:(1)如果CPU 处于活动状态,则完成当前指令;(2)若CPU 处于低功耗状态,则退出低功耗状态;(3)将下一条指令的PC 值压入堆栈;
(4)将状态寄存器SR 压入堆栈;(5)若有多个中断请求,响应最高优先级中断;
(6)单中断源的中断请求标志位自动复位,多中断源的标志位不变,等待软件复位;(7)总中断允许位SR.GIE 复位。SR 状态寄存器中的CPUOFF 、OSCOFF 、SCG1、V 、N 、Z 、C 位复位;(8)相应的中断向量值装入PC 寄存器,程序从此地址开始执行。
中断返回的过程:(1)从堆栈中恢复PC 值,若响应中断前CPU 处于低功耗模式,则可屏蔽中断仍然恢复低功耗模式;(2)从堆栈中恢复PC 值,若响应中断前CPU 不处于低功耗模式,则从此地址继续执行程序。
三、无线收发模块MRF905
nRF905无线收发模块(PTR8000+),在Nordic VLSI 公司最新封装改版NRF905无线通信芯片基础上,特做优化设计, 工作于433MHz 全球开放ISM 频段免许可证使用,高性能低功耗,接收灵敏度高,抗干扰性强,集成度高,通信稳定,是目前最主流的无线收发应用。
3.1 模块性能及特点:
1、433MHz 开放ISM 频段免许可证使用
2、最高工作速率50kbps ,高效GFSK 调制,抗干扰能力强,特别适合工业控制场合
3、125 频道,满足多点通信和跳频通信需要
4、内置硬件CRC 检错和点对多点通信地址控制
5、 低功耗1.9 - 3.6V 工作,待机模式下状态仅为2.5uA
6、 收发模式切换时间
7、 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示) , 可直接接各种单片机使用,软件编程非常方便
8、TX Mode: 在+10dBm情况下,电流为30mA; RX Mode: 12.2mA
9、标准DIP 间距接口,便于嵌入式应用
10、本公司提供目前几大主流单片机(AVR ,MSP430,51,C8051F 等)的开发代码,客户只需要将代码移植,就能轻松应用本模块;同时配套基于目前主流单片机(AVR ,MSP430,51等)的无线开发系统,帮助更快实现无线应用,欢迎配套选购
11、RF905B 配备板PCB 载天线,直线可视通讯距离约100米,RF905SE 及RF905RD ,外置单鞭天线,直线可视通讯距离可达200-300米。如果配备高增益天线,则可以达到更远
3.2 接口电路管脚说明
说明:
1、VCC 脚接电压范围为 3.3V~3.6V之间,不能在这个区间之外,超过3.6V 将会烧毁模块。推荐电压3.3V 左右
2、除电源VCC 和接地端,其余脚都可以直接和普通的5V 单片机IO 口直接相连,无需电平转换。当然对3V 左右的单片机更加适用
3、硬件上没有SPI 的单片机,可以用普通单片机IO 口模拟SPI ,不需要单片机SPI 模块介入,只需添加代码模拟SPI 时序即可
4、13脚、14脚为接地脚, 需要和母板的逻辑地连接起来
5、排针间距为100mil, 标准DIP 插针,如果需要其他封装接口,比如密脚插针,或者其他形式的接口,可以联系我们定做
6、与51系列单片机P0口连接时候,需要加10K 的上拉电阻, 与其余口连接不需要
7、其他系列的单片机,如果是5V 的,请参考该系列单片机IO 口输出电流大小,如果超过10mA ,需要串联电阻分压,否则容易烧毁模块! 如果是3.3V 的,可以直接和RF905模块的IO 口线连接。
模块引脚和电气参数说明
RF905模块使用Nordic 公司的nRF905芯片开发而成。
RF905 单片无线收发器工作在433/868/915MHZ 的ISM 频段由一个完全集成的频率调制器一个带解调器的接收器一个功率放大器一个晶体震荡器和一个调节器组成ShockBurst 工作模式的特点是自动产生前导码 和 CRC 可以很容易通过SPI 接口进行编程配置电流消耗很低在发射功率为+10dBm 时发射电流为30mA 接收电流为12.5mA. 进入POWERDOWN 模式可以很容易实现节电.
3.3 RF905SE模块性能参考数据
RF905SE 模块工作电压与最大发射增益参考数据
3.4 工作方式
RF905一共有四种工作模式, 其中有两种活动RX/TX 模式和两种节电模式。 活动模式
ShockBurst RX ShockBurst TX
节电模式
掉电 和 SPI编程
STANDBY 和 SPI编程
nRF905 工作模式由TRX_CE、TX_EN、PWR_UP 的设置来设定。
四、控制器
4.1无线温度采集系统是一种基于射频技术的无线温度检测装置。本系统由传感器和接收机,以及显示芯片组成。传感器部分由数字温度传感器芯片18B20,单片机89S52,低功耗射频传输单元NRF905和天线等组成,传感器采用电源供电;接收机无线接收来自传感器的温度数据,经过处理、保存后在LCD1602上显示,所存储的温度数据可以通过串行口连接射频装置与接收端 进行交换。
4.2本系统的温度采集与显示,无线的传输与对比均由单片机89S52来控制完成。相比ATMEL 公司的89S51更实用,因他不但和8051指令、管脚完全兼容,而且其片内的4K 程序存储器是FLASH 工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,一般专为 ATMEL AT89xx 做的编程器均带有这些功能。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护了我们的劳动成果。
数据经过无线传输及接收后再被传输至接受端的89S52单片机中,然后再由单片机将数据转化为可以由液晶显示板1602显示的数据。
数据被传至1602液晶显示芯片,进行显示。
4.2 1602采用标准的16脚接口,其中:
第1脚:VSS 为地电源
第2脚:VDD 接5V 正电源
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K 的电位器调整对比度
第4脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS 和RW 共同为低电平时可以写入指令或者显示地址,当RS 为低电平RW 为高电平时可以读忙信号,当RS 为高电平RW 为低电平时可以写入数据。
第6脚:E 端为使能端,当E 端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。
第15脚:接+5V
第16脚:接GND
1602液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。
最后通过液晶显示屏和数码管的温度数据对比,判断是否可以进行无线的温度传输数据是否正确。
五、上位机程序设计
5.1LabVIEW 前面板
程序开始界面
选择上位机监控界面
历史数据查询界面
5.2 后面板
六、设计结论
本文设计了一个无线温度采集与发射系统,其中包含了温度数据信号调理电路、无线收发模块、单片机控制电路及单片机与PC 机接口数据传输电路五大部分。
这种电路具有实用性强、可靠性高、测量精度高等特点,可广泛应用于工业、医疗卫生、环境监测和日常生活等方面。
在老师指导和同学帮助下,我完成了设计要求。能实现本次方案的设计不止一种,它们各有利弊。本次设计有硬件电路,也有软件部分的功能实现。在实际应用中,可以根据工作环境、测量精度、器件价格等具体要求改变设计方案。
参考文献
[1]、《单片微型计算机原理及应用》,西安电子科技大学出版社,张毅坤主编; 参考文献
[2]李虹, 温秀梅, 高振天. 基于MSP430单片机和DS18B20的小型测温系统[J]微计算机信息,2006.7-2
[3] 吕跃刚, 高晟辅, 范俊峰, 王晏晏. 基于nRF905无线数传模块的设计及其实现
[J].微计算机信息,2006,35:27
[4]范逸之. 利用Visual Basic 实现串口并行通信技术[M].北京:清华大学出版社,2001.
[5]周广荣,夏志忠基.MSP430单片机和nRF905的无线通信系统。2008.04
[6]周静, 付浩. 基nRF905和C8051F 单片机的无线收发系统计.2010.03
[7] 郝妍娜等. 基于MCU 和nRF905的低功耗远距离无线传输系统2008.07
[8] 马中梅, 籍顺心, 张凯, 马岩. 单片机的C 语言应用程序设计. 北京航空航天
大学出版社,1999.
[9] 李华等. 系列单片机实用接口技术.北京航空航天大学出版社,2002
[10] 潘琢金等译.C8051F 单片机应用解析.航空航天大学出版社,2002
[11] 崔建华.Delphi 串口通信工程开发实例导航.人民邮电出版社,2O03
[12] 邬伟奇.STC89系列高性能单片机及其应用[J].微计算信息息,2005.4
[13] 樊昌信, 曹丽娜, 通信原理, 国防工业出版社[M], 2006.
[14] 王福昌, 熊兆飞, 黄本雄, 通信系统, 清华大学出版社[M], 2006.
[15] 李全利, 单片机原理及接口技术, 高等教育出版社[M], 2004.
[16] BuildWin Limited.AX1003 SPI接口使用介绍(edition 1.0)[M],2006.8
[17] Geir Langeland. Low- Cost Transceiver nRF401 in Wireless Design[J].
世界电子元器件, 2002,84(5):31-35
[18] Nordic VLSI.PRODUCT SPECIFICATION :Single chip 433/868/915 MHz
Transceive[R], 深圳市商斯达实业
[19] Lucena A MP, Mota J C, Cavalcante C. Detection of non-orthogonal
PAM signals with spectral overlapping [C]. In: 2005 IEEE 6th Workshop or Signal Processing Advances in Wireless Communications, 2005: 425-429.
[20
] Tan S, Chen S, Hanzo L. On multi-user EXIT chart analysis aided
turbo-detected MBER beamformer design [J]. IEEE Trans. Wireless Comm., 2008, 7 (1): 314–323.