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

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

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

ERTC接口簡介及功能說明

我快閉嘴 ? 來源:AT32 MCU 雅特力科技 ? 作者:AT32 MCU 雅特力科技 ? 2022-08-14 11:16 ? 次閱讀

ERTC接口簡介

ERTC計數(shù)邏輯位于電池供電域,只要電池供電域有電,ERTC便會一直運行,不受系統(tǒng)復(fù)位以及VDD掉電影響,ERTC主要具有以下功能:

― 日歷功能:年、月、日、時、分、秒

― 鬧鐘功能:鬧鐘A、鬧鐘B

― 周期性喚醒功能

― 入侵檢測功能

― 校準(zhǔn)功能:精密校準(zhǔn)、粗略校準(zhǔn)

圖1. ERTC框圖

9b18f302-1a84-11ed-ba43-dac502259ad0.png

ERTC功能

各型號ERTC功能差異

各型號ERTC基本功能相同,只是各個型號之間,可能去掉了一些更高級的功能,所有保留的功能程序兼容。

表1. 各型號ERTC差異

9b408c6e-1a84-11ed-ba43-dac502259ad0.png

√:表示支持該功能,且功能相同。

×:表示不支持該功能。

寄存器訪問

寄存器寫保護

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

需要注意的是ERTC_STS[14:8]、ERTC_TAMP和ERTC_BPRx寄存器不受寫保護。

解鎖步驟:

1) 使能PWC接口時鐘

9b6e2dc2-1a84-11ed-ba43-dac502259ad0.png

2) 解鎖電池供電域?qū)懕Wo

9b8a57ea-1a84-11ed-ba43-dac502259ad0.png

3) 依次向ERTC_WP寄存器寫入0xCA,0x53,解鎖寫保護

若向ERTC_WP寄存器寫入錯誤的值,將重新激活寫保護

9ba773de-1a84-11ed-ba43-dac502259ad0.png

4) 配置ERTC寄存器

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

表2. ERTC寄存器

9bb93a4c-1a84-11ed-ba43-dac502259ad0.png

寄存器復(fù)位

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

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

電池供電域復(fù)位

9bd483f6-1a84-11ed-ba43-dac502259ad0.png

將ERTC所有寄存器恢復(fù)成默認(rèn)值

9bfec832-1a84-11ed-ba43-dac502259ad0.png

時鐘設(shè)置

時鐘源選擇

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

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

9c1ab52e-1a84-11ed-ba43-dac502259ad0.png

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

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

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

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

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

9c33c6e0-1a84-11ed-ba43-dac502259ad0.png

表4. 各時鐘源優(yōu)缺點對比

9c55eac2-1a84-11ed-ba43-dac502259ad0.png

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

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

9c71b4b4-1a84-11ed-ba43-dac502259ad0.png

選擇ERTC時鐘

9c956332-1a84-11ed-ba43-dac502259ad0.png

使能ERTC時鐘

9cb4c4de-1a84-11ed-ba43-dac502259ad0.png

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

通過預(yù)分頻器A和預(yù)分頻器B將獲得1Hz時鐘,計算公式如下:

9cce0156-1a84-11ed-ba43-dac502259ad0.png

推薦在應(yīng)用中將預(yù)分頻器A設(shè)置成最大值(127)這樣可以最大程度降低功耗。

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

9cf157aa-1a84-11ed-ba43-dac502259ad0.png

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

9d0e4838-1a84-11ed-ba43-dac502259ad0.png

ERTC時鐘初始化舉例:

9d39b496-1a84-11ed-ba43-dac502259ad0.png

日歷

ERTC日歷格式如下圖所示,包含有年、月、日、星期、時、分、秒、亞秒。

圖3. 日歷格式

9d57a302-1a84-11ed-ba43-dac502259ad0.png

時間格式設(shè)置

時間格式可以選擇24小時或者12小時格式,如果為24小時格式時,AM/PM字段無意義,在初始化日歷之前,應(yīng)該首先選擇時間格式。

時間格式設(shè)置函數(shù):

9d715e50-1a84-11ed-ba43-dac502259ad0.png

例如設(shè)置日歷格式為24小時模式

9d869298-1a84-11ed-ba43-dac502259ad0.png

日歷初始化

通過配置ERTC_DATE和ERTC_TIME寄存器可以設(shè)置日歷時間:

日歷值設(shè)置函數(shù):

9d9d9a06-1a84-11ed-ba43-dac502259ad0.png

例如設(shè)置時間為2020-05-01 1200星期六

9dc5b59a-1a84-11ed-ba43-dac502259ad0.png

日歷讀取

通過讀取ERTC_DATE、ERTC_TIME和ERTC_SBS寄存器可以讀取日歷時間,日歷讀取有兩種模式分別為同步讀取(DREN=0)和異步讀取(DREN=1)。

― 同步讀?。篍RTC每兩個ERTC_CLK周期,將日歷值同步到影子寄存器ERTC_DATE、ERTC_TIME和ERTC_SBS,同步完成后UPDF將置1。讀取低階寄存器時會將高階寄存器值鎖定,直到讀取ERTC_DATE寄存器,這保證讀取的ERTC_SBS、ERTC_TIME、ERTC_DATE寄存器值來自同一時刻。

例如讀取ERTC_SBS,會將ERTC_TIME、ERTC_DATE寄存器值鎖定。

― 異步讀?。篍RTC直接讀取電池供電域的ERTC時鐘和日歷值,這樣避免了由于同步時間帶來的誤差。異步讀取時,UPDF標(biāo)志將由硬件清0。為保證異步讀取時鐘和日歷值來自同一時刻,軟件必須連續(xù)兩次讀取時鐘和日歷值,并比較兩次結(jié)果是否一致,如果不一致應(yīng)該再讀,直到兩次結(jié)果一致。

在大多數(shù)應(yīng)用下,都推薦使用同步讀取模式,因為這樣可以簡化程序。

等待同步函數(shù)(等待UPDF置1)

9dd8d8aa-1a84-11ed-ba43-dac502259ad0.png

讀取模式設(shè)置函數(shù)

9deee44c-1a84-11ed-ba43-dac502259ad0.png

例如設(shè)置讀取模式為同步讀取

9e07b378-1a84-11ed-ba43-dac502259ad0.png

日歷讀取函數(shù):

9e2421fc-1a84-11ed-ba43-dac502259ad0.png

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

― year:年

― month:月

― day:日

― hour:時

― min:分

― sec:秒

― week:星期幾

― ampm:上午/下午(只有在12小時制時,數(shù)據(jù)有效)

亞秒讀取

亞秒值為預(yù)分頻器DIV_B的計數(shù)值,預(yù)分頻器DIV_B是一個遞減計數(shù)器,例如當(dāng)DIV_B=255時,1個亞秒值代表的時間為1/(255+1)秒。

亞秒讀取函數(shù):

9e43f77a-1a84-11ed-ba43-dac502259ad0.png

鬧鐘

ERTC包含兩個完全相同的鬧鐘A、鬧鐘B,鬧鐘值由ERTC_ALASBS/ERTC_ALA(ERTC_ALBSBS/ERTC_ALB)設(shè)定,開啟鬧鐘后,當(dāng)設(shè)定的鬧鐘值匹配日歷值時ALAF/ALBF置1,發(fā)生鬧鐘事件。通過MASKx位,可選擇性的屏蔽日歷字段,被屏蔽的字段不參與鬧鐘匹配。

圖4. 日鬧鐘匹配

9e5cae14-1a84-11ed-ba43-dac502259ad0.png

因為鬧鐘A和鬧鐘B完全一樣,所以后面的舉例都用鬧鐘A舉例

鬧鐘格式選擇:

― ERTC_ALA的WKSEL=0時:日期、時、分、秒、亞秒

― ERTC_ALA的WKSEL=1時:星期、時、分、秒、亞秒

鬧鐘的各個字段日期/星期、時、分、秒、亞秒均可通過MASK位屏蔽,使鬧鐘的產(chǎn)生更加的靈活

― MASK4=1:鬧鐘和日/星期無關(guān)

― MASK3=1:鬧鐘和小時無關(guān)

― MASK2=1:鬧鐘和分鐘無關(guān)

― MASK1=1:鬧鐘和秒鐘無關(guān)

例如在WKSEL=0時,將鬧鐘設(shè)置為15號1210

表6. 屏蔽設(shè)置舉例

9e80fee0-1a84-11ed-ba43-dac502259ad0.png

通過設(shè)置ERTC_ALASBS的SBSMSK可以對亞秒進行屏蔽:

― SBSMSK=0:不匹配亞秒,鬧鐘與亞秒無關(guān);

― SBSMSK=1:只匹配SBS[0];

― SBSMSK=2:只匹配SBS[1:0];

― SBSMSK=3:只匹配SBS[2:0];

― ...

― SBSMSK=14:只匹配SBS[13:0];

― SBSMSK=15:匹配SBS[14:0]。

―例如在DIV_A=127,DIV_B=255(亞秒)時,只考慮亞秒的觸發(fā)鬧鐘

表7. 亞秒屏蔽設(shè)置舉例

9e94a710-1a84-11ed-ba43-dac502259ad0.png

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

日期/星期、時、分、秒屏蔽

9ec8a312-1a84-11ed-ba43-dac502259ad0.png

選擇日期或者星期格式

9eedc80e-1a84-11ed-ba43-dac502259ad0.png

設(shè)置鬧鐘值:日期/星期、時、分、秒、AM/PM

9f0dea44-1a84-11ed-ba43-dac502259ad0.png

設(shè)置鬧鐘亞秒值以及屏蔽

9f213e5a-1a84-11ed-ba43-dac502259ad0.png

鬧鐘中斷使能

9f42f0cc-1a84-11ed-ba43-dac502259ad0.png

獲取當(dāng)前配置的鬧鐘值

9f60f11c-1a84-11ed-ba43-dac502259ad0.png

獲取當(dāng)前配置的鬧鐘亞秒值

9f7c5286-1a84-11ed-ba43-dac502259ad0.png

周期性自動喚醒

周期性喚醒功能用于周期性自動喚醒低功耗模式,喚醒周期由VAL[15:0]設(shè)定。當(dāng)喚醒計數(shù)器值由VAL值遞減至0時,WATF標(biāo)志置1,產(chǎn)生喚醒事件,同時喚醒計數(shù)器值重載VAL值。

可以根據(jù)需要選擇不同的時鐘源,通過寄存器WATCLK[2:0]配置

― 000:ERTC_CLK/16;

― 001:ERTC_CLK/8;

― 010:ERTC_CLK/4;

― 011:ERTC_CLK/2;

― 10x:1Hz;

― 11x:1Hz,喚醒計數(shù)值增加216,喚醒時間=WAT+216+1。

圖5. 喚醒定時器時鐘選擇

9f966932-1a84-11ed-ba43-dac502259ad0.png

當(dāng)WATCLK[2:0]=11x時,如果日歷時鐘為1Hz,可獲得最長的喚醒時間=65535+216+1=131072秒。

如果日歷時鐘調(diào)整為<1Hz(增大預(yù)分頻器DIV_B的值),還可以獲得更長的喚醒時間。

周期自動喚醒相關(guān)函數(shù)

喚醒計數(shù)器時鐘源選擇

9fa87672-1a84-11ed-ba43-dac502259ad0.png

設(shè)置喚醒計數(shù)器值

9fc7efca-1a84-11ed-ba43-dac502259ad0.png

獲取喚醒計數(shù)器值

9fdfac6e-1a84-11ed-ba43-dac502259ad0.png

喚醒定時器使能

9ff4e606-1a84-11ed-ba43-dac502259ad0.png

入侵檢測

ERTC提供了兩組入侵檢測TAMP1和TAMP2,當(dāng)在發(fā)生入侵事件時,將自動清除ERTC電池供電數(shù)據(jù)寄存器(ERTC_BPRx)的值,也支持發(fā)生入侵事件時產(chǎn)生事件戳。

圖6. 入侵檢測

a0138070-1a84-11ed-ba43-dac502259ad0.png

入侵檢測1引腳可以選擇

― ERTC_MUX1:引腳1,通常為PC13

― ERTC_MUX2:引腳2,通常為PA0

入侵檢測2引腳為固定ERTC_MUX2(通常為PA0)

入侵檢測模式分為邊沿檢測和電平檢測

― 邊沿檢測:當(dāng)檢測到了有效的邊沿觸發(fā)入侵檢測,分為上升沿觸發(fā)、下降沿觸發(fā)

― 電平檢測:當(dāng)有效電平長度達到了設(shè)定的時間,觸發(fā)發(fā)入侵檢測,分為高電平觸發(fā)、低電平觸發(fā)。

其中邊沿檢測比較簡單,只需要配置有效邊沿并使能就行了,電平檢測需要配置的參數(shù)會比較多,需要配置以下參數(shù):

采樣頻率

通過配置TPFREQ寄存器,可以配置的入侵檢測頻率為

― ERTC_CLK/32768;

― ERTC_CLK/16384;

― ERTC_CLK/8192;

― ERTC_CLK/4096;

― ERTC_CLK/2048;

― ERTC_CLK/1024;

― ERTC_CLK/512;

― ERTC_CLK/256。

例如當(dāng)ERTC_CLK=32768Hz時,配置檢測頻率為ERTC_CLK/256時,此時入侵檢測頻率為32768/256=128Hz

入侵上拉

通過TPPU配置可以打開或者關(guān)閉入侵上拉功能,當(dāng)使能了入侵上拉電阻時,可以通過TPPR設(shè)置在入侵檢測前的上拉預(yù)充電時間,時間可配置為如下:

― 1個ERTC_CLK;

― 2個ERTC_CLK;

― 4個ERTC_CLK;

― 8個ERTC_CLK。

圖7. 預(yù)充電時間為4個ERTC CLK示意圖

a02c97d6-1a84-11ed-ba43-dac502259ad0.png

入侵濾波

通過TPFLT設(shè)置入侵檢測的濾波時間,可以配置下面4種模式

― 無濾波,當(dāng)1次采樣有效,判定入侵事件發(fā)生;

― 連續(xù)2次采樣有效,判定入侵事件發(fā)生;

― 連續(xù)4次采樣有效,判定入侵事件發(fā)生;

― 連續(xù)8次采樣有效,判定入侵事件發(fā)生。

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

入侵檢測1引腳選擇

a0413592-1a84-11ed-ba43-dac502259ad0.png

入侵檢測上拉使能配置

a060c628-1a84-11ed-ba43-dac502259ad0.png

上拉預(yù)充電時間設(shè)置

a07b0812-1a84-11ed-ba43-dac502259ad0.png

濾波時間設(shè)置

a08ea5b6-1a84-11ed-ba43-dac502259ad0.png

入侵檢測頻率設(shè)置

a0b18c52-1a84-11ed-ba43-dac502259ad0.png

入侵檢測有效邊沿設(shè)置

a0d407b4-1a84-11ed-ba43-dac502259ad0.png

發(fā)生入侵事件時,保存時間戳

a0eee26e-1a84-11ed-ba43-dac502259ad0.png

入侵檢測使能

a10f342e-1a84-11ed-ba43-dac502259ad0.png

時間戳

時間戳功能用于在發(fā)生時間戳事件時(入侵引腳檢測到有效邊沿),將當(dāng)前的日歷值保存到時間戳寄存器中。

圖8. 時間戳檢測

a131d3da-1a84-11ed-ba43-dac502259ad0.png

時間戳使用

― 單獨使用:可以選擇引腳進行檢測

ERTC_MUX1:引腳1,通常為PC13

ERTC_MUX2:引腳2,通常為PA0

― 在發(fā)生入侵事件時保存時間戳,在這種模式下,需要先將入侵檢測功能正確配置好

時間戳在單獨使用時可以配置為上升沿檢測或者下降沿檢測,在入侵檢測觸發(fā)時,取決于入侵檢測的配置

時間戳溢出

當(dāng)發(fā)生時間戳?xí)r,TSF位置1,此時若再次發(fā)生時間戳事件,TSOF標(biāo)志位將置1,但時間戳寄存器并不會更新,仍保留第一次觸發(fā)的值。

時間戳相關(guān)函數(shù)

時間戳引腳選擇

a1454a14-1a84-11ed-ba43-dac502259ad0.png

檢測邊沿設(shè)置

a15efe78-1a84-11ed-ba43-dac502259ad0.png

時間戳使能

a17a02e0-1a84-11ed-ba43-dac502259ad0.png

獲得時間戳?xí)r間

a198eb24-1a84-11ed-ba43-dac502259ad0.png

獲得時間戳亞秒

a1affe18-1a84-11ed-ba43-dac502259ad0.png

參考時鐘檢測

為保證日歷長時間運行的精確性,ERTC提供了時鐘同步功能(低功耗模式不可用),用精度更高的參考時鐘(一般用50Hz或者60Hz的市電)校準(zhǔn)更新日歷的1Hz時鐘。

圖9. 參考時鐘檢測

a1c56ca8-1a84-11ed-ba43-dac502259ad0.png

參考時鐘檢測功能開啟后,在每次更新日歷值的前7個ck_a周期檢測參考時鐘邊沿,若檢測到邊沿,將使用此邊沿更新日歷值(更新秒鐘),后續(xù)采用3個ck_a周期檢測參考時鐘邊沿。每一次檢測到參考時鐘邊沿時,都會將分頻器A的值進行重載,這會使得內(nèi)部1Hz的日歷時鐘與參考時鐘邊沿剛好對齊,當(dāng)內(nèi)部1Hz時鐘出現(xiàn)微小偏移時,利用更精確的參考時鐘,將1Hz時鐘微調(diào)至與參考時鐘邊沿對齊。當(dāng)沒有檢測到參考時鐘邊沿時,ERTC會利用原來的時鐘源更新日歷。

需要注意的是,使能參考時鐘功能后,需要將DIVA、DIVB設(shè)置為復(fù)位值(0x7F、0xFF),并且時鐘同步功能不能與粗校準(zhǔn)功能同時開啟。

參考時鐘檢測使能函數(shù)

a1e95776-1a84-11ed-ba43-dac502259ad0.png

校準(zhǔn)

ERTC提供了兩種校準(zhǔn)方法:粗略校準(zhǔn)和精密校準(zhǔn)。但兩種校準(zhǔn)方法不能同時使用。

粗略校準(zhǔn)

粗略數(shù)字校準(zhǔn)通過增加或減少ck_a周期值來實現(xiàn)提前或推遲更新日歷值的功能。

圖10. 粗略校準(zhǔn)

a20c98da-1a84-11ed-ba43-dac502259ad0.png

正校準(zhǔn)時(CALDIR=0):在64分鐘的前2xCALVAL分鐘時間內(nèi),每分鐘(約15360個ck_a周期)插入2個ck_a周期,相當(dāng)于提前更新日歷。

負校準(zhǔn)時(CALDIR=1):在64分鐘前的2xCALVAL分鐘時間內(nèi),每分鐘(約15360個ck_a周期)忽略1個ck_a周期,相當(dāng)于推遲更新日歷。

注:粗略數(shù)字校準(zhǔn)至少要將DIVA值設(shè)置為6。

精密校準(zhǔn)

區(qū)別于粗略數(shù)字校準(zhǔn),精密校準(zhǔn)的校準(zhǔn)效果更好且校準(zhǔn)更加均勻。開啟精密校準(zhǔn)校準(zhǔn)功能后,將均勻增加或減少ERTC_CLK來達到校準(zhǔn)的目的。

圖11. 精密校準(zhǔn)

a236e13a-1a84-11ed-ba43-dac502259ad0.png

當(dāng)ERTC_CLK為32.768kHz時,精密校準(zhǔn)周期約為220個ERTC_CLK(32秒)。DEC[8:0]值指定了220個ERTC_CLK中忽略的脈沖數(shù),最多可忽略511個脈沖;將ADD置1,可在220個ERTC_CLK中插入512個脈沖。兩者搭配使用,可在220個ERTC_CLK周期進行-511~+512的調(diào)整。

有效校準(zhǔn)頻率FSCAL:

a2567df6-1a84-11ed-ba43-dac502259ad0.png

當(dāng)分頻器A值小于3時,會按照ADD等于0校準(zhǔn)。此時應(yīng)降低分頻器B值來實現(xiàn)每秒增加8個ERTC_CLK,也就是32秒增加256個ERTC_CLK搭配DEC[8:0]位,可在220個ERTC_CLK周期進行-255~+256的調(diào)整。此時有效校準(zhǔn)頻率FSCAL:

a2739d1e-1a84-11ed-ba43-dac502259ad0.png

精密數(shù)字校準(zhǔn)的校準(zhǔn)周期還可選擇8秒或16秒(由CAL8和CAL16配置),8秒校準(zhǔn)周期的優(yōu)先級更高,同時使能8秒和16秒校準(zhǔn)周期,將優(yōu)先選擇8秒校準(zhǔn)周期。

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

精密校準(zhǔn)配置并使能

a293b496-1a84-11ed-ba43-dac502259ad0.png

粗略校準(zhǔn)配置

a2a6a358-1a84-11ed-ba43-dac502259ad0.png

粗略校準(zhǔn)使能

a2d8c036-1a84-11ed-ba43-dac502259ad0.png

事件輸出功能

ERTC提供了一組復(fù)用功能輸出,可以輸出以下事件:

― 校準(zhǔn)輸出:512Hz、1Hz

― 事件輸出:鬧鐘A、鬧鐘B、喚醒事件

圖12. 事件輸出

a2feb980-1a84-11ed-ba43-dac502259ad0.png

通常ERTC MUX1引腳為PC13

當(dāng)輸出模式為事件輸出時(鬧鐘A、鬧鐘B、喚醒事件),可以通過OUTTYPE選擇輸出類型為開漏或是推挽,通過OUTP配置輸出極性。

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

事件輸出設(shè)置(鬧鐘A、鬧鐘B、喚醒事件)

a318abd8-1a84-11ed-ba43-dac502259ad0.png

校準(zhǔn)輸出選擇(512Hz、1Hz)

a329afb4-1a84-11ed-ba43-dac502259ad0.png

校準(zhǔn)輸出使能

a343d1fa-1a84-11ed-ba43-dac502259ad0.png

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

ERTC一共提供了20個32位電池供電數(shù)據(jù)寄存器,可以在只由電池供電下保存數(shù)據(jù),不會被系統(tǒng)復(fù)位所復(fù)位,只能通過電池供電域復(fù)位或入侵事件進行復(fù)位

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

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

a36426b2-1a84-11ed-ba43-dac502259ad0.png

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

a387f394-1a84-11ed-ba43-dac502259ad0.png

中斷

當(dāng)發(fā)生鬧鐘A、鬧鐘B、周期性喚醒事件時,ERTC可產(chǎn)生中斷。要使能ERTC中斷可按以下操作配置:

― 將ERTC對應(yīng)中斷的EXINT線配置為中斷模式并使能,有效沿選擇上升沿。

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

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

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

表8. ERTC喚醒低功耗模式

a39cb2a2-1a84-11ed-ba43-dac502259ad0.png

表9. 中斷控制

a3bbbc38-1a84-11ed-ba43-dac502259ad0.png

表10. 各型號中斷對應(yīng)EXINT線

a3d72388-1a84-11ed-ba43-dac502259ad0.png

表11. 各型號中斷對應(yīng)中斷向量號

a405e42a-1a84-11ed-ba43-dac502259ad0.png

表12. 中斷向量對應(yīng)中斷函數(shù)

a4365218-1a84-11ed-ba43-dac502259ad0.png

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

事件中斷使能

a4639ff2-1a84-11ed-ba43-dac502259ad0.png

獲取相應(yīng)中斷是否使能

a4846ff2-1a84-11ed-ba43-dac502259ad0.png

標(biāo)志獲取

a4a371e0-1a84-11ed-ba43-dac502259ad0.png

標(biāo)志清除

a4c5a88c-1a84-11ed-ba43-dac502259ad0.png

中斷配置示例:以AT32F435的鬧鐘A為例

a4daac14-1a84-11ed-ba43-dac502259ad0.png

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

功能簡介

對電池供電數(shù)據(jù)寄存器(ERTC_BPRx)進行讀寫訪問。

資源準(zhǔn)備

1) 硬件環(huán)境:

對應(yīng)產(chǎn)品型號的AT-START BOARD

2) 軟件環(huán)境

projectat_start_f4xxexamplesertcpr_domain

注:所有project都是基于keil 5而建立,若用戶需要在其他編譯環(huán)境上使用,請參考

AT32xxx_Firmware_Library_V2.x.xprojectat_start_xxx emplates中各種編譯環(huán)境(例如IAR6/7,keil 4/5)進行簡單修改即可。

軟件設(shè)計

1) 配置流程

開啟PWC時鐘

使能電池供電域?qū)懕Wo

檢查電池供電域數(shù)據(jù)是否正確,如果正確就跳過初始化,如果不正確就初始化ERTC并向電池供電域?qū)懮蠑?shù)據(jù)

2) 代碼介紹

main函數(shù)代碼描述

a5091630-1a84-11ed-ba43-dac502259ad0.png

實驗效果

信息通過串口打印出來,在電腦上通過串口助手觀看打印信息。

如果寄存器里數(shù)據(jù)正確打印bpr reg=>none reset。

如果寄存器里數(shù)據(jù)正確打印bpr reg=>reset。

主函數(shù)里每秒打印一次日歷信息。

案例 使用日歷以及鬧鐘功能

功能簡介

演示日歷功能、鬧鐘功能的使用。

資源準(zhǔn)備

1) 硬件環(huán)境:對應(yīng)產(chǎn)品型號的 AT-START BOARD2) 軟件環(huán)境projectat_start_f4xxexamplesertccalendar注:所有project都是基于keil 5而建立,若用戶需要在其他編譯環(huán)境上使用,請參考AT32xxx_Firmware_Library_V2.x.xprojectat_start_xxx emplates中各種編譯環(huán)境(例如IAR6/7,keil 4/5)進行簡單修改即可。

軟件設(shè)計

1) 配置流程

開啟PWC時鐘

使能電池供電域?qū)懕Wo

檢查日歷是否已經(jīng)初始化,如果正確就跳過初始化,如果不正確就初始化日歷以及鬧鐘

主函數(shù)里每秒打印一次日歷信息

在21-05-01 1210時刻發(fā)生鬧鐘。

2) 代碼介紹

main函數(shù)代碼描述

a542a36e-1a84-11ed-ba43-dac502259ad0.png

ERTC初始化ertc_config函數(shù)代碼描述

a57b67d0-1a84-11ed-ba43-dac502259ad0.png

鬧鐘中斷函數(shù)代碼描述

a5b3659a-1a84-11ed-ba43-dac502259ad0.png

實驗效果

信息通過串口打印出來,在電腦上通過串口助手觀看打印信息。

主函數(shù)里每秒打印一次日歷信息。

在21-05-01 1210時刻發(fā)生鬧鐘。

案例 使用LICK時鐘并校準(zhǔn)

功能簡介

使用LICK時鐘作為ERTC時鐘,并通過定時器測量出LICK時鐘頻率,通過得到的頻率值,調(diào)整ERTC分頻,達到在一定范圍內(nèi)校準(zhǔn)時間的效果

資源準(zhǔn)備

1) 硬件環(huán)境:對應(yīng)產(chǎn)品型號的AT-START BOARD2) 軟件環(huán)境projectat_start_f4xxexamplesertclick_calibration注:所有project都是基于keil 5而建立,若用戶需要在其他編譯環(huán)境上使用,請參考AT32xxx_Firmware_Library_V2.x.xprojectat_start_xxx emplates中各種編譯環(huán)境(例如IAR6/7,keil 4/5)進行簡單修改即可。

軟件設(shè)計

1) 配置流程

ERTC初始化

配置測量LICK頻率定時器

根據(jù)測量到的頻率重新配置ERTC分頻

2) 代碼介紹

main函數(shù)代碼描述

a5d0ba0a-1a84-11ed-ba43-dac502259ad0.png

實驗效果

信息通過串口打印出來,在電腦上通過串口助手觀看打印信息。

通串口打印出當(dāng)前測量出的LICK的頻率以及DIV_A、DIV_B的值。

每秒鐘打印一次日歷。

案例 入侵檢測

功能簡介

演示入侵檢測功能使用,PC13腳當(dāng)檢測到一個上升沿后將觸發(fā)入侵檢測,當(dāng)入侵事件發(fā)生時,電池供電數(shù)據(jù)寄存器將會被清除。

資源準(zhǔn)備

1) 硬件環(huán)境:對應(yīng)產(chǎn)品型號的AT-START BOARD2) 軟件環(huán)境projectat_start_f4xxexamplesertc amper注:所有project都是基于keil 5而建立,若用戶需要在其他編譯環(huán)境上使用,請參考AT32xxx_Firmware_Library_V2.x.xprojectat_start_xxx emplates中各種編譯環(huán)境(例如IAR6/7,keil 4/5)進行簡單修改即可。

軟件設(shè)計

1) 配置流程

ERTC初始化

初始化入侵檢測

初始化電池供電寄存器

2) 代碼介紹

main函數(shù)代碼描述

a60bc4e2-1a84-11ed-ba43-dac502259ad0.png

入侵檢測中斷處理函數(shù)代碼描述

a6241ed4-1a84-11ed-ba43-dac502259ad0.png

實驗效果

信息通過串口打印出來,在電腦上通過串口助手觀看打印信息。

當(dāng)發(fā)生入侵事件時(PC13出現(xiàn)上升沿),在入侵中斷函數(shù)里打印電池供電寄存器被清除的信息。

案例 時間戳

功能簡介

演示時間戳功能使用,PC13腳當(dāng)檢測到一個上升沿后將觸發(fā)時間戳,在時間戳中斷里打印發(fā)生事件的時刻。

資源準(zhǔn)備

1) 硬件環(huán)境:對應(yīng)產(chǎn)品型號的AT-START BOARD2) 軟件環(huán)境projectat_start_f4xxexamplesertc ime_stamp注:所有project都是基于keil 5而建立,若用戶需要在其他編譯環(huán)境上使用,請參考AT32xxx_Firmware_Library_V2.x.xprojectat_start_xxx emplates中各種編譯環(huán)境(例如IAR6/7,keil 4/5)進行簡單修改即可。

軟件設(shè)計

1) 配置流程

ERTC初始化

初始化時間戳

2) 代碼介紹

main函數(shù)代碼描述

a65100f2-1a84-11ed-ba43-dac502259ad0.png

時間戳中斷處理函數(shù)代碼描述

a66fc6a4-1a84-11ed-ba43-dac502259ad0.png

實驗效果

信息通過串口打印出來,在電腦上通過串口助手觀看打印信息。

當(dāng)發(fā)生時間戳事件時(PC13出現(xiàn)上升沿),在中斷里打印當(dāng)前保存的時間戳。

案例 周期喚醒定時器

功能簡介

演示周期喚醒定時器功能使用。

資源準(zhǔn)備

1) 硬件環(huán)境:對應(yīng)產(chǎn)品型號的AT-START BOARD2) 軟件環(huán)境projectat_start_f4xxexamplesertcwakeup_timer注:所有project都是基于keil 5而建立,若用戶需要在其他編譯環(huán)境上使用,請參考AT32xxx_Firmware_Library_V2.x.xprojectat_start_xxx emplates中各種編譯環(huán)境(例如IAR6/7,keil 4/5)進行 簡單修改即可。

軟件設(shè)計

1) 配置流程

ERTC初始化

初始化周期喚醒定時器

2) 代碼介紹

main函數(shù)代碼描述

a6a43646-1a84-11ed-ba43-dac502259ad0.png

周期喚醒中斷處理函數(shù)代碼描述

a6b99aa4-1a84-11ed-ba43-dac502259ad0.png

實驗效果

信息通過串口打印出來,在電腦上通過串口助手觀看打印信息。

每個5秒發(fā)生一次周期性喚醒事件,在中斷里打印出信息。

每秒鐘打印一次日歷。

審核編輯:湯梓紅

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

    關(guān)注

    146

    文章

    17178

    瀏覽量

    351680
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5357

    瀏覽量

    120668
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8645

    瀏覽量

    151399

原文標(biāo)題:AT32講堂022 | AT32 MCU ERTC的基本功能

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

收藏 人收藏

    評論

    相關(guān)推薦

    DAC主要特性及功能說明

    00. 目錄文章目錄00. 目錄01. DAC簡介02. DAC主要特性03. DAC功能說明04. DAC雙通道轉(zhuǎn)換05. DAC寄存器5.1 DAC控制寄存器 (DAC_CR)5.2 DAC軟件
    發(fā)表于 08-09 08:04

    步進驅(qū)動器接口功能說明

    目錄實物圖接口功能說明1,控制信號接口2,功率端口3,狀態(tài)指示1, 控制信號采用單端接線方式時,接線圖如下圖所示:2,控制信號采用差分接線方式時,接線圖如下圖所示:3, 控制信號時序圖4,接線要求五
    發(fā)表于 08-31 07:24

    ERTC實時時鐘--AT_SURF案例No.5

    ERTC實時時鐘--AT_SURF案例No.5簡介AT32實時時鐘(ERTC)是一個BCD計數(shù)器,內(nèi)部完整的實現(xiàn)了日歷計數(shù)邏輯,ERTC計數(shù)邏輯位于電池供電域,只要電池供電域有電,
    發(fā)表于 05-26 19:44

    PCF8594存儲器引腳功能說明

    PCF8594存儲器引腳功能說明
    發(fā)表于 01-10 23:42 ?1325次閱讀
    PCF8594存儲器引腳<b class='flag-5'>功能說明</b>

    PT2213遙控發(fā)射IC引腳功能說明

    PT2213遙控發(fā)射IC引腳功能說明
    發(fā)表于 01-10 23:44 ?1116次閱讀
    PT2213遙控發(fā)射IC引腳<b class='flag-5'>功能說明</b>

    mentor expedition的功能說明

    mentor expedition的功能說明 一、Mentor Graphics Expedition 系列PCB 軟件技術(shù)特點概述1、基于WINDOWS NT/WIN2000/98 平臺Expedition 的母平臺為WINDOWS 操作系統(tǒng),能在W
    發(fā)表于 03-22 17:46 ?6983次閱讀

    iPVD的功能說明及介紹

    iPVD的功能說明及介紹 iPVD的功能   普通電視用戶將可以采用基
    發(fā)表于 10-27 08:41 ?2057次閱讀

    74HC573功能說明

    74HC573功能說明。
    發(fā)表于 03-23 17:05 ?0次下載

    74HC165功能說明資料下載

    74HC165功能說明資料下載
    發(fā)表于 12-20 11:57 ?170次下載

    西門子802D功能說明

    西門子802D功能說明。
    發(fā)表于 04-23 09:36 ?7次下載

    六碼流水遙控器功能說明

    六碼流水遙控器功能說明
    發(fā)表于 03-07 15:21 ?0次下載

    ZSC31050功能說明

    ZSC31050功能說明
    發(fā)表于 02-02 18:44 ?2次下載
    ZSC31050<b class='flag-5'>功能說明</b>

    AT32講堂022 | AT32 MCU ERTC的基本功能

    ERTC接口簡介ERTC計數(shù)邏輯位于電池供電域,只要電池供電域有電,ERTC便會一直運行,不受系統(tǒng)復(fù)位以及VDD掉電影響,
    的頭像 發(fā)表于 08-16 09:29 ?2647次閱讀
    AT32講堂022 | AT32 MCU <b class='flag-5'>ERTC</b>的基本<b class='flag-5'>功能</b>

    ZSC31050功能說明

    ZSC31050功能說明
    發(fā)表于 07-04 18:31 ?1次下載
    ZSC31050<b class='flag-5'>功能說明</b>

    企業(yè)人員管理系統(tǒng)功能說明

    電子發(fā)燒友網(wǎng)站提供《企業(yè)人員管理系統(tǒng)功能說明.pdf》資料免費下載
    發(fā)表于 04-25 16:37 ?0次下載