STM32 的 GPIO 口的输出:开漏输出和推挽输出 收藏 2010-9-18 14:42:00
STM32 的 GPIO 口的输出:开漏输出和推挽输出 收藏
推挽输出与开漏输出的区别:
>>推挽输出:可以输出高,低电平,连接数字器件
>>开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才
行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般 20ma 以内).
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
// 三极管的开漏输出有什么特性,和推挽是不是一回事,
问题:
很多芯片的供电电压不一样,有 3.3v 和 5.0v,需要把几种 IC 的不同口连
接在一起,是不是直接连接就可以了?实际上系统是应用在 I2C 上面。
简答:
1、部分 3.3V 器件有 5V 兼容性,可以利用这种容性直接连接
2、应用电压转换器件,如 TPS76733 就是 5V 输入,转换成 3.3V、1A 输出。
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
//
开漏电路特点及应用
在电路设计时我们常常遇到开漏(open drain)和开集(open collector)
的概念。所谓开漏电路概念中提到的“漏”就是指 MOSFET 的漏极。同理,开集
电路中的“集”就是指三极管的集电极。开漏电路就是指以 MOSFET 的漏极为输
出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应
该由开漏器件和开漏上拉电阻组成。
组成开漏形式的电路有以下几个特点:
1. 利用 外部电路的驱动能力,减少 IC 内部的驱动。当 IC 内部 MOSFET 导通时,
驱动电流是从外部的 VCC 流经 R pull-up ,MOSFET 到 GND。IC 内部仅需很下的
栅极驱动电流。如图 1。
2. 可以将多个开漏输出的 Pin,连接到一条线上。形成 “与逻辑” 关系。如
图 1,当 PIN_A、PIN_B、PIN_C 任意一个变低后,开漏线上的逻辑就为 0 了。这
也是 I2C,SMBus 等总线判断总线占用状态的原理。
3. 可以利用改变上拉电源的电压,改变传输电平。如图 2, IC 的逻辑电平由电
源 Vcc1 决定,而输出高电平则由 Vcc2 决定。这样我们就可以用低电平逻辑控制
输出高电平逻辑了。
4. 开漏 Pin 不连接外部的上拉电阻,则只能输出低电平(因此对于经典的 51 单
片机的 P0 口而言,要想做输入输出功能必须加外部上拉电阻,否则无法输出高
电平逻辑)。