FPGA设计基于fpga的会议发言限时器.docx
《FPGA设计基于fpga的会议发言限时器.docx》由会员分享,可在线阅读,更多相关《FPGA设计基于fpga的会议发言限时器.docx(17页珍藏版)》请在冰豆网上搜索。
![FPGA设计基于fpga的会议发言限时器.docx](https://file1.bdocx.com/fileroot1/2023-7/12/5cdac582-a8e2-4609-ab43-c5e296181f8d/5cdac582-a8e2-4609-ab43-c5e296181f8d1.gif)
FPGA设计基于fpga的会议发言限时器
一、设计要求
一、设计内容
该项目通过FPGA芯片完成,分为软件和硬件设计,软件主要通过VHDL语言完成会议发言限时器,硬件设计外围电路,完成实物。
二、基本要求
1.设置0-99分限时功能,用四位数码管显示。
2.具有暂停和继续计时功能。
3.最后一分钟给出报警提示,结束时也给出长音提示。
计时时间误差为±0.1秒/分。
4.led灯开始时候亮起来,然后结束时不亮,并且在暂停时闪烁。
三、主要技术指标
1.电压直流5V,工作电流小于500mA。
2.完成主要功能。
3.电路原理图。
二、设计方案
一、方案框图
功能设计:
根据基本要求,将该设计方案分为四个模块:
计时与显示模块、暂停与继续按键功能模块、蜂鸣器报警模块、LED显示模块。
1.计时与显示模块
计时范围为0~99分,采用4位数码管显示,即显示00分00秒……89分59秒99分00秒。
该模块分为两个部分,即数码管显示部分、计时部分。
由于是计时功能,所以需要一个按键进行开始设置,当按下这个开始按键时,开始计时并显示。
2.暂停与继续按键功能模块
暂停与继续功能,采用一个按键完成,当按下该按键时计时暂停,再按下时继续计时,以此循环。
同时,需要设计一个消抖模块,对按键进行消抖操作,以避免按键信号抖动对按键按下的判断造成影响。
同时,还需要一个复位按键,对在必要的时候可以对计时进行复位操作,即重新从00分00秒开始计时。
3.蜂鸣器报警模块
该蜂鸣器报警模块根据计时的结果进行判断,当计时到89分00秒时,蜂鸣短音提示响起,当计时到99分00秒时蜂鸣器长音提示响起。
由于蜂鸣器采用的是脉冲驱动,所以需要设计一个脉冲产生模块,用于产生驱动蜂鸣器响起的信号。
4.LED显示模块
LED显示模块要根据开始按键信号、暂停与继续按键信号、计时结束信号进行判断,当开始按键信号有效时,led亮;当暂停时,led闪烁;当计时结束信号有效时,led不亮。
设计框图如下:
二、设计文件说明
1.顶层文件
文件名:
time.bdf
该文件为工程的顶层文件,相当于C语言中的主函数,下面的文件相当C语言中的子函数。
在FPGA中,这个文件就是顶层电路:
2.计时与显示模块
文件名:
time_counter.vhd
3.暂停与继续按键功能模块
文件名:
key.vhd
4.蜂鸣器报警模块
文件名:
bell.vhd
5.LED显示模块
文件名:
led.vhd
各个模块的内容请详见文件里面的内容
三、电路板
该设计中涉及到的硬件电路如下:
数码管
按键
蜂鸣器
LED
FPGA
电源
晶振
四、操作
上电,接入5V电源,用配套的线,USB那端接电脑即可;
按下电源开关
数码管开始显示
按下复位按键,此时数码管清零0000;
按下开始按键,此时开始计时,LED灯亮
按下暂停与继续按键,数码管停止计时,LED灯闪烁;再按一下继续计时,LED灯不闪烁;
当计时到98分00秒时,蜂鸣器响起,响的时间是1秒。
当计时到90分00秒时,蜂鸣器再起,响的时间是2秒,同时LED灯灭。