文档库 最新最全的文档下载
当前位置:文档库 › 基于FPGA的数字时钟设计

基于FPGA的数字时钟设计

基于FPGA的数字时钟设计
基于FPGA的数字时钟设计

毕业设计(论文)题目:基于FPGA的数字时钟设计

学生姓名:

学号:

所在学院:

专业班级:

届别:

指导教师:

皖西学院本科毕业设计(论文)创作诚信承诺书

1.本人郑重承诺:所提交的毕业设计(论文),题目《基于FPGA 的数字时钟设计》是本人在指导教师指导下独立完成的,没有弄虚作假,没有抄袭、剽窃别人的内容;

2.毕业设计(论文)所使用的相关资料、数据、观点等均真实可靠,文中所有引用的他人观点、材料、数据、图表均已标注说明来源;

3. 毕业设计(论文)中无抄袭、剽窃或不正当引用他人学术观点、思想和学术成果,伪造、篡改数据的情况;

4.本人已被告知并清楚:学校对毕业设计(论文)中的抄袭、剽窃、弄虚作假等违反学术规范的行为将严肃处理,并可能导致毕业设计(论文)成绩不合格,无法正常毕业、取消学士学位资格或注销并追回已发放的毕业证书、学士学位证书等严重后果;

5.若在省教育厅、学校组织的毕业设计(论文)检查、评比中,被发现有抄袭、剽窃、弄虚作假等违反学术规范的行为,本人愿意接受学校按有关规定给予的处理,并承担相应责任。

学生(签名):

日期:年月日

目录

前言 (1)

1绪论 (2)

1.1课题研究背景 (2)

1.2国内外研究现状 (2)

2 关键技术的探讨 (3)

2.1FPGA技术简介 (3)

2.2VERILOG HDL (4)

2.3VHDL (4)

2.4VERILOG HDL和VHDL的比较 (5)

2.5设计所涉及的软件 (5)

3 数字时钟的设计原理 (5)

3.1数字时钟 (5)

3.2数字时钟构成 (5)

3.3各功能模块工作原理 (6)

4 数字时钟的系统设计方案 (7)

4.1工作原理和系统框图 (7)

4.2程序流程图 (7)

5 数字时钟的模块仿真 (10)

5.110进制模块仿真 (10)

5.224进制模块仿真 (10)

5.360进制模块仿真 (10)

5.4分频模块 (11)

5.5触发器模块 (11)

5.6译码显示模块 (12)

6 总结与展望 (12)

参考文献: (13)

基于FPGA的数字时钟设计

学生:刘晓晴(指导老师:傅思勇)

(皖西学院信息工程学院)

摘要:在生活中,经常会遇到需要用时间来测量参数,继而用来生产生活。数字电路使用FPGA进行设计灵活通用,让FPGA设计电路成为现代数字电路设计的首选方式之一。本文的时钟设计是在QuartusⅡ软件环境下,利用VHDL描述逻辑,使用自顶向下模式的利用FPGA设计的一个数字时钟。本系统由按键控制数字时钟的清零和停启,可以分别显示时,分,秒。这次实验运用的是FPGA技术,采用的VHDL汇编语言,结合各个模块再在Quartus II仿真软件上进行仿真。其中的FPGA技术是这次实验的亮点,它容易掌握,各模块分工清晰,在仿真软件上易于操作,还可以适应许多种环境,总的系统性能指标是非常有保障的。

关键词:数字时钟;FPGA;VHDL;Quartus II

The design of Digital Clock based on FPGA

Student: Liu Xiaoqing(Faculty Adviser:Fu Siyong)

(College of Information Engineering, West Anhui University)

Abstract:In our life, often need to use a clock to measure parameter, and then used for production and living. It has become a popular method to design digital circuit by using FPGA because of its flexibility and versatility. This design use VHDL language means for the system design documents in Quartus II tools environment, atop-down design, by the various modules together build a FPGA-based digital clock . The system can complete the hours ,minutes , and seconds respectively , using keys to cleared , start and stop thedigital clock. The FPGA technology is the highlight of the experiment, it is easy to grasp, clear division of labor, various modules on the simulation software is easy to operation, also can adapt many kinds of environment, the overall system performance is guaranteed.

Keywords: digital clock; FPGA ; VHDL; Quartus II

前言

随着时代的进步与科技的发展,人们的生活水平也越来越好,而电子产品的革新换

代,见证了近年来社会生活日新月异的发展,显示了电子产品对生活的快速反应,也体现了其对时代变化的敏感与及时跟进的作风。由于会经常用到相关的电子产品,而测量这些电子产品的仪器从技术方面上说,它的历史发展历程为:在70年代以前主要是依靠两大技术的发展而发展的,即电子技术和电子测量技术,同时伴随着这些技术的提高,电子测量这方面的技术也得到了很好的发展,在此期间也出现了许多新的仪器设备。但是在后期才是迅猛发展的阶段,依稀还可以记得,在父母那个年代电脑还有软件以及微电子技术等相继出现在生产生活中。在以前如果听到了电子产品,都会觉得那是非常具有科技水平的,现如今我们人手都会有很多电子产品,甚至普及到了我们生活的各个角落。

在现在的数字电路中或者是硬件设计中,我们会发现经常会用到时钟。但是它应用到实际当中电路的连线会显得有些麻烦,在实际测量时也会出现或多或少的延时,会产生一定的测量误差,并且稳定性差[3]。如今伴随着科技的发展,FPGA受益匪浅,得到了很好的开发与发展,经常把EDA当作载体,并且结合VHDL等硬件描述语言,让整个数字电路系统变的简单明了,从而大大的提升了数字电路系统的总体的效率。

1绪论

1.1课题研究背景

在我们的生活中可以发现,很多的物理参数都是可以互相转换的,比如周期,时间。而我们如果测量周期就可以顺利的得到可以通过它转换的物理量。例如可以利用周期得到时间,同时得到相位也是完全可以的。

在许多软件测试中,测试员只需要用时间周期测量相应的产品的周期就可以筛选出有问题的次品,从而可以保证电子产品的品质和质量。上世纪80年代开会出现FPGA,而使用FPGA进行电路设计也逐渐的到广泛应用。随着科学技术的飞速发展,电子产品更新换代的周期也随之变短。

1.2国内外研究现状

近年来,越来越多的技术人员开始从事电子时钟多样化的研究,其发展历史已经有很长的时间了,但是如果说真正数字时钟,也就是也就在五十或六十年代开始的。全球电子的高端品牌苹果就刚推出最新的电子商品IWSTCH,受到各界关注。大家以有而炫耀自己的财富。纵观国内外电子产品的发展,时钟的功能是日新月异,其精准度和功能度也在逐渐的提升。可以说几乎提升一个数量级的时间只需要两三年就可以完成。

2 关键技术的探讨

2.1 FPGA技术简介

2.1.1 FPGA的概述

FPGA发展历程为:先是电子管的发明应用,继而是晶体管的创新应用,接着是是小规模集成电路,然后就开始了大规模集成电路的广泛应用。直到发展到21世纪,相继出现了存储器、处理器和逻辑设备等不同的数字逻辑设备。大体来说,它们对数字化的电路的发展都有非同小可的意义与贡献。

FPGA是Xilinx公司旗下的产品,产品问世至今已有30年的历史,它是属于高密度可编程逻辑器件,应用非常广泛,其可用门也从1000革新到如今的数以千计的可用门。近些年比较流行的FPGA大多都是基于查表技术得到的,在功能上与性能上也远比传统的工艺丰富,而且也总结了相应的经常使用的很多功能。

相对于以前的电子系统,FPGA有着不可逾越的优势,它的功耗小,稳定性强。使那些电子系统的问题都迎刃而解。而且FPGA还有着一些其他的优点,如开发周期短、投入少、芯片价格低等。

2.1.2 FPGA的发展历程

在这个世界上,我们每个人的人生无论是成功还是失败,我们都需要经历荆棘坎坷,也许我们会得到也许我们会失去。而事物也是一样,它也许会发展壮大也许会消失匿迹。很多东西都是不可避免的。首个FPGA产品—XC2046在30年前出现了,轰动全球,但是这个产品兵不是很完美,因为它沿用了2um工艺。由于当时的技术有限XC2046这个产品中的晶体管、逻辑器件和门的个数是非常少的。但是随着近几年的科技发展,Altera 和Xilinx公司推出了该系列的新产品,现在大多数产品都革新到六十五纳米的工艺。

2.1.3 FPGA的工作原理

FPGA的工作方式是由寄存在存储器之中的相应的值来控制的,主要控制逻辑功能还有模块之间出入输出接口的衔接方式,最终决定了FPGA产品能够完成怎样的工作,且FPGA技术在硬件条件允许的情况下可以无限次的编程[6]。

2.1.4 FPGA的特点

FPGA在电子设计中的设计周期比较短,设计中存在的风险比较小,最重要的是其在电子设计中的应用能够与CMOS电平和TTL电平都兼容。并且开发费用还低;FPGA产品具有许多优点:许多I/O引脚与触发器、可以用于个各种开发环境、采用ASIC芯片电

路,、可提高系统集成度和稳定性。

2.2 Verilog HDL

2.2.1 Verilog HDL的概述

面向电路设计的每一个VHDL程序本身就是对不同功能与性能的电路模块的完整描述。由此,通常来说,一个VHDL程序对应一片硬件电路功能模块,它可以对应一片74LS190、一片译码器,甚至是一片8051单片机。相比之下,它和普通的软件程序不同,VHDL程序具有鲜明的特色和固有的结构。本章下面主要介绍VHDL的结构和常用的语句。

2.2.2 Verilog HDL的程序

我们在用Verilog HDL编程时,是明显可以感觉到,运用此语言所编写的程序其简洁明了,思路清晰,非常有调理。但是如果我们从形式上来看,它的每一段程序中都会有相同的两个语句,分别是endmodule和module。其实在它们两者之间是嵌套着模块的程序的。,并且各自有着不同的性能。

2.2.3 Verilog HDL的特点

Verilog HLD的特点主要有:结构简洁明了、模块之间各司其职、功能模块之间得到充分利用、其表达式拥有位、逻辑和算数等不同的运算符;可以根据设计人员的需求而自定义设计功能操作,而且相对较为简单。

2.3 VHDL

2.3.1 VHDL的概述

在VHDL中,结构体是非常重要的,它是用来表达实体的行为与结构,我们需要运用许多基本的语言常用语句来对其进行相关描述,VHDL除了具备类似于计算机高级语言所具备的一般文字规则之外,还包含许多特有的文字规则和表达方式。

2.3.2 VHDL的特点

VHDL其主要特点如下:语言的描述能力强;设计技术齐全,方法灵活;具有相对的独立性;适合共享和复用;有丰富的库函数和仿真语言;数据类型丰富,安全性好;生命周期长;易于实现系统的更新与升级。

面向电路设计的每一个VHDL程序本身就是对不同功能与性能的电路模块的完整描述。由此,通常来说,一个VHDL程序对应一片硬件电路功能模块,它可以对应一片74LS190、一片译码器,甚至是一片8051单片机。相比之下,它和普通的软件程序不同,

VHDL程序具有鲜明的特色和固有的结构。本章接下来主要介绍VHDL语言,无论一个整体的VHDL程序是简单还是复杂,通常都是由实体、结构体、库、配置和包五个部分构成的。

2.4 Verilog HDL和VHDL的比较

2.4.1 共同点

它们都可以实现完整的逻辑功能;通过仿真软件设计硬件电路,把功能用语言描述出来,加载到电路中,都是可以确保整个系统设计稳定可靠的。语言的描述能力强,它们都比较好学习,易于接受。

2.4.2 不同点

Verilog HDL在语法上与C语言非常接近,通俗易懂。但是VHDL的使用范围比Verilog HDL更加广泛,它在EDA的仿真与设计环境中统统适用。所以说它们两个各有千秋。

2.5 设计所涉及的软件

2.5.1 Quartas Ⅱ的介绍

Quartas Ⅱ在50年前并没有得到很好的开发,到如今才被广泛应用。我们所学到的EDA技术都可以在这个软件上仿真。同时也为FPGA的开发提供了环境。

在这个世界上Alrera作为可编程器件的最具有影响力的提供商之一。它所生产的Quartas Ⅱ是非常完美的产品,它不仅为使用者创造了相对完善设计环境,而且它本身也是能够适应多种环境的设计需求。以此同时,Quartas Ⅱ也是具有仿真功能的。

3 数字时钟的设计原理

3.1 数字时钟

数字时钟是为了满足人们日常生活需要的一种装置。随着人们的需求不断提高,对时间的重视让钟表的电子化多样化成为一种趋势。[11]。

机械式钟表过于单一,使用寿命太短,数字时钟使用起来更加方便准确。

3.2 数字时钟构成

本文的时钟设计是在QuartusⅡ软件环境下,使用VHDL语言对逻辑进行描述,利用FPGA设计的一个数字时钟。本设计功能实现:

(1)计时功能:显示时间,以一天24小时循环

(2)校时功能:当本时钟设计的时间发生错误时,可以按相应按键进而恢复循环

(3)报时功能:整点的时候由蜂鸣器报时

3.3各功能模块工作原理

本文中利用FPGA设计的电子时钟设计由包含了分频模块,时钟模块,校时模块,数据译码模块和整点报时模块。各模块的工作原理为:

(1)分频模块:

本设计中采用20MHz的有源晶振提供脉冲时钟,而数字电子时钟的设计需要获得1Hz的占空比为50%的时基脉冲,并且获得译码显示模块中需要的2kHz的方波信号,同时整点报时功能模块也需要获得不同频率的信号,进而产生不同音调的声音。因此,设计中需要使用VHDL语言编程,对原始的20MHz的有源晶振进行分频设计,分别进行一万分频和两千万分频。

(2)时钟模块:

计时模块根据时钟的六十进制和二十四进制分别进行设计,利用计数器原理,进行60-60-24的秒-分-时的级联结构设计,利用同步时序电路的原理实现。在时钟正常工作的情况下,三个级联的计数器的基础时钟信号均是1Hz,秒计数器对此基础时钟脉冲进行第一级计数,然后将第一级秒计数器的进位输出作为第二级分计数器的使能信号输送给分计数器,同理,将第二级分计数器的进位输出信号作为第三级时计数器的使能信号,从而实现正常时钟的进位设计。

(3)校时模块:

正常的数字电子时钟都是能调整时间的,本设计同样能够实现这个功能,当数字时钟出现时间偏差时,可以通过预留的分钟调整按键和小时调整按键进行分钟计数和小时计数的调整。当按下分钟调整按键时,相当于分钟计数器的使能位持续有效,每一个时基脉冲都会使分钟数器增加1。同理,当按下时调整键时,相当于时计数器的使能位持续有效,每一个时基脉冲都会使小时计数器增加1。这样,即可实现小时和分钟的调整。

(4)数据译码模块:

译码显示模块利用传统的6位8段数码管动态。原理上利用74151数据选择器选择信号,然后利用74248显示译码器得到数码管的段选信号,同时,分频模块中的2kHz 的方波信号经过74160计数器得到的分频信号驱动74151和74138译码器产生位选信号。

(5)整点报时模块:

整点报时模块功能的实现也比较普遍,原理也很简单,当分钟计数器达到59,同时

秒钟计数器达到53,55,57和59时会产生不同频率的蜂鸣声,提醒整点。为了达到倒数的计时音效,当秒钟计数器为53,55,57时,报时频率偏低一些,设置为512Hz,而当秒钟计数器为59时,报时频率偏高一些,设置为1kHz。这样,就能产生形象的近似倒数的计时音效。

4 数字时钟的系统设计方案

4.1 工作原理和系统框图

利用EDA技术,使用FPGA,CPLD等数字芯片,可以简单方便的进行数字电路的设计。本文设计的数字时钟的工作原理图如图1所示,利用分频模块,时钟模块,校时模块,数据译码模块和整点报时模块可以实现和完善基本的数字电路设计。原理中最核心的部分就是时钟模块,利用三级60-60-24的级联进位制实现时钟的进位功能,然后配合分频模块获得时基脉冲和分频后不同的时钟脉冲信号,配合校时模块实现时钟的可调整校准功能,再利用数据译码模块进行实时动态时间显示,同时配合整点报时模块完善整点报时的功能。

图1 系统框图

4.2 程序流程图

4.2.1 二十四进制流程图

小时计数器为二十四进制,如图所示,当时基脉冲CP正常计数时,若使能信号EN 和和NCR信号都为高电平时小时计数器正常计数,范围在0到23之间。而当EN为0

时,小时计数器保持当前值。而当高位的值大于2或者高于23时,计数器清零,否则,继续计数。流程图见图2:

图2 24进制流程图

4.2.2 十进制流程图

只有时基脉冲CP正常计数时,使能信号EN为高电平,NCR信号也为高电平时小时计数器正常计数,范围在0到9之间,若使能信号EN为0时,计数器就会保持当前值,当计时到9时,计数器将会清为零,否则继续正常计时。流程图见图3:

图3 10进制流程图

4.2.3 6进制流程图

只有时基脉冲CP正常计数时,使能信号EN为高电平,NCR信号也为高电平时小时计数器正常计数,范围在0到5之间,若使能信号EN为0时,计数器就会保持当前值,当计时到5时,计数器将会清为零,否则继续正常计时。流程图见图4:

图4 6进制流程图

4.2.4 60进制流程图

只有时基脉冲CP正常计数时,使能信号EN为高电平,NCR信号也为高电平时小时计数器正常计数。范围在0到59之间,若使能信号EN为0时,计数器就会保持当前值,当计时到59时,计数器将会清为零,否则继续正常计时。流程图见图5。

图5 60进制流程图

5 数字时钟的模块仿真

5.1 10进制模块仿真

CP是时钟脉冲;CP上升EN和nCR是高电平后Q开始计数Q在0~9

图6 counter10模块仿真波形

5.2 24进制模块仿真

CP是时钟脉冲;CP上升EN和nCR是高电平后Q开始计数Q在0~23

图7 counter24模块仿真波形

5.3 60进制模块仿真

CP是时钟脉冲;CP上升EN和nCR是高电平后Q开始计数Q在0~59

图8 counter60模块仿真波形

5.4 分频模块

分频器把初始输入的时钟信号分为需要的5kHZ 和1HZ 的信号. 输入CLK 5kHZ , 输出CLK2 1HZ 信号。

图9分频模块仿真波形

5.5 触发器模块

触发器模块中触发器是主要器件,并在这个模块中发挥着不可代替的作用,在时钟设置时,由于输入的被测信号会与闸门信号不同步,这样一来就会很难测量,而触发器可以使两者的信号同步,即在信号发生改变时,如信号的下降沿或者上升沿,掌握控制闸门脉冲信号的时间。其模块的封装图如图10:

图10触发器模块封装

仿真波形图如图11所示:

图11其模块仿真波形

5.6 译码显示模块

译码显示模块的功能是通过显示器来显示BCD码,这中间是需要来完成转换的,当然就是通过译码器显示这个模块。其模块的封装图如图12:

图12译码器模块封装

仿真波形图如图13所示:

图13译码器模块仿真波形

6 总结与展望

整篇文章在介绍了本设计的系统的工作原理,总合不同的优点以及需要,选择了该方法。这个技术是基于EDA技术的设计,因此是需要借助Quartus II软件对其进行仿真,整个设计是借助方针软件来完成节约时间与成本。我们只需要变换软件设计就可以达到目的了。

数字电路使用FPGA进行设计灵活通用,让FPGA设计电路成为现代数字电路设计的首选方式之一。本文的时钟设计是在QuartusⅡ软件环境下,利用VHDL描述逻辑,使用自顶向下模式的利用FPGA设计的一个数字时钟。本系统由按键控制数字时钟的清零和停启,可以分别显示时,分,秒。这次实验运用的是FPGA技术,采用的VHDL 汇编语言,结合各个模块再在Quartus II仿真软件上进行仿真。其中的FPGA技术是这次实验的亮点,它容易掌握,各模块分工清晰,在仿真软件上易于操作,还可以适应许多种环境,总的系统性能指标是非常有保障的。

在这次的毕业论中我是结合仿真结果撰写的,与此同时我也是对大学四年所学到的专业知识和相关的实验操作都做了一次复习,在写论文时我们用到的word还有Quartus,

也因为这次试验让我对它们有了更熟练的应用,也有了新的认识。

在电子产业中,数字时钟是常用的仪器设备之一,但是伴着科技的进步与时代的与时俱进,数字时钟也改良许多,在功能上要更丰富,在精确度上也精确了许多,这一飞跃性的进步。而作为数字时钟它的优势也是大家普遍知道的,就光看它在现实生活中的应用就可想而知,它风靡的范围是非常广的。并且数字时钟这项技术也是作为非常有潜力的一门课程,学习这项技术也就意味着掌握了这个世界上最前沿的技术,就像苹果的发展趋势一样会势不可挡。

想想我们的手机,当初我们所用的手机就像一个发射塔一样,会发出或接收很多信号,继而就是我们所用的直板手机,没有很快的网速,更没有上网的功能,而如今已经是各种的智能手机遍布我们身边的每一个人,它的发展是可以预测得到的,因为它们每个产品都有不完美的地方,是需要进一步的改进的。所以我们也可以预测今后的数字时钟也会是更加智能的,我相信有的学者也已经在奉行自己的预言来研究这个项目了,这时一种很有可能的一个发展趋势,我们毋庸置疑。科技只会朝着我们更想得到的方向发展,同时也会带给我们不一样的惊喜。我们因此要大胆的想象大胆的去尝试,才会发现一个不一样的更精彩的世界。

参考文献:

[1] 阮航.概述频率计的设计[J].河北理工大学学报,2008,30(3):59-60.

[2]任旭虎. VHDL数字系统设计 [J].石油大学信息与控制工程学院 2014,9(2):21-22.

[3] 纪欣然. 基于FPGA的多功能数字钟设计[J]. 浙江大学控制科学与工程学

系,2012,(2):59-60.

[4] 马玉韬. RTC模块中分频器Verilog[J]. 上海交通大学,2005,8(1):233-233.

[5] 毛为勇. 基于FPGA 的任意小数分频器的设计[J]. 桂林电子科技大

学,2009,(2):84-85.

[6] 徐奕. 网络电缆综合测试仪的研究[J]. 东南大学,2009,3(18):58-59.

[7] 王元凯. 实时操作系统基准评测系统中的高精度时间测量技术研究[J]. 浙江大

学,2012,5(8):226-228.

[8] 夏宇闻.Verilog语法的基本概念[J].电子产品世界,2002,4(2):76-79.

[9] 康华光,邹寿彬,等.电子技术基础[M].北京:高等教育出版社,2006:130-139

[10] 姜咏江.基于Quartus II的计算机核心设计[M].北京:清华大学出版社,2007:

102-115

[11] 黄智伟,王彦,等.FPGA系统设计与实践[M].北京:电子工业出版社,2005:45-49

[12] 王昊鹏.简易数字频率计设计与实现[J].四川兵工学报,2011,9(1):1-10.

[13] 罗朝霞,高书莉.CPLD/FPGA设计及应[M]用.北京:人民邮电出版社,2007:12-18

[14] 刘福奇.基于VHDL的FPGA和Nios II实例精炼[M].北京:北京航空航天大学出版

社,2011:98-102

[15] 林英撑,童晓华,刘向宇.FPGA嵌入式系统设计与开发指南[M].北京:中国电力出

版社,2012:102-140

[16] 潘松,黄继业.EDA技术实用教程[M].北京:科学出版社,2010:79-100

[17] 苗荣霞.基于CPLD器件的示波器硬件测频系统[J].机械与电子,2008,8(1):1-10

相关文档