☰
二极管与门/或门与三极管非门设计:0.7V、上拉电阻与Proteus仿真
2026/10/7 8:49:46 网站建设 项目流程

前阵子有个做嵌入式软件的朋友拿着块面包板来找我,说他按教程搭了个二极管与门、二极管或门,又用三极管搭了个非门,接上单片机死活不对:带一个门还行,串两级电平就飘了,接个负载直接失灵。我去看了一眼,问题其实全在几个很基础但特别容易被糊弄过去的点上——那0.7V到底该怎么算、二极管门的上拉下拉电阻该取多大、三极管到底是"放大"还是"饱和"。这篇就把二极管与门、或门,以及三极管非门这三件事,从PN结的物理图像一路讲到能用万用表量、能在Proteus里跑通的完整程度。不管你是刚开始学模电的学生,还是做硬件时想临时补个逻辑的工程师,看完至少能自己把这三个门算明白、搭出来、调对。

1. 二极管敢做"门",靠的是PN结单向导电

1.1 PN结的正向和反向,到底差在哪

二极管能当逻辑器件用,本质就是它只让电流朝一个方向走。P型半导体里空穴多,N型里自由电子多,两边一接触,交界处的载流子会互相扩散并复合,形成一个几乎没有可动载流子的区域,也就是耗尽层。这个耗尽层里留下了不能移动的离子,形成一个内建电场,方向恰好阻止载流子继续扩散。当两边扩散和漂移达到动态平衡时,这个内建电位差对硅管来说大约在0.7V上下。

外加正向电压时,外部电场削弱内建电场,耗尽层变窄,载流子可以持续越过结,电流迅速增大,表现为很小的电压变化对应很大的电流变化——这就是为什么我们常说的"导通压降0.7V",它其实不是一个固定值,而是一个对数关系的产物:电流增加十倍,Vf大概只多60mV。外加反向电压时,耗尽层变宽,只有极少的少子漂移形成漏电流,常温下通常只有纳安到微安级,几乎可以当成断路。

这个"正向通、反向断"的强非线性,正是所有二极管逻辑门的物理基础。但也正因为它是非线性的模拟器件,而不是理想开关,它做逻辑门时会有一堆"欠账",后面几节会把这些账一笔笔算清楚。至于反向电压加到一定程度发生的击穿,那已经不属于"逻辑门"的讨论范围,但它在保护电路里有用,第5节会专门说。

1.2 开关二极管、整流二极管、肖特基,选错就拖慢波形

很多人第一次搭这个电路,随手从抽屉里摸出1N4007就用,结果输出波形边沿又圆又慢,还以为是电路设计错了。这里必须把常见几类二极管讲清楚,因为选型直接决定逻辑门能不能用。

型号类别典型型号正向压降反向恢复时间结电容适合做信号门吗
小信号开关管1N4148、BAV990.6~0.7V约4ns约4pF非常适合
肖特基管1N5819、BAT540.25~0.4V极快较小适合,但漏电大
通用整流管1N4001~1N40070.8~1.0V约2us十几到几十pF不适合
快恢复管FR107、UF40070.9V约几百ns中等勉强

差别有多大?1N4007的反向恢复时间大约2微秒,而逻辑信号本身的脉宽可能才1微秒,管子还没恢复完,下一个边沿又来了,输出波形自然一团糟。而1N4148的恢复时间只有4纳秒,结电容4pF,配1kΩ上拉电阻算出来的时间常数也就4ns量级,完全跟得上。

肖特基管还有个额外好处:压降只有0.3V左右。这对逻辑门是实打实的收益。前面说过,二极管门的低电平等于"输入低电平+Vf",用1N4148时是0.6~0.7V,用BAT54能压到0.3V,噪声容限直接翻倍。代价是肖特基的反向漏电流比普通硅管大两三个数量级,而且随温度上升很快,高温环境下反而可能把低电平抬起来。我自己的习惯是:常温、短距离、单板内使用肖特基;温度范围宽、或者信号源阻抗高,还是老老实实用1N4148。

1.3 那个0.7V在数字逻辑里不是小数目

数字电路判断高低电平是有门限的。以常见的5V系统为例,输入端电压低于0.8V算低,高于2.0V算高,中间1.2V是禁止区。每经过一个二极管,输出电平就朝一个方向偏移大约0.7V。

假设你拿二极管门做级联:第一级输出高电平4.3V,第二级再减0.7V变成3.6V,第三级2.9V,第四级2.2V——刚好贴着2.0V的门限。也就是说,分立二极管门最多串三级到四级的量,再多就不保证能被识别为高电平了。这是很多人做"教学演示"时容易翻车的地方:单个门看着挺好,一串联,逻辑就开始随机抖动。

还有一个容易被忽略的量:Vf有负温度系数,大概每升高1℃下降2mV。从25℃到85℃,Vf会从0.7V掉到0.58V左右。对与门来说,输出高电平等于Vcc减去Vf,温度升高反而让高电平更高;输出低电平等于Vf,温度升高让低电平更低。看起来都是好事,但别高兴太早——半导体器件的反向漏电流随温度大致每升高10℃翻一倍,长时间高温工作时,本该"截止"的那条支路的漏电流会越来越大,最终把本该干净的低电平一点点抬上去。我见过一块板子在机房跑了一年多,冬天没事,夏天偶发误动作,最后查出来就是二极管漏电把低电平抬到1.1V,越过了门限。所以设计时电平余量至少留0.3V,别贴着门限走。

2. 二极管与门、或门的具体画法与定量核算

2.1 与门:阴极并输入,阳极抬输出,上拉电阻定高

先说与门的标准接法,这个拓扑很多人第一次会画反。

取两个二极管D1、D2。把它们的阴极分别接到输入A和输入B,两个阳极并在一起接到输出Y,再从Y到电源Vcc接一个上拉电阻R。就这么简单,三个元件。

分析它的四种输入组合:

  • A=B=高(比如都是5V):两个二极管的阳极电压都不到阴极电压(Y点比5V低),两管都截止,Y点被上拉电阻R拉到Vcc,输出高电平。空载时就是5V。
  • A=低(0V)、B=高:D1的阳极是Y点,阴极是0V,只要Y点电压超过0.7V,D1就正偏导通。电流从Vcc经R流到Y,再经D1流进A的驱动源。Y点被钳在0.7V左右,是低电平。此时D2的阳极0.7V、阴极5V,反偏截止。
  • A=高、B=低:对称,同样输出0.7V。
  • A=B=低:两管都导通,Y点被钳在0.7V。

只有两路都高,输出才高;任一路低,输出就低。逻辑上就是"与"。

有个细节值得说:这个电路要求输入端在低电平时能吸收电流(sink)。上拉电阻越小,需要吸收的电流越大。如果你用单片机引脚做输入,务必确认它的灌电流能力足够——很多老式51单片机灌电流能到10mA以上,拉电流却只有几百微安,这个方向上反而是优势。

2.2 或门:阳极接输入,阴极接输出,下拉电阻定低

或门的接法恰好镜像过来:两个二极管的阳极分别接输入A、B,两个阴极并在一起接输出Y,再从Y到地接一个下拉电阻R。

同样过一遍四种组合:

  • A=B=低(0V):两管的阳极都是0V,阴极Y点也被下拉电阻拉到0V附近,两管截止,输出低电平0V。
  • A=高(5V)、B=低:D_A阳极5V、阴极Y点,正偏导通,电流从A经D_A流到Y,再经R流入地。Y点被抬到5-0.7=4.3V,输出高电平。D_B阳极0V、阴极4.3V,反偏截止。
  • A=低、B=高:对称,输出4.3V。
  • A=B=高:两管都导通,都往Y点灌电流,Y点仍被钳在4.3V。

任意一路高,输出就高,逻辑上就是"或"。

注意这里的电流方向和与门相反:或门要求输入高电平时能输出电流(source)。所以如果你手上是那种"灌电流强、拉电流弱"的老单片机,用二极管搭或门会比搭与门吃力一些。

2.3 把四种状态的电平实际算出来

假设Vcc=5V,用1N4148,正向压降按0.7V算,负载开路,把两种门的真值表列出来:

AB与门输出Y或门输出Y
低(0V)低(0V)0.7V0V
低(0V)高(5V)0.7V4.3V
高(5V)低(0V)0.7V4.3V
高(5V)高(5V)5.0V(空载)4.3V

几个关键结论直接写在表外:

  1. 与门的低电平不是0V,是0.7V。TTL输入的低电平上限是0.8V,0.7V只剩下0.1V的余量,稍微有点噪声就误判。用肖特基管把这个值压到0.3V,余量立刻变成0.5V,这是实际设计中最有价值的一招。
  2. 与门的高电平空载是5V,带载就不是了。后级只要吸取哪怕很小的电流,输出就会掉:Vout = Vcc - I_load × R。R取4.7kΩ、后级吸0.3mA,输出就掉1.4V,只剩3.6V。所以上拉电阻不能随便取大。
  3. 或门的高电平始终是4.3V,低电平是0V。或门的低电平比与门干净得多,这是它相对更"好伺候"的原因。但它的高电平损失了0.7V,串两级就只剩3.6V了。

2.4 上拉/下拉电阻取值:扇出能力差的根子在这里

上拉电阻R的取值,是个必须算的账,不能凭感觉。

先看与门在上拉这条路上的问题。R越小,高电平带载能力越强,但输入低电平时需要被吸收的电流越大:

输入低时灌入输入端的电流 I_sink = (Vcc - Vf) / R 取 R = 1kΩ:I_sink = (5 - 0.7) / 1000 = 4.3mA 取 R = 4.7kΩ:I_sink = 4.3 / 4700 ≈ 0.91mA 取 R = 10kΩ:I_sink = 0.43mA

再看高电平带载能力。假设后级是另一个二极管门的输入,需要0.5mA的输入电流:

Vout = Vcc - I_load × R R = 1kΩ 时:Vout = 5 - 0.5m × 1k = 4.5V(还能保住高电平) R = 4.7kΩ 时:Vout = 5 - 0.5m × 4.7k = 2.65V(勉强) R = 10kΩ 时:Vout = 5 - 0.5m × 10k = 0V(彻底垮掉,连高电平都算不上)

所以实际工程里,R通常落在1kΩ到4.7kΩ这个区间,而且更偏向1kΩ。代价就是输入低电平的驱动源要能吸收4.3mA。这个数字看着不大,但如果你要接五个门(扇出5,就是五路同时吸收),加起来就是21.5mA,很多信号源已经扛不住了。这就是分立二极管门扇出能力差的根本原因,不是扇入的问题,是输出端那条电阻在持续放血。

顺便说,二极管门之间互相连接时,后级的输入电阻很低(低电平时表现为一个正向导通的二极管),它会直接把前级的输出拉偏。所以实践中千万不要在没有缓冲的情况下把二极管门串成多级——真要串,中间必须加一级三极管或者集成门做隔离。

3. 三极管非门:让管子老老实实在饱和和截止之间跳

3.1 截止、放大、饱和,三种状态怎么判定

三极管能当反相器,靠的是它只在两个极端工作:要么完全截止(输出高),要么深饱和(输出低)。中间那个"放大区"是模拟电路的地盘,做逻辑的时候要尽量躲开。

判断这三种状态,最实用的办法是看两个电压:Vbe和Vce。

工作状态VbeVce集电极电流 Ic判据口诀
截止< 0.5V(低于死区)约等于Vcc几乎为0基极没电流,管子当断开
放大0.6~0.7V大于Vce(sat)Ic = β × Ib电流受基极控制
饱和0.7~0.8V0.1~0.3VIc < β × Ib受外电路限制,加再多基极电流也上不去

实测操作非常简单:万用表量C-E之间的电压。如果Vce只有0.1~0.2V,说明管子深度饱和,可以放心当开关用;如果Vce接近电源电压,说明截止;如果Vce卡在中间比如1.5V,那它正在放大区,这个反相器的输出既不是合格的低电平也不是合格的高电平,必须回去改电阻。我见过太多"能工作但偶尔出错"的电路,本质就是这个管子半死不活地卡在放大区,温度一变,Vce跟着漂,输出就过门限了。

还有一个细节:Vce(sat)不是常数,它随集电极电流增大而增大。小电流下可能只有0.05V,几毫安时0.2V,几百毫安时能到0.5V甚至更高。设计时应查手册里对应Ic的Vce(sat)曲线,别一律按0.2V算。

3.2 共射极反相器的完整设计流程

下面按一个实际例子走完整个设计过程:Vcc=5V,需要把输出拉低到0.4V以下,灌电流能力按4mA设计,输入高电平来自3.3V的单片机引脚。

第一步,定集电极电阻Rc。

这个电阻决定了饱和时流过管子的电流,也决定了截止时输出能被上拉到多高。

Rc = (Vcc - Vce(sat)) / Ic = (5 - 0.2) / 4mA = 1.2kΩ 取标称值 1kΩ 实际 Ic = (5 - 0.2) / 1000 = 4.8mA

Rc也不能太小,否则饱和时电流过大,既浪费功耗又可能超出管子的连续电流能力。9013这类小功率管,集电极电流长期控制在50mA以内比较稳。

第二步,定基极电阻Rb。

关键的一步。先确定需要的基极电流Ib。这里要引入一个概念叫强制β(也叫过驱动倍数)。

取强制 β_forced = 10 Ib = Ic / β_forced = 4.8mA / 10 = 0.48mA

然后根据输入高电平反推Rb:

Rb = (Vin(高) - Vbe) / Ib = (3.3 - 0.7) / 0.48mA = 5.4kΩ 取标称值 4.7kΩ 实际 Ib = (3.3 - 0.7) / 4700 = 0.55mA 实际 β_forced = 4.8 / 0.55 ≈ 8.7

如果输入高电平是5V而不是3.3V,Rb就要大一些:(5-0.7)/0.48mA = 9kΩ,取8.2kΩ。同一个电路,把3.3V的信号直接接到按5V设计的基极电阻上,很可能就驱动不足了,这是3.3V和5V系统混用时最常见的坑。

第三步,加基极下拉电阻。

在基极和发射极之间并一个10kΩ电阻。它的作用有两个:一是当输入悬空时把基极拉到0V,防止漏电流和环境干扰让管子误导通;二是当输入从高变低时,给基区存储的电荷提供一条快速泄放通道,缩短关断时间。这个小电阻是很多人画板子时会漏掉的,加不加,波形边沿差很多。

3.3 为什么要"过驱动":β分散和温度漂移逼出来的

刚才取强制β=10,而不是按手册上的hFE=100或者200去算,这背后有明确的理由。

第一个理由,hFE的分散度惊人。以9013为例,厂商按放大倍数把它分成好几个档位,比如O档60~110、Y档100~200、GR档150~300。你从一包里随便抓一个,可能是80,也可能是250。如果按hFE=150算出来Ib,结果装上了一个hFE=80的管子,Ic上不去,输出就达不到饱和。

第二个理由,hFE随温度和电流变化。低温下hFE会下降,大电流下hFE也会下降。手册里给的hFE(min)通常是在特定测试条件下的最低保证值,实际使用工况下可能更差。

第三个理由,β是电流放大系数,不是可以依赖的设计参数。在模拟电路里可以精调工作点,但在数字电路里,我们希望管子只做两件事:通和断。强制它进入深度饱和,就不需要去关心它到底是80还是250了——只要基极电流给够,Ic就被Rc限制死了,与β无关。

工程上的经验公式很简单:

Ib ≥ Ic / (hFE(min) / 5) 也就是说,设计时假设实际能用的放大倍数只有手册最小值的五分之一。

以上面的例子验证:假设9013的hFE(min)=60,那Ic/Ib不能超过60/5=12。我们算出来的β_forced是8.7,小于12,合格。如果换成hFE(min)只有30的管子,那么上限是6,8.7就超标了,得把Rb再减小一点,或者把Rc加大一点减小Ic。

3.4 开关速度:存储电荷、加速电容、肖特基钳位

很多人第一次搭三极管非门,用示波器一看,下降沿挺干脆,上升沿却拖出一大截,或者关断的时候有个明显的"尾巴"。这跟三极管饱和的机理有关。

三极管进入深饱和后,基区里面堆积了大量多余的少数载流子,这些电荷没地方去,只能慢慢复合掉。在它们被清空之前,管子没办法立刻关断,这段时间叫存储时间(ts),是限制三极管开关速度的主要因素。基极电流给得越大(饱和越深),存储电荷越多,关断就越慢——这就是"深度饱和"和"高开关速度"之间的矛盾。

工程上有几种常规解法:

  • 加速电容:在基极电阻Rb上并联一个小电容,一般几十到几百皮法。输入跳变瞬间,电容相当于短路,提供一个很大的瞬时电流脉冲,加速管子进入饱和;输入撤回时,电容又提供一个反向抽取电流,快速把存储电荷抽走。这个小电容对稳态功耗没有任何影响,是老工程师很喜欢用的一招。
  • 基极泄放电阻:前面说的10kΩ下拉,在管子关断时给基区电荷提供通路,效果比开路好得多。
  • 限制饱和深度:不要让管子进入太深的饱和。用一个肖特基二极管跨接在基极和集电极之间(阴极接基极、阳极接集电极),当集电极电压下降到比基极还低的时候,肖特基提前导通,把多余的基极电流从集电极旁路掉,使管子停在浅饱和状态。这就是历史上74LS系列能比74系列快的原因,用的正是这个技巧。
  • 提高驱动电平:如果上升沿慢,其实是Rc和负载电容在作怪。上升时间常数约等于 Rc × Cload。Rc=1kΩ、负载电容20pF,时间常数就是20ns,一般够用;但如果Rc取到10kΩ,就变成200ns了,明显拖后腿。

顺带提一句,非门反相两次就得到同相缓冲器。如果你需要的不是反相,而是驱动能力更强的同相输出,串两级反相是最简单的做法;用射极跟随器也可以,但它不反相的同时会损失一个Vbe的压降,输出高电平只有4.3V,而且关断没有下管拉低,退出饱和较慢,做逻辑输出不如两级共射干净。

4. 在Proteus里把三个门搭出来并跑通

4.1 元件库选择与连线规范

仿真之前先把元件选对,这是省时间的做法。下面这张表是我常用的清单:

用途Proteus里的关键字建议型号说明
小信号二极管1N41481N4148恢复快,做信号门
整流二极管1N40071N4007只建议做电源相关
肖特基BAT54 / 1N5819BAT54压降低,可对比观察
NPN三极管2N2222 / BC5472N2222A模型齐全,β可调
电阻RES任意阻值直接在属性里改
直流电源VSOURCE 或 DC—属性里设成5V
脉冲源PULSE—后面说明参数
时钟源DCLOCK—方波,频率可设
地GROUND—必须有,否则仿真不收敛

这里有个很多人第一次会踩的坑:Proteus里的POWER符号,它的默认网表名是"POWER"而不是VCC,电压值取自设计属性里的电源轨设置。如果你直接用POWER符号搭电路,又在别的地方单独放了5V电源,两个网可能被当成不同的节点,或者干脆报"no power rail"错误。我的做法是干脆不用POWER符号,一律用VSOURCE或DC电池元件,属性里写5V,接地用GROUND符号,这样每个节点电压都明明白白,不会出意外。

连线方面,尽量用WIRE工具连实线,交叉处要出现实心接点才算连通。给关键节点加LABEL(右键Place → Wire Label),命名成A、B、Y,这样在波形窗口里能直接看到Y的曲线,不用去数第几根线。这个小习惯在做多路对比的时候能省掉大量时间。

4.2 激励、探针与波形观察的设置

Proteus里验证这三种门,我推荐三个层次递进的做法:

第一层,交互式手动验证,最适合第一次搭。

直接点左下角的运行按钮,用DC VOLTMETER(直流电压表)挂在输出Y上,然后手动改输入端电源的电压值(5V或0V),逐个把四种组合跑一遍,记录输出电压。这一步能让你直观看到那个0.7V的偏移到底长什么样。缺点是慢,而且只能看到静态值。

第二层,用两个脉冲源一次覆盖全部组合。

给输入A和输入B各接一个PULSE源,设成不同频率,比如A是1kHz、B是400Hz,这样两者的高低组合会自动遍历"低低、低高、高低、高高"四种状态。PULSE的关键参数是:

初始电平(Initial Voltage):0V 脉冲电平(Pulsed Voltage):5V 上升时间(Rise Time):1ns 下降时间(Fall Time):1ns 脉冲宽度(Pulse Width):按频率的一半设置 周期(Period):对应频率

然后用模拟图表(Analogue Analysis)把A、B、Y三条曲线的波形画出来。注意这里必须选ANALOGUE模式,不能选DIGITAL模式。

第三层,用直流扫描看翻转阈值。

如果想知道输入电压扫过多少伏时输出翻转,用DC Sweep或直流传输特性分析,让A从0V扫到5V,画出Y随A变化的曲线,就能看到那个陡峭的翻转点,以及翻转前后中间那段"斜着"的区域。这段区域就是电路最脆弱的地方,也是判断噪声容限的直接依据。

提示:二极管门是模拟电路,一定要用模拟图表看波形。用数字图表虽然也能显示高低,但仿真器内部会按内置门限先做一次判决,把中间的模拟过渡过程全抹掉了,你看到的是理想方波,电路里真实存在的电平偏移和边沿延迟反而看不见。

4.3 仿真跑不通的几类常见原因

按经验,新手在Proteus里搭这类电路,翻车通常集中在下面几个点:

  • 仿真按钮点了没反应,或者报收敛失败。九成是没接地。所有仿真电路都必须有一个GROUND符号作为参考点。如果加了地还是报错,尝试在仿真设置里把最大步长(Maximum Step Size)改小,比如从默认改成1us,或者在关键电容上设初始条件。
  • 波形是一条直线。要么是选错了图表模式(数字/模拟),要么是激励源参数设错了(周期设成0,或者脉冲电平没改还是默认值)。检查一遍脉冲源的属性,特别是"Pulsed Voltage"是不是还停留在1V之类的小值上。
  • 压降和实际对不上。通用二极管(Generic Diode)模型在Proteus里默认的导通压降大约0.6V,和1N4148实测的0.7V有差距。如果要做精确对比,用带完整模型的具体型号,或者在器件属性里手动改正向压降参数。
  • 三极管反相器输出低电平下不去。大概率是基极电流不够,管子卡在放大区。把Rb调小一半试试,如果Vce明显下降,就说明原来确实驱动不足。这个实验在仿真里做一遍,比看书上十遍公式都有用。
  • 输出波形毛刺很多。加基极下拉电阻,基极和集电极之间加个小加速电容,波形会干净不少。

我个人的习惯是:先搭二极管门,把静态电平用电压表一个个量出来,跟第2.3节那张表对一遍;确认无误之后再搭三极管非门,量Vce确认饱和;最后把三个门串起来(或门 → 非门,就得到或非门),观察级联之后的电平还剩多少余量。这一套走下来,对"电平偏移"这件事的理解会比看任何教材都深。

5. 从分立门走到真实电路:接口、保护与取舍

5.1 前后级电平不匹配该怎么接

分立门电路真正放到板子上,最常遇到的问题就是电平不匹配。3.3V的单片机驱动5V的输入,或者5V的输出接到3.3V的输入,都得处理。

3.3V驱动5V输入。如果后级是5V的CMOS输入,高电平门限大概是0.7×Vcc=3.5V,3.3V已经不够了。简单办法是用两级NPN反相器级联,第一级把3.3V信号反相成"输出高=由Rc上拉到5V",第二级再反相回来。每级都按前面3.2节的流程算电阻,注意基极电阻要按3.3V那级重新算,别直接套用5V的参数。

5V输出接3.3V输入。这个相对好办,用一个NPN反相器,集电极电阻上拉到3.3V而不是5V,输出就是标准的0/3.3V摆动。代价是逻辑反相了,软件里取反一下,或者后面再串一级反相器。

还有一种更省事的做法,是用一个N沟道MOS管配上拉电阻做双向电平转换:源极接低压侧、栅极接低压侧电源、漏极接高压侧并上拉到高压电源。低压侧拉低时,MOS管的体二极管先导通把高压侧拉下来,然后沟道完全导通;高压侧拉低时,体二极管反偏,靠栅极电压决定是否导通。这个电路只需要一个MOS管和两个电阻,速度快、双向、不反相,在I2C这类总线上用得非常多。但它有个前提:两侧的电源必须同时上电,否则会出现倒灌。跨电源域使用时要格外小心。

5.2 钳位二极管和TVS,该放在哪一级

前面的二极管门讨论的是信号,而现实中信号线上总会窜进来一些超出电源范围的东西,这时候就要靠钳位和保护器件。这两者经常被混为一谈,其实职责完全不同。

钳位二极管的作用是限制信号线电压不超过Vcc+0.7V、不低于-0.7V。典型接法是取一个双串联的二极管阵列(比如BAV99,内部就是两个方向一致的二极管),一端接Vcc、一端接地、中间那根公共线接信号。信号电压正常时两个管都不导通;一旦信号超过Vcc+0.7V,上面那个管导通,多余电荷泄放到电源轨;信号低于-0.7V时,下面那个管导通。BAV99的结电容只有1.5pF左右,对高速信号几乎没有影响,所以在USB、HDMI这类接口的输入端非常常见。

它的能力边界必须说清楚:钳位二极管只能对付瞬态,不能承受持续过压。一旦信号持续高过Vcc加上钳位二极管的耐流能力,它会直接烧掉,或者把多余的电流灌进电源网络,把整个供电系统顶起来。所以钳位二极管前面通常要串一个小阻值的限流电阻,或者配合保险器件使用。

TVS管承担的是另一个量级的任务:吸收瞬时大能量,比如静电放电、感性负载断开时产生的尖峰。选型看三个参数:

参数含义选型原则
VRWM(反向工作电压)正常工作时能长期承受的最高电压必须大于信号的最大正常工作电压,通常留10%~20%余量
VBR(击穿电压)开始显著导通的电压略高于VRWM,不能低于信号的最大摆幅
VC(钳位电压)通过规定峰值电流时的两端电压必须小于被保护器件的绝对最大耐压

举个具体例子:保护一条5V信号线,VRWM可以选5V或6V,VBR大概6.7V,要保护的芯片耐压是12V,那么VC只要低于12V就合格。TVS的结电容通常比钳位二极管大得多,从几百pF到几nF都有,用在高速总线上会造成明显的信号衰减,这时候必须选低容值型号。

在电路板上的顺序一般是:连接器 → 限流电阻或保险 → TVS → 钳位二极管 → 芯片引脚。TVS在前,吸大头;钳位二极管在后,把残余的过冲削平;限流电阻夹在中间,保证前两者承受的电流不超过它们的耐量。

5.3 三极管、MOS管、集成逻辑门,到底该选谁

最后说说选型。这三个门放电平、搭逻辑,能用的器件有好几类,各有各的适用面。

分立三极管的优势是便宜、耐压宽、驱动电流大、库存到处都是。缺点是它需要电流驱动,β分散,温度特性不理想,级联时还要考虑饱和深度。适合的场景是:单级反相、需要同时驱动负载(比如继电器、LED、小电机)的场合。顺带说一句,用三极管驱动感性负载时,一定要在负载两端反并一个续流二极管,方向和电源相反,给负载断电瞬间的反向电动势一条泄放通路。不加这个二极管,那个尖峰会直接击穿三极管,这个坑几乎所有做过电机驱动的人都踩过。

MOS管是电压驱动,开关速度快,导通电阻可以做得很低,很适合大电流场合。但它的栅极是个电容,驱动时要有足够大的瞬时电流去充放电,直接用弱信号源推会拖慢开关速度。低压应用里还要注意导通电阻和栅源电压强相关,3.3V驱动一个标称4.5V才完全导通的管子,实际导通电阻会高好几倍,发热和压降都上去了。这一点和前面三极管"驱动不足就不饱和"是同一类问题的不同表现。

集成逻辑门(比如74HC04非门、74HC08与门、74HC32或门)的价值在于,它的输入输出特性、扇出能力、噪声容限、传输延迟都是被明确规定和保证的。你不需要去算基极电阻,不需要担心压降偏移,只要电源接对、去耦电容加上,就能稳定工作。什么时候必须用它:级数超过两级、速度要求在几十纳秒以内、电源噪声比较大、需要保证扇出和抗干扰能力。什么时候可以用分立:教学演示、只需要一级反相、需要把逻辑和功率驱动合并在一级里、或者手头确实没有集成门。我的判断标准很朴素:只要是要出货的板子,逻辑功能一律用集成门,分立器件只用来做驱动和接口。分立逻辑门留给实验台和教学板就够了。

说到这里,回到开头那位朋友的问题。他后来把与门的上拉电阻从10kΩ换成1kΩ,把肖特基换成了1N4148(因为他的环境里信号源阻抗不低),三极管那级的基极电阻按3.3V重算了,又补了一个10kΩ的基极下拉,整块板子就稳了。有意思的是,他还顺手把三极管非门后面接的继电器加了续流二极管——那是另一个他在调试中烧掉两个管子之后才想起来的教训。分立逻辑门这个东西,原理图看着简单,真正动手时那些"欠账"都藏在电平、电流和温度里,只有拿表量过、在仿真里看过波形,才算真的懂了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询