VHDL数字秒表_第1页
VHDL数字秒表_第2页
VHDL数字秒表_第3页
VHDL数字秒表_第4页
VHDL数字秒表_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、数字秒表一 设计任务 设计用于体育比赛的数字秒表,要求: 1.计时精度大于1/1000秒,计时器能显示1/1000秒的时间,提供给计时器内部定时器的时钟频率为10MHz;计时器的最长计时时间为1小时,为此需要一个7位的显示器,显示的最长时间为59分59.999秒。 2.设计复位和起/停开关。 (1)复位开关用来使计时器清零,并做好计时准备。 (2)起/停开关的使用方法与传统的机械式计时器相同,即按一下起/停开关,启动计时器开始计时,再按一下起/停开关时终止。 (3)复位开关可以在任何情况下使用,即使在计时过程中,只要按一下复位开关,计时器进程立即终止,并对计时器清零。二 方案选择与设计 方案选

2、择 利用VHDL语言进行数字秒表设计有多种方法。可以利用原件例化语句将各模块联系起来,也可以使用原理图的方法实现此功能,考虑到此次设计中端口众多,使用例化语句繁琐易错,因此采用了条理清晰的绘制原理图的方法生成顶层文件,实现数字秒表功能。 根据上述设计要求,可以预先设计若干个不同进制的计数器单元模块,然后将其进行例化组合来得到数字秒表系统。要满足数字秒表的精度,首先要获得精确的计时基准信号,这里的系统精度要求为0.001秒,因此必须设置周期为0.001秒的时钟脉冲。0.001秒、0.01秒、0.1秒、秒、分等计时单位之间的进位转换可以通过不同进制的计数器实现。 设置十进制计数器和六进制计数器,每

3、位计数器均能输出相应计时单位计数结果,其中,十进制计数器可以实现0.01秒、0.1秒、秒、分为单位的计数,六进制计数器可以实现以10秒、10分为单位的计数。把各级计数器级联,即可同时显示0.001秒、0.01秒、0.1秒、秒、分钟。 级联可分为串行进位方式和并行进位方式。在串行进位方式中,以低位片的进位输出信号作为高位片的时钟输入信号。在并行进位方式中,以低位片的进位输出信号作为高位片的工作状态信号(计数的使能信号EN),两片的CLK端同时接计数输入信号。 具体思路: 通过分频器将10M晶振所提供的信号进行10000分频,生成脉冲作为计时信号,经计数器累加计数实现数字秒表计数的功能。设计采用七

4、位LED数码管显示分、秒,需要5个10计数器和2个6计数器。使用按键开关可实现开始/结束计时操作以及复位清零操作。 设计 整个系统设计是采用自顶向下分析,自底向上设计。将数字秒表系统的整体分解为各个模块电路。 1.顶层电路设计 在顶层设计中,要对内部分各功能块的连接关系和对外的接口关系进行描述,而功能块实际的逻辑功能和具体的实现形式则由下一层模块来描述。 数字秒表原理图顶层电路图 根据数字秒表的原理图来进行顶层文件的设计。此次设计中使用了总线,从而简化了顶层电路图的绘制。 2 时钟分频电路模块 在基于EDA技术的数字电路系统设计中,分频电路应用十分广泛。常常用分频电路来得到数字系统中各种不同频

5、率的控制信号。所谓分频电路,就是将一个给定的频率较高的数字输入信号经过适当处理后,产生一个或数个频率较低的数字输出信号。 本设计需要一个计时范围为0.001s59分59.999秒的秒表,首先输入一个频率为10MHZ时钟信号源,由CLK输入,经其进行10000分频后获得一个比较精确的1000Hz计时脉冲,即周期为1/1000秒的计时脉冲,由CLR_CNT输出。分频器符号 3 十进制计数控制模块 计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。 此次设计中为程序方便没有将按键控制功能单独设为

6、一个模块,而是将其添加到了普通十进制计数器程序中,将两者综合生成十进制计数控制模块。十进制计数控制模块符号CLK为时钟信号输入端、RST为复位信号输入端、 EN为使能控制信号输入端、 DOUT3.0为十进制计数数据输出端、 COUT为进位信号输出端。 4 六进制计数控制模块 六进制计数器与十进制计数器类似,同样此处为程序方便没有将按键控制功能单独设为一个模块,而是将其添加到了普通六进制计数器程序中,将两者综合生成六进制计数控制模块。六进制计数控制模块符号 CLK为时钟信号输入端、RST为复位信号输入端、 EN为使能控制信号输入端、 DOUT3.0为六进制计数数据输出端、 COUT为进位信号输出

7、端。三 软件设计与仿真3.1时钟分频电路模块 程序library ieee;use ieee.std_logic_1164.all;entity CLKGEN isport(clki:in std_logic; clko:out std_logic); end CLKGEN;architecture behav of CLKGEN issignal q:integer range 0 to 9999;begin process(clki,q)beginif clkievent and clki = 1 thenq=q+1;end if;if q = 1 thenclko = 0;elseclko 0);ELSIF CLKEVENT AND CLK = 1 THENIF EN = 1 THENIF Q0);END IF;ELSE Q := Q ;END IF;END IF;IF Q = 0101 THEN COUT = 0;ELSE COUT = 1;END IF;DOUT0);ELSIF CLKEVENT AND CLK = 1 THENIF EN = 1 THENIF Q0);END IF;ELSE Q :

温馨提示

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

评论

0/150

提交评论