1.5 逻辑电路及芯片知识

数字电路除了包括门电路、组合逻辑电路外,还有时序逻辑电路。时序逻辑电路某时刻的输出不仅取决于该时刻的输入,还与该时刻前电路的状态有关。时序逻辑电路的基本单元一般是触发器,常用的基本电路有二进制计数器、十进制计数器和移位寄存器电路等。

1.5.1 触发器

计算机处理的程序、数据都是用二进制表示的,也就是由大量的0和1组成。因此,必须有能存放和记忆0和1这两种状态的基本单元。触发器就是存放这种信号的基本单元电路,它有两个稳定的状态——0状态和1状态;它能接收、保持和输出送来的信号;在一定的外界触发条件下,这两个稳定状态可以互相转换。根据电路结构不同和触发条件和方式的不同。触发器有不同的种类,如RS触发器、JK触发器、D触发器等。

1.基本RS触发器

触发器有两个稳定的状态,可用来表示数字0和1。按结构的不同可分为,没有时钟控制的基本触发器和有时钟控制的门控触发器。

基本RS触发器是组成门控触发器的基础,一般有与非门和或非门组成的两种形式,以下介绍与非门组成的基本RS触发器。

(1)电路结构与符号图

用与非门组成的RS触发器如图1-27所示。图中为置1输入端,为置0输入端,都是低电平有效,Q和为输出端,一般以Q的状态作为触发器的状态。

表1-22 基本RS触发器的真值表

图1-27 与非门组成的基本RS触发器

(2)工作原理与真值表

1)当时,因,G2门的输出端,G1门的两输入为1,因此G1门的输出端Q=0。

2)当时,因,G1门的输出端Q=1,G2门的两输入为1,因此G2门的输出端=0。

3)当时,G1门和G2门的输出端被它们的原来状态锁定,故输出不变。

4)当=0,=0时,则有Q==1。若输入信号=0,=0之后出现=1,=1,则输出状态不确定。因此=0,=0的情况不能出现,为使这种情况不出现,特意给该触发器加一个约束条件=1。

由以上分析可得到表1-22所示真值表。这里Qn表示输入信号到来之前Q的状态,一般称为现态。同时,也可用Qn+1表示输入信号到来之后Q的状态,一般称为次态。

2.同步D触发器

由于同步RS触发器工作时,由于不允许R、S端信号同时为1,使应用受到一定限制。为了克服这一缺点,可以在S与R输入端之间增加一个非门,只在S端加输入信号,S端改称为D输入端,这样构成的触发器,称为同步D触发器,又称D锁存器。其逻辑电路及逻辑符号如图1-28所示。

图1-28 同步D触发器和逻辑符号

a)D触发器的逻辑电路 b)逻辑符号

同步D触发器的工作原理可分为CP=0和CP=1两种情况分析。

当CP=0时,触发器不工作,触发器处于维持状态。

当CP=1时,触发器功能如下:

D=0,G3门输出为1,G4门输出为0,则基本RS触发器的=0、=1,触发器状态置0。

D=1,G3门输出为0,G4门输出为1,则基本RS触发器的=1、=0,触发器状态置1。

根据工作原理的分析,可列出同步D触发器的特性见表1-23。

表1-23 同步D触发器的特性

D触发器类常用集成电路芯片介绍如下:

在单片机芯片内部及单片机外围电路中使用了大量各类D触发电路芯片,下面分别进行介绍。

(1)74LS74

74LS74芯片中包含两个独立的上升沿触发的TTL集成双D触发器。每个触发器都有独立的直接复位(清除)端CLR,直接预置端PR,数据和时钟输入端D和CK,另外还各有一组互补输入端Q和,其功能表见表1-24。

表1-24 74LS74功能表

(2)74LS273

74LS273是带清除端(CLK)的8D触发器。在时钟上升沿作用下(加在CK端),输入信息由D端传送到Q输出端。触发器的时钟频率响应范围为0~30MHz,每个触发器功耗为10mW。

74LS273功能框图及引脚逻辑图如图1-29和图1-30所示。其功能表见表1-25。

图1-29 74LS273功能框图

图1-30 74LS273引脚逻辑图

表1-25 74LS273功能表

(3)74LS373

74LS373为透明D型锁存器,即当允许端(G)是高电平时,Q输出数据(D)并被锁存。当输出控制端(,1脚)接低电平时(在一般硬件系统中G接地),数据输出,当端接高电平时输出为高阻状态。

由于输出可提供具有高阻抗的第三态,则在总线系统结构中不需另加外加接口和上拉部件,74LS373可直接连接到总线上,并驱动总线。在高阻状态下输出端的状态下输出端的状态由其他电路的输出状态决定。8位寄存器的特点是可驱动大电容或低阻抗的负载。因此,74LS373特别适合用于作为缓冲寄存器、I/O通道、总线驱动器及工作寄存器。图1-31所示为其功能框图,表1-27所示为其功能表。

表1-26 74LS373功能表

图1-31 74LS373、374功能框图

(4)74LS374

74LS374和74LS373基本相同,逻辑功能如图1-31所示。它们的区别在于74LS374是边沿触发,即在时钟上升沿时,锁存器的输入端(D)的状态建立在锁存器输出端(Q)。表1-27为其功能表。

此外,8282的功能与74LS373相同。

74LS373与74LS374的引脚图如图1-32所示。

图1-32 74LS373、74LS374引脚图

表1-27 LS374功能表

通常用作单片机地址锁存的芯片有两类:一类是8D触发器,如74LS273、74LS377等;另一类是8位锁存器,如74LS373、8282等。图1-33描绘了74LS273和74LS277两类芯片用作单片机地址锁存器时的控制线的接法。

图1-33 用作地址锁存器的常用芯片

1.5.2 寄存器及移位寄存器

寄存器是一种用来暂时存放数据、指令等的器件,它由触发器组成。一个触发器可以储存一位二进制代码。存放几位二进制代码用几个触发器即可。图1-34所示由D触发器组成的四位寄存器。

CP为时钟控制端,当CP上升沿到来时,四个数据输入端D4D3D2D1被寄存到四个触发器中使输出状态Q4 Q3 Q2 Q1=D4 D3 D2 D1为清除端,当为低电平时,Q4Q3Q2Q1清零。

在微型计算机中,常用的是经过改造的移位寄存器,它除了具有存储数码的功能外,还具有移位功能。所谓移位功能,就是寄存器中所存的数据可在移位脉冲作用下逐次左移或右移。

图1-34所示为用D触发器组成的单向移位寄存器及时序图。其中每个触发器的输出端Q端依次接到下一个触发器的D端,只有第一个触发器的D端接收数据。

图1-34 单向移位寄存器(串行输入,串、并行输出)

当时钟脉冲上升沿到来时,输入的数码移入F1,同时每个触发器把自身的状态移给下一个触发器。假设输入的数码为1011,那么经过四个移位脉冲后,1011这四位数码恰好全部移入寄存器中。这时,也可以从四个触发器Q端得到并行的数码输出。如果需要得到串行输出信号,则只要再输入四个时钟脉冲,四位数码便可以从Q4端依次串行输出。由此可见,以上移位寄存器可实现串入并出或串入串出。

在CP移位脉冲的作用下,移位寄存器中数码的移动情况见表1-28。

表1-28 移位寄存器中数码的移动情况

74LS164就是一种串入并出的8位TTL集成移位寄存器,它的逻辑功能及引脚如图1-35所示。串行输入具有允许和禁止的功能。当A作数据输入端时,B则作为禁止或允许输入端。在时钟脉冲为高或低电平时,串入并出数据不改变,只有在时钟上升沿时才起作用。74LS164的功能表见表1-29。

表1-29 74LS164功能表

图1-35 74LS164结构及引脚

移位寄存器的输入同样也可以采用并行输入方式。图1-36所示就是一个串、并行输入,串行输出的移位寄存器。在并行输入时,采用了两拍接收方式,第一步先用清零脉冲通过触发器的Rd端,把所有触发器置0,第二步再利用接收脉冲通过Sd端输入数据。

图1-36 单向移位寄存器(串、并行输入,串行输出)

另外,74LS166/165为8位并行输入、串行输出的移位寄存器,引脚及功能可查相关手册。

1.5.3 半导体存储器

存储器是计算机的记忆部件。CPU要执行的程序、要处理的数据、处理的中间结果等都存放在存储器中。

早期计算机用磁心作存储器。20世纪70年代以后,随着大规模集成电路技术的发展,半导体的集成度大大提高,体积急剧减小,加之它具有功耗低、成本低和应用方便等优点,故其应用日益广泛。目前微机的存储器几乎全部采用半导体存储器。存储容量和存取时间是存储器的两项重要指标,它们反映了存储记忆信息的多少与工作速度的快慢。半导体存储器根据应用可分为读写存储器(RAM)和只读存储器(ROM)两大类。

1.读写存储器RAM

读写存储器又称随机存取存储器(Random Access Memory)简称RAM,它能够在存储器中任意指定的地方随时写入(存入)或读出(取出)信息;当电源掉电时,RAM里的内容则消失。根据存储单元的工作原理,RAM又分为静态RAM和动态RAM。静态RAM用触发器作为存储单元存放1和0,存取速度快,只要不掉电即可持续保持内容不变。一般静态RAM的集成度较低,成本较高。

动态RAM的基本存储电路为带驱动晶体管的电容。电容上有无电荷会被分别视为逻辑1和0。随着时间的推移,电容上的电荷会逐渐减少,所以为保持其内容必须周期性地对其进行刷新(对电容充电)以维持其中所存的数据。

(1)静态RAM

RAM的结构如图1-37所示。它由存储器矩阵,地址译码器和读/写控制电路等组成。

图1-37 RAM的组成框图

存储矩阵是存储器的主体,由若干个触发器存储单元组成,每个存储单元存放一位二进制信息。为了存取方便,存储单元通常设计成很规则的矩阵形式。例如,一个容量为256×4(256个字,每个字4位)的存储器有1024个存储单元,这些单元可排成32行×32列的矩阵形式,如图1-38所示。

图1-38中每行有32个存储单元(圆圈表示存储单元),可存储8个字,每4列为一个字列,可存储32个字。每根行选线选中一行,每根列选择线选中一个字列。因此,图示阵列有32根行选线和8根列选线。

RAM内容的存取是以字为单位的,为了区别不同的字,将存放同一个字的存储单元编为一组,并赋予一个号码,称为地址。存储单元是存储器中最基本的存储细胞,不同的单元有不同的地址。在进行读写操作时,可以按照地址访问某个单元。

地址的选择是借助于地址译码器实现的。在大容量的存储器中,通常采用双译码结构,即将输入地址分为两部分,分别由行译码器和列译码器译码。行、列译码器的输出即为存储矩阵的行、列选择线,由它们共同确定欲选择的地址单元。

图1-38 256×4RAM存储矩阵

对于图1-38所示的存储矩阵,256个字需要8位二进制地址(A7~A0)区分(28=256)。其中地址码的低5位A0~A4作为行译码输入,产生32根行选择线,地址码的高3位A5~A7用于列译码输入,产生8根列选择线,只有被行选择线和列选择线都选中的单元,才能被访问。例如,若输入地址A7~A0为00011111时,X31和Y0输出高电平,位于X31和Y0交叉处的字单元此时可以进行读出或写入操作,而其余任何字单元都不会被选中。

由于集成度的限制,目前单片机RAM容量很有限,对于一个大容量的存储系统,往往需要若干片RAM组成,而读/写操作时,通常仅与其中的一片(或几片)打交道,这就存在一个片选问题。RAM芯片上特设了一根片选信号线,在片选信号线上加入有效电平,芯片即被选中,可进行读/写操作,未被选中的芯片则不工作。

片选信号仅解决芯片是否工作问题,而芯片执行读还是写操作则还需要有一根读写信号线,所以芯片上还没有读/写控制线。

Intel 2114A是一片1KB×4(1KB即1024个单元)位的静态RAM,它与TTL完全兼容。单接+5V电源。如图1-39所示其外形、逻辑符号和内部结构。

10根地址线A0~A9用于行译码,产生64根行选择线:A0、A1、A2、A94根地址线用于列译码,产生16条列选线。每根列选择线同时接至4个基本存储电路,即4位。所以这种双译码结构可寻址64 × 16 × 4=4096个存储单元。为片选信号线,输入低电平有效;为低电平,则进行写操作;若使为高电平则可进行读操作。读写的数据通过I/O1~I/O4送到数据总线上,由CPU读取。

6116、6264、62256、628128芯片分别是2KB×8、8KB×8、32KB×8和128KB×8的静态RAM,使用这些芯片时都不必外加刷新电路。

(2)动态RAM

静态RAM的存储单元所用管子数目多、功耗大、集成度低,而动态RAM集成度高,成本低、功耗也很低。动态RAM是一种以电荷形式存储信息的器件,其基本存储电路采用晶体管和电容。目前常用的动态RAM单元电路有两种,一种由三个CMOS管组成,另一种由一个CMOS管组成。

动态RAM的缺点是电容所存信息的电信号会逐渐漏掉。一般要求2 ms周期就要对所存信息全部刷新一遍。所以动态RAM要加有专门的刷新电路。但对大容量存储系统,附加刷新电路的成本会被其高集成度、低功耗和价廉等优点所补偿。

图1-39 Intel 2114A外形,逻辑符号和内部结构

如Intel 2164A是16引脚双列直插动态RAM集成芯片,它采用单一+5V电源,其基本存储电路为单管型,它的引脚及结构可查看有关手册。

2.只读存储器ROM

只读存储器简称ROM,用以存放不变信息——至少不经常改变的信息。与RAM不同,当ROM仍能保持内容不变。在读取某地址内客这一点,ROM类似于RAM。但ROM并不含修改其内容的结构——只读存储器的名称即由此而得。

一般ROM用来存储程序和一些固定的数据,比如计算机的系统程序、一些固定表格等。而RAM用于存储数据。

只读存储器有掩膜ROM、PROM、EPROM和E2PROM等。

(1)掩膜ROM

这种ROM基本存储电路的0或1两种状态,是在制造电路时由生产厂家根据用户提出的要求,通过掩膜技术制作或不制作晶体管栅极来实现0或1状态的。一旦制作完毕,存储内容即不可修改,大批量生产时成本很低。

(2)PROM

为了弥补掩膜ROM成本高和不能改变其内容的不足,出现了一种由用户编程且只能写入的一次的PROM。出厂时PROM设置为熔丝断裂型,未写入时每个基本存储电路都是一个带熔丝的晶体管或二极管。编程后丝断为“l”,未断者为“0”,用户用专用编程器进行编程时,对需写1的单元,通过大电流以熔断其熔丝,丝断后无法复原,因此只能写入一次。在软件开发过程中PROM比掩膜ROM方便价廉。

(3)EPROM

EPROM是一种可多次写入的ROM。其特点是写入的信息可以长期保存,这一点与掩膜ROM一样;与掩膜ROM不同的是,当不需要这些信息或欲进行修改时,可进行擦除和重写。EPROM芯片上开有一石英窗口,当芯片置于紫外线下照射时,高能光子将与EPROM中的电子相碰撞,将其驱散,于是以电荷形成存储的信息即被擦除。EPROM在开发样机时非常有用,因为在研制过程中数次修改程序的情况颇为常见。

现常用的EPROM型号有2732、2764、27128、27256、27514等,其容量分别为4KB、8KB、16KB、32KB、64KB等。以2732A为例,介绍该类芯片的结构及工作方式。图1-40所示2732A引脚及内部结构。它是以HMOS-E工艺制成的24引脚双列直插式芯片。其中A0~A11为13位地址线,O0~O7为8位数据线,为芯片允许信号,低电平有效,该引脚在编程时亦作为编程电压输入引脚VCC和GND分别为+5 V电源和接地端。

图1-40 2732A引脚及内部结构

2732A有六种工作方式,见表1-30。

表1-30 2732A工作方式

读方式:2732A由两条控制线控制。为在输出端读到数据,两者均必须输入低电平VIL为电源控制信号,用来进行器件选择。为输出控制,用来把数据从输出缓冲器送往输出引脚,即送至数据总线。

2732A采用读方式读出时间约为250ns。

待机方式:若某2732A的输入端为高电平,则它将处于待机方式。2732A的工作电流为125 mA,待机时的电流可降至35 mA。在这种方式下,输出呈高阻状态,且不受限制。

输出禁止方式:多个2732A芯片的输出可以并联到数据总线上。在这种接法中,为使存储系统功耗最小并防止各存储芯片争夺总线资源,如果所有芯片的都接地的话,则可向未被选中芯片的端输入高电平,使其输出处于高阻状态,这便是输出禁止方式;而被选中芯片的给低电平信号,因此,只有它的输出才能送往数据总线。但为更有效地利用两条控制线,各片的(脚18)通常通过译码得来。即在多个EPROM芯片中选中一个使之工作,而各片(脚20)都接到控制总线的而线上,这就保证未选中的EPROM处于低功耗待机方式,它们的输出为高阻状态。被选中芯片的均为低电平,因此便将其数据送入数据总线。

编程方式:每次擦除后或新购2732A芯片的所有位均应为1。写入信息时,只是把应为0的位由1改为0。而应为1的位保持不变。当2732A处于编程方式时,引脚加上21V电压。要求在和GND两引脚间跨接一个0.1μF的电容,以抑制该两脚间可能产生的尖峰电压。否则,器件可能受损。将要写入的数据8位并行加到2732A的数据输出引脚上。地址与数据输入均为TTL电平。

编程禁止方式:当向多片并联的2732A写入不同数据时,除引脚外,各片的所有同名引脚(包括)均呈并联状况。在接21 V电压的情况下,向某2732A的脚加一TTL电平的编程脉冲,将对该芯片进行写入。向其他2732A的引脚输入高电平,则禁止对它们进行写入操作。

校验方式:每写入一个字节后都应校验所写内容是否有误。

读标识码方式:自1982年开始,Intel所生产的EPROM芯片都内含关于厂家及产品型号的标识码。2732A的两个标识字节为8901H;2764、27128和27256的标识分别为8902H,8983H和8904H。读标识应在25±5℃的环境下进行,地址线A9(脚22)加11.5V~12.5V电压,其他地址线均为低电平V1H时,从输出端读到的第一个字节应为89H,代表Intel产品;当A0为高电平V1H而其他位不变时,得到第二个字节,对2732A来说,应为01H。

EPROM编程器可以通过读标识的方法来辨认EPROM芯片的型号,从而自动启动相应的编程算法。应当注意,对于不同容量的EPROM芯片来说,编程电压、编程脉冲不尽相同。2764以上的芯片除具有标准编程法(即每字节用50ms宽编程脉冲)外,尚有Intel编程法。例如,32KB的27256,若用Intel编程法只要5min即可写完。读者可以算出,用普通编程法需多长时间。

(4)E2PROM。

E2PROM是近几年出现的新产品。它既可以在线电擦除,又可以加电写入,并能在断电的情况下保持修改的结果,即具备信息不挥发的特性。它比紫外线擦除的EPROM要方便,可直接在2764插座上在程序运行过程中用电(即+5V工作时)进行改写,并且一次操作可单独改写几位或几个字节。改写与调整其内部数据十分方便。

常见的E2PROM型号有2816(2KB×8),2817(2KB×8),2864(8KB×8),2864A等。图1-41所示为2817A的引脚与结构图。

图1-41 2817A引脚与结构图