- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图14-8 DS18B20转换期间的强上拉供电 有两种方法能够使DS18B20在动态转换周期中获得足够的电流供应。第一种方法,当进行温度转换或拷贝到EEPROM存储器操作时,给I/O线提供一个强上拉。用MOSFET把I/O线直接拉到电源上就可以实现。在发出任何涉及拷贝到EEPROM存储器或启动温度转换的协议之后,必须在最多10μs之内把I/O线转换到强上拉。使用寄生电源方式时,VDD引脚必须接地。 另一种给DS18B20供电的方法是从VDD引脚接入一个外部电源,如图14-9所示。这样做的好处是I/O线上不需要加强上拉,而且总线控制器不用在温度转换期间总保持高电平。这样在转换期间可以允许在单线总线上进行其他数据往来。另外,在单线总线上可以挂任意多片DS18B20,而且如果它们都使用外部电源的话,就可以先发一个Skip ROM命令,再接一个ConvertT命令,让它们同时进行温度转换。注意当加上外部电源时,GND引脚不能悬空。 图14-9 VDD供电 温度高于100℃时,不推荐使用寄生电源,因为DS18B20在这种温度下表现出的漏电流比较大,通信可能无法进行。对于总线控制器不知道总线上的DS18B20是用寄生电源还是用外部电源的情况,DS18B20预备了一种信号指示电源的使用情况。总线控制器发出一个Skip ROM协议,然后发出读电源命令,如果是寄生电源,DS18B20在单线总线上发回“0”,如果是从VDD供电,则发回“1”,这样总线控制器就知道总线上是否需要DS18B20强上拉。如果控制器接收到一个“0”,它就知道必须在温度转换期间给I/O线提供强上拉。这个命令协议详见“存储器操作命令”部分。 (4)测温操作 DS18B20通过一种片上温度测量技术来测量温度,温度数据表列于表14-2中。 DS18B20是这样测温的:用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55℃的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55℃)的值增加,表明所测温度大于-55℃。 同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性,然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。 斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨力。这是通过改变计数器对温度每增加一度所需计数的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。 DS18B20内部对此计算的结果可提供0.5℃的分辨力。温度以16 bit带符号位扩展的二进制补码形式读出,表14-2给出了温度值和输出数据的关系。数据通过单线接口以串行方式传输。DS18B20测温范围-55℃~+125℃,以0.5℃递增。 表14-2 温度/数据表 温 度 值 数字输出(二进制) 数字输出(十六进制) +125℃ 0000 0111 1101 0000 07D0h +85℃ 0000 0101 0101 0000 0550h* +25.0625℃ 0000 0001 1001 0001 0191h +10.125℃ 0000 0000 1010 0000 00A2h +0.5℃ 0000 0000 0000 1000 0008h +0℃ 0000 0000 0000 0000 0000h -0.5℃ 1111 1111 1111 1000 FFF8h -10.125℃ 1111 1111 0101 1110 FF5Eh -25.0625℃ 1111 1110 0110 1111 FF6Fh -55℃ 1111 1100 1001 0000 FC90h *电源复位时,寄存器中的值为+85℃。 最高有效(符号)位被复制充满存储器中两字节温度寄存器的高MSB位,由这种“符号位扩展”产生出了示于表14-2的16bit温度读数。 (5)报警搜索操作 DS18B20完成一次温度转换后,就拿温度值和存储在TH和TL中的值进行比较。因为这些寄存器是8位的,所以0.5℃位被忽略不计。TH或TL的最高有效位直接对应16位温度寄存器的符号位。如果测得的温度高于TH或低于TL,器件内部就会置位一个报警标识。每进行一次测温就对这个标识进行一次更新。当报警标识置位时,DS18B20会对报警搜索命令有反应。这样就允许许多DS18B20并联在一起同时测温,如果某个地方的温度超过了限定值,报警的器件就会被立即识别出来并读取,而不用读未报警的器件。 (6)64位ROM(见图14-10) 每只DS18B20都有一个唯一的长达64位的编码,最前面的8位是单线家族码(DS18B20的编码是
原创力文档


文档评论(0)