OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7453|回复: 0

小梅哥和你一起深入学习FPGA之数码钟

[复制链接]

40

主题

179

帖子

0

精华

高级会员

Rank: 4

积分
921
金钱
921
注册时间
2013-10-23
在线时间
94 小时
发表于 2014-10-29 18:13:21 | 显示全部楼层 |阅读模式

 

 

 

 

一、        实验目的

实现数码时钟的功能,要求能够进行24时制时、分、秒的显示,并能够通过按键调整时间。

二、        实验原理

通过对系统时钟进行计数,获得1S的标准信号,再以该信号为基础,进行时、分、秒的计数,通过数码管将该计数值显示出来,即可实现数字钟的功能。同时可以使用独立按键对时、分、秒计数器的初始值进行设置,即可实现时间的设定。

 

三、        硬件设计

本实验硬件电路简单,用到了8个数码管和4个独立按键。硬件电路如下:


3-1 数字钟电路fficeffice" />

 

一、        架构设计

 

本实验设计架构模块较多,下图为数字钟的架构:


4-1 数字钟实验模块组织结构图

由图可知本实验有16个输出端口和6个输入端口,各端口的意义如下

端口说明

端口名

端口功能或意义

Rst_n

全局复位

Clk

系统时钟输入端口

Key_in

按键输入端口

Seg

数码管段驱动输出

Sel

数码管位驱动输出

4-1 数字钟实验端口说明

因为存在模块间的连接,因此有部分内部信号,下表为部分内部信号的名称和功能说明

内部信号说明

内部信号名

内部信号功能或意义

Time_Data

时间值,直接送往数码管显示

Key_Value

按键检测结果输出

Key_Flag

按键检测成功标志信号

Hour_Disp_en

数码管“时”显示使能信号,提供调时时候的闪烁效果

Min_Disp_en

数码管“分”显示使能信号,提供调分时候的闪烁效果

Sec_Disp_en

数码管“秒”显示使能信号,提供调秒时候的闪烁效果

4-2 数字钟实验内部信号说明

图中存在较多的模块,因此在此将每个模块的功能做简单介绍:

 

 

normal_keys_detect

独立按键消抖模块

Dig_Led_Driver

数码管驱动模块

Clock_Control

时钟控制模块

Bin_to_BCD

二进制转BCD格式模块,将时、分、秒计数器的值转换为BCD格式,以送往数码管显示

MUX

最右侧三个多路选择器负责根据时分秒的显示使能信号进行对应数码管位的亮灭控制

4-3 数字钟实验模块功能说明

 

另外,Clock_Control模块为综合模块,内部包含了时、分、秒、时钟计数器模块和时间设定模块,该模块的内部结构这里小梅哥不做过多介绍,详细请参看代码。

 

一、        代码组织方式

本实验主要学习由顶向下的设计流程,代码均为常见风格,这里不多做介绍。希望读者能够通过代码架构,学习领会这种自顶向下的设计结构的优势。

 

二、        关键代码解读

本设计中,顶层模块主要实现了各个模块的例化和数码管显示使能的多路控制,相信看了图4-1后,便能理解顶层代码的含义。由于本系统涉及到的模块较多,采用文档的形式很难简洁的讲解清楚,因此,综合实验,小梅哥以后将不再进行关键代码的解读。反之,小梅哥会尽快进行视频的录制,对综合实验采用视频的方式讲解,以使读者快速理解架构。

 

 

三、        测试平台设计

本系统为低速系统,采用Modelsim仿真耗时长,而且波形不便于观察。因此仿真略去。大家可以对每个子模块进行仿真,以验证其正确性。

 

四、        仿真分析

五、        下板验证

此次,小梅哥采用很早以前购买的21EDA的板子进行了下板测试,实测功能完备。以下为测试照片(渣渣像素,请各位谅解)。


一、        总结


本实验实现了数码钟的功能,并可以通过4个按键进行时间的设置,因为时间的关系,小梅哥没有在文档中进行详细的介绍,请大家谅解。

Dig_Clock_src.rar

8.15 KB, 下载次数: 401

http://xiaomeige.taobao.com。做最用心的FPGA学习板和教程资料
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-7-5 05:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表