0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ERTC接口简介及功能说明

我快闭嘴 来源:AT32 MCU 雅特力科技 作者:AT32 MCU 雅特力科技 2022-08-14 11:16 次阅读

ERTC接口简介

ERTC计数逻辑位于电池供电域,只要电池供电域有电,ERTC便会一直运行,不受系统复位以及VDD掉电影响,ERTC主要具有以下功能:

― 日历功能:年、月、日、时、分、秒

― 闹钟功能:闹钟A、闹钟B

― 周期性唤醒功能

― 入侵检测功能

― 校准功能:精密校准、粗略校准

图1. ERTC框图

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

ERTC功能

各型号ERTC功能差异

各型号ERTC基本功能相同,只是各个型号之间,可能去掉了一些更高级的功能,所有保留的功能程序兼容。

表1. 各型号ERTC差异

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

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

×:表示不支持该功能。

寄存器访问

寄存器写保护

上电复位后ERTC寄存器处于写保护状态,需要先解除写保护,才能写配置ERTC寄存器。

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

解锁步骤:

1) 使能PWC接口时钟

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

2) 解锁电池供电域写保护

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

3) 依次向ERTC_WP寄存器写入0xCA,0x53,解锁写保护

若向ERTC_WP寄存器写入错误的值,将重新激活写保护

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

4) 配置ERTC寄存器

下表列举了ERTC寄存器受写保护状态,以及写入的条件:

表2. ERTC寄存器

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

寄存器复位

ERTC寄存器处于电池供电域,可以CRM_BPDC的BPDRST进行电池供电域复位,也可以由提供的库函数对每个寄存器写默认值进行复位。

ERTC复位相关函数:

电池供电域复位

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

将ERTC所有寄存器恢复成默认值

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

时钟设置

时钟源选择

ERTC时钟源经过选择后输入到分频器A和分频器B,最终得到1Hz的时钟用来更新日历。

图2. ERTC时钟结构

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

ERTC的时钟源共有3种可以选择:

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

― LICK:内部低速晶振,通常典型值为40kHz范围(30~60kHz),详情请见各型号的datasheet

― HEXT_DIV:外部高速晶振分频后得到的时钟,不同的型号下,分频值不一样,请见表3

表3. 各型号HEXT的预分频值

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

表4. 各时钟源优缺点对比

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

ERTC时钟源设置相关函数:

选择对应时钟使能

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

选择ERTC时钟

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

使能ERTC时钟

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

预分频器设置

通过预分频器A和预分频器B将获得1Hz时钟,计算公式如下:

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

推荐在应用中将预分频器A设置成最大值(127)这样可以最大程度降低功耗。

表5. 分频设置举例

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

设置ERTC预分频器

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

ERTC时钟初始化举例:

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

日历

ERTC日历格式如下图所示,包含有年、月、日、星期、时、分、秒、亚秒。

图3. 日历格式

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

时间格式设置

时间格式可以选择24小时或者12小时格式,如果为24小时格式时,AM/PM字段无意义,在初始化日历之前,应该首先选择时间格式。

时间格式设置函数:

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

例如设置日历格式为24小时模式

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

日历初始化

通过配置ERTC_DATE和ERTC_TIME寄存器可以设置日历时间:

日历值设置函数:

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

例如设置时间为2020-05-01 1200星期六

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

日历读取

通过读取ERTC_DATE、ERTC_TIME和ERTC_SBS寄存器可以读取日历时间,日历读取有两种模式分别为同步读取(DREN=0)和异步读取(DREN=1)。

― 同步读取:ERTC每两个ERTC_CLK周期,将日历值同步到影子寄存器ERTC_DATE、ERTC_TIME和ERTC_SBS,同步完成后UPDF将置1。读取低阶寄存器时会将高阶寄存器值锁定,直到读取ERTC_DATE寄存器,这保证读取的ERTC_SBS、ERTC_TIME、ERTC_DATE寄存器值来自同一时刻。

例如读取ERTC_SBS,会将ERTC_TIME、ERTC_DATE寄存器值锁定。

― 异步读取:ERTC直接读取电池供电域的ERTC时钟和日历值,这样避免了由于同步时间带来的误差。异步读取时,UPDF标志将由硬件清0。为保证异步读取时钟和日历值来自同一时刻,软件必须连续两次读取时钟和日历值,并比较两次结果是否一致,如果不一致应该再读,直到两次结果一致。

在大多数应用下,都推荐使用同步读取模式,因为这样可以简化程序。

等待同步函数(等待UPDF置1)

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

读取模式设置函数

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

例如设置读取模式为同步读取

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

日历读取函数:

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

结构体ertc_time_type里面参数含义如下:

― year:年

― month:月

― day:日

― hour:时

― min:分

― sec:秒

― week:星期几

― ampm:上午/下午(只有在12小时制时,数据有效)

亚秒读取

亚秒值为预分频器DIV_B的计数值,预分频器DIV_B是一个递减计数器,例如当DIV_B=255时,1个亚秒值代表的时间为1/(255+1)秒。

亚秒读取函数:

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

闹钟

ERTC包含两个完全相同的闹钟A、闹钟B,闹钟值由ERTC_ALASBS/ERTC_ALA(ERTC_ALBSBS/ERTC_ALB)设定,开启闹钟后,当设定的闹钟值匹配日历值时ALAF/ALBF置1,发生闹钟事件。通过MASKx位,可选择性的屏蔽日历字段,被屏蔽的字段不参与闹钟匹配。

图4. 日闹钟匹配

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

因为闹钟A和闹钟B完全一样,所以后面的举例都用闹钟A举例

闹钟格式选择:

― ERTC_ALA的WKSEL=0时:日期、时、分、秒、亚秒

― ERTC_ALA的WKSEL=1时:星期、时、分、秒、亚秒

闹钟的各个字段日期/星期、时、分、秒、亚秒均可通过MASK位屏蔽,使闹钟的产生更加的灵活

― MASK4=1:闹钟和日/星期无关

― MASK3=1:闹钟和小时无关

― MASK2=1:闹钟和分钟无关

― MASK1=1:闹钟和秒钟无关

例如在WKSEL=0时,将闹钟设置为15号1210

表6. 屏蔽设置举例

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

通过设置ERTC_ALASBS的SBSMSK可以对亚秒进行屏蔽:

― SBSMSK=0:不匹配亚秒,闹钟与亚秒无关;

― 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(亚秒)时,只考虑亚秒的触发闹钟

表7. 亚秒屏蔽设置举例

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

闹钟相关函数

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

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

选择日期或者星期格式

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

设置闹钟值:日期/星期、时、分、秒、AM/PM

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

设置闹钟亚秒值以及屏蔽

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

闹钟中断使能

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

获取当前配置的闹钟值

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

获取当前配置的闹钟亚秒值

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

周期性自动唤醒

周期性唤醒功能用于周期性自动唤醒低功耗模式,唤醒周期由VAL[15:0]设定。当唤醒计数器值由VAL值递减至0时,WATF标志置1,产生唤醒事件,同时唤醒计数器值重载VAL值。

可以根据需要选择不同的时钟源,通过寄存器WATCLK[2:0]配置

― 000:ERTC_CLK/16;

― 001:ERTC_CLK/8;

― 010:ERTC_CLK/4;

― 011:ERTC_CLK/2;

― 10x:1Hz;

― 11x:1Hz,唤醒计数值增加216,唤醒时间=WAT+216+1。

图5. 唤醒定时器时钟选择

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

当WATCLK[2:0]=11x时,如果日历时钟为1Hz,可获得最长的唤醒时间=65535+216+1=131072秒。

如果日历时钟调整为<1Hz(增大预分频器DIV_B的值),还可以获得更长的唤醒时间。

周期自动唤醒相关函数

唤醒计数器时钟源选择

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

设置唤醒计数器值

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

获取唤醒计数器值

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

唤醒定时器使能

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

入侵检测

ERTC提供了两组入侵检测TAMP1和TAMP2,当在发生入侵事件时,将自动清除ERTC电池供电数据寄存器(ERTC_BPRx)的值,也支持发生入侵事件时产生事件戳。

图6. 入侵检测

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

入侵检测1引脚可以选择

― ERTC_MUX1:引脚1,通常为PC13

― ERTC_MUX2:引脚2,通常为PA0

入侵检测2引脚为固定ERTC_MUX2(通常为PA0)

入侵检测模式分为边沿检测和电平检测

― 边沿检测:当检测到了有效的边沿触发入侵检测,分为上升沿触发、下降沿触发

― 电平检测:当有效电平长度达到了设定的时间,触发发入侵检测,分为高电平触发、低电平触发。

其中边沿检测比较简单,只需要配置有效边沿并使能就行了,电平检测需要配置的参数会比较多,需要配置以下参数:

采样频率

通过配置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。

例如当ERTC_CLK=32768Hz时,配置检测频率为ERTC_CLK/256时,此时入侵检测频率为32768/256=128Hz

入侵上拉

通过TPPU配置可以打开或者关闭入侵上拉功能,当使能了入侵上拉电阻时,可以通过TPPR设置在入侵检测前的上拉预充电时间,时间可配置为如下:

― 1个ERTC_CLK;

― 2个ERTC_CLK;

― 4个ERTC_CLK;

― 8个ERTC_CLK。

图7. 预充电时间为4个ERTC CLK示意图

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

入侵滤波

通过TPFLT设置入侵检测的滤波时间,可以配置下面4种模式

― 无滤波,当1次采样有效,判定入侵事件发生;

― 连续2次采样有效,判定入侵事件发生;

― 连续4次采样有效,判定入侵事件发生;

― 连续8次采样有效,判定入侵事件发生。

入侵检测相关函数

入侵检测1引脚选择

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

入侵检测上拉使能配置

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

上拉预充电时间设置

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

滤波时间设置

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

入侵检测频率设置

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

入侵检测有效边沿设置

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

发生入侵事件时,保存时间戳

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

入侵检测使能

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

时间戳

时间戳功能用于在发生时间戳事件时(入侵引脚检测到有效边沿),将当前的日历值保存到时间戳寄存器中。

图8. 时间戳检测

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

时间戳使用

― 单独使用:可以选择引脚进行检测

ERTC_MUX1:引脚1,通常为PC13

ERTC_MUX2:引脚2,通常为PA0

― 在发生入侵事件时保存时间戳,在这种模式下,需要先将入侵检测功能正确配置好

时间戳在单独使用时可以配置为上升沿检测或者下降沿检测,在入侵检测触发时,取决于入侵检测的配置

时间戳溢出

当发生时间戳时,TSF位置1,此时若再次发生时间戳事件,TSOF标志位将置1,但时间戳寄存器并不会更新,仍保留第一次触发的值。

时间戳相关函数

时间戳引脚选择

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

检测边沿设置

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

时间戳使能

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

获得时间戳时间

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

获得时间戳亚秒

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

参考时钟检测

为保证日历长时间运行的精确性,ERTC提供了时钟同步功能(低功耗模式不可用),用精度更高的参考时钟(一般用50Hz或者60Hz的市电)校准更新日历的1Hz时钟。

图9. 参考时钟检测

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

参考时钟检测功能开启后,在每次更新日历值的前7个ck_a周期检测参考时钟边沿,若检测到边沿,将使用此边沿更新日历值(更新秒钟),后续采用3个ck_a周期检测参考时钟边沿。每一次检测到参考时钟边沿时,都会将分频器A的值进行重载,这会使得内部1Hz的日历时钟与参考时钟边沿刚好对齐,当内部1Hz时钟出现微小偏移时,利用更精确的参考时钟,将1Hz时钟微调至与参考时钟边沿对齐。当没有检测到参考时钟边沿时,ERTC会利用原来的时钟源更新日历。

需要注意的是,使能参考时钟功能后,需要将DIVA、DIVB设置为复位值(0x7F、0xFF),并且时钟同步功能不能与粗校准功能同时开启。

参考时钟检测使能函数

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

校准

ERTC提供了两种校准方法:粗略校准和精密校准。但两种校准方法不能同时使用。

粗略校准

粗略数字校准通过增加或减少ck_a周期值来实现提前或推迟更新日历值的功能。

图10. 粗略校准

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

正校准时(CALDIR=0):在64分钟的前2xCALVAL分钟时间内,每分钟(约15360个ck_a周期)插入2个ck_a周期,相当于提前更新日历。

负校准时(CALDIR=1):在64分钟前的2xCALVAL分钟时间内,每分钟(约15360个ck_a周期)忽略1个ck_a周期,相当于推迟更新日历。

注:粗略数字校准至少要将DIVA值设置为6。

精密校准

区别于粗略数字校准,精密校准的校准效果更好且校准更加均匀。开启精密校准校准功能后,将均匀增加或减少ERTC_CLK来达到校准的目的。

图11. 精密校准

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

当ERTC_CLK为32.768kHz时,精密校准周期约为220个ERTC_CLK(32秒)。DEC[8:0]值指定了220个ERTC_CLK中忽略的脉冲数,最多可忽略511个脉冲;将ADD置1,可在220个ERTC_CLK中插入512个脉冲。两者搭配使用,可在220个ERTC_CLK周期进行-511~+512的调整。

有效校准频率FSCAL:

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

当分频器A值小于3时,会按照ADD等于0校准。此时应降低分频器B值来实现每秒增加8个ERTC_CLK,也就是32秒增加256个ERTC_CLK搭配DEC[8:0]位,可在220个ERTC_CLK周期进行-255~+256的调整。此时有效校准频率FSCAL:

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

精密数字校准的校准周期还可选择8秒或16秒(由CAL8和CAL16配置),8秒校准周期的优先级更高,同时使能8秒和16秒校准周期,将优先选择8秒校准周期。

校准相关函数

精密校准配置并使能

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

粗略校准配置

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

粗略校准使能

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

事件输出功能

ERTC提供了一组复用功能输出,可以输出以下事件:

― 校准输出:512Hz、1Hz

― 事件输出:闹钟A、闹钟B、唤醒事件

图12. 事件输出

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

通常ERTC MUX1引脚为PC13

当输出模式为事件输出时(闹钟A、闹钟B、唤醒事件),可以通过OUTTYPE选择输出类型为开漏或是推挽,通过OUTP配置输出极性。

事件输出相关函数

事件输出设置(闹钟A、闹钟B、唤醒事件)

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

校准输出选择(512Hz、1Hz)

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

校准输出使能

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

电池供电数据寄存器

ERTC一共提供了20个32位电池供电数据寄存器,可以在只由电池供电下保存数据,不会被系统复位所复位,只能通过电池供电域复位或入侵事件进行复位

相关函数

写电池供电数据寄存器

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

读电池供电数据寄存器

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

中断

当发生闹钟A、闹钟B、周期性唤醒事件时,ERTC可产生中断。要使能ERTC中断可按以下操作配置:

― 将ERTC对应中断的EXINT线配置为中断模式并使能,有效沿选择上升沿。

― 使能ERTC中断对应的NVIC通道。

― 使能对应的ERTC中断控制位。

下表说明了ERTC时钟源、事件以及中断对唤醒低功耗模式的影响:

表8. ERTC唤醒低功耗模式

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

表9. 中断控制

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

表10. 各型号中断对应EXINT线

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

表11. 各型号中断对应中断向量号

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

表12. 中断向量对应中断函数

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

中断、事件相关函数

事件中断使能

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

获取相应中断是否使能

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

标志获取

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

标志清除

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

中断配置示例:以AT32F435的闹钟A为例

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

案例 读写电池供电数据寄存器

功能简介

对电池供电数据寄存器(ERTC_BPRx)进行读写访问。

资源准备

1) 硬件环境:

对应产品型号的AT-START BOARD

2) 软件环境

projectat_start_f4xxexamplesertcpr_domain

注:所有project都是基于keil 5而建立,若用户需要在其他编译环境上使用,请参考

AT32xxx_Firmware_Library_V2.x.xprojectat_start_xxx emplates中各种编译环境(例如IAR6/7,keil 4/5)进行简单修改即可。

软件设计

1) 配置流程

开启PWC时钟

使能电池供电域写保护

检查电池供电域数据是否正确,如果正确就跳过初始化,如果不正确就初始化ERTC并向电池供电域写上数据

2) 代码介绍

main函数代码描述

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

实验效果

信息通过串口打印出来,在电脑上通过串口助手观看打印信息。

如果寄存器里数据正确打印bpr reg=>none reset。

如果寄存器里数据正确打印bpr reg=>reset。

主函数里每秒打印一次日历信息。

案例 使用日历以及闹钟功能

功能简介

演示日历功能、闹钟功能的使用。

资源准备

1) 硬件环境:对应产品型号的 AT-START BOARD2) 软件环境projectat_start_f4xxexamplesertccalendar注:所有project都是基于keil 5而建立,若用户需要在其他编译环境上使用,请参考AT32xxx_Firmware_Library_V2.x.xprojectat_start_xxx emplates中各种编译环境(例如IAR6/7,keil 4/5)进行简单修改即可。

软件设计

1) 配置流程

开启PWC时钟

使能电池供电域写保护

检查日历是否已经初始化,如果正确就跳过初始化,如果不正确就初始化日历以及闹钟

主函数里每秒打印一次日历信息

在21-05-01 1210时刻发生闹钟。

2) 代码介绍

main函数代码描述

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

ERTC初始化ertc_config函数代码描述

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

闹钟中断函数代码描述

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

实验效果

信息通过串口打印出来,在电脑上通过串口助手观看打印信息。

主函数里每秒打印一次日历信息。

在21-05-01 1210时刻发生闹钟。

案例 使用LICK时钟并校准

功能简介

使用LICK时钟作为ERTC时钟,并通过定时器测量出LICK时钟频率,通过得到的频率值,调整ERTC分频,达到在一定范围内校准时间的效果

资源准备

1) 硬件环境:对应产品型号的AT-START BOARD2) 软件环境projectat_start_f4xxexamplesertclick_calibration注:所有project都是基于keil 5而建立,若用户需要在其他编译环境上使用,请参考AT32xxx_Firmware_Library_V2.x.xprojectat_start_xxx emplates中各种编译环境(例如IAR6/7,keil 4/5)进行简单修改即可。

软件设计

1) 配置流程

ERTC初始化

配置测量LICK频率定时器

根据测量到的频率重新配置ERTC分频

2) 代码介绍

main函数代码描述

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

实验效果

信息通过串口打印出来,在电脑上通过串口助手观看打印信息。

通串口打印出当前测量出的LICK的频率以及DIV_A、DIV_B的值。

每秒钟打印一次日历。

案例 入侵检测

功能简介

演示入侵检测功能使用,PC13脚当检测到一个上升沿后将触发入侵检测,当入侵事件发生时,电池供电数据寄存器将会被清除。

资源准备

1) 硬件环境:对应产品型号的AT-START BOARD2) 软件环境projectat_start_f4xxexamplesertc amper注:所有project都是基于keil 5而建立,若用户需要在其他编译环境上使用,请参考AT32xxx_Firmware_Library_V2.x.xprojectat_start_xxx emplates中各种编译环境(例如IAR6/7,keil 4/5)进行简单修改即可。

软件设计

1) 配置流程

ERTC初始化

初始化入侵检测

初始化电池供电寄存器

2) 代码介绍

main函数代码描述

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

入侵检测中断处理函数代码描述

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

实验效果

信息通过串口打印出来,在电脑上通过串口助手观看打印信息。

当发生入侵事件时(PC13出现上升沿),在入侵中断函数里打印电池供电寄存器被清除的信息。

案例 时间戳

功能简介

演示时间戳功能使用,PC13脚当检测到一个上升沿后将触发时间戳,在时间戳中断里打印发生事件的时刻。

资源准备

1) 硬件环境:对应产品型号的AT-START BOARD2) 软件环境projectat_start_f4xxexamplesertc ime_stamp注:所有project都是基于keil 5而建立,若用户需要在其他编译环境上使用,请参考AT32xxx_Firmware_Library_V2.x.xprojectat_start_xxx emplates中各种编译环境(例如IAR6/7,keil 4/5)进行简单修改即可。

软件设计

1) 配置流程

ERTC初始化

初始化时间戳

2) 代码介绍

main函数代码描述

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

时间戳中断处理函数代码描述

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

实验效果

信息通过串口打印出来,在电脑上通过串口助手观看打印信息。

当发生时间戳事件时(PC13出现上升沿),在中断里打印当前保存的时间戳。

案例 周期唤醒定时器

功能简介

演示周期唤醒定时器功能使用。

资源准备

1) 硬件环境:对应产品型号的AT-START BOARD2) 软件环境projectat_start_f4xxexamplesertcwakeup_timer注:所有project都是基于keil 5而建立,若用户需要在其他编译环境上使用,请参考AT32xxx_Firmware_Library_V2.x.xprojectat_start_xxx emplates中各种编译环境(例如IAR6/7,keil 4/5)进行 简单修改即可。

软件设计

1) 配置流程

ERTC初始化

初始化周期唤醒定时器

2) 代码介绍

main函数代码描述

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

周期唤醒中断处理函数代码描述

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

实验效果

信息通过串口打印出来,在电脑上通过串口助手观看打印信息。

每个5秒发生一次周期性唤醒事件,在中断里打印出信息。

每秒钟打印一次日历。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16939

    浏览量

    350031
  • 寄存器
    +关注

    关注

    31

    文章

    5304

    浏览量

    119883
  • 接口
    +关注

    关注

    33

    文章

    8467

    浏览量

    150757

原文标题:AT32讲堂022 | AT32 MCU ERTC的基本功能

文章出处:【微信号:AT32 MCU 雅特力科技,微信公众号:AT32 MCU 雅特力科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    DAC主要特性及功能说明

    00. 目录文章目录00. 目录01. DAC简介02. DAC主要特性03. DAC功能说明04. DAC双通道转换05. DAC寄存器5.1 DAC控制寄存器 (DAC_CR)5.2 DAC软件
    发表于 08-09 08:04

    步进驱动器接口功能说明

    目录实物图接口功能说明1,控制信号接口2,功率端口3,状态指示1, 控制信号采用单端接线方式时,接线图如下图所示:2,控制信号采用差分接线方式时,接线图如下图所示:3, 控制信号时序图4,接线要求五
    发表于 08-31 07:24

    ERTC实时时钟--AT_SURF案例No.5

    ERTC实时时钟--AT_SURF案例No.5简介AT32实时时钟(ERTC)是一个BCD计数器,内部完整的实现了日历计数逻辑,ERTC计数逻辑位于电池供电域,只要电池供电域有电,
    发表于 05-26 19:44

    PCF8594存储器引脚功能说明

    PCF8594存储器引脚功能说明
    发表于 01-10 23:42 1318次阅读
    PCF8594存储器引脚<b class='flag-5'>功能说明</b>

    PT2213遥控发射IC引脚功能说明

    PT2213遥控发射IC引脚功能说明
    发表于 01-10 23:44 1106次阅读
    PT2213遥控发射IC引脚<b class='flag-5'>功能说明</b>

    mentor expedition的功能说明

    mentor expedition的功能说明 一、Mentor Graphics Expedition 系列PCB 软件技术特点概述1、基于WINDOWS NT/WIN2000/98 平台Expedition 的母平台为WINDOWS 操作系统,能在W
    发表于 03-22 17:46 6904次阅读

    iPVD的功能说明及介绍

    iPVD的功能说明及介绍 iPVD的功能   普通电视用户将可以采用基
    发表于 10-27 08:41 1999次阅读

    74HC573功能说明

    74HC573功能说明
    发表于 03-23 17:05 0次下载

    74HC165功能说明资料下载

    74HC165功能说明资料下载
    发表于 12-20 11:57 170次下载

    西门子802D功能说明

    西门子802D功能说明
    发表于 04-23 09:36 7次下载

    六码流水遥控器功能说明

    六码流水遥控器功能说明
    发表于 03-07 15:21 0次下载

    ZSC31050功能说明

    ZSC31050功能说明
    发表于 02-02 18:44 2次下载
    ZSC31050<b class='flag-5'>功能说明</b>

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

    ERTC接口简介ERTC计数逻辑位于电池供电域,只要电池供电域有电,ERTC便会一直运行,不受系统复位以及VDD掉电影响,
    的头像 发表于 08-16 09:29 2413次阅读
    AT32讲堂022 | AT32 MCU <b class='flag-5'>ERTC</b>的基本<b class='flag-5'>功能</b>

    ZSC31050功能说明

    ZSC31050功能说明
    发表于 07-04 18:31 1次下载
    ZSC31050<b class='flag-5'>功能说明</b>

    企业人员管理系统功能说明

    电子发烧友网站提供《企业人员管理系统功能说明.pdf》资料免费下载
    发表于 04-25 16:37 0次下载