一.序言

我们知道在现实生活中,比如我们往麦克风里输入的不同声音,房间温度,湿度的变化等等,都是

一连串连续变化的信号,也就是我们所说的模拟信号.

而相较而言,数字信号存在可能就没有那么广泛,但我们对它的应用却越来越多,这主要原因也是

我们前面提到过的我们能够将很多对应物理量,转成数字信号来处理,这样既方便也高效.

比方说,现在教室存在着几个烟雾探头,每个探头附近就有对应的淋浴器.

假设现在教室里出现了烟雾,也就是我们所说的模拟信号,我们可以把有烟看作1,没有烟看作0,

这就完成了最简单的一个编码.

但实际上并没有这么简单,如果单纯按0,1划分,那假设在教室点了个火柴,喷淋器就直接降水,

或者已经着火了,但烟雾浓度还不够高,没有喷洒,那这样就非常尴尬.

所以,我们可以根据烟雾不同的浓度,再进一步细分,比如划分成10个等级梯度,对应就用4位不

同的二进制编码(000代表无烟,001代表烟雾浓度为...到...,等等)

转化成二进制编码后,我们就可以对它进行处理,输出相应处理过的二进制编码,决定喷淋器喷出

的水流有多大.

但这显然还不够,我们知道一般来说每个探头和每个喷淋器是存在因果关系的.

所以我们还要对烟雾探头编码,比方说00,01,10,11等等,然后将这些地址编码连同我们上面

处理好的编码,输给所有喷淋器,但只会有相邻的喷淋器被激活,将二进制代码所表示的相应信号

或对象“翻译”出来,变成我们理解的物理量,哪个喷淋器工作,喷多少水等等.

由上面这个例子,我们也可以看出,编码和译码是我们生活中经常用到的部分,是常用的模块.

因此,我们上一部分学过了组合逻辑电路,对应这一部分,就会将编码和译码这两大模块,单独分

装出来,单独研究实现,以起到大幅简化电路的功能.(像拼乐高一样,假如很多模型都有窗户这

个部分,而结构还相同,那我们就把它们单独分化出来,那造模型的时候,直接使用就好,而不用

再从头开始搭建.)

二.编码器

1.二进制普通编码器

用n位二进制代码对2^n个相互排斥的信号进行编码的电路,称为二进制普通编码器.

它最大的特点是输入信号是相互排斥的,任一时刻都有且只有一个输入信号输入.

具体如何理解呢?

我们可以看看三位二进制普通编码器的真值表.

总共有8个输入,从I0到I8,3个输出Y1,Y2,Y3,所以也被称为8线-3线二进制普通编码器.

有输入为1,无输入为0

我们可以看到每次,都只有一个输入为1,也就是输入信号是相互排斥的,任一时刻都有且只有一个输入信号输入的意思.

如何实现它的门电路呢?

如果画出其卡诺图化简固然可以,但输入有8个,构成的卡诺图将会非常大,但只有8个为有效的信

号,其它都是无关项.既然我们无法通过卡诺图化简太难,可以考虑从表达式入手.

根据真值表,我们可以对每个表达式先写出它的与或表达式.

(有输入为原变量,无输入为反变量)得到下列表达式:

类似,我们便可以得到,Y1,Y0的表达式.

化简可以采用利用无关项和公式法消去法.

我们知道约束可以表示为(与运算只有两个都为1才会为1,现在有且只有一项为1,所以结果必然

为0)

在式子中加上I4I5,提取公因式,可以把第一项的I5消掉,类似的方法,可以将第一项消到只剩下I4

一个输入.

类似的方法可以将Y2化简为一个很简单的表达式,除了输入为1的项,全部都被消掉.

其实也可以用卡诺图来思考,将输入为1的所有无关项和有效项圈起来,只有输入为1的变量没有发

生过变化,则其它反变量全部可以消掉.

最后化简为:

利用表达式, 就可以画出对应的门电路.

2.二进制优先编码器

用n位二进制代码对2^n个允许同时出现的信号进行编码的电路,称为二进制优先编码器

它和普通编码器最大的区别在于,它允许多个信号同时出现,但只对其中优先级最高的信号进行编码

举个不恰当的例子,假设有一个抢答游戏,每位选手前都有一个抢答器,按下为1,按下为0

普通编码器,就只能允许,虽然同时按抢答器,但最终有且只有一个人能够抢到,并回答问题.

但优先编码器给你同时按,最后也只有一个人能抢到

不过凭借的是优先级,如果规定7号选手优先级比0号选手高的话,7号按了,不管0号按没按,最

后输出的都是7号选手的二进制编码.

我们依旧规定有输入为1,无输入为0

假定I7优先级最高,I6次之,然后依次递减,就可以得到二进制优先编码器的卡诺图如下:

看图我们也可以知道它的特点,如果I7为1,那另外几个输入都是X,即输入什么都不会影响最后的

输出.

同理,化简也是一个一个输出看.

照旧找出输出为1的,先写出与或表达式,得到Y2的表达式

不同于普通编码器化简,优先编码器不需要用无关项化简,直接提取公因式,再加上消去法,就可以直接进行化简.得到下面化简的式子.

类似可以得到相应Y1,Y0输出的表达式

相应就可以用与非门实现出相应的门电路.

3. 8421BCD普通编码器

和二进制普通编码器类似,名字也告诉我们,8421BCD普通编码器总共可以表示从0到9的十个二进制对应的数.

同样输入也只有且只有一个输入为有效,其它都为无效.

因此8421BCD编码器总共有10个输入端,四个输出端.(三个输出端,无法表示10个数,至少要四个输出端.)

不过分析的方法,和上面3线-8线三位二进制编码器是完全相同的.同样是有输入为1,无输入为0.

先画出它的真值表:

一个一个输出端,写出对应的表达式

这里拿Y3举例,找出Y3输出为1对应的表达式,写出最小项,然后逻辑或起来.

输入为1的取原变量,为0的取反变量.(写最小项的方法)

约束依旧可以表示成下面这个例子,即:

通过消去律,同样可以轻松化简为

类似地,我们就可以也得出其它输出的表达式(其实也就是所有输入端为1的或其来.)

将表达式通过德摩根律化成与非的形式,然后与非门电路自然就可以轻松的设计出来.

4. 8421BCD优先编码器

和8线-3线二进制优先编码器类似,此时输入换成了10线,输出换成了4线.

作为优先编码器,同样当有一个以上输入信号出现时,只对其中优先级别最高的一个进行编码.

同样也是有输入为1,无输入为0

卡诺图如下图所示:

化简方法和二进制优先编码器化简方法一样,这里就不再细讲.

5.MSI74148优先编码器及应用

下面我们就看生活中,常用的一个优先编码器------MSI74148

其中74代表系列号,关键的数字是148,它代表了这个芯片的功能是优先编码.

看图片,我们也可以知道,它总共有16个引脚,前面8个,后面8个.

我们先来看看它的逻辑符号.

首先,我们可以发现它的逻辑符号只有14个引脚,那是因为我们把接电源和接地的引脚都没有表示.

总共有八个输入,三个输出.

意味着 MSI74148是一个三位二进制的优先编码器.

输入端和芯片,我们发现会有一个个小圈,这代表着逻辑非,也就是

MSI74148的有效输入为0,无效输入为1.

                    有效输出为0,无效输出为1.

除此之外,还有我们前面没有接触过的三个引脚,分别是

 -----选通输入端

------扩展芯片

我们先来介绍选通输入端的作用

简单来说,看名字,我们也知道这个引脚的作用----选通

当选通输入端为1的时候,也就是无效输入,不管我们输入什么,输出全部都为1,也就是无效输出.

只有当选通输入端为0的时候,为有效输入,我们的输入才有效.

至此,我们除了扩展芯片外,所有的引脚如何使用都已经解决.

我们可以看看MSI74148的真值表.

图中红色部分就是我们前面熟悉的三位二进制编码器的真值表. 选通输入端为0此时为0,代表有效输入.(可以看出I7的优先级最高,然后依次递减.)

当选通输入端为1的时候,无论输入是什么,输出全部默认为高电平,也就是无效输出1.

接下来,我们研究扩展芯片的作用,扩展芯片其实也被称为附加输出端

由附加输出端,我们也知道,它其实也是一个输出端,不过是用在特定的场景下.

比方说,我们要用两片74148芯片扩展成16线-4线优先编码器.

我们考虑的角度主要有两个,一个是输入,另一个是输出.

先看输入,作为有着16线输入的编码器,如果其中有一个芯片优先级比较高,另一个优先级比较低,(一个芯片工作时有且只有一个工作)这样就可以实现从0-16总共16个不同的输入.

也就是需要一个输出端,作为控制另一个芯片的输入端.

这就是的作用.

再看输出,输出为4线,那一个芯片的3线显然是不够的,这时候,就可以发挥出的作用来,

充当另一个输出端.

那如何保证输出是正确的呢?

我们知道高位有输入的时候,对应的输出应该是0xxx(0为有效,1为无效)

而由真值表我们也可以知道,此时输出全为0,恰好对应最高位输出.

而剩下的输出位数,我们知道不管是0,还是1,逻辑与后,都是完全相同的.

也就是将芯片的两个输出,对应位置相与即可.

同理,低位由输入的时候,对应输出应该是1xxx,也恰好和输出为1相对应.

至此,我们就可以知道附加输出端的作用是什么,它可以用作补充相应的输出端.

同时我们也可以画出两片74148组合而成的16线-4线优先编码器符号图.

三.译码器

译码是编码的逆过程,是将二进制代码所表示的相应信号或对象翻译出来.

1.二进制译码器

具有n个输入,2^n个输出,能够将输入的所有二进制代码全部翻译出来的译码器称为二进制译码器.

其实看真值表,我们也可以知道,实际上就是输入和输出换了个位置而已.

每一个输出对应一个输入组合.有效输出为1,无效输出为0.

表达式不同于编码器,直接就可以写出,并且还不需要化简,得到的即为最小项.

那逻辑图很轻松就可以画出来,不过线还是很多的.

2.二-十进制译码器

十个表示十进制数0-9的二进制代码翻译成相应的输出信号的电路称为二-十进制译码器.

也是和二-十进制编码器相类似,原本的输入变成输出,输出变成输入.

不过还是和二-十进制编码器有一点区别,大于10的二进制代码,我们规定其是不会出现的.

而这些约束项,是可以用作将表达式进一步化简的.

拿Y9举例子

由于其取值是任意,我们就令Y9的值为0,则相加不影响表达式的值.

将上述的四个式子相加,再用消去律,可以得到化简后Y9的表达式.

类似也可以得到相应的表达式.

随后画出对应的逻辑图

3.显示译码器

在数字系统中,经常需要将数字,文字,符号的二进制代码翻译成人们习惯的形式,直观地显示出

来,以便掌控和监控系统的运行情况.

最简单的比如说我们实验箱上的小灯,我们输入不同的信号,按下不同的键,代表不同的二进制

输入,我们能够在上面观察到相应十进制的输出.

BCD七段显示译码器有四个输入,七个输出.有效输出为0,无效输出为1.

即假设驱动信号为0,发光二极管发光,也就是说,要a段发光,需要Ya为0.

根据显示器件的不同,我们就可以列出来相应的真值表.

超过10的二进制输入,全部输出为1,也就是不会发光.

4.MSI74138译码器

前面我们已经了解过MSI74148优先编码器,现在我们来了解MSI74138二进制译码器.

74138是3线-8线二进制译码器,它有三个输入和八个输出

和之前芯片不同,它输入1为有效,输入0为无效,但是输出0为有效,输出1为有效 

即输入高电平有效,低电平无效

总共有三个选择控制端S1,S2,S3,当且仅当S1输入为1,S2,S3输入都为0,芯片才能正常工作.

其余情况,无论输入什么,输出都为无效1.

而73138最核心的一点在于,它的输出非常有趣.

恰好能够表示A2,A1,A0三个输入端所有对应的最大项.

比方说,我们给A2,A1,A0都输入无效0,在0号输出端,输出的恰好就是三个输入变量组成的最大

项.,也可以说是对应最小项的反.

那任意组合逻辑函数都可以写成标准与或表达式,即最小项之和.

因此我们就可以利用译码器实现组合逻辑函数.

比方说实现这样一个逻辑函数F.

首先我们将其变型,则它一定可以化成最简与或表达式的形式,即最小项之和.

但我们知道,每个输出端,对应得其实是对应变量组合的最大项.

所以还要用摩根定律,取最小项的反,化成对应最大项之积.(或者最小项未出现的项组成的最大

项.)

保证选通输入端为1 0 0,连接对应输出端接到与门或与非门即可.

ps:注意输入端,此时A为最高位,B为次高位,然后依次递减.

这里也揭示了,所有逻辑函数都可以化成最小项之和的形式,而每个最小项有且只有对应的一个

输入为有效(这里是输入有效为1),即逻辑函数只有部分输入满足输出为1.

而74LS138优先译码器又恰好可以满足,只有对应的一个输出端为1

因此才能用74LS138优先译码器实现任何逻辑函数.

常用组合逻辑电路及MSI组合电路模块的应用—上篇相关推荐

  1. 常用组合逻辑电路及MSI组合电路模板的应用——下篇

    一.加法器 计算机诞生的起因便是计算导弹轨道,因此计算是必经之路. 如何实现两个二进制数的相加呢? 在C语言操作符一节中,我们曾经利用与运算和异或运算,加上循环移位,实现了两个二进制数的 相加. 之所 ...

  2. 计算机组成组合逻辑电路,计算机组成原理组合逻辑电路.ppt

    文档介绍: 第三章 计算机中的 逻辑部件 2002.9 北京理工大学计算机科学工程系 第三章 本章的中心内容是讨论计算机中常用的组合逻辑电路和时序逻辑电路,以及基本的逻辑部件.我们将从使用角度出发,着 ...

  3. 数字电子技术-组合逻辑电路

    文章目录 一.组合逻辑电路的分析 二.组合逻辑电路的设计 三.组合逻辑中的竞争-冒险 四.若干典型的组合逻辑电路 4-1 编码器 4-1-1 普通编码器 4-1-2 优先编码器 4-1-3 典型编码器 ...

  4. FPGA:组合逻辑电路的设计

    文章目录 组合逻辑电路的设计 组合逻辑电路的设计步骤 组合逻辑电路的设计举例 例1 例2 组合逻辑电路的设计 根据实际逻辑问题,求出所要求逻辑功能的最简单逻辑电路. 组合逻辑电路的设计步骤 1.逻辑抽 ...

  5. 【安全硬件】Chap.3 如何插入一个硬件木马到芯片的组合逻辑电路的漏洞里?不影响正常电路的功能的情况下进行硬件的逻辑加密

    [安全硬件]Chap.3 如何插入一个硬件木马到芯片的组合逻辑电路的漏洞里?如何进行硬件的逻辑加密在不影响正常电路的功能的情况下 1. 组合逻辑电路的漏洞 组合逻辑电路中的硬件木马-举例 Fault ...

  6. 数电基础(4)--组合逻辑电路分析设计

    组合逻辑电路 一.组合逻辑电路的分析 二.组合逻辑电路的设计 设计组合逻辑电路需要注意的问题 三.组合逻辑电路中的竞争冒险 产生原因 消除方法 四.计算机体系结构涉及的组合逻辑电路 编码器 译码器/数 ...

  7. 【原创】组合逻辑电路详解、实现及其应用

    作者:造就狂野青春 本文为明德扬原创及录用文章,转载请注明出处! 一. 什么是组合逻辑电路? 在数字电路中,根据逻辑功能的不同,我们可以将数字电路分成两大类,一类叫做组合逻辑电路.另一类叫做时序逻辑电 ...

  8. 【数字逻辑】学习笔记 第四章 Part2 常用组合逻辑电路与竞争、险象

    文章目录 一.常用组合逻辑电路 1. 译码器 (1) 二进制译码器 74LS138(3/8译码器) a. 一般符号和图形符号 b. 74LS138功能表 c. 两片 `74LS138` 构成 `4-1 ...

  9. 数字电路 常用组合逻辑电路

    文章目录 4.3.1 编码器 4.3.2 译码器 4.3.3 数据选择器 4.3.4 加法器 4.3.5 数值比较器 4.4 组合逻辑电路中的竞争-冒险现象 4.4.1 竞争-冒险现象及成因 4.4. ...

  10. 数电4_2——常用的组合逻辑电路(1)编码器

    常用的组合逻辑电路编码器 编码器 1 普通编码器 1.1 电路特点 1.2 写出真值表 1.3 写出逻辑表达式 1.4 逻辑电路 2 优先编码器 2.1 电路特点 2.2 真值表 2.3 逻辑表达式 ...

最新文章

  1. 你的企业客户服务,离卓越还有多远?
  2. Tomcat6.0.13下配置Tomcat Administration Web Application
  3. 基于JSP/SERVLET学生管理系统
  4. MySQL 中 6 个常见的日志问题
  5. abb机器人指令手册_ABB机器人编程之程序流程指令(含案例)
  6. 用fieldset标签轻松实现Tab选项卡效果
  7. lograotate 配置常用配置
  8. WaitForSingleObject
  9. javaScript第二天(1)
  10. 基于 Docker 的微服务架构
  11. Junit学习笔记(二): 源码分析(2)-命令和组合模式
  12. Cannot complete this action,please try again. Correlation ID :bd640a9d-4c19-doff-2fe0-6ce1104b59ae
  13. 在线音乐网站网站开发项目 ,第一篇
  14. js去掉字符串的空格
  15. python实现oa系统_利用Python实现某OA系统的自动定位功能
  16. seo需要编程技术吗?学黑帽seo需要什么技术?
  17. python万年历节气_python3实现万年历(包括公历、农历、节气、节日)
  18. rancher拉取harbor私有镜像失败,报错ImagePullBackOff: Back-off pulling image
  19. 大数据入门级学习攻略
  20. mysql中各种类型的锁

热门文章

  1. 局域网虚拟服务器的工作模式,三种虚拟局域网实现方式有哪些差异?实现虚拟局域网的工具推荐...
  2. SEO已死,真的吗,十年SEO从业者的思考
  3. 基于SSM实现的旅游管理系统【附源码】(毕设)
  4. 虚拟机连接锐捷校园网
  5. linux 中文输入法的安装教程,linux输入法怎么安装
  6. linux校园网自动登录命令,东北大学校园网登录登出shell脚本
  7. 扫码连wifi小程序源码
  8. javascript无限弹窗_解决下javascript无限弹窗的问题
  9. unix系列系统镜像下载
  10. SQL语句——查询语句