资源描述
电子钟设计汇报
姓 名:< >
组 别:< >
专业班级:< >
目 录
目 录 1
一、数字钟设计要求 2
二、顶层设计 2
三、模块 3
1.顶层模块 3
2.分频器模块 4
3.按键消抖模块 4
4.计时模块 5
5.显示模块 6
6.报时和闹钟模块 6
四、 系统调试及运行结果分析 7
1、硬件调试 7
2、软件调试 8
3、调试过程及结果 8
(1)显示模块调试 8
(2)时间系统模块调试 9
五、总结 9
一、数字钟设计要求
设计一个含有时、分、秒计时第二电子钟电路,按二十四小时制记时。
要求:
1、正确计时,以数字形式显示时、分、秒时间;
2、含有分、时校正功效,校正输入脉冲频率为1Hz;
3、含有仿广播电台整点报时功效,即每逢59分51秒、53秒、55秒及57秒时,发出4声500Hz低音,在59分59秒时发出一声1kHz高音,它们连续时间均为1秒。最终一声高音结束时刻恰好为正点时刻。
4、含有定时闹钟功效,且最长闹铃时间为一分钟。要求能够任意设置闹钟时、分;闹铃信号为500Hz和1kHz方波信号,两种频率信号交替输出,且均连续1S。设置一个停止闹铃控制键,能够停止输出闹铃信号。
二、顶层设计
采取自顶向下设计方法,首先依据数字时钟功效要求进行顶层设计和分析,用FPGA实现系统计时、显示驱动、按键输入处理、仿广播电台整点报时功效。依据实训平台硬件资源情况,输入信号包含时钟输入和按键输入,其中系统时钟由实训平台关键板50MHz
晶振提供,拨码开关作为校时、闹钟时间设置和复位信号输入,输出信号包含峰鸣器控制输出、8位动态数码管位选和段选控制输出。
数字电字时钟系统关键有分频器模块、按键消抖模块、计时模块、整点报时和闹铃模块和显示驱动模块组成。
三、模块
1.顶层模块
以下图所表示。
2.分频器模块
分频器模块关键功效是为其它模块提供时钟信号。
输入端口:50MHz时钟信号;
输出端口:1Hz、500Hz和1kHz三种频率时钟信号。
以下图所表示。
3.按键消抖模块
作为机械开关键盘,在按键操作时,机械触点弹性及电压突跳等原因,在触点闭合或开启瞬间会出现电压抖动,以下图所表示。实际应用中假如不进行处理将会造成误触发。
按键去抖动关键在于提取稳定低电平状态,滤除前沿、后沿抖动毛刷。对于一个按键信号,能够用一个脉冲对它进行采样。假如连续三采样为低电平,能够认为信号已经处于键稳定状态,这时输出一个低电平按键信号。继续采样过程中假如不能满足连续三次采样为低,则认为键稳定状态结束,这时输出变为高电平。
按键消抖模块功效是消除校时按键机械抖动。
输入端口:消抖时钟,按键K1,K2和K3;
输出端口:校时信号set_h,校分信号set_m,显示模式mode。
以下图所表示。
4.计时模块
计时模块是数字钟主体电路,包含正常计时、对时间进行校正、设置闹钟时间和判定闹铃等功效。
输出端口:clk_1Hz_in,秒计时脉冲输入;
mode,校时和闹钟设置功效切换信号输入;
set_h,set_m,校时和闹钟设置信号;
nCR,复位信号。
输出端口:time_data,时分秒BCD码输出;equ,闹钟标志。
计时模块以下图所表示。
5.显示模块
显示模块参考模块二中数码管动态扫描项目。显示模块以下图所表示。
6.报时和闹钟模块
报时和闹钟功效有两个:
一是实现仿电台正点根据4低音1高音次序发出间断声音,以最终一声结束时时刻;
二是当设定闹铃时间报时和数字钟目前时间相等时,驱动蜂鸣器电路“闹时”,闹铃时间长为一分钟,为了能随时关掉闹铃声音,设置了一个控制键Ctrl_Bell。报时和闹钟模块以下图所表示。
四、 系统调试及运行结果分析
1、硬件调试
在软件联机调试之前,首先要确定硬件是否完全正确。检验方面关键包含:
(1)PC机接口和关键板上JTAG下载口是否连接正确;
(2)蜂鸣器电路是否为通路;
(3)检验接地、电源线是否连接正确;
(4)LED七段数码管显示正常。
引脚分布以下表:
2、软件调试
在确定好硬件系统正确以后,我对本设计进行分模块软件调试。在和主程序衔接时,主程序和各子程序也需作对应改动,方便和子程序愈加好衔接,尤其是显示子程序需作较大改动,方便对不一样内容进行显示。
软件编译后结果:
3、调试过程及结果
调试过程根据:显示模块→时间模块→键盘模块→时间设定及其显示模块→闹铃、整点报时设定及其显示模块次序进行调试。
(1)显示模块调试
本系统功效完整运行离不开正确显示,所以显示模块实现很关键,在联机调试第一步就要确定系统显示是否能够正常运行。将需要显示内容编写在程序内,单独得进行仿真。此模块调试结果图所表示:
(2)时间系统模块调试
确定系统显示成功后,进行时间系统调试。时间系统需要实现时、分、秒正确走时。显示结果为时、分、秒,其中秒钟能够正常走动。此模块调试结果图所表示:
五、总结
在FPGA上设计和调试全部需要耐心,时钟设计在生活中无处不在,设计过程要考虑到应用习惯,设计更人性化体验,才会是一个好设计。在Verilog HDL语言学习上还存在部分问题,没有深入学习,对于有些语法错误,还需要仔细查找。假如将这个数字时钟应用于现实生活中,还存在些许问题。比如操作起来没那么方便等等。
展开阅读全文