zoukankan      html  css  js  c++  java
  • I2C读写EEPPROM(AT24CXX系列)特点

    1、概述EEPROM特点

    各型号EEPROM内存大小:

    型号 内存大小 字地址长度 WP脚
    AT24C02 2K(256字节) 一个字节0xff(256) 高电平写保护,低电平取消写保护
    AT24C04 4K(512字节) 两个字节 高电平写保护,低电平取消写保护
    AT24C32 32K(4096字节) 两个字节 高电平写保护,低电平取消写保护
    AT24C64 64k(8192字节) 两个字节 高电平写保护,低电平取消写保护

    (1)存储结构

     

     

     

     

     

     

     

    (2)EEPROM的写入方式有两种:

    • 单字节写入
    • 页写,每种型号EEPROM 页的字节数不同(24C02器件按8字节/页执行页写,24C04/08/16器件按16字节/页执行页写,24C32/64器件按32字节/页执行页写)。

    (3)地址特点

    • 地址输入----A2、A1和A0是器件地址输入引脚。
    • 24C02/32/64使用A2、A1和A0输入引脚作为硬件地址,总线上可同时级联8个24C02/32/64器件(详见器件寻址)。
    • 24C04使用A2和A1输入引脚作为硬件地址,总线上可同时级联4个24C04器件,A0为空脚,可接地。
    • 24C08使用A2输入引脚作为硬件地址,总线上可同时级联2个24C08器件,A0和A1为空脚,可接地。
    • 24C16未使用器件地址引脚,总线上最多只可连接一个16K器件,A2、A1和A0为空脚,可接地。

    2、AT24C02使用i2ctransfer读写测试:

    i2ctransfer可以对i2c挂载的设备进行读写,具体用法:

    (1)查看i2c总线有几路

    (2)查看总线上挂载设备的地址

    (3)读操作:

    如下i2ctransfer指令代表写入一个字节的子地址0x00,然后读取0x00为起始地址的256个字的数据,如果EEPROM内存超过8X256(2K)小于8x65535个字节,则子地址为两个字节

    共有256个字节,现在全为空。

     (4)写操作

    •  写8个字节的数据;

    •  写入9个字节数据:

    • 写16个字节数据:

     通过上面的读写实验可知:

      AT24C02单次写入单字节都是没有问题的,但是写入9个字节,第9个字节数据会覆盖掉第一个字节的数据。写入16个字节数据,同样只在前8个字节写入。

    AT24C02的页大小为8个字节,说明I2C写数据到AT24C02的时候,最多一次写入一页。单次写入的数据超过一页或者跨页写,则会从起始地址重新开始写入,会覆盖掉已经写入的前8个字节数据。

    由此说明:EEPROM只有单字节写入页写两种方式才能正确的写入数据

     I2C读写时序分析可参考:I2C读写EEPROM

     

  • 相关阅读:
    支持向量机(一)
    决策树(四)
    决策树(三)
    决策树(二)
    决策树(一)
    朴素贝叶斯(一)
    k近邻法(二)
    k近邻法(一)
    感知机
    mercurial 入门
  • 原文地址:https://www.cnblogs.com/yuanqiangfei/p/15588106.html
Copyright © 2011-2022 走看看