AN-1009: ADM106x EEPROM的块擦除、块读取和块写入

本应用笔记说明如何对ADM106x EEPROM空间的单一页 面(32字节)进行块擦除、块写入和块读取。本文中为便于 说明,假设需擦除、写入和读取的EEPROM范围为0xF8; 0x00至0xF8; 0x1F。

0xF8; 0x00至0xF8; 0x1F EEPROM空间的块擦除

欲对EEPROM空间进行块擦除,请执行下列步骤。

  1. 将0x05写入寄存器0x90,使能EEPROM块擦除。
  2. 执行下面列出的所有SMBus操作。

    • 发送从机地址WRITE
    • 接收应答消息
    • 发送EEPROM高位地址(0xF8)
    • 接收应答消息
    • 发送EEPROM低位地址(0x00)
    • 接收应答消息
    • 发送STOP
    • 发送从机地址WRITE
    • 接收应答消息
    • 发送页擦除命令代码(0xFE)
    • 接收应答消息
    • 发送STOP
  3. 对于要擦除的EEPROM每一页,重复执行第2步中的程 序。但是,低位地址(发送EEPROM低位地址)应递增32 字节,例如:0x20、0x40、0x60、0x80、0xA0、0xC0和 0xE0。
  4. 将0x01写入寄存器0x90,禁用EEPROM块擦除。

0xF8; 0x00至0xF8; 0x1F EEPROM空间的块写入

欲对EEPROM空间进行块写入,请执行下列步骤。

  1. 执行下面列出的所有操作。

    • 发送从机地址WRITE
    • 接收应答消息
    • 发送EEPROM高位地址(0xF8)
    • 接收应答消息
    • 发送EEPROM低位地址(0x00)
    • 接收应答消息
    • 发送STOP
    • 发送从机地址WRITE
    • 接收应答消息
    • 发送块写入命令(0xFC)
    • 接收应答消息
    • 发送要写入的字节数(0x20)
    • 接收应答消息
    • 发送32字节的数据
    • 每发送一个字节后从器件接收应答消息
    • 发送STOP
  2. 对于要写入的EEPROM每一页,重复执行第1步中的程 序。但是,低位地址(发送EEPROM低位地址)应递增32 字节,例如:0x20、0x40、0x60、0x80、0xA0、0xC0和 0xE0。

0xF8; 0x00至0xF8; 0x1F EEPROM空间的块读取

欲对EEPROM空间进行块读取,请执行下列步骤。

  1. 将0x01写入寄存器0x90,使能配置寄存器连续更新。
  2. 执行下面列出的所有操作。

    • 发送从机地址WRITE
    • 接收应答消息
    • 发送EEPROM高位地址(0xF8)
    • 接收应答消息
    • 发送EEPROM低位地址(0x00)
    • 接收应答消息
    • 发送STOP
    • 发送从机地址WRITE
    • 接收应答消息
    • 发送块读取命令(0xFD)
    • 接收应答消息
    • 发送从机地址READ
    • 接收应答消息
    • 接收要读取的数据字节数(0x20)
    • 发送主机应答消息
    • 接收32字节的数据
    • 每接收一个字节后发送主机应答消息
    • 发送STOP
  3. 对于要读取的EEPROM每一页,重复执行第2步中的程 序。但是,低位地址(发送EEPROM低位地址)应递增32 字节,例如:0x20、0x40、0x60、0x80、0xA0、0xC0和 0xE0。


作者

Generic_Author_image

Enrico Del Mastro

Generic_Author_image

Michael Bradley