数字电路设计——优先级需求处理与显示

数字电路设计——优先级需求处理与显示

连了快1天的线了,人都给连麻了,逻辑不难,就是在仿真时会因为不熟悉仿真软件和元器件的使用而出现很多bug,下面带来我在连线的电路即心路历程。

附无码电路图

1. 设计任务与要求

任务:设计民航客机客舱服务请求应答系统

要求

某型号民航客机共有9个座位,其中头等舱座位1个,经济舱座位8个;

如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d1W7t7pF-1639385837329)(C:\Users\86152\AppData\Roaming\Typora\typora-user-images\image-20211213132436314.png)]

机组客服处设置服务请求显示面板(采用七段码显示),面板上显示当前优先级最高的请求的座位号。头等舱的优先级高于其他舱位;前排舱位优先。各舱内按座位顺序确定优先级,ABCD优先级由高到低。

要求:采用74X148及相应所需电路实现。

仿真软件采用Multisim

2. 设计思路

先看一下题目的给出的思路

题目思路

1.九个输入端设计成开关,闭合为有请求,断开为无请求。

2.座位号不仅有数字还有字母,因此显示时AC使用大写字母表示。

3.座位号优先级顺序由高到低为1A-2A-3A-2B-3B-2C-3C-2D-3D。

4.使用两个74*148编码器,第一个编码器处理头等舱的输入端,第二个译码器处理经济舱的输入端;或者第一个编码器处理行,第二个译码器处理列。再通过译码模块连接七段显示器,把座位号显示在显示屏上。

然后我自己梳理了一下思路

我的思路

开关闭合接地

根据题目要求的输入端为开关,闭合为请求,且使用7X48模块作为编码器,该模块是一个优先编码模块,它的优先编码是针对输入端的优先级达到一个优先输出的作用,可以看看下列它的逻辑测试表(真值表)

输入输出
EI’I7’I6’I5’I4’I3’I2’I1’I0’A2’A1’A0’GS’ E0’
1x x x x x x x x1 1 11 1
01 1 1 1 1 1 1 11 1 11 0
00 x x x x x x x0 0 00 1
01 0 x x x x x x0 0 10 1
01 1 0 x x x x x0 1 00 1
01 1 1 0 x x x x0 1 10 1
0
-----------------------------------------------------------------------------------------------------------------------
1 1 1 1 0 x x x1 0 00 1
01 1 1 1 1 0 x x1 0 10 1
01 1 1 1 1 1 0 x1 1 00 1
01 1 1 1 1 1 1 01 1 10 1

当EI‘为0时,且输入端不全为高电平时,会根据输入端,三个输出端可以组成0~7 共8个二进制数字编码,这里还有一个优先级的设置,比如I7’的优先级最高,所以当它为0时,无论其他是什么都会输出000,所以,我们可以知道0是编码特征量,而不是1。但是我们常规是使用开关闭合为高电平,断开为低电平,如果按照实验思路要求,那开关得到的高电平,我们需要取反,一个与非门,而我们有9个输入,就算不考虑头等舱,也有8个,至少需要8个与非门去处理开始?

但是,我们为什么要把开关闭合视为高电平呢?

题目只是要求闭合为请求,那我只需开关闭合时接地即可。

显示采用七段式显示器连接

看到设计中的要求需要显示带字母的座位号,个人觉得没有哪个必要,1个七段显示器已经足够了,1一个七段显示器可以显示0~9共10个数字,取其中9个作为舱位的座位号即可。(主要是连线连累了)

优先级思路

该设计的关键在于实现优先级需求处理,所以可以采用优先编码器编码,这里经济舱使用8-3优先编码器,头等舱直接输出即可,那么头等舱的优先级和经济舱优先级如何体现呢?

来看下3-8译码器的逻辑表
在这里插入图片描述

不难发现,G1和G2A+G2B决定了能否正常译码,我们可以使用G1接头等舱开关输出,当开关断开时G1为1,满足译码条件。如果闭合,则译码会输出7个1。这时相当于经济舱请求被限制,优先头等舱请求。

一些容易踩到的坑和bug
导线分线

其实简单,选一条基线,然后再空的部分点击和基线连起来即可

显示器连接方式

不能直接连接!!!

译码器8个输出再加上头等舱1个共9个,而显示器有7个接入,有也就是存在显示器一个端口有多个输入的情况,而在不同请求的时候,即同一个接入有高、低两个电平传入时就会出现显示器无法正常显示,报错的原因,因此可以考虑采用与非门来对应显示器端口,我采用了7组14个共与非门来对应显示器的端口。

其实也可以采用7个与门。

显示器的不正常显示

实验中出现了全部断开时出现闪烁,检查后发现是某段电路连接问题,处理后就没事了

3. 电路仿真图

在这里插入图片描述

  • 8
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 中断优先级排队电路设计的基本思路是将中断信号按照优先级排序,高优先级中断优先响应,低优先级中断等待。以下是一个简单的中断优先级排队电路设计: 1. 首先需要一个中断请求信号的输入端口,这个端口将接收来自外部设备的中断请求信号。 2. 然后需要一个中断控制器,它将对这些请求进行识别、分类和排序。中断控制器可以使用优先级编码器来实现,它将根据输入的中断请求信号的优先级,将其编码成一个二进制数。 3. 接下来需要一个中断请求优先级的比较器,它将比较编码后的中断请求信号的优先级,并将最高优先级的中断请求信号输出给处理器。 4. 如果有多个中断请求信号同时出现,那么需要一个中断请求信号的排队电路,它将保证高优先级的中断请求先被处理。排队电路可以使用FIFO(先进先出)缓存器来实现。 5. 最后需要一个中断处理完成的信号输出端口,它将告知外部设备中断已被处理完毕。 ### 回答2: 中断优先级排队电路是一种用于管理系统中的多个中断请求的电路设计。在计算机或其他嵌入式系统中,多个外部设备或事件可能同时发起中断请求。为了有效处理这些中断,并确保高优先级中断能够及时得到响应,中断优先级排队电路应运而生。 中断优先级排队电路通常采用硬件的方式来实现。它包括多个中断请求输入端和一个输出端,用于选择当前应该被执行的中断请求。每个中断请求都有一个对应的优先级值,较高的优先级将先得到执行。 当多个中断请求同时到达时,中断优先级排队电路会根据中断请求的优先级进行排序,然后依次选择最高优先级的中断请求进行处理处理完成后,该中断请求会被从队列中移除,并选择下一个最高优先级的中断请求进行处理。这个过程会一直持续下去,直到所有中断请求都被执行完毕。 中断优先级排队电路通常与中断控制器和处理器等系统组件配合使用。中断控制器负责接收外部中断请求,并将其传递给中断优先级排队电路。中断优先级排队电路根据优先级,选择要处理的中断请求,然后将其传递给处理器执行相应的中断服务程序。 通过中断优先级排队电路,系统能够根据各个中断请求的优先级,合理地调度中断处理的顺序,提高系统的响应速度和效率。它充分发挥了硬件处理能力,使得处理器能够快速响应并处理优先级的中断请求,保证了系统的正常运行。 ### 回答3: 中断优先级排队电路设计是一种用于处理多个中断信号的电路,它能够根据中断信号的优先级进行排队和处理。中断优先级排队电路设计可以分解为以下几个步骤: 首先,需要确定系统中各个中断信号的优先级。常见的优先级分为硬件中断和软件中断两类,硬件中断一般具有固定的优先级,而软件中断的优先级可以通过编程进行设置。 其次,设计一个中断请求线路,用于接收来自各个中断源的中断请求信号。中断请求线路通常通过优先级编码器来实现,优先级编码器能够将多个中断请求信号按照优先级进行编码,输出一个优先级编码信号。 然后,设计一个中断向量表,用于存储各个中断的处理程序入口地址。中断向量表可以使用查找表的方式进行设计,根据中断请求的优先级编码信号来查找相应的处理程序入口地址。 接下来,设计一个中断控制器,用于根据中断请求信号和优先级编码信号来选择相应的中断处理程序。中断控制器可以使用多路选择器来实现,根据优先级编码信号来选择相应的中断向量,然后将中断信号传递给相应的处理程序。 最后,需要设置中断处理程序的优先级和响应时间。根据系统的需求,可以根据中断的严重程度和紧急程度来设置中断处理程序的优先级,以保证系统在处理中断时能够按照一定的顺序和时间要求进行。 总之,中断优先级排队电路设计可以有效地处理多个中断信号,保证系统按照一定的优先级和时间要求进行中断处理,提高系统的响应能力和实时性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值