1、毕 业 论 文(设计)题 目: 基于 FPGA 的数字时钟设计 目 录摘 要 .IAbstract .II1 绪 论 .11.1 研究问题背景和现状 .11.2 研究目的及意义 .11.3 设计内容及目标 .21.3.1 研究内容 .21.3.2 研究目标 .22 系统设计方案 .32.1 控制方案的选择 .32.2 时钟电路的选择 .32.3 校时控制电路的选择 .32.4 显示电路的选择 .43 系统电路总体设计 .53.1 系统设计总体框图 .53.2 电源供电电路设计 .53.2.1 外围电路电源设计 .53.2.2 芯片电源电路设计 .63.2.3 电源滤波电路 .63.3 FPGA
2、 芯片及其引脚 .73.4 JTAG 下载配置电路设计 .83.5 时钟信号电路设计 .93.6 复位电路 .93.7 键盘电路设计 .103.8 人机显示电路 .103.9 整点报时电路设计 .114 FPGA 内部程序设计 .124.1 分频器的程序设计 .124.2 秒计数器程序设计 .134.3 分计数器程序设计 .154.4 小时计数器程序设计 .164.5 日计数器程序设计 .164.6 月计数器程序设计 .174.7 年计数器程序设计 .184.8 键盘控制程序设计 .194.9 LCD1602 程序设计 .204.10 顶层文件设置及编译下载 .215 总 结 .225.1 结
3、论 .225.2 设计中遇到的问题 .22参考文献 .23致 谢 .24附录: .25附录 1 最小系统及配置电路图 .25附录 2 系统外围电路图 .26附录 3 系统设计程序 .27附录 4 顶层原理图及引脚设置 .43I基于 FPGA 的数字时钟设计摘 要利用 FPGA 器件设计数字电路,不仅可以将时钟的硬件电路和设计流程简化,而且可以减小本设计系统的前期成本与模块体积,提高了系统的稳定性,缩短设计周期。FPGA 不仅可以实现简单的 74系列的电路逻辑设计,而且可以作为具有高性能的 CPU,来控制总系统运行。本设计采用 EP1K10TC100-1 芯片作为控制 CPU,整个系统采用 VH
4、DL 语言,50MHZ 的晶振产生时钟脉冲,用 VHDL 语言设计分频器获得秒信号及其他时钟信号,经过计数器分别对年、月、日、时、分、秒的控制逻辑累加形成计数模块,并通过独立键盘对计数模块进行调整以达到调时间的目的,系统通过 1602 液晶显示输出。系统利用 Quartus II 软件进行程序软件的编译、仿真、引脚设置、总线接口及配置、下载来完成整个设计。关键词:数字时钟;FPGA;VHDL 语言IIDesign of Digital Clock Based on FPGAAbstractUsing FPGA component to design digital circuit not on
5、ly may simplify the clock hardware circuit and the design process, moreover may reduce this design systems cost and the volume to enhance systems reliability. FPGA can not only achieve the 74 series circuit logic, and can be used as high-performance CPU to control the total system operation.This des
6、ign uses the EP1K10TC100-1 chip to control CPU. The overall system uses the VHDL language. The 50MHZ crystal oscillator produces the clock pulse. The VHDL language obtains a second signal and other clock signal .Design frequency divider passes through the counter separately to the year, the month, J
7、apan, divides, the second control logic accumulation to form the counting module, and makes the adjustment through the independent keyboard to the counting module to achieve the goal of adjusting the time, and the system display output through 1602 liquid crystal. The system carries on the procedure
8、 softwares translation, the simulation, the pin establishment, the bus interfaceand the disposition, downloading using the Quartus II software to complete the entire design. Keywords:digital clock; FPGA; VHDL language青岛农业大学机电工程学院本科毕业设计(论文)11 绪 论1.1 研究问题背景和现状随着生活节奏的加快,我的生活、工作、学习都离不开时间这个概念。从开始机械式的钟表,到
9、现在数字式时钟,时钟的发展并没有停下脚步。数字时钟的发展是伴随着数字电路的发展,传统的数字时钟主要由多个的数字集成电路(触发器和计数器)组成,开始只用作科研或者军事用途,改革开放之后,民用数字时钟才开始发展,广泛用于机场、汽车、火车站、医院等公共场合,主要是通过发光二级管作为数字时钟的显示器。由于需要的集成器件较多,当时的数字时钟的体积较大,而且逻辑性较差。后来可编程逻辑器件的出现简化了数字时钟的外围电路,降低了成本。随着 LCD 液晶显示器的出现,数字时钟的显示在部分场合取代了以往的数码管显示。传统的数字时钟发展这么多年,在部分场合依然应用,可见其有自己独特的地方。不需要软件控制,基本固定的
10、电路原理图,技术含量要求较低,对于很多生产厂家来说,方便投产。但是,在比较精密的场合,不考虑成本的情况下,在功耗、稳定性上要求提高。由于传统数字时钟器件较多,电路功耗就会提高,芯片容易发热,导致整个电路的寿命降低。1.2 研究目的及意义随着产品设计研发成本越来越高,设计周期要求越来越快,电子工程师不得不选择更加方便、快捷、高性能、低功耗的芯片来满足市场的需求,FPGA 器件以绝对的优势脱颖而出。近年来绿色、环保、低功耗越来越得到大家的认可,然而应科技而生的电子垃圾、高功耗、低效率成了环保新病。因此如何通过降低功率损耗来减少电源系统的元件和电路板的面积,提高系统的可靠性,延长器件的寿命成为现在电
11、子研发的首要考虑问题。可见,对用 FPGA 芯片系统的研究意义深远。FPGA 进入到第三个阶段:向传统的 ASIC领域大刀阔斧地进军,最新工艺铲平了 FPGA 和 ASIC 之间的鸿沟。 1用 FPGA 设计数字时钟,利用其超大规模的集成逻辑电路,可以减少外围电路的元器件,从而减小整个系统的体积,很大的节约成本;FPGA 芯片功耗低,减少了热量的产生,降低温结,提高了系统的可靠性,而且延长器件的使用寿,对系统有着非常大的促进作青岛农业大学机电工程学院本科毕业设计(论文)2用。程序利用 VHDL 语言设计,VHDL 支持硬件的设计、验证、综合和测试,以及硬件设计数据的交换、维护、修改和硬件的实现
12、,具有描述能力强、生命周期长、支持大规模的分解和已有设计的再利用的特点。 2采用了“自顶向下” (Top-Down)的全新设计方法,是设计师们摆脱了大量的辅助设计工作,而把精力集中于创造性的方案与概念构思上,用新的思路来发掘硬件设备的潜力,从而极大地提高了设计效率,缩短了产品的研制周期 31.3 设计内容及目标1.3.1 研究内容(1)硬件电路方案和总体设计(2)利用 Quartus II 完成系统分频、计数、按键控制、液晶显示的内部逻辑1.3.2 研究目标(1)掌握并利用 Protel DXP 搭建所需要的硬件电路。(2)在 Quartus II 软件上用 Vhdl 语言编写相关应用程序。(
13、3)利用 FPGA 芯片完成数字时钟。青岛农业大学机电工程学院本科毕业设计(论文)32 系统设计方案2.1 控制方案的选择方案一:整个系统采用数字集成电路控制。采用 555 电路产生 1HZ 时钟脉冲,秒信号送给计数器,经过多级计数,然后将数据送给译码电路,最后通过数码管显示时间。由于本设计需显示年、月、日、时、分、秒,因此需要的计数器、译码器、数码管会比较多,从而会增加设计难度,系统的体积也会增大,稳定性变差,功耗较大。方案二:采用 FPGA 芯片作为控制芯片,用 VHDL 语言编程实现内部逻辑;将必要电路电路、下载电路、控制电路、显示电路、晶振等集成放在一块板子上,完成时间显示。集成器件大
14、大的减少,硬件电路得到简化,从而减少了干扰,提高了稳定性,减小了功率损耗,延长了系统的寿命。比较以上方案,选择方案二。2.2 时钟电路的选择方案一:采用 555 电路产生 1HZ 的秒信号作为时钟信号。但是由于 FPGA 芯片属于高速芯片,而且用 555 产生的秒信号不稳定,还会引起功耗增加的问题,所以不选此电路,但可作为备用时钟电路考虑。方案二:采用有源晶振产生高频率高质量的时钟脉冲,用 VHDL 语言设计分频电路,得到需要的秒信号时钟。有源晶振是无源晶振和逻辑电路的组合体,能够稳定的产生需要的时钟脉冲,而且可以通过 VHDL 语言进行分频,获得所需的时钟脉冲。综上所述,由于系统软件部分需要
15、高精度的多个时钟脉冲,因此选择方案二。2.3 校时控制电路的选择方案一:采用独立键盘接口方式,每个按键都过上拉电阻接到一个 I/O 口,每个按键就会独自占用一条 I/O 数据线,控制方便,编程简单,但是 I/O 的利用率会降低,因此适用于按键较少,简化程序的系统中。青岛农业大学机电工程学院本科毕业设计(论文)4方案二:采用矩阵键盘的接口方式,如 4*4 矩阵键盘,仅需要 8 个 I/O 口,提高了I/O 口的利用率,适用于按键较多、I/O 不足的系统中,但是编程比较复杂,逻辑性较强。本设计仅需要 7 个按键,且由于 FPGA 芯片 I/O 较多,很多处于闲置状态,因此选择方案一。2.4 显示电
16、路的选择方案一:采用 LED 数码管显示时间。数码管方便,编程简单,数字显示较大,显示效果好,而且价格便宜。但是显示内容少,多字符显示时会增加数码管的数量,而且外围硬件电路较为繁琐复杂,增加了系统的体积和系统的功耗。方案二:采用 1602 液晶显示时间。显示两行 32 位字符,用户方便读写,内部CGRAM 中已有较多字符,方便取用,外围电路简单,适用于显示内容较少,且对图像汉字没有太大要求的系统中。方案三:采用 12864 液晶显示时间。屏幕较大,可以显示多行,显示各种字符、汉字、图像等,用户很方便读写,外围电路也很简单,占用 I/O 口较少,节约系统资源。适用于显示内容较多的场合。本设计只需
17、显示两行就可以,而且对汉字、图像没有要求,在充分考虑成本和系统资源的情况下,选择方案一。青岛农业大学机电工程学院本科毕业设计(论文)53 系统电路总体设计3.1 系统设计总体框图系统硬件主要为满足FPGA芯片工作的最小系统及其外围电路组成。FPGA芯片选用EP1K10TC100-1,最小系统包括晶振电路、下载电路、电源电路、复位电路组成;外围电路主要包括按键控制、液晶显示电路和电源指示电路等等基于人机界面设计的电路整个系统工作总体框图如下:FPGA电源模块分频模块时钟脉冲 计数模块校时模块译码显示模块键盘模块LCD显示下载电路图 3-1 系统工作总体框图3.2 电源供电电路设计3.2.1 外围电路电源设计由于系统采用 LCD1602 液晶显示,通常使用 5V 直流电源作为工作电压,因此需要设计一个将市电转换到 5V 的降压整流电路。先将 220V 交流电经过变压器降压 9V,然后整流,LM7805 内部是三端稳压电源电路,可以将 8V 到 25V 的电源稳压到 5V 直流电源,最后经过电容多级滤波平滑输出波形。主体电路图如下: