在电子电路领域,TTL 反相器、OC 门、TS 门以及推挽输出、开漏输出等概念是重要的基础知识。本文将深入解析这些电路的原理、特性及应用。

TTL 反相器是经过众多工程师精心设计、不断优化后沉淀下来的成熟电路。对于我们而言,只需对其进行深入解析,无需探究其初的设计过程。学过 CMOS 的人都清楚,TTL 反相器右侧的输出级属于推挽输出,因其外形酷似图腾柱,所以也被称为图腾柱。推挽输出的显著优势在于 T4 和 T5 相互独立,呈现出要么 T4 导通 T5 截止,要么 T4 截止 T5 导通的状态。输入级较为简单,信号从 T1 的发射极传入并向后传递。倒相级的命名与集电极和发射极电压的变化密切相关。当 T2 集电极电压升高时,发射极电压降低;反之,发射极电压升高时,集电极电压降低,这种相反的变化过程使其得名倒相级。
通常在讨论数字电路时,我们采用定性的高低电平说法。但对于 TTL 反相器电路,需要运用定量方法进行分析。假设 Vcc = 5V、Vpn = 0.7V、Vce = 0.1V、ViH = 3.4V、ViL = 0.2V。当 A 输入 0.2V 时,T1 的 PN 结被打通,基极被钳位在 0.9V。T1 进入饱和状态后,集电极为 0.3V,导致 T2 截止,T4 基极电位为高电平,T4 导通,电流从 R4、T4、D2、Y 流出。当输入 3.4V 时,T2 导通,T5 也导通,T4 截止,Y 输出接近 0 的信号。输入级的 D1 起到保护 T1 的作用,防止 A 点电压出现负值时对 T1 造成损坏。

TTL 电路存在一些局限性,如高电平电压不够高,R4、T4、D3 会分压;不能直接线与,否则电流过大会损伤
三极管。为解决这些问题,我们对电路进行改进,去掉部分反相器,使电路只能输出低电平,然后额外挂载一个电阻和 Vcc' 来提供高电平。Vcc 和 Vcc' 相互独立,Vcc' 可根据后续电路需求调整电压,这样不仅解决了高电平电压不足的问题,还能使 TTL 电路推动 CMOS 电路。这种电路结构被称为 OC 门,即 Open Collector 集电极开路,与之类似的还有 OD(Open Drain 漏极开路)。OC 门虽名为 “门”,但并非传统的门电路。在此基础上,飞利浦公司发明了 I2C 协议。
上一节提到了线与,本节介绍线或的接法。线与必须使用 OC 门和外接电压实现,而线或的实现相对简单,只需添加两个
二极管即可。对于 TTL 电路,左边使用 OC 门搭建,右边的线或一般不使用 OC 门,因为 TTL 电路输出电压经过二极管后可能过低。对于 I2C 总线协议,为解决主机难以判断信息来源的问题,我们可以通过新增的橙线控制设备输出状态,使设备在特定条件下停止工作。
在 GPIO 输出模式中,推挽输出和开漏输出是常见的两种方式。推挽输出中,T4 和 T5 独立工作,要么 T4 导通 T5 截止,要么 T4 截止 T5 导通。当 GPIO 输出高电平时,电流流出,称为 “推”;输出低电平时,电流流入,称为 “挽”。开漏输出时,PMOS 永远截止,NMOS 导通时输出低电平,截止时输出高阻态。开漏输出正常工作时需接一个上拉电阻,常用于电平不匹配的场合,如 STM32 输出 3.3V,若要输出 5V,需接一个 5V 的上拉电阻。开漏输出还具有 “线与” 的特性,多个开漏输出引脚连接在一起时,只有都输出高电平(高阻态),终才能输出高电平。
推挽输出和开漏输出通过上面的线控制,直接对其编程可控制输出高低电平。而复用推挽输出和复用开漏输出使用下面的线,连接
单片机和内部外设,如 PWM、USART、I2C 等。由于这些通信频率高,使用复用功能可让模块直接控制引脚输出,方便编程。具体采用哪种工作模式,需根据实际工作需求决定,如 I2C 需要线与功能,应使用复用开漏输出;PWM、
串口通讯则使用复用推挽输出模式。