ADI 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。
評論