EEPROM讀寫操作常見的陷阱


在項目開發中經常使用到EEPROM,現在把自己開發中曾經遇到的陷阱和自己的解決方法列出。(1)現象:加密型遙控器的ID自動丟失和改變。 
       原因:在更新EEPROM過程中,斷開電源。 
       解決方法:
       a.更改設計避免在寫入EEPROM過程中斷開電源;
       b.增加100uF的電容,斷電后瞬間維持EEPROM供電正常至EEPROM寫入完成。
(2)現象:保存在EEPROM里的配置信息自動被改變。 
       原因:在EEPROM讀寫過程中進入了中斷服務程序,而中斷服務程序也調用了EEPROM讀寫函數。 
       解決方法:
      a.保證EEPROM讀寫函數的第一句是cli(),最后一句是sei();
      b.中斷服務程序不直接調用EEPROM讀寫函數,如果SRAM足夠大使用讀寫緩沖區代替直接讀寫EEPROM,中斷返回后在主循環粒更新EEPROM;
      c.如果檢測到EEPROM已被占用,則進入阻塞狀態,等待EEPROM釋放后繼續執行;
      d.如果EEPROM里的數據長度大於EEPROM最小存儲單元,必須保證該數據的讀寫不被打斷。
(3)現象:突然斷電時,EEPROM數據偶爾會丟失。 原因:在斷電時剛好在進行EEPROM寫操作。
        解決方法:加大電源濾波電容的容量,增加電壓檢測功能,當電壓偏低時禁止EEPROM寫入操作。
(4)現象:當大功率交流或直流電機啟動或后,EEPROM里的數據自動丟失或改變。 
       原因:在大功率電機啟動或斷開瞬間EMI干擾大。
       解決方法:
       a.避開這些時候讀寫EEPROM。
       b.如果無法避開這些時候,啟動EEPROM寫保護功能,並且每個數據都保存多個副本。
       c.使EEPROM和EEPROM的DAT,CLK等信號線遠離可能產生干擾的元件,並且避免形成大的環路。
      d.使用EMI抑制電路降低干擾幅度


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM