山东科技大学学士学位论文 绪论
点组网功能,节约了成本,方便了设计。这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。
DS18B20数字温度传感器的主要特性有:
1)适应电压范围宽:3.0-5.5V,也可由数据线供电,零待机功耗; 2)单线接口方式,仅需一个端口就可以与CPU连接实现双向通讯; 3)可编程分辨率为9~12位,对应温度转换时间为93.75ms~750ms,对应温度分辨率为0.5℃,0.25℃,0.125℃,0.0625℃,可实现高精度测温;
4)测温范围-55℃~+125℃,在-10℃~+85℃内测温精度为±0.5℃; 5)具有温度报警功能,用户可根据需要设置报警上下限,设置的限值掉电后不丢失,测量结果直接输出数字温度信号,同时可传送CRC校验码;
6)支持多点组网功能,可应用与多点分布系统,多个DS18B20可挂在一条总线上,实现组网内的多点测温。 2.2.2 DS18B20内部结构及功能
DS18B20内部结构主要由四部分组成64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。如图2.2所示,为DS18B20内部结构框图。
64位ROM和单线端口 存储器和控制寄存器 温度传感器 二极管 暂存器 上限触发TH 二极管 电源探测 8位CRC暂存器 下限触发TL 12
山东科技大学学士学位论文 绪论
图 2.2 DS18B20内部结构框图
如前所述,每只DS18B20都有一个唯一的长达64位的只读存储器号,该只读存储器号存放在DS18B20内部的ROM中。其中,低8位为DS18B20单总线温度传感器的家族号;高8位为CRC循环冗余校验码,用以校正前56位是否正确;中间的48位是一个唯一的序列号。该64为只读存储器号常用于元器件的识别和匹配。
表 2.2 DS18B20的64位ROM号 MSB 64位ROM号 LSB 8位校验码 MSB LSB 48位序列号 MSB LSB 8位家族号 MSB LSB 64位ROM和ROM操作控制区允许DS18B20作为单线制器件并按照单总线协议工作。只有建立了ROM操作协议,才能对DS18B20进行控制操作。单总线的所有ROM操作,都从一个初始化序列开始。此外,单总线控制器还提供了5个ROM操作命令和6个RAM操作指令。 ROM操作命令:
1) Read ROM [33h]:该命令允许总线控制器读到DS18B20的ROM
序列。进仅总线上存在单个器件时才能使用,否则会发生数据冲突。 2) Match ROM [55h]:匹配ROM命令,后跟64位ROM序列,此后
所有操作都对该器件进行。
3) Skip ROM [CCh]:此后的指令将对在线所有器件起作用。 4) Search ROM [F0h]:允许总线控制器识别总线上的所有从机编码。 5) Alarm Search [ECh]:响应最近一次测温遇到符合报警条件的情况。 RAM操作指令:
1) Write Scratchpad [4E]:向DS18B20的暂存器中写入数据。 2) Read Scratchpad [BEh]:读取暂存器的内容。
13
山东科技大学学士学位论文 绪论
3) Copy Scratchpad [48h]:这条命令把暂存器的内容拷贝到DS18B20
的E2存储器里,即把温度报警触发字节存入非易失性存储器里。 4) Convert T [44h]:启动一次温度转换而无需其他数据。 5) [B8h]:把报警触发器里的值拷回暂存器,上电时自动执行。 6) Read Power Supply [B4h]:获取器件的电源模式:“0”=寄生电源,
“1”=外部电源。
存储器由一个暂存RAM和一个存储高低温报警触发值TH和TL的非易失性电可擦除E2RAM组成。当在单线总线上通讯时,暂存器帮助确保数据的完整性。数据先被写入暂存器,经过校验后,用一个拷贝暂存器命令把数据传到非易失性E2RAM中,这一过程确保更改存储器时数据的完整性。暂存器的结构为8个字节的存储器。头两个字节包含测得的温度信息,第三和第四字节是TH和TL的拷贝,每次上电复位时被刷新,下面两个字节没有使用,但是在读回数据时,它们全部表现为逻辑1,第七和第八字节是计数寄存器,它们可以被用来获得更高的温度分辨力,还有一个第九字
节,可以用读暂存器命令读出。这个字节是以上八个字节的CRC码。
图 2.3 DS18B20的管脚排列图
DS18B20的管脚排列如图2.3所示。引脚定义如下:DQ为数字信号I/O端;GND为接地端;VDD为外接供电电源输入端(在寄生电源接线方式时VDD接地),NC表示悬空。此外,DS18B20有两种供电方式,寄生电源供
14
山东科技大学学士学位论文 绪论
电和外部电源供电,这也就决定了它对外的连接方式。 在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能,直到高电平到来再给寄生电源(电容)充电。这种供电方式具有远距离测温时无需本地电源、可以在没有常规电源的条件下读取ROM、电路简洁等优点,但当多个温度传感器挂在同一根I/O线上进行多点测温时,容易出现供电不足而无法转换温度或温度误差过大的现象, 因此适宜于单点测温。特别是当温度高于100℃时,由于此时DS18B20表现出的漏电流比较大,通讯可能无法进行,因此应使用外部电源供电方式。 在外部电源供电方式下,DS18B20工作电源由VDD引脚接入(GND引脚不能悬空,否则不能转换温度,读取的温度总是85℃),不存在电源电流不足的问题,可以保证转换精度,可以在总线上挂接多个DS18B20传感器,组成多点测温系统。外部电源供电方式是DS18B20的最佳工作方式,工作稳定可靠,即使VCC降到了3V时,依然能够保证温度测量精度;抗干扰能DS18B20DGQNDVCC力强,而且电路比较简单,适用范围广。 123如图2.4所示为DS18B20的两种电源连接方式。 +5DS18B20DGQNDVCCVCC+5DS18B20DQGND10KR12312310KR1VCCP2.4P2.4 图 2.4 DS18B20的两种电源连接方式 当总线控制器不知道总线上的器件是何种供电方式时,总线控制器发出读电源命令,等待返回值。如果是寄生电源,则发回“0”,如果是VDD15 山东科技大学学士学位论文 绪论
供电,则发回“1”,这样总线控制器就能决定是否有DS18B20需要强上拉。如果控制器接收到 “0”,则必须在温度转换期间给I/O线提供强上拉。
当温度传感器DS18B20的转换精度设置为“12”时,它用12位存贮温度值,最高位为符号位。如表2.3DS18B20的温度存储方式所示:负温度S=1;正温度S=0。如:0550H为+85,0191H为25.0625,FC90H为-55。C
表 2.3 DS18B20的温度存储方式
LSB BYTE MSB BYTE bit7 23 bit15 S bit6 22 bit14 S bit5 21 bit13 S bit4 20 bit12 S bit3 2-1 bit11 S bit2 2-2 bit10 26 bit1 2-3 bit9 25 bit0 2-4 bit8 24 DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中还需注意以下几个方面的问题。
1) 在对DS18B20进行编写程序时,必须严格保证读/写时序,否则将无法读取测量结果所有电压参考点为接地点,VDD低至3.4V时,温度转换精度±2℃。
2) 在理论上单总线上可挂接任意多个DS18B20,但在实际应用时并非如此,当单总线上所挂DS18B20超过8个时,就需要解决总线驱动问题;
3)连接DS18B20的总线电缆是有长度限制的,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当改为双绞线带屏蔽电缆时,正常通讯距离可达150m,测温电缆最好采用屏蔽四芯双绞线,一对接地线与信号线,另一对接VCC和地线,屏蔽层在源端单点接地。 2.2.3 方案比较与选择
本次设计中对于温度传感器设计了以下两种方案:
方案一:利用热敏电阻NTC温度传感器组成测温电路,经过温度——频率变换电路进行模数转换,由于这样做的温度传感器的线性特性不是很
16