Hi,您好,歡迎來到西安天任軟件科技有限責任公司!

嵌入式——實時時鍾(RTC)

發布時間:2024-01-29 15:12:46

一、初識RTC

1.簡介

        實時時鍾是(shì)一個獨立的定時器。RTC模塊擁有一組連續計數的計數器,在相(xiàng)應軟件配置下,可提供時鍾日曆的功能,計數頻(pín)率常爲秒。修改計數器的值可以重新設置系統當前的時間和日期。

2.特性

(1)32位的可編程計數器,可用于較長時間段的測量

(2)能在MCU掉電後運行

(3) 低功耗

3.後備寄存器和RTC寄存器特性

(1)部分寄存器寫保護:RTC_PRL、RTC_ALR、RTC_CNT和RTC_DIV寄存器不會被系統複位。

(2)數據存儲功能:RTC和後備寄存器不會被系統或電源複位源複位;當從待機模式喚醒時,也不會被複位。後備寄存器可用于保存掉電時的數據

(3)獨立工作:RTC和後備寄存器通過一個開關供電,在VDD有效時該開關選擇VDD供電,否則由VBAT引腳供電。在VBAT供電時仍可繼續工作

(4)2個獨立複位:APB1接口由系統複位;RTC核心隻能由後備域複位;

二、RTC組成

1.相(xiàng)關寄存器

(1)控制寄存器高位(RTC_CRH

位2(OWIE):允許溢出中斷位。

位1(ALRIE):允許鬧鍾中斷。

位0(SECIE):允許秒中斷。

(2)控制寄存器低位(RTC_CRL

位5(RTOFF):RTC操作關閉。(指示對其寄存器進行的最後一次操作的狀态,即指示操作是(shì)否完成

位4(CNF):配置标志。(隻有當此位在被置’1’并重新由軟件清’0’後,從而允許向RTC_CNT、RTC_ALR或RTC_PRL寄存器寫入數據)

(3)預分頻(pín)裝載寄存器高位(RTC_PRLH)

(4)預分頻(pín)裝載寄存器低位(RTC_PRLL)

(5)計數器寄存器高位(RTC_CNTH)

(6)計數器寄存器低位(RTC_CNTL)

(7)電源控制寄存器(PWR_CR

(8)APB1 外設時鍾使能寄存器(RCC_APB1ENR

位28(PWREN):電源接口時鍾使能。

位27(BKPEN):備份接口時鍾使能。

(9)備份域控制寄存器(RCC_BDCR

位15(RTCEN):RTC時鍾使能。

位9:8(RTCSEL):RTC時鍾源選擇。

位 0(SEON):外部低速振蕩器使能。

2.RTC結構

        RTC由兩個主要部分組成。第一部分(APB1接口)用來和APB1總線(xiàn)相(xiàng)連另一部分(RTC核心)由一組可編程計數器組成,分成兩個主要模塊。第一個模塊是(shì)RTC的預分頻(pín)模塊(可編程産生最長爲1秒的RTC時間基準TR_CLK)。第二個模塊是(shì)一個32位的可編程計數器,可被初始化爲當前的系統時間

補充:

(1)RTC可以選擇三種RTC的時鍾源

(2)RTC的APB1單元還包含一組16位寄存器,可通過APB1,總線(xiàn)對其進行讀寫操作。

(3)APB1接口由APB1總線(xiàn)時鍾驅動,用來與APB1總線(xiàn)接口。

(4)RTC的預分頻(pín)模塊包含的是(shì)一個20位的可編程分頻(pín)器(RTC預分頻(pín)器),分頻(pín)系數最高爲2的20次方

(5)RTC有3個專門的可屏蔽中斷

(6)如果在RTC_CR寄存器中設置了相(xiàng)應的允許位,則在每個TR_CLK周期中RTC産生一個中斷(秒中斷

(7)系統時間按TR_CLK周期累加并與存儲在RTC_ALR寄存器中的可編程時間相(xiàng)比較,如果RTC_CR控制寄存器中設置了相(xiàng)應允許位,比較匹配時将産生一個中斷(鬧鍾中斷)。

3.RTC基本配置步驟

(1)使能對RTC的訪問:使能PWR和BKP時鍾(RCC_APB1ENR、使能對後備寄存器和RTC(PWR_CR的訪問權限

(2)設置RTC時鍾源:激活LSE,設置RTC的計數時鍾源爲LSE。(RCC_BDCR

(3)進入配置模式:等待 RTOFF位爲1,設置CNF位爲1。(RTC_CRL

(4)設置RTC寄存器:設置分頻(pín)值、計數值等(RTC_PRL),一般先隻設置分頻(pín)值,CNT的設置獨立。

(5)退出配置模式:清除CNF位,等待RTOFF 位爲1(RTC_CRL)即配置完成。

4.RTC系統配置流程描述

(1)查詢RTOFF位,直到RTOFF的值變爲1。

(2)置CNF值爲1,進入配置模式

(3)對一個或多個RTC寄存器進行寫操作

(4)清除CNF标志位退出配置模式

(5)查詢RTOFF,直至RTOFF

上一篇:程序員(yuán)真的會被AI取代嗎(ma)?我們如何理性看待AI變革之路
下一篇:程序員(yuán)未來會成爲非常内卷的職業?