脉冲与数字电路课程设计报告基于FPGA的数字钟.doc

上传人:laozhun 文档编号:4150394 上传时间:2023-04-07 格式:DOC 页数:22 大小:410.50KB
返回 下载 相关 举报
脉冲与数字电路课程设计报告基于FPGA的数字钟.doc_第1页
第1页 / 共22页
脉冲与数字电路课程设计报告基于FPGA的数字钟.doc_第2页
第2页 / 共22页
脉冲与数字电路课程设计报告基于FPGA的数字钟.doc_第3页
第3页 / 共22页
脉冲与数字电路课程设计报告基于FPGA的数字钟.doc_第4页
第4页 / 共22页
脉冲与数字电路课程设计报告基于FPGA的数字钟.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《脉冲与数字电路课程设计报告基于FPGA的数字钟.doc》由会员分享,可在线阅读,更多相关《脉冲与数字电路课程设计报告基于FPGA的数字钟.doc(22页珍藏版)》请在三一办公上搜索。

1、计算机与信息工程系脉冲与数字电路课程设计报告 专业 _ _ 班级 _ _学号 _姓名_ 报告完成日期 _指导教师 _ _评语:成绩:批阅教师签名: 批阅时间:基于FPGA的数字钟摘 要钟表是现代人类日常生活中必不可少的工具,数字钟更是现代社会时钟发展的一个重要方向。数字钟具有其突出的可随时控制调节时间、计时精确等优势和特点,被广泛地应用于社会生活的各个方面。本设计就是通过应用生活生产中常见的逻辑电路元件设计出具有计时和调时功能的数字钟。本文主要从数字钟的设计原理、设计方案入手详细地介绍了数字时钟的硬件设计、软件设计和下载调试。在设计过程中要处理好以下几个关键方面:各种计数器、调节控制电路、显示

2、器程序设计。计数器的设计关系到时钟计时的进位与精确度,调节控制电路是调节时间的关键。最后,利用QUARTUS仿真设计软件和设计开发板的特点和优势,结合实践,设计出具有基本调节控制功能的数字时钟。关键词:数字钟,计数器,开发板,VHDL语言Based on FPGA digital clockAbstractClocks and watches is the modern human daily life essential tools, a digital clock is the development of modern society clock an important directi

3、on. A digital clock has its outstanding may at any time control regulation time, accurate timing advantages and characteristics, and is widely used in various aspects of their life. This design is through the application in production of the common life logic circuit components design has the functi

4、on of the timing and when a digital clock.This article is mainly from the digital clock design principle, and the design of digital clock is introduced in detail the hardware design, software design and download debugging. In the design process to handle the following a few key aspects: all kinds of

5、 counter, adjust control circuit, monitor the program design. The design of the counter in relation to the clock binary and accuracy, adjust the control circuit is the key to regulating time. Finally, using QUARTUS simulation design software and design features and advantages of the development boar

6、d, and combining the practice, the design has the basic regulation control functions of digital clock.Key words: a digital clock, counter, development board, VHDL language目录前言1第1章 设计任务及要求21.1设计任务及要求21.1.1设计任务21.1.2设计要求2第2章 设计原理32.1 设计原理及结构框图32.1.1设计原理32.1.2系统结构框图3第3章 系统设计43.1 VHDL硬件描述语言43.1.1VHDL硬件描

7、述语言简介43.1.2VHDL硬件描述语言特点43.2 用VHDL语言完成整个电路设计53.2.1用VHDL硬件语言完成设计53.3 系统功能及整体电路图73.3.1系统功能73.3.2整体电路图7第4章 各个模块设计84.1 计时模块84.1.1计时原理84.1.2计时模块的相应程序84.2 校时模块94.2.1校时原理94.2.2校时模块的相应程序104.3 显示模块104.3.1显示模块原理104.3.2显示模块相应程序11第5章 系统调试及性能分析135.1 仿真波形135.1.1 仿真波形135.2 引脚分配135.2.1 引脚分配145.3 下载和调试145.3.1 下载验证155

8、.3.2 调试155.3.3 设计过程中遇到的问题及解决方案15结论16谢 辞17参考文献18前言数字钟是20世纪50年代才开始出现的新型计时器,随着社会经济的高速发展,人类生活节奏不断加快,数字钟自发明以后越来越广泛的应用于人类的社会生活中。本设计是利用基本的逻辑电路元件设计的利用六位数码管显示出当前时间,并具有基本调节控制功能的简易数字时钟。本设计的意义和目的旨在加深对所学课程的理解,掌握数字系统的工作原理和设计方法,熟练应用仿真软件和实验开发板,提高独立分析问题、解决问题、综合设计和创新能力,培养实事求是、严肃认真的科学作风和良好的实验习惯,且最终能够设计成功基本的可控时钟功能。本课题从

9、数字时钟的设计原理、设计方案入手详细地介绍了数字时钟的硬件设计、软件设计和下载调试。在设计过程中要处理好以下几个关键方面:各种计数器、调节控制电路、显示器程序设计。计数器的设计关系到时钟计时的进位与精确度,调节控制电路是调节时间的关键。重点应用到了各种不同功能的计数器的设计、计数器控制电路的设计以及显示器程序VHDL硬件描述语言的设计。设计过程中解决了数字时钟的硬件设计的计时、调时和显示等功能的实现。 第1章 设计任务及要求1.1设计任务及要求1.1.1设计任务设计题目:数字钟功能:具有时、分、秒计数显示,以24小时循环计时的时钟电路,带有清零和校准功能。1.1.2设计要求在Quartus开发

10、环境下,用原理图或verilog HDL或 VHDL语言完成各模块电路设计,并进行编译,成功后先调出正确波形,进行分析。在接下来的时间,针对KH-3100的相关资料,进行引脚分配,并下载到实验板上进行验证。在整个课程设计的过程中,需要截取相关的图,比如仿真波形,引脚分配,并且画出系统结构框图、整体电路图。第2章 设计原理2.1 设计原理及结构框图2.1.1设计原理计数器在正常工作下是对1Hz的频率计时,在调整时间状态下是对调整的时间模块进行计数。控制按键用来选择是正常计数还是调整时间,并决定调整时、分、秒。如果对小时进行调整,显示时间的LED数码管将闪烁,当置数按键被按下时,相应的小时显示要加

11、1。时间显示的LED数码管均用动态扫描显示来实现。2.1.2系统结构框图系统结构框图如下图所示:图1 数字钟原理图第3章 系统设计3.1 VHDL硬件描述语言3.1.1VHDL硬件描述语言简介VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结

12、构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。3.1.2VHDL硬件描述语言特点VHDL语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必然具有很多其他硬件描述语言所不具备的优点。归纳起来,VHDL语言主要具有以下优点:(1) VHDL语言功能强大,设计方式多样。VHDL语言具有强大的语言结构,只需采用简单明确的VH

13、DL语言程序就可以描述十分复杂的硬件电路。同时,它还具有多层次的电路设计描述功能。此外,VHDL语言能够同时支持同步电路、异步电路和随机电路的设计实现,这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多样,既支持自顶向下的设计方式,也支持自底向上的设计方法;既支持模块化设计方法,也支持层次化设计方法。(2) VHDL语言具有强大的硬件描述能力。VHDL语言具有多层次的电路设计描述功能,既可描述系统级电路,也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的

14、模型。VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。(3) VHDL语言具有很强的移植能力。VHDL语言很强的移植能力主要体现在:对于同一个硬件电路的 VHDL 语言描述,它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。(4) VHDL 语言的设计描述与器件无关。采用VHDL语言描述硬件电路时,设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化,而不需要考虑其他的

15、问题。当硬件电路的设计描述完成以后,VHDL语言允许采用多种不同的器件结构来实现。(5) VHDL 语言程序易于共享和复用。VHDL 语言采用基于库 ( library) 的设计方法。在设计过程中,设计人员可以建立各种可再次利用的模块,一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计,而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块,将这些模块存放在库中,就可以在以后的设计中进行复用。 由于VHDL语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言,因此它可以使设计成果在设计人员之间方便地进行交流和共享,从而减小硬件电路设计的工作量,缩短开发周期。3.2

16、 用VHDL语言完成整个电路设计3.2.1用VHDL硬件语言完成设计在Quartus2开发环境下,用VHDL语言完成各模块电路设计。具体设计过程如下:1. 引脚分配,设置输入端及输出端;2. 设置变量,用于整个设计过程;3. 对1kHz的频率进行分频,用于扫描数码管地址;4. 对2Hz分频,用于数码管闪烁;5. 模块转换,状态控制;6. 秒、分、小时计数的十进制转BCD码;7. 数码管动态扫描及计数;8. 7段译码。下图是整个设计的开始,用VHDL语言描述实现的。3.3 系统功能及整体电路图3.3.1系统功能 信号发生器(即晶振产生的clk)产生稳定的脉冲信号,作为数字钟的计时基准。具有“时”

17、、“分”,“秒”的十进制数字显示。小时计以一昼夜为一个周期(即24小时),分和秒计时为60进制。具有校时功能,可以在任何时候将其调至标准时间或者指定时间,并且可以实现清零、暂停的功能。3.3.2整体电路图该电路图是描述整个电路设计,用protues做出来的,如下图所示:图2 整体电路图第4章 各个模块设计4.1 计时模块4.1.1计时原理 可控数字时钟的“分”和“秒”均为模60的计数器,其计数器规律为0001585900可控电子时钟的“时”计数器为模24的计数器,其计数规律为0001222300即当数字钟运行到23时59分59秒时,在下一个脉冲作用下,数字钟显示00时00分00秒。具体说明如下

18、:1. 小时是一个模为24的计数器;分钟和秒钟都是一个模为60的计数器。2. 在正常计数时,当秒钟从0递增到59后进行清0,并且产生进位,使分钟加1;分钟和秒钟达59:59时,进行清0,同时也会产生进位,使小时加1;当“时”,“分”,“秒”达到23:59:59时,全部清0。4.1.2计时模块的相应程序 下图是整个设计的状态控制中关于正常计时的相应程序:4.2 校时模块4.2.1校时原理 当数字钟出现误差时,必须对时间进行校正,通常称为“校时”。校时是电子时钟应该具备的基本功能,一般要求能对时、分进行校正,并能进行复位,即清零。校时电路的设计要求是:在进行“时”校正时,不影响“分”和“秒”的正常

19、计数;在进行“分”校正时,不影响“时”和“秒”的正常计数;在进行“清零”操作时,时、分、秒全部归零。为此可以设置CLR、EN和INC 3个开关作为清零、暂停和置数的校时控制开关。根据时间误差的大小,校时方法为:采用单脉冲进行手动校时,拨动相应的校时开关后,每按一次单脉冲按钮相应的计数器增1。具体如下:1 在校正小时时,每按一次调节按钮,小时会在当前基础上加1,当小时达到23 时,小时会清0。1. 在校正分钟时,每按一次调节按钮,分钟会在当前基础上加1,当分钟达到59时,分钟会清0。2. 在校正秒时,每按一次调整按钮,秒会在当前基础上加1,当秒达到59时,秒会清0.4.2.2校时模块的相应程序

20、下图是整个设计的状态控制中关于校时的相应程序:4.3 显示模块4.3.1显示模块原理 该设计是由数码管显示的,共需要六个数码管,其中两位显示时,两位显示分,最后两位显示秒。该部分同样是由VHDL语言操作的,分为三个部分:计数的十进制转BCD码、数码管动态扫描及计数和数码管7段译码。在这个环节中,要特别分清楚数码管的段选和位选,并对它们进行相应转换,并理解其中的转换方式。4.3.2显示模块相应程序 1.计数的十进制转BCD码 下图是其中关于秒计数的十进制转BCD码的程序:3. 数码管动态扫描及计数下图为数码管动态扫描及计数的相关程序:3.数码管7段译码程序如下:第5章 系统调试及性能分析5.1

21、仿真波形5.1.1 仿真波形在Quartus2开发环境中,进行波形仿真。由于对系统时钟分频系数较大,在软件中的仿真不易实现,故将分频系数适当改小来仿真其逻辑功能。 正常计数时state为“00”,此时的功能仿真结果如下图所示:图3 仿真波形图5.2 引脚分配5.2.1 引脚分配硬件选用ALTERA公司的Cyclone系列的EP1C6Q240CB,引脚分配如下图所示:图4 引脚分配图5.3 下载和调试5.3.1 下载验证下载验证:选QUARTUS菜单ToolsProgrammerHardwave SetupUSB-BlasterProgram/Configure复选框Start,如图4-5所示。

22、当点击Start后,便进行下载到KH-3100试验箱中,下载完毕即可看到实验的结果。图5 下载验证5.3.2 调试进行下载验证之后,发现实验结果有错误,则进行调试环节。在此环节需要分析实验错误原因,再进行相应修改,重复下载验证的步骤,直到实验结果成功为止。5.3.3 设计过程中遇到的问题及解决方案1.在进行仿真波形时,出现这样的情况:仿真时点击“Start”后,直接进度为49%,接着就进行得很慢,等很长时间,还是没有进度。 解决方案:将仿真的“end time”调得相对短些,另外将设计中分频系数适当改小,则可以解决该问题。2.在进行最后一步下载验证后,出现的数码管显示比较混乱,通过仔细观察,发

23、现是数码管段选设置颠倒了,经引脚重新分配之后,再重新下载验证,实验成功。结论: 通过本次试验,我了解到VHDL硬件描述语言的相了解到h编程环境和QUARTUS仿真环境。在实验的过程中出现仿真速度过慢经过与同学的探讨,将endtime调得相对短些,并且将设计程序中的分频系数适当改小,再进行仿真,进度加快了很多。 通过此次的课程设计,我对FPGA有了更深的了解,并且具有了实验过程中发现问题、分析问题和解决问题的科学研究态度。我理解了数字钟系统各模块的工作原理。并在设计过程中我认识到了理论与实际相结合,基础实验与综合技能训练相结合的学习方法,但操作能力有待提高,在以后的实践中,我会努力的有意提高自己的提高自己的动手操作能力。 参考文献:周润景、图雅、张丽敏. 基于Quartus的FPGA/CPLD数字系统设计实例北京: 电子工业出版社,2007.8

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号