文章目录

  • 一、常用组合逻辑电路
    • 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_0A3​A2​A1​A0​ :译码输入,对应的是 161616 个输出信号;

这里用最高位地址作为片选信号:

  • A3=0A_3 =0A3​=0 时,片 111 低位输出工作,为了让片 111 工作,我们将 A3A_3A3​ 取反送入片 111 的 STAST_ASTA​ 中,此时 A3=0A_3 = 0A3​=0 不会让高位输出工作。A3A2A1A0A_3A_2A_1A_0A3​A2​A1​A0​ :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_0A3​A2​A1​A0​ :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_0A3​A2​A1​A0​ 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​​ A0​​a0​+A1​​A0​a1​+A1​ A0​​a2​+A1​A0​a3​=m0​⋅a0​+m1​⋅a1​+m2​⋅a2​+m3​⋅a3​=i=0∑2n−1​mi​⋅ai​=i=0∑3​mi​⋅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 常用组合逻辑电路与竞争、险象相关推荐

  1. 《Go语言圣经》学习笔记 第四章 复合数据类型

    <Go语言圣经>学习笔记 第四章 复合数据类型 目录 数组 Slice Map 结构体 JSON 文本和HTML模板 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. ...

  2. Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25

    Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25 目录 Rule20 接口优于抽象类 Rule21 为后代设计接口 Rule22 接口只用于定义类型 ...

  3. 计算机网络(第7版)谢希仁著 学习笔记 第四章网络层

    计算机网络(第7版)谢希仁著 学习笔记 第四章网络层 第四章 网络层 4.3划分子网和构造超网 p134 4.3.1划分子网 4.3.2使用子网时分组的转发 4.3.3无分类编址CIDR(构建超网) ...

  4. 机器人导论(第四版)学习笔记——第四章

    机器人导论(第四版)学习笔记--第四章 4.1 引言 4.2 解的存在性 4.3 当n<6时操作臂子空间的描述 4.4 代数解法和几何解法 4.5 简化成多项式的代数解法 4.6 三轴相交的Pi ...

  5. 数字图像处理学习笔记(四)——数字图像的内插、度量、表示与质量

    数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声.增强.复原.分割.提取特征等处理的方法和技术.本专栏将以学习笔记形式对数字图像处理的重点基础知识进行总结 ...

  6. 线性代数学习笔记——第四章学习指南——n维向量空间

    一.学习内容及要求 1. 内容: §4.1. n维向量空间的概念 线性代数学习笔记--第四十讲--n维向量空间的概念 线性代数学习笔记--第四十一讲--n维向量空间的子空间 §4.2. 向量组的线性相 ...

  7. 【数字逻辑】学习笔记 第四章 组合逻辑电路

    文章目录 一.组合逻辑电路概述 二.组合逻辑电路分析 三.组合逻辑电路设计 四.实际练习 一.组合逻辑电路概述 数字逻辑电路 组合逻辑电路 时序逻辑电路 组合电路特点 功能上:输出仅与该时刻的输入有关 ...

  8. Apollo星火计划学习笔记——第四讲Part2 Apollo定位模块详解与实践

    引言 内容概要,学习目标 了解自动驾驶定位的作用 熟悉常见的自动驾驶定位方法 掌握整个Apollo定位模块框架 独立开发定位模块 1. 定位的作用 1.1 定位及其相关知识点 定位: 获取当前的地理位 ...

  9. python实验题第四章_「Python」2020.03.16学习笔记 | 第四章列表、元组、字典-习题(11-13)...

    学习测试开发的Day74,真棒! 学习时间为1H 第四章列表.元组.字典-习题(11-13) 11.求两个集合的交集和并集 代码 list1=[1,2,3,4] list2=[2,3,5,5] def ...

最新文章

  1. 有源晶振和无源晶振的区别
  2. erp系统为什么要选稳定性强的?看完你就明白了
  3. 《噬血代码》:一款轻度的魂Like游戏
  4. 全国计算机一级考试介绍难不难,全国计算机一级考试内容 计算机一级考试难吗...
  5. 后端:请谨慎使用Arrays.asList、ArrayList的subList
  6. Windows下IIS+PHP 5.2的安装与配置
  7. \045在字符串中输出为%
  8. Definition for rule ‘vue/script-setup-uses-vars‘ was not found.
  9. 成功解决:[‘‘, ‘‘, __ob__: Observer]
  10. 带注释的c51汇编语言,51单片机矩阵键盘控制程序 汇编语言 带详细注释
  11. 重载函数sroot3次,让它返回整数、长整数、双精度数的二次方根
  12. 自然语言推理-文本蕴含识别简介
  13. 微信支付的软件架构究竟有多牛逼...
  14. python安装cv2模块的方法_Python opencv模块cv2安装和部分函数使用
  15. 微信输入法 你有了吗?张小龙:防窃听、护隐私
  16. java around_关于Aop切面中的@Before @Around等操作顺序的说明
  17. 中投民生:股市实战小技巧,股民必看
  18. 微信小程序引入iconfont图标,解决渲染层失败(2022年7月11日)
  19. 俄罗斯开发者赢得Facebook Hacker Cup大赛 楼天成获季军
  20. 小白避坑系列--Ubuntu1804 RTX3060显卡实现双屏

热门文章

  1. 在eclipes 中配置python
  2. python-django-03-django-ORM入门
  3. 桌面鼠标右键新建Excel,不能使用?
  4. 汽车CAN通信解析(二)
  5. c语言解除宏定义_3.3.5 取消宏定义和重新定义宏
  6. 以太坊solidity智能合约-生成随机数
  7. 电脑控制手机教你实现多个手机同时自动安装卸载软件
  8. Yii Framework 开发教程(31) Zii组件-DetailView 示例
  9. c#中https通讯如何添加证书
  10. 利用SQLite数据库进行用户名、密码的注册和登录验证