单片机的三总线
- 格式:doc
- 大小:75.50 KB
- 文档页数:5
第三篇计算机系统扩展与接口应用第4章MCS-51微机系统扩展基础与存储器扩展4.1 MCS-51微机系统总线概念、结构与扩展基础MCS-51单片机主要应用于嵌入式应用中,即单片机并不作为独立的设备,而是作为其他设备的智能核心,在设备中起到检测、处理和控制等作用。
MCS-51单片机嵌入式应用系统由硬件系统与软件系统构成。
为了提高产品的性价比,MCS-51单片机的硬件与软件系统都要根据具体应用功能的需要,“量体裁衣”地进行设计。
由于IC工业的发展,目前构造单片机应用系统时需要的绝大多数功能都可以由某种相应的IC来实现。
这意味着设计单片机硬件系统主要的工作简化为:划分硬件系统的功能模块,按照功能选择IC,将CPU与IC“拼装”到一起,绘成电路原理图和印刷电路板。
CPU与IC的“拼装”必须确保:IC能在CPU的控制下,高速与可靠地相互交换信息。
计算机学家设计了计算机的“总线(BUS)”来实现这种拼装功能。
MCS-51单片机内部具有总线管理功能,可以扩展外部单元。
掌握单片机的三总线知识和扩展IC的三总线基本结构,对于掌握MCS-51微机系统扩展至关重要。
在单片机系统扩展中,为了易于学习,将复杂的硬件系统扩展拆开成各类IC的单独扩展,分别学习。
学会了各个典型芯片的扩展,就可以举一反三,像搭积木一样用各种IC 构成完整的硬件系统。
MCS-51通过总线扩展的IC可以分为两大类:存储器扩展和I/O扩展。
存储器扩展的特点是它们仅与CPU联系,不与外部信息直接联系,因此接口方式可以简化,不必带有应答方式;I/O扩展涉及的IC不仅要与CPU联系,还要与外部信息联系,因此往往需要具有选通和应答机制。
在本章介绍的存储器扩展,不仅给学习者提供了存储器扩展的方法,更重要的是,通过它说明了计算机三总线的工作原理、编址技术与地址空间分析方法。
4.1.1 三态在总线中的作用在总线扩展中,常要了解IC的端口引脚是否具有三态(three-state 或Tri-State)功能。
三态就是低电平(Low Level)、高电平(High Level)和高阻态(High Impedance 或Hi-Z)。
低电平和高电平具有较大的电流驱动能力,用于输出控制,这两种状态出现在允许输出的输出端口中。
高阻态是电阻极大,或电流极小的状态,出现在输入端口或关断的输出端口中。
输入端口中的高阻态可以在尽可能小地改变被输入对象的状态下获取信息。
输出端口在关断时处于高阻态,可以在IC不从电路板上取下的情况下,起到让IC脱离电路的作用,这就为CPU选择IC参与或脱离总线提供了方便。
只有能用控制信号将输出端关断,使之处于高阻态的IC,才能将该IC的输出端接入系统的数据总线。
4.1.2 时序图在了解总线工作原理时,时序图是常用的工具。
通过时序图可以清晰地知道各总线信号间与时间顺序相关的配合关系。
时序图是从笛卡尔直角坐标系简化而来的,它去掉了X-Y坐标线、原点、方向箭头和刻度,约定:隐藏的横坐标从左向右为时间坐标,隐藏的纵坐标从下到上为电平或逻辑值。
表示总线时序关系时,时序图中往往将传输数据的并行线路的各线的关系合并起来,表示为一个框,该框并不表示具体的数值,只表示抽象的“正在传输的一个数”。
高阻态在时序图中用画在中部的虚线或实线表示。
图4-1 信号的时序图表示4.1.3 IC的片选为了让CPU选择IC,有必要在参与总线工作的IC上安排一条特殊的信号控制线,通过该线的电平来控制IC的“清醒”或“睡眠”状态。
这条控制线通常称为IC的“片选”,名称为CE(Chip Enable)或CS(Chip Select)。
IC中片选的有效信号较多使用低电平控制,此时CE或CS为“负逻辑”,用带上划线或(-)的CE或CS表示。
在IC片选“选中”时,IC处于“清醒”状态,IC能响应总线中控制信号,能从输出端口输出,IC的电源功耗与电流也相应加大;在IC片选“不选中”时,IC处于“睡眠”状态,此时,输出端口处于关断状态,IC的电源消耗也降低,IC除了片选信号之外不理睬任何其他控制信号。
有的IC没有片选线,但只要该IC有能控制输出端口的控制线,就可以用门电路构成具有类似片选功能的电路。
为了防止IC独占数据总线,确保CPU能控制IC分时使用数据总线,凡输出端口不能控制,无法使之关断处于高阻态的IC,均不能将其输出端口接到数据总线。
4.1.4 计算机的三总线总线(BUS)是信息传输的公用线路,总线上的各种芯片(IC)都通过总线与CPU并连在一起。
根据一个数据中各个位传递的方式,总线分为并行总线和串行总线。
并行总线中一个数据的各个位是在空间中展开,同时传输的;串行总线中数据的各个位是在时间中展开,先后传输的。
注意区别电路连接中的并连、串连与信息传输中的并行、串行。
总线中并连在一起的IC地位并不是平等的,有一个IC,通常是CPU,负责管理和控制总线,为总线的主控者。
总线的主控者负责输出地址和控制信息,其它IC都在总线主控者的控制下进行信息传递。
这样的设计是为了保证总线高速可靠地工作,并且体现了CPU 编程者——人类对计算机硬件系统的主宰。
复杂的计算机系统可以有多个总线主控者,需要总线管理仲裁芯片协助进行主控者的切换,这些切换是由软件安排的,仍然体现了人的主控作用。
计算机的并行总线使用较多线路,适宜于在CPU和扩展的IC之间高速传输信息。
并行总线由数据总线,控制总线和地址总线构成,亦称为三总线结构。
采用三总线的各IC 的地线端必须与CPU的地线相连,以便解释相互传递的电平所表达的信息。
数据总线(Data Bus,简称DB)在控制总线的配合下传递CPU的输入/输出数据。
数据总线由具有“位-权”关系的多条线构成的并行线路组成,并行线路的位数一般与累加器的位数相同,通常称为“计算机的位数”。
数据总线是双向的,它的传输方向与传输的有效时刻都由控制总线的信号指出。
数据总线具有三态,在CPU等待IC输入数据而IC尚未输出数据时,或没有IC(含CPU)输出时,数据总线处于高阻态。
控制总线(Control Bus,简称CB)的主要作用是配合数据总线与地址总线起作用,负责传递数据总线或地址总线的有效时刻和数据总线的传输方向等信息。
控制总线由单独起作用的多条线路组成,相互间没有“位-权”关系。
控制总线一般为单向的,仅有高、低两态,总线的主控者负责向控制总线输出信息。
地址总线(Address Bus,简称AB)的作用是用来选择芯片或选择芯片中的单元,以便CPU通过控制总线让数据总线与该单元之间单独传输信息。
地址总线由具有“位-权”关系的多条线构成的并行线路组成,并行线路的位数构成了地址空间,确定了所能单独访问的单元数目。
地址总线一般为单向的,仅有高、低两态,总线的主控者负责向地址总线输出信息。
地址总线通过IC的片选来选择IC,通过IC提供的地址线来选择IC中的单元。
分时复用的总线可以减少CPU的线数,多数的CPU都采用分时复用的总线方式。
MCS-51与80X86微机都采用分时复用的总线。
在分时复用总线中,往往利用同一组线路,在控制总线的配合下,在不同时刻分别承担数据总线或地址总线。
分时复用的总线不便于与一般的IC直接连接,需要通过地址锁存器将复用的数据与地址分离开来,形成独立的三总线。
4.1.6 MCS-51的三总线MCS-51系统单片机的三总线利用分时复用方法,复用P0端口。
1.三总线使用的端口和引脚数据总线:P0,8位,以并行方式一次传递1个字节的数据。
地址总线:低8位:P0,高8位:P2,16位,可访问65536个独立单元。
控制总线:读程序PSEN(-),读端口RD(-)(P3.6),写端口WR(-)(P3.7),地址有效ALE。
当MCS-51没有外部扩展时,P0、P2与P3由端口的锁存器扩展;当MCS-51有外部扩展时,P0、P2、P3.6和P3.7不再受到端口锁存器的控制,转而由总线逻辑控制。
当ALE为高,特别当ALE从高降为低时,P0输出的是地址总线的低8位。
当PSEN(-)或RD(-)或WR(-)之一有效时,P0作为数据总线使用。
EA不是三总线的信号线,只是控制MCS-51单片机是否使用内部程序存储器。
当EA 接地时,单片机放弃内部的程序存储器,全部使用外部扩展的程序存储器;当EA接+5V 时,程序存储器从内部开始,超出内部的才产生外部总线信号,访问外部程序存储器。
对兼容的MCS-51单片机,如果内部程序存储器加密了,则不论EA是否接地,程序的访问方式与EA接高电平相同,复位后先运行存在内部程序存储器中的程序。
2.与三总线有关的指令访问程序存储器的指令仅有读指令:MOVC A,@A+DPTR或PC。
这个指令使用了PSEN(-)信号。
在ALE有效时,地址A+DPTR或A+PC的低8位从P0输出,在整个读阶段,地址A+DPTR 或A+PC的高8位从P2输出。
由于缺乏“写”控制信号,因此MOVC指令不是完整的三总线指令。
访问数据存储器与I/O空间的指令为MOVX,有读和写两类:读外部数据存储器与I/O空间的指令:MOVX A,@DPTR或Ri(i=0,1);写外部数据存储器与I/O空间的指令:MOVX @DPTR或Ri(i=0,1),A。
在ALE有效时,地址的低8位DPL或R0、R1从P0输出。
使用DPTR时地址的高8位为DPH,从P2输出,使用R0或R1时,按照通常扩展电路的接法,地址的高8位为P2锁存器的值。
指令中代表数据总线的是ACC,读(RD)或写(WR)由MOVX指令的方向决定。
MOVX 包含了数据总线,控制总线和地址总线,是完整的三总线指令,在单片机访问扩展接口的IC时非常有用。
4.1.7 基于MCS-51的三总线扩展基本结构利用单片机输出的ALE和地址锁存器就可以将P0中短暂出现的低8位地址分离出来并且在控制总线有效期间保持稳定不变,构成便于扩展的基本结构。
以下是用Protel99SE绘制的扩展基本结构的原理图,见图4-4:图4-4 扩展基本结构的原理图与第3章中“单片机最小硬件系统”的对比可以看出,扩展的基本结构中,除了单片机自身工作所需的电源(隐含为隐藏)、晶振和复位外,P0、P2和P3.6与P3.7的功能已经转为三总线服务,I/O端口仅剩P1和部分的P3端口。
地址锁存器74LS373的LE(G)应当接CPU的ALE,OE(-)应当接地,以便截获P0输出的地址总线的低8位,并保持在373的输出端输出。
有了这个便于扩展的基本结构,就可以像搭盖积木一样将所需功能的IC添加到单片机上构成应用系统。