1、 DS18B20 单总线数字温度计 1. DS18B20 的特性 ( 1) 独特的单总线接口只占用一个 I/O 端口,而无需外围元件; ( 2) 可以由总线提供电源,电压适用范围为 3.0V5.5V; ( 3) 测温温度范围为 -55 +125,在 -10 +85范围内精度为0.5; ( 4) 每个 DS18B20 含有一个唯一的 64 为 ROM 编码; ( 5) 用户可以通过编程实现 912 位的温度分辨率; ( 6) 分辨率为 12 时最大转换时间为 750ms; ( 7) 报警搜索命令可识别哪片 DS18B20 温度超限; ( 8) 采用 3 脚 T0-92 或 8 脚 SOIC 封装
2、。 2、 DS18B20 的内部结构 DS18B20 的内部结构如图 1 所示。主要包括:寄生电源、温度传感器、 64 位激光 ROM 和单总线接口、存放中间数据的高速暂存器 RAM、用于存储用户设定温度上下限值的 TM 和 TL 触发器、存储和控制逻辑、 8 位 循环冗余校验码发生器等。温度转换为数的改变时通过改变寄存器的值来实现的,用户可以根据需要将DS18B20 的温度转化位数设置为 9, 10,11,12 位。温度报警触发器的设置寄存器都由非易失性电可擦写存储器( EEPROM)组成,设置值可以通过相应命令写入,一旦写入后不会 因为掉电而丢失。 图 1 DS18B20 的结构框图 3、
3、 DS18B20 的各个 ROM 命令 ( 1) Search ROM0F0H 当一个系统初次启动时,总线控制器可能并不知道单总线上有多少器 件或它们 的 64 位 ROM 编码。搜索 ROM 命令允许总线控制器用排除法识别总线上的所有从机的 64 位编码。 ( 2) Read ROM 33H 这个命令允许总线控制器读到 DS18B20 的 8 位系列编码、唯一的序列号和 8 位 CRC 码。只有在总线上存在单只 DS18B20 的时候才能使用这个命令。如果总线上有不止一个从机,当所有从机试图同时传送信号时就会发生数据冲突。 (3) Match ROM 55H 这个是匹配 ROM 命令,后跟
4、64 位 ROM 序列,让总线控制器在多点总线上定位一只特定的 DS18B20。中有和 64 位 ROM 序列不匹配的从机都将等待复位脉冲。这条命令在总线上有单个或多个器件时都可以使用。 ( 4) Skip ROM 0CCH 这条命令允许总线控制器不用提供 64 位 ROM 编码就使用 存储器操作命令,在单点总线情况下,可以节约时间。如果总线上不止一个从机,在 Skip ROM命令之后跟着一条读命令,由于多个从机同时发送信号。总线上就会发生数据冲突。 ( 5) Alarm Search 0ECH 这条命令的流程和 Search ROM 相同。然而,只有在最近一次测温后遇到符合报警条件的情况,
5、DS18B20 才会响应这条命令。报警条件定义为温度高于 TH 或温度低于 TL。只要 DS18B20 不掉电,报警状态将一直保持,直到再一次测得的温度值达不到报警条件。 ( 6) Convert T 44H 这条命令启动一次温度转换无需其它数据。温度转换命令被执行,而后 DS18B20 保持等待状态。 如果总线控制器在这条命令之后跟着发出时间间隙,而 DS18B20 又忙于做时间转换的话, DS18B20 将在总线上输出 0,若温度转换完成,则输出 1.如果使用寄生电源,总线控制器必须在发出这条命令后立即启动强上拉,并保持 500ms 以上的时间。 ( 7) Write Scratchpad
6、 4EH 这条命令向 DS18B20 的暂存器 TH 和 TL 中写入数据。可以在任何时候发出复位命令来中止写入。 ( 8) Read Scratchpad 0BEH 这个命令暂存器的内容。读取从第 1 个字节开始,一直进行下去,知道 9( CRC)字节读完。如果不想读完所有字节,控制器可以在任何时候发出复位命令来中止读书。 (9) Copy Scratchpad 48H 这个命令把暂存器的内容拷贝到 DS18B20 的 EEPROM 存储器里,即把温度报警触发字节存入非易失性存储器里。如果总线控制器在这条命令之后跟着发出读时间隙,而 DS18B20 又忙于把存储器拷贝到 EEPROM 存储器
7、, DS18B20 就会输出一个 0,如果拷贝结束的话, DS18B20 则输出 1.如果使用寄生电源,总线控制器必须在这条命令发出后立即启动强上拉并最少保持 10ms. (10) Recall E2 0B8H 这条命令把报警触发器里的值拷贝回暂存器。这种拷贝操作在DS18B20 上电时自动执行,遮掩器件 一上电暂存器里马上就存在有效数据了。若在这条命令之后发出数据隙,器件会输出温度转换忙的标识: 0 为忙, 1 为完成。 DS18B20 Programmable Resolution 1-Wire Digital Thermometer 1、 DS18B20 FEATURES (1) Uni
8、que 1-Wire interface requires only one Port pin for communication, requires no external components (2) Each device has a unique 64-bit serial code stored in an onboard ROM (3) Can be powered form data line. Power supply range is 3.0V to 5.5.V (4) Measures temperatures form -55 to +125 , 0.5 accuracy
9、 from -10 to +85 (5) Thermometer resolution is user-selected from 9 to 12 bits (6) Converts temperature to 12-bit digital word in 750ms(max) (7) Alarm search command identifies and addresses devices whose temperature is outside of programmed limits (temperature alarm condition) (8) Available in 8-pi
10、n SOIC, and 3-bit TO -92 packages 2、 DS18B20 BLOCK DIAFRAM Figure 1 shows a block diagram of the DS18B20 , The 64-bite ROM stores the devices serial code. The scratchpad memory contains the 2-byte temperature register that stores the digital output from the temperature sensor. In addition, the scrat
11、chpad provides access to the 1-byte upper and lower alarm trigger register allows the user to set the resolution of the temperature-to-digital conversion to 9, 10, 11 or 12 bits. The TH 、 TL and configuration registers are nonvolatile(EEPROM), so they will retain data when the device is powered down.