刘 开 绪
(大庆师范学院 黑龙江省大庆 163712)
摘要: 介绍了可编程逻辑器件(CPLD)在数字式抢答器中的应用,单元电路分别通过原理图设计、硬件描述高级语言(VHDL)设计,利用EDA工具软件编译仿真验证,实现系统功能。
关键词:CPLD 抢答器 VHDL EDA 仿真
作者简介:刘开绪(1967-),男,黑龙江省巴彦县人,1989年毕业与东北师范大学物理系,1996年毕业于吉林大学物理系,理学硕士。现任大庆师范学院物理系副教授。研究方向:物理电子学。
一 引言
可编程逻辑器件的应用越来越广泛,也为数字式抢答器的设计提供了方便的器件。本文利用可编程逻辑器件(CPLD)设计一个数字式抢答器。它能准确、公正、直观地判断出第一抢答者。通过抢答器的指示灯显示、数码显示和警示蜂鸣等手段指示出第一抢答者。
二、设计思路和设计过程
1.设计制作一个竞赛抢答器,每组受控于一个抢答开关,若设有8个组别,则分别为S1、S2、…、S7、S8,低电平表示抢答有效;
2.设置主持人控制键RESET:用于控制整个系统清0和抢答有效控制。按下复位键时,RESET=0,系统清零;抬起复位键时,RESET=1,抢答开始;
3.系统具有第一抢答信号鉴别和锁存功能。在主持人将系统复位并使抢答有效开始后,第一抢答者按下抢答按钮,对应的输入引脚接低电位0,电路应记忆下第一抢答者的组别,并封锁其他各组的按钮,即其他任何一组按键都不会使电路响应;
4.系统以两种方式指示第一抢答者:其一是通过对应的输出引脚点亮发光二极管,编译码电路数字显示组别号;其二是在第一抢答者产生时,蜂鸣器警示;
5. 设置违规电路单元,当抢答者在主持人按下复位清零按钮之前就已经按下按住抢答按钮时,则给出违规信号为高电平;
6. 倒计时电路。显示设定的抢答倒计时时间。某组抢答有效时,则显示对应的倒计时时刻;
7. 确定系统框图如图1所示;
图1 抢答器框图
8.设计各部分单元电路,完成抢答器的系统设计,图2所示为控制主电路原理图。
图2 抢答器控制主电路原理图
三、原理分析
第一信号鉴别电路是抢答器的关键电路,其任务是鉴别并锁存第一抢答者的信号。图2选用4D触发器74175以及与非门构成了一个8组输入的鉴别电路。RESET低电平有效对系统实现清0。当RESET=1表明系统抢答有效准备就绪,无人抢答时,使
图中SEG7B2为组别编译码电路,它完成抢答有效组别所对应的显示数码显示。因抢答组别的各种输入状态无优先权,因而采用选择信号的赋值语句实现该功能,其VHDL源程序如下:
LIBRARY ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
ENTITY SEG7b2 IS
PORT(num: IN std_logic_vector( 7 downto 0);
led: OUT std_logic_vector(6 downto 0));
END SEG7b2;
ARCHITECTURE a OF SEG7b2 IS
BEGIN
WITH NUM SELECT
led <= "0110000" when "00000001" , --显示1;
"1101101" when "00000010" , --显示2;
"1111001" when "00000100" , --显示3;
"0110011" when "00001000" , --显示4;
"1011011" when "00010000" , --显示5;
"1011111" when "00100000" , --显示6;
"1110000" when "01000000" , --显示7;
"1111111" when "10000000" , --显示8;
"1111110" when others ; --显示0;
END a ;
图中WG为违规电路。当抢答者在主持人复位系统之前就已按下按住抢答按钮,当RESET=0时,则Y=1表示某组违规,当RESET=1时,显示违规组别。其VHDL源程序如下:
LIBRARY ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
ENTITY wg IS
PORT(RESET: IN std_logic;
S1,S2,S3,S4,S5,S6,S7,S8:IN std_logic;
y: OUT std_logic_VECTOR(1 DOWNTO 0));
END wg;
ARCHITECTURE a OF wg IS
SIGNAL TEMP1 : STD_LOGIC;
SIGNAL TEMP2 : STD_LOGIC_VECTOR(1 DOWNTO 0);
BEGIN
TEMP2<=RESET & TEMP1;
TEMP1<=S1 OR S2 OR S3 OR S4 OR S5 OR S6 OR S7 OR S8;
WITH TEMP2 SELECT
Y<="11" when "01" ,
"00" when "10" ,
"00" when "11" ,
"00" when OTHERS;
END a;
图3给出了倒计时器电路。选择十进制加/减法计数器74192和4线—七段译码器7448组成两位可预置数的十进制减法器。1A~1D/2A~2D分别为高/低位预置端,RESET=0时随系统同步复位,显示预置值;RESET=1时,在CLK1标准秒时钟脉冲的作用下,倒计时开始。若某组抢答有效对应SPEAK=1时,计时停止并显示倒计时时刻。CLK1标准秒时钟脉冲可以利用时基集成电路NE555搭建。若一直无人抢答,则倒计时到“00”十自然停止。a1~g1,a2~b2分别接高、低两位LED共阴数码管的对应引脚。
图3 倒计时器电路
四、器件的选择
本设计选用ALTERA公司的MAX7000S系列的EPM7128SLC84-15型CPLD器件实现,使用MAX+PLUS II工具软件,将用VHDL语言描述的单元电路创建成对应的电路符号,调用到控制主电路原理图设计文件中,进而完成波形编辑→编译→仿真→程序下载完成器件烧写→功能验证等过程。使系统功能实现起来非常简洁,同时也会大大提高系统的可靠性。并且,可以借助计算机的强大的仿真功能直接在计算机上验证电路的逻辑功能。图4给出了利用EPM7128SLC84-15器件在计算机上实现的仿真波形图。
图4 选用MAX7128SLC84-15的仿真波形图
五、结束语
本文分别利用原理图设计和硬件描述高级语言(VHDL)设计的优点完成了对应单元的电路设计,使系统较为简洁。利用复杂可编程器件(CPLD)实现了抢答器的系统功能,使电路引脚定义自如,实际印板布线灵活,应用可靠。应用复杂可编程器件的“软硬件”特点和在系统可编程(isp)技术,应具体发展的要求,还可对系统的功能进行再编程设计来不断完善系统功能,缩短设计周期,同时保证设计系统的可靠性。
参考文献
<1> 蔡明生等编著 电子设计 北京 高等教育出版社 2004.1
<2> 顾斌等 数字电路EDA设计 西安 西安电子科技大学出版社 2003.11
Application of Programmable Logic Devices in Competition Answer with digital display
Liu Kai-xu
(Physics Department of Daqing Normal University, Daqing 163712,China)
Abstract:This paper introduces a application of programmable logic devices in competition answer with digital display, circuit unit composed of graphic an VHDL,compiled simulated tested and verified by using EDA tool softwair, and complete system function.
Key words:Answer; VHDL; EDA; simulate
(黑龙江省大庆师范学院 物理系,163712)
刘 开 绪
013304598529
电脑抢答器网 抢答器设计与制作的专业网站 大学生课程设计的园地 |