嵌入式——EEPROM(AT24C02)

目录

一、初识AT24C02

1. 介绍

2. 引脚功能

补:

二、AT24C02组成

1. 存储结构

2. AT24C02通讯地址

3. AT24C02寻址方式

(1)芯片寻址

(2)片内子地址寻址

三、AT24C02读写时序

1. 写操作

(1)字节写入方式

流程:

(2)页写入方式

2. 读操作

(1)立即读方式

流程:

(2)指定地址读方式

流程:

(3)连续读方式

补充:


一、初识AT24C02

1. 介绍

        AT24C02是 低工作电压的 2Kb 串行电可擦除 只读存储器,可存储 256个字节 数据,内部有一个 16字节页写缓冲器。AT24C02工作电压 1.8~5.5V,采用二线制 IIC数据传输协议,支持硬件写保护,能擦写 100万次,数据可保存 100年。

        通过器件地址输入端 A0、A1和 A2可以实现将 最多 8个 AT24C02器件 连接到 IIC总线上

     补:EEPROM 是一种 掉电后数据不丢失的储存器,常用来存储一些配置信息,在系统重新上电时就可以加载。 ​​​​


详细描述可以参考:        

    常用存储器http://t.csdnimg.cn/TyKsuicon-default.png?t=N7T8http://t.csdnimg.cn/TyKsu

2. 引脚功能

补:

    ① A2、A1、A0:器件地址输入引脚。AT24C02 在一个总线上最多可寻址 8个器件,A2、A1 和 A0 必须连接。

    ② SDA:可实现 双向串行数据传输。该引脚为 开漏输出,可与其他 多个开漏输出器件 或开集电极器件线 或连接。

    ③ SCL:在 SCL输入时钟信号的 上升沿将数据送入 EEPROM器件,并在时钟的 下降沿将数据读出。

    ④ VCC、GND:2~6V 电源输入。

二、AT24C02组成

1. 存储结构

        AT24C02的存储容量为 256 Byte,由 32页 组成且每页8 Byte

2. AT24C02通讯地址

        主器件通过 发送一个 起始信号 启动发送过程,然后 发送它所要 寻址的 从器件的地址。高 4位 固定为 1010,接下来的 3位 A2、A1、A0为器件 的地址位(由器件 1~3引脚外接电平决定),用来 寻址哪个器件 被主器件访问,8位 地址的 最低位作为读写控制位( 1表示对 从器件进行读操作,0 表示对从器件 进行写操作 )。

        在主器件 发送起始信号 和从器件地址字节后,AT24C02监视 总线并当 其地址与发送的从地址相符时 响应一个 应答信号(通过SDA线),再根据 读写控制位 R / W 的状态进行 读或写操作

(1)不可编程部分:1010。

(2)可编程部分:由硬件管脚 A0 / 1 / 2决定。

(3)数据传输方向:读数据‘1’还是写数据‘0’。写操作地址:0xA0    读操作地址:0xA1

3. AT24C02寻址方式

        AT24C02有两种寻址方式:芯片寻址、片内子地址寻址

(1)芯片寻址

        AT24C02芯片地址固定为1010,它是 IIC总线器件的 特征编码,其地址控制字的格式为 1010 A2 A1 A0 R/WA2 A1 A0 引脚接高、低电平后得到 确定的 3位编码,与1010 形成的 7位编码,即为 该器件的地址码。由于 A2 A1 A0共有 8种组合,故系统最多可外接 8片 AT24C02R / W是 对芯片的 读 / 写控制位

(2)片内子地址寻址

        确定AT24C02芯片的 7位地址码 后,片内的存储空间 可用 1字节的 地址码寻址,寻址范围为00H~FFH,可对片内的 256个单元进行 读 / 写操作。

三、AT24C02读写时序

1. 写操作

        AT24C02有两种写入方式:字节写入方式 和 页写入方式。字节写模式 就是一个地址一个数据进行写入。页写模式 就是连续写入数据。

        只需要写一个地址,连续写入数据时 地址会自增,但存在 页的限制超出一页时,超出数据覆盖原 先写入的数据。但 读会自动翻页

(1)字节写入方式

        单片机(主器件)先发送启动信号和 1 字节的控制字,从器件 发出应答信号后,单片机再发送 1 字节 的存储单元子地址(AT24C02芯片内部 单元的地址码),单片机收到 AT24C02应答后,再发送 8位数据 和 1 位终止信号

流程:

    ① 主器件 发送起始命令 和 从器件地址信息(R / W 位置0),等待 从器件应答。

    ② 主器件 发送 一个地址字节( 数据要写入的 AT24C02 地址单元 ),等待 从器件应答。        

    ③ 主器件 发送待 写数据字节,等待 从器件应答。

    ④ 主器件 发送停止信号后,AT24C02 开始 内部数据的 擦写,在内部擦写过程中,AT24C02 不再应答 主器件的 任何请求。

(2)页写入方式

        单片机先发送启动信号和 1 字节 的控制字,再发送1字节的 存储器起始单元地址,上述几字节都得到 AT24C02的 应答后,就可以发送最多 1页的数据,即一次写入最多 16个字节的数据至 AT24C02。

        数据页写操作的 启动和字节 写一样,不同在于 传送了1 字节数据 后并不产生 停止信号。主器件可以发送 15个额外的字节,每发送一个字节数据后,AT24C02 产生一个 应答位并将字节 地址低 4 位 加 1( 1111 加 1 变成 0000),高 4 位 保持不变。同时数据 顺序存放在由 已指定的起始地址开始的 相继单元中

        如果在 发送停止信号 之前 主器件 发送超过 16个 字节数据,先前 写入的 数据将被 顺序覆盖,AT24C02 只保留 最后传输的 16个字节 数据。

        主器件发送停止信号后,AT24C02 启动内部写周期,将数据写到数据区。所有接收的数据在一个写周期内 写入,写一个字节与同时写 16个 字节的 时间相同,整个写周期大约需要 10ms。

2. 读操作

        AT24C02的读操作也有三种方式:立即读方式、指定地址读方式和指定地址连续读方式

(1)立即读方式

        AT24C02的 地址计数器内容为 最后操作字节 的地址加 1。也就是说,如果上次 读 / 写 的操作地址为 N,则立 即读的地址 从地址 N+1 开始。如果 N=255,则地址计数器 将翻转到 0 且继续输出数据。

流程:

    ① 主器件 发送起始命令 和 从器件地址信息( R / W 位置 1 )。

    ② AT24C02 发送 应答信号,应答 后发送一个 8位 字节数据

    ③ 主器件 发送 停止信号,结束 读操作。

(2)指定地址读方式

        单片机 发送启动信号后,先 发送含有芯片 地址的 写操作控制字,AT24C02 应答后,单片机再发送 1 字节 的指定单元 的地址,AT24C02 应答后再发送 1个 含有芯片 地址的 读操作 控制字,此时如果 AT24C02 做出应答,被访问 单元的数据就 会按 SCL信号同步 出现在SDA线上,供单片机 读取。

流程:

    ① 主器件 发送起始命令 和 从器件地址信息( R / W 位置 0 ),等待 从器件应答。

    ② 主器件 发送一个 地址字节( 要读的数据 地址单元 ),等待 从器件应答。

    ③主器件 重发起始 信号,执行一次 立即 地址读操作。

(3)连续读方式

        连续读操作可通过 立即读 或 指定地址读操作启动,在 AT24C02 发送完一个 8 位 字节数据后,主器件 产生一个 应答信号来 响应,告知 AT24C02 主器件要求 更多的数据,只有 AT24C02检测到应答信号后,其 内部的 地址寄存器 就自动加 1 指向 下一个单元,并顺序 将指向 单元的数据送到 SDA 线上。对应 每个主机产生的 应答信号,AT24C02 将发送 一个数据字节,当 主器件不发送应答信号而 发送停止位 时结束此操作。

        从 AT24C02 输出的数据按顺序由 N 到 N+1 输出。读操作时,地址计数器在 AT24C02 整个地址内 增加,这样 整个寄存器区域 可在一个读操作内全部读出当前读取的 字节地址为255时,地址计数器 将翻转到 0 并继续 输出 数据字节。

补充:

        在 IIC总线 上每次传送的 数据字节数不限,但 每一个字节必须为 8 位,而且 每个传送的字节 后面必须 跟一个 应答信号每次 都是先传 最高位,通常 从器件在 接收到 每个字节后都会 做出响应,即释放 SCL线 返回高电平,准备 接收下一个 数据字节,主器件 可继续 传送。

        如果 从器件 正在处理一个 实时事件而 不能接收数据 时,可以 使时钟线 SCL 保持 低电平,从器件 必须使 SDA 保持高电平,此时 主器件产生 1 个 结束信号,使传 送异常结束,迫使主器件 处于 等待状态。当 从器件处理 完毕时将 释放 SCL 线,主器件 继续 完成传送。


                                                                相关代码近期补充。

可参考这篇文章:

    嵌入式—— IIC

http://t.csdnimg.cn/npQnHicon-default.png?t=N7T8http://t.csdnimg.cn/npQnH