ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:20.53KB ,
资源ID:6619693      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6619693.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(串行EEPROM24C02接口方法课案.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

串行EEPROM24C02接口方法课案.docx

1、串行EEPROM24C02接口方法课案串行EEPROM(24C02)接口方法在新一代单片机中,无论总线型还是非总线型单片机,为了简化系统结构,提高系统的可靠性,都推出了芯片间的串行数据传输技术,设置了芯片间的串行传输接口或串行总线。串行总线扩展接线灵活,极易形成用户的模块化结构,同时将大大简化其系统结构。串行器件不仅占用很少的资源和I/O 线,而且体积大大缩小,同时还具有工作电压宽,抗干扰能力强,功耗低,数据不宜丢失和支持在线编程等特点。目前,各式各样的串行接口器件层出不穷,如:串行EEPROM,串行ADC/DAC,串行时钟芯片,串行数字电位器,串行微处理器监控芯片,串行温度传感器等等。串行E

2、EPROM 是在各种串行器件应用中使用较频繁的器件,和并行EEPROM 相比,串行EEPROM 的数据传送的速度较低,但是其体积较小,容量小,所含的引脚也较少。所以,它特别适合于需要存放非挥发数据,要求速度不高,引脚少的单片机的应用。这里绍串行EEPROM 芯片,以及它们和单片机的接口技术。1、串行EEPROM 及其工作原理串行EEPROM 中,较为典型的有ATMEL 公司的AT24CXX 系列以及该公司生产的AT93CXX 系列,较为著名的半导体厂家,包括Microchip,国家半导体厂家等,都有AT93CXX系列EEPROM 产品。AT24CXX 系列EEPROMAT24CXX 系列的串行

3、电可改写及可编程只读存储器EEPROM 有10 种型号,其中典型的型号有AT24C01A/02/04/08/16 等5 种,它们的存储容量分别是1024/2048/4096/8192/16384位,也就是128/256/512/1 024/2048 字节。这个系列一般用于低电压,低功耗的工业和商业用途, 并且可以组成优化的系统。这个系统还有多种电压级别, 包括5V(4.55.5V),2.7V(2.75.5V),2.5V(2.55.5V),1.8V(1.85.5V)等4 种电压级别。它们的封装有8引脚PDIP 方式,8 引脚和16 引脚SOIC 方式。信息存取采用2 线串行接口。这里我们就24C

4、02的结构特点,其他系列比较类似。2、结构原理及引脚AT24C02 有地址线A0A2,串行数据引脚SDA,串行时钟输入引脚SCL,写保护引脚WP 等引脚。很明显,其引脚较少,对组成的应用系统可以减少布线,提高可靠性。各引脚的功能和意义如下。(8):VCC 引脚,电源+5V。(4):GND 引脚,地线。(6):SCL 引脚,串行时钟输入端。在时钟的正跳沿即上升沿时把数据写入EEPROM;在时钟的负跳沿即下降沿时把数据从EEPROM 中读出来。(5):SDA 引脚,串行数据I/O 端,用于输入和输出串行数据。这个引脚是漏极开路的端口,故可以组成“线或”结构。(1)、(2)、(3):A0,A1,A2

5、 引脚,是芯片地址引脚。在型号不同时意义有些不同,但都要接固定电平。(7):WP 引脚,写保护端。这个端提供了硬件数据保护。当把WP 接地时,允许芯片执行一般读写操作;当把WP 接VCC 时,则对芯片实施写保护。3、存储器的组织及运行存储器的组织:对于不同的型号,存储器的组织不一样,其关键原因在于存储器容量存在差异。对于AT24CXX 系列的EEPROM,其典型型号的存储器组织如下。AT24C01A:内部含有128 个字节,故需要7 位地址对其内部字节进行寻址AT24C02:内部含有256 个字节, 故需要8 位地址对其内部字节进行读写。4、运行方式:对于时钟及数据传送,串行数据I/O 端口S

6、DA 一般需要用外部上拉电阻将其电平拉高。加到SDA 的数据只有在串行时钟SCL 对于低电平的时间周期内可以改变。当串行时钟SCL处于高电平时,SDA 的数据变化用于指明起始或停止状态。在SCL 为高电平期间,如果SDA从低电平上升到高电平,则表示起始状态;如果SDA 从高电平下降到低电平,则表示停止状态。起始状态:当SCL 为高电平时,SDA 由高电平变到低电平则处于起始状态。起始状态应处于任何其他命令之前。停止状态:当SCL 处于高电平时,SDA 从低电平变到高电平则处于停止状态。在执行完读序列信号之后,停止命令将把EEPROM 置于低功耗的备用方式(Standby Mode).应答信号:

7、应答信号是由接受数据的器件发出的。当EEPROM 接受完一个写入数据之后,会在SDA 上发一个”0”应答信号。反之,当单片机接受完来自EEPROM 的数据后单片机也应向SDA 发ACK 信号。ACK 信号在第9 个时钟周期时出现。备用方式(Standby Mode):AT24C01A/02/04/08/16 都具有备用方式,以保证在没有读写操作时芯片处于低功耗状态。在下面两种情况中,EEPROM 都会进入备用方式:第一, 芯片通电的时候;第二,在接到停止位和完成了任何内部操作之后。AT24C02 等5 种典型的EEPROM 在进入起始状态之后,需要一个8 位的“器件地址字”去启动存储器进行读或

8、写操作。在写操作中,它们有“字节写”,“页面写”两种不同的写入方法。在读操作中,有“现行地址读”,“随机读”和“顺序读”三种各具特点的读出方法。下面分别介绍器件寻址,写操作和读操作。 器件寻址:所谓器件寻址(Device Addressing)就是用一个8 位的器件地址字(Device Address Word)去选择存储器芯片。在逻辑电路中的AT24CXX 系列的5 种芯片种,即AT24C01A/02/04/08/16 中,如果和器件地址字相比较结果一致,则读芯片被选中。下面对器件寻址的过程和意义加以说明。 芯片的操作地址D7 D6 D5 D4 D3 D2 D1 D01 0 1 0 A2 A

9、1 A0 R/W图1:命令字格式用于存储器EEPROM 芯片寻址的器件地址字如图1所示。它有4 种方式,分别对应于1K/2K,4K,8K 和16K 位的EEPROM 芯片。从图中看出:器件地址字含有3 个部分。第一部分是高4 位,它们称为EEPROM AT24C01A/02/04/08/16 的标识第二部分称为硬布线地址,它们是标识后的3 位。第三部分是最低位,它是读/写操作选择位。第一部分:器件标识,器件地址字的最高4 位。这4 位的内容恒为”1010”,用于标识EEPROM 器件AT24C01A/02/04/08/16。第二部分:硬布线地址,是与器件地址字的最高4 位相接的低3 位。硬布线

10、地址的3 位有2 种符号:Ai(i=02),Pj(j=02)其中Ai 表示外部硬布线地址位对于AT24C10A/02 这两种1K/2K 位的EEPROM 芯片,硬布线地址为”A2,A1,A0”.在应用时,”A2,A1,A0”的内容必须和EEPROM 芯片的A2,A1,A0 的硬布线情况,即逻辑连接情况相比较,如果一样,则芯片被选中;否则,不选中。AT24C01A/02:真正地址=字地址第三部分:读/写选择位,器件地址字的最低位,并用R/W 表示。当R/W=1 时,执行读操作;当R/W=0 时,执行写操作。当EEPROM 芯片被选中时,则输出”0”;如果EEPROM 芯片没有被选中,则它回到备用

11、方式。被选中的芯片。其以后的输入,输出情况视写入和读出的内容而定。写操作:AT24C01A/02/04/08/16 这5 种EEPROM 芯片的写操作有2 种:一种是字节写,另一种是页面写。字节写:这种写方式只执行1 个字节的写入。其写入过程分外部写和内部写两部分,分别说明如下:在起始状态中,首先写入8 位的器件地址。则EEPROM 芯片会产生一个”0”信号ACK输出作为应答;接着,写入8 位的字地址,在接受了字地址之后,EEPROM 芯片又产生一个”0”应答信号ACK;随后,写入8 位数据,在接受了数据之后,芯片又产生一个”0”信号ACK 作为应答。到此为止,完成了一个字节写过程,故应在SD

12、A 端产生一个停止状态,这是外部写过程。在这个过程中,控制EEPROM 的单片机应在EEPROM 的SCL,SDA 端送入恰当的信号。当然在一个字节写过程结束时,单片机应以停止状态结束写过程。在这时,EEPROM 进入内部定时的写周期,以便把接受的数据写入到存储单元中。在EEPROM 的内部写周期中,其所有输入被屏蔽,同时不响应外部信号直到写周期完成。这是内部写过程。内部写过程大约需要10ms 时间。内部写过程处于停止状态与下一次起始状态之间。页面写:这种写入方式执行含若干字节的1 个页面的写入。对于AT24C01A/02,它们的1 个页面含8 个字节;页面写的开头部分和字节写一样。在起始状态

13、,首先写入8 位器件地址;待EEPROM 答当了”0”信号ACK 之后,写入8 位字地址;又待芯片应了”0”信号ACK 之后,写入8 位数据。随后页面写的过程则和字节写有区别。当芯片接受了第一个8 位数据并产生应答信号ACK 之后,单片机可以连续向EEPROM芯片发送共为1 页面的数据。对于AT24C01A/02,可发送共1 个页面的8 个字节(连第一个8 位数据在内)。对于AT24C04/08/16,则共可发送1 个页面共16 个字节(连第一个8 位数据在内)。当然,每发一个字节都要等待芯片的应答信号ACK。之所以可以连续向芯片发送1 个页面数据,是因为字地址的低34 位在EEPROM 芯片

14、内部可实现加1,字地址的高位不变,用于保持页面的行地址。页面写和字节写两者一样可,都分为外部写和内部写过程。应答查询:应答查询是单片机对EEPROM 各种状态的一种检测。单片机查询到EEPROM有应答”0”信号ACK 输出,则说明其内部定时写的周期结束,可以写入新的内容。单片机是通过发送起始状态及器件地址进行应答查询的。由于器件地址可以选择芯片,则检测芯片送出到SDA 的状态就可以知道其是否有应答了。读操作:读操作的启动是和写操作类同的。它一样需要图1所示的器件地址字。和写操纵不同的就是信号下降沿时执行读操作。读操纵有3 种方式,即现行地址读,随机读和顺序读。下面分别说明它们的工作过程。现行地

15、址读:在上次读或写操纵完成之后。芯片内部字地址计数器会加1,产生现行地址。只要没有再执行读或写操作,这个现行地址就会在EEPROM 芯片保持接电的期间一直保存。一旦器件地址选中EEPROM 芯片,并且有R/W=1,则在芯片的应答信号ACK 之后把读出的现行地址的数据送出。现行地址的数据输出时,就由单片机一位一位接受,接收后单片机不用向EEPROM 发应答信号ACK”0”电平,但应保证发出停止状态的信号以结束现行地址读操作。现行地址读会产生地址循环覆盖现象,但和写操纵的循环覆盖不同。在写操纵中,地址的循环覆盖是现行页面的最后一个字节写入之后,再行写入则覆盖同一页面的第一个字节。而在现行地址读操纵

16、中,地址的循环覆盖是在最后页面的最后一个字节读出之后,再行读出才覆盖第一个页面的第一个字节。随机读:随机读和现行地址读的最大区别在于随机读会执行一个伪写入过程以把字地址装入EEPROM 芯片中,然后执行读出,显然,随机读有2 个步骤。第一,执行伪写入把字地址送入EEPROM,以选择需读的字节。第二,执行读出根据字地址读出对应内容。当EEPROM 芯片接收了器件地址及字地址时,在芯片产生应答信号ACK 之后,单片机必须再产生一个起始状态,执行现行地址读,这时单片机再发出器件地址并且令R/W=1,则EEPROM 应答器件地址并输出被读数据。在数据读出时由单片机执行一位一位接收,接收完毕后,单片机不

17、用发”0”应答信号ACK,但必须产生停止状态以结束随机读过程。应该注意:在随机读的第二个步骤是执行现行地址读的,由于第一个步骤时芯片接收了字地址,故现行地址就是所送入的字地址。顺序读:顺序读可以用现行地址读或随机读进行启动。它和现行地址读、随机读的最大区别在于:顺序读在读出一批数据之后才由单片机产生停止状态结束读操作;而现行地址读和随机读在读出一个数据之后就由单片机产生停止状态结束读操作。执行顺序读时,首先执行现行读或随机读的有关过程,在读出第一个数据之后,单片机输出“0”应答信号ACK。在芯片接收应答信号ACK 后,就会对字地址进行计数加1,随后串行输出对应的字节。当字地址计数达到存储器地址

18、的极限时,则字地址会产生覆盖,顺序读将继续进行。只有在单片机不再产生“0”应答信号ACK,而在接收数据之后马上产生停止状态,才会结束顺序读操作。在对AT24CXX 系列执行读写的2 线串行总线工作中,其有关信号是由单片机的程序和EEPROM 产生的。有两点特别要记住:串行时钟必须由单片机程序产生,而应答信号ACK则是由接收数据的器件产生,也就是写地址或数据时由EEPROM 产生ACK,而读数据时由单片机产生。串行EEPROM(24C02)参考程序;=;写24C02 EEPROM数据子程序;R0:RAM地址指针,R2:8位移位计数器;R3:数据字节计数器;R4:24C02 存储地址;-WR_EE

19、ROM: NOPW_LOOP: ACALL START24 MOV A,#0A0H ACALL WBYTE MOV A,R4 ACALL WBYTE MOV A,R0 ACALL WBYTE ACALL STOP24 ACALL DLY10MS INC R0 INC R4 DJNZ R3,W_LOOP RET ;=;读24C02 EEPROM数据子程序;R0:RAM地址指针,R2:8位移位计数器;R3:数据字节计数器;R4:24C02 存储地址;-RD_EEROM: NOPR_LOOP1: ACALL START24 MOV A,#0A0H ACALL WBYTE MOV A,R4 ACALL

20、 WBYTE ACALL START24 MOV A,#0A1H ACALL WBYTE ACALL RBYTE MOV R0,A INC R0 INC R4 DJNZ R3,R_LOOP1 ACALL STOP24 RET ;-RBYTE: NOP CLR SCL MOV R2,#08H SETB SDARBY0: CLR SCL NOP SETB SCL NOP MOV C,SDA RLC A DJNZ R2,RBY0 CLR SCL NOP CLR SCL SETB SDA NOP SETB SCL RET ;-WBYTE: NOP MOV R2,#08HWBY0: CLR SCL RLC A MOV SDA,C NOP SETB SCL DJNZ R2,WBY0 CLR SCL NOP SETB SCL NOP JB SDA,$ CLR SCL NOP RET ;-START24: CLR SCL NOP SETB SDA NOP SETB SCL NOP CLR SDA NOP CLR SCL RET;-STOP24: CLR SCL NOP CLR SDA NOP SETB SCL NOP SETB SDA NOP CLR SCL RET;-DLY10MS:MOV R6,#35DLYR7: MOV R7,#177 DJNZ R7,$ DJNZ R6,DLYR7 RET

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1