数字电路设计实例
- 格式:doc
- 大小:5.04 MB
- 文档页数:23
VHDL 数字逻辑电路设计19例第1章组合逻辑电路8例1. 2-4译码器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ymq24 ISPORT (EN,A,B:IN STD_LOGIC;YN : OUT STD_LOGIC_vector(3 downto 0 ));END ENTITY ymq24 ;ARCHITECTURE rt1 OF ymq24 ISSIGNAL T:STD_LOGIC_vector(1 downto 0 );BEGINT<=A & B;process(EN,T)beginIF EN='1' THEN YN<="1111";ELSIF T="00" THEN YN<="1110";ELSIF T="01" THEN YN<="1101";ELSIF T="10" THEN YN<="1011";ELSE YN<="0111";END IF;End process;END ARCHITECTURE rt1;2. 3-8译码器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ymq38 ISPORT (G1,G2N,G3N,A,B,C:IN STD_LOGIC;YN : OUT STD_LOGIC_vector(7 downto 0 )); END ENTITY ymq38 ;ARCHITECTURE rt1 OF ymq38 ISSIGNAL T1,T2:STD_LOGIC_vector(2 downto 0 );BEGINT1<=A & B & C;T2<=G1 & G2N & G3N;process(G1,G2N,G3N,T1,T2)beginIF T2/="100" THEN YN<="11111111";ELSIF T1="000" THEN YN<="11111110";ELSIF T1="001" THEN YN<="11111101";ELSIF T1="010" THEN YN<="11111011";ELSIF T1="011" THEN YN<="11110111";ELSIF T1="100" THEN YN<="11101111";ELSIF T1="101" THEN YN<="11011111";ELSIF T1="110" THEN YN<="10111111";ELSE YN<="01111111";END IF;End process;END ARCHITECTURE rt1;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY xzq41 ISPORT(gn: IN STD_LOGIC;d: IN STD_LOGIC_VECTOR(3 DOWNTO 0);a0,a1: IN STD_LOGIC;y: out STD_LOGIC);END ENTITY xzq41;ARCHITECTURE rt1 OF xzq41 ISsignal s: STD_LOGIC_VECTOR(1 DOWNTO 0); BEGINS<= a1 & a0;Process(S,D,gn)beginif gn='0' thenCASE (S) ISWHEN "00"=> Y<=d(0);WHEN "01"=> Y<=d(1);WHEN "10"=> Y<=d(2);WHEN "11"=> Y<=d(3);WHEN OTHERS =>NULL;END CASE;else y<='0';end if;End process;END ARCHITECTURE rt1;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY xzq81 ISPORT(gn: IN STD_LOGIC;d: IN STD_LOGIC_VECTOR(7 DOWNTO 0);a0,a1,a2: IN STD_LOGIC;y: out STD_LOGIC);END ENTITY xzq81;ARCHITECTURE rt1 OF xzq81 ISsignal s: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGINS<= a2 & a1 & a0;Process(S,D,gn)beginif gn='0' thenCASE (S) ISWHEN "000"=> Y<=d(0);WHEN "001"=> Y<=d(1);WHEN "010"=> Y<=d(2);WHEN "011"=> Y<=d(3);WHEN "100"=> Y<=d(4);WHEN "101"=> Y<=d(5);WHEN "110"=> Y<=d(6);WHEN "111"=> Y<=d(7);WHEN OTHERS =>NULL;END CASE;else y<='0';end if;End process;END ARCHITECTURE rt1;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY l75 ISPORT (A,B,C:IN STD_LOGIC;d,g : OUT STD_LOGIC);END ENTITY l75 ;ARCHITECTURE rt1 OF l75 ISCOMPONENT ymq38PORT (G1, G2N, G3N, A, B, C: IN STD_LOGIC;YN : OUT STD_LOGIC_vector(7 downto 0 )); END COMPONENT ;signal ynt : STD_LOGIC_vector(7 downto 0 );BEGINU1 :ymq38 PORT MAP ('1','0','0',a,b,c,YNt(7 DOWNTO 0));d<=not(ynt(1) and ynt(2) and ynt(4) and ynt(7));g<=not(ynt(1) and ynt(2) and ynt(3) and ynt(7));END ARCHITECTURE rt1;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY l76 ISPORT (A,B,C,D:IN STD_LOGIC;F : OUT STD_LOGIC);END ENTITY l76 ;ARCHITECTURE rt1 OF l76 ISCOMPONENT ymq38PORT (G1,G2N,G3N,A,B,C:IN STD_LOGIC;YN : OUT STD_LOGIC_vector(7 downto 0 ));END COMPONENT ;signal yn1t:STD_LOGIC_vector(7 downto 0 );signal yn2t:STD_LOGIC_vector(7 downto 0 );BEGINU1 :ymq38 PORT MAP ('1',A,'0',B,C,D,YN1t(7 DOWNTO 0));U2 :ymq38 PORT MAP (A,'0','0',B,C,D,YN2t(7 DOWNTO 0));F<=not( yn1t(2) and yn1t(4) and yn1t(6) and yn2t(0) and yn2t(2) and yn2t(4) and yn2t(6)); END ARCHITECTURE rt1;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY l78 ISPORT (A,B,C:IN STD_LOGIC;f : OUT STD_LOGIC);END ENTITY l78 ;ARCHITECTURE rt1 OF l78 ISCOMPONENT xzq81PORT(gn: IN STD_LOGIC;d: IN STD_LOGIC_VECTOR(7 DOWNTO 0);a0,a1,a2: IN STD_LOGIC;y: out STD_LOGIC);END COMPONENT ;BEGINU1 :xzq81 PORT MAP ('0',"01101100",c,b,a,f);END ARCHITECTURE rt1;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY l78 ISPORT (A,B,C:IN STD_LOGIC;f : OUT STD_LOGIC);END ENTITY l78 ;ARCHITECTURE rt1 OF l78 ISCOMPONENT xzq41PORT(gn: IN STD_LOGIC;d: IN STD_LOGIC_VECTOR(3 DOWNTO 0);a0,a1: IN STD_LOGIC;y: out STD_LOGIC);END COMPONENT ;signal t:STD_LOGIC;signal dt:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINt<= not c;dt<=t & c & '1' & '0';U1 :xzq41 PORT MAP ('0',dt,b,a,f);【作业】以下所有题目必须用VHDL代码实现。
数字电路课程设计设计报告课题名称:密码锁设计成员1:设计成员2:设计成员3:密码锁一、目录1、设计项目综述 (2)2、设计方案及分析 (3)2.1设计方案 (3)2.2设计分析 (4)2.3方案优缺点 (4)3、电路原理分析 (5)3.1模块1:八进制优先编码器74ls148 (5)3.2模块2:4位双稳锁存器74LS75 (6)3.3模块3:4位数字比较器74LS85 (8)3.4模块4:可预置bcd计数器74LS160 (9)3.5 总图 (14)4、总结 (16)4.1设计中遇到的问题及解决方法 (17)4.2设计方案中需要改进的地方 (17)4.3这次设计中的收获和教训 (17)二、设计项目综述:1、可以预置1位十进制数密码,并保存密码。
2、开锁时,输入正确密码,按开锁键,锁打开。
3、当输入密码时,数码管显示相应的输入数字。
密码输入错误时计数一次,当输入错误密码连续达到四次,拒绝再输入密码。
需用复位键将其还原才能再次输入。
4、输入密码时,数码管8显示密码的数值。
拒绝输入密码时,只显示0。
按开锁键时,数码管5显示密码输入错误的次数;当错误次数连续少于4次以下时,则当输入密码正确时数码管5清“0”。
5、开锁指示灯亮表示锁已经打开。
三、设计方案及分析1、设计方案根据以上密码锁的设计任务,我们拟定的方案可以简略的如以下框图所示:2、方案分析(1)密码输入:由于要求通过每按一个输入键时直接显示为对应的十进制数密码,所以需要将二进制数转换为对应的十进制数。
根据前面这个要求,我们有两个选择74ls147和74ls148。
74ls147与74ls148比较,74ls148比74ls147多一个功能端。
使用74ls148可以实现输入四次错误自动锁定。
虽74ls148总的输入键只有8个,使用两块74ls148,并他们通过级联可以解决0~9输入。
当多过输入端同时出现时,只对其中优先权最高的一个进行编码,这个编码就是我们要的对应的十进制数。
多功能数字钟电路设计1设计内容简介数字钟是一个简单的时序组合逻辑电路,数字钟的电路系统主要包括时间显示,脉冲产生,报时,闹钟四部分。
脉冲产生部分包括振荡器、分频器;时间显示部分包括计数器、译码器、显示器;报时和闹钟部分主要由门电路构成,用来驱动蜂鸣器。
2设计任务与要求Ⅰ以十进制数字形式显示时、分、秒的时间。
Ⅱ小时计数器的计时要求为“24翻1”,分钟和秒的时间要求为60进位。
Ⅲ能实现手动快速校时、校分;Ⅳ具有整点报时功能,报时声响为四低一高,最后一响为整点。
Ⅴ具有定制控制(定小时)的闹钟功能。
Ⅵ画出完整的电路原理图3主要集成电路器件计数器74LS162六只;74LS90三只;CD4511六只;CD4060六只;三极管74LS191一只;555定时器1只;七段式数码显示器六只,74LS00 若干;74LS03(OC) 若干;74LS20 若干;电阻若干,等4设计方案数字电子钟的原理方框图如图(1)所示。
该电路由秒信号发生器、“时,分,秒”计数器、译码器及显示器、校时电路、整点报时电路、闹钟定时等电路组成。
秒信号产生器决定了整个计时系统的精度,故用石英晶体振荡器加分频器来实现。
将秒信号送入“秒计时器”,“秒计时器”采用六十进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
“分计数器”也采用六十进制计数器,每60分钟,发出一个“时脉冲”,该信号经被送到“时计数器”作为“时计数器”的时钟脉冲,而“时计数器”采用二十四进制计数器,实现“24翻1”的计数方式,可实现对一天二十四小时的累计。
译码显示电路将“时”、“分”、“秒”计数器的输出状态通过七段式显示译码器译码,通过刘伟LED 七段显示器显示出来。
整点报时电路是根据计时系统的输出状态产生一脉冲信号,然后触发一音频发生器实现整点报时,定时电路与此类似。
校时电路是用“时”、“分”、“秒”显示数5电路设计5.1秒信号发生器秒信号发生器是数字钟的核心部分,它的精度和稳定度决定了数字钟的质量,通常用晶体整荡器产生的脉冲经过整形、分频获得1 Hz的秒脉冲。
实验七时序逻辑电路设计一、实验目的1. 学习用集成触发器构成计数器的方法。
2. 熟悉中规模集成十进制计数器的逻辑功能及使用方法。
3. 学习计数器的功能扩展。
4. 了解集成译码器及显示器的应用。
二、实验原理计数器是一种重要的时序逻辑电路,它不仅可以计数,而且用作定时控制及进行数字运算等。
按计数功能计数器可分加法、减法和可逆计数器,根据计数体制可分为二进制和任意进制计数器,而任意进制计数器中常用的是十进制计数器。
根据计数脉冲引入的方式又有同步和异步计数器之分。
1. 用D触发器构成异步二进制加法计数器和减法计数器:图10—1是用四只D触发器构成的四位二进制异步加法计数器,它的连接特点是将每只D触发器接成T'触发器形式,再由低位触发器的Q端和高一位的CP端相连接,即构成异步计数方式。
若把图10—1稍加改动,即将低位触发器的Q端和高一位的CP端相连接,即构成了减法计数器。
图10—1本实验采用的D触发器型号为74LS74A,引脚排列见前述实验。
2. 中规模十进制计数器中规模集成计数器品种多,功能完善,通常具有予置、保持、计数等多种功能。
74LS182同步十进制可逆计数器具有双时钟输入,可以执行十进制加法和减法计数,并具有清除、置数等功能。
引脚排列如图10—2所示。
其中LD−−置数端;CP u−−加计数端;CP D−−减计数端;DO−−非同步进位输出端;CO−−非同步借位输出端;Q A、Q B、Q C、Q D−−计数器输出端;D A、D B、D C、D D−−数据输入端;CR−−清除端。
表10—1为74LS192功能表,说明如下:当清除端为高电平“1”时,计数器直接清零(称为异步清零),执行其它功能时,CR置低电平。
当CR为低电平,置数端LD为低电平时,数据直接从置数端D A、D B、D C、D D置入计数器。
当CR为低电平,LD为高电平时,执行计数功能。
执行加计数时,减计数端CP D接高电平,计数脉冲由加计数端Cp u输入,在计数脉冲上升沿进行842编码的十进制加法计数。
数字电路课程设计一、概述任务:通过解决一两个实际问题,巩固和加深在课程教学中所学到知识和实验技能,基本掌握惯用电子电路普通设计办法,提高电子电路设计和实验能力,为此后从事生产和科研工作打下一定基本。
为毕业设计和此后从事电子技术方面工作打下基本。
设计环节:依照题目拟定性能指标,电路预设计,实验,修改设计。
衡量设计原则:工作稳定可靠,能达到所规定性能指标,并留有恰当裕量;电路简朴、成本低;功耗低;所采用元器件品种少、体积小并且货源充分;便于生产、测试和维修。
二、惯用电子电路普通设计办法惯用电子电路普通设计办法是:选取总体方案,设计单元电路,选取元器件,计算参数,审图,实验(涉及修改测试性能),画出总体电路图。
1.总体方案选取设计电路第一步就是选取总体方案。
所谓总体方案是依照所提出任务、规定和性能指标,用品有一定功能若干单元电路构成一种整体,来实现各项功能,满足设计题目提出规定和技术指标。
由于符合规定总体方案往往不止一种,应当针对任务、规定和条件,查阅关于资料,以广开思路,提出若干不同方案,然后仔细分析每个方案可行性和优缺陷,加以比较,从中取优。
在选取过程中,惯用框图表达各种方案基本原理。
框图普通不必画得太详细,只要阐明基本原理就可以了,但有些核心某些一定要画清晰,必要潮流需画出详细电路来加以分析。
2.单元电路设计在拟定了总体方案、画出详细框图之后,便可进行单元电路设计。
(1)依照设计规定和已选定总体方案原理框图,拟定对各单元电路设计规定,必要时应详细拟定重要单元电路性能指标,应注意各单元电路互相配合,要尽量少用或不用电平转换之类接口电路,以简化电路构造、减少成本。
(2)拟定出单元电Array路规定后,应全面检查以遍,的确无误后方可按一定顺序分别设计各个单元电路。
(3)选取单元电路构造形式。
普通状况下,应查阅关于资料,以丰富知识、开阔眼界,从而找到合用电路。
如果的确找不到性能指标完全满足规定电路时,也可选用与设计规定比较接近电路,然后调节电路参数。
md_0100电路实例md_0100电路是一种常用于数字电路中的逻辑门电路,也被称为四输入与门。
它具有四个输入端(A、B、C、D)和一个输出端(Y),其输出信号为四个输入信号的与运算结果。
在本文中,我们将详细介绍md_0100电路的工作原理和应用。
让我们来了解一下md_0100电路的工作原理。
md_0100电路中的四个输入端(A、B、C、D)通过导线与逻辑门内部的电路连接。
当输入信号都为高电平(1)时,输出端(Y)才会输出高电平(1),否则输出低电平(0)。
这意味着只有当四个输入信号同时满足高电平条件时,输出端才会输出高电平信号。
md_0100电路的应用非常广泛。
它常用于数字电路中的逻辑运算,如编码器、解码器、多路选择器等。
例如,在一个多路选择器中,md_0100电路可以用来判断选择信号的有效性,从而选择正确的输入端作为输出信号。
此外,md_0100电路还可以用于数据加密和解密等领域,确保数据的安全性和准确性。
在实际应用中,md_0100电路的设计和制造需要考虑多个因素。
首先是电路的输入和输出电平,一般为标准的逻辑电平(0V和5V)或差分信号。
其次是电路的功耗和面积,尽量减小功耗和电路占用的面积,以提高整个系统的性能和效率。
此外,还需要考虑电路的可靠性和稳定性,以及对温度和电压等外部环境的适应能力。
在设计md_0100电路时,需要根据具体的需求确定输入和输出信号的逻辑关系。
例如,在一个编码器中,输入信号可能是不同的传感器信号,而输出信号则是将传感器信号转换为对应的编码信号。
因此,在设计过程中需要明确输入和输出信号的含义和逻辑关系,以确保电路的正确工作。
在实际应用中,md_0100电路还需要与其他电路和设备进行连接和配合。
例如,在一个数字系统中,md_0100电路可能需要与存储器、处理器和输入输出设备等进行数据的交互和传输。
因此,在设计和使用md_0100电路时,需要考虑与其他电路和设备的兼容性和接口问题,以确保整个系统的正常运行。
数字电子技术课题设计3:用与非门74LS00和异或门74LS86
设计一可逆的4位码变换器
可逆的4位码变换器可以使用与门和异或门组成。
其原理是将输入的4位二进制数进行与运算和异或运算,得到对应的输出。
再将输出反过来进行同样的运算,得到原始输入。
其中,输入端D1~D4分别表示输入的4位二进制数,输出端
Q1~Q4表示输出的4位二进制数。
74LS00为4个2输入与门,74LS86为4个2输入异或门。
首先将D1~D4与Q1~Q4进行与运算,得到A1~A4:
A1 = D1&Q1
A2 = D2&Q2
A3 = D3&Q3
A4 = D4&Q4
然后将D1~D4与A1~A4进行异或运算,得到B1~B4:
B1 = D1^A1
B2 = D2^A2
B3 = D3^A3
B4 = D4^A4
最后将B1~B4与A1~A4进行异或运算,得到对应的输出
Q1~Q4:
Q1 = B1^A1
Q2 = B2^A2
Q3 = B3^A3
Q4 = B4^A4
将输出端Q1~Q4连接到与门74LS00的输入端,将门的输出端连接到异或门74LS86的输入端,同样的,将输出端连接到与门的输入端,然后再将输出端连接到异或门的输入端,就可以实现4位二进制数的可逆变换。
实际电路可以使用逻辑仿真软件进行验证和调试,最后布线焊接到电路板上即可。
1.8位可控加减法电路设计2.4位先行进位电路设计实验报告1.引言1.1 概述概述随着科技的发展,数字电路设计在计算机科学和电子工程领域中扮演着至关重要的角色。
本实验旨在设计并实现可控加减法电路和先行进位电路,以进一步提升数字电路设计的能力。
在本实验中,我们首先介绍了实验的目的和本文的结构。
接着,我们详细讲解了1.8位可控加减法电路设计的原理和电路图设计,并通过实验演示了其功能和性能。
随后,我们进一步介绍了2.4位先行进位电路设计的原理和电路图设计。
通过实验验证,我们展示了该电路在实际应用中的可靠性和高效性。
最后,我们总结了实验的结果,并分享了实验过程中的心得体会。
通过本次实验,我们不仅深入理解了可控加减法电路和先行进位电路的工作原理,还提升了自身的数字电路设计技能。
在本文中,我们将使用以下内容来阐述每个部分的主要思想和实验结果。
通过对这些内容的深入讨论,希望能够为读者提供一个清晰而全面的认识,以便更好地理解和应用可控加减法电路和先行进位电路的设计方法。
1.2文章结构【1.2 文章结构】本实验报告将分为以下几个部分进行描述和介绍。
首先,在引言部分,我们将对本实验的概述进行说明,介绍实验报告的结构以及实验的目的。
接下来,在第二部分中,我们将详细介绍1.8位可控加减法电路的设计原理。
这部分将涵盖所需的原理背景知识,并展示设计过程中所采用的方法和思路。
同时,我们将呈现电路图的设计,以便读者可以更直观地理解整个电路的实现方式。
第三部分将介绍2.4位先行进位电路的设计原理。
在这一部分中,我们将阐述该电路的工作原理和所采用的设计方案。
同样,我们还将提供对应的电路图设计,以帮助读者更好地了解电路的构成和工作方式。
在实验报告的最后一部分,我们将总结实验结果并得出结论。
在4.1实验结果总结中,将详细列举每个电路的实验结果,并对其性能进行评估和分析。
同时,我们将在4.2实验心得中分享我们在实验过程中的经验和感悟,包括遇到的问题、解决方案以及对未来可能的改进的展望。
数字电路课内大作业作业选择:交通灯控制器和智能数字时钟设计一、实验目的提高对课本知识的深刻理解,熟悉数字电路设计的主要方法和思想,锻炼自己的独立思考能力和动手能力,灵活运用所学习的知识,加强自己发现问题解决问题的能力,把理论知识学以致用。
交通灯控制器二、实验主要器材以及仿真原件电脑软件:Multisim12.0原件清单:七段显示数码管2个、指示灯6个、74LS160D芯片两块、74LS194D芯片两块、单刀双置开关1个、74LS112D芯片2块、非门若干、与非门、与门等。
三、设计思路、过程以及设计原理设计交通灯首先需要明确交通灯的工作原理,交通灯是工作在交叉路口处,控制车辆,目的是交通正常运行,减少事故的发生,交通信号灯由红灯、绿灯、黄灯组成。
红灯表示禁止通行,绿灯表示准许通行,黄灯表示警示。
他们具体指示的信息为红灯亮,禁止直行或左转弯,在不碍行人和车辆情况下,允许车辆右转弯;绿灯亮,准许车辆直行或转弯;黄灯亮,停在路口停止线或人行横道线以内,已经继续通行;黄灯闪烁时,警告车辆注意安全。
在本实验设计的交通灯中,它主要可以实现的功能为:一个循环周期共有48s,在一个循环周期内红灯点亮24s,绿灯点亮20s,黄灯电路中使用的各个模块的介绍:74LS194介绍:74LS194是一个4位双向移位寄存器,最高时钟脉冲为36MHZ,其逻辑符号及引脚排列如下图所示:其中:D0~D1为并行输入端;Q0~Q3为并行输出端;SR--右移串引输入端;SL--左移串引输入端;S1、S0-操作模式控制端;-为直接无条件清零端;CP-为时钟脉冲输入端。
74LS194模式控制及状态输出如下表所示。
用74LS194构成模12扭环计数器:两片74LS194芯片可构成8位右移移位寄存器,按照下图所示的接法可以构成模12计数器74LS160介绍:74LS160是十进制计数器也就是说它只能记十个数从0000-1001(0-9)到9之后再来时钟就回到0首先是clk这是时钟,之后是rco这是输出,MR是复位低电频有效(图上接线前面花圈的都是低电平有效),load是置数信号当他为低电平时在始终作用下读入D0到D3为了使161正常工作ENP和ENT接1另外D0到D3是置数端Q0到Q3是输出端74LS160构成24进制计数器,从0态开始计数,具体解法如下图所示:以上便是本设计的主要芯片功能以及主要模块实现,根据以上的思路和过程,我完成了以下的实验结果。
东北大学秦皇岛分校电子信息系数字电路课程设计病房呼叫系统专业名称计算机科学与技术班级学号4080517学生姓名张树茂指导教师李志华设计时间2009.12.18~2009.12.26课程设计任务书专业:计算机科学与技术学号:4080517学生姓名(签名):设计题目:一、设计实验条件电路仿真实验室二、设计任务及要求1.课程设计任务《数字电路》课程设计是继“数字电路”课后开出的实践环节课程,其目的是训练学生综合运用学过的数字电路的基本知识,独立设计比较复杂的数字电路能力,设计建立在硬件和软件两个平台的基础上。
硬件平台是可编程逻辑器件,所选的器件可保存在一片芯片上设计出题目要求的数字电路。
软件平台是加拿大图像交互技术公司(Interactive Image Technoligics简称IIT 公司)推出的Multisim10.0,通过课程设计,学生要掌握使用EDA(电子设计自动化)工具设计数字电路的方法,包括设计输入便宜软件仿真下载及硬件仿真等全过程。
2.课程设计要求通过课程设计学生应掌握设计所用硬件电路的工作原理,EDA软件的使用方法,能够熟练地利用EDA设计、调试数字电路系统,独立完成设计安装、测试全过程,具体要求:1.设计一个病房呼叫系统,该系统能根据不同的呼叫激励不同的振铃;2.设计一个显示电路用于显示病人的床号;3.该系统具有优先权设定功能;三、设计报告的内容1.总体方案选择设计电路第一步就是选择总体方案,就是根据提出的设计任务要求及性能指标,用具有一定功能的若干单元电路组成一个整体,来实现设计任务提出的各项要求和技术指标。
设计过程中,往往有多种方案可以选择,应针对任务要求,查阅资料,权衡个方案的优缺点,从中选优。
最开始我设计的方案一是使用74LS148N和74LS00N以及反相器输出结果,但是这种方案给显示带来了麻烦,所以舍弃了这种方案。
在方案一的基础上我保留了74LS148N和74LS00N的组合,然后使用七段译码显示器及其驱动芯片完善显示部分,形成了最终的方案:图1 最终方案总体电路图原理:1.1.通过电路系统可根据不同的呼叫激励不同的响铃,在此图中由七段共阴数码管输出不同的数字代替激励不同的响铃,实现此功能的电路部分为:图2 实现一个病房具有不同呼叫功能的电路图对于一个病房的不同呼叫,利用74LS148N优先编码器对呼叫信号(输入低电平)进行优先编码,把较为重要的呼叫内容与编号较大的引脚相连,当有呼叫信号(输入低电平)时,74LS148N会把优先级较高的信号编码成二进制信号输出。
数字电路综合设计案例8.1 十字路口交通管理器一、要求设计一个十字路口交通管理器,该管理器自动控制十字路口两组红、黄、绿三色交通灯,指挥各种车辆和行人安全通过。
二、技术指标1、交通管理器应能有效操纵路口两组红、黄、绿灯,使两条交叉道路上的车辆交替通行,每次通行时间按需要和实际情况设定。
2、在某条道路上有老人、孩子或者残疾人需要横穿马路时,他们可以举旗示意,执勤人员按动路口设置的开关,交通管理器接受信号,在路口的通行方向发生转换时,响应上述请求信号,让人们横穿马路,这条道上的车辆禁止通行,即管理这条道路的红灯亮。
3、横穿马路的请求结束后,管理器使道口交通恢复交替通行的正常状态。
三、设计原理和过程:本课题采用自上而下的方法进行设计。
1.确定交通管理器逻辑功能⑴、十字路口每条道路各有一组红、黄、绿灯,用以指挥车辆和行人有序地通行。
其中红灯亮表示该条道路禁止通行;黄灯亮表示停车;绿灯亮表示通行。
因此,十字路口车辆运行情况有以下几种可能:①甲道通行,乙道禁止通行;②甲道停车线以外的车辆禁止通行(必须停车),乙道仍然禁止通行,以便让甲道停车线以内的车辆安全通过;③甲道禁止通行,乙道通行;④甲道仍然不通行,乙道停车线以外的车辆必须停车,停车线以内的车辆顺利通行。
⑵、每条道路的通车时间(也可看作禁止通行时间)为30秒~2分钟,可视需要和实际情况调整,而每条道路的停车时间即黄灯亮的时间为5秒~10秒,且也可调整。
⑶、响应老人、孩子或残疾人特殊请求信号时,必须在一次通行—禁止情况完毕后,阻止要求横穿的那条马路上车辆的通行。
换句话说,使另一条道路增加若干通行时间。
设S1和S2分别为请求横穿甲道和乙道的手控开关,那么,响应S1或S2的时间必定在甲道通乙道禁止或甲道禁止乙道通两种情况结束时,且不必过黄灯的转换。
这种规定是为了简化设计。
由上述逻辑功能,画出交通管理器的示意图如图8-1所示,它的简单逻辑流程图如图8-2所示。
示意图中甲道的红、黄、绿灯分别用R、Y、G表示,而乙道的红、黄、绿灯分别用r、y、g表示。
简单逻辑流程图中设定通行(禁止)时间为60秒,停车时间为10秒。
2.确定系统方案及逻辑划分由确定的逻辑功能,进而来具体地讨论实施方案。
交通管理器与其他数字系统一样,划分成控制器和受控电路两部分,控制器送出对受控部分的控制信号,它接受来自外部的请求信号S1和S2 以及受控部分的反馈信号,决定自身状态转换方向以及输出信号。
⑴设定S1=1时为有人要横穿甲道,又设定S2=1时为有人要横穿乙道,若S1=0,且S2=0,则表示没有穿越马路的特殊请求。
S1和S2信号均用纽子开关产生。
⑵控制器应送出甲、乙道红、黄、绿灯的控制信号。
为简便起见,我们把灯的代号和驱动灯的信号合而为一,因此有如下规定:R=1 甲道红灯亮Y=1 甲道黄灯亮G=1 甲道绿灯亮r=1 乙道红灯亮y=1 乙道黄灯亮g=1 乙道绿灯亮同时又作以下规定:①甲道通行、乙道禁止的一段时间内,即G=1,r=1的时间内(假设调定为60秒),用符号W=0表示,否则W=1。
②乙道通行、甲道禁止的一段时间内,即g=1,R=1的时间内(假设也调定为60秒),用符号P=0表示,否则P=1。
③在黄灯亮的时间内(假设调定为10秒),用L=0表示,否则L=1。
在上述各种情况时,如果无特殊请求横穿马路,那么,甲、乙道交替通行60秒钟,转换时有10秒钟的停车或准备时间。
(3)当交通控制处于甲禁止乙通行的状态时,它只响应S1信号,因为若S2=1时,只需本状态结束,经过10秒钟就转入甲通乙不通状态,行人可以穿越乙道,这样做的目的是为了简化设计。
在甲通乙不通的状态时,管理器能响应S1信号,控制器受到S1信号后,状态转换为甲禁止、乙通行状态;如果S1=0,而控制器收到S2=1信号,则维持甲道通行、乙道禁止状态,让行人通过乙道。
(4)为使交通管理器按照规定的通行和停车时间有效地工作,故设置秒脉冲信号发生器,它作为整个电路的时钟信号和定时电路的参考间。
秒脉冲发生器的构成请参阅“数字钟”的有关内容。
设计者亦可安装一个模拟性的简单的秒信号发生器。
(5)管理器设置60秒通行时间和10秒停车时间的定时电路。
定时电路接受控制器送来C1(甲道禁止乙道通行)和C2(甲道通行乙道禁止)信号,驱动60秒定时电路工作,它接受C3信号,驱动10秒定时电路运行,定时电路的参考时间就是秒脉冲。
申明一点:定时电路的定时时间可由设计者调整。
定时电路的输出信号是W、P、L,其中W和P是60秒定时结束时馈送给控制器的信号,而L是10秒定时结束时定时电路送到控制器的反馈信号。
控制器根据这些信号的状况,发生相应的状态变换。
(6)控制器的状态经译码器译出交通信号灯的控制信号,驱动甲、乙道相应灯点亮。
现在就可以画出交通管理器的结构组成图如图8-3所示。
而它的控制器的详细逻辑流程图可用图8-4示出。
控制器的输出已在流程图各工作块的外侧标明。
3.受控电路的硬件设计由于受控电路的组成已经明确,现在的问题是如何选择具体的器件来实现。
在此作简明介绍。
⑴秒脉冲信号发生器秒脉冲是交通管理器的时间基准,秒脉冲发生器可以参照数字闹钟课题内的标准时间源。
由于本课题对秒信号稳定度、精度的要求并不高,因此建议用一般的环形震荡器组成,电路如图8-5所示。
其中逻辑门选用74LS00四与非门。
由于该电路输出信号的周期约为T=2.2RC在保证(R+Re)<700Ω(TTL门电路关门电阻)的前提下,选择恰当的R和C值组成。
⑵60秒和10秒定时电路定时电路有多种形式,设计者可以任选。
这里介绍一种用MSI 74LS161同步计数器构成定时电路的方法。
由于电路配置秒脉冲信号发生器,如果把秒信号作为计数器的CP输入,那么计数器连接成60进制时就可作为60秒定时电路。
由此推广,模N计数器就是N秒定时电路,这对于灵活调整道路通行时间是相当方便的。
以下讨论用74LS161构成N进制计数器的方法。
74LS161具有同步预置控制端LD,因此可以采用反馈预置法实现N进制计数器。
实现的方法为:首先使L D=0,数据输入端A=B=C=D=0,CP来到将计数器置0(即Q D Q C Q B Q A=0000),并以此作为初态;然后使L D=1,器件在CP作用下开始计数,当计数到(N-1)时,经与非门反馈给预置控制端L D,又使L D=0,再次预置数据0,从而完成一个0到(N-1)的循环,实现了N进制计数器的功能。
图8-6(a)示出了根据上述原理构成的模14计数器的外部连接图。
一片74LS161的最大计数模数为16,大于模16时必须用若干片连接。
但是在连接成同步计数链时,应注意用计数器控制端P、T传递溢出进位信号,使各片计数器快速、正确地工作。
图8-6 (b) 示出了用两片74LS161组成M=60计数器的连接图,因为N=(60)10=(111100)2,故反馈预置端,其中Q A1、Q B1和Q D1是低位片的三个触发器的输出,Q A2和Q B2是高位片的两个低位的输出。
低位片的T·P固定接1,满足计数条件。
而高位片要计数,只有等待低位片输出为全1时,因此用低位片的溢出进位输出Q C控制高位片的T·P端,当Q C=1时,高位片在输入下一个计数脉冲时接受进位,加1计数,否则为保持状态。
再则,74LS161也有异步清零功能,故可使用清零控制端Cr,采用反馈复位法使它成为任意进制计数器。
图8-7(a) 是用用反馈复位法构成的模10计数器,因为(10)10=(1010)2,由于Cr是异步清零端,一旦Q B=1与Q D=1时,立即使计数器复0(0000),故(1010)2这个状态不能持续,计数器状态由0000、0001···1001、0000,实现十进制计数。
图8-7 (b)是反馈复位法连接成的60进制计数器,工作原理请读者自行分析。
本课题允许任选反馈预置法或反馈复位法构成60秒和10秒定时电路。
这里选择反馈预置法组成,如图8-8所示。
我们要注意几点:①选通信号C1、C2和C3来自控制器,它们反映在何时打开哪一个定时电路的CP控制门。
②如果确定两通道通行时间均为60秒,则可用同一定时电路实现。
但考虑到两道通行时间的灵活调整,即每道通行时间可在30秒~2分钟之内变动,甚至甲道和乙道通行时间不相同等等,故可分别用n1和n2秒定时电路来产生P和W应答信号,以供控制器判别、决策,如图8-9所示。
③黄灯亮的定时电路是公用的,设定时时间为n3秒,其输出信号L同样送至控制器。
⑶、交通管理灯选用红、黄、绿不同颜色的发光二极管组成,它们分别受控制器输出信号R、Y、G、r、y、g所驱动。
至此,我们可画出交通管理器受控部分硬件实施简图如图8-9所示。
4.控制器设计⑴导出管理器的MDS图从图8-4所示的交通管理器详细逻辑流程图出发,画出相应的MDS图如图8-10所示。
在图中状态A为甲道禁止乙道通行状态(甲R乙g),状态B为甲道禁止乙道停车状态(甲R乙y),状态C为甲道通行乙道禁止状态(甲G乙r),状态D为甲道停车乙道禁止状态(甲Y乙r)。
⑵状态分配本课题采用D触发器作为控制器记忆元件,四个状态用两个D触发器,状态分配如下:状态A—00、状态B—01、状态C—11、状态D—10,状态分配图如图8-11所示。
⑶、填写激励图根据状态分配的情况,填写两个D触发器激励函数降维卡诺图如图8-12所示。
其中状态变量Q2为高位,Q1为低位。
由激励函数卡诺图求得激励函数为:经化简可得⑷求输出函数方程乙道通行、甲道禁止时(P=0)的定时电路选通信号甲道通行、乙道禁止时(W=0)的定时电路选通信号停车时间(L=0)定时电路的选通信号控制器驱动甲道红、黄、绿灯的信号控制器驱动乙道红、黄、绿灯的信号⑸控制器逻辑电路图设计工作至此,所有方程已经求出,设计者可以选择各种SSI、MSI、LSI器件来实现。
四、讨论1.试用MSI组合器件数据选择器和译码器实现交通管理器控制器,画出相应的控制器逻辑电路图。
2.试用集成单稳电路SN74121或SN74123组成交通管理器道路通行、禁止、停车定时电路。
在此情况下,受控部分硬件实施图和控制器逻辑电路图。
3.假设甲、乙道交叉路口的交通管理按以下规则进行:⑴甲道通行时间为2分钟;⑵甲道停车时间为20秒钟;⑶乙道通行时间为1分钟;⑷乙道停车时间为10秒钟;⑸老人、孩子和残疾人请求过马路时,管理器立即响应,10秒钟后允许行人穿越;⑹交通管理人员有权随时终止甲、乙道交替通行的状况,而使某道连续通行,以解决某道交通堵塞现象或者应付临时需要,如警车、消防车、救护车等特殊车辆的紧急或较长时间的通行。
试设计并实现上述要求的十字路口交通管理器。