logo资料库

DS18B20中文手册.pdf

第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
资料共22页,剩余部分请下载后查看
达拉斯 DS18B20 半导体 可编程分辨率的 单总线®数字温度计 特征 引脚排列 l 独特的单线接口仅需一个端口引脚 进行通讯 l 每个器件有唯一的 64 位的序列号存 储在内部存储器中 l 简单的多点分布式测温应用 l 无需外部器件 l 可通过数据线供电。供电范围为3.0V 到 5.5V。 l 测温范围为-55~+125℃(-67~+ 257℉) l 在-10~+85℃范围内精确度为±5 ℃ l 温度计分辨率可以被使用者选择为 9~12 位 l 最多在 750ms 内将温度转换为 12 位 数字 l 用户可定义的非易失性温度报警设 置 l 报警搜索命令识别并标志超过程序 限定温度(温度报警条件)的器件 l 与 DS1822 兼容的软件 l 应用包括温度控制、工业系统、消费 品、温度计或任何热感测系统 引脚说明 GND -地 DQ -数据 I/O VDD -可选电源电压 NC -无连接
说明 DS18B20 数字温度计提供 9-12 位摄氏温度测量而且有一个由高低电平触发的可 编程的不因电源消失而改变的报警功能。DS18B20 通过一个单线接口发送或接受 信息,因此在中央处理器和 DS18B20 之间仅需一条连接线(加上地线)。它的测 温范围为-55~+125℃,并且在-10~+85℃精度为±5℃。除此之外,DS18B20 能直接从单线通讯线上汲取能量,除去了对外部电源的需求。 每个 DS18B20 都有一个独特的 64 位序列号,从而允许多只 DS18B20 同时连在 一根单线总线上;因此,很简单就可以用一个微控制器去控制很多覆盖在一大片 区域的 DS18B20。这一特性在 HVAC 环境控制、探测建筑物、仪器或机器的温 度以及过程监测和控制等方面非常有用。 详细的引脚说明 表 1 8 引脚 SOIC 封装* TO-9 封装 符号 5 4 说明 DQ 数据输入/输出引脚。对于单线操作: 漏极开路。当工作在寄生电源模式时 用来提供电源(建“寄生电源”节)。 1 2 GND 接地。 3 3 VDD 可选的 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 位,分别以 0.5℃,0.25℃,0.125℃和 0.0625℃增量 递增。在上电状态下默认的精度为 12 位。DS18B20 启动后保持低功耗等待状态; 当需要执行温度测量和 AD 转换时,总线控制器必须发出[44h]命令。在那之后, 产生的温度数据以 两个字节的形式被存储到 高速暂存器的温度 寄存器中, DS18B20 继续保持等待状态。当 DS18B20 由外部电源供电时,总线控制器在温度 转换指令之后发起“读时序”(见单总线系统节),DS18B20 正在温度转换中返回 0,转换结束返回 1。如果 DS18B20 由寄生电源供电,除非在进入温度转换时总线 被一个强上拉拉高,否则将不会由返回值。寄生电源的总线要求在 DS18B20 供电 节详细解释。 温度寄存器格式 图 2
温度/数据关系 表 2 温度 ℃ 数据输出(二进制) 数据输出(十六进制) +125 +85 +25.0625 +10.125 +0.5 0 -0.5 -10.125 -25.0625 -55 *上电复位时温度寄存器默认值为+85℃ 0000 0111 1101 0000 07D0h 0000 0101 0101 0000 0000 0001 1001 0001 0000 0000 1010 0010 0000 0000 0000 1000 0000 0000 0000 0000 0000h 1111 1111 1111 1000 1111 1111 0101 1110 1111 1110 0110 1111 1111 1100 1001 0000 0550h 0191h 00A2h 0008h FFF8h FF5Eh FE6Eh FC90h 报警操作信号 DS18B20 完成一次温度转换后,就拿温度值与和存储在 TH 和 TL 中一个字节的用 户自定义的报警预置值进行比较。标志位(S)指出温度值的正负:正数 S=0,负 数 S=1。TH 和 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 传送数据时,工作电流可能高达 1.5mA。 这个电流可能会引起连接单总线的弱上拉电阻的不可接受的压降,这需要更大的 电流,而此时 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 供电 图 5
64 位(激)光刻只读存储器 每只 DS18B20 都有一个唯一存储在 ROM 中的 64 位编码。最前面 8 位是单线系列 编码:28h。接着的 48 位是一个唯一的序列号。最后 8 位是以上 56 位的 CRC 编 码。CRC 的详细解释见 CRC 发生器节。64 位 ROM 和 ROM 操作控制区允许 DS18B20 作为单总线器件并按照详述于单总线系统节的单总线协议工作。 64 位(激)光刻只读存储器 图 6 8 位 CRC 8 位系列码 48 位序列号 存储器 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 温度计精确度配置 表 3
CRC 发生器 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 是正确的, 移位寄存器将复 0。 CRC 发生器 图 9 单总线系统 单总线系统包括一个总线控制器和一个或多个从机。DS18B20 总是充当从机。当 只有一只从机挂在总线上时,系统被称为“单点”系统;如果由多只从机挂在总 线上,系统被称为“多点”。 所有的数据和指令的传递都是从最低有效位开始通过单总线。
分享到:
收藏