0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32系統(tǒng)的應(yīng)用中如何避免數(shù)據(jù)受斷電影響

454398 ? 來源:上海韜放電子 ? 作者:上海韜放電子 ? 2020-12-11 17:23 ? 次閱讀

嵌入式設(shè)備的開發(fā)中,斷電時(shí)通常需要保存一些非易失性數(shù)據(jù)。如果添加了系統(tǒng)配置,用戶定義的信息等,并且添加了額外的ROM IC(例如基于I2C的24C02等),則額外的PCB空間將增加,硬件成本將增加,并且產(chǎn)品將減少。如果僅從實(shí)用角度出發(fā),在諸如STM32系統(tǒng)的應(yīng)用中,作者建議可以嘗試以下兩種方法并作為參考。

基于備份寄存器

原理:對于大容量MCU系列,它具有42個(gè)16位備份寄存器,而中小型微處理器僅具有10個(gè)16位備份寄存器。以stm32f103c8t6為例,這42個(gè)備份寄存器的地址偏移量為:0x04?0x28、0x40?0xbc,可以存儲84個(gè)字節(jié)的數(shù)據(jù)。備用寄存器取決于備用電源。當(dāng)外部VDD掉電時(shí),只要系統(tǒng)的Vbat可以正常存在,Bakeup domaain寄存器的內(nèi)容就可以正常保存。

軟件編程的要點(diǎn)如下:以一個(gè)項(xiàng)目中常用的案例為例

函數(shù)初始化:

讀取備份寄存器:void BKP_ WriteBackupRegister(uint16_ t BKP_ DR,uint16_ t Data)

讀取備份寄存器:uint16_ t BKP_ ReadBackupRegister(uint16_ t BKP_ DR)

此方法簡單明了,但由于缺少可用空間,因此僅適用于保存少量數(shù)據(jù),例如用戶在可穿戴設(shè)備中的通用配置數(shù)據(jù)。

基于內(nèi)部閃存

原理:閃存,也稱為閃存,也是可以重寫的存儲器。它分為nor flash和NAND flash。閃存通常不用于代碼存儲場合,例如嵌入式控制器中的程序存儲空間。而NAND閃存通常用于大數(shù)據(jù)存儲場合,例如U盤和固態(tài)硬盤,它們通常是NAND閃存類型。

在STM32芯片中,閃存的讀寫單位均基于“頁面”。以stm32f103c8t6為例,每頁大小為2K字節(jié);

軟件編程要點(diǎn)

釋放寫保護(hù)釋放:此方法基于以下前提:允許當(dāng)前的讀寫Flash,并且允許當(dāng)前的Flash進(jìn)行寫操作。因此,目前暫時(shí)不討論某些API,例如optionbytes操作和flash讀寫保護(hù)操作。

Flashwrite:單個(gè)uint32_ T數(shù)據(jù)寫入的簡單流程圖如下:

Flashread:對于單個(gè)int數(shù)據(jù)讀取,它相對簡單,可以通過以下語句完成:rddata =(*()__ IOuint32_ t *)dataAddr);

由于SW中涉及許多API,并且編碼人員還需要理解許多其他背景知識,因此使用此方法相對復(fù)雜。但是,由于數(shù)據(jù)保存在頁面中,因此頁面大小最大為2048字節(jié),因此該方法可用于保存掉電時(shí)不容易丟失的大數(shù)據(jù)。考慮到閃存讀寫保護(hù)的邏輯機(jī)制,最好在不考慮數(shù)據(jù)安全性的情況下使用此方法。

對于這種斷電保護(hù)數(shù)據(jù)方法,這里只是丟磚引玉,歡迎您提出更好的方案。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119212
  • 嵌入式設(shè)備
    +關(guān)注

    關(guān)注

    0

    文章

    109

    瀏覽量

    16903
  • 可穿戴設(shè)備
    +關(guān)注

    關(guān)注

    55

    文章

    3786

    瀏覽量

    166539
收藏 人收藏

    評論

    相關(guān)推薦

    如何在實(shí)際產(chǎn)品執(zhí)行斷電程序

    的:在用戶按下電源按鈕后,電路應(yīng)該向STM32發(fā)送最高優(yōu)先級的中斷,STM32立即存儲所有必要的數(shù)據(jù)。之后,STM32將禁用信號發(fā)送給為整個(gè)系統(tǒng)
    發(fā)表于 10-11 16:12

    頻繁斷電會造成監(jiān)控數(shù)據(jù)丟失嗎?

    ,那么頻繁斷電是否會導(dǎo)致硬盤數(shù)據(jù)損失呢?此事件需要兩個(gè)方面分析,一是商用監(jiān)控系統(tǒng)、二是家用監(jiān)控系統(tǒng)。   我們先討論商用監(jiān)控系統(tǒng):頻繁
    發(fā)表于 10-17 11:41

    單片機(jī)斷電后RTC是不是清零了?如何避免數(shù)據(jù)的丟是誰呢

    單片機(jī)斷電后RTC是不是清零了?如何避免數(shù)據(jù)的丟是誰呢?
    發(fā)表于 05-22 12:22

    電影評論網(wǎng)絡(luò)數(shù)據(jù)抓取與分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    電影評論網(wǎng)絡(luò)數(shù)據(jù)抓取與分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
    發(fā)表于 05-29 10:36

    系統(tǒng)斷電時(shí)FPGA數(shù)據(jù)保護(hù)的方法有哪幾種?

    系統(tǒng)斷電時(shí)FPGA數(shù)據(jù)保護(hù)的方法有哪幾種?
    發(fā)表于 04-29 06:27

    STM32系統(tǒng)掉電保存數(shù)據(jù)的方法是什么

    STM32系統(tǒng)掉電保存數(shù)據(jù)的方法在嵌入式設(shè)備開發(fā),往往需要保存一些掉電不易失性的數(shù)據(jù),如果
    發(fā)表于 12-10 07:42

    如何去實(shí)現(xiàn)一種電影推薦系統(tǒng)設(shè)計(jì)

    數(shù)據(jù)源解析電影信息用戶評分信息電影標(biāo)簽信息
    發(fā)表于 01-03 06:27

    為什么STM32F746G-DISC flasch內(nèi)存斷電讀寫后保存的數(shù)據(jù)會丟失?

    為什么STM32F746G-DISC flasch內(nèi)存斷電讀寫后保存的數(shù)據(jù)會丟失?
    發(fā)表于 01-06 06:19

    STM32F746G DISCO如何斷電記憶數(shù)據(jù)?

    STM32F746G DISCO如何斷電記憶數(shù)據(jù)?
    發(fā)表于 01-11 07:40

    stm32的硬件IIC如何避免數(shù)據(jù)?

    stm32的硬件IIC如何避免數(shù)據(jù)
    發(fā)表于 10-30 07:03

    基于RFID的電影信息管理系統(tǒng)的設(shè)計(jì)方案

    在現(xiàn)實(shí)程序開發(fā), 我們開發(fā)的最多,最廣泛的還是一些各類型的數(shù)據(jù)管理系統(tǒng),當(dāng)然不同的系統(tǒng)有功能上的差異,數(shù)據(jù)庫也不一樣,但最主要,最常見的功
    發(fā)表于 07-09 09:18 ?1次下載
    基于RFID的<b class='flag-5'>電影</b>信息管理<b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)方案

    快速學(xué)習(xí)-電影推薦系統(tǒng)設(shè)計(jì)(數(shù)據(jù)源解析)

    數(shù)據(jù)源解析電影信息用戶評分信息電影標(biāo)簽信息
    發(fā)表于 01-11 16:06 ?5次下載
    快速學(xué)習(xí)-<b class='flag-5'>電影</b>推薦<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)(<b class='flag-5'>數(shù)據(jù)</b>源解析)

    如何應(yīng)對不間斷電源(UPS)設(shè)計(jì)挑戰(zhàn)

    電池供電的不間斷電源(UPS)在保護(hù)數(shù)據(jù)中心、醫(yī)療設(shè)施、工廠、電信樞紐甚至家庭的敏感設(shè)備免受短期電網(wǎng)尖峰和停電影響方面非常重要。在停電時(shí)間較長的情況下,它們能夠提供必要的短期電力,以
    的頭像 發(fā)表于 11-02 17:18 ?2022次閱讀

    如何應(yīng)對不間斷電源(UPS)設(shè)計(jì)挑戰(zhàn)

    電池供電的不間斷電源(UPS)在保護(hù)數(shù)據(jù)中心、醫(yī)療設(shè)施、工廠、電信樞紐甚至家庭的敏感設(shè)備免受短期電網(wǎng)尖峰和停電影響方面非常重要。在停電時(shí)間較長的情況下,它們能夠提供必要的短期電力,以
    的頭像 發(fā)表于 11-03 18:03 ?1879次閱讀
    如何應(yīng)對不間<b class='flag-5'>斷電</b>源(UPS)設(shè)計(jì)挑戰(zhàn)

    如何實(shí)現(xiàn)更精確的電流限制并避免損壞測器件

    電子發(fā)燒友網(wǎng)站提供《如何實(shí)現(xiàn)更精確的電流限制并避免損壞測器件.pdf》資料免費(fèi)下載
    發(fā)表于 08-29 11:09 ?0次下載
    如何實(shí)現(xiàn)更精確的電流限制并<b class='flag-5'>避免</b>損壞<b class='flag-5'>受</b>測器件