
|
|
|
•
•
•
|

|


|
 |
 |
 |
 |
|
マキシム >
設計者のためのライブラリ >
アプリケーションノート
>
リアルタイムクロック
| |
キーワード: DS1340, リアルタイムクロック, RTC, タイムキーピング, M41T00, キャリブレーション, 較正, 32.768, 32768, 水晶, 計時, リアルタイムクロック, RTC, リアルタイムクロック
|
|
関連製品
|
|
APP 2142: Feb 09, 2006
|
ダウンロード、PDFフォーマット (129kB)
|
|
 |

| アプリケーションノート2142
|
DS1340のキャリブレーション機能を使用する方法 |
要約: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ビットを0に設定したときの、FT/OUTピンの出力レベルを制御します。FT = 0の場合、OUT = 1であればFT/OUTピン上のロジックレベルは1、OUT = 0であればロジックレベルは0です。
周波数テスト(FT):このビットが1のとき、FT/OUTピンは512Hzの速度で切り替わります。FTが0のとき、OUTビットがFT/OUTピンの状態を制御します。
キャリブレーション符号ビット(S):このビットのロジック1は、RTCの正のキャリブレーションを意味します。ロジック0は、クロックの負のキャリブレーションを意味します。これらのビットの詳細な動作説明については、「水晶発振器のキャリブレーション」の項を参照してください。
キャリブレーションビット(CAL4~CAL0):これらのビットには、0~31の任意の値をバイナリ形式で設定することができます。これらのビットの詳細な動作説明については、「水晶発振器のキャリブレーション」の項を参照してください。
代表的な水晶発振器の動作
水晶発振器は、固定周波数を供給するための最も精密な回路の1つです。RTCの精度は、主に水晶発振器の精度に左右されます。音叉型水晶発振器は、図1に示すように、温度に対して放物線状の周波数になります。

図1. 標準的な音叉型水晶発振器の動作
水晶発振器のキャリブレーション
キャリブレーション回路の目的は、上記の曲線を上下に移動させて、選択した温度にて0ppm (百万分率)の精度が得られるようにすることです。これは、発振器の分周器チェーンからカウントを加算または減算することによって達成することができます。削除する(負のキャリブレーションとして減算する)、または挿入する(正のキャリブレーションとして加算する)パルスの数は、制御レジスタのキャリブレーションビット(CAL4:CAL0)にロードされた5ビット値によって設定されます。カウントを加算すると、このクロックの速度が上がり(発振器の曲線が上に移動)、カウントを減算すると、このクロックの速度が下がります(発振器の曲線が下に移動)。次の図は、正と負のキャリブレーションについてクロックを調整する方法を示しています。
キャリブレーションビットには、0~31の任意の値をバイナリ形式で設定することができます。制御レジスタのビット5 (S)は符号ビットです。Sビットの1の値が正のキャリブレーションを示すのに対して、0の値は負のキャリブレーションを示します。キャリブレーションの各ステップでは、32,768Hz発振器の実際の125,829,120サイクル(64分)ごとに、512サイクルを加算するか256サイクルを減算します。これは、キャリブレーションの1ステップ当り+4.068ppmまたは-2.034ppmの調整に相当します。発振器が正確に32,768Hzで動作していれば、キャリブレーションビットの31のインクリメントそれぞれが、+10.7秒または-5.35秒/月を表すことになります(1か月につき+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であることを表しているため、-10 (00 1010)の値をSビットと5つのキャリブレーションビットにロードする必要があります。制御レジスタへの書込みを行うとプリスケーラがクリアされるため、512Hzの出力に瞬間的に作用します(FT/OUTピンがローになります)。キャリブレーションビットを設定または変更しても、FT/OUT出力ピン上の周波数には影響しません。
まとめ
DS1340の新しいキャリブレーション機能を使用することによって、水晶発振器が供給する計時精度を向上することができます。気温の変化に伴って自動的に調整するという機能はないにせよ、DS1340の新しいキャリブレーション機能によって精度を漸進的に向上することができます。
フィードバックをお寄せください。 内容に満足されましたか、あるいは満足されていませんか?もっと良いページにできると思いますか?あるいは、単なるコメントでも結構です。フィードバックをお待ちしています。—マキシムはお客様からいただく訂正、提案を元に改善していきます。
このページを評価し、フィードバックを送信する。
自動アップデート
お客様が関心のある分野でアプリケーションノートが新規に掲載された際に自動通知Eメールの受信を希望する場合は、EE-Mail™にご登録ください。
| その他の情報 | |
APP 2142: Feb 09, 2006
|
|
|
|
ダウンロード、PDFフォーマット (129kB)
AN2142,
AN 2142,
APP2142,
Appnote2142,
Appnote 2142
|
|
|
 |
|
 |


|
プライバシーポリシー
•
法的お知らせ

Copyright © 2008 by Maxim Integrated Products, Dallas Semiconductor
|

|
|
|

|