第6章系统扩展_精简.ppt

上传人:hyn****60 文档编号:70969532 上传时间:2023-01-31 格式:PPT 页数:52 大小:856.50KB
返回 下载 相关 举报
第6章系统扩展_精简.ppt_第1页
第1页 / 共52页
第6章系统扩展_精简.ppt_第2页
第2页 / 共52页
点击查看更多>>
资源描述

《第6章系统扩展_精简.ppt》由会员分享,可在线阅读,更多相关《第6章系统扩展_精简.ppt(52页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、问题的提出在单片机应用在单片机应用系统的设计中系统的设计中,往往出现往往出现RAM,RAM,ROMROM或者或者I/OI/O口口不够的情况,不够的情况,怎么办?怎么办?ROMROM的扩展的扩展 RAMRAM的扩展的扩展I/OI/O口的扩展口的扩展第六章MCS-51系统扩展技术系统扩展系统扩展1、扩展系统是以单片机为核心进行的;2、扩展内容包括ROM、RAM、和I/O接口电路等;3、扩展是通过系统总线进行的,通过总线把各扩展部件连接起来,并进行数据、地址和信号的传送,要实现扩展首先要构造系统总线。(尽可能采用串行扩展方案)本章内容v6.1 并行扩展技术并行扩展技术v6.2 串行扩展技术串行扩展技

2、术地址总线ABP2,P0(373锁存器)数据总线DBP0控制总线CBALE,程序存储器程序存储器RAM,I/O6.1 并行扩展技术并行扩展技术8051有片内有片内ROM的容量:的容量:4K片外最大可扩展片外最大可扩展64K ROM。有关的管脚:有关的管脚:EA片内资源片内资源片内资源片内资源 可用来扩展的存储器芯片:可用来扩展的存储器芯片:EPROM:2716(2K*8),2732,2764,27256等等EEPROM:2816(2K*8),2864,28128等等v还要用到锁存器芯片:例还要用到锁存器芯片:例74LS373。6.1.1程序存储器的扩展访问程序存储器的控制信号vALE :指示指

3、示74LS373锁存低锁存低8位地址位地址v :用于选通片外程序存储器用于选通片外程序存储器,接片外接片外ROM的的 引脚引脚v :CPU读取片内读取片内/片外程序存储器的控片外程序存储器的控制信号。高电平访问片内存储器,低电平制信号。高电平访问片内存储器,低电平访问片外存储器。访问片外存储器。EPROM扩展实例-在89C51单片机上扩展4KB EPROM.D7 Q7 373D0 Q0 G控制线控制线A11A8A7A0 2732O7O0OE CEP2.3P2.0P0.7 89C51 P0.0ALEPSEN12根地址线根地址线8根数据线根数据线地址范围的确定v取决于CE(片选)和地址线的接法,本

4、例中CE接地。请确定地址范围v要求根据电路图,确定其中EPROM的地址范围。v注意:当同时扩展多片ROM时,可采用译码法或线选法来分别选中芯片,每个芯片分配的地址范围不同。程序存储器扩展举例v74LS373是带三态输出的地址锁存器。三态控制端接地,以保持输出常通,cp(G)端接8031的ALE引脚,每当ALE端的电平产生复跳变时,74LS373锁存低8位地址线,并输出供2764使用。v2764是8K*8bit的EPROM,有13根地址线(A12A0),2764的片选信号由P2.5送出,低电平有效,端与8031的引脚信号相连接,当信号有高电平变成低电平时,允许2764输出。00000000000

5、00000-00011111111111110100000000000000-01011111111111111000000000000000-10011111111111111100000000000000-1101111111111111地址范围地址范围P2.5利用译码器选通存储器接地,常有效接地,常有效存储器地址线存储器地址线14条,容量条,容量16K全译码,地址不重叠全译码,地址不重叠地址:地址:4000H 7FFFH当A15=0时,选通139,A14A13=00,101,210,30010 0000 0000 0000-0011 1111 1111 11112000-3FFF0000

6、-1FFF4000-5FFF6.1.2数据存储器的扩展v静态静态RAM:6116,6264,62256,62128地址线、数据线、控制线地址线、数据线、控制线 由由CPU地址线或经译码器选通,并地址线或经译码器选通,并获得地址获得地址;由由CPU (P3.7)选通;选通;由由CPU (P3.6)选通。选通。当当CPU执行输入执行输入/输出指令输出指令MOVX时,时,、有效有效vE2PROM:2816,2817,2864A。RAMRAM扩展实例扩展实例-在在80518051单片机上扩展单片机上扩展2K RAM2K RAM.D7 Q7 373D0 G Q0A10A8A7A0 6116O7O0OEW

7、E CEP2.2P2.0P0.7 8051 P0.0ALERDWRP2.7扩展存储器举例(PM,DM)32K,A15(P 2.7)选通,地选通,地址:址:0000H-7FFFHADC0809与89C51的接口原理图接地址线查询?中断?查询?中断?P2.70外部电压外部电压u0外部电压外部电压u1外部电压外部电压u7外部电压外部电压u3外部电压外部电压u4外部电压外部电压u6外部电压外部电压u5外部电压外部电压u289C51P1.0 或 int1 常用的扩展方法有:v简单的I/O口扩展v可编程I/O口芯片v利用串行口扩展并行口v51单片机有单片机有4组并口组并口P0-P3,为什么还要扩展为什么还

8、要扩展I/O口?口?扩展扩展I/OI/O口与外部口与外部RAMRAM统一编址统一编址使用同样的指令使用同样的指令MOVXMOVX访问访问控制总线控制总线RD/WRRD/WR扩展扩展I/OI/O口与外部口与外部RAMRAM统一编址统一编址使用同样的指令使用同样的指令MOVXMOVX访问访问控制总线控制总线RD/WRRD/WR扩展扩展I/OI/O口与外部口与外部RAMRAM统一编址统一编址使用同样的指令使用同样的指令MOVXMOVX访问访问控制总线控制总线RD/WRRD/WR扩展扩展I/OI/O口与外部口与外部RAMRAM统一编址统一编址使用同样的指令使用同样的指令MOVXMOVX访问访问控制总线

9、控制总线RD/WRRD/WR扩展扩展I/OI/O口与外部口与外部RAMRAM统一编址统一编址使用同样的指令使用同样的指令MOVXMOVX访问访问控制总线控制总线RD/WRRD/WR扩展扩展I/OI/O口与外部口与外部RAMRAM统一编址统一编址使用同样的指令使用同样的指令MOVXMOVX访问访问控制总线控制总线RD/WRRD/WR扩展扩展I/OI/O口与外部口与外部RAMRAM统一编址统一编址使用同样的指令使用同样的指令MOVXMOVX访问访问控制总线控制总线RD/WRRD/WR6.1.3I/O口接口扩展电路设计串口工作在什么方式?简单简单简单简单I/OI/O扩展接口扩展接口扩展接口扩展接口M

10、CS-51单片机与8155的接口与操作做片外RAM使用:CE=0,IO/M=0做扩展I/O口使用:CE=0,IO/M=1片内片内RAM0000H00FFH命令命令/状态寄存器状态寄存器:0400HPA:0401HPB:0402HPC:0403H6.2 串行扩展总线接口技术串行扩展总线接口技术vSPI串行外设接口总线:串行外设接口总线:同步串行3线方式vI2C总线:总线:同步串行2线v单总线:单总线:采用单根信号线,既可作为数据输入,又可以作为输出,而且数据传输是双向的,适用于单主机系统vCAN总线:总线:多主竞争式的串行数据通信协议,实时,特别适合工业过程监控设备的互连,最有前途的现场总线之一

11、。需CAN控制器6.2.1 SPI串行外设接口总线串行外设接口总线v同步串行方式v需34条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入MOSI、从机片选线CSv单片机,如单片机,如MotorolaMotorola公司的公司的M68HC08M68HC08系列、系列、CygnalCygnal公司的公司的C8051F0XXC8051F0XX系列、系列、PhilipsPhilips公司的公司的P89LPC93XP89LPC93X系列。系列。vA/DA/D和和D/AD/A转换器,如:转换器,如:ADAD公司的公司的AD7811/12AD7811/12、TITI公司的公司

12、的TLC1543TLC1543、TLC2543TLC2543、TLC5615TLC5615等。等。v实时时钟实时时钟RTCRTC,如,如DallasDallas公司的公司的DS1302/05/06DS1302/05/06等。等。v温度传感器,如温度传感器,如ADAD公司的公司的AD7816/17/18AD7816/17/18;NSNS公司的公司的LM74LM74等。等。v其他设备,如其他设备,如LEDLED控制驱动器控制驱动器MAX7219MAX7219、HD7279HD7279等,集成看门狗、电压监等,集成看门狗、电压监控、控、E E2 2PROMPROM等功能的等功能的X5045X5045

13、等。等。常用常用SPI串行总线接口的器件串行总线接口的器件SPI总线系统的构成总线系统的构成89C51单片机串行扩展SPI外设接口的方法1.用一般I/O口线模拟SPI操作2.利用串行口实现SPI操作用一般I/O口线模拟SPI操作v根据SPI串行总线的操作时序特点,进行软件模拟X25F008(E2PROM)X25F008具有SPI接口,且在SCK的上升沿接收数据,在下降沿发送数据。则MCU在下降沿时接收数据。MCU串行输出子程序SPIOUT将MCS-51单片机中R0寄存器的内容传送到X25F008的SPISI线上的程序如下:SPIOUT:SETBP1.1;使P1.1(时钟)输出为1CLRP1.2

14、;选择从机MOVR1,#08H;置循环次数MOVA,R0;8位数据送累加器ACCSPIOUT1:CLRP1.1;使P1.1(时钟)输出为0NOP;延时NOPRLCA;左移至累加器ACC最高位至CMOVP1.0,C;进位C送从机输入SPISI线上SETBP1.1;使P1.1(时钟)输出为1DJNZR1,SPIOUT1;判是否循环8次(8位数据)RETMCU串行输入子程序SPIINSPIIN:SETBP1.1;使P1.1(时钟)输出为1CLRP1.2;选择从机MOVR1,#08H;置循环次数SPIIN1:CLRP1.1;使P1.1(时钟)输出为0NOP;延时NOPMOVC,P1.3;从机输出SPI

15、SO送进位CRLCA;左移至累加器ACCSETBP1.1;使P1.1(时钟)输出为1DJNZR1,SPIIN1;判断是否循环8次(8位数据)MOVR0,A;8位数据送R0RETMCU串行输入/输出子程序SPIIO将MCS-51单片机R0寄存器的内容传送到X25F008的SPISI中,同时从X25F008的SPISO接收8位数据的程序如下:SPIIO:SETBP1.1;使P1.1(时钟)输出为1CLRP1.2;选择从机MOVR1,#08H;置循环次数MOVA,R0;8位数据送累加器ACCSPIIO1:CLRP1.1;使P1.1(时钟)输出为0NOP;延时NOPMOVC,P1.3;从机输出SPIS

16、O送进位CRLCA;左移至累加器ACC最高位至CMOVP1.0,C;进位C送从机输入SETBP1.1;使P1.1(时钟)输出为1DJNZR1,SPIIO1;判断是否循环8次(8位数据)RET利用串行口实现SPI操作串行时钟芯片HT1380与89C51接口电路89C51SCLKI/ORSTTXDRXDP1.0X1X232kHz6.2.2 I2C串行总线概述串行总线概述 I2C总线是总线是PHLIPS公司推出的一种串行总线,是具备多公司推出的一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。性能串行总线。I2C总

17、线只有两根双向信号线。一根是数据线总线只有两根双向信号线。一根是数据线SDA,另,另一根是时钟线一根是时钟线SCL。I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。连到总线上的任一器件输出的低电平,都将使总线为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的的信号变低,即各器件的SDA及及SCL都是线都是线“与与”关系关系。每个接到每个接到I2C总线上的器件都有唯一的地总线上的器件都有唯一的地址址。主机与其它器件间的数据传送可以是。主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即由主机

18、发送数据到其它器件,这时主机即为发送器。由总线上接收数据的器件则为为发送器。由总线上接收数据的器件则为接收器接收器。在多主机系统中,可能同时有几个主机企图启在多主机系统中,可能同时有几个主机企图启动总线传送数据。为了避免混乱,动总线传送数据。为了避免混乱,I2C总线要通总线要通过过总线仲裁总线仲裁,以决定由哪一台主机控制总线。,以决定由哪一台主机控制总线。一、数据位的有效性规定一、数据位的有效性规定 I2C总线进行数据传送时,总线进行数据传送时,时钟信号为高电平期间时钟信号为高电平期间,数据,数据线上的数据必须保持稳定,只有在线上的数据必须保持稳定,只有在时钟线上的信号为低电平时钟线上的信号为

19、低电平期间期间,数据线上的高电平或低电平状态才允许变化。,数据线上的高电平或低电平状态才允许变化。6.2.2.1 6.2.2.1 I2C总线的数据传送总线的数据传送二、起始和终止信号二、起始和终止信号vSCL线为高电平期间,线为高电平期间,SDA线由高电平向低电线由高电平向低电平的变化表示平的变化表示起始信号起始信号;vSCL线为高电平期间,线为高电平期间,SDA线由低电平向高电线由低电平向高电平的变化表示平的变化表示终止信号终止信号。起始和终止信号都是由主机发出的起始和终止信号都是由主机发出的,在起始信号产生,在起始信号产生后,总线就处于被占用的状态;在终止信号产生后,总线后,总线就处于被占

20、用的状态;在终止信号产生后,总线就处于空闲状态。就处于空闲状态。连接到连接到I2C总线上的器件,若具有总线上的器件,若具有I2C总线的硬件接口,则总线的硬件接口,则很容易检测到起始和终止信号。很容易检测到起始和终止信号。接收器件收到一个完整的数据字节后,有可能需要完成接收器件收到一个完整的数据字节后,有可能需要完成一些其它工作,如处理内部中断服务等,可能无法立刻接收一些其它工作,如处理内部中断服务等,可能无法立刻接收下一个字节,这时接收器件可以下一个字节,这时接收器件可以将将SCL线拉成低电平,从而线拉成低电平,从而使主机处于等待状态使主机处于等待状态。直到接收器件准备好接收下一个字节。直到接

21、收器件准备好接收下一个字节时,再释放时,再释放SCL线使之为高电平,从而使数据传送可以继续线使之为高电平,从而使数据传送可以继续进行。进行。三、数据传送格式三、数据传送格式(1)字节传送与应答)字节传送与应答 每一个字节必须保证是每一个字节必须保证是8位长度。数据传送时,先传位长度。数据传送时,先传送最高位(送最高位(MSB),),每一个被传送的字节后面都必须跟每一个被传送的字节后面都必须跟随一位应答位随一位应答位(即一帧共有(即一帧共有9位)。位)。由于某种原因从机不对主机寻址信号应答时(如从机由于某种原因从机不对主机寻址信号应答时(如从机正在进行实时性的处理工作而无法接收总线上的数据),正

22、在进行实时性的处理工作而无法接收总线上的数据),它必须将它必须将数据线置于高电平数据线置于高电平,而由主机产生一个终止信号,而由主机产生一个终止信号以结束总线的数据传送。以结束总线的数据传送。如果从机对主机进行了应答,但在数据传送一段时间后如果从机对主机进行了应答,但在数据传送一段时间后无法继续接收更多的数据时,从机可以通过对无法接收的无法继续接收更多的数据时,从机可以通过对无法接收的第一个数据字节的第一个数据字节的“非应答非应答”通知主机,主机则应发出终通知主机,主机则应发出终止信号以结束数据的继续传送。止信号以结束数据的继续传送。当主机接收数据时,它收到最后一个数据字节后,必须当主机接收数

23、据时,它收到最后一个数据字节后,必须向从机发出一个结束传送的信号。这个信号是由对从机的向从机发出一个结束传送的信号。这个信号是由对从机的“非应答非应答”来实现的。然后,从机释放来实现的。然后,从机释放SDA线,以允许主线,以允许主机产生终止信号。机产生终止信号。I2C总线寻址字节v在起始信号之后,必须是器件的寻址字节,其在起始信号之后,必须是器件的寻址字节,其中高四位为器件类型识别符(不同的芯片类型中高四位为器件类型识别符(不同的芯片类型有不同的定义,有不同的定义,EEPROMEEPROM一般应为一般应为10101010),接),接着三位为片选,最后一位为读写位,当为着三位为片选,最后一位为读

24、写位,当为1 1时时为读操作,为为读操作,为0 0时为写操作时为写操作(2)数据帧格式)数据帧格式 I2C总线上传送的数据信号是广义的,既包括地址总线上传送的数据信号是广义的,既包括地址信号,又包括真正的数据信号。信号,又包括真正的数据信号。在总线的一次数据传送过程中,可以有以下几种在总线的一次数据传送过程中,可以有以下几种组合方式:组合方式:a、主机向从机发送数据,数据传送方向在整、主机向从机发送数据,数据传送方向在整个传送过程中不变:个传送过程中不变:注:有阴影部分表示数据由主机向从机传送,无阴影部分则注:有阴影部分表示数据由主机向从机传送,无阴影部分则表示数据由从机向主机传送。表示数据由

25、从机向主机传送。A表示应答,表示应答,A非表示非应答(高电平)。非表示非应答(高电平)。S表示起始信号,表示起始信号,P表示终止信号。表示终止信号。b、主机在第一个字节后,立即从从机读数据、主机在第一个字节后,立即从从机读数据c、在传送过程中,当需要改变传送方向时,、在传送过程中,当需要改变传送方向时,起始信号和从机地址都被重复产生一次,但起始信号和从机地址都被重复产生一次,但两次读两次读/写方向位正好反相。写方向位正好反相。6.2.2.2 89C51单单片机片机I2C串行总线器件的接口串行总线器件的接口一、典型信号模拟一、典型信号模拟 为了保证数据传送的可靠性,标准的为了保证数据传送的可靠性

26、,标准的I2C总线的数总线的数据传送有严格的时序要求。据传送有严格的时序要求。I2C总线的起始信号、终总线的起始信号、终止信号、发送止信号、发送“0”及发送及发送“1”的模拟时序的模拟时序:总线数据传送的模拟总线数据传送的模拟 主机可以采用不带主机可以采用不带I2C总线接口的单片机,如总线接口的单片机,如80C51、AT89C2051等单片机,利用软件实现等单片机,利用软件实现I2C总线的数据传送,即软件与硬件结合的信号模拟。总线的数据传送,即软件与硬件结合的信号模拟。二、典型信号模拟子程序二、典型信号模拟子程序(1)起始信号)起始信号Void I2CStart(void)SDA=1;Some

27、Nop();SCL=1;SomeNop();SDA=0;SomeNop();(2)终止信号)终止信号void I2cStop(void)SDA=0;SomeNop();SCL=1;SomeNop();SDA=1;SomeNop();6.2.2.3 6.2.2.3 I2C总线器件的扩展总线器件的扩展一、一、扩展电路扩展电路 二、串行二、串行E2PROM的扩展的扩展 (1)串行)串行E2PROM典型产品典型产品AT24C01:128字节(1288位);AT24C02:256字节(2568位);AT24C04:512字节(5128位)AT24C08:1K字节(1K8位);AT24C16:2K字节(2

28、K8位);ATMEL公司的公司的AT24C系列:系列:(2)写入过程)写入过程 AT24C系列系列E2PROM芯片地址的固定部分为芯片地址的固定部分为1010,A2、A1、A0引脚接高、低电平后得到确定引脚接高、低电平后得到确定的的3位编码。形成的位编码。形成的7位编码即为该器件的地址码。位编码即为该器件的地址码。单片机进行写操作时,首先发送该器件的单片机进行写操作时,首先发送该器件的7位地位地址码和写方向位址码和写方向位“0”(共(共8位,即一个字节),发位,即一个字节),发送完后释放送完后释放SDA线并在线并在SCL线上产生第线上产生第9个时钟信个时钟信号。被选中的存储器器件在确认是自己的

29、地址后,号。被选中的存储器器件在确认是自己的地址后,在在SDA线上产生一个应答信号作为相应,单片机收线上产生一个应答信号作为相应,单片机收到应答后就可以传送数据了。到应答后就可以传送数据了。传送数据时,单片机首先发送一个字节的被写入器件的存传送数据时,单片机首先发送一个字节的被写入器件的存储区的首地址,收到存储器器件的应答后,单片机就逐个发储区的首地址,收到存储器器件的应答后,单片机就逐个发送各数据字节,但每发送一个字节后都要等待应答。送各数据字节,但每发送一个字节后都要等待应答。AT24C系列器件片内地址在接收到每一个数据字节地址后系列器件片内地址在接收到每一个数据字节地址后自动加自动加1,

30、在芯片的,在芯片的“一次装载字节数一次装载字节数”(不同芯片字节数不(不同芯片字节数不同)限度内,只需输入首地址。装载字节数超过芯片的同)限度内,只需输入首地址。装载字节数超过芯片的“一一次装载字节数次装载字节数”时,数据地址将时,数据地址将“上卷上卷”,前面的数据将被,前面的数据将被覆盖。覆盖。当要写入的数据传送完后,单片机应发出终止信号以结束当要写入的数据传送完后,单片机应发出终止信号以结束写入操作。写入写入操作。写入n个字节的数据格式个字节的数据格式:(3)读出过程)读出过程 单片机先发送该器件的单片机先发送该器件的7位地址码和写方向位位地址码和写方向位“0”(“伪伪写写”),发送完后释

31、放),发送完后释放SDA线并在线并在SCL线上产生第线上产生第9个时钟信个时钟信号。被选中的存储器器件在确认是自己的地址后,在号。被选中的存储器器件在确认是自己的地址后,在SDA线线上产生一个应答信号作为回应。上产生一个应答信号作为回应。然后,再发一个字节的要读出器件的存储区的首地址,收然后,再发一个字节的要读出器件的存储区的首地址,收到应答后,单片机要重复一次起始信号并发出器件地址和读到应答后,单片机要重复一次起始信号并发出器件地址和读方向位(方向位(“1”),收到器件应答后就可以读出数据字节,每),收到器件应答后就可以读出数据字节,每读出一个字节,单片机都要回复应答信号。当最后一个字节读出一个字节,单片机都要回复应答信号。当最后一个字节数据读完后,单片机应返回以数据读完后,单片机应返回以“非应答非应答”(高电平),并发(高电平),并发出终止信号以结束读出操作。出终止信号以结束读出操作。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com