单片机系统扩展设计.ppt_第1页
单片机系统扩展设计.ppt_第2页
单片机系统扩展设计.ppt_第3页
单片机系统扩展设计.ppt_第4页
单片机系统扩展设计.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,第8章单片机系统扩展设计,系统接口技术概述存储器扩展技术输入输出(I/O)和中断扩展技术,返回,2,单片机与片外并行器件接口设计有两个任务:硬件电路连接和软件编程硬件接口就是解决三种总线的连接:1)数据总线:片外器件的数据总线宽度不超过8位时,直接与单片机相连即可;大于8位时,需要分时来存取。2)地址总线:先对片外器件分配地址,然后进行相应的硬件连接。3)控制总线:根据片外器件工作的定时逻辑,利用单片机控制信号以及与I/O口线的组合,完成对器件的控制和读写操作。,返回,MCS-51单片机并行接口基本方法,ALE,PSEN,EA,RD、WR,3,(1)地址总线(AB)1.地址总线由单片微机P0口提供低8位地址A0A72.P2口提供高8位地址A8A15。3.P0口是地址总线低8位和8位数据总线复用口,只能分时用作地址线。4.P0口输出的低8位地址A0A7必须用锁存器锁存。锁存器的锁存控制信号为单片微机ALE引脚输出的控制信号。在ALE的下降沿将P0口输出的地址A0A7锁存。5.P0、P2口在系统扩展中用做地址线后便不能作为一般I/O口使用。6.由于地址总线宽度为16位,故可寻址范围为64KB。,4,(2)数据总线(DB)1.数据总线由P0口提供,用D0D7表示。2.P0口为三态双向口,是应用系统中使用最为频繁的通道。所有单片微机与外部交换的数据、指令、信息,除少数可直接通过P1口外,全部通过P0口传送。3.数据总线是并连到多个连接的外围芯片的数据线上,而在同一时间里只能够有一个是有效的数据传送通道。哪个芯片的数据通道有效,则由地址线控制各个芯片的片选线来选择。,5,80C51系列单片微机的三总线结构,6,单片机控制信号线ALE输出,地址锁存,锁存P0口输出的低8位地址信号PSEN输出,程序存储器选通允许EA输入,外部访问,选择片内或片外程序存储器RD、WR输出,读/写,用于访问片外数据存储器的读写控制,7,常用的串行总线有Motorola公司的SPI(SerialPeripheralInterface)总线Philips公司的I2C(Inter-IntegratedCircuit)NationalSemiconductor公司的MICROWIRE总线现场总线CAN(ControllerAreaNetwork)总线等。,串行总线的类型,返回,8,SPI总线接口,返回,SPI三线总线结构是一个同步外围接口,允许MCU与各种外围设备以串行方式进行通信。全双工、三线同步传送;主、从机工作方式;可程控的主机位传送频率、时钟极性和相位;发送完成中断标志;写冲突保护标志。按要求连接SCLK、MOSI/MISO、SS三根线,即可通过SPI扩展各种I/O功能,9,串行数据线(MISO、MOSI)1.主机输入从机输出数据线(MISO)和主机输出从机输入数据线(MOSI),用于串行数据的发送和接收。2.数据发送时先传送MSB(高位),后传送LSB(低位)。3.在SPI设置为主机方式时,MISO线是从机数据输入线,MOSI是主机数据输出线;4.在SPI设置为从机方式时,MISO线是从机数据输出线,MOSI是从机数据输入线。,SPI总线引脚描述,10,串行时钟线(SCLK)1.用于同步从MISO和MOSI引脚输入和输出数据的传送。2.在SPI设置为主机方式时SCLK为输出;3.在SPI设置为从机方式时,SCLK为输入。4.在SPI设置为主机方式时,主机启动一次传送时,自动在SCLK脚产生8个时钟周期。主机和从机SPI器件中在SCLK信号的一个跳变时进行数据移位,数据稳定后的另一个跳变时进行采样。,11,从机选择输入(SS)1.在从机方式时,输入端,用于使能SPI从机进行数据传送;2.在主机方式时,一般由外部置为高电平。3.通过SPI可以扩展各种I/O功能,包括:AD、DA、实时时钟、RAM、EEPROM及并行输入输出接口等。,12,单片机的SPI总线接口,利用单片机方式0实现简化的SPI同步串行通信功能,RXD(P3.1)作为MOSI/MISO,TXD(P3.0)作为SCLK特点:1.SCLK极性和相位关系固定,传送速率固定,不能编程改变2.无从机选择输入(SS)端3.输入输出同一条线用软件设置数据传送方向4.传送数据位的顺序先低位,后高位。,13,I2C总线接口,返回,1.I2C总线是两线协议,在器件之间使用两根信号线(SDA和SCL)进行信息串行传送,并允许若干兼容器件共享。2.SDA线称为串行数据线,传输双向的数据;SCL线称为串行时钟线,传输时钟信号,用来同步串行数据线上的数据。3.I2C总线上的数据传送速率可达100kb/s以上。,14,I2C总线,返回,开漏结构,15,挂接在I2C总线上的器件,根据其功能可分为两种:主控器件和从控器件。主控器件:控制总线存取,产生串行时钟(SCL)信号,并产生启动传送及结束传送的器件,总线必须由一个主控器件控制。主控器件一般称主器件。从控器件:在总线上被主控器件寻址的器件,它们根据主控器件的命令来接收和发送数据。从控器件一般称从器件。在由若干器件所组成的I2C总线系统中,可能存在多个主器件。因此,I2C总线系统是一允许多主的系统。系统中的某一器件来说,有四种可能的工作方式:主发送方式、主接收式、从发送方式和从接收方式。,16,I2C总线实现的主要功能,返回,在主控器件和从控器件之间双向传送数据;构成无中央主控器件的多主总线;多主传送时,不发生错误;数据传送可以使用不同的位速率;串行时钟作为交接信号。,17,主器件用于启动总线上传送数据并产生时钟以开放传送的器件,此时被寻址的器件为从器件。当总线空闲时,SDA和SCL均为高电平。仅在总线空闲时,才能开始数据传输。每次数据传送由起始信号启动,由停止信号终止,I2C总线的数据传输协议,返回,总线不忙,开始数据传送,停止数据传送,18,总线上传送的数据以字节为单位,高位在先。主器件发送的第一个字节为从地址,其中高7位为器件地址的片选信号,最低位是决定数据传送方向的方向位,=1表示主器件读,=0表示写。从器件每收到一个数据字节,必须返回1个低电平应答信号(Acknowledge),表示为ACK或A=0;,I2C总线的数据传输协议,返回,19,主器件在收到从器件发送的每个字节之后,也必须产生一个应答信号。在执行读操作、接收最后一个字节后,主接收器不发送ACK=0,而是发一个高电平信号,表示为NOACK,此时,从发送器让出SDA线,使其成为高电平,以使主器件发送停止条件。SDA线上会发生竞争现象,总线竞争可能在地址或数据位上进行,总线控制完全由竞争的主器件送出的地址和数据决定。,I2C总线的数据传输协议,返回,20,SPI和I2C总线的比较,21,SPI和I2C总线使用时各有所长。二线产品用于要求I2C总线、抗噪声性能、微控制器的I/O口线受限制的场合,或要求一条指令将多个字节存入写缓冲器的场合。三线总线SPI规程适用于高时钟频率要求,或I6位数据宽度的应用场合。二种串行通信总线都采用单电源(22.5V)供电,都具有低电流、低功耗、价格低廉等特点。,22,I2C总线可十分方便地用来构成由单片机和外围器件组成的单片机系统,器件间总线简单,可扩展性好。在集成了I2C总线的单片机中,可以直接用I2C总线来进行系统的串行扩展;对于MCS-51系列单片机,大多数没有I2C总线接口功能,可采用软件模拟双向数据传送协议的方法,来实现系统的串行扩展。基于I2C总线的单片机应用系统中,单主结构占绝大多数,没有总线竞争与同步问题,只有作为主器件的单片机对I2C总线器件的读/写操作,单片机的I2C总线接口,23,通常把半导体存储器分为易失性存储器和非易失性存储器1)EEPROM(ElectricallyErasableProgrammableROM)或E2PROM:电可擦除可编程ROM。2)FlashMemory:Intel和Toshiba公司20世纪80年代首先推出的可快速擦写ROM。3)BBSRAM(BatteryBackedSRAM):DallasSemiconductor公司的电池后备供电的静态存储器,掉电后信息可保存10年。4)FRAM(FerroelectricRAM):Ramtron公司研制的铁电存储器。(100亿1亿亿次写),存储器扩展技术,24,1)集成度不断提高、容量不断增大。基于亚微米级工艺的DRAM芯片容量已达到Gbit数量级。2)存取速度不断提高。一般把存取时间小于35ns的存储器称为高速存储器,目前SRAM的存取时间可达到1ns。3)低电压和低功耗。低电压存储器采用的工作电压有33.3V、2.5V、1.51.8V甚至低于1V。4)存储器带有串行总线接口,可大大减少芯片间接线。,存储器发展趋势,25,按照总线连接方式,MCS-51单片机扩展存储器可分为并行扩展和串行扩展。基本方法是:按照单片机和不同存储器芯片的时序,来完成硬件连接和软件编程。存储器的基本操作控制包括片选控制和读写操作控制。,存储器扩展的基本方法,26,串行接口扩展时,通常采用I/O口来选择相应的存储器,地址信息包含在串行协议中。采用并行接口时,片选的方法有线选法:如果芯片数较少,只需要用单片机的高位地址线分别接到各个芯片的片选端即可。这样不需另加电路,但地址空间可能是不连续的。译码选通法:在扩展芯片数目较多或要求连续的地址空间时,采用译码器来译码产生片选信号。单片机并行扩展时,高位地址线可能有空闲(P2口高位),但已不适宜简单地作I/O线使用。,存储器片选控制,27,扩展片外数据存储器的电路,28,扩展片外程序存储器的电路,29,扩展片外程序和数据存储器,30,采用串行扩展16kB存储器,利用软件方真实现I2C,可挂接8片,FM24C64是采用先进的铁电技术制造的非易失性高速写,高擦写次数,31,对输入/输出口功能的扩展,可以利用简单的TTL电路或MOS电路,也可以使用结构较为复杂的可编程接口芯片。TTL电路有54系列军品级器件、民品74LS系列;MOS中常用CMOS电路,如74HC系列。典型的可编程接口器件是Intel公司及其兼容的接口芯片:可编程并行接口(8155、8255)、可编程通用同步/异步通信接口(8251)、可编程定时器/计数器(8253)、可编程中断控制器(8259)及可编程键盘显示接口(8279)等。,并行扩展I/O接口,32,I/O口与片外RAM统一编址,把扩展的I/O口挂接在片外数据存储器空间,因而,I/O口的输入、输出指令也就是片外数据存储器的读/写指令。其特点为:数据传输利用的是P0口,因此扩展接口均是8位口,传输数据简便,33,利用I/O口线来选择I/O和存储器,采用此方法一般是通过MCS-51单片机P1口的I/O口线来选择外部I/O或RAM。虽然CPU的地址、数据和读写信号对于I/O和RAM是等同的,但通过P1口线状态的不同可以把二者区分开来。,34,串行接口有多种总线和丰富的接口芯片,以PHILIPS公司I2C总线8位远程I/O扩展器PCF8574为例,说明I2C总线扩展I/O接口的方法。,串行扩展I/O接口,35,循环扫描程序调开始条件10.调开始2.设置8574读方式11.设置8574写方式3.调主器件发控制字节12.调主器件发控制字节4.调检查应答位13.调检查应答位5.有错,转处理错14.有错,转处理错6.调读开关状态数据15.取出数据低4位7.暂存16.调主器件发数据字节8.读结束,主器件发NOACK17.有错,转处理错9.调停止条件18.调停止条件19.循环,36,当单片机系统外部中断源超过2个时,可以利用82C59中断控制器来扩展,或将这些外部中断源利用OC门进行“线或”后,接到单片机的外部中断请求输入端(或),就可完成扩展。,外部中断源的扩展,37,例:扩展16K*8位片外程序存储

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论