数字钟实训报告具有8点报时,按键调时功能_第1页
数字钟实训报告具有8点报时,按键调时功能_第2页
数字钟实训报告具有8点报时,按键调时功能_第3页
数字钟实训报告具有8点报时,按键调时功能_第4页
数字钟实训报告具有8点报时,按键调时功能_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-. z.- - - .可修编 .*电子科技大学职业技术学院FPGA应用实训报告数字钟学院系: 电子信息工程系 专 业: 电子信息工程技术学 号: 1212220217 学生*:李建军 指导教师:叶俊明 -. z.目 录TOC o 1-3 h u HYPERLINK l _Toc2134摘 要 PAGEREF _Toc2134 2 HYPERLINK l _Toc15940 1 绪论 PAGEREF _Toc15940 3 HYPERLINK l _Toc109 2 课题背景 PAGEREF _Toc109 4 HYPERLINK l _Toc28745 2.1设计任务与要求 PAGEREF

2、_Toc28745 4 HYPERLINK l _Toc13077 2.2 设计目的 PAGEREF _Toc13077 4 HYPERLINK l _Toc4800 2.3总体设计方案 PAGEREF _Toc4800 4 HYPERLINK l _Toc27191 3 程序方案论证 PAGEREF _Toc27191 5 HYPERLINK l _Toc3290 3.1分频方案论证 PAGEREF _Toc3290 5 HYPERLINK l _Toc17550 分频模块方案I PAGEREF _Toc17550 5 HYPERLINK l _Toc11919 分频模块方案II PAGER

3、EF _Toc11919 5 HYPERLINK l _Toc11616 3.2计时模块方案论证 PAGEREF _Toc11616 6 HYPERLINK l _Toc27103 计时模块方案I PAGEREF _Toc27103 6 HYPERLINK l _Toc31550 计时模块方案 II PAGEREF _Toc31550 6 HYPERLINK l _Toc23928 3.3方案总结 PAGEREF _Toc23928 7 HYPERLINK l _Toc29432 4 系统软件设计 PAGEREF _Toc29432 7 HYPERLINK l _Toc16479 4.1程序流

4、程图 PAGEREF _Toc16479 7 HYPERLINK l _Toc10021 4.2计时模块 PAGEREF _Toc10021 8 HYPERLINK l _Toc23502 4.3闹钟模块 PAGEREF _Toc23502 8 HYPERLINK l _Toc16661 4.4显示模块 PAGEREF _Toc16661 8 HYPERLINK l _Toc3305 5系统硬件设计 PAGEREF _Toc3305 9 HYPERLINK l _Toc26147 5.1 FPGA的介绍 PAGEREF _Toc26147 9 HYPERLINK l _Toc21823 FPG

5、A概述PAGEREF _Toc21823 9 HYPERLINK l _Toc17601 5.1.2 FPGA根本构造 PAGEREF _Toc17601 9 HYPERLINK l _Toc30768 5.2原理框图 PAGEREF _Toc30768 11 HYPERLINK l _Toc28337 6调试 PAGEREF _Toc28337 12 HYPERLINK l _Toc21683 6.1调时程序调试 PAGEREF _Toc21683 12 HYPERLINK l _Toc4685 6.2闹钟程序调试 PAGEREF _Toc4685 12 HYPERLINK l _Toc26

6、125 总 结 PAGEREF _Toc26125 13 HYPERLINK l _Toc29391 致 谢 PAGEREF _Toc29391 14 HYPERLINK l _Toc27510 参考文献 PAGEREF _Toc27510 15 HYPERLINK l _Toc16361 附 录 PAGEREF _Toc16361 16摘 要数字钟是由振荡器、分频器、计数器、译码器、数码显示器等几局部组成。振荡电路:主要用来产生时间标准信号,因为时钟的精度主要取决于时间标准信号的频率及稳定度,所以采用石英晶体振荡器。 分频器:因为振荡器产生的标准信号频率很高,要是要得到秒信号,需一定级数的分

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

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

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

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

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

12、拟便捷,只需要写程序,制作业是比拟方便,也比拟实现功能。方案三用单片机虽然也是编写程序,可是和FPGA相比我个人觉得还是比单片机好做一点。综合上述我选择FPGA来制作该程序3 程序方案论证3.1分频方案论证分频模块方案I定义变量并且设定一个上限值,每次加计数到该上限值时,输出该计数值的最高位parameter DIV_SIZE=25;always(posedge clock)counter=counter+1;assign clkdiv=counterDIV_SIZE-1;分频模块方案II 定义一个变量,使得counter_1hz=20000000,使得输入1hz信号,让counter_1hz

13、自加always(posedge clk) Begin if(counter_1hz=20000000) begin counter_1hz=0;clk_1hz=10000)begin counter=0;clk_1khz=clk_1khz;end else begin counter=counter+1;End3.2计时模块方案论证计时模块方案I计时分每个信号的上下位进展判断及计时if(sL=9) begin sL=0;if(sH=5) begin sH=0; if(mL=9)begin mL=0; if(mH=5) begin mH=0; if(hL=9) begin hL=0;hH=hH

14、+1;end else if(hL=3&hH=2) begin hL=0;hH=0; end else hL=hL+1;end else mH=mH+1; end else mL=mL+1; end else sH=sH+1; end else sL=4&hour_h=2)|(hour_h=3)beginhour_h=0;hour_l=0;endendelse b=b+1;end3.3方案总结分频采用方案2来实现设计。方案2在思路方面较为通俗易懂,且判断过程简短明了,在最终的显示时出现毛刺干扰现象,其他方案中不便于增加小时和分钟的调节信号,方案最终失败。方案2比拟判断复杂,在最终的数码管显示时

15、可能不怎么稳定。方案2我们上课时学的也是这个方案用起来也比拟熟悉。综合考虑,使用方案2。4 系统软件设计软件局部有分频模块,按键防抖动,时钟主体,闹铃模块,动态扫描模块等来实现此方案。程序流程图3-1使用此方案首先进展分频得到一个信号,使得信号稳定。进而促使时钟主体工作。再通过按键防抖来控制调时和闹钟模块最后用动态扫描来实现软件的所有功能。4.1程序流程图 图3-14.2计时模块second_l,second_h;miniute_l,miniute_h;hour_l,hour_h;分别表示秒,分,小时的高位和低位L组成十六进制计数器。以1hz作为一秒,自加计时,当秒加到60后自动向分进位,当分

16、加到60后自动向时进位,当时到24小时候变为00。4.3闹钟模块always(posedge clk)beginif(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;end else counter_clock=counter_clock+1;end闹钟模块从CLk中分出8000hz的频率,驱动蜂鸣器。当时钟到8:00时,蜂鸣器电平取反,产生报时。4.4显示模块/动态扫描模块 alwa

17、ys(posedge clk_1khz) begin case(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=4b1101; display_tab=hour_l; state=s3;led_test=clk_1hz;end s3:begin seg_bit=4b1110; display_tab=hour_

18、h; state=s0;led_test=1;end default:begin led_out=7bz;state=0;end endcase end 动态显示扫描,将分的上下位和时的上下位依次显示在4位数码管上。5系统硬件设计5.1 FPGA的介绍 FPGA概述FPGA是现场可编程门阵列FieldProgrammableGateArray的简称,与之相应的CPLD是复杂可编程逻辑器件 ple* Programmable Logic Device 的简称,两者的功能根本一样,只是实现原理略有不同,所以有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/PGFA。CPLD/PGFA几乎能

19、完成任何数字器件的功能,上至高性能CPU,下至简单的74电路。它如同一*白纸或是一堆积木,工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数字系统。通过软件仿真可以事先验证设计的正确性,在PCB完成以后,利用CPLD/FPGA的在线修改功能,随时修改设计而不必改动硬件电路。使用CPLA/FPGA开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。这些优点使得CPLA/FPGA技术在20世纪90年代以后得到飞速的开展,同时也大大推动了EDA软件和硬件描述语言HDL的进步。5.1.2 FPGA根本构造FPGA具有掩膜可编程门阵列的通用构造,它由逻辑功能块排成阵列,并由可

20、编程的互连资源连接这些逻辑功能块来实现不同的设计。FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。这3种可编程电路是:可编程逻辑模块CLB-ConfigurableLogicBlock、输入/输出模块IOB-I/OBlock和互连资源IRInterconnectResource。可编程逻辑模块CLB是实现逻辑功能的根本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入/输出模块IOB主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度的连接线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以及IOB之

21、间连接起来,构成特定功能的电路。1.CLB是FPGA的主要组成局部。它主要由逻辑函数发生器、触发器、数据选择器等电路组成。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个函数发生器结合起来,可实现多达9变量的逻辑函数。CLB中有许多不同规格的数据选择器四选一、二选一

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

23、冲器和输出触发/锁存器、输出缓冲器组成。每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能。当IOB控制的引脚被定义为输入时,通过该引脚的输入信号先送入输入缓冲器。缓冲器的输出分成两路:一路可以直接送到MU*,另一路经延时几纳秒或者不延时送到输入通路D触发器,再送到数据选择器。通过编程给数据选择器不同的控制信息,确定送至CLB阵列的I1和I2是来自输入缓冲器,还是来自触发器。当IOB控制的引脚被定义为输出时,CLB阵列的输出信号OUT也可以有两条传输途径:一条是直接经MU*送至输出缓冲器,另一条是先存入输出通路D触发器,再送至输出缓冲器。IOB输出端配有两只MOS管,它们的栅极均

24、可编程,使MOS管导通或截止,分别经上拉电阻接通Vcc、地线或者不接通,用以改善输出波形和负载能力。3.可编程互连资源IR。可编程互连资源IR可以将FPGA内部的CLB和CLB之间、CLB和IOB之间连接起来,构成各种具有复杂功能的系统。IR主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。5.2原理框图FPGA的多功能数字钟的设计方案是设计一个具有计时、报时和显示这三局部的主要功能。系统原理框图如图4-1所示。其中计时功能是整个多功能数字钟的核心局部;报时顾名思义,也就是在时钟到达整点时的鸣叫功能;显示起到了一个译码功能,使得程序在实验箱上下载时我们能清晰、

25、明了的整个运行过程。这三局部相结合,就根本完成了这样的一个多功能数字钟。 图4-1 数字钟原理框图原理框图功能如下:首先输入电源然后进入FPGA芯片,来实现最根本的数字钟计时电路,其计数输出送7段译码电路,由数码管显示。PPGA芯片工作使得基准频率分频器可分频出标准的1hz 频率信号,用于秒计数的时钟信号;分频出频率信号用于校时、校分的快速递增信号;分频出 频率信号用于对于按动校时、校分按键的消除抖动。然后用按键控制电路模块是一个校时、校分、秒清零的模式控制模块, 频率信号用于键的消除抖动。而模块的输出则是一个边沿整齐的输出信号。控制电路模块是一个校时、校分、秒清零的模式控制模块,64Hz 频

26、率信号用于键KEY1、KEY2、KEY3的消除抖动。而模块的输出则是一个边沿整齐的输出信号。闹时电路模块也需要音频信号以及来自分计数器和时计数器的输出信号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没有报时,可能是蜂

27、鸣器频率不对,于是写了个蜂鸣器响的小程序,试着探索蜂鸣器的鸣响频率,最后发现当将CLK进展8000hz分频是,蜂鸣器能响,将此小程序放在:if(hour_h=0&hour_l=8&miniute_h=0&miniute_l=0)条件中能实现8:00报时功能。具体程序如下:always(posedge clk)beginif(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;end els

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

29、中学到很多东西,也稳固了我的理论学习。-. z.致 谢首先要感谢叶俊明教师,教师知识渊博,治学认真而严谨,感谢您从本文研究开场一路指导至本论文的完成,从论文题目的选定到论文写作的指导,经由您悉心的点拨,再经思考后的领悟,常常让我有山重水复疑无路,柳暗花明又一村的豁然开朗!由衷感谢您在论文上倾注的大量心血,您宽厚待人的学者风*令我无比感动。感谢授课教师叶俊明教师课上对我们的教诲,你们丰富的授课内容拓宽了我的视野,让我能更顺利的完成这篇文章;感谢我的同学们,你们不仅让我感受到友情的力量,也让我感觉到了生活的愉悦,通过课堂讨论学到的思维方式使我受益终生。最后,我要向我的同学表示深深的谢意。你们的理解

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

31、EDA仿真技术。 高等教育【7】侯伯亨.Verilog HDL硬件描述语言与数字逻辑电路设计.*电子科技大学出版-. z.附 录module test(clk,led_out,seg_bit,led_test,alarm_clock,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 ala

32、rm_clock;reg31:0counter_clock; reg20:0counter; reg30:0counter_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:00 integer j,b; initial begin state=0;counter=0;counter_1hz=0;miniute_l=9;miniute_h=

33、5; second_h=5;second_l=5;hour_h=0;hour_l=7;end /初始化存放器,初始时间为7点59分55秒/分频模块 always(posedge clk) begin if(counter_1hz=20000000) begin counter_1hz=0;clk_1hz=10000) begin counter=0;clk_1khz=clk_1khz;end else begin counter=4&hour_h=2)|(hour_l=10)begin hour_l=0;hour_h=hour_h+1;if(hour_h=3)hour_h=0;endend i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论