【数字逻辑】学习笔记 第四章 Part2 常用组合逻辑电路与竞争、险象
文章目录
- 一、常用组合逻辑电路
- 1. 译码器
- (1) 二进制译码器 74LS138(3/8译码器)
- a. 一般符号和图形符号
- b. 74LS138功能表
- c. 两片 `74LS138` 构成 `4-16` 译码器:
- d. 用 `74LS138` 实现函数
- e. 9片 `74LS138` 扩展构成6-64线译码器
- (2) 二—十进制译码器 74LS42
- a. 一般符号
- b. 74LS42功能表
- (3) 数字显示译码器 74LS48
- a. BCD七段字符显示译码器74LS48功能表
- 2. 数据选择器
- (1) 4选1数据选择器
- (2) 集成数据选择器: 8选1数据选择器74LS151
- a. 74LS151功能表
- b. 74LS151一般符号和电路
- 二、竞争和险象
- 1. 基本概念
- 2. 险象分类
- (1) 静态功能险象
- (2) 静态逻辑险象
- 3. 险象的判别
- (1) 逻辑表达式判别法
- (2) 卡诺图判别法
- 4. 险象的消除
- (1) 加选通脉冲
- (2) 加冗余卡诺圈
本章小结:
- 二种方法: 分析、设计方法
- 六种电路 : 译码器 、数据选择 器
本章要求:
- 熟练掌握组合电路的分析方法和设计方法
- 熟练掌握两种芯片的主要功能和基本应用:
74LS138
,74LS151
- 了解组合电路中的竞争与险象
一、常用组合逻辑电路
1. 译码器
译码: 将具有特定含义的二进制代码变换( (翻译) 成一定的输出信号,以表示二进制代码的原意,这一过程称为译码。实现译码功能的组合电路称为译码器。
译码是编码的逆过程,即将某个二进制代码翻译成电路的某种状态。常见的译码器有二进制译码器、二-十进制译码器、显示译码器。
(1) 二进制译码器 74LS138(3/8译码器)
二进制译码器把输入的 nnn 位二进制代码翻译为 2n2^n2n 个输出的高低电平信号,其中只有一个为有效电平,其编号对应于输入的二进制代码。
常见的二进制译码器有 2-4
译码器、3-8
译码器和 4-16
译码器。
3线-8线译码器见下图:
注意:译码器是多输入、多输出组合逻辑电路,每个输出对应一个 nnn 变量最小项——也称最小项发生器。 当然,这里的符号和真值表只是一个简化的情形,详细的看后面。
a. 一般符号和图形符号
注意,这里凡是有上划线的信号,都是低位有效的,比如 STAST_ASTA 是高位有效的,Y0‾\overline {Y_0}Y0 是低位有效的;同时,凡是有上划线的信号,输出的信号线都有三角符号或者是空心圆符号,同样表示低位有效。
b. 74LS138功能表
下表有:
- 333 个输入端:A,B,CA,B,CA,B,C
- 888 个输出端:Y0‾...Y7‾\overline {Y_0} ... \overline {Y_7}Y0...Y7 (低电平有效)
- 333 个使能端:STA,STB‾,STC‾ST_A, \overline {ST_B},\overline {ST_C}STA,STB,STC
功能表中,要注意的是:对于 n=3n=3n=3 个输入信号,有 2n=82^n=82n=8 个输出信号,输出信号为 000 表示有效,比如 Y1‾=0\overline {Y_1} = 0Y1=0 表示 A,B,CA,B,CA,B,C 二进制转换为十进制为 111。此外,输出信号有大量无效的状态,为了避免这些状态,就使用了使能端,其中 STAST_ASTA 为 000 时,全部输出为无效信号;STB‾+STC‾=1\overline {ST_B}+\overline {ST_C} = 1STB+STC=1 或者说 STB‾=1∨STC‾=1\overline {ST_B} = 1 \vee \overline {ST_C} = 1STB=1∨STC=1 时,全部输出为无效信号;只有 STA=1ST_A=1STA=1,且 STB‾+STC‾=0\overline {ST_B} + \overline {ST_C}=0STB+STC=0 或者说 STB‾=0∧STC‾=0\overline {ST_B}=0 \wedge \overline {ST_C} = 0STB=0∧STC=0 时,才有有效输出。
c. 两片 74LS138
构成 4-16
译码器:
A3A2A1A0A_3A_2A_1A_0A3A2A1A0 :译码输入,对应的是 161616 个输出信号;
这里用最高位地址作为片选信号:
- A3=0A_3 =0A3=0 时,片 111 低位输出工作,为了让片 111 工作,我们将 A3A_3A3 取反送入片 111 的 STAST_ASTA 中,此时 A3=0A_3 = 0A3=0 不会让高位输出工作。A3A2A1A0A_3A_2A_1A_0A3A2A1A0 :0000−01110000-01110000−0111 ,有效输出产生于:Y0‾−Y7‾\overline {Y_0}- \overline{Y_7}Y0−Y7 之中;
- A3=1A_3 =1A3=1 时,片 222 高位输出工作,为了让片 222 工作,我们可以将 A3A_3A3 直接送入片 222 的 STAST_ASTA 中,此时 A3‾=0\overline {A_3} = 0A3=0 不会让低位输出工作。A3A2A1A0A_3A_2A_1A_0A3A2A1A0 :1000−11111000-11111000−1111 ,有效输出产生于:Y8‾−Y15‾\overline{Y_8}-\overline {Y_{15}}Y8−Y15;
d. 用 74LS138
实现函数
二进制译码器的输出分别对应一个 最小项 (高电平译码) 或一个 最小
项的非 (低电平译码),所以附加适当门,可实现任意函数。
特点 :方法简单,无须简化,工作可靠。
如上图,实现的逻辑函数如下:
F=Y0‾Y3‾Y4‾Y7‾‾=Y0+Y3+Y4+Y7=m0+m3+m4+m7=∑(0,3,4,7)\begin{aligned} F&=\overline {\overline {Y_0}\ \overline{Y_3}\ \overline{Y_4}\ \overline{Y_7}} \\ &= Y_0 + Y3 +Y_4 + Y_7 \\ &= m_0 + m_3 + m_4 + m_7 \\ &= \sum {(0,3,4,7)}\end{aligned}F=Y0 Y3 Y4 Y7=Y0+Y3+Y4+Y7=m0+m3+m4+m7=∑(0,3,4,7)
e. 9片 74LS138
扩展构成6-64线译码器
用一片 74LS138
进行高 333 位译码,888 个输出分别用来控制 888 片译码器进行低 333 位译码。最后,将这 888 片的共 646464 个输出作为总译码的输出结果。
(2) 二—十进制译码器 74LS42
二—十进制译码器把输入的 444 位 BCDBCDBCD 码翻译为 101010 个输出的高低电平信号 ,其中有一个为有效电平, 其编号对应于输入的 BCDBCDBCD 码。
看起来和前面的二进制译码器很像,要做好区分。
a. 一般符号
b. 74LS42功能表
功能表中,要注意的是:
74LS138二进制译码器 | 74LS42二-十进制译码器 | |
---|---|---|
输入和输出 | nnn 个输入信号,有 2n2^n2n 个输出信号 |
444 个输入信号,有 101010 个输出信号,不是 161616 个,因为是 BCD 码,有些变量的组合不被使用
|
使能端 | 存在使能端 STA,STB‾,STC‾ST_A,\overline{ST_B}, \overline{ST_C}STA,STB,STC ,只有 STA=1ST_A=1STA=1 且 STB‾+STC‾=0\overline {ST_B} + \overline {ST_C}=0STB+STC=0 时,才有有效输出 | 没有使能端 |
输出变量 | 低位有效 | 低位有效 |
举例 | Y1‾=0\overline {Y_1} = 0Y1=0 表示 A,B,CA,B,CA,B,C 二进制转换为十进制为 111 |
Y1‾=0\overline {Y_1} = 0Y1=0 表示 A3A2A1A0A_3A_2A_1A_0A3A2A1A0 BCD 码转换为十进制为 111
|
(3) 数字显示译码器 74LS48
在数字系统中,常需把结果用十进制数码显示出来,数字显示电路包括两部分——译码驱动电路和数码显示器。
举个例子,8421BCD
显示译码电路框图如下:
我们要介绍的是七段显示译码器 74LS48
。也就是七段数码管(每一段由一个发光二极管组成),顺时针从 a→ga\rightarrow ga→g 编码。
- 共阴极:高电平亮
- 共阳极:低电平亮
输入:二—十进制代码
输出:译码结果,可驱动相应的七段数码管显示正确的数字。
a. BCD七段字符显示译码器74LS48功能表
注意,这里的输出不是低位有效的,而且是多位有效。一个例子,要输出数字 444,需要 b,c,f,gb,c,f,gb,c,f,g 段发光,因此,Yb,Yc,Yf,YgY_b,Y_c, Y_f, Y_gYb,Yc,Yf,Yg 都为 111,其他位为 000 。
2. 数据选择器
定义:能从多个数据信号中选择一个数据信号传送到输出端的电路。
- 输入:2n2^n2n 路数据和 nnn 位地址,因此有 2n+n2^n+n2n+n 个输入变量;
- 输出:111 位数据;
- 地址:控制选择哪个数据的信号。
数据选择器类似一个多掷开关。选择哪一路信号由相应的一组控制信号控制。
(1) 4选1数据选择器
我们常用的是 444 选 111 数据选择器:
- 输入数据:a3,a2,a1,a0a_3,a_2,a_1,a_0a3,a2,a1,a0
- 控制地址:A1,A0A_1, A_0A1,A0
- 输出数据:FFF
- 功能:根据输入地址,选择输入数据中的一个,送到输出端
真值表:
A1A_1A1 | A0A_0A0 | FFF |
---|---|---|
000 | 000 | a0a_0a0 |
000 | 111 | a1a_1a1 |
111 | 000 | a2a_2a2 |
111 | 111 | a3a_3a3 |
表达式:
F=A1‾A0‾a0+A1‾A0a1+A1A0‾a2+A1A0a3=m0⋅a0+m1⋅a1+m2⋅a2+m3⋅a3=∑i=02n−1mi⋅ai=∑i=03mi⋅ai\begin{aligned} F &= \overline {A_1}\ \overline {A_0} a_0 + \overline {A_1} {A_0} a_1 + {A_1}\ \overline {A_0} a_2 + A_1A_0a_3\\ &= m_0 \cdot a_0 + m_1 \cdot a_1 + m_2 \cdot a_2 + m_3 \cdot a_3\\ &= \sum_{i=0}^{2^n-1} m_i \cdot a_i \\ &= \sum_{i=0}^3 m_i\cdot a_i \end{aligned} F=A1 A0a0+A1A0a1+A1 A0a2+A1A0a3=m0⋅a0+m1⋅a1+m2⋅a2+m3⋅a3=i=0∑2n−1mi⋅ai=i=0∑3mi⋅ai
nnn 位地址变量,有 2n2^n2n 个数据通道,实现 2n2^n2n 选 111 功能。
(2) 集成数据选择器: 8选1数据选择器74LS151
888 选 111: 74LS15174LS15174LS151
161616 选 111: 74LS15074LS15074LS150
双 444 选 111: 74LS15374LS15374LS153
四 222 选 111: 74LS15774LS15774LS157,74LS15874LS15874LS158
a. 74LS151功能表
888 选 111 数据选择器 74LS15174LS15174LS151 的功能表
使能时,输出 YYY 和输入的逻辑关系:
b. 74LS151一般符号和电路
- 数据输入端:D7→D0D_7 \to D_0D7→D0;
- 地址端:A2→A0A_2 \to A_0A2→A0
- 输出端:YYY,W‾\overline WW
二、竞争和险象
1. 基本概念
理想情况:
- 逻辑门连线无延迟
- 多个信号同时瞬间变化
实际情况:
- 信号变化:过渡时间
- 信号通过逻辑门: 响应时间
- 多个信号变化:有先有后
竞争:信号经不同路径到达某一点时,所用的时间不同,这个时间差称为竞争;
险象:由竞争引起电路输出发生瞬间错误的现象,表现为输出端出现了原设计中没有的窄脉冲(毛刺),称为险象。
一般来说,时延对数字系统是有害的,它会降低系统的工作速度,还会产生竞争冒险现象。
竞争和险象是对电路的,而不是针对函数的。
2. 险象分类
依据输入信号变化前后输出
信号的变化情况,分为:
- 静态险象:本应不变而发生了变化;
- 动态险象:本应一次变化而发生了多次变化
依据导致输出信号发生变化
的输入变量个数,分为:
- 逻辑险象:一个输入变量发生变化导致的险象
- 功能险象:多个输入变量发生变化导致的险象
两两组合起来,就是 444 种险象。我们主要关注的是静态逻辑险象!
此外,根据输出的错误,还分为:
- 000 型险象: 产生低电平错误
- 111 型险象: 产生高电平错误
可以继续依次细分为:
(1) 静态功能险象
产生的原因:
- 多个输入变量的值不可能严格地“同时”变化
产生的条件:
- KKK 个 (K>1K>1K>1) 输入信号同时发生变化
- 输入信号变化前、后的稳态输出值相同
- 变化的 KKK 个变量的取值组合,对应在卡诺图上所占有的 2K2^K2K 个方格中,必定既有 111 ,又有 000
e.g.e.g.e.g. 分析逻辑函数 F=BC‾+ACF=B\overline C+ACF=BC+AC ,说明当输入信号 ABCABCABC 由 010010010 变化到 111111111 时,是否有险象发生。
分析:
输入信号 AAA 和 CCC 发生变化,从 000000 变为 111111 ; B=1B=1B=1 ,AAA 和 CCC 发生变化的 444 个最小项了中既有 000 也有 111,可能发生险象。
功能险象是逻辑函数的功能所固有的,无法通过改变设计来消除,只能通过控制输入信号的变化顺序来避免。
(2) 静态逻辑险象
产生的原因:逻辑器件固有的时延;
产生的条件:
- 一对逻辑变量 AAA 和反变量 A‾\overline AA 同时出现,且在某些取值条件下,逻辑表达式可写成 F=A⋅A‾F = A\cdot \overline AF=A⋅A 或者 F=A+A‾F=A+\overline AF=A+A
- 一个输入变量 AAA 发生变化
- 输入变量发生变化前、后的稳态输出值相同
e.g.e.g.e.g. F=BC‾+ACF=B\overline C+ ACF=BC+AC.
分析:当 A=B=1A=B=1A=B=1 时,F=C+C‾F=C+\overline CF=C+C. 当 CCC 由 111 变为 000 ,会出现险象。
3. 险象的判别
(1) 逻辑表达式判别法
如果电路中存在出现险象的可能性,则其逻辑表达式有如下特点:
- 当某一变量同时以原变量和反变量的形式出现在逻辑表达式中,则该变量就具备了竞争的条件;
- 保留被研究变量,用某些定值消去其它变量;
- 若得到的表达式为下列形式之一,则有险象存在:
F=A+A‾F = A + \overline AF=A+A:000 险象(如 AAA 从 1 → 0)
F=A⋅A‾F = A \cdot \overline AF=A⋅A:111 险象(如 AAA 从 0 → 1)
e.g.e.g.e.g. F=(A+B+C‾)(C+D)(B‾+D‾)F=(A+B+\overline C)(C+D)(\overline B+\overline D)F=(A+B+C)(C+D)(B+D).
分析:式中变量 B,C,DB,C , DB,C,D 均以原变量、反变量形式出现在表达式中,具备竞争条件:
- 当 ABC=010ABC=010ABC=010 或 110110110 时,表达式为 F=D⋅D‾F= D\cdot \overline DF=D⋅D,如果 DDD 从 0→10→10→1,则存在1险象。
- 当 ABD=000ABD=000ABD=000 时,表达式为 F=C⋅C‾F=C\cdot \overline CF=C⋅C ,如果 CCC 从 0→10→10→1,则存在 111 险象。
- 当 ACD=011ACD=011ACD=011 时,表达式为 F=B⋅B‾F = B\cdot \overline BF=B⋅B, 如果 BBB 从 0→10→10→1,则存在 111 险象。
(2) 卡诺图判别法
对于“与-或”电路:在卡诺图中,如果两个圈 111 的卡诺圈存在着部分相切 ,且这个相切部分又没有被其它的圈 111 卡诺圈包含,则该电路必然存在险象:
F=A‾C‾+ABF= \overline A\ \overline C + ABF=A C+AB:
对于“或-与”电路: 在卡诺图中,如果两个圈 000 的卡诺圈存在着部分相切,且这个相切部分又没有被其它的圈 000 卡诺圈包含,则该电路必然存在险象:
F=(A+C)(B+C‾)F = (A+C)(B+\overline C)F=(A+C)(B+C):
4. 险象的消除
(1) 加选通脉冲
对下面的电路图,
(1) 先使 CP=0CP = 0CP=0 ,关闭与门;
(2) 等 AAA 、A‾\overline AA 信号都来到后,让 CP=1CP = 1CP=1,得到可靠的 FFF
(2) 加冗余卡诺圈
在相切部分加上冗余的卡诺圈:
F=AB‾+BCF=(A+B)(B‾+C)\quad F = A\overline B + BC \qquad \qquad \ \ \ F = (A+B)(\overline B +C)F=AB+BC F=(A+B)(B+C)
F=AB‾+BC+ACF=(A+B)(B‾+C)(A+C)\quad F = A\overline B + BC +AC \quad \quad F = (A+B)(\overline B +C)(A+C)F=AB+BC+ACF=(A+B)(B+C)(A+C)
【数字逻辑】学习笔记 第四章 Part2 常用组合逻辑电路与竞争、险象相关推荐
- 《Go语言圣经》学习笔记 第四章 复合数据类型
<Go语言圣经>学习笔记 第四章 复合数据类型 目录 数组 Slice Map 结构体 JSON 文本和HTML模板 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. ...
- Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25
Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25 目录 Rule20 接口优于抽象类 Rule21 为后代设计接口 Rule22 接口只用于定义类型 ...
- 计算机网络(第7版)谢希仁著 学习笔记 第四章网络层
计算机网络(第7版)谢希仁著 学习笔记 第四章网络层 第四章 网络层 4.3划分子网和构造超网 p134 4.3.1划分子网 4.3.2使用子网时分组的转发 4.3.3无分类编址CIDR(构建超网) ...
- 机器人导论(第四版)学习笔记——第四章
机器人导论(第四版)学习笔记--第四章 4.1 引言 4.2 解的存在性 4.3 当n<6时操作臂子空间的描述 4.4 代数解法和几何解法 4.5 简化成多项式的代数解法 4.6 三轴相交的Pi ...
- 数字图像处理学习笔记(四)——数字图像的内插、度量、表示与质量
数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声.增强.复原.分割.提取特征等处理的方法和技术.本专栏将以学习笔记形式对数字图像处理的重点基础知识进行总结 ...
- 线性代数学习笔记——第四章学习指南——n维向量空间
一.学习内容及要求 1. 内容: §4.1. n维向量空间的概念 线性代数学习笔记--第四十讲--n维向量空间的概念 线性代数学习笔记--第四十一讲--n维向量空间的子空间 §4.2. 向量组的线性相 ...
- 【数字逻辑】学习笔记 第四章 组合逻辑电路
文章目录 一.组合逻辑电路概述 二.组合逻辑电路分析 三.组合逻辑电路设计 四.实际练习 一.组合逻辑电路概述 数字逻辑电路 组合逻辑电路 时序逻辑电路 组合电路特点 功能上:输出仅与该时刻的输入有关 ...
- Apollo星火计划学习笔记——第四讲Part2 Apollo定位模块详解与实践
引言 内容概要,学习目标 了解自动驾驶定位的作用 熟悉常见的自动驾驶定位方法 掌握整个Apollo定位模块框架 独立开发定位模块 1. 定位的作用 1.1 定位及其相关知识点 定位: 获取当前的地理位 ...
- python实验题第四章_「Python」2020.03.16学习笔记 | 第四章列表、元组、字典-习题(11-13)...
学习测试开发的Day74,真棒! 学习时间为1H 第四章列表.元组.字典-习题(11-13) 11.求两个集合的交集和并集 代码 list1=[1,2,3,4] list2=[2,3,5,5] def ...
最新文章
- 有源晶振和无源晶振的区别
- erp系统为什么要选稳定性强的?看完你就明白了
- 《噬血代码》:一款轻度的魂Like游戏
- 全国计算机一级考试介绍难不难,全国计算机一级考试内容 计算机一级考试难吗...
- 后端:请谨慎使用Arrays.asList、ArrayList的subList
- Windows下IIS+PHP 5.2的安装与配置
- \045在字符串中输出为%
- Definition for rule ‘vue/script-setup-uses-vars‘ was not found.
- 成功解决:[‘‘, ‘‘, __ob__: Observer]
- 带注释的c51汇编语言,51单片机矩阵键盘控制程序 汇编语言 带详细注释
- 重载函数sroot3次,让它返回整数、长整数、双精度数的二次方根
- 自然语言推理-文本蕴含识别简介
- 微信支付的软件架构究竟有多牛逼...
- python安装cv2模块的方法_Python opencv模块cv2安装和部分函数使用
- 微信输入法 你有了吗?张小龙:防窃听、护隐私
- java around_关于Aop切面中的@Before @Around等操作顺序的说明
- 中投民生:股市实战小技巧,股民必看
- 微信小程序引入iconfont图标,解决渲染层失败(2022年7月11日)
- 俄罗斯开发者赢得Facebook Hacker Cup大赛 楼天成获季军
- 小白避坑系列--Ubuntu1804 RTX3060显卡实现双屏