那曲檬骨新材料有限公司

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

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

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

雅特力AT32 RTC入門指南

0739hhbb ? 來源:AT32 MCU 雅特力科技 ? 作者:AT32 MCU 雅特力科技 ? 2023-04-21 09:34 ? 次閱讀

RTC接口簡介

RTC計數(shù)邏輯位于電池供電域,內(nèi)部為一個32位遞增計數(shù)器,只要電池供電域有電,RTC便會一直運(yùn)行,不受系統(tǒng)復(fù)位以及VDD掉電影響,RTC主要具有以下功能:

― 日歷功能:32位計數(shù)器,通過轉(zhuǎn)換得到年、月、日、時、分、秒

― 鬧鐘功能

― 入侵檢測功能

― 校準(zhǔn)功能

圖1. RTC框圖

wKgZomRB6EWAZoJfAADoAMkP-e0241.png

RTC功能

寄存器訪問

寄存器寫保護(hù)

上電復(fù)位后RTC寄存器處于寫保護(hù)狀態(tài),需要先解除寫保護(hù),才能寫配置RTC寄存器。

解鎖步驟:

使能PWC接口時鐘

wKgaomRB6EWAZlpYAAAislXtAYI586.png

使能BPR接口時鐘

wKgaomRB6EWAFDgPAAAhImTvzEQ537.png

解鎖電池供電域?qū)懕Wo(hù)

wKgZomRB6EWAIBZWAAAcCZDf260550.png

RTC寄存器同步

由于RTC由電池供電域的計數(shù)邏輯和APB1接口的寄存器組成,寄存器的讀寫存在同步邏輯。

― 寄存器寫:需要等待上一次的RTC寄存器配置完成后(CFGF=1),才能進(jìn)行新的寫操作。

― 寄存器讀:當(dāng)寄存器值從電池供電域更新到APB1接口時UPDF標(biāo)志置1。 當(dāng)在系統(tǒng)復(fù)位、電源復(fù)位、從待機(jī)、深度睡眠模式喚醒后,有可能寄存器還未完全同步,所以需要先軟件將UPDF標(biāo)志清除,然后等待UPDF標(biāo)志置1,以讀取正確的值。

RTC同步相關(guān)函數(shù)

等待上一次RTC寄存器配置完成(寫寄存器之前使用)

wKgZomRB6EWAKkYNAAAWCv43WdI114.png

等待RTC寄存器更新完成(讀取寄存器之前使用)

wKgZomRB6EWAORlvAAAXf-8PKeI000.png

RTC寄存器寫

寫RTC_DIV、RTC_TA、RTC_CNT寄存器需要先進(jìn)入配置模式(CFGEN=1),然后才能對寄存器進(jìn)行寫操作,當(dāng)退出配置模式(CFGEN=0)時,就會將寄存器值實際寫到電池供電域,這個過程至少需要3個RTCCLK周期。

下表列舉了RTC寄存器受寫保護(hù)狀態(tài),以及寫入的條件:

表1. RTC寄存器

wKgZomRB6EWACmBFAABaMDRodI0136.png

寄存器復(fù)位

RTC寄存器處于電池供電域,可以CRM_BPDC的BPDRST進(jìn)行電池供電域復(fù)位,也可以由提供的庫函數(shù)對每個寄存器寫默認(rèn)值進(jìn)行復(fù)位。

RTC復(fù)位相關(guān)函數(shù)

電池供電域復(fù)位

wKgZomRB6EWAfDC5AAAc4_w7Xxw938.png

或者

wKgaomRB6EWASe2OAAARDe95VgY586.png

兩個函數(shù)功能一樣,只是bpr_reset()封裝了前一個函數(shù)。

時鐘設(shè)置

時鐘源選擇

RTC時鐘源經(jīng)過選擇后輸入到分頻器,最終得到1Hz的時鐘用來更新日歷。

圖2. RTC時鐘結(jié)構(gòu)

wKgZomRB6EWAYLfyAABYP0WILig825.png

RTC的時鐘源共有3種可以選擇:

― LEXT:外部低速晶振,通常為32.768kHz

― LICK:內(nèi)部低速晶振,通常典型值為40kHz范圍(30~60kHz),詳情請見各型號的datasheet

― HEXT_DIV:外部高速晶振分頻后得到的時鐘,不同型號分頻值請見下表

表2. 各型號HEXT的預(yù)分頻值

wKgaomRB6EWAEVKHAABAOb2VkN0869.png

表3. 各時鐘源優(yōu)缺點(diǎn)對比

wKgaomRB6EWAUuLfAAFH7M0381U185.png

RTC時鐘源設(shè)置相關(guān)函數(shù)

選擇對應(yīng)時鐘使能

wKgaomRB6EWATlyHAAAd4fUyaT0497.png

選擇RTC時鐘

wKgZomRB6EWARg4lAAAYyIEDpgw435.png

使能RTC時鐘

wKgZomRB6EWAbvAqAAAZEwJVkRU058.png

預(yù)分頻器設(shè)置

RTC_CLK通過20位預(yù)分頻器后獲得1Hz時鐘,計算公式如下:

wKgaomRB6EWAQUu-AAAScauxr_I260.png

表4. 分頻設(shè)置舉例

wKgZomRB6EWAZ1AEAABORDJNm2E433.png

RTC分頻設(shè)置相關(guān)函數(shù)

設(shè)置RTC預(yù)分頻器

wKgaomRB6EWAZB7RAAAXO6BLNlY521.png

獲取RTC預(yù)分頻器值

wKgZomRB6EWAd8KHAAAVPZcBOoo995.png

RTC時鐘初始化舉例:

wKgaomRB6EWAGiuHAAEA1n7aqb8907.png

日歷

RTC內(nèi)部是一個32位的計數(shù)器,通常使用中該計數(shù)器1秒增加1,也就是該計數(shù)器相當(dāng)于秒鐘,然后根據(jù)當(dāng)前的秒鐘值,通過轉(zhuǎn)換得到年、月、日、星期、時、分、秒,實現(xiàn)日歷的功能,修改計數(shù)器的值便可修改時間和日期。

根據(jù)使用需要還可以產(chǎn)生秒中斷:若秒中斷使能(TSIEN=1),每隔一秒產(chǎn)生一個秒中斷。

圖3. 日歷轉(zhuǎn)換

wKgaomRB6EWADi6DAAB4IxDnik0688.png

計數(shù)相關(guān)函數(shù)

設(shè)置RTC計數(shù)值

wKgaomRB6EWAbfb4AAAXrW8jrf8552.png

獲取RTC計數(shù)值

wKgaomRB6EWAH2A4AAAVUAv_iJQ516.png

秒鐘轉(zhuǎn)換成日歷

先規(guī)定一個起始時間,例如1970-1-1 0000對應(yīng)計數(shù)器為0,現(xiàn)在比如計數(shù)值為200000,那么換算成時間為:

― 天數(shù):200000 / 86400 = 2

― 小時:(200000 % 86400) / 3600= 7

― 分鐘:(200000 % 3600) / 60= 33

― 秒鐘:200000 % 60 = 20

所以現(xiàn)在的時間對應(yīng)為1970-1-3 0720,對應(yīng)日歷轉(zhuǎn)換成秒鐘也是相同的思路。

在BSP的例程projectat_start_f403aexamples tccalendar中,我們提供了秒鐘與日歷的相互轉(zhuǎn)換函數(shù)。

設(shè)置日歷值(日歷轉(zhuǎn)換成秒鐘)

wKgZomRB6EWAakDNAAAXijuBcgg846.png

結(jié)構(gòu)體calendar_type里面參數(shù)含義如下:

― year:年

― month:月

― day:日

― hour:時

― min:分

― sec:秒

― week:星期幾

讀取日歷值(秒鐘轉(zhuǎn)換成日歷)

wKgaomRB6EWALCxPAAAR4PgM1Rs401.png

鬧鐘

RTC鬧鐘是一個32位的值,當(dāng)鬧鐘值和計數(shù)值相等時產(chǎn)生鬧鐘事件(TAF置1),當(dāng)中斷使能時,會產(chǎn)生中斷。

圖4. 鬧鐘匹配

wKgaomRB6EWAC1KjAABWx-e7g3E876.png

鬧鐘相關(guān)函數(shù)

鬧鐘值設(shè)置函數(shù)

wKgZomRB6EWAGNzVAAAX3D8eGPA607.png

中斷使能函數(shù)

wKgZomRB6EWAQVcZAAAemToBsrA981.png

標(biāo)志獲取函數(shù)

wKgaomRB6EWARuaMAAAUp7cVwGk127.png

標(biāo)志清除函數(shù)

wKgZomRB6EWAL8RDAAAW6FhYgzY245.png

計數(shù)值溢出

由于計數(shù)值為32位,所以存在溢出問題,當(dāng)計數(shù)值為0xFFFFFFFF溢出到0x00000000時,產(chǎn)生溢出事件,OVFF標(biāo)志置1當(dāng)鬧鐘使能后,由于溢出后,秒與日歷的相轉(zhuǎn)換關(guān)系便不正確,所以用戶需妥善處理溢出事件。

0xFFFFFFFF所能代表的最大時間為136年,例程起始時間為1975,所以能夠到2106年不溢出。

圖5. 計數(shù)值溢出示例(分頻值為4)

wKgaomRB6EWAMfXfAABnaBt-7qg008.png

中斷

當(dāng)發(fā)生鬧鐘、秒、溢出事件時,RTC可產(chǎn)生中斷。 鬧鐘中斷有兩種配置模式:

― 不配置EXINT線使用RTC_IRQn中斷向量,此種方式不能喚醒DEEPSLEEP和STANDBY模式;

― 配置EXINT線使用RTCAlarm_IRQn中斷向量,此種方式可以喚醒DEEPSLEEP和STANDBY模式。

要使能RTC鬧鐘(不需要喚醒低功耗模式)、秒、溢出中斷可按以下操作配置:

― 使能RTC中斷對應(yīng)的NVIC通道。

― 使能對應(yīng)的RTC中斷控制位。

要使能RTC鬧鐘(需要喚醒低功耗模式)中斷可按以下操作配置:

― EXINT線17配置為中斷模式并使能,有效沿選擇上升沿。

― 使能RTC中斷對應(yīng)的NVIC通道。

― 使能對應(yīng)的RTC中斷控制位。

下表說明了RTC時鐘源、事件以及中斷對喚醒低功耗模式的影響:

表5. RTC喚醒低功耗模式

wKgZomRB6EWAa6-bAAC_A0OyUs0527.png

表6. 中斷控制

wKgZomRB6EWAWCnHAAA3ZoGmZG4309.png

表7. 事件對應(yīng)中斷向量

wKgZomRB6EWAQSIDAABcvhjWUNU731.png

中斷、事件相關(guān)函數(shù)

中斷使能函數(shù)

wKgaomRB6EWAYKlQAAAepAQvRDI054.png

標(biāo)志獲取函數(shù)

wKgaomRB6EWAI-gPAAAUuy7MfHI976.png

標(biāo)志清除函數(shù)

wKgaomRB6EWAECToAAAW_8CKcY4168.png

中斷配置示例1:以AT32F403A的鬧鐘為例,使用RTCAlarm_IRQn中斷向量

wKgZomRB6EWAYdZrAAFIpUGjaas704.png

中斷處理函數(shù)

wKgZomRB6EWAdb-wAACWO_6fmXU098.png

中斷配置示例2:以AT32F403A的鬧鐘為例,使用RTC_IRQn中斷向量

wKgaomRB6EWACd7KAACJLWA3KH8375.png

中斷處理函數(shù)

wKgaomRB6EWAV8S9AABjFgzhFZg532.png

電池供電域功能

電池供電數(shù)據(jù)寄存器

電池供電域一共提供了42個16位電池供電數(shù)據(jù)寄存器,可以在只由電池供電下保存數(shù)據(jù),不會被系統(tǒng)復(fù)位所復(fù)位,只能通過電池供電域復(fù)位或入侵事件進(jìn)行復(fù)位。 在寫電池供電數(shù)據(jù)寄存器時,需要先解除讀保護(hù),解鎖方式同2.1章節(jié)相同。

電池供電域數(shù)據(jù)操作相關(guān)函數(shù)

寫電池供電數(shù)據(jù)寄存器

wKgZomRB6EWASLIxAAAbUY01KuQ585.png

讀電池供電數(shù)據(jù)寄存器

wKgZomRB6EWAUaRkAAAVDHBZoqo167.png

電池供電域復(fù)位

wKgaomRB6EWAH85FAAAQ7m3CZio675.png

RTC校準(zhǔn)

電池供電域還提供了RTC校準(zhǔn)功能,通過RTC_CALVAL寄存器進(jìn)行配置。

圖6. RTC校準(zhǔn)

wKgZomRB6EWAMTQfAABtSp1Imcw480.png

當(dāng)RTC_CLK為32.768kHz時,校準(zhǔn)周期為2^20^個RTC_CLK約32秒。 CALVAL[7:0]值指定了2^20^個RTC_CLK中忽略的脈沖數(shù),最多可忽略127個脈沖,這可以將時鐘調(diào)慢,調(diào)慢范圍為0~121ppm。

可以選擇將校準(zhǔn)前或校準(zhǔn)后的RTC時鐘64分頻后輸出到PC13腳。

校準(zhǔn)設(shè)置相關(guān)函數(shù)

校準(zhǔn)值設(shè)置函數(shù)

wKgaomRB6EWAVOCqAAAbLtVV2FM700.png

校準(zhǔn)時鐘輸出設(shè)置函數(shù)

wKgZomRB6EWAax3gAAAWzx4omk8105.png

入侵檢測

電池供電域提供了1組入侵檢測TAMPER,當(dāng)在發(fā)生入侵事件時,TPEF標(biāo)志位置1,同時將自動清除電池供電數(shù)據(jù)寄存器(RTC_BPRx)的值; 若已使能入侵中斷,將產(chǎn)生入侵中斷,同時TPIF標(biāo)志位置1。 入侵檢測引腳固定為PC13。

圖7. 入侵檢測

wKgZomRB6EWABPgGAAAW3GkmDx0115.png

入侵檢測模式分為高電平檢測和低電平檢測。

入侵檢測相關(guān)函數(shù)

入侵檢測有效電平設(shè)置

wKgZomRB6EWACionAAAalYtE-sY618.png

入侵檢測使能

wKgaomRB6EWAaPLFAAAZ-E0GLAo086.png

入侵檢測標(biāo)志獲取

wKgaomRB6EWAHHxIAAAWo4bOjM0891.png

入侵檢測標(biāo)準(zhǔn)清除

wKgaomRB6EWAfIPmAAAZcGw65uY506.png

入侵檢測中斷使能

wKgaomRB6EWAUFJxAAAanMohs64423.png

事件輸出功能

電池供電域提供了一組復(fù)用功能輸出,在PC13腳可以輸出以下事件:

― 校準(zhǔn)輸出:校準(zhǔn)前64分頻輸出、校準(zhǔn)后64分頻輸出。

― 事件輸出:鬧鐘事件、秒事件

圖8. 事件輸出

wKgZomRB6EWAFvrlAACTTd_KnDU245.png

當(dāng)輸出模式為事件輸出時(鬧鐘事件、秒事件),可以通過OUTM選擇輸出類型為脈沖輸出(輸出脈沖的寬度為一個RTC時鐘的周期)或者是翻轉(zhuǎn)輸出(每來一次鬧鐘或秒輸出事件,相對應(yīng)管腳翻轉(zhuǎn)一次)。

事件輸出相關(guān)函數(shù)

事件輸出設(shè)置并使能

wKgZomRB6EWAJ9MsAAAW3OTgxmg924.png

審核編輯:湯梓紅

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

    關(guān)注

    33

    文章

    8691

    瀏覽量

    151908
  • 計數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2261

    瀏覽量

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

    關(guān)注

    2

    文章

    542

    瀏覽量

    67019
  • 雅特力
    +關(guān)注

    關(guān)注

    0

    文章

    168

    瀏覽量

    8140
  • AT32
    +關(guān)注

    關(guān)注

    1

    文章

    118

    瀏覽量

    2164

原文標(biāo)題:AT32講堂052 | 雅特力AT32 RTC入門指南

文章出處:【微信號:AT32 MCU 雅特力科技,微信公眾號:AT32 MCU 雅特力科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    AT32 MCU CAN入門指南

    AT32 MCU CAN入門指南本文介紹了CAN 標(biāo)準(zhǔn)協(xié)議,AT32 CAN 的使用流程以及基于AT32 的幾個CAN 使用例程。
    發(fā)表于 10-25 06:01

    AT32 MCU SDIO入門指南

    AT32 MCU SDIO入門指南本應(yīng)用入門指南主要介紹以下幾部分內(nèi)容:1.基于
    發(fā)表于 10-25 08:08

    AT32 RTC入門指南

    AT32 RTC入門指南本文主要就RTC 的基本功能進(jìn)行講解和案列解析。
    發(fā)表于 10-25 07:39

    AT32 IDE快速入門指南

    AT32 IDE 快速入門指南幫助用戶快速熟悉Artery AT32 IDE的簡明指南
    發(fā)表于 10-26 06:13

    攜高性能AT32 MCU精彩亮相全球MCU生態(tài)發(fā)展大會

    技術(shù)、邊緣AI、新興應(yīng)用和生態(tài)發(fā)展等熱門議題。 業(yè)務(wù)處長陳佳延在大會發(fā)表了題為“
    的頭像 發(fā)表于 08-30 10:04 ?4564次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>攜高性能<b class='flag-5'>AT32</b> MCU精彩亮相全球MCU生態(tài)發(fā)展大會

    AT32 SPI

    AT32 SPI 科技AT32F415系
    發(fā)表于 03-30 10:44 ?524次閱讀

    AT32講堂052 | AT32 RTC入門指南

    RTC接口簡介RTC計數(shù)邏輯位于電池供電域,內(nèi)部為一個32位遞增計數(shù)器,只要電池供電域有電,RTC便會一直運(yùn)行,不受系統(tǒng)復(fù)位以及VDD掉電影響,RTC主要具有以下功能:―日歷功能:32
    的頭像 發(fā)表于 04-25 11:45 ?2668次閱讀
    <b class='flag-5'>AT32</b>講堂052 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>RTC</b><b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    如何使用AT32 MCU定時器進(jìn)行PWM輸入測試

    如何使用AT32 MCU定時器進(jìn)行PWM輸入測試
    的頭像 發(fā)表于 10-27 14:20 ?3076次閱讀
    如何使用<b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> MCU定時器進(jìn)行PWM輸入測試

    AT32 RTC入門指南

    電子發(fā)燒友網(wǎng)站提供《AT32 RTC入門指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 15:18 ?2次下載
    <b class='flag-5'>AT32</b> <b class='flag-5'>RTC</b><b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    AT32 MCU SDIO入門指南

    電子發(fā)燒友網(wǎng)站提供《AT32 MCU SDIO入門指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 16:18 ?2次下載
    <b class='flag-5'>AT32</b> MCU SDIO<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    AT32 WDT WWDT入門指南

    電子發(fā)燒友網(wǎng)站提供《AT32 WDT WWDT入門指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 16:05 ?1次下載
    <b class='flag-5'>AT32</b> WDT WWDT<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    AT32 MCU實現(xiàn)高效電機(jī)驅(qū)動控制與應(yīng)用

    發(fā)展。受邀出席此次會議,產(chǎn)品市場總監(jiān)林金海發(fā)表了題為“AT32MCU實現(xiàn)高效電機(jī)驅(qū)動
    的頭像 發(fā)表于 11-17 08:15 ?885次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> MCU實現(xiàn)高效電機(jī)驅(qū)動控制與應(yīng)用

    AT32F423時鐘配置入門指南

    電子發(fā)燒友網(wǎng)站提供《AT32F423時鐘配置入門指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-31 09:37 ?1次下載
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32F423時鐘配置<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    AT32F423入門使用指南

    初步環(huán)境準(zhǔn)備開發(fā)環(huán)境下載地址:
    的頭像 發(fā)表于 05-14 08:15 ?1772次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32F423<b class='flag-5'>入門</b>使用<b class='flag-5'>指南</b>

    AT32講堂087 | AT32 IDE快速入門指南

    新建項目新項目向?qū)T32ID提供支持MCU的C語言項目模板,方便用戶快速創(chuàng)建項目。菜單欄【File】>【New】>【CProject】。新建項目向?qū)У膶υ捒驅(qū)⒊霈F(xiàn)。在對
    的頭像 發(fā)表于 09-15 08:08 ?551次閱讀
    <b class='flag-5'>AT32</b>講堂087 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> IDE快速<b class='flag-5'>入門</b><b class='flag-5'>指南</b>
    威尼斯人娱乐游戏| 新2百家乐官网现金网百家乐官网现金网 | 百家乐官网赌经| 上市百家乐评论| 石台县| 百家乐那个平台信誉高| 澳门百家乐博| 百家乐在线游戏| 十六浦百家乐官网的玩法技巧和规则 | 富田太阳城租房| 百家乐官网分路单| 全讯网3344666| 百家乐官网博弈之赢者理论坛| 大发888娱乐在线客服| 布加迪百家乐官网的玩法技巧和规则 | 大发888娱乐游戏下载| 保单机百家乐官网破解方法| 聚龍社百家乐的玩法技巧和规则| 澳门百家乐官网破解| 金花百家乐官网娱乐城| 太阳城小区| 24山度数| 康保县| 百家乐赌博筹| 百家乐官网网上真钱娱乐平台 | 百家乐官网赢钱面面观| 盛京棋牌网| 百家乐官网开户过的路纸| 澳门赌场老板| ea百家乐系统| 网络百家乐官网诈骗| 大发888更名网址6| 百家乐视频下载| 百家乐官网注册| 全讯网找a3322.com| 百家乐视频美女| 广东百家乐官网扫描分析仪| 老虎机破解| 百家乐娱乐城网站| 百家乐官网投注心态| 大发888 有斗地主吗|