我是靠谱客的博主 生动羽毛,最近开发中收集的这篇文章主要介绍1-wire单总线DS18B20,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  要想实现单总线通信,每一个挂在总线上的从机必须拥有开路或3态输出。单总线DS18B20的DQ引脚用内部电路实现了开漏输出,其等效电路如下图;

当单片机IO引脚配置为

mcu IO引脚电流流向DS18B20
输入浮空(高阻)

DS18B20开漏输出高阻态,被上拉电阻拉为高电平。

 

+5V-->4.7K上拉电阻-->DQ-->(5uA Typ)-->GND

TX输出1:

 

TX输出0:

推挽输出1:

输出0:

+VDD-->mos-->MCU IO引脚-->(5uA Typ)-->GND

+5V-->4.7k上拉电阻-->MCU IO引脚-->mos-->GND

RX输入1

RX输入0

   

由下表可知,数据引脚DQ的典型电流值为5uA。

 实测16路DS18B20并联,DQ上流过的电流大概只有20uA。

 实测66路DS18B20并联,DQ上流过的电流大概只有200uA。电源电流40ma;

不算转换时间读取66个DS18B20的值需要840ms,30个需要380ms。

DS18B20坏掉之后暂存器中读出来的9个字节数据全部是0XFF。若是按CRC校验算法计算,前8个0xFF字节的校验值是0XC9,也即是由错误的温度数据按软件方式计算出来的CRC值与收到的错误的CRC值(看作硬件CRC值)不可能相等。

最后

以上就是生动羽毛为你收集整理的1-wire单总线DS18B20的全部内容,希望文章能够帮你解决1-wire单总线DS18B20所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部