一、课题要求:
(1)技术要求:1、掌握多功效数字钟工作原理。
2、应用EDA技术,VHDL语言编写程序。
3、层次化设计,设计原理框图。
4,、硬件设计及排版。
(2)功效要求:1、基础功效:能进行正常时、分、秒计时功效,分别由6 60秒计数器显示。个数码管显示二十四小时、60分钟、
2、扩展功效:(1)能够利用按键实现“校时”“校分” “清零”功效。
(2)能利用扬声器做整点报时,整点前
五秒短声,整点长声。
二、设计方案:
原理框图:
数字钟原理框图
一共有11个小模块:分频,片选,按键,小时,分,秒,显示模块,七段显示译码器,报时,扬声,36译码器。
左边第一个是时钟信号输入端,50Mhz到分频模块。第二个为清零按键,第三个为校分按键,第四个为校时按键。
右边第一个为七段显示译码器输出端,第二个为扬声器输出端,第三个为6个数码管输出端。
中间模块为数字钟关键,有计时,报时,校时功效。
三、单元模块设计
1、分频模块
该模块是将时钟脉冲50Mhz分频到1000、500和1,分别给报时模块和立即模块。
2、秒模块
仿真图
该模块为60进制计数器,有分频模块得到1hz进行计时,计时输出为秒数值,
在计时到59 时进位1 到co 端。当按下s3 时,秒清零。
3.、分模块
仿真图
该模块也为60进制计数器,计时输出为分数值。在EN信号有效且时钟来时,计
数器加1、在s2按下时,EN使能端有效,实现校分功效。
4、时模块
仿真图
该模块为24进制计数器,计时输出为小时数值,在EN信号到来时,计数器加1,在S1按下时,EN信号有效,实现校时功效。
5、片选模块
仿真图
该模块提供数码管片选信号。
6、按键模块
仿真图
该模块是有多个门电路组成,把它编写成一个模块,到时写程序方便。该模块连
接多个按键,由按键控制。
7、报时模块
仿真图
该模块为整点报时提供控制信号,当59分时,秒为50,52,54,56,58时,Q500
输出“1”;秒为00时,Q1000输出“1”。这两个信号经过逻辑门实现报时功效。
8、BBB 模块
仿真图
9、36 译码器模块
仿真图
该模块为36译码器,为输出到数码管对应功效。
10、七段译码器模块
仿真图
该模块为七段译码器,输出到数码管每一个引脚,能够正确点亮每一个数码管。
11、扬声模块
仿真图
该模块也为多个门电路组合,控制着对扬声器输入,当初间抵达某一点时,输出
不一样脉冲信号到扬声器,给扬声器信号。
四、顶层模块设计
程序图:
总体框图
顶层文件将上面11个小模块集合到一起组成了总程序,最终也是将这个顶层文
件写到FPGA芯片中。
五、硬件电路设计
六、硬件电路安装及调试
在EDA中,将顶层文件各个输入和输出端口锁定引脚。
锁定好引脚后将整个顶层文件下载到FPGA芯片中。
注:在下载时,要注意先安装USB程序,再设置IDE环境设置,然后再programmer
中选择自己要文件,下载时必需先安装好芯片再接电源,下载成功后,先拔电源,
再拔下USB。
下载好以后,用杜邦线将硬件和芯片引脚连接好,检验无误后进行测试。
七、调试结果
为了每个模块正确性,将一一对每个模块进行测试。将芯片和硬件连接好,
检验无误后,打开电源,此时硬件上数码管开始计时,等到秒为59时,下一秒,
声器开始响,而且到整点时,扬声器连续响一段时间。按下S3,秒清零。调试
分为1,秒为00。然后用校时功效按键将分校分到59分,此时当秒为50 时,扬
八、设计中碰到问题及处理方案
我负责软件部分,开始在编写程序时根本无从下手,再找了部分资料后最终
对数字钟有些了解。用EDA设计每一个模块,全部需要一个一个去仿真,看程序
对不对,常常在部分小程序上出现问题。原来有好多门电路,发觉放在顶层文件
中比较麻烦,所以将这些门电路组成两个模块,按键模块和扬声模块,这么方便
顶层文件编写。分频模块,因为要将50MHz脉冲分到1000Hz,500Hz,和1Hz,
分频量比较大,不能仿真,只能先改小一下数据,验证程序是否正确。36译码
器部分,原来使用是38译码器,发觉多了2个输入,有6个数码管,不过38译
码器并不影响输出。在下载过程,锁定引脚,发觉芯片上引脚和硬件上引脚是反,
数码管显示是乱码。当数字钟时分秒次序错了以后,不需要重新锁定引脚,只要
将对应杜邦线对调一下就行了。我们校时用按键是自锁开关,其实只要改成下拉电阻就能够了。
九、收获和体会
经过两个星期数电课程设计,收获很大,让我们自己设计了数电模型,从软件和硬件上学到了很多知识。两个同学一个设计软件,一个设计硬件,不仅提升了学习能力,还培养了团体合作能力。我负责是软件部分,这学期恰好学习了EDA技术,把它应用到了软件程序编写中来。我们设计是数字钟,即使数字钟看起来很简单,不过要把每个模块全部搞在一起还是有点难度。开始经过上网及图书馆借书来了解数字钟结构和工作原理,把它每一部分模块摸透清楚后,在开始编程,写入芯片。同时还要把软件和硬件结合起来,在各自做各自工作时还要紧
首先明确好数字钟功效,基础功效能进行正常时、分、秒计时功效,分别密结合自己组员工作,只有两个人东西做完后,组合起来才算真正完成。
整点前五秒短声,整点长声。然后设计好总原理图,将功效全部覆盖进去,设计
每个模块,用EDA中VHDL编写程序,然后再仿真,依据仿真图检测自己程序是否正确。当每个模块在电脑中仿真无误时,编写顶层文件,把各个小模块连接到一起,然后将整个程序画出原理框图,和自己估计相比较。
当软件做好后,用下载线将自己写程序写进芯片中,不过此时要注意先连接好线才能开电源,当下载后,要先关电源,再拔USB接口。下载后和同组同学用杜邦线连接开始测试,第一次先将整个程序写入,发觉没有正确显示,然后一个一个模块检测后,发觉了问题,最终数字钟做好了,基础功效和扩展功效全部出来了。
这次课程设计后,软件方面有着显著提升,而且合作啊能力也提升了,作品
完成还是很好。首先要感谢老师细心教导,让我学习到了好多知识,从硬件到软
件,不仅仅是知识上,还有能力上,还要感谢同组同学,没有她硬件,这次数字钟也完不成。这次收获还是很大,自己努力和汗水最终没有出,总结这次课程设计经验,在以后课程设计中能够愈加好发挥!
十、参考文件:
1、《EDA 技术和VHDL》 清华大学出版社
2、《数字系统设计和VerilogHDL(第三版)》 王金明编著
3、《EDA技术和应用(第2版)》
江国强编著4、《EDA技术实用教程》 科学出版社
Copyright © 2019- ltkm.cn 版权所有
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务