大二生,正在学习《数字系统基础》课程,又名数电。
选择简书来纪录自己的听课笔记和课程心得,顺便与大家分享,帮助同样对数电有疑惑的学生。
2022.10.08
笔者从门电路一章开始听不懂,故笔记将从TTL门电路开始,默认读者有简单的模电基础。
# 目录[^md1]
## 前言
[^md1]:前言
常见的门电路及其逻辑符号如下:
笔者所用教材常使用国外流行图形符号,尤其需要加强区分异或(不同为1)和同或(相同为1)门电路!
一些常用易混数电逻辑公式:
TTL门电路:
Transistor-Transistor-Logic
顾名思义,是使用三极管器件构成的逻辑门电路。
TTL与非门
TTL门电路中值得一记的是TTL与非门,理解TTL与非门电路的原理对其他复杂门的理解有很大帮助。
与非门,顾名思义,输入全为1输出记为0,输入若含0输出记为1。
这是一个与非门的内部电路,从左至右来看,
A、B是输入信号,可以输入低电平(设为0.3V),或者高电平(设为3.6V)
它们通过一个多发射极三极管进入电路中。
那何谓多发射级三极管?
简单来说,就是A、B先经过一个“与”的关系再作用于三极管发射极,
这个“与”的关系可以通过上图二极管与门来简单表示,
1. 若A、B同时为高电平(设为3.6V,下文中的高电平均取3.6V,低电平均取0.3V,不多赘述)
则F点输出电压应该是4.3V(二极管导通压降设为0.7V,下同),即输出为逻辑“1”。
2. 若A为低电平、B为高电平,则F点电压应该是1.0V,且二极管B截止。A高B低同理。
3. 若A、B均为低电平,F点输出电压也是1.0V,二极管A、B同时导通。
可见,除了A、B均为高电平时,F点输出逻辑“1”,其他情况F点输出逻辑“0”,符合与门的逻辑。
回到这个TTL与非门电路中,
若A、B同时输入为高电平,则发射极电压为高电平,三极管处于倒置状态。即电流从发射极流向集电极。
形象来说,基极连接了电阻R1和VCC(5V,高电平),而发射极也输入进来一个高电平,所以电流就想往集电极流看看,
如果电流能一路导通,则集电极电压应为1.4V(经过T2和T4三极管,最终流入地)
数据选择器
一、数据选择器的基本介绍
即开关,有二选一、四选一、八选一、十六选一......
1.八选一:(74HC151)
3个控制端,8个输入端,1个使能端(低电平有效),一个输出端,一个输出取反端
2.四选一:(74LS153)(双)
153芯片其实包含了两个四选一选择器,
所以有4*2个输入端、1*2个输出端和1*2个输出的取反端,以及1*2个使能端(低电平有效)
但它们由一组控制端(占2个管脚)共同控制。
二、数据选择器的应用
1.实现逻辑函数
在数据选择器中,逻辑函数的自变量(或者几个其中的自变量)作为了控制端口,逻辑函数的每一项都唯一对应了一个输入端口。当出现该项时,该项可以输入1,从而输出该项。从而实现了逻辑函数。
当自变量数少于控制端口数时,自变量可以全部作为控制端。
当自变量数多于控制端口数时,可以选择几个在最小项中出现次数较高的自变量,作为控制端。然后根据控制端,扩展逻辑函数,确定数据选择器输入端每一项的输入。
示例:
2.扩展:十六选一
如,欲输出ABCD分别为1101(十进制为13)的数,
则,先取四片四选一选择器,控制端均为CD;从而使每片的01输入端输出。
再取一片四选一,控制端为AB,使11输入端输出,即来自第四片的01输入端得到了输出,
也就是I13通道输出,达到了我们的目的。
算术运算电路
一、半加器和全加器
1. 半加器:
结构图:
A、B为加数,输出为 和S,以及 进位C
真值表:
2. 全加器:
结构图:
比半加多了一个来自低位的进位Ci-1
真值表:
Si = Ai 异或 Bi 异或 Ci
Ci = (Ai 异或 Bi) Ci-1 + AB;
使用两片半加搭建一个全加器:
二、多位加法器
1. 串行加法:
实现两个四位数相加,均使用全加器
第一片全加器的C-1输入0
2. 并行加法:(超前进位)
根据Si 、Ci 的表达式,不难发现,
Ci 本质上是一个等比数列的拓展形式
那么每一项Ci 其实可以直接根据Ai、Bi求解出来,不需要等到Ci-1求出来。Si 同理
3. 集成块(74LS283)
实现两个四位二进制数相加,内部设计思想采用并行加法,C-1是来自低位的进位,C3是向高位的进位。
283的应用:
1)8位二进制相加:
将两片283串联,即可。因此283之间使用的是串行加法
2)BCD转余3码
直接源码与3相加。
3)减法运算
减法一般通过加法实现,A - B = A + (- B) = A的补码 + (-B)的补码
(关于第二个等号,我的理解是补码本身就是为了方便减法而诞生的,所以相等)
关于补码:正数的补码为其本身,负数的补码等于取反+1(符号位不变)
若A为6(0 110),B为2(0 010)最高位为符号位
则-B的补码为(1 110)
A-B的运算结果为 1 0100,进位舍弃,最高位0作符号位,结果为0 100
若A为2(0 010),B为6(0 110)
则-B的补码为(1 010)
A-B的运算结果为 1 100,没有产生进位,
最高位1作符号位,
由于是负数,所以剩下三位还需要取反+1,
最终输出1 100
电路构建:
图中有两片283,输入被减数A(A1A2A3A4)和减数B(B1B2B3B4),其中预先将B取反
同时C-1输入1
若产生的进位C3为1,说明够减,A-B为正数,直接输出结果S(S3S2S1S0)即可
若C3为0,未产生进位,说明不够减,A-B为负数,还需要将结果S的数值位(S2S1S0)取反+1
所以第二片283的C-1输入值为C3取反
另,根据异或门的特点
A=0时,输入S,得到S;A=1时,输入S,得到S’
所以C3为0时,可以控制异或门,将S取反(电路图疑似画错,个人觉得S3不必通过异或门取反)
最终通过两片283实现了减法器。