可编程逻辑器件电路设计计时器的FPGA实现

上传人:aa****6 文档编号:29244442 上传时间:2018-01-23 格式:DOC 页数:20 大小:399KB
返回 下载 相关 举报
可编程逻辑器件电路设计计时器的FPGA实现_第1页
第1页 / 共20页
可编程逻辑器件电路设计计时器的FPGA实现_第2页
第2页 / 共20页
可编程逻辑器件电路设计计时器的FPGA实现_第3页
第3页 / 共20页
可编程逻辑器件电路设计计时器的FPGA实现_第4页
第4页 / 共20页
可编程逻辑器件电路设计计时器的FPGA实现_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《可编程逻辑器件电路设计计时器的FPGA实现》由会员分享,可在线阅读,更多相关《可编程逻辑器件电路设计计时器的FPGA实现(20页珍藏版)》请在金锄头文库上搜索。

1、1可编程逻辑器件电路设计课程设计报告1/100s 计时器的 FPGA 实现姓 名: 班 级: 电信 3 电信 1 学 号:指导老师: 日期: 2015.12.222015.12.29 华南农业大学电子工程学院1/100 计时器的 FPGA 实现2摘 要高精度计时器常用于体育竞赛及各种要求有较精确定时的技术领域。通常,采用中规模集成电路即可实现高精度计时器的设计。本项研究将基于新一代硬件描述语言(HDL)、采取 ASIC(专用集成电路)设计方法,实现 1/100s 计时器的前端设计。本计时器包括 5 个模块:消抖模块、时钟分频模块、开关及控制模块、时钟定时模块、 显示模块,以完成 1/100s

2、计时器所界定的功能。在消抖模块中,将产生消除抖动后的 RST0(复位脉冲输出)和 EN0(启/停脉冲输出)。时钟分频子模块。clk_div 实际上是一个用计数器进行分频的分频电路,得到用于计时的 100Hz 脉冲信号和消除抖动的 25Hz 脉冲信号。控制子模块是根据计时器的工作状态,控制是否输出计数允许信号 enable,它用于控制计数子模块的计数工作。计时子模块是一个定时计数器,用来产生要显示的 5 位计时信息,当使能信号 enable 有效时计数器使能或暂停。计时器显示模块的输入信号为计时模块输出的计时信息;它的输出信号是WEI 和 DIG,驱动用于计时显示的 5 个 LED 七段显示数码

3、管。在输出信号中,由于六进制计数器循环计数,LED 四段显示数码管循环点亮来显示计时器的计时输出。对各个功能模块进行硬件描述以后,然后采用新一代可编程逻辑器件开发软件平台Quartus II,进行逻辑功能仿真与时序验证,并在 FPGA 开发板上进行了综合和适配。关键词:计数器 HDL 集成电路设计 仿真1/100 计时器的 FPGA 实现3目 录1.方案选择 .41/100s 计时器的功能描述 .32.底层文件仿真与分析 .72.1 底层文件简介 .72.2 底层文件仿真与分析 .82.2.1 计时模块的时序仿真 .82.2.2 控制模块的时序仿真 .83.顶层文件仿真与分析 .113.1 使

4、用 Quartus II 9.0 自带仿真器对设计进行仿真 .113.1.1 计时器的顶层设计 .113.1.2 顶层模块的时序仿真与分析 .114.课程设计心得 .12Abstract .20参考文献 .13附录(源代码) .141/100 计时器的 FPGA 实现41.方案选择1/100s 计时器的功能描述1. 这里将要讨论的计时器的工作流程如下图所示,功能描述如下:图 1-1 计时器的工作流程图(1)要求设置复位开关。当按下复位开关时,计时器清零并做好计时准备。在任何情况下只要按下复位开关,计时器都要无条件地进行复位操作,即使是在计时过程中也要无条件地进行清零操作。(2)要求设置启/停开

5、关。实际上启/停开关的使用方法与传统的机械式计时器完全1/100 计时器的 FPGA 实现5相同:当按下启/停开关后,将启动计时器并开始计时;当再次按下启/停开关时,将终止计时器的计时操作。(3)要求计时精度大于 0.01s。在体育竞赛中运动员的成绩计时是以 0.01s 为最小单位的,因此要求设计的计时器能够显示 0.01s 的时间。(4) 计时器的最长计时时间为 2 分钟,需要一个 5 位的显示器,显示的最长时间为1 分 59.99 秒(5)要求有电源复位信号的系统上电复位电路。2. 根据上面对计时器的功能描述,可以对该计时器的输入和输出电路进行以下推理。首先来对计时器的输入电路进行描述:(

6、1)首先要按下复位开关 RST 进行计时器的复位清零操作,使计时器作好计时准备。(2)当做好计时准备后按下计时器的启/停开关 EN,计时器开始计时,计时器的最小计时单位是 0.01s;计时完毕后再按一下计时器的启/停开关 EN,这时将终止计时器的计时操作。(3)由于计时器的计时精度为 0.01s,所以提供给计时器内部定时的时钟信号频率应该大于 100Hz。这里取 20MHz,所以该计时器还应该有一个 100Hz 的时钟输入信号 clk。3. 计时器的输出电路可以描述为:(1)由于计时器的最长计时时间为 1 分 59.99 秒,因此需要一个 5 位的显示器。这样,在设计中就需要一个五条输出线,用

7、来选通指定的一位 LED 七段显示数码管。(2)显示器的每一位都采用 LED 七段显示数码管进行显示,因此输出电路要有七条输出线连接在 LED 七段显示数码管上。4. 对计时器的输入和输出电路进行推理以后,就可以很容易地给出计时器的输入和输出信号。首先给出计时器的输入信号:(1)外部时钟信号 clk;(2)复位开关信号 RST:用于对计时器进行清零并做好计时准备;(3)启/停开关信号。EN 按下启/停开关后,将启动计时器并开始计时;当再次按下启/停开关时,将终止计时器的计时操作; 5. 输出信号的描述为:(1)LED 七段显示数码管的选通信号 WEI5:0:用于时器的 6 个 LED 七段显示

8、数码管进行选通;1/100 计时器的 FPGA 实现6(2)LED 七段显示数码管的输出信号 DIG7:0:用于控制 LED 七段显示数码管的显示操作。确定了计时器的输入输出信号以后,就可以给出该计时器的结构框图了。计时器的系统结构框图如图 1-1 所示,它说明了整个数字系统的外部输入和输出情况。RSTENCLK图 1-2 计时器的结构框图 6. 综上所述,可以确定计时器的基本方案如下:1.方案一:如图 1-2 所示,本方案分为时钟分频模块、按键输入模块、功能控制模块、计时模块和显示控制模块。其中时钟分频模块对系统时钟信号作适当分频后向按键输入模块、功能控制模块、计时模块提供必要的时钟控制信号

9、;按键输入模块则实现按键信号的实时检测与消除抖动功能,为功能控制模块提供及时稳定的按键输入信号。功能控制模块则根据按键输入状态实现复位、启动/停止计数的外部操作功能;计时模块根据功能控制模块的控制信号实现要求的计时功能,然后把当前计时值输送到显示模块进行显示;显示控制模块采用静态驱动数码管的显示方式,显示实时计时值。DIGWEIabc defg 7 6 5 4 3 2 1 0 d i s p l a yt o e a c h m o d u l e t o e a c h m o d u l ec o n t r o lc l k _ d i vk e y i nt i m e _ c o u

10、 n t e rr e s e to n _ o f fr e s e t 0e n a b l ec l k 0c h o o s es e g m e n tc l ks y s r e s e tclk1o n _ o f f 01/100 计时器的 FPGA 实现7图 1-2 方案一计时器的模块结构图方案二:通过分频器得到 1hz 和 100hz 的时钟信号,按分、秒、毫秒分别计数然后通过器输出到数码管。为兼顾开发周期和系统资源的合理分配,本系统采方案二实现 1/100 计时器的功能。2.底层文件仿真与分析2.1 底层文件简介在任何自顶向下的 VHDL 设计描述中,设计人员常常将整个设

11、计的系统划分为几个模块,然后采用结构描述方式对整个系统进行描述,本设计亦是如此。现在根据前面描述的结构功能,来确定计时器数字系统需要使用哪些模块以及这些模块之间的关系。由于计时器的复位开关和启/停开关采用按键的输入方式,其产生时刻和持续时间的长短是随机不定的,且存在因开关簧片反弹引起的电平抖动现象,因此必须在每个开关后面安排一个消抖和同步化电路模块,以保证系统能捕捉到输入脉冲,并保证每按一键,只形成一个宽度为系统时钟周期的脉冲。同步电路的方案很多,图 2-1 是一种既有消抖功能又有同步功能的电路,应用得非常广泛。(1)时钟分频模块(fenpin):时钟分频模块分为两部分,分别使用子模块将外部2

12、0MHz 的时信号分频为占空比为 50 的时钟信号 CLK_250HZ 和 CLK_100HZ。其中,CLK_250HZ 作为消除抖动和提供显示的扫描时钟,CLK_100HZ 作为定时计数的脉冲信号。由此可知,fenpin 子模块实际上是一个用计数器进行分频的分频电路,其结构和输入输出信号关系如图 2-4 所示。为实现严格的同步,该模块采用同步计数电路。1/100 计时器的 FPGA 实现8图 2-4 时钟产生子模块结构和输入输出信号关系(2)控制模块(ctrl):控制子模块的输入信号是消抖子模块输出的启/停控制脉冲EN0 和复位脉冲信号 RST0。其输出信号是计数允许信号 EN 和复位脉冲信

13、号 RST,它用于控制计数子模块的计数工作。计时器工作时,EN 端输出高电平,计时器停止工作时 EN端输出低电平。由此可见,控制子模块是根据计时器的工作状态,控制是否输出计数允许脉冲的电路。(3)计时模块(count):计时模块的输入信号为:去除抖动后的复位信号 RST0;系统电源复位信号 RST0;计时器的内部计时时钟信号 CLK_100HZ;计时模块的输出信号为:分个位信号 F_Q;秒十位信号 MIAO_Q2;秒个位信号 MIAO_Q1;0.1s 位信号 XIAO_Q2;0.01s位信号 MIAO_Q1。该模块是一个定时计数器,用来产生要显示的 5 位计时信息。(4)显示模块(display):显示子模块的输入信号来自定时计数子模块的输出,它们是 PFC,F_Q,MIAO_Q2, MIAO_Q1,XIAO_Q2,MIAO_Q1。输出信号是。WEI 和 DIG,用来驱动 6 个 7 段 LED 数码显示管。CLK 是六进制计数器的计数脉冲,在该计数脉冲驱动下,六进制计数器的 6 个状态 000B101B 按顺序循环变化,其输出经译码电路显示位选择译码器译码产生选通 6 位数码管之一的 WEI 信号。与

展开阅读全文
相关资源
相关搜索

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

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号