找回密码
 注册
查看: 348|回复: 3
打印 上一主题 下一主题

如何理解AT32的RTC以及ERTC的时钟分频

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-10-8 11:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
AT32 系列的单片机里面有两种RTC,一种是RTC另外一种是ERTC,两种RTC的分频值配置略有不同- W6 H+ i3 m: K2 ^
RTC:
- l5 q. r5 ]* R; T4 W
6 i9 z4 S! _  n; Z3 q4 o
上图是从官方参考手册上截取的RTC内部框图,从图中我们可以看到,RTCCLK经过20位分频器RTC_DIV分频后得到日历的1Hz时钟,所以我们只需要配置RTC_DIV就行了,分频公式为RTC_CLK/(RTC_DIV+1)5 p* I1 b8 T5 Q; ^. X4 I4 O
例如当外部晶振为32768Hz,那么配置RTC_DIV=32767就能得到1Hz时钟,32768/(32767+1) = 1Hz/ p/ w. G: |$ P+ t$ {1 V' X$ `
程序示例:
% ?0 H6 Z! o/ }7 D9 Q5 H) G7 C* sRTC_SetDIV(32767);
" g3 L1 h. h' M7 Q5 o5 M9 E" x. S4 {3 o+ H
ERTC:

, u; S$ r6 x0 H2 P4 W3 w) J# ~上图是从官方参考手册上截取的ERTC内部框图,从图中我们可以看到,ERTCCLK先经过7位分频器,再经过15位分频器,得到后得到日历的1Hz时钟,所以我们只需要配置7位分频器,以及15位分频器,分频公式为ERTC_CLK/((7位分频器+1)(15位分频器+1))
9 h; U- }0 q8 p6 {5 w例如当外部晶振为32768Hz,那么配置7位分频器=127,15位分频器=255,就能得到1Hz时钟,32768/(127+1)(255+1) = 1Hz% o0 \9 M! s- F! F3 z8 _5 }( ?
程序示例:
6 R+ b- D; D1 H* X6 C# Y  ERTC_InitStructure.ERTC_AsynchPrediv = 127;) A$ k( C+ L# T* {+ `
  ERTC_InitStructure.ERTC_SynchPrediv =  255;
0 u" I2 z+ ^' x  ERTC_InitStructure.ERTC_HouRFormat = ERTC_HourFormat_24;8 ^; s3 Z7 i/ A' c% `  T6 |( z' X0 P. t
  ERTC_Init(&ERTC_InitStructure);
% T- H2 m1 u+ G; Y
; ]# o2 E1 M/ j
. r. u; g  K  @- l! ^7 `- s
& K! U, R; d7 \6 W6 g

& m+ C' x5 l; m

该用户从未签到

2#
发表于 2021-10-8 13:06 | 只看该作者
学习了   感谢分享

该用户从未签到

3#
发表于 2021-10-8 14:14 | 只看该作者
ERTCCLK先经过7位分频器,再经过15位分频器,得到后得到日历的1Hz时钟

该用户从未签到

4#
发表于 2021-10-8 14:20 | 只看该作者
写的不错  支持
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-3 03:50 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表