嵌入式微型数字温度传感器DS18B20的应用
来源:煤矿安全(200603) 时间:
刘春富,庄严,邹德东,冯文彬
(煤炭科学研究总院抚顺分院,辽宁抚顺113122)
摘 要:主要阐述了内嵌于变送器内部的微型数字温度传感器DS18B20的功能特点
和使用要点,解决了对体积限制很严格的条件下变送器内部温度测量及内部传感
器的温度补偿问题,并且介绍了“一线”网关的硬件和软件设计以及抗干扰问
题。
关键词:传感器;一线总线;单片机;小体积
中图分类号: TD605 文献标识码:B 文章编号:1003-496X(2006)03-
0041-03
基金项目:煤炭科学研究总院青年创新基金(2004QN13)
温度是影响传感器性能的一个关键因素,温度补偿对于提高传感器的性能起
到关键作用,在研制新一代的传感器中,温度测量的难题以再一次摆在人们的面
前。在小于
何况还要放置一个非主要功能的温度传感器了。因此,如何在传感器极小的空间
内精确地测量、传输、处理温度信息是制约传感器性能和体积的关键,采用进口
高性能、小体积、数字化温度元件DS18B20可以很好地解决这个问题,另外,有些
传感器需要多点温度补偿,只需将多个DS18B20并联就可以解决这个问题,无需增
加硬件,电路非常简单。
1 DS18B20和“一线”总线
纵观国际上现有的温度传感器的变化,总的趋势是从模拟向数字转变,相应的体积
也在不断减小。在体积非常苛刻的传感器中使用高精度、数字输出型的温度传感
器DS18B20最为符合要求。与以往模拟温度信号的输出不同,DS18B20可通过数据
线供电,它将电源线和信号线复合在一起,仅使用一条口线;支持一线总线接口,既
数字温度输出通过“一线”总线协议,总线接口只需一个端口进行通讯,每个芯片
唯一编码,支持联网寻址,适合多点分布应用,接口电路非常简单,无需增加硬件。
这种一线总线的数字方式传输的另一个优点是大大提高了系统的抗干扰性,适合
于恶劣环境的现场温度测量。DS18B20测温范围为-55~+
围内,精度为±
以数字方式传输; DS18B20真正令人惊奇的是其μSOP封装,这种封装只有
非常适合用于对尺寸要求严格的传感器的狭窄空间中使用; 3~5.5V的电压范围,
使系统设计更灵活、方便;通过程序可以设定9~12位的分辨率,精度为±
量温度存储在E2PROM中,掉电后依然保存,性能价格比也非常出色!它内部主要由
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL以及内部寄存器四部分组成。
1.1 DS18B20的“一线”总线标识序号每一个DS18B20都有一个唯一的64位的
“一线”总线标识序号,存放在DS18B20的内部ROM(只读存储器)中。开始8位是产
品类型编码,接着的48位是每个器件的唯一序号,最后8位是前面56位的CRC码。
ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个
DS18B20的目的。
1.2 DS18B20的温度数据表示格式DS18B20中有用于存储测得温度值的2个8位寄
存器,它们存储的温度数据由2个字节组成,分别为LS Byte(低字节)和MS Byte(高
字节),MS Byte的高5位存放温度值的符号,如果温度为负(℃),则MS Byte的高5位
全为1,否则全为0。MS Byte的低3位用于存放温度值的补码,如果测得的温度大于
0,只要将测到的数值乘于0.062 5即可得到实际温度,如果温度小于0,测到的数值
需要取反加1再乘于0.062 5即可得到实际温度。
1.3 DS18B20温度传感器的存储器
DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦
除的E2PROM,后者存放温度高位存储器TH、温度低位存储器TL和结构寄存器。暂
存存储器包含了8个连续字节,前2个字节是测得的温度信息,第一个字节的内容是
温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易
失性拷贝,第五个字节是结构寄存器的易失性拷贝。第六、七、八个字节用于内
部计算。
1.4 DS18B20使用中注意事项
(1)根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过3个步骤:每
一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送
RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500μ
s ,然后释放。DS18B20收到信号后等待16~60μs左右,后发出60~240μs的存在低脉
冲,主CPU收到此信号表示复位成功。较小的硬件开销需要相对复杂的软件进行补
偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编
程时,必须严格的保证读写时序,否则将无法读取测温结果。
(2)在DS18B20的单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个
DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解
决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。
(3)连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输
长度超过
缆时,正常通讯距离可达
时,正常通讯距离进一步加长,这种情况主要是由总线分布电容使信号波形产生畸
变造成的,因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电
容和阻抗匹配问题。
(4)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待
DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将
没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也
要给予一定的重视。
1.5 DS18B20的供电方式
DS18B20使用数据总线供电方式,既电源线和数据总线共用一根导线,所有接口只
需2条线,接线简单。
1.6 多路DS18B20的同步测量多个DS18B20进行同步测量即“一线”总线挂接多
个节点的连接方法如图1所示。
http://www.cwestme.com/news/shownews.asp?id=27209
每一片DS18B20内部ROM中都存在唯一的48位序列号,在出厂前已写入片内ROM
中,当主机需要对众多在线DS18B20中的某一个进行操作时,首先发出匹配ROM命
令,紧接着主机提供64位序列号,之后再针对该DS18B20进行操作,但是DS18B20的
命令中允许对所有在线节点进行统一操作,利用的是跳过ROM命令。而所谓跳过
ROM命令之后的操作是面对总线上所有DS18B20的,命令序列先跳过ROM,启动总线
上所有DS18B20进行温度测量,然后通过匹配ROM再逐一地读回每个DS18B20的温度
数据。这种方式使采集的温度数据具有很好的同步性,而且节省时间。
2 “一线”网关的硬件设计
为了收集温度传感器DS18B20采集的温度信息,需要控制挂接在“一线”总线网络
上的DS18B20,所以需要研制“一线”网关。“一线”网关的主要功能就是面对试
验人员,把“一线”总线上的DS18B20的信息转换成异步串口232接口中的信息,它
是两种类型网络之间的网关,由于采用单一总线,因此叫做“一线”网关。“一
线”网关由一个功能强大的8位单片机组合各种外围芯片构成,各模块之间的关系
如图2所示,温度传感器DS18B20测量
http://www.cwestme.com/news/shownews.asp?id=27209
图2 “一线”网关硬件原理模块图
的结果存入单片机,单片机把温度传感器DS18B20测量的结果存入集成电路
E2PROM,串行电平转换接口集成电路MAX232把单片机电平转换为适合与PC机通讯
的电平,以上集成电路与单片机的通讯均为双向通讯。
3 “一线”网关的软件设计特点
(1) 由于“一线”总线本身通讯速率低,在温度采集节点较多的情况下,如果逐个
采集每个节点数据,程序复杂且采集速度很慢,一些采集速度要求较高的应用
对这种情况是不可容忍的,DS18B20的总线可以同步所有温度采集节点的采集
过程,即在“一线”总线上发送同步采集指令,使系统对各个温度测量点的温
度数据采集完成后再把数据存入E2PROM中,这样就可以避免“一线”总线本身
通讯速率低的难题,而且也不用关心总线上挂接传感器的具体数量,程序也比
较简单,流程图如图3所示。
图3 “一线”网关的同步温度数据采集图
(2)系统自带的E2PROM是掉电数据保存的可靠方式,系统利用E2PROM保存采集
节点的历史温度数据,允许脱机运行,E2PROM中8 kbyte的存储空量和快速的区域
写入方式足以实时保存现场采集的测量数据和相应的时间序列信息,否则,当系统
掉电后所有历史温度数据都将丢失。
(3)联机运行时保存的历史数据通过串口上传上位机。在一般的应用方式下,
系统通过串口连接现场的PC机或其它上位设备,通过通讯接收上位机的指令,并进
行数据采集、保存和传输。这种工作方式即“一线”总线温度传感器网关的原始
设计理念。由于系统可以保存脱机时采集的温度数据,因此可以在联机工作时接
收命令,通过串口把保存在E2PROM中的历史数据上传至上位机,方便了数据的转
移、备份和分析,上位机可以是最普通的PC机,也可以是具有串行232接口的嵌入
式系统,注意:联机运行时不采集数据,已经采集的数据通过串口上传上位机。
4 抗干扰
(1)电源线加粗,合理走线、接地,三总线分开。减少互感振荡,由于系统需要和外
部设备进行串口通讯,而232串口的电气接口需要地线作为参考电平,因此必须使
用完全光耦隔离的方法来提高抗干扰能力。光耦器件应该选择高速类型。
(2)CPU、RAM、ROM等主芯片,VCC和GND间接电解电容及瓷片电容:去掉高、低频干
扰脉冲。
(3)独立系统结构,减少接插件与连线:提高可靠性,减少故障率。
(4)在外部供电的输入接口应加入二极管桥依据电路,防止在一些特殊条件下出现
的电流逆向问题,同时也使得内外电路的地线隔离,起到抗干扰作用。
http://www.cwestme.com/news/shownews.asp?id=27209
(5)加复位电压检测电路。仿止复位不充分,CPU就工作,尤其有E2PROM的器件,复
位不充分会改变E2PROM的内容。
(6)单片机空单元写上00H,最后放跳转指令到ORG 0000H,因干扰程序走飞,可以抓
回去。
5 系统小体积设计
设备的小型化是每一个项目所追求的目标之一。由于简单的串行I
接多种不同功能的芯片,为了使得设备便于携带、使用方便,在系统设计时应使用
I
速度虽然很快,但是却占用大量PCB面积的并口方式。这样,整个系统不仅获得了
很小的体积,系统的电路也简单明了。
6 结论
本文阐述的数字温度传感器体积更小,测量数据直接以数字形式传输,适用电压更
宽、更经济,可以很方便的嵌入传感器内部,对传感器的特性进行温度补偿,电路
简单,价格低廉,独特的“一线”总线方式,使用户可轻松地组建传感器网络,为测
量系统的构建引入了全新概念。
作者简介:刘春富(1965-),男,高级工程师,工学硕士,1987年毕业于黑龙江矿
业学院工业电气自动化专业,现在煤科总院抚顺分院从事煤矿安全仪器仪表的研
发及生产工作。