硬件工程师的笔试题中经常会考 OC 门和 OD 门,有的放在面试中问,多个 OC 或者多个 OD 门能组成线与结构,线与结构考的更频繁,还有一个推挽输出,有一些单片机的 GPIO 用的就是这种结构,如最常见的 STM32。

 

1. OC 门

OC 意为集电极开路,结构如下:

OC 门电路

 

A=0,①截止,②导通,相当于开关闭合,输出 0V(实际输出不是 0V,因为三极管存在饱和压降)。A=1,①导通,②截止,相当于开关断开,C 点呈现高阻态,通常情况下 C 点要有上拉电阻,以输出高电平。I2C,SMB 类型总线就是 OC 门或 OD 门,也是因为这种 IO 的高阻态输出和线与逻辑才能让他们能够有一个 master,多个 slave,也不会出现短路情况。

 

使用注意事项:

上拉电阻太小,会增大饱和压降,导致输出的低电平很高。

上拉电阻太大,会延缓信号的上升沿。

OC 门可以连在一起,做“线与逻辑”。

 

上拉电压可以根据下一级输入端的电平标准来选择,但也要注意芯片输出端口的电压 maximal rating

 

2. OD 门

把 OC 门的三极管换成场效应管,就是 OD 门,OD 意为漏极开路。

 

OD 门电路


A=0,①关闭,②导通,相当于开关闭合,输出 0V(因为 MOS 管的导通阻抗很低,所以输出几乎等于 0)。A=1,①导通,②关闭,相当于开关断开,C 点呈现高阻态,通常情况下 C 点要有上拉电阻,以输出高电平。I2C,SMB 类型总线就是 OC 门或 OD 门,也是因为这种 IO 的高阻态输出,和“线与逻辑”才能让他们能够有一个 master,多个 slave。

 

使用注意事项:

上拉电阻太小,会导致 MOS 管②的导通电流过大,烧毁 MOS 管。

上拉电阻太大,会延缓信号的上升沿。

OD 门可以连在一起,做“线与逻辑”。

 

上拉电压可以根据下一级输入端的电平标准来选择,但也要注意芯片输出端口的电压 maximal rating

 

3. 推挽输出

推挽输出又叫 push-pull,很多芯片的部分 GPIO 会支持这个功能。


用 NPN+PNP 制作的推挽输出结构如下:

三极管推挽输出


用 PMOS+NMOS 制作的推挽输出结构如下:

input 输出高电平时,PMOS 截止,NMOS 导通,output=0V

input 输出低电平时,PMOS 导通,NMOS 截止,output=VDD

 

MOS 管推挽输出


推挽输出结构的低电平输出能力与 OC 门或 OD 门是一样的,但是高电平输出能力比 OC 门或 OD 门强很多,因为是直接上拉到了电源!因此推挽输出可以输出很高的电流。需要注意的是,配置为推挽输出的两个管脚,如果连载一起,一个配置为输出高,另一个配置为输出低,会产生很大的电流,导致 IO 烧毁。