简单PLD
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。
全部0条评论
快来发表一下你的评论吧 !