0


FPGA多功能数字时钟 基于Quartus实现设计与仿真 华南师范大学数电综设

wps1

wps2

专业:通信工程 学号:__姓名:龚易乾___指导老师:****

电子与信息工程学院

2023年2月

有任何疑问可以联系邮箱:codealan@qq.com
项目仓库地址:https://github.com/CodeAlanqian/e-clock github仓库地址

综合设计实验

实验目的

熟练掌握Quartus等EDA设计与仿真工具,掌握多路选择器、N进制计数器、显示译码电路、开关电路、按键等电路的设计和调试方法。加深对《数字电子技术基础》课程内容的理解,逐步提高电路应用能力、设计能力、分析评价能力。

实验任务

设计一个多功能数字钟,要求如下:

1、准确计时,以数字形式显示时、分、秒;

2、12/24小时切换功能;

3、时、分、秒的校时功能;

4、秒表功能,显示分、秒、百分之一秒,暂停、复位功能;

5、时钟与秒表切换。

准备工作

1、了解FPGA开发板的资源。FPGA开发板上含有6位数码管,8个按键、8个LED灯

wps3

数码管

wps4

每位数码管的8段字符

分析电路图可知:数码管有6位片选信号和8位段选信号,因此要搭建片选扫描电路,利用视觉暂留现象,驱动数码管显示。共阳电路,采用7474译码器。7447的主要功能是输出低电平驱动的显示码,用以推动共阳极7段LED 数码管显示相应的数字。

wps5

wps6

按键 LED灯

按键未按下时为高电平,按下时为低电平 LED灯为低电平使能,共阳电路

2、预想功能表

按键未按下时LED均不亮,按下某按键后,对应的LED点亮。默认为不亮
按键未按下(1)按下(0)功能BUT124小时制12小时制切换12/24小时BUT2停止校时时校时时针校时BUT3停止校时分校时分针校时BUT4停止校时秒校时秒针校时BUT5时钟秒表切换时钟/秒表模式BUT6秒表暂停秒表计时秒表暂停/计时BUT7无秒表复位秒表复位BUT8无无无
3、电路框图

wps7

设计原理、电路图与仿真

考虑到电路图会比较复杂,所以我基本使用总线的接线方法去画图

1、先搭建基本的分频器

100进制计数器(两个74160)、25进制计数器、2进制计数器

wps8

100进制

wps9

25进制

wps10

利用D触发器搭建T’触发器构成2进制计数器

2、搭建信号发生器

原始输入时钟信号为50MHz,利用计数器分频

wps11

1Hz信号50M/(100100100252) 用于产生秒信号

wps11

2Hz信号 用于产生校时信号

wps12

100Hz信号 50M/(10010025*2)

用于按键扫描频率和产生秒表信号

wps14

1250Hz 用于数码管片选扫描

3、时钟

秒针计时

wps15

输入信号:1Hz时钟信号,RD复位信号

输出信号: 秒信号高位(SH[3…0])显示到第5位数码管

秒信号低位(SL[3…0]) 显示到第6位数码管

SC为秒针进位信号

wps16

分针计时器仿真结果

分针计时

wps17

输入信号: 秒针计时器进位信号,RD复位信号

输出信号: 分信号高位(MH[3…0])显示到第3位数码管

分信号低位(ML[3…0]) 显示到第4位数码管

MC为分针进位信号

wps18

分钟计时器仿真结果

24进制时钟

wps19

输入信号:分针计时器进位信号,RD复位信号

输出信号: 时信号高位(HH[3…0])显示到第1位数码管

时信号低位(HL[3…0]) 显示到第2位数码管

HC为时针进位信号

wps20

24进制时针计时器仿真结果

12进制时钟

wps21

输入信号:分针计时器进位信号,RD复位信号

输出信号: 时信号高位(HH[3…0])显示到第1位数码管

时信号低位(HL[3…0]) 显示到第2位数码管

HC为时针进位信号

wps22

12进制时针计时器仿真结果

4、秒表

分秒信号(100Hz)

wps23

5、按键读取电路

wps24

消抖:以100Hz的频率扫描端口,如果0.03ms内采样结果均相同,则认为按下/松开按键,并保存到由JK触发器构成的T’触发器中。

wps25

按键仿真结果

按键扫描电路

wps26

将8个按键的扫描结果封装

6、译码显示

数码管片选电路(顺序脉冲)

wps27

由74161与74138译码模块构成,低电平使能,S为0时,被选中

不断重复扫描,达到连续显示的效果
wps28
顺序脉冲仿真结果

7447译码器(段选电路)

wps29

封装成总线的形式,方便输入输出

7、LED驱动电路

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gcXWPzJ8-1684859853659)(null)]

当L为1时,LED点亮

8、模式转换器

二选一模式转换器(用于切换第3-6位数码管的时钟、秒表显示)

wps31

K为输入信号,当K为1时,H24输出,当K为0时,H12输出

三选一模式转换器(用于切换第1、2位数码管的12/24进制、秒表显示)

wps32

由4片74153芯片构成(每片都只使用了一个4选1数据选择器)

当K0=K4等于1时,输出H24;当K4=1,K0=0时,输出H12

其他情况均输出M60

显示片选

wps33

总电路:

wps34

wps35

wps36

wps37wps38

wps39

wps40

调试、结论

设置引脚、编译、下载至FPGA开发板。测试结果符合预期。

实验过程的问题与思考

问题:

1、设计【12翻1】计时器时,从0开始或从13结束,解决方法:预置数为1,计数到12时复位;

2、Modelsim无法仿真,没有正确设置路径;

3、7447译码器6和9显示不全,最后发现是该译码器的特性,使用7448译码器更好;

4、做12/24进制时钟切换时没有考虑到秒表,只做了二选一模块,后来做四选一模块得以解决,实现12/24/秒表切换

5、有时时钟的频率不对,先不用管,后来随着新功能的加入便正常了;

6、刚开始时考虑不周,模块化低。

心得体会:

Quartus是一个十分重要的工具,它可以帮助我们完成诸如逻辑电路设计、仿真、验证、综合等一系列任务,提高了我们的设计效率和精度。

1、设计前的准备十分重要。在进行设计前,需要对所要设计的电路进行充分的思考和分析,确定各个模块的功能、输入输出等信息,为后续的设计奠定基础。

2、画电路图时需要仔细。注意电路的正确性和逻辑的完整性,以避免在后续的仿真和验证过程中出现问题。

3、仿真和验证非常重要。在完成设计后,需要进行仿真和验证,以检验电路的正确性和稳定性。通过仿真和验证可以发现并修正电路中的问题,提高电路的可靠性和鲁棒性。

4、熟练掌握Quartus的使用技巧可以提高设计的效率和精度。

5、这是一个较大的设计实验,能顺利完成我很有成就感。

6、采用模块化设计,结构清晰,便于画图、修改与阅读。在设计过程中,加深了我对《数字电子技术基础》课程内容的理解,逐步提高电路应用能力、设计能力、分析评价能力。

七、 参考文献

[1]《数字电子技术基础(第5版)》

[2]《EDA设计 基于Quartus的多功能数字时钟设计》

【后记】
验收时发现24小时制的12时在12小时制应该为12时,不该为0时
学长只能帮你们到这了

标签: fpga开发

本文转载自: https://blog.csdn.net/qq_18479497/article/details/130838170
版权归原作者 CodeAlan 所有, 如有侵权,请联系我们删除。

“FPGA多功能数字时钟 基于Quartus实现设计与仿真 华南师范大学数电综设”的评论:

还没有评论