■高速缓冲(暂存)存储器 MSB LSB CRC字节 保留 保留 保留 配置寄存器 TL TH 配置寄存器 TL TH 温度值 E2PROM- 由9个字节组成,温度值以二字节补码形式存放在第0和第1个 字节。 ■12位格式 扩展的符号位 S 27 26 25 29 23 21202-1 2-22-32-4 MSB LSB 温度计算: S=0时,直接将二进制位转换为十进制; S=1时,先将补码变为原码,再计算十进制值。 内蒙古农业大学机电三程学院
7 高速缓冲(暂存)存储器 CRC字节 保留 配置寄存器 MSB TH LSB 温度值 保留 保留 TL TL TH E2PROM 配置寄存器 由9个字节组成,温度值以二字节补码形式存放在第0和第1个 字节。 MSB 2-4 LSB 2-2 2-3 2 S S S S 26 25 24 23 22 21 20 -1 扩展的符号位 27 12位格式 温度计算: S=0时,直接将二进制位转换为十进制; S=1时,先将补码变为原码,再计算十进制值
DS18B20采样值与温度值关系举例 二进制采样值 十六进制表示 十进制温度/℃ 0000011111010000 07D0H +125 0000000110010001 0191H +25.0625 0000000000001000 0008H +0.5 0000000000000000 0000H 0 1111111111111000 FFF8H -0.5 1111111001101111 FE6FH -25.0625 1111110010010000 FC90H -55 补码转换为原码:符号位不变, 数值位按位取反,末位再加1。 配置寄存器: 7FH,即分辨率为12位一750ms 位: D7 D6 D5 D4 D3 D2 DO R1 RO 内蒙古农业大学机电工程学院
8 补码转换为原码:符号位不变,数值位按位取反,末位再加1。 DS18B20采样值与温度值关系举例 二进制采样值 十六进制表示 十进制温度 /℃ 0000 0111 1101 0000 07D0H +125 0000 0001 1001 0001 0191H +25.0625 0000 0000 0000 1000 0008H +0.5 0000 0000 0000 0000 0000H 0 1111 1111 1111 1000 FFF8H -0.5 1111 1110 0110 1111 FE6FH -25.0625 1111 1100 1001 0000 FC90H -55 配置寄存器: 位: D7 D6 D5 D4 D3 D2 D1 D0 0 R1 R0 1 1 1 1 7FH,即分辨率为12位—750ms
3.DS18B20操作命令 ROM操作命令 指令 约定代码 功能 读ROM 33H 读DS1820温度传感器ROM中的编码(即64 位地址) 符合ROM 55H 发出此命令之后,接着发出64位ROM编码, 访问单总线上与该编码相对应的DS1820使之做 出响应,为下一步对该DS1820的读写做准备。 搜索ROM FOH 用于确定挂接在同一总线上DS1820的个数和 识别64位ROM地址,为操作各器件作好准备。 跳过ROM CCH 忽略64位ROM地址,直接向DS1820发温度变 换命令,适用于单片工作。 告警搜索 ECH 执行后只有温度超过设定值上限或下限的片子 才做出响应。 内蒙古农业大学机电王程学院
9 3.DS18B20操作命令 ROM操作命令 指 令 约定代码 功 能 读ROM 33H 读DS1820 温度传感器ROM 中的编码(即64 位地址) 符合ROM 55H 发出此命令之后,接着发出 64 位 ROM 编码, 访问单总线上与该编码相对应的 DS1820 使之做 出响应,为下一步对该 DS1820 的读写做准备。 搜索ROM F0H 用于确定挂接在同一总线上 DS1820 的个数和 识别64 位 ROM 地址,为操作各器件作好准备。 跳过ROM CCH 忽略64位ROM地址,直接向 DS1820 发温度变 换命令,适用于单片工作。 告警搜索 ECH 执行后只有温度超过设定值上限或下限的片子 才做出响应
RAM操作命令 指令 约定代码 功能 温度变换 44H 启动DS1820进行温度转换,12位转换时最长 为750ms(9位为93.75ms)。结果存入内部9 字节RAM中。 读暂存器 BEH 读内部RAM中9字节的内容 写暂存器 4EH 向DS18B20写TH、TL及配置寄存器数据命令, 紧跟该命令之后,是传送两字节的数据。 复制暂存器 48H 将缓冲器的TH、TL和配置寄存器值送EEPROM。 重调(回读) B8H 将EEPROM中的TH、TL和配置寄存器值送缓冲 EEPROM 器。 读供电方式 B4H 读DS1820的供电模式。寄生供电时DS1820发 送“0”,外接电源供电DS1820发送“1” 内蒙古农业大学机电工程学院 10
10 RAM操作命令 指 令 约定代码 功 能 温度变换 44H 启动DS1820 进行温度转换,12 位转换时最长 为750ms(9 位为93.75ms)。结果存入内部9 字节RAM 中。 读暂存器 BEH 读内部RAM 中9 字节的内容 写暂存器 4EH 向DS18B20写TH、TL及配置寄存器数据命令, 紧跟该命令之后,是传送两字节的数据。 复制暂存器 48H 将缓冲器的TH、TL和配置寄存器值送EEPROM。 重调(回读) EEPROM B8H 将EEPROM中的TH、TL和配置寄存器值送缓冲 器。 读供电方式 B4H 读DS1820 的供电模式。寄生供电时DS1820 发 送“0”, 外接电源供电 DS1820 发送“1
4.DS18B20操作时序 ■初始化时序 至少480μs 电阻 上拉 15-60μs 单片机发送复位脉冲 18B20应答脉冲 至少480μs 60-240μs GND 图例: 主机拉低 DS18B20拉低 上拉电阻拉高 命令和数据的传输:从主机主动启动写时序开始,如果 要求从机回送数据,在进行写命令后,主机需启动读时 序完成数据接收。数据的传输都是低位在先。 至李 内蒙古农业大学机电王程学院
11 4. DS18B20操作时序 初始化时序 命令和数据的传输:从主机主动启动写时序开始,如果 要求从机回送数据,在进行写命令后,主机需启动读时 序完成数据接收。数据的传输都是低位在先