摘要:DS1340串行接口實時時鐘(RTC)提供軟件時鐘校準功能,為系統提供晶振與溫度變化補償。本應用筆記主要描述了如何利用這個功能改善計時精度。
表1. 寄存器映射表
輸出控制(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二進制格式的任意值。關于這些控制位的詳細介紹可參考晶振校準部分。
圖1. 標準音叉晶體特性
利用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. 校準調整值
例如,如果使用FT,讀數512.01024Hz表示振蕩器的頻率誤差為+20ppm,需要在S位與校準位載入-10 (00 1010)值。向控制寄存器寫入數據會清空預定標器,并即刻產生512Hz輸出頻率(FT/OUT引腳頻率降低)。設置或改變校準位不會對FT/OUT輸出引腳的頻率產生影響。
寄存器映射
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輸出引腳的頻率產生影響。
評論
查看更多