五路呼叫器课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

1.设计任务与要求 (1)

2.设计原理 (1)

2.1 总的设计思路 (1)

2.2 输入信号的处理 (2)

2.3 多输入源判断电路 (3)

2.4 计数扫描电路 (4)

2.5 数字显示电路 (5)

2.6 优先序电路 (6)

2.7 分频电路 (6)

3.设计步骤 (8)

3.1 模拟仿真 (8)

3.1.1 熟悉QuartusII的使用 (8)

3.1.2 电路原理图 (11)

3.2 仿真结果分析 (12)

3.3 下载 (12)

3.4 实验结果验证 (13)

4.总结与心得体会 (13)

1.设计任务与要求

设计一个五路呼叫器,具体设计要求如下:

1.五个按键模拟五个呼叫源

2.当有一个按键按下时,由数码管显示呼叫源号码

3.当有多个呼叫同时发生时,用指示灯(建议选用一红色LED)指明多个呼叫源在同时呼叫,并按优先级顺序由数码管显示多个呼叫源号码。1号呼叫源优先级最高,按顺序5号呼叫源优先级最低。

2.设计原理

2.1 总的设计思路

本电路在总体设计的时候考虑了如下几个方面:

(1)呼叫源的输入:

设计要求用五个输入键代替呼叫源。对于DE2板上产生触发脉冲的键,它保持原输入状态只是一瞬间。但在优先级判别过程中必须不断调用原输入状态,所以必须将输入量保存起来。使用JK触发器,可以做到在一个触发键上进行“呼叫”和“解除呼叫”两个操作,而且可以随时插入不同优先级别的呼叫信号。

(2)呼叫源的过程处理:

在本设计要求中,当同时有多个呼叫源呼叫时,必须按优先顺序,先显示优先级高的呼叫源,后显示优先级低的呼叫源。这次课程设计中我使用了计数器扫描的方式,从一号呼叫源(优先级最高) 开始,对各个已经保存的输入量依次进行扫描。当遇到一个高电平,即有呼叫源呼叫时,便对相应的呼叫源进行相应的编码、译码,送到输出端口显示其相应的呼叫号;延时一定时间后,再扫描下一个呼叫源。如果没有呼叫,跳过该呼叫源,再对下一个呼叫源进行扫描。所以,在所有呼叫源间的显示不会间隔时间太久,而可以有快速的对应显示。这样由一号呼叫源到五号呼叫源不断地进行循环扫描,其扫描的个数由计数器进行控制。即对五个呼叫源都扫描一次后,对计数器清零,进行下一次扫描。如此不断的循环和显示呼叫源号。当任何一个呼叫源有输入时,扫描器再次从第一个呼叫源开始扫描,做到优先序扫描。

(3)输出处理:

按任务要求和根据DE2板的硬件设置,必须将呼叫源信号编制成对应的BCD 码输出。输出的BCD码经DE2板的硬件设置,实现译码和显示。

2.2 输入信号的处理

由于DE2实验板上的触发脉冲按键产生的触发信号只是一瞬间,而在优先级判别和多输入判别的过程中需要多次调用源输入状态,所以需要一个具有锁存功能的的电路将输入信号保存起来。在设计初始,考虑使用SR锁存器,但是考虑到改电路系统对输入信号要具有单独撤销的功能,所以改用了JK触发器,使用IC芯片74112(输入端功能有附图)。

74112是双下降沿JK触发器,兼有异步预置和清除的功能。时钟输入高电平时语序J、K以及数据输入。

在本次设计中,将PRN,J,K均置高电平,使74112处于触发态。而保留CLRN连接总开关ON/OFF作为总体清零(复位)的输入端。关于输入信号的处

理的总体电路如下:

2.3 多输入源判断电路

本次设计中要求当有多个呼叫同时发生时,用指示灯(红色LED)指明多个呼叫源在同时呼叫。所以,需要设计一个多输入源判断电路。由于共有五个输入源,为简化逻辑表达式,将逻辑要求表述为:当没有或只有一个输入源为高电平时,输出(CO)为低电平。真值表如下:

逻辑表达式:CO=ABCDE+A’BCDE+AB’CDE+ABC’DE+ABCD’E+ABCDE’

多输入源逻辑组合电路如下:

2.4 计数扫描电路

将4位十进制同步计数器(异步清零)74161结成五进制计数电路,同时使用3线-8线译码器74138,将二进制数转换为五个不同的输出信号。利用计数器对时钟脉冲信号进行计数,然后译码器进行译码,产生每周期五个扫描信号,分别对五个信号输入源进行循环扫描。

当多输入源时,对呼叫源进行扫描;当只有一个输入源时,对呼叫源进行长时间无闪烁显示,。这就要求设计一个选通电路,对多呼叫源时扫描,单呼叫源不扫描。同时利用了多输入源判断电路的输出CO值。

如图中所示,左边的长条框中的电路是多呼叫源时选通,进行扫描,单呼叫源时则全部置零输出;中间的长条框中的电路是单呼叫源时选通,长时间显示,多呼叫时则全部置零输出。右边的长条框中,采用或非门(结合74148为低电平输入有效),使显示电路无论呼叫源的多少,都能够对呼叫源进行显示。

2.5 数字显示电路

在这部分电路中,采用741488线-3线编码器进行编码。由于在扫描电路中,计数器是从0开始计数的,但是数码管显示要求以1~5的形式显示,所以在编码电路中,五条线从1端接起,到5端,使编码器编出001~101的二进制代码,通过7446进行显示器译码,最终输出到数码管的a~f7个管脚。

2.6 优先序电路

在前面的分块电路中,并没有实现优先序扫描,即当有新呼叫源插入时,系统随即按优先序从呼叫源1依次往呼叫源5扫描。本次设计在五路呼叫源输入端接入一个5输入端并门(考虑到DE2板上的触发脉冲键按下时是低电平),当有呼叫源插入时或退出时,均经过并门产生一个低电平。由于74161带有异步清零的功能,将并门的输出接到清零端CLRN,计数器从0重新开始计数(即扫描电路从0开始扫描),巧妙地实现了优先序扫描。

2.7 分频电路

DE2实验板上的时钟频率为50MHz,如果直接采用该信号进行计数扫描,人眼无法辨别所显示的数字,所以将必须对50MHz时钟信号进行分频,是频率达到人眼能够分辨的数量级,同时数字显示的间隔时间也合适,本次设计最终采用的时钟信号为3Hz左右。为实现分频,本次设计中采用了lpm_counter模块,将其设置成224进制,同时带有进位输出。

5输入端并门

分频器lpm_counter自动产生的VHDL语言代码如下:

LIBRARY ieee;

USE ieee.std_logic_1164.all;

LIBRARY lpm;

USE lpm.all;

ENTITY lpm_counter1 IS

PORT

(

clock : IN STD_LOGIC ;

相关文档
最新文档