简易电子钟.doc

上传人:文****钱 文档编号:43854 上传时间:2018-05-10 格式:DOC 页数:23 大小:579.25KB
下载 相关 举报
简易电子钟.doc_第1页
第1页 / 共23页
简易电子钟.doc_第2页
第2页 / 共23页
简易电子钟.doc_第3页
第3页 / 共23页
简易电子钟.doc_第4页
第4页 / 共23页
简易电子钟.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、贵州电子信息职业技术学院电子工程系毕业设计(论文)课题名称简易电子钟专业应用电子技术班级31201班学号201262301016姓名指导教师贵州电子信息职业技术学院1摘要本设计本设计采用EDA技术,采用原理图和硬件描述语言VHDL混合编程设计时钟逻辑系统,在QUARTUSII50工具软件环境下,采用自顶向下的设计方法,由各个基本模块共同构建了一个基于FPGA的电子时钟。本时钟系统主芯片采用EP1C6Q240C8N,具有显示时间。其中时间采用24小时循环计数。本次设计主要利用MODELSIN语言描述软件对简易电子钟的分频、计数、和显示三个模块分别进行编译和仿真,最后形成顶层源程序,最后利用QUA

2、RTUS2技术使其在开发板上准确显示时间。从而实现简易电子钟的设计关键词FPGA;电子时钟;原理图;VHDL语言;QUARTUS2、MODELSIN语言仿真贵州电子信息职业技术学院2第一章绪论现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。前者以微细加工技术为代表,而后者的代表就是电子设计自动化(ELECTRONICDESIGNAUTOMATIC,EDA)技术。本设计采用的VHDL是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器

3、传输级和逻辑门级这三个不同层次的设计;支持结构、数据流、行为三种描述形式的混合描述,覆盖面广,抽象能力强,因此在实际应用中越来越广泛。ASIC是专用的系统集成电路,是一种带有逻辑处理的加速处理器;而FPGA是特殊的ASIC芯片,与其它的ASIC芯片相比,它具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点。在控制系统中,键盘是常用的人机交换接口,当所设置的功能键或数字键按下的时候,系统应该完成该键所对应的功能。因此,按键信息输入是与软件结构密切相关的过程。根据键盘结构的不同,采用不同的编码方法,但无论有无编码以及采用什么样的编码,最后都要转换成

4、为相应的键值,以实现按键功能程序的转移。1钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些都是以钟表数字化为基础的。因此研究数字钟以及扩大其应用有着非常现实的意义。11选题背景本节将从FPGA嵌入式应用开发技术与数字钟技术发展的客观实际出发,通过对该技术发展状况的了解及课题本身的需要,指出研究基于FPGA的芯片系统与设计数字钟的设计与实现的必要性。111课题相关技术的发展当今电子产品正向功能多元化,体积最小化,功耗最低化的方向发展。它与传统的电子产品在设计上的显着区

5、别是大量使用大规模可编程逻辑器件,使产品的性能提高,体积缩小,功耗降低,同时广泛运用现代计算机技术,提高产品的自贵州电子信息职业技术学院3动化程度和竞争力,缩短研发周期。EDA技术正是为了适应现代电子技术的要求,吸收众多学科最新科技成果而形成的一门新技术。美国ALTERA公司的可编程逻辑器件采用全新的结构和先进的技术,加上QUARTUS开发环境,使得其更具有高性能,开发周期短等特点,十分方便进行电子产品的开发和设计。EDA技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述主要表达方式,以计算机和大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,自动完成用软件的方式设计的电

6、子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。本设计是利用VHDL硬件描述语言结合可编程逻辑器件进行的,并通过数码管静态显示走时结果。数字钟可以由各种技术实现,如单片机等。利用可编程逻辑器件具有其它方式没有的特点,它具有易学、方便、新颖、有趣、直观,设计与实验成功率高、理论与实践结合紧密、积小、量大、/O口丰富、编程和加密等特点,并且它还具有开放的界面、丰富的设计库、模块化的工具以及LPM定制等优良性能,应用非常方便。因此,本设计采用可编程逻辑器件实现。112课题研究的必要性现在是一个知识爆炸的新时代。新产品、新技术层

7、出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变着我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失,因此我们需要一个定时系统来提醒这些忙碌的人。数字化的钟表给人们带来了极大的方便。近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求,多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。12课题研究的内容本设计主要研究基于FPGA的数字钟,要求时间以24小时

8、为一个周期,显示时、分。为了保证计时的稳定及准确须由晶体振荡器提供时间基准信号。贵州电子信息职业技术学院4第二章FPGA简介21FPGA概述FPGA是现场可编程门阵列(FIELDPROGRAMMABLEGATEARRAY)的简称,与之相应的CPLD是复杂可编程逻辑器件(COMPLEXPROGRAMMABLELOGICDEVICE)的简称,两者的功能基本相同,只是实现原理略有不同,有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/PGFA。CPLD/PGFA几乎能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路。它如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入或硬件

9、描述语言自由的设计一个数字系统。通过软件仿真可以事先验证设计的正确性,在PCB完成以后,利用CPLD/FPGA的在线修改功能,随时修改设计而不必改动硬件电路。使用CPLD/FPGA开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。这些优点使得CPLD/FPGA技术在20世纪90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言HDL的进步。322FPGA基本结构FPGA具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块来实现不同的设计。FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。这3种

10、可编程电路是可编程逻辑模块(CLBCONFIGURABLELOGICBLOCK)、输入/输出模块(IOBI/OBLOCK)和互连资源(IRINTERCONNECTRESOURCE)。可编程逻辑模块CLB是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度的连接线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路。41CLB是FPGA的主要组成部分。图21是CLB基本结构框图,它主要由逻辑函数发生器、触

11、发器、数据选择器等电路组成。CLB中3个逻辑函数发生器分别是G、F和H,相应的输出是G、F和H。G有4个输入变量G1、G2、G3和G4;F也有4个输入变量F1、F2、F3和F4。这两个函数发生器是完全独立的,均可以实现4输入变量的任意组合逻辑函数。逻辑函数发生器H有3个输入信号;前两个是函数发生器的输出G和F,而另一个输入信号是来自信号变换电路的输出H1。这个函数发生器能实现3输入变量的各种组合函数。这3个函数发生器结合起来,可实现多贵州电子信息职业技术学院5达9变量的逻辑函数。CLB中有许多不同规格的数据选择器(四选一、二选一等),通过对CLB内部数据选择器的编程,逻辑函数发生器G、F和H的

12、输出可以连接到CLB输出端X或Y,并用来选择触发器的激励输入信号、时钟有效边沿、时钟使能信号以及输出信号。这些数据选择器的地址控制信号均由编程信息提供,从而实现所需的电路结构。CLB中的逻辑函数发生器F和G均为查找表结构,其工作原理类似于ROM。F和G的输入等效于ROM的地址码,通过查找ROM中的地址表可以得到相应的组合逻辑函数输出。另外,逻辑函数发生器F和G还可以作为器件内高速RAM或小的可读写存储器使用,它由信号变换电路控制。2输入/输出模块IOB。IOB提供了器件引脚和内部逻辑阵列之间的连接。它主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成。每个IOB控制一个引脚,它们可

13、被配置为输入、输出或双向I/O功能。当IOB控制的引脚被定义为输入时,通过该引脚的输入信号先送入输入缓冲器。缓冲器的输出分成两路一路可以直接送到MUX,另一路延时几个纳秒(或者没有延时)后送到输入通路D触发器,再送到数据选择器。通过编程给数据选择器不同的控制信息,确定送至CLB阵列的I1和I2是来自输入缓冲器,还是来自触发器。当IOB控制的引脚被定义为输出时,CLB阵列的输出信号OUT也可以有两条传输途径一条是直接经MUX送至输出缓冲器,另一条是先存入输出通路D触发器,再送至输出缓冲器。IOB输出端配有两只MOS管,它们的栅极均可编程,使MOS管导通或截止,分别经上拉电阻接通VCC、地线或者不

14、接通,用以改善输出波形和负载能力。3可编程互连资源IR。可编程互连资源IR可以将FPGA内部的CLB和CLB之间、CLB和IOB之间连接起来,构成各种具有复杂功能的系统。IR主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。23FPGA系统设计流程一般说来,一个比较大的完整的项目应该采用层次化的描述方法分为几个较大的模块,定义好各功能模块之间的接口,然后各个模块再细分去具体实现,这就是自顶向下的设计方法。目前这种高层次的设计方法已被广泛采用。高层次设计只是定义系统的行为特征,可以不涉及实现工艺,因此还可以在厂家综合库的支持下,利用综合优化工具将高层次描述转换为

15、针对某种工艺优化的网络表,贵州电子信息职业技术学院6使工艺转化变得轻而易举。CPLD/FPGA系统设计的工作流程如图22所示。流程说明1工程师按照“自顶向下”的设计方法进行系统划分。2输入VHDL代码,这是设计中最为普遍的输入方式。此外,还可以采用图形输入方式,这种输入方式具有直观、容易理解的优点。3将以上的设计输入编译成标准的VHDL文件。4进行代码级的功能仿真,主要是检验系统功能设计的正确性。这一步骤适用于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间。一般情况下,这一仿真步骤可略去。5利用综合器对VHDL源代码进行综合优化处理,生成门级描述的网络

16、表文件,这是将高层次描述转化为硬件电路的关键步骤。综合优化是针对ASIC芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持下才能完成。6利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器件的硬件特性,是较为粗略的。一般的设计,也可略去这一步骤。7利用适配器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。8在适配完成后,产生多项设计结果A适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;B适配后的仿真模型;C器件编程文件。根据适配后的仿真模型,可以进行适配后时序仿真,因为已经得到器件的实际硬

17、件特性(如时延特性),所以仿真结果能比较精确的预期未来芯片的实际性能。如果仿真结果达不到设计要求,就修改VHDL源代码或选择不同速度和品质的器件,直至满足设计要求。最后将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片CPLD/FPGA中。524FPGA开发编程原理硬件设计需要根据各种性能指标、成本、开发周期等因素,确定最佳的实现方案,画出系统框图,选择芯片,设计PCB并最终形成样机。CPLD/FPGA软件设计可分为两大块编程语言和编程工具。编程语言主要有VHDL和VERILOG两种硬件描述语言;编程工具主要是两大厂家ALTERA和XILINX的集成贵州电子信息职业技术学院7综合ED

18、A软件QUARTUSII以及第三方工具。具体的设计输入方式有以下几种1HDL语言方式。HDL既可以描述底层设计,也可以描述顶层的设计,但它不容易做到较高的工作速度和芯片利用率。用这种方式描述的项目最后所能达到的性能与设计人员的水平、经验以及综合软件有很大的关系。2图形方式。可以分为电路原理图描述,状态机描述和波形描述3种形式。电路原理图方式描述比较直观和高效,对综合软件的要求不高。一般大都使用成熟的IP核和中小规模集成电路所搭成的现成电路,整体放到一片可编程逻辑器件的内部去,其硬件工作速度和芯片利用率很高,但是当项目很大时,该方法就显得有些繁琐;状态机描述主要用来设计基于状态机思想的时序电路。

19、在图形的方式下定义好各个工作状态,然后在各个状态上输入转换条件以及相应的输入输出,最后生成HDL语言描述,送去综合软件综合到可编程逻辑器件的内部。由于状态机到HDL语言有一种标准的对应描述方式,所以这种输入方式最后所能达到的工作速度和芯片利用率主要取决于综合软件;波形描述方式是基于真值表的一种图形输入方式,直接描述输入与输出的波形关系。25MODELSIM语言仿真251MODELSIM简介MENTOR公司的MODELSIM是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和VERILOG混合仿真的仿真器。它采用直接优化的编译技术、TCL/TK技术、和单一内

20、核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。252MODELSIM特点RTL和门级优化,本地编译结构,编译仿真速度快,跨平台跨版本仿真;单内核VHDL和VERILOG混合仿真;源代码模版和助手,项目管理;集成了性能分析、波形比较、代码覆盖、数据流CHASEX、SIGNALSPY、虚拟对象VIRTUALOBJECT、MEMORY窗口、ASSERTION窗口、源码窗口显示信号值、信号条件断点等众多调试功能;C和TCL/TK接口,C调试;对SYSTEMC的直接支持,和HDL任意混

21、合;支持SYSTEMVERILOG的设计功能;对系统级描述语言的最全面支持,SYSTEMVERILOG,SYSTEMC,PSL;ASICSIGNOFF。可以单独或同时进行行为(BEHAVIORAL)、RTL级、和门级(GATELEVEL)的代码。贵州电子信息职业技术学院826QUARTUSII设计平台261软件开发环境及基本流程本设计所用软件主要是QUARTUSII,在此对它做一些介绍。QUARTUSII是ALTERA提供的FPGA/CPLD开发集成环境,ALTERA是世界上最大的可编程逻辑器件供应商之一。QUARTUSII提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理

22、和器件编程。ALTERA公司的QUARTUSII开发工具人机界面友好、易于使用、性能优良,并自带编译、仿真功能。QUARTUSII软件完全支持VHDL设计流程,其内部嵌有VHDL逻辑综合器。QUARTUSII也可以利用第三方的综合工具,如FPGACOMPILERII,并能直接调用这些工具。同样,QUARTUSII具备仿真功能,同时也支持第三方的仿真工具。此外,QUARTUSII与MATLAB和DSPBUILDER结合,可以进行基于FPGA的DSP系统开发,是DSP硬件系统实现的关键EDA技术。QUARTUSII包括模块化的编译器。编译器包括的功能模块有分析/综合器、适配器、装配器、时序分析器、

23、设计辅助模块、EDA网表文件生成器、编辑数据接口等。可以通过选择STARTCOMPILATION来运行所有的编译器模块,也可以通过选择START单独运行各个模块。在COMPILERTOOL窗口中,可以打开该模块的设置文件或报告文件,或者打开其它相关窗口。图23上排所示的是QUARTUSII编译设计主控界面,它显示了QUARTUSII自动设计的各主要处理环节和设计流程,包括设计输入编辑、设计分析与综合、适配、编程文件汇编、时序参数提取以及编程下载几个步骤。图23下排的流程框图是与上面的QUARTUSII设计流程相对照的标准的EDA开发流程。图形或HDL编辑ANALYSISINPUTCLK_50M

24、INPUTRSTOUTPUTCLK1KOUTPUTCLKREGCLK1KREGCLKREG150TMP1REG90TMP2ALWAYSPOSEDGECLK_50MORPOSEDGERSTIFRSTBEGINTMP10CLK1K0ENDELSEBEGINIFTMP124999BEGINCLK1K1B0TMP1TMP11ENDELSEIFTMP149999BEGINCLK1K1B1TMP1TMP11END分频电路产生50MHZ脉冲信号1KHZ扫描频率信号1HZ秒脉冲信号复位信号贵州电子信息职业技术学院15ELSETMP10ENDALWAYSPOSEDGECLK1KORPOSEDGERSTIFRST

25、BEGINTMP20CLK0ENDELSEBEGINIFTMP2499BEGINCLK1B0TMP2TMP21ENDELSEIFTMP2999BEGINCLK1B1TMP2TMP21ENDELSETMP20ENDENDMODULE当50MHZ秒脉冲信号经过分频电路后,输出1KHZ秒脉冲信号作为显示电路的扫描频率。输出1HZ作为计时模块的秒脉冲信号,使其产生时钟信号输出,计时模块如下所示核心源程序如下MODULEJSQCLK,RST,QINPUTCLKINPUTRSTOUTPUT150QREG150QALWAYSPOSEDGECLKORNEGEDGERSTBEGINIFRSTQ0ELSE计数器时

26、钟信号1HZ秒脉冲信号复位信号贵州电子信息职业技术学院16BEGINIFQ15122ELSEIFQ309BEGINQ300IFQ745BEGINQ740IFQ1189BEGINQ1180Q1512Q15121ENDELSEQ118Q1181ENDELSEQ74Q741ENDELSEQ30Q301ENDENDENDMODULE该模块完成对计数器编码信息的译码工作,驱动数码管则显示相应的数字。LED显示模块如下所示核心源程序如下MODULELEDLED_SEL,LED_DATA,Q,CLK1K,RSTOUTPUT30LED_SELOUTPUT70LED_DATAINPUTCLK1K,RSTINPU

27、T150QREG30DECREG10SELREG30LED_SEL1KHZ扫描频率时钟信号LED显示译码器复位信号时钟显示贵州电子信息职业技术学院17REG70LED_DATAALWAYSPOSEDGECLK1KORNEGEDGERSTBEGINIFRSTSEL0ELSESELSEL1ENDALWAYSPOSEDGECLK1KBEGINCASESEL2D0DECQ302D1DECQ742D2DECQ1182D3DECQ1512DEFAULTDEC4BZENDCASECASESEL2D0LED_SEL4B01112D1LED_SEL4B10112D2LED_SEL4B11012D3LED_SEL

28、4B1110DEFAULTLED_SEL4B1111ENDCASEENDALWAYSDECBEGINCASEDEC4H0LED_DATA8HC04H1LED_DATA8HF94H2LED_DATA8HA44H3LED_DATA8HB04H4LED_DATA8H994H5LED_DATA8H924H6LED_DATA8H824H7LED_DATA8HF84H8LED_DATA8H804H9LED_DATA8H90DEFAULTLED_DATA8HZENDCASEENDENDMODULE贵州电子信息职业技术学院18顶层源程序核心源程序如下MODULECLOCKCLK_50M,RST,LED_SEL

29、,LED_DATAINPUTCLK_50MINPUTRSTOUTPUT30LED_SELOUTPUT70LED_DATAWIRECLK1K,CLKWIRE150QFPQU1CLK_50M,CLK1K,CLK1,RSTJSQU2RST,CLK,QLEDU3LED_SEL,LED_DATA,Q,CLK1K,RSTENDMODULE贵州电子信息职业技术学院19结果与展望结果将设计程序下载到硬件电路上运行调试后,最终结果与预期效果基本一致,时、分都能够正常计数并能由按键控制校时。在此次的数字钟设计过程中,更进一步地熟悉有关数字电路的知识和具体应用。学会了利用QUARTERII软件进行原理图的绘制,硬件

30、描述语言VHDL的编写,程序的仿真等工作。并能根据仿真结果分析设计的存在的问题和缺陷,从而进行程序的调试和完善。在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的,例如在对具体模块的仿真的过程中,往往没有考虑到整体设计的层面以及与上下模块接口的设计。再加上器件对信号的延时等问题,实际下载硬件电路上后会出现一系列的问题,因此仿真图和电路连接图还是有一定区别的。此次的数字钟设计重在于按键的控制和各个模块代码的编写,虽然能把键盘接口和各个模块的代码编写出来,并能正常显示,但对于各个模块的优化设计还有一定的缺陷和不足。总的来说,通过这次的设计更进一步地增强了动手能力,对数字

31、钟的工作原理也有了更加透彻的理解。在本设计调试过程中遇到了一些问题如下1由于硬件电路的数码管是以静态扫描方式显示的,故显示电路所用芯片的I/O端口高达32个,使得资源利用不合理。2当程序下载到实验箱上后,数码管显示全部为零且计数器不工作,经分析得知程序中的总的清零信号保持有效状态,改动程序后计数器开始计数。展望本设计利用硬件描述语言和FPGA芯片相结合进行数字钟的研究,从中可以看到EDA技术的发展在一定程度上实现了硬件设计软件化。设计的过程变的相对简单,容易修改。相信随着电子技术的发展,数字钟的功能会更加多样化,满足人们的各种需要。贵州电子信息职业技术学院20附图附图1分频模块仿真图贵州电子信息职业技术学院21附图2计时模块仿真图贵州电子信息职业技术学院22附图3显示模块仿真图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。