没有合适的资源?快使用搜索试试~ 我知道了~
首页FPGA课程设计任务书-数字电子钟设计 .doc
EDA技术在电子系统设计领域越来越普及,本设计主要利用VHDL和C语言在FPGA实验板上设计一个电子数字钟,它的计时周期为24小时,显示满刻度为23时59分59秒、。总的程序由几个各具不同功能的单元模块程序拼接而成,其中包括分频程序模块、时分秒计数模块、处理器及外设模块,并且使用QuartusII运用VHDL语言对分频和计数两个模块进行硬件电路设计和电路波形仿真,运用sopc技术嵌入内核并创建了系统所需的外部设备FLASH和SRAM软件通过使用NiosII运用C语言进行编程然后下载到硬件电路中,并在FPGA实验板上进行调试和验证。
资源详情
资源评论
资源推荐

课程设计任务书
题目:数字秒表的设计
时间: 年 月 日—— 年 月 日
设计的说明:
本设计需要首先要知道秒表的工作原理,秒表由于其计时精确,分辨率高(0.01秒),
所以整个秒表的工作时钟是在100Hz的时钟信号下完成。当秒表的计时小于1 个小时时,
显示的格式是mm-ss-xx(mm表示分钟:0~59;ss表示秒:0~59;xx表示百分之一
秒:0~99),当秒表的计时大于或等于一个小时时,显示的和多功能时钟是一样的,就
是hh-mm-ss(hh表示小时:0~99),由于秒表的功能和钟表有所不同,所以秒表的hh
表示的范围不是0~23,而是0~99,这也是和时钟不一样的地方。在设计秒表的时候,
时钟的选择为100Hz。变量的选择:因为xx(0.01秒)和hh(小时)表示的范围都是0~
99,所以用两个4为二进制码(BCD 码)表示;而ss(秒钟)和mm(分钟)表示的范围
是0~59,所以用一个3位的二进制码和一个4位的二进制码(BCD)码表示。显示的时候
要注意的问题就是小时的判断,如果小时是00,则显示格式为mm-ss-xx,如果小时不为
00,则显示hh-mm-ss。
设计的任务和要求:
1、要求设计的数字秒表从00-00-00开始计秒。直到按下停止按键(按键开关S2)。数
码管停止计秒。按下开始按键(按键开关S1),数码管继续进行计秒。按下复位按键(按
键开关S3)秒表从00-00-00重新开始计秒。
2、本设计选择系统时钟模块的1KHz信号,由于计时时钟信号为100Hz,因此需要对系
统时钟进行10分频才能得到,之所以选择1KHz的时钟是因为七段码管需要扫描显示,所以
选择1KHz。
3、要求编写的VHDL程序,并对程序进行编译并仿真,同时对程序的错误进行修改,直
到完全通过编译和仿真。
4、要求对整体电路进行仿真,提供仿真波形图,并分析结果
5、硬件测试结果用照片的形式记录下来。
提高部分:在此设计的基础上试用增加其它功能,采用其它方法编写VHDL程序。
指导教师: 学生:
日期:

3、数字钟系统总体设计方案
3.1数字钟的构成
该数字钟系统构成主要包括分频程序模块、时分秒计数模块、处理器及外
设模块三个模块,其总体结构框图如图 1 所示
图 1 总体结构框图
3.2数字钟的工作原理
数字钟电路的基本结构由两个 60 进制计数器和一个 24 进制计数器组成,
分别对秒、分、小时进行计时,当计时到 23 时 59 分 59 秒时,再来一个计数
脉冲,则计数器清零,重新开始计时。秒计数器的计数时钟 CLK 为 1Hz 的标
准信号,可以由晶振产生的 50MHz 信号通过分频得到。当数字钟处于计时状
态时,秒计数器的进位输出信号作为分钟计数器的计数信号,分钟计数器的进
位 输 出 信 号 又 作 为 小 时 计 数 器 的 计 数 信 号 , 每 一 秒 钟 发 出 一 个 中 断 给
CPU,CPU 采用 NIOS,它响应中断,并读出小时、分、秒等信息。CPU 对读
出的数据译码,使之动态显示在数码管上。
4、单元模块电路设计
4.1 分频模块电路设计与实现
分频器是数字系统设计中的基本电路,根据不同设计的需要,我们会遇到
偶数分频、奇数分频、半整数分频等。通常由计数器或计数器的级联构成各种
形式的偶数分频及非等占空比的奇数分频,实现较为简单。本文设计的分频器
是利用VHDL硬件描述语言,通过QuartusⅡ开发平台,使用 Altera公司的
分频
数
字
钟
NIOS
50Hz 1Hz
中断
时(个位)
分(十位)
时(十位)
分(个位)
秒(十位)
秒(个位)
LED
显示

FPGA,设计了用50MHZ的时钟信号输入进行50000000分频得到1HZ的时钟
信号,作为秒计数器的个位提供时钟信号。其原理图如图2所示。
CLK
RST
FN
FP
inst
1Hz
OUTPUT
VCC
50Hz
INPUT
VCC
Rst
INPUT
图2 分频模块原理图
4.2 计数模块设计与实现
秒计数器的计数时钟 CLK 为 1Hz 的标准信号,可以由晶振产生的 50MHz
信号通过分频得到。当数字钟处于计时状态时,秒计数器的进位输出信号作为
分钟计数器的计数信号,分钟计数器的进位输出信号又作为小时计数器的计数
信号。其原理图如图 3 所示。
RST
CLK
MIAO1[3..0]
MIAO2[3..0]
FEN1[3..0]
FEN2[3..0]
SHI1[3..0]
SHI2[3..0]
SSZ
inst
VCC
1Hz
INPUT
VCC
Rst
INPUT
second1[3..0]
OUTPUT
second2[3..0]
OUTPUT
minute1[3..0]
OUTPUT
minute2[3..0]
OUTPUT
hour1[3..0]
OUTPUT
hour2[3..0]
OUTPUT
图 3 计数模块原理图
4.3 处理器及外设模块设计和实现
该模块 CPU 采用 NIOSII 处理器,程序存储采用 4M 的 Flash,数据存储采
用外部的 512k 的 SRAM,使用 Flash 来保存 NIOSII 中运行的程序代码和
FPGA 的配置数据,处理器在复位后从 Flash 开始执行程序,使用 IDE Flash
Programmer 进行编程,将程序下载到 Flash 中,一个 1 位的 I/O 口接受中断
信号,六个 4 位 I/O 口作为数据输入端口,六个 8 位 I/O 口作为数据输出端口,
外接六个 8 位 led 数码管,通过分频后的时钟信号每一秒钟给 CPU 一个中断信
号,CPU 响应中断,并通过 4 位 I/O 口读出小时、分、秒等信息,对读出的数
据进行译码,并通过 8 位 I/O 口使之动态显示在数码管上。原理图如图 4 所示。
剩余10页未读,继续阅读
















shaxiaoziii
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论0