您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 090910064-基于FPGA的多功能万年历
090910064-基于FPGA的多功能万年历第1页共37页基于FPGA的多功能万年历1.绪论现代科技在不断进步电子技术在不断发展,电子产品设计复杂程度也在不断增加。而且电子产品的更新换代也越来越快,现在只靠传统的纯硬件的设计方法已经不能满足现代人们的要求。EDA就是典型的硬件设计软件化的设计平台。EDA是一项非常先进的技术,它有许多别的技术没有的优点:像单片机需要先画出硬件图再编写相对应的程序,而EDA是先编好程序再画图的,而且模块化的编程还会在软件中生成相应的封装元件,使最后画原理图变的更加简单;可以编好程序就直接仿真,程序出现错误可以在源文件内部直接改;并且设计好的总系统可以集成在一个体积小、功耗低、可靠性高的芯片上。本设计采用VHDL语言,VHDL语言是一种全方位的数字系统设计和测试的硬件描述。它支持原理图输入方法以及传统的文件输入方。对于前者适用于小规模的数字集成电路,并进行模拟仿真。而对于大规模的、复杂的系统,如果用纯原理图设计方法的话的,由于种种条件和环境制约,会导致工作效率底而且容易出错的等缺点。在信息技术的今天,集成电路逐渐的趋向于系统化、微尺寸化、低功耗高集成化,因此,高密度可编程逻辑器件和VHDL越来越得到设计者的青睐。它具有极强的描述能力,支持结构、数据流、行为三种描述形式的混合的设计方式,描覆盖面广、抽象能力强。它能支持系统行为级、逻辑门级和寄存器传输级三个不同层次的设计。在本设计中用到的FPGA是特殊的ASIC芯片,ASIC是一种带有逻辑处理的加速处理器的专用的系统集成电路。它具有功耗低、速度快、集成度、设计制造成本低等优点。本设计是研究基于FPGA的多功能万年历的设计,主要实现以下功能:能够显示年、月、日、时、分、秒,时间采用24小时制。当时间不准确时还可以手动校准。本系统还能实时的显示当前的温度,扩展了万年历的功能。我采用的是数字温度传感器DS18B20和FPGA组成的温度采集系统,此系统具有硬件电路简单,抗干扰能力强等优点。第2页共37页1.1项目研究的背景和意义现在是一个科技迅速发展的时代。新的电子产品、电子技术日异更新。生在21世纪的我们应该都深深的体会到电子产品给我们带来的变化,而且电子产品更是随处可见。随着科技的发展人们的生活节奏也越来越快,时间对人们来说也是越来越宝贵。在这样快节奏的生活里,人们常常会忘记了时间,一旦遇到重要的会议或重要的事情而忘记了时间,这将会带来很大的损失。而传统的钟表已经不能满足这些人的要求。随着科技的发展和社会的进步,人们对数化日历的要求也越来越高。数字化的日历具有功耗低、多功能化、一劳永逸等优点,因此数字化的日历必将取代传统的日历走入寻常百姓家。本设计采用的是数字温度传感器DS18B20和FPGA组成的温度采集系统。数字温度传感器DS18B20,可以直接与FPGA相连,构成简单的测量电路,这样就方便实现远距离传输和多点温度测量;而且FPGA相对于单片机来说速度快,修改方便,可以减少开发成本和时间,并增加了系统的灵活性。EDA是一项非常先进的技术,它有许多别的技术没有的优点:像单片机需要先画出硬件图再编写相对应的程序,而EDA是先编好程序再画图的,而且模块化的编程还会在软件中生成相应的封装元件,使最后画原理图变的更加简单;可以编好程序就直接仿真,程序出现错误可以在源文件内部直接改;并且设计好的总系统可以集成在一个体积小、功耗低、可靠性高的芯片上。1.1课题相关技术的发展现代电子产品基本上都是大量使用大规模的可编程的逻辑器件,这样就降低了产品的功耗、缩小了电子产品的体积、功能也越来越多样化、产品的性能也得到提高。现代计算机技术在电子产品开发中得到了广泛的应用,以前需要一两个月才能开发出来的,现在只要几个星期甚至更短的时间,不仅仅缩短了电子产品的研发周期还提高了自动化程度,降低了生产的成本,增加了产品的竞争力。EDA(电子设计自动化)是最近几年才迅速发展起来的,它是将计算机软件、硬件、微电子技术交叉运用的现代电子技第3页共37页术。现在电子产品都在趋于数字化,基于EDA的数字系统的设计具有很大的应用市场。可编程逻辑器件自EDA诞生以来,经历了PLA、PAL、GAL、CPLD、FPGA几个阶段。现在比较流行的可编程逻辑器件就是美国ALTERA公司的FPGA和CPLD。可编程逻辑器件采用全新的结构和先进的技术可以根据用户的要求来构造逻辑功能的数字集成电路,加上MaxplusII(或最新的QUARTUS)开发环境,不仅简化了电路的设计,降低了成本,提高了系统的可靠性,也给数字化设计带了了重大变革。电子设计的核心就是EDA技术,EDA技术是指以计算机为开发平台,融合应用电子技术,计算机技术而研制成的通用软包。EDA技术经历了70年代的计算机辅助设计CAD、80年代的计算机辅助工程CAE和电子系统设计自动化ESDA三个发展阶段。它的基本特征是:“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,提高了设计的效率,比单片机或C语言要简单易懂。本设计利用硬件描述语言结合可编程逻辑器件进行的,VHDL语言具有一下优点:(1)VHDL的描述范围宽使它成为高层次的设计的核心,将工作人员的重心提高到了系统功能的实现与调试。(2)VHDL可以用简洁的代码来描述复杂的控制逻辑设计,灵活且方便。(3)VHDL不依赖与特定的器件,方便了工艺的转换。(4)VHDL是一个标准的语言,众多的EDA厂商都支持,因此移植性强。1.2课题研究的内容本设计主要研究基于FPGA的多功能万年历,要求如下:(1)显示年、月、日、时、分、秒,时间以24小时为一个周期。(2)具有校准以及报时功能,可以对年、月、日、时、分及秒进行单独校对,使其校正到标准时间。(3)能够实时的显示当前温度。1.3设计方案论证与选择方案一:运用单片机C语言实现多功能万年历的设计按照设计要求,系统软件编程应包含三个部分:输入部分,选择导出部分,输出显第4页共37页示部分。相应的系统硬件部分除了核心模块单片机之外,主要的外围部件还有按键、传感器等。其中单片机系统作为中央处理单元,根据逻辑开关输入的信号转换为显示部分能识别的方式传递给显示部分,显示部分接到传来的指示信号做出相应的显示。此方法运用了当前最常见的C语言,方案较简洁,不过C语言难以掌握,因此本设计不采用此方法。方案二:运用数字逻辑电路实现多功能万年历的设计采用74138、74161和其它器件构成实现对万年历控制功能的硬件电路。由设计要求可知,可以把电路分为按键控制电路,译码、显示、驱动等各部分电路。开关控制电路,译码与显示驱动电路,显示电路。这种方案是由纯硬件电路实现的设计,优点是省略了软件部分的设计,但是这种方案因为是纯硬件实现的,成本较高,误差较大,不灵活,因此在本次设计中也不予以采用。方案三:运用EDA技术实现多功能万年历的设计根据设计要求,系统设计依靠EDA的MAX+PLUSⅡ设计软件、VHDL硬件描述语言及FPGA芯片实现多功能万年历的设计。即在MAX+PLUSⅡ软件中用VHDL语言编写各模块程序,通过编译后分别封装成元器件,这些元器件生成顶层文件,再画出硬件电路图,这是EDA硬件软件化的一大特点。最后借助EDA实验箱实现硬件仿真的功能。软硬件相结合,层次分明,结构清晰。且VHDL语言简单易懂,FPGA芯片也是当今的流行趋势。综合以上三种设计方案,方案三是最为经济合理的,也是我们最能理解的。2.FPGA简介2.1FPGA概述FPGA(FieldProgrammableGateArray)即现场可编程门阵列,它是在PLA、GLA、CPLD等可编程器件的基础上进一步发展的产物。它是专用集成电路中的一种半定制电路,具有门电路数多的优点。2.2FPGA基本结构FPGA器件在结构上,由逻辑功能块排列为阵列,它的结构可以分为三个部分:可编程逻辑块CLB(ConfigurableLogicBlock)可编程I/O模块(Input/OutputBlock)和第5页共37页可编程内部连线PI(ProgrammableInterconnect)。(1).CLB是FPGA的主要组成部分,图2-1是CLB基本结构框图。图2-1CLB基本结构(2).可编程输入/输出模块IOB,编程灵活根据系统功能的需要可被配置为输入、输出或双向传输三种功能,实现不同的逻辑功能,满足不同的的逻辑接口的需要。(3).可编程内部连线PI。XC4000系列芯片的连线资源由水平和垂直的布线通道构成,较短的线段分布于单个CLB中,较长的线段跨接与两个CLB之间,而最长的线段跨越怎个芯片。可编程开关用来把CLB的输入输出接到其周围的线段上,并且可以将两个不同的线段连接在一起。3.多功能万年历总体设计方案3.1多功能万年历的构成日历实际上是一个对标准频率(1HZ)进行计数的计数电路。因此标准的1HZ时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。同时为了保证与标准时间的一致,需要在电路上加上一个校准电路。同时图3-1所示为日历的一般构成框CLBCLBCLBCLBCLBCLBBCLBCLBCLBCLBCLBCLBCLBCLBCLBBCLBCLBCLB可编程开关矩输入输出模块互连资源第6页共37页图。主要包括时间基准电路、计数器电路、控制电路、译码和显示电路。其核心的部分就是控制逻辑电路,不断完善它可以增加系统的功能。图3-1日历时钟部分组成框图本设计还具有显示年、月、日的功能,其显示范围为其总体框架如图3-2。译码驱动译码驱动译码驱动译码驱动译码驱动译码驱动时十位计数时个位计数分十位计数分个位计数秒十位计数秒个位计数校时控制电路校分控制电路分频器电路分频器电路晶体振荡器电路1HZ第7页共37页图3-2总体框架3.2多功能万年历工作原理日历的核心部分就是时钟部分,实际就是对标准的时钟信号进行计数,秒计数器对秒脉冲信号进行计数,记满60秒后就分计数器进位同时又从0开始计数;分计数器对秒的进位信号进行计数,记满60后向时计数器进位同时又从0开始计数;同理时计数器为24进制计数器,记满24向日计数器进位同时计数器清零,重新开始计数。由于日数根据年、月的不同天数也不同,必须由年、月共同决定,日记满后12个月后向年计数器进位。各个计数器的输出分别经过译码器送数码管显示。当计时出现错误时,可以用校准电路对年、月、日、时、分、秒进行校准。在系统中除了需要校准的控制信号外,还需要有时钟的使能信号、清零信号。这些控制信号由一个4×4矩形键盘输入。七段译码器构成译码显示电路,数码管完成显示功能。在此的系统中利用数字温度传感器DS18B20和FPGA组成的温度采集系统经处理后送至数码管显示即可。第8页共37页4单元电路4.1分频模块电路设计与实现在此系统中晶体振荡器的信号的稳定性与精准度直接影响到整个日历时钟的准确度。为了保证基准时钟的准确性,所以我决定选用特性非常好的石英晶体,它只让某一特定频率点的信号通过,其他频率段的信号全部会被它衰减,而且它震荡信号的频率与震荡电路中的元器件完全无关。所以这种震荡电路输出的是准确度极高的信号,再利用分频电路的话就会得到标准的秒信号,其组成框图如图4-1。图4-1秒信号产生电路框图本系统使用的晶体振荡器电路给数字钟提供一个频率稳定准确的40MHz的方波信号,其输出至分频电路。分频电路的逻辑框图如图4-2所示。图4-2分频电路模块分频电路石英晶体振荡电路秒信号第9页共37页图4-3分频模块电路设计其内部结构图见图4-3。电路中采用Max+plusII元器件库中的计数器7490进行硬件分频。经分频后输出1HZ的标准秒信号CLK1、4MHZ的按键扫描信号、1KHZ的按键去抖信号。该模块的时序仿真图如图4-4所示,满足设计要求。图4-4分频模块仿真图4.2温度测量模块电路设计与实现在本统中利用数字温度传感器DS18B20和FPGA组成的温度采集系统,这样就不需要模数转换电路和信号放大电路,组成的硬件电路简单,抗干扰能力强。4.2.1温度传感器的选择温度传感器根据是否要与被检测介质接触,分
本文标题:090910064-基于FPGA的多功能万年历
链接地址:https://www.777doc.com/doc-7320855 .html