AT24C512是Atmel公司生产的64KB串行电可擦的可编程存储器,内部有512页,每一页为128字节,任一单元的地址为16位,地址范围为0000~0FFFFH。它采用8引脚封装,具有结构紧凑、存储容量大等特点,可以在2线总线上并接4片芯片,特别适用于具有大容量数据存储要求的数据采集系统,因此在测控系统中被大量采用。 The AT24C512 provides 524,288 bits of serial electrically erasable and programmable read only memory (EEPROM) organized as 65,536 words of 8 bits each. The device’s cascadable feature allows up to four devices to share a common two-wire bus. The device is optimized for use in many industrial and commercial applications where lowpower and low-voltage operation are essential. The devices are available in spacesaving 8-pin PDIP, 8-lead EIAJ SOIC, 8-lead JEDEC SOIC, 8-lead TSSOP, 8-lead Leadless Array (LAP), and 8-lead SAP packages. In addition, the entire family is available in 2.7V (2.7V to 5.5V) and 1.8V (1.8V to 3.6V) versions.
AT24C512 封装如图1所示,各引脚的功能如下:
AT24C512,512K串行EEPROM:512K被内部划分为512页,每页128字节。随机寻址需要16位的数据地址。
在对AT24C512开始操作前,需要先发一个8位的地址字来选择芯片以进行读写。设备地址字格式如图2所示。其中“10100”为固定的5位二进制;A0、A1用于对多个AT24C512加以区分;R/W为读写操作位,为1时表示读操作,为0时表示写操作。 这个512K的EEPROM需要在启动状态后跟一个8位器件地址来允许芯片的读或写操作。器件地址的前5个最高有效位强制地由“1”、“0”顺序组成。这是两线EEPROM器件的共同点。 AT24C512使用两个器件地址位A1、A0来使得在一条总线上可以有多达四个器件。这些位必须和它们对应的硬件输入引脚相符。若A1和A0引脚被悬空,则它们利用内部电路将它们偏流到逻辑低状态。 器件地址的第八位是读/写操作选择位。若该位为高则初始化了读操作而该位为低时初始化了写操作。 器件地址相符时,EEPROM将输出一个“0”。若器件地址不符,EEPROM器件将返回待机状态。
AT24C512 具有硬件数据保护设计,当WP引脚电压为Vcc时允许用户写保护整个存储器。
AT24C512 的写操作有写字节和写页两种方式。写字节时通常在向AT24C512发送设备地址字并接到应答信号后,还需要发送2个8位地址来选择要写数据的地址。AT24C512接收到这个地址后会应答一个零信号,然后接收8位数据进来,并再返回一个零应答信号。在写页方式时,AT24C512可以一次性写入一页128字节。其初始化过程与写字节的方法基本相同。不同的是:当写入一个数据字节后,单片机不发停止状态,而是在应答信号后接着输入127个字节;每一个字节接收完毕后,AT24C512则照样输出一个零应答信号。 字节写:写操作需要在器件地址字节和应答之后紧跟两个8位数据字节地址。收到这两个字节地址,EEPROM将再次以一个“0”来回应然后逐个移进第一个8位数据字节。在收到这个8位数据字节之后,EEPROM将输出一个“0”。寻址器件,如微控制器,必须以停止状态来结束写时序。这时EEPROM进入将数据写入非易失性存储器内部的定时写周期,tWR。在这个写入过程中,EEPROM所有输入均禁止而无响应直到写入过程结束。
整页写:这个512K的EEPROM是可以以128字节的页来写入的。
整页写的初始化过程和字节写的一样,不过微控制器在移出第一个数据字节后不发出停止状态。而是在EEPROM应答第一个数据字节之后,微控制器可以发送更多达127数据字节。EEPROM将在接收到每个数据字节后以一个“0”来响应。微控制器必须以一个停止状态来结束整页写时序。
数据字节地址的低7位在接收到每个数据字节后在内部递增。数据字节地址的更高位不增加,保持存储器页的列位置。当字节地址在内部递增到达页边界时,后面的数据字节被存放到同一页的开始。若有多于128数据字节发送到EEPROM,数据字节地址将“回绕”而之前的数据会被覆盖。该地址在写操作过程中的回绕是从当前页的最后字节回到同一页的第一字节。
应答轮询:一旦内部定时的写周期启动而EEPROM输入均禁止,就可以开始应答轮询过程。这个过程就是在器件地址字节之后发送启动状态。读/写位代表期望的操作。仅在内部写过程结束后,EEPROM才会以“0”来响应,以允许读或者写时序的继续。
读操作有当前地址读、随机读、读串三种方式。其初始化过程基本与写操作相同,只是在设备选择字中的最低位要改成读而已。在当前地址读操作方式时,内部数据的地址将保持在最后的读写操作地址加1上,直到读到最后字节后又回到最开始的位置。而随机读操作之前先要向AT24C512写入一个字节地址,然后才能读。读串操作既可以是当前地址读,也可以是随机地址读。当单片机接收到一个数据字后,会回应一个应答信号。AT24C512 在接收到应答信号后会将地址加1,接着输出下一个字节。当单片机接收到数据但不送应答信号时,读过程结束。读操作除了器件地址字节中的读写选择位为“1”之外和写操作的初始化是一样的。
当前地址读:内部的数据字节地址计数器保持最后读或写操作的最后地址加“1”。这个地址只要芯片的电源维持着就在各操作间一直有效。在读操作过程中的回绕是从存储器最后一页的最后字节到第一页的第一字节。
一旦读/写选择位为“1”的器件地址被移入并被EEPROM应答之后,当前地址数据字节就被顺序移出。微控制器不以“0”来响应而是产生一个停止状态。
随机读:随机读需要一个“伪”字节写时序来装载数据字节地址。一旦器件地址字节和数据字节地址被移入而EEPROM产生应答,微控制器必须产生另外一个启动状态。这时微控制器通过发送读/写选择位为高的器件地址来开始当前地址读。EEPROM应答器件地址并顺序移出数据字节。微控制器不以“0”来响应而是产生一个停止状态。
顺序读:顺序读由当前地址读或者随机地址读开始。在微控制器接收到一个数据字节之后,它以一个应答来响应。只要EEPROM接收到应答,它将继续递增数据字节地址并顺序移出后续的数据字节。在达到存储器地址边界后,数据字节地址将回绕而顺序读将继续。顺序读操作在微控制器不是以“0”来响应而是产生一个停止状态时结束。
由于AT24C512沿袭了AT24C系列的接口特性,因此与单片机的连接也可沿袭传统方法。一般A0、A1、WP接VCC或GND,SCL、SDA接地单片机的P1口,即可实现单片机对AT24C512的操作。
Ordering Code | Package | Operation Range |
AT24C512C1-10CU-2.7 AT24C512C1-10CU-1.8 AT24C512-10PU-2.7 AT24C512-10PU-1.8 AT24C512W-10SU-2.7 AT24C512W-10SU-1.8 AT24C512N-10SU-2.7 AT24C512N-10SU-1.8 AT24C512-10TU-2.7 AT24C512-10TU-1.8 AT24C512Y4-10YU-1.8 AT24C512U4-10UU-1.8 |
8CN1 8CN1 8P3 8P3 8S2 8S2 8S1 8S1 8A2 8A2 8Y4 8U4-1 |
Lead-free/Halogen-free/ Industrial Temperature (–40°C to 85°C) |
AT24C512-W1.8-11(3) | Die Sale | Industrial Temperature (–40°C to 85°C) |
AT24C512 注意事项Notes:
技术支持邮箱:WOSENDONGLI@hotmail.com