基于CPLD的智力竞赛抢答器
- 格式:doc
- 大小:1.76 MB
- 文档页数:29
智力竞赛抢答器设计[摘要]抢答器在竞赛中有很大用处,它能准确、公正、直观地判断出第1抢答者。
通过抢答器的指示灯显示、数码显示和警示蜂鸣等手段指示出第1抢答者。
本文介绍一种数字式抢答器的设计方案,其程序设计简单,通过PLC的梯形图设计完成,利用SWOPC-FXGP/WIN-C软件编辑程序,仿真验证 ,非常适用于多种竞赛场合。
[关键词] PLC 触摸屏抢答控制报警功能定时功能数码显示一、引言PLC在我国的应用已有二十几年的历史,随着目前生产自动化水平的提高,以及各种监控系统的需要,PLC其外部电路简单、模块化结构、可靠性高,尤其可以通过方便的编制和修改软件来实现顺序控制的功能等特点,在工业的应用中越来越广泛。
它将传统的继电器控制技术与计算机和通信技术融为一体。
在实际现场,设备操作方便,管理维护简单,能根据各种突发事情,做出实时的正确反应,在各类竞赛中,都离不开抢答器,虽然市场上有许许多多种抢答器,但功能却各不相同,而所编程序也各不相同,据此,现以F940GOT触摸屏和三菱FX2N系列结合,进行程序设计并仿真验证,设计了一款用触摸屏GOT作为PLC输入和输出设备的抢答器。
该抢答器集抢答、声音警示、灯光指示和计时于一身,而且其编程简单,容易理解掌握,工作稳定可靠,扩展性能强。
二、方案论证与比较:与普通抢答器相比,本作品有以下几方面优势:1、具有触摸屏控制的功能。
2、具有得分统计的功能。
3、具有定时功能。
4、具有数据锁存和显示的功能。
三、总体设计思路(一)设计任务与要求:1.设计内容:要求设计一台带触摸屏并可供4名选手参加比赛的智力竞赛抢答器。
2.设计要求:1)主持人开始、复位、抢答指示和得分统计牌在GOT画面上设置。
抢答器的抢答按钮、开始指示灯、报警器、LED数码管仍用PLC的输入输出设备。
2)抢答器同时供4名选手或4个代表队比赛,分别用4个按钮SB1 ~ SB4表示。
每桌上设有一个抢答按钮,按钮的编号与选手的编号对应,也分别为SB1,SB2,SB3,SB4。
基于CPLD的4路抢答器设计说明0 引言抢答器适用于各类知识竞赛、文娱综艺节目,除了可以把各抢答组号、违例组号、抢答规定时限、答题时间倒计时/正计时在仪器面板上显示外,还可外接大屏幕显示屏显示给赛场观众,活跃现场气氛,便于监督,公平竞争;有的抢答器功能还被用在电脑游戏的抢占上,谁快谁就有奖;有的小型抢答器还可用来训练儿童的反应能力.市面上的抢答器实现方法很多,有采用数字电路实现的,也有采用单片机实现的,但是采用电子设计自动化( e l e c t r o n i c s d e s i g n a u t o ma t i o n,E DA) 技术可编程逻辑器件( c o mp l e x p r o g r a mme r a b l e l o g i c d e i v c e ,CP L D) 来实现的几乎没有。
可编程逻辑器件具有设计灵活,速度快,更改方便,功耗低等优点,在数字系统的设计中得到了广泛的应用,逐步将会替代中、小规模的数字集成芯片.同时,它还带来了设计理念的转变,用软件来设计硬件,把更多与设计无关的工作交给计算机去处理,让设计者将精力集中到设计本身,带来了设计效率提高和设计风险降低的双重优势.1硬件设计简易4 路抢答器的功能如下:设置4 个按键( S 1 、S 2 、s 3 、s 4 ) 作为4 路抢答开关,4 个L E D( D1 、D2 、D3 、D4 ) 作为抢答指示,当按下抢答开始键( s 5 ) 开始抢答.一旦某路抢答成功,蜂鸣器发声,同时与抢答开关对应的L E D被点亮指示抢答的组别,输出被锁存,抢答开关按键无效直到再次按下抢答开始键( S 5 ) .本设计采用Al t e r a 的MAX II系列CPLD芯片E P M2 4 0 T10 0 C5 作为主芯片,在外围配以5个按键、4 个电阻、4个放光二极管、1 个蜂鸣器等少量元件实现了一个简易的4 路抢答器,其硬件连接如图1 所示.图1 硬件连接示意图2 软件设计2.1设计方法E DA设计的核心理念是利用软件来设计硬件.C P L D的设计方式一般分为3 种:第一种是采用HDL语言编程来进行描述,常用的语言有VHDL 和V e r i l o g 两种;第二种是原理图输入的方式,一般的E DA设计工具里面都集成了各种门电路的元件库,设计者可以通过原理图输入方法直接调用这些门电路的元件库,然后采用类似P r o t e l S E 9 9 的画图方法将各个门按照设计要求连接起来,即可完成设计;第三种是状态图描述的方式。
湖南工程学院课程设计课程名称嵌入式系统课题名称基于CPLD的智力竞赛抢答器专业电子信息工程班级电子信息0703学号200701030302姓名田博文指导教师陈爱萍2010年12月20日湖南工程学院课程设计任务书课程名称:嵌入式系统题目:基于CPLD的智力竞赛抢答器专业班级:电子信息0703学生姓名:田博文指导老师:陈爱萍审批:任务书下达日期 2010 年12月20 日设计完成日期 2010年 12月31日设计内容与设计要求CPLD为复杂可编程逻辑器件,通过EDA技术对其进行编程,可将一个较复杂的数字系统集成于一个芯片中,制成专用集成电路芯片,并可随时在系统修改其逻辑功能。
有关知识可参见相关教材或参考书。
一.设计内容1.设计一智力竞赛抢答器,可同时供8名选手参加比赛。
2.给节目主持人设置一个控制开关,控制系统清零和抢答开始。
3.抢答器具有锁存功能和显示功能。
抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示选手编号,同时扬声器响,禁止其他选手抢答。
4.抢答器具有抢答定时功能,时间由主持人确定。
5.参赛选手在设定的时间内抢答有效,定时器停止工作。
6.如果定时时间到,无人抢答,本次抢答无效,系统报警,并封锁输入电路,禁止超时抢答,定时器显示00 。
7.为每组设计一个计分电路,0~999分,可加分,也可减分。
二、设计要求:1、设计思路清晰,给出整体设计框图;2、设计各单元电路,完成其功能仿真和编译并生成低层模块;3、完成顶层设计并编译通过;4、完成设计下载并调试电路;5、写出设计报告;主要设计条件1.提供EDA实验室;2.提供EL实验箱和CPLD芯片;3.提供设计软件说明书格式1.课程设计封面;2.任务书;3.说明书目录;4.设计总体思路,基本原理和框图(顶层电路图);5.单元电路设计(各次级模块电路图);6.设计仿真;7.编程下载;8.总结与体会;9.附录;10.参考文献。
进度安排星期一、二:下达设计任务书,介绍课题内容与要求;查找资料,确定总体设计方案和单元电路设计;星期三~第二周星期一:单元电路设计与仿真,硬件下载;第二周星期二、三:硬件下载;第二星期四、五:书写设计报告,打印相关图纸;答辩参考文献1. 康华光主编.电子技术基础(数字部分),高等教育出版社。
电气控制与可编程控制器课程设计题目:智力抢答器PLC控制班级:姓名:学号:指导教师:设计时间:评语:成绩一、问题描述在各种形式的智力竞赛中,抢答器作为智力竞赛的批判装置得到了广泛的应用。
设计抢答器的原则是:(1)可以根据参赛者的情况,自动设定答题时间。
(2)能够用声光信号表示竞赛状态,调节赛场气氛。
(3)用数码管显示参赛者的得分情况。
控制要求如下:(1)竞赛开始时,主持人接通启动/停止按钮(SA),指示灯HL1亮。
(2)当主持人按下开始抢答按钮(SB0)后,如果在10S内无人抢答,赛场的音响(HA)发出持续 1.5S的声音,指示灯HL2亮,表示抢答器自动撤销此次抢答信号。
(3)当主持人按下开始抢答按钮(SB0)后,如果在10S内有人抢答(按下抢答按钮SB3、SB4或SB5),则最先按下按钮的信号有效,相应的抢答桌上的抢答按钮灯(HL3、HL4或HL5)亮,赛场的音响发出短促音,这里的要求是(0.2sON,0.2sOFF,0.2sON)。
(4)当主持人确认抢答有效后,按下答题计时按钮(SB6),抢答桌上的抢答灯灭,计时开始,计时时间到(假设为1分钟),赛场的音响发出持续3s的长音,抢答桌上抢答灯再次亮。
(5)如果抢答者在规定的时间内正确回答问题,主持人或助手按下加分按钮,为抢答者加分(分数自定),同时抢答桌上的指示灯快速闪烁3s(闪烁频率为0.3sON,0.3sOFF)。
(6)如果抢答者在规定的时间不能正确回答问题,主持人或助手按下减分按钮,为抢答者减分(分数自定)。
二、PLC选型及硬件配置此设计采用S7-300PLC,S7-300系列PLC采用紧凑的、无槽位限制的模块结构,其主要组成部分有金属导轨、电源模块(PS)、型号模块(SM)、功能模块(FM)、接口模块(IM)、通信处理器(CP)和中央处理器(CPU)模块等,这些模块都安装在金属导轨上,通过MPI网的接口直接与编程器PG、操作员面板OP和其他S7-300PLC相连。
目录课程设计(论文)任务书 (3)一设计目的 (4)二设计任务 (4)2.1设计要求 (4)2.2设计题目 (4)三设计原理 (4)3.1课程设计控制原理 (4)3.1.1基本功能模块 (4)3.1.2扩展功能模块 (5)3.2 PLC控制系统流程框图 (5)四设计思路 (6)4.1智力抢答器组成 (6)4.2三路抢答器设计 (7)五设计梯形图 (8)六程序指令表 (10)七调试过程问题分析 (10)7.1调试中出现的问题 (12)7.2分析与解决 (12)八课程设计总结 (13)8.1可编程逻辑器件PLC (13)8.2我们的设计心得 (14)九参考文献 (14)课程设计(论文)任务书指导教师签字:系(教研室)主任签字:年月日智力竞赛抢答器一、设计目的①. 学会绘制梯形图,掌握自主设计PLC线路的方法,并且能用硬件表示出来;②. 通过基本操作,设计一个PLC智力竞赛抢答器。
按控制要求设计PLC线路和设计PLC外部电路的接线图,编写控制程序,并学习上机调试程序的方法。
③. 熟悉PLC主机的结构,熟悉编程器的功能;④.掌握输入\输出、定时器\计数器、等常用指令的功能和编程方法。
二、设计任务2.1设计要求根据所给的基本要求,通过调研或查阅参考资料,写出具体的设计报告书,包含设计任务,设计指标、设计思路、设计梯形图和调试过程问题分析、设计结论。
设计报告每人一份,打印或手写均可,验收时需要答辩。
(设计及实现过程可参考PLC实验指导书)2.2设计题目三队进行智力竞赛,每队三人,每队所在桌上有三个按钮(SB11,SB12,SB13;SB21,SB22,SB23;SB31,SB32,SB33)一个指示灯(分别为L1,L2,L3),主持人桌上有抢答开始按钮SBB和复位按钮SBE,三队分别为小学队、中学队和大学队,要求如下,编写一PLC程序实现之。
(1)主持人按下抢答开始按钮SBB后才能抢答,任一队抢答成功其桌上灯亮,其余队再抢无效。
内蒙古工业大学2012~2013学年第二学期基于PLC的抢答器课程设计任务书姓名学号专业班级指导教师一.系统说明在很多竞赛活动中,经常用到抢答器。
对抢答器的控制要求是:当多个抢答输入信号输入时,抢答器只接收第一个到来的信号,而不接收后面到来的输入信号并使第一个到来的输入信号相应的灯有所反应。
本系统中设有4个抢答输入按钮、7个输出指示灯,一个复位按钮、一个开始按钮。
在主持人的主持下,参赛人通过抢先按下按钮回答问题。
首先应使用复位按钮复位后做好抢答准备。
当主持人说开始,并同时按下开始按钮,抢答开始,并有三十秒限定时间。
1.若抢答者在此前抢先输入,则属违规要予指示该台台号,同时红灯亮,以便扣分惩罚。
2.只有在主持人按下开始抢答按钮后(绿灯亮),抢答者才能抢答,首先按下抢答器的,利用指示灯作为指示。
3.如果在二十五秒时间内各参赛人均不抢答,此时黄灯闪烁作为警示,到三十秒红灯亮,提示答题时间到。
4.主持人按下复位按钮后,新一轮抢答开始。
二 . 设计要求1.根据系统说明分析题目的要求和目标,弄清输入信号和输出信号以及这些信号的性质(ON或OFF),写出I/O分配表,画出输入和输出连接图。
2.根据输入输出的点数选择PLC的型号, 掌握器件及电器设备的使用方式。
3.根据系统的工作顺序条件,画出流程图。
4.编写系统梯形图程序,并在PLC环境中调试运行。
三 . 设计报告报告内容包括设计思想、方案选择、器件选择及电器设备明细表、I/O分配图、系统接线图、流程图、梯形图、程序清单、系统工作原理和设计心得等。
四 . 设计时间一周1.周一,布置任务,学生查找资料、进行方案选择、器件选择。
2.周二~周四,学生编写电器设备明细表、I/O分配图、系统接线图、流程图,并编写梯形图、程序清单,完成设计报告。
3.周五,学生答辩,交报告。
基于CPLD的抢答器设计
李斌; 奂锐
【期刊名称】《《电子制作》》
【年(卷),期】2013(000)005
【摘要】抢答器是为竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,抢答器由抢答启动电路、抢答定时器及定时译码显示电路、抢中报警电路、选手编号译码显示电路。
优先编码电路、锁存器、译码电路将抢中选手的编号译码显示输出;主持人开关启动和选手抢中报警电路;答题完成报警电路。
基于CPLD经过程序设计、调试、仿真、下载和软硬件联合调试等工作,实现了抢答功能。
【总页数】1页(P10-10)
【作者】李斌; 奂锐
【作者单位】西南交通大学电气工程学院四川成都 611756; 刘传鹏西南交通大学物理学院四川成都 611756
【正文语种】中文
【相关文献】
1.基于CPLD的4路抢答器设计 [J], 龚江涛
2.基于FPGA的多路抢答器设计与仿真 [J], 刘德方;王先超;陈秀明;赵佳
3.基于Multisim 1
4.0的四路抢答器的设计与实现 [J], 尹卿朵
4.基于CPLD的24路抢答器设计 [J], 蔡永强;黎平;石巍;钟文基
5.基于通用技术课程设计性实验的智力抢答器设计研究 [J], 邵毅全;张勇;郑宇
因版权原因,仅展示原文概要,查看原文内容请购买。
湖南工程学院课程设计课程名称嵌入式系统课题名称基于CPLD的智力竞赛抢答器专业电子信息工程班级电子信息0703学号************姓名田博文指导教师陈爱萍2010年12月20日湖南工程学院课程设计任务书课程名称:嵌入式系统题目:基于CPLD的智力竞赛抢答器专业班级:电子信息0703学生姓名:***指导老师:***审批:任务书下达日期 2010 年12月20 日设计完成日期 2010年 12月31日目录一、总体思路及原理 (1)二、各级模块设计及仿真 (1)1、抢答启动模块 (1)(1)按键识别子模块 (2)(2)倒计时子模块 (4)2、选手抢答模块 (6)(1)单个选手按键子模块 (6)(2)判断抢答选手子模块 (7)3、加减分模块 (9)(1)组别判断子模块 (9)(2)加减及寄存器子模块 (11)(3)分数选择输出模块 (13)4、显示模块 (14)5、蜂鸣器模块 (16)四、实验箱的调试 (18)五、总结与体会 (19)六、参考文献 (21)七、总原理图 (22)一、总体思路及原理抢答器原理是根据所要设计的系统功能,将整个系统划分成几个主要模块,再将每个模块细分成几个子模块,直到最底层的小模块容易编程实现为止。
只需对底层元件编程实现,最后将各模块连接起来组成所需的系统。
对于一个抢答器系统,可将其分为五个模块:选手抢答模块、抢答启动模块、加减分模块、显示模块、蜂鸣器控制模块,其中抢答启动模块具有启动抢答及启动定时功能,输出使能信号给选手识别模块,以及抢答剩余时间给显示模块;选手识别模块完成锁存抢答信号的功能,并输出选手号给显示模块;蜂鸣器对抢答成功以及超时鸣声报警;显示模块对输入的数据进行显示。
二、各级模块设计1、抢答启动模块启动模块除了有启动的功能外,还有启动定时的功能。
定时时间分为5秒和20秒两种,使用两个按键对应两种限时抢答。
为此,将本模块再划分为2个子模:1)按键识别子模块按键的识别即对输入信号进行电平变化检测,电平发生跳变就认为是键被按下。
但VHDL程序中一个结构体内不能同时对两个信号进行电平跳变的检测,所以对本模块的程序设计采用状态机来实现,并使用统一的时钟信号来扫描按键的电平状态。
按键识别子模块对START5和START20两个按键定义三种状态,START5按下为ST1状态,此时两个按键“START5&START20”输入电平为“01”;START20按下为ST2状态,此时电平为“10”;两个都没按下为ST0状态,此时电平为“11”。
状态转换图如图所示。
本模块程序为:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY START_5_20 ISPORT(CLK1,RST,START5,START20:IN STD_LOGIC; B,A:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); --输出定时初值S_FLAG:OUT STD_LOGIC); --置数信号END ENTITY;ARCHITECTURE ONE OF START_5_20 ISSIGNAL DATAIN:STD_LOGIC_VECTOR(1 DOWNTO 0);TYPE ST_TYPE IS (ST0,ST1,ST2); --定义状态 SIGNAL C_ST:ST_TYPE; BEGIN DATAIN<=START5&START20; --两个输入信号放在一起判断 PROCESS(RST,CLK1)BEGIN IF RST='0' THEN --复位 B<="0000";A<="0000";C_ST<=ST0;S_FLAG<='0'; ELSIF CLK1'EVENT AND CLK1='1' THEN CASE C_ST ISWHEN ST0=> IF DA TAIN="01" THENC_ST<=ST1; --输入信号为01,转ST1状态按键识别模块状态转换图S_FLAG<='1'; --置数信号有效B<="0000";A<="0101"; --定时初值“05”ELSIF DATAIN="10" THENC_ST<=ST2; --输入信号为10,转ST1状态S_FLAG<='1'; --置数信号有效B<="0011";A<="0000"; --定时初值“30”ELSE C_ST<=ST0; --输入信号为11,保持ST0状态END IF;WHEN ST1=>IF DATAIN="11" THENC_ST<=ST0;--防按键抖动,为11时才转ST0状态S_FLAG<='0'; --置数信号无效ELSE C_ST<=ST1; --按键没弹起,继续等待END IF;WHEN ST2=>IF DATAIN="11" THEN C_ST<=ST0;S_FLAG<='0';ELSE C_ST<=ST2;END IF;WHEN OTHERS=>C_ST<=ST0;B<="0000";A<="0000";END CASE;END IF;END PROCESS;END ARCHITECTURE;本模块仿真波形如图所示。
按键识别模块仿真波形2)倒计时子模块倒计时需要1Hz 的脉冲输入,每来一个上升沿,进行一次减一运算,将结果输出到TIMEB 、TIMEA ;置数信号LOAD 输入有效,读入B 、A 端口的数据;输入L_CR 信号与选手识别模块连接,当选手抢答成功后,L_CR 信号为0,将倒计时清0.;若倒计时到,没有选手抢答,则在SR1输出1使扬声器发声。
同时输出信号给选手抢答模块,禁止选手抢答。
本模块程序为: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DE_COUNT ISPORT(CLK2,LOAD,L_CR,RST:IN STD_LOGIC; B,A:IN STD_LOGIC_VECTOR(3 DOWNTO 0); TIMEB,TIMEA:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);TIMEOUT,SR1:OUT STD_LOGIC);END ENTITY;ARCHITECTURE TWO OF DE_COUNT IS BEGIN PROCESS(LOAD,L_CR,RST,CLK2)V ARIABLE P1,P0:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF LOAD='1' THENP1:=B;P0:=A; --指数信号有效,将B 、A 值读入P1、P0 ELSIF L_CR='0' THEN --有选手抢答成功,L_CR 输入为0,定时时间清0P1:="0000";P0:="0000";TIMEOUT<='0';SR1<='1';ELSIF RST='0' THEN P1:="0000";P0:="0000";TIMEOUT<='1';SR1<='0'; ELSIF (CLK2'EVENT AND CLK2='1') THEN IF P0="0000" THEN IF P1>0 THENP1:=P1-1;P0:="1001"; --若个位为0,十位减1,个位赋为9 END IF;ELSE P0:=P0-1; --若个位不为0,个位直接减一IF P0="0000" AND P1="0000" THENTIMEOUT<='1';SR1<='1'; --若时间到,输出锁存信号END IF;倒计时模块END IF;END IF;TIMEB<=P1;TIMEA<=P0;END PROCESS;END ARCHITECTURE;程序中,因为每次减一后的时间值需要保存,用于下次继续减一,所以程序中使用了不完整的IF语句引入寄存器,用于保存每次减一后的时间值。
P1、P0定义为变量而不是信号的原因是,变量的赋值是即时的,减一后可以马上进行判断;若定义为信号,不能即时进行判断,并且减一操作后的赋值要经过一个δ延时,程序不好控制。
本模块仿真波形如图所示。
倒计时模块仿真波形两个子模块组合的程序为:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY STARTER ISPORT(CLK1,CLK2,L_CR,RST,START5,START20:IN STD_LOGIC;TIMEB,TIMEA:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);TIMEOUT,SR1:OUT STD_LOGIC);END ENTITY;ARCHITECTURE THREE OF STARTER ISCOMPONENT START_5_20 IS --调用元件START_5_20声明PORT(CLK1,RST,START5,START20:IN STD_LOGIC;B,A:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);S_FLAG:OUT STD_LOGIC);END COMPONENT;COMPONENT DE_COUNT IS --调用元件DE_COUNT声明PORT(CLK2,LOAD,L_CR,RST:IN STD_LOGIC;B,A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);TIMEB,TIMEA:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);TIMEOUT,SR1:OUT STD_LOGIC);END COMPONENT;SIGNAL m,n:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL p:STD_LOGIC; --对应图7中的中间信号BEGIN --按照图7将两个元件连接起来U1:START_5_20 PORT MAP(CLK1=>CLK1,START5=>START5,START20=>START20,RST=>RST,B=>m,A=>n,S_FLAG=>p);U2:DE_COUNT PORT MAP(CLK2=>CLK2,B=>m,A=>n,LOAD=>p,RST=>RST,L_CR=>L_CR,TIMEB=>TIMEB,TIMEA=>TIMEA,TIMEOUT=>TIMEOUT,SR1=>SR1);END ARCHITECTURE;2、选手抢答模块将本模块划分为两个子模块:单个选手按键模块和判断抢答选手模块。