单片机原理与嵌入式系统设计
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2 数字集成电路

无论多么复杂的单片机嵌入式系统,其硬件都是由单片机和若干基本电路单元组成的。本节对单片机系统中最常见的基本电路进行简单介绍,这些电路是组成单片机嵌入式系统的硬件基础。对于这些器件进一步的详细分析和计算,请读者参考有关的数字电路教材。

2.2.1 常用的逻辑门电路

最基本的门电路是与门、或门、非门,把它们适当连接可以实现任意复杂的逻辑功能。用小规模集成电路构成复杂逻辑电路时,最常用的门电路是与门(AND)、或门(OR)、非门(INVBUFF)、恒等门(BUFF)、与非门(NAND)、或非门(NOR)、异或门(XOR)。主要是因为这7种电路既可以完成基本逻辑功能,又具有较强的负载驱动能力,便于完成复杂而又实用的逻辑电路设计。

1.与门

与门是一个能够实现逻辑乘运算的、多端输入、单端输出的逻辑电路。图2.1所示为一个二输入的与门的逻辑符号,其逻辑函数式是F=A·B(或AB)。该电路输入与输出之间的逻辑运算关系可用真值表表示,如表2.3所示。其记忆口诀为:有0出0,全1才1。

图2.1 二输入与门逻辑符号

表2.3 二输入与运算真值表

2.或门

或门是一个能够实现逻辑加运算的多端输入、单端输出的逻辑电路。图2.2所示为一个二输入的或门的逻辑符号,其逻辑函数式是F=A+B。该电路输入与输出之间的逻辑运算关系可用真值表表示,如表2.4所示。其记忆口诀为:有1出1,全0才0。

图2.2 二输入或门逻辑符号

表2.4 二输入或运算真值表

3.非门

实现非逻辑功能的电路称为非门,有时又叫反相缓冲器。非门只有一个输入端和一个输出端。图2.3所示为一个非门的逻辑符号,其逻辑函数式是。该电路输入与输出间的逻辑运算关系可用真值表表示,如表2.5所示。

图2.3 非门逻辑符号

表2.5 非运算真值表

4.恒等门

实现恒等逻辑功能的电路称为恒等门,有时又叫同相缓冲器。恒等门只有一个输入端和一个输出端。图2.4所示为恒等门的逻辑符号,其逻辑函数式是F=A。该电路输入与输出间的逻辑运算关系可用真值表表示,如表2.6所示。同相缓冲器和反相缓冲器在数字系统中用于增强信号的驱动能力。

图2.4 恒等门逻辑符号

表2.6 恒等运算真值表

5.与非门

与和非的复合运算称为与非运算。图2.5所示为一个二输入的与非门的逻辑符号,其逻辑函数式是。该电路输入与输出间的逻辑运算关系可用真值表表示,如表2.7所示。其记忆口诀为:有0出1,全1才0。

图2.5 二输入与非门逻辑符号

表2.7 与非运算真值表

6.或非门

或和非的复合运算称为或非运算。图2.6所示为一个二输入的或非门的逻辑符号,其逻辑函数式是。该电路输入与输出间的逻辑运算关系可用真值表表示,如表2.8所示。其记忆口诀为:有1出0,全0才1。

图2.6 二输入或非门逻辑符号

表2.8 或非运算真值表

7.异或门

异或逻辑也是一种广泛应用的复合逻辑。图2.7所示为异或门逻辑符号,其逻辑函数式是。该电路输入与输出间的逻辑关系可用真值表表示,如表2.9所示。其记忆口诀为:相同出0,相异出1。

逻辑门电路是单片机外围电路运算、控制功能所必需的电路。在单片机系统中经常使用集成逻辑电路(常称为集成电路)。一片集成逻辑门电路中通常含有若干逻辑门电路,如7400为4重二输入与非门,即7400内部有4个二输入的与非门,其外部引线如图2.8所示。

图2.7 二输入异或门逻辑符号

表2.9 异或运算真值表

图2.8 7400外部引线图

高速CMOS集成逻辑门电路74HC逻辑系列集成电路具有低功耗、宽工作电压、强抗干扰的特性,是单片机外围通用集成电路的首选系列。常用的逻辑门基本上都有相应的HC型号。表2.10所示为单片机系统中部分常用HC型号的逻辑门电路。随着单片机内部功能的不断增强和硬件软件化,外部所用的逻辑门电路将越来越少。

8.门电路的国标符号与国际流行符号

常用门电路国标符号与国际流行符号对照如图2.9所示,本书图例多以国际流行符号为主介绍。

表2.10 单片机系统中常用的门电路

图2.9 常用门电路国标符号与国际流行符号对照图

2.2.2 集电极开路门输出电路

TTL门电路中,因为输出级采用了推拉式电路,无论输出是高电平还是低电平,它的输出电阻都很低,从而有效地降低了输出级的静态功耗并提高了驱动负载的能力。这种形式的电路称为推拉式(Push-pull)电路或图腾柱(Totem-pole)输出电路。但推拉式输出结构有其局限性:首先,它们的输出端不能并联使用,因为若一个门输出高电平而另一个门输出低电平,则并联后将有很大的负载电流同时流过这两个门的输出级,可能使门损坏;其次,无法满足对不同输出高低电平的需要;第三,不能满足驱动较大电流、较高电压的负载的要求。克服上述局限的方法就是,门电路的输出级采用集电极开路的三极管结构,制成集电极开路门电路(OC门,Open Collector Gate)。OC与非门的逻辑符号如图2.10所示。

由于OC门的输出端是开路的,即悬空的,故OC门在应用时输出端需要外接一个上拉负载电阻到电源。通过选择合适的电阻和电源电压,既可以保证输出的高、低电平合乎要求,又可使输出端三极管的负载电流不会过大。

OC门在单片机系统中主要有两个作用:线与和作为驱动器。几个OC门的输出端连在一起,输出可以实现与的功能(F=F1 F2 …Fn),简称线与,如图2.11所示。

图2.10 OC与非门逻辑符号

图2.11 多个OC门输出线与

OC门在单片机系统中,还常常作为控制执行机构。利用OC门可以控制一些较大电流的执行机构,用OC门和晶体管控制电动机的电路如图2.12所示。7406是集电极开路反相器,由它控制晶体管的基极。由晶体管的集电极驱动继电器线圈,电动机的启动和停止由继电器的触点接通和断开决定。当OC门反相器的输入C为1时,其输出为0,这时晶体管VT处于饱和导通状态,继电器线圈有电流流过,继电器触点闭合,电动机处于运转状态。当OC门反相器的输入C为0时,其输出为1,这时晶体管VT处于截止状态,继电器线圈无电流,继电器触点断开,电动机处于停止状态。在线圈两端并联二极管的作用是限制线圈两端产生高电压。此外,还可以用OC门直接驱动发光二极管和指示灯等显示器件,电路如图2.13所示。表2.11所示为单片机系统中常用的OC门电路。

图2.12 OC非门和晶体管控制电动机

图2.13 OC与非门驱动发光二极管

表2.11 单片机系统中常用的OC门电路

2.2.3 常用组合逻辑电路

1.编码器(ENC)

在逻辑电路中用二进制表示事物的状态或数,简称代码,为了区分一系列不同事物,通常将其中的每个事物用一个二值代码表示。设计者规定用什么形式的代码表示事物或数,称为编码。一般来说,编码只是将每一个事件或数用特殊的符号表示,不需要有特殊的规则。实现编码的组合逻辑电路称为编码器。目前,经常使用的编码器有普通编码器和优先编码器两类。

(1)普通编码器

图2.14 4-2编码器

在普通编码器中,任何时刻只允许输入一个编码信号,否则输出将发生混乱。下面以2位普通编码器为例,分析普通编码器的工作原理。图2.14所示为4-2编码器。

4-2编码器将计算机视为配有的4个外部设备:声卡(A0)、硬盘驱动器(A1)、鼠标(A2)、网卡(A3)作为输入信号,B0、B1作为编码输出。逻辑表达式为

其真值表如表2.12所示。

表2.12 4-2编码器真值表

普通编码器某一时刻只允许输入一个编码信号,如A1(A1=1)向CPU请求传送数据,CPU根据接收的编码B1B0=01,启动硬盘驱动器,开始传送数据。

由此可以看出,普通编码器是多输入、多输出的组合逻辑电路:有多个输入端N(1为有信号,0为无信号,或相反),多个输出端n,两者关系满足2n=N。某一输入与它的编码输出是唯一对应的关系。

(2)优先编码器

在优先编码器电路中,允许同时输入两个以上的信号。不过在设计优先编码器时将所有的输入信号按优先顺序排队,当几个输入信号同时出现时,只对其中优先权最高的一个进行编码。

优先编码器电路由优先排队电路和普通编码器组成。例如,图2.15所示电路规定:A3优先权最高,A0优先权最低。优先排队电路的逻辑表达式为

当A0=1有信号,且A1=A2=A3=0无信号时,B1B0=00有编码输出;当A1=1有信号,且A0=x(无论是0还是1均无所谓),A2=A3=0无信号时,B1B0=01有编码输出,依次类推,真值表如表2.13所示。A3的优先级最高。

常用的优先编码器电路如表2.14所示。

图2.15 4-2优先编码器电路

表2.13 4-2优先编码器真值表

表2.14 单片机系统中常用的优先编码器电路

2.译码器(DEC)

译码器是编码器的逆过程,编码器和译码器成对存在。译码器的逻辑功能是将每个输入的二进制编码译成对应的高、低电平输出。译码器也是多输入、多输出的组合逻辑电路,多个输入端数为N,则输出端数为n=2N

图2.16所示是一个2-4线译码器电路,如果编码输入N=2,则译码输出n=4。对于任意组输入编码,仅有与该编码相对应的一个输出端输出为0,称为译中,其余所有输出都为1,称为未译中。逻辑表达式为

当编码输入A0=0,A1=0时,B0=0(有译码输出),B1=B2=B3=1(无译码输出),依次类推,真值表如表2.15所示。

图2.16 2-4线译码器电路

表2.15 2-4线译码器真值表

也可以对于任意组输入编码,仅有与该编码相对应的一个输出端输出为1,称为译中,其余所有输出都为0,称为未译中。

图2.17所示为一个3-8线译码器电路,当A2A1A0=100,B4译中,有译码输出,A2A1A0=110,B6译中,有译码输出。

图2.17 3-8线译码器电路

经常使用的3-8线译码器型号是74HC138,由3个地址输入端A1、A2、A3,3个使能输入端和8个输出端组成,如图2.18所示。输入有小圈,表示低有效。

74HC138译码器输出逻辑表达式为

使能输入逻辑表达式为。当EN=1时译码器工作,3-8线译码器有输出(0表示有译码输出,1表示无译码输出)。单片机系统中常用的译码(驱动)器电路如表2.16所示。

图2.18 74HC138译码器内部电路

表2.16 单片机系统中常用的译码(驱动)器电路

3.数据选择器和数据分配器

(1)数据选择器

在数字系统的数据传输过程中,有时需要从多路输入数据中选中某一路输出,这时就要用到称为数据选择器(MUX)的逻辑电路。数据选择器也称多路选择器或多路开关,是多路输入、一路输出的组合逻辑器件。选择哪一路输入传送到输出端,由当时的控制信号决定。MUX实现了多通道的数据传送。

下面以4选1数据选择器为例,说明其工作原理。

4选1数据选择器是指,从4路输入信号中有选择性地选中某一路信号送到输出端的组合逻辑电路。逻辑电路图如图2.19所示。4路输入信号是D0、D1、D2和D3,地址选择端是A和B,输出端是Y。逻辑表达式为

输入信号中的哪一路送到输出端,决定于A和B的状态:AB=00,Y=D0,信号D0送到输出端;AB=10,Y=D1,信号D1送到输出端;AB=01,Y=D2,信号D2送到输出端;AB=11,Y=D3,信号D3送到输出端。

(2)数据分配器

数据分配器也称多路分配器,是一路输入、多路输出的组合逻辑器件。一路输入信号传送到哪一路输出端,由当时的控制信号决定。数据分配器与数据选择器的用途相反,它们配合使用,实现多通道的数据传送。1-4数据分配器是指1路输入、4路输出的组合逻辑电路,逻辑电路图如图2.20所示。

图2.19 4选1数据选择器逻辑电路

图2.20 1-4数据分配器逻辑电路图

译码器也可以作为数据分配器使用,只要将译码器的使能端连接数据输入端即可实现数据分配器的功能,如图2.21所示。

单片机系统中常用的数据选择器和数据分配器,如表2.17所示。

图2.21 用3-8译码器实现数据1-8分配器

表2.17 单片机系统中常用数据选择器和数据分配器

4.三态门与传输门

(1)总线

总线(BUS)是一组导线,是数据传送的公共通路。在总线结构的计算机中,多个部件挂在总线上,共享总线,多个部件分时使用总线,进行部件间的数据传送。所谓分时使用总线,就是在某一时刻,只允许一组数据发送到总线上,使相应的部件接收总线上的数据。

(2)特殊控制开关—三态门

在比较复杂的系统中,为了能在一条传输线上传送不同部件的信号,使用的相应的逻辑器件称为三态门。三态门是一种扩展逻辑功能的输出级,也是一种控制开关。三态门中恒等门和非门的逻辑符号如图2.22所示,真值表如表2.18所示。

图2.22 恒等门和非门的逻辑符号

表2.18 恒等门和非门真值表

三态门结构是由普通逻辑门增加一个控制信号构成的。图2.22(a)所示为由恒等门和控制开关(为控制信号)组成的三态恒等门。在时,开关接通,三态门传输信号,输出等于输入,称为工作状态;在时,开关断开,三态门不能传输信号且有很高的输出阻抗,称为高阻态。图2.22(b)所示为由非门和控制开关(为控制信号)组成的三态非门。在时,开关接通,三态门传输信号,输出等于输入的非,称为工作状态;在时,开关断开,三态门不能传输信号且有很高的输出阻抗,称为高阻态。

2.2.4 常用时序逻辑电路

1.锁存器

由若干电平触发的D触发器构成的一次能存储多位二进制代码的时序逻辑电路,叫做锁存器。

8位锁存器74HC373/74HC573(图中只画出4位)的逻辑图如图2.23所示。其中使能端G加入CP信号,D为数据信号。输出控制信号为0时,锁存器的数据通过三态门输出。表2.19所示为74HC373/74HC573的功能表。Qn为1Q、2Q等的初始状态(初态),74HC373与74HC573仅仅是引脚排列位置不同,74HC573的输入引脚和输出引脚分别排列在芯片两边,使用较74HC373方便。

图2.23 74HC373/74HC573锁存器内部逻辑图

表2.19 74HC373/74HC573功能表

锁存器的工作特点为数据信号有效滞后于时钟信号有效,这就意味着时钟信号先到,数据信号后到。

74HC373/74HC573常作为单片机低8位地址总线锁存器。在单片机进行外部扩展时,74HC373/74HC573可以作为外部I/O口扩展器件。

2.寄存器

由若干正沿D触发器构成的一次能存储多位二进制代码的时序逻辑电路,叫做寄存器,也称为数据触发器。

8位寄存器74HC374/74HC574(图中只画出4位)的逻辑图如图2.24所示。由于它具有三态门控制输出,因而其输出适合于挂接在数据总线上。表2.20所示为74HC374/74HC574功能表。图2.25所示为74HC374/74HC574寄存器时序图。

图2.24 74HC374/74HC574锁存器内部逻辑图

表2.20 74HC374/74HC574功能表

寄存器的工作特点为时钟信号有效滞后于数据信号有效,这就意味着数据信号先建立,时钟信号后建立,在CP上升沿时刻打入到触发器。

寄存器是计算机系统或其他数字系统中使用最多的时序逻辑构件,可以说是无处不在的。它用来保存一个字,这个字一般由n位二进制代码组成。

单片机系统中常用的锁存器和寄存器如表2.21所示。

图2.25 74HC374/74HC574寄存器时序图

表2.21 单片机系统中常用的锁存器和寄存器