第一范文网 - 专业文章范例文档资料分享平台

基于FPGA的四路抢答器设计

来源:用户分享 时间:2025/6/1 15:10:53 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

桂林电子科技大学 基于FPGA的四路抢答器设计

在未按下状态为高电平,按下后为低电平,接法如下图:

图八、按键部分电路

8个LED灯直接由高电平驱动,当FPGA的IO输出高电平时,LED被点亮,输出低电平则LED熄灭。LEDA和LEDB两个8段数码管里面有编码芯片,因此输出4位数可直接显示,无需进行编码,例如输出1则直接显示“1”,方便操作。而LEDC数码管为共阴数码管,它的每一段使用FPGA的一个IO驱动,因此输出的8位数为编码后的数。LEDC8段数码管的每段所在位置及内部电路如图:

图九、共阴数码管段位置分布图

第 17 页 共 21 页

桂林电子科技大学 基于FPGA的四路抢答器设计

图十、共阴数码管内部结构图

由于此开发板上有JTAG接口,而没有AS接口,因此开发板程序下载方式只有JTAG下载方式。而JTAG下载方式又有两种,一种掉电后程序就擦除,另一种将程序保存在外部EEPROM里,进行引导FPGA配置,掉电后程序不会消失。在程序调试时候可以使用掉电式下载,方便查找程序的漏洞,此时下载进FPGA的文件为.sof格式的文件,而如果想将程序固化到开发板上的EPC存储器件中,需要将.sof转换成.jic文件进行下载,此时需要选择相应的EPC型号,进行下载。此次在固化程序时候发现,开发板上的EPC型号为EPCS1,程序的大小超过了板子上的EPC容量,因此此次设计不能将程序固化到开发板上,只能掉电式调试。

3.4 modelsim仿真

此次设计中clk为20MHz,因此时间周期为50ns,而计时模块以及按键去抖程序的时间都大于200ms,因此仿真时会造成时间差太大,而造成仿真时间太长而不能运行。此时仿真可将计时模块以及按键去抖的计数值从原先设计的好的值调整到一个较小的数来让仿真可以运行,用于查看波形是否正确,实际应用时再还原原先设定的计数值。此次仿真将计数值设定为10,整个仿真运行时间为1ms,并且按键输入只设定抢答1的脉冲为1,而其他按键脉冲值为0,则此时抢答器处于违规抢答状态,每一次抢答环节将扣除抢答1组积分1分,直到积分扣到0为止。因此仿真波形如下图:

第 18 页 共 21 页

桂林电子科技大学 基于FPGA的四路抢答器设计

图十一、仿真波形图(一)

图十二、仿真波形图(二)

由图可以看出addr_l每过10个clk就会减一,从1001减到0000为止,表示第一次违规抢答后,原本积分10减一后为9,因此积分的十位一直为0,因此addr_h的4位一直

第 19 页 共 21 页

桂林电子科技大学 基于FPGA的四路抢答器设计

为0,而个位则一直减一,与addr_l的4位波形相符合。而score_disp8位的波形为01001111,根据8段数码管的位置可判断显示的数字为3,而按键输入所设定的只有key_in[2]为低电平,即一直是第3组在抢答,因此与波形相符合。

4 结论

以FPGA为控制核心设计的抢答器,开发周期短,功能升级方便,整个控制系统所需元件少,集成度较高,具有良好的稳定性和可靠性。经过仿真以及下载到FPGA开发板上测试,此次设计可以公正、准确、直观的判断第一抢答者,并对抢答进行计时,加减操作的计时,并通过LED显示并提示时间,以及复位抢答等功能,同时3个BCD数码管可以正确的显示第一抢答者的组号以及积分信息。同时通过测试验证了软件的按键消抖处理适当,不会产生按键误判断的情况,以及状态机的程序设计方式结构清晰,易于查找程序的错误和进行改进。

第 20 页 共 21 页

搜索更多关于: 基于FPGA的四路抢答器设计 的文档
基于FPGA的四路抢答器设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c5xl250w879555jd3wyf8_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top