数字逻辑电路笔记

数字逻辑电路笔记📒
✨目录
[TOC]
作者的废话:关于数字逻辑电路笔记,我决定全部塞在一片文章。✍️
阅读本文注意事项:
❌错误查看方式:直接在Gitee上阅读
🙆正确查看方式:复制到Typora或者其他支持Markdown查看/编辑软件上阅读,如:VisualStudio、SublimeText等
半加器
输入:两个1位的二进制数
输出:进位+本位
特点:不考虑低位的进位。
规定符号:
- 本位和 -
S
- 半加进位 -
C
因为是1
位,所以输入只有1
或0
两种可能。那么总共就只有三种可能性:0+0=0
,0+1=1
,1+1=2
,其中1+1=2
产生了进位,本位就是0
进位是1
。
可以列出真值表(A、B为输入,S、C为输出):
A | B | S | C |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
也可以写出逻辑表达式:
$S=A \oplus B$
$C=AB$
对应的逻辑图:

平常主要是用的是半加器的逻辑符号:

全加器
全加器与半加器唯一的区别就是考虑了低位的进位,所以输入也增加了一个:低位的进位。
规定的符号:
低位的进位:$C_{i-1}$
向高位的进位:$C_i$
本位:$S_i$
对应的真值表如下:

逻辑表达式:
$S_i=A_i\oplus B_i\oplus C_{i-1}$
$C_i=(A_i\oplus B_i)C_{i-1}+A_iB_i$
全加器对应的逻辑符号:

集成全加器
集成全加器有两种,TTL的全加器和CMOS的C661全加器
- TTl:74LS183
- CMOS:C661

需要说明的是,这里的两个集成全加器各自都有两个管角是空的,这代表这几个管角没有任何功能,不用管它。
至于原因,是为了匹配插座特意设计出来的,常用的管角数量为14、16,偏偏就是没有12管角的,所以如果设计成12个管角,很可能找不到对应的插座,于是便多出来了两个管角。
集成全加器的仿真:
可以在Multism中搭建如图所示的电路来仿真全加器,在你拖拽出74LS183
集成电路的时候,你会发现系统会让你选择A|B
,这里的A和B就是74LS183
上的两个全加器,你可以选择其中的一个进行放置。

乘法器
二进制的所有运算皆基于二进制的加法器,以两位二进制相加为例。
形式如:
01*11
、11*11
这种。
所以就可以写出表达式(这里的$A$就是$10$这种两位二进制数,里面的每一位就是$A_1$和$A_2$:
$A=A_1A_0$
$B=B_1B_0$
我们假设,$A*B=P$
那么$P=A_1A_0 * B_1B_0$
类比十进制中两位数的加法可以写出这样的式子:

$P_0=A_0B_0$
$P_1=A_1B_0+A_0B_1$
因为$P_1$中可能携带进位,所以$P_2=A_1B_1+C_1$这里的$C_1$就是$P_1=A_1B_0+A_0B_1$中可能的进位。
$P_3=C_2$这里的$C_2$是$P_2=A_1B_1+C_1$中可能的进位。
通过这样的式字,我们可以发现两位二进制的乘法就被转化成了加法和与运算,也就是说使用全加器和与门就可以实现一个乘法器☝️🤓。
这样我们就可以写出对应的逻辑电路图(只用到了与门和加法器)。

可以在Multism中设计仿真电路图:

多位二进制的加法器
前面说到的加法器都仅限于一位的二进制之间的加法,然而对于多位二进制的加法有两种。
- 串行进位加法器
- 超前进位加法器(并行进位加法器)
- 串行进位加法器:

可以看出这种加法器就是把全加器串在了一起,每个全加器都要等待上一个全加器的高位进位输出作为自己的输入,所以会导致一个结果☝️:不能做到同时执行加法器,运行速度缓慢。
总结一下串行进位加法器的特点:
- 电路简单,容易连接
- 速度低
- 并行进位加法器

同样的,有下面的特点:
- 内部电路复杂
- 运行速度快(同时执行)
编码器的概念
编码的概念:将二进制转成十进制称之为解码,将十进制转换成二进制称之为编码。
编码器:将十进制转换成二进制的电路称之为编码器,简单来说就是将我们熟悉的十进制编译成计算机认识的二进制代码,所以叫做编码。
编码器的分类:
- 二进制编码器
- 二-十进制编码器
- 优先编码器
我们知道,一位二进制可以表示两种信息,两位二进制可以表示四种信息,三位则可以表示八种信息。也就是说,$n$位二进制可以表示$2^n$种信息。那么我们如果想要表示一个十进制,就需要二进制能表示的信息数量大于等于这个十进制的值。
也就是,$2^n >= N$,这里的$N$表示十进制的值,$n$则是二进制的位数。如果我们的二进制位数刚好用完了,就叫做全编码;反之,没有利用完,就叫做部分编码。
- $2^n = N$ - 全编码
- $2^n > N$ - 部分编码
二进制编码器
例如:设计一个能将$I_0,I_1,I_2,…,I_7$八个输入信号编成二进制代码输出的编码器,用与非门实现。
设计如下真值表:

然后写出对应的表达式:
例:$Y_2=\overline{I_7}·\overline{I_6} · \overline{I_5} · I_4+\overline{I_7}·\overline{I_6}·I_5+\overline{I_7}·I_6+I_7$,然后利用$A+\overline{A}·B=A+B$进行化简得到全部的逻辑表达式:

得到逻辑图:

这里$I_0$被省略不画了,只要除了$I_0$以外的输入都为0,就相当于输入了$I_0$。
优先编码器
功能:输入多个十进制数,根据优先级高低,优先取优先级最高的数字其余不看。
例如:给定优先级规则为数字越大优先级越高,那么输入多个十进制优先取数字大的作为输入,其余不看,也就是输入8、7、3这三个数,直接取8作为输入其余不看。所以下方的真值表中有八叉X
,代表输入什么都无所谓,因为比他大的树字会被优先取。
真值表:

可以写出对应的逻辑表达式:
注意这里也是根据$A+\overline{A}·B=A+B$规则来华化简后的结果。

8线 - 3线优先编码器 74LS48:

- $\overline{I_0} - \overline{I_7}$:信号输入端
- $\overline{Y_2}、\overline{Y_1}、\overline{Y_0}$:编码输出端
- $\overline{ST}$:选通输入端
- $Y_s$:选通输出端
- $\overline{Y_{ES}}$:优先扩展输出端
这里加了非号,表示将所有输入和输出取非,也就是说输入从之前的1有效变成了 0 才有效。
对应的真值表:

这里的$\overline{ST}$这个整体是0的时候表示,$ST$的值是1,也就是芯片正常工作,而$\overline{ST}$这个整体为1的时候,也就是$ST$为0,就表示芯片不工作。
- $Y_s$:编码器工作,但是无编码请求为低电平,对应第二行。
- $\overline{Y_{ES}}$编码器工作,并且有编码请求时为低电平,和$Y_s$是互斥的。
- 在上面所有的输入中,$\overline{Y_7}$的优先级最高;$\overline{Y_0}$最低。
Multism仿真电路设计:

与非门RS触发器
一、电路组成:

这里的$\overline{S_D}$为置1端,称为Set;$\overline{R_D}$称为置零端,称为Reset。并且需要注意,$\overline{Q}、Q$是两个相反的输出。
只要看到输入输出为取非的符号,就需要知道这里是低电平有效。
- $Q=1$,$\overline{Q}=0$时称为触发器的1状态,即为$Q=1$.
- $Q=0$,$\overline{Q}=1$时称为触发器的0状态,即为$Q=0$.
二、逻辑功能(不考虑现态和次态)

这张图告诉我们,Set有效(置0)的时候,将Q设置为有效(置1);Reset有效时将Q设置为无效。当Set和Reset都无效就相当于输入没有更新状态不做改变,当Reset和Set都有效是一种不合理的情况,需要避免并且在逻辑上是不被允许的。
对于RS触发器,不需要死记真值表,理解Reset和Set的概念就算学会了。
三、特性表
在上述RS触发器的基础上增加了下一次的状态$Q_{n+1}$的真值表。
- 现态$Q_n$:触发器接收输入信号之前的状态。
- 次态$Q_{n+1}$:触发器接收到输入信号之后的状态。
现态和次态是两个相邻时间里触发器输出端的状态。
真值表:

注意⚠️:低电平(置零)有效。
约束条件:$\overline{R_D}+\overline{R_S}=1$,因为当两者都是零的时候触发器不允许,满足约束条件意味着有效输入。
四、特性方程
由于上面这张真值表有重复信息($Q_n$和$Q_{n+1}$重复,没必要都写),我们可以将其化简后得到特性方程。

用卡诺图表示出来:

得到特性方程:
- $Q^{n+1}=S_D+\overline{R_D}·Q^n$
- 约束条件:$\overline{R_{D}}+\overline{S_D}=1$
五、状态转换图

X
表示0或者1两种情况。
六、驱动表

根据输出来判定输入的情况的真值表叫做驱动表。
[例1]:设触发器初始状态为0,试对应输入波形画出$Q$和$\overline{Q}$的波形。

这里$\overline{Q}$省略,将$Q$取反即可。
[例2]:信号的分时撤销和同时撤销。
上面提到,当Reset和Set同时有效也就是违反约束条件的情况,这时需要将信号调整成正常的情况,那么就会出现信号的分时撤销和延时撤销。
我们知道0为有效电平,当$\overline{S_D}$和$\overline{R_D}$都为0时同时有效,信号撤销就是:(0 -> 1)。
分时撤销:

分时撤销取决于后撤销的信号,跟正常状态相同的分析。
例如,上图中$\overline{S_D}$最先变成了1,就是先撤信号,那么$\overline{R_D}$就是后撤信号,由后撤信号决定波形,所以属于正常情况中的Reset有效的情况,结果是$Q=0$;见下图。

同时撤销:

同时撤销根据电路内部的延时状态等复杂情况决定谁先起作用,状态不定(竞态)。
或非门RS触发器
一、电路组成:

二、逻辑功能

三、特性表

注意:与与非门RS触发器不同,高电平有效。
约束条件:$R_D·S_D=0$
可以得到简化的特性表:

画出卡诺图如下:

得到最终的特性方程:

两种RS触发器的对比
逻辑符号对比:

可以发现,
- 与非门RS触发器低电平有效,或非门RS触发器高电平有效。
- 与非门RS触发器左边为Set端口,右边为Reset端口;或非门RS触发器左边为Reset端口,右边为Set端口。
基本RS触发器的优缺点如下:
- 优点:电路简单,是构成各种触发器的基础🎉。
- 缺点:输入有约束条件;抗干扰能力差👎。
同步RS触发器
一、电路组成

与原来的与非门RS触发器相比增加了两个与非门,由时钟CP控制的门$G_3,G_4$。并且可以看出,在CP置0️⃣的时候,上方的与非门$RS$触发器一定是两个$1$的输入,此时一定为保持状态。只有当$CP$置1️⃣的时候才会工作。
二、逻辑功能
特性表如图所示:
高电平为有效信号📶。

对应的逻辑符号:

包含异步端的同步RS触发器的逻辑符号如下:

- $R、S$被称为同步输入端的原因:$R、S$输入会收到$CP$端的影响,一旦$CP$置$0$,$R、S$端就被封锁了。
- $\overline{S_D}、\overline{R_D}$被称为异步输入端的原因:只要有一个起作用,输出就可以起作用不受CP端的影响。
$S_D、R_D$可以起到预置触发器初始状态的作用,平时不工作时需要将$\overline{R_S}、\overline{S_d}$置为$1$。其实所谓的同步输入端与异步输入端就是看受不受到$CP$端的控制,收到控制就得等到一起作用,不受到控制就异步了。
三、特性表 => 特性方程

这个特性方程有效的前提一定是$CP$等于$1$。
四、状态转换图
容易得到对应的状态转换图:

五、同步RS触发器的优缺点
- 优点:有了$CP$之后抗干扰能力增强,因为只要$CP$为$0$的时候能起到封锁作用,这时候无论怎么干扰都是保持的状态。
- 缺点:仍然存在不定状态,$R、S$之间还是有约束条件。
一个需要注意的细节⚠️:如果$R、S$为$1$这时是处于无效状态,如果这个时候$CP$从$1$变成$0$但是$R、S$保持不变就会出现不定状态,具体见下图。

同步D触发器
一、电路组成
下图中左边为内部的电路组成,右边为逻辑表示:

不难发现,同步D触发器就是把同步RS触发器 S和R用一个非门化简成了D,这样的好处就是完美地规避了约束条件的问题。
- $S=D, R=\overline{D}$
其他特性和同步RS触发器保持一致,都收到CP端的控制。
二、逻辑功能
功能也很简单,D端是1就置1,D端是0就置0。不存在输入有问题的情况,CP端置零也和原来一样起保持的作用。

三、卡诺图与特性方程

四、状态转移图

五、同步触发器的特点
- 优点:无需考虑约束条件的问题,优于同步RS触发器。
- 缺点:仍然存在空翻现象,限制了同步D触发器的应用。
六、集成同步D触发器:74LS375
这块芯片拥有13块管脚,可以理解为四个同步D触发器的拼接。

它的内部结构和上文提到的同步D触发器有所不同,区别在于上方的两个与非门被换成了或非门,下方的两个与非门被换成了与门,我们知道或非门的RS触发器的输入端左边是R右边是S,并且是高电平有效,所以D也在右边,为了和S端保持一致。

边沿D触发器
特性:只在时钟脉冲CP的上升沿或者下降沿接收输入信号,在其他的CP状态触发器不接受数据,并且保持原态。
上升沿与下降沿:如下图中的两个红色箭头就分别表示上升沿和下降沿。

一、电路组成
这是一个下降沿D触发器的电路组成图。

可以看出,边沿D触发器就是由两个同步D触发器上下拼接在一起,并且经过了一些特殊的改进而组成。不难分析出来,主从触发器是互斥的,主触发器工作,从触发器一定不工作;从触发器工作,主触发器也不会工作。
下降沿触发器的工作原理图:
在CP变化的时候,如果CP是从0->1,我们称为上升沿;如果CP是从1->0,我们称为下降沿。可以类比成下面这个水管图,上升沿CP变成了1,那么主触发器就工作了,左边的阀门打开。并且,这个时候从触发器不工作,所以右边的阀门关闭。这个时候就是保持。
但是如果CP从1->0,也就是下降沿。那么主阀门关闭,从阀门打开,这个时候$Q=D$,更新状态。所以,综上所述,下降沿时$Q=D$,其他时候一直起到保持的作用。

逻辑符号:


不难发现,其实他长得和同步D触发器一样,所以为了区分他们两个,给边沿D触发器的$C_1$下面增加了一个三角形,表示边沿触发器。这里的小圆圈⭕️表示下降沿有效,如果没有⭕️就表示上升沿有效。
二、特性方程、特性表

波形图分析:

可以看出来,边沿触发器有一个区别于同步D触发器的很明显的特点:稳定,不容易“空翻”。
空翻现象就是指的是在CP没有变化的时候,$Q=D$,输出跟随D改变的现象。因为对于边沿触发器来说,只要不是位于下降或者上升的边沿情况,都是保持的,也就不容易“空翻”了。
三、集成边沿D触发器:74LS74
对应的芯片管脚图和逻辑图:

这里的$\overline{S_D}和\overline{R_D}$都是低电平有效的异步输入端,这里的CP没有⭕️,所以需要注意它是上升沿🔝边沿D触发器。跟上面的下降沿是相反的,它在上升沿才有效,这点不要弄错了。
带有异步端边沿触发器的特性表:

异步端优先级很高,一般起到预输入的作用,如果D和CP需要工作,一般需要将异步端置为零。但也可以利用它优先级高的特性,在工作中利用异步输入端强行置1或置0🤔。
带有异步输入端上升沿D触发器波形图分析:

四、边沿D触发器的特点
优点:
- CP的上升沿或下降沿触发。
- 抗干扰能力强,解决了同步触发器的“空翻”现象。
缺点:
- 只有置1或置0功能,功能有限不方便。
边沿JK触发器
一、电路组成

可以看出,边沿JK触发器是从边沿D触发器进行一些扩展得到的,右边这部分就是我们所学的边沿D触发器。
逻辑符号:

这里的三角形表示边沿,小⭕️代表下降沿触发;如果没有这个小三角形就变成了同步触发器。
二、工作原理
我们知道,右边这部分是边沿D触发器,它的特性方程是这样的:
$$
Q^{n+1}=D
$$
我们加上左边新增的逻辑门电路,对他进行化简就能得到新的特性方程:

同样的可以得到它的特性表和简化特性表,通过这个特性表可以看出JK边沿触发器非常的强大,被称之为功能最齐全的一种触发器。拥有保持、置一、置零、翻转、防空翻功能。所以它也是使用最广泛的一种触发器。

波形图分析:

$\overline{Q}$和$Q$完全相反,这里没有写出来。
四、集成边沿JK触发器:74LS112
对应的芯片管脚图和逻辑图如下图所示:

注意⚠️:这里的异步输入端是低电平0️⃣有效,触发器是下降⬇️沿触发的。
异步边沿JK触发器 74LS112对应的特性表如下图所示:

可以看出,和之前的边沿D触发器芯片一样,带有异步输入端后,异步输入端的优先级最高。并且在工作时,异步端置1️⃣,防止干扰JK触发器正常工作。同时,两个异步输入端不能同时为0️⃣,否则无效。
对应波形图的分析:

T触发器和T’触发器
T触发器和T’触发器都是由JK触发器或D触发器构成,主要用来简化集成计数器的逻辑电路。
一、T触发器
T触发器拥有翻转和保持两个功能。并且,又可以分为上升沿和下降沿两种T触发器。
逻辑符号:

特性表:
T触发器的功能就是,在下降沿到来的时候,T为0就保持,T为1就翻转。

特性方程比较简单:
$$
Q^{n+1}=T\oplus Q^n
$$
很容易看出来是异或。
用一个波形图进行分析:

二、T’触发器
T’触发器比T触发器还要简单,它的功能是在下降或者上升沿是进行一次翻转。
逻辑符号与特性表:

特性方程:
$$
Q^{n+1}=\overline{Q^n}(CP⬇️)
$$
利用波形图进行分析:

所以,T’触发器实际上就是一个“二分频器“,因为CP周期在T’的作用下变成Q被分成了远来的1/2。
主从JK触发器

- J端:是由原来的Set变化而来
- K端:是由原来的Reset变化而来
JK触发器和RS触发器基本一样,唯一的不同是当J和K都置1时由原来的不允许变成了翻转。
真值表与特性方程:

逻辑符号:

CP:正脉冲触发,表示在高电平接收信号,在下降沿时刻更新输出状态。
同步时序电路的设计
一、基本步骤

[例题-1]
设计一个按自然态序变化的同步七进制加法计数器,计数规则为逢七进一,产生一个进位输出。
解:
建立状态转化图
这里的
/0
和/1
为是否进位的表示,也就是进位的输出,只有逢七才进一位。所以在110
的时候加一才会进位,这时候是/1
。求方程
时钟方程:$CP_0=CP_1=CP_2=CP$
输出方程:
$Y={Q_2}^n {Q_1}^n$作为电路的进位输出
状态方程:
先画出次态的卡诺图,再拆分开得各触发器的卡诺图。
次态卡诺图:
拆开后各触发器的卡诺图:
求驱动方程
变换状态方程,使之形式与选用触发器的特性方程一致,比较后得驱动方程。
$JK$触发器的特性方程:$Q^{n+1}=J\overline{Q^n}+\overline{K}Q^n$
比较并得到驱动方程:
画电路图
结合驱动方程和输出方程画出电路图:
检查电路是否能自启动
能从无效的状态自己返回到正常状态称为自启动。
无效状态:$111$
状态方程:
输出方程:
$Y={Q_2}^n {Q_1}^n$
将无效状态带入到状态方程,得到次态为
000
,并且输出是1
,所以可以自启动。检验后得到对应的状态转换图:
Multism 仿真电路图:
- 标题: 数字逻辑电路笔记
- 作者: Shen Ying
- 创建于 : 2024-12-24 00:41:54
- 更新于 : 2025-02-20 09:29:39
- 链接: https://shenying.online/2024/12/23/数电笔记/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。