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

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

3天内不再提示

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

雅特力 AT32 MCU 2022-08-16 09:29 次阅读

ERTC接口简介

ERTC计数逻辑位于电池供电域,只要电池供电域有电,ERTC便会一直运行,不受系统复位以及VDD掉电影响,ERTC主要具有以下功能:― 日历功能:年、月、日、时、分、秒― 闹钟功能:闹钟A、闹钟B― 周期性唤醒功能― 入侵检测功能― 校准功能:精密校准、粗略校准图1. ERTC框图d1b2c30e-1ad2-11ed-9ade-dac502259ad0.png

ERTC功能

各型号ERTC功能差异

各型号ERTC基本功能相同,只是各个型号之间,可能去掉了一些更高级的功能,所有保留的功能程序兼容。表1. 各型号ERTC差异d1c96780-1ad2-11ed-9ade-dac502259ad0.png√:表示支持该功能,且功能相同。×:表示不支持该功能。

寄存器访问

寄存器写保护上电复位后ERTC寄存器处于写保护状态,需要先解除写保护,才能写配置ERTC寄存器。需要注意的是ERTC_STS[14:8]、ERTC_TAMP和ERTC_BPRx寄存器不受写保护。

解锁步骤:

1)使能PWC接口时钟d1df6f4e-1ad2-11ed-9ade-dac502259ad0.png2) 解锁电池供电域写保护d1f18922-1ad2-11ed-9ade-dac502259ad0.png3) 依次向ERTC_WP寄存器写入0xCA,0x53,解锁写保护若向ERTC_WP寄存器写入错误的值,将重新激活写保护d20bec0e-1ad2-11ed-9ade-dac502259ad0.png4) 配置ERTC寄存器

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

表2. ERTC寄存器d21d14e8-1ad2-11ed-9ade-dac502259ad0.png

寄存器复位

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

ERTC复位相关函数:

电池供电域复位d2346a30-1ad2-11ed-9ade-dac502259ad0.png将ERTC所有寄存器恢复成默认值d24ddd30-1ad2-11ed-9ade-dac502259ad0.png

时钟设置

时钟源选择ERTC时钟源经过选择后输入到分频器A和分频器B,最终得到1Hz的时钟用来更新日历。图2. ERTC时钟结构d261efdc-1ad2-11ed-9ade-dac502259ad0.png

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

― LEXT:外部低速晶振,通常为32.768kHz― LICK:内部低速晶振,通常典型值为40kHz范围(30~60kHz),详情请见各型号的datasheet― HEXT_DIV:外部高速晶振分频后得到的时钟,不同的型号下,分频值不一样,请见表3表3. 各型号HEXT的预分频值d27b490a-1ad2-11ed-9ade-dac502259ad0.png

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

d28aebee-1ad2-11ed-9ade-dac502259ad0.png

ERTC时钟源设置相关函数:

选择对应时钟使能d2a5655a-1ad2-11ed-9ade-dac502259ad0.png选择ERTC时钟d2cbf0bc-1ad2-11ed-9ade-dac502259ad0.png使能ERTC时钟d2d58604-1ad2-11ed-9ade-dac502259ad0.png

预分频器设置

通过预分频器A和预分频器B将获得1Hz时钟,计算公式如下:d2eec024-1ad2-11ed-9ade-dac502259ad0.png推荐在应用中将预分频器A设置成最大值(127)这样可以最大程度降低功耗。表5. 分频设置举例d2fb0460-1ad2-11ed-9ade-dac502259ad0.png

设置ERTC预分频器

d3138a4e-1ad2-11ed-9ade-dac502259ad0.png

ERTC时钟初始化举例:

d325e676-1ad2-11ed-9ade-dac502259ad0.png

日历

ERTC日历格式如下图所示,包含有年、月、日、星期、时、分、秒、亚秒。图3. 日历格式d3487024-1ad2-11ed-9ade-dac502259ad0.png

时间格式设置

时间格式可以选择24小时或者12小时格式,如果为24小时格式时,AM/PM字段无意义,在初始化日历之前,应该首先选择时间格式。时间格式设置函数:d359cf72-1ad2-11ed-9ade-dac502259ad0.png例如设置日历格式为24小时模式d36d743c-1ad2-11ed-9ade-dac502259ad0.png

日历初始化

通过配置ERTC_DATE和ERTC_TIME寄存器可以设置日历时间:日历值设置函数:d3871144-1ad2-11ed-9ade-dac502259ad0.png例如设置时间为2020-05-01 1200星期六d3aaa172-1ad2-11ed-9ade-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)d3cc23a6-1ad2-11ed-9ade-dac502259ad0.png读取模式设置函数d3db3ae4-1ad2-11ed-9ade-dac502259ad0.png例如设置读取模式为同步读取d3e948fa-1ad2-11ed-9ade-dac502259ad0.png日历读取函数:d4083ae4-1ad2-11ed-9ade-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)秒。亚秒读取函数:d41a11ce-1ad2-11ed-9ade-dac502259ad0.png

闹钟

ERTC包含两个完全相同的闹钟A、闹钟B,闹钟值由ERTC_ALASBS/ERTC_ALA(ERTC_ALBSBS/ERTC_ALB)设定,开启闹钟后,当设定的闹钟值匹配日历值时ALAF/ALBF置1,发生闹钟事件。通过MASKx位,可选择性的屏蔽日历字段,被屏蔽的字段不参与闹钟匹配。图4. 日闹钟匹配d4340200-1ad2-11ed-9ade-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. 屏蔽设置举例d45fc778-1ad2-11ed-9ade-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. 亚秒屏蔽设置举例d470c5dc-1ad2-11ed-9ade-dac502259ad0.png

闹钟相关函数

日期/星期、时、分、秒屏蔽d4816630-1ad2-11ed-9ade-dac502259ad0.png选择日期或者星期格式d49d391e-1ad2-11ed-9ade-dac502259ad0.png设置闹钟值:日期/星期、时、分、秒、AM/PMd4ab9ffe-1ad2-11ed-9ade-dac502259ad0.png设置闹钟亚秒值以及屏蔽d4c0e54e-1ad2-11ed-9ade-dac502259ad0.png闹钟中断使能d4ebc6b0-1ad2-11ed-9ade-dac502259ad0.png获取当前配置的闹钟值d4f9ebe6-1ad2-11ed-9ade-dac502259ad0.png获取当前配置的闹钟亚秒值d5090a0e-1ad2-11ed-9ade-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. 唤醒定时器时钟选择d527838a-1ad2-11ed-9ade-dac502259ad0.png当WATCLK[2:0]=11x时,如果日历时钟为1Hz,可获得最长的唤醒时间=65535+216+1=131072秒。如果日历时钟调整为<1Hz(增大预分频器DIV_B的值),还可以获得更长的唤醒时间。

周期自动唤醒相关函数

唤醒计数器时钟源选择d548ee4e-1ad2-11ed-9ade-dac502259ad0.png设置唤醒计数器值d55e6a1c-1ad2-11ed-9ade-dac502259ad0.png获取唤醒计数器值d57c25de-1ad2-11ed-9ade-dac502259ad0.png唤醒定时器使能d5935538-1ad2-11ed-9ade-dac502259ad0.png

入侵检测

ERTC提供了两组入侵检测TAMP1和TAMP2,当在发生入侵事件时,将自动清除ERTC电池供电数据寄存器(ERTC_BPRx)的值,也支持发生入侵事件时产生事件戳。图6. 入侵检测d5a5f59e-1ad2-11ed-9ade-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示意图d5c5907a-1ad2-11ed-9ade-dac502259ad0.png

入侵滤波

通过TPFLT设置入侵检测的滤波时间,可以配置下面4种模式― 无滤波,当1次采样有效,判定入侵事件发生;― 连续2次采样有效,判定入侵事件发生;― 连续4次采样有效,判定入侵事件发生;― 连续8次采样有效,判定入侵事件发生。

入侵检测相关函数

入侵检测1引脚选择d5d34404-1ad2-11ed-9ade-dac502259ad0.png入侵检测上拉使能配置d5e16480-1ad2-11ed-9ade-dac502259ad0.png上拉预充电时间设置d5fe8330-1ad2-11ed-9ade-dac502259ad0.png滤波时间设置d610f632-1ad2-11ed-9ade-dac502259ad0.png入侵检测频率设置d6238db0-1ad2-11ed-9ade-dac502259ad0.png入侵检测有效边沿设置d63c016a-1ad2-11ed-9ade-dac502259ad0.png发生入侵事件时,保存时间戳d64ed0ec-1ad2-11ed-9ade-dac502259ad0.png入侵检测使能d669de82-1ad2-11ed-9ade-dac502259ad0.png

时间戳

时间戳功能用于在发生时间戳事件时(入侵引脚检测到有效边沿),将当前的日历值保存到时间戳寄存器中。图8. 时间戳检测d6926712-1ad2-11ed-9ade-dac502259ad0.png时间戳使用― 单独使用:可以选择引脚进行检测ERTC_MUX1:引脚1,通常为PC13ERTC_MUX2:引脚2,通常为PA0― 在发生入侵事件时保存时间戳,在这种模式下,需要先将入侵检测功能正确配置好时间戳在单独使用时可以配置为上升沿检测或者下降沿检测,在入侵检测触发时,取决于入侵检测的配置

时间戳溢出

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

时间戳相关函数

时间戳引脚选择d6aad478-1ad2-11ed-9ade-dac502259ad0.png检测边沿设置d6b5ccc0-1ad2-11ed-9ade-dac502259ad0.png时间戳使能d6c8c154-1ad2-11ed-9ade-dac502259ad0.png获得时间戳时间d6e0114c-1ad2-11ed-9ade-dac502259ad0.png获得时间戳亚秒d6f2a87a-1ad2-11ed-9ade-dac502259ad0.png

参考时钟检测

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

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

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

参考时钟检测使能函数

d71494e4-1ad2-11ed-9ade-dac502259ad0.png

校准

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

粗略校准

粗略数字校准通过增加或减少ck_a周期值来实现提前或推迟更新日历值的功能。图10. 粗略校准d72e2eea-1ad2-11ed-9ade-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. 精密校准d748c174-1ad2-11ed-9ade-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:

d7620f3a-1ad2-11ed-9ade-dac502259ad0.png

当分频器A值小于3时,会按照ADD等于0校准。此时应降低分频器B值来实现每秒增加8个ERTC_CLK,也就是32秒增加256个ERTC_CLK搭配DEC[8:0]位,可在220个ERTC_CLK周期进行-255~+256的调整。此时有效校准频率FSCAL:d773081c-1ad2-11ed-9ade-dac502259ad0.png精密数字校准的校准周期还可选择8秒或16秒(由CAL8和CAL16配置),8秒校准周期的优先级更高,同时使能8秒和16秒校准周期,将优先选择8秒校准周期。

校准相关函数

精密校准配置并使能d78b09a8-1ad2-11ed-9ade-dac502259ad0.png粗略校准配置d7a394d2-1ad2-11ed-9ade-dac502259ad0.png粗略校准使能d7b945f2-1ad2-11ed-9ade-dac502259ad0.png

事件输出功能

ERTC提供了一组复用功能输出,可以输出以下事件:― 校准输出:512Hz、1Hz― 事件输出:闹钟A、闹钟B、唤醒事件图12. 事件输出d7e0dcf2-1ad2-11ed-9ade-dac502259ad0.png通常ERTC MUX1引脚为PC13当输出模式为事件输出时(闹钟A、闹钟B、唤醒事件),可以通过OUTTYPE选择输出类型为开漏或是推挽,通过OUTP配置输出极性。

事件输出相关函数

事件输出设置(闹钟A、闹钟B、唤醒事件)d7fcc7e6-1ad2-11ed-9ade-dac502259ad0.png校准输出选择(512Hz、1Hz)d80c8cda-1ad2-11ed-9ade-dac502259ad0.png校准输出使能d821eb8e-1ad2-11ed-9ade-dac502259ad0.png

电池供电数据寄存器

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

相关函数

写电池供电数据寄存器d8355cc8-1ad2-11ed-9ade-dac502259ad0.png读电池供电数据寄存器d849d1d0-1ad2-11ed-9ade-dac502259ad0.png

中断

当发生闹钟A、闹钟B、周期性唤醒事件时,ERTC可产生中断。要使能ERTC中断可按以下操作配置:― 将ERTC对应中断的EXINT线配置为中断模式并使能,有效沿选择上升沿。― 使能ERTC中断对应的NVIC通道。― 使能对应的ERTC中断控制位。下表说明了ERTC时钟源、事件以及中断对唤醒低功耗模式的影响:表8. ERTC唤醒低功耗模式d863d49a-1ad2-11ed-9ade-dac502259ad0.png

表9. 中断控制

d881831e-1ad2-11ed-9ade-dac502259ad0.png

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

d89508c6-1ad2-11ed-9ade-dac502259ad0.png

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

d8bde8fe-1ad2-11ed-9ade-dac502259ad0.png

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

d91b1268-1ad2-11ed-9ade-dac502259ad0.png

中断、事件相关函数

事件中断使能d92d8646-1ad2-11ed-9ade-dac502259ad0.png获取相应中断是否使能d9419cee-1ad2-11ed-9ade-dac502259ad0.png标志获取d9501530-1ad2-11ed-9ade-dac502259ad0.png标志清除d95c5cd2-1ad2-11ed-9ade-dac502259ad0.png

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

d9764e1c-1ad2-11ed-9ade-dac502259ad0.png

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

功能简介

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

资源准备

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

软件设计

1) 配置流程

  • 开启PWC时钟
  • 使能电池供电域写保护
  • 检查电池供电域数据是否正确,如果正确就跳过初始化,如果不正确就初始化ERTC并向电池供电域写上数据

2) 代码介绍

  • main函数代码描述

d989e332-1ad2-11ed-9ade-dac502259ad0.png

实验效果

  • 信息通过串口打印出来,在电脑上通过串口助手观看打印信息。
  • 如果寄存器里数据正确打印bpr reg=>none reset。
  • 如果寄存器里数据正确打印bpr reg=>reset。
  • 主函数里每秒打印一次日历信息。

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

功能简介

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

资源准备

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

软件设计

1) 配置流程

  • 开启PWC时钟
  • 使能电池供电域写保护
  • 检查日历是否已经初始化,如果正确就跳过初始化,如果不正确就初始化日历以及闹钟
  • 主函数里每秒打印一次日历信息
  • 在21-05-01 1210时刻发生闹钟。

2) 代码介绍

  • main函数代码描述

d9b11ce0-1ad2-11ed-9ade-dac502259ad0.png

ERTC初始化ertc_config函数代码描述

d9ee3a62-1ad2-11ed-9ade-dac502259ad0.png

  • 闹钟中断函数代码描述

da0290d4-1ad2-11ed-9ade-dac502259ad0.png

实验效果

  • 信息通过串口打印出来,在电脑上通过串口助手观看打印信息。
  • 主函数里每秒打印一次日历信息。
  • 在21-05-01 1210时刻发生闹钟。

案例 使用LICK时钟并校准

功能简介

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

资源准备

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

软件设计

1) 配置流程

  • ERTC初始化
  • 配置测量LICK频率定时器
  • 根据测量到的频率重新配置ERTC分频

2) 代码介绍

  • main函数代码描述

da1af106-1ad2-11ed-9ade-dac502259ad0.png

实验效果

  • 信息通过串口打印出来,在电脑上通过串口助手观看打印信息。
  • 通串口打印出当前测量出的LICK的频率以及DIV_A、DIV_B的值。
  • 每秒钟打印一次日历。

案例 入侵检测

功能简介

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

资源准备

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

软件设计

1) 配置流程

  • ERTC初始化
  • 初始化入侵检测
  • 初始化电池供电寄存器

2) 代码介绍

  • main函数代码描述

da40b33c-1ad2-11ed-9ade-dac502259ad0.png

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

da5e8cea-1ad2-11ed-9ade-dac502259ad0.png

实验效果

  • 信息通过串口打印出来,在电脑上通过串口助手观看打印信息。
  • 当发生入侵事件时(PC13出现上升沿),在入侵中断函数里打印电池供电寄存器被清除的信息。

案例 时间戳

功能简介

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

资源准备

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

软件设计

1) 配置流程

  • ERTC初始化
  • 初始化时间戳

2) 代码介绍

  • main函数代码描述

da70b334-1ad2-11ed-9ade-dac502259ad0.png

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

da872efc-1ad2-11ed-9ade-dac502259ad0.png

实验效果

  • 信息通过串口打印出来,在电脑上通过串口助手观看打印信息。
  • 当发生时间戳事件时(PC13出现上升沿),在中断里打印当前保存的时间戳。

案例 周期唤醒定时器

功能简介

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

资源准备

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

软件设计

1) 配置流程

  • ERTC初始化
  • 初始化周期唤醒定时器

2) 代码介绍

  • main函数代码描述

da969ba8-1ad2-11ed-9ade-dac502259ad0.png

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

daa81e8c-1ad2-11ed-9ade-dac502259ad0.png

实验效果

  • 信息通过串口打印出来,在电脑上通过串口助手观看打印信息。
  • 每个5秒发生一次周期性唤醒事件,在中断里打印出信息。
  • 每秒钟打印一次日历。

关于雅特力雅特力科技于2016年成立,是一家致力于推动全球市场32位微控制器(MCU)创新趋势的芯片设计公司,专注于ARM Cortex-M4/M0+的32位微控制器研发与创新,全系列采用55nm先进工艺及ARM Cortex-M4高效能或M0+低功耗内核,缔造M4业界最高主频288MHz运算效能,并支持工业级别芯片工作温度范围(-40°~105°)。雅特力目前已累积相当多元的终端产品成功案例:如微型打印机、扫地机、光流无人机、热成像仪、激光雷达、工业缝纫机、伺服驱控、电竞周边市场、断路器、ADAS、T-BOX、数字电源、电动工具等终端设备应用,广泛地覆盖5G物联网、消费、商务及工控等领域。

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

    关注

    146

    文章

    16852

    浏览量

    349807
收藏 人收藏

    评论

    相关推荐

    STM32转AT32代码转换

    GD32等等。本文主要介绍一款ST32转AT32的工具AT32SmartCodeTransfer.exe,可以快速实现芯片的更换,提高开发效率。1.1.软件功能本软
    的头像 发表于 09-28 08:09 230次阅读
    STM32转<b class='flag-5'>AT32</b>代码转换

    雅特力AT32 MCU的随机数生成

    应用的需求。底下提供两种方法:提高乱度的方法之一,使用ADC的误差。AT32的微控制器内置最多三个高级12位片上SAR模拟数字转换器(ADC)并提供自校准功能,保证1
    的头像 发表于 08-30 12:26 396次阅读
    雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的随机数生成

    AT32讲堂085 | 雅特力AT32 MCU HICK时钟校准

    简介AT32系列MCU内部都有提供适合运行的内部高速时钟(HICK),其本质就是内置于芯片的RC振荡器。在25℃下,其典型值频率8MHz的精度由工厂校准到±1%,在-40到105℃,该内部高速时钟
    的头像 发表于 08-30 12:26 458次阅读
    <b class='flag-5'>AT32</b><b class='flag-5'>讲堂</b>085 | 雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> HICK时钟校准

    MHMF022L84N-MINAS A6NL系列 (RTEX) 技术资料 -基本功能规格篇- 松下

    电子发烧友网为你提供Panasonic(Panasonic)MHMF022L84N-MINAS A6NL系列 (RTEX) 技术资料 -基本功能规格篇-相关产品参数、数据手册,更有
    发表于 08-26 19:16
    MHMF<b class='flag-5'>022</b>L84N-MINAS A6NL系列 (RTEX) 技术资料 -<b class='flag-5'>基本功能</b>规格篇- 松下

    MHMF022L84N-MINAS A6N系列 (RTEX) 技术资料 -基本功能规格篇- 松下

    电子发烧友网为你提供Panasonic(Panasonic)MHMF022L84N-MINAS A6N系列 (RTEX) 技术资料 -基本功能规格篇-相关产品参数、数据手册,更有
    发表于 08-26 19:14
    MHMF<b class='flag-5'>022</b>L84N-MINAS A6N系列 (RTEX) 技术资料 -<b class='flag-5'>基本功能</b>规格篇- 松下

    MHMF022L82N-MINAS A6BU 系列 技术资料 -基本功能规格篇- 松下

    电子发烧友网为你提供Panasonic(Panasonic)MHMF022L82N-MINAS A6BU 系列 技术资料 -基本功能规格篇-相关产品参数、数据手册,更有
    发表于 08-26 18:42
    MHMF<b class='flag-5'>022</b>L82N-MINAS A6BU 系列 技术资料 -<b class='flag-5'>基本功能</b>规格篇- 松下

    MHMF022L81N-MINAS A6BU 系列 技术资料 -基本功能规格篇- 松下

    电子发烧友网为你提供Panasonic(Panasonic)MHMF022L81N-MINAS A6BU 系列 技术资料 -基本功能规格篇-相关产品参数、数据手册,更有
    发表于 08-23 19:23
    MHMF<b class='flag-5'>022</b>L81N-MINAS A6BU 系列 技术资料 -<b class='flag-5'>基本功能</b>规格篇- 松下

    MHMF022L32N-MINAS A6BN 系列 技术资料 -基本功能规格篇- 松下

    电子发烧友网为你提供Panasonic(Panasonic)MHMF022L32N-MINAS A6BN 系列 技术资料 -基本功能规格篇-相关产品参数、数据手册,更有
    发表于 08-20 19:07
    MHMF<b class='flag-5'>022</b>L32N-MINAS A6BN 系列 技术资料 -<b class='flag-5'>基本功能</b>规格篇- 松下

    MHMF022L32N-MINAS A6BU 系列 技术资料 -基本功能规格篇- 松下

    电子发烧友网为你提供Panasonic(Panasonic)MHMF022L32N-MINAS A6BU 系列 技术资料 -基本功能规格篇-相关产品参数、数据手册,更有
    发表于 08-20 19:05
    MHMF<b class='flag-5'>022</b>L32N-MINAS A6BU 系列 技术资料 -<b class='flag-5'>基本功能</b>规格篇- 松下

    MHMF022L32N-MINAS A6S 系列 技术资料 -基本功能规格篇- 松下

    电子发烧友网为你提供Panasonic(Panasonic)MHMF022L32N-MINAS A6S 系列 技术资料 -基本功能规格篇-相关产品参数、数据手册,更有
    发表于 08-20 18:52
    MHMF<b class='flag-5'>022</b>L32N-MINAS A6S 系列 技术资料 -<b class='flag-5'>基本功能</b>规格篇- 松下

    雅特力AT32 MCU与SEGGER携手合作,开发量产事半功倍

    近日,雅特力与SEGGER共同宣布J-Link仿真调试器与Flasher在线烧录器全面支持AT32 MCU产品,SEGGER工具链的加持使AT32 MCU开发如虎添翼。 雅特力自201
    的头像 发表于 02-23 10:27 336次阅读

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

    AT32定时器是51系列单片机中的一种定时器,可以实现多种定时功能。在AT32定时器中,pr和div是两个相关的参数,用于配置定时器的工作参数。 首先,需要了解pr和div分别代表什么含义。pr
    的头像 发表于 01-08 10:12 1157次阅读

    润开鸿AT32开发平台通过OpenHarmony兼容性测评

    近期,江苏润开鸿数字科技有限公司(以下简称“润开鸿”)AT32开发平台通过OpenHarmony3.2.Release版本兼容性测评,助力润开鸿基于该开发平台全新研发推出的行业终端设备顺利融入
    的头像 发表于 12-15 08:02 569次阅读
    润开鸿<b class='flag-5'>AT32</b>开发平台通过OpenHarmony兼容性测评

    如何使用AT32 MCU WDT和WWDT?

    如何使用AT32 MCU WDT和WWDT?
    的头像 发表于 11-10 18:26 1828次阅读
    如何使用<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> WDT和WWDT?

    Segger Jscope波形软件在AT32 MCU的使用

    Segger Jscope波形软件在AT32 MCU的使用
    的头像 发表于 11-10 18:24 2210次阅读
    Segger Jscope波形软件在<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的使用