在电路设计时我们常常遇到 开漏(open drain) 和 开集(open collector) 的概念。
所谓开漏电路中的 “漏” 是 指MOSFET的漏极。同理,开集电路中的 “集” 就是指 三极管的集电极。开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。如图1所示:
图1
开漏电路有以下几个特点:
利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up -> MOSFET到GND。IC内部仅需很小的栅极驱动电流。如图1。
可以将多个开漏输出的Pin,连接到一条线上。形成 “与逻辑” 关系。如图1,当PIN_A、PIN_B、PIN_C任意一个变低后,开漏线上的逻辑就为0了。这也是I2C,SMBus等总线判断总线占用状态的原理。
可以利用改变上拉电源的电压,改变传输电平。如图2, IC的逻辑电平由电源Vcc1决定,而输出高电平则由Vcc2决定。这样我们就可以用低电平逻辑控制输出高电平逻辑了。
开漏Pin不连接外部的上拉电阻,则只能输出低电平。
标准的开漏脚一般只有输出的能力。添加其它的判断电路,才能具备双向输入、输出的能力。
图2
应用中需注意:
开漏和开集的原理类似,在许多应用中我们可利用开集电路代替开漏电路。例如,某输入Pin要求由开漏电路驱动。我们通常也可利用一个三极管组成开集电路来驱动它,如图3。
上拉电阻Rpull-up的阻值决定了逻辑电平转换沿的速度。阻值越大,速度越低功耗越小。反之亦然。