目录
组合逻辑电路
组合逻辑电路原理
数字式电子元件工作状态是二值电平:高电平和低电平。通常不指定具体的电平值,而是采用信号来表示,如,用“逻辑真”“1”或“确定”来表示高电平,而用“逻辑假”“0”或“不确定”来表示低电平。1和0称为互补信号。
根据电路是否具有存储功能,将逻辑电路划分为两种类型:组合逻辑电路和时序逻辑电路。组合逻辑电路不含存储功能,它的输出值仅取决于当前的输入值;时序逻辑电路含存储功能,它的输出值不仅取决于当前的输入状态,还取决于存储单元中的值。
所谓组合逻辑电路,是指该电路在任一时刻的输出,仅取决于该时刻的输入信号,而与输入信号作用前电路的状态无关。组合逻辑电路一般由门电路组成,不含记忆元件,输入与输出之间无反馈。
常用的组合逻辑电路有译码器和多路选择器等。组合逻辑电路结构如下图所示。
真值表
由于组合电路中不包含任何存储单元,所以组合电路的输出值可由当前输入值完全确定。这种确定的对应关系可以由真值表(truetable)来描述,如下图所示。
真值表是输入值的所有组合与其对应的输出值构成的表格。真值表能够完全描述任意一种组合逻辑,但表的大小随着输入个数的增加呈指数增长,且不够清晰。
布尔代数
描述逻辑函数的另一种方法是逻辑表达式,可以通过布尔代数(Booleanalgebra)实现。布尔代数中有三种典型的操作符:OR、AND和NOT。
(1)OR(“或”)操作符,记为“+”,也称为逻辑和。如A+B,若A和B中至少有一位为1时,则结果为1。电路图及真值表如下图所示。
(2)AND(“与”)操作符,记为“·”,也称为逻辑乘。如A·B,当且仅当输入值都为1时,其结果才为1。电路图及真值表如图4-1-5所示。
(3)NOT(“非”)操作符,记为“A”,也称为逻辑非。当输入A为0时,输出为1;当输入为1时,输出为0。电路图及真值表如下图所示。
常用布尔代数定律见下表
门电路
门电路可以实现基本的逻辑功能。基本的门电路如下图所示,包括与门、或门和非门。
通常在信号的输入或输出端加“。”表示对输入/输出信号取非,常见的组合如下图所示。
任何一个逻辑表达式都可以用与门、非门和或门的组合来表示。常见的两种反向门电路为NOR和NAND,它们分别对应或门、与门的取非。NOR和NAND的门电路称为全能门电路,因为任何一种逻辑函数都可以用这种门电路得以实现。
译码器
译码器又称为解码器,将有特定含义的二进制码转换成对应的输出信号。译码器是一种多输入多输出的组合逻辑网络,它有n个输入端,m个输出端。与译码器对应的是编码器,它实现的是译码器的逆功能。译码器的框图如下图所示。
每输入一个n位的二进制代码,在m个输出端中最多有一个有效,当m=2”时,称为全译码(能够完全翻译输入的信号),当m<2"时,是部分译码。
根据逻辑功能的不同,译码器可分为通用译码器和显示译码器两大类。常见的译码器有二进制译码器、二一十进制译码器和显示译码器。
二进制译码器:是一种全译码器,常见的有2-4译码器、3-8译码器,如下图所示,其中E₁~E₃是使能信号,Ao~A₁是输入信号,Y₀~Y₇是输出信号。默认高电平有效,有圆圈(o)表示低电平有效。
二进制译码器真值表见下表
二一十进制译码器:将二进制代码译成对应的十进制数码0~9,其n=4,m=10,属于部分译码。
显示译码器:即字符显示器,常见的有发光二极管LED和液晶LCD字符显示器。
发光二极管LED
发光二极管正向导通时,电子和空穴大量复合,把多余能量以光子形式释放出来,根据材料不同发出不同波长的光。如下图所示,高电平驱动将二极管的阳极接高电平,阴极接地;低电平驱动将二极管阳极接电源,阴极接低电平。
R为限流电阻,几百到几千欧姆,由发光亮度(流过二极管的电流)决定。
七段LED字符显示器:将七个发光二极管封装在一起,每个发光二极管做成字符的一个段。根据内部连接不同可分为共阳极LED显示器和共阴极LED显示器,如下图所示。
共阴极LED显示器高电平驱动;
共阳极LED显示器低电平驱动。集成电路高电平输出电流小,低电平输出电流相对较大,采用集成门电路直接驱动LED时,多采用低电平驱动方式。
优点:工作电压低、体积小、寿命长、可靠性高、响应时间短、亮度较高。
缺点:工作电流较大,每一段工作电流在10mA左右。
液晶字符显示器LCD
液晶字符显示器利用液晶有外加电场和无外加电场时不同的光学特性来显示字符,如下图所示。
当未加电场时,液晶处于透明状态,会将光都反射回去;当通电后,液晶中正离子会运动碰撞导致电场混浊,无法反射所有的光线,会呈现出不同的画面。
LCD和LED最大的区别在于LCD本身是不发光的,因此LCD功耗极小,工作电压很低,缺点是亮度很差,响应速度也较低。
数据选择器
数据选择器又称多路开关,它是以“与或”门或“与或非”门为主的电路。作用相当于多个输入的单刀多掷开关,又称为多路开关。它可以在选择信号的作用下,从多个输入通道中选择某一个通道的数据作为输出。常见的数据选择器有二选一、四选一、八选一、十六选一等。
下图给出了一个二选一的数据选择器,有两个输入信号A和B,一个输出值C和一个选择信号S。选择信号S决定了哪个输入量会成为输出值。
该数据选择器的函数关系式可用下式表示:
数据选择器可以实现任意组合逻辑函数。多路选择器通过设置使能端,扩展数据选择器通路数,实现更多路选择。
数据分配器
数据分配器又称多路分配器,它有一个输入端和多个输出端,其逻辑功能是将一个输入端的信号送至多个输出端中的某一个,简称DMUX,作用与MUX正好相反。
一个四位多路分配器如下图所示。
四位多路分配器真值表见下表
若数据输入端X为1,为2-4译码器,X相当于译码器的使能端,选择端S₀/S₁相当于译码器的输入端。因此,数据分配器的核心部分实际上是一个带使能端的全译码器,可以理解为输出受X控制的译码器。
多路开关
把多路选择器和多路分配器联用,就可以实现在一条线上分时地传送多路信号。即在相同地址的输入控制下,将多路输入信号的任一路从对应的一路输出。下图是一个利用数据选择器和数据分配器实现的八位数据传输电路。
时序逻辑电路
时序逻辑电路原理
所谓时序逻辑电路,是指电路任一时刻的输出不仅与该时刻的输入有关,而且还与该时刻电路的状态有关。因此,时序逻辑电路中必须包含记忆元件,用来存储该时刻电路的状态,如下图所示。
图中,I为时序电路的输入信号;O为时序电路的输出信号;E为驱动存储电路转换为下一状态的激励信号;S为存储电路的状态信号,又称为状态变量,表示时序电路当前的状态,简称现态。
时钟信号
时钟信号是时序逻辑的基础,它用于决定逻辑单元中的状态何时更新。时钟信号是指有固定周期并与运行无关的信号量,时钟频率是时钟周期的倒数。
在电平触发机制中,只有高电平(或低电平)是有效信号,控制状态刷新。在边沿触发机制中,只有上升沿或下降沿才是有效信号,控制状态刷新,如下图所示。
同步是时钟控制系统中的主要制约条件。同步就是指在有效信号沿发生时刻,希望写入单元的数据也有效。数据有效则是指数据量比较稳定(不发生改变),并且只有当输入发生变化时数值才会发生变化。
触发器
触发器是能够存储一位二值信号(0,1)的基本单元电路。
触发器的基本特点:具有两个能自行保持的稳定状态,表示逻辑状态的0和1;根据不同的输入信号可以置成1或0状态。
触发器种类很多,按时钟控制方式来分有电位触发、边沿触发、主一从触发等方式。按功能分类有R-S型、D型、J-K型等。同一功能触发器可以由不同触发方式来实现。在选用触发器时,触发方式是必须考虑的因素。
电位触发方式触发器
当触发器的同步控制信号E为约定“1”或“0”电平时,触发器接收输入数据,此时输入数据D的任何变化都会在输出Q端得到反映。当E为非约定电平时触发器状态保持不变。
下图给出了锁定触发器(锁存器)的电位触发器的逻辑图,当时钟信号E为高电平1时,输入D有效和Q相同;当E为低电平0时,输入D无论输入什么都无效,输出Q的状态会保持不变。
在时钟信号E为高电平期间,输入信号发生多次变化,触发器也会发生相应的多次翻转,这种因为输入信号变化而引起触发器状态变化多于一次的现象,称为触发器的空翻,如下图所示。
电平触发器结构简单,常用来组成暂存器,因为其不稳定,不适合做寄存器或计数器。
边沿触发方式触发器
边沿触发器在时钟脉冲CP的约定边沿跳变(上升沿或下降沿),触发器接收数据,其他状态不接收数据。
常用的边沿触发器是D触发器,如下图所示。
电位触发器在CP=1期间来到的数据会立刻被接收。但对于边沿触发器,在CP=1期间来到的数据,必须“延迟”到该CP=1过后的下一个CP边沿来到时才被接收。因此边沿触发器又称延迟型触发器。
边沿触发器在CP正跳变(对正边沿触发器)以外期间出现在D端的数据和干扰不会被接收,因此有很强的抗数据端干扰的能力而被广泛应用,它除用来组成寄存器外,还可用来组成计数器和移位寄存器等。
寄存器
寄存器主要用来接收信息、寄存信息或传送信息,通常采用并行输入一并行输出的方式。主要组成部分有触发器、门电路构成的控制电路,以保证信息的正确接收、发送和清除。由于一个触发器仅能寄存一位二进制代码,所以要寄存n位二进制代码,就需要具备n个触发器。
移位器
在时钟信号控制下,将所寄存的信息向左或向右移位的寄存器称为移位寄存器。按照信息移动方向的不同,移位寄存器可以分为单向(左移或右移)及双向移位寄存器。按信息的输入/输出方式分为串行输入/输出、并行输入/输出。输入/输出组合还包括:串行输入一并行输出(串一并转换);并行输入一串行输出(并一串转换)。
计数器
计数器是由各种触发器加逻辑门组成的,它的基本功能就是用来累计时钟输入脉冲的个数。计数器不仅可以用来计数,也可用来定时和分频等。
计数器的种类很多,按照组成计数器各触发器的状态转换所需的时钟脉冲是否统一,可以分为同步计数器和异步计数器;按照计数值的增减情况,可以分为加法(递增)计数器、减法(递减)计数器;按照计数基数,可分为二进制计数器、十进制计数器。
异步计数器的特点是没有公共的时钟脉冲,除第一级外,每级触发器都是由前一级的输出信号触发的,所以高一级触发器的翻转有待低一级触发器翻转后才能进行。由于异步计数器的进位方式是串行的,故又称为串行计数器,如下图所示。
由于异步计数器是串行进位的,所以计数器总的延迟时间是各级触发器延迟时间之和,进位信号的传递时间限制了计数器的工作速度。另外,由于各触发器不是在同一时间翻转,因此各触发器输出之间存在着“偏移”,若对计数器输出进行译码,译码器输出就会出现“毛刺”且计数器的倍数越多,偏移越大,“毛刺”越宽,可能会引起错误。
同步计数器的特点是各个触发器的时钟脉冲均来自同一个计数输入脉冲,各级触发器在计数脉冲作用下同时翻转(即并行进位),所以又称为并行计数器。
同步计数器需要将计数脉冲同时送到各级触发器的CP端,故要求产生计数脉冲电路具有较大的负载能力。优点是时钟CP同时触发计数器中全部触发器,工作速度快,效率高;缺点是电路结构相对复杂。
计数器运行时,经历的状态是周期性的,是在有限个状态中循环,通常将以此循环所包含的状态总数称为计数器的模,也称进位模。
N位二进制计数器的进位基数为2n,也称为模2n计数器。计数器中能计到的最大数称为计数长度或计数容量,n位二进制计数器的计数容量为2(n-1)。
移位型计数器是由触发器组成的计数器,一般包括环形计数器和扭环形计数器两种。
(1)环形计数器是由移位寄存器加上一定的反馈电路构成的,它的进位模数和触发器级数相等,状态利用率不高。
(2)扭环形计数器相对于环形计数器,提高了电路状态的利用率,它的进位模数是触发器级数的两倍,因此有效状态是环形计数器状态的两倍。
总线电路及信号驱动
总线特性及分类
嵌入式计算机的总线系统提供微处理器、存储器及I/O设备之间的数据交换机制。要将存储器和其他外围设备加入系统中,只需要将它们连接到总线系统上,并加入必要的解码逻辑电路即可。
总线是由多个部件分时共享传送信息的一簇公共的信号线及相关逻辑,其基本特性包括共享和分时。
(1)共享:各部件均连接在同一条总线上,并通过这条总线进行信息交换。
(2)分时:每一时刻,总线上只能传输一个设备发送来的信息。
总线按数据传输方式可分为以下二种方式。
并行总线:采用多条通信线同时传送一个字节或一个字。
串行总线:只有1~2条通信线,每次只传送一位二进制数据。
总线按所传送的信息类型可分为以下三种方式。
地址总线:单向,CPU向主存、外设传输地址信息。
数据总线:双向,CPU可沿该通信线从主存或外设读入数据,也可以向主存或外设送出数据。
控制总线:传输控制信息,CPU送出的控制命令和主存返回CPU的反馈信号。
总线的性能
总线的性能包括以下各方面。
总线宽度:一条总线所包括的通信线路的数目。如8、16、32位等。
总线周期:一次总线操作所用的时间。
总线频率:总线的工作频率,单位MHz。总线的时钟频率越高,总线上的数据操作越快。
总线带宽(传输速率):表示单位时间内,总线所能传输的最大数据量,一般用MByte/s表示。总线带宽=总线宽度×总线工作频率。
总线的负载能力:指总线上可连接模块的最大数目。
三态门
三态门是具有三种逻辑状态的门电路。这三种状态为:逻辑“0”、逻辑“1”和浮动状态。所谓浮动状态,就是三态门的输出呈现开路的高阻状态。三态门与普通门的不同之处在于,除了正常的输入端和输出端之外,还有一个控制端G。当控制端有效时,三态门输出正常逻辑关系;控制端无效时,三态门输出浮动状态,即呈现高阻状态。相当于这个三态门与外界断开联系。
根据输入/输出的关系和控制有效电平,可以分成四种类型的三态门,如下图所示。
三态门可以使多个设备输出端共用一条总线,每个时刻只允许一个设备对总线进行驱动,其他设备均进入高阻状态。
图4-1-24(a)给出了三个三态驱动器的工作情况。三态驱动器用图中的三角符号表示,如图4-1-24(b)所示,它的工作方式为当它的选择信号有效时,三态驱动器的输出和输入相同;否则,其输出处于浮动状态。图中,当Select A信号有效,Select B和Select C信号无效时,输出将和三态驱动器A的输入相同,而驱动器B和C都不会影响输出。因出,输出与选择信号有效的三态驱动器保持一致。三态驱动器的选择信号的有效状态可以是高电平,也可以是低电平。
当选择信号都无效时,没有一个三态驱动器输出信号,因此输出是不确定的,称之处于浮动状态,该信号状态是高是低,或是处于高低之间的某种状态,都不能确定,它取决于该电路的瞬时状态,从而使整个系统的状态无法预见。如果其输出连接到某个外部设备,可能会使外部设备产生误动作。
为了解决这个问题,需要在输出端口增加一个电阻。如图4-1-24(c)所示,该电阻一端与电源Vcc相连,一端与输出端口连接。当三个选择信号都处于无效状态时,没有一个三态驱动器驱动输出信号,这时在Vcc的作用下,有电流流过电阻,使输出端口的电压信号变高,称该电阻为上拉(pull-up)电阻。
总线驱动电路
单向总线驱动电路依赖于控制端G的非,双向总线驱动电路由控制端G的非和DIR共同控制数据流的不同走向,如下图所示。
总线的负载能力
总线的负载能力即总线的驱动能力,当总线接上负载(外围设备)后不能影响总线输入/输出的逻辑电平。
总线中的输出信号输出低电平时,用IOL表示负载能力,是吸收电流(由负载流入信号源);此时负载能力是指当吸收了规定电流时,仍能保持逻辑低电平。
输出高电平的负载能力用IOH表示,此时电流由信号源流向负载;当输出电流超过规定值时,输出逻辑电平会降低,甚至变到阈值以下。
当总线上连接负载超过了总线的负载能力时,需在总线和负载间加接缓冲器或驱动器,常用的是三态缓冲器,其作用如下。
驱动:使信号电流加大,可带动更多负载。
隔离:减少负载对总线信号的影响。
总线复用
总线复用通过地址有效控制信号来指示当前信号线上传送的是地址信号还是数据信号,以实现数据总线和低地址总线的复用,如下图所示。
对于具有八位数据总线和八位地址总线的微处理器,数据传送过程如下所述。
第一阶段:数据总线上传送地址的低八位,地址总线上传送地址总线的高八位,总线上的设备均获得地址,判断是否为本设备的地址,若是,准备接收数据。
第二阶段:地址信号从总线撤销,地址有效控制信号线发送地址无效信号,使总线用于传输数据。
总线仲裁
总线上的设备一般分为总线主设备和总线从设备。
主设备:指能够获得总线控制权的设备,其能够发起一次总线传输(发出地址和控制命令)。如CPU、DMA控制器等。
从设备:只能响应读/写请求,但本身不具备总线控制能力的模块,如存储器。
在单主设备系统中,所有总线操作都由处理机控制;在多主设备系统中,需要一个仲裁机制来决定哪个主设备可以使用总线。
总线仲裁:为了防止多个处理器同时控制总线,需要按照一定的优先次序决定哪个部件首先使用总线,只有获得总线使用权的部件,才能开始数据传输。
总线仲裁器:用硬件实现总线分配的逻辑电路。响应总线请求,通过分配过程的正确控制,达到最佳使用总线。
总线仲裁需要考虑以下几点。
(1)等级性:每个主控设备有不同优先级,优先级高的设备先响应。
(2)公平性:任何设备无论优先级高低都不应该永远得不到总线控制权。
(3)尽量缩小总线仲裁的时间开销。
按总线仲裁电路的位置不同,可分为集中式仲裁和分布式仲裁。
集中式仲裁:总线控制逻辑集中在一处,将所有的总线请求集中起来利用一个特定的仲裁算法进行裁决。
分布式仲裁:总线控制逻辑分散在连接于总线上的各个部件或设备中。
集中式仲裁常见的三种优先权仲裁方式为菊花链查询方式(串联仲裁)、计数器定时查询方式、独立请求方式(并联仲裁)。
(1)菊花链查询方式。与总线相连的所有设备经公共的BR发送总线请求,只有在BS信号未建立时,BR才能被总线控制器响应,并发出BG信号。BG信号串行的通过每个设备,若某设备没有总线请求,则将BG传给下一个设备;若有总线请求,则停止传送BG信号,当前设备获得总线使用权,同时建立BS信号,撤销BR,进行数据传输,传输完成后撤销BS、BG信号,如下图所示。
优点:只用三根信号线就能按一定的优先次序来实现总线控制。并且很容易扩充设备。
缺点:查询的优先级固定为从左到右,若优先级较高的设备频繁请求总线,低优先级设备可能长时间得不到总线使用权。对查询链电路故障敏感,一旦出现故障,会导致后面设备无法接受BG信号。
(2)计数器定时查询方式。当总线控制器收到BR后,总线空闲时(BS=0),计数器开始计数,定时查询各设备以确定是谁发出的请求;当查询线上的计数值与发出请求的设备号一致时,该设备获得总线使用权,建立BS信号,终止计数查询;该设备完成数据传送后,撤销BS信号,如下图所示。
设备的优先级设置较为灵活,与计数器的初值有关,计数器的初值可由程序设置,如果每次都从0开始,则为固定优先级,同菊花链查询方式;如果从上次停止值开始,则是循环优先级。
(3)独立请求方式。设备请求使用总线时,发出总线请求信号;总线控制器中的判优电路根据各个设备的优先级确定允许哪个设备使用总线;给该设备送回总线允许信号,如下图所示。
优点:响应时间快;优先级控制灵活,可预先固定,也可以通过程序改变优先级。缺点:控制逻辑很复杂,控制线数量多。
总线通信
总线通信的定时方式包括同步通信和异步通信。
同步通信:系统有一个公共的时钟,挂在总线上的所有设备都从该时钟获得定时信号,一个总线周期由固定数目的时钟周期组成。
优点:同步总线的速度很高,逻辑简单。
缺点:效率较低,时间利用不够合理,时钟频率必须适应在总线上最长的延迟和最慢的接口的需要;可靠性低,无法知道被访问的外设是否已经真正的响应。
异步通信:不用时钟定时,操作需要一种握手信号。两条握手信号分别称为“就绪”(ready)和“应答”(acknowledge)。传送双方根据对方给的状态信息决定自己的下一步操作,并把自己的状态也告诉对方。
握手信号的作用方式有非互锁、半互锁、全互锁三种,如下图所示。
发送方发送就绪信号,接收方发送应答信号,非互锁是信号维持固定时间后撤销;半互锁是就绪信号依赖于应答信号的到来而撤销;全互锁是双方信号撤销互为依赖。
优点:能保证两个速度相差很大的设备间可靠地进行信息交换,自动完成时间的配合。缺点:增加了总线的复杂性和成本。
电平转换电路
数字集成电路的分类
按照开关元件的不同,数字集成电路可以分为以下两大类。
双极型集成电路:采用晶体管作为开关元件,管内参与导电的有电子和空穴两种极性的载流子。
金属氧化物半导体MOS集成电路:采用绝缘栅场效应晶体管作为开关元件,这种管子内部只有一种载流子——电子或空穴参与导电,故又称单极型集成电路。
MOS集成电路与双极型集成电路比较,具有很多优点,如制造工艺简单、集成度高、功耗低等,特别适宜于制造大规模集成电路。它的主要缺点是工作速度比较低。
双极型集成电路
晶体管一晶体管逻辑电路TTL的特点包括TTL电路是电流控制器件;开关速度快(数ns)、较强的抗干扰能力;足够大的输出幅度,带负载能力较强,功耗大(mA级);不用端多数无需处理;应用最为广泛。
二极管-三极管逻辑电路DTL的特点包括工作速度较低,已被TTL电路取代。
高阈值逻辑电路HTL的特点包括阈值电压较高,噪声容限较大,抗干扰能力较强;工作速度比较慢;几乎完全被CMOS电路取代。
发射极耦合逻辑电路ECL的特点包括电流型逻辑电路,是一种电流开关电路,电路的晶体管工作在非饱和状态,有极高的工作速度;噪声容限低,电路功耗大,输出电平稳定性较差;主要用于高速、超高速数字系统中。
集成注入逻辑电路IL的特点包括电路结构简单,集成度高,功耗低;输出电压幅度小,抗干扰能力较差,工作速度较低;主要用于制作大规模集成电路的内部逻辑电路。
MOS集成电路
MOS集成电路是以金属氧化物-半导体(MOS)场效应晶体管为主要元件构成的集成电路。
互补金属氧化物半导体CMOS(Complementary Metal Oxide Semiconductor)是MOS的一种主要应用。它是指制造大规模集成电路芯片用的一种技术或用这种技术制造出来的芯片,是计算机主板上的一块可读写的RAM芯片。
CMOS集成电路的特点包括CMOS电路是电压控制器件;静态功耗极低,省电(μA级),负载力小;工作速度较高(几百纳秒),传输延迟时间较长(25~50纳秒);抗干扰能力强;输入阻抗比较大,一般比较容易捕捉到干扰脉冲,不用的管脚要接上拉电阻或下拉电阻;具有电流锁定效应,容易烧掉芯片,所以输入端的电流尽量不要太大,可采取加限流电阻、输入端和输出端加钳位电路、芯片的电源输入端加去耦电路等措施。被广泛使用。