摘要:
DS1340串行
接口实时时钟(RTC)提供
软件时钟校准功能,为系统提供
晶振与温度变化补偿。本应用笔记主要描述了如何利用这个功能改善
计时精度。
寄存器映射DS1340的控制寄存器(地址07h)用来控制FT/OUT引脚的工作,并对所希望的时钟校准进行编程。下面给出了详细的DS1340寄存器映射表。
表1. 寄存器映射表
Address
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
FuncTIon
Range
00H
acTIve-low EOSC
10 Seconds
Seconds
Seconds
00-59
01H
R/W
10 Minutes
Minutes
Minutes
00-59
02H
CEB
CB
10 Hours
Hours
Century/
Hours
0-1;
00-23
03H
R/W
R/W
R/W
R/W
R/W
Day
Day
01-07
04H
R/W
R/W
10 Date
Date
Date
00-31
05H
R/W
R/W
R/W
10 Month
Month
Month
01-12
06H
10 Year
Year
Year
00-99
07H
OUT
FT
S
CAL4
CAL3
CAL2
CAL1
CAL0
Control
08H
TCS3
TCS2
TCS1
TCS0
DS1
DS0
ROUT1
ROUT0
Trickle
Charger
09H
OSF
0
0
0
0
0
0
0
Flag
输出控制(OUT):当FT位设置为零时该位用于控制FT/OUT引脚的输出电平。FT = 0时,如果OUT = 1,FT/OUT引脚的逻辑电平为1;如果OUT = 0,FT/OUT引脚的逻辑电平为0。
频率
测试(FT):该位为1时,FT/OUT引脚以512Hz的频率翻转;FT为零时,OUT位控制FT/OUT引脚的状态。
校准符号位(S):该位是逻辑1时,表明对RTC进行正校准;逻辑0表明对时钟进行负校准。关于这些控制位的详细介绍可参考晶振校准部分。
校准位(CAL4至CAL0):这些位设置为0到31二进制格式的任意值。关于这些控制位的详细介绍可参考晶振校准部分。
典型晶振特性
晶体振荡器是提供固定频率输出最精确的
电路之一。RTC的精度主要取决于晶振精度。调谐音叉晶振频率随温度的变曲线呈抛物线形,如图1所示。
图1. 标准音叉晶体特性
晶振校准校准电路的目的是在选定的温度下,通过调整该曲线的位置,以达到零ppm精度的量级。这是通过增加或减少振荡器分频链的计数值实现的。屏蔽(负校准中减去)或插入(正校准中加上)脉冲的数量由5位值来设置,该值是载入在控制寄存器的校准位里(CAL4:CAL0)。增加数量会加快时钟(曲线上移),减少数量会减慢时钟(曲线下移)。下图给出了正、负校准时的时钟调整图。
利用0到31的二进制格式,可以将校准位设置为任意值。控制寄存器(S)的位5是符号位。S位的值是1表示正校准,而值是0表示负校准。每125,829,120实际32,768Hz振荡器周期(64分钟)中,每个校准步幅增加512、或减少256个振荡器周期。这相当于每个校准步幅的调整为+4.068ppm或-2.034ppm。如果振荡器正好在32,768Hz下工作,每增加31个校准位会表现出每月+10.7或-5.35秒(每月+5.5或-2.75分钟)。表2给出了校准寄存器中每个值的调整情况。
表2. 校准调整值
Sign
CalibraTIon
Adjustment
Sign
CalibraTIon
Adjustment
Accuracy (ppm)
Time (sec/month)
Accuracy (ppm)
Time (sec/month)
0
00000
0
0
1
00000
0
0
0
00001
-2
-5
1
00001
4
11
0
00010
-4
-11
1
00010
8
21
0
00011
-6
-16
1
00011
12
32
0
00100
-8
-21
1
00100
16
43
0
00101
-10
-27
1
00101
20
54
0
00110
-12
-32
1
00110
24
64
0
00111
-14
-37
1
00111
28
75
0
01000
-16
-43
1
01000
33
86
0
01001
-18
-48
1
01001
37
96
0
01010
-20
-54
1
01010
41
107
0
01011
-22
-59
1
01011
45
118
0
01100
-24
-64
1
01100
49
128
0
01101
-26
-70
1
01101
53
139
0
01110
-28
-75
1
01110
57
150
0
01111
-31
-80
1
01111
61
161
0
10000
-33
-86
1
10000
65
171
0
10001
-35
-91
1
10001
69
182
0
10010
-37
-96
1
10010
73
193
0
10011
-39
-102
1
10011
77
203
0
10100
-41
-107
1
10100
81
214
0
10101
-43
-112
1
10101
85
225
0
10110
-45
-118
1
10110
89
235
0
10111
-47
-123
1
10111
94
246
0
11000
-49
-128
1
11000
98
257
0
11001
-51
-134
1
11001
102
268
0
11010
-53
-139
1
11010
106
278
0
11011
-55
-144
1
11011
110
289
0
11100
-57
-150
1
11100
114
300
0
11101
-59
-155
1
11101
118
310
0
11110
-61
-161
1
11110
122
321
0
11111
-63
-166
1
11111
126
332
决定时钟误差在设置校准值前,必须先决定需要校准的数量。当设置控制寄存器的FT位(位6)时,FT/OUT引脚(引脚7)会产生未校准的512Hz时钟。该频率决定了晶振振荡器的频率误差。
例如,如果使用FT,读数512.01024Hz表示振荡器的频率误差为+20ppm,需要在S位与校准位载入-10 (00 1010)值。向控制寄存器写入数据会清空预定标器,并即刻产生512Hz输出频率(FT/OUT引脚频率降低)。设置或改变校准位不会对FT/OUT输出引脚的频率产生影响。
评论列表(0条)