欢迎来到天天文库
浏览记录
ID:11845585
大小:872.00 KB
页数:33页
时间:2018-07-14
《智能抢答器vhdl设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、电子科技大学光电信息学院课程设计论文课程名称现代电子技术综合实验题目名称基于VHDL语言的FPGA智能抢答器设计论文 学号姓名指导老师陈学英起止时间11月11日-11月22日2013年11月21日摘要智力抢答器作为一种快速准确判断选手抢答先后的比赛工具,现如今经常出现各类智力抢答,竞猜类比赛中。本文利用FPGA开发平台为基础,以VHDL语言进行编程,在ISE软件上进行开发,实现电视中比赛选手抢答器的各项功能。其中,第二章简单介绍FPGA开发平台的特点、VHDL语言的特点,以及大体的开发流程。第三章主要
2、介绍了开发软件ISE和仿真软件ModelSim的使用。第四章主要介绍智力抢答器的具体设计过程、原理设计、模块化设计。第五章主要对各个模块进行仿真测试,以及对最后的整个系统进行仿真测试。最后第六章,在基于整个系统仿真无误的前提下进行硬件编程下载,在实验硬件平台上测试设计结果和智力抢答器的实用性。并对这次试验进行总结。目录一、实验目的二、实验任务与要求三、实验原理、设计思路与方案四、单元模块设计与仿真模块功能、模块符号及端口说明、模块程序、仿真程序、仿真波形五、系统模块设计顶层模块设计、系统管脚适配表、编
3、程文件、下载成功标志、硬件调试说明六、结论一、实验目的在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器。通过抢答器的数显,灯光和音响等手段指示出第一抢答者。同时还可以设置定时、记分犯规及奖惩等多种功能。本设计采用手动抢答的方式,有人抢答后,系统自动封锁其他人的抢答按钮,使其不能再抢答,从而实现抢答功能。二、实验任务与要求1.基本要求(1)、编号1~6号的选手在规定的时间内按键抢答(2)、抢中编号锁定显示,其他无效(3)、主持按键控制清零和开始(4)、具有报警提示功能,分别提
4、示抢答开始,有人抢答,定时时间到2.参数要求(1)、显示组数:6组(2)、报警延时:300ms(3)、抢答时间:20s三、实验原理、设计思路与方案抢答信号输入系统后,系统必须对最先抢到的选手进行编码,而后锁存这个编码,并将这个编码显示输出,所以需要用到编码器、锁存器和译码显示电路。而选手抢答的有效时间为20s,而且系统在有人抢中,主持人按下开关以及20s计时到但无人抢答时这三种情况下要发出警报,且警报时间延迟300ms后自动停止,故需定时电路来确定这些时限,报警电路产生时延,并用时序控制电路来协调各个
5、部分的工作,计时时间也要显示出来。当主持人按键为启动开始状态时,警报器发出警报,抢答编码电路进入工作状态,选手可以进行抢答。同时抢答定时电路开始从20s递减,显示器显示递减,显示器显示递减的时间,当时间未减少到0s时,有选手抢答,报警电路发出警报,显示器显示选手编号,并锁存该选手的号码直到主持人清零为止,此时抢答器的时间不再递减;当时间减到0s时,无选手抢答,报警电路发出警报,提示选手不能再抢答,显示器显示抢答时间0s不动,选手号码为无效号码或者F。当主持人按下清零信号,系统显示为初始状态。四、单元模
6、块设计与仿真1.单元电路的划分根据抢答器所需要实现的功能,将整体电路划分为:编码锁存电路(BMSC)、抢答定时电路(DSQ)、报警器电路(BJQ)、扫描显示电路(SCAN)、译码电路(YMQ)和按键消抖(XD)六个单元电路。2.1编码锁存电路(BMSC):(1)该电路主要实现的功能是:当主持人启动开始键,系统进入工作状态,同时48MHz时钟上升沿持续扫描6个选手的按键端口。当倒计时未到0,有选手抢答时,则对该选手的按键进行编码,并锁存该选手编码并将其输出,同时其他选手的按键抢答无效。若无选手抢答,则持
7、续扫描,直至下一轮抢答开始。本电路共有6个端口。4个输入端口:系统时钟、开始按键信号、定时时间到信号、选手抢答按键信号。2个输出端口:选手按键编码信号、有选手抢中信号。(2)模块程序:libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;----Uncommentthefollowinglibrarydeclarationifinstantiating----a
8、nyXilinxprimitivesinthiscode.--libraryUNISIM;--useUNISIM.VComponents.all;entityBMSCisPort(CLK:inSTD_LOGIC;START:inSTD_LOGIC;SJD:inSTD_LOGIC;XS:inSTD_LOGIC_VECTOR(5downto0);S:outSTD_LOGIC_VECTOR(3downto0);QZ:outSTD_LOGIC);endBMSC;
此文档下载收益归作者所有