UMW,主机地址怎么算

主机 8
UMWR 特点 单总线接口,节约布线资源应用简单,无需额外器件转换温度时间500ms可编程9~12位数字输出宽供电电压范围2.5V-5.5V每颗芯片有可编程的ID序列号用户可自行设置报警值超强ESD保护能力(HBM>8000V)典型待机电流功耗1µA@3V典型换电流功耗0.6mA@3V 典型应用 便携应用,手机与穿戴设备温度监控粮情监测智能家电系统水温测量建筑、设备或机房内部温度监测系统过程监测和控制系统 UMWDS18B20 概述 DS18B20是一款高精度的单总线温度测量芯 片。
温度传感器的测温范围为-55°C到+125°C;根据用户需要通过配置寄存器可以设定数字转换精度和测温速度。
芯片内置4byte非易失性存储单元供用户使用,2byte用于高低温报警,另外2byte用于保存用户自定义信息。
在-10°C到+85°C范围内 最大误差为±0.4°
C。
用户可自主选择电源供电模式和寄生供电模式。
单总线接口允许多个设备挂在同一总线,该特性使 得DS18B20H也非常便于部署分布型温度采集系统。
管脚图和管脚描述 MSOP8 引脚名称GND DQVDD 功能地线 单总线通信接口,寄生模式时供电端口电源线(2线通信时接地,以保证芯片内正确识别VDD状态))
1 友台半导体有限公司 UMWR UMWDS18B20 VPU4.7K 寄生电源电路 内部VDD 64位ROM 和单总线接口 供电感应 存储控制逻辑 DS18B20 温度传感器 暂存器 报警触发(THTL)寄存器(E2PROM) 配置寄存器(E2PROM) 2字节用户寄存器(E2PROM) 8位循环冗余校验产生器 图1DS18B20框图 结构框图 图1是DS18B20的原理框图。
64位ROM存储了器件的唯一序列码。
暂存器包含了两个字节的温度寄存器,存储来自于温度传感器的数字输出。
另外,暂存器提供了一高一低两个报警触发阈值寄存器(TH和TL)。
配置寄存器允许用户设定温度数字转换的分辨率为9,10,11或12位。
2个字节的用户可编程E2PROM是非易失性存储,器件掉电时数据不会失去。
DS18B20使用单总线协议,总线通讯通过一根控制信号线实现。
控制线需要一个弱上拉电阻这样 所有的器件都通过三态或者开漏极端口(就是DS18B20的DQ引脚)连接到总线上。
在这个总线系统中,单片机(主机)通过每个器件的唯一64位编码识别并寻址总线上的器件。
因为每个器件都有唯一的编码,实际上挂在总线上并可以被寻址的设备数量是无限的。
单总线协议,包括详细的指令与时隙描述在单总线系统章节有详细描述。
DS18B20的另一个特点是其可以不需要额外供电运行。
这种情况下供电是总线为高的时候,通过单总线在DQ引脚上的上拉电阻提供给器件的。
总线高信号对一个内部电容充电,然后在总线低的时候,内部电容就会维持对器件供电。
这种从单总线获取电源的方法被称为“寄生供电”。
当然DS18B20也可以通过VDD由外部供电。

2 友台半导体有限公司 UMWR 运行-测量温度 DS18B20的核心功能是直接数字测温。
温度传感器的分辨率是9,10,11,12位用户可配置的,对应的温度分度分别是0.5°C,0.25°C,0.125°
C,和0.0625°
C。
上电后的默认分辨率是12位。
DS18B20在低功耗空闲状态下上电,要启动温度测量和模数转换,主机必须发出ConvertT[44h]指令。
转换之后,产生的温度数据被存储在暂存器的2个字节的温度寄存器中然后DS18B20返回空闲状态。
如果DS18B20从外部供电,主机可以在ConvertT[44h]指令后发布“读时隙”指令(参考单总线系统章节),然后DS18B20发回响应,若温度转换还在进行中为
0,若已完成温度转换为
1。
如 UMWDS18B20 果DS18B20由寄生电源供电,则不能使用此通知技术,因为总线在整个温度转换期间必须被强上拉。
寄生电源下对总线的要求,在给DS18B20供电章节中有详细解释。
DS18B20的温度输出数据是摄氏度格式,对于华氏度的应用,必须使用查表或转换子程序。
温度数据存储为16位符号扩展温度寄存器中的二进制补码(见图2)。
符号位(S)指示温度为正或负:对于正数S=
0,对于负数S=
1。
如果DS18B20配置为12位分辨率,温度寄存器中的所有位都将包含有效数据。
对于11位分辨率,位0未定义。
对于10位分辨率,位1和0未定义,对于9位 分辨率位2,1和0未定义。
表1给出了在12位分辨率转换条件下,数字输出数据的示例以及相应的温度读数 LS字节 ADDR0 MS字节
1 bit723 bit15S bit622 bit14S bit521 bit13S bit420 bit12S bit32-1bit11S bit22-2bit1026 bit12-3 bit925 bit02-4 bit824 图2温度寄存器格式 温度(°C)+125 +85*+25.0625+10.125+0.50-0.5-10.125-25.0625-55 数字输出(二进制)0000011111010000 000000000000000000001111111111111111 010100010000000000001111111111101100 010110011010000000001111010101101001 000000010010100000001000111011110000 表1温度/数据对应关系 数字输出(16进制)07D0h 0550h0191h00A2h0008h0000hFFF8hFF5EhFE6FhFC90h
3 友台半导体有限公司 UMWR 运行-报警信号 DS18B20完成一次温度转换后,就将该温度值和用户定义的二进制补码报警触发值比较,该值存储在TH和TL寄存器中(见图3)。
符号位S表示该值是正还是负:正数S=0负数S=
1。
TH和TL寄存器是非易失性的(E2PROM)所以当设备掉电时数据会保持。
TH和TL可以通过暂存器的第2和第3字节访问,详细请参考存储章节。
由于TH和TL是8位寄存器,因此在温度比较 UMWDS18B20 中只有只用到11到4位。
如果测量到的温度小于等于TL或大于等于TH,则报警条件成立,DS18B20内部会设立一个标志位。
该标志位每次温度测量都会被更新,所以如果报警条件不再满足,标志位就会在下次温度转换之后被关闭。
主机可以通过发布一个AlarmSearch[ECh]指令来检查所有挂在总线上的DS18B20的标志位状况。
任何设立了标志位的DS18B20都会响应该指令,这样主机可以知道具体哪一个DS18B20进入了报警条件。
如果报警条件成立并且TH或者TL设置被更改,则应该再进行一次温度转换来验证报警条件。
高温报警(TH)低温报警(TL) ADDR2
3 bit7S bit15S bit626 bit1426 bit525 bit1325 bit424 bit1224 bit323 bit1123 bit222 bit1022 bit121 bit921 bit020 bit820 图3TH和TL寄存器格式 给DS18B20供电 DS18B20可以通过VDD引脚由外部电源供电,也可以工作在“寄生电源”模式,这个模式可以让DS18B20在没有本地外围供电的情况下仍然工作。
寄生电源对于远程测温或者空间受限的应用非常有用。
图1显示了DS18B20的寄生电源控制电路,这种情况下通过DQ脚在总线高的情况下从单总线“窃取”电源。
窃取的电荷在总线高的情况下对DS18B20供电,同时一部分电荷存储在寄生电源电容上用于在总线低的情况下提供电源。
当DS18B20工作在寄生电源模式下,VDD引脚必须连接到地。
在寄生电源模式下,只要满足时序和电压要求(参考直流与交流电气特性),单总线和寄生电源电容就 可以为DS18B20提供足够的电流。
但是当DS18B20执行温度转换或者从暂存器到E2PROM复制数据时,运行电流可以高至1.5毫安。
这个电流可能引起单总线的弱上拉电阻的压降超限,而且这个电流超过了寄生电源电容可以提供的范围。
为了确保DS18B20有足够的供电电流,在任何发生温度转换或者数据从暂存器复制到E2PROM的情况下,都有必要对单总线提供一个强上拉。
这个强上拉可以如图4中所示,用MOSFET把总线直接拉到电源轨来实现。
单总线在发布完ConvertT[44h]或者CopyScratchpad[48h]指令后,必须在10µs(最多)内切换到强上拉,并且总线在温度转换(tCONV)或数据传输(tWR=10ms)。
的过程中必须被上拉保持高。
当上拉被启动,单总线上不可以发生其他活动。
DS18B20也可以用传统模式通过外部电源供电
4 友台半导体有限公司 UMWR 到VDD引脚,如图5所示。
这种模式的优点是不需要MOSFET上拉,而且单总线在温度转换过程中可以任意进行其他操作。
在温度大于+100°C时不建议使用寄生电源因为DS18B20的漏电流在这种温度下会很高,可能难以让芯片保持通信。
对于类似这样极限温度的应用,强烈建议使用外部电源对DS18B20供电。
UMWDS18B20 有些情况下总线主机可能不知道DS18B20是寄生电源供电还是外部电源供电。
而主机需要这个信息以决定温度转换期间是否应该使用强上拉。
为了得到这一信息,主机可以发布一个SkipROM[CCh]指令后跟随ReadPowerSupply[B4h]指令,后跟一个“读时隙”。
在读时隙期间,寄生电源DS18B20会把总线拉低,外部供电的DS18B20会让总线保持高。
如果总线拉低,主机就知道它一定要在温度转换过程中对单总线保持强上拉。
VPU 微处理器 VPU4.7K DS18B20GNDDQVDD …… DS18B20GNDDQVDD 单总线…… 接其他单总线设备 微处理器 图4在DS18B20温度转换期间通过寄生电源供电 VPU4.7K DS18B20GNDDQVDD 外部电源…… DS18B20GNDDQVDD 外部电源 单总线…… 接其他单总线设备 图5用外部电源对DS18B20供电 64位ROM编码 每一个DS18B20都包含一个唯一的64位编码(见图6)存储在ROM里。
最低位8位ROM编 码包含了DS18B20的单总线系列代码:28h。
接下来48位包含一个唯一的序列码。
最高位8位包含了从前面56位ROM编码产生的循环冗余校验码。
64位ROM编码和相关的ROM功能控制逻辑使得DS18B20可以作为一个单总线器件使用单总线协议。
单总线协议在单总线系统章节中有详述。

5 友台半导体有限公司 UMWR 8位循环冗余校验MSB 48位序列号LSBMSB UMWDS18B20 8位产品系列码 LSBMSB LSB 图664位激光ROM编码 存储 DS18B20的存储组织如图7所示。
存储器包含一个SRAM暂存器以及非易失性存储E2PROM寄存器,用于存储高低报警触发值(TH和TL),配置寄存器和2字节用户可编程E2PROM。
需要注意的是,如果DS18B20的报警功能没有被使用,则TH和TL寄存器可以用作通用存储。
所有存储指令都在DS18B20功能指令章节有详细描述。
暂存器字节0和字节1是只读的。
字节2和字节3用于访问TH和TL寄存器。
字节4包含配置寄存器数据,在配置寄存器章节中有详细解释。
字节5是内部用途不可以被改写。
字节6和7是用户可以自由使用的。
字 节8为只读寄存器,是字节0到7产生的循环冗余校验码。
DS18B20通过循环冗余校验码生成章节中所述的规则来产生这个码。
数据可以通过WriteScratchpad[4Eh]指令写入到字节2,3,4,5,
6,和7中。
数据传输必须始于字节2的最低位。
为了验证数据完整性,可以在数据写操作之后读取暂存器(通过Scratchpad[BEh]指令)。
读取暂存器的时候,单总线的数据传输始于字节0的最低位。
要把TH,TL和配置数据从暂存器传输到E2PROM,主机必须发出CopyScratchpad[48h]指令。
E2PROM寄存器中的数据掉电会保持,上电时会自动加载到相应的暂存器位置。
数据也可以通过RecallE2[B8h]指令随时重新加载。
主机可以在RecallE2[B8h]指令随后发送读时隙,然后DS18B20会返回状态,如果重新加载还在进行中返回
0,如果已经完成返回
1。
字节012345678 暂存器温度LSB(50h)温度MSB(05h)TH报警阈值上限TL报警阈值下限配置寄存器 保留用户寄存器3用户寄存器4CRC校验 属性只读只读读/写读/写读/写只读读/写读/写只读 E2PROM TH寄存器或用户寄存器1TL寄存器或用户寄存器2配置寄存器用户寄存器3用户寄存器
4 图7DS18B20存储映射
6 友台半导体有限公司 UMWR UMWDS18B20 配置寄存器 暂存器的字节4是配置寄存器,组织形式如图
8。
用户可以通过设定表2中的R0和R1位来配置 DS18B20的转换分辨率。
上电默认这些位是R0=1和R1=1(12位分辨率)。
请注意分辨率和转换时间是直接折衷关系(分辨率越高,转换时间越长;分辨率越低,转换时间越短)。
Bit7和bit0到4是为器件内用途保留的不能够被重写。
bit7bit6bit5bit4bit3bit2bit1bit0
0 R1R0
1 1
1 1
1 图8配置寄存器 R1 R0
0 0
0 0
1 0
1 1 分辨率9-bit10-bit11-bit12-bit 最大转换时间 93.75ms tCONV/8 187.5ms tCONV/4 375ms tCONV/2 750ms tCONV 表2温度计分辨率配置 循环冗余校验码生成 循环冗余校验字节是DS18B20的64位ROM编码的一部分,位于暂存器的第9个字节。
ROM编码循环冗余校验是从ROM编码的前56位计算得来,存储在ROM的最高位。
暂存器的循环冗余校验码是在暂存器内计算的来,因此随暂存器内数据改变而改变。
循环冗余校验码给主机从暂存器读取数据提供了一个数据校验方法。
要验证数据读取是否正确,主机必须自己通过接收到的数据进行计算并将此数据与ROM里的循环冗余校验码比较(来自于ROM读操作)或者与暂存器里的循环冗余校验码比较(来自于暂存器读操作)。
如果计算的循环冗余校验码与读取的温和,数据就是正确无误的接收了。
循环冗余校验的比较以及是否继续操 作都完全取决于主机。
如果DS18B20的循环冗余校验(ROM或暂存器)与总线主机计算的值不匹配,DS18B20内没有电路阻止指令进一步执行。
循环冗余校验码(ROM或暂存器)的等效多项式函数是: CRC=X8+X5+X4+1总线主机可以可以重新计算循环冗余校验码并与DS18B20产生的循环冗余校验数值比较,该值通过图9的多项式发生器产生。
该电路包含一个移位寄存器和若干异或门,移位寄存器的各位都初始化为
0。
从ROM数据的最低位或暂存器中字节0的最低位开始,每次移动一个位到移位寄存器。
直到ROM的第56位或暂存器的字节7的最高位移完,多项式发生器里就会存储重新计算过的循环冗余校验。
接下来,DS18B20的8位ROM或者暂存器循环冗余校验数据必须被移入电路。
到这里,如果重新计算的循环冗余校验是正确的,移位寄存器内应该全是
0。

7 友台半导体有限公司 UMWR (最高位) UMWDS18B20 或非 或非 输入 或非(最低位) 图9循环冗余校验生成器 单总线系统 单总线系统使用单一总线主机控制一个或多个从设备。
DS18B20永远位从设备。
当总线上只有 硬件配置 根据定义,单总线只有一根数据线。
每个设备(主或从)通过开漏极或三态端口与数据线相连。
这就可以允许设备在没有传输数据的时候“释放”数据线,因而总线可以给其他设备使用。
一个从设备,系统被称为“单点”系统;当总线上有多个从设备,称为“多点”系统。
所有数据和指令在单总线上传输都始于最低位。
以下单总线系统的描述被分为三个题目:硬件配置,传输序列,以及单总线信令(信号类型和时序) DS18B20的单总线端口(DQ引脚)内部等效电路是漏极开路,如图10所示。
单总线要求一个大约5KΩ的外部上啦电阻;这样,单总线的空闲状态就是高电平。
如果出于任何原因传输需要暂停,在传输未返回之前,总线必须保持空闲状态。
在恢复过程中,只要单总线保持在非活动(高电平)状态,数据位之间的恢复时间可以无限长。
如果总线被拉低超过480µs,所有挂在总线上的器件将被复位。
上拉电源 DS18B20单总线端口 4.7K DQ引脚 单总线 接收 接收 发送 发送 100ΩMOSFET 图10硬件配置
8 友台半导体有限公司 UMWR UMWDS18B20 传输序列 访问DS18B20的传输序列如下:步骤1初始化步骤2ROM指令(跟随任意必需的数据 交换)步骤3DS18B20功能指令(跟随任意必 需的数据交换) 每次访问DS18B20都确保这个顺序非常重要,因为任何步骤缺失或者顺序不对都会导致DS18B20不响应。
只有SearchROM[F0h]和AlarmSearch[ECh]指令可以例外。
当这些ROM指令发布之后,主机必须返回序列中的步骤
1。
初始化 通过单线总线的所有执行(处理)都从一个初始化序列开始。
初始化序列包括一个由总线控制器 发出的复位脉冲和跟随其后由从机发出的存在脉冲。
存在脉冲让总线主机知道从设备(如DS18B20)在总线上且已准备好运行。
复位与存在脉冲的时序在单总线信令章节详述。
ROM操作指令 当总线主机检测到存在脉冲,就可以发布ROM指令。
这些指令运作于每个从设备唯一的64位ROM编码而且如果有多个从设备挂在单总线上,主机可以单独寻址特定的从设备。
这些指令也使得主机可以决定总线上有多少什么类型的设备,以及是否有任何设备满足了报警条件。
共有5个ROM指令,每个8位长。
主设备必须在发布DS18B20的功能指令之前发布一个合适的ROM指令。
图11显示了ROM指令运行的流程图。
SEARCHROM[F0h] 当一个系统初始化上电后,主机必须识别总线上所有从设备的ROM编码,这样主机才能决定从设备的数量和类型。
主机通过排除过程来识别 ROM编码,这一过程需要主机执行SearchROM循环(如,SearchROM指令跟随数据交换)反复执行直到识别所有从设备。
如果总线上只有一个从设备,则可以使用简单的ReadROM(如下)指令代替SearchROM指令。
每次SearchROM循环之后,总线主机必须返回传输序列的步骤1(初始态) ReadROM[33h] 这个指令允许总线主机读到DS18B20的4位ROM编码。
只有在总线上存在单只DS18B20的时候才能使用这个指令。
如果总线上有不止一个从机,当所有从机试图同时响应时就会发生数据冲突。
MatchROM[55h] 匹配ROM指令,后跟64位ROM编码序列,让总线主机在多点或单点总线上寻址一个特定的
9 友台半导体有限公司 UMWR DS18B20。
只有64位ROM编码序列完全匹配的DS18B20才会响应主机发出的功能指令。
所有其他从机都将等待一个复位脉冲。
SkipROM[CCh] 可以主机可以通过该指令同时寻址总线上所有设备而无需发送任何ROM编码。
例如,主机可以令总线上所有DS18B20同时执行温度转换,只需发布SkipROM指令跟随一个ConvertT[44h]指令。
需要注意ReadScratchpad[BEh]指令只能在单一从设备挂在总线上时才能跟随SkipROM指令。
这种情况下,通过允许主机无需发送64位设备 UMWDS18B20 ROM编码而读取从设备,可以节约时间。
如果总线上有超过一个从设备,一个SkipROM指令跟随一个ReadScratchpad指令会导致数据冲突,因为多个设备会试图同时传送数据。
AlarmSearch[ECh] 这条指令的流程图和SearchROM相同,然而,只有置位了报警标志位的DS18B20才会响应这条指令。
本指令允许主机设备可以知道是否任何DS18B20在最近的温度转换达到了温度报警条件。
每一次AlarmSearch循环(如,AlarmSearch指令跟随数据交换)之后,总线主机必须返回传输序列的步骤1(初始化)。
运行-报警信号章节解释了报警标志位的操作。
DS18B20功能指令 所有5个字节必须在主机发出复位信号前写入,否则数据可能损坏。
(意味主机可以在任意时刻通过复位中止写入) 当总线主机使用一个ROM指令寻址一个它希望与之通讯的DS18B20之后,主机可以发布DS18B20的功能指令之
一。
这些指令允许主机从DS18B20的暂存器写或读数据,发动温度转换以及了解供电模式。
DS18B20的功能指令,如下所述,总结于表3并且由图12的流程图详细阐述。
CONVERTT[44h] 该指令发动一次温度转换。
转换之后,采集的热数据存储在暂存器中的2字节的温度寄存器然后DS18B20返回低功耗空闲状态。
如果设备使用于寄生电源模式下,本指令发布后最多10µs之内,主机必须在整个温度转换期间(tCONV)启动单总线的强上拉,如给DS18B20供电章节所述。
如果DS18B20由外部电源供电,主机可以在ConvertT 指令后发布读时隙,然后DS18B20会回复0或者 1表示温度转换正在进行中或者已完成。
在寄生电源模式这个通知技术不能应用,因为总线在整个转换过程中被强上拉到高电平。
WRITESCRATCHPAD[4Eh] 该指令允许主机对DS18B20暂存器写入最多5个数据。
第一个字节被写入TH寄存器(暂存器的字节2),第二个字节被写入TL寄存器(字节3),第三个字节写入配置寄存器(字节4),最后两个字节写入用户字节3和
4。
数据必须先发送最低位。
READSCRATCHPAD[BEh] 该指令允许主机读取暂存器中的内容。
数据传输始于字节0的最低位并延续遍历暂存器直到第9个字节(字节8-循环冗余验证码)被读取。
如果只需要暂存器中的部分数据,主机可以随时发布一个复位信号终止读取。
COPYSCRATCHPAD[48h] 该指令将暂存器中的TH,TL,配置寄存器和用户字节3和4(字节2,3,4,5,6,7)写入到E2PROM。
如果设备使用于寄生电源模式下,本指令发布后最多10µS之内,主机必须启动单总线的强上拉并保持最少10mS,如给DS18B20供电章节所述。
RECALLE2[B8h] 该指令从E2PROM中调用报警触发值(TH和TL),配置寄存器和用户字节4和
5,并替换暂存器中字节2,3,4,6和7中对应的数据。
主机设备可以跟随RecallE2指令之后发布一个读时隙,然后DS18B20会指示调用的状态,传送0表示调用正在进行中传送1表示调用已经结束。
调用操作上电时自动执行,所以设备上电之后暂存器中就立即具备有效数据。
10 友台半导体有限公司 UMWR READPOWERSUPPLY[B4h]主机发布本指令跟随一个读时隙以了解总线上 是否有任何DS18B20在使用寄生电源供电。
在读 UMWDS18B20 时隙期间,寄生电源供电的DS18B20会拉低总线,而外部电源供电的DS18B20会让总线保持高。
请参考给DS18B20供电章节获取对本指令有用的信息。
指令 ConvertTReadScratchpadWriteScratchpadCopyScratchpadRecallE2ReadPowerSupply 描述 发动温度转换 协议 温度转换指令44h 读包含循环冗余校验在BEh内的所有暂存器内容写数据到暂存器的字节4Eh2,
3,和6,7(TH,TL,配置寄存器和用户字节)从暂存器复制TH,TL,48h配置寄存器和用户字节数据到E2PROM从E2PROM调用TH,TL,B8h配置寄存器和用户字节数据到暂存器发送DS18B20的供电模B4h式给主机 存储指令 指令发出后单总线的活动 备注 DS18B20传输转换状态给主机(对寄生电1源供电的DS18B20不适用) DS18B20传输最多9个字节给主机
2 主机传输3或4或5个字节数据给3DS18B20 无
1 DS18B20传输调用状态给主机 DS18B20传输供电状态给主机 表3DS18B20功能指令集 备注1:对于寄生电源供电的DS18B20,主机必须在整个温度转换期间对单总线启动强上拉并将数据从暂存器复制到E2PROM。
在此期间总线不会发生任何活动。
备注2:主机可以通过发布一个复位信号随时打断数据传输。
备注3:所有字节必须在复位信号发布之前写完。
11 友台半导体有限公司 UMWR 初始化序列 主机发送复位脉冲主机发送复位脉冲 UMWDS18B20 主机发送ROM指令 33h ReadROM
N 指令
Y DS18B20发送产品系列码 DS18B20发送序列号 DS18B20发送循环冗余校验字节 55h MatchROM
N 指令 Y主机发送
0 F0h SearchROM
N 指令
Y DS18B20发送位0DS18B20发送/位
0 主机发送位
0 位0是否匹配? NN 位0是否匹配? ECh AlarmSearch
N 指令
Y N设备报警标志位 是否置位?
Y Y主机发送位
1 Y DS18B20发送位1DS18B20发送/位
1 主机发送位
1 位1是否匹配? NN 位1是否匹配? ~~
Y 主机发送位63 Y~~ DS18B20发送位63DS18B20发送/位63 主机发送位63 位63是否匹配? NN 位63是否匹配?
Y Y 主机发送复位脉冲 CCh SkipROM
N 指令
Y 图11ROM指令流程图12 友台半导体有限公司 UMWR 主机发送功能指令 N44hConvertT?
Y N
Y 寄生电源? DS18B20开始转换温度 N器件仍在转换温度?
Y 主机接收“0” 主机接收“1” 主机启动强上拉DS18B20转换温度 主机关闭强上拉 UMWDS18B20 N48hCopyScratchpad?

Y N
Y 寄生电源? 主机在DQ上启动强上拉 N复制进行中?
Y 主机接收“0” 主机接收“1” 数据从暂存器复制到E2PROM 主机关闭强上拉
N B4hRead PowerSupply?

Y N
Y 寄生电源供电? NB8hRecallE2?

Y 主机开始从E2PROM调用数据 NBEhReadScratchpad?

Y 主机从暂存器接收数据 主机接收“1” 主机接收“0” N设备调用数据忙? Y主机发送复位?
N YN8个字节读完? 主机接收“0” 主机接收“1”
Y 主机接收暂存器循环冗余校验
N 4EhWrite Scratchpad?

Y 主机发送TH字节到暂存器 主机发送TL字节到暂存器 主机发送配置字节到暂存器 返回初始化序列(图11)以准备下一次传输 图12DS18B20功能指令流程图 13 友台半导体有限公司 UMWR 单总线信令 DS18B20使用严格的单总线通讯协议以确保数据完整性。
该协议定义了几种信令类型:复位脉冲,存在脉冲,写
0,写1,读
0,读1。
除了存在脉冲之外,所有信令都由总线主机发起。
初始化程——复位与存在脉冲 UMWDS18B20 单总线拉低来发起(见图14)。
要产生写1时隙,把单总线拉低之后,总线主机 必须在15µs内释放单总线。
总线被释放后,5kΩ上拉电阻会把总线拉高。
要产生一个写0时隙,把单总线拉低之后,总线主机必须在整个时隙期间持续保持总线低(至少60µs)。
DS18B20在主机发起写时隙后,会在至少15µs到60µs的时间窗口内采样单总线。
如果在这个采样时间窗口总线为高,一个1就被写入DS18B20。
如果总线是低,一个0会被写入DS18B20。
所有与DS18B20的通讯都始于初始化序列,这个序列包含主机发出的一个复位脉冲,跟随一个DS18B20发出的存在脉冲。
图13解释了这一序列。
当DS18B20发送存在脉冲以响应复位脉冲,其向主机表明它挂在总线上,并且已经准备好运行。
在初始化序列过程中,主机通过将单总线拉低至少480µs来发出复位脉冲。
总线主机随后释放总线进入接收模式。
当总线被释放后,5kΩ上拉电阻会把总线拉高。
当DS18B20检测到这个上升沿,它等待15µs到60µs然后通过把单总线拉低60µs到240µs来发出存在脉冲。
读/写时隙 总线主机在写时隙写数据到DS18B20,在读时隙从DS18B20读数据。
每个时隙在单总线上传输一个数据位。
写时隙 有两种写时隙:“写1”时隙和“写0”时隙。
总线主机通过写1时隙把一个逻辑1写入DS18B20,通过写0时隙把一个逻辑0写入DS18B20。
所有写时隙必须持续最少60µs,并且两个写时隙之间至少有1µs的恢复时间。
两种写时隙都是通过主机把 读时隙 DS18B20只能在主机发布读时隙期间可以传送数据到主机。
所有,主机在发布ReadScratchpad[BEh]或ReadPowerSupply[B4h]指令后,必须立即产生读时隙,这样DS18B20才能提供所要求的数据。
另外,主机可以在发布ConvertT[44h]或RecallE2[B8h]指令后产生读时隙以了解运行状态。
这部分机理在DS18B20功能指令章节有详细解释。
所有读时隙必须持续至少60µs,并且两个写时隙之间恢复时间不少于1µs。
读时隙的产生是通过主机拉低单总线至少1µs然后释放总线来实现(见图14)。
主机发起读时隙之后,DS18B20会开始在总线上传输1或
0。
DS18B20通过保持总线高发送1并通过拉低总线发送
0。
当传输0的时候,DS18B20会在时隙结束时释放总线,之后总线会被上拉电阻拉回高空闲状态。
DS18B20的输出数据在启动时隙的下降沿后15µs之内有效。
所以,主机必须在时隙启动之后15µs之内释放总线并采样总线状态。
图15说明了在一个读时隙内tINIT,tRC和tSAMPLE的总和必须少于15µs。
图16显示了系统的时间裕度可以通过以下方法最大化:保持tINT和tRC越短越好,以及把主机采样时间放到读时隙15µs周期的末尾。
14 友台半导体有限公司 UMWR UMWDS18B20 图13初始化时序 图14读/写时隙时序15 友台半导体有限公司 UMWR VPU单总线GND VPU单总线GND TINT>1μs 线型图例 TRC15μs 总线主机拉低电阻拉高 图15详细主机读1时序 主机VIH TINT=短TRC=短 15μs 线型图例 总线主机拉低电阻拉高 图16推荐的主机读1时序 UMWDS18B20 主机VIH主机采样 主机采样 16 友台半导体有限公司 UMWR DS18B20运行示例
1 UMWDS18B20 使用寄生电源。
总线主机对某个特定的DS18B20启动温度转换之后读取其缓存器然后重新计算循环冗余校验来验证数据。
在这个实例中总线上有多个DS18B20并且在 主机模式发送接收发送发送发送发送发送接收发送发送发送接收 数据(最低位在前)复位存在55h 64位ROM编码44h DQ线由强上拉保持高复位存在55h 64位ROM编码BEh 9个数据字节 指令主机发布复位脉冲DS18B20通过存在脉冲响应主机发送MatchROM指令主机发送DS18B20的ROM编码主机发布ConvertT指令主机在转换期间(tCONV)对DQ实施强上拉主机发布复位脉冲DS18B20通过存在脉冲响应主机发布MatchROM指令主机发送DS18B20的ROM编码主机发布ReadScratchpad指令主机读包含循环冗余校验在内整个暂存器。
然后主机重算暂存器的前8个字节数据的循环冗余校验并与读取的循环冗余校验(字节9)进行比较。
如果匹配,主机继续;否则,重复整个读操作 17 友台半导体有限公司 UMWR DS18B20运行示例
2 在这个示例里总线上只有一个DS18B20并且使 UMWDS18B20 用寄生电源。
主机写入TH,TL以及配置数据到DS18B20的暂存器中,然后读暂存器并且重新计算循环冗余校验以验证数据。
之后主机把暂存器的内容复制到E2PROM。
主机模式发送接收发送发送发送发送接收发送发送接收 发送接收发送发送发送 数据(最低位在前)复位存在CCh4Eh 3个数据字节复位存在CChBEh 9个数据字节 复位存在CCh48hDQ线由强上拉保持高 指令主机发布复位脉冲DS18B20通过存在脉冲响应主机发布SkipROM指令主机发布WriteScratchpad指令主机发送3个数据字节到暂存器(TH,TL和配置)主机发布复位脉冲DS18B20通过存在脉冲响应主机发布SkipROM指令主机发布ReadScratchpad指令主机读包含循环冗余校验在内整个暂存器。
然后主机重算暂存器的前8个字节数据的循环冗余校验并与读取的循环冗余校验(字节9)进行比较。
如果匹配,主机继续;否则,重复整个读操作主机发布复位脉冲DS18B20通过存在脉冲响应主机发布SkipROM指令主机发布CopyScratchpad指令主机在复制操作期间对DQ实施至少10ms强上拉 18 友台半导体有限公司 UMWR 电气特性 UMWDS18B20 绝对最大额定值 任意引脚到地电压值……………………………................................................................................-0.5V
to+6.0V工作温度范围

.............................................................................................................................

-55°Cto+125°C存储温度范围……………………………………………………..........................................................-55°Cto+125°C焊接温度

........................................................................................................

参考IPC/JEDECJ-STD-020规范 这些仅为极限参数下,对于器件在此极限条件或高于此极限条件的环境中的功能运行,本规格书并不适用。
长期暴露于此极限环境会影响器件的可靠性。
直流电气特性 -55℃到+125℃;VDD=2.5V到5.5V 参数 符号 条件 最小典型最大 单位 备注 供电电压 VDD 本地供电 2.5 +5.5V
1 上拉电压 VPU 寄生电源 2.5 +5.5V 1,
2 本地电源 2.5 VDD 温度误差 tERR -10°C到+85°
C ±0.4°
C 3 -55°C到+125°
C ±1.2 输入逻辑低VIL -0.3 +0.8V 1,4,
5 输入逻辑高VIH 本地电源 +2.2
V 寄生电源 +2.5 1,
6 灌电流 IL VI/O=0.4V 4.0 mA
1 待机电流 IDDS 7501000nA 7,
8 有功电流 IDD VDD=5V
1 1.5mA
9 DQ输入电流IDQ
5 µ
A 10 漂移 ±0.2 °
C 11 备注: 1)所有电压以地为参考。
2)上拉供电电压规格假设上拉器件为理想器件,因而上拉的高电平等于VPU。
为了满足DS18B20的VIH规范,实际的 强上拉供电轨必须考虑到开启时上拉电阻的电压降裕度,所以VPU-ACTUAL=VPU_IDEAL+VTRANSISTOR。
3)参考图17的典型特性曲线。
4)逻辑低规范条件为4mA灌电流。
5)为了确保低电压寄生电源供电的存在脉冲,VILMAX可能需要减小至0.5V。
6)逻辑高规范条件为1mA源电流。
7)待机电流规范条件最高到+70°
C。
+125°C条件下的待机电流典型值为3µ
A。
8)为了最小化IDDS,DQ应该在以下范围内:GND≤DQ≤GND+0.3V或VDD-0.3V≤DQ≤VDD。
9)有功电流指有效的温度转换或E2PROM写操作期间的供电电流。
10)DQ线是高(高阻态) 11)漂移数据基于1000小时压力测试,条件为+125°
C,VDD=5.5V。
19 友台半导体有限公司 UMWR 交流电气特性-非易失性存储器 UMWDS18B20 -55℃到+125℃;VDD=2.5V到5.5V 参数非易失存储写周期E2PROM写次数E2PROM数据保留 符号tWRNEEWRtEEDR 条件 -55°C到+55°C-55°C到+55°
C 最低 100010 典型
8 最大12 单位ms次年 交流电气特性 -55℃到+125℃;VDD=2.5V到5.5V 参数 符号 条件 温度转化时间 tCONV 9位分辨率 10位分辨率 11位分辨率 12位分辨率 强上拉时间 tSPON 从ConvetT指令发布起 时隙长度 tSLOT 恢复时间 tREC 写0低电平时间 tLOW0 写1低电平时间 tLOW1 读数据有效时间 tRDV 复位高电平时间 tRSTH 复位低电平时间 tRSTL 存在检测高电平时间 tPDHIGH 存在检测低电平时间 tPDLOW 电容 CIN/OUT 备注: 1)
参考图18的时序图。
2)在寄生电源模式下,如果tRSTL>960µs,可能发生上电复位。
最小 60160148011560 典型最大5010020040010120 1201515 6024025 单位备注ms1 µsµs1µs1µs1µs1µs1µs1µs1,2µs1µs1pF 误差(℃) DS18B20典型误差曲线 0.60.40.2 0-0.2-0.4-0.6 70.064.960.155.150.145.140.135.114.99.9 温度(℃) 4.9-0.1 图17DS18B20典型误差曲线 20 友台半导体有限公司 UMWR 单总线写0时隙单总线读0时隙 单总线复位脉冲 tREC tSLOTtLOW0 tRECtRDV tSLOT 来自主机的复位脉冲tRSTL UMWDS18B20 下个周期起始下个周期起始tRSTH 单总线存在检测 tPDHIGH图18时序图 tPDLOW 21 友台半导体有限公司

标签: #会计制度 #主机 #vps #域名 #电脑主机 #电脑屏幕 #企业邮箱 #服务器