24系列EEPROM的应用
- 格式:doc
- 大小:59.00 KB
- 文档页数:4
HT49 MCU系列单片机读写HT24系列的EEPROM应用范例HT49 MCU系列单片机读写HT24系列的EEPROM应用范例文件编码:HA0017s简介:HT24系列的EEPROM是通过I2C协议控制其读写的。
HT49系列单片机的接口部分是简单I/O 口,可以用来很方便地采用I2C协议控制周边器件。
HT24系列的EEPROM总共8个管脚,三个为芯片地址脚A0、A1、A2,在单片机对它进行操作时,从SDA输入A0、A1、A2数据和芯片外部A0、A1、A2所接地址需一一对应。
一个为芯片写保护脚WP,WP脚接低电平时,芯片可进行读写操作;WP脚接高时,芯片只可进行读,不可进行写。
另外两个管脚为电源脚VCC,VSS。
用单片机对HT24系列的EEPROM进行控制时,HT24系列的EEPROM的外部管脚VCC、VSS、WP、A0、A1、A2根据需要,对应接上,SDA、SCL接到单片机控制脚上。
引脚名称I/O 功能描述A0~A2 I地址输入VSS I电源负极输入SDA I/O串行数据输入/输出SCL I串行数据传送时钟信号输入WP I写保护VCC I电源正极输入HT24系列的EEPROM根据型号不同,EEPROM的容量大小不同,当EEPROM的空间大于1页(256bytes)时,即大于2048bits,则HT49 MCU需要控制A0、A1、A2来确定写HT24系列的EEPROM的第几页,HT24系列的EEPROM空间大小如下表所示:型号引脚A0、A1及A2使用方法容量大小HT24LC02 A0、A1、A2引脚作为器件地址输入,从SDA输入A0、A1、A2数据和芯片引脚A0、A1、A2所接状态需一一对应2K(256×8)HT24LC04 A1、A2引脚作为器件地址输入,从SDA输入A1、A2数据和芯片引脚A1、A2所接状态需一一对应,A0引脚浮空4K(512×8,2pages)HT24LC08 A2引脚器件地址输入,从SDA输入A2数据和芯片引脚A2所接状态需一一对应,其余引脚浮空8K(1024×8,4pages)HT24LC16 A0、A1、A2全部浮空,不必接16K(2048×8,8pages)HT49 MCU系列单片机读写HT24系列的EEPROM应用范例程式说明:本文是以HT49R30A-1控制HT24LC04为例的。
EEPROM是"Electrically Erasable Programmable Read-only"(电可擦写可编程只读存储器)的缩写,EEPROM在正常情况下和EPROM一样,可以在掉电的情况下保存数据,所不同的是它可以在特定引脚上施加特定电压或使用特定的总线擦写命令就可以在在线的情况下方便完成数据的擦除和写入,这使EEPROM被用于广阔的的消费者范围,如:汽车、电信、医疗、工业和个人计算机相关的市场,主要用于存储个人数据和配置/调整数据。
EEPROM又分并行EEPROM和串行EEPROM,并行EEPROM器件虽然有很快的读写的速度,但要使用很多的电路引脚。
串行EEPROM器件功能上和并行EEPROM基本相同,提供更少的引脚数、更小的封装、更低的电压和更低的功耗,是现在使用的非易失性存储器中灵活性最高的类型。
串行EEPROM按总线分,常用的有I2C,SPI,Microwire总线。
本文将介绍这三种总线连接单片机的编程方法。
I2C总线I2C总线(Inter Integrated Circuit内部集成电路总线)是两线式串行总线,仅需要时钟和数据两根线就可以进行数据传输,仅需要占用微处理器的2个IO引脚,使用时十分方便。
I2C总线还可以在同一总线上挂多个器件,每个器件可以有自己的器件地址,读写操作时需要先发送器件地址,该地址的器件得到确认后便执行相应的操作,而在同一总线上的其它器件不做响应,称之为器件寻址,这个原理就像我们打电话的原理相当。
I2C总线产生80年代,由PHLIPS公司开发,早期多用于音频和视频设备,如今I2C总线的器件和设备已多不胜数。
最常见的采用I2C总线的EEPROM也已被广泛使用于各种家电、工业及通信设备中,主要用于保存设备所需要的配置数据、采集数据及程序等。
生产I2C总线EEPROM的厂商很多,如ATMEL、Microchip公司,它们都是以24来开头命名芯片型号,最常用就是24C系列。
AT24C10242 线串行EEPROM特性低电压操作:2.7(Vcc=2.7V to 5.5V)内部组织:131,072*8 位=1M2 线串行接口施密特触发器,噪声抑制滤波输入双向数据传输协议时钟速率:400kHz(2.7V)和1MHz(5V) 硬件写保护引脚和软件数据保护256 字节页写模式(允许部分页面写入)随机和顺序读写模式自定义写周期(5ms)高可靠性:耐久力:写周期/页100,000 次数据保留:40 年8 引脚PDIP,8 引脚有铅SOIC 封装,8 引脚无铅阵列和8 引脚球状dBGA 封装描述AT24C1024 提供1,048,567 位的串行可电擦除和可编程只读存储器(EEPROM),它的每8 位组成一个字节,共131,072 个字节。
该设备的级联功能允许多达2 个设备共亨同一条2- 线总线。
该设备适合用于许多工业和商业,应用必要的低功耗和低电压的操作。
该器件可提供节省空间的8 引脚PDIP,8 引脚有铅SOIC 封装,8 引脚无铅阵列和8 引脚球状dBGA 封装。
另外,这一系列产品允许在2.7V(2.7V~5.5V)下工作。
绝对最大额定值:工作温度:-55~+125存储温度:-65~+150任何引脚的对地电压:-1.0V~+7.0V最大工作电压:6.25V 直流输出电流:5.0mA注意:强制高出“绝对最大额定值”可能导致设备的永久损坏。
设备的压力等级和功能操作只有在这些或超出本规范所标明的其他任何条件下是不允许的。
长时间工作在绝对最大额定值的条件下可能影响设备的可靠性。
引脚描述:串行时钟(SCL):SCL 的输入是在时钟的上升沿数据进入每个EEPROM 设备和下降沿数据输出每个设备。
串行数据(SDA):SDA 引脚是双向串行数据传输的。
这个引脚是漏极输出的,可以与其它的漏极开路或集电极开路的设备线或。
器件/ 页地址(A1 ):A1 引脚是设备的输入地址,它能够通过导线与不兼容的设备AT24C128/256/512 连接。
嵌入式系统中EEPROM文件系统的设计与实现彭晓锋北京邮电大学电信工程学院,北京(100876)摘要:AT24CXX系列EEPROM在嵌入式领域有着广泛的运用。
本文参考微机文件系统的原理实现能兼容AT24C08-AT24C1024的简单文件系统,实验结果证明本系统高效可行。
关键词:EEPROM, 文件系统,嵌入式1.引言随着大量嵌入式设备的出现,在嵌入式系统中用于存储数据的EEPROM因其简单、方便、可靠的性能和低廉的价格而被广为使用。
当今社会嵌入式系统无所不在,各种嵌入式设备品种繁多,差别巨大。
因此各公司也推出多种不同容量不同型号的EEPROM适应多样的市场应用。
人们一方面希望能像管理大容量存储器(如硬盘,FLASH等)中数据一样简单便捷的操作EEPROM中的数据(包括打开、关闭、读写文件等),同时也希望这种文件系统能兼容不同容量、型号,具有较强的通用性。
而对于采用两线IIC总线读写方式[1]的EEPROM来说,无法使用类似与FLASH所支持的TFFS之类的文件系统,本文参照上述思想,实现了一种能兼容AT24C08-AT24C1024类似于文件系统的用于管理EEPROM中数据的方法,并在实践项目中得到良好运用。
2.AT24CXX系列EEPROM简介AT24CXX系列是ATMEL公司生产的串行电可擦的可编程存储器,它采用8引脚封装,具有可掉电记忆,结构紧凑、存储容量大等特点,可以在2线总线上并接多片芯片,适用于具有大容量数据存储要求的嵌入式系统[2]。
ⅰ)封装及管脚说明AT24C08-AT24C1024的封装如图1所示(对不同型号A0-A2相应改为NC,详见表1),各引脚的功能如下:⑴ A0、A1、A2:器件地址(device address)。
IIC串行总线需连接多个EEPROM芯片时,可用A0、A1、A2来区分各芯片,悬空时为0。
⑵ SDA:I2C 串行数据。
图1. A T24CXX系列EEPROM封装⑶ SCL:I2C 串行时钟。
EEPROM存储芯⽚24C021、24C02简介 24C02是⼀个2Kbit的串⾏EEPROM存储芯⽚,可存储256个字节数据。
⼯作电压范围为1.8V到6.0V,具有低功耗CMOS技术,⾃定时擦写周期,1000000次编程/擦除周期,可保存数据100年。
24C02有⼀个16字节的页写缓冲器和⼀个写保护功能。
通过I2C总线通讯读写芯⽚数据,通讯时钟频率可达400KHz。
可以通过存储IC的型号来计算芯⽚的存储容量是多⼤,⽐如24C02后⾯的02表⽰的是可存储2Kbit的数据,转换为字节的存储量为2*1024/8 = 256byte;有⽐如24C04后⾯的04表⽰的是可存储4Kbit的数据,转换为字节的储存量为2*1024/8 = 512byte;以此来类推其它型号的存储空间。
24C02的管脚图如下: VCC和VSS是芯⽚的电源和地,电压的⼯作范围为:+1.8V~+6.0V。
A0、A1、A2是IC的地址选择脚。
WP是写保护使能脚。
SCL是I2C通讯时钟引脚。
SDA是I2C通讯数据引脚。
2、24C02的设备地址和写保护功能 I2C主机在与24C02通讯时,需要发送⼀个设备地址进⾏寻址,在I2C总线上,每⼀个从机设备的地址都是唯⼀的。
24C02的设备地址包含两部分,第⼀部分是bit7~bit4是固定的“1010”,第⼆部分bit3~bit1位由A2、A1、A0组成。
主机在与24C02进⾏通讯时,除了发送设备地址还需要发送数据的读写⽅向位R/W,24C02的是设备地址与R/W位组成了⼀个字节的数据。
如下图: 上图列出了⼏个存储IC的设备地址与R/W位组成的字节。
由图中可以看到,存储IC地址的bit7~bit4位固定为“1010”;bit3~bit1位由A2、A1、A0引脚的电平状态决定,如果Ax接的是电源(⾼电平),那么Ax=1,如果Ax接的是地,那么Ax=0,即由A2、A1、A0可以组合成8种设备地址,也就是说在同⼀个I2C总线上可以同时挂载8个24C02芯⽚。
基于Proteus的IIC器件AT24C1024的应用作者:袁易君来源:《中国新技术新产品》2008年第24期摘要:本文采用软件仿真平台Proteus介绍了AT24C1024 EEPROM的使用及其特点,以及在具有DS1302时钟芯片、DS18b20温度传感器的具体应用系统中的使用,本系统对每隔一段时间的温度进行了存储。
关键词:Proteus;EEPROM;DS18b20;温度传感器电可擦除可编程EEPROM 在应用系统中既可由软件对其内容进行随机读写,又可在芯片断电的情况下长时间保存信息, 因此兼备了RAM 和ROM 的特点。
EEPROM 有串行和并行两大类,并行EEPROM 存储容量较大,读写方法简单,但价格较高,适用于信息量较多的场合。
串行EEPROM结构简单紧凑,价格低廉,但其读写方法复杂,存储单元较小,一般用于掉电情况下需要保存或一些数据需要在线修改的场合,这类数据不多却很重要,若使用常规的RAM芯片,就必须附带一套性能可靠的掉电保护系统,这不仅增加了线路设计的复杂性,同时也给设备的运行和维护带来了诸多不便。
同时Proteus软件是一款单片机软硬件设计仿真平台,能实时仿真多种单片机芯片,如51单片机系列、AVR单片机系列、PIC单片机系列及Arm单片机系列等,可减少学习单片机的成本,又可达到良好的学习效果。
124C系列串行EEPROM介绍24C系列串行EEPROM除具有一般串行EEPROM 的体积小、功耗低、工作电压允许范围宽等特点外,还具有型号多、容量大、二总线协议、占用I/ O 口线少、容量扩展配置极其灵活方便、读写操作相对简单等特点。
本系统中使用的是24C1024(1024kb) ,生产工艺是CMOS 工艺,工作电压在1.8~5.5V 之间,24C系列有两种封装形式:8 脚封装和14 脚封装。
我国目前开发用量最多的封装形式是8脚PDIP 封装,8 脚PDIP封装中A0 、A1 、A2 为器件地址选择位,这3 个引脚配置成不同的编码值,在同一串行总线上最多可扩展8 片同一容量或不同容量的24C 系列串行EEPROM 芯片。
EEPROM---AT24Cxx应⽤介绍结论:1、读写AT24CXX芯⽚,根据容量有多种⽅式:⼀、容量为AT24C01~AT24C16,⾸先发送设备地址(8位地址),再发送数据地址(8位地址),再发送或者接受数据。
⼆、AT24C32/AT24C64~AT24C512,⾸先发送设备地址(8位地址),再发送⾼位数据地址,再发送地位数据地址,再发送或者接受数据。
三、容量AT24C1024的芯⽚,是把容量⼀和容量⼆的⽅法结合,设备地址中要⽤⼀位作为数据地址位,存储地址长度是17位。
2、它的设备地址根据容量不同有区别: 1)、AT24C01~AT24C16:这⼀类⼜分为两类,分别为AT24C01/AT24C02和AT24C04~AT24C16;他们的设备地址为⾼7位,低1位⽤来作为读写标⽰位,1为读,0为写。
*1*、AT24C01/AT24C02。
AT24C01/AT24C02的A0、A1、A2引脚作为7位设备地址的低三位,⾼4为固定为1010B,低三位A0、A1、A2确定了AT24CXX的设备地址,所以⼀根I2C线上最⼤可以接8个AT24CXX,地址为1010000B~1010111B。
*2*、AT24C04~AT24C16的 A0、A1、A2只使⽤⼀部分,不⽤的悬空或者接地(数据⼿册中写的是悬空不接)。
举例:AT24C04只⽤A2、A1引脚作为设备地址,另外⼀位A0不⽤悬空,发送地址中对应的这位(A0)⽤来写⼊页寻址的页⾯号,⼀根I2C线上最⼤可以接4个,地址为101000xB~101011xB 2)、AT24C32/AT24C64:和AT24C01/AT24C02⼀样,区别是,发送数据地址变成16位。
注意事项:对AT24C32来说,WP置⾼,则只有四分之⼀受保护,即0x0C00-0x0FFF。
也就是说保护区为1KBytes。
对于低地址的四分之三,则不保护。
所以,如果数据较多时,可以有选择地存储。
一、EPROM与EEPROM:EPROM(Erasable Programmable Read Only Memory),中文含意为“可擦除可编程只读存储器”。
它是一种可重写的存储器芯片,并且其内容在掉电的时候也不会丢失;换句话说,它是非易失性的。
它通过EPROM编程器进行编程,EPROM编程器能够提供比正常工作电压更高的电压对EPROM编程。
一旦经过编程,EPROM只有在强紫外线的照射下才能够进行擦除。
为了进行擦除,EPROM的陶瓷封装上具有一个小的石英窗口,这个石英窗口一般情况下使用不透明的粘带覆盖,当擦除时将这个粘带揭掉,然后放置在强紫外线下大约20分钟。
主要IC有27XX系列和27CXX系列。
EEPROM(electrically erasable, programmable, read-only )是一种电可擦除可编程只读存储器,并且其内容在掉电的时候也不会丢失。
在平常情况下,EEPROM与EPROM一样是只读的,需要写入时,在指定的引脚加上一个高电压即可写入或擦除,而且其擦除的速度极快!通常EEPROM芯片又分为串行EEPROM和并行EEPROM两种,串行EEPROM在读写时数据的输入/输出是通过2线、3线、4线或SPI 总线等接口方式进行的,而并行EEPROM的数据输入/输出则是通过并行总线进行的。
主要IC有28XX系列。
二、24c02芯片硬件介绍:1、引脚说明:A0,A1,A2——地址输入引脚,走位硬件寻址的依据,同种芯片可同时连接8片(2^3);Vcc,Gnd——电源,接地引脚,1.8-5.5vWp——写保护,当Wp接地时,允许对器件的正常读写操作;当Wp接高电平时,写保护,只能进行读操作。
SDA——串行地址/数据输入/输出端口,双向传输,漏极开路,需外接上拉电阻到Vcc(典型阻值为10k)。
SCL——串行时钟输入,高低电平不同状态与SDA配合,执行不同的命令。
2、存储结构:24c02的容量是2k,256字节。
24系列EEPROM的应用数据存储作为一种非易失性存储器(NVM),24系列EEPROM使用的很普遍,一般作为数据量不太大的数据存储器。
下面总结一下其应用的一些要点。
从命名上看,24CXX中XX的单位是kbit,如24C08,其存储容量为8k bit,即1k Byte=1024Byte。
一、工作条件1.工作电压(VCC)24CXX:4.5V-5.5V24CXX-W:2.5V-5.5V24CXX-R:1.8V-5.5V2.输入电平定义(VIH,VIL)VIH:0.7VCC-VCC+1VIL:-0.45V-0.3VCC二、硬件连接1.上拉电阻RP的取值由于I2C总线电容要满足小于400pf的条件。
从以下波形可以看出,上拉电阻越大,总线的电容越小,可以实现的数据传输率就越大,可达400khz。
2.写保护脚芯片写保护脚是高电平有效,即WP接高电平时禁止写入3.地址脚24C01/24C02三个地址脚(E0,E1,E2)都有效,24C04只有E2,E1有效,24C08只有E2有效,24C16三个地址脚都无效,如下图所示,所谓地址脚无效是指不需要接入电路中(NC,not connected),其对应的地址位要用来表示要操作的字节的高位地址。
24C32/24C64三个地址脚都有效;24C128/24C256/24C512的地址脚E1和E0有效,其余为NC;24C1024的地址脚E1有效,其余为NC。
三、寻址方式1.器件地址当总线上连接多个I2C器件时,需要对器件进行寻址。
器件地址如下表所示,其中E2,E1,E0是指三个引脚的状态,取决于是接地还是接高电平,R/W为1则为读操作,为0则为写操作。
A8,A9,A10,A16指的是所要操作的字节地址的高位,后面会提到。
芯片bit7bit6bit5bit4bit3bit2bit1bit024C01/02/211010E2E1E0R/W24C041010E2E1A8R/W24C081010E2A9A8R/W24C161010A10A9A8R/W24C32/641010E2E1E0R/W24C128/256/51210100E1E0R/W24C102410100E1A16R/W2.字节地址在对芯片内的某一字节或一连续地址进行读写操作时,需要制定其地址或首字节的地址,不同芯片地址有不同的表示方式,如下表所示,其中有些芯片的地址位的高位存储在器件地址中。
24系列EEPROM的应用(转)
2008-06-14 09:50
所看过的对24系列I2C读写时序描述最准确最容易理解的资料,尤其是关于主从器件的应答描述和页写描述,看完后明白了很多。
关于页写的描述,网络上绝大部分范程都没提到页写时的数据地址必须是每页的首地址才能准确写入,而且如果写入超过一页的数据会循环覆盖当前页的数据。
关于IIC总线
I2C总线:i2c总线是 Philips 公司首先推出的一种两线制串行传输总线。
它由一根数据线(SDA)和一根时钟线(SDL)组成。
i2c总线的数据传输过程如图3所示,基本过程为:
1、主机发出开始信号。
2、主机接着送出1字节的从机地址信息,其中最低位为读写控制码(1为读、0为写),高7位为从机器件地址代码。
3、从机发出认可信号。
4、主机开始发送信息,每发完一字节后,从机发出认可信号给主机。
5、主机发出停止信号。
I2C总线上各信号的具体说明:
开始信号:在时钟线(SCL)为高电平其间,数据线(SDA)由高变低,将产生一个开始信号。
停止信号:在时钟线(SCL)为高电平其间,数据线(SDA)由低变高,将产生一个停止信号。
应答信号:既认可信号,主机写从机时每写完一字节,如果正确从机将在下一个时钟周期将数据线(SDA)拉低,以告诉主机操作有效。
在主机读从机时正确读完一字节后,主机在下一个时钟周期同样也要将数据线(SDA)拉低,发出认可信号,告诉从机所发数据已经收妥。
(注:读从机时主机在最后1字节数据接收完以后不发应答,直接发停止信号)。
注意:在I2C通信过程中,所有的数据改变都必须在时钟线SCL为低电平时改变,在时钟线SCL为高电平时必须保持数据SDA信号的稳定,任何在时钟线为高电平时数据线上的电平改变都被认为是起始或停止信号。
作为一种非易失性存储器(NVM),24系列EEPROM使用的很普遍,一般作为数据量不太大的数据存储器。
下面总结一下其应用的一些要点。
从命名上看,24CXX 中XX的单位是kbit,如24C08,其存储容量为8k bit,即1k Byte=1024 Byte。
一、工作条件
1.工作电压(VCC)
24CXX: 4.5V-5.5V
24CXX-W:2.5V-5.5V
24CXX-R: 1.8V-5.5V
2.输入电平定义(VIH,VIL)
VIH:0.7VCC-VCC+1
VIL:-0.45V-0.3VCC
二、硬件连接
1.上拉电阻RP的取值
由于I2C总线电容要满足小于400pf的条件。
从以下波形可以看出,上拉电阻越大,总线的电容越小,可以实现的数据传输率就越大,可达400khz。
2.写保护脚
芯片写保护脚是高电平有效,即WP接高电平时禁止写入
3.地址脚
24C01/24C02 三个地址脚(E0,E1,E2)都有效,24C04只有E2,E1有效,24C08只有E2有效,24C16三个地址脚都无效,如下图所示,所谓地址脚无效是指不需要接入电路中(NC ,not connected),其对应的地址位要用来表示要操作的字节的高位地址。
24C32/24C64三个地址脚都有效;
24C128/24C256/24C512的地址脚E1和E0有效,其余为
NC;
24C1024的地址脚E1有效,其余为NC。
三、寻址方式
1.器件地址
当总线上连接多个I2C器件时,需要对器件进行寻址。
器件地址如下表所示,其中E2,E1,E0是指三个引脚的状态,取决于是接地还是接高电平,R/W为1则为读操作,为0则为写操作。
A8,A9,A10,A16指的是所要操作的字节地址的高位,后面会提到。
2.字节地址
在对芯片内的某一字节或一连续地址进行读写操作时,需要制定其地址或首字节的地址,不同芯片地址有不同的表示方式,如下表所示,其中有些芯片的地
四、读写时序
EEPROM一般在电路中做从器件,以下的发送和接收都是针对主器件说明的,开始和结束条件也是由主器件发出。
1、单字节写操作
START->发送器件地址->ack->发送字节地址->ack->发送数据->ack -> STOP
2、按“页”写操作,“页”是指高位地址一样一组数据,对于
24C01/02/04/08/16,一页数据为16字节,一页指高四位地址一样的一组数据。
对于24C32/24C64,一页数据为32字节,一页指高11位地址一样的一组数据。
START->发送器件地址->ack->发送页首地址->ack->发送数据
->ack.........-> 发送数据->ack -> STOP
3、随机单字节读操作
START->发送器件地址(写)->ack->发送字节地址->ack->START->发送器件地址(读)->ack->接收数据->noack->STOP
4、当前单字节读操作,“当前”指的是前面进行过读操作,但是没有STOP,芯片内部“指针”指的字节即为“当前”字节。
START->发送器件地址(读)->ack->接收数据->noack->STOP
5、随机连续字节读操作
START->发送器件地址(写)->ack->发送字节首地址->ack->START ->发送器件地址(读)->ack->接收数据->ack->接收数据->ack.........接收数据(最后字节)
->noack->STOP
6、当前连续字节读操作
START->发送器件地址(读)->ack->接收数据->ack->接收数据
->ack...............接收数据(最后字节)->noack->STOP
关于页写的道理。
AT24Cxx系列的EEPROM为了提高写效率,提供了页写功能,内部有个一页大小的写缓冲RAM,地址范围当然就是从00到一页大小,发生写操作时,开始送入的地址对应的页被选中,并将其内容映像到缓冲RAM,数据从低端地址对应的缓冲RAM地址开始修改,超过这个地址范围就回到00,写完后,就会把开始确定的EEPROM页擦除,再把一整页RAM数据写入。
所有写数据都发生在开始写地址时确定的页上。
如页容量为128,一页都是从00开始按128字节分成一个个的页,0页就是0~7F,1页就是80~FF,类推,边界就是128字节的整数倍地址。
页RAM的地址范围为7位00~7F,写入时高端地址就是页号。
发生写操作,开始送入的地址对应的页被锁存,后续不论写多少,都在这个页中,只是一个页内的地址进行加一,超过就归零开始。
从F0开始写32个字节,那么开始送入的地址为F0,就会锁定在1号页(第2个页)上,底端7位页内部地址开始从70H开始写,到达7F 时回到00再到10H,也就是写在了F0~FF,80~8F。
也就是,从01开始写也只能到7F,再往80写就跑到00上去了,这就是写操作的翻卷,datasheet上都有说明。
就是从边界前写两个字节也要分两次写。
页是绝对的,按整页大小排列,不是从开始写入的地址开始算。
读没有页的问题,可以从任意地址开始读取任意大小数据,只是超过整个存储器容量时地址才回卷。
但一次性访问的数据长度也不要太大。
所以分页的存储器要做好存储器管理,尽量同时读写的数据放在一个页上。
关于页写的道理。
AT24Cxx系列的EEPROM为了提高写效率,提供了页写功能,内部有个一页大小的写缓冲RAM,地址范围当然就是从00到一页大小,发生写操作时,开始送入的地址对应的页被选中,并将其内容映像到缓冲RAM,数据从低端地址对应的缓冲RAM地址开始修改,超过这个地址范围就回到00,写完后,就会把开始确定的EEPROM页擦除,再把一整页RAM数据写入。
所有写数据都发生在开始写地址时确定的页上。
如页容量为128,一页都是从00开始按128字节分成一个个的页,0页就是0~7F,1页就是80~FF,类推,边界就是128字节的整数倍地址。
页RAM的地址范围为7位00~7F,写入时高端地址就是页号。
发生写操作,开始送入的地址对应的页被锁存,后续不论写多少,都在这个页中,只是一个页内的地址进行加一,超过就归零开始。
从F0开始写32个字节,那么开始送入的地址为F0,就会锁定在1号页(第2个页)上,底端7位页内部地址开始从70H开始写,到达7F 时回到00再到10H,也就是写在了F0~FF,80~8F。
也就是,从01开始写也只能到7F,再往80写就跑到00上去了,这就是写操作的翻卷,datasheet上都有说明。
就是从边界前写两个字节也要分两次写。
页是绝对的,按整页大小排列,不是从开始写入的地址开始算。
读没有页的问题,可以从任意地址开始读取任意大小数据,只是超过整个存储器容量时地址才回卷。
但一次性访问的数据长度也不要太大。
所以分页的存储器要做好存储器管理,尽量同时读写的数据放在一个页上。