1、第三章 仿真波形.15第一节 仿真波形153.1.1抢答鉴别模块QDJB.153.1.2计时模块JSQ153.1.3记分模块JFQ163.1.4 译码显示模块YMQ.16第四章 实习总结.184.1实习总结184.2参考文献.18第一章智能抢答器的设计第一节、基于VHDL的智能抢答器1.1.1设计目的及要求EDA技术作为现代电子设计最新技术的结晶,其广阔的应用前景和深远的影响已毋庸置疑,它在信息工程类专业中的基础地位和核心作用也逐渐被人们所认识。许多高等学校开设了相应的课程,并为学生提供了课程设计、综合实践、电子设计竞赛、毕业设计、科学研究和产品开发等EDA技术的综合应用实践环节。相关的工程技
2、术人员也特别重视学习EDA技术,并渴望提高其工程应用能力。 对于迅猛发展的EDA技术的综合应用,从EDA技术的综合应用系统的深度来分,可分为3个层次: 功能电路模块的设计; 算法实现电路模块的设计; 片上系统/嵌入式系统/现代DSP系统的设计。 从EDA技术的综合应用系统的最终主要硬件构成来分,已出现6种形式: CPLD/FPGA系统; CPLD/FPGA+MCU系统; CPLD/FPGA+专用DSP处理器 基于FPGA实现的现代DSP系统; 基于FPGA实现的SOC片上系统; 基于FPGA实现的嵌入式系统。 从EDA技术的综合应用系统的完善层次来分,可分为3个层次:EDA综合系统主体电路的设
3、计、仿真及硬件验证;主体电路的设计、仿真、硬件验证+系统外围电路PCB的设计与制作;主体电路的设计、仿真、硬件验证+系统整体电路PCB的设计与制作及系统的组装、调试。在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等各种手段批示出第一抢答者。同时,还可以设置计分、犯规及奖惩记录等各种功能。本设计的具体要求是:1.设计制作一个可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。2.电路具有第一抢答信号的鉴别和锁存功能。在主持人交系统复位并发出抢答指令后,若抢答开关,则该组指示灯亮并用组别显示电路显示抢答者的组别,同时扬声器发出“嘀
4、嘟”的双音音响,且持续23秒。此时,电路应具备自锁功能,使别组的抢答开关不起作用。3.设置计分电路。每组在开始时预置成100分,抢答后由诗人计分,答对一次加10分,否则减10分。4.设置犯规电路。对提前抢答和超时抢答的组别鸣喇叭示警,并由组别显示电路显示出犯规组别。1.1.2设计分析与设计思路:根据系统设计要求可知,系统的输入信号有:各组的抢答按钮A、B、C、D,系统清零信号CLR,系统时钟信号CLK,计分复位端RST,加分按钮端ADD,计时预置控制端LDN,计时使能端EN,计时预置数据调整按钮TA、TB;系统的输出信号有:四个组抢答成功与否的指示灯控制信号输出口LEDA、LESB、LEDC、
5、LEDD,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。本系统应具有的功能有:第一抢答信号的鉴别和锁存功能;抢答计时功能;各组得分的累加和动态显示功能;抢答犯规记录功能。第二章抢答器各模块的原理及介绍第一节、系统的框图及介绍2.1.1结构框图及系统框图图2.1抢答器系统及结构框图原理分析:将电路分为三个主要模块:抢答鉴别模块QDJB;计时模块JSQ;记分模块JFQ。可用静态显示,使用4个数码管,两个显示计时,一个显示组别,一个显示分数。第二节、模块的介绍2.2.1抢答鉴别模块QDJB图2.2 QDJB在抢答鉴别电路设计中,A、B、C、D
6、四组抢答,理论上应该有16种可能情况,但实际上由于芯片反应速度快到一定程度时,两组以上同时抢答成功的可能性非常小,因此我们可设计成只有四种情况,这大大简化了电路的设计复杂性。2.2.2计时模块JSQ图2.3 JSQ本系统中的计时器电路既有计时初始值的预置功能,又有减计数功能,功能比较齐全。其中初始值的预置功能是将时间的两位数(单位为秒)分解成两个数分别进行预置,默认时间为60秒倒计时。TA、TB端分别预置两位数值,再经过LDN端确认所置时间,EN端为高电平后开始计时。每个数的预置则采用高电平计数的方式进行,CLK接时钟信号,操作简洁。2.2.3记分模块JFQ图2.4 JFQ在计分器电路的设计中
7、,按照一般的设计原则,按一定数进制进行加减即可,但是随着计数数目的增加,要将计数数目分解成十进制并进行译码显示分变得越来越麻烦。因此为了减少译码显示的麻烦,一般是将一个大的进制数分解成数个十进制以内的时制数,计数器串级连接。但随着位数的增加,电路的接口增加因此本设计采用IF语句从低往高判断是否有进位,以采取相应的操作,而且由于设计要求加减分均为10的倍数故而可以将个位一直设为0,这样既减少了接口,又大大地简化了设计。2.2.4译码器显示模块YMQ图2.5 YMQ本译码器用于将抢答鉴别模块抢答成功的组别和计时器的时间进行显示,AIN43.0端输入需显示的二进制数组,DOUT76.0端输出显示在数
8、码管,显示显示范围为09。第三节、系统的源程序2.3.1VHDL源程序一、抢答鉴别模块QDJBLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY QDJB IS PORT(CLR: IN STD_LOGIC; A, B, C, D:-4个组 A1,B1,C1,D1: OUT STD_LOGIC; STATES: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ENTITY QDJB;ARCHITECTURE ART OF QDJB ISsignal a_1,b_1,c_1,d_1: STD_LOGIC; BEGIN PROC
9、ESS(CLR,A,B,C,D) ISIF CLR=1 THEN STATES=0000;a_1=0b_1c_1d_1-清零ELSIF a_1= or b_1= or c_1= or d_1= then null;-锁存,当有一组选中时其他组再抢答没作用ELSIF a= then a_1STATES 0001ELSIF b= then b_10010ELSIF c= then c_10011ELSIF d= then d_10100END IF;a1=a_1;b1=b_1;c1=c_1;d1=d_1; END PROCESS;END ARCHITECTURE ART;二、计时模块JSQUSE
10、IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JSQ IS PORT(CLR,LDN,EN,CLK: TA,TB: QA: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); QB:END ENTITY JSQ;ARCHITECTURE ART OF JSQ IS SIGNAL DA: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL DB: PROCESS(TA,TB,CLR) IS IF CLR= THEN DA DB ELSEIF TA=DA+ ; END IF; IF TB=DB+ PROCESS(CLK) VARIABL
11、E TMPA: VARIABLE TMPB:BEGIN THEN TMPA: TMPB:0110 ELSIF CLKEVENT AND CLK= IF LDN=DA;=DB; ELSIF EN= IF TMPA= TMPA:1001 IF TMPB= THEN TMPB: ELSE TMPB:=TMPB-1; ELSE TMPA:=TMPA-1; QA=TMPA; QB=TMPB;END ART;三、记分模块JFQENTITY JFQ IS PORT(RST: ADD: CHOS: IN STD_LOGIC_VECTOR(3 DOWNTO 0); AA2,AA1,AA0,BB2,BB1,BB0
12、:CC2,CC1,CC0,DD2,DD1,DD0:END ENTITY JFQ ;ARCHITECTURE ART OF JFQ IS PROCESS(RST,ADD,CHOS) VARIABLE POINTS_A2,POINTS_A1: VARIABLE POINTS_B2,POINTS_B1: VARIABLE POINTS_C2,POINTS_C1: VARIABLE POINTS_D2,POINTS_D1: IF (ADDEVENT AND ADD=) THEN IF RST= POINTS_A2: POINTS_A1: POINTS_B2: POINTS_B1: POINTS_C2:
13、 POINTS_C1: POINTS_D2: POINTS_D1: ELSIF CHOS=IF POINTS_A1= IF POINTS_A2= POINTS_A2: ELSE =POINTS_A2+=POINTS_A1+IF POINTS_B1= IF POINTS_B2= POINTS_B2:=POINTS_B2+=POINTS_B1+ELSIF CHOS= IF POINTS_C1= IF POINTS_C2= POINTS_C2:=POINTS_C2+=POINTS_C1+1000 IF POINTS_D1= IF POINTS_D2= POINTS_D2:=POINTS_D2+=PO
14、INTS_D1+ AA2=POINTS_A2; AA1=POINTS_A1; AA0 BB2=POINTS_B2; BB1=POINTS_B1; BB0 CC2=POINTS_C2; CC1=POINTS_C1; CC0 DD2=POINTS_D2; DD1=POINTS_D1; DD0DOUT70000000 END CASE;五、顶层原理图文件图2.6 顶层原理图第三章、仿真波形第一节 仿真波形3.1.1抢答鉴别模块QDJB图3.1抢答鉴别模块QDJBCLR低电平有效,当其为高电平时,输出无效。当其为低电平时,A,B,C,D哪一个为高电平则输出哪个,对应的LED灯亮。3.1.2计时模块JS
15、Q图3.2计时模块JSQCLR低电平有效,当CLR为高电平时,电路不工作。当CLR为低电平时开始计时。如没人抢答,时间到后发出提示音。如有人抢答,答题时间到后,发出提示音。输入:QA个位,QB十位,输出:TA个位,TB十位。3.1.3记分模块JFQ图3.3记分模块JFQ初始分数为100分,当ADD经过第一个上升沿时,CHOS【3】输出高电平,则对应的给D加上10分。3.1.4 译码显示模块YMQ图3.4 译码显示模块YMQ显示电路由LED共阴极译码器构成。其十进制数09对应的二进制表示和LED共阴极译码器输出如表3-1所示。表3-1 十进制数字对应的LED译码器表示十进制二进制LED共阴极译码
16、器输出00000111111100010000110200101011011300111001111401001100110501011101101601101111101701110000111810001111111910011101111第四章、实习总结4.1实习总结在这次设计中,我花了不少的时间,其中有苦也有泪。苦的是我付出了不少的汗水,乐的是在付出的过程中我得到了许多,也学会了许多。因为一个人的能力毕竟有限,在设计方面难免会出现这样那样的错误,但正是这些错误促进了我的进步。根据电路的特点,我用层次化结构化设计概念,将此项设计任务分成若干模块,规定每一模块的功能和各模块之间的接口,然后
17、再将各模块合起来联试,这培养了我们合作的精神,同时加深了层次化设计的概念。在这次课程设计中,我真正体会到了知识的重要性。在设计的过程中,遇到问题我会先独立思考,到自己不能解决的时候我就会和同学讨论,实在解决不了我就会向指导老师请教,应该说从功能的实现到流程图的绘制,从程序的编写到程序的检查,从程序的调试到实验报告的写作,其间每一个过程都凝聚着大家对我的帮助。最后,在设计的过程中我进一步养成了软件设计的方法,完成一个项目的的程序,进一步了解了设计的步骤,进一步加深了对EDA技术实用教程这门课的理解,增强了以后学习的兴趣,为以后的工作积累了一定的经验。4.2参考文献(1)、EDA技术与VHDL 潘松 黄继业 2009.09(2)、EDA技术课程设计 孙俊逸 刘江海 2009.05(3)、EDA技术与VHDL电路开发应用实践 刘欲晓 方强 2009.04
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1