预设抢答抢答器的VHDL设计.docx
- 文档编号:17316514
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:9
- 大小:239.22KB
预设抢答抢答器的VHDL设计.docx
《预设抢答抢答器的VHDL设计.docx》由会员分享,可在线阅读,更多相关《预设抢答抢答器的VHDL设计.docx(9页珍藏版)》请在冰点文库上搜索。
预设抢答抢答器的VHDL设计
1方案设计
1.1方案设计分析
(1)抢答器是知识竞赛、智力竞赛的一种常用装置。
其实现方法大致有三种:
一是基于74系列或4000系列IC,用数字系统设计的方法实现;二是基于CPLD/FPGA,使用EDA的方法实现;三是用单片机实现。
(2)三种方法作比较,当抢答器功能较多时,第一种方法电路将是庞大的,电路是复杂的;第二种方法可实现一片式设计,电路是简明的,并且预设置修改方便;至于第三种,单片机大致主要用来做计数器了,略有大材小用之嫌。
(3)本设计采用EDA方法,就多功能抢答器的实现作了尝试,并在Altera公司的低端产品EPK30TC144-3上实现。
1.2系统组成
系统由个人抢答组抢答转换模块(MEMB_TEAM)、第一信号检测和违例判断模块(CORE)、93s倒计时模块(COUNT93)、秒脉冲产生模块(DIV10M)、音响提示模块(VOICE)和显示模块(DISPLAY)六个模块构成,其框图如图1所示。
图1预备抢答抢答器结构框图
图2为系统的顶层gdf文件。
图2预备抢答抢答器顶层gdf文件
2功能描述
(1)全部组员参与抢答。
抢答器供6个代表队(3人/队)比赛,每队设有3个抢答按钮。
知识竞赛进入抢答阶段时,每个队的3个人都可以参与抢答,改变了某些抢答器每队只能一人参与抢答的局面。
如果每队只有一人(即个人抢答竞赛),任意使用每组3只按钮中的一只。
(2)主持人(通常是辅助主持人)控制系统清0和系统启动。
(3)预备抢答。
四声音响提示预备、开始。
前面三响低音为预备提示音,最后一响(高音)为“开始”提示音,抢答器据此自动判断抢答的有效和违例。
常见的另一种抢答方式是:
主持人口说“开始”,同时用手按下抢答有效开关。
两者相比较,后者需要人为判断抢答是否违例,容易产生赛场争议,而前者更为合理。
预备抢答阶段除声音提示外,还辅以LED数码管进行3、2、1倒计时显示。
(4)锁存与自动裁判。
锁存第一抢答组别(个人)的编号,并在LED数码管上显示,同时扬声器、LED发出声光提示,提示有效或违例。
(5)90s限时抢答。
当最后一响“开始”后,定时器进行90s倒计时。
参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。
如果90s时间已到,无人抢答,系统发出提示音,定时显示器上显示00。
3功能实现和设计说明
(1)个人抢答组抢答转换模块。
此模块的功能,是将组员的抢答转换成组员所在的队的抢答,将每组3人的抢答信号进行或运算即可实现转换。
(2)第一信号检测与违例判断模块。
vhdl程序如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYcoreIS
PORT(clk_10M,clr,start:
INSTD_LOGIC;
———时钟、清0、开始信号
team:
INSTD_LOGIC_vector(6downto1);
———队抢答信号
nopre,pre:
outSTD_LOGIC;
———正常抢答信号、违例信号
result:
bufferSTD_LOGIC_vector(6downto1));
———抢答结果信号
ENDcore;
ARCHITECTUREcoreAOFcoreIS
signaltemp:
STD_LOGIC;
BEGIN
PROCESS(clk_10M,team)———第一信号锁存进程
variablelockedself:
STD_LOGIC;———此变量用于自锁
BEGIN
IFclr='0'THENresult<="000000";lockedself:
='0';
temp<='0';
ELSIFclk_10M'eventANDclk_10M='1'THEN
IFlockedself='0'then
result<=team;
lockedself:
=team
(1)orteam
(2)orteam(3)orteam(4)orteam(5)
orteam(6);
elsenull;
ENDIF;
temp<=result
(1)orresult
(2)orresult(3)orresult(4)orresult(5)
orresult(6);———违例判据
ENDIF;
ENDPROCESS;
PROCESS(temp,start)———违例判断进程
BEGIN
IFclr='0'THENPRE<='0';NOPRE<='0';
elsIFtemp'eventANDtemp='1'THEN
IFstart='0'
THENPRE<='1';noPRE<='0';
elsePRE<='0';noPRE<='1';
ENDIF;
endif;
ENDPROCESS;
ENDcoreA;
时钟采用10MHz信号,理论分辨率为100ns;信号的锁存通过变量lockedself实现,这一方法具有普遍意义。
仿真结果如图3所示:
图3第一信号检测与违例判断模块仿真结果
图中第六队抢答信号team6最先产生,故输出信号result6为1,其余为0;此外,抢答在start到达之后,因此没有违规,nopre输出为1,违规信号pre输出为0。
(3)秒脉冲发生模块。
此模块输入时钟信号为10MHz,经10分频器7次分频得1Hz信号。
此1Hz信号除作计数脉冲控制93s倒计时进程外,还将作为提示音的控制信号使用。
本装置控制声音要求秒脉冲的占空比为1:
2,而一般十进制计数器的占空比为1:
10,设计时针对这一点,作了占空比调整。
此模块vhdl程序如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYdiV10IS
port(clr,clk10M:
inSTD_LOGIC;
div:
OUTSTD_LOGIC);
END;
ARCHITECTUREaOFdiV10IS
signaldivtmp:
STD_LOGIC;
BEGIN
PROCESS(clk10M)IS
variabletmp:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
IFclr='0'THENtmp:
="0000";
ELSIFclk10M='1'ANDclk10M'eventTHEN
IFtmp="1001"THENtmp:
="0000";
ELSE
tmp:
=tmp+1;
iftmp="0110"ortmp="0111"ortmp="1000"ortmp="1001"
then———占空比调整为1:
2
DIV<='1';
elsediv<='0';
ENDIF;
endif;
endif;
ENDPROCESS;
enda;
程序中语句“iftmp="0110"ortmp="0111"ortmp="1000"
ortmp="1001"thenDIV<='1';”将占空比由1:
20调整为1:
2。
占空比调整仿真结果如图4所示:
图4占空比调整仿真结果图
模块gdf文件如图5所示:
图5秒脉冲发生模块gdf文件
本模块除上述功能外,还产生100Hz和1000Hz声音信号,在控制电路的控制下驱动扬声器发出提示音响。
(4)9s倒计时模块。
此模块主要为时钟1Hz、初始值为93的减法计数器,计数器状态为01011101(93)、01011100(92)、01011011(91)时产生预备提示信号(预备抢答提示音和3、2、1倒计时),状态为01011010(90)时产生开始start信号,此信号用来判断是否抢答违例,并控制voice模块发出开始抢答提示音,状态为00000000(0)时产生使能信号,停止相关模块进程。
(5)显示模块。
此模块驱动三位7段LED数码管,分别显示抢答组别、93s倒计时。
(6)音响提示模块。
此模块信号端子、控制端子如图6:
图6音响提示模块信号端子、控制端子图
如图6所示,100Hz_IN、1000Hz_IN和SPEAKER构成受控声音通道,秒脉冲发生模块产生的100Hz、1000Hz脉冲驱动扬声器驱动发声;Q[7..0]、clk、pre、nopre为控制端子,选通100Hz、1000Hz和扬声器的连接。
Q[7..0]、clk一起完成93s倒计时进程提示音的控制,clk、pre、nopre实现违例抢答、正常抢答的提示音控制。
发声方案中,声音时间为0.5s,取占空比为1:
2的s信号的高电平进行选通。
4结束语
本文所述功能抢答器,也可以采用74系列或4000系列IC来实现,但做出来的电路很庞大很复杂;采用基于CPLD/FPGA,使用EDA方法实现的抢答器,实现了复杂系统的一片式设计,电路简单,可靠性高。
应用复杂可编程器件的“软硬件”特点和在系统可编程(isp)技术,按具体发展的要求,还可对系统的功能进行再编程设计来不断完善系统功能,缩短设计周期,同时保证设计系统的高可靠性。
此外,多次可编程还为参数和功能的修改和拓展提供了方便和相当大的空间。
由此可见,基于CPLD/FPGA的EDA方法,虽然发展起来的时间还不长,但对电子技术的影响是深远的。
可以预见,在不久的将来该方法将是电子工程的主流方法之一。
参考文献:
[1]潘松.VHDL实用教程[M].成都:
电子科技大学出版社,2000.
[2]顾斌,等.数字电路EDA设计[M].西安:
西安电子科技大学出版社,2004.
[3]韩雁,等.集成电路设计制造中EDA工具实用教程[M].杭州:
浙江大学出版社,2007.
致谢
感谢所有任课老师和所有同学在给自己的指导和帮助,是他们教会了我专业知识,教会了我如何学习,教会了我如何做人。
正是由于他们,我才能在各方面取得显著的进步,在此向他们表示我由衷的谢意。
感谢寝室里的舍友,是你们的帮助来及对我的关照使我拥有一个良好的学习环境是能专心学习生活。
最后,我要向百忙之中抽时间对本文进行审阅各位老师表示感谢。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 预设 抢答 VHDL 设计