
DS1820_中文资料.pdf
28页DS1820 中文资料 电子驿站 http:// E-mail: support@ DS18B20单总线数字温度计 电子驿站 更多的单片机资料、源程序及单片机教程请登陆网站下载! http:// E-mail:support@ :451338524 476485321 1一、概述 1.1 一般说明 DSl820数字温度计提供9位温度读数,指示器件的温度 信息经过单线接口送入DSl820或从DSl820送出,因此从中央处理器到DSl820仅需连接一条线(和地)读、写和完成温度变换所需的电源可以由数据线本身提供,而不需要外部电源 因为每一个DSl820有唯一的系列号(silicon serial number),因此多个DSl820可以存在于同一条单线总线上这允许在许多不同的地方放置温度灵敏器件此特性的应用范围包括HVAC环境控制,建筑物、设备或机械内的温度检测,以及过程监视和控制中的温度检测 1.2 特性 ·独特的单线接口,只需1个接口引脚即可通信 ·多点(multidrop)能力使分布式温度检测应用得以简化 不需要外部元件 ·可用数据线供电 ·不需备份电源 ·测量范围从-55℃至+125℃,增量值为0.5℃。
等效的华氏温度范围是-67℉至257℉,增量值为0.9℉ ·以9位数字值方式读出温度 ·在1秒(典型值)内把温度变换为数字 ·用户可定义的,非易失性的温度告警设置 ·告警搜索命令识别和寻址温度在编定的极限之外的器件(温度告警情况) ·应用范围包括恒温控制,工业系统,消费类产品,温度计或任何热敏系统 1.3 引脚排列 引脚说明 GND 地 DQ 数字输入输出 VDD 可选的VDD NC 空引脚 DNC 不连接 DS18B20单总线数字温度计 电子驿站 更多的单片机资料、源程序及单片机教程请登陆网站下载! http:// E-mail:support@ :451338524 476485321 21.4 详细的引脚说明 引 脚 8脚SOIC 引 脚 PR35 符 号 说 明 5 1 GND 地 4 2 DQ 单线应用的数据输入/输出引脚:漏极开路见“寄生电源”一节 3 3 VDD 可选VDD引脚,有关连接的细节见“寄生电源”一节 二、详细说明 2.1 综述 图1的方框图表示DSl820的主要部件。
DSl820有三个主要的数据部件:1)64位激光(lasered)ROM;2)温度灵敏元件;3)非易失性温度告警触发器TH和TL器件从单线的通信线取得其电源,在信号线为高电平的时间周期内,把能量贮存在内部的电容器中,在单信号线为低电平的时间期内断开此电源,直到信号线变为高电平重新接上寄生(电容)电源为止,作为另一种可供选择的方法,DSl820也可用外部5V电源供电 DS1820 BLOCK DIAGRAM Figure 1 图1 DSl820方框图 与DSl820的通信经过一个单线接口在单线接口情况下,在 ROM操作未定建立之前不能使用存贮器和控制操作主机必须首先提供五种ROM操作命令之一:1)Read ROM(读ROM);2)Match ROM(符合ROM);3)Search ROM(搜索ROM);4)Skip ROM(跳过ROM);5)Alarm Search(告警搜索)这些命令对每一器件的64位激光ROM部分进行操作如果在单线上有许多器件,那么可以挑选出一个特定的器件,并给总线上的主机指示存在多少器件及其类型在成功地执行了ROM操作序列之后,可使用存贮器和控制操作,然后主机可以提供六种存贮器和控制操作命令之一。
一个控制操作命令指示DSl820完成温度测量该测量的结果将放入DSl820的高速暂存(便笺式)存贮器(Scratchpad memory),通 过 发出读暂存存储器内容的存储器操作命令可以读出此结果每一温度告警触发器 TH 和孔构成一个字节的EEPROM如果不对 DSl820 施加告警搜索命令,这些寄存器可用作通用用户存储器使用存储器操作命令可以写 TH 和TL对这些寄存器的读访问通过便笺存储器所有数据均以最低有效位在前的方式被读写 2.2 寄生电源(parasite power) 方框图(图1)示出寄生电源电路当I/0或VDD引脚为高电平时,这个电路便“取”得电源只要符合指定的定时和电压要求,I/O将提供足够的功率(标题为“单总线系统”一节)寄生电源的优点是双重的:1)利用此引脚,远程温度检测无需本地电源,2)缺少正常电源条件下也可以读ROM 为了使DSl820能完成准确的温度变换,当温度变换发生时,I/0线上必须提供足够的功率因为DSl820的工作电流高达1mA,5kΩ的上拉电阻将使 I/0 线没有足够的驱动能力如果几个 DSl820在同一条 I/0 线上而且企图同时变换, DS18B20单总线数字温度计 电子驿站 更多的单片机资料、源程序及单片机教程请登陆网站下载! http:// E-mail:support@ :451338524 476485321 3那么这一问题将变得特别尖锐。
有两种方法确保DSl820在其有效变换期内得到足够的电源电流第一种方法是发生温度变换时,在I/0线上提供一强的上拉如图2所示,通过使用一个MOSFET把I/0线直接拉到电源可达到这一点当使用寄生电源方式时VDD引脚必须连接到地 向DSl820供电的另外一种方法是通过使用连接到VDD引脚的外部电源,如图3所示这种方法的优点是在I/0线上不要求强的上拉总线上主机不需向上连接便在温度变换期间使线保持高电平这就允许在变换时间内其它数据在单线上传送此外,在单线总线上可以放置任何数目的DSl820,而且如果它们都使用外部电源,那么通过发出跳过(Skip)ROM命令和接着发出变换(Convert)T命令,可以同时完成温度变换注意只要外部电源处于工作状态,GND(地)引脚不可悬空 图2 强上拉在温度变换期内向DSl820供电 在总线上主机不知道总线上DSl820是寄生电源供电还是外部VDD供电的情况下,在 DSl820内采取了措施来通知采用的供电方案总线上主机通过发出跳过(Skip)ROM 的操作约定,然后发出读电源命令,可以决定是否有需要强上拉的DSl820 在总线上在此命令发出后,主机接着发出读时间片。
如果是寄生供电,DSl820 将在单线总线上送回“0”;如果由 VDD脚供电,它将送回“1”如果主机接收到一个“0”,它知道它必须在温度变换期间在 I/0 线上供一个强的上拉有关此命令约定的详细说明,见“存贮器命令功能”一节 2.3 运用 — 测量温度 DSl820通过使用在板(on-board)温度测量专利技术来测量温度温度测量电路的方框图见图4所示 图3 使用VDD供温度变换所需电流 DS18B20单总线数字温度计 电子驿站 更多的单片机资料、源程序及单片机教程请登陆网站下载! http:// E-mail:support@ :451338524 476485321 4图4 温度测量电路 DSl820通过门开通期间内低温度系数振荡器经历的时钟周期个数计数来测量温度,而门开通期由高温度系数振荡器决定计数器予置对应于-55℃的基数,如果在门开通期结束前计数器达到零,那么温度寄存器也被予置到-55℃的数值增量,指示温度高于-55℃ 同时,计数器用斜率累加器电路所决定的值进行予置。
为了对遵循抛物线规律的振荡器温度特性进行补偿,这种电路是必需的时钟再次使计数器计值至它达到零如果门开通时间仍未结束,那么此过程再次重复 斜率累加器用于补偿振荡器温度特性的非线性,以产生高分辩率的温度测量通过改变温度每升高一度,计数器必须经历的计数个数来实行补偿因此,为了获得所需的分辩率,计数器的数值以及在给定温度处每一摄氏度的计数个数(斜率累加器的值)二者都必须知道 此计算在DSl820内部完成以提供0.5℃的分辩率温度读数以16位、符号扩展的二进制补码读数形式提供表l说明输出数据对测量温度的关系数据在单线接口上串行发送DSl820可以以0.5℃的增量值,在 0.5℃至+125℃的范围内测量温度对于应用华氏温度的场合,必须使用查找表或变换系数 注意,在DSl820中,温度是以1/2℃ LSB(最低有效位)形式表示时,产生以下9位格式: MSB(最高有效位) (最低有效位)LSB 最高有效(符号)位被复制到存储器内两字节的温度寄存器中较高 MSB的所有位,这种“符号扩展”产生了如表 1所示的16位温度读数 以下的过程可以获得较高的分辩率。
首先,读温度,并从读得的值截去0.5℃位(最低有效位)这个值便是TEMP_READ然后可以读留在计数器内的值此值是门开通期停止之后计数剩余 TEMPRATURE(温度)=TEMP_READ-0.25+ CPERCOUNT REMAINCOUNTCPERCOUNT __ ___ )( − DS18B20单总线数字温度计 电子驿站 更多的单片机资料、源程序及单片机教程请登陆网站下载! http:// E-mail:support@ :451338524 476485321 5(COUNT_REMAIN)所需的最后一个数值是在该温度处每一摄氏度的计数个数(COUNT_PER_C)于是,用户可以使用下式计算实际温度: 表1 温度/数据关系 温度 数字输出(二进制) 数字输出(十六进制) +125℃ 00000000 11111010 00FAh +25℃ 00000000 00110010 0032h +1/2℃ 00000000 00000001 000lh +0℃ 00000000 00000000 0000h -1/2℃ 11111111 11111111 FFFFh -25℃ 11111111 11001110 FFCEh -55℃ 11111111 10010010 FF92h 2.4 运用 — 告警信号 在DSl820 完成温度变换之后,温度值与贮存在 TH和TL内的触发值相比较。
因为这些寄存器仅仅是8位,所以 0.5℃位在比较时被忽略TH或TL的最高有较位直接对应于 16位温度寄存器的符号位如果温度测量的结果高于 TH或低于TL,那么器件内告警标志将置位每次温度测量更新此标志只要告警标志置位,DSl820将对告警搜索命令作出响应这允许并联连接许多DSl820,同时进行温度测量如果某处温度超过极限,那么可以识别出正在告警的器件并立即将其读出而不必读出非告警的器件 2.5 64位激光ROM 每一DSl820包括一个唯一的64位长的ROM 编码开绐的 8位是单线产品系列编码(DSl820编码是10h)接着的48位是唯一的系列号最后的8位是开始56位CRC(见图5)。












