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