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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

fpga数字钟实训报告具有点报时按键调时功能.docx

1、fpga数字钟实训报告具有点报时按键调时功能桂林电子科技大学职业技术学院FPGA应用实训报告数字钟学院(系): 电子信息工程系专 业: 电子信息工程技术学 号: 学生姓名: 李建军 指导教师: 叶俊明 摘 要. 11绪论 . 12课题背景 . 22.1设计任务与要求 22.2设计目的 . 32.3总体设计方案 33程序方案论证 . 33.1分频方案论证 33.1.1分频模块方案 I . 33.1.2分频模块方案 II . 33.2计时模块方案论证 43.2.1计时模块方案 I . 43.2.2计时模块方案 II 53.3方案总结 64系统软件设计 . 64.1程序流程图 64.2计时模块 64

2、.3闹钟模块 64.4显示模块 75系统硬件设计 85.1FPGA的介绍 85.1.1FPGA 概述 85.1.2FPGA 基本结构? 85.2原理框图 106调试 116.1调时程序调试 116.2闹钟程序调试 11总结 12致谢 13参考文献 14附录 15数字钟是由振荡器、分频器、计数器、译码器、数码显示器等几部分组成。振荡电路:主要用来产生时间标准信号,因为时钟的精度主要取决于时间标准信 号的频率及稳定度,所以采用石英晶体振荡器。分频器:因为振荡器产生的标准信号频率很高,要是要得到“秒”信号,需一 定级数的分频器进行分频。计数器:有了“秒”信号,则可以根据 60秒为1分,24小时为1天

3、的制,分别 设定“时”、“分”、“秒”的计数器,分别为 60进制,60进制,24进制计数 器,并输出一分,一小时,一天的进位信号。译码显示:将“时” “分” “秒”显示出来。将计数器输入状态,输入到译码器,产生驱动数码显示器信号,呈现 出对应的进位数字字型。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电 路上加一个校时电路可以对分和时进行校时。另外,计时过程要具有报时功能, 当时间到达整点时开始响,蜂鸣器不停地响 1分钟后不响。关键词:数字钟,振荡,计数,校正,报时1绪论数字钟是采用数字电路实现对时、分、秒,数字显示的计时装置,广泛用 于个人家庭,车站,码头、办公室等公共场所

4、,成为人们日常生活中不可少的必 需品,由于数字集成电路的发展和石英振荡器的广泛应用, 使得数字钟的精度远 远超过老式钟表, 钟表的数字化给人们生产生活带来了极大地方便, 而且大大地 扩展了钟表原先的报时功能。 诸如定时自动报警、 校时自动打铃、 时间程序自动 控制、定是广播、自动启闭路灯、定时开关烘箱、通断动力设备,甚至各种定时 电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟 及扩大其应用有着非常现实的意义。伴随着集成电路技术的发展,电子设计自动化(EDA)技术逐渐成为数字电路 设计的重要手段。基于FPGA勺EDA技术的发展和应用领域的扩大与深入,使得 EDA技术在电子

5、信息,通信,自动控制,计算机等领域的重要性日益突出。本设 计给出了一种基于FPGA勺多功能数字钟方法,测试结果表明本设计实现了一个 多功能的数字钟功能,具有时、分、秒计时显示功能,以 24 小时循环计时;具 有校正小时和分钟的功能;以及清零,整点报时功能。2课题背景数字化的钟表给人们带来了极大的方便。近些年,随着科技的发展和 社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人 们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有 电子闹钟、数字闹钟等等。利用EDA技术进行电子系统的设计具有以下几个特点:采用自顶向下的 设计方法; 用软件的形式设计硬件 ; 用软件的方式

6、设计过程中可用相关软件 进行仿真;系统可现场编程 ,在线升级;整个系统集成在一个芯片上 ,体积小, 功耗低,可靠性高因此,EDA技术是现代电子设计的发展趋势.?用硬件描述语言结合 FPGA可编程器件可以极大地方便集成电路的设 计,使其成为集成电路的发展趋势,也是每一个电子工程师必须掌握的技 术,故基于FPGA现场可编程门阵列)的设计型实验成为高校电类专业学生 的必修且重要环节。2.1设计任务与要求(1)设计一个数码管实时显示时、 分、秒的数字时钟 (24 小时显示模式)( 2)到点报时、闹钟时间固定为 8:003)同时设置按键调时2.2设计目的为了更好的运用掌握FPG/多功能数字钟编程知识,学

7、会自我找到问题、分 析问题并解决问题的方法, 培养认真学习和工作的作风, 锻炼自己的思考能力和 团结合作能力。充分发挥思维创造性, 开发功能多样的扩展功能电路并锻炼自己 的动手能力。2.3总体设计方案(1) 方案一 用数电制作一个数字钟,通过 74L74 芯片实现数码管计数功能用与非门结合,用按键来设置实现闹钟和整点报时的功能。(2) 方案二 用 fpga 来制作一个数字钟,通过编写程序来控制 fpga 芯片输出输入来得到数字钟的功能,同时用 fpga 板来实现该功能。(3) 方案三 用单片机来控制数字钟,通过编写程序来实现时钟计时功能,通过单片机试验箱来实现该功能,最终达到相应的结果。总结:

8、 方案一用数电的方式做数字钟, 用的芯片多同时之制作麻烦, 不适合制做数 字钟。方案二制作比较便捷,只需要写程序,制作业是比较方便,也比较实现功 能。方案三用单片机虽然也是编写程序,可是和 FPGA相比我个人觉得还是比单 片机好做一点。综合上述我选择 FPGA来制作该程序3程序方案论证3.1分频方案论证3.1.1分频模块方案 I 定义变量并且设定一个上限值,每次加计数到该上限值时,输出该计数值的最高位parameter DIV_SIZE=25;always(posedge clock)counter=counter+1 ;assign clkdiv=counterDIV_SIZE-1;3.1.

9、2分频模块方案 II定义一个变量,使得 counter_1hz=20 000 000 ,使得输入 1hz 信号, 让 counter_1hz 自加 always(posedge clk)Begin if(counter_1hz=20 000 000)begin counter_1hz=0;clk_1hz=10000)begin counter=0;clk_1khz=clk_1khz;endelse begin counter=counter+1;End3.2计时模块方案论证3.2.1计时模块方案 I计时分每个信号的高低位进行判断及计时if(sL=9) begin sL=0;if(sH=5) b

10、egin sH=0; if(mL=9)begin mL=0; if(mH=5) begin mH=0; if(hL=9)begin hL=0;hH=hH+1;endelse if(hL=3&hH=2)begin hL=0;hH=0; end else hL=hL+1;end else mH=mH+1;endelse mL=mL+1;end else sH=sH+1;endelse sL=4&hour_h=2)|(hour_h=3)beginhour_h=0;hour_l=0;endend else b=b+1;end3.3方案总结分频采用方案 2来实现设计。方案 2 在思路方面较为通俗易懂,且

11、判 断过程简短明了,在最终的显示时出现毛刺干扰现象,其他方案中不便于 增加小时和分钟的调节信号,方案最终失败。方案 2 比较判断复杂,在最 终的数码管显示时可能不怎么稳定。方案 2 我们上课时学的也是这个方案 用起来也比较熟悉。综合考虑,使用方案 2。4系统软件设计软件部分有分频模块,按键防抖动,时钟主体,闹铃模块,动态扫描 模块等来实现此方案。程序流程图 3-1使用此方案首先进行分频得到一个信号,使得信号稳定。进而促使时 钟主体工作。再通过按键防抖来控制调时和闹钟模块最后用动态扫描来实 现软件的所有功能。4.1 程序流程图图 3-14.2计时模块second_l,second_h;miniu

12、te_l,miniute_h;hour_l,hour_h; 分 别 表 示秒,分,小时的高位和低位L组成十六进制计数器。以1hz作为一秒,自 加计时,当秒加到 60 后自动向分进位,当分加到 60 后自动向时进位,当 时到 24 小时候变为 00。4.3闹钟模块always(posedge clk) begin报时,8:00 时,if(hour_h=0&hour_l=8&miniute_h=0&miniute_l=0)/8:00 闹钟模块 begin if(counter_clock=8000)begin counter_clock=0;alarm_clock=alarm_clock;ende

13、lse counter_clock=counter_clock+1;end闹钟模块从 CLk 中分出 8000hz 的频率,驱动蜂鸣器。当时钟到 蜂鸣器电平取反,产生报时。4.4显示模块/ 动态扫描模块always(posedge clk_1khz)begincase(state) s0:begin seg_bit=4b0111;display_tab=miniute_l; state=s1;led_test=1;end s1:begin seg_bit=4b1011;display_tab=miniute_h; state=s2;led_test=1;end s2:begin seg_bit

14、=4b1101; display_tab=hour_l;state=s3;led_test=clk_1hz;ends3:begin seg_bit=4b1110;display_tab=hour_h;state=s0;led_test=1;enddefault:begin led_out=7bz;state=0;endendcaseend 动态显示扫描,将分的高低位和时的高低位依次显示在 4 位数码管上。5系统硬件设计5.1FPGA 的介绍5.1.1FPGA 概述FPGA是现场可编程门阵列(Field?Programmable?Gate?Array )的简称,与 之相应的 CPLD是复杂可编程

15、逻辑器件 (Complex Programmable ?LogicDevice )的简称,两者的功能基本相同,只是实现原理略有不同,所以有时可 以忽略这两者的区别,统称为可编程逻辑器件或 CPLD/PGFA CPLD/PGFAL乎能完成任何数字器件的功能,上至高性能 CPU下至简单的74电路。它如同一张白纸或是一堆积木, 工程师可以通过传统的原理图输入或硬件描述语言自由的设 计一个数字系统。通过软件仿真可以事先验证设计的正确性,在 PCB完成以后,利用CPLD/FPGA勺在线修改功能,随时修改设计而不必改动硬件电路。使用 CPLA/FPG开发数字电路,可以大大缩短设计时间,减少 PCB面积,提

16、高系统的 可靠性。这些优点使得 CPLA/FPGA技术在20世纪90年代以后得到飞速的发展, 同时也大大推动了 EDA软件和硬件描述语言HDL的进步。?5.1.2FPGA 基本结构 ?FPGA具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块来实现不同的设计。 ?FPG/一般由3种可编程电路和一个用于存放编程数据的静态存储器 SRAM&成。这3种可编程电路是:可编程逻辑模块( CLB-Configurable?Logic?Block )、输入 / 输出模块 ( IOB-I/O?Block )和互连资源( I R Interconnect? Resou

17、rce )。可编程逻辑 模块CLB是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于 整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的 接口,它通常排列在芯片的四周; 可编程互连资源包括各种长度的连接线段和一 些可编程连接开关,它们将各个 CLB之间或CLB IOB之间以及IOB之间连接起 来,构成特定功能的电路。 ?1.CLB是FPGA的主要组成部分。它主要由逻辑函数发生器、触发器、数据选择器等电路组成。CLB中3个逻辑函数发生器分别是 G F和H,相应的输出是 G ?、F和H 。G有4个输入变量 G1 G2 G3和G4; F也有4个输入变量F1、 F2

18、、F3和F4。这两个函数发生器是完全独立的,均可以实现 4输入变量的任意组合逻辑函数。逻辑函数发生器H有3个输入信号;前两个是函数发生器的输出 G和F,而另一个输入信号是来自信号变换电路的输出 H1。这个函数发生器能实现 3 输入变量的各种组合函数。这 3个函数发生器结合起来,可实现多达 9 变量的逻辑函数。?CLB中有许多不同规格的数据选择器(四选一、二选一等), 通过对CLB内部数据选择器的编程,逻辑函数发生器 G F和H的输出可以连接 到CLB输出端X或Y,并用来选择触发器的激励输入信号、时钟有效边沿、时钟 使能信号以及输出信号。 这些数据选择器的地址控制信号均由编程信息提供, 从 而实

19、现所需的电路结构。CLB中的逻辑函数发生器F和G均为查找表结构,其工 作原理类似于ROM F和G的输入等效于ROM勺地址码,通过查找 ROM中的地址 表可以得到相应的组合逻辑函数输出。 另一方面,逻辑函数发生器F和G还可以 作为器件内高速RAM或小的可读写存储器使用,它由信号变换电路控制。 ?2.输入/输出模块IOB。IOB提供了器件引脚和内部逻辑阵列之间的连接。 它 主要由输入触发器、输入缓冲器和输出触发 /锁存器、输出缓冲器组成。 ?每个 IOB 控制一个引脚,它们可被配置为输入、输出或双向 I/O 功能。当 IOB控制的引脚被定义为输入时,通过该引脚的输入信号先送入输入缓冲器。缓 冲器的

20、输出分成两路:一路可以直接送到 MUX另一路经延?时几纳秒(或者不延时)送到输入通路D触发器,再送到数据选择器。通过编程给数据选择器不同 的控制信息,确定送至CLB阵列的I1和I2是来自输入缓冲器,还是来自触发器。?当IOB控制的引脚被定义为输出时,CLB阵列的输出信号OUT也可以有两条 传输途径:一条是直接经MU磁至输出缓冲器,另一条是先存入输出通路 D触发 器,再送至输出缓冲器。IOB输出端配有两只MOSff,它们的栅极均可编程,使 MOS管导通或截止,分别经上拉电阻接通 Vcc、地线或者不接通,用以改善输出波形和负载能力。 ?3.可编程互连资源IR。可编程互连资源IR可以将FPGA内部的

21、CLB和CLB 之间、CLB和 IOB之间连接起来,构成各种具有复杂功能的系统。IR主要由许多 金属线段构成, 这些金属线段带有可编程开关, 通过自动布线实现各种电路的连 接。5.2原理框图FPGA勺多功能数字钟的设计方案是设计一个具有计时、报时和显示这三部分的主要功能。系统原理框图如图 4-1 所示。其中计时功能是整个多 功能数字钟的核心部分;报时顾名思义,也就是在时钟到达整点时的 鸣叫功能;显示起到了一个译码功能,使得程序在实验箱上下载时我们能 清晰、明了的整个运行过程。这三部分相结合,就基本完成了这样的一个 多功能数字钟。图 4-1 数字钟原理框图原理框图功能如下:1首先输入电源然后进入

22、 FPGA芯片,来实现最基本的数字钟计时电路, 其计数输出送 7 段译码电路,由数码管显示。2PPGA芯片工作使得基准频率分频器可分频出标准的 1hz频率信号, 用于秒计数的时钟信号; 分频出频率信号用于校时、 校分的快速递增信号; 分频出 频率信号用于对于按动校时、校分按键的消除抖动。3然后用按键控制电路模块是一个校时、校分、秒清零的模式控制模块, 频率信号用于键的消除抖动。而模块的输出则是一个边沿整齐的输出信号。4控制电路模块是一个校时、 校分、 秒清零的模式控制模块, 64Hz 频率信号用于键 KEY1、KEY2、KEY3 的消除抖动。而模块的输出则是一个边 沿整齐的输出信号。闹时电路模

23、块也需要音频信号以及来自分计数器和时计数器的输出信号6调试6.1 调时程序调试原始程序下载时,数字钟能正常显示,初始化值 7:59 分 55 秒,当到 8:00 时, 蜂鸣器不响没有报时。 按键模块没有进位设计, 调时位按键程序异常显示。 后加 入: if(hour_l =4&hour_h=2)|(hour_l=10)begin hour_l=0;hour_h=hour_h+1;/ 按键进位if(hour_h=3)hour_h=0;程序后按键调时能正常显示,也可以进位。6.2闹钟程序调试原始程序 8:00 没有报时,可能是蜂鸣器频率不对,于是写了个蜂鸣器响的小程序,试着探索蜂鸣器的鸣响频率,最

24、后发现当将 CLK 进行 8000hz分频是,蜂鸣器能响,将此小程序放在:if(hour_h=0&hour_l=8&miniute_h=0&miniute_l=0)条件中能实现 8:00 报时功能。具体程序如下:always(posedge clk) begin if(hour_h=0&hour_l=8&miniute_h=0&miniute_l=0)/8:00 报时,闹钟模块begin if(counter_clock=8000)begin counter_clock=0;alarm_clock=alarm_clock;endelse counter_clock=counter_clock+

25、1;endend总结此次实训基本实现了多功能数字钟的功能,该程序能让数字钟整点报 时,也能够实现按键调时,和 8:00 报时的闹钟功能。不足之处在于闹钟 时间无法自由设定,缺少闹钟设置按键,也无法复位清零。最后是设计作品时的设计逻辑和设计思想,在选择不同的系统方案时 要综合考虑,选择最优方案。各个模块的实现也要考虑综合情况而制定出 最符合实际情况的实现方案,方案间要进行对比、实践,最终确定。在这次的课程设计中我不仅学习到有关程序编写以及设计方面的逻辑 思维,对系统功能的实现也有了较为深入的了解,对各模块的调试等也学 习到不少东西,总之,从这次设计中学到很多东西,也巩固了我的理论学致谢首先要感谢

26、叶俊明老师,老师知识渊博,治学认真而严谨,感谢您从 本文研究幵始一路指导至本论文的完成,从论文题目的选定到论文写作的 指导,经由您悉心的点拨,再经思考后的领悟,常常让我有“山重水复疑 无路,柳暗花明又一村”的豁然幵朗!由衷感谢您在论文上倾注的大量心 血,您宽厚待人的学者风范令我无比感动。感谢授课老师叶俊明老师课上 对我们的教导,你们丰富的授课内容拓宽了我的视野,让我能更顺利的完 成这篇文章;感谢我的同学们,你们不仅让我感受到友情的力量,也让我 感觉到了生活的愉悦,通过课堂讨论学到的思维方式使我受益终生。最后,我要向我的同学表示深深的谢意。你们的理解、支持、鼓励和 鞭策催我更加上进,我竭尽全力的

27、努力,更希望的是能够让你们高兴和满 意。你们的情感永远都是我上进的不竭的动力源泉。这些时光会慢慢的沉 淀下来,但无论何时,我想到这段岁月,都如同是看到一枚珍藏已久的夹 在书里发黄的书签,永远都是那么璀璨、那么绚烂参考文献【1】夏宇闻 . Verilog 数字系统设计教程第二版 . 北京航空航天大学出版社,【 2】康华光等 . 电子技术基础(数字部分)第五版高等教 育出版社,【3】罗朝霞等.CPLD/FPGA设计及应用.北京人民邮电出版社,【4】亿特科技编着.CPLD/FPGA应用系统设计与产品幵发.北京人民邮电 出版 社。【5】付文红.花汉兵着.EDA技术与实验.机械工业出版社【6】崔建明.电

28、工电子EDA仿真技术。 北京高等教育出版社【7】侯伯亨.Verilog HDL硬件描述语言与数字逻辑电路设计.西安电子科 技大学出版附录key,key_1,key_2,key_3,key_4);input clk;input key,key_1,key_2,key_3,key_4;reg clk_1hz;reg clk_1khz;output reg led_test;output reg6:0 led_out;output reg3:0seg_bit;output reg alarm_clock;reg31:0counter_clock;reg20:0counter;reg30:0count

29、er_1hz;reg7:0display_tab;reg7:0second_l,second_h;reg7:0miniute_l,miniute_h;reg7:0hour_l,hour_h;reg1:0state;parameter s0=2d0,s1=2d1,s2=2d2,s3=2d3; / 定时 8:00integer j,b;initialbeginstate=0;counter=0;counter_1hz=0;miniute_l=9;miniute_h=5; second_h=5;second_l=5;hour_h=0;hour_l=7;end / 初始化寄存器,初始时间为 7点 59分 55秒 / 分频模块always(posedge clk)beginbegincounter_1hz=0; clk_1hz=10000)begincounter=0;clk_1khz=clk_1khz;endelsebegin counter=counter+1;end / 时钟分频模块case(display_tab) / 数码管显示

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

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