五路呼叫器课程设计.doc_第1页
五路呼叫器课程设计.doc_第2页
五路呼叫器课程设计.doc_第3页
五路呼叫器课程设计.doc_第4页
五路呼叫器课程设计.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录1 设计任务与要求12 设计原理12.1 总的设计思路12.2 输入信号的处理22.3 多输入源判断电路32.4 计数扫描电路42.5 数字显示电路52.6 优先序电路62.7 分频电路63 设计步骤83.1 模拟仿真83.1.1 熟悉QuartusII的使用83.1.2 电路原理图113.2 仿真结果分析123.3 下载133.4 实验结果验证134总结与心得体会141 设计任务与要求设计一个五路呼叫器,具体设计要求如下: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(输入端功能有附图)。PRNCLRNCLKJKQQN0110100100不 稳 定1100Q0Q01110101101011111触 发111Q0Q074112是双下降沿JK触发器,兼有异步预置和清除的功能。时钟输入高电平时语序J、K以及数据输入。 在本次设计中,将PRN,J,K均置高电平,使74112处于触发态。而保留CLRN连接总开关ON/OFF作为总体清零(复位)的输入端。关于输入信号的处理的总体电路如下:2.3 多输入源判断电路本次设计中要求当有多个呼叫同时发生时,用指示灯(红色LED)指明多个呼叫源在同时呼叫。所以,需要设计一个多输入源判断电路。由于共有五个输入源,为简化逻辑表达式,将逻辑要求表述为:当没有或只有一个输入源为高电平时,输出(CO)为低电平。真值表如下:In_1In_2In_3In_4In_5CO000000000010000100001000010000100000其余情况1逻辑表达式:CO=ABCDE+ABCDE+ABCDE+ABCDE+ABCDE+ABCDE多输入源逻辑组合电路如下:2.4 计数扫描电路将4位十进制同步计数器(异步清零)74161结成五进制计数电路,同时使用3线-8线译码器74138,将二进制数转换为五个不同的输出信号。利用计数器对时钟脉冲信号进行计数,然后译码器进行译码,产生每周期五个扫描信号,分别对五个信号输入源进行循环扫描。当多输入源时,对呼叫源进行扫描;当只有一个输入源时,对呼叫源进行长时间无闪烁显示,。这就要求设计一个选通电路,对多呼叫源时扫描,单呼叫源不扫描。同时利用了多输入源判断电路的输出CO值。如图中所示,左边的长条框中的电路是多呼叫源时选通,进行扫描,单呼叫源时则全部置零输出;中间的长条框中的电路是单呼叫源时选通,长时间显示,多呼叫时则全部置零输出。右边的长条框中,采用或非门(结合74148为低电平输入有效),使显示电路无论呼叫源的多少,都能够对呼叫源进行显示。2.5 数字显示电路在这部分电路中,采用741488线-3线编码器进行编码。由于在扫描电路中,计数器是从0开始计数的,但是数码管显示要求以15的形式显示,所以在编码电路中,五条线从1端接起,到5端,使编码器编出001101的二进制代码,通过7446进行显示器译码,最终输出到数码管的af7个管脚。2.6 优先序电路在前面的分块电路中,并没有实现优先序扫描,即当有新呼叫源插入时,系统随即按优先序从呼叫源1依次往呼叫源5扫描。本次设计在五路呼叫源输入端接入一个5输入端并门(考虑到DE2板上的触发脉冲键按下时是低电平),当有呼叫源插入时或退出时,均经过并门产生一个低电平。由于74161带有异步清零的功能,将并门的输出接到清零端CLRN,计数器从0重新开始计数(即扫描电路从0开始扫描),巧妙地实现了优先序扫描。2.7 分频电路DE2实验板上的时钟频率为50MHz,如果直接采用该信号进行计数扫描,人眼无法辨别所显示的数字,所以将必须对50MHz时钟信号进行分频,是频率达到人眼能够分辨的数量级,同时数字显示的间隔时间也合适,本次设计最终采用的时钟信号为3Hz左右。为实现分频,本次设计中采用了lpm_counter模块,将其设置成224进制,同时带有进位输出。5输入端并门 lpm_counter分频器lpm_counter自动产生的VHDL语言代码如下:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY lpm;USE lpm.all;ENTITY lpm_counter1 ISPORT(clock: IN STD_LOGIC ;cout: OUT STD_LOGIC ;q: OUT STD_LOGIC_VECTOR (23 DOWNTO 0);END lpm_counter1;ARCHITECTURE SYN OF lpm_counter1 ISSIGNAL sub_wire0: STD_LOGIC ;SIGNAL sub_wire1: STD_LOGIC_VECTOR (23 DOWNTO 0);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 (23 DOWNTO 0);END COMPONENT;BEGINcout = sub_wire0;q 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;3 设计步骤3.1 模拟仿真使用可编程逻辑器件和QUARTUS II软件,用原理图输入方法,进行编译,仿真。3.1.1 熟悉QuartusII的使用STEP 1(启动QUARTUS II 7.2)1 在文件菜单下,选择新建工程,向导对话框出现,按“下一步”。2 设定相关文件路径、文件名等。3 选择“下一步”,进入到第二页。4 由于所有的文件共享同一个名字,此时不需要添加其他的文件,选择“下一步”。5 设定器件,器件系列选用Cyclone II,封装选用FGBA,引脚数选672,速度级别选用“6”,在器件列表中选择EP2C35F672C6,选择“下一步”。6 选择“下一步”,然后在出现概述的页面,就选择“完成”。工程就建好了。STEP 2 设计输入1 建立文件FileNew,选择Block Diagram/Schematic File.2 保存文件FileSave as,同时选中Add file to Current project.3 用图形编辑器输入设计的四个步骤:导入逻辑门电路符号、导入输入/输出符号、用线连接节点、编译电路。4 编译电路,使用processingstart compilation菜单与运行编译器。若编译成功通过,则出现compilation report窗口;若编译过程出现错误,则编译自动终止,并在消息框中显示错误信息。STEP 3 分配引脚在DE2平台上,FPGA与外部的连线是确定的,要让电路能在DE2上运行,必须为设计分配引脚。方法:在.qsf文件中导入引脚设置,用菜单命令AssignmentImport Assignment.为方便使用,节点名最好改成“DE2_pin_assignments.csv”文件中定义的方式。STEP 4 编程下载1 菜单命令ToolsProgrammer打开编程窗口2 若没有显示硬件,则单击Hardware Setup,打开硬件设置窗口。3 双击USB Blaster,然后单击close,完成硬件设置。4 添加下载文件,找到.sof,选中program/configure.5单击start 按钮,开始编程,编程结束后,可按设计方案运行。3.1.2 电路原理图按照以上的设计原理,应用QUARTUS II软件用原理图输入法得到五路呼叫器的设计电路图如下:电路原理图左半部分电路原理图右半部分3.2 仿真结果分析对编译完成之后的设计进行仿真,先设置具有一定实际意义的输入。时序仿真的实际输出结果:3.3 下载模拟仿真结果正确后,结合实验板设置各输入、输出端;指定下载芯片,重新编译。编译结果正确后下载到相应芯片中。该设计相关输入输出端对应到DE2实验板上的引脚如下表:输入端口引脚输出端口引脚clock_inPIN_N2OAPIN_AF10in_1PIN_G26OBPIN_AB12in_2PIN_N23OCPIN_AC12in_3PIN_P23ODPIN_AD11in_4PIN_W26OEPIN_AE11in_5由于DE2上没有五个触发脉冲键,此呼叫源不接实际引脚OFPIN_V14OGPIN_V13RedPIN_AE23ON/OFFPIN_N25GreenPIN_Y183.4 实验结果验证(1)总开关ON/OFF(SW0)向上拨时,整个设计电路处于工作状态,绿灯亮;(2)呼叫源1(KEY0)按下时,显示器(HEX0)长时间显示“1”;(3)呼叫源2(KEY1)按下时,红灯亮,显示器闪烁显示“1”和“2”;(4)呼叫源3(KEY2)按下时,红灯亮,显示器闪烁显示“1”,“2”和“3”;(5)呼叫源1和呼叫源3都再次按下时,红灯灭,显示器长时间显示“2”;(6)总开关ON/OFF向下拨时,整个设计电路的输入端全部置零,绿灯灭;4总结与心得体会在本次课程设计中,经过我大概一周的努力工作和老师的悉心指导,我终于顺利完成了五路呼叫器的设计。经过了大二第二学期对数字电子技术基础这门课程的学习,初步掌握了一些数字电子技术的基础知识。了解了编码器,译码器,数据选择器,计数器,锁存器,触发器等一些经典的集成电路。原以为已经学有所得,但是拿到课程设计的题目时,头脑中还是一时间没有想到一些实际的设计思路。原来将所学应用到实践中还是有很大难度的。还好在上一学期的数电实验中,我已经基本掌握了QUARTUS II软件的基本使用方法,并学会了利用它进行逻辑设计。所以在刚开始,我立即将精力转移到逻辑电路的功能设计上。对照任务的功能要求,我首先将其总体功能分割成几个简单的,易于实现的逻辑功能,最后再将各部分电路汇合,以达到总体要求。在对电路设计的过程中,我学到了很多书本上学不到的知识。譬如,在书本上我们只学到了一些逻辑器件输入输出的逻辑关系,但是在实训中我们懂得了一个逻辑器件只要经过一些灵活的设计便可以实现各种各样的功能,远远不止书本上所介绍的内容。这还使我明白到,对于一个问题可以从很多角度去思考,使得我在以后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论