日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 工程師看海
[導讀]▼關注公眾號:工程師看海▼前言有時在一些應用中,我們需要檢測系統(tǒng)是否掉電了,或者要在掉電的瞬間需要做一些處理。STM32就有這樣的掉電檢測機制——PVD(ProgrammableVoltageDetecter),即可編程電壓檢測器。通過PVD我們可以設定一個基準電壓,當芯片的供電...

前言



有時在一些應用中,我們需要檢測系統(tǒng)是否掉電了,或者要在掉電的瞬間需要做一些處理。STM32就有這樣的掉電檢測機制——PVD(Programmable Voltage Detecter),即可編程電壓檢測器。通過PVD我們可以設定一個基準電壓,當芯片的供電電壓高于或低于該基準電壓時便產(chǎn)生PVD中斷,我們可以在PVD中斷里做一些處理。




PVD介紹



本文以STM32F1x為例,來說明PVD的使用。



用戶可以利用PVD對VDD電壓與電源控制寄存器(PWR_CR)中的PLS[2:0]位進行比較來監(jiān)控電源,這幾位選擇監(jiān)控電壓的閥值。



通過設置PVDE位來使能PVD。電源控制/狀態(tài)寄存器(PWR_CSR)中的PVDO標志用來表明VDD是高于還是低于PVD的電壓閥值。



該事件在內(nèi)部連接到外部中斷的第16線,如果該中斷在外部中斷寄存器中是使能的,該事件就會產(chǎn)生中斷。當VDD下降到PVD閥值以下和()VDD上升到PVD閥值之上時,根據(jù)外部中斷第16線的上升/下降邊沿觸發(fā)設置,就會產(chǎn)生PVD中斷。例如,這一特性可用于用于執(zhí)行緊急關閉任務。






由PLS[2:0]的介紹可以發(fā)現(xiàn)PVD的電壓閾值共有8個等級,實際使用時可根據(jù)自己的實際情況進行選擇。






對于軟件編程中具體如何實現(xiàn)可以自行編寫相關代碼,也可關注【玩轉(zhuǎn)單片機與嵌入式】公眾號,在后臺獲取相關代碼。



PVD的作用



在實際做產(chǎn)品/項目的過程中,可能大家對PVD的作用會忽視掉,下面列舉PVD的作用:



01記錄設備掉電時間



這個很好理解,可能業(yè)務上就有這個需求,或者可以利用這一點來完成低功耗設備的待機時長測試。




02通知其他處理離線



假如設備中有由電池供電的MCU1和由鋰電池供電的MCU2,MCU1的部分功能可能需要MCU2來完成,MCU1需要知道MCU2是否離線(因為鋰電池可拔插,可能隨時被拔)。這種情況就可以在MCU2上利用PVD來通知MCU1。通知的方式有很多,例如串口直接通知另一方自己將要斷電了。


PS:當然也可通過MCU2監(jiān)聽MCU1的電源來實現(xiàn)。



03防止掉電過程中程序跑飛



小編在之前設計的一款產(chǎn)品有一定的概率會出現(xiàn)程序丟失的情況,最初懷疑競爭對手惡意破壞或競爭對手嘗試讀取程序?qū)е鲁绦蜃詣硬脸?/span>




后來經(jīng)過實際測試發(fā)現(xiàn):由于設備電壓降落較慢,下電時間較長(約20ms)。在下電過程中電壓較低/電壓不穩(wěn)定時PC指針亂跑(即所謂的程序跑飛),正好PC指向了代碼中擦除Flash的位置。(設備進行ISP程序升級需要將自身的Flash擦除寫入新數(shù)據(jù))。




后來最終的解決方案為:在代碼中增加PVD功能,在PVD中斷中進行軟件復位,保證程序不跑飛。


---The end---





本站聲明: 本文章由作者或相關機構(gòu)授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
關閉