ImageVerifierCode 换一换
格式:DOCX , 页数:53 ,大小:1.29MB ,
资源ID:11465953      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11465953.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于FPGA的数字时钟设计毕业设计论文.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于FPGA的数字时钟设计毕业设计论文.docx

1、基于FPGA的数字时钟设计毕业设计论文摘 要本设计为一个多功能的数字时钟,具有时、分、秒计数显示功能,以24小时循环计数;具有校对功能。 本设计采用EDA技术,以硬件描绘语言Verilog HDL为系统逻辑描绘语言设计文件,在QUARTUSII工具软件环境下,采用自顶向下的设计方法,由各个根本模块共同构建了一个基于FPGA的数字钟。系统由时钟模块、控制模块、计时模块、数据译码模块、显示以及组成。经编译和仿真所设计的程序,在可编程逻辑器件上下载验证,本系统可以完成时、分、秒的分别显示,按键进展校准,整点报时,闹钟功能。关键词:数字时钟,硬件描绘语言,Verilog HDL,FPGAAbstrac

2、tThe design for a multi-functional digital clock, with hours, minutes and seconds count display to a 24-hour cycle count; have proof functions function. The use of EDA design technology, hardware-description language VHDL description logic means for the system design documents, in QUAETUSII tools en

3、vironment, a top-down design, by the various modules together build a FPGA-based digital clock. The main system make up of the clock module, control module, time module, data decoding module, display and broadcast module. After compiling the design and simulation procedures, the programmable logic d

4、evice to download verification, the system can complete the hours, minutes and seconds respectively, using keys to cleared , to calibrating time. And on time alarm and clock for digital clock.Keywords: digital clock,hardware description language,Verilog HDL,FPGA 第一章绪论1.1.选题意义与研究现状在这个时间就是金钱的年代里,数字电子钟

5、已成为人们生活中的必需品。目前应用的数字钟不仅可以实现对年、月、日、时、分、秒的数字显示,还能实现对电子钟所在地点的温度显示和智能闹钟功能,广泛应用于车站、医院、机场、码头、厕所等公共场所的时间显示。随着现场可编程门阵列( field program-mable gate array ,FPGA) 的出现,电子系统向集成化、大规模和高速度等方向开展的趋势更加明显, 作为可编程的集成度较高的ASIC,可在芯片级实现任意数字逻辑电路,从而可以简化硬件电路,进步系统工作速度,缩短产品研发周期。故利用 FPGA这一新的技术手段来研究电子钟有重要的现实意义。设计采用FPGA现场可编程技术,运用自顶向下的

6、设计思想设计电子钟。防止了硬件电路的焊接与调试,而且由于FPGA的 I /O端口丰富,内部逻辑可随意更改,使得数字电子钟的实现较为方便。本课题使用Cyclone EP1C6Q240的FPGA器件,完成实现一个可以计时的数字时钟。该系统具有显示时、分、秒,智能闹钟,按键实现校准时钟,整点报时等功能。满足人们得到准确时间以及时间提醒的需求,方便人们生活。1.2.国内外研究及趋势随着人们生活程度的进步和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子时钟,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的创造,相对稳定的机

7、械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,创造了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用,使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式开展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期的显示功能,它更符合消费者的生活需求!因此,电子时钟的出现带来了钟表计时业界跨跃性的进步。我国消费的电子时钟有很多种,总体上来说以研究多功能电子时钟为主,使电子时钟除了原有的显示时间根本功能外,还具有闹铃,报警等功能。商

8、家消费的电子时钟更从质量,价格,实用上考虑,不断的改良电子时钟的设计,使其更加的具有市场。1.3.论文构造第一章详细阐述了近些年来,数字化时钟系统研究领域的动态及整个数字化时钟系统的开展状况,同时分析了所面临的问题与解决方案,从而提出了本论文的研究任务。第二章从研究任务着手,选择符合设计要求的常用芯片及其它元器件,详细阐述了各接口电路的设计与连接,以模块化的形式,整合数字化时钟硬件的设计从小到大,从部分到整体,循序渐进,最终实现一个功能齐全的数字化时钟系统。第三章根据系统设计要求,着手对数字化时钟系统软件进展功能的实现,将各功能模块有机结合,实现时钟走时,实现闹铃、整点报时附加功能。第四章按照

9、设计思路,在联机调试过程中,对时钟系统的缺乏和缺点进展分析,将调试过程作重点的记录。第五章对全文的总结,对本系统功能实现以及制作过程中需要注意的方面,及整个系统软件编写中所汲取的经历教训进展阐述,同时,也对整个研究应用进展展望。第二章编程软件及语言介绍2.1Quarters II编程环境介绍运行环境设计采用quartus II软件实现,因此针对软件需要用到的一些功能在这里进展描绘.Quartus II软件界面简单易操作,如下列图2.1:图Quartus II软件界面图2.1.1菜单栏1)【File】菜单Quartus II的【 File】菜单除具有文件管理的功能外,还有许多其他选项图Quart

10、us II菜单栏图1【New 】选项:新建工程或文件,其下还有子菜单 【New Quartus II Project】选项:新建工程。 【Design File】选项:新建立计文件,常用的有:AHDL文本文件、VHDL文本文件、Verilog HDL文本文件、原理图文件等。 【Vector Waveform Five】选项:矢量波形文件。 2【Open】选项:翻开一个文件。 3【New Project Wizard 】选项:创立新工程。点击后弹出对话框。单击对话框最上第一栏右侧的“按钮,找到文件夹已存盘的文件,再单击翻开按钮,既出现如下图的设置情况。对话框中第一行表示工程所在的工作库文件夹,第

11、二行表示此项工程的工程名,第三行表示顶层文件的实体名,一般与工程名一样。图Quartus II新建工程图4【creat /update】选项:生成元件符号。可以将设计的电路封装成一个元件符号,供以后在原理图编辑器下进展层次设计时调用。 2)【 View】菜单:进展全屏显示或对窗口进展切换,包括层次窗口、状态窗口、消息窗口等。图Quartus II菜单栏全屏切换图3)【Assignments】菜单1【Device】选项:为当前设计选择器件。 2【Pin】选项:为当前层次树的一个或多个逻辑功能块分配芯片引脚或芯片内的位置。3【Timing Ananlysis Setting】选项:为当前设计的 t

12、pd、tco、tsu、fmax等时间参数设定时序要求。 4【EDA tool setting】选项:EDA 设置工具。使用此工具可以对工程进展综合、仿真、时序分析,等等。EDA 设置工具属于第三方工具。 5【Setting】选项:设置控制。可以使用它对工程、文件、参数等进展修改,还可以设置编译器、仿真器、时序分析、功耗分析等。 6【assignment editor】选项:任务编辑器。 7【pin planner 】选项:可以使用它将所设计电路的 I/O 引脚合理的分配到已设定器件的引脚上。图Quartus II菜单栏设定引脚下拉图4)【processing】菜单【processing】菜单的

13、功能是对所设计的电路进展编译和检查设计的正确性。 1【Stop process】选项:停顿编译设计工程。 2【Start Compilation】选项:开场完全编译过程,这里包括分析与综合、适配、装配文件、定时分析、网表文件提取等过程。 3【analyze current file】选项:分析当前的设计文件,主要是对当前设计文件的语法、语序进展检查。 4【compilation report】选项:适配信息报告,通过它可以查看详细的适配信息,包括设置和适配结果等。 5【start simulation】选项:开场功能仿真。 6【simulation report】选项:生成功能仿真报告。 7【

14、compiler tool】选项:它是一个编译工具,可以有选择对工程中的各个文件进展分别编译。 8【simulation tool】选项:对编译过电路进展功能仿真和时序仿真。 9【classic timing analyzer tool】选项:classic时序仿真工具。 10【powerplay power analyzer tool】选项:PowerPlay 功耗分析工具。 图Quartus II菜单栏运行下拉图5)【tools】菜单【tools 】菜单的功能是 1【run EDA simulation tool 】选项:运行EDA仿真工具,EDA是第三方仿真工具。 2【run EDA t

15、iming analyzer tool 】选项:运行EDA时序分析工具,EDA是第三方仿真工具。 3【Programmer 】选项:翻开编程器窗口,以便对 Altera 的器件进展下载编程。图2.7Quartus II仿真菜单下拉图2.1.2工具栏 工具栏紧邻菜单栏下方,它其实是各菜单功能的快捷按钮组合区。2.8Quartus II菜单栏图图2.9Quartus II菜单栏按键功能图2.1.3功能仿真流程1、新建仿真文件图2.10Quartus II菜单栏新建文件夹图2、功能方正操作在菜单上点processing在下拉菜单中,如下列图:图1Quartus II菜单栏processing下拉图2

16、.2Verilog HDL语言介2.2.1什么是verilog HDL语言Verilog HDL是一种硬件描绘语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完好的电子数字系统之间。数字系统可以按层次描绘,并可在一样描绘中显式地进展时序建模。Verilog HDL 语言具有下述描绘才能:设计的行为特性、设计的数据流特性、设计的构造组成以及包含响应监控和设计验证方面的时延和波形产活力制。所有这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的详细控

17、制和运行。Verilog HDL语言不仅定义了语法,而且对每个语法构造都定义了明晰的模拟、仿真语义。因此,用这种语言编写的模型可以使用Ve rilog仿真器进展验证。语言从C编程语言中继承了多种操作符和构造。Verilog HDL提供了扩展的建模才能,其中许多扩展最初很难理解。但是,Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然,完好的硬件描绘语言足以对从最复杂的芯片到完好的电子系统进展描绘。2.2.2主要功能下面列出的是Verilog硬件描绘语言的主要才能:根本逻辑门,例如and、or和nan d等都内置在语言中。用户定义原语UP创立的灵敏性。用

18、户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语。开关级根本构造模型,例如pmos和nmos等也被内置在语言中。提供显式语言构造指定设计中的端口到端口的时延及途径时延和设计的时序检查。可采用三种不同方式或混合方式对设计建模。这些方式包括:行为描绘方式使用过程化构造建模;数据流方式使用连续赋值语句方式建模;构造化方式使用门和模块实例语句描绘建模。Verilog HDL中有两类数据类型:线网数据类型和存放器数据类型。线网类型表示构件间的物理连线,而存放器类型表示抽象的数据存储元件。可以描绘层次设计,可使用模块实例构造描绘任何层次。设计的规模可以是任意的;语言不对设计的规模大小施加任何限制。V

19、erilog HDL不再是某些公司的专有语言而是IEEE标准。人和机器都可阅读Verilog语言,因此它可作为EDA的工具和设计者之间的交互语言。Verilog HDL语言的描绘才能可以通过使用编程语言接口PLI机制进一步扩展。PLI是允许外部函数访问Verilog模块内信息、允许设计者与模拟器交互的例程集合。设计可以在多个层次上加以描绘,从开关级、门级、存放器传送级RTL到算法级,包括进程和队列级。可以使用内置开关级原语在开关级对设计完好建模。同一语言可用于生成模拟鼓励和指定测试的验证约束条件,例如输入值的指定。Verilog HDL可以监控模拟验证的执行,即模拟验证执行过程中设计的值可以被

20、监控和显示。这些值也可以用于与期望值比拟,在不匹配的情况下,打印报告消息。在行为级描绘中,Verilog HDL不仅可以在RTL级上进展设计描绘,而且可以在体系构造级描绘及其算法级行为上进展设计描绘。可以使用门和模块实例化语句在构造级进展构造描绘。如图显示了Verilog HDL的混合方式建模才能,即在一个设计中每个模块均可以在不同设计层次上建模。Verilog HDL还具有内置逻辑函数,例如&按位与和|按位或。对高级编程语言构造,例如条件语句、情况语句和循环语句,语言中都可以使用。可以显式地对并发和定时进展建模。提供强有力的文件读写才能。语言在特定情况下是非确定性的,即在不同的模拟器上模型可

21、以产生不同的结果;例如,事件队列上的事件顺序在标准中没有定义。图图第三章数字化时钟系统硬件设计3.1系统核心板电路分析本系统采用的开发平台标配的核心板是QuickSOPC,可以实现EDA、SOP和DSP的实验及研发。本系统采用QuickSOPC标准配置为Altera公司的EP1C6Q240C8芯片。(1)核心板的硬件资源核心板采用4层板精心设计,采用120针接口。QuickSOPC核心板的硬件原理框图如图2-1所示:图3.1 QuickSOPC硬件方块图(2)FPGA电路核心板QuickSOPC上所用的FPGA为Altera公司Cyclone系列的EP1C6Q240。EP1C6Q240包含有5

22、980个逻辑单元和92Kbit的片上RAM。EP1C6Q240有185个用户I/O口,封装为240-Pin PQFP。核心板EP1C6Q240器件特性如表2-1。表3-1 核心EP1C6Q240器件特性:Hb7838电子-技术资料-电子元件-电路图-技术应用网站-根本知识-原理-维修-作用-参数-电子元器件符号-各种图纸特性核心板EP1C6Q240器件逻辑单元LE5980M4K RAM 块20RAM总量bit92160PLL(个)2最大用户I/O数个185配置二进制文件.rbf大小bit1167216可选串行主动配置器件EPCS1/ EPCS4/ EPCS16(3)配置电路Cyclone FP

23、GA的配置方式包括:主动配置形式、被动配置形式以及JTAG配置形式。本系统采用的是JTAG配置形式下载配置数据到FPGA。通过JTAG结果,利用Quartus II软件可以直接对FPGA进展单独的硬件重新配置。Quartus II软件在编译时会自动生成用于JTAG配置的.sof文件。Cyclone FPGA设计成的JTAG指令比其他任何器件操作形式的优先级都高,因此JTAG配置可随时进展而不用等待其他配置形式完成。JTAG形式使用4个专门的信号引脚:TDI、TDO、TMS以及TCK。JTAG的3个输入脚TDI、TMS和TCK具有内部弱上拉,上拉电阻大约为25k。在JGTA进展配置的时候,所有用

24、户I/O扣都为高阻态。(4)时钟电路FPGA内部没振荡电路,使用有源晶振是比拟理想的选择。EP1C6Q240C8的输入的时钟频率范围为15.625387MHz,经过内部的PLL电路后可输出15.625275MHz的系统时钟。当输入时钟频率较低时,可以使用FPGA的内部PLL调整FPGA所需的系统时钟,使系统运行速度更快。核心板包含一个48MHz的有源晶振作为系统的时钟源。如图2-2所示。为了得到一个稳定、准确的时钟频率,有源晶振的供电电源经过了LC滤波。本系统硬件整体设计框图如图2-3所示:图3.2数字时钟系统硬件电路总体框图3.2系统主板电路分析3.2.1时钟模块电路FPGA内部没振荡电路,

25、使用有源晶振是比拟理想的选择。EP1C6Q240C8的输入的时钟频率范围为15.625387MHz,经过内部的PLL电路后可输出15.625275MHz的系统时钟。当输入时钟频率较低时,可以使用FPGA的内部PLL调整FPGA所需的系统时钟,使系统运行速度更快。核心板包含一个50MHz的有源晶振作为系统的时钟源。为了得到一个稳定、准确的时钟频率,有源晶振的供电电源经过了LC滤波。图3.3 系统时钟电路图3.2.2显示电路由于本设计需要显示时间信息包括:时、分、秒,显所以采用主板上七段数码管显示电路与系统连接实现显示模块的功能。主板上七段数码管显示电路如图2-4 所示,RP4和 RP6 是段码上

26、的限流电阻,位码由于电流较大,采用了三极管驱动。图3.4七段数码管显示电路图数码管 LED显示是工程工程中使用较广的一种输出显示器件。常见的数管有共阴和 共阳 2 种。共阴数码管是将 8 个发光二极管的阴极连接在一起作为公共端,而共阳数码管是将 8 个发光二极管的阳极连接在一起作为公共端。公共端常被称作位码,而将其他的 8 位称作段码。如图 2-5所示为共阳数码管及其电路,数码管有 8 个段分别为:h、g、f、e、d、c、b 和ah 为小数点 ,只要公共端为高电平“1 ,某个段输出低电平“0那么相应的段就亮。 图3.5七段数码管显示电路图从电路可以看出,数码管是共阳的,当位码驱动信号为 0时,

27、对应的数码管才能操作;当段码驱动信号为 0 时,对应的段码点亮。3.2.3键盘控制电路键盘控制电路要实现时钟系统调时的功能和闹铃开关的功能。本设计采用主板上的独立键盘来实现这两个功能。当键盘被按下是为“0,未被按下是为“1。电路连接图如图2-6所示。电路中为了防止FPGA的I/O设为输出且为高电平在按键下直接对地短路,电阻RP9、RP10对此都能起到保护作用。图3.6 键盘电路图3.2.4蜂鸣电路设计如图2-7所示,蜂鸣器使用 PNP三极管进展驱动控制,蜂鸣器使用的是交流蜂鸣器。当在 BEEP输入一定频率的脉冲时,蜂鸣器蜂鸣,改变输入频率可以改变蜂鸣器的响声。因此可以利用一个 PWM 来控制

28、BEEP,通过改变 PWM 的频率来得到不同的声响,也可以用来播放音乐。假设把 JP7断开,Q4 截止,蜂鸣器停顿蜂鸣。图3.7蜂鸣电路图第四章数字化时钟系统软件设计4.1整体方案介绍4.1.1整体设计描绘设计中的数字时钟,带有按键校准,定点报时,数码管显示等功能。因此数字时钟所包含的模块可分为,分频模块,按键模块,计时校准模块,闹钟模块,LED显示模块,模块之间的关系下列图:针对框图流程,设定出各个模块的需求:1、分频电路:针对计时器模块与闹钟设定模块的需求,可以知道分频模块需要生成一个1Hz的频率信号,确保计时模块可以正常计数。2、计时器模块:计数模块的作用是收到分频模块1Hz频率的信号线

29、,能进展正确计时,并且可以通过按键进展时间的修改,且当整点时,给蜂鸣器产生使能信号,进展整点报时,播放音乐。3、闹钟设定模块:可根据按键的设定闹钟的时间,当计时模块的时间与闹钟设定模块的时间相等的时候,给蜂鸣器一个使能信号,蜂鸣器闹铃。4、蜂鸣器模块:根据计时模块,闹钟模块给出的使能信号,断定蜂鸣器是整点报时,还是闹钟响铃。整点报时会播放音乐,闹钟时嘀嘀嘀报警。5、LED显示模块:根据实际的需求显示计时模块的时间,还是闹钟设定模块的时间,8个七段码LED数码管,进展扫描方式显示数据。4.1.2整体信号定义对整个模块进展信号定义。接口及存放器定义module clock(clk,key,dig,

30、seg,beep);/ 模块名 clock input clk; / 输入时钟 input 4:0 key; /输入按键 ,key3:0分别为秒,分钟,小时的增加按键。Key4为闹钟设置按键,key5为校准设置按键。output 7:0 dig; / 数码管选择输出引脚 aoutput 7:0 seg; / 数码管段输出引脚output beep; /蜂鸣器输出端 reg 7:0 seg_r = 8h0; /定义数码管输出存放器 reg 7:0 dig_r; /定义数码管选择输出存放器 reg 3:0 disp_dat; / 定义显示数据存放器 reg 8:0 count1; /定义计数存放器

31、reg 14:0 count; /定义计数中间存放器 reg 23:0 hour = 24h235956; / 定义如今时刻存放器 reg 23:0 clktime = 24h000000; /定义设定闹钟reg 1:0 keyen = 2b11; / 定义标志位 reg 4:0 dout1 = 5b11111;reg 4:0 dout2 = 5b11111;reg 4:0 dout3 = 5b11111; / 存放器 wire 4:0 key_done; / 按键消抖输出 reg 15:0 beep_count = 16h0; /蜂鸣器存放器reg 15:0 beep_count_end = 16hffff; /蜂鸣器截止存放器reg clkt

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1