DS18B20数据手册-中文版

上传人:仙*** 文档编号:89560439 上传时间:2022-05-13 格式:DOC 页数:11 大小:61KB
收藏 版权申诉 举报 下载
DS18B20数据手册-中文版_第1页
第1页 / 共11页
DS18B20数据手册-中文版_第2页
第2页 / 共11页
DS18B20数据手册-中文版_第3页
第3页 / 共11页
资源描述:

《DS18B20数据手册-中文版》由会员分享,可在线阅读,更多相关《DS18B20数据手册-中文版(11页珍藏版)》请在装配图网上搜索。

1、概述DS18B20数字温度传感器提供9-Bit到12-Bit的摄氏温度测量精度和一个用户可编程的非易失性且具有过温和低温触发报警的报警功能.DS18B20采用的1-Wire通信即仅采用一个数据线以与地与微控制器进行通信.该传感器的温度检测范围为-55至+125,并且在温度范围超过-10至85之外时还具有+-0.5的精度.此外,DS18B20可以直接由数据线供电而不需要外部电源供电.每片DS18B20都有一个独一无二的64位序列号,所以一个1-Wire总线上可连接多个DS18B20设备.因此,在一个分布式的大环境里用一个微控制器控制多个DS18B20是非常简单的.这些特征使得其在HVAC环境控制

2、,在建筑、设备与机械的温度监控系统,以与温度过程控制系统中有着很大的优势.特性独特的1-Wire总线接口仅需要一个管脚来通信.每个设备的内部ROM上都烧写了一个独一无二的64位序列号.多路采集能力使得分布式温度采集应用更加简单.无需外围元件.能够采用数据线供电;供电范围为3.0V至5.5V.温度可测量范围为:-55至+125-67至+257.温度范围超过-10至85之外时具有+-0.5的精度.内部温度采集精度可以由用户自定义为9-Bits至12-Bits.DS18B20 分辨率可编程1-Wire数字温度传感器温度转换时间在转换精度为12-Bits时达到最大值750ms.用户自定义非易失性的的温

3、度报警设置.定义了温度报警搜索命令和当温度超过用户自定义的设定值时.可选择的8-Pin SO , 8-PinSOP,与3-Pin TO-92封装.与DS1822程序兼容.应用于温度控制系统,工业系统,民用产品,温度传感器,或者任何温度检测系统中.管脚定义图.订购信息零件温度范围引脚数-封装顶部标号DS18B20-55至+1253 TO-9218B20DS18B20+-55至+1253 TO-9218B20DS18B20/T&R-55至+1253 TO-922000片18B20DS18B20+T&R-55至+1253 TO-922000片18B20DS18B20-SL/T&R-55至+1253

4、TO-922000片*18B20DS18B20-SL+T&R-55至+1253 TO-922000片*18B20DS18B20U-55至+1258 uSOP18B20DS18B20U+-55至+1258 uSOP18B20DS18B20U/T&R-55至+1258 uSOP3000片18B20DS18B20+T&R-55至+1258 uSOP3000片18B20DS18B20Z-55至+1258 SODS18B20DS18B20Z+-55至+1258 SODS18B20DS18B20Z/T&R-55至+1258 SO2500片DS18B20DS18B20Z+T&R-55至+1258 SO250

5、0片DS18B20+号表示的是无铅封装.+会出现在无铅封装的顶部标号处.T&R=卷带包装.*TO-92封装管脚描述管脚管脚名功能描述SOuSOPTO-921、2、6、7、82、3、5、6、7N.C置空383VDDVDD引脚.VDD必须连接到地当采用寄生电源供电时.412DQ数据输入/输出.1-Wire漏极开路接口引脚.当采用寄生电源供电方式时,同时向设备提供电源.详见DS18B20的供电章节541GND地综述图1为DS18B20的内部框图.内部的64位的ROM存储其独一无二的序列号.暂存存储器The scratchpad memory包含了存储有数字温度结果的2个字节宽度的温度寄存器.另外,暂

6、存存储器还提供了一个字节的过温和低温TH和TL温度报警寄存器和一个字节的配置寄存器.配置寄存器允许用户自定义温度转换为9、10、11、12位精度.过温和低温TH和TL温度报警寄存器是非易失性的EEPROM,所以其可以在设备断电的情况下保存.DS18B20采用的Maxim公司专有的1-Wire总线协议,该总线协议仅需要一个控制信号进行通信.该控制信号线需要一个唤醒的上拉电阻以防止连接在该总线上的口是3态或者高阻态DQ信号线是在DS18B20上.在该总线系统中,微控制器主设备通过每个设备的64为序列号来识别该总线上的设备.因为每个设备都有一个独一无二的序列号,挂在一个总线上的设备理论上是可以无限个

7、的.在下面的1-Wire总线系统章节中包含有1-Wire总线协议详细的命令和时序关系.DS18B20的另外一个特性就是可以无需外部电源供电.当数据线DQ为高的时候由其为设备供电.总线拉高的时候为内部电容Spp充电,当总线拉低是由该电容向设备供电.这种由1-Wire总线为设备供电的方式称为寄生电源.此外,DS18B20也可以由外部电源通过VDD供电.图1 DS18B20内部方框图说明-温度测量DS18B20的核心功能是直接温度-数字测量.其温度转换可由用户自定义为9、10、11、12位精度分别为0.5、0.25、0.125、0.0625分辨率.值得注意的是,上电默认为12位转换精度.DS18B2

8、0上电后工作在低功耗闲置状态下.主设备必须向DS18B20发送温度转换命令44h才能开始温度转换.温度转换后,温度转换的值将会保存在暂存存储器的温度寄存器中,并且DS18B20将会恢复到闲置状态.如果DS18B20是由外部供电,当发送完温度转换命令44h后,主设备可以执行读数据时序请参阅1-Wire总线系统章节,若此时温度转换正在进行DS18B20将会响应0,若温度转换完成则会响应1.如果DS18B20是由寄生电源供电,该响应的技术将不能使用,因为在整个温度转换期间,总线必须强制拉高.该总线的寄生电源供电方式将会在DS18B20的供电章节中详细讲解.DS18B20的温度输出数据时在摄氏度下校准

9、的;若是在华氏度下应用的话,可以用查表法或者常规的数据换算.温度数据以一个16位标志扩展二进制补码数的形式存储在温度寄存器中详见图2.符号标志位S温度的正负极性:正数则S=0,负数则S=1.如果DS18B20被定义为12位的转换精度,温度寄存器中的所有位都将包含有效数据.若为11位转换精度,则bit 0为未定义的.若为10位转换精度,则bit 1和bit 0为未定义的. 若为9位转换精度,则bit 2、bit 1和bit 0为未定义的.表格1为在12位转换精度下温度输出数据与相对应温度之间的关系表.图2 温度寄存器格式表格1 温度/数据对应关系*上电复位时温度寄存器中的值为+85.说明-温度报

10、警当DS18B20完成一次温度转换后,该温度转换值将会与用户定义的温度报警TH和TL寄存器详见图3中的值进行比较.符号标志位S温度的正负极性:正数则S=0,负数则S=1.过温和低温TH和TL温度报警寄存器是非易失性的EEPROM,所以其可以在设备断电的情况下保存.过温和低温TH和TL温度报警寄存器在寄存器章节中可以解释为暂存寄存器的第2、3个字节.图3 过温和低温TH和TL温度报警寄存器因为过温和低温TH和TL温度报警寄存器是一个8位的寄存器,所以在于其比较时温度寄存器的4位至11位才是有效的数据.如果温度转换数据小于或等于TL与大于或等于TH,DS18B20内部的报警标志位将会被置位.该标志

11、位在每次温度转换之后都会更新,因此,如报警控制消失,该标志位在温度转换之后将会关闭.主设备可以通过报警查询命令Che查询该总线上的DS18B20设备的报警标志位.任何一个报警标志位已经置位的DS18B20设备都会响应该命令,因此,主设备可以确定到底哪个DS18B20设备存在温度报警.如果温度报警存在,并且过温和低温TH和TL温度报警寄存器已经被改变,则下一个温度转换值必须验证其温度报警标志位.DS18B20的供电DS18B20可以通过DVD引脚由外部供电,或者可以由寄生电源供电,这使得DS18B20可以不采用当地的外部电源供电而实现其功能.寄生电源供电方式在远程温度检测或空间比较有限制的地方有

12、很大的应用.图1展示的就是DS18B20的寄生电源控制电路,其由DQ口拉高时向其供电.总线拉高的时候为内部电容C pp充电,当总线拉低是由该电容向设备供电.当DS18B20为寄生电源供电模式时,该VDD引脚必须连接到地.在寄生电源供电模式下,只要工作在指定的时序下,则该1-Wire总线和Cpp可以提供给DS18B20足够的电流来完成各种工作以与满足供电电压详见交/直流电气特性.然而,当DS18B20正在进行温度转换或正将暂存寄存器中的值拷贝至EEPROM时,其工作电流将会高至1.5mA.通过1-Wire总线上的上拉电阻提供的电流将会引起不可接受的电压跌落,同时将会有很大部分电流由Cpp提供.为

13、了保证DS18B20有足够的电流供应,有必要在1-Wire总线上提供一个强有力的上拉,不管此时在进行温度转换还是正将暂存寄存器中的值拷贝至EEPROM中.图4中所示的由一个MOSFET直接将总线拉至高电平能够很好的实现.值得注意的是,1-Wire总线必须在温度转换命令44h或暂存寄存器拷贝命令48h下达10uS后提供一个强有力的上拉,同时在整个温度转换期间Tconv或数据传送Twr=10ms期间总线必须一直强制拉高.当强制拉高时该1-Wire总线上不允许有任何其他动作.当然,DS18B20也可以采用常规的通过外部电源连接至VDD引脚的供电方式,如图5所示.这种供电方式具有不需要上拉的MOSFE

14、T、该1-Wire总线在温度转换期间可执行其他动作的优点.寄生电源供电方式在温度超过+100时不推荐使用,因为在超过该温度下时将会有很大的漏电流导致不能进行正常的通信.实际应用中,在类似的温度状态下强烈推荐该DS18B20由外部供电电源供电.在某些情况下,总线上的主设备可能不知道连接到该总线上的DS18B20是由寄生电源供电还是由外部电源供电.此时该主设备就需要得到一些信息来决定在温度转换期间是否要强制拉高.为了得到这些信息,主设备可以在发送一个跳过ROM命令CCh之后再发送一个读取供电方式命令B4h再紧跟一个读取数据时序.在读取数据时序中,寄生电源供电方式的DS18B20将会将总线拉低,但是

15、,由外部供电方式的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

16、所示.该存储器包含了SRAM暂存寄存器和存储着过温和低温TH和TL温度报警寄存器与配置寄存器的非易失性EEPROM.值得注意的是当DS18B20的温度报警功能没有用到的时候,过温和低温TH和TL温度报警寄存器可以当做通用功能的存储单元.所有的存储命令在DS18B20功能命令章节有详细描述.暂存寄存器中的Byte 0和Byte 1分别作为温度寄存器的低字节和高字节.同时这两个字节是只读的.Byte 2和Byte 3作为过温和低温TH和TL温度报警寄存器.Byte 4保存着配置寄存器的数据,详见配置寄存器章节.Byte 5、6、7作为内部使用的字节而保留使用,不可被写入.暂存寄存器的Byte 8为

17、只读字节,其中存储着该暂存寄存器中Byte 0至Byte 7的循环冗余校验CRC值.DS18B20计算该循环冗余校验CRC值的方法在循环冗余校验CRC计算章节中有详细描述.使用写暂存寄存器命令4Eh才能将数据写入Byte 2、3、4中;这些写入DS18B20中的数据必须从Byte 2中最低位开始.为了验证写入数据的完整性,该暂存寄存器可以在写入后再读出来采用读暂存寄存器命令BEh.当从暂存寄存器中读数据时,从1-Wire总线传送的数据是以Byte 0的最低位开始的.为了将暂存寄存器中的过温和低温TH和TL温度报警值与配置寄存器数据转移至EEPROM中,主设备必须采用拷贝暂存寄存器命令48h.在

18、EEPROM寄存器中的数据在设备断电后是不会丢失的;在设备上电后EEPROM的值将会重新装载至相对应的暂存寄存器中.当然,在任何其他时刻EEPROM寄存器中的数据也可以通过重新装载EEPROM命令B8h将数据装载至暂存寄存器中.主设备可以在产生读时序后,紧跟着发送重新装载EEPROM命令,则如果DS18B20正在进行重新装载将会响应0电平,若重新装载已经完成则会响应1电平.DS18B20存储器图配置寄存器暂存寄存器中的Byte 4包含着配置寄存器;如图8所示.用户通过改变表2中R0和R1的值来配置DS18B20的分辨率.上电默认为R0=1与R1=112位分辨率.需要注意的是,转换时间与分辨率之

19、间是有制约关系的.Bit 7和Bit 0至Bit 4作为内部使用而保留使用,不可被写入.图7 配置寄存器表2 温度分辨率配置循环冗余校验CRC计算DS18B20的64位ROM编码的一部分和暂存寄存器的第9字节都为循环冗余校验CRC计算字节.ROM编码的循环冗余校验CRC值是由ROM编码的低56位计算而来,并且该CRC计算值存储在ROM编码的最高8位.暂存寄存器的CRC值是由存储在暂存寄存器中的值计算而来,故当暂存寄存器中的值发生改变后,该CRC值也会随之发生改变.当总线上的主设备从DS18B20中读取数据时循环冗余校验CRC值给主设备提供一个数据验证码.为了验证读取到的数据是正确的,主设备必须

20、根据读取到的数据重新进行CRC计算,计算得到的值再与ROM编码CRC从64位ROM中读取到的或者暂存寄存器CRC从暂存寄存器中读取到的作比较.如果主设备计算得到的CRC值与读取到的CRC值相匹配,则读取到的数据为正确的.CRC计算值与读取值的比较以与是否执行下一个动作都是由总线上的主设备决定的.如果主设备计算的CRC值与从DS18B20中ROM或暂存寄存器读取的CRC值不匹配,DS18B20内部没有任何电路能够阻止从主设备发送过来的命令.CRC校验ROM或暂存寄存器的多项式等效公式为:主设备可以根据图9中的多项式重新计算CRC值与从DS18B20中读取得到的值进行比较.该电路包括有左移寄存器和

21、异或门XOR,并且左移寄存器初始状态为0.从ROM编码的最低位或暂存寄存器的Byte 0字节的最低位开始,每一步都必须有一位左移进入左移寄存器中.当ROM编码中的第56位或暂存寄存器中Byte 7字节的最高位左移后,该多项式计算式将会保存CRC校验值.下一步,将从DS18B20中的ROM编码中或暂存寄存器中读取到的CRC校验值左移进入该计算式.这些都完成后,如果重新计算的CRC值为正确的,则该计算式中的所有左移寄存器都会是0.关于Maxim公司的1-Wire总线CRC校验的更多信息请参阅:Application Note 27: Understanding and Using Cyclic R

22、edundancy Checks with Maxim iButton Products. CRC计算式1-Wire总线系统1-Wire总线系统即一个总线主设备控制一个或多个从设备.DS18B20始终是一个从设备.当总线上只有一个从设备时,此系统被称为单节点系统;当总线上有多个从设备连接时,此系统被称之为多节点系统.1-Wire总线上所有的命令或者数据的发送送都是遵循低位先发送的原则.接下来关于1-Wire总线系统的描述将会分成三个部分:硬件配置,事件序列和1-Wire总线信号信号定义和时序.硬件配置1-Wire总线被定义为仅有一根数据线.每个设备主设备或从设备通过一个漏极开路或3态门引脚连接

23、至数据线上.这就允许每个设备释放数据线,当设备没有传递数据的时其他设备可以有效地使用数据线.DS18B20的1-Wire总线接口DQ引脚是其内部电路组成的漏极开路如图10所示.1-Wire总线需要一个5k左右的外部上拉电阻;因此,1-Wire总线在闲置情况下是高电平.如果因为任何原因一个事件需要被取消,且该事件要重新开始则该总线必须先进入闲置状态.Infinite recovery time can occur between bits so long as the 1-Wire bus is in the inactive state during the recovery period 如

24、果总线被拉低超过480uS,则该总线上的所有设备都会复位.硬件配置事件序列访问DS18B20的事件序列如下所示:第一步:初始化第二步:ROM命令紧跟任何数据交换请求第三步:DS18B20功能命令紧跟任何数据交换请求每次对DS18B20的访问都必须遵循这样的步骤来进行,如果这些步骤中的任何一个丢失或者没有执行,则DS18B20将不会响应.除了ROM搜索命令F0h和报警搜索命令ECh之外.当执行完这些ROM命令之后,主设备必须回到上述步骤中的第一步.初始化1-Wire总线上的所有事件都必须以初始化为开始.初始化序列由总线上的主设备发出的复位脉冲以与紧跟着从设备回应的存在脉冲构成.该回应脉冲让总线上

25、的主设备知道在该总线上有从设备例如DS18B20,并且已经准备好进行操作.复位与存在脉冲时序详见1-Wire信号章节.ROM命令当总线上的主设备检测到了存在脉冲后,就可以执行ROM命令.这些命令是对每个设备独一无二的64位ROM编码进行操作的,当总线上连接有多个设备时,可以通过这些命令识别各个设备.这些命令同时也可以使主设备确定该总线上有多少个什么类型的设备或者有温度报警信号的设备.总共包含有5种ROM命令,每个命令的长度都是8 Bit.主设备在执行DS18B20功能命令之前必须先执行一个适当的ROM命令.ROM命令的执行流程图如图11所示.搜索ROMF0h当系统上电初始化后,主设备必须识别该

26、总线上所有的从设备的ROM编码,这样就可以使得主设备确定总线上的从设备的类型与数量.主设备学习ROM编码是一个清除的过程,则主设备要根据需要循环地发送搜索ROMF0h命令搜索ROM命令跟随着数据交换来确定总线上所有的从设备.如果仅有一个从设备在该总线上,更加简单的读取ROM命令下一段落有详解可以代替搜索ROM的过程.读取ROM33h该命令在总线上仅有一个从设备时才能使用.该命令使得总线上的主设备不需要搜索ROM命令过程就可以读取从设备的64位ROM编码.当总线上有超过一个从设备时,若再发送该命令,则当所有从设备都会回应时,将会引起数据冲突.匹配ROM55h该匹配ROM命令之后跟随发送64位的R

27、OM编码使得总线上的主设备能够匹配特定的从设备.只有完全匹配该64位ROM编码的从设备才会响应总线上的主设备发出的功能命令;总线上的其他从设备将会等待下下一个复位脉冲.跳过ROMCCh主设备可以使用该命令来同时向总线上的所有从设备发送不要发送任何的ROM编码命令.例如,主设备通过向总线上所有的DS18B20发送跳过ROM命令后再发送温度转换44h命令,则所有设备将会同时执行温度转.需要注意的是,当总线上仅有一个从设备时,读取暂存寄存器BEh命令后面可以跟随跳过ROM命令.在这种情况下,主设备可以读取从设备中的数据而不发送64位ROM编码.当总线上有多个从设备时,若在跳过ROM命令后再发送读取暂

28、存寄存器命令,则所有的从设备将会同时开始传送数据而导致总线上的数据冲突.警报搜索ECh该命令的操作与跳过ROM命令基本相同,但是不同的是只有警报标志置位的从设备才会响应.该命令使得主设备确定在最近一次温度转换期间是否有DS18B20有温度报警.当所有的报警搜索命令循环执行后,总线上的主设备必须回到事件序列中的第一步初始化.详见操作报警信号章节.DS18B20功能命令当总线上的主设备通过ROM命令确定了哪个DS18B20能够进行通信时,主设备可以向其中一个DS18B20发送功能命令.这些命令使得主设备可以向DS18B20的暂存寄存器写入或者读出数据,初始化温度转换与定义供电模式.DS18B20的

29、功能命令在下面详细描述,在表3中总结与图12中的流程图.温度转换44h该命令为初始化单次温度转换.温度转换完后,温度转换的数据存储在暂存寄存器的2个字节长度的温度寄存器中,之后DS18B20恢复到低功耗的闲置状态.如果该设备是采用的寄生电源供电模式,在该命令执行10uS最大后主设备在温度转换期间必须强制拉高数据线DS18B20的供电章节所描述.如果该设备是采用的外部供电模式,主设备在温度转换命令之后可以执行读取数据时序,若DS18B20正在进行温度转换则会响应0电平,温度转换完成则响应1电平.在寄生电源供电模式下,因为在整个温度转换期间总线都是强制拉高的状态,故不会有上述响应.写入暂存寄存器4

30、Eh该命令使得主设备向DS18B20的暂存寄存器写入3个字节的数据.第一个字节的数据写入TH寄存器暂存寄存器的 Byte 2,第二个字节的数据写入TL寄存器Byte 3,第三个字节的数据写入配置寄存器Byte 4.所有的数据必须是以低位先发的原则.所有的三个字节的数据在写入之前主设备必须先对从设备复位,否则数据将会损坏.读取暂存寄存器BEh该命令使得主设备可以读取暂存寄存器中存储的值.数据从Byte 0的低位开始传送直到第9个字节Byte 8 - CRC读取完毕.主设备若只需要暂存寄存器中的部分数据,则可以在读取数据中通过复位来终止.拷贝暂存寄存器48h该命令为将暂存寄存器中的TH、TL与配置

31、寄存器Byte 2,Byte 3和Byte 4的值拷贝至EEPROM中.如果该设备采用的寄生电源供电模式,在该命令发送后10us最大内主设备必须强制拉高1-Wire总线超过10ms.如DS18B20的供电章节中详述.召回EEPROMB8h该命令将温度报警触发值TH和TL与配置寄存器的数据从EEPROM中召回至暂存寄存器中的Byte 2,Byte 3和Byte4中.主设备可以在召回EEPROM命令之后执行读取数据时序,若DS18B20正在进行召回EEPROM则会响应0电平,召回EEPROM完成则响应1电平.召回数据操作在上电初始化后会自动执行一次,所以设备在上电期间暂存寄存器中一直会有有效的数据

32、.读取供电模式B4h主设备通过执行该命令之后再执行读取数据时序来确定总线上的DS18B20是否是由寄生电源供电.在读取数据时序中,寄生电源供电的DS18B20将会拉低总线,外部电源独立供电模式的DS18B20则会释放总线让其保持在高电平.更多详细请参阅DS18B20的供电章节表3 DS18B20的功能命令图11 ROM命令流程图图12 DS18B20功能命令流程图1-Wire总线信号DS18B20采用严谨的1-Wire总线通信协议来保证数据的完整性.该协议定义多个信号形式:复位脉冲,存在脉冲,写0,写1,读0,读1.主设备执行除了存在脉冲外的所有其他信号.初始化程序复位和存在脉冲与DS18B2

33、0所有的通信都是由初始化序列开始的,该序列包括从主设备发出的复位脉冲与从DS18B20响应的存在脉冲组成.如图13所示.当DS18B20响应复位信号的存在脉冲后,则其向主设备表明其在该总线上,并且已经做好操作命令.在初始化序列期间,总线上的主设备通过拉低1-Wire总线超过480us来发送TX复位脉冲.之后主设备释放总线而进入接收模式RX.当总线释放后,5k左右的上拉电阻将1-Wire总线拉至高电平.当DS18B20检测到该上升边沿信号后,其等待15us至60us后通过将1-Wire总线拉低60us至240us来实现发送一个存在脉冲.图13 初始化时序读/写时段主设备通过写时段向DS18B20

34、中写入数据,通过读时段从DS18B20中读取数据.1-Wire总线上每一个读写时段只能传送一个位的数据.写时段写时段有两种情况:写1时段和写0时段.主设备通过写1时段来向DS18B20中写入逻辑1以与通过写0时段来向DS18B20中写入逻辑0.每个写时段最小必须有60us的持续时间且独立的写时段间至少有1us的恢复时间.两个写时段都是由主设备通过将1-Wire总线拉低来进行初始化详见图14.为了形成写1时段,在将1-Wire总线拉低后,主设备必须在15us之内释放总线.当总线释放后,5k的上拉电阻将总线拉至高.为了形成写0时段,在将1-Wire总线拉低后,在整个时段期间主设备必须一直拉低总线至

35、少60us.在主设备初始化写时段后,DS18B20将会在15us至60us的时间窗口内对总线进行采样.如果总线在采样窗口期间是高电平,则逻辑1被写入DS18B20;若总线是低电平,则逻辑0被写入DS18B20.图14 读/写时段时序图读时段仅在读时段期间DS18B20才能向主设备传送数据.因此,主设备在执行完读暂存寄存器BEh或读取供电模式B4h后,必须与时地生成读时段,这样DS18B20才能提供所需的数据.此外,主设备可以在执行完转换温度44h或拷贝EEPROMB8h命令后生成读时段,以便获得在DS18B20功能命令章节中提到的操作信息.每个读时段最小必须有60us的持续时间且独立的写时段间

36、至少有1us的恢复时间.读时段通过主设备将总线拉低超过1us再释放总线来实现初始化见图14.当主设备初始化完读时段后,DS18B20将会向总线发送0或者1.DS18B20通过将总线拉至高来发送逻辑1,将总线拉至低来发送逻辑0.当发送完0后,DS18B20将会释放总线,则通过上拉电阻该总线将会恢复到高电平的闲置状态.从DS18B20中输出的数据在初始化读时序后仅有15us的有效时间.因此,主设备在开始改读时段后的15us之内必须释放总线,并且对总线进行采样.图15 读时段中的Tint,Trc与Tsample必须小于15us.图16 显示系统的时序正确保证即是保持Tinit和Trc尽可能的短,同时

37、主设备必须在读时段开始15us时间内采样.相关应用笔记The following application notes can be applied to the DS18B20 and are available on our website at maxim-ic . Application Note 27: Understanding and Using Cyclic Redundancy Checks with Maxim iButton Products Application Note 122: Using Dallas 1-Wire ICs in 1-Cell Li-Ion Bat

38、tery Packs with Low-Side N-Channel Safety FETs Master Application Note 126: 1-Wire Communication Through Software Application Note 162: Interfacing the DS18x20/DS1822 1-Wire Temperature Sensor in a Microcontroller Environment Application Note 208: Curve Fitting the Error of a Bandgap-Based Digital T

39、emperature Sensor Application Note 2420: 1-Wire Communication with a Microchip PICmicro Microcontroller Application Note 3754: Single-Wire Serial Bus Carries Isolated Power and Data Sample 1-Wire subroutines that can be used in conjunction with Application Note 74: Reading and Writing iButtons via S

40、erial Interfaces can be downloaded from the Maxim website. DS18B20操作实例1在该例中,有多个DS18B20挂在该总线上,同时它们都采用的寄生电源供电.主设备初始化一个DS18B20的温度转换后再读取它的暂存器中国的数据之后进行CRC校验来验证数据.DS18B20 操作实例2在该实例中,仅有一个DS18B20连接到总线上,并且其采用的寄生电源供电.主设备向DS18B20中的暂存寄存器的TH,TL和配置寄存器中写入数据,之后读出暂存寄存器中的数据,并对数据进行CRC校验.最后主设备将暂存寄存器中的值拷贝至EEPROM中.后记本DS1

41、8B20中文数据手册为陈兵先生于2013年7月翻译于实验楼226.七月初时,我在全老师实验室的新生培训中负责讲解DS18B20的编程,虽然刚开始学习单片机的时候有用过DS18B20,但是真正系统的去讲解这个器件还是第一次.为了能够系统并且专业地讲解该芯片的编程方法,我开始在网络上寻找一些文档来参考,再找来找去都没有找到较好的中文文档后,我去官方只找到了一个英文的文档;分析了一下英文原版文档,并且与网上流传的各种版本的中文说明对比后,发现错误很多,很不专业.故此,萌发了自己动手翻译该篇文档的想法.一则能够锻炼自己的英文水平,二则能够在自己学生生涯里为我大中华的工程师贡献自己的一份力量.本文档翻译仓促,有不当的地方还请见谅,仅做参考.归MAXIM公司所有.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!