大家在GD32 MCU應用時,是否會碰到以下應用需求:希望在MCU掉電時保存一定的數據或標志,用以記錄一些關鍵的數據。
以GD32E103為例,數據的存儲介質可以選擇內部Flash或者備份數據寄存器。
如下圖所示,片內Flash具有10年的保存壽命,10萬次擦寫,頁擦除時間在3.5ms,字寫入時間在40us左右,Flash特性決定Flash需要先擦后寫,擦寫要求的電壓范圍為供電范圍:1.8V-3.6V.

GD32 MCU基本都支持備份數據寄存器,GD32E103系列支持84字節數據寄存器,可以在VDD掉電,VBAT有電的情況下進行數據保存,備份數據寄存器不需要擦除可以直接寫入,數據更新速度較快。
下面為大家介紹數據掉電保存的實現,電源掉電的檢測可以選擇使用LVD低壓檢測功能,如下圖所示,LVD 的功能是檢測 VDD / VDDA 供電電壓是否低于低電壓檢測閾值,該閾值由電源控制寄存器(PMU_CTL) 中的 LVDT[2:0]位進行配置。 LVD 通過 LVDEN 置位使能,位于電源控制和狀態寄存器(PMU_CS) 中的 LVDF 位表示低電壓事件是否出現,該事件連接至 EXTI 的第 16 線,用戶可以通過配置 EXTI 的第 16 線產生相應的中斷。

使用LVD檢測到掉電事件后,從LVD閾值到PDR電壓之間會有一個時間窗口,可用以實現掉電數據保存,這個時間由掉電速度決定,因而對數據保存的時間要求很高。若系統供電只有VDD供電,VBAT外部未接電池或者需要保存的數據比較多的情況下,可以選擇使用內部Flash作為存儲介質,為了節省數據更新的時間,可以采用雙備份的方式,在系統運行的過程中,先擦除一個備份,檢測到掉電事件后,節省擦除時間,直接向備份區域寫入更新數據;若系統供電VBAT外接了電池,且更新的數據小于84字節,可以選擇將數據寫入備份數據寄存器,其更新速度更快。另外如果評估下來掉電時間過快來不及更新數據的話,可以從硬件上減緩掉電速度,以預留更長的時間窗口。
如果您有其他更好的方案,也喚醒評論區留言討論!
-
單片機
+關注
關注
6076文章
45495瀏覽量
670367 -
mcu
+關注
關注
147文章
18925瀏覽量
398174 -
GD32
+關注
關注
7文章
432瀏覽量
27352
發布評論請先 登錄
兆易創新GD32 MCU如何續寫嵌入式創新之路
基于兆易創新GD32L235 MCU的1KW升壓電源解決方案
基于RT-Thread與GD32F527I-EVAL的多媒體門禁系統 | 技術集結
基于兆易創新GD32F527系列MCU的多媒體門禁系統解決方案
兆易創新GD32F5xx與GD32G5xx STL軟件測試庫獲頒IEC61508功能安全認證
GD32的串口DMA收發數據失敗怎么解決?
RT-Thread適配兆易創新GD32F5系列MCU,開放免費試用申請!| 技術集結
兆易創新GD32 MCU閃耀2025慕尼黑上海電子展
GD32MCU如何實現掉電數據保存?
評論