- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、课题要求:
(1)技术要求:1、掌握多功能数字钟的工作原理。
2、应用EDA技术,VHDL语言编写程序。
3、层次化设计,设计原理框图。
4,、硬件设计及排版。
(2)功能要求:1、基本功能:能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时、60分钟、60秒的计数器显示。
2、 扩展功能:(1)能够利用按键实现“校时”“校分”
“清零”功能。
(2) 能利用扬声器做整点报时,整点前
五秒短声,整点长声。
(3)本人工作:负责软件部分,,编写各部分模块的VHDL程序,并且锁定引脚,将程序下载到芯片中。
二、设计方案:
原理框图:
数字钟原理框图
一共有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时,下一秒,分为1,秒为00。然后用校时功能按键将分校分到59分,此时当秒为50时,扬声器开始响,并且到整点时,扬声器持续响一段时间。按下S3,秒清零。调试结束,基本功能能够计时,并且进位到分和时,扩展功能,按下S2和S3后能够进行分和时的校时,并且到整点时开始报时。
八、设计中遇到的问题及解决方案
我负责软件部分,开始在编写程序时根本无从下手,再找了一些资料后终于对数字钟有些了解。用EDA设计每一个模块,都需要一个一个的去仿真,看程序对不对,经常在一些小程序上出现问题。本来有好多门电路,发现放在顶层文件中比较麻烦,所以将这些门电路组成两个模块,按键模块和扬声模块,这样方便顶层文件的编写。分频模块,由于要将50MHz的脉冲分到1000Hz,500Hz,和1Hz,分频量比较大,不能仿真,只能先改小一下数据,验证程序是否正确。36译码器部分,本来使用的是38译码器,发现多了2个输入,有6个数码管,但是38译码器并不影响输出。在下载过程,锁定引脚,发现芯片上的引脚与硬件上的引脚是反的,数码管显示的是乱码。当数字钟的时分秒顺序错了以后,不需要重新锁定引脚,只要
文档评论(0)