《单片微型计算机原理与接口技术 第二版 第8章_80C51单片微机的系统扩展原理与接口....ppt》由会员分享,可在线阅读,更多相关《单片微型计算机原理与接口技术 第二版 第8章_80C51单片微机的系统扩展原理与接口....ppt(228页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、普通高等教育“十一五”国家级规划教材单片微型计算机原理与接口技术单片微型计算机原理与接口技术(第二版)(第二版)高锋高锋编著编著科学出版社科学出版社北京北京第八章第八章单片微机的系统扩展原理单片微机的系统扩展原理及接口技术及接口技术8.1 8.1 系统扩展原理系统扩展原理系统扩展是指单片微机内部各功能部件不能满足应用系统要求系统扩展是指单片微机内部各功能部件不能满足应用系统要求时,在片外连接相应的外围芯片以满足应用系统要求。时,在片外连接相应的外围芯片以满足应用系统要求。主要有程序存储器的扩展、数据存储器的扩展、主要有程序存储器的扩展、数据存储器的扩展、I/O口的扩展、口的扩展、中断系统扩展以
2、及其它特殊功能接口的扩展等。中断系统扩展以及其它特殊功能接口的扩展等。对于单片微机系统扩展的方法有并行扩展法和串行扩展法两种。对于单片微机系统扩展的方法有并行扩展法和串行扩展法两种。并并行行扩扩展展法法:利利用用单单片片微微机机本本身身具具备备的的三三组组总总线线(AB、DB、CB)进行的系统扩展。)进行的系统扩展。串串行行扩扩展展法法:利利用用SPI三三线线总总线线和和I2C双双线线总总线线等等进进行行串串行系统扩展。行系统扩展。有的单片微机应用系统同时采用并行扩展法和串行扩展法有的单片微机应用系统同时采用并行扩展法和串行扩展法。单片微机是通过芯片的引脚进行系统扩展的。单片微机是通过芯片的引
3、脚进行系统扩展的。80C51系系列列带带总总线线的的芯芯片片引引脚脚可可以以构构成成图图81所所示示的三总线结构。的三总线结构。具具有有同同样样并并行行总总线线的的外外部部芯芯片片通通过过这这三三组组总总线线与与单单片微机连接。片微机连接。8.1.1外部并行扩展原理外部并行扩展原理(1)地址总线(地址总线(AB)由由P0口口提提供供低低8位位地地址址A0A7,P2口口提提供供高高8位位地地址址A8A15。P0口口是是地地址址总总线线低低8位位和和8位位数数据据总总线线复复用用口口,只只能能分分时时用用作作地地址址线线。P0口口输输出出的的低低8位位地地址址A0A7必必须须用锁存器锁存。用锁存器
4、锁存。锁锁存存器器的的锁锁存存控控制制信信号号来来自自单单片片微微机机ALE引引脚脚输输出出的的控控制制信信号号。在在ALE的的下下降降沿沿将将P0口口输输出出的的地地址址A0A7锁锁存存。P0、P2口口在在系系统统扩扩展展中中用用作作地地址址线线后后便便不不能能作作为一般为一般I/O口使用。口使用。地址总线宽度为地址总线宽度为16位,可寻址范围为位,可寻址范围为64KB。(2)数据总线(数据总线(DB)由由P0口口提提供供,用用D0D7表表示示。P0口口为为三三态态双双向向口口,是是应应用用系系统统中中使使用用最最为为频频繁繁的的通通道道。单单片片微微机机与与外外部部交交换换的的所所有有数数
5、据据、指指令令、信信息息,除除少少数数可可直直接接通通过过P1口口外外,全部通过全部通过P0口传送。口传送。数据总线是并连到多个连接的外围芯片的数据数据总线是并连到多个连接的外围芯片的数据线上,而在同一时间里只能够有一个是有效的数据传送线上,而在同一时间里只能够有一个是有效的数据传送通道。哪个芯片的数据通道有效,则由地址线控制各个通道。哪个芯片的数据通道有效,则由地址线控制各个芯片的片选线来选择。芯片的片选线来选择。(3)控制总线(控制总线(CB)包括片外系统扩展用控制线和片外信号对单片微机的控制线。包括片外系统扩展用控制线和片外信号对单片微机的控制线。ALE:输输出出P0口口上上地地址址与与
6、数数据据隔隔离离信信号号,用用于于锁锁存存P0口口输输出出的的低低8位位地地址址的的控控制制线线。ALE信信号号的的下下降降沿沿控控制制锁锁存存器器锁锁存存地地址址数数据,通常选择下降沿选通的锁存器作低据,通常选择下降沿选通的锁存器作低8位地址锁存器。位地址锁存器。PSEN:读读片片外外程程序序存存储储器器中中的的数数据据。“读读”片片外外程程序序存存储储器器中数据(指令)时,不能用中数据(指令)时,不能用“”信号,而只能用信号,而只能用PSEN信号。信号。EA:选择片内或片外程序存储器。:选择片内或片外程序存储器。当当0时,只访问外部程序存储器。时,只访问外部程序存储器。当当1时时,先先访访
7、问问内内部部程程序序存存储储器器,内内部部程程序序存存储储器器全全部部访访问完之后,再访问外部程序存储器。问完之后,再访问外部程序存储器。、:片外数据存储器和:片外数据存储器和I/O端口的写、读控制。当执行端口的写、读控制。当执行片外数据存储器操作指令片外数据存储器操作指令MOVX时,自动生成时,自动生成、控制信号控制信号常用地址锁存器如常用地址锁存器如图图82所示。所示。74LS373的锁存允许信号的锁存允许信号G从高电平转为低电平时,将其输入端从高电平转为低电平时,将其输入端的数据锁存在输出端。当的数据锁存在输出端。当ALE为高电平时,为高电平时,8D锁存器锁存器74LS373的输的输入和
8、输出是透明的。当入和输出是透明的。当ALE出现下降沿后,出现下降沿后,8D锁存器锁存器74LS373的输的输出即为出即为A0A7,这时,这时P0口上出现的是数据,实现了地址低口上出现的是数据,实现了地址低8位和位和8位数据线的分离。位数据线的分离。8.1.1.1.并行扩展方式的编址技术并行扩展方式的编址技术在在单单片片微微机机应应用用系系统统中中,为为了了唯唯一一地地选选择择片片外外某一存储单元或某一存储单元或I/O端口,需要进行二次选择。端口,需要进行二次选择。必必须须先先找找到到该该存存储储单单元元或或I/O端端口口所所在在的的芯芯片片,称称为为“片选片选”通通过过对对芯芯片片本本身身所所
9、具具有有的的地地址址线线进进行行译译码码,然然后后确确定唯一的存储单元或定唯一的存储单元或I/O端口,称为端口,称为“字选字选”。“片选片选”保证每次读或写时,只选中某一片存储器芯片或保证每次读或写时,只选中某一片存储器芯片或I/O接接口芯片。常用的方法有口芯片。常用的方法有4种:种:“线选法线选法”、“地址译码法地址译码法”、应用应用“可编程器件可编程器件PAL/GAL”或或“I/O口线口线”。(1)线选法线选法:一般是利用单片微机的最高几位空余的地址:一般是利用单片微机的最高几位空余的地址线中一根线中一根(如如P2.7)作为某一片存储器芯片或作为某一片存储器芯片或I/O接口芯片的接口芯片的
10、“片片选选”控制线控制线。用于应用系统中扩展芯片较少的场合。用于应用系统中扩展芯片较少的场合。(2)译码法译码法:用译码器对空余的高位地址线进行译码,而译码器:用译码器对空余的高位地址线进行译码,而译码器的输出作为的输出作为“片选片选”控制线。常用的译码器有控制线。常用的译码器有3/8译码器译码器74LS138、双、双2/4译码器译码器74LS139、4/16译码器译码器74LS154等。等。3/8译码器译码器74LS138的管脚见的管脚见图图83。G1、:使能端。当:使能端。当G1=1,=0时,时,芯片使能。芯片使能。C、B、A:译码器输入,高电平有效。:译码器输入,高电平有效。Y:译码器输
11、出,低电平有效。:译码器输出,低电平有效。部部分分地地址址线线参参加加译译码码时时,称称为为部部分分地地址址译译码码,这这时时芯芯片片的的地地址址会会有有重重叠叠。16根根地地址址线线全全部部参参加加译译码码的的,称称为为全全地地址址译译码码。图图84示示意意的的是是通通过过3/8译译码码器器74LS138获得获得64KB64KB地址的译码电路。地址的译码电路。图图84中中3/8译译码码器器74LS138已已经经使使能能,其其输输出出由由C、B、A的的状状态态决决定定,作作为为各各个个扩扩展展芯芯片片的的片片选选控控制制信信号号,加加上上芯芯片片本本身身所所具具有有的的地地址址线线共共同同决决
12、定定每每一一个个存存储储单单元元或或I/O端口的地址,全地址译码的地址是唯一的。端口的地址,全地址译码的地址是唯一的。#0RAM地址:地址:0000H1FFFH,共,共8KB(A15=0,A14=0,A13=0)#1芯片地址:芯片地址:2000H3FFFH,共,共8KB(A15=0,A14=0,A13=1)#2#2芯片地址:芯片地址:4000H5FFFH,共,共8KB(A15=0,A14=1,A13=0)#3芯片地址:芯片地址:6000H7FFFH,共,共8KB(A15=0,A14=1,A13=1)#4芯片地址:芯片地址:8000H9FFFH,共,共8KB(A15=1,A14=0,A13=0)
13、#5芯片地址:芯片地址:A000HBFFFH,共,共8KB(A15=1,A14=0,A13=1)#6芯片地址:芯片地址:C000HDFFFH,共,共8KB(A15=1,A14=1,A13=0)#7I/O地址:地址:E000HFFFFH,共,共8KBA15=1,A14=1,A13=1)可编程阵列逻辑器件可编程阵列逻辑器件PAL(ProgrammableArrayLogic)和通用阵列逻辑和通用阵列逻辑GAL(GenericArrayLogic)(加密性好加密性好)。有的应用系统为了硬件电路加密,采用有的应用系统为了硬件电路加密,采用PAL或或GAL来进行来进行地址译码和分配地址译码和分配(比如有
14、的单片微机仿真器比如有的单片微机仿真器),你能看到的是,你能看到的是PAL或或GAL的输入线和输出线,而无法掌握内部逻辑关系。的输入线和输出线,而无法掌握内部逻辑关系。输入输出线输入输出线作为译码线作为译码线可以利用空余的可以利用空余的I/O口线口线(如如P1.0),或应用系统扩展的,或应用系统扩展的I/O口线作为芯片的片选线,当该口线作为芯片的片选线,当该I/O口线输出低电平时,即选中了口线输出低电平时,即选中了该芯片。该芯片。8.1.1.28.1.1.280C5180C51系列单片微机的系统并行扩展能力系列单片微机的系统并行扩展能力系列单片微机的系统并行扩展能力系列单片微机的系统并行扩展能
15、力地址总线宽度为地址总线宽度为16位,在片外可扩展的存储器最位,在片外可扩展的存储器最大容量为大容量为64KB,地址为,地址为0000HFFFFH。片片外外数数据据存存储储器器与与程程序序存存储储器器的的操操作作使使用用不不同同的的指指令令和和控控制制信信号号,允允许许两两者者的的地地址址重重复复,故故片片外外可可扩扩展展的的数据存储器与程序存储器数据存储器与程序存储器最大容量分别为最大容量分别为64KB。片片外外数数据据存存储储器器与与片片内内数数据据存存储储器器的的操操作作指指令令不不同同(片片外外RAM只只能能用用MOVX指指令令)。允允许许两两者者地地址址重重复复,亦即外部扩展数据存储
16、器地址可从亦即外部扩展数据存储器地址可从0000H开始。开始。I/O口口扩扩展展与与片片外外数数据据存存储储器器统统一一编编址址,不不再再另另外外提供地址线。提供地址线。外部串行总线主要包括:外部串行总线主要包括:SPI总线和总线和I2C总线两种总线两种8.1.2.1SPI三线总线结构三线总线结构SPI三线总线结构是一个同步外围接口,允许三线总线结构是一个同步外围接口,允许MCU与各种外围设备以串行方式进行通信。与各种外围设备以串行方式进行通信。一个完整的一个完整的SPI系统有如下的特性:系统有如下的特性:.全双工、三线同步传送;全双工、三线同步传送;.主、从机工作方式;主、从机工作方式;.可
17、程控的主机位传送频率、时钟极性和相位;可程控的主机位传送频率、时钟极性和相位;.发送完成中断标志;发送完成中断标志;.写冲突保护标志。写冲突保护标志。在大多数场合,使用一个在大多数场合,使用一个MCU作为主机,控制数据向一作为主机,控制数据向一个或多个从机(外围器件)的传送。个或多个从机(外围器件)的传送。8.1.2外部串行扩展原理外部串行扩展原理8.1.2.2I8.1.2.2I2 2C(IntelICBUS)C(IntelICBUS)公用双总线结构公用双总线结构公用双总线结构公用双总线结构使用两根信号线(使用两根信号线(SDA和和SCL)串行的方法进行)串行的方法进行信息传送,并允许若干兼容
18、器件共享的双线总线,称为信息传送,并允许若干兼容器件共享的双线总线,称为12C总线。总线。12C总线系统的示意图见总线系统的示意图见图图86。SDA:串行数据线,传输双向的数据。:串行数据线,传输双向的数据。SCL:串串行行时时钟钟线线,传传输输时时钟钟信信号号,同同步步串串行行数数据线上的数据。据线上的数据。8.2 程序存储器的扩展程序存储器的扩展8.2.1程序存储器扩展时的总线功能和操作时序程序存储器扩展时的总线功能和操作时序为片外程序存储器读选择信号。正常运行时,该为片外程序存储器读选择信号。正常运行时,该引脚不能浮空。引脚不能浮空。根据连接电平的不同,单片微机有两种取指过程:根据连接电
19、平的不同,单片微机有两种取指过程:当当1时,时,80C51单片微机所有片内程序存储器有效。单片微机所有片内程序存储器有效。当当程程序序计计数数器器PC运运行行于于片片内内程程序序存存储储器器的的寻寻址址范范围围内内时时,P0口口、P2口口及及线线没没有有信信号号输输出出;当当程程序序计计数数器器PC的的值值超超出上述范围后,出上述范围后,P0口、口、P2口及口及PSEN线才有信号输出。线才有信号输出。80C51访问片外程序存储器时,使用如下的信号:访问片外程序存储器时,使用如下的信号:P0口:分时输出程序存储器的低口:分时输出程序存储器的低8位地址和位地址和8位数据。位数据。ALE:在在ALE
20、的的下下降降沿沿时时,P0口口上上出出现现稳稳定定的的程程序序存存储储器的低器的低8位地址,用位地址,用ALE信号锁存这低信号锁存这低8位地址。位地址。P2口:在整个取指周期中,输出稳定的程序存储器的高口:在整个取指周期中,输出稳定的程序存储器的高8位地址。位地址。线:低电平有效。在线:低电平有效。在ALE的下降沿之后,的下降沿之后,由高变为低,此时片外程序存储器的内容(指令字)送到由高变为低,此时片外程序存储器的内容(指令字)送到P0口,口,而后在而后在的上升沿将指令字送入指令寄存器,的上升沿将指令字送入指令寄存器,信号信号作为片外程序存储器的作为片外程序存储器的“读读”选通信号。选通信号。
21、(2)当)当0时,时,80C51单片微机所有片内程序存储器单片微机所有片内程序存储器无效,只能访问片外程序存储器。伴随着单片微机复位,无效,只能访问片外程序存储器。伴随着单片微机复位,P0口、口、P2口及口及线均有信号输出。线均有信号输出。单片微机片外程序存储器取指操作的时序如单片微机片外程序存储器取指操作的时序如图图87所示。所示。8.2.2.2扩展片外程序存储器的硬件电路扩展片外程序存储器的硬件电路片片内内程程序序存存储储器器容容量量越越来来越越大大,如如89C5887C58的的片片内内程序存储器的容量高达程序存储器的容量高达32KB,甚至为,甚至为64KB。价格也大大降低。价格也大大降低
22、。程程序序存存储储器器的的扩扩展展已已不不是是必必须须的的了了,仅仅作作为为一一种种技技术术来来加以介绍。加以介绍。通通常常只只需需要要扩扩展展一一片片或或两两片片EPROM芯芯片片就就足足够够。常常用用EPROM芯片的管脚见芯片的管脚见图图88。门门例:扩展例:扩展16KB片外程序存储器片外程序存储器如如图图89所示。在电路中所示。在电路中是接高电平的。是接高电平的。27128A是是16KB容量的容量的EPROM,14根地址线根地址线A0A13。系统中只扩展了。系统中只扩展了一片程序存储器,一片程序存储器,27128A的片选端可直接接地,一直有效。的片选端可直接接地,一直有效。EA=1,程序
23、存储器先片内,程序存储器先片内4KB、即、即0000H0FFFH。片外片外27C128的地址为的地址为1000H4FFFH,共,共16KB。8.3数据存储器的扩展数据存储器的扩展常常用用的的数数据据存存储储器器有有动动态态RAM和和静静态态RAM,有有并并行行RAM和串行和串行RAM。各种存储器性能的比较各种存储器性能的比较如如表表8-28.3.1片外并行数据存储器扩展片外并行数据存储器扩展8.3.1.1片外并行数据存储器扩展时的总线功能和读、写操作时片外并行数据存储器扩展时的总线功能和读、写操作时序序80C51对片外数据存储器读、写操作的指令有以下对片外数据存储器读、写操作的指令有以下4条:
24、条:MOVXA,Ri;片外片外RAM(A),读(),读()MOVXRi,A;(;(A)片外片外RAM,写(,写()Ri只能提供只能提供8位地址,仅能扩展位地址,仅能扩展256个字节的片外个字节的片外RAM。MOVXA,DPTR;片外;片外RAM(A),读操作),读操作MOVXDPTR,A;(;(A)片外片外RAM,写操作写操作DPTR能提供能提供16位地址,可以扩展位地址,可以扩展64KB的片外的片外RAM。“MOVXA,DPTR”和和“MOVXDPTR,A”的的操操作作时时序示于序示于图图810。从从图图中中可可以以看看出出,执执行行该该组组指指令令时时,机机器器周周期期1为为取取指指周周期
25、期,在在取取指指周周期期的的S5状状态态,当当ALE为为下下降降沿沿时时,在在P0总总线线上上出出现现的的是是数数据据存存储储器器的的低低8位位地地址址,即即DPL;在在P2口口上上出出现现的的是是数数据存储器的高据存储器的高8位地址,即位地址,即DPH。取指操作之后,直至机器周期取指操作之后,直至机器周期2的的S3状态之前,状态之前,一一直直维维持持高高电电平平。而而在在机机器器周周期期2的的S1与与S2状状态态之之间间的的ALE不不再再出现。出现。执执行行“MOVX A,DPTR”时时,从从机机器器周周期期2开开始始到到S3状状态态,出出现现低低电电平平。此此时时允允许许将将片片外外数数据
26、据存存储储器器的的数数据据送送上上P0口口,在在的上升沿将数据读入累加器的上升沿将数据读入累加器A。数据为输入。数据为输入。执执行行“MOVXDPTR,A”时时,从从机机器器周周期期2开开始始到到S3状状态态,出出现现低低电电平平。此此时时P0口口上上将将送送出出累累加加器器A的的数数据据,在在的的上上升升沿沿将数据写入片外数据存储器中。数据为输出。将数据写入片外数据存储器中。数据为输出。此时此时P0口为地址、数据复用总线;口为地址、数据复用总线;P2口在机器周期口在机器周期1的的S4状状态之后出现锁存的高态之后出现锁存的高8位地址(位地址(DPH);用控制线来调动数据总);用控制线来调动数据
27、总线上的数据传输方向:而线上的数据传输方向:而有效时数据为输入,有效时数据为输入,有效时数有效时数据为输出。据为输出。8.3.1.2片外并行数据存储器的扩展片外并行数据存储器的扩展图图811所示的是用两片所示的是用两片6264扩展扩展16KB片外并行数据存片外并行数据存储器的电路。储器的电路。采用线选法寻址。用一根口线采用线选法寻址。用一根口线P2.7来寻址:来寻址:P2.7=0时,访问时,访问6264(0),地址范围为,地址范围为6000H7FFFH。P2.7=l时,时,访问访问6264(1),地址范围为,地址范围为E000HFFFFH。8.3.2.串行数据存储器的的扩展串行数据存储器的的扩
28、展 E2PROM是可用电气方法在线擦除和可编程的只读存储器,是是可用电气方法在线擦除和可编程的只读存储器,是近年来推出的新产品。近年来推出的新产品。其主要特点其主要特点能在计算机系统中进行在线修改,并能在断电的情况能在计算机系统中进行在线修改,并能在断电的情况下保持修改结果。写入的数据在常温下至少可以保存十年,一般下保持修改结果。写入的数据在常温下至少可以保存十年,一般其擦除其擦除/写入周期寿命为写入周期寿命为1万次,近期推出的万次,近期推出的E2PROM芯片已达芯片已达10万次,有的产品的擦除万次,有的产品的擦除/写入周期寿命为写入周期寿命为100万次。万次。E2PROM问世以来,在智能化仪
29、器仪表、控制装置、开发系统中问世以来,在智能化仪器仪表、控制装置、开发系统中得到了广泛应用。得到了广泛应用。8.3.2.1I2C串行串行EEPROM的扩展的扩展AT24C0102040816是电可擦除的串行是电可擦除的串行12825651210242048B程控只读存储器,具有两线串行接口,双向数程控只读存储器,具有两线串行接口,双向数据传输握手,硬件数据写保护,据传输握手,硬件数据写保护,8B页写方式和独立定时的写周页写方式和独立定时的写周期期(最大最大10ms)等特点,可在等特点,可在1.85.5V宽电源范围内可靠工宽电源范围内可靠工作,可保证作,可保证100000次擦写周期和次擦写周期和
30、10年内数据不会丢失。年内数据不会丢失。AT24CXX的内部结构与引脚图如的内部结构与引脚图如图图8-12所示所示引脚说明引脚说明1)串行时钟串行时钟(SCL)用于把所有数据同步输入到用于把所有数据同步输入到EEPROM器器件,或把数据从件,或把数据从EEPROM器件串行同步读出。在写方式中,当器件串行同步读出。在写方式中,当SCL引脚是高电平时,数据必须保护稳定,并在引脚是高电平时,数据必须保护稳定,并在SCL的下降沿把数的下降沿把数据同时输出。据同时输出。2)串行数据串行数据(SDA)是一个双向端口,用于把数据输入到器件,是一个双向端口,用于把数据输入到器件,或从器件输出数据,仅在或从器件
31、输出数据,仅在SCL引脚为低时,数据才能改变。此引脚引脚为低时,数据才能改变。此引脚是漏极开路输出,可以和任意多个漏极开路或集极开路引脚以是漏极开路输出,可以和任意多个漏极开路或集极开路引脚以线线或或方式连接在一起。方式连接在一起。3)器件地址器件地址A2、A1、A0,是器件的地址输入端,用于器件的选是器件的地址输入端,用于器件的选择。在一个单总线上,最多可挂择。在一个单总线上,最多可挂8片片AT24CXX(对于对于AT24C01A02),可以通过,可以通过A2、A1、A0的硬件连接来区分。的硬件连接来区分。4)写保护写保护(WP)端子提供硬件数据保护。当端子提供硬件数据保护。当WP引脚接地时
32、,允许引脚接地时,允许正常的读写;当正常的读写;当WP引脚接引脚接Vcc时,存储器被保护,禁止对存储时,存储器被保护,禁止对存储器的任何写操作。不管器的任何写操作。不管WP引脚的状态如何,器件可以被读出。引脚的状态如何,器件可以被读出。当当WP引脚不连接时,此端则被拉为低电平。引脚不连接时,此端则被拉为低电平。控制线路传输设备称为主设备控制线路传输设备称为主设备,受控制的设备称为从设备。,受控制的设备称为从设备。AT24CXX总是从设备。跟随在启动条件后,主设备必须发出总是从设备。跟随在启动条件后,主设备必须发出“设设备寻址字节备寻址字节”,用于选择一个接在系统总线上的从设备,其中包括,用于选
33、择一个接在系统总线上的从设备,其中包括设备类别标志,设备地址,读或写操作标志等。然后,接收器把数设备类别标志,设备地址,读或写操作标志等。然后,接收器把数据线据线SDA接到接到“低低”,作为应答的确认信号,作为应答的确认信号(ACK)。ACK用于指用于指示成功的数据传输。发送设备在发送示成功的数据传输。发送设备在发送8位数据后就释放数据总线,位数据后就释放数据总线,SDA变高。在发送数据时,每个时钟周期的下降沿传输一位数据。变高。在发送数据时,每个时钟周期的下降沿传输一位数据。在第在第9个时钟周期,接收器把数据线拉到个时钟周期,接收器把数据线拉到“低低”,以此向发送器确,以此向发送器确认认8位
34、数据已被收到。总线操作时序如位数据已被收到。总线操作时序如图图8-13所示。所示。注意,写周期时间注意,写周期时间Tw是从一写序列的有效停止信号开始到内部的是从一写序列的有效停止信号开始到内部的擦写周期结束之间的时间,一般擦写周期结束之间的时间,一般Tw10ms。1)起始信号起始信号在在SCL为高时,为高时,SDA从高到低的变化则为一个起始信从高到低的变化则为一个起始信号,它必须发生在任何命令以前,起始和停止时序如号,它必须发生在任何命令以前,起始和停止时序如图图8-14所示。所示。2)停止信号停止信号在在SCL为高时,一个低到高的变化则是一个停止信号,为高时,一个低到高的变化则是一个停止信号
35、,在一个读序列以后,停止命令将把在一个读序列以后,停止命令将把EEPROM置于低功耗方式,起置于低功耗方式,起始和停止时序如图始和停止时序如图8-14所示。所示。3)确认确认(输出回答输出回答)所有的地址和数据都是以所有的地址和数据都是以8bit的形式串行发送到的形式串行发送到EEPROM或从或从EEPROM中送出。在第中送出。在第9个时钟周期,个时钟周期,EEPROM送出一个送出一个“0”以确认它所接收的每一个字节以确认它所接收的每一个字节(见见图图8-13c)。4)器件寻址器件寻址(器件地址器件地址)在起始信号后器件要求一个在起始信号后器件要求一个8bit的器件的器件地址,地址前地址,地址
36、前4位是器件编号地址位是器件编号地址“1010”序列。对序列。对AT24CXX系列的系列的EEPROM,这点是共同的。地址后,这点是共同的。地址后3位位A2、A1、A0是是引脚地址,必须与它们对应的硬件连线的输入信号相对应。器引脚地址,必须与它们对应的硬件连线的输入信号相对应。器件地址的第件地址的第8位是读写操作选择位,此位为高,则启动读操位是读写操作选择位,此位为高,则启动读操作;若此位为低,则启动写操作。完成器件地址的比较后,器作;若此位为低,则启动写操作。完成器件地址的比较后,器件输出一个件输出一个“0”,如果比较失败,芯片将转入备用状态。,如果比较失败,芯片将转入备用状态。AT24CX
37、X器件的寻址器件的寻址(器件地址器件地址)格式见格式见表表8-3。表中,表中,P0、P1、P2表示页寻址,表示页寻址,R/W=1时,是读操作;时,是读操作;R/W=0时,为写操作。时,为写操作。5)写操作写操作AT24CXX写操作示意图如写操作示意图如图图8-15所示。所示。字节写字节写写操作序列如写操作序列如图图8-15a所示。所示。EEPROM进入一个内部写操作时序周期,把数据写入非易失性存进入一个内部写操作时序周期,把数据写入非易失性存储器。在这个写操作周期中,所有的输入都被禁止,在写操作完成储器。在这个写操作周期中,所有的输入都被禁止,在写操作完成以后以后EEPROM才会响应。才会响应
38、。页写页写写操作序列如写操作序列如图图8-15b所示。所示。AT24CXX具有执行具有执行8B页写页写的能力,页写的启动和字节写的操作启动是相同的,但是在第一个的能力,页写的启动和字节写的操作启动是相同的,但是在第一个数据字节被串行输入到数据字节被串行输入到EEPROM后,单片微机不送停止信号,而是后,单片微机不送停止信号,而是在在EEPROM确认收到第一个数据字节以后,单片微机发送其它确认收到第一个数据字节以后,单片微机发送其它7个个数据字节,数据字节,EEPROM每收到一个数据字节后将响应一个每收到一个数据字节后将响应一个0。单片微。单片微机必须用一个停止信号终止页写过程。机必须用一个停止
39、信号终止页写过程。每收到一个数据以后,数据线字节地址的低每收到一个数据以后,数据线字节地址的低3位加位加1,而高位是,而高位是不改变的,以保持存储器页位置不变。如果多于不改变的,以保持存储器页位置不变。如果多于8个数据字节被个数据字节被送到送到EEPROM,则数据字节地址重复滚动,以前输入的数据,则数据字节地址重复滚动,以前输入的数据将被覆盖。将被覆盖。一旦内部的写操作时序周期被启动,一旦内部的写操作时序周期被启动,EEPROM的输入就被禁的输入就被禁止,可以启动确认询问来判断器件内部是否写完。这种询问是止,可以启动确认询问来判断器件内部是否写完。这种询问是发送一个启动信号,接着再发送一个器件
40、地址字节,读写位发送一个启动信号,接着再发送一个器件地址字节,读写位代表要求的操作。只有当内部的写周期完成后,代表要求的操作。只有当内部的写周期完成后,EEPROM才才会送出一个会送出一个0,以允许后续的读或写。,以允许后续的读或写。6)读操作读操作AT24CXX读操作示意图如读操作示意图如图图8-16所示。除了在器件所示。除了在器件地址字节的读写选择位上置地址字节的读写选择位上置1外,读操作的启动方法和写操外,读操作的启动方法和写操作的一样。作的一样。有三种读操作:当前地址读、随机地址读和顺序读。有三种读操作:当前地址读、随机地址读和顺序读。当前地址读当前地址读AT24CXX内部数据字节地址
41、计数器含有上次读或写内部数据字节地址计数器含有上次读或写操作的数据字节的地址加操作的数据字节的地址加1的值。例如,上次读或写操作的地址单的值。例如,上次读或写操作的地址单元为元为n,内部地址计数器将指向,内部地址计数器将指向n+1的地址单元。只要芯片的电源保的地址单元。只要芯片的电源保持着,那么在操作过程中该地址就保持有效。在读操作中,地址滚持着,那么在操作过程中该地址就保持有效。在读操作中,地址滚动是从存储器的最后一个页面的最后一个字节翻转到第一页面的第动是从存储器的最后一个页面的最后一个字节翻转到第一页面的第一个字节。而在写操作中,地址滚动是从当前页面的最后一个字节一个字节。而在写操作中,
42、地址滚动是从当前页面的最后一个字节翻转到同一页面的第一个字节。一旦读写选择位置翻转到同一页面的第一个字节。一旦读写选择位置1的器件,地的器件,地址被时钟同步输入,且又被址被时钟同步输入,且又被EEPROM确认后,则当前地址的数据字确认后,则当前地址的数据字被串行同步送出。此时,单片微机不是用输入被串行同步送出。此时,单片微机不是用输入0来响应,而是把确来响应,而是把确认拉到高电平,接着再产生一个停止信号来终止当前地址读操作。认拉到高电平,接着再产生一个停止信号来终止当前地址读操作。AT24CXX的当前地址读时序如的当前地址读时序如图图8-16a所示。所示。随机读随机读随机读操作允许单片微机随机
43、读取任何一个存储单元,随机读操作允许单片微机随机读取任何一个存储单元,此类读操作包括两个步骤:首先需要一个空字节写序列,单片微此类读操作包括两个步骤:首先需要一个空字节写序列,单片微机产生一个启动条件,发出读写选择位置机产生一个启动条件,发出读写选择位置0的器件地址和单片的器件地址和单片微机要读的数据字的地址,这个步骤把所要求的数据字的地址加微机要读的数据字的地址,这个步骤把所要求的数据字的地址加载到载到EEPROM内部地址计数器;第二步是单片微机收到内部地址计数器;第二步是单片微机收到EEPROM的数据字地址确认的数据字地址确认(ACK)信信息以后必须发出一个读写选择位置息以后必须发出一个读
44、写选择位置1的器件地址字节,以启动的器件地址字节,以启动当前地址读操作当前地址读操作EEPROM确认器件地址,并且从单片微机要读确认器件地址,并且从单片微机要读取的地址中输出取的地址中输出8位串行数据。此时,单片微机不是用输入位串行数据。此时,单片微机不是用输入“0”来响应,而是把确认拉到高电平,接着产生一个停止信号来结束来响应,而是把确认拉到高电平,接着产生一个停止信号来结束随机读操作。随机读操作。AT24CXX的随机读时序如的随机读时序如图图8-16b所示。所示。顺序读顺序读顺序读可以由当前地址读或随机地址读启动。在单片微顺序读可以由当前地址读或随机地址读启动。在单片微机收到一个数据字节以
45、后,用一个确认来响应。只要机收到一个数据字节以后,用一个确认来响应。只要EEPROM收收到确认,它就继续执行数据字节地址加到确认,它就继续执行数据字节地址加l,串行同步输出顺序的数据,串行同步输出顺序的数据字节。当地址达到存储器地址界限时,将发生地址重复滚动,然后字节。当地址达到存储器地址界限时,将发生地址重复滚动,然后顺序读仍将进行下去。当单片微机不用顺序读仍将进行下去。当单片微机不用0来响应,而接着产生一个来响应,而接着产生一个停止条件时,顺序读操作被终止。停止条件时,顺序读操作被终止。AT24CXX的顺序读时序如的顺序读时序如图图8-16c所示所示AT24C02与与80C51单片微机的连
46、接原理图如单片微机的连接原理图如图图8-17所示。所示。U1、U2、U3、U4的器件地址分别是的器件地址分别是1010000R/W、1010001R/W、1010010R/W、1010011R/W。主控器的写操作主控器的写操作主控器向被寻址的被控器发送主控器向被寻址的被控器发送n个数据字节,整个数据字节,整个传输过程中数据传送方向不变。其数据传送格式如下:个传输过程中数据传送方向不变。其数据传送格式如下:其中其中 黑底框为主控器发送,被控器接收;其余为主控器接收,被黑底框为主控器发送,被控器接收;其余为主控器接收,被控器发送控器发送(下同下同)。A应答信号应答信号A非应答信号非应答信号S起始信
47、号起始信号P停止信号停止信号SLAW寻址字节寻址字节data1datan写入被控器的写入被控器的n个数据字节个数据字节主控器的读操作主控器的读操作主控器从被控器中读出主控器从被控器中读出n个字节的操作,整个传个字节的操作,整个传输过程中除寻址字节外,都是被控器发送,主控器接收的过程。数输过程中除寻址字节外,都是被控器发送,主控器接收的过程。数据传送格式如下:据传送格式如下:A应答信号应答信号A非应答信号非应答信号S起始信号起始信号P停止信号停止信号SLAR寻址字节寻址字节(读读)data1datan被主控器读出的被主控器读出的n个数据字节个数据字节主控器发送停止信号前应发送非应答位,向被控器表
48、明读操作结束主控器发送停止信号前应发送非应答位,向被控器表明读操作结束从上述数据传送格式可以看出:从上述数据传送格式可以看出:1)无论何种方式起始、停止,寻址字节都由主控器发送,数据无论何种方式起始、停止,寻址字节都由主控器发送,数据字节的传送方向则遵循寻址字节中方向位的规定。字节的传送方向则遵循寻址字节中方向位的规定。2)寻址字节只表明器件地址及传送方向,器件内部的寻址字节只表明器件地址及传送方向,器件内部的n个数据个数据地址由器件设计者在该器件的地址由器件设计者在该器件的I2C总线数据操作格式中,指定第总线数据操作格式中,指定第一个数据字节作为器件内的单元地址一个数据字节作为器件内的单元地
49、址(SUBADR)数据,并且设置数据,并且设置地址自动加减功能,以减少单元地址寻址操作。地址自动加减功能,以减少单元地址寻址操作。3)每个字节传送都必须有应答信号每个字节传送都必须有应答信号(A或或A)相随。相随。4)I2C总线被控器在接收到起始信号后都必须复位它们的总线逻总线被控器在接收到起始信号后都必须复位它们的总线逻辑,以便对将要开始的被控器地址的传送进行预处理。辑,以便对将要开始的被控器地址的传送进行预处理。对于内部没有对于内部没有I2C总线的单片微机按照总线的单片微机按照I2C总线的原理及时序要求用总线的原理及时序要求用软件虚拟软件虚拟I2C总线,采用系统内的两根总线,采用系统内的两
50、根I/O口线虚拟口线虚拟I2C总线的总线的SDA和和SCL。虚拟虚拟I2C总线的通用软件包可提供使用,对于非总线的通用软件包可提供使用,对于非80C51只要改变助记只要改变助记符指令即可。符指令即可。应用时注意几点应用时注意几点:1)通用软件包为一完整的子程序集合,使用时可预先安放在程序通用软件包为一完整的子程序集合,使用时可预先安放在程序存储器的任何空间,通用软件包与系统硬件无关。存储器的任何空间,通用软件包与系统硬件无关。2)注意子程序嵌套所须的堆栈空间。注意子程序嵌套所须的堆栈空间。3)通用软件包中直接与应用程序编写有关的子程序为通用软件包中直接与应用程序编写有关的子程序为WRNBYT和