精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

AT32講堂052 | 雅特力AT32 RTC入門指南

雅特力 AT32 MCU ? 2023-04-25 11:45 ? 次閱讀

RTC接口簡介

RTC計數邏輯位于電池供電域,內部為一個32位遞增計數器,只要電池供電域有電,RTC便會一直運行,不受系統復位以及VDD掉電影響,RTC主要具有以下功能:― 日歷功能:32位計數器,通過轉換得到年、月、日、時、分、秒― 鬧鐘功能― 入侵檢測功能― 校準功能圖1. RTC框圖20664466-df82-11ed-ad0d-dac502259ad0.png

RTC功能

寄存器訪問

寄存器寫保護上電復位后RTC寄存器處于寫保護狀態,需要先解除寫保護,才能寫配置RTC寄存器。解鎖步驟:1)使能PWC接口時鐘2090c4de-df82-11ed-ad0d-dac502259ad0.png

2)使能BPR接口時鐘

20ad2458-df82-11ed-ad0d-dac502259ad0.png3)?解鎖電池供電域寫保護20c7894c-df82-11ed-ad0d-dac502259ad0.pngRTC寄存器同步由于RTC由電池供電域的計數邏輯和APB1接口的寄存器組成,寄存器的讀寫存在同步邏輯。― 寄存器寫:需要等待上一次的RTC寄存器配置完成后(CFGF=1),才能進行新的寫操作。― 寄存器讀:當寄存器值從電池供電域更新到APB1接口時UPDF標志置1。當在系統復位、電源復位、從待機、深度睡眠模式喚醒后,有可能寄存器還未完全同步,所以需要先軟件將UPDF標志清除,然后等待UPDF標志置1,以讀取正確的值。RTC同步相關函數

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

20ddbafa-df82-11ed-ad0d-dac502259ad0.png等待RTC寄存器更新完成(讀取寄存器之前使用)20f42736-df82-11ed-ad0d-dac502259ad0.pngRTC寄存器寫寫RTC_DIV、RTC_TA、RTC_CNT寄存器需要先進入配置模式(CFGEN=1),然后才能對寄存器進行寫操作,當退出配置模式(CFGEN=0)時,就會將寄存器值實際寫到電池供電域,這個過程至少需要3個RTCCLK周期。下表列舉了RTC寄存器受寫保護狀態,以及寫入的條件:表1. RTC寄存器2111197c-df82-11ed-ad0d-dac502259ad0.png寄存器復位RTC寄存器處于電池供電域,可以CRM_BPDC的BPDRST進行電池供電域復位,也可以由提供的庫函數對每個寄存器寫默認值進行復位。RTC復位相關函數電池供電域復位2130fd5a-df82-11ed-ad0d-dac502259ad0.png或者214a50d4-df82-11ed-ad0d-dac502259ad0.png兩個函數功能一樣,只是bpr_reset()封裝了前一個函數。

時鐘設置

時鐘源選擇RTC時鐘源經過選擇后輸入到分頻器,最終得到1Hz的時鐘用來更新日歷。圖2. RTC時鐘結構2163f304-df82-11ed-ad0d-dac502259ad0.pngRTC的時鐘源共有3種可以選擇:― LEXT:外部低速晶振,通常為32.768kHz― LICK:內部低速晶振,通常典型值為40kHz范圍(30~60kHz),詳情請見各型號的datasheet― HEXT_DIV:外部高速晶振分頻后得到的時鐘,不同型號分頻值請見下表表2. 各型號HEXT的預分頻值21877b58-df82-11ed-ad0d-dac502259ad0.png表3. 各時鐘源優缺點對比21a6d6ec-df82-11ed-ad0d-dac502259ad0.pngRTC時鐘源設置相關函數

選擇對應時鐘使能

21cb9090-df82-11ed-ad0d-dac502259ad0.png選擇RTC時鐘21e55200-df82-11ed-ad0d-dac502259ad0.png使能RTC時鐘220355e8-df82-11ed-ad0d-dac502259ad0.png預分頻器設置RTC_CLK通過20位預分頻器后獲得1Hz時鐘,計算公式如下:

2219666c-df82-11ed-ad0d-dac502259ad0.png

表4. 分頻設置舉例2230a30e-df82-11ed-ad0d-dac502259ad0.pngRTC分頻設置相關函數

設置RTC預分頻器

22475d38-df82-11ed-ad0d-dac502259ad0.png獲取RTC預分頻器值2261a120-df82-11ed-ad0d-dac502259ad0.pngRTC時鐘初始化舉例:22768e5a-df82-11ed-ad0d-dac502259ad0.png

日歷

RTC內部是一個32位的計數器,通常使用中該計數器1秒增加1,也就是該計數器相當于秒鐘,然后根據當前的秒鐘值,通過轉換得到年、月、日、星期、時、分、秒,實現日歷的功能,修改計數器的值便可修改時間和日期。根據使用需要還可以產生秒中斷:若秒中斷使能(TSIEN=1),每隔一秒產生一個秒中斷。圖3. 日歷轉換228de7d0-df82-11ed-ad0d-dac502259ad0.png計數相關函數

設置RTC計數值

22aaac44-df82-11ed-ad0d-dac502259ad0.png獲取RTC計數值22c21208-df82-11ed-ad0d-dac502259ad0.png秒鐘轉換成日歷先規定一個起始時間,例如1970-1-1 0000對應計數器為0,現在比如計數值為200000,那么換算成時間為:― 天數:200000 / 86400 = 2 ― 小時:(200000 % 86400) / 3600= 7― 分鐘:(200000 % 3600) / 60= 33― 秒鐘:200000 % 60 = 20所以現在的時間對應為1970-1-3 0720,對應日歷轉換成秒鐘也是相同的思路。在BSP的例程project\at_start_f403a\examples\rtc\calendar中,我們提供了秒鐘與日歷的相互轉換函數。設置日歷值(日歷轉換成秒鐘)22dd11ac-df82-11ed-ad0d-dac502259ad0.png結構體calendar_type里面參數含義如下:― year:年― month:月― day:日― hour:時― min:分― sec:秒― week:星期幾讀取日歷值(秒鐘轉換成日歷)22f1cf8e-df82-11ed-ad0d-dac502259ad0.png

鬧鐘

RTC鬧鐘是一個32位的值,當鬧鐘值和計數值相等時產生鬧鐘事件(TAF置1),當中斷使能時,會產生中斷。圖4. 鬧鐘匹配230d8fc6-df82-11ed-ad0d-dac502259ad0.png鬧鐘相關函數

鬧鐘值設置函數

23256c5e-df82-11ed-ad0d-dac502259ad0.png中斷使能函數2342ff6c-df82-11ed-ad0d-dac502259ad0.png標志獲取函數235ce3e6-df82-11ed-ad0d-dac502259ad0.png標志清除函數23760e98-df82-11ed-ad0d-dac502259ad0.png

計數值溢出

由于計數值為32位,所以存在溢出問題,當計數值為0xFFFFFFFF溢出到0x00000000時,產生溢出事件,OVFF標志置1當鬧鐘使能后,由于溢出后,秒與日歷的相轉換關系便不正確,所以用戶需妥善處理溢出事件。0xFFFFFFFF所能代表的最大時間為136年,例程起始時間為1975,所以能夠到2106年不溢出。圖5. 計數值溢出示例(分頻值為4)2395bd4c-df82-11ed-ad0d-dac502259ad0.png

中斷

當發生鬧鐘、秒、溢出事件時,RTC可產生中斷。鬧鐘中斷有兩種配置模式:

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

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

要使能RTC鬧鐘(不需要喚醒低功耗模式)、秒、溢出中斷可按以下操作配置:― 使能RTC中斷對應的NVIC通道。― 使能對應的RTC中斷控制位。要使能RTC鬧鐘(需要喚醒低功耗模式)中斷可按以下操作配置:― EXINT線17配置為中斷模式并使能,有效沿選擇上升沿。― 使能RTC中斷對應的NVIC通道。― 使能對應的RTC中斷控制位。下表說明了RTC時鐘源、事件以及中斷對喚醒低功耗模式的影響:表5. RTC喚醒低功耗模式

23b4baee-df82-11ed-ad0d-dac502259ad0.png

表6. 中斷控制23defc28-df82-11ed-ad0d-dac502259ad0.png表7. 事件對應中斷向量23f59cd0-df82-11ed-ad0d-dac502259ad0.png中斷、事件相關函數

中斷使能函數

2414531e-df82-11ed-ad0d-dac502259ad0.png標志獲取函數242f1316-df82-11ed-ad0d-dac502259ad0.png標志清除函數2441abac-df82-11ed-ad0d-dac502259ad0.png中斷配置示例1:以AT32F403A的鬧鐘為例,使用RTCAlarm_IRQn中斷向量245e325e-df82-11ed-ad0d-dac502259ad0.png中斷處理函數249576c4-df82-11ed-ad0d-dac502259ad0.png中斷配置示例2:以AT32F403A的鬧鐘為例,使用RTC_IRQn中斷向量24b4512a-df82-11ed-ad0d-dac502259ad0.png中斷處理函數24cec7d0-df82-11ed-ad0d-dac502259ad0.png

電池供電域功能

電池供電數據寄存器

電池供電域一共提供了42個16位電池供電數據寄存器,可以在只由電池供電下保存數據,不會被系統復位所復位,只能通過電池供電域復位或入侵事件進行復位。在寫電池供電數據寄存器時,需要先解除讀保護,解鎖方式同2.1章節相同。電池供電域數據操作相關函數

寫電池供電數據寄存器

24e87dec-df82-11ed-ad0d-dac502259ad0.png讀電池供電數據寄存器25017356-df82-11ed-ad0d-dac502259ad0.png電池供電域復位251be632-df82-11ed-ad0d-dac502259ad0.png

RTC校準

電池供電域還提供了RTC校準功能,通過RTC_CALVAL寄存器進行配置。圖6. RTC校準2533a448-df82-11ed-ad0d-dac502259ad0.png當RTC_CLK為32.768kHz時,校準周期為220個RTC_CLK約32秒。CALVAL[7:0]值指定了220個RTC_CLK中忽略的脈沖數,最多可忽略127個脈沖,這可以將時鐘調慢,調慢范圍為0~121ppm。可以選擇將校準前或校準后的RTC時鐘64分頻后輸出到PC13腳。

校準設置相關函數

校準值設置函數

254e0838-df82-11ed-ad0d-dac502259ad0.png校準時鐘輸出設置函數256495c6-df82-11ed-ad0d-dac502259ad0.png

入侵檢測

電池供電域提供了1組入侵檢測TAMPER,當在發生入侵事件時,TPEF標志位置1,同時將自動清除電池供電數據寄存器(RTC_BPRx)的值;若已使能入侵中斷,將產生入侵中斷,同時TPIF標志位置1。入侵檢測引腳固定為PC13。圖7. 入侵檢測257eee8a-df82-11ed-ad0d-dac502259ad0.png入侵檢測模式分為高電平檢測和低電平檢測。

入侵檢測相關函數

入侵檢測有效電平設置

2597e0b6-df82-11ed-ad0d-dac502259ad0.png入侵檢測使能25afa1c4-df82-11ed-ad0d-dac502259ad0.png入侵檢測標志獲取25ca48bc-df82-11ed-ad0d-dac502259ad0.png入侵檢測標準清除25e5888e-df82-11ed-ad0d-dac502259ad0.png入侵檢測中斷使能25f7952e-df82-11ed-ad0d-dac502259ad0.png

事件輸出功能

電池供電域提供了一組復用功能輸出,在PC13腳可以輸出以下事件:― 校準輸出:校準前64分頻輸出、校準后64分頻輸出。― 事件輸出:鬧鐘事件、秒事件圖8. 事件輸出 260cfa5e-df82-11ed-ad0d-dac502259ad0.png當輸出模式為事件輸出時(鬧鐘事件、秒事件),可以通過OUTM選擇輸出類型為脈沖輸出(輸出脈沖的寬度為一個RTC時鐘的周期)或者是翻轉輸出(每來一次鬧鐘或秒輸出事件,相對應管腳翻轉一次)。事件輸出相關函數事件輸出設置并使能262cd496-df82-11ed-ad0d-dac502259ad0.png

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RTC
    RTC
    +關注

    關注

    2

    文章

    528

    瀏覽量

    66310
  • AT32
    +關注

    關注

    1

    文章

    113

    瀏覽量

    2074
收藏 人收藏

    評論

    相關推薦

    AT32講堂088 | AT32F402/F405時鐘配置

    介紹如何結合提供的V2.x.x的板級支持包(BSP)來配置時鐘。以下介紹時鐘配置的方法主要分兩種:1、以手動編寫代碼調用BSP中提供的驅動函數接口來進行時鐘配
    的頭像 發表于 09-15 08:08 ?402次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>088 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32F402/F405時鐘配置

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

    新建項目新項目向導AT32ID提供支持MCU的C語言項目模板,方便用戶快速創建項目。菜單欄【File】>【New】>【CProject】。新建項目向導的對話框將出現。在對
    的頭像 發表于 09-15 08:08 ?363次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</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>

    AT32 MCU的隨機數生成

    概述產品和生態系統安全性的需求比以往任何時候都更加重要。真隨機數是所有安全系統的核心,其質量會影響設計的安全性。因此在沒有內置硬件TRNG的AT32的微控制器系列中,如何提高隨機數的有效,來符合
    的頭像 發表于 08-30 12:26 ?457次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> MCU的隨機數生成

    AT32講堂085 | AT32 MCU HICK時鐘校準

    簡介AT32系列MCU內部都有提供適合運行的內部高速時鐘(HICK),其本質就是內置于芯片的RC振蕩器。在25℃下,其典型值頻率8MHz的精度由工廠校準到±1%,在-40到105℃,該內部高速時鐘
    的頭像 發表于 08-30 12:26 ?511次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>085 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> MCU HICK時鐘校準

    電機應用快速入門指南

    AT32電機控制算法庫目標電機:三相永磁同步電機(直流無刷電機)控制模式:可執行有位置感測器/無位置感測器FOC弦波矢量控制可執行有位置感測器/無位置感測器120°方波BLDC電機控制三相PWM調制
    的頭像 發表于 08-30 12:26 ?366次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>電機應用快速<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    攜多款AT32 MCU新品與應用方案亮相2024慕尼黑上海電子展

    7月8日,2024慕尼黑上海電子展electronicaChina在上海新國際博覽中心拉開序幕,作為全球電子行業的盛會,匯聚了國內外眾多優質電子企業,為業界呈現一場前所未有的科技盛宴。攜高性能
    的頭像 發表于 07-09 08:15 ?621次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>攜多款<b class='flag-5'>AT32</b> MCU新品與應用方案亮相2024慕尼黑上海電子展

    AT32 MCU通過IEC 60730功能安全認證,為家電產品提供安全保障

    ??近日,AT32MCU安全庫順利通過IEC60730功能安全認證,為家電產品提供安全質量保證。國際公認的測試、檢驗和認證機構SGS為
    的頭像 發表于 05-20 08:15 ?519次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> MCU通過IEC 60730功能安全認證,為家電產品提供安全保障

    AT32F423入門使用指南

    初步環境準備開發環境下載地址:
    的頭像 發表于 05-14 08:15 ?1344次閱讀
    <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 MCU與SEGGER攜手合作,開發量產事半功倍

    近日,與SEGGER共同宣布J-Link仿真調試器與Flasher在線燒錄器全面支持AT32 MCU產品,SEGGER工具鏈的加持使AT32
    的頭像 發表于 02-23 10:27 ?366次閱讀

    AT32 MCU與SEGGER攜手合作,開發量產事半功倍

    近日,與SEGGER共同宣布J-Link仿真調試器與Flasher在線燒錄器全面支持AT32MCU產品,SEGGER工具鏈的加持使AT32MCU開發如虎添翼。
    的頭像 發表于 02-22 08:13 ?452次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> MCU與SEGGER攜手合作,開發量產事半功倍

    AT32F423時鐘配置

    介紹如何結合提供的V2.x.x的板級支持包(BSP)來配置時鐘。以下介紹時鐘配置的方法主要分兩種:1、以手動編寫代碼調用BSP中提供的驅動函數接口來進行時鐘配
    的頭像 發表于 02-19 13:26 ?558次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32F423時鐘配置

    AT32F423時鐘配置入門指南

    電子發燒友網站提供《AT32F423時鐘配置入門指南.pdf》資料免費下載
    發表于 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>

    AT32 定時器配置中pr和div的作用

    AT32定時器是51系列單片機中的一種定時器,可以實現多種定時功能。在AT32定時器中,pr和div是兩個相關的參數,用于配置定時器的工作參數。 首先,需要了解pr和div分別代表什么含義。pr
    的頭像 發表于 01-08 10:12 ?1230次閱讀

    AT32 MCU HOGP開發指南

    HOGP概述HOGP(HIDoverGATT)是由BluetoothSIG維護的藍牙配置文件規范,通過低功耗藍牙實現HID的配置文件并作為與計算器之間的接口,消除HID中對電線或物理連接的需求。HID角色在HID中,以及在HOGP的延伸中,定義了兩個角色,這些角色是HID主機和HID設備。HID設備一次只能主動連接到單個HID主機;然而一個HID主機可以連接
    的頭像 發表于 12-30 08:14 ?608次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> MCU HOGP開發<b class='flag-5'>指南</b>

    AT32WB415時鐘配置

    介紹如何結合提供的V2.x.x的板級支持包(BSP)來配置時鐘。以下介紹時鐘配置的方法主要分兩種:1、以手動編寫代碼調用BSP中提供的驅動函數接口來進行時鐘配
    的頭像 發表于 12-20 08:14 ?456次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32WB415時鐘配置