作者: Digi-Key 工程师 Kaleb Kohlhase
众所周知,与非门被视为通用逻辑门。逻辑门通常由晶体管系统和其他组件构成,它们的设计复杂程度完全取决于厂商。不管厂商层面设计的复杂程度如何,有一种非常实用的简单模型可表现和与非门相同的输入/输出模式,该模型由四个MOS晶体管组成。以下是电路图:
上半部分具有两个P沟道MOS管,称为“高边”配置,而下半部分有两个N沟道MOS管,称为“低边”配置。通俗地说,“高边”配置的预期输出应该与输入相反(即开输入产生关输出,反之亦然),而“低边”配置则与输入一致(即,开输入产生开输出,反之亦然)。虽然文字描述得很到位,但有时可能无法帮助理解电路的运行方式,因此我发现了一种更好的表述方法,即在MOS管所在的位置叠加“开关”。当栅极上没有输入电压时,P-MOS晶体管的“高边”配置与常闭开关是一样的。当栅极上没有输入电压时,N-MOS晶体管的“低边”配置与常开开关是一样的。
下面是一组展示所有可能状态的功能图:
两个输入均为低电平
A低、B高
A高、B低
两个输入均为高电平
我花了一番功夫才弄清楚为什么需要N-MOS晶体管,因为为使输出为零或接近零,电路需要“短路”到地。如果两个输入都是高电平,则N-MOS晶体管均为开,才能提供一个完整的回路,因为它们在供电时充当闭合开关。输出不会“恰好”为零,但只要足够低即可按标准视为低(晶体管有一定量的压降,因此输出不会恰好为零,但可以充分接近)。注意,输出应和与非门的真值表相匹配,其中~5V=1且~0V=0(对于真值表而言,y通常表示输出):
A | B | y |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
既然已经有了逻辑门,那为什么还要讨论这个话题呢?在单独使用栅极之前,必须先了解栅极是如何工作的。使用晶体管总是意味着,由于电压下降,与电源电压相比,电压会出现些许变化,这是用于告诉系统什么是“低”值、什么是“高”值的一个关键概念。你还可以使用此设置在模拟软件中对逻辑门进行建模,以便在板上开发之前先测试电路。最后,我来展示一下如何使用LTSpice中的与非门对所有基本逻辑门进行建模。没错,从技术上来说,该程序已经包含了一些内容,但如果从头开始构建与默认模型不同的模型,将有助于你理解其中的概念。
想试试进行实际建模吗?你可以将我们提供的一些零件组合在面包板上,看看是否有效:
简要说明 | Digi-Key 零件编号 | 厂商零件编号 |
---|---|---|
MOSFET N-CH 60V 32A TO220-3 | FQP30N06L-ND | FQP30N06L |
MOSFET P-CH 40V 430MA TO92-3 | TP0604N3-G-ND | TP0604N3-G |
ARDUINO UNO R3 ATMEGA328P EVAL | 1050-1024-ND | A000066 |
Arduino上的5V引脚足以激活两个MOS管,这取决于测试中使用的电源(也可以只用万用表来读取电压)。