自动打铃系统设说明书—课程设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自动打铃系统设说明书—课程设计

自动打铃系统设计说明书 学 生 姓 名: 学 号: 专 业 班 级: 报告提交日期:201 目录 一、题目及要求简介……………3 1.设计题目…………………3 2.总体要求简介……………3 二、设计方案说明……………3 三、系统采用器件以及模块说明………3 1.系统框图…………4 2.选择的FPGA芯片及配置………4 3.系统端口和模块说明…………5 四、各部分仿真结果………5 五、调试及总结………6 六、参考文献……7 七、附录………7 题目及要求简介 1、设计题目 设计一个多功能自动打铃系统 2、总体要求简介 ① 基本计时和显示功能(24小时制显示),包括: 1. 24小时制显示 2. 动态扫描显示; 3. 显示格式:88-88-88 ② 能设置当前时间(含时、分) ③ 能实现基本打铃功能,规定: 06:00起床铃,打铃5s 设计方案说明 本次设计主要采用Verilog HDL硬件描述性语言、分模块法设计的自动打铃系统。由于这次用的开发板提供的是50M晶振。首先要对时钟进行分频,当计时到2FA_F07F时完成1s分频,通过计时到60s产生分钟进位信号,再通过60分钟产生时钟进位信号。最后通过6个寄存器对时分秒进行锁存最终输出到8个数码管上完成显示。当显示时钟和默认闹钟时钟相等时,驱动打铃模块。通过key_mode,key_turn,key_change查看闹钟,时钟显示,调整时钟。 系统采用器件以及模块说明 1.系统框图如下: 系统框图如下: 2.选择的FPGA芯片及配置:本次系统设计采用的FPGA芯片是Alter公司生产的Cyclone II EP2C8Q208C8。该芯片是208个管脚,138个IO,并且具有两个内部PLL,而且内嵌乘法器,8K的逻辑门,资源相当丰富。完成这次自动打铃系统的设计总共消耗250个LE单元,22个IO口,131个寄存器。经过综合后,本系统最高能实现145M的运行速度。通过Quartus II 软件观察到内部的RTL图如下 3.系统端口和模块说明 (1)分频部分 分频器的作用是对50Mhz的系统时钟信号进行分频,得到频率为1hz的信号,即为1S的计时信号。 (2)按键部分 按键key_mode--0为显示计时,1为闹钟显示,2为调整时间。 按键key_turn—0为调整小时,1为调整分钟。 按键key_change—每按一次加1 (3)计时部分 通过sec_L,sec_H,min_L,min_H,hour_L,hour_H 6个寄存器对时分秒进行锁存然后送入数码管显示 闹钟模块 当设定的闹钟时间和数码管上显示的时间相等时驱动闹钟,完成打铃,持续时间5s。 (5)数码管显示模块 显示模块是由8个位选8个段选构成的显示模块,利用人眼的余晖效果完成动态扫描,显示时间。 各部分仿真结果 测试文件如下: module clock_tb; reg sysclk,rst_b; reg key_mode,key_turn,key_change; wire buzzer; wire [7:0] led_sel,led_data; clock I_clock( .sysclk (sysclk),.rst_b (rst_b),.key_mode (key_mode), .key_change (key_change),.key_turn (key_turn),.buzzer (buzzer),.led_sel (led_sel),.led_data (led_data)); initial begin sysclk = 1b1; rst_b = 1b0; //复位信号 #30 rst_b = 1b1; end always #10 sysclk = ~sysclk; //输入的系统时钟,20ns的周期 endmodule 调试及总结 本次课程设计总共花费了四天左右的时间,设计了自动打铃系统。通过这次的设计更加熟悉了对EDA技术的了解和认识,在中也发现许多不足的地方。使用了自顶而下的设计方法,使得设计更加的简单和明了。在调试过程中,有些代码的设计不规范性,导致时序相当缓慢,甚至编译综合都会报错。在不断的修改下,发现时序电路和组合逻

文档评论(0)

woai118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档