单片机原理与应用:8 单片机系统扩展设计_第1页
单片机原理与应用:8 单片机系统扩展设计_第2页
单片机原理与应用:8 单片机系统扩展设计_第3页
单片机原理与应用:8 单片机系统扩展设计_第4页
单片机原理与应用:8 单片机系统扩展设计_第5页
已阅读5页,还剩38页未读, 继续免费阅读

下载本文档

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

文档简介

1、1,第8章 单片机系统扩展设计,系统接口技术概述 存储器扩展技术 输入输出(I/O)和中断扩展技术,返回,2,单片机与片外并行器件接口设计有两个任务:硬件电路连接和软件编程 硬件接口就是解决三种总线的连接: 1)数据总线:片外器件的数据总线宽度不超过8位时,直接与单片机相连即可;大于8位时,需要分时来存取。 2)地址总线:先对片外器件分配地址,然后进行相应的硬件连接。 3)控制总线:根据片外器件工作的定时逻辑,利用单片机控制信号以及与I/O口线的组合,完成对器件的控制和读写操作。,返回,MCS-51单片机并行接口基本方法,ALE,PSEN,EA,RD、WR,3,地址总线(AB) 地址总线由P0

2、口提供 低8位地址A0-A7 P2口提供高8位地址A8-A15。 说明: 1) P0口是地址总线低8位和8位数据总线复用口,只能分时用作地址线。 2) P0口输出的低8位地址A0-A7必须用锁存器锁存。在ALE的下降沿将P0口输出的地址A0-A7锁存。 3)P0、P2口在系统扩展中用做地址线后便不能作为一般I/O口使用。 由于地址总线宽度为16位,故可寻址范围为64 KB,4,数据总线(DB) 数据总线由P0口提供,用D0D7表示。 P0口为三态双向口,是应用系统中使用最为频繁的通道。所有单片微机与外部交换的数据、指令、信息,除少数可直接通过P1口外,全部通过P0口传送。 数据总线是并连到多个

3、连接的外围芯片的数据线上,哪个芯片的数据通道有效,则由地址线控制各个芯片的片选线来选择。,5,80C51系列单片微机的三总线结构,6,单片机控制信号线 ALE输出,地址锁存,锁存P0口输出的低8位地址信号 PSEN 输出, 程序存储器选通允许 EA 输入,外部访问,选择片内或片外程序存储器 ,EA=1片内ROM, EA=0片外ROM RD、WR 输出,读/写,用于访问片外数据存储器的读写控制,7,常用的串行总线有 Motorola公司的SPI(Serial Peripheral Interface)总线 Philips公司的I2C(Inter-Integrated Circuit) Natio

4、nal Semiconductor公司的MICROWIRE总线 现场总线CAN(Controller Area Network)总线等。,串行总线的类型,返回,8,SPI(外围设备接口)总线接口,返回,SPI三线总线结构是一个同步外围接口,允许MCU与各种外围设备以串行方式进行通信 。 全双工、三线同步传送; 主、从机工作方式; 可程控的主机位传送频率、时钟极性和相位; 发送完成中断标志; 写冲突保护标志。 按要求连接SCLK、MOSI/MISO、SS三根线,即可通过SPI扩展各种I/O功能,9,串行数据线(MISO、MOSI) 1.主机输入从机输出数据线(MISO)和主机输出从机输入数据线(

5、MOSI),用于串行数据的发送和接收。 2.数据发送时先传送MSB(高位),后传送LSB(低位)。 SPI设置为主机方式时,MISO线是主机数据输入线,MOSI是主机数据输出线; SPI设置为从机方式时,MISO线是从机数据输出线,MOSI是从机数据输入线。,SPI总线引脚描述,主机MOSI MISO,MOSI 从机 MISO,10,串行时钟线(SCLK) 用于同步从MISO和MOSI引脚输入和输出数据的传送。 SPI设置为主机方式时,SCLK为输出; SPI设置为从机方式时,SCLK为输入。 工作过程:在SPI设置为主机方式时,主机启动一次传送时,自动在SCLK脚产生8个时钟周期。主机和从机

6、SPI器件中在SCLK信号的一个跳变时进行数据移位,数据稳定后的另一个跳变时进行采样。,11,从机选择输入(SS) 1. 在从机方式时,输入端,用于使能SPI从机进行数据传送; 2.在主机方式时, 一般由外部置为高电平。 通过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.输入输出同一条线用软件

7、设置数据传送方向 4.传送数据位的顺序先低位,后高位。,13,I2C(内置集成电路)总线接口,返回,1. I2C总线是两线协议,在器件之间使用两根信号线(SDA和SCL)进行信息串行传送,并允许若干兼容器件共享。 2.SDA线称为串行数据线,传输双向的数据; SCL线称为串行时钟线,传输时钟信号,用来同步串行数据线上的数据。 3.I2C总线上的数据传送速率可达100kb/s以上 。,14,I2C总线,返回,上拉电阻,集电极(漏极)开路结构,15,挂接在I2C 总线上的器件有两种: 主控器件和从控器件 主控器件: 控制总线存取 产生串行时钟(SCL)信号 并产生启动传送及结束传送的器件 总线必须

8、由一个主控器件(主器件)控制 从控器件(从器件): 在总线上被主控器件寻址的器件 根据主控器件的命令来接收和发送数据 I2C 总线系统是一允许多主的系统 器件有四种可能的工作方式: 主发送方式、主接收式、从发送方式和从接收方式。,16,I2C总线实现的主要功能,返回,在主控器件和从控器件之间双向传送数据; 构成无中央主控器件的多主总线; 多主传送时,不发生错误; 数据传送可以使用不同的位速率; 串行时钟作为交接信号。,17,主器件:启动总线上传送数据 产生时钟以开放传送的器件,此时被寻址的器件为从器件。 当总线空闲时,SDA和SCL均为高电平。 仅在总线空闲时,才能开始数据传输。 每次数据传送

9、由起始信号启动,由停止信号终止,I2C总线的数据传输协议,返回,总线不忙,START,STOP,18,数据以字节为单位,高位在先。 主器件发送的第一个字节为从地址 其中高7位为器件地址的片选信号 最低位是决定数据传送方向的方向位 R/W=1表示主器件读,R/W=0表示写。 从器件每收到一个数据字节,必须返回1个低电平应答信号(Acknowledge),表示为ACK或A=0;,I2C总线的数据传输协议,返回,19,主器件在收到从器件发送的每个字节之后,也必须产生一个应答信号。 在执行读操作、接收最后一个字节后,主接收器不发送ACK=0,发一个高电平信号,表示为NO ACK.此时,从发送器让出SD

10、A线,使其成为高电平,以使主器件发送停止条件。 SDA线上总线竞争可能在地址或数据位上进行,此时发送电平与SDA总线不对应的器件会自动关掉输出级。总线控制完全由竞争的主器件送出的地址和数据决定。,I2C总线的数据传输协议,返回,20,SPI和I2C总线的比较,21,SPI和I2C总线使用场合 二线产品用于要求I2C总线、抗噪声性能、微控制器的I/O口线受限制的场合,或要求一条指令将多个字节存入写缓冲器的场合 三线总线SPI规程适用于高时钟频率要求,或 I6位数据宽度的应用场合。 二种串行通信总线都采用单电源(2-2.5V) 供电,都具有低电流、低功耗、价格低廉等特点。,22,I2C总线器件间总

11、线简单,可扩展性好。 在集成了I2C总线的单片机中,可以直接用I2C总线来进行系统的串行扩展; 51系列单片机,大多数没有I2C总线接口功能,可采用软件模拟双向数据传送协议的方法,来实现系统的串行扩展。 基于I2C总线的系统中,单主结构占绝大多数,没有总线竞争与同步问题,只有作为主器件的单片机对I2C总线器件的读/写操作,单片机的I2C总线接口几点说明:,23,通常把半导体存储器分为易失性存储器和非易失性存储器 1)EEPROM(Electrically Erasable Programmable ROM)或E2PROM:电可擦除可编程ROM。 2)Flash Memory:Intel和Tos

12、hiba公司20世纪80年代首先推出的可快速擦写ROM。 3)BBSRAM(Battery Backed SRAM):Dallas Semiconductor公司的电池后备供电的静态存储器,掉电后信息可保存10年。 4)FRAM(Ferroelectric RAM):Ramtron公司研制的铁电存储器。(100亿1亿亿次写),存储器扩展技术,24,1)集成度不断提高、容量不断增大。基于亚微米级工艺的DRAM芯片容量已达到Gbit数量级。 2)存取速度不断提高。一般把存取时间小于35ns的存储器称为高速存储器,目前SRAM的存取时间可达到1ns。 3)低电压和低功耗。低电压存储器采用的工作电压有

13、3-3.3V、2.5V、1.5-1.8V甚至低于1V。 4)存储器带有串行总线接口,可大大减少芯片间接线。,存储器发展趋势,25,MCS-51单片机扩展存储器: 按照总线连接方式可分为并行扩展和串行扩展。 基本方法是: 按照单片机和不同存储器芯片的时序,来完成硬件连接和软件编程。 存储器的基本操作控制: 片选控制和读写操作控制。,存储器扩展的基本方法,26,串行接口扩展: 通常采用I/O口来选择相应的存储器,地址信息包含在串行协议中。 采用并行接口时,片选的方法有 线选法:如果芯片数较少,只需要用单片机的高位地址线分别接到各个芯片的片选端即可。这样不需另加电路,但地址空间可能是不连续的。 译码

14、选通法:在扩展芯片数目较多或要求连续的地址空间时,采用译码器来译码产生片选信号。 单片机并行扩展时,高位地址线可能有空闲(P2口高位),但已不适宜简单地作I/O线使用。,存储器片选控制,27,扩展片外数据存储器(64KB)的电路,EA=0只能选则片外程序存储器 EA=1选择片内,超出片内再选片外,28,扩展片外程序存储器(64KB)的电路,29,扩展片外程序和数据存储器,例:1.8031单片机利用6264(8K*8)扩展64KB2.扩展2KB用6116(2K*8)片内地址A0-A10,地址范围0000H-07FFH3.扩展16KB用6264 (8K*8),两片6264,片内地址A0-A13,3

15、0,31,采用串行扩展16kB存储器,利用软件方真实现I2C,可挂接8片,FM24C64是采用先进的铁电技术制造的非易失性 高速写,高擦写次数,模拟I2C总线的软件编程,基本方法: 用软件分别控制SCL、SDA,达到模拟串行协议效果。 程序包括: 发送开始条件、发送停止条件、发送应答位、检查应答位、单字节数据发送和接收。 设:单片机晶体振荡频率为6MHz, 机器周期为2us。,32,33,对输入/输出口功能的扩展,可以利用简单的TTL电路或MOS电路,也可以使用结构较为复杂的可编程接口芯片。 TTL电路有54系列军品级器件、民品74LS系列;MOS中常用CMOS电路,如74HC系列。 典型的可

16、编程接口是Intel公司及其兼容的接口芯片: 可编程并行接口(8155、8255) 可编程通用同步/异步通信接口(8251) 可编程定时器/计数器(8253) 可编程中断控制器(8259) 可编程键盘显示接口(8279)等,并行扩展I/O接口,34,I/O口与片外RAM统一编址,把扩展的I/O口挂接在片外数据存储器空间,因而,I/O口的输入、输出指令也就是片外数据存储器的读/写指令。 特点:数据传输利用的是P0口,因此扩展接口均是8位口,传输数据简单,35,利用I/O口线来选择I/O和存储器,一般通过P1口的I/O口线来选择外部I/O或RAM。 CPU的地址、数据和读写信号对于I/O和RAM是

17、等同的,但通过P1口线状态的不同可以把二者区分开来。,36,串行接口有多种总线和丰富的接口芯片,以PHILIPS公司I2C总线8位远程I/O扩展器PCF8574为例,说明I2C总线扩展I/O接口的方法。,串行扩展I/O接口,37,循环扫描程序 调开始条件 10.调开始 2. 设置8574读方式 11.设置8574写方式 3. 调主器件发控制字节 12. 调主器件发控制字节 4. 调检查应答位 13. 调检查应答位 5.有错,转处理错 14.有错,转处理错 6.调读开关状态数据 15.取出数据低4位 7. 暂存 16.调主器件发数据字节 8.读结束,主器件发NOACK 17.有错,转处理错 9.调停止条件 18.调停止条件 19.循环,38,当单片机系统外部中断源超过2个时,可以利用82C59中断控制器来扩展,或将这些外部中断源利用OC门进行“线或”后,接到单片机的外部中断请求输入端(或),就可完成扩展。,外部中断源的扩展,39,例:扩展16K *8位片外程序存储器 在电路中 EA 是接高电平的。27128A是16KB容量的EPROM,所以用到了14根地址线A0-A13。系统中只扩展了一片程序存储器,所以27128A的片选端可直接接地,一直有效。,40,41,在图中,采用线选法寻址。 当 P2. 7=0时访问片(

温馨提示

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

评论

0/150

提交评论