本應(yīng)用筆記介紹如何擦除超級時序控制器的EEPROM空間,以及如何逐字節(jié)地寫入該空間。
成塊擦除EEPROM空間
欲對EEPROM空間進行塊擦除,請執(zhí)行下列步驟。
1. 將0x01寫入UPDCFG寄存器0x90。這是存儲器更新控制寄存器。向寄存器0x90寫入0x01能使配置寄存器持續(xù)更新。建議在整個讀/寫在線測試(ICT)過程中使該位保持置位狀態(tài)。
2. 擦除或訪問0xFA00到0xFBFF地址范圍的EEPROM時,首先必須中止時序控制引擎。將0x01寫入SECTRL寄存器0x93以中止時序控制引擎。每次對時序控制引擎的EEPROM空間執(zhí)行讀或?qū)懱幚頃r,都必須中止該引擎。
3. 擦除或訪問ADM1166/ADM1168/ADM1169上0xF800到0xF89F或0xF900到0xF9FF地址范圍的EEPROM時,應(yīng)將0x01寫入BBCTRL寄存器0x9C。該寫操作中止黑盒操作,并訪問0xF800到0xF89F和0xF900到0xF9FF地址范圍的EEPROM。
4. 將0x05寫入UPDCFG寄存器0x90。此寫操作使能EEPROM塊擦除功能。
5. 利用下面列出的程序擦除任何EEPROM空間中的頁面。該程序分解了單頁擦除功能的系統(tǒng)管理總線(SMBus)處理。
? 發(fā)送從機地址。? 接收應(yīng)答消息。? 發(fā)送EEPROM高位地址(例如0xFA)。? 接收應(yīng)答消息。? 發(fā)送EEPROM低位地址(例如0x00)。? 接收應(yīng)答消息。? 發(fā)送停止消息。? 發(fā)送從機地址。? 接收應(yīng)答消息。? 發(fā)送頁擦除命令代碼(0xFE)。? 接收應(yīng)答消息。? 發(fā)送停止消息。
6. 對于要擦除的每一頁,將低位地址遞增32字節(jié),即0x20、0x40、0x60、0x80、0xA0、0xC0和0xE0,然后重復第4步中的例行程序。
7. 擦除所有頁面后,重復第4步中的例行程序,根據(jù)需要將高位地址更改為0xF9、0xFA或0xFB,并按照第6步所述設(shè)置低位頁面地址。
8. 將0x01寫入寄存器0x90。此寫操作將禁用EEPROM塊擦除功能。
注意:EEPROM 0xF8地址范圍(0xF8A0至0xF8FF)被保留,若試圖訪問此范圍,將產(chǎn)生不應(yīng)答(NACK)。
逐字節(jié)寫入EEPROM空間
字節(jié)寫入
1. 要逐字節(jié)寫入EEPROM空間,請執(zhí)行下列步驟:? 發(fā)送從機地址。? 接收應(yīng)答消息。? 發(fā)送EEPROM高位地址(例如0xF8)。? 接收應(yīng)答消息。? 發(fā)送EEPROM低位地址(例如0x00)。? 接收應(yīng)答消息。? 發(fā)送數(shù)據(jù)。? 從機應(yīng)答。? 發(fā)送停止消息。
2. 對于全部0xF8 EEPROM空間,重復第1步中的例行程序。不過,每寫入一個字節(jié)的數(shù)據(jù)后,必須遞增低位地址。
3. 當0xF8地址范圍內(nèi)的全部EEPROM(0xFA00至0xFBFF)均已寫入時,將高位地址更改為0xF9、0xFA或0xFB,然后重復第1步和第2步。
4. 在0xFA00至0xFBFF范圍內(nèi)進行編程時,應(yīng)將0x00寫入SECTRL寄存器0x93,使時序控制引擎進入正常工作模式。
5. 對ADM1166/ADM1168/ADM1169上0xF800到0xF89F或0xF900到0xF9FF地址范圍的EEPROM進行編程時,應(yīng)將0x00寫入BBCTRL寄存器0x9C,以使能黑盒。
ADM1166/ADM1168/ADM1169考慮因素
黑盒利用0xF980至0xF9FF地址范圍存儲黑盒故障記錄。當使能一個或多個黑盒觸發(fā)器寫入EEPROM時,0xF800至0xF9FF地址范圍的EEPROM就會激活一個訪問鎖。因此,讀取、寫入或嘗試擦除0xF800到0xF89F或0xF900到0xF9FF地址范圍的EEPROM之前,必須禁用黑盒功能以確保能夠訪問。要禁用黑盒功能,應(yīng)向BBCTRL寄存器0x9C寫入0x01。不再需要訪問EEPROM時,應(yīng)向BBCTRL寄存器0x9C寫入0x00以重新使能黑盒功能。
如果擦除存儲器區(qū)域0xF980至0xF9FF以清除任何現(xiàn)有黑盒故障記錄,則還需要復位黑盒寫入的下一個可用位置,即向BBSEARCH寄存器0xD9寫入0x01。
-
控制器
+關(guān)注
關(guān)注
114文章
17065瀏覽量
183697 -
寄存器
+關(guān)注
關(guān)注
31文章
5432瀏覽量
124048 -
EEPROM
+關(guān)注
關(guān)注
9文章
1085瀏覽量
83575
原文標題:超級時序控制器的EEPROM擦除和編程
文章出處:【微信號:motorcontrol365,微信公眾號:電機控制設(shè)計加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于HPM6000系列芯片如何使用Flash模擬EEPROM存儲參數(shù)
XMC4200的EEPROM仿真時,EEPROM數(shù)據(jù)都被擦除了的原因?
單片機的EEPROM的擦除/寫入/讀出
STM8會擦除內(nèi)部EEPROM
超級時序控制器的EEPROM擦除和編程
EEPROM多字節(jié)讀寫操作時序相關(guān)資料下載
EEPROM暫存器的內(nèi)部存儲空間是由哪些部分組成的
stm8的eeprom可以字節(jié)擦除嗎?
ADM106x EEPROM的塊擦除、塊讀取和塊寫入
ADI AN-1009應(yīng)用筆記:ADM106x EEPROM的讀寫操作
成塊擦除EEPROM空間的步驟及超級時序控制器的EEPROM編程方法
基于SPI的EEPROM控制器設(shè)計與實現(xiàn)

單片機:EEPROM 多字節(jié)讀寫操作時序

AN-0973: 超級時序控制器的EEPROM擦除和編程

評論