|
本帖最后由 超級狗 于 2019-10-22 14:22 编辑 1 M$ h+ \* [9 Z( x
4 i0 I& j' a; ~1 `/ t5 u% Z$ j6 M3 E6 {樓主:
{) P. m3 ~8 Q x6 {- t我們以前在產品上做過類似的功能,但在實際應用上曾經遭遇過一些問題,在此提醒一下!
# d5 f% T7 y9 u
- [- D1 A, M$ Z6 L o, H( ^遭遇問題
; [, S W: G& {8 E! |假若掉電的時間點無法被控制,萬一剛好發生在寫入數據時,造成結尾標記沒被寫入,或是資料只寫到一半,這個會是一個大問題。. n |; K( O0 d8 M! x
- f, S- K6 b+ D0 X' D- @0 C
解決方法
) `5 q8 l) J: X \6 T7 J- 系統應具備掉電偵測功能,當掉電發生時趕快把數據寫入 Serial EEPROM/Flash/FRAM 中。) E( W- k" }, M, g9 _: ~
此功能可透過有掉電(Brownout)偵測的 MCU,或是使用外部的電壓偵測芯片,產生插斷給 MCU 做緊急處置! - 如果數據量頗多,MCU 仍來不及寫入,可加大電容做延遲掉電的設計。前題是數據量不能大到太離譜,延遲掉電時間被拉太長,反而在系統上下電時,會產生另外一些問題。3 O7 J% E6 `9 z( J
" N" R4 ?" h+ Y& _

9 S; {" ]9 g. r5 J+ s+ X
0 V, w% n+ K }& n |
|