目录

前言

一、什么是开漏输出和推挽输出

推挽输出和开漏输出

二、开漏和推挽的区别

三、开漏输出上下拉电阻应用

总结


前言

最近遇到技术群里有小伙伴在问为什么IIC通信需要挂上拉电阻,查阅了一些资料做一个小结留作备用。方便后面复习。


一、什么是开漏输出和推挽输出

推挽输出和开漏输出

推挽输出(Push-Pull Output)是由两个MOS或者三极管受到互补控制信号的控制,两个管子始终处在一个导通另一个截止的状态;

输入逻辑1,则P-MOS激活,输出为高电平;图1;

输入逻辑0,则N-MOS激活,输出为低电平;图2;

          

图1                                                                 图2

开集输出是针对三极管来说,开漏输出是针对MOS管来说。现在MOS管用普遍,而且性能要比晶体管要好,所以很多开漏输出电路,和上面讲的推挽输出电路都用MOS管实现。由于使用MOS管的情况较多,很多时候就用"开漏输出"这个词代替了开漏输出和开集输出。

开漏(OC/OD门)输出最主要的特性就是高电平没有驱动能力,需要借助外部上拉电阻才能真正输出高电平,此时,如果在集电极或漏极上增加上拉电阻,就具备了输出高、低电平的功能,而且电平被固定的钳位在VCC或者GND。

①开漏输出的这一特性一个明显的优势就是可以很方便的调节输出的电平,因为输出电平完全由上拉电阻连接的电源电平决定。所以在需要进行电平转换的地方,非常适合使用开漏输出。

②开漏输出的这一特性另一个好处在于可以实现"线与"功能,所谓的"线与"指的是多个信号线直接连接在一起,只有当所有信号全部为高电平时,合在一起的总线为高电平;只要有任意一个或者多个信号为低电平,则总线为低电平。而推挽输出就不行,如果高电平和低电平连在一起,会出现电流倒灌,损坏器件。

二、开漏和推挽的区别

1)推挽输出:可以吸电流也可以灌电流,相对于开漏,输出电平取决于IC电源。然而,一条总线上只能有一个推挽输出。

2)开漏输出:实现电平转换,实现”线与“逻辑(I2C等接口总线应用中),利用外电路提高驱动能力,利用上拉电阻提供高电平,显然,没有上拉电阻只能输出低电平。

3)如果你想要电平转换速度快的话,那么就选推挽(push-pull),但是缺点是功耗相对会大些。

4)如果你想要功耗低,且同时具有“线与”的功能,那么就用开漏(open-drain)的模式。

三、开漏输出上下拉电阻应用

1. 上下拉电阻的应用场景

1)用在OC/OD门

2)用在按键电路

3)用在IIC总线

4)用在逻辑IC悬空的管脚

5)用在终端匹配

2. 上下拉电阻的选型

1)定义

上拉电阻的定义:在某信号线上,通过电阻与一个固定的高电平VCC相接,使其电压在空闲状态保持在VCC电平,此时电阻被称为上拉电阻。

下拉电阻的定义:将某信号线通过电阻接在固定的低电平GND上,使其空闲状态保持GND电平,此时的电阻被称为下拉电阻。

若上拉电阻的阻值在上百K,能提供给信号线上负载电流非常小,对负载电容充电比较慢,此时电阻被称为弱上拉。

同理当下拉的电阻非常大时,导致下拉的速度比较缓慢,此时的电阻被称为弱下拉。而当上下拉的电平可以提供较大的电流给芯片时,此时的电阻被称为是强上拉或强下拉。

2)驱动能力

在OC门和OD门电路中,上拉电阻取太大,在输出高电平时,无法为后级提供较大的电流。以最简单的驱动LED灯为例:LED正常工作时需要5~10mA电流,如果电阻取太大,LED灯无法点亮,因此需结合LED灯的电流和电压来选取上拉电阻。

3)信号速率

在IIC的总线上需要增加上拉电阻,上拉电阻太大,会减慢信号由低向高电平转变的时间,上升沿变缓,影响信号上速率。


总结

IIC总线选择开漏输出的原因为推挽输出存在短路风险;且使用开漏输出可以实现线与功能;在进行上拉电阻选择时,必须根据实际需要选择电阻值不能太大也不能太小;建议上拉电阻可选用1.5K,2.2K,4.7K。

IIC通信为什么使用开漏输出+上拉电阻的模式相关推荐

  1. STM32F1xx的IIC通信+推挽/开漏区别+是否上拉

    一.硬件配置相关 IIC的SCL和SDA都要求接上拉电阻,也即,只要主机和从机都还没开始干活,那么SCL和SDA就都是空闲的(默认的高电平状态被称为"空闲",也可以称总线被&quo ...

  2. 上拉电阻与下拉电阻总结 与 GPIO框图分析

    文章目录 一.相关概念介绍 IO引脚的三态输出之高阻态---将逻辑门与系统其他部分隔离,电平外部控制 IO引脚输出模型 推挽电路 与 开漏电路---单独开漏无高电平驱动能力 二.上下拉电阻原理介绍 什 ...

  3. 上拉电阻与下拉电阻详解

    上拉电阻和下拉电阻有什么用? 1.提高驱动能力: 例如,用单片机输出高电平,但由于后续电路的影响,输出的高电平不高,就是达不到VCC,影响电路工作.所以要接上拉电阻.下拉电阻情况相反,让单片机引脚输出 ...

  4. 模拟IIC——关于模拟IIC的IO口的配置选取推挽输出还是开漏输出,以及是否需要更改IO口输入输出模式和是否需要对IO配置上拉

    在使用模拟IIC的时候,观看别人的程序的时候发现了程序之间的一些不一样的地方 ----------------------------------代码1------------------------ ...

  5. 深刻理解GPIO(上拉输入、下拉输入、模拟输入、浮空输入,开漏输出,推挽输出的区别,以STM32为例)

    目录 前言 GPIO是什么 GPIO的八大模式 输入模式 浮空输入 上拉输入 下拉输入 模拟输入 输出模式 开漏输出 推挽输出 复用开漏输出 复用推挽输出 GPIO的输出速率 前言 学习了这么久的单片 ...

  6. 有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别

    转自:http://www.cnblogs.com/Jezze/archive/2011/12/23/2299857.html 以及上拉输入.下拉输入.浮空输入.模拟输入的区别 最近在看数据手册的时候 ...

  7. 常用的推挽输出、开漏输出、上拉输入

    转载 https://blog.csdn.net/hailin0716/article/details/24333951 一.推挽输出: 可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管 ...

  8. IIC输出模式选择推挽输出还是开漏输出?

    推挽输出有输出高电平的能力,开漏输出没有输出高电平的能力. IIC输出模式选择应选择开漏输出.如果选择推挽输出,在多主多从的情况下会出现短路现象. 以上是我目前的理解. 详细的推挽和开漏输出的原理及比 ...

  9. (转载)有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别...

    以及上拉输入.下拉输入.浮空输入.模拟输入的区别 最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多: (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_M ...

最新文章

  1. java B2B2C源码电子商城系统:服务消费(基础)
  2. GaussianBlur函数
  3. 在AFN中使用NSXMLParser解析服务器返回的XML数据
  4. 页面异常反dump 及 内存访问异常hook
  5. Java 基础学习(Markdown语法)
  6. linux内核镜像解压,解压内核镜像
  7. mysql-3 检索数据(1)
  8. Rails安全导读【一】
  9. linux编译redis打包,linux下下载redis,并且编译
  10. 【软件质量】CMM与CMMI
  11. linux df和du常用命令
  12. 删除还原点 oracle,oracle 还原点(restore point)
  13. OptiSystem应用:激光雷达系统设计
  14. AHRS互补滤波(Mahony)算法及开源代码
  15. qq视频转码失败怎么办_迅捷视频转换器转换失败的解决方法
  16. 计算机加入域后的用户名和密码,Windows自动改计算机名和加入域工具
  17. 谈谈对 SRE 的理解
  18. 小猿日记 - 程序猿的日常日记(2)
  19. 迪文屏DMT12800K070_A2WTC踩坑实录(二)
  20. Settings sync 配置与使用

热门文章

  1. 英化的移动QQ 第一版
  2. vue epub.js使用touchstart事件没有反应
  3. Java代码生成二维码图片
  4. UnityShader案例篇—角色动态地面印记
  5. 【51nod】【map】最近的一对
  6. Windows系统命令(dos)
  7. Tcl 编译成tbc文件
  8. Uncaught SyntaxError: Unexpected end of input 解决办法
  9. spssfisher判别分析步骤_spss进行判别分析步骤
  10. (十三)python网络爬虫(理论+实战)——IP代理、构建IP代理池