浅谈“数字电路”的学习(8)- 编码器、译码器、多路复用器、解复用器的关系和应用

原创 电子森林 2021-10-01 22:58

在数字电路教程的组合逻辑部分,最经典的示例除了加法器以外就是:

  • Encoder - 编码器

  • Decoder - 译码器

  • Multiplexer - 简写Mux,多路复用器,也叫数据选择器

  • Demultiplexer - 简写Demux,解复用器,也叫数据分配器

其实是两对概念:Encoder/Decoder是跟code(码)相关的正反两个操作,Mux/Demux是跟数据流相关的正反两个操作。


翻看各种教科书,我们很难理清楚它们之间的功能差异以及相互之间的关系,只是有一些点滴应用在书本上提及。


这两组概念其实是非常重要的,是构成我们信息组织和信息传输的重要基础,并且在我们的生活中处处都能够找到与之对应的应用:


比如我们看谍战片中神秘的电报编码(要用密码本来翻译);我们用的键盘上面有100多个按键、而几根线就可以将它跟计算机连接;我们使用的旋转拨码开关、模数转换器中通过比较器输出的比较结果到最终用于表征模拟信号大小的数据,这些都被称为Encode - 编码。

单刀八掷的旋转开关可以用3根二进制数据线来表征其状态

上述开关编码器部分的图示


键盘上用到的对多个按键的编码


简而言之,编码器是一种把熟悉的数字、字符或符号转换成二进制代码的装置,它将给定的信息编码成更紧凑的形式,主要用于减少表示给定信息所需的比特数。在数字系统中,编码器用来传输或存储信息,通过编码传输链路可以使用更少的线路来传输或更少的空间来存储。将量化的音乐通过编码器转换为MP3格式,将采集到的视频流通过编码器转换为MP4的数据格式,这些过程都统称为“编码” ,当然在我们的数字电路教程中,只是通过最简单的示例来讲述其原理。


就像电报中的编码有很多中一样,用二进制来表征数字、字符或符号也有多种不同的方式,比如BCD、5421码、2421码、余3码、格雷码等,每种编码方式都有其优缺点,因此有用于不同的场景。



译码器(Decoder)是编码器的逆过程,它是把二进制表征的信息给翻译过来,或者说映射过来,我们生活中的门牌号、车牌号、邮箱、组合开关对多个灯的控制、嵌入式系统中的存储器/外设寻址,这些都是译码的过程,通过代码中的数字,找到其对应的对象。在数字计算中,代码中的数字都是用二进制(扩展为8进制、16进制等,本质上也是2进制)。数字电路教程中,在译码器部分最常用到的例子就是3:8译码器,这是因为74HC138就是这么一个IC,比较适合做各种实验,当然7段数码管的控制也是非常重要的实验项目让同学们来体会译码的过程,通过几根控制线的电平组合,可以点亮数码管上7个LED灯中的若干个,从而组合出我们需要显示的数字。


我们硬禾学堂也专门针对译码部分制作了两个视频案例,一个是2:4译码,一个是3:8译码,虽然看起来没啥大的区别,但我们还是通过这两个实例来让大家体会Verilog代码实现的不同方式,希望对学习Verilog的同学有帮助。

数字电路中的2:4译码器
数字电路中的3:8译码器

FPGA中的逻辑单元的基本构成就是LUT - 查找表,其理论基础就是译码,比如我们小脚丫FPGA中采用的是4输入LUTS,通过查找表的方式代替逻辑门的构成,4个输入作为RAM的地址,可以寻址16个不同的地址空间内存储的信息。


是不是感觉编码器/译码器用途很广?


那Mux/Demux呢?想象一下从四条不同路径过来的车辆要并线到一条路上,由红绿灯控制,控制部分就相当于一个分时切换的开关,根据开关的控制码来决定哪一路的车辆通行,Mux又称为多路数据选择器,Demux又被称为数据分配器。


其实MUX不仅用于数字器件中,模拟电路中也有这个概念,我们所说的模拟开关,可以切换不同的输入与输出的连接,在模拟电路中Mux和Demux是一体的,同一个电路即是Mux又是Demux。而数字的Mux和Demux需要使用不同的器件。


复用器的构成

从上面的图中可以看出译码器复用器构成的重要部分。复用器的控制信号就是通过译码以后,对应到相应的控制端点,从而实现对输入信号的选择通过的。


复用器/解复用器的Verilog逻辑异常简单,有一点程序基础的同学一看就懂,比如下面的4选1多路选择器,一个case语句搞定,case的条件是2个选择数据为sel1、sel0,sel1和sel0的4种组合决定了一个LED同4个不同输入信号的连接。

很容易看懂,是因为我们任何一门编程语言中的if else、case本质上都是Mux的功能,只是我们太习以为常了而已。

  module mult4   (     input wire a,           //定义四位输入     input wire b,     input wire c,     input wire d,     input wire [1:0]  sel,  //定义输出的选择变量     output reg  led         //定义选择器输出结果对应的led   );  always@(sel)           //根据sel结果选择输出,当sel变化时执行  begin    case(sel)      2'b00: led = a;      2'b01: led = b;      2'b10: led = c;      2'b11: led = d;    endcase  end  endmodule

从这几行代码看,FPGA的使用非常简单,不需要你画门与门之间的逻辑关系,只需要用Verilog这种硬件描述语言来描述一下其因果关系就可以了。


与Encoder、Decoder、Mux、Demux相关的案例及其FPGA实现都汇总在www.stepfpga.com的网站百科中,如果您使用我们的Web IDE(不需要下载安装FPGA工具),也可以找到相关的参考案例,自己去发掘喽。


祝大家节日快乐!玩得开心!

  • 浅谈“数字电路”的学习(7)- 一切数字计算的核心功能、被教程忽略的加法器

  • 浅谈“数字电路”的学习(6) - 看视频了解什么是FPGA?

  • 浅谈“数字电路”的学习(5) -  “组合逻辑”的学习逻辑。

  • 浅谈"数字电路"的学习 (4) - 学用FPGA从点灯开始

  • 浅谈“数字电路”的学习(3)- 不需要安装软件、人人一学就会的FPGA学习板

  • 浅谈“数字电路”的学习(2)- 在兴趣和体验中高效学习

  • 浅谈“数字电路”的学习(1)- 我们身处的“数字逻辑”世界

电子森林 讲述电子工程师需要掌握的重要技能: PCB设计、FPGA应用、模拟信号链路、电源管理等等;不断刷新的行业新技术 - 树莓派、ESP32、Arduino等开源系统;随时代演进的热点应用 - 物联网、无人驾驶、人工智能....
评论
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 119浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 127浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 75浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 45浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 80浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 104浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 173浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 145浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 71浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦