回到目录

BJT晶体管可以实现逻辑门,事实上,在场效应管被发明用于集成电路以前,各种逻辑门芯片中的电路就是用BJT晶体管来实现的。最早人们使用二极管与BJT组合来实现逻辑门,这个称为二极管-晶体管逻辑(Diode-Transistor Logic),简称DTL;后来改进为全部用BJT晶体管来实现逻辑门,这个称为晶体管-晶体管逻辑(Transistor-Transistor Logic),简称TTL。早期广为人知的TTL电平,就是基于这种用BJT晶体管实现的逻辑门。TTL的优点是响应速度比较快,缺点是功耗较大,所以后来基本被功耗更低的场效应管取代。

我们这里仅介绍几个最简单的逻辑门的实现:反相器、或非门、与非门,主要是用来说明概念。除非你是专门设计逻辑门芯片的,否则一般平时也不太可能用分立元件去搭建逻辑门,还有就是在电路修补中万不得已时应急用一下。

在前面几小节的放大电路中,BJT都工作于放大区。而在用BJT实现逻辑门时,却要使用饱和区和截止区,而不能使用放大区,这个是逻辑电路和放大电路的在使用BJT时的根本区别。

1. 反相器

反相器的功能很简单,就是将输入的电平反向输出:输入高电平-输出低电平、输入低电平-输出高电平。下面是反相器的实现电路:

图3-9.01

在作逻辑分析时,我们一般做如下近似:将VBE的导通值视为0.7V,将典型值为0.1V~0.3V的饱和电压VCEsat近似视为0.2V。

下面是反相器电路工作原理:

• 当vi输入为0V时,BJT截止,vo输出电平即为5V。

• 当vo输入为5V时,BJT的CE端导通,产生电流IC,若此时BJT处于饱和区,VCE近似可视为饱和电压0.2V,此时输出电平vo即为0.2V。

这个电路的关键点在于如何选取合适的RB与RC值以确保BJT在导通时确实工作于饱和区。一般可以先根据外部负载条件定出一个符合输出阻抗要求的RC,然后再根据饱和要求,用公式原理推算出能使BJT进入临界饱和的大致RB值,再加点余量。最后验证在高电平输入条件下,BJT在此RB配置下是否确实工作于饱和区。具体方法可参看下面的案例:

案例3-9-1:在下图的反相器中,已知β=100,根据外部负载匹配,要求RC为500Ω,请选取合适的RB值使反相器能正常工作。

图3-09.a1

解:先计算出,在这个RC条件下,当BJT处于临界饱和时的ICsat值:

然后计算临界饱和时的IBsat值(当处于临界饱和时,β仍视为100):

使此IBsat成立的RBsat为:

为使BJT进入更深度的饱和,我们选取RB为比RBsat更小的值,假定选取为20kΩ。

验证:当RB为20kΩ时,IB为:

此时电流放大倍数为:

可知,在此RB值下,BJT导通时确实处于饱和区,原假设正确。

2. 或非门

或非门BJT实现电路和输入输出真值表如下图所示(其中1表示高电平,0表示低电平):

图3-9.02

• 当vi1和vi2输入都为0V时,晶体管Q1和Q2都截止,vo输出电平为5V。

• 当vi1输入为5V、vi2输入为0V时,晶体管Q1导通、Q2截止,由于Q1工作于饱和区,VCE1=VCEsat≈0.2V,故vo输出电平为0.2V。

• 同样的,当vi2输入为5V时、vi1输入为0V时,晶体管Q2导通、Q1截止,VCE2=VCEsat≈0.2V,故vo输出电平为0.2V。

• 当vi1和vi2都输入0V时,晶体管Q1和Q2都导通,VCE1=VCE2=VCEsat≈0.2V,故vo输出电平为0.2V。

关于如何配置RB1、RB2、RC的值使BJT晶体管工作于饱和区,这个和前面反相器的计算方法是类似的,可参看上面的案例3-9-1。

3. 与非门

与非门的实现需要二极管的配合,其实现电路和真值表如下图所示:

图3-9.03

• 当vi1和vi2输入中有任一个为0V时,输入二极管Di1或Di2就会导通,此时v1点的电压即为二极管的导通阈值电压0.7V。这个电压无法使右边的D1和Q1都导通,因为若要使D1和Q1的发射结都导通,vB点的电压起码需要0.7V,而v1点的电压需要0.7+0.7=1.4V。而在v1只有0.7V的情况下,右边的D1和Q1的发射结每个只能分到0.35V左右的电压,故D1和Q1都截止,输出vo保持5V的高电平。

• 当vi1和vi2输入全都为5V时,输入二极管Di1和Di2全都截止,此时VCC会使R1、D1和Q1形成通路,vB点的电压为0.7V,v1点的电压为1.4V。由于Q1导通时工作于饱和状态,故输出vo为VCEsat约等于0.2V。

至于如何配置R1、RB、RC,原理和前面是一样的:根据输出阻抗匹配先定RC,然后计算为使Q1进入饱和区的R1,具体方法可参看前面的案例3-9-1。

顺便提一下,RB称作下拉电阻,其主要作用是当Q1从饱和状态切换到截止状态时,使基区过剩的少数载流子有个渠道流掉,以减少切换开关时间。这个稍微了解一下即可,一般选一个大约的几千欧的阻值就差不多了,在要求不高的场合下,即使不用RB也问题不大。

4. 关于TTL

在上面电路中,我们用DTL(二极管-晶体管逻辑)实现了与非门。如果你想知道传说中的TTL(晶体管-晶体管逻辑)到底是什么样的,那么本小节可以稍稍满足一下你的好奇心。

我们仍以上面的与非门为例,假设先去掉Di2,那么,在图中两个背靠背的二极管Di1和D1,其实可以看成是一个NPN型三极管,如下图所示:

图3-9.04

我们前面说过,在分立元器件的BJT晶体管中,C极和E极的掺杂浓度是不对称的,所以分立元器件中不能像上图这样等效,但是在制作集成电路芯片时,是可以在片上做成像上面右图那样的对称管的。

而且,在集成电路制作时还可以加入多个发射极,如下图所示:

图3-9.05

如此,就实现了一个二输入与非门的TTL电路。如果要实现n个输入的与非门,还可以加入n多个发射极。当然,这种多发射极的BJT晶体管只能在集成电路芯片中实现,分立元器件的话是没有这种器件的。

回到目录

( end of 3-9)


初级模拟电路:3-9 BJT三极管实现逻辑门的更多相关文章

  1. 初级模拟电路:3-1 BJT概述

    回到目录 1.   名称由来 BJT的全称是双极性结型晶体管(Bipolar Junction Transistor),国内俗称三极管.其实,在英语中,三极管(triode)特指以前的真空电子管形式的 ...

  2. 初级模拟电路:4-1 BJT交流分析概述

    回到目录 BJT晶体管的交流分析(也叫小信号分析)是模拟电路中的一个难点,也可以说是模电中的一个分水岭.如果你能够把BJT交流分析的原理全都搞懂,那之后的学习就是一马平川了.后面的大部分内容,诸如:场 ...

  3. 初级模拟电路:4-3 BJT晶体管的交流建模

    回到目录 1. 四种BJT模型概述 对BJT晶体管建模的基本思路就是,用电路原理中的五大基本元件(电阻.电容.电感.电源.受控源)构建一个电路,使其在一定工作条件下能等效非线性半导体器件的实际工作.一 ...

  4. 初级模拟电路:3-2 BJT的工作原理

    回到目录 和前面介绍二极管的PN结的工作原理一样,BJT的量子级工作机制也非常复杂,一般教科书上为了帮助学习者能快速理解,也都是用一种简化模型的方法来介绍BJT的工作机理,一般只需大致了解即可.只要记 ...

  5. 初级模拟电路:3-8 BJT数据规格书(直流部分)

    回到目录 本小节我们以2N4123通用型BJT硅基晶体管为例,来介绍如何阅读BJT的数据规格书,点此链接可以阅读和下载2N4123的数据规格书. 1. 总体性能 打开datasheet后,首先看标题: ...

  6. 初级模拟电路:3-11 BJT实现电流源

    回到目录 1. 恒流源 (1)简易恒流源 用BJT晶体管可以构造一个简易的恒流源,实现电路如下: 图3-11.01 前面我们在射极放大电路的分压偏置时讲过,分压偏置具有非常好的稳定性,几乎不受晶体管的 ...

  7. 初级模拟电路:3-10 BJT实现开关电路

    回到目录 1. 基本用法 用BJT晶体管实现开关功能是经常会用到的实用电路.和逻辑门电路类似,当BJT用于开关电路时,也只工作于饱和区和截止区. 开关功能的实现电路如下图所示,负载可以是发光二极管.电 ...

  8. 初级模拟电路:1-2 PN结与二极管

    回到目录 1.   掺杂半导体 上面我们分析了本征半导体的导电情况,但由于本征半导体的导电能力很低,没什么太大用处.所以,一般我们会对本征半导体材料进行掺杂,即使只添加了千分之一的杂质,也足以改变半导 ...

  9. 模拟电路"虚短" & "虚断"

    <虚短 & 虚断> 运算放大器组成的电路五花八门,令人眼花瞭乱,是模拟电路中学习的重点.遍观所有模拟电子技朮的书籍和课程,在介绍运算放大器电路的时候,无非是先给电路来个定性,比如这 ...

随机推荐

  1. Java编译时常量和运行时常量

    Java编译时常量和运行时常量 编译期常量指的就是程序在编译时就能确定这个常量的具体值. 非编译期常量就是程序在运行时才能确定常量的值,因此也称为运行时常量. 在Java中,编译期常量指的是用fina ...

  2. DataGridView右键菜单自定义显示及隐藏列

    WinForm程序中表单的列可自定义显示及隐藏,是一种常见的功能,对于用户体验来说是非常好的.笔者经过一段时间的摸索,终于实现了自己想要的功能及效果,现记录一下过程: 1.新建一个自定义控件,命名为: ...

  3. .Net WebApi 使用Session

    直接使用Session 会报错“未将对象引用设置到对象的实例”. 解决办法:在Global中添加如下代码 /// <summary> /// 打开session /// </summ ...

  4. useradd命令详解(转)

    1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户. 2.格式 useradd [-d home] [-s shell] [-c comment] [ ...

  5. CentOS 安装nginx服务

    安装nginx服务 sudo yum install nginx 启动nginx systemctl start nginx 加入启动项 systemctl enable nginx 测试nginx服 ...

  6. OPENGL 坐标轴转换

    坐标轴 平移 旋转 缩放 重置坐标轴 矩阵操作 示例 1.坐标轴  OpenGL 使用的右手坐标系,从正面看原点,逆时针旋转被认为是正旋转. x轴:从左到右 y轴:从底部向上 z轴:从屏幕背向朝向前方 ...

  7. 使用gitolite搭建Git服务器

    使用gitolite搭建Git服务器 运行环境 Ubuntu18.04 gitolite 搭建过程 安装好Ubuntu18.04系统 更新系统 sudo apt update sudo apt upg ...

  8. 011.Kubernetes二进制部署kube-scheduler

    一 部署高可用kube-scheduler 1.1 高可用kube-scheduler介绍 本实验部署一个三实例 kube-scheduler 的集群,启动后将通过竞争选举机制产生一个 leader ...

  9. PyCharm2019 激活

    文章末尾补充几个激活码:网上收集 一.破解补丁激活优点:永久期限 缺点:需要修改配置文件和下载破解文件 1.下载破解文件点击链接 链接: https://pan.baidu.com/s/1T405JC ...

  10. linux-在指定路径下查询文件夹是否存在

    我们常常在Linux下去查找文件 find / -name 'test.py' # 在根目录下查找名为test.py的文件 但是如果用查找文件的方式去查找文件夹的话,是查不到的 find / -max ...