AN53313 Real Time Clock Calibration in Cypress nvSRAM (Chinese).pdf

AN53313
赛普拉斯 nvSRAM 中的实时时钟校准
作者:Shivendra Singh
相关项目:无
相关器件系列:nvSRAM RTC
软件版本:无
相关应用笔记:无
AN53313 描述了赛普拉斯 nvSRAM 中的实时时钟(RTC)校准特性。该特性将补偿与晶振额定频率 32.768 kHz 相对的偏
差,从而保持精确的系统时间。该应用笔记还提供了用于校准调整的查找表。
简介
赛普拉斯 nvSRAM 中的实时时钟(RTC)由外部晶体振荡器
驱动,其额定频率为 32.768 kHz。大部分 32.768 kHz 晶振的
频率偏差在+25 °C 下为±20 百万分比(parts per million,
ppm)。在长周期时间内,该频率偏差会导致时序错误。例如,
晶振额定频率的误差为 20 ppm 时,一个月内的时钟精度偏移
为 52 秒。您可以使用 nvSRAM RTC 中的校准特性来补偿偏
移。
影响晶振时钟精度的另一个晶振参数是抛物线曲率常数,k。
该参数随着温度的变化而改变晶振频率。通常,抛物线曲率常
2
数(k)为–0.036 ppm/°C 。如果工作温度已知,通过校准
RTC,可以补偿温度变化所引起的 RTC 时钟频率偏移。
曲率 k 是晶振固有的机械特性;不同的制造商会有不同的曲
率。晶振数据手册提供了曲率的典型规范。此外,通过测试
随着温度变化而变化的频率输出,可以根据经验确定该参数。
2
2
To 为 25 °C ± 5 °C,k 为–0.036 ppm/°C ± 0.006 ppm/°C 。
图1. 晶振的抛物线温度曲线
40
20
-45 -35 -25 -15
-80
2
公式 1
5
15
25
35
45
55
65
75
85
95
-60
即使晶体振荡器是最精确的振荡器电路之一,但是 RTC 的精
度主要取决于晶振的精度。类似于其他常见的电气组件(如电
阻器和电容器),晶振具有与其相关的一定偏差。额定频率在
25 °C 温 度 时 的 32.768 kHz 的 晶 振 , 实 际 上 可 能 偏 差 了
±20 ppm。晶振频率也随着温度的变化而变化。图 1 显示的是
温度和晶振频率间的抛物线关系。晶振制造商使用转换温度
(To)和曲率常数(k)来确定曲线。频率变量是 T 和 k 的函
数,如以下公式所示:
www.cypress.com
-5
-20
-40
典型晶振行为
𝑓 − 𝑓𝑜 = 𝑘𝑓𝑜 𝑇 − 𝑇𝑜
Temperature in °C
0
Δf/f
(ppm)
-100
-120
-140
-160
-180
To = 25°C
k = – 0.036 ppm/°C2
校准电路通过向上或向下调整曲线,在选中的温度下得到零、
+1 或-2 ppm 的精度。通过向振荡器分频器链增加或减少时
钟周期,实现此目的。
文档编号:001-92143 版本**
1
赛普拉斯nvSRAM中的实时时钟校准
校准方法
赛普拉斯 nvSRAM 中的 RTC 设计采用了周期计数器纠正。数
字校准电路对振荡器分频器电路增加或减去了时钟周期,如图
2 中所示。类似地,图 3 中显示的示例时钟框图描述了如何在
正向校准期间中增加额外时钟周期,使时钟速度加快,或在负
向校准期间中减少时钟周期,使其速度减慢。增加或减去的脉
冲数量由写入校准寄存器的 5 个低位(D4 至 D0)数据决定。
这些位可以表示 0 到 31 范围内的任何二进制值。D5 位是符号
位,其中“1”表示正校准,“0”表示负校准。
校准周期时间为 64 分钟。在周期的前 62 分钟,每分钟一次,
可能校准一秒时间。这一秒中的速度可能被加快(增加 256 个
时钟周期)或减慢(减去 128 个时钟周期)。如果将二进制
“ 1 ” 加 载 到 寄 存 器 内 , 只 能 在 64 分 钟 周 期 的 前
两分钟进行修改;如果加载了二进制“6”,则只能在前 12 分
钟内进行修改,如此类推。因此,在每个校准步骤中,将对每
125,829,120 个(64 分钟 × 60 秒/分钟 × 32,768 周期/秒)实
际 振 荡 器 周 期 加 上 512 个 周 期 或 减 去 256 个 周 期 。 每
125,829,120 个 周 期 增 加 512 个 周 期 相 当 于 4.068 ppm
6
((512 周期/ 125,829,120 周期) x 10 ppm)。同样,每
125,829,120 个 周 期 减 去 256 个 周 期 相 当 于 -2.034 ppm
6
((256 周期/ 125,829,120 周期) x 10 ppm)。
如果将‘0’值加载到校准寄存器的符号位(D5)内,表示
负向校准。对位 D4 至 D0 加载二进制‘1’、‘2’或
‘3’,分别表示时钟的调整值为-2 ppm、-4 ppm 或-6
ppm,如此类推。最大二进制值‘31’表示对时钟调整值
为-63 ppm。
位 D5(符号位)中的‘0’值表示负向校准,并每百万周
期中被减去的周期数量
= 2.034 x < 校准位中的加载值 > ppm
公式 2
同样,符号位(D5)中的‘1’值表示正向校准
每百万周期中被增加的周期数量
= 4.068 x < 校准位中的加载值 > ppm
公式 3
所以,校准寄存器位(D4 至 D0)中加载的值‘1’将以 4
ppm 调整时钟;校准寄存器位(D4 至 D0)中加载的最大
值‘31’将以 126 ppm 调整时钟。
图 2. 振荡器分频器电路
X1
Low
Power
Oscillator
128 Hz
Div by 64
Div by 4
Calibration
Circuitry
Clock
Registers
X2
512 Hz
uncalibrated
signal
32.768 kHz 晶
振
INT
1 Hz signal
calibrated over
a 64 min cycle
From
calibration
register
INT
Controlled by CAL
bit in flags register
www.cypress.com
文档编号:001-92143 版本**
2
赛普拉斯nvSRAM中的实时时钟校准
图 3. 时钟分裂和时钟消隐
Δt
额定频率的振荡(0 ppm 误差)
频率低于额定值的振荡(负
值误差)
以正向校准或时钟分离方法
进行纠正
频率大于额定值的振荡(正值
误差)
以负向校准或时钟消隐方法
进行纠正
设置校准
计算时钟误差
校准/控制寄存器
设置校准值前,需要计算所需的校准量。当标志寄存器中的
CAL 位(位 2)被置位时,INT 引脚将输出源于 32.768 kHz
晶振的未校准 512 Hz 时钟(如第 2 页上的图 2 所示)。该时
钟输出使能了应用程序,用于计算晶振输出频率与
32.768 kHz 额定频率相对的误差。通过实际频率与 512 Hz 频
率相对的偏离,可以确定所需纠正的大小和方向。使用公式 4
来计算误差(单位为 ppm):
要想设置校准,请将合适值写入位于 RTC 寄存器映射表中的
校准/控制寄存器内(请参考相关器件数据手册中的 RTC 寄存
器映射表)。校准/控制寄存器的位 D7 是振荡器的使能位;
仅在该位被设为 0 时,振荡器才会运行。位 D6 未使用,并被
读取为 0。位 D5 是校准符号位。将校准符号位 D5 设置为
‘1’,表示正向校准,并根据校准位[D4:D0]所指定的值向上
调整。将校准符号位 D5 设置为‘0’,则表示负向校准,并
根据校准位[D4:D0]所指定的值向下调整。位 D4 至 D0 中的二
进制值介于 0 至 31 范围,用于确定要实现的校准量(如第 2
页上的公式 2 和公式 3 所示)。
表 1. 校准/控制寄存器
D7
D6
D5
OSCEN
0
校准符号
www.cypress.com
D4
D3
D2
校准值
D1
D0
𝐸𝑟𝑟𝑜𝑟 𝑖𝑛 𝑝𝑝𝑚 =
(𝑀𝑒𝑎𝑠𝑢𝑟𝑒𝑑 𝑓𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑦 – 512 )𝐻𝑧
512 𝐻𝑧
× 106 𝑝𝑝𝑚
公式 4
例如,如果设置标志寄存器中的 CAL 位后,INT 引脚输出的
频率为 512.01024 Hz,表示振荡器频率误差为 20 ppm。由
于所需的纠正为-20 ppm,需要将-10 (001010)值加载到校准
寄存器内。请注意,设置或改变校准寄存器位不会影响 INT
引脚输出的频率。第 4 页上的表 2 列出了每个校准寄存器值
的校准量。
文档编号:001-92143 版本**
3
赛普拉斯nvSRAM中的实时时钟校准
表 2.nvSRAM RTC 中的校准调整
时间
1
(秒/月 )
符号
校准值
调整量
(ppm)
0
0
1
00000
0
0
-2
-5
1
00001
4
11
-4
-11
1
00010
8
21
00011
-6
-16
1
00011
12
32
00100
-8
-21
1
00100
16
42
0
00101
-10
-26
1
00101
20
53
0
00110
-12
-32
1
00110
24
63
0
00111
-14
-37
1
00111
28
74
0
01000
-16
-42
1
01000
33
87
0
01001
-18
-47
1
01001
37
97
0
01010
-20
-53
1
01010
41
108
0
01011
-22
-58
1
01011
45
118
0
01100
-24
-63
1
01100
49
129
0
01101
-26
-68
1
01101
53
139
0
01110
-28
-74
1
01110
57
150
0
01111
-31
-81
1
01111
61
160
0
10000
-33
-87
1
10000
65
171
0
10001
-35
-92
1
10001
69
181
0
10010
-37
-97
1
10010
73
192
0
10011
-39
-102
1
10011
77
202
0
10100
-41
-108
1
10100
81
213
0
10101
-43
-113
1
10101
85
223
0
10110
-45
-118
1
10110
89
234
0
10111
-47
-124
1
10111
94
247
0
11000
-49
-129
1
11000
98
258
0
11001
-51
-134
1
11001
102
268
0
11010
-53
-139
1
11010
106
279
0
11011
-55
-145
1
11011
110
289
0
11100
-57
-150
1
11100
114
300
0
11101
-59
-155
1
11101
118
310
0
11110
-61
-160
1
11110
122
321
0
11111
-63
-166
1
11111
126
331
符号
校准值
0
00000
0
00001
0
00010
0
0
调整量
(ppm)
时间
1
(秒/月 )
注意 1:一个月 = 365/12 天
总结
赛普拉斯 nvSRAM RTC 器件提供的简单校准特性改善了计时精度。该方案并不提供补偿偏差(由于环境温度变化而动态变化导
致)的自动调整选项。但是,RTC 校准方法能够提高精度并补偿任何预测的温度漂移。
www.cypress.com
文档编号:001-92143 版本**
4
赛普拉斯nvSRAM中的实时时钟校准
文档修订记录
文档标题: AN53313 — 赛普拉斯 nvSRAM 中的实时时钟校准
文档编号:001-92143
修订版
ECN
变更者
提交日期
**
4345936
WAHY
06/16/2014
www.cypress.com
变更说明
本文档版本号为 Rev**,译自英文版 001-53313 Rev*C。
文档编号:001-92143 版本**
5
赛普拉斯nvSRAM中的实时时钟校准
全球销售和设计支持
赛普拉斯公司拥有一个由办事处、解决方案中心、工厂代表和经销商组成的全球性网络。要找到离您最近的办事处,请访问赛普
拉斯所在地。
PSoC®解决方案
产品
汽车
cypress.com/go/automotive
psoc.cypress.com/solutions
时钟与缓冲区
cypress.com/go/clocks
PSoC 1 | PSoC 3 | PSoC 4 | PSoC 5LP
接口
cypress.com/go/interface
赛普拉斯开发者社区
照明和电源控制
cypress.com/go/powerpsoc
cypress.com/go/plc
存储器
cypress.com/go/memory
PSoC
cypress.com/go/psoc
触摸感应
cypress.com/go/touch
USB 控制器
cypress.com/go/usb
无线/射频
cypress.com/go/wireless
社区
| 论坛| 博客 | 视频 | 培训
技术支持
cypress.com/go/support
此处引用的所有商标或注册商标归其各自所有者所有。
赛普拉斯半导体
198 Champion Court
San Jose, CA 95134-1709
电话
传真
网站
:408-943-2600
:408-943-4730
:www.cypress.com
©赛普拉斯半导体公司,2009-2014。此处所包含的信息可能会随时更改,恕不另行通知。除赛普拉斯产品内嵌的电路外,赛普拉斯半导体公司不对任何
其他电路的使用承担任何责任。也不根据专利或其他权利以明示或暗示的方式授予任何许可。除非与赛普拉斯签订明确的书面协议,否则赛普拉斯产品不
保证能够用于或适用于医疗、生命支持、救生、关键控制或安全应用领域。此外,对于合理预计会发生运行异常和故障并对用户造成严重伤害的生命支持
系统,赛普拉斯将不批准将其产品用作此类系统的关键组件。若将赛普拉斯产品用于生命支持系统,则表示制造商将承担因此类使用而招致的所有风险,
并确保赛普拉斯免于因此而受到任何指控。
该源代码(软件和/或固件)均归赛普拉斯半导体公司(赛普拉斯)所有,并受全球专利法规(美国和美国以外的专利法规)、美国版权法以及国际条约
规定的保护和约束。赛普拉斯据此向获许可者授予适用于个人的、非独占性、不可转让的许可,用以复制、使用、修改、创建赛普拉斯源代码的派生作品、
编译赛普拉斯源代码和派生作品,并且其目的只能是创建自定义软件和/或固件,以支持获许可者仅将其获得的产品依照适用协议规定的方式与赛普拉斯
集成电路配合使用。除上述指定用途外,未经赛普拉斯的明确书面许可,不得对此类源代码进行任何复制、修改、转换、编译或演示。
免责声明:赛普拉斯不针对该材料提供任何类型的明示或暗示保证,包括(但不仅限于)针对特定用途的适销性和适用性的暗示保证。赛普拉斯保留在不
另行通知的情况下对此处所述材料进行更改的权利。赛普拉斯不对此处所述之任何产品或电路的应用或使用承担任何责任。对于合理预计可能发生运转异
常和故障,并对用户造成严重伤害的生命支持系统,赛普拉斯不授权将其产品用作此类系统的关键组件。若将赛普拉斯产品用于生命支持系统,则表示制
造商将承担因此类使用而导致的所有风险,并确保赛普拉斯免于因此而受到任何指控。
产品使用受适用的赛普拉斯软件许可协议限制并完全按照次此协议使用。
www.cypress.com
文档编号:001-92143 版本**
6