首页 > 技术 > 内容

什么是三态电路?在FPGA上如何使用三态电路作为IO呢?

时间:2025-12-01  作者:Diven  阅读:0

什么是三态电路

我们认为CMOS数字电路的输出的稳定状态只有2种,就是逻辑0和逻辑1,从模拟信号量来说,就是0V和VDD。

那么有些小伙伴会说了,实际上输出状态还有Z态和X态。

Z态表示没有驱动时信号的输出,又被表示为高阻状态High-Z,在仿真波形上,喜欢用一条处于中间位置的线条表示,有的工具用黄色线条,有些工具用红色线条。而X态,则表示输出状态不是逻辑0,也不是逻辑1,在仿真波形上,往往用红色块表示。如下图所示:从仿真信号来看,这样的描述是为了区分稳定输出的信号逻辑状态,但客观世界里,并不存在X态以及Z态这两种信号状态。只是在不稳定的情况下,由于外界不确定的驱动因素,会使得输出状态向逻辑0或逻辑1漂移。

一般来说如果想避免这种Z态或X态,那么就必须确保信号有,且只有一个驱动源在驱动。(亚稳态也是导致Z态或X态的原因,但在那个时候,其实就是存在多个驱动,或没有驱动的情况)

峰回路转,那么这里想说的三态电路,又是一个什么鬼呢?我们看下面这个电路结构。上图所示,就是三态输出电路,当Enable为VDD的时候,输出电压Vout与A端输入电压保持一个逻辑电平转换。但是当Enable控制信号为0V,也就是逻辑0时,无论输入电压A端怎么变化,输出反相器的PMOS和NMOS都处于关闭状态,Vout就没有驱动了。刚才我们说过,如果信号没有驱动,就是输出高阻态High-Z,那么Enable为逻辑0的时候,Vout就是High-Z。

这种可以输出第三种逻辑状态的电路,我们称之为三态电路。在数字逻辑设计中,原则上只有IO电路上可以使用,常规的RTL设计,是不允许使用的。

如何让High-Z从不稳定走向稳定

既然High-Z是因为没有驱动而导致无法使用的不稳定信号逻辑,那么又怎样去使用呢?

因为三态电路常被用于IO Buffer的电路中,因此我们会在Vout输出上加一个上拉电路或下拉电路。当Enable无效时,Vout通过一个弱上拉或弱下拉连接到VDD或地上,使其稳定到VDD或0V。

如下所示,是某工艺下数字逻辑IO Cell的电路示意图,当OEN为1'b1的时候,A端数据是无法送到P(即PAD)端的,但通过配置PUN为逻辑0的时候,则P端被拉到了VDD,即逻辑1上,确保了稳定的输出:FPGA上如何使用三态电路作为IO

ASIC设计时,有专门的IO Buffer可以实现三态IO电路,实例化在电路中即可。但FPGA没有,可以使用以下Verilog HDL实现:注意这只适用于FPGA,同时要在IO约束文件里设置PULLUP或PULLDOWN可配置上拉或下拉。

使用BUSKEEPER对三态输出做保持

有些早期设计的片内嵌入式存储电路,其输出口仍然会使用三态输出,原本是为了降低功耗(还没输出时,关闭输出驱动管),但这也导致输出端出现High-Z,无法直接连接到数字逻辑上。

这个时候就可以在每个可能出现三态逻辑的输出信号上,接一个叫做buskeeper的电路逻辑,有时候又叫busholder。Buskeeper用了一对驱动力大体一致的反相器组成反馈,当内部关闭输出后,原本在信号上的逻辑1或逻辑0,就可以被保持住。确保数字逻辑中不存在高阻或不定态。

注意驱动能力

无论上拉或下拉,我们都会说 弱上拉 ,或 弱下拉 ,这是什么原因呢?

我们看下面这个IO,当输出使能关闭后,DRVP以及DRVN都处于OFF状态,VDDPST通过上拉PMOS,PUMOS,为电容充电,使得PAD达到VDDPST的电压值,也就是逻辑1。如果打开输出使能,并想输出逻辑1,如下图所示,因为驱动管DRVN关闭,因此VDDPST通过DRVP以及PUMOS同时向电容充电,时PAD达到逻辑1。这个还是比较好理解的。但是如果我们想输出逻辑0呢?由于上拉管PUMOS与驱动管DRVN同时打开,那么同时会有VDDPST通过PUMOS向电容充电,以及电容通过DRVN向地放电的两条通路。如果想让PAD达到逻辑0,那么必须是放电通路的能力远远大于充电通路。由此可见,必须使用较大的上拉或下拉电阻,或者使用驱动能力较弱的上拉或下拉晶体管,才更可能使PAD在输出逻辑0的时候,更容易接近于地电平。

所谓驱动力,其实就是电流,对于电阻来说,电流就是电压与电阻的比值:

I=(VDDPST-VPAD)/R(I是驱动电流,VDDPST是IO的供电电压,而VPAD是PAD上的电压,理想结果是无限趋近于0V,R则是电阻的阻值)

由此可见,在假设VPAD无限接近于0,则希望电流越小(驱动力越小),则上拉或下拉电阻的阻值就需要越大。

而对于MOS来说,如果假设VPAD的电压无限接近于VDDPST或0V,则上拉或下拉晶体管处于饱和状态,可以提供电流的公式为下图中饱和区的计算方式:根据公式可以看出,如果在一个特定工艺的芯片内,想减少电流,就是减小宽长比W/L的数值。

需要注意,因为PMOS的迁移率只有NMOS大概一半的样子,因此在设计电路时,下拉器件的选择尤为重要。经验不足的工程师,往往会在下拉驱动选择上翻跟头。

给大家一个问题思考,如果芯片内的下拉驱动能力比较强,后期芯片无法输出稳定的逻辑1,我们能不能通过板级设计解决这个问题呢?

电平适配电路

我们一般都认为IO的输出电压就是芯片供电的Post-Drive电压,如果驱动芯片A的Post-Drive电压VDDPSTA是2.5V,则VOH为2.5V,但接收芯片B的Post-Drive电压VDDPSTB是3.3V,VIL为2.7V。如何让接收信号稳定的接收到驱动逻辑电平呢?这里可以巧用三态IO,当CHIPA要输出逻辑1的时候,不是通过驱动管输出逻辑1,而是输出一个High-Z状态,这个时候PAD上的信号就没有驱动了。在片外增加一个上拉电阻,并连接到VDDPSTB上,则此时PAD上的电压VPAD就会因为VDDPSTB通过板级上拉电阻向电容充电而上升到VDDPSTB上,并稳定为CHIPB提供逻辑1。

但也要注意一个问题,就是如果VDDPSTB比VDDPSTA高的太多,那么就要注意会不会因为VDDPSTB到地的电压过大,或者VDDPSTB到VDDPSTA的电压差过大烧坏了DRVN或DRVP。

通过上拉电阻输出逻辑1,或者通过下拉电阻输出逻辑0的三态IO Buffer,在GPIO以及I2C等通讯接口上是经常被用到的。具体电路,具体分析。

猜您喜欢


水晶头,又称RJ45接头,是网络连接中不可少的重要组件。应用于多个领域,主要包括计算机网络、电话通信和家庭影音系统等。在计算机网络中,水晶头常用于以太网连接,确...
2013-03-05 00:00:00
贴片电阻1433,因其尺寸为1.4mm x 3.3mm而得名,是一种应用于电子电路中的小型电子元件。在电路中主要起到限流、分压、匹配阻抗等作用,是电子产品中很重...
2024-11-29 10:26:14
LCD显示屏的参数主要包括分辨率、亮度、对比度、响应时间和视角等几个关键指标。分辨率是指显示屏能够呈现的像素数量,通常以宽度乘高度的形式表示,例如1920x10...
2009-09-27 00:00:00
电子电路设计和电气工程领域,功率电阻是不可少的重要元件。合理选择和计算功率电阻的标准值,不仅能保证电路的正常运行,还能提高系统的稳定性和安全性。本文将详细介绍功...
2025-11-22 23:00:03
在电子世界里,小小的贴片电阻扮演着至关重要的角色。对于电子爱好者和工程师来说,快速识别和使用不同阻值的电阻至关重要。0603贴片电阻,因其微小的尺寸和广泛的应用...
2025-04-14 15:03:43
BOURNS(伯恩斯)很好的合金电阻产品而闻名全球。对于许多消费者而言,了解一个品牌背后的国家归属往往比了解其具体产品更为重要。本文将深入探讨BOURNS品牌的...
2014-06-10 15:05:51
铝壳电阻作为重要的电子元件,应用于各种电路中。合美电机(HERMEI)作为国内知名的电阻制造品牌,其铝壳电阻系列凭借优良的品质和多样的型号,赢得了市场的认可。本...
2024-06-03 04:52:37
YAGEO(国巨)很好的品质和的产品线,成为了插件电阻领域的佼佼者。本文将带您深入了解YAGEO这一品牌,揭示其在插件电阻领域的独特魅力与优势。品牌背景与实力Y...
2015-08-20 22:29:07
消防梯是现代建筑中不可少的重要安全设施,主要用于在火灾等紧急情况下,帮助人员迅速疏散和救援。通常由耐高温、抗腐蚀的材料制成,确保在极端条件下的可靠性。消防梯的设...
2020-12-17 00:00:00
铁氧体磁珠是应用于电子设备中的关键元件,其主要优势包括以下几点。铁氧体磁珠具有优异的电磁干扰抑制能力,可以有效过滤高频噪声,保证信号的稳定性和清晰度。铁氧体材料...
2024-09-20 00:00:00