美国达拉斯半导体公司的数字温度传感器DS1820是世界上第一个支持“一线总线”接口的温度传感器,其中采用了ON-b oad专利技术。所有的传感元件和转换电路都集成在一个三极管形状的集成电路中。单总线独特而经济的特点使得用户可以方便地组建传感器网络,这为测量系统的构建引入了一个新的概念。现在,新一代DS18B20更小、更经济、更灵活。这样可以充分发挥“一线总线”的优势。目前DS18B20的批量购买价格只有10元左右。
在传统的模拟信号远程测温系统中,需要解决超前误差补偿、多点测量切换误差、放大电路零漂误差等技术问题,以达到较高的测量精度。另外,一般监测现场的电磁环境非常恶劣,各种干扰信号强,模拟温度信号容易受到干扰,导致测量误差,影响测量精度。因此,在温度测量系统中,抗干扰能力强的新型数字温度传感器是解决这些问题最有效的方法。新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、一线总线和网络化等优点,在实际应用中取得了良好的测温效果。
新的“一线器件”DS18B20体积更小,适用电压更宽,更经济。
DS18B20和DS1822的特性
DS18B20可以编程9 ~ 12位的分辨率,精度为0.5c,可以选择更小的封装模式和更宽的电压应用范围。分辨率设置和用户设置的报警温度存储在EEPROM中,断电后仍会保存。DS18B20的性能是新一代产品中最好的!性价比也是极好的!DS1822与DS18B20软件兼容,是DS18B20的简化版本。省去了存储用户自定义报警温度和分辨率参数的EEPROM,精度降低到2c,适用于对性能要求不高、成本控制严格的应用,是一款经济型产品。继早期的“一线总线”产品之后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822为电压、特性和封装提供了更多选择,因此我们可以构建自己的经济型温度测量系统。
DS18B20和DS1822“一线总线”数字温度传感器
和DS1820一样,DS18B20也支持“一线总线”接口。测量温度范围为-55C ~ 125C,在-10 ~ 85C范围内精度为0.5C,DS1822的精度为2C.现场温度以“一线总线”的数字化方式直接传输,大大提高了系统的抗干扰性能。适用于恶劣环境下的现场测温,如环境控制、设备或过程控制、测温消费电子等。与上一代产品不同的是,新产品支持3V ~ 5.5V的电压范围,使得系统设计更加灵活方便。新一代产品更便宜、更小巧。
一、 ds18b 20的主要特性
(1)电压范围更宽,电压范围:3.0~5.5V,寄生电源模式下可通过数据线供电。
(2)独特的单线接口模式。当DS18B20与微处理器相连时,只需要一根端口线就可以实现微处理器与DS18B20之间的双向通信。
(3)DS18B20支持多点组网功能,在仅有的三根线上可以并联多个DS18B20,实现组网多点测温。
(4)DS18B20在使用中不需要任何外围元件,所有的传感元件和转换电路都集成在一个形似三极管的集成电路中。
(5)温度范围为-55 ~+125,在-10 ~ 85时精度为0.5。
(6)可编程分辨率为9 ~ 12位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度温度测量。
(7)在9位分辨率下,温度最多可以在93.75ms内转换成数字,在12位分辨率下,温度最多可以在750ms内转换成数字,速度更快。
(8)测量结果直接输出数字温度信号,并串行传输
(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不会正常工作。
二、DS18B20外观和内部结构
DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非易失性温度报警触发器TH和TL、配置寄存器。DS18B20的外观和引脚排列如图1所示:
740)this . width=740"border=undefined"740)this . width=740"border=undefined"
图DS18B20的外形和引脚排列图
DS18B20引脚定义:
(1)DQ是数字信号输入/输出端;
(2)GND是权力基础;
(3)VDD是外部电源的输入端(以寄生电源连接方式接地)。
三、DS18B20工作原理
DS18B20的读写顺序和测温原理与DS1820相同,只是得到的温度值的位数随分辨率而变化,温度转换的延迟时间从2s降低到750ms。DS18B20温度测量的原理如图3所示。图中温度系数低的晶体振荡器的振荡频率受温度影响很小,所以用来产生一个固定频率的脉冲信号,送到计数器1。高温度系数晶体振荡器的振荡速率随温度变化明显,产生的信号作为计数器2的脉冲输入。1和温度寄存器预设为对应于-55的基值。计数器1减去低温度系数晶体振荡器产生的脉冲信号。当计数器1的预设值减少到0时,温度寄存器的值将增加1,计数器1的预设值将被重新载入。计数器1将再次开始计数低温度系数晶体振荡器产生的脉冲信号,以此类推,直到计数器2计数到0,温度寄存器的值的累加将停止。此时,温度寄存器中的值就是测量的温度。图3中的斜率累加器用于补偿和校正温度测量过程中的非线性,其输出用于校正计数器1的预设值。
图DS18B20温度测量原理框图
DS18B20有四个主要数据组件:
(1)光刻ROM中的64位序列号是出厂前光刻的,可以视为DS18B20的地址序列号。64位光刻ROM的排列是,前8位(28H)是产品类型号,后48位是DS18B20本身的序列号,后8位是前56位的循环冗余校验码(CRC=X8 X5 X4 1)。ROM的作用就是让每个DS18B20都不一样,这样就可以实现在一条总线上挂接多个DS18B20的目的。
(2)DS18B20中的温度传感器可以测量温度。以12位转换为例:以16位符号扩展二进制补码读数的形式提供,以0.0625/LSB的形式表示,其中S为符号位。
表DS18B20温度值格式表
这是经过12位转换后得到的12位数据,存储在18B20的两个8位RAM中。二进制中的前五位是符号位。如果测得的温度大于0,则这五位为0。只需将测量值乘以0.0625,即可得到实际温度。如果温度小于0,这五位就是1,测量值需要反过来加1,再乘以0.0625,才能得到实际温度。
比如125的数字输出是07D0H,25.0625的数字输出是0191H,-25.0625的数字输出是FF6FH,-55的数字输出是FC90H。
表2: DS18B20温度数据手册
(3)DS18B20温度传感器的存储器
DS18B20温度传感器的内部存储器包括一个暂存RAM和一个非易失性电可擦EEPRAM,其中存储高温和低温触发器TH、TL和结构寄存器。
(4)配置寄存器
该字节的每一位的含义如下:
表3:配置寄存器结构
TMR1R011111
低五位始终为“1”,TM为测试模式位,用于设置DS18B20是工作模式还是测试模式。DS18B20出厂时,该位设为0,因此用户不得更改。R1和R0用于设置分辨率,如下表所示:(DS18B20在出厂时设置为12位)
表4:温度分辨率设置表
R1R0分辨率温度最大转换时间
09位93.75毫秒
010位187.5毫秒
011位375
暂存存储器由9个字节组成,其分配如表5所示。发出温度转换命令时,转换后的温度值以双字节补码的形式存储在暂存存储器的第0和第1个字节中。单片机可以通过单线接口读取这个数据,低位在前,高位在后。数据格式如表1所示。对应温度计算:当符号位S=0时,二进制位直接转换为十进制;当S=1时,先把补码换成原码,再计算十进制值。手表?2是温度值对应的部分。第九个字节是冗余校验字节。
表5: DS18B20临时寄存器分布
寄存器内容字节地址
低温(LS字节)0
温度高位(毫秒字节)1
高温极限(TH)2
低温极限(TL)3
配置寄存器4
5预订
6预订
7预订
CRC校验值8
根据DS18B20的通信协议,主机(单片机)控制DS18B20完成温度转换,必须经过三个步骤:每次读写前,必须将DS18B20复位;复位成功后,发送ROM指令,最后发送RAM指令,这样DS18B20就可以按照预定的方式运行了。为了复位,主CPU需要下拉数据线500微秒,然后释放它。DS18B20接收信号时,等待约16 ~ 60微秒,然后发出一个已有的60 ~ 240微秒的低脉冲。当主CPU接收到该信号时,表示复位成功。
表6: ROM指令列表
指约定的代码功能。
读取ROM33H,读取DS1820温度传感器ROM中的代码(即64位地址)。
兼容的ROM55H发出这个命令,然后发出64位ROM代码,在单总线上访问这个代码对应的DS1820使其响应,为下一次读写这个DS1820做准备。
搜索ROM0FOH用于确定连接到同一总线的DS1820的数量,并识别64位ROM地址。准备操作每个设备。
跳过ROM0CCH,忽略64位ROM地址,直接向DS1820发送温度转换命令。适合单片机工作。
执行报警搜索命令0ECH后,只有温度超过设定值上限或下限的胶片才会响应。
表6: RAM指令列表
指约定的代码功能。
DS1820在温度转换44H后启动进行温度转换,12位转换最长时间为750ms (9位转换为93.75ms)。结果存储在内部9字节RAM中。
读取寄存器0BEH以读取内部RAM中9个字节的内容
写寄存器4EH发送一个3、4字节的命令,将上下温度数据写入内部RAM。该命令发出后,立即传输两个字节的数据。
复制寄存器48H将RAM中第3和第4字节的内容复制到EEPROM。
复位EEPROM0B8H,将EEPROM的内容恢复到RAM的第3和第4个字节。
读取电源模式0B4H读取DS1820的电源模式。寄生电源中,DS1820发送“0”,外部电源DS1820发送“1”。
五、DS18B20应用电路
DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用端口线路少等优点。以下是DS18B20在几种不同应用模式下的测温电路图:
[1]ds18b 20寄生电源供电模式电路图
如下图4所示,在寄生电源供电模式下,DS18B20从单线信号线吸取能量:当信号线DQ处于高电平时,将能量储存在内部电容中,当信号线处于低电平时,消耗电容上的电能工作,然后给寄生电源(电容)充电,直到高电平到来。
这种独特的寄生发电方式有三个好处:
1)对于远距离温度测量,不需要本地电源。
2)无需常规电源即可读取ROM。
3)电路更简洁,仅用一个I/O口测量温度。
为了使DS18B20进行准确的温度转换,I/O线必须在温度转换期间提供足够的能量。由于每个DS18B20在温度转换期间的工作电流达到1mA,当几个温度传感器挂在同一个I/O线上进行多点测温时,仅通过上拉4.7K的电阻无法提供足够的能量,会导致无法工作
注:站长在这个电路上做过实验。在实验中,当电源电压VCC降低时,测得的温度值高于实际温度,误差较大。当电源电压下降到4V时,温度误差多达3,应该是寄生电源吸收的能量不足造成的。所以站长建议你在开发测温系统的时候不要用这个电路。
图4
[2]ds18b 20寄生电源强上拉电源模式电路图
改进后的寄生电源供电模式如下图5所示。为了使DS18B20在动态转换周期中获得足够的电流供应,在进行温度转换或复制到E2存储器时,MOSFET可以直接将I/O线拉到VCC提供足够的电流。发出任何与复制到E2存储器或开始温度转换相关的指令后,I/O线必须在最多10S内转换到强上拉状态。在强上拉模式下,可以解决电流源不走的问题,因此也适合多点测温应用。缺点是强上拉切换需要多占用一条I/O口线。
图5
注意:在图4和图5的寄生电源模式下,DS18B20的VDD引脚必须接地。
[3]ds18b 20的外部电源模式
在外部供电模式下,DS18B20的工作电源通过VDD引脚连接。此时I/O线不需要强拉,不存在电源电流不足的问题,可以保证转换精度。同时,理论上可以在总线上连接任意数量的DS18B20传感器,组成多点测温系统。注意:外接电源模式下,DS18B20的GND引脚不能悬空,否则无法转换温度,读取的温度始终为85。
图6:采用外部电源模式的单点温度测量电路
图7:外部供电模式下多点温度测量电路图
外接电源是DS18B20的最佳工作模式,稳定可靠,抗干扰能力强,电路简单,因此可以开发出稳定可靠的多点温度监测系统。建议站长在开发中使用外接电源模式。毕竟,只有一个比寄生能量模式多的VCC引线。在外接电源模式下,DS18B20宽电源电压范围的优势可以得到充分发挥,即使在电源电压VCC降至3V时,仍能保证测温精度。
六、DS1820使用注意事项
虽然DS1820具有测温系统简单、测温精度高、连接方便、占用端口线路少等优点。在实际应用中还应注意以下问题:
1)需要相对复杂的软件来补偿小的硬件开销。由于DS1820与微处理器之间采用串行数据传输,读写DS1820时必须严格保证读写顺序,否则无法读取温度测量结果。使用PL/M、C等高级语言设计系统程序时,最好使用汇编语言实现DS1820的运算部分。
2)DS1820s的相关数据中没有提到DS1820s挂在单条母线上的数量,让人误以为可以挂任意数量的ds 1820s,但实际应用中并非如此。当单条总线上有8个以上的DS1820时,需要解决微处理器的总线驱动问题,这是设计多点测温系统时应该注意的。
3)连接DS1820的总线电缆长度有限。在测试中,当普通信号电缆传输长度超过50m时,读取的测温数据会出现错误。当总线电缆改为双绞线屏蔽电缆时,正常通信距离可达150m。当使用每米次数更多的双绞线屏蔽电缆时,正常通信距离进一步延长。这种情况主要是总线分布电容引起的信号波形失真造成的。因此,在用DS1820设计远程温度测量系统时,应充分考虑总线分布电容和阻抗匹配。
4)在DS1820的测温程序设计中,向DS1820发送温度转换命令后,程序a
标签:温度B20电源