在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

RTC詳解

jf_78858299 ? 來源:一個人的嵌入式 ? 作者:一個人的嵌入式 ? 2023-05-26 15:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

RTC

RTC的本質(zhì)很簡單,就是一個時鐘經(jīng)過精確分頻最后得到的一個1Hz的時鐘,也可以說是計數(shù)器,其他大部分功能都是基于這個計數(shù)器設(shè)計的數(shù)字邏輯。

本文講的RTC是基于STM32F030來講的,相比與F1系列的RTC來說,M0的將很多原本需要軟件實現(xiàn)的功能硬件化了,使用起來更加便利。

先說說STM32F030的RTC有些什么功能:

1.集成日歷功能,不用像STM32F103一樣需要軟件算法來做;

2.夏令時補償;

3.鬧鐘功能;

4.集成了周期性自動喚醒單元;

5.外部參考時鐘;

6.時鐘平移校準(zhǔn)(亞秒級);

7.數(shù)字校準(zhǔn)

8.時間戳;

9.入侵檢測;

10.備份寄存器

先看看RTC的框圖:

圖片

從框圖中圈出來的部分可以看到,上面提到的RTC功能,大部分在框圖上面都有體現(xiàn),接下來我們按照RTC的功能點講一講各個功能的詳細內(nèi)容

RTC的時鐘分頻

在詳述每個功能點之前,我們先了解下RTC的核心,即1Hz的時鐘的來歷。

從框圖中可以看到RTC的時鐘來源有3個,時鐘源先經(jīng)過一個精密校準(zhǔn)后,再經(jīng)過一個異步預(yù)分頻器和一個同步預(yù)分頻器后,得到的即是我們想要的1Hz的時鐘,這個時鐘將被送到日歷模塊,供日歷計數(shù)用。

我們常用的一個時鐘源是一個32.768kHz的低速外部時鐘(LSE),為什么是這個特殊的頻率呢?因為這個時鐘經(jīng)過分頻后可以得到一個完美的1Hz的時鐘供給日歷模塊使用,最大程度上保證時鐘的精確性,當(dāng)然,實際上來說,32.768kHz的時鐘并不是完全精確的,所以就會導(dǎo)致實際上的時間會在一段時間后跑偏,且隨時間的推移,偏差逐漸擴大,所以我們小時候用電子手表時,會發(fā)現(xiàn)時間在我們調(diào)整準(zhǔn)確后,慢慢的又會出現(xiàn)一點偏差,偏差可以被RTC內(nèi)部邏輯調(diào)整縮小,后面會詳細講述。

32.768kHz為什么比較容易分頻得到1Hz時鐘呢?

由于我們單片機采用的是二進制數(shù),所以分頻器也是以二進制為基礎(chǔ)進行分頻,32.768kHz在不斷的二分頻(15次)后,能得到一個精確的1Hz時鐘,也就是1秒鐘的時間。

圖片

而其他兩個時鐘源(HSE/32)和LSI經(jīng)過兩個分頻器后得到的時鐘往往都是約等于1Hz,長久計數(shù)會產(chǎn)生較大的誤差,因為它們的頻率在經(jīng)過無數(shù)次2分頻后,一般來說,最后都不是一個整數(shù),都是游離在1Hz左右。

理論上來說,如果想要一個1Hz的時鐘,一個分頻器就可以做到,為什么會有兩個分頻器呢?因為STM32F030可以精確到亞秒級,在經(jīng)過第一個時鐘分頻器后,此時得到的時鐘ck_apre(一般為256Hz)會作為亞秒計數(shù)器,提供亞秒級別的計數(shù)。

日歷模塊

日歷模塊是我覺得STM32F030相比與103最大的便捷之處,不需要軟件算法的干預(yù),就可以在預(yù)設(shè)初始年月日,時分秒的基礎(chǔ)上開始計時,且還能自動計算星期,閏年也會被自動計算。

日歷模塊有三個寄存器:時間寄存器, 寄存器,亞秒寄存器

圖片

日歷寄存器是有兩套的,一套是RTC域的本體,一套是由系統(tǒng)時鐘控制的影子寄存器。每隔兩個RTC_CLK,就會將本體寄存器中的值復(fù)制到影子寄存器中。

圖片

由于RTC的特性,所以很多情況下在芯片斷電后,希望內(nèi)部的時間系統(tǒng)不受到影響,所以RTC域通常被要求單獨供電,即在芯片斷電后,RTC還能夠正常工作,當(dāng)下次芯片上電后,影子寄存器在和RTC域本體的日歷寄存器同步后,仍然能得到正確時間。

夏令時

支持夏令時功能,可以將日歷寄存器中的時間增加或減少一個小時。

利用 SUB1H 或 ADD1H,軟件只需單次操作便可在日歷中減去或增加一個小時,無需執(zhí)行

整個初始化步驟,還可以使用 BKP 位來記錄是否曾經(jīng)執(zhí)行過此操作

因為有的國家實行夏令時制度,需要在夏天時,將全國時間集體向前撥一個小時,在夏令時結(jié)束后,又將時間往回?fù)芤粋€小時,所以030集成了這個功能(有興趣的可以百度一下夏令時)。

鬧鐘功能

鬧鐘功能就是通過在鬧鐘寄存器設(shè)置一個預(yù)定時間,當(dāng)日歷寄存器中的時間和鬧鐘寄存器時間匹配后,會產(chǎn)生一個鬧鐘信號,在配置鬧鐘中斷以后,也會生成中斷。

圖片

要注意的是鬧鐘寄存器是沒有年份和月份的,只有日期,時分秒及亞秒。鬧鐘寄存器還有一個掩碼功能(MSK),開啟后日期,時、分、秒及亞秒都可以被單獨屏蔽,不和日歷寄存器中對應(yīng)值作比較。

周期性自動喚醒單元

配置此功能后,可以在器件進入低功耗模式后,根據(jù)配置時間在到達預(yù)定時間后使器件退出低功耗模式??膳渲玫臅r間范圍為1s到36小時。

外部參考時鐘,時鐘平移校準(zhǔn),數(shù)字校準(zhǔn)

把這三個功能放在一起的原因是,三個功能都是RTC的時鐘精度進行調(diào)整的功能,但是三個功能調(diào)整時間的方法和調(diào)整精度上又是不同的。

外部參考時鐘(一般為50Hz或者60Hz):

通過特定GPIO口輸入一個參考時鐘源,外部參考時鐘的精度我們認(rèn)為是高于現(xiàn)在RTC使用的32.768kHz時鐘精度的(32.768kHz由于偏差,并非一定為該數(shù)值),具體的做法是用1Hz時鐘每次在邊沿時檢測是否有高精度外部時鐘的邊沿,如果兩個時鐘的時鐘沿正好對齊。則認(rèn)為1Hz時鐘無偏差,若時鐘不對齊,會對異步預(yù)分頻寄存器進行重載,微調(diào)后續(xù)1Hz時鐘邊沿,使其對齊外部參考時鐘邊沿。

圖片

時鐘平移校準(zhǔn):

參考一個更高精度的遠程時鐘,可以對當(dāng)前的RTC時鐘進行秒級或者亞秒級的增加或減少時間。我的理解是,獲取到一個我們認(rèn)為的更高精度的時鐘當(dāng)前值后,手動對自身RTC的值進行調(diào)整,以提高RTC的精度。

數(shù)字校準(zhǔn):

數(shù)字校準(zhǔn)是三種校準(zhǔn)方式中最為細微的校準(zhǔn)方式,分為正校準(zhǔn)和負(fù)校準(zhǔn)。

正校準(zhǔn)可以在8秒或者16秒的時鐘周期內(nèi),對RTC的源時鐘。RTC_CLK,在每2的11次方的脈沖內(nèi),多插入一個脈沖。

負(fù)校準(zhǔn)可以在32秒的時鐘周期內(nèi),在每2的20次方的脈沖內(nèi),減少1~255個脈沖,由寄存器決定具體減少數(shù)值。

由于RTC的32.768KHz的時鐘源多少都會存在一點偏差,數(shù)字校準(zhǔn)可以做到從源頭上對RTC的精度進行調(diào)整,但是首先我們得獲取到時鐘源的具體偏差值才能更好的對偏差進行校準(zhǔn)。

時間戳和入侵檢測

時間戳

時間戳寄存器和日歷寄存器一樣,只是不會計數(shù),當(dāng)有時間戳事件發(fā)生的時候,日歷寄存器的當(dāng)前值就會被保存到時間戳寄存器中。

當(dāng)RTC的RTC_TS引腳檢測到時間戳事件時,當(dāng)前的日歷寄存器值就會被保存到時間戳寄存器。

入侵檢測

除此之外,入侵檢測的發(fā)生也可以被當(dāng)成時間戳?xí)r間,當(dāng)特定的GPIO引腳檢測到入侵事件時,時間戳就會記下當(dāng)前入侵事件發(fā)生的時間。

入侵檢測事件是當(dāng)特定的入侵檢測引腳被觸發(fā)時(可以設(shè)置觸發(fā)的電平狀態(tài)及保持時間),擦除RTC的備份域寄存器,也可以生成入侵檢測中斷,從停止模式和待機模式喚醒。

備份寄存器

備份寄存器是一小段空間,大小為16字節(jié),可以由用戶自定義寫入數(shù)據(jù),當(dāng)主電源域掉電后,只要RTC域有電,備份寄存器內(nèi)的數(shù)據(jù)就不會丟失。但是當(dāng)入侵事件發(fā)生時,備份寄存器會被復(fù)位,數(shù)據(jù)丟失。

總的來說,RTC本身其實并不復(fù)雜,尤其是F030的RTC,簡單易用,但是它在整個芯片系統(tǒng)中都是一個很特殊的模塊,因為它可以被單獨供電,且RTC域的寄存器值是不受系統(tǒng)復(fù)位影響的,當(dāng)系統(tǒng)電源域有電時,它由VDD供電,當(dāng)系統(tǒng)電源域掉電時,它立刻會切換至后備電源域供電。大致示意圖如下:

圖片

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

    關(guān)注

    32

    文章

    2291

    瀏覽量

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

    關(guān)注

    2

    文章

    621

    瀏覽量

    68749
  • 數(shù)字邏輯
    +關(guān)注

    關(guān)注

    0

    文章

    74

    瀏覽量

    17056
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    #硬聲創(chuàng)作季 #Linux 學(xué)Linux-2.22.1 RTC實驗-6U內(nèi)部RTC詳解-1

    Linux
    水管工
    發(fā)布于 :2022年11月10日 18:32:30

    #硬聲創(chuàng)作季 #Linux 學(xué)Linux-2.22.1 RTC實驗-6U內(nèi)部RTC詳解-2

    Linux
    水管工
    發(fā)布于 :2022年11月10日 18:32:55

    第22.1講 RTC實驗 6U內(nèi)部RTC詳解 - 第1節(jié) #硬聲創(chuàng)作季

    電路電容LINUX內(nèi)核
    充八萬
    發(fā)布于 :2023年08月14日 20:15:37

    第22.1講 RTC實驗 6U內(nèi)部RTC詳解 - 第2節(jié) #硬聲創(chuàng)作季

    電路電容LINUX內(nèi)核
    充八萬
    發(fā)布于 :2023年08月14日 20:16:28

    77 第22.1講 RTC實驗-6U內(nèi)部RTC詳解 - 第1節(jié)

    控制器程序RTC
    充八萬
    發(fā)布于 :2023年08月17日 09:33:28

    77 第22.1講 RTC實驗-6U內(nèi)部RTC詳解 - 第2節(jié) #硬聲創(chuàng)作季

    控制器程序RTC
    充八萬
    發(fā)布于 :2023年08月17日 09:34:19

    77 第22.1講 RTC實驗-6U內(nèi)部RTC詳解 - 第3節(jié)

    控制器程序RTC
    充八萬
    發(fā)布于 :2023年08月17日 09:35:09

    77 第22.1講 RTC實驗-6U內(nèi)部RTC詳解 - 第4節(jié) #硬聲創(chuàng)作季

    控制器程序RTC
    充八萬
    發(fā)布于 :2023年08月17日 09:35:59

    77 第22.1講 RTC實驗-6U內(nèi)部RTC詳解 - 第5節(jié) #硬聲創(chuàng)作季

    控制器程序RTC
    充八萬
    發(fā)布于 :2023年08月17日 09:36:49

    《振南電子STM32視頻教程》第十四講:RTC和BKP

    [第14講] RTC和BKP(72分鐘),由何強主講.本課主要講解:(1).RTC模塊要點講解;(2).RTC寄存器講解;(3).BKP特點;(4).BKP寄存器講解;(5).RTC
    發(fā)表于 10-09 16:22 ?1286次閱讀

    詳解融云的RTC建連過程

    融云的RTC建連過程采用了極簡的接口設(shè)計。
    的頭像 發(fā)表于 08-14 17:16 ?3418次閱讀

    STM32開發(fā) -- RTC詳解

    RTC實時時鐘部分,之前也是有講到過的。Hi3516A開發(fā)–RTC電路接下來看一下STM32里RTC該怎么配置一、RTC實時時鐘特征與原理查看STM32中文手冊 16 實時時鐘(
    發(fā)表于 11-30 13:06 ?27次下載
    STM32開發(fā) -- <b class='flag-5'>RTC</b><b class='flag-5'>詳解</b>

    【STM32】RTC詳解

    00. 目錄文章目錄00. 目錄01. RTC概述02. RTC主要特性03. RTC部分功能3.1 時鐘和預(yù)分頻器3.2 實時時鐘和日歷04. RTC低功耗模式和中斷05.
    發(fā)表于 12-04 17:21 ?26次下載
    【STM32】<b class='flag-5'>RTC</b><b class='flag-5'>詳解</b>

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

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

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

    RTC(Real Time Clock)實時時鐘,主要用于為人們提供精確的實時時間或者為系統(tǒng)提供精確的時間基準(zhǔn)。RTC通常分為兩類,一類是外部時鐘芯片提供實時時鐘,比如DS1302時鐘芯片;另一類
    的頭像 發(fā)表于 05-26 14:45 ?2025次閱讀
    <b class='flag-5'>RTC</b>時鐘與觸摸功能<b class='flag-5'>詳解</b>(下)
    主站蜘蛛池模板: 天天影视亚洲 | 国产在线五月综合婷婷 | 最新bt合集| 国产三级中文字幕 | 狠狠干一区| 狠狠干亚洲色图 | 久青草视频免费视频播放线路1 | 日韩欧美一区二区三区不卡视频 | 欧美日韩一区视频 | 四虎影院免费观看 | 1v1高h肉爽文bl | 看真人一级毛片 | 老司机午夜网站 | 日女人免费视频 | 玖玖爱这里只有精品 | 亚洲午夜久久久久影院 | 亚洲国产综合人成综合网站00 | 久久人人精品 | 亚洲 另类色区 欧美日韩 | 亚洲人成在线精品不卡网 | 午夜天堂影院 | 综合网激情 | 午夜一级毛片看看 | 中文字幕第一 | 久久久综合色 | 成年人视频黄色 | 日本三级视频在线播放 | 高清成年美女黄网站色大 | 一级视频在线免费观看 | 亚洲午夜精品久久久久 | 高清视频在线观看+免费 | 五月六月激情 | 日本不卡毛片一二三四 | 精品久久香蕉国产线看观看亚洲 | 成人精品在线观看 | 日韩电影天堂网 | 中文字幕一区在线播放 | 免费啪视频在线观看 | japanesexxx日本69| 就要爱综合 | 欧美成人性色xxxxx视频大 |