STM32的BKP與RTC簡介

芯片的供電引腳

引腳表橙色的是芯片的供電引腳,其中VSS/VDD是芯片內部數字部分的供電,VSSA/VDDA是芯片內部模擬部分的供電,這4組以VDD開頭的供電都是系統的主電源,正常使用時,全部都要接3.3V的電源上,VBAT是備用電池的引腳,如果要使用STM32的BKP和RTC,這個引腳就必須接備用電池,用來維持BKP和RTC主電源掉電后的供電,VBAT只有一根電源正,接的時候GND要與VDD共地。如果沒有外部電池,參考手冊建議VBAT引腳接到VDD并接一個100nf的濾波電容。

BKP簡介

1、BKP(Backup Registers)備份寄存器

2、BKP可用于存儲用戶應用程序數據。當VDD(2.0~3.6V)電源被切斷,他們仍然由VBAT(1.8~3.6V)維持供電。當系統在待機模式下被喚醒,或系統復位或電源復位時,他們也不會被復位。當VDD和VBAT都沒電時,BKP就會清空數據,因為BKP本質是RAM存儲器,沒有掉電不丟失的特性。

3、TAMPER引腳產生的侵入事件將所有備份寄存器內容清除(TAMPER引腳產生上升沿/下降沿就清空數據),注意PC13、TAMPER引腳、RTC輸出在一個引腳上,只能分時復用

4、RTC引腳輸出RTC校準時鐘、RTC鬧鐘脈沖或者秒脈沖

5、存儲RTC時鐘校準寄存器(可配合上面輸出RTC校準時鐘的功能對RTC時鐘進行校準)

6、用戶數據存儲容量:20字節(中容量和小容量)/ 84字節(大容量和互聯型)

BKP的基本結構

上圖中的橙色部分位于后備區域,BKP和RTC都位于后備區域。后備區域供電的特性:當VDD主電源掉電時,切換至VBAT供電,當VDD上電時,供電由主電源VDD提供,這樣可以節省VBAT備用電池的電量。

RTC簡介

1、RTC(Real Time Clock)實時時鐘

2、RTC是一個獨立的定時器,可為系統提供時鐘和日歷的功能

3、RTC和時鐘配置系統處于后備區域,系統復位時數據不清零,VDD(2.0~3.6V)斷電后可借助VBAT(1.8~3.6V)供電繼續走時

4、32位的可編程計數器,可對應Unix時間戳的秒計數器

5、20位的可編程預分頻器,可適配不同頻率的輸入時鐘

6、可選擇三種RTC時鐘源:

??? HSE時鐘除以128(通常為8MHz/128)

??? LSE振蕩器時鐘(通常為32.768KHz)

??? LSI振蕩器時鐘(40KHz)

RTC的時鐘大多是32.768kHz的原因

32.768kHz==32768Hz

32768=2^15,經過一個15位分頻器的自然溢出,就可以得到1Hz的頻率。

自然溢出:設計一個15位的計數器,該計數器沒有計數目標,直接從0記到最大值32767,記滿后自然溢出,這個信號就是1Hz的。沒有計數目標,也不需要比較,可以簡化電路設計。

RTC的框圖

1、框圖分為4個部分,上面是APB1總線讀寫部分(RTC是APB1總線上的設備),左邊是核心的分頻,計數計時部分,右邊是中斷輸出使能和NVIC部分,下邊是與PWR有關的部分(RTC的鬧鐘可以喚醒設備,退出待機狀態),圖中灰色部分在主電源VDD掉電后,可由VBAT維持供電,繼續工作。

2、RTCCLK是RTC的時鐘源選擇,共有3中選擇。

RTC_PRL寄存器的值是n就是n+1倍分頻,比如n=6就是7分頻。(n就是計數目標)

RTC_DIV計數器是一個自減計數器,來一個脈沖計數器減1,計數值減至0后再來一個脈沖溢出時由PRL重裝載設定值。比如:DIV可以保持初始值為0,首次來一個脈沖,計數值溢出重載為32767,之后來一個脈沖減1,一直減至0,再來一個脈沖計數值重載,反復循環,詳細看下圖。兩個秒脈沖的間隔就是32768個RTCCLK單位時間間隔。

3、當RTC_CNT和RTC_ALR的值相等時,這時就會產生RTC_Alarm信號,一路通向中斷,可以在中斷中執行一些操作,另一路通向待機部分,可以讓單片機退出待機模式(WK_UP也可以使設備退出待機模式)。右邊3個中斷分別是秒中斷,溢出中斷和鬧鐘中斷。F結尾的是中斷標志位,IE結尾的是中斷使能。

RTC的基本結構

RTC操作注意事項

1、執行以下操作將使能對BKP和RTC的訪問:

設置RCC_APB1ENR的PWREN和BKPEN,使能PWR和BKP時鐘

設置PWR_CR的DBP,使能對BKP和RTC的訪問

2、若在讀取RTC寄存器時,RTC的APB1接口曾經處于禁止狀態,則軟件首先必須等待RTC_CRL寄存器中的RSF位(寄存器同步標志)被硬件置1。(為保證RTC掉電繼續工作,RTC的寄存器由RTCCLK驅動。故用APB1總線訪問RTC寄存器時,有時鐘不同步的問題(一個36M,一個大約32k),只有在RTCCLK來一個上升沿RTC寄存器的值才能同步到APB1總線上,等待RSF標志位置1后,實質上就是等待RTC寄存器的值同步到APB1總線上,再由APB1總線獲取RTC的值)

3、必須設置RTC_CRL寄存器中的CNF位,使RTC進入配置模式后,才能寫入RTC_PRL、RTC_CNT、RTC_ALR寄存器(使用庫函數時,自動加上了該操作)

4、對RTC任何寄存器的寫操作,都必須在前一次寫操作結束后進行。可以通過查詢RTC_CR寄存器中的RTOFF狀態位,判斷RTC寄存器是否處于更新中。僅當RTOFF狀態位是1時,才可以寫入RTC寄存器。(實質上還是由于時鐘不同步的原因)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/208815.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208815.shtml
英文地址,請注明出處:http://en.pswp.cn/news/208815.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Leetcode2477. 到達首都的最少油耗

Every day a Leetcode 題目來源:2477. 到達首都的最少油耗 解法1:貪心 深度優先搜索 題目等價于給出了一棵以節點 0 為根結點的樹,并且初始樹上的每一個節點上都有一個人,現在所有人都需要通過「車子」向結點 0 移動。 對于…

從阻抗匹配看擁塞控制

先來理解阻抗匹配,但我不按傳統方式解釋,因為傳統方案你要先理解如何定義阻抗,然后再學習什么是輸入阻抗和輸出阻抗,最后再看如何讓它們匹配,而讓它們匹配的目標僅僅是信號不反射,以最大能效被負載接收。 …

面試寶典之自我介紹

聽人勸、吃飽飯,奉勸各位小伙伴,不要訂閱該文所屬專欄。 如需要項目實戰或者是體系化資源,文末名片加V! 作者:哈哥撩編程,工作十余年, 從事過全棧研發、產品經理等工作,目前在公司擔任研發部門CTO。榮譽:2022年度博客之星Top4、2023年度超級個體得主、谷歌與亞馬遜開發…

Amazon CodeWhisperer 開箱初體驗

文章作者:Coder9527 科技的進步日新月異,正當人工智能發展如火如荼的時候,各大廠商在“解放”碼農的道路上不斷創造出各種 Coding 利器,今天在下就帶大家開箱體驗一個 Coding 利器: Amazon CodeWhisperer。 亞馬遜云科…

99基于matlab的小波分解和小波能量熵函數

基于matlab的小波分解和小波能量熵函數,通過GUI界面導入西儲大學軸承故障數據,以可視化的圖對結果進行展現。數據可更換自己的,程序已調通,可直接運行。 99小波分解和小波能量熵函數 (xiaohongshu.com)https://www.xiaohongshu.co…

【LeetCode每日一題合集】2023.11.27-2023.12.3 (?)

文章目錄 907. 子數組的最小值之和(單調棧貢獻法)1670. 設計前中后隊列?(設計數據結構)解法1——雙向鏈表解法2——兩個雙端隊列 2336. 無限集中的最小數字解法1——維護最小變量mn 和 哈希表維護已經去掉的數字解法2——維護原本…

二分查找|前綴和|滑動窗口|2302:統計得分小于 K 的子數組數目

作者推薦 貪心算法LeetCode2071:你可以安排的最多任務數目 本文涉及的基礎知識點 二分查找算法合集 題目 一個數組的 分數 定義為數組之和 乘以 數組的長度。 比方說,[1, 2, 3, 4, 5] 的分數為 (1 2 3 4 5) * 5 75 。 給你一個正整數數組 nums 和一個整數…

response應用及重定向和request轉發

請求和轉發: response說明一、response文件下載二、response驗證碼實現1.前置知識:2.具體實現:3.知識總結 三、response重定向四、request轉發五、重定向和轉發的區別 response說明 response是指HttpServletResponse,該響應有很多的應用&…

JavaScript 一些少見多怪的玩意

$$() [].forEach.call($$("*"), function (a) {a.style.outline "1px solid #" (~~(Math.random() * (1 << 24))).toString(16);}); 直接復制到控制臺&#xff0c;頁面效果就是頁面中不同的HTML結構被不同顏色的框圈著。 原理&#xff1a; $$函數…

力扣面試150題 | 輪轉數組

力扣面試150題 &#xff5c; 輪轉數組 題目描述解題思路代碼實現 題目描述 189.輪轉數組 給定一個整數數組 nums&#xff0c;將數組中的元素向右輪轉 k 個位置&#xff0c;其中 k 是非負數。 示例 1: 輸入: nums [1,2,3,4,5,6,7], k 3 輸出: [5,6,7,1,2,3,4] 解釋: 向右輪…

Kafka在微服務架構中的應用:實現高效通信與數據流動

微服務架構的興起帶來了分布式系統的復雜性&#xff0c;而Kafka作為一款強大的分布式消息系統&#xff0c;為微服務之間的通信和數據流動提供了理想的解決方案。本文將深入探討Kafka在微服務架構中的應用&#xff0c;并通過豐富的示例代碼&#xff0c;幫助大家更全面地理解和應…

PaddleClas學習3——使用PPLCNet模型對車輛朝向進行識別(c++)

使用PPLCNet模型對車輛朝向進行識別 1 準備環境2 準備模型2.1 模型導出2.2 修改配置文件3 編譯3.1 使用CMake生成項目文件3.2 編譯3.3 執行3.4 添加后處理程序3.4.1 postprocess.h3.4.2 postprocess.cpp3.4.3 在cls.h中添加函數聲明3.4.4 在cls.cpp中添加函數定義3.4.5 在main.…

時間序列預測 — VMD-LSTM實現單變量多步光伏預測(Tensorflow):單變量轉為多變量

目錄 1 數據處理 1.1 導入庫文件 1.2 導入數據集 1.3 缺失值分析 2 VMD經驗模態分解 3 構造訓練數據 4 LSTM模型訓練 5 預測 1 數據處理 1.1 導入庫文件 import time import datetime import pandas as pd import numpy as np import matplotlib.pyplot as plt f…

優化算法 學習記錄

文章目錄 相關資料 優化算法梯度下降學習率牛頓法 隨機梯度下降小批量隨機梯度下降動量法動量法解決上述問題 AdaGrad 算法RMSProp算法Adam學習率調度器余弦學習率調度預熱 相關資料 李沐 動手學深度學習 優化算法 優化算法使我們能夠繼續更新模型參數&#xff0c;并使損失函…

Elasticsearch:使用 Elasticsearch 向量搜索及 RAG 來實現 Chatbot

Elasticsearch 的向量搜索為我們的語義搜索提供了可能。而在人工智能的動態格局中&#xff0c;檢索增強生成&#xff08;Retrieval Augmented Generation - RAG&#xff09;已經成為游戲規則的改變者&#xff0c;徹底改變了我們生成文本和與文本交互的方式。 RAG 使用大型語言模…

Android TextView 超出省略失效 解決方法

解決方法 我是在使用 ConstraintLayout 嵌套 LinearLayout 水平方向&#xff0c;TextView 又使用layout_weight&#xff08;權重&#xff09;情況下出現這種問題&#xff0c;最后將layout_width從 0dp 改為 1dp 得以解決。 <androidx.constraintlayout.widget.ConstraintLa…

MongoDB的刪除文檔、查詢文檔語句

本文主要介紹MongoDB的刪除文檔、查詢文檔命令語句。 目錄 MongoDB刪除文檔MongoDB查詢文檔 MongoDB刪除文檔 MongoDB是一種基于文檔的NoSQL數據庫&#xff0c;它使用BSON格式存儲文檔。刪除文檔是MongoDB數據庫中的常見操作之一。 下面是MongoDB刪除文檔的詳細介紹和示例&am…

當年為什么選擇計算機?

確切的來說不是遠的計算機&#xff0c;高考那會計算機很熱門&#xff0c;根本考不上&#xff01;學習了一個和計算機關系很密切的專業&#xff0c;編程搞得好&#xff0c;才能找到好工作&#xff0c;才能有飯吃&#xff01;記得當年我還跑去武漢大學的計算機課堂和人家一起聽課…

導入自定義模塊出現紅色波浪線,但是能正常執行

問題描述&#xff1a; 導入自己定義的模塊時&#xff0c;出現紅色波浪線&#xff0c;可以繼續執行 解決&#xff1a; 在存放當前執行文件的文件夾右鍵&#xff0c;然后將其設置為sources root即可 結果&#xff1a;

基于深度學習yolov5實現安全帽人體識別工地安全識別系統-反光衣識別系統

歡迎大家點贊、收藏、關注、評論啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代碼。 文章目錄 一項目簡介 二、功能三、系統四. 總結 一項目簡介 實現安全帽人體識別工地安全識別系統需要使用深度學習技術&#xff0c;特別是YOLOv5算法。下面是對基于YOLOv5實現安…