抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > 基于FPGA的智力抢答器设计

基于FPGA的智力抢答器设计

时间:2020-02-26 18:50:02

相关推荐

配套FPGA开发板(含该设计的工程代码):/item.htm?spm=a1z10.1-c.w4004-4676525296.4.6e8950ed57YPhv&id=17848039135

基于FPGA的智力抢答器设计

功能说明

说明

4路抢答器,选手,主持人可以进行系统复位和抢答控制,计时器30秒倒计时,有人抢答,则数码管显示选手号码及剩余时间,同时对应选手led指示灯亮起来,选手分数,由主持人判断和操作。

(1)可供4组抢答,共设置了4个按键。

(2)设置一个抢答控制开关 Start,该开关由主持人控制 ,只有当主持人按下开始键才能抢答。

(3)抢答器具有定时抢答功能 ,且一次抢答的时间设定为30s。当主持人启动"开始"键后,数码管上会显示30s的倒计时,抢答的4组成员可在30s内可以进行抢答,30s后抢答无效。

(4)抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的组号1~4,并在LED数码管上显示抢答成功的选手号码和对应选手的分数。同时,裁判可以对选手进行加分和减分操作,当选手达到10分时就获胜。

按键说明

键盘

红色按键为独立键盘,实现选手抢答按键。s1接到板子上的28, s2接到板子上的31, s3接到板子上的40, s4接到板子上的42。Gnd接到板子上的gnd,vcc接到板子上的3.3V,用杜邦线接!!!

如下图所示:

板子上的按键

实现裁判进行开始和分数控制。

Key2为开始按键,Key3为加分按键,Key4减分按键,Key5重置分数按键。

Key1为系统复位按键。

仿真说明

模块说明

该抢答器主要分为三大模块进行设计:

(1)按键消抖模块;

(2)抢答器控制模块;

(3)分数控制模块;

(4)数码管显示控制模块。

按键消抖模块

该模块实现的功能主要是实现按键消抖,由于设计对按键灵敏性有要求,所以需要对五个按键(key1、key2、key3、key4、start)进行消抖。实际设计中,该大模块分为了五个消抖模块,可见RTL视图。

抢答器控制模块

该模块实现的功能主要是对最先按下的按键号进行锁存,即锁存最先按下抢答按键的组号。当strat按键被按下之后,该模块开始进行工作,当锁存了抢答按键的组号后,该模块将停止扫描按键号工作直到抢答器被重置并再按下strat键。

分数控制模块

4位选手的初始分数都是0分,满分为10,先拿到10分的为胜者。

该模块由裁判控制,当选手抢答成功时,数码管有两位用于显示该选手的分数,如果答对则该选手得一分,按下add按键为该选手加分,如果答错则减一分,则按下reduce按键为该选手减一分,如果需要重新分数为0分,则按下set按键。

数码管显示控制模块

该模块实现的功能主要是实现数码管的显示功能,一个是30s的倒计时,另外一个是显示抢答成功的组号。当strat按键被按下之后,开始进行倒计时,如果有抢答者按下按键,数码管会马上显示抢答成功的组号。如果30s之后无人抢答,则显示为00,需要主持人重新按下开始按键,再开始新一轮的抢答。

动态显示原理:由于LED静态显示需要占用较多的I/O口,且功耗较大,因此在大多数场合通常不采用静态显示,而采用动态扫描的方法来控制LED数码管的显示。动态显示的特点是将8位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。点亮数码管采用动态扫描显示。

动态扫描显示原理:动态扫描显示即轮流向各位数码管送出字形码和相应的位选,只要扫描显示速度够快,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。动态扫描显示时刷新频率最好大于50HZ,即显示一轮的时间不超过20ms,本设计采用1000HZ的频率进行扫描显示,也就是数码管的刷新频率,每个数码管显示时间不能太长也不能太短,时间太长会影响刷新率,导致总体显示呈现闪烁的现象,时间太短发光二极管的电流导通时间也就短,会影响总体的显示亮度。一般控制在1ms左右最佳。

数码管显示原理

位选信号

本设计采用共阳数码管,即位选低电平有效,并且将位选信号设置为低电平;

段选信号

本设计采用共阳数码管,数码管的段选信号为8bit,数码管的段选对应实物图如下:

一个数码管有八段:A,B,C,D,E,F,G,H,DP,即由八个发光二极管组成,;因为发光二极管导通的方向是一定的(导通电压一般取为1.7V),这八个发光二极管的公共端有两种: +5V(即为共阳极数码管)、接地(即为共阴极数码管),其中共阳极每个段均有0导通,而共阴极则1导通发光,所以共阳极数码管和共阴极数码管显然是不同的,段选码表如下图所示:

以下是将设计代码进行综合后的RTL视图:

智力抢答器RTL视图

仿真分析

以下对四个功能模块和整体进行一个仿真,仿真平台为Modelsim。

按键消抖模块抢答器模块分数控制模块显示模块整体

如果觉得《基于FPGA的智力抢答器设计》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。