测控电路设计专业:测控技术与仪器班级:11050341姓名:学号:五路呼叫器1.设计思路本次课程设计是基于DE2开发板的设计,因此本电路在总体设计的时候考虑了如下几个方面:(1)呼叫源的输入:设计要求用五个输入键代替呼叫源。
对于DE2板上产生触发脉冲的键,它保持原输入状态只是一瞬间。
但在优先级判别过程中必须不断调用原输入状态,所以必须将输入量保存起来。
(2)呼叫源的过程处理:在本设计要求中,当有多个呼叫同时发生时,用指示灯指明多个呼叫源在同时呼叫,并按优先级顺序由数码管显示多个呼叫源号码。
1号呼叫源优先级最高,按顺序5号呼叫源优先级最低。
这次课程设计中我使用了计数器扫描的方式,从一号呼叫源(优先级最高)开始,对各个已经保存的输入量依次进行扫描。
当遇到一个高电平,即有呼叫源呼叫时,便对相应的呼叫源进行编码、译码,送到输出端口显示其相应的呼叫号;延时一定时间后,再扫描下一个呼叫源。
如果某一呼叫源没有呼叫,则跳过该呼叫源,对下一个呼叫源进行扫描。
因此,在呼叫源间的显示不会间隔时间太久,而可以有快速的对应显示。
这样由一号呼叫源到五号呼叫源不断地进行循环扫描,其扫描的个数由计数器进行控制。
即对五个呼叫源都扫描一次后,对计数器清零,进行下一次扫描。
如此不断的循环和显示呼叫源号。
当任何一个呼叫源有输入时,扫描器再次从第一个呼叫源开始扫描,做到优先序扫描。
(3)输出处理:按任务要求和根据DE2板的硬件设置,必须将呼叫源信号编制成对应的BCD码输出。
输出的BCD码经DE2板的硬件设置,实现译码和显示。
2.设计方案2.1设计原理框图图1设计原理图2.2主要模块介绍计数扫描:利用74161进行计数扫描,保证呼叫可以插入。
信号保持:利用74112来保存开关量,把各路输入的信号一直保存到下一个呼叫信号到来为止,而且可以随时插入不同优先级别的呼叫信号。
指示灯显示:当有多个呼叫同时发生时,用指示灯指明多个呼叫源在同时呼叫。
利用简单的门电路完成此功能。
选通及优先编码:利用门电路对计数和输入信号进行选通,再通过74148对选通后的信号进行编码,完成按优先级顺序由数码管显示多个呼叫源号码的功能。
3.单元电路设计3.1输入信号的处理由于DE2实验板上的触发脉冲按键产生的触发信号只是一瞬间,而在优先级判别和多输入判别的过程中需要多次调用源输入状态,所以需要一个具有锁存功能的的电路将输入信号保存起来。
在设计初始,考虑使用SR 锁存器,但是考虑到改电路系统对输入信号要具有单独选通译码计数扫描时钟脉冲信号保持呼叫输入优先编码指示灯显示多个呼叫译码显示呼叫号撤销的功能,所以改用了JK 触发器,使用IC 芯片74112,输入端功能见表1。
74112是双下降沿JK 触发器,兼有异步预置和清除的功能。
时钟输入高电平时语序J、K 以及数据输入。
表174112输入输出特性表图274112芯片管脚图在本次设计中,将PRN,J,K 均置高电平,使74112处于触发态。
而保留CLRN 连接总开关ON/OFF 作为总体清零(复位)的输入端。
关于输入信号的处理的总体电路如下:图3输入信号处理电路3.2多输入源判断电路本次设计中要求当有多个呼叫同时发生时,用指示灯(红色LED)指明多个呼叫源在同时呼叫。
所以,需要设计一个多输入源判断电路。
由于共有五个输入源,为简化逻辑表达式,将逻辑要求表述为:当没有或只有一个输入源为高电平时,输出(CO)为低电平。
真值表如下:表2输入判断电路真值表达式In_1In_2In_3In_4In_5CO000000000010000100001000010000100000其余情况1逻辑表达式:CO’=ABCDE+A’BCDE+AB’CDE+ABC’DE+ABCD’E+ABCDE’多输入源逻辑组合电路如下:图4多输入源判断电路3.3计数扫描电路将4位十进制同步计数器74161结成五进制计数电路(异步清零),同时使用3线-8线译码器74138,将二进制数转换为五个不同的输出信号。
利用计数器对时钟脉冲信号进行计数,然后译码器进行译码,产生每周期五个扫描信号,分别对五个信号输入源进行循环扫描。
图5计数扫描电路3.4选通电路设计要求当多个输入源同时输入时,对呼叫源进行扫描,当只有一个输入源时,则对呼叫源进行长时间无闪烁显示。
这就要求设计一个选通电路,在多呼叫源时扫描,单呼叫源时不扫描。
同时利用多输入源判断电路的输出CO值。
图6选通电路如图6所示,左边部分的与门所组成的电路功能是多呼叫源时选通,进行扫描,单呼叫源时则全部置零输出;中间部分的与门所组成的电路是单呼叫源时选通,长时间显示,多呼叫时则全部置零输出。
右边部分的电路中,采用或非门(结合74148为低电平输入有效),使显示电路无论呼叫源的多少,都能够对呼叫源进行显示。
3.5数字显示电路在这部分电路中,采用74148这一常见的8线-3线编码器进行编码。
由于在扫描电路中,计数器是从0开始计数的,但是数码管显示要求以1~5的形式显示,所以在编码电路中,五条线从1端接起,到5端,使编码器编出001~101的二进制代码,通过7446进行显示器译码,最终输出到数码管的a~f7个管脚。
图7数字显示电路3.6优先序电路在前面的分块电路中,并没有实现优先序扫描,即当有新呼叫源插入时,系统随即按优先序从呼叫源1依次往呼叫源5扫描。
本次设计在五路呼叫源输入端接入一个5输入端并门(考虑到DE2板上的触发脉冲键按下时是低电平),当有呼叫源插入时或退出时,均经过并门产生一个低电平。
由于74161带有异步清零的功能,将并门的输出接到清零端CLRN,计数器从0重新开始计数(即扫描电路从0开始扫描),从而巧妙地实现了优先序扫描。
图8优先序电路3.7分频电路DE2实验板上的时钟频率为50MHz,如果直接采用该信号进行计数扫描,人眼无法辨别所显示的数字,所以必须对50MHz时钟信号进行分频,使频率达到人眼能够分辨的数量级,同时数字显示的间隔时间也合适,本次设计最终采用的时钟信号为3Hz左右。
为实现分频,本次设计中采用了lpm_counter模块,将其设置成2^24进制,同时带有进位输出。
图9分频电路分频器lpm_counter自动产生的VHDL语言代码如下:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY lpm;USE lpm.all;ENTITY lpm_counter1ISPORT(clock:IN STD_LOGIC;cout:OUT STD_LOGIC;q:OUT STD_LOGIC_VECTOR(23DOWNTO0));END lpm_counter1;ARCHITECTURE SYN OF lpm_counter1ISSIGNAL sub_wire0:STD_LOGIC;SIGNAL sub_wire1:STD_LOGIC_VECTOR(23DOWNTO0);COMPONENT lpm_counterGENERIC(lpm_direction:STRING;lpm_port_updown:STRING;lpm_type:STRING;lpm_width:NATURAL);PORT(clock:IN STD_LOGIC;cout:OUT STD_LOGIC;q:OUT STD_LOGIC_VECTOR(23DOWNTO0) );END COMPONENT;BEGINcout<=sub_wire0;q<=sub_wire1(23DOWNTO0);lpm_counter_component:lpm_counterGENERIC MAP(lpm_direction=>"UP",lpm_port_updown=>"PORT_UNUSED",lpm_type=>"LPM_COUNTER",lpm_width=>24)PORT MAP(clock=>clock,cout=>sub_wire0,q=>sub_wire1);END SYN;4模拟仿真使用可编程逻辑器件和QUARTUS II软件,用原理图输入方法,进行编译,仿真。
4.1电路原理图见附录4.2仿真结果分析对编译完成之后的设计进行仿真,先设置具有一定实际意义的输入。
图10仿真输入时序仿真的实际输出结果:图11输出结果5.小结在本次课程设计中,经过十余天的努力工作和老师的悉心指导,我终于顺利完成了五路呼叫器的设计。
此次课程设计用到了许多大三上学期《数字电子技术基础》这门课程的知识,巩固和深入了解了一些数字电子技术的基础知识。
理解了编码器,译码器,数据选择器,计数器,锁存器,触发器等一些经典的集成电路。
通过自己的上手实践我明白了知识的理解和运用还是有很大差距的。
在上一学期的CPLD/FPGA实验中,我已经初步掌握了QUARTUS II软件的基本使用方法,并学会了利用它进行逻辑设计,这次的课程设计给了我一个再一次熟悉软件的机会,为下学期的毕业设计打好基础。
在对电路设计的过程中,我学到了很多书本上学不到的知识。
譬如,在书本上我们只学到了一些逻辑器件输入输出的逻辑关系,但是在实训中我们懂得了一个逻辑器件只要经过一些灵活的设计便可以实现各种各样的功能,远远不止书本上所介绍的内容。
这还使我明白到,对于一个问题可以从很多角度去思考,使得我在以后处理问题时学会发散思路,从多个方面寻找解决问题的方法。
当然,巧妙的设计是建立在对基础知识的扎实理解上的。
这次为期两周的实训中我受益匪浅,深刻体会到原来日常生活中一些看似很复杂的电路功能其实只要通过对逻辑器件进行一些灵活的设计便可以实现。
这次实训使我充分领略到将所学应用到实际中的无穷乐趣,极大地激发了我对这门课程的学习兴趣,在今后的学习中我除了认真掌握书本的理论知识,还会更加注重实践的重要性。
我认为,作为一个测控技术与仪器专业的学生,应该具有扎实的理论知识和经得起考验的独立动手能力,这样才能在以后的工作中得心应手。
参考文献[1]韩焱等.数字电子技术基础[M],电子工业出版社,2011:20-50.[2]张鹏南.基于quartusⅡ的VHDL数字系统设计入门与应用实例[M],电子工业出版社,2012:24-36.[3]王振红.FPGA电子系统设计项目实战[M],清华大学出版社,2014:03-30[4]杨晓慧.FPGA系统设计与实例[M],人民邮电出版社,2010:10-3110。