您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于FPGA的数字电子时钟设计与实现
课程设计(论文)说明书题目:基于FPGA的数字电子时钟设计院(系):信息与通信学院专业:微电子学学生姓名:学号:0900240115指导教师:职称:实验师2012年12月25日桂林电子科技大学课程设计(论文)报告用纸第1页共18页一、所用设备与器材1.1仪器设备使用仪器设备有FPGADE2-70开发板、PC机、信号发生器。图1FPGADE2-70开发板图二.系统方案2.1设计思想利用数字电子技术、EDA设计方法、FPGA等技术,设计、仿真并实现一个基于FPGA的数字电子时钟基本功能,其基本组成框图如图1所示,振荡器采用ALTERA的DE2-70实验板的50MHz输出,分频器将50MHz的方波进行分频进而得到1Hz的标准秒脉冲,时、分、秒计时模块分别由二十四进制时计数器、六十进制分计数器和六十进制秒计数器完成,校时模块完成时和分的校正。扩展功能设计为倒计时功能,从59分55秒至59分59秒,每秒亮一盏灯报时。2.1.1课题背景20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能更进一步,产品更新换代的节奏也越来越快。20世纪80年代末,出现了FPGA(FieldProgrommableGateArray),CAE和CAD技术的应用更为广泛,它们在PCB设计的原理图输入,自动布局布线及PCB分析,以及逻辑设计,逻辑仿真布尔综合和化简等方面担任了重要的角色,桂林电子科技大学课程设计(论文)报告用纸第2页共18页为电子设计自动化必须解决的电路建模,标准文档及仿真测试奠定了基础。硬件描述语言是EDA技术的重要组成部分,VHDL是作为电子设计主流硬件的描述语言。本论文就是应用VHDL语言来实现秒表的电路设计。VHDL语言是标准硬件描述语言,它的特点就是能形式化抽样表示电路结构及行为,支持逻辑设计中层次领域的描述,借用了高级语言的精巧结构简化电路描述,具有电路模拟与验证及保证设计的正确性,支持电路由高层向底层的综合变换,便于文档管理,易于理解和设计重用。EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。EDA设计可分为系统级、电路级和物理实现级。用VHDL语言开发的流程:(1)文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。通常VHDL文件保存为.vhd文件。(2)功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)。(3)逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系。逻辑综合软件会生成.edf(edif)的EDA工业标准文件。(4)布局布线:将.edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA内。桂林电子科技大学课程设计(论文)报告用纸第3页共18页(5)编程下载:确认仿真无误后,将文件下载到芯片中。本设计为一个多功能的数字钟,具有时、分、秒计数显示功能,以24小时的循环计数:具有校对功能。本设计采用EDA技术,以硬件描述语言VHDL为系统逻辑描述手段设计文件,在Quartus工具软件下,采用自顶向下的设计方式,由各个基本模块共同构建了一个基本FPGA的数字钟。系统主芯片采用EP2C70F896C6,有时钟模块、控制模块、计时模块、数据译码模块、显示以及报时模块组成。经编译和仿真所设计的程序,在可编程逻辑器件上下载验证,本系统能够完成时、分、秒的分别显示,由按键输入进行数字钟的校时、清零、启停功能。随着电子技术的发展,数字电路朝着速度快、容量大、体积小、重量轻的方向发展。人们对时间计量的精度要求越来越高,钟表的数字化给人们生产生活带来了极大的方便。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。本次设计以数字电子为主,实现对时、分、秒数字显示的计时装置,周期为24小时,显示满刻度为23时59分59秒,并具有校时功能和报时功能的数字电子钟。课程设计所采用的开发平台:QuartusII是可编程片上系统的综合性设计环境,它支持CPLD和FPGA器件的开发。FPGA(FieldProgrammableGateArray)现场可编程门阵列,内部主要由许多可编程逻辑模块组成,靠纵横交错的分布式可编程互连线连接起来,可构成极其复杂的逻辑电路。本次课程设计所采用的FPGA芯片CycloneII系列的EP2C70F896C6。2.2工作原理及系统框图利用数字电子技术、EDA设计方法、FPGA等技术,设计、仿真并实现一个基于FPGA的数字电子时钟基本功能,其基本组成框图如图1所示,振荡器采用ALTERA的DE2-70实验板的50MHz输出,分频器将50MHz的方波进行分频进而得到1Hz的标准秒脉冲,时、分、秒计时模块分别由二十四进制时计数器、六十进制分计数器和六十进制秒计数器完成,校时模块完成时和分的校正。电子时钟扩展功能为倒计时流水灯。数字电子钟的电路组成框图片如下图:桂林电子科技大学课程设计(论文)报告用纸第4页共18页多功能数字钟顶层模块倒计时模块时计数器(24进制)校时电路分频器分计数器(60进制)秒计数器(60进制)6计数器10计数器时译码显示分译码显示6计数器10计数器分译码显示CP1Hz振荡器图15系统框图1.数字钟电路系统由主体电路和扩展电路两大部分所组成。2.数字电子时钟电路具有时、分、秒计时,秒计数器计满60后向分计数器进位,分计数器计满60后向小时计数器进位,小时计数器按照“24进制”规律计数。3.准确计时,以数字形式显示时、分、秒的时间,计数器的输出经译码器送显示器。4.具有分、时校正功能,校正输入脉冲频率为1Hz5.复位功能,时、分、秒计时清零。6.扩展功能为:具有仿广播电台整点报时的功能,即每逢59分51秒、52秒、53秒、54秒、55秒及57秒,LED绿灯依此点亮,59分59秒时,LED红灯亮,形成倒计时流水灯报时。三.软件方案3.1程序流程图3.1.124进制小时采用24进制计时,当CP↑,EN和nCR为高电平时计数,计数范围为[0,23],使能信号EN等于0时,计时器保持。当高位大于2或高位等于2且低位大于3时,计时器清零,否则继续计时。流程图见下图。桂林电子科技大学课程设计(论文)报告用纸第5页共18页开始CP↑ornCR↓nCR=0?清零EN=0?保持QH2orQ23清零Q=Q+1NYYYYNNN图1624进制程序流程图3.1.210进制流程图当CP↑,EN和nCR为高电平时计数,计数范围为[0,9],使能信号EN等于0时,计时器保持。当计时到9的时候,计时器清零,否则继续计时。流程图见下图。开始CP↑ornCR↓nCR=0?清零EN=0?保持Q=9?清零Q=Q+1NYYYYNNN图1710进制流程图桂林电子科技大学课程设计(论文)报告用纸第6页共18页3.1.36进制当CP↑,EN和nCR为高电平时计数,计数范围为[0,5],使能信号EN等于0时,计时器保持。当计时到5的时候,计时器清零,否则继续计时。流程图见下图。开始CP↑ornCR↓nCR=0?清零EN=0?保持Q=5?清零Q=Q+1NYYYYNNN图186进制流程图3.1.460进制分、秒采用60进制计时,当CP↑,EN和nCR为高电平时计数,计数范围为[0,59],使能信号EN等于0时,计时器保持。当个位等于9时向十位进位;当个位等于9十位等于5,计时器清零,否则继续计时。流程图见下图。开始CP↑ornCR↓nCR=0?清零N个位Q1=9?Q1=Q1+1Q2=Q2+1Q2=5?Q1=9?清零Q1=Q1+1EN=0?保持NYNNYNYYN图1960进制流程图桂林电子科技大学课程设计(论文)报告用纸第7页共18页3.1.5from0to9数码管有7段组成,分共阳极和共阴极,本次设计采用共阳极数码管。当输入为低电平时,数码管显示;当输入为高电平时,数码管不显示。用这样的方法输入不同的高低信号控制数码管的显示。开始CaseDHEX=7'b1111111HEX=b0010010HEX=7'b0000110HEX=7'b0001111HEX=7'b0100000HEX=7'b0100100HEX=7'b1001100HEX=7'b0000001HEX=7'b0000100HEX=1001111HEX=7'b0000000显示0显示1显示2显示3显示4显示5显示6显示7显示8显示9NY图20from0to9流程图3.1.6分频模块开始50MHz方波0.5Hz方波50Hz方波5KHz方波500KHz方波10^2分频10^2分频10^2分频10^2分频图21分频模块流程图桂林电子科技大学课程设计(论文)报告用纸第8页共18页3.1.7总流程图开始开始CP↑ornCR↓CP↑ornCR↓AdjHrkey=1?AdjHrkey=1?时低位=9?时低位=9?低位清零高位进位低位清零高位进位高位2or时23高位2or时23清零清零低位计数低位计数AdjMinKey=1?AdjMinKey=1?秒低位=9?秒低位=9?低位清零高位进位低位清零高位进位低位计数低位计数秒高位=5?秒高位=5?秒高位清零,分低位进位秒高位清零,分低位进位高位计数高位计数分低位=9?分低位=9?低位清零高位进位低位清零高位进位低位计数低位计数高位=5?高位=5?清零清零高位计数高位计数分低位=9?分低位=9?低位清零高位进位低位清零高位进位分高位=5?分高位=5?分清零,时低位位进位分清零,时低位位进位高位计数高位计数时低位=9?时低位=9?高位2or时23高位2or时23清零清零低位计数低位计数低位清零高位进位低位清零高位进位低位计数低位计数NNYYNNYYNNNNYYNNYYNNNNYYNNYYYYNNYYNNYYYYNNNNYYYYNNYY分频模块图22总流程图桂林电子科技大学课程设计(论文)报告用纸第9页共18页3.2程序清单3.2.1头文件complete_clock程序modulecomplete_clock(HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,_50MHzIn,_1Hz,_50Hz,_5KHz,_500KHz,AdjMinkey,AdjHrkey,nCR,Alarm,LED0,LED10,LED3,LED4,LED5,LED6,LED7,LED8,LED9);output[7:0]HEX0,HEX1,HEX2,HEX3,HEX4,HEX5;outputAlarm,_1Hz,_50Hz,_5KHz,_500KHz;outputLED0;outputLED10;outputLED3;outputLED4;outputLED5;outputLED6;outputLED7;outputLED8;outputLED9;wire[7:0]HEX0,HEX1,HEX2,HEX3,HEX4,HEX5;inputnCR,_50MHzIn;wire_1Hz,_50Hz,_5KHz,_500KHz;wireLED
本文标题:基于FPGA的数字电子时钟设计与实现
链接地址:https://www.777doc.com/doc-1886366 .html