您好,欢迎访问三七文档
第9章AT89S51单片机的并行扩展技术1AT89S51单片机片内存储器和I/O资源还不能满足需要,需外扩存储器芯片和I/O接口芯片,即单片机的系统扩展。系统扩展分为并行扩展和串行扩展,本章介绍应用系统的并行扩展,第12章介绍串行扩展。首先介绍AT89S51片外两个存储器空间地址分配,然后介绍如何扩展外部数据存储器和外部程序存储器以及扩展I/O接口芯片具体设计。29.1系统并行扩展概述9.1.1系统并行扩展结构单片机系统并行扩展结构见图9-1。图9-1单片机系统扩展结构由图9-1可看出,系统并行扩展主要包括数据存储器扩展、程序存储器扩展和I/O接口扩展。AT89S51采用程序存储器空间和数据存储器空间然分开的哈佛结构,因此形成两个并行外部存储器空间。在AT89S51系统中,I/O接口与数据存储器采用统一编址方式,即接口芯片的每一端口寄存器就相当于一个RAM存储单元。由于单片机采用并行总线结构,各扩展部件只要符合总线规范,就可方便地接入系统。并行扩展是通过总线把AT89S51单片机与各扩展部件连接起来。因此,要进行并行扩展首先要构造系统总线。系统总线按功能通常分为3组,见图9-1。4(1)地址总线(AddressBus,AB):传送单片机单向发出的地址信号,以便进行存储单元和I/O接口芯片中的寄存器单元选择。(2)数据总线(DataBus,DB):用于单片机与外部存储器之间或与I/O接口之间双向传送数据。(3)控制总线(ControlBus,CB):是单片机发出的各种控制信号线。下面介绍如何构造系统的三总线。1.P0口作为低8位地址/数据总线AT89S51受引脚数目限制,P0口既用作低8位地址总线,又用作数据总线(分时复用),因此需增加1个8位地址锁存器。AT89S51单片机对外部扩展的存储器单元或I/O接口寄存器进行访问时,先发出低8位地址送地址锁存器锁存,锁存器输出作为系统的低8位地址(A7~A0)。随后,P0口又作为数据总线口(D7~D0),见图9-2。6图9-2AT89C51单片机扩展的片外三总线2.P2口的口线作为高位地址P2口的全部8位口线用作系统高8位地址线,再加上地址锁存器输出提供的低8位地址,便形成了系统的16位地址总线(见图9-2),从而使单片机系统的寻址范围达到64KB。3.控制信号线除了地址线和数据线外,还要有控制总线。这些信号有的就是单片机引脚的第一功能信号,有的则是P3口第二功能信号。其中包括:8(1)PSEN*信号作为外部扩展的程序存储器的读选通控制信号;(2)RD*和WR*信号作为外部扩展的数据存储器和I/O接口寄存器的读、写选通控制信号;(3)ALE信号作为P0口发出的低8位地址的锁存控制信号。(4)EA*信号为片内、片外程序存储器访问允许控制端。由上看出,尽管AT89S51有4个并行I/O口,共32条口线,但由于系统扩展的需要,真正给用户作为通用I/O使用,就剩下P1口和P3口的部分口线了。9109.1.2地址空间分配如何把片外两个64KB地址空间分配给各个存储器与I/O接口芯片,使一个存储单元只对应一个地址,避免单片机对一个地址单元访问时,发生数据冲突。这就是存储器地址空间的分配问题。AT89S51发出的地址信号用于选择某存储器单元,在外扩多片存储器芯片中,要完成这种功能,必须进行两种选择:一是必须选中该存储器芯片,这称为“片选”,只有被“选中”的存储器芯片才能被单片机访问,未被选中的芯片不能被访问;二是在“片选”的基础上还同时“选中”芯片的某一单元对其进行读写,这称为“单元选择”。每个扩展的芯片都有“片选”引脚,同时每个芯片也都有多条地址引脚,以便对其进行单元选择。需要注意的是,“片选”和“单元选择”都是单片机通过地址线一次发出的地址信号来完成选择的。常用的存储器地址空间分配方法有两种:线性选择法(简称线选法)和地址译码法(简称译码法),下面分别介绍。1.线选法直接利用单片机某一高位地址线作为存储器芯片(或I/O接口芯片)的“片选”控制信号。为此,只要用某一高位地址线与存储器芯片的“片选”端直接连接即可。优点:电路简单,不需另外增加地址译码器硬件电路,体积小,成本低。缺点:可寻址芯片数目受限制。另外,地址空间不连续,存储单元地址不唯一,这会给程序设计带来一些不便。线选法适用于外扩芯片数目不多的单片机系统的系统扩展。2.译码法使用译码器对AT89S51单片机的高位地址进行译码,将译码器的译码输出作为存储器芯片的片选信号。本法能有效地利用存储器空间,适于多芯片的存储器扩展。12常见有74LS138(3-8译码器)、74LS139(双2-4译码器)与74LS154(4-16译码器)。下面介绍74LS138和74LS139译码器芯片。(1)74LS138是3-8译码器,有3个数据输入端,经译码后产生8种状态,其引脚见图9-3,真值表见表9-1。13图9-374LS138引脚图由表9-1可见,当译码器输入为某一固定编码时,其8个输出引脚Y0*~Y7*中仅有1个引脚输出为低,其余全为高。而输出低电平的引脚恰好作为片选信号。(2)74LS139双2-4译码器。两个译码器完全独立,分别有各自的数据输入端、译码状态输出端以及数据输入允许端,其引脚如图9-4所示,其中1组的真值表见表9-2。图9-474LS139引脚图表9-274LS139真值表以74LS138为例,介绍如何进行空间地址分配。例如,要扩8片8KB的RAM6264,如何通过74LS138把64KB空间分配给各个芯片?由74LS138真值表可知,把G1接到+5V,该G2A*、G2B*接地,P2.7、P2.6、P2.5(高3位地址线)分别接到74LS138的C、B、A端,由于对高3位地址译码,这样译码器有8个输出Y0*~Y7*,分别接到8片6264的“片选”端,实现8选1片选。而低13位地址(P2.4~P2.0,P0.7~P0.0)完成对选中的6264芯片中的各个存储单元的“单元选择”。这样就把64KB存储器空间分成8个8KB空间了。64KB地址空间的分配见图9-5。17图9-564KB空间划分成8个8KB空间当AT89S51单片机发出16位地址码时,每次只能选中一片芯片以及该芯片的唯一存储单元。采用译码器划分的地址空间块相等,如将地址空间块划分为不等的块,可用FPGA实现非线性译码逻辑来代替译码器。9.1.3外部地址锁存器AT89S51单片机受引脚数的限制,P0口兼用数据线和低8位地址,为了将它们分离出来,需要在单片机外部增加地址锁存器。目前,常用的地址锁存器芯片有74LS373、74LS573等。19201.锁存器74LS373带有三态门的8D锁存器,其引脚见图9-6,内部结构如图9-7所示。图9-6锁存器74LS373的引脚图9-774LS373的内部结构74LS373引脚说明:●D7~D0—8位数据输入线。●Q7~Q0—8位数据输出线。●G—数据输入锁存选通信号。当加到该引脚的信号为高电平时,外部数据选通到内部锁存器,负跳变时,数据锁存到锁存器中。●OE*—数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。74LS373锁存器功能见表9-3。21表9-374LS373功能表22AT89S51单片机与74LS373锁存器的连接如图9-8所示。图9-8AT89S51单片机P0口与74LS373的连接2.锁存器74LS573带三态门的8D锁存器,功能及内部结构与74LS373完全一样,只是其引脚排列与74LS373不同,图9-9为74LS573引脚图。由图9-9,与74LS373相比,74LS573输入D端和输出的Q端依次排列在芯片两侧,为绘制印制电路板提供较大方便。74LS573引脚说明如下。23图9-9锁存器74LS573的引脚●D7~D0—8位数据输入线。●Q7~Q0—8位数据输出线。●G—数据输入锁存选通,该引脚与74LS373的G端功能相同。●OE*—数据输出允许,低电平有效。当低电平时,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。9.2外部程序存储器EPROM的并行扩展程序存储器具有非易失性,在电源关断后,存储器仍能保存程序,在系统上电后,CPU可取出这些指令重新执行。25程序存储器采用只读存储器ROM(ReadOnlyMemory)。ROM中的信息一旦写入,就不能随意更改,特别是不能在程序运行过程中写入新的内容,故称为只读存储器。目前许多公司生产的8051内核单片机,在芯片内部大多集成了数量不等的FlashROM。例如,美国ATMEL公司生产的AT89C2051、AT89S51、AT89S51、89C52、89S52、89C55,片内分别有不同容量的FlashROM,作为片内程序存储器使用。选择的单片机在片内FlashROM满足要求的情况下,外部程序存储器的扩展工作就可省去。向ROM中写入信息称为ROM编程。根据编程方式不同,可分为以下几种。(1)掩膜ROM:在制造过程中编程,编程是以掩膜工艺实现的。这种芯片存储结构简单,集成度高,但由于掩膜工艺成本较高,因此只适合于大批量生产。(2)可编程PROM(可编程只读存储器):芯片出厂时无任何程序信息,用户用编程器写入。但写入一次内容后,就不能再修改。(3)EPROM:用电信号编程,紫外线擦除的只读存储器芯片。在芯片外壳中间有一圆形窗口,通过该窗口照射紫外线就可擦除原有的信息。用编程器可将调试完毕的程序写入。27(4)E2PROM(EEPROM):用电信号编程与擦除的ROM芯片。对E2PROM的读写操作与RAM存储器几乎没差别,只是写入速度慢一些,但断电后仍能保存信息。(5)FlashROM又称闪烁存储器(简称闪存):是在EPROM、E2PROM基础上发展起来的一种电擦除型只读存储器,可快速在线修改存储单元中的数据,改写次数可达1万次,其读写速度很快,存取时间可达70ns,成本却比普通E2PROM低得多,大有取代E2PROM之势。289.2.1常用的EPROM芯片扩展并行接口程序存储器,使用较多的是27系列产品。例如,2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB),型号名称“27”后面的数字表示其位的存储容量。如果换算成字节容量,只需将该数字除以8即可。例如,“27128”中的“27”后面的数字为“128”,128÷8=16KB。随着大规模集成电路技术的发展,大容量存储器芯片产量剧增,售价不断下降。小容量芯片的生产已停止。所以,在扩展程序存储器设计时,应尽量采用大容量芯片。291.常用的EPROM芯片的引脚27系列EPROM芯片引脚见图9-10,各引脚功能如下。●A0~A15—地址线引脚。它的数目由芯片的存储容量决定,用于进行单元选择。●D7~D0—数据线引脚。●CE*—片选控制端。●OE*—输出允许控制端。●PGM*—编程时,编程脉冲的输入端。●Vpp—编程时,编程电压(+12V或+25V)输入端。●VCC—+5V,芯片的工作电压。●GND—数字地。●NC—无用端。3132图9-10常用EPROM芯片引脚图2.EPROM芯片的工作方式一般有5种工作方式,由CE*、OE*、PGM各信号状态组合确定。5种工作方式见表9-4。(1)读出方式。片选控制线CE*和OE*为低,Vpp为+5V,就可将EPROM中的指定地址单元的内容从数据引脚D7~D0上读出。(2)未选中方式。CE*此时为高,数据输出为高阻悬浮状态,不占用数据总线。EPROM处于低功耗的维持状态。(3)编程方式。在Vpp端加上规定高压,CE*和OE*端加上合适电平(不同芯片要求不同),就能将数据写入到指定的地址33表9-4EPROM的5种工作方式单元。此时,编程地址和编程数据分别由单片机的A15~A0和D7~D0提供。(4)编程校验方式。在Vpp端保持相应的编程电压(高压),再按读出方式操作,读出编程固化好的内容,以校验写入内容是否正确。(5)编程禁止方式。编程禁
本文标题:第9章系统并行扩展
链接地址:https://www.777doc.com/doc-2113572 .html