在 MCx 器件中,EEPROM 寫入程序(也在 圖 2-1 中顯示)如下:
- 停止驅(qū)動(dòng)電機(jī),以將器件置于空閑/待機(jī)狀態(tài)。在 MCF 器件中,可以通過將 0x8000000 寫入位于 0xEC 的 ALGO_DEBUG1 寄存器來停止電機(jī)。在 MCT 器件中,可以通過將 0x00008000 寫入位于 0xE8 的 DEVICE_CTRL 寄存器來停止電機(jī)。
- 發(fā)出清除故障命令以清除故障,以防器件在電機(jī)停止運(yùn)行期間遇到故障。在 MCF 器件中,可以通過將 0x30000000 寫入位于 0xEA 的 ALGO_CTRL1 寄存器來清除故障。在 MCT 器件中,可以通過將 0x30000000 寫入位于 0xE6 的 ALGO_CTRL1 寄存器來清除故障。
- 將 EEPROM 寄存器所需的值寫入 0x80-0xAE 之間的相應(yīng)影子/RAM 位置
- 通過將 0x8A500000 寫入 ALGO_CTRL1 寄存器(位于 MCF 中的 0xEA 和 MCT 器件中的 0xE6),以將影子/RAM 寄存器的內(nèi)容(位于 0x000080-0x0000AE 之間)寫入相應(yīng)的 EEPROM 寄存器,從而發(fā)出 EEPROM 寫入命令。
- 在發(fā)出 EEPROM 寫入命令之后等待 750ms。
- 750ms 后,讀取 ALGO_CTRL1 寄存器值;讀回值 0x00000000 表示 EEPROM 寫入成功。
注: EEPROM 寫入的注意事項(xiàng)
- 僅當(dāng)器件處于空閑狀態(tài)(不驅(qū)動(dòng)電機(jī)/不為電機(jī)供電)時(shí),才需要發(fā)出 EEPROM 寫入命令
- 器件電源 (VM) 需要為 ≥6V,所有電源軌(AVDD、FB_BK 和 DVDD)需要在整個(gè) EEPROM 寫入過程中保持在數(shù)據(jù)表規(guī)定的工作限值范圍內(nèi)。EEPROM 寫入過程中,任何電源軌上的欠壓故障都會(huì)使 EEPROM 寫入不完整,從而導(dǎo)致后續(xù)上電/喚醒時(shí)出現(xiàn)意外的器件行為。
- 由于 EEPROM 寫入次數(shù)存在老化/寫入周期限制,TI 不建議在每次上電/喚醒時(shí)都對(duì) EEPROM 進(jìn)行寫入。有關(guān)允許的最大 EEPROM 寫入周期數(shù),請(qǐng)參閱器件數(shù)據(jù)表。重復(fù)的寄存器設(shè)置更改可在影子/RAM 位置上完成(不寫入 EEPROM);只有默認(rèn)配置需要寫入 EEPROM(僅在首次上電時(shí))。
- 成功完成 EEPROM 寫入后,需要進(jìn)行電源復(fù)位才能使所有 EEPROM 設(shè)置更改生效。