为什么在IIC通信中需要采用开漏输出和上拉电阻模式?

目录

前言

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

推挽输出和开漏输出

二、开漏和推挽的区别

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

总结


前言

最近遇到技术群里有小伙伴在问为什么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。

物联沃分享整理
物联沃-IOTWORD物联网 » 为什么在IIC通信中需要采用开漏输出和上拉电阻模式?

发表评论