zoukankan      html  css  js  c++  java
  • 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值)不可能相等。

  • 相关阅读:
    图表插件echars的使用案例
    安装Eclipse
    ef 更新数据库
    webapi Route 特性
    WebSite下创建webapi
    C# 泛型约束
    Session共享
    ubuntu eclipse 无法打开
    C# TreeView 连续点击 不触发AfterCheck事件
    ef 仓储模式 Redis
  • 原文地址:https://www.cnblogs.com/prayer521/p/6135690.html
Copyright © 2011-2022 走看看