DS18B20数据手册中文版.docx
- 文档编号:1800443
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:24
- 大小:577.53KB
DS18B20数据手册中文版.docx
《DS18B20数据手册中文版.docx》由会员分享,可在线阅读,更多相关《DS18B20数据手册中文版.docx(24页珍藏版)》请在冰点文库上搜索。
DS18B20数据手册中文版
概述
DS18B20数字温度传感器提供9-Bit到12-Bit的摄氏温度测量精度和一个用户可编程的非易失性且具有过温和低温触发报警的报警功能。
DS18B20采纳的1-Wire通信即仅采纳一个数据线(和地)与微操纵器进行通信。
该传感器的温度检测范围为-55℃至+125℃,而且在温度范围超过-10℃至85℃之外时还具有+℃的精度。
另外,DS18B20能够直接由数据线供电而不需要外部电源供电。
每片DS18B20都有一个唯一无二的64位序列号,因此一个1-Wire总线上可连接多个DS18B20设备。
因此,在一个散布式的大环境里用一个微操纵器操纵多个DS18B20是超级简单的。
这些特点使得其在HVAC环境操纵,在建筑、设备及机械的温度监控系统,和温度进程操纵系统中有着专门大的优势。
特性
·独特的1-Wire总线接口仅需要一个管脚来通信。
·每一个设备的内部ROM上都烧写了一个唯一无二的64位序列号。
·多路搜集能力使得散布式温度搜集应用加倍简单。
·无需外围元件。
·能够采纳数据线供电;供电范围为至。
·温度可测量范围为:
-55℃至+125℃(-67℉至+257℉)。
·温度范围超过-10℃至85℃之外时具有+℃的精度。
·内部温度搜集精度能够由用户自概念为9-Bits至12-Bits。
DS18B20分辨率可编程
1-Wire数字温度传感器
·温度转换时刻在转换精度为12-Bits时达到最大值750ms。
·用户自概念非易失性的的温度报警设置。
·概念了温度报警搜索命令和当温度超过用户自概念的设定值时。
·可选择的8-PinSO(150mils),8-PinμSOP,及3-PinTO-92封装。
·与DS1822程序兼容。
·应用于温度操纵系统,工业系统,民用产品,温度传感器,或任何温度检测系统中。
管脚概念图
订购信息
零件
温度范围
引脚数-封装
顶部标号
DS18B20
-55℃至+125℃
3TO-92
18B20
DS18B20+
-55℃至+125℃
3TO-92
18B20
DS18B20/T&R
-55℃至+125℃
3TO-92(2000片)
18B20
DS18B20+T&R
-55℃至+125℃
3TO-92(2000片)
18B20
DS18B20-SL/T&R
-55℃至+125℃
3TO-92(2000片)*
18B20
DS18B20-SL+T&R
-55℃至+125℃
3TO-92(2000片)*
18B20
DS18B20U
-55℃至+125℃
8uSOP
18B20
DS18B20U+
-55℃至+125℃
8uSOP
18B20
DS18B20U/T&R
-55℃至+125℃
8uSOP(3000片)
18B20
DS18B20+T&R
-55℃至+125℃
8uSOP(3000片)
18B20
DS18B20Z
-55℃至+125℃
8SO
DS18B20
DS18B20Z+
-55℃至+125℃
8SO
DS18B20
DS18B20Z/T&R
-55℃至+125℃
8SO(2500片)
DS18B20
DS18B20Z+T&R
-55℃至+125℃
8SO(2500片)
DS18B20
“+”号表示的是无铅封装。
”+”会出此刻无铅封装的顶部标号处。
T&R=卷带包装。
*TO-92封装
管脚描述
管脚
管脚名
功能描述
SO
uSOP
TO-92
1、2、6、7、8
2、3、5、6、7
—
置空
3
8
3
VDD
VDD引脚。
VDD必须连接到地当采用“寄生电源”供电时。
4
1
2
DQ
数据输入/输出。
1-Wire漏极开路接口引脚。
当采用“寄生电源”供电方式时,同时向设备提供电源。
(详见“DS18B20的供电”章节)
5
4
1
GND
地
综述
图1为DS18B20的内部框图。
内部的64位的ROM存储其唯一无二的序列号。
暂存存储器(Thescratchpadmemory)包括了存储有数字温度结果的2个字节宽度的温度寄放器。
另外,暂存存储器还提供了一个字节的过温和低温(TH和TL)温度报警寄放器和一个字节的配置寄放器。
配置寄放器许诺用户自概念温度转换为九、10、1一、12位精度。
过温和低温(TH和TL)温度报警寄放器是非易失性的(EEPROM),因此其能够在设备断电的情形下保留。
DS18B20采纳的Maxim公司专有的1-Wire总线协议,该总线协议仅需要一个操纵信号进行通信。
该操纵信号线需要一个唤醒的上拉电阻以幸免连接在该总线上的口是3态或高阻态(DQ信号线是在DS18B20上)。
在该总线系统中,微操纵器(主设备)通过每一个设备的64为序列号来识别该总线上的设备。
因为每一个设备都有一个唯一无二的序列号,挂在一个总线上的设备理论上是能够无穷个的。
在下面的“1-Wire总线系统”章节中包括有1-Wire总线协议详细的命令和时序关系。
DS18B20的另外一个特性确实是能够无需外部电源供电。
当数据线DQ为高的时候由其为设备供电。
总线拉高的时候为内部电容(Spp)充电,当总线拉低是由该电容向设备供电。
这种由1-Wire总线为设备供电的方式称为“寄生电源”。
另外,DS18B20也能够由外部电源通过VDD供电。
图1DS18B20内部方框图
说明-温度测量
DS18B20的核心功能是直接温度-数字测量。
其温度转换可由用户自概念为九、10、1一、12位精度别离为℃、℃、℃、℃分辨率。
值得注意的是,上电默以为12位转换精度。
DS18B20上电后工作在低功耗闲置状态下。
主设备必需向DS18B20发送温度转换命令[44h]才能开始温度转换。
温度转换后,温度转换的值将会保留在暂存存储器的温度寄放器中,而且DS18B20将会恢复到闲置状态。
假设是DS18B20是由外部供电,当发送完温度转换命令[44h]后,主设备能够执行“读数据时序”(请参阅“1-Wire总线系统”章节),假设此刻温度转换正在进行DS18B20将会响应“0”,假设温度转换完成那么会响应“1”。
假设是DS18B20是由“寄生电源”供电,该响应的技术将不能利用,因为在整个温度转换期间,总线必需强制拉高。
该总线的“寄生电源”供电方式将会在“DS18B20的供电”章节中详细讲解。
DS18B20的温度输出数据时在摄氏度下校准的;假设是在华氏度下应用的话,能够用查表法或常规的数据换算。
温度数据以一个16位标志扩展二进制补码数的形式存储在温度寄放器中(详见图2)。
符号标志位(S)温度的正负极性:
正数那么S=0,负数那么S=1。
假设是DS18B20被概念为12位的转换精度,温度寄放器中的所有位都将包括有效数据。
假设为11位转换精度,那么bit0为未概念的。
假设为10位转换精度,那么bit1和bit0为未概念的。
假设为9位转换精度,那么bit二、bit1和bit0为未概念的。
表格1为在12位转换精度下温度输出数据与相对应温度之间的关系表。
图2温度寄放器格式
表格1温度/数据对应关系
*上电复位时温度寄放器中的值为+85℃。
说明-温度报警
当DS18B20完成一次温度转换后,该温度转换值将会与用户概念的温度报警TH和TL寄放器(详见图3)中的值进行比较。
符号标志位(S)温度的正负极性:
正数那么S=0,负数那么S=1。
过温和低温(TH和TL)温度报警寄放器是非易失性的(EEPROM),因此其能够在设备断电的情形下保留。
过温和低温(TH和TL)温度报警寄放器在“寄放器”章节中能够说明为暂存寄放器的第二、3个字节。
图3过温和低温(TH和TL)温度报警寄放器
因为过温和低温(TH和TL)温度报警寄放器是一个8位的寄放器,因此在于其比较时温度寄放器的4位至11位才是有效的数据。
假设是温度转换数据小于或等于TL及大于或等于TH,DS18B20内部的报警标志位将会被置位。
该标志位在每次温度转换以后都会更新,因此,如报警操纵消失,该标志位在温度转换以后将会关闭。
主设备能够通过报警查询命令[Che]查询该总线上的DS18B20设备的报警标志位。
任何一个报警标志位已经置位的DS18B20设备都会响应该命令,因此,主设备能够确信到底哪个DS18B20设备存在温度报警。
假设是温度报警存在,而且过温和低温(TH和TL)温度报警寄放器已经被改变,那么下一个温度转换值必需验证其温度报警标志位。
DS18B20的供电
DS18B20能够通过DVD引脚由外部供电,或能够由“寄生电源”供电,这使得DS18B20能够不采纳本地的外部电源供电而实现其功能。
“寄生电源”供电方式在远程温度检测或空间比较有限制的地址有专门大的应用。
图1展现的确实是DS18B20的“寄生电源”操纵电路,其由DQ口拉高时向其供电。
总线拉高的时候为内部电容(Cpp)充电,当总线拉低是由该电容向设备供电。
当DS18B20为“寄生电源”供电模式时,该VDD引脚必需连接到地。
在“寄生电源”供电模式下,只要工作在指定的时序下,那么该1-Wire总线和Cpp能够提供给DS18B20足够的电流来完成各类工作和知足供电电压(详见“交/直流电气特性”)。
可是,当DS18B20正在进行温度转换或正将暂存寄放器中的值拷贝至EEPROM时,其工作电流将会高至。
通过1-Wire总线上的上拉电阻提供的电流将会引发不可同意的电压跌落,同时将会有专门大部份电流由Cpp提供。
为了保证DS18B20有足够的电流供给,有必要在1-Wire总线上提供一个强有力的上拉,不管此刻在进行温度转换仍是正将暂存寄放器中的值拷贝至EEPROM中。
图4中所示的由一个MOSFET直接将总线拉至高电平能够专门好的实现。
值得注意的是,1-Wire总线必需在温度转换命令[44h]或暂存寄放器拷贝命令[48h]下达10uS后提供一个强有力的上拉,同时在整个温度转换期间(Tconv)或数据传送(Twr=10ms)期间总线必需一直强制拉高。
当强制拉高时该1-Wire总线上不许诺有任何其他动作。
固然,DS18B20也能够采纳常规的通过外部电源连接至VDD引脚的供电方式,如图5所示。
这种供电方式具有不需要上拉的MOSFET、该1-Wire总线在温度转换期间可执行其他动作的优势。
“寄生电源”供电方式在温度超过+100℃时不推荐利用,因为在超过该温度下时将会有专门大的漏电流致使不能进行正常的通信。
实际应用中,在类似的温度状态下强烈推荐该DS18B20由外部供电电源供电。
在某些情形下,总线上的主设备可能不明白连接到该总线上的DS18B20是由“寄生电源”供电仍是由外部电源供电。
此刻该主设备就需要取得一些信息来决定在温度转换期间是不是要强制拉高。
为了取得这些信息,主设备能够在发送一个跳过ROM命令[CCh]以后再发送一个读取供电方式命令[B4h]再紧跟一个“读取数据时序”。
在读取数据时序中,“寄生电源”供电方式的DS18B20将会将总线拉低,可是,由外部供电方式的DS18B20将会让该总线继续维持高。
因此,假设是总线被拉低,主设备就必需要在温度转换期间将总线强制拉高。
图4“寄生电源”供电方式
图5外部电源供电方式
64位光刻ROM编码
每片DS18B20的片内ROM中都存有一个唯一无二的64位的编码。
在该内ROM编码的低8位保留有DS18B20的分类编码:
28h。
中间的48位保留有唯一无二的序列号。
最高8位保留片内ROM中前56位的循环冗余校验(CRC)值。
加倍详细的在“1-Wire总线系统”章节该64位ROM编码及相关的ROM功能操纵逻辑许诺DS18B20作为1-Wire总线协议上的设备。
64位光刻ROM编码
存储器
DS18B20的存储器组织结构如图7所示。
该存储器包括了SRAM暂存寄放器和存储着过温和低温(TH和TL)温度报警寄放器及配置寄放器的非易失性EEPROM。
值得注意的是当DS18B20的温度报警功能没有效到的时候,过温和低温(TH和TL)温度报警寄放器能够当做通用功能的存储单元。
所有的存储命令在“DS18B20功能命令”章节有详细描述。
暂存寄放器中的Byte0和Byte1别离作为温度寄放器的低字节和高字节。
同时这两个字节是只读的。
Byte2和Byte3作为过温和低温(TH和TL)温度报警寄放器。
Byte4保留着配置寄放器的数据,详见“配置寄放器”章节。
Byte五、六、7作为内部利用的字节而保留利用,不可被写入。
暂存寄放器的Byte8为只读字节,其中存储着该暂存寄放器中Byte0至Byte7的循环冗余校验(CRC)值。
DS18B20计算该循环冗余校验(CRC)值的方式在“循环冗余校验(CRC)计算”章节中有详细描述。
利用写暂存寄放器命令[4Eh]才能将数据写入Byte二、3、4中;这些写入DS18B20中的数据必需从Byte2中最低位开始。
为了验证写入数据的完整性,该暂存寄放器能够在写入后再读出来(采纳读暂存寄放器命令[BEh])。
当从暂存寄放器中读数据时,从1-Wire总线传送的数据是以Byte0的最低位开始的。
为了将暂存寄放器中的过温和低温(TH和TL)温度报警值及配置寄放器数据转移至EEPROM中,主设备必需采纳拷贝暂存寄放器命令[48h]。
在EEPROM寄放器中的数据在设备断电后是可不能丢失的;在设备上电后EEPROM的值将会从头装载至相对应的暂存寄放器中。
固然,在任何其他时刻EEPROM寄放器中的数据也能够通过从头装载EEPROM命令[B8h]将数据装载至暂存寄放器中。
主设备能够在产生读时序后,紧随着发送从头装载EEPROM命令,那么假设是DS18B20正在进行从头装载将会响应0电平,假设从头装载已经完成那么会响应1电平。
DS18B20存储器图
配置寄放器
暂存寄放器中的Byte4包括着配置寄放器;如图8所示。
用户通过改变表2中R0和R1的值来配置DS18B20的分辨率。
上电默以为R0=1及R1=1(12位分辨率)。
需要注意的是,转换时刻与分辨率之间是有制约关系的。
Bit7和Bit0至Bit4作为内部利用而保留利用,不可被写入。
图7配置寄放器
表2温度分辨率配置
循环冗余校验(CRC)计算
DS18B20的64位ROM编码的一部份和暂存寄放器的第9字节都为循环冗余校验(CRC)计算字节。
ROM编码的循环冗余校验(CRC)值是由ROM编码的低56位计算而来,而且该CRC计算值存储在ROM编码的最高8位。
暂存寄放器的CRC值是由存储在暂存寄放器中的值计算而来,故当暂存寄放器中的值发生改变后,该CRC值也会随之发生改变。
当总线上的主设备从DS18B20中读取数据时循环冗余校验(CRC)值给主设备提供一个数据验证码。
为了验证读取到的数据是正确的,主设备必需依照读取到的数据从头进行CRC计算,计算取得的值再与ROM编码CRC(从64位ROM中读取到的)或暂存寄放器CRC(从暂存寄放器中读取到的)作比较。
假设是主设备计算取得的CRC值与读取到的CRC值相匹配,那么读取到的数据为正确的。
CRC计算值与读取值的比较和是不是执行下一个动作都是由总线上的主设备决定的。
假设是主设备计算的CRC值与从DS18B20中(ROM或暂存寄放器)读取的CRC值不匹配,DS18B20内部没有任何电路能够阻止从主设备发送过来的命令。
CRC校验(ROM或暂存寄放器)的多项式等效公式为:
主设备能够依照图9中的多项式从头计算CRC值与从DS18B20中读取取得的值进行比较。
该电路包括有左移寄放器和异或门(XOR),而且左移寄放器初始状态为0。
从ROM编码的最低位或暂存寄放器的Byte0字节的最低位开始,每一步都必需有一名左移进入左移寄放器中。
当ROM编码中的第56位或暂存寄放器中Byte7字节的最高位左移后,该多项式计算式将会保留CRC校验值。
下一步,将从DS18B20中的ROM编码中或暂存寄放器中读取到的CRC校验值左移进入该计算式。
这些都完成后,假设是从头计算的CRC值为正确的,那么该计算式中的所有左移寄放器都会是0。
关于Maxim公司的1-Wire总线CRC校验的更多信息请参阅:
ApplicationNote27:
UnderstandingandUsingCyclicRedundancyCheckswithMaximiButtonProducts.
CRC计算式
1-Wire总线系统
1-Wire总线系统即一个总线主设备操纵一个或多个从设备。
DS18B20始终是一个从设备。
当总线上只有一个从设备时,此系统被称为“单节点”系统;当总线上有多个从设备连接时,此系统被称之为“多节点”系统。
1-Wire总线上所有的命令或数据的发送送都是遵循低位先发送的原那么。
接下来关于1-Wire总线系统的描述将会分成三个部份:
硬件配置,事件序列和1-Wire总线信号(信号概念和时序)。
硬件配置
1-Wire总线被概念为仅有一根数据线。
每一个设备(主设备或从设备)通过一个漏极开路或3态门引脚连接至数据线上。
这就许诺每一个设备“释放”数据线,当设备没有传递数据的时其他设备能够有效地利用数据线。
DS18B20的1-Wire总线接口(DQ引脚)是其内部电路组成的漏极开路(如图10所示)。
1-Wire总线需要一个5kΩ左右的外部上拉电阻;因此,1-Wire总线在闲置情形下是高电平。
假设是因为任何缘故一个事件需要被取消,且该事件要从头开始那么该总线必需先进入闲置状态。
Infiniterecoverytimecanoccurbetweenbitssolongasthe1-Wirebusisintheinactive(high)stateduringtherecoveryperiod假设是总线被拉低超过480uS,那么该总线上的所有设备都会复位。
硬件配置
事件序列
访问DS18B20的事件序列如下所示:
第一步:
初始化
第二步:
ROM命令(紧跟任何数据互换请求)
第三步:
DS18B20功能命令(紧跟任何数据互换请求)
每次对DS18B20的访问都必需遵循如此的步骤来进行,假设是这些步骤中的任何一个丢失或没有执行,那么DS18B20将可不能响应。
除ROM搜索命令[F0h]和报警搜索命令[ECh]之外。
当执行完这些ROM命令以后,主设备必需回到上述步骤中的第一步。
初始化
1-Wire总线上的所有事件都必需以初始化为开始。
初始化序列由总线上的主设备发出的复位脉冲和紧随着从设备回应的存在脉冲组成。
该回应脉冲让总线上的主设备明白在该总线上有从设备(例如DS18B20),而且已经预备好进行操作。
复位及存在脉冲时序详见“1-Wire信号”章节。
ROM命令
当总线上的主设备检测到了存在脉冲后,就能够够够执行ROM命令。
这些命令是对每一个设备唯一无二的64位ROM编码进行操作的,当总线上连接有多个设备时,能够通过这些命令识别各个设备。
这些命令同时也能够使主设备确信该总线上有多少个什么类型的设备或有温度报警信号的设备。
总共包括有5种ROM命令,每一个命令的长度都是8Bit。
主设备在执行DS18B20功能命令之前必需先执行一个适当的ROM命令。
ROM命令的执行流程图如图11所示。
搜索ROM[F0h]
当系统上电初始化后,主设备必需识别该总线上所有的从设备的ROM编码,如此就能够够够使得主设备确信总线上的从设备的类型及数量。
主设备学习ROM编码是一个清除的进程,那么主设备要依照需要循环地发送搜索ROM[F0h]命令(搜索ROM命令跟从着数据互换)来确信总线上所有的从设备。
假设是仅有一个从设备在该总线上,加倍简单的读取ROM命令(下一段落有详解)能够代替搜索ROM的进程。
读取ROM[33h]
该命令在总线上仅有一个从设备时才能利用。
该命令使得总线上的主设备不需要搜索ROM命令进程就能够够够读取从设备的64位ROM编码。
当总线上有超过一个从设备时,假设再发送该命令,那么当所有从设备都会回应时,将会引发数据冲突。
匹配ROM[55h]
该匹配ROM命令以后跟从发送64位的ROM编码使得总线上的主设备能够匹配特定的从设备。
只有完全匹配该64位ROM编码的从设备才会响应总线上的主设备发出的功能命令;总线上的其他从设备将会等待下下一个复位脉冲。
跳过ROM[CCh]
主设备能够利用该命令来同时向总线上的所有从设备发送不要发送任何的ROM编码命令。
例如,主设备通过向总线上所有的DS18B20发送跳过ROM命令后再发送温度转换[44h]命令,那么所有设备将会同时执行温度转。
需要注意的是,当总线上仅有一个从设备时,读取暂存寄放器[BEh]命令后面能够跟从跳过ROM命令。
在这种情形下,主设备能够读取从设备中的数据而不发送64位ROM编码。
当总线上有多个从设备时,假设在跳过ROM命令后再发送读取暂存寄放器命令,那么所有的从设备将会同时开始传送数据而致使总线上的数据冲突。
警报搜索[ECh]
该命令的操作与跳过ROM命令大体相同,可是不同的是只有警报标志置位的从设备才会响应。
该命令使得主设备确信在最近一次温度转换期间是不是有DS18B20有温度报警。
当所有的报警搜索命令循环执行后,总线上的主设备必需回到事件序列中的第一步(初始化)。
详见“操作报警信号”章节。
DS18B20功能命令
当总线上的主设备通过ROM命令确信了哪个DS18B20能够进行通信时,主设备能够向其中一个DS18B20发送功能命令。
这些命令使得主设备能够向DS18B20的暂存寄放器写入或读出数据,初始化温度转换及概念供电模式。
DS18B20的功能命令在下面详细描述,在表3中总结及图12中的流程图。
温度转换[44h]
该命令为初始化单次温度转换。
温度转换完后,温度转换的数据存储在暂存寄放器的2个字节长度的温度寄放器中,以后DS18B20恢复到低功耗的闲置状态。
假设是该设备是采纳的“寄生电源”供电模式,在该命令执行10uS(最大)后主设备在温度转换期间必需强制拉高数据线(“DS18B20的供电”章节所描述)。
假设是该设备是采纳的外部供电模式,主设备在温度转换命令以后能够执行读取数据时序,假设DS18B20正在进行温度转换那么会响应0电平,温度转换完成那么响应1电平。
在“寄生电源”供电模式下,因为在整个温度转换期间总线都是强制拉高的状态,故可不能有上述响应。
写入暂存寄放器[4Eh]
该命令使得主设备向DS18B20的暂存寄放器写入3个字节的数据。
第一个字节的数据写入TH寄放器(暂存寄放器的Byte2),第二个字节的数据写入TL寄放器(Byte3),第三个字节的数据写入配置寄放器(Byte4)。
所有的数据必需是以低位先发的原那么。
所有的三个字节的数据在写入之前主设备必需先对从设备复位,不然数据将会损坏。
读取暂存寄放器[BEh]
该命令使得主设备能够读取暂存寄放器中存储的值。
数据从Byte0的低位开始传送直到第9个字节(Byte8-CRC)读取完毕。
主设备假设只需要暂存寄放器中的部份数据,那么能够在读取数据中通过复位来终止。
拷贝暂存寄放器[48h]
该命令为将暂存寄放器中的TH、TL及配置寄放器(Byte2,Byte3和Byte4)的值拷贝至EEPROM中。
假设是该设备采纳的“寄生电源”供电模式,在该命令发送后10us(最大)内主设备必需强制拉高1-Wire总线超过10ms。
如“DS18B20的供电”章节中详述。
召回EEPROM[B8h]
该命令将温度报警触发值(TH和TL)及配置寄放器的数据从EEPROM中召回至暂存寄
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DS18B20 数据 手册 中文版