欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于VHDL的自动打铃设计毕业设计.doc

    • 资源ID:3939491       资源大小:1.09MB        全文页数:27页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于VHDL的自动打铃设计毕业设计.doc

    基于VHDL的自动打铃设计目录摘要(1)Abstract(2)绪论(3)第1章 基本概念简介(4)1.1 VHDL简介(4)1.2 FPGA/CPLD简介(4)1.3 Quartus II的简介(5)第2章 设计整体概述(6)2.1 设计方案(6)2.2 设计原理图(6)2.3 设计流程图(7)第3章 各模块设计分析(8)3.1 计数器模块(8)3.1.1 秒和分计数器模块(8)3.1.2 时计数器模块(10)3.2 计时校时模块(12)3.3 打铃功能模块(13)3.4 顶层设计及原理图(16)第4章 引脚设定与下载验证(19)4.1 引脚设定(19)4.2 下载验证(21)总结(22)参考文献(23)致谢(24)附录 芯片引脚对照表(25)摘要随着EDA 技术的发展和应用领域的扩大与深入,EDA 技术在电子信息、通信、自动控制及计算机应用领域的重要性日益突出。EDA 技术就是以计算机为工具,设计者在EDA软件平台上,对以硬件描述语言HDL(Hardware Description language)为系统逻辑描述手段完成的设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。本设计是基于VHDL语言的自动打铃系统。在论文中,介绍了基于VHDL语言自动打铃系统的思路,整个系统需包含秒计时模块、分计时模块、时计时模块、校时模块、打铃模块。在Quartus II 开发环境中编译和仿真所设计的程序,并逐一调试验证程序的运行状况。仿真和验证的结果表明,该设计方法切实可行,该打铃系统可以实现调时定时打铃功能,具有一定的实际应用性。 关键字:EDA、VHDL、打铃、Quartus IIAbstract With the development of EDA technology and the expansion of application, the function of EDA technology in the field of electronic information communication, automatic control and computer application, is becoming more and more important. EDA technology use computer as a tool. However, designers only need to use the hardware description language HDL to describe the system on the EDA software platform. Then computer automatically finishes partition, synthesis, optimization, simulation and other function until the electronic circuit system achieves the stated performance. This design is based on the VHDL hardware description language to project a system. I introduce ideas of the bell system in this design. All of the design includes second timer module, minute timer module, hour timer module, module to adjust time and module to ring the bell according to the require of design. I complete the description of different modules with VHDL language in the Quartus II development environment, and debug one by one to check the operational status of the verification process. Simulation results show that the design method is feasible, and the bell system can be put into practical applications. Keywords: EDA, VHDL, rang the bell, the Quartus II绪论随着EDA 技术的发展和应用领域的扩大与深入,EDA 技术在电子信息、通信、自动控制及计算机应用领域的重要性日益突出。本次毕业设计是基于VHDL的自动打铃系统,而自动打铃就是像现在的学校一样在规定的时间段铃声响起,用以作为每节课的作休时间。而自动打铃系统可以像现在的闹钟功能类似,起到提醒的作用,从早上8点开始计时,每隔一个小时铃声响一次,每次铃声持续响30秒,一直到下午5点都是每隔一个小时响一次铃声,下午5点以后铃声即使一个小时计时到了铃声也不再响了。为了高效率的验证设计的结果另外还需要增加一个校时模块,可以用两个指示灯的亮、灭的状态来区分两个按键的工作状态。增加的两个按键,一个是调分按键,一个是调时按键。开始时按下按键K1时,此时指示灯LED1变亮,指示灯LED提示系统正处于调分的状态,想调至几分时直接按K2按键下N就是想要的N分。再次按K1键一下后,指示灯LED2处于常亮状态,即系统处于调时状态,想要7点即按K2键7下即可。调完时和分的状态后再按K1键一下系统才会处于正常的计时状态,系统处于正常计时时LED1、LED2全都不亮。在整个设计中,首先先做一个顶层模块,以top命名,然后再将各个模块在顶层模块中做好后再生成各模块的元器件,最后在top模块中将各个元器件按功能要求连接好后连进行编译看,是能否通过。通过编译后再按照附录表查询对各个引脚进行设定,引脚设定完后再对顶层文件进行编译,通过编译后再进行波形仿真,如果时序仿真与功能仿真的波形都正确后再到试验箱上下载验证,验证铃声是否在规定时间内响起。第1章 基本概念简介1.1 VHDL简介VHDL是Very High Speed Integrated Circuit Hardware Description Language的缩写,意思是超高速集成电路硬件描述语言。对于复杂的数字系统的设计,它有独特的作用。它的硬件描述能力强,能轻易的描述出硬件的结构和功能。这种语言的应用至少意味着两种重大的改变:电路的设计竟然可以通过文字描述的方式完成;电子电路可以当作文件一样来存储。随着现代技术的发展,这种语言的效益与作用日益明显,每年均能够以超过30%的速度快速成长。VHDL是美国电气和电子工程师协会制定的标准硬件描述语言(IEEE标准1076),它可用于数字电路与系统的描述、仿真和自动设计。另外VHDL作为IEEE标准的硬件描述语言,经过十几年的发展、应用和完善,以其强大的系统描述能力,规范的程序设计结构,灵活的语言表达风格和多层次的仿真测试手段,受到业界的普遍认同和推广,成为现代EDA领域的首选硬件设计语言,而且各大EDA公司推出的EDA工具软件全部支持VHDL。并且随着EDA技术和VHDL的广泛应用,各高等院校也纷纷开设了VHDL电路设计课程,且要求某些专业的本科生、研究生必须掌握用VHDL进行电路系统设计的方法。VHDL已经成为高等教育中电类专业知识结构的重要组成部分。学习者可以用EDA工具软件编辑VHDL文件,使用仿真工具仿真所设计的电路系统,并学会使用综合语句以及下载工具,最终达到能够独立设计硬件电路系统的目的。1.2 FPGA/CPLD简介FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点包括:首先它采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。其次,FPGA可做其它全定制或半定制ASIC电路的中试样片,FPGA内部有丰富的触发器和IO引脚,而且FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。最重要的是FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。随着电子设计自动化(EDA)技术的发展,利用计算机辅助设计和用高密度可编程逻辑器件实现数字系统已经成为发展趋势。本次毕业设计就利用VHDL 语言的强大的电路描述和建模能力设计基于FPGA的电子时钟,可以提高利用计算机辅助设计和用高密度可编程逻辑器件实现数字系统的能力。1.3 Quartus II的简介Quartus II 是Altera公司继Max+plus II之后开发的一种针对其公司生产的系列CPLD/PGFA器件的综合性开发软件,它的版本不断升级,从4.0版到10.0版, Quartus II 的优软件界面友好,使用便捷,功能强大,是一个完全集成化的可编程逻辑设计环境,是先进的EDA工具软件。该软件具有开放性、与结构无关、多平台、完全集成化、丰富的设计库、模块化工具等特点,支持原理图、VHDL、VerilogHDL以及AHDL( Altera Hardware Description Language)等多种设计输入形式。内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,还提供了完善的用户图形界面设计方式,具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II支持Altera公司的MAX 3000A系列、MAX 7000系列、MAX 9000系列、ACEX 1K系列、APEX 20K系列、APEX II系列、FLEX 6000系列、FLEX 10K系列,支持MAX7000/MAX3000等乘积项器件,支持MAX II CPLD系列、Cyclone系列、Cyclone II、Stratix II系列、Stratix GX系列等。还支持IP核,包含了LPM/MegaFunction宏功能模块库,用户可以充分利用成熟的模块,简化了设计的复杂性,加快了设计速度。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统。它还支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 此外Quartus II对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。 Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台,该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添 了FastFit编译选项,推进了网络的编辑功能,而且提高了调试能力。第2章 设计整体概述 2.1 设计方案自动打铃是一种现代提醒工具,有着广泛的应用。例如学校的上课铃声,每天在既定的时间响铃,就是是自动打铃系统的具体应用。打铃系统设置从早上的8点开始计时打铃,每隔一个小时铃声持续响30秒,这样一直持续到下午的17点。17点以后再出现的打铃间隔时间,铃声也不会再响起,直到第二天的早晨重新开始从8点正常计时响铃。利用IF语句控制打铃的时间,在规定的时间内到打设既定的打铃间隔时间时给出一个30秒的高电平脉冲,让铃声连续响起。此外还要增加一个校时模块,因为时钟都会存在计时误差,所以增加一个校时模块也是为了调整准确的时间,功能验证时也可以调至铃声响起的前一分钟,检测打铃功能是否正确。其具体实现如下:(1) 每隔一个小时打铃一次,但是不能让铃声一直响,给一个控制打铃时间的功能,让打铃响起30秒后停止。即到打铃时间是会给出一个30秒的高电平脉冲。(2) 因为自动打铃系统不是24小时都在计时打铃,在晚上的时候会停止打铃功能。即设定打铃系统只在早上8点至下午17点的时间段内在规定的时间内响铃。其他时间自动打铃系统处于休眠状态。(3) 增加一个自动校时模块,可以进行校时,还可以使打铃模块尽快到铃声响起的前一分钟。(4) 显示模块是让时钟信号在实验箱上的八个数码管上显示,将打铃响起的时间显示在数码管上,调分时对应的LED1指示灯亮,按K2键可以在数码管上看到分在增加。同样调时时对应的LED2指示灯亮,按K2键可以让时增加。让计时模块重新回到正常计时,只要两个按键的指示灯不亮状态就可以正常计时,否则指示灯亮计数器就不能正常计时,即秒到59时不会网分上进位。(5) 整个时钟系统中,秒、分是60进制计数器,由二进制数7位表示。而时是24进制计数器,仅需要5位二进制码就可以表示。2.2 设计原理图在整个系统设计中,应用到的模块有秒计时模块、分计时模块、时计时模块、校时模块和显示器模块。系统框图如图2.1所示: Clk 显示打铃模块Sec6.0Min6.0Hour6.0CLK Sec模块 CLKClk校时模块 minFen Shi hour Min模块 Hour模块 K1 K2图2.1 系统框图2.3 设计流程图时计时秒计时分计时开始 显示打铃模块K1、K2 图2.2 自动打铃的设计流程图第3章 各模块设计分析3.1 计数器模块计数器模块包括秒计数器模块、分计数模块、时计数模块以及功能按键的设计。给定固定频率的时钟信号,输入计数60秒的秒计数器模块电路,等待计数到60秒的瞬间,进位至60分的分计数器模块电路加1后,秒计数器电路同时清为零重新计时。分计数器模块电路与秒计数器模块电路功能类似,当分计时模块计时到60分的瞬间时计时模块电路加1,分计时模块清为零重新进行计时。时计时模块与秒、分计时模块类似,当来自分计时模块的进位达到24瞬间,时计数器模块清为零,再从零进行计时。这样秒、分、时计时模块依次进行计时完成24进制的计时功能。3.1.1 秒和分计数器模块秒计时模块和分计数器模块都为60进制的计数器,其代码为:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY second ISPORT(clk:IN STD_LOGIC;q1,q2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);c:OUT STD_LOGIC);END ENTITY second;ARCHITECTURE art OF second ISSIGNAL q11,q22:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(clk)BEGINIF clk'EVENT AND clk='1' THEN q11<=q11+'1'IF q11=9 AND q22/=5 THEN q11<="0000" q22<=q22+'1'END IF;IF q22=5 AND q11=9 THEN q22<="0000" q11<="0000" c<='1'ELSE c<='0'END IF;END IF;END PROCESS;q1<=q11;q2<=q22;END ARCHITECTURE art;秒和分计时模块编译完成后生成的秒的元器件为图3.1、3.2所示 图3.1 秒模块的元器件 图3.2 分计时模块的元器件给定输入信号进行波形仿真得到秒、分计时模块的波形仿真如图3.3图3.3 秒、分计数器模块的输出仿真波形模块说明:由仿真波形图可以看出,当秒或分计时到59时,给C一个高电平脉冲,即分或时计时模块加1,秒或分计时模块清零后开始重新计时。3.1.2 时计数器模块时计数器模块为24进制的计数器,其代码为:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY hour ISPORT(clk:IN STD_LOGIC; q1,q2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ENTITY hour;ARCHITECTURE art OF hour ISSIGNAL q11,q22:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(clk)BEGINIF clk'EVENT AND clk='1' THEN q11<=q11+'1'IF q11=9 THEN q11<="0000" q22<=q22+'1'END IF;IF q22=2 AND q11=3 THEN q22<="0000" q11<="0000"END IF;END IF;END PROCESS;q1<=q11;q2<=q22;END ARCHITECTURE art;时计时模块编译通过后生成的时计时模块的元器件如图3.4所示 图3.4时计时模块的元器件图时计时模块采用24进制的计时器模式,输出仿真波形为图3.5:图3.5 时计时模块的仿真波形模块说明:由仿真波形图可以看出,当时计数到23时时计数器模块清零后,再重新开始从0时计时。3.2 计时校时模块计时校时模块的代码为:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164. ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jiaoshi ISPORT(sec,min:IN STD_LOGIC; -调时模块的输入信号 k1,k2:IN STD_LOGIC; -调时模块的控制,调时信号输入 fen,shi:OUT STD_LOGIC; -各计数器的输入时钟信号 led1,led2:OUT STD_LOGIC); -工作模式显示灯的控制信号END ENTITY jiaoshi;ARCHITECTURE art OF jiaoshi ISSIGNAL a:STD_LOGIC_VECTOR(1 downto 0);BEGINPROCESS(k1,k2)BEGIN IF k1'EVENT AND k1='1' THEN a<=a+1; IF a=2 THEN a<="00" END IF; END IF;CASE a IS WHEN "00"=>fen<=sec;shi<=min; - 模式0正常计时 led1<='0'led2<='0' WHEN "01"=>fen<=k2;shi<='0' -模式1,分模块,调分 led1<='1'led2<='0'WHEN "10"=>fen<='0'shi<=k2; -模式2,时模块,调时 led1<='0'led2<='1'WHEN OTHERS=>NULL;END CASE;END PROCESS;END ARCHITECTURE art;计时校时模块编译通过后,生成校时模块的元器件,计时校时模块的元器件图为图3.6:图3.6计时校时模块的元器件给定输入信号后校时模块的输出仿真波形如图3.7所示:图3.7计时校时模块的仿真波形模块说明:由仿真波形可以看出,K1键是控制调时调分按键,按一下K1键系统处于调分状态,并且LED1灯常亮即提示此时处于调分状态,再按K2键对分进行加时。若再次按K1键系统就会处于调时状态,此时LED2灯常亮。按K2键系统就会对时进行加时作用。等分别对系统进行调时、调分后要让系统处于正常计时状态,再次按K1键使指示灯LED1、LED2都不亮的情况下系统才会正常计时。由仿真波形图可知,此时所调的时间为2:02分。3.3 打铃功能模块打铃功能模利用IF语句实现时间控制,在预设的铃声响起的时间给C一段连续的30秒的高电平,30秒的高电平控制是用IF语句判断秒计数器的计数实现的。打铃功能模块的代码为:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ring ISPORT(s1,s2,min1,min2,h1,h2:IN STD_LOGIC_VECTOR(3 DOWNTO 0); clk,clk1:IN STD_LOGIC; c:OUT STD_LOGIC; q1,q2,q3,q4,q5,q6:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ENTITY ring;ARCHITECTURE art OF ring ISSIGNAL q11:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL q22:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL q33:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL q44:STD_LOGIC_VECTOR(7 DOWNTO 0);constant js:INTEGER:=29;BEGINq11<=s2 & s1;q33<=h2 & h1;q22<=min2 & min1;q6<=h2;q5<=h1;q4<=min2;q3<=min1;q2<=s2;q1<=s1; PROCESS(clk) BEGIN IF clk'EVENT AND clk='1' THEN IF (q33="00001000" AND q22="00000000" AND (q11>="00000000" AND q11<"00110000") THEN c<=1; ELSIF (q33="00001001" AND q22="00000000" AND (q11>="00000000" AND q11<"00110000") THEN c<=1; ELSIF (q33="00010000" AND q22="00000000" AND (q11>="00000000" AND q11<"00110000") THEN c<=1; ELSIF (q33="00010001" AND q22="00000000" AND (q11>="00000000" AND q11<"00110000")THEN c<=1; ELSIF (q33="00010010" AND q22="00000000" AND (q11>="00000000" AND q11<"00110000")THEN c<=1; ELSIF (q33="00010011" AND q22="00000000" AND (q11>="00000000" AND q11<"00110000") THEN c<=1; ELSIF (q33="00010100" AND q22="00000000" AND (q11>="00000000" AND q11<"00110000") THEN c<=1; ELSIF (q33="00010101" AND q22="00000000" AND (q11>="00000000" AND q11<"00110000") THEN c<=1; ELSIF (q33="00010110" AND q22="00000000" AND (q11>="00000000" AND q11<"00110000")THEN c<=1; ELSIF (q33="00010111" AND q22="00000000" AND (q11>="00000000" AND q11<"00110000")THEN c<=1; ELSE c<='0' END IF; END IF; END PROCESS;END ARCHITECTURE art; 打铃模块通过编译后生成的打铃模块的元器件如图3.8所示:图3.8 打铃模块的元器件 打铃模块的输出波形仿真图入图3.9所示图3.9 打铃模块的输出波形仿真由波形仿真图可以看出,在8:00和9:00时C都输出了段时间的高电平,即自己预先设定的30秒时间。可以看出,在18:00时虽然也是预先设定铃声该响起的时间,但是并没有给出一个高电平脉冲。但铃声不再响起,实现了预想的功能。3.4 顶层设计及原理图顶层模块说明:顶层设计即把电路的各个模块放在一个顶层模块中,建立一个TOP顶层文件,在这个模块中分别完成每一个模块的编译,统一设定结束时间为40us。在完成单个模块编译前先把这个模块置顶,成为活动窗口,否则就找不到对应的模块,就会出错。但一定要注意,整个模块的名一定为TOP,而且每个模块的名称一定要用英文命名。在一个单独的模块编译通过时要生成元器件,以便在之后的顶层文件画电路图时用到该元器件。等各个模块都编译完成后,进行各模块的连接,将每个模块按照其所要实现的功能进行连接起来,然后进行引脚设定,设定后的顶层模块的电路图如图3.10所示:图3.10顶层模块的电路图顶层设计的波形仿真:首先给一个CLK脉冲,按一下K1键计数器处于调分状态,接着按K2键59下调至59分,再次按键K1键,此时计数器处于调时状态,按K2键7下将时调至7点,此时时间为7:59分。让整个计时器模块从07:59分开始计时,等待打铃时间的到来,但是要让计数器正常计时还必须按键K1键使计时处于正常计时状态。其自动打铃系统的功能仿真波形如图3.11所示:图3.11 自动打铃系统的输出波形仿真图 模块说明:由仿真波形可以看出到7点59分时给C一段连续时间的高电平,由图清楚的看到直到29秒时C跳为低电平,即高电平持续时间正好为30秒,实现了预想的响铃时间。第4章 引脚设定与下载验证4.1 引脚设定首先确定下载验证的电路图和对应的管脚。验证选择电路图为图4.1,选择工在作模式3下验证。LED7S的输出显示在最左一个数码管8上,CLK选择CLK0,查附录芯片引脚对照表确定对应的每个管脚。图4.1 验证实验电路图 选择好在哪种工作模式下工作和查出各个引脚对应的引脚号后进行引脚锁定,首先选择Assignments ->pin,出现如图4.2。图4.2 引脚锁定窗口双击CLK栏的location,确定对应的引脚号,如图4.3。管脚锁定后需要重新编译,选择Processing -> Start Compilation命令,进行编译。图4.3 引脚锁定4.2 下载验证把编程电缆一头接到计算机的并口,一头接到试验箱的J2接口上。选择Tool -> Programmer 命令,弹出如图窗口,在Mode表框中选择JTAG,并选中(打钩)下载文件右侧的第一个小方框。在Hardware Setup表框中选择ByteBlasterLPT1,如果显示“No Hardware”,单击Add Hardware按钮,添加ByteBlasterLPT1。单击Start按钮即进入对目标器件FPGA的配置下载。具体如图4.4所示:图4.4 下载设置最后进行硬件验证,在试验箱上,按下模式选择键选择模式显示为6,把时钟clock0短路帽接在1Hz上,观察数码管8的输出。通过试验箱验证,本设计能实现自动打铃的功能。总结本设计表明,基于VHDL语言的自动打铃系统设计离不开先进的EDA工具的支持。基于VHDL语言的结构化、层次化的设计方法是整个打铃系统的主要设计方法。为了实现自动打铃的设计要求,在整个设计包括了计时器模块、校时模块及显示打铃模块。分和秒计数器模块为60进制的计数器,时模块为24进制的计数器。计数器模块实现的是时钟计时的功能,会和时钟一样进行正常计时,频率为1Hz。计时器在秒计时到59秒时向分进位,然后清零后重新开始进行60进制的计数。同样的,分计数器在计时到59分时时计数器会自动的加1。然后分计数器清零重新开始分计时。而当时计数器计数到24时,整个计数器模块都会全部清零,重新进行计时。另外增加的校时模块式为了调节系统时间,当系统时间和实际时间产生较大的误差时,按在校时模块的K1、K2键对系统的分和时进行调整。当系统处于调分或调时状态时,系统不会进行正常计时。整个设计是实现自动打铃功能,在预定的时间段规定的时间内铃声响起响铃时间要在显示打铃模块对其进行控制,增加IF判断语句对铃声进行30秒控制。即在铃声该响起的时间连续给扬声器30秒的高电平,只要扬声器处于高电平期间,扬声器就会响起。经过实验箱下载验证后扬声器按预定的要求响起30秒,通过此次实验,我了解了EDA强大的硬件功能,通过学习VHDL语言,对系统的各个模块进行编写程序、调试、仿真,到运行。最后下载到实验箱后铃声响起。VHDL的强大应用功能在以后还需要进一步的去学习和掌握,自动打铃系统的设计只涉及到了EDA技术的一小部分,要想学得更多东西还要去深入的去挖掘。参考文献(1)李云、侯传教、冯永浩.VHDL电路设计实用教程M.2009.第1版.北京机械工业出版社(2)陈雪松 、滕立中. VHDL入门与应用M.2000.第1版.北京人民邮电出版社(3)赵世霞、谭耀麟.基于VHDL语言的微机接口电路设计M.2010.第1版.北京清华大学出版社(4)侯伯亨、刘凯、顾新.VHDL硬件描述语言与数字逻辑电路设计M.2009.第3版。西安电子科技大学出版社(5)周润景、苏良碧.基于Quartus II的数字系统Verilog HDL 设计实例详解M.2010.第1版.北京电子工业出版社 附录 芯片引脚对照表结构图上的信号名GW48-CCP,GWAK100AEP1K100QC208GW48-SOC+/ GW48-DSPEP20K200/300EQC240GWAK30/50EP1K30/50TQC144 GWAC3EP1C3TC144引脚号引脚名称引脚号引脚名称引脚号引脚名称引脚号引脚名称PIO07I/O224I/O08I/O01I/O0PIO18I/O225I/O19I/O12I/O1PIO817I/O235I/O820I/O811DPCLK1PIO918I/O236I/O921I/O932VREF2B1PIO1630I/O7I/O1630I/O1639I/O16PIO1731I/O8I/O1731I/O1740I/O17PIO1836I/O9I/O1832I/O1841I/O18PIO1937I/O10I/O1933I/O1942I/O19PIO2038I/O11I/O2036I/O2047I/O20PIO2139I/O13I/O2137I/O2148I/O21PIO2240I/O16I/O2238I/O2249I/O22PIO2341I/O17I/O2339I/O2350I/O23PIO24

    注意事项

    本文(基于VHDL的自动打铃设计毕业设计.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开