王朝网络
分享
 
 
 

大容量串行E2PROM AT24C512及其应用

王朝厨房·作者佚名  2007-01-04
宽屏版  字体: |||超大  

1概述

近年来,以单片机为核心构成的智能仪器仪表与数据采集系统获得了愈来愈广泛的应用。传统的数据存储方法均是通过总线型非易失数据存储器来保存采集的数据。随着单片机技术的不断发展及各种非总线型单片机的不断涌现,采用非总线型单片机并配合大容量串行E2PROM 构成的数据存储系统,将是一种非常好的数据存储方法。该方法一方面可提高系统的可靠性,另一方面又可降低系统成本。

AT24C512 是ATMEL公司新近推出的具有I2C总线容量达512Kbit(64K×8)的E2PROM,该芯片的主要特性如下:存储容量为65536byte;与 100kHz、400kHz、1MHzI2C总线兼容;100000次编程/擦写周期;单电源、读写电压为1.8V~5.5V;ESD保护电压> 4kV;数据可保存40年;写保护功能,当WP为高电平时,进入写保护状态;CMOS低功耗技术,最大写入电流为3mA;128byte页写入缓存器;自动定时的写周期;具有8引脚DIP及20引脚SOIC封装等多种封装形式。

2引脚排列及功能

AT24C512的DIP型封装及20引脚的SOIC型封装的引脚排列如图1所示,各个引脚的功能如下:

SCL:串行时钟该引脚为一输入引脚,用于产生器件所有数据发送或接收的时钟。

SDA:串行数据/地址双向串行数据/地址引脚,用于器件所有数据的发送或接收。SDA是1个开漏输出引脚,可与其它开漏输出或集电极开路输出进行线接。

WP:写保护当引脚WP连接到VCC时,所有存储数据变为写保护。当引脚WP接VSS时,则允许器件进行正常读写操作。

A0,A1:器件地址输入这两个引脚为硬件连线或者不连接,通过连接VCC或VSS的组合可使单总线最多寻址4个AT24C512,当这些引脚没有连接时其默认值为0。

图1 AT24C512引脚排列图

3器件功能描述

AT24C512是具有I2C总线的存储芯片,因此该器件必须严格遵守I2C总线传输协议。I2C总线简单的硬件接口是以复杂的时序及软件编程为代价的,下面首先对该器件的时序进行描述。

(1)起停信号

时钟线保持高电平期间,数据线电平从高到低的跳变代为I2C总线的起始信号。时钟线保持高电平期间,数据线电平从低到高的跳变代为I2C总线的停止信号。

(2)器件寻址

主器件通过发送1个起始信号启动发送过程,然后发送它所需要寻址的从器件地址,8位从器件地址的高5位固定为10100,接下来的2位(A0,A1)为器件的地址位,因此最多可以将4个AT24C512连接到同一总线上使存储容量扩展至256Kbyte。注意,这两位必须与A0和A1两引脚的输入状态相对应,从器件地址的最低位为读写控制位,“1”表示对从器件进行读操作,“0”表示对从器件进行写操作,在主器件发送起始信号和从器件发送地址字节后, AT24C512监测总线并当其地址与发送的从地址相符时发出1个应答信号(通过SDA线),AT24C512再根据读写控制位(R/W)的状态进行读写操作,从器件地址字节内容如表1所示。

(3)应答信号

I2C 总线传送数据时,每成功传送1个字节,接收器都必须产生1个应答信号,应答的器件在第9个时钟周期将SDA线拉低表示其已收到1个8位数据。 AT24C512在接收到起始信号和从器件地址之后产生应答信号,如果器件已选择了写操作,则在每接收1个8位字节之后1个应答信号。

当该器件工作于读模式时,在发送1个8位数据后释放SDA线并监测1个应答信号,一旦接收到应答信号,则继续发送数据,若主器件没有发送应答信号,器件停止传送数据并等待1个停止信号。

掌握了AT24C512的操作时序后再配合一定的地址/数据信息就可完成该器件的读写操作。

(4)写操作

写操作可分为字节写和页写两种写入方式。通常E2PROM的写入占用一定的写入时间,但AT24C512内部设有128字节的页写缓存,使得操作该器件如同操作SRAM一样方便,页面缓存使得两种写入方式的操作过程相同,区别仅在于写入数据字节的多少。下面以字节写入为例介绍写操作过程。

在字节写操作模式下,主器件首先给从器件发送起始信号和从器件地址信息,在从器件送回应答信号后,主器件在发送两字节的16位地址信息写入到 AT24C512地址指针,主器件在收到从器件的应答信号后,再发送1个字节的数据到被寻址的存储单元,从器件在此应答,并在主器件产生停止信号后开始内部数据擦写,在内部擦写过程中,从器件不再应答主器件的任何请求,字节写入操作时序如图2所示。

(5)读操作

读操作分为立即读、随机读和连续读。立即读是在最后操作字节的地址上加1进行读取,而连续读则是在立即读和随机读起动后主器件通过应答信号响应完成多个数据的读取,在主器件发出停止信号后结束读取过程。下面以随机读为例介绍读操作过程。

随机读操作允许主器件对存储器的任意字节进行读操作。操作过程为主器件首先发送起始信号,从器件地址和欲读取字节的地址执行1个伪写操作,此时R/W位应置0,在AT24C512应答后,主器件重新发送起始信号和从器件地址,此时R/W位应置1,AT24C512响应并发送应答信号,然后输出所要求的1个 8位字节数据。主器件不发送应答信号,但产生1个停止信号。字节读操作时序如图3所示。

4应用

AT24C512 与AT89C2051单片机的硬件连接电路如图4所示。这里使用了2个AT24C512组成寻址空间为128K字节的E2PROM存储器电路。其中U2的器件地址为A0H,存储地址空间为0000-0FFFFH;U3的器件地址为A2H,存储地址空间为0000-0FFFFH。

图3 字节读操作时序

由于AT89C2051不具有I2C总线,因此采用P1.0和P1.1口线来模拟I2C总线,AT24C512的SDA和SCL为开漏输出,故接入10kΩ的上拉电阻器。下面是与上述电路配套的E2PROM读写程序:

;内存数据定义

BitCnt DATA 30H;读/写数据位数计数器

ByteCnt DATA 31H;读/写数据字节数计数器

SlvAddr DATA 32H;E2PROM器件地址

SubAdrl DATA 33H;存储单元地址高8位

SubAdr2 DATA 34H;存储单元地址低8位

ReadDat DATA 50H;读操作数据缓冲区

WriteDat DATA 40H;写操作数据缓冲区

;端口位定义

SDA BIT P1.0;模拟I2C数据传送位

SCL BIT P1.1;模拟I2C时钟控制位

ACK BIT 20H;读非应答标志

;主程序

MAIN: MOV SP #60H;设堆栈

Write: MOV SlvAdr, #A0H;选择1个器件地址

MOV ByteCnt, #08H;设写入数据长度为8字节

MOV SubAdr1, #00H;设写入单元首址为0020H

MOV SubAdr2, #20H;

LCALL WriteData ; 写数据

……

Read: MOV Slvadr, #A0H;选择1个器件地址

MOV Bytecnt, #08H;设读出数据长度为8字节

MOV SubAdr1, #00H;设读出单元

MOV SubAdr2, #20H;首址为0020H

LCALL ReadData; 读数据

……

WriteData:LCALL Start; I2C总线起始条件

MOV A,SlvAdr; 取器件地址

LCALL writeByte; 发送器件地址

MOV A,SubAdr1

LCALL writeByte;发送高8位地址

MOV A,SubAdr2

LCALLwriteByte;发送低8位地址

MOVR0,#WriteDat;取写入数据的首地址

Next:MOVA,@R0

LCALLwriteByte;写入1字节数据

LNCR0;取下1个数据

DJNZByteCnt,Next;重复操作直到写完全部数据

LCALLStop;发送I2C总线停止条件

LCALLDL10ms;延时10ms等待E2PROM内部数据

;写完

RET

;读数据子程序

ReadData:LCALLStart

MOVA,SlvAdr

LCALLWriteByte

MOVA,Subadr1

LCALLWriteByte

MOVA,Subadr2

LCALLWriteByte

LCALLStart;重复发送I2C总线起始条件

MOVA,Slvadr

SETBACC.0;R/W位置1

LCALLWriteByte

CLRACK;请读非应答标志

MOVR0,#RdadData;读缓冲区首址

DJNZByteCnt,Next1

SJMPLast

Next1:LCALLReadByte;接收1个字节数据

MOV@R0,A;接收数据送缓冲区

INCR0

DJNZByteCnt,Next1;重复接收

Last:SETBACK;接收最后1个字节数据

ACALLReadByte

MOV#R0,A

LCALLStop

RET

上面给出读写操作主程序、页面写入子程序及其多字节读子程序。受篇幅限制,部分子程序没有给出,读者可根据AT24C512的操作时序自行编制或参阅相关文献。

5结束语

由AT24C512与AT89C2051等非总线单片机构成的数据采集存储系统具有体积小、成本低、可靠性高的特点,因而具有很高的应用价值。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有