1、xx大学本科毕业论文(设计)DS18B20数字温度计设计 xx大学工程技术学院,xx xx摘要:本文介绍了利用美国DALLAS半导体公司最新推出的一种改进型智能温度传感DS18B20和ATMEL公司生产的AT89C2051,结合四位共阳型LED,采用动态显示的方法实现室内温度的检测和读数。本文设计的数字温度计基于DS18B20单线总线结构,与单片机的接口电路简单无须外部电路,同时由于DS18B20能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式,因而使得整体设计思路简单,可以实现-55+125C的温度测量,精度误差在0.1C以内。本文给出了具体的硬件电路和软件设
2、计。关键词:单片机 DS18B20 智能温度传感器DS18B20 DIGITAL THERMOMETER DESIGNxxxxxCollege of Engineering and Technology, Southwest University, Chongqing 400716, ChinaAbstract:This paper presents the method for a digital thermometer design made of DS18B20,a newly-product of advaced Programmable Resolution 1-Wire Digit
3、al Thermometer(DALLAS),and AT89C2051 (ATMEL).This design adopts dynamic dispay method with four LED to measure room temperature.This digital thermometer is based on the one wire configuration of DS18B20, and no external circuit is required.Since the measured temperature can be directly read by DS18B
4、20 and 9-12 digits reading can be implemented through simple programming, the overalldesign concept is simple. Temperature within -55+125C can be measured with an error of +/-0.1C. Detailed circuits and softwaredesign are given here. Key Words:single-chip computer DS18B20 smart temperature sensor文献综
5、述 自动控制领域中,温度检测与控制占有很重要地位。温度测控系统在工农业生产、科学研究和在人们的生活领域,也得到了广泛应用。因此,温度传感器的应用数量居各种传感器之首。目前,温度传感器正从模拟式向数字集成式方向飞速发展。温度传感器,使用范围广,数量多,居各种传感器之首。温度传感器的发展大致经历了以下3个阶段:传统的分立式温度传感器(含敏感元件),主要是能够进行非电量和电量之间转换模拟集成温度传感器/控制器智能温度传感器目前,国际上新型温度传感器正从模拟式想数字式、集成化向智能化及网络化的方向发展。一、温度传感器简介目前,温度传感器没有统一的分类方法。按输出量分类有模拟式温度传感器和数字式温度传感
6、器。按测温方式分类有接触式温度传感器和非接触式温度传感器。按类型分类有分立式温度传感器(含敏感元件)、模拟集成温度传感器和智能温度传感器(即数字温度传感器)。模拟式温度传感器输出的是随温度变化的模拟量信号。其特点是输出响应速度较快和MPU(微处理器)接口较复杂。数字式温度传感器输出的是随温度变化的数字量,同模拟输出相比,它输出速度响应较慢,但容易与MPU接口。温度传感器与被测介质的接触方式分为两大类:接触式和非接触式。接触式温度传感器需要与被测介质保持热接触,使两者进行充分的热交换而达到同一温度。这一类传感器主要有电阻式、热电偶、PN结温度传感器等。非接触式温度传感器无需与被测介质接触, 而是
7、通过被测介质的热辐射或对流传到温度传感器,以达到测温的目的。这一类传感器主要有红外测温传感器。这种测温方法的主要特点是可以测量运动状态物质的温度(如慢速行使的火车的轴承温度,旋转着的水泥窑的温度)及热容量小的物体(如集成电路中的温度分布)下面对工程中常用的温度传感器做简单介绍。1传统的分立式温度传感器1.1热敏电阻温度传感器热敏电阻是利用电阻值随温度变化而构成的温度传感器,这类电阻的材料选用锰、镍、钴等金属氧化物,电阻值随温度变化较大,易于批量生产、价格低廉,但电阻值/温度特性为非线性关系,测温范围限于-100+400。 根据其温度特性的不同,热敏电阻大致分为三类,即负温度系数的热敏电阻NTC
8、、正温度系数的热敏电阻PTC以及临界温度系数热敏电阻CTR,其中,NTC对于温度的线性升高,电阻值以对数形式减小,作为各种温度传感器应用极其广泛。PTC在工作温度范围内电阻值随温度升高而显著增大。CTR表示对于特定的温度其电阻值急剧增大。1.2热电阻式温度传感器利用热电阻温度系数随温度变化的特性而制成的温度传感器,称为热电阻温度传感器。对于大多数金属导体,其电阻值都具有随温度升高而增大的特性。由于纯金属的温度系数比合金的高,因此均采用纯金属作为热电阻组件。常用的金属导体材料有铂、铜、铁和镍。下面介绍铂电阻温度传感器。铂电阻的特点是精度高,稳定性好,重复性好,这是由金属铂的物理及化学性能所决定的
9、,因此它是目前制造热电阻温度传感器最理想的材料,可用做标准电阻温度计,被广泛应用于作为温度的基准。1.3热电偶式温度传感器 热电偶是一种传统的温度传感器,其测温范围一般为-50+1600,最高可达+2800,并且有较高的测量精度。另外,热电偶产品已实现标准化、系列化,使用时易于选择,可方便地用计算机线性补偿,因此,至今在测温领域仍被广泛使用。它的理论基础是建立在热电效应上,将热能转化为电能。2模拟集成温度传感器/控制器 集成温度传感器是采用硅半导体集成工艺而制成的,因此亦称硅传感器和单片集成传感器。模拟集成温度传感器是在20世纪80年代问世的。它是将温度传感器集成在一个芯片、可完成温度测量及模
10、拟信号输出功能的专用IC,它属于最简单的一种集成温度传感器,主要特点是功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗,适合远距离测温、控温,不需要进行非线性校准,外围电路简单,是目前国内应用较为普遍的一种集成传感器。根据输出方式的不同,模拟集成温度传感器可划分成以下5种类型: 电流输出式集成温度传感器 电压输出式集成温度传感器 周期输出式集成温度传感器 频率输出式集成温度传感器 比率输出式集成温度传感器3智能温度传感器 智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。智能温度传感器是微电子技术、计算机技术和自动测试技术的结晶,它也是集成温
11、度传感器领域中最具活力和发展前途的一种产品。目前,国际上许多著名的集成电路生产厂家已开发出上百种智能温度传感器产品。 智能温度传感器具有以下三个显著特点:第一,能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);第二,能以最简方式构成高性价比、多功能的智能化温度测控系统;第三,它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。 智能温度传感器采用了数字化技术,能以数据形式输出被测温度值。其测温误差小、分辨率高、抗干扰能力强,能远程传输数据,用户可设定温度上、下限,具有越限自动报警功能并且带串行总线接口,适配各种微控制器。按照串行总线来划分,有单线总线(1
12、-Wire)、二线总线(含SMBus、IC总线)和四线总线(含SPI总线)几种类型。典型产品有DS18B20(单线总线)、LM75(IC总线)LM74(SPI总线)。二、智能温度传感器发展的新趋势进入21世纪后,智能温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。1提高测温精度和分辨力在20世纪90年代中期最早推出的智能温度传感器,采用的是8位A/D转换器,其测温精度较低,分辨力只能达到1。目前,国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是912位A/D转换器,分辨力一般可达0.50.0625。由
13、美国DALLAS半导体公司新研制的DS1624型高分辨力智能温度传感器,能输出13位二进制数据,其分辨力高达0.03125,测温精度为0.2。为了提高多通道智能温度传感器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。以AD7817型5通道智能温度传感器为例,它对本地传感器、每一路远程传感器的转换时间分别仅为27S、9S。2增加测试功能新型智能温度传感器的测试功能也在不断增强。例如,DS1629型单线智能温度传感器增加了实时日历时钟(RTC),使其功能更加完善。DS1624还增加了存储功能,利用芯片内部256字节的E2PROM存储器,可存储用户的短信息。另外,智能温度传感器正从单通道向多
14、通道的方向发展,这就为研制和开发多路温度测控系统创造了良好条件。智能温度传感器都具有多种工作模式可供选择,主要包括单次转换模式、连续转换模式、待机模式,有的还增加了低温极限扩展模式,操作非常简便。对某些智能温度传感器而言,主机(外部微处理器或单片机)还可通过相应的寄存器来设定其A/D转换速率(典型产品为MAX6654),分辨力及最大转换时间(典型产品为DS1624)。智能温度控制器是在智能温度传感器的基础上发展而成的。典型产品有DS1620、DS1623、TCN75、LM76、MAX6625。智能温度控制器适配各种微控制器,构成智能化温控系统;它们还可以脱离微控制器单独工作,自行构成一个温控仪
15、。3总线技术的标准化与规范化目前,智能温度传感器的总线技术也实现了标准化、规范化,所采用的总线主要有单线(1-Wire)总线、I2C总线、SMBus总线和SPI总线。4可靠性及安全性设计传统的A/D转换器大多采用积分式或逐次比较式转换技术,其噪声容限低,抑制混叠噪声及量化噪声的能力比较差。新型智能温度传感器(例如TMP03/04、LM74、LM83)普遍采用了高性能的式A/D转换器,它能以很高的采样速率和很低的采样分辨力将模拟信号转换成数字信号,再利用过采样、噪声整形和数字滤波技术,来提高有效分辨力。式A/D转换器不仅能滤除量化噪声,而且对外围元件的精度要求低。为了避免在温控系统受到噪声干扰时
16、产生误动作,在AD7416/7417/7817、LM7576、MAX66256626等智能温度传感器的内部,都设置了一个可编程的“故障排队(fault queue)”计数器,专用于设定允许被测温度值超过上、下限的次数。仅当被测温度连续超过上限或低于下限的次数达到或超过所设定的次数n(n=14)时,才能触发中断端。若故障次数不满足上述条件或故障不是连续发生的,故障计数器就复位而不会触发中断端。这意味着假定n=3时,那么偶然受到一次或两次噪声干扰,都不会影响温控系统的正常工作。LM76型智能温度传感器增加了温度窗口比较器,非常适合设计一个符合ACPI(Advanced Configuration
17、and Power Interface,即“先进配置与电源接口”)规范的温控系统。这种系统具有完善的过热保护功能,可用来监控笔记本电脑和服务器中CPU及主电路的温度。微处理器最高可承受的工作温度规定为tH,台式计算机一般为75,高档笔记本电脑的专用CPU可达100。一旦CPU或主电路的温度超出所设定的上、下限时,INT端立即使主机产生中断,再通过电源控制器发出信号,迅速将主电源关断起到保护作用。此外,当温度超过CPU的极限温度时,严重超温报警输出端(T_CRIT_A)也能直接关断主电源,并且该端还可通过独立的硬件关断电路来切断主电源,以防主电源控制失灵。上述三重安全性保护措施已成为国际上设计温
18、控系统的新观念。为防止因人体静电放电(ESD)而损坏芯片。一些智能温度传感器还增加了ESD保护电路,一般可承受10004000V的静电放电电压。通常是将人体等效于由100PF电容和1.2K欧姆电阻串联而成的电路模型,当人体放电时,TCN75型智能温度传感器的串行接口端、中断比较器信号输出端和地址输入端均可承受1000V的静电放电电压。LM83型智能温度传感器则可承受4000V的静电放电电压。最新开发的智能温度传感器(例如MAX6654、LM83)还增加了传感器故障检测功能,能自动检测外部晶体管温度传感器(亦称远程传感器)的开路或短路故障。MAX6654还具有选择“寄生阻抗抵消”(Parasit
19、ic Resistance Cancellation,英文缩写为PRC)模式,能抵消远程传感器引线阻抗所引起的测温误差,即使引线阻抗达到100欧姆,也不会影响测量精度。远程传感器引线可采用普通双绞线或者带屏蔽层的双绞线。5虚拟温度传感器和网络温度传感器(1)虚拟传感器虚拟传感器是基于传感器硬件和计算机平台、并通过软件开发而成的。利用软件可完成传感器的标定及校准,以实现最佳性能指标。最近,美国公司已开发出一种基于软件设置的TEDS型虚拟传感器,其主要特点是每只传感器都有唯一的产品序列号并且附带一张软盘,软盘上存储着对该传感器进行标定的有关数据。使用时,传感器通过数据采集器接至计算机,首先从计算机
20、输入该传感器的产品序列号,再从软盘上读出有关数据,然后自动完成对传感器的检查、传感器参数的读取、传感器设置和记录工作。(2)网络温度传感器网络温度传感器是包含数字传感器、网络接口和处理单元的新一代智能传感器。数字传感器首先将被测温度转换成数字量,再送给微控制器作数据处理。最后将测量结果传输给网络,以便实现各传感器之间、传感器与执行器之间、传感器与系统之间的数据交换及资源共享,在更换传感器时无须进行标定和校准,可做到“即插即用(Plug&Play)”,这样就极大地方便了用户。6单片测温系统单片系统(System On Chip)是21世纪一项高新科技产品。它是在芯片上集成一个系统或子系统,其集成
21、度将高达108109元件/片,这将给IC产业及IC应用带来划时代的进步。半导体工业协会(SIA)对单片系统集成所作的预测见表。目前,国际上一些著名的IC厂家已开始研制单片测温系统,相信在不久的将来即可面市。1 引言温度是表征物体冷热程度的物理量,是工业生产和科学实验中一个非常重要的参数。物质的许多物理现象和化学性质都与温度有关。它一般约占生产过程中全部过程参数的50%左右,许多生产过程都是在一定的温度范围内进行的。因此,温度检测仍有很重要的地位。温度计是日常生活,工业控制中常见的测温仪器,测量温度的关键部件是温度传感器,温度传感器的发展经历了三个阶段:传统的分立式温度传感器,如NTC(热敏电阻
22、)测温技术、半导体温度传感器测温技术、铂电阻(RTD) 测温技术、热电偶测温技术;模拟集成温度传感器,如AD590(电流输出型的集成温度传感器),AN6701;智能集成温度传感器,如美国DALLAS公司生产的DS1620,DS1820,DS18B20等。各种测温技术各有优缺点,在不同的领域都有其最适合的应用之处。本文拟采用美国DALLAS公司生产的数字温度测控器DS18B20和ATMEL公司生产的AT89C2051,采用LED动态显示设计一个数字温度计。2 系统方案选择与论证2.1 设计功能要求数字式温度计要求测量范围为-55+125C,精度误差在0.1C以内,LED数码管直接显示温度。2.2
23、 系统基本方案方案一:在以往的温度测控系统中,大多采用对温度传感器采集到的信号放大,经A/D转换,然后送入单片机进行处理,要提高精度,就必须采用高精度的放大器和A/D转换器。这种电路硬件结构复杂,调试繁杂,精度易受元器件参数影响。这类温度计的方案可以统一表示为图2.1所示的原理框图。温度传感器与被测介质的接触方式分为两大类:接触式和非接触式。接触式温度传感器需要与被测介质保持热接触,使两者进行充分的热交换而达到同一温度。这一类传感器主要有电阻式、热电偶、PN结温度传感器等。非接触式温度传感器无需与被测介质接触,而是通过被测介质的热辐射或对流传到温度传感器,以达到测温的目的。这一类传感器主要有红
24、外测温传感器1,3,5。方案一的应用电路一:利用石英晶体作温度传感器,石英晶体温度传感器和以发送模式工作的LTC-485RS485型收发器IC1组成一个Pierce晶体振荡器。收发器的差分电路驱动器输出端通过双绞线电缆传送频率编码的温度信号,传递距离长达1000英尺6。显示模块ADC转换电路信号变换电路温度传感器信号放大电路 图21 方案一的系统框图Fig.2.1 system block of scheme 1第二只LTC-485型收发器IC2以接收模式工作,接收差分数据,并为IC3提供一个单端输出信号。IC3是PIC-16F73型处理器,它将频率编码的温度数据转换后在LCD或者LED上显示
25、出摄氏温度。其系统框图如图2.2所示12。LTC485PIC-16F73型处理器LTC-485 型收发器 石英晶体显示电路图22 直接读出摄氏温度数的石英晶体遥测温度计Fig.2.2 Derected_read temperature distance crystal measurement thermometer方案一的应用电路二:利用热敏电阻做温度传感器,热敏电阻利用电阻值随温度变化而构成温度传感器。根据其温度特性的不同,热敏电阻大致分为三类,即负温度系数的热敏电阻NTC,正温度系数的热敏电阻PTC以及临界温度系数的热敏电阻CTR,其中,NTC对于温度的线性升高,电阻值以对数形式减小,作为
26、各种温度传感器应用广泛。热敏电阻的阻值与温度之间的关系可由下式表示,即式中,T为任意温度(绝对温度),TO为基准温度(绝对温度),R为T时的电阻值,R0为TO时的电阻值,B为常数。用热敏电阻构成温度计,需要对输出信号进行线性化处理,在经过A/D转换为数字量,而后送入MCU处理显示。其框图如图2.3所示9。显示电路线性处理电路MCUA/D热敏电阻测温电路图23 用热敏电阻构成温度计Fig.2.3 Thermometer based on heat_variable resistor 方案二:利用新近研制开发的智能型温度传感器作为温度检测元件,用单片机作为主控制模块,以LED或者LCD显示的数字式
27、温度计。系统由3个模块构成,主控制器,测温电路及显示电路。总体设计框图如图2.4所示。显示电路主控制器模块温度检测模块扫描驱动图24 数字温度计电路的基本模块方框图Fig.2.4 Basic module block of digital thermometer由于采用分立式和模拟集成式温度传感器测出的信号为模拟信号,需要经过A/D转换成为数字信号,并且这些信号多为电压或电流,还需要经过变换成对应的温度值,因而需要较多的外部硬件(或者软件)支持。同时这些元件的线性度较差,需要额外开销来减小非线性,硬件设计复杂,软件调试麻烦,制作成本高,而智能型温度传感器可以直接读出被测的温度值,减少了外部的硬
28、件电路,具有低成本和容易使用的特点,因而本设计选用方案二。2.2.1 各模块方案选择和论证(1)主控制器模块根据功能要求,控制器主要用于接收来自温度检测模块的温度数据(或者是来自模数转换器的数据),通过驱动电路来驱动LED显示实时温度值。对于控制器的选择主要使用MCU,有多种实现方案。方案一:采用FPGA(现场可编程门列阵)作为系统的控制器。FPGA可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减小了体积,提高了稳定性和抗干扰性,并且可以应用EDA软件进行仿真、调试,易于进行功能扩展。FPGA采用并行的输入输出方式,提高了系统的处理速度,运行速度快,资源丰富,使用方
29、便灵活,适合作为大规模的实时系统的控制核心,由温度检测模块输出的信号并行输入FPGA,FPGA通过程序设计将信号变成相应的编码控制LED显示,但由于本设计要求不高,FPGA的高速处理优势得不到充分的体现,并且由于其集成度高,使其成本偏高,同时由于其芯片的引脚众多,实物硬件电路布线复杂,加重了电路设计和实际焊接的工作14。 方案二:采用51系列MCU作为主控制芯片。由于51系列芯片品种繁多,有40脚的,也有20脚的,因而主控芯片的选择也有两种。其一可以选用ATMEL公司的AT89C51作为主控芯片,ATMEL公司生产的AT89C51单片机采用高性能的静态80C51设计,是一个低功耗高性能的CMO
30、S8位单片机,40个引脚,片内含4K Flash ROM和128B RAM,器件采用ATMEL公司的高密度、非易失性存储技术生产,32个外部双向输入输出(I/O)接口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。支持两种软件可选的掉电模式:在闲置模式下,CPU停止工作,但RAM、定时器/计数器、串行接口和中断系统仍在工作;在 掉电模式下,保存RAM的内容并且冻结振荡器,禁止所有其他芯片功能,直到下一个硬件复位为止。它将通用的微处理器和Flash ROM结合在一起,特别是可反复擦写的Flash ROM能有效降低开
31、发成本。其二选用AT89C2051,AT89C2051为20引脚封装,片内含有2K Flash ROM,128字节RAM,Flash ROM是一种可以电擦除和电写入的闪速存储器,使开发调试更加方便,2个端口共15个I/O接口线,2个16位的定时器/计数器,5个2级中断源,1个模拟比较器,一个串行接口,具有以下几个特点:与MCS-51系列产品兼容;2K可编程Flash ROM可反复擦写1000次;2.7V6V的工作范围;可以直接输出驱动LED; 低电压供电和体积小。AT89C2051适合便携手持式产品和控制电路板尺寸要求较小程序不大的电路环境下应用。在本设计中只需要单片机的两个端口,且为了节约器
32、材和电路版体积,选用AT89C2051作为主控芯片。AT89C2051只有20个引脚,去掉了P0口和P2口,内部的Flash ROM也减小到2KB,相应的价格便宜一些。虽然减少了一些资源,但89C2051片内集成了一个精密比较器,为测量一些模拟信号提供了极大的方便,比如方案一中模拟信号可以不经过A/D转换,直接送入单片机,在外加几个电阻和电容的情况下就可以测量电压,温度的等日常需要的量。同时AT89C205与AT89C51外部引脚功能和指令完全兼容。AT89C2051的引脚图如图2.5所示3,5。图25 AT89C2051引脚图Fig.2.5 Pins of AT89C2051(2)温度检测模
33、块本设计采用智能型温度传感器,省去了信号的变换与模数转换电路,硬件设计更加简单。本文将分别介绍美国Dallas公司生产的两种功能强大的智能型温度传感器DS1620和DS18B20。 DS1620简介DS1620是Dallas公司推出的数字温度测控器件,2.7V5.5V供电电压。测量温度范围为-55+125,9位数字量表示温度值,分辨率为0.5。在0+70精确度为0.5,-400和+70+85精确度为1,-55-40和+85+125精确度为2。TH和TL寄存器中的温度报警限设定值存放在非易失性存储器中,掉电后不会丢失。通过三线串行接口,完成温度值的读取和TH、TL的设定。与传统的热敏电阻等测温元
34、件相比,它能直接读出被测温度,DS1620采用8脚DIP封装或8脚SOIC封装。引脚排列如图2.6所示。DS1620的性能特点如下:可独立工作,也可方便的与PC或单片机以串行方式连接;不需要模数转换等外部器件完成温度测定;能够在750ms内完成被测温度的数值转换;用户可定义的非易失性温度报警设置;通过三线接口(CLK,DQ,/RST)完成数据的读写;温度以9位数字量读出;以数字量输出温度测量值,具有测量范围宽,传输距离远,可靠、稳定;通过高温系数振荡器控制低温系数振荡器的脉冲个数,实现被测温度的数字输出;温度计数器和寄存器预置-55的基准值,若温度寄存器与技术起在脉冲周期结束前为0,则温度寄存
35、器增至被测温度值;图26 DS1620的引脚Fig.2.6 Pins of DS1620DS1620有两种操作模式(1)单独工作模式在这种工作模式下,DS1620作为热继电器使用,常用连续转换方式,可在没有CPU参与下工作。预先必须写入控制寄存器操作模式和TH、TL寄存器的温度设定值,CLK/ CONV用作转换开始控制端。要注意:这种工作模式下,控制/状态寄存器的CPU标志位必须设为“0”。为了使CLK/CONV作转换控制,必须为低电平。如果要是CLK/CONV被拉低,且在10ms以内置高,则产生一次转换;如果CLK/CONV保持低,则DS1620连续进行转换。当CPU为“0”时,转换由CLK
36、/CONV控制,而不受1SHOT控制位的限制。DS1620有三个温度触发控制端。当DS1620的温度高于或等于TH寄存器设定时,THIGH输出为高电平,直到温度下降到TH寄存器设定值以下时才变为低电平,THIGH输出端可以用于表明是否达到或者超过最高可容忍温度边界,也可以用在闭环系统中启动或关闭制冷设备;TLOW端的功能与THIGH相似,当温度低于或等于TL寄存器设定值时,TLOW输出高电平,直到温度上升到TL寄存器设定值以上时才会变为低电平,TLOW可以用于表明是否达到或超过最低可容忍温度边界,也可以用在闭环系统中启动或关闭加热设备;当温度高于TH寄存器设定值时,TCOM输出为高电平,直到温
37、度下降到TL的设定值以下输出为低电平。三个温度触发控制端的输出特性如图2.7所示。图27 温度触发端的输出特性Fig.2.7 Thermostat output of eration(2)三线串行通信模式三线制由三个信号线组成:/RST(复位)、CLK(时钟)和DQ(数据)。数据传输在由低电平变为高电平后开始。在数据传输过程中,使变为低电平会终止数据传输。时钟由一序列上升沿和下降沿组成。DS1620输入、输出数据时,都必须是上升沿数据有效。读写数据时低位在前,高位在后。三线制的操作大部分是命令字在前,数据在后(部分命令后不需要数据)16。 DS18B20简介DS18B20温度传感器是美国DAL
38、LAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。DS18B20的特点如下。独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5V;零待机功耗;温度以9或12位数字量读出;用户可定义的非易失性温度报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。DS18B20采用3脚TO-92封装或8脚
39、SOIC封装,内部结构框图如图2.8所示。存储器与控制逻辑I/O温度传感器64位ROM 高速 和 缓存 高温触发器TH 单线接口 低温触发器TL C 配置寄存器 VDD 8位CRC发生器 图28 DS18B20内部结构图Fig.2.8 DS18B20 block diagram64位ROM的位结构如图2.9所示。开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。非易失性温度报警触发器TH和TL,可通过软件写入户报警上下限。 8位检验CRC 48位序列号 8位工厂代码(10H) MSB LSB
40、 MSB LSB MSB LSB 图29 64位ROM结构图 Fig.2.9 64_bit lasered ROM code DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图2.10所示。头2个字节包含测得的温度信息,第3和第4字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时按此寄存器中的分辨率将温度转化为相应精度的数值。该字节各位的定义如图2.11所示。低5位一直为1,TM是测试模式位,用于设置DS18B2
41、0在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不改动,R1和R0决定温度转换的精度位数,即可用来设置分辨率,定义方法见表。 温度LSB 1字节 温度MSB 2字节 TH用户字节1 3字节 TL用户字节2 4字节 TH用户字节1 配置寄存器 5字节 TL用户字节2 保留 6字节 EERAM 保留 7字节 保留 8字节 CRC 9字节图210 高速暂存RAM结构图Fig2.10 DS18B20 memory map TM R1 R0 1 1 1 1 1 图211 配置寄存器Fig.2.11 Configuration register由表可见,DS18B20温度转换的时间比
42、较长,而且设定的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际应用中要将分别率和转换时间权衡考虑。 高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。 当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以 0.0625/LSB形式表示。温度值格式如图2.12所示。 当符号位S=0时,表示测得的温度值为正值,可以直接将二进制转换为十进制;当
43、符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制值。表2是部分温度值对应的二进制温度数据。 表1 DS18B20分辨率的定义规定Tab. Thermometer resolution configuration R1 R0 分辨率/位 温度最大转换时间/ms 0 0 9 93.75 0 1 10 187.5 1 0 11 375 1 1 12 50图212 温度数据值格式Fig.2.12 Temperature register formatDS18B20完成温度转换后,就把测得的温度值与RAM中TH,TL字节内容作比较。若TTH或TTL,则将该器件内的报警标志位置位,
44、并对主机发出的报警搜索命令作出响应。因此,可以用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高字节中存储有循环冗余检测码(CRC)。主机根据ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。下式是CRC多项式方程。CRC产生器如图2.13所示。DS18B20的测温原理测温原理图如图2.14所示。图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡INPUT图213 CRC产生器Fig.2.13 CRC generator表2 DS18B20温度与测得值对应表Tab.2 Temperature/data relationship温度值/ 数字输出(二进制) 数字输出(十六进制)+125 0000 0111 1101 0000 07D0H+85 0000 0101 0101 0000 0550H+25.0625 0000 0001 1001 0001 0191H+10.125