初级模拟电路:3-9 BJT三极管实现逻辑门
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三极管实现逻辑门的更多相关文章
- 初级模拟电路:3-1 BJT概述
回到目录 1. 名称由来 BJT的全称是双极性结型晶体管(Bipolar Junction Transistor),国内俗称三极管.其实,在英语中,三极管(triode)特指以前的真空电子管形式的 ...
- 初级模拟电路:4-1 BJT交流分析概述
回到目录 BJT晶体管的交流分析(也叫小信号分析)是模拟电路中的一个难点,也可以说是模电中的一个分水岭.如果你能够把BJT交流分析的原理全都搞懂,那之后的学习就是一马平川了.后面的大部分内容,诸如:场 ...
- 初级模拟电路:4-3 BJT晶体管的交流建模
回到目录 1. 四种BJT模型概述 对BJT晶体管建模的基本思路就是,用电路原理中的五大基本元件(电阻.电容.电感.电源.受控源)构建一个电路,使其在一定工作条件下能等效非线性半导体器件的实际工作.一 ...
- 初级模拟电路:3-2 BJT的工作原理
回到目录 和前面介绍二极管的PN结的工作原理一样,BJT的量子级工作机制也非常复杂,一般教科书上为了帮助学习者能快速理解,也都是用一种简化模型的方法来介绍BJT的工作机理,一般只需大致了解即可.只要记 ...
- 初级模拟电路:3-8 BJT数据规格书(直流部分)
回到目录 本小节我们以2N4123通用型BJT硅基晶体管为例,来介绍如何阅读BJT的数据规格书,点此链接可以阅读和下载2N4123的数据规格书. 1. 总体性能 打开datasheet后,首先看标题: ...
- 初级模拟电路:3-11 BJT实现电流源
回到目录 1. 恒流源 (1)简易恒流源 用BJT晶体管可以构造一个简易的恒流源,实现电路如下: 图3-11.01 前面我们在射极放大电路的分压偏置时讲过,分压偏置具有非常好的稳定性,几乎不受晶体管的 ...
- 初级模拟电路:3-10 BJT实现开关电路
回到目录 1. 基本用法 用BJT晶体管实现开关功能是经常会用到的实用电路.和逻辑门电路类似,当BJT用于开关电路时,也只工作于饱和区和截止区. 开关功能的实现电路如下图所示,负载可以是发光二极管.电 ...
- 初级模拟电路:1-2 PN结与二极管
回到目录 1. 掺杂半导体 上面我们分析了本征半导体的导电情况,但由于本征半导体的导电能力很低,没什么太大用处.所以,一般我们会对本征半导体材料进行掺杂,即使只添加了千分之一的杂质,也足以改变半导 ...
- 模拟电路"虚短" & "虚断"
<虚短 & 虚断> 运算放大器组成的电路五花八门,令人眼花瞭乱,是模拟电路中学习的重点.遍观所有模拟电子技朮的书籍和课程,在介绍运算放大器电路的时候,无非是先给电路来个定性,比如这 ...
随机推荐
- Java编译时常量和运行时常量
Java编译时常量和运行时常量 编译期常量指的就是程序在编译时就能确定这个常量的具体值. 非编译期常量就是程序在运行时才能确定常量的值,因此也称为运行时常量. 在Java中,编译期常量指的是用fina ...
- DataGridView右键菜单自定义显示及隐藏列
WinForm程序中表单的列可自定义显示及隐藏,是一种常见的功能,对于用户体验来说是非常好的.笔者经过一段时间的摸索,终于实现了自己想要的功能及效果,现记录一下过程: 1.新建一个自定义控件,命名为: ...
- .Net WebApi 使用Session
直接使用Session 会报错“未将对象引用设置到对象的实例”. 解决办法:在Global中添加如下代码 /// <summary> /// 打开session /// </summ ...
- useradd命令详解(转)
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户. 2.格式 useradd [-d home] [-s shell] [-c comment] [ ...
- CentOS 安装nginx服务
安装nginx服务 sudo yum install nginx 启动nginx systemctl start nginx 加入启动项 systemctl enable nginx 测试nginx服 ...
- OPENGL 坐标轴转换
坐标轴 平移 旋转 缩放 重置坐标轴 矩阵操作 示例 1.坐标轴 OpenGL 使用的右手坐标系,从正面看原点,逆时针旋转被认为是正旋转. x轴:从左到右 y轴:从底部向上 z轴:从屏幕背向朝向前方 ...
- 使用gitolite搭建Git服务器
使用gitolite搭建Git服务器 运行环境 Ubuntu18.04 gitolite 搭建过程 安装好Ubuntu18.04系统 更新系统 sudo apt update sudo apt upg ...
- 011.Kubernetes二进制部署kube-scheduler
一 部署高可用kube-scheduler 1.1 高可用kube-scheduler介绍 本实验部署一个三实例 kube-scheduler 的集群,启动后将通过竞争选举机制产生一个 leader ...
- PyCharm2019 激活
文章末尾补充几个激活码:网上收集 一.破解补丁激活优点:永久期限 缺点:需要修改配置文件和下载破解文件 1.下载破解文件点击链接 链接: https://pan.baidu.com/s/1T405JC ...
- linux-在指定路径下查询文件夹是否存在
我们常常在Linux下去查找文件 find / -name 'test.py' # 在根目录下查找名为test.py的文件 但是如果用查找文件的方式去查找文件夹的话,是查不到的 find / -max ...