基于FPGA的电子时钟设计
- 格式:doc
- 大小:721.50 KB
- 文档页数:15
基于FPGA的电子钟设计报告一、FPGA的基本知识1、可编程逻辑器件的概况可编程逻辑器件主要分为FPGA和CPLD 两种,两者的功能基本相同。
FPGA--现场可编程门阵列的简称CPLD--复杂可编程逻辑器件的简称2、FPGA芯片及其最小系统(1)FPGA芯片它的外形与普通嵌入式处理器芯片相同采用PGA(Organic pin grid Array,有机管脚阵列)的封装形式,但可以通过烧写特殊程序改变其内部结构,实现专门的电路功能。
基于FPGA的数字时钟2019-11-23 21:36·电力源动一、FPGA的基本知识1、可编程逻辑器件的概况可编程逻辑器件主要分为FPGA和CPLD 两种,两者的功能基本相同。
FPGA--现场可编程门阵列的简称CPLD--复杂可编程逻辑器件的简称它的外形与普通嵌入式处理器芯片相同采用PGA(Organic pin grid Array,有机管脚阵列)的封装形式,但可以通过烧写特殊程序改变其内部结构,实现专门的电路功能。
二、FPGA的设计方法1、编程语言FPGA的主流程序设计语言主要有VHDL语言与Verilog语言两种。
本课题采用VHDL语言进行编写。
VHDL--用简洁明确的源代码来描述复杂的逻辑控制。
它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。
Verilog--一种基本语法与C语言相近,相比较于C语言更容易理解,2、图形化程序设计(设计效率低)三、软件开发环境QuartusII是Altera提供的FPGA开发集成环境,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。
它完全支持VHDL设计流程,其内部嵌有VHDL逻辑综合器。
四、数字钟功能模块认识数字时钟的设计采用了自顶向下分模块的设计。
底层是实现各功能的模块,各模块由VHDL语言编程实现顶层采用原理图形式调用。
具体的设计框图:各模块原理剖析:(1)在七段数码管上具有时--分--秒的依次显示;(2)时、分、秒的个位记满十向高位进一,分、秒的十位记满五向高位进一,小时按24进制计数,分、秒按60进制计数;(3)整点报时,当计数到整点时扬声器发出响声;(4)时间设置:可以通过按键手动调节秒和分的数值。
基于FPGA的电⼦时钟设计说明电⼦设计⾃动化基于FPGA的电⼦时钟设计电⼦设计⾃动化技术与应⽤设计报告设计题⽬:基于FPGA的电⼦时钟设计⽬录1需求分析 (2)1.1 基本功能 (2)1.2 功能要求说明 (2)2计时器总体结构设计 (2)3系统模块化设计 (3)3.1 分频模块 (3)3.2模式选择模块 (4)3.3 计时模块 (4)3.4 秒表功能模块 (5)3.5显⽰模块 (6)3.6顶层模块 (7)4电路图综合结果及仿真结果 (7)4.1电路图综合结果 (7)4.2仿真图 (9)4系统的实现与验证 (9)4.1管脚分配情况 (9)4.2实现与验证 (10)5设计体会 (11)基于FPGA的电⼦时钟设计1需求分析1.1 基本功能1、能够在LED显⽰器上清晰的显⽰⼩时,分钟和秒;2、能够通过按键准确调整⼩时,分钟和秒;3、能够实现秒表计时的功能,秒表的精度是0.01s。
1.2 功能要求说明1、电⼦时钟采⽤24⼩时的显⽰格式,上电或按键复位后能够从0时0分0秒开始运⾏,进⼊时钟运⾏状态。
2、当按下电⼦时钟启动调整键,则电⼦时钟进⼊调整时钟模式,此时可利⽤各调整键调整时间,调整结束后按启动调整键,则电⼦时钟再次进⼊到时钟运⾏状态。
3、当按下秒表启⽤键时,秒表开始计时,再次按下秒表启⽤键时停⽌计时,当读取到计时时间时,按下时钟启⽤键,则进⼊时钟运⾏状态。
2计时器总体结构设计在应⽤Verilog硬件描述语⾔进⾏数字电路设计的时候,通常可以采⽤⾃顶向下或者⾃底向上两种设计流程。
根据需求分析所要实现功能的具体要求,采⽤⾃顶向下的⽅法将电路系统逐层分解细化,设计其总体结构。
计时器应该包含计时和显⽰两⼤部分。
经过分析,计时部分应该采⽤60进制计数器各两个(分,秒计时),24进制计数器⼀个(⼩时计时)秒表部分需要采⽤100进制的计数器⼀个。
显⽰部分采⽤动态扫描,可以有效地节约硬件资源。
显⽰部分应该包括动态扫描和译码显⽰两部分。
基于FPGA的多功能数字钟一、设计题目基于Xilinx FPGA的多功能数字钟设计二、设计目的1.掌握可编程逻辑器件的应用开发技术——设计输入、编译、仿真和器件编程;2.熟悉一种EDA软件使用;3.掌握Verilog设计方法;4.掌握分模块分层次的设计方法;5.用Verilog完成一个多功能数字钟设计;6.学会FPGA的仿真。
三、设计内容设计实验项目九多功能电子钟✧功能要求:利用实验板设计实现一个能显示时分秒的多功能电子钟,具体要求为:基本功能:1)准确计时,以数字形式显示时、分、秒,可通过按键选择指示当前显示时间范围模式;2)计时时间范围 00:00:00-23:59:593)可实现校正时间功能;4)可通过实现时钟复位功能:00:00:00扩展功能:1)定时报:时间自定(不要求改变),闹1分钟(1kHz)---利用实验板LED或外接电路实现。
2)仿广播电台正点报时:XX:59:[51,53,55,57(500Hz);59(1kHz)] ---利用实验板LED或外接电路实现。
3)报整点时数:XX:00:[00.5-XX.5](1kHz),自动、手动---利用实验板LED或外接电路实现。
4)手动输入校时;5)手动输入定时闹钟;6)万年历;7)其他扩展功能;✧设计步骤与要求:1)计算并说明采用Basys2实验板时钟50MHz实现系统功能的基本原理。
2)在Xilinx ISE13.1 软件中,利用层次化方法,设计实现模一百计数及显示的电路系统,设计模块间的连接调用关系,编写并输入所设计的源程序文件。
3)对源程序进行编译及仿真分析(注意合理设置,以便能够在验证逻辑的基础上尽快得出仿真结果)。
4)输入管脚约束文件,对设计项目进行编译与逻辑综合,生成下载所需.bit类型文件。
5)在Basys2实验板上下载所生成的.bit文件,观察验证所设计的电路功能。
四、总体设计思路主体分为分频模块,正常时间模块(包含两个模60计数器和一个模24计数器子模块),闹钟模块(分为一个模60计数器模块,一个模24计数器模块,四个比较器模块),电台报时模块,数码管显示模块(分为模式选择模块,片选信号及扫描程序模块,和译码模块)。
基于FPGA的数字电⼦钟的设计与实现背景:本实验所有结果基于Quartus II 13.1 (64-bit)实现,实验过程采⽤⾃下⽽上⽬录⼀、基本功能设计与思路基本功能:能实现秒、分钟、⼩时的计数,计数结果清晰稳定的显⽰在 6 位数码管上。
1、动态显⽰模块该模块主要功能是通过数码管的动态扫描实现 6 位数码管显⽰计数结果,本模块由扫描模块scan_cnt6,位选控制模块 dig_select,数据选择控制模块 seg_select 以及译码模块 decoder 构成扫描模块 scan_cnt6模块功能:产⽣ 位选控制端dig_select 和数据选择端 code_select 模块所需要的地址信息,扫描时钟决定位选信号和数据切换的速度。
设计思路:利⽤74390芯⽚(P160 TTL 双⼗进制异步计数器)构建⼀个模六计数器,就是6进制计数器,利⽤计数到6(110)时,“q2”和“q1”为⾼电平,产⽣ ⼀个复位信号,加到74390的⾼电平有效的异步清0端“1CLR”上,使计数器回0,从⽽实现模六计数。
设计结果:cnt6模块设计图波形仿真:(默认为时序仿真)cnt6模块波形仿真图位选模块 dig_select模块功能:在地址端的控制下,产⽣位选信号。
设计思路:利⽤74138芯⽚(3线-8线译码器),当选通端输⼊端G1为⾼电平,选通端输⼊端G2AN和G2BN为低电平时,将扫描信号cnt6的输出作为输⼊信号,dig[5..0]是译码输出,输出低电平有效。
设计结果:dig_select模块设计图波形仿真:dig_select模块波形仿真图数据选择模块 seg_select模块功能:输⼊ 6 组数据,每组数据 4bit,本模块完成在地址端的控制下从6 组数据当中选择 1 组输出。
设计思路:利⽤74151芯⽚(P91 8选1数据选择器),在控制输⼊端GN为低电平时,将扫描信号的选择下,分别选中D[5..0]对应的输⼊信号输出为Y。
目录第一章绪论 (1)第二章可编程逻辑器件概述及设计方案 (2)2.1 CPLD/FPGA概述及VHDL语言的特点 (2)2.2可编程逻辑器件的分类和发展历程 (4)2.3 EPF10K10LC84-4芯片简介 (5)2.4 电子时钟的设计方案 (6)第三章系统电路设计 (7)3.1 总体设计 (7)3.2 显示电路设计 (8)3.2.1 分频器电路 (10)3.2.2 扫描电路电路 (11)3.2.3 BCD码多路选择器 (12)3.2.4 BCD译码器 (13)3.2.5 位选码电路 (15)3.3 电子时钟计数器电路设计 (15)3.3.1 秒和分计数器设计 (16)3.3.2 小时计数器设计 (17)总结 (23)参考文献 (24)致谢 ................................................................................... 错误!未定义书签。
第一章绪论时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。
现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。
20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能更进一步,产品更新换代的节奏也越来越快。
现代电子设计技术的核心是EDA ( Electronic Design Automation ) 技术。
FPGA课程设计报告书题目:基于FPGA多功能电子钟设计学院:电气工程与自动化专业班级:摘要 (1)第一章FPGA简介 (2)1.2 FPGA基本结构 (2)1.3 FPGA系统设计流程 (3)第二章系统电路设计 (4)2.1电子钟的设计方案选择 (4)2.2总体设计方案 (4)2.3显示电路设计 (5)2.3.1分频器电路 (7)2.3.2扫描电路电路 (7)2.3.3 BCD码多路选择器 (7)2.3.4 BCD译码器 (7)2.3.5位选码电路 (8)2.4电子时钟计数器电路设计 (8)2.4.1秒和分计数器设计 (8)2.4.2小时计数器设计 (10)总结 (12)参考文献 (13)附录 (14)本文介绍了多功能电子钟的现状及发展动态,多功能电子钟的应用,多功能电子钟的基本原理和实现方法以及系统构建理论。
针对现行电子钟设计方案实现起来相对复杂、误差偏大等弊端,对以FPGA为核心器件的电子钟方案进行了实验研究,利用EDA技术自顶向下的设计方法,设计电子钟各模块及相应具体电路,通过编译、仿真并下载到FPGA实验平台进行测试,运行结果表明:系统能以较小的误差显示时、分、秒,并且当走时不准时,可以通过相应设置键实现校时。
关键词:多功能电子钟;EDA;FPGA第一章 FPGA简介1.1 FPGA概述FPGA是现场可编程门阵列(Field Programmable Gate Array)的简称,与之相应的CPLD 是复杂可编程逻辑器件(Complex Programmable Logic Device)的简称,两者的功能基本相同,只是实现原理略有不同,有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/PGFA。
CPLD/PGFA几乎能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路。
它如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数字系统。
通过软件仿真可以事先验证设计的正确性,在PCB完成以后,利用CPLD/FPGA的在线修改功能,随时修改设计而不必改动硬件电路。
Civil Aviation University of China电子技术应用设计报告基于FPGA的电子时钟设计专业:通信工程学号: xxxxxxx学生姓名: xxx所属学院:电信学院任课教师: xxx摘要本设计采用EDA技术,采用原理图和硬件描述语言VHDL混合编程设计时钟逻辑系统,在QuartusII5.0工具软件环境下,采用自顶向下的设计方法,由各个基本模块共同构建了一个基于FPGA的电子时钟。
本时钟系统主芯片采用EP1C6Q240C8N,具有显示时间、日期、时间及日期校准、整点报时、定时闹钟等功能。
其中时间采用24小时循环计数,日期计数器具有闰年、月大、月小的判断并准确计数功能。
通过按键控制可以实现:日期和时间的切换显示、日期和时间的校准、闹钟的开关控制。
关键词:FPGA;电子时钟;原理图;VHDL语言;AbstractIn my design EDA technology is used, and I designed the clock logic system by means of schematic and VHDL hardware description language. Under QuartusII5.0 Tools software environment, I used the top-down design methodology, where various basic modules work together to build a FPGA-based electronic clock.The main chip of the clock system is EP1C6Q240C8N, which has the function of time display, date display, time and date calibration, the whole point of time, and regular alarm clock. Furthermore, 24-hour cycle, date counter which time has leap-year, month, a small month's judgment and accurate counting function are designed. What we can achieve through the control buttons are as follows: switching the display of date and time, calibration of date and time, and the alarm switch control.Keywords: FPGA; electronic clock; schematic; VHDL language;目录电子技术应用设计报告 0基于FPGA的电子时钟设计 0摘要 (1)Abstract (1)基于FPGA的电子时钟设计 (3)1.FPGA介绍 (3)2.电子时钟的设计方案 (3)2.1时钟系统整体介绍 (3)2.2分频器 (4)2.3时间计数模块 (5)2.4日期计数模块 (6)2.5译码器模块 (7)2.6显示模块 (7)2.7校时模块 (8)2.8闹钟模块 (10)3实习总结 (11)3.1本系统的优点 (11)3.2本系统的不足 (11)3.3想实现却又没实现的功能 (11)附录1:分频器 (12)附录2:时间计数器 (13)附录3:日期计数器 (15)附录4:译码器程序 (19)基于FPGA的电子时钟设计1.FPGA介绍FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
基于FPGA的数字电子钟系统设计摘要随着电子技术的飞速发展,现代电子产品渗透到了社会的各个领域,并有力地推动着社会生产力的发展和社会信息化程度的提高。
在现代电子技术中,可编程器无疑是扮演着重要角色。
现场可编程门阵列(FPGA)是近年来迅速发展起来的新型可编程器,其灵活的可编程逻辑可以方便的实现高速数字信号处理。
它突破了并行处理、流水级数的限制,具有反复的可编程能力,从而有效的地利用了片上资源,加上高效的硬件描述语言(VHDL),从而为数字系统设计提供了极大的方便。
本文较系统地介绍了FPGA的基本结构、基本原理、功能特点及其应用;阐述了数字系统设计的基本思想及设计流程,同时,也概述了FPGA在数字系统设计中的作用,基于FPGA的数字系统设计方法和流程;简要介绍了VHDL语言的发展历程,VHDL语言的功能特点等。
本文的主要内容是根据上述原理和方法设计一个电子钟系统,目的在于通过该系统的功能,体现出FPGA在数据处理中的应用。
该电子钟系统功能齐全,设计思路清晰。
系统程序基于VHDL语言,采用模块化设计方法。
系统设计包含8个子程序模块:分频组件、六十进制计数器组件、二十四进制计数器组件、闹钟设定组件、校时组件、i60BCD组件、i24BCD组件、以及二进制转换成七段码组件。
每个子程序均经过EDA 工具仿真,并附有仿真图,最后将各模块组装为一个整体——电子钟。
-关键词电子设计自动化;现场可编程门阵列;硬件描述语言;电子钟-Digital Electronic Clock DesignBased on Technology of FPGAAbstractWith the rapid development of electronic technology, modern electronic products , also increased. In modern electronic technology, the programmable logic devices play a key role.Field programmable gate arrays (FPGA), a new type of programmable device, is developing rapidly recent years.It introduced the concept of flexible programmable logic, which can realize -chip resources, coupled with efficient language VHDL, so as to design digital systems conveniently. This article introduces a system of the basic structure of the FPGA, the basic principle of features and applications; expounded on the basic design of digital systems thinking and design process, at the same time, also outlined the FPGA in the design of digital systems, FPGA-based digital system design methods and processes; gave a briefing on the development of VHDL language, VHDL language and other features.The main work is based on the principles and methods, design an electronic clock system to the adoption of the system, embodied in the FPGA data processing of applications. The electronic clock system is fully functional, designed clear ideas. Based on VHDL system procedures, The system is modular in design methods. It includes 8 sub-system design process modules:frequency division system, 60 M counter system,24 M-counter system,Alarm clock settings system, timing system, i60BCD system, i24BCD system, and convert binary into Seven-Segment code system. each subroutine simulated by EDA tools, with a simulation map. The modules will be the final assembly as a whole - the electronic clock.Key words EDA;FPGA; VHDL; Electronic clock-目录摘要 (I)Abstract (II)第1章绪论 (1)1.1课题背景和意义 (1)1.2可编程器件的发展历程 (1)1.2.1早期的可编程器件——PLD (2)1.2.2高级可编程器件FPGACPLD (3)1.3国内外研究现状 (4)1.4本文主要内容 (5)第2章FPGA基本结构及数字系统设计原理 (6)2.1 FPGA的基本结构及工作原理 (6)2.1.1基于查找表结构的FPGA (8)2.1.2查找表结构的FPGA逻辑实现原理 (8)2.1.3 FPGA的工作原理 (9)2.2数字系统设计概述 (9)2.2.1数字系统的组成 (10)2.2.2数字系统设计方法 (10)2.2.3数字系统设计的一般过程 (11)2.3本章小结 (12)-第3章数字电子钟功能模块设计 (13)3.1数字系统设计中的FPGA (13)3.1.1 FPGA在数字系统设计中的作用 (13)3.1.2基于FPGA的应用系统设计 (13)3.2数字系统设计的重要工具——VHDL (16)3.2.1 VHDL语言的特点 (16)3.2.2基于VHDL的系统设计流程 (17)3.3电子钟主要功能模块设计 (18)3.3.1分频模块 (18)3.3.2六十进制计数器模块 (19)3.3.3二十四进制计数器模块 (20)3.3.4校时模块 (22)3.3.5 BCD七段显示译码器 (23)3.4本章小结 (23)第4章电子钟模拟仿真及其分析 (24)4.1系统设计的总体思路 (24)4.2各功能模块仿真分析 (25)4.2.1 分频组件 (25)4.2.2 六十进制计数器组件 (25)4.2.3 二十四进制计数器组件 (26)4.2.4 闹钟设定组件 (26)4.2.5 校时组件 (27)4.2.6 i60BCD组件 (28)4.2.7 i24BCD组件 (29)4.2.8 二进制转换成七段码组件 (30)4.3数字电子钟功能仿真图 (30)4.4采用FPGA设计优势分析 (33)4.5本章小结 (34)结论 (35)致谢 (36)参考文献 (37)附录A (38)附录B (43)附录C (47)附录D (48)第1章绪论1.1课题背景和意义20世纪70年代,随着中小规模集成电路的开发应用,传统的手工制图设计印刷电路板和集成电路的方法已无法满足设计的精度和效率的要求。
电子钟的设计报告姓名:< >组别:< >专业班级:< >目录目录 (1)一、数字钟的设计要求 (2)二、顶层设计 (2)三、模块 (3)1.顶层模块 (3)2.分频器模块 (4)3.按键消抖模块 (4)4.计时模块 (5)5.显示模块 (6)6.报时和闹钟模块 (6)四、系统调试及运行结果分析 (7)1、硬件调试 (7)2、软件调试 (8)3、调试过程及结果 (8)(1)显示模块调试 (8)(2)时间系统模块调试 (9)五、总结 (9)一、数字钟的设计要求设计一个具有时、分、秒计时第二电子钟电路,按24小时制记时。
要求:1、准确计时,以数字形式显示时、分、秒的时间;2、具有分、时校正功能,校正输入脉冲频率为1Hz;3、具有仿广播电台整点报时的功能,即每逢59分51秒、53秒、55秒及57秒时,发出4声500Hz低音,在59分59秒时发出一声1kHz高音,它们的持续时间均为1秒。
最后一声高音结束的时刻恰好为正点时刻。
4、具有定时闹钟功能,且最长闹铃时间为一分钟。
要求可以任意设置闹钟的时、分;闹铃信号为500Hz和1kHz的方波信号,两种频率的信号交替输出,且均持续1S。
设置一个停止闹铃控制键,可以停止输出闹铃信号。
二、顶层设计采用自顶向下的设计方法,首先根据数字时钟的功能要求进行顶层设计和分析,用FPGA实现系统的计时、显示驱动、按键输入处理、仿广播电台整点报时的功能。
根据实训平台的硬件资源情况,输入信号包括时钟输入和按键输入,其中系统时钟由实训平台核心板50MHz晶振提供,拨码开关作为校时、闹钟时间设置和复位的信号输入,输出信号包括峰鸣器控制输出、8位动态数码管位选和段选控制输出。
数字电字时钟系统主要有分频器模块、按键消抖模块、计时模块、整点报时和闹铃模块和显示驱动模块构成。
三、模块1.顶层模块如下图所示。
2.分频器模块分频器模块的主要功能是为其他模块提供时钟信号。
重庆邮电大学电子设计自动化技术与应用设计报告设计题目:基于FPGA语言的数字钟设计学院:通信学院*名:***学号: S*********一、需求分析本设计是基于利用FPGA设计具有时、分、秒显示功能的简易时钟电路,数字电路的基本结构由两个60进制计数器和一个24进制计数器组成,分别显示小时,分钟,秒的基本功能。
计数器有可以随意调整时间的功能,当显示器显示为23时59分59秒时,秒再进一位则时计数器清零。
二、总体设计1 、设计思路:利用FPGA实现电子时钟的功能,显示电路利用七段数码管进行显示。
它的计时周期是24小时,满刻度为23时59分59秒。
对于FPGA来说可以使用任何的I/O口来实现数据的传输,其I/O口的数量远多于单片机。
整个电路以FPGA芯片作为总体控制核心,对整个电路的正常运行进行控制,对于1秒时间产生可以利用开发板上可调频率来实现每1秒。
系统完成时间的实时计算以后,将计算数据通过I/O口传给数码管进行显示,通过段选和位选判断以后,将时间实时显示出来。
对于调整时间来可以利用简单的独立按键来实现调整复位及小时/分钟/秒的加一操作,并用数码管实时的显示调整后的时间。
当数字钟处于计时状态时,秒计数器的进位输出信号作为分钟计数器的计数信号,分钟计数器的进位输出信号又作为小时计数器信号,时、分、秒的计时结果通过6个数码管来动态显示,加上分隔符一共需要8个数码管显示。
2 、器件选型8位7段数码管、FPGA芯片。
三、硬件设计硬件电路总体的设计:硬件电路设计,要结合开发板上的硬件连接,从而对应连接才可以设计电路。
首先确定使用FPGA的哪个I/O口,对于按键使用哪个I/O口资源,按键SW0-SW3作为独立按键使用。
系统框图如下:Clk 0Clk1八个数码管组成的显示电路位选电路时计数器分计数器秒计数器译码显示电路按键调整电路秒、分、时计数器管脚分配表如下:四 、软件设计1、 总体软件流程图由于在Verilog语言中各个模块电路同时工作采用并行执行的,时序逻辑由时钟驱动,因此在程序中一定要注意时序的设计及时钟的设计,在各个不同的时钟驱动下电路响应的方式。
基于FPGA的电子时钟设计
————————————————————————————————作者:————————————————————————————————日期:
电子设计自动化技术与应用
设计报告
设计题目:基于FPGA的电子时钟设计
目录
1需求分析 (2)
1.1 基本功能 (2)
1.2 功能要求说明 (2)
2计时器总体结构设计 (2)
3系统模块化设计 (3)
3.1 分频模块 (3)
3.2模式选择模块 (4)
3.3 计时模块 (4)
3.4 秒表功能模块 (5)
3.5显示模块 (6)
3.6顶层模块 (7)
4电路图综合结果及仿真结果 (7)
4.1电路图综合结果 (7)
4.2仿真图 (9)
4系统的实现与验证 (9)
4.1管脚分配情况 (9)
4.2实现与验证 (10)
5设计体会 (11)
基于FPGA的电子时钟设计
1需求分析
1.1 基本功能
1、能够在LED显示器上清晰的显示小时,分钟和秒;
2、能够通过按键准确调整小时,分钟和秒;
3、能够实现秒表计时的功能,秒表的精度是0.01s。
1.2 功能要求说明
1、电子时钟采用24小时的显示格式,上电或按键复位后能够从0时0分0秒开始运行,进入时钟运行状态。
2、当按下电子时钟启动调整键,则电子时钟进入调整时钟模式,此时可利用各调整键调整时间,调整结束后按启动调整键,则电子时钟再次进入到时钟运行状态。
3、当按下秒表启用键时,秒表开始计时,再次按下秒表启用键时停止计时,当读取到计时时间时,按下时钟启用键,则进入时钟运行状态。
2计时器总体结构设计
在应用Verilog硬件描述语言进行数字电路设计的时候,通常可以采用自顶向下或者自底向上两种设计流程。
根据需求分析所要实现功能的具体要求,采用自顶向下的方法将电路系统逐层分解细化,设计其总体结构。
计时器应该包含计时和显示两大部分。
经过分析,计时部分应该采用60进制计数器各两个(分,秒计时),24进制计数器一个(小时计时)秒表部分需要采用100进制的计数器一个。
显示部分采用动态扫描,可以有效地节约硬件资源。
显示部分应该包括动态扫描和译码
显示两部分。
除此之外,系统还应该具有计时和显示的分频电路。
计时分频电路用来降低系统所用晶振的频率;显示分频电路用来决定合适的刷新频率,既要能够正常显 示,又要满足硬件的要求。
电子时钟总体结构框图如图1.1所示。
50MHz
图1.1 电子时钟的总体框图
3系统模块化设计
3.1 分频模块
根据需求分析的要求,分频电路需要产生1HZ 、100HZ 、1000HZ 的脉冲信号。
其中秒表的精确度为0.01s ,首先需要一个准确的计时基准时钟,它的周期为10ms ,即需要用100Hz 的计时时钟。
电子时钟的运行需要一个1H Z 的脉冲信号来控制秒计时。
动态扫描模式需要1000 H Z 的脉冲信号来控制。
电子时钟的分频模块如图3.1所示:
24进制60进制60进制 时间 数
译
码
电路数
码 显 100
进
分 频
图3.1 分频模块
3.2模式选择模块
根据需求分析的要求,电子时钟分为时钟运行模式,调整时间模式和秒表运行模式,在运行时需要对运行状态进行转换。
电子时钟的模式选择模块如图3.2所示:
图3.2 模式选择模块
3.3 计时模块
根据需求分析的要求,电子时钟计时模块的功能为正常计时,即每秒钟读出一次数,秒表加1,秒计时满60进1给分计时,分计时满60进1给小时计时,小时
计时满24清零。
从功能上讲需要60进制计数器,60进制计数器和24进制计数器。
秒表的精度是0.01S,从功能上讲需要一个100进制计数器。
电子时钟的计时模块如图3.3所示:
图3.3 计时模块
3.4 秒表功能模块
根据需求分析要求,电子时钟秒表模块功能为进行手动计时,按一下key2为计时,再按一次key2为停止计时,保存计数数值,依此类推;按一次key1为计数清零,停止计数。
电子时钟秒表模块计数器共有三个,分别为百分秒的100进制计数器,秒钟的60进制计数器和分钟的60进制计数器。
秒表功能模块如图3.4所示:
图3.4 秒表功能模块
3.5显示模块
电子时钟显示模块主要是用LED显示,采用动态扫描方式显示。
根据需求分析的要求,电子时钟显示模块包括调整时间显示和时钟,秒表运行显示两部分,如图3.5和图3.6所示,分别表示调整时间显示和时钟,秒表运行显示。
图3.5调整时间显示
图3.6时钟,秒表运行显示
3.6顶层模块
顶层模块的作用主要是将分频模块,模式选择模块,计时模块,秒表功能模块和显示模块连接在一起,实现需求分析中电子时钟所要求的功能。
顶层模块如图3.7所示:
图3.7 顶层模块
4电路图综合结果及仿真结果
4.1电路图综合结果
在quartus工程文件中对各个模块进行编译,无误后进行综合,得到最外层电路图,途中包含了各个子模块,各子模块中又包含下层模块。
电子时钟电路图综合结果如图4.1所示。
图4.1电路图综合结果
4.2仿真图
在quartus工程文件中对程序进行仿真,仿真如图4.2所示。
图4.2仿真图
4系统的实现与验证
4.1管脚分配情况
根据程序的模块化分析和实验板芯片的管脚分配图,在quartusⅡ软件的工程文件的Pin Planner中设置需要的管脚,管脚分配的情况如表4.1所示:
表4.1 管脚分配情况
DIG[7] Output PIN_202
DIG[6]Output PIN_203
DIG[5]Output PIN_189
DIG[4]Output PIN_188
DIG[3]Output PIN_187
DIG[2]Output PIN_186
DIG[1]Output PIN_185
DIG[0]Output PIN_184
SEG[7]Output PIN_197
SEG[6]Output PIN_200
SEG[5]Output PIN_198
SEG[4]Output PIN_194
SEG[3]Output PIN_195
SEG[2]Output PIN_199
SEG[1]Output PIN_201
SEG[0]Output PIN_196
clk Input PIN_31
key1Input PIN_143
key2Input PIN_144
modkey Input PIN_145
4.2实现与验证
在quartusⅡ软件的工程文件中点击Programmer将程序烧进实验板,然后点击Start运行程序,开始验证需求上要求的功能。
根据需求分析的要求,在实验板上需要验证时钟运行模式,秒表运行模式。
验证运行如图4.3和4.4所示。
图4.3时钟运行模式
图4.4秒表运行模式
根据需求分析的要求,经过验证电子时钟的基本功能正常。
验证步骤如下:
1、按到计时模式,看秒到59时,再过一秒,秒钟清0,分钟加1,秒进制正常。
把分位调到59,过一分钟,分钟变0,小时加1。
然后把小时调到23,分位调到59,过一分钟,发现小时位和分位都变0。
表示计时正常。
2、按到秒表模式,看到最低两位,到99时,再过10ms,最后两位变0,中两位的低位加1。
表示秒表功能正常。
3、按到调时模式,看按键加1功能正常。
5设计体会
本次设计,让我受益匪浅,认识到自己的很多不足。
由于对Verilog HDL 编程语言知识的欠缺,让我对基于FPGA电子时钟设计无从下手,在同学的帮助下编程实现需求分析中对电子时钟要求的功能;对quartusⅡ软件的使用不够熟练,让我在对各个模块的仿真时很是苦恼。
在实验板上对电子时钟的功能的验证,让我感受到张老师的那句:“不能把软件和硬件结合起来,只能把自己培养成一个软件民工。
”的重要性,让我认识到对硬件学习的必要性和重要性。
在以后的学习中,我会谨记张老师的教诲,在
实际操作中提高写作文档能力和规范性。
=END=。