概述
Stm32F103有42個16位的備份寄存器。他們處在備份域裡,當VDD電源被切斷,他們仍然由VBAT維持供電。當系統在待機模式下被喚醒,或系統復位或電源復位時,他們也不會被複位。
復位後,對備份寄存器和RTC的訪問被禁止,並且備份域被保護以防止可能存在的意外的寫操作。執行以下操作可以使能對備份寄存器和RTC的訪問。
- 通過設置寄存器RCC_APB1ENR的PWREN和BKPEN位來打開電源和後備接口的時鐘
- 電源控制寄存器(PWR_CR)的DBP位來使能對後備寄存器和RTC的訪問。
BKP可用來管理侵入檢測和RTC校準,以及保存用戶定義的具有特定含義的標誌位(比如升級標誌等)。
侵入檢測
當TAMPER引腳上的信號從’0’變成’1’或者從’1’變成’0’(取決於備份控制寄存器BKP_CR的TPAL位),會產生一個侵入檢測事件。侵入檢測事件會將所有數據備份寄存器內容清除。
應用時要注意:侵入檢測信號是邊沿檢測的信號與侵入檢測允許位的邏輯與,從而在侵入檢測引腳被允許前發生的侵入事件也可以被檢測到(如下)。
- 當TPAL=0時:如果在啟動侵入檢測TAMPER引腳前(通過設置TPE位)該引腳已經為高電平,一旦啟動侵入檢測功能,則會產生一個額外的侵入事件(儘管在TPE位置’1’後並沒有出現上升沿)。
- 當TPAL=1時:如果在啟動侵入檢測引腳TAMPER前(通過設置TPE位)該引腳已經為低電平,一旦啟動侵入檢測功能,則會產生一個額外的侵入事件(儘管在TPE位置’1’後並沒有出現下降沿)。
在一個侵入事件被檢測到並被清除後,侵入檢測引腳TAMPER應該被禁止。然後,在再次寫入備份數據寄存器前重新用TPE位啟動侵入檢測功能。這樣,可以阻止軟件在侵入檢測引腳上仍然有侵入事件時對備份數據寄存器進行寫操作。這相當於對侵入引腳TAMPER進行電平檢測。
注: 當VDD電源斷開時,侵入檢測功能仍然有效。為了避免不必要的復位數據備份寄存器,TAMPER引腳應該在片外連接到正確的電平。
RTC校準
為方便測量,RTC時鐘可以經64分頻輸出到侵入檢測引腳TAMPER上。通過設置RTC校驗寄存器(BKP_RTCCR)的CCO位來開啟這一功能。 通過配置CAL[6:0]位,此時鐘可以最多減慢121ppm(百萬分之121)。
校準原理請查看
閱讀更多 毅博編程 的文章