
DS18B20中英文大数据手册簿.doc
32页wordDS18B20可编程分辨率的单总线.数字温度计特征 l 独特的单线接口仅需一个端口引脚进展通讯l 每个器件有唯一的64 位的序列号存储在内部存储器中l 简单的多点分布式测温应用l 无需外部器件l 可通过数据线供电供电X围为到l 测温X围为-55~+125℃〔-67~+257℉〕l 在-10~+85℃X围内准确度为±5℃l 温度计分辨率可以被使用者选择为9~12位l 最多在750ms 内将温度转换为12 位数字l 用户可定义的非易失性温度报警设置l 报警搜索命令识别并标志超过程序限定温度〔温度报警条件〕的器件l 与DS1822兼容的软件l 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统引脚排列说明DS18B20数字温度计提供9至12位的摄氏温度测量,并具有易失性的用户可编程触发点的上限和下限报警功能DS18B20单总线通信按定义只需要一条数据线〔和地线〕与中央微处理器进展通信它具有工作温度X围55°C + 125°C和准确±0.5°CX围- 10°C + 85°C.此外,DS18B20可以导出功率直接从数据线〔“寄生虫〞〕,消除了外部电源需要。
每个DS18B20都有一个唯一的64位串行码,它允许多个DS18B20在同一根总线功能因此,它是用一个简单的微处理器控制,大面积分布的许多DS18B20s应用程序可以受益于这个功能包括空调环境控制,建筑物内的温度监控系统,设备,或机械,和过程监控控制系统详细的引脚说明表18 引脚SOIC 封装*TO-9 封装符号说明51GND接地42DQ数据输入/输出引脚对于单线操作:漏极开路当工作在寄生电源模式时用来提供电源〔建“寄生电源〞节〕33VDD可选的VDD 引脚工作与寄生电源模式时VDD必须接地概览图 1 是表示DS18B20 的方框图,表1 已经给出了引脚说明64 位只读存储器储存器件的唯一片序列号高速暂存器含有两个字节的温度存放器,这两个存放器用来存储温度传感器输出的数据除此之外,高速暂存器提供一个直接的温度报警值存放器〔TH和TL〕,和一个字节的的配置存放器配置存放器允许用户将温度的精度设定为9,10,11 或12 位TH,TL 和配置存放器是非易失性的可擦除程序存放器〔EEPROM〕,所以存储的数据在器件掉电时不会消失DS18B20通过达拉斯公司独有的单总线协议依靠一个单线端口通讯。
当全部器件经由一个3态端口或者漏极开路端口〔DQ引脚在DS18B20上的情况下)与总线连接的时候,控制线需要连接一个弱上拉电阻在这个总线系统中,微控制器〔主器件〕依靠每个器件独有的64位片序列号识别总线上的器件和记录总线上的器件地址由于每个装置有一个独特的片序列码,总线可以连接的器件数目事实上是无限的单总线协议,包括指令的详细解释和“时序〞见单总线系统节DS18B20的另一个功能是可以在没有外部电源供电的情况下工作当总线处于高电平状态,DQ与上拉电阻连接通过单总线对器件供电同时处于高电平状态的总线信号对内部电容〔Cpp〕充电,在总线处于低电平状态时,该电容提供能量给器件这种提供能量的形式被称为“寄生电源〞作为替代选择,DS18B20同样可以通过VDD引脚连接外部电源供电DS18B20方框图图1测温操作DS18B20的核心功能是它的直接读数字的温度传感器温度传感器的精度为用户可编程的9,10,11或12位,分别以℃,℃,℃和℃增量递增在上电状态下默认的精度为12位DS18B20启动后保持低功耗等待状态;当需要执行温度测量和AD转换时,总线控制器必须发出[44h]命令在那之后,产生的温度数据以两个字节的形式被存储到高速暂存器的温度存放器中,DS18B20继续保持等待状态。
当DS18B20由外部电源供电时,总线控制器在温度转换指令之后发起“读时序〞〔见单总线系统节〕,DS18B20正在温度转换中返回0,转换完毕返回1如果DS18B20由寄生电源供电,除非在进入温度转换时总线被一个强上拉拉高,否如此将不会由返回值寄生电源的总线要求在DS18B20 供电节详细解释报警操作信号DS18B20完成一次温度转换后,就拿温度值与和存储在TH和TL中一个字节的用户自定义的报警预置值进展比拟标志位〔S〕指出温度值的正负:正数S=0,负数S=1TH和TL存放器是非易失性的,所以它们在掉电时仍然保存数据在存储器节将解释TH和TL是怎么存入高速暂存器的第2和第3个字节的TH 和TL 存放器格式图3当TH和TL为8位存放器时,4位温度存放器中的11个位用来和TH、TL进展比较如果测得的温度高于TH 或低于TL,报警条件成立,DS18B20 内部就会置位一个报警标识每进展一次测温就对这个标识进展一次更新;因此,如果报警条件不成立了,在下一次温度转换后报警标识将被移去总线控制器通过发出报警搜索命令[ECh]检测总线上所有的DS18B20 报警标识任何置位报警标识的DS18B20将响应这条命令,所以总线控制器能准确定位每一个满足报警条件的DS18B20。
如果报警条件成立,而TH或TL的设置已经改变,另一个温度转换将重新确认报警条件DS18B20 供电DS18B20可以通过从VDD引脚接入一个外部电源供电,或者可以工作于寄生电源模式,该模式允许DS18B20工作于无外部电源需求状态寄生电源在进展远距离测温时是非常有用的寄生电源的控制回路见图1,当总线为高电平时,寄生电源由单总线通过VDD引脚这个电路会在总线处于高电平时偷能量,局部汲取的能量存储在寄生电源储能电容〔Cpp〕内,在总线处于低电平时释放能量以提供应器件能量当DS18B20处于寄生电源模式时,VDD引脚必须接地寄生电源模式下,单总线和Cpp在大局部操作中能提供充分的满足规定时序和电压的电流〔见直流电特性和交流电特性节〕给DS18B20然而,当DS18B20正在执行温度转换或从高速暂存器向EPPROM传送数据时,工作电流可能高达这个电流可能会引起连接单总线的弱上拉电阻的不可承受的压降,这需要更大的电流,而此时Cpp无法提供为了保证DS18B20由充足的供电,当进展温度转换或拷贝数据到EEPROM操作时,必须给单总线提供一个强上拉用漏极开路把I/O直接拉到电源上就可以实现,见图4在发出温度转换指令[44h]或拷贝暂存器指令[48h]之后,必须在至多10us之内把单总线转换到强上拉,并且在温度转换时序(tconv)或拷贝数据时序(ter=10 ms)必须一直保持为强上拉状态。
当强上拉状态保持时,不允许有其它的动作对DS18B20供电的另一种传统方法是从VDD引脚接入一个外部电源,见图5这样做的好处是单总线上不需要强上拉而且总线不用在温度转换期间总保持高电平温度高于100℃时,不推荐使用寄生电源,因为DS18B20在这种温度下表现出的漏电流比拟大,通讯可能无法进展在类似这种温度的情况下,强烈推荐使用DS18B20的VDD引脚对于总线控制器不直到总线上的DS18B20是用寄生电源还是用外部电源的情况,DS18B20 预备了一种信号指示电源的使用意图总线控制器发出一个Skip ROM指令[CCh],然后发出读电源指令[B4h],这条指令发出后,控制器发出读时序,寄生电源会将总线拉低,而外部电源会将总线保持为高如果总线被拉低,总线控制器就会知道需要在温度转换期间对单总线提供强上拉DS18B20 温度转换期间的强上拉供电图4外部电源给DS18B20 供电图564 位〔激〕光刻只读存储器每只DS18B20 都有一个唯一存储在ROM 中的64 位编码最前面8 位是单线系列编码:28h接着的48 位是一个唯一的序列号最后8 位是以上56 位的CRC 编码CRC的详细解释见CRC 发生器节。
64位ROM和ROM操作控制区允许DS18B20作为单总线器件并按照详述于单总线系统节的单总线协议工作64 位〔激〕光刻只读存储器图6存储器DS18B20的存储器结构示于图7存储器有一个暂存SRAM和一个存储上下报警触发值TH 和TL 的非易失性电可擦除EEPROM 组成注意当报警功能不使用时,TH和TL 存放器可以被当作普通存放器使用所有的存储器指令被详述于DS18B20功能指令节位0和位1为测得温度信息的LSB和MSB这两个字节是只读的第2和第3字节是TH和TL的拷贝位4 包含配置存放器数据,其被详述于配置存放器节位5,6 和7被器件保存,禁止写入;这些数据在读回时全部表现为逻辑1高速暂存器的位8是只读的,包含以上八个字节的CRC码,CRC的执行方式如CRC发生器节所述数据通过写暂存器指令[4Eh]写入高速暂存器的2,3和4位;数据必须以位2为最低有效位开始传送为了完整的验证数据,高速暂存器能够在数据写入后被读取〔使用读暂存器指令[BEh]〕在读暂存器时,数据以位0为最低有效位从单总线移出总线控制器传递从暂存器到EEPROMTH,TL和配置数据必须发出拷贝暂存器指令[48h]EEPROM 存放器中的数据在器件掉电时仍然保存;上电时,数据被载入暂存器。
数据也可以通过召回EEPROM命令从暂存器载入EEPROM总线控制器在发出这条命令后发出读时序,DS18B20返回0表示正在召回中,返回1表示操作完毕DS18B20 存储器图图7*上电状态依赖于EEPROM中的值配置存放器存储器的第4位为配置存放器,其组织见图8用户可以通过按表3所示设置R0和R1位来设定DS18B20的精度上电默认设置:R0=1,R1=1〔12位精度〕注意:精度和转换时间之间有直接的关系暂存器的位7和位0-4被器件保存,禁止写入;在读回数据时,它们全部表现为逻辑1配置存放器图8温度计准确度配置表3CRC 发生器CRC字节作为DS18B2064 位ROM的一局部存储在存储器中CRC码由ROM的前56位计算得到,被包含在ROM的重要字节当中CRC由存储在存储器中的数据计算得到,因此当存储器中的数据发生改变时,CRC的值也随之改变CRC能够在总线控制器读取DS18B20时进展数据校验为校验数据是否被正确读取,总线控制器必须用承受到的数据计算出一个CRC 值,和存储在DS18B20 的64 位ROM 中的值〔读ROM 时〕或DS18B20 内部计算出的8 位CRC 值〔读存储器时〕进展比拟。
如果计算得到的CRC值和读取出来的CRC值相吻合,数据被无错传输CRC 值的比拟以与是否进展下一步操作完全由总线控制器决定当在DS18B20中存储的或由其计算到CRC值和总线控制器计算的值不相符时,DS18B20内部并没有一个能阻止命令序列进展的电路CRC的计算等式如下:CRC = X8 + X5 + X4 + 1单总线CRC可以由一个由移位存放器和XOR门构成的多项式发生器来产生,见图9这个回路包括一个移位存放器和几个XOR 门,移位存放器的各位都被初始化为0从ROM中的最低有效位或暂存器中的位0开始,一次一位移入存放器在传输了56位ROM中的数据或移入了暂存器的位7后,移位存放器中就存储了CRC值下一步,CRC的值必须被循环移入此时,如果计算得到的CRC是正确的,移位存放器将复0CRC 发生器图9单总线系统单总线系统包括一个总线控制器和一个或多个从机DS18B20总是充当从机当只有一只从机挂在总线上时,系统被称为“单点〞系统;如果由多。
