EDA-数字跑表课程设计-(1)

  • 格式:doc
  • 大小:254.50 KB
  • 文档页数:9

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA课程设计报告数字跑表

学院:机械与电子工程学院专业:电子科学与技术

学号:08

姓名:熊……

一:设计目的:

(1)学会利用QuartusⅡ发热宏单元和所学的数字电路知识,搭建复杂一点的数字电路或系统。

(2)学会使用EDA的程序语言FPGA/CPLD设计数字跑表,设计主要包括功能分析、方案设计和电路测试几个步骤。

二:设计内容:

1.设计一个数字跑表,具有如下功能。

(1)复位和暂停,秒表计时等功能。

(2)跑表计时长度可达1小时,计时精度为秒。

控制端取值功能

复位(clr)1异步清零

0计数

计数/暂停键(pause)1暂停

0计数

2.方案论证:

数字跑表设三个输入端,分别为时钟输入(CLK),复位(CLR),启动、暂停按键(PUSE)。复位信号高电平有效,可对跑表异步清零;当启动、暂停键为低电平时跑表开始计时,为高电平时暂停,变低后在原来的数值基础上继续计数。数字跑表的结构示意图如下:

图2-1跑表示意图

3.模块电路设计:

数字跑表实际上为计数器,数据选择器,七段数码管译码器等模块构成,核心模块应为计数器,其次为暂停控制和清零控制。

计时电路

计时电路又分为百分秒计时电路、秒计时电路和分计时电路三个模块。百分秒计时电路是一个100进制的计数器,以100Hz输入信号作为计数时钟,其进位信号作为秒计数电路的计数时钟,当秒计数器计满时,产生的进位信号又作为分计数电路的计数时钟。电路的暂停

和复位信号用于控制计时的开始、停止和清零。

计数器模块:数字跑表的计时器功能是,当PAUSE为低电平时开始计数,百分秒低位自加一,加到九时归零,百分秒高位自加一,加到九时归零,且向秒位发出一个高电平,秒低位自加一,加到九时归零,秒高位自加一,加到五时归零,且向分位发出一个高电平,分低位自加一,加到六时系统清零。

数据选择器:

数据选择模块:定义三位二进制数ss作为选择数码管的变量,ss自加一,当ss大于7时归零,当ss为5、4、3、2、1时分别将msl,msh,sl,sh,ml,mh的值赋给coder,当ss为6、7时赋值为零。

七段数码管显示译码器

七段数码管译码器模块:根据数字的显示形状编制真值表,当上一模块coder为0~9时,分别给seg赋以一组八位二进制数,使数码管显示相应的数字。

表1 七段数码管显示译码器真值表:

4.数字跑表的流程图:

数字跑表主要由计时器,七段数码管译码器组成。流程框图如图所示。

表2控制信号的作用

复位clr异步复位信号,高电平有效

pause同步暂停信号,低电平有效计数。

sel共阴数码管的位选信号

seg共阴数码管的段选信号

三:设计总体框图

三:硬件电路设计与程序设计

设计思路

今需设计一个计时范围为秒~1 小时的数字秒表,首先需要获得一个比较精确的计时基准信号,这里是周期为1/100 s 的计时脉冲,可以把50MHz的信号经过100分频的分频器三次分频得到,其中分频器经过两次分频得到的信号还可作为数码管扫描电路的时钟。其次,还需对每一计数器设置清零信号输入和对六个计数器设置时钟使能信号,即计时允许信号,以便作为秒表的计时起、停控制功能。为了方便控制所有计数模块清零和使能功能设计了一个控制模块。最后把所有计数器的输出数据通过数码管扫描电路模块和七段译码显示模块作为输出,接到实验箱上的8字数码显示电路上就可显示结果了。因此数字秒表可由三个分频器、四个十进制计数器(1/100 秒、1/10 秒、1 秒、1分)、两个六进制计数器(10 秒、10 分)、一个控制器、一个数据选择器以及七段译码显示器组成,如总体框图所示。根据设计思路,本次设计就采用模块化设计,共分为分频器模块(fenpin)、控制模块(kongzhi)、十进制计数模块(cnt10)、六进制计数模块(cnt6)、数码管扫描模块(xuanze)、七段译码显示模块(decl7s)六个模块以及图形式顶层文件。下面我们分别对每个模块的功能进行描述、程序进行设计以及各个模块功能的仿真。

1、分频器模块

根据设计需要,首先需要获得一个比较精确的计时基准信号,这里是周期为1/ 100 s 的计时脉冲。我们可以把50MHz的信号经过100分频的分频器三次分频得到此基准信号,所以需要设计一个100分频的分频器。此外,经过两次分频的信号(10KHz)还可以同时作为数码管扫描电路的时钟。

其模块图如下图所示:Clk为时钟输入信号,newclk为100分频的输出信号。

2、控制模块

为了方便控制所有计数模块清零和使能功能需要设计一个控制模块,所以该模块的功能就是控制什么时候发出置零信号和使能信号来控制计数器工作。

其模块图如下图所示:

Clk为开始/暂停功能按钮(下降沿有效),初次按下它时clc(控制计数器清零)为低电平,en(使计数器计数)为高电平;再次按下它时,clc保持为低电平,en跳变为低电平,如此重复循环。Reset为清零按钮(下降沿有效),无论何时按下它时,clc跳变为高电平,en变为低电平,以达到使计数器清零的目的。

3、十进制计数模块

此模块的功能就是完成十进制的计数功能,同时输出进位信号。

其模块图如下图所示:

Clk为时钟信号输入端,rst为计数器清零端(高电平有效),en为计数器使能端(高电平有效);daout为数据输出端,cout为进位信号输出端。

4、六进制计数模块

此模块的功能就是完成六进制的计数功能,同时输出进位信号。

其端口功能同十进制计数模块,在次不再重复诉说。