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

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

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

RTC時鐘講解(一)

嵌入式應(yīng)用開發(fā) ? 來源:嵌入式應(yīng)用開發(fā) ? 作者:嵌入式應(yīng)用開發(fā) ? 2022-06-09 17:48 ? 次閱讀

什么是RTC
RTC (Real Time Clock):實時時鐘

RTC是個獨立的定時器。RTC模塊擁有一個連續(xù)計數(shù)的計數(shù)器,在相應(yīng)的軟件配置下,可以提供時鐘日歷的功能。修改計數(shù)器的值可以重新設(shè)置當(dāng)前時間和日期 RTC還包含用于管理低功耗模式的自動喚醒單元。

在斷電情況下 RTC仍可以獨立運行 只要芯片的備用電源一直供電,RTC上的時間會一直走。

RTC實質(zhì)是一個掉電后還繼續(xù)運行的定時器,從定時器的角度來看,相對于通用定時器TIM外設(shè),它的功能十分簡單,只有計時功能(也可以觸發(fā)中斷)。但其高級指出也就在于掉電之后還可以正常運行。

兩個 32 位寄存器包含二進(jìn)碼十進(jìn)數(shù)格式 (BCD) 的秒、分鐘、小時( 12 或 24 小時制)、星期幾、日期、月份和年份。此外,還可提供二進(jìn)制格式的亞秒值。系統(tǒng)可以自動將月份的天數(shù)補償為 28、29(閏年)、30 和 31 天。

上電復(fù)位后,所有RTC寄存器都會受到保護(hù),以防止可能的非正常寫訪問。

無論器件狀態(tài)如何(運行模式、低功耗模式或處于復(fù)位狀態(tài)),只要電源電壓保持在工作范圍內(nèi),RTC使不會停止工作。

RCT特征:
● 可編程的預(yù)分頻系數(shù):分頻系數(shù)高為220。
● 32位的可編程計數(shù)器,可用于較長時間段的測量。
● 2個分離的時鐘:用于APB1接口的PCLK1和RTC時鐘(RTC時鐘的頻率必須小于PCLK1時鐘 頻率的四分之一以上)。
● 可以選擇以下三種RTC的時鐘源:
● HSE時鐘除以128;
● LSE振蕩器時鐘;
● LSI振蕩器時鐘

● 2個獨立的復(fù)位類型:
● APB1接口由系統(tǒng)復(fù)位;
● RTC核心(預(yù)分頻器、鬧鐘、計數(shù)器和分頻器)只能由后備域復(fù)位

● 3個專門的可屏蔽中斷:
● 1.鬧鐘中斷,用來產(chǎn)生一個軟件可編程的鬧鐘中斷。

● 2.秒中斷,用來產(chǎn)生一個可編程的周期性中斷信號(長可達(dá)1秒)。

● 3.溢出中斷,指示內(nèi)部可編程計數(shù)器溢出并回轉(zhuǎn)為0的狀態(tài)。

RTC時鐘源:
三種不同的時鐘源可被用來驅(qū)動系統(tǒng)時鐘(SYSCLK):

● HSI振蕩器時鐘
● HSE振蕩器時鐘
● PLL時鐘

這些設(shè)備有以下2種二級時鐘源:

● 40kHz低速內(nèi)部RC,可以用于驅(qū)動獨立看門狗和通過程序選擇驅(qū)動RTC。 RTC用于從停機(jī)/待機(jī)模式下自動喚醒系統(tǒng)。
● 32.768kHz低速外部晶體也可用來通過程序選擇驅(qū)動RTC(RTCCLK)。

RTC原理框圖

poYBAGKhwayAMqRnAAGYmFFUA1A504.png

RTC時鐘的框圖還是比較簡單的,這里我們把他分成 兩個部分:

APB1 接口:用來和 APB1 總線相連。 此單元還包含一組 16 位寄存器,可通過 APB1 總線對其進(jìn)行讀寫操作。APB1 接口由 APB1 總 線時鐘驅(qū)動,用來與 APB1 總線連接。

通過APB1接口可以訪問RTC的相關(guān)寄存器(預(yù)分頻值,計數(shù)器值,鬧鐘值)。

RTC 核心接口:由一組可編程計數(shù)器組成,分成 兩個主要模塊 。

在這里插入圖片描述


第一個模塊是 RTC 的 預(yù)分頻模塊,它可編程產(chǎn)生 1 秒的 RTC 時間基準(zhǔn) TR_CLK。RTC 的預(yù)分頻模塊包含了一個 20 位的可編程分頻器(RTC 預(yù)分頻器)。如果在 RTC_CR 寄存器中設(shè)置了相應(yīng)的允許位,則在每個 TR_CLK 周期中 RTC 產(chǎn)生一個中斷(秒中斷)。

在這里插入圖片描述

第二個模塊是一個 32 位的可編程計數(shù)器 (RTC_CNT),可被初始化為當(dāng)前的系統(tǒng)時間,一個 32 位的時鐘計數(shù)器,按秒鐘計算,可以記 錄 4294967296 秒,約合 136 年左右,作為一般應(yīng)用,這已經(jīng)是足夠了的。

RTC具體流程:
RTCCLK經(jīng)過RTC_DIV預(yù)分頻,RTC_PRL設(shè)置預(yù)分頻系數(shù),然后得到TR_CLK時鐘信號,我們一般設(shè)置其周期為1s,RTC_CNT計數(shù)器計數(shù),假如1970設(shè)置為時間起點為0s,通過當(dāng)前時間的秒數(shù)計算得到當(dāng)前的時間。RTC_ALR是設(shè)置鬧鐘時間,RTC_CNT計數(shù)到RTC_ALR就會產(chǎn)生計數(shù)中斷,

RTC_Second為秒中斷,用于刷新時間,
RTC_Overflow是溢出中斷。
RTC Alarm 控制開關(guān)機(jī)
RTC時鐘選擇
使用HSE分頻時鐘或者LSI的時候,在主電源VDD掉電的情況下,這兩個時鐘來源都會受到影響,因此沒法保證RTC正常工作.所以RTC一般都時鐘低速外部時鐘LSE,頻率為實時時鐘模塊中常用的32.768KHz,因為32768 = 2^15,分頻容易實現(xiàn),所以被廣泛應(yīng)用到RTC模塊.(在主電源VDD有效的情況下(待機(jī)),RTC還可以配置鬧鐘事件使STM32退出待機(jī)模式).

RTC復(fù)位過程
除了RTC_PRL、RTC_ALR、RTC_CNT和RTC_DIV寄存器外,所有的系統(tǒng)寄存器都由系統(tǒng)復(fù)位或電源復(fù)位進(jìn)行異步復(fù)位。
RTC_PRL、RTC_ALR、RTC_CNT和RTC_DIV寄存器僅能通過備份域復(fù)位信號復(fù)位。

系統(tǒng)復(fù)位后,禁止訪問后備寄存器和RCT,防止對后衛(wèi)區(qū)域(BKP)的意外寫操作

讀RTC寄存器
RTC內(nèi)核完全獨立于APB1接口,軟件通過APB1接口對RTC相關(guān)寄存器訪問。但是相關(guān)寄存器只在RTC APB1時鐘進(jìn)行重新同步的RTC時鐘的上升沿被更新。所以軟件必須先等待寄存器同步標(biāo)志位(RTC_CRL的RSF位)被硬件置1才讀。

配置RTC寄存器
必須設(shè)置RTC_CRL寄存器中的CNF位,使RTC進(jìn)入配置模式后,才能寫入RTC_PRL、
RTC_CNT、RTC_ALR寄存器。

另外,對RTC任何寄存器的寫操作,都必須在前一次寫操作結(jié)束后進(jìn)行??梢酝ㄟ^查詢
RTC_CR寄存器中的RTOFF狀態(tài)位,判斷RTC寄存器是否處于更新中。僅當(dāng)RTOFF狀態(tài)位是’1’
時,才可以寫入RTC寄存器。

審核編輯:符乾江

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

    關(guān)注

    5082

    文章

    19126

    瀏覽量

    305184
  • RTC
    RTC
    +關(guān)注

    關(guān)注

    2

    文章

    538

    瀏覽量

    66527
收藏 人收藏

    評論

    相關(guān)推薦

    STM32 RTC實時時鐘

    STM32處理器內(nèi)部集成了實時時鐘控制器(RTC),因此在實現(xiàn)實時時鐘功能時,無須外擴(kuò)時鐘芯片即可構(gòu)建實時時鐘系統(tǒng)。
    的頭像 發(fā)表于 07-22 15:41 ?4708次閱讀
    STM32 <b class='flag-5'>RTC</b>實時<b class='flag-5'>時鐘</b>(<b class='flag-5'>一</b>)

    提升效率:RTC時鐘實用設(shè)置

    今天來給大家講解的是RTC時鐘實用性,提升絕對的效率。
    的頭像 發(fā)表于 11-04 16:35 ?790次閱讀
    提升效率:<b class='flag-5'>RTC</b><b class='flag-5'>時鐘</b>實用設(shè)置

    RTC時鐘

    RTC時鐘個獨立的計時器。可以低功耗運行,掉電也會可以運行。RTC采用外部32768時鐘,所以經(jīng)過異步預(yù)分頻和同步預(yù)分頻之后可以得到1H
    發(fā)表于 04-17 15:28

    STM32RTC實時時鐘實驗講解,從入門到放棄 精選資料分享

    STM32RTC實時時鐘實驗講解,從入門到放棄。文章目錄STM32RTC實時時鐘實驗講解,從入門
    發(fā)表于 08-03 06:38

    RTC時鐘原理是什么

    著(禁止寫),所以設(shè)置之前要先取消后備區(qū)域?qū)懕Wo(hù)。首先RTC CLK有三個來源。最主要的是外部低速晶振。其他兩個來源我懶得打了,可以參考時鐘講解。RTC_DIV會隨著預(yù)裝載得值減到0然
    發(fā)表于 01-13 08:02

    文看懂rtc實時時鐘和單片機(jī)時鐘的區(qū)別

    本文首先闡述了rtc實時時鐘和單片機(jī)時鐘的區(qū)別,其次介紹了單片機(jī)中時鐘概念與單片機(jī)內(nèi)外部時鐘方式,最后介紹了實時
    的頭像 發(fā)表于 05-14 15:48 ?6.1w次閱讀

    STM8單片機(jī)rtc時鐘代碼分享

    STM8 rtc時鐘可以使用內(nèi)部低頻時鐘源,或者外部低速32768Hz時鐘源,關(guān)于rtc部分代碼如下
    發(fā)表于 02-11 10:00 ?4104次閱讀
    STM8單片機(jī)<b class='flag-5'>rtc</b><b class='flag-5'>時鐘</b>代碼分享

    STM32單片機(jī)RTC時鐘的使用方法及步驟

    STM32RTC使用步驟: 打開PWR時鐘和Backup區(qū)數(shù)據(jù)訪問 若使用外部低速時鐘(LSE),打開LSE并等待起振 選擇和打開RTC
    發(fā)表于 02-11 10:00 ?3.5w次閱讀
    STM32單片機(jī)<b class='flag-5'>RTC</b><b class='flag-5'>時鐘</b>的使用方法及步驟

    淺談RTC實時時鐘特征與原理

    RTC實時時鐘特征與原理 查看STM32中文手冊 16 實時時鐘RTC)(308頁) RTC
    的頭像 發(fā)表于 06-30 15:54 ?1.1w次閱讀

    4位RTC時鐘開源分享

    電子發(fā)燒友網(wǎng)站提供《4位RTC時鐘開源分享.zip》資料免費下載
    發(fā)表于 10-31 10:33 ?0次下載
    4位<b class='flag-5'>RTC</b><b class='flag-5'>時鐘</b>開源分享

    STM32CubeMX-實時時鐘(RTC)

    實時時鐘 (RTC) 是個獨立的 BCD 定時器/計數(shù)器。RTC 提供具有可編程鬧鐘中斷功能的日歷時鐘 /日歷。
    的頭像 發(fā)表于 01-14 17:24 ?2518次閱讀

    RTC時鐘與觸摸功能詳解(上)

    RTC(Real Time Clock)實時時鐘,主要用于為人們提供精確的實時時間或者為系統(tǒng)提供精確的時間基準(zhǔn)。RTC通常分為兩類,類是外部時鐘
    的頭像 發(fā)表于 05-26 14:44 ?1880次閱讀
    <b class='flag-5'>RTC</b><b class='flag-5'>時鐘</b>與觸摸功能詳解(上)

    RTC時鐘與觸摸功能詳解(下)

    RTC(Real Time Clock)實時時鐘,主要用于為人們提供精確的實時時間或者為系統(tǒng)提供精確的時間基準(zhǔn)。RTC通常分為兩類,類是外部時鐘
    的頭像 發(fā)表于 05-26 14:45 ?1479次閱讀
    <b class='flag-5'>RTC</b><b class='flag-5'>時鐘</b>與觸摸功能詳解(下)

    文看懂RTC實時時鐘

    RTC是個獨立的定時器。RTC模塊擁有個連續(xù)計數(shù)的計數(shù)器,在相應(yīng)的軟件配置下,可以提供時鐘日歷的功能。修改計數(shù)器的值可以重新設(shè)置當(dāng)前時間和日期 R
    的頭像 發(fā)表于 06-16 12:24 ?4513次閱讀
    <b class='flag-5'>一</b>文看懂<b class='flag-5'>RTC</b>實時<b class='flag-5'>時鐘</b>

    CW32實時時鐘RTC)介紹

    CW32實時時鐘RTC)介紹
    的頭像 發(fā)表于 10-24 15:36 ?1146次閱讀
    CW32實時<b class='flag-5'>時鐘</b>(<b class='flag-5'>RTC</b>)介紹