三态逻辑输入/输出

在数字电子技术中,三态逻辑(TRIS)允许输入或输出假设为1、0或高阻抗状态(开路)。

01_00
一个缓冲器三态图

三态输入 可以检测引脚是否为逻辑1、0或未连接(开路)。
三态输出 允许多个电路共享相同的输出线。如果有多个设备与另一个设备电连接,则通常会将输出置于Hi-Z态以防止短路,例如当一个设备输出高电平(逻辑1)而另一个设备输出低电平(逻辑0)时。

当输出为三态(处于Hi-Z状态)时,它们对电路其余部分的影响将被消除,如果没有其他电路元件能够决定其状态,则电路节点将为“浮动”状态。电路设计人员通常会使用上拉下拉电阻(通常在1-100 kΩ范围内)来影响当输出为三态时的电路。

*三态逻辑还可以减少驱动一组LED所需的电线数量(三态多路复用或查理复用)。


共四种不同类型的三态缓冲器,一组是通过“高电平有效”控制信号启用或禁用输出,从而产生逆向或非逆向输出,另一组是通过“低电平有效”控制信号来控制缓冲器输出,从而产生逆向或非逆向输出,如下所示。

02_00

03_00

04_00

05_00


三态 (称为“TRIS”)在编程中也很常见。TRIS寄存器支持你选择引脚是输入还是输出,并对该引脚进行读写操作。在使用I/O引脚之前,必须先配置该寄存器。上电复位后的典型默认值是,引脚都被定义为输入(读)。

  • TRIS位 = 1 → 引脚配置为输入
  • TRIS位 = 0 → 引脚配置为输出
  • 一种简单的记忆方法是,1看起来像“I”,而0看起来像“O”
    05_01

三态缓冲器广泛应用于大量电子和微处理器电路中,因为它们允许多个逻辑设备连接到同一根电线或总线上,而不会损坏或丢失数据。例如,假设我们有一条数据线或数据总线,连接着一些内存、外设、I/O或CPU。这其中的每个设备都能在这个单一的数据总线上相互收发数据,同时创建所谓的冲突

当多个设备连接在一起时,就会发生冲突,因为有些设备希望将输出驱动到高电平,而有些设备则希望驱动到低电平。如果这些设备同时开始发送或接收数据,当一个设备向总线输出逻辑“1”(即电源电压),而另一个设备设为逻辑电平“0”或接地时,可能会发生短路,并可能导致设备损坏和数据丢失。

数字信息通过这些数据总线或数据高速通道发送,可以采用串行方式(一次一数据位)发送,也可以采用八根(或更多)线以并行形式一起发送;例如,微处理器数据总线允许多个三态缓冲器连接到同一数据高速通道上,而不会损坏或丢失数据,如图所示。

06_00

随后,三态缓冲器可用于将设备和电路与数据总线相互隔离。如果将几个三态缓冲器的输出连接在一起,则可使用解码器,这样一来,在任何时间都只允许一组三态缓冲器处于有效状态,而其他设备处于高阻抗状态。下图展示了连接到4线数据总线的三态缓冲器示例。

07_00

这个基本示例展示了如何使用二进制解码器在数据集中单独或集体控制多个三态缓冲器。解码器会选择相对于其二进制输入的适当输出,从而只允许一组数据将逻辑“1”或逻辑“0”输出状态传递到总线上。此时,连接到同一总线的所有其他三态输出将处于高阻抗Hi-Z状态,因而达到被禁用的目的。

随后,当高电平有效信号通过使能线ENA应用到三态缓冲器时,来自数据集“A”的数据只能传输到公共总线。在所有其他时间,它表示高阻抗条件,因而可以有效地与数据总线相隔离。

同样,数据集“B”仅在通过ENB应用使能信号时,才能将数据传递给总线。TTL 74244八进制缓冲器就是一同连接以控制数据集的典型示例。

你也可以将三态缓冲器“背对背”连接,以产生所谓的双向缓冲器电路,其中一个“高电平有效缓冲器”采用并行连接,但与一个“低电平有效缓冲器”的方向相反。

在这里,“使能”控制输入更像是一个方向控制信号,使数据的读取源和传输目标均为同一个数据总线。在此类应用中,你可以使用具有双向切换能力的三态缓冲器,如TTL 74245。

我们已经看到,三态缓冲器是一种非逆向物料,只有当使能(EN)引脚的输入为高电平时,它才会提供输出(与输入相同),否则缓冲器的输出会进入高阻抗(Hi-Z)状态。三态输出不仅用于数字三态缓冲器,还用于许多集成电路和数字系统中。

数字缓冲器和三态缓冲器都可用于提供电压或电流放大,从而驱动比传统逻辑门高得多的负载,如继电器、灯或功率晶体管。但缓冲器也可用于在两个或多个电路之间提供电隔离。

我们了解到,如果几个三态设备连接在一起,就可以形成一个数据总线,只要在任意时间中只选择其中一个,就不会出现问题。三态总线允许多个数字设备通过I/O信号和地址解码在同一数据总线上输入和输出数据。

三态缓冲器 具有采用单向和双向形式的四、十六或八进制缓冲器/驱动器的集成形式。


以下是一些常用的三态缓冲器:
MC14503BDR2GOSCT-ND | 296-32920-5-ND
08_00

  • 注意,其输出类型列为三态或推挽式:
    09_01

  • 根据规格书,推挽式也是一种三态输出:
    10_00

另请参阅:
什么是查理复用技术,以及该技术有何作用?
电子教程——数字缓冲器教程
百度百科——三态逻辑