一、MC33772C 掛載 EEPROM 電路
1、MC33772C 有 I2C 接口,支持掛載 EEPROM, 電路圖如下,
2、MC33772C 掛載 EEPROM 物理地址的要求
如上圖所示,用戶定義的 A0~A2 均接地處理,這是由於 MC33772 僅支持特定的物理地址,只支持固定物理地址的EEPROM,用戶無法修改地址。
3、MC33772C 識別到的 EEPROM 波形
MC33772 識別到的 EEPROM 器件地址為 1010 000Xb ,即 7 bit 高 4 位是 1010,其餘低三位的用戶定義的地址統一接低電平為 0 即可。
二、MC33772C EEPROM 通信
1、 MC33772C 數據手冊通信描述如下表,MC33772C 的寄存器如下
從下表結合數據手冊的描述可以知道:
寫 EEPROM:首先向 MC33772C 寄存器寫入 數據地址 & 寫入的數據,以及寄存器的最高位置 0 是寫操作;
讀 EEPROM:首先向 MC33772C 寄存器寫入 數據地址,以及寄存器的最高位置 1 是讀操作,之後再通過讀 MC33772C 的寄存器獲取 EEPROM 返回的數據
EEPROM_CTRL | ||||||||||||||||
$6C | bit 15 | bit 14 | bit 13 | bit 12 | bit 11 | bit 10 | bit 9 | bit 8 | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 |
Write | R/W | EEPROM_ADD | DATA_TO_WRITE | |||||||||||||
Read | BUSY | ERROR | EE_PRESENT | 0 | 0 | 0 | 0 | 0 | READ_DATA | |||||||
Reset | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
R/W | Description | Write/Read bit, directs the MC33772C to read or write from EEPROM | ||||||||||||||
0 | Write | |||||||||||||||
1 | Read | |||||||||||||||
Reset condition | POR | |||||||||||||||
EEPROM_ADD | Description | EEPROM address to read or write | ||||||||||||||
Reset condition | POR | |||||||||||||||
DATA_TO_WRITE | Description | DATA_TO_WRITE | ||||||||||||||
Reset condition | POR |
2、MC33772C 數據通信格式
從上圖的寄存器描述中,可以看到沒有器件的地址可以添加寫入,對應了 MC33772C 自動識別特定地址的 EEPROM, 而且用戶使用時,只能寫入數據地址和數據,數據地址僅支持 一個字節,所以掛載的 EEPROM 用下面的描述的時候,可能會與 MC33772C 通信有問題,導致數據寫不進去也讀不出來,如下波形。
3、MC33772C EEPROM 尋址範圍
由於 MC33772C 的數據地址只有 7 bit, 所以尋址的範圍只有 0~127 範圍的字節,而且根據數據手冊的描述,用戶不要編輯地址是0的寄存器,因為地址是0的EEPROM里的值已經被772寫成0xCB了,客戶只能從地址1開始寫寄存器值。
評論