编码器原理详解

news2025/4/14 11:18:59

编码器

什么是编码器

编码器可以用来将信息编码成为二进制代码,有点类似于取代号,人为的将二进制代码与对应的信息联系起来。
如下图所示:
假设有这三种情况会发生,且每次只发生一种情况
在这里插入图片描述

为了给这三种情况做一个区分,做如下规则:

  1. 天上下雨
  2. 天上下雪
  3. 天上下冰雹

这样就算对这些信息做了一个编码,但是这个编码是在计算机的外部进行的,这是一种人为的规定。
但是计算机使用电平的高低来表示内部信息的状态,这代表了计算机内部表示信息的方式是二进制,为了将上述信息转换成计算机能够处理的格式,我们便需要编码器来进行编码了。
不知道你有没有感到奇怪,说是编码器,但其实我们在设计电路的时候就预先考虑了对信息的编码,对每一种信息进行了考虑,每一个信息赋予了特殊含义的编码,然后使用编码器将其进行转换二进制。从这种意义上来说,编码器叫这个名字好怪啊!

编码器的原理

以4-2线编码器做分析,结合上述的三种情况做一个4-2线编码器,上述的情况注意表面上是三种情况但其实隐含了一种默认的状态那就是无输入状态这是一种默认的状态。(注:我在分析时将无输入状态作为了一种状态来考虑了,也可以将无输入状态,不作为一种状态考虑,但是需要考虑使用其他的标志位来进行标志)
此时共有的情况就有以下几种:
0.无输入
1.天上下雨用 I 1 I_1 I1表示
2.天上下雪用 I 2 I_2 I2表示
3.天上下冰雹用 I 3 I_3 I3表示
这样就能列出下面的真值表:

I 1 I_1 I1 I 2 I_2 I2 I 3 I_3 I3 O 1 O_1 O1 O 2 O_2 O2
00000
10010
01001
00111

根据真值表可以得到这样这样的逻辑函数表达式:
O 2 = I 2 + I 3 O 1 = I 1 + I 2 \begin{align}O_2 &= I_2+I_3\\ O_1&= I_1+I_2 \end{align} O2O1=I2+I3=I1+I2
根据此逻辑函数式可以得到下面的电路图:
在这里插入图片描述

此电路图分为以下几部分:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

接下来进行动态演示操作:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这样最基础的原理部分就解决了,但是现在这一个电路不允许同时有多个输入,如果同时有多个输入就会导致输出的错误,接下来我们就需要解决这个问题。

允许同时有多个输入的编码器——优先编码器

现在我们看一下如果要允许同时有多个输入,但是要对其中的某些输入进行优先编码,比如我们定义下面的优先级 I 3 > I 2 > I 1 I_3>I_2>I_1 I3>I2>I1,当 I 3 I_3 I3输入的时候无论 I 2 I_2 I2是什么状态都不影响输入,其余同理。这样可以得到下面的真值表:

I 1 I_1 I1 I 2 I_2 I2 I 3 I_3 I3 O 1 O_1 O1 O 2 O_2 O2
00000
10010
1001
111

将所有的情况都列出来可以得到下面的真值表:

I 1 I_1 I1 I 2 I_2 I2 I 3 I_3 I3 O 1 O_1 O1 O 2 O_2 O2
00000
10010
01001
11001
00111
01111
10111
11111

这样就可以得到下面的表达式
O 1 = I 1 I 2 ′ I 3 ′ + I 1 ′ I 2 ′ I 3 + I 1 ′ I 2 I 3 + I 1 I 2 ′ I 3 + I 1 I 2 I 3 O 2 = I 1 ′ I 2 I 3 ′ + I 1 I 2 I 3 ′ + I 1 ′ I 2 ′ I 3 + I 1 ′ I 2 I 3 + I 1 I 2 ′ I 3 + I 1 I 2 I 3 \begin{align} O_1 &= I_1I_2'I_3'+I_1'I_2'I_3+I_1'I_2I_3+I_1I_2'I_3+I_1I_2I_3\\ O_2 &= I_1'I_2I_3'+I_1I_2I_3'+I_1'I_2'I_3+I_1'I_2I_3+I_1I_2'I_3+I_1I_2I_3 \end{align} O1O2=I1I2I3+I1I2I3+I1I2I3+I1I2I3+I1I2I3=I1I2I3+I1I2I3+I1I2I3+I1I2I3+I1I2I3+I1I2I3
对逻辑表达式进行简化得到:
O 1 = I 1 I 2 ′ + I 3 O 2 = I 3 + I 2 \begin{align} O_1 &= I_1I_2'+I3\\ O_2 &= I_3+I_2 \end{align} O1O2=I1I2+I3=I3+I2
搭建出的电路图如图所示:
在这里插入图片描述
动态演示效果如图所示:
在这里插入图片描述

总结

在本篇文章中,我以4-2线编码器为例,主要演示了编码器的原理和优先编码器的原理,在演示的过程中,我将无输入也当作一种输入状态进行分析,通过proteus进行仿真实验,进行搭建编码器,希望对你能够有所帮助。

仿真电路图可以在我的GitHub账户中找到:编码器proteus仿真电路图

如果有什么地方讲的不好或者讲错的地方欢迎大家指出来,如果我所讲的对你们有帮助不要忘了点赞、收藏、关注哦!

我是你们的好伙伴apprentice_eye

一个致力于让知识变的易懂的博主。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1358245.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FPGA - 240102 - FPGA期末速成

TAG - F P G A 、期末、速成 FPGA、期末、速成 FPGA、期末、速成 // – 习题1 – //CPLD(Complex Programmable Logic Device)是 Complex PLD 的简称,一种较 PLD 为复杂的逻辑元件。CPLD 逻辑资源多寄存器少,FPGA 逻辑弱而寄存器…

TemporalKit的纯手动安装

最近在用本地SD安装temporalkit插件 本地安装插件最常见的问题就是,GitCommandError:… 原因就是,没有科学上网,而且即使搭了ladder,在SD的“从网址上安装”或是“插件安装”都不行,都不行!!&am…

PMP考试的通过标准是什么?

PMP 新考纲一共是 180道题,答对 108道就通过了,具体怎么看? 登录网站查询: 第一步:登录PMI网站:www.pmi.org 第二步:进入Dashboard: 第三步:点击菜单Certifications - …

C#自动删除20天前文件夹图片

资料夹如下,需求为自动删除20天前保存的图片 如下为该方法函数,保留天数可以自定义 public static void CleanFile(){string path $"{SvMaster.DataPath}\\Image";\\文件夹路径DirectoryInfo dir new DirectoryInfo(path);FileSystemInfo[] …

XD6500S一款串口SiP模块 射频LoRa芯片 内置sx1262

1.1产品介绍 XD6500S是一款集射频前端和LoRa射频于一体的LoRa SIP模块系列收发器SX1262 senies,支持LoRa⑧和FSK调制。LoRa技术是一种扩频协议优化低数据速率,超长距离和超低功耗用于LPWAN应用的通信。 XD6500S设计具有4.2 mA的有效接收电流消耗&#…

一创聚宽停止服务,散户可以选择它!

第一创业和聚宽停止合作!还有什么量化平台可选? 先了解背景: 从2023年9月25日起,一创聚宽的量化交易平台暂停开通交易权限,到2023年12月29日,一创聚宽量化交易平台将停止提供所有服务。这一消息对于之前使…

IPv6有状态地址自动配置(DHCPv6)

IPv6有状态地址自动配置 IPv6实现了对无状态地址自动配置的支持。这种不需要特殊服务器的地址自动配置方式有着极大的好处。使用起来也很方便,而在IPv4时代曾经是地址自动分配的首选方式的DHCP好像显得有些没落了。但是,DHCP作为有状态地址自动配置的方式之一,依旧有着无状…

echarts实现点击不同的柱子实现类目的不同名字

实现效果如下图: 首先实现echarts堆叠柱状图数据为0的不占用x轴空间 option {tooltip: {trigger: axis,axisPointer: {type: shadow},},legend: {},grid: {left: 3%,right: 4%,bottom: 3%,containLabel: true},xAxis: [{type: category,position: bottom,data: [园区内, 园区…

3C电子制造:智慧物流引领产业升级

在当今科技飞速发展的时代,3C电子制造行业正面临着一系列挑战和机遇。市场需求的多变和技术革新的加速,使得企业必须不断创新和升级。在这个过程中,智慧物流成为了一个关键的环节,它能够有效地提高生产效率、降低成本并增强企业的…

无心剑小诗《银婚颂》

银婚颂 二十五个春秋共一轮 你是岁月赠予我最亮的星辰 从青春燃烧到岁月沉稳 你的笑颜,我永恒的晨昏 春花烂漫是你眼里的璀璨 夏日蝉鸣是彼此故事的和弦 秋叶纷飞诉说漫天情缘 冬雪纯洁见证温暖的牵绊 月光洒满每段共享小径 星光点染每个深情的夜晚 风雨同舟铸就铜墙铁壁 携…

专属定制适合个人的知识付费平台,打造个性化品牌与自主管理体验

明理信息科技知识付费saas租户平台 在当今数字化时代,知识付费平台已经成为人们获取专业知识、提升自身素质的重要渠道。然而,公共知识付费平台虽然内容丰富,但难以满足个人或企业个性化的需求和品牌打造。因此,我们提出了专属定…

易基因:ChIP-seq等揭示Runx2通过转录调控Itgav表达激活肝星状细胞以促进肝纤维化|科研进展

这里是专注表观组学十余年,领跑多组学科研服务的易基因。 肌成纤维细胞(myofibroblasts)主要由肝脏中活化的肝星状细胞(hepatic stellate cells HSC)组成,在肝纤维化进展中发挥着核心作用。由于肌成纤维细胞主要负责细胞外基质蛋…

neo4j图数据库安装和测试

neo4j图数据库安装和测试 1. 下载合适的neo4j软件版本。 https://we-yun.com/doc/neo4j/ https://neo4j.com/deployment-center/#enterprise 2. 下载JAVAJDK 由于neo4j是一个用Java编写的图形数据库,因此在安装和运行Neo4j之前,需要先安装Java Developm…

H5定时打卡领取奖励系统PHP源码,附带搭建教程

搭建教程 环境采用:linux的服务器系统 Nginx 1.18.0 MySQL 5.6.49 PHP-7.2 创建一个网站绑定上域名PHP版本选择7.2 这里不要绑定错了 创建好,我们进入到网站根目录,把源码打包压缩上传进去 压缩格式要用zip 不能有中文,…

《软件项目接口安全设计规范》

1.token授权机制 2.https传输加密 3.接口调用防滥用 4.日志审计里监控 5.开发测试环境隔离,脱敏处理 6.数据库运维监控审计 软件全套文档:软件开发全套资料-CSDN博客

javaweb项目jar包部署

装好系统后直接先安装java环境 方法一:使用OpenJDK安装Java 更新系统软件包列表: sudo yum update安装OpenJDK: sudo yum install java-1.8.0-openjdk-devel # Java 8安装如果你需要其他版本的Java,你可以替换 1.8.0 为其他版本…

奇数码问题

title: 奇数码问题 date: 2024-01-05 11:52:04 tags: 逆序对 cstefories: 算法进阶指南 题目大意 解题思路 将二维转化为一维&#xff0c;求他的逆序对&#xff0c;如果逆序对的奇偶性相同&#xff0c;则能够实现。 代码实现 #include<iostream> #include<string.h&…

微服务应用可观测性解决方案介绍

目录 一、可观测性出现背景 二、什么是可观测性&#xff08;Observability&#xff09; 2.1 可观测性的不同解析 2.1.1 百度维基解析 2.1.2 IBM解析 2.1.3 CNCF&#xff08;云原生计算机基金会&#xff09;组织解析 2.1.4 我的个人理解 2.2 可观测性和监控的区别与联系 …

产业认可 | 开源网安荣获 CCIA“2023 年度优秀会员单位”

​1月4日&#xff0c;“2023年度中国网络安全产业联盟成员大会暨理事会”在京召开&#xff0c;开源网安作为成员单位受邀出席本次大会。 在会上&#xff0c;联盟发布了关于2023年度表彰先进的决定&#xff0c;作为中国软件安全领域的创领者&#xff0c;开源网安在技术、实践和创…

docker容器化部署及数据持久化

1、加载MySQL 5.7的镜像 docker load -i mysql-5.7.tar.gz 2、执⾏命令启动MySQL容器&#xff1a; sh start-mysql.sh docker run -itd \ --name mysql \ --restart always \ -p 30036:3306 \ -v $PWD/mysql/config-file.cnf:/etc/mysql/conf.d/config-file.cnf \ -v $PWD/m…