AN-1009: ADM106x EEPROM的块擦除、块读取和块写入
本应用笔记说明如何对ADM106x EEPROM空间的单一页 面(32字节)进行块擦除、块写入和块读取。本文中为便于 说明,假设需擦除、写入和读取的EEPROM范围为0xF8; 0x00至0xF8; 0x1F。
0xF8; 0x00至0xF8; 0x1F EEPROM空间的块擦除
欲对EEPROM空间进行块擦除,请执行下列步骤。
- 将0x05写入寄存器0x90,使能EEPROM块擦除。
- 执行下面列出的所有SMBus操作。
- 发送从机地址WRITE
- 接收应答消息
- 发送EEPROM高位地址(0xF8)
- 接收应答消息
- 发送EEPROM低位地址(0x00)
- 接收应答消息
- 发送STOP
- 发送从机地址WRITE
- 接收应答消息
- 发送页擦除命令代码(0xFE)
- 接收应答消息
- 发送STOP
- 对于要擦除的EEPROM每一页,重复执行第2步中的程 序。但是,低位地址(发送EEPROM低位地址)应递增32 字节,例如:0x20、0x40、0x60、0x80、0xA0、0xC0和 0xE0。
- 将0x01写入寄存器0x90,禁用EEPROM块擦除。
0xF8; 0x00至0xF8; 0x1F EEPROM空间的块写入
欲对EEPROM空间进行块写入,请执行下列步骤。
- 执行下面列出的所有操作。
- 发送从机地址WRITE
- 接收应答消息
- 发送EEPROM高位地址(0xF8)
- 接收应答消息
- 发送EEPROM低位地址(0x00)
- 接收应答消息
- 发送STOP
- 发送从机地址WRITE
- 接收应答消息
- 发送块写入命令(0xFC)
- 接收应答消息
- 发送要写入的字节数(0x20)
- 接收应答消息
- 发送32字节的数据
- 每发送一个字节后从器件接收应答消息
- 发送STOP
- 对于要写入的EEPROM每一页,重复执行第1步中的程 序。但是,低位地址(发送EEPROM低位地址)应递增32 字节,例如:0x20、0x40、0x60、0x80、0xA0、0xC0和 0xE0。
0xF8; 0x00至0xF8; 0x1F EEPROM空间的块读取
欲对EEPROM空间进行块读取,请执行下列步骤。
- 将0x01写入寄存器0x90,使能配置寄存器连续更新。
- 执行下面列出的所有操作。
- 发送从机地址WRITE
- 接收应答消息
- 发送EEPROM高位地址(0xF8)
- 接收应答消息
- 发送EEPROM低位地址(0x00)
- 接收应答消息
- 发送STOP
- 发送从机地址WRITE
- 接收应答消息
- 发送块读取命令(0xFD)
- 接收应答消息
- 发送从机地址READ
- 接收应答消息
- 接收要读取的数据字节数(0x20)
- 发送主机应答消息
- 接收32字节的数据
- 每接收一个字节后发送主机应答消息
- 发送STOP
- 对于要读取的EEPROM每一页,重复执行第2步中的程 序。但是,低位地址(发送EEPROM低位地址)应递增32 字节,例如:0x20、0x40、0x60、0x80、0xA0、0xC0和 0xE0。