外文翻译
图1.DS18B20方框图
4.运用-测量温度
DS18B20的核心功能是它的数字式温度器。温度传感器的分辨率是用户可配置的9位、10位、11位或12位,分别对应的增量为0.5°C, 0.25°C, 0.125°C, 和0.0625°C。系统上电默认值是12位及分辨率。DS18B20上电后处于空闲状态。为了初始化温度测量和进行AD转换,控制器必须发出一个转换温度命令。转换命令后,采集的温度数据存储在暂存器的2字节的温度寄存器中,然后DS18B20恢复到空闲状态。如果DS18B20是有外部供电,主机能在转换命令后发出“读时隙”命令,当温度转换在进行时DS18B20传输0、当转换完成时DS18B20传输1来响应主机。如果DS18B20采用寄生电源,这个响应方法就不能使用,因为总线在整个温度转换环节中必须保持高电平。
DS18B20输出温度数据是摄氏度标准,若要转为华氏温度,必须使用查表或转换子程序。温度数据以16位扩展补码信号存储在温度寄存器中(见图2)。符号位S表明温度是正还是负:温度正值时S=0.温度负值时S=1。如果DS18B20被设定为12位分辨率,温度寄存器中的所有位均为有效数据;对11位分辨率,位0无定义。对10位分辨率,位1和位0无定义;对9位分辨率,位2、位1和位0无定义。表1给出了数字输出数据和相应的12位分辨率温度读取转换。
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 低字节 23 S 22 S 21 S 20 S 2-1 S 2-2 26 2-3 25 2-4 24 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 高字节 图2.温度寄存器格式
温度 +125℃ +25.0625℃ 0℃ -25.0625℃ -55℃
数字输出(二进制) 0000 0111 1101 0000 0000 0001 1001 0001 0000 0000 0000 0000 1111 1110 0110 1111 1111 1100 1001 0000 17
数字输出(十六进制) 07D0H 0191H 0000H FE6FH FC90H 外文翻译
表1.温度/数据关系
5.64位激光ROM
每一个DS18B20包含一个存储在ROM中的独一无二的64位码(见图3)。ROM码的最低8位包含DS18B20的单总线产品系列码:28h。接着48位包含一个唯一的序列号。最高8位包含一个循环冗余校验(CRC)字节,由ROM码的前56位计算得来。64位ROM码和相关的ROM逻辑控制功能允许DS18B20使用单总线系统中详细协议来作为单总线设备运行。
8位CRC编号 48位序列号 图3.64位激光ROM码 8位产品系列编码 6.存储器
DS18B20的存储器如同图4中那样被组织。存储器由一个高速暂存RAM和一个非易失性电可擦除EEPROM组成,后者存储高温和低温触发器(TH和TL)和配置寄存器。如果DS18B20不使用告警功能,那么TH、TL和配置寄存器就作为通用寄存器使用。
暂存器的字节0和字节1分别包含温度寄存器的最低有效位和最高有效位。这些字节是只读的。字节2和字节3提供提供TH和TL寄存器的接口。字节4包含配置寄存器数据,字节5、6和7是为设备内部使用而预留的,不可以被重写。暂存器的字节8是只读的,包含暂存器从字节0到字节7的值。DS18B20使用CRC产生一节中的方法形成这个CRC码。
数据被写暂存器命令写在暂存器的字节2、3和4中,数据从字节2的最低有效位开始写入DS18B20。为了检验数据完整性,在数据被写入之后可以读取暂存器(使用读暂存器命令)。当读取暂存器时,数据通过单总线从字节0的最低有效位开始传输。为了把暂存器中的TH、TL和配置寄存器的数据传输到EEPROM中,主机必须发出复制暂存器命令。
Byte0 Byte1
温度测量值低8位 LSB 温度测量值高8位 MSB 18
外文翻译
Byte2 Byte3 Byte4 Byte5 Byte6 Byte7 TH高温寄存器 TL低温寄存器 配置寄存器 预留(FFH) 预留(OCH) 预留(IOH) Byte8 循环冗余码校验(CRC) 图4.DS18B20存储器映射 7.配置寄存器
高速暂存存储器的字节4包含配置寄存器,正如图5中那样定义。用户能通过表2中寄存器R0和R1位来设置DS18B20的转换精度。这些位的上电默认值是R0=1和R1=1(12位分辨率)。在分辨率和转换时间之间有个直接的折衷。配置寄存器中位7和位0至位4为设备内部使用作预留,而且不能被重写。 位7 TM 位6 R1 位5 R0 位4 1 位3 1 位2 1 位1 1 位0 1 图5.配置寄存器
R0 0 0 1 1 R1 0 1 0 1 分辨率 9位 10位 11位 12位 温度最大转换时间(ms) 93.75 187.5 375 750 表2.温度分辨率配置
8.单总线系统
一线总线系统使用单总线主控来控制一个或多个从机设备。DS18B20一直是个从机。当总线上只有一个从机时,系统被称为“单站”体系,如果总线上有多个从机,系统就被称为“多站”体系。所有数据和命令通过单总线首先传输最低有效位。接下来的单总线系统讨论分为三个题目:硬件接法,处理顺序,和单线信号(信号类型与定时)。
9.处理顺序
19
外文翻译
访问DS18B20的处理顺序如下: 第一步,初始化
第二步,ROM命令(随后是必要数据交换命令)
第三步,DS18B20功能命令(随后是必要的数据交换命令)
DS18B20每一次被访问时都必须遵循这个顺序,因为如果在这个顺序中任何一步丢失或乱序的话DS18B20都不会响应主机。此规则的例外就是是搜索命令和告警搜索命令。在发出两者之一的ROM命令后,主机必须返回到处理顺序的第一步,也就是初始化。 (1)初始化
单总线上的所有数据交换都开始于初始化序列。初始化序列包含一个由主机发出的复位脉冲,以及由从机传送的应答脉冲。应答脉冲时主机知道从机设备(例如DS18B20)在总线上并已准备好工作。 (2)ROM命令
在总线主机检测到一个应答脉冲后,就可以发出一个ROM命令。这些命令的运行基于每一个从机设备的唯一64位ROM码,当总线上有多个设备存在时能使主机能够检测出特定的设备。如果没有从机设备处于告警状态时,这些命令还能使主机检测有总线上有多少数量和类型的设备。共有五种ROM命令,每一个命令均是8位长。主机设备必须在发DS18B20功能命令之前发出合适的ROM命令。ROM命令操作流程表在图中给出。 1.搜索ROM命令 F0H
当系统上电初始化时,主机必须检测总线上的所有从机设备的ROM码,是主机能够确定设备的数目和类型。主机通过淘汰过程获得ROM码,这需要主机执行多次搜索命令循环(搜索后是数据交换)直到检测所有的从机设备。如果总线上只有一个从机,那么更为简单的读ROM命令可以代替搜索命令来处理。 2.读ROM命令 33H
这个命令只能用于总线上仅有一个从机的情况。此命令允许主机读取从机
20
相关推荐: