cd00248402

AN3060
アプリケーションノート
シリアルリアルタイムクロック (RTC) アプリケーションガイド
Doug Sams
はじめに
ST のシリアルリアルタイムクロック (RTC) は、ユーザの間で非常に評判の良いデバイスです。長年に
わたり、サポート担当のアプリケーショングループによって、このデバイスに関係する数々のテーマへ
の対応が行われてきました。この資料は、水晶振動子のレイアウト時の注意事項から電源投入時のソフ
トウェアの適切なアクセス方法まで、最も一般的な対応事項の中からその一部をまとめたものです。
RTC が持つ繊細な点と、確実に RTC を動作させるために必要な事項とをいくつか理解するヒントとなる
でしょう。
January 2016
DocID16254 Rev 1 [English Rev 3]
1/27
www.st.com
AN3060
Contents
Contents
1
2
バッテリーの接続と充電保護 .......................................... 5
1.1
直列抵抗 ....................................................... 5
1.2
バッテリーのデカップリングコンデンサ ........................... 5
1.3
ブロックダイオード ............................................. 6
1.4
ST のリアルタイムクロックに対する UL 文書 ........................ 6
1.5
バッテリーの実装 ............................................... 7
レイアウト上の注意事項 .............................................. 8
2.1
3
RTC 用水晶振動子に対するレイアウト上の注意事項を教えてください .. 8
オシレータ回路 ...................................................... 9
3.1
水晶振動子以外に、RTC のオシレータを正常動作させるために追加する必
要がある部品を教えてください ........................................... 9
4
アンダーシュート ................................................... 11
4.1
リアルタイムクロックの動作にアンダーシュートが影響することがあり
ますか?その理由は?それを防ぐ方法を教えてください .................... 11
5
スイッチオーバー電圧 ............................................... 13
5.1
スイッチオーバー電圧はバッテリーレベルに依存しますか?それとも常
に一定値ですか?RTC に対する最大バッテリー電圧を教えてください ......... 13
6
オシレータ故障検出 ................................................. 16
6.1
7
OF ビットとは何ですか?動作内容を教えてください ................ 16
低バッテリー検出 ................................................... 17
7.1
低バッテリービットの動作内容を教えてくださいバッテリーの欠落を検
出可能ですか? ........................................................ 17
8
Halt (HT) ビット ................................................... 19
8.1
い
9
Halt ビット (HT) の動作内容を教えてください使用方法を教えてくださ
19
RTC の初期化 ........................................................ 22
9.1
初回の電源投入における RTC アクセスの最適なシーケンスを教えてくだ
さいそれ以降の電源投入についてもお願いします .......................... 22
10
改版履歴 ........................................................... 26
DocID16254 Rev 1 [English Rev 3]
2/27
AN3060
List of tables
List of tables
Table
Table
Table
Table
Table
1:
2:
3:
4:
5:
選択解除とスイッチオーバースレッショルドのまとめ ................................
M41T81S レジスタマップ ..........................................................
M41ST85W レジスタマップ .........................................................
文書改版履歴 ...................................................................
日本語文書改版履歴 .............................................................
DocID16254 Rev 1 [English Rev 3]
14
17
19
26
26
3/27
AN3060
List of figures
List of figures
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
1: RTC/NVRAM 内部のバッテリースイッチオーバー回路 .................................. 5
2: VBAT 経路にあるダイオードの影響................................................. 6
3: SNAPHAT SOIC パッケージ ......................................................... 7
4: タブ付きのボタン電池 ........................................................... 7
5: レイアウト上の注意事項 ......................................................... 8
6: 内蔵負荷コンデンサ ............................................................. 9
7: 典型的寄生ダイオード .......................................................... 11
8: アンダーシュート保護 .......................................................... 12
9: 典型的スイッチオーバー回路 .................................................... 13
10: スイッチオーバー回路 ......................................................... 15
11: オシレータ故障検出回路 ....................................................... 16
12: バッテリー監視機能 ........................................................... 18
13: クロックレジスタおよび非クロックレジスタ ...................................... 20
14: M41T83/M41T82 の電源投入デフォルト値 .......................................... 22
15: 初回電源投入 ................................................................. 24
16: バックアップからの電源投入 ................................................... 25
DocID16254 Rev 1 [English Rev 3]
4/27
AN3060
1
バッテリーの接続と充電保護
バッテリーの接続と充電保護
ST のシリアルリアルタイムクロックをバッテリーに接続するのはとても簡単です。充電保
護回路が RTC に内蔵されており、外付けの抵抗とダイオードは必要ありません。バッテリ
ーの接続経路に部品を追加すると、好ましくない影響が生じる場合すらあります。たとえ
ば、直列抵抗がバッテリー接続経路上にあるとスイッチオーバー問題が生じることがあ
り、デバイスによってはバッテリー監視回路に悪影響を及ぼす恐れもあります。
1.1
直列抵抗
スイッチオーバー回路内蔵の ST のシリアル RTC 全製品には、バッテリー接続経路に電流
制限抵抗も入っています。下図において、RB は UL (Underwriters Laboratories) の要求
によるものです。この抵抗は、バッテリーに流入するあらゆる電流を 1 mA 未満に制限し
ます。この抵抗がデバイスに内蔵されているため、外付け抵抗は不要となります。
Figure 1: RTC/NVRAM 内部のバッテリースイッチオーバー回路
通常、ダイオードは不要。保護ダ
イオードはデバイスに内蔵されて
いる。外付けダイオードによっ
て、悪影響を及ぼす可能性のある
電圧降下が発生する。
抵抗は不要。保護抵抗はデバイス
に内蔵されている。外付け抵抗に
よって、不正なバッテリー低下警
告が発生する場合がある (バッテ
リー監視機能付きデバイスの場
合)。
RTC/NVRAM内部のバッテリースイッチオーバー回路
VCC
P
(VCCがスイッチオーバー電圧
未満である場合にOFF 2)
VSO
内部VCC
RA
VBAT
(1)
RB
(1)
D1
バッテリー
DA
DB
P
VSO (VCCがスイッチオーバー電圧
未満である場合にON 2)
コンデンサは不要。バッテリー寿命を
縮める可能性のある潜在的リーク経路
1.2
1. RAはESD保護抵抗、RBはULが要求するバッテリー保護抵抗
である。
2. デバイスにより、スイッチオーバーはバッテリー電圧によって
変わるか、固定リファレンスにより設定される。
バッテリーのデカップリングコンデンサ
すべての電源ピンにデカップリングコンデンサを追加することは、ユーザの間でよく行わ
れています。ただし、このような応用回路では、コンデンサ内部のリーク電流はバックア
ップ電流と同程度かそれ以上の大きさである場合もあります。つまり、コンデンサを流れ
るリーク電流によって、バッテリーの寿命が目に見えて短くなってしまうのです。それに
加えて、バッテリーは非常に優れたコンデンサ特性を有しており、外付けコンデンサは必
要ありません。
DocID16254 Rev 1 [English Rev 3]
5/27
AN3060
1.3
バッテリーの接続と充電保護
ブロックダイオード
下図のダイオード D1 は、VCC によってシステムの電源が供給されたときに VCC からバッテリ
ーへと逆流する電流をブロックします。したがって、この目的で外付けダイオードを付け
る必要はありません。
応用回路によっては、RTC の定格最大バッテリー電圧よりもバックアップ電源の方が高い
こともあります。このような場合、ユーザーによっては、ダイオードを使用して電圧を下
げようとするかもしれません。それで電圧は多少下がりますが、リアルタイムクロックの
微小なバックアップ電流 (300~500 nA 程度) でのダイオード両端の電圧降下はわずか
200~300 mV であり、ダイオードの電圧降下として一般的に知られている 0.7 V よりもず
っと小さな値であることに注意が必要です。
VBAT 接続経路にダイオードを使用するもう一つの懸念点は、バックアップ寿命に与える影響
です。下のグラフにあるように、VBB が VBAT-MIN の電圧レベルを下回るとこの部品は機能しな
くなります。接続経路の間にダイオードがあると、バッテリー電圧が低下したときに最低
スレッショルド電圧を先に通過することとなり、結果としてバッテリー寿命が短くなりま
す。
Figure 2: VBAT 経路にあるダイオードの影響
VBAT経路にある
ダイオードの影響
VBB
+
VD
–
VBAT
RTC
バッテリー
V
VBB
VBAT = VBB–VD
tLOSS
VBAT-MIN
RTCの保持に必要な
最低電圧
1.4
t
ST のリアルタイムクロックに対する UL 文書
ST の SNAPHAT SOIC パッケージを用いたデバイスに適切な UL 文書は、sec5_sna_rev1.pdf
となります。
それ以外のすべての RTC パッケージについては、sec3_nba_rev1.pdf を参照してください
。
DocID16254 Rev 1 [English Rev 3]
6/27
AN3060
バッテリーの接続と充電保護
Figure 3: SNAPHAT SOIC パッケージ
取り外し可能/
交換可能な
SNAPHAT
バッテリー/
水晶振動子トップ
SNAPHAT
SOIC
1.5
バッテリーの実装
多くの場合、ボタン電池の取り付けにはバッテリーホルダが用いられます。こうやって取
り付けられたバッテリーは、簡単に取り外しと交換が可能です。場合によっては、過酷な
環境で使用された折に、衝撃や振動によってホルダ内のバッテリーの接続が一瞬失われる
ことがあります。一般的に、その結果としてデバイスのデータ内容の破壊が起こります。
このような用途では、取付タブの付いたバッテリーを使用すれば、より確実に接続可能と
なります。
Figure 4: タブ付きのボタン電池
DocID16254 Rev 1 [English Rev 3]
7/27
AN3060
レイアウト上の注意事項
2
レイアウト上の注意事項
2.1
RTC 用水晶振動子に対するレイアウト上の注意事項を教えてくだ
さい
レイアウト上の注意事項は、ST の M41 シリーズリアルタイムクロックに使用する 32 KHz
水晶振動子に直接関係する内容となります。
Figure 5: レイアウト上の注意事項
水晶振動子は可能な限り
RTCに近づけて実装
水晶振動子との接続部の周囲
にガードリングを設けてGND
ピンに接続
配線パターンは短く
水晶振動子
XI
XO
発振回路にはこれ以外の
部品は不要
RTC
GND
可能であれば、基板のグラウンドプレーンから
絶縁された局所的なグラウンドプレーンを
別レイヤに設けて、RTCのGNDピンに接続する
一番重要な注意事項はリード長です。水晶振動子は可能な限り RTC のそばに実装して、パ
ターンを短く保つことが必要です。グラウンドに接続されたガードリングをこれらの接続
部の周辺に設けることが、計時に影響を及ぼす恐れのある不要な雑音を拾わないためには
非常に重要です。
信号と水晶振動子の接続部との間にグラウンドプレーンが存在しない限り、この領域の真
下に信号を這わせることは避けなければなりません。
可能であれば、リングと水晶振動子本体部が位置する領域の下に、孤立したグラウンドプ
レーンを追加します。このプレーンはリングから独立したレイヤ上とし、PCB のグランド
プレーンからは絶縁します。RTC の GND ピンの位置でグラウンドに接続します。
レイアウトの中にはこれ以外の部品が図示されていませんが、RTC のオシレータの動作に
必要なのは水晶振動子だけであるためです。外付けの負荷コンデンサやバイアス抵抗を追
加してはなりません。
DocID16254 Rev 1 [English Rev 3]
8/27
AN3060
オシレータ回路
3
オシレータ回路
3.1
水晶振動子以外に、RTC のオシレータを正常動作させるために追
加する必要がある部品を教えてください
ありません。水晶振動子以外に必要なものは何もありません。ST のリアルタイムクロック
には、負荷コンデンサが内蔵されています。外付けの負荷コンデンサは不要ですし、外付
け抵抗も必要ありません。必要なものは水晶振動子だけです。水晶振動子は時計用の
32,768 Hz のものであり、RTC 内蔵の負荷コンデンサに合った定格でなければなりませ
ん。
Figure 6: 内蔵負荷コンデンサ
外付け負荷コンデンサは不要
RTCに内蔵されている
水晶振動子
CX1
CX2
RX
外付け抵抗は不要
XI
XO
RTC内部回路
CL1
CL2
RTCの定格負荷容量 (例: 6pFや12.5pF) に
整合する水晶振動子を選択
オシレータを動作させるために他に必要な部品はありません。何か外付け部品を追加して
も、オシレータの精度と信頼性が低下するだけです。負荷コンデンサを追加するとクロッ
クが遅延する傾向があります。低温において、このようなコンデンサやあらゆる外付け抵
抗はオシレータの起動を妨げる恐れがあります。
負荷コンデンサのマッチング
RTC にはすべて負荷コンデンサが内蔵されています。通常、規定値は 12.5 pF ですが、
M41T6x ファミリーの場合には 6 pF となります。RTC との組み合わせに選択された水晶振
動子は、同じ定格でなければなりません。マッチングしていない水晶振動子を使用する
と、若干ずれた周波数で動作する傾向があります。たとえば、定格が 12.5 pF の水晶振動
子であれば、その負荷で使用することが見込まれています。この水晶振動子を定格値が 6
pF の RTC に使用すると、水晶振動子からは規定値の 12.5 pF ではなく 6 pF が見えること
になり、その結果として高い周波数で動作します。
DocID16254 Rev 1 [English Rev 3]
9/27
AN3060
オシレータ回路
実効負荷容量値対内部容量値
ときとして、個々の負荷コンデンサに対する参照をみかけることもあります。これらは、
水晶振動子のそれぞれの足に対して、RTC 内部で使用されている 2 個のコンデンサです。
それぞれの実際の値は、定格負荷値または実効負荷値の 2 倍であり、データシートに記載
された負荷値の 2 倍となります。これは、内部負荷コンデンサが直列に加わることによる
ものです。Figure 6: "内蔵負荷コンデンサ"において、実効負荷容量は以下の式で与えら
れます。
C L1 • C L2
CL = CL2と直列にCL1 =
したがって、CL1 と CL2 が
等しい場合には、データ
CL1+ C L2 値である実効負荷容量 CL
シートに記載されている
は、CL1 および CL2 の値の
半分となります。 定格
が 12.5 pF の ST RTC であれば、そのオシレータ回路に 25 pF コンデンサを 2 個内蔵する
ことになります。この点を認識しておくことをお勧めします。さらには、水晶振動子の仕
様は定格値 (この場合では 12.5 pF) にマッチングしていなければならず、個別の値では
ないことに留意する必要があります。
DocID16254 Rev 1 [English Rev 3]
10/27
AN3060
アンダーシュート
4
アンダーシュート
4.1
リアルタイムクロックの動作にアンダーシュートが影響するこ
とがありますか?その理由は?それを防ぐ方法を教えてくださ
い
電界効果に基づくデバイス (すべての CMOS デバイス) すべてに固有なものとして、デバ
イス内の P 型領域と N 型領域の交差による寄生ダイオードがあります。どの PN 接合にも
ダイオードが形成されており、N 領域よりも高いバイアスが P 領域にかかる条件で導通し
ます。
Figure 7: "典型的寄生ダイオード"において、VCC がグラウンド電位よりも十分に下がると
、寄生ダイオードが導通してデバイスの中を電流が流れます。VCC に大きなアンダーシュー
トがあると、リアルタイムクロックのレジスタに外乱を及ぼすだけの電流が流れることが
あり、計時に悪影響を与える可能性があります。したがって、アンダーシュートは避ける
べきです。
Figure 7: 典型的寄生ダイオード
VCC
D
G
S
N+
N
P
N+
多くの ST のリアルタイムクロックでは、-0.3 V が VCC の最小値として規定されており、マ
イナス方向のアンダーシュートはグラウンド電位から 0.3 V までに制限されています。
電源によっては、電源を切ってすぐに入れ直すと電圧が非常に急激に変化して、リアルタ
イムクロックの問題の原因となり得るアンダーシュート状態を生むリンギングが発生する
ことがあります。
この状態となるまれな状況では、Figure 8: "アンダーシュート保護"に示すように、逆バ
イアスのショットキーダイオードを VCC ピンにつけるのが最適な防御策となります。この追
加処置は、アンダーシュート問題に対して非常に信頼性の高い対策であることがわかって
います。
DocID16254 Rev 1 [English Rev 3]
11/27
AN3060
アンダーシュート
Figure 8: アンダーシュート保護
VCC
RTC
VCC
XI
1N5817 (スルーホール)
BAT54J (表面実装)
XO
SDA
SCL
VSS
DocID16254 Rev 1 [English Rev 3]
12/27
AN3060
スイッチオーバー電圧
5
スイッチオーバー電圧
5.1
スイッチオーバー電圧はバッテリーレベルに依存しますか?そ
れとも常に一定値ですか?RTC に対する最大バッテリー電圧を教
えてください
Figure 9: 典型的スイッチオーバー回路
VCC
VCC
VCC-INT
VBAT
VCC-INT
VBAT
VSO
VSO
固定リファレンスの場合
バッテリーリファレンスの場合
パワーフェイル選択解除電圧, VPFD
VCC がパワーフェイル選択解除電圧 VPFD まで下がると、RTC は選択を解除してホストへの通
信を遮断し、書き込み禁止状態となります。
ST のシリアルリアルタイムクロックでは、VPFD はスイッチオーバー電圧 VSO に等しいか、相
関関係を持つ値となります。したがって、選択解除動作とスイッチオーバー動作は密接に
結びついています。
スイッチオーバー電圧, VSO
スイッチオーバーによって、バックアップ電源 (通常はバッテリーですが、コンデンサや
スーパーキャパシタの場合もあります) がデバイスの内部 VCC に接続され、システム電源が
遮断されている間、計時動作が維持されます。VSO は、RTC が VBAT に切り替わる VCC の値とな
ります。
固定リファレンス
ST のシリアルリアルタイムクロックの大半では、スイッチオーバーのスレッショルド用と
して高精度の固定リファレンスが使用されています。VBAT の電圧レベルにはよらず、常に同
じ VCC レベルで RTC は選択解除とスイッチオーバーを行います。
バッテリーリファレンス
旧製品の RTC の中には、バッテリーをリファレンスとして使用するものもあります。ダイ
オードによる電圧降下の 1 つ分が RTC 内部でバッテリーピンに加わり、このレベルによっ
てスイッチオーバーのスレッショルドが定まります。通常、ダイオードによる電圧降下は
0.5 V ですが、0.3 V から 0.8 V の範囲でばらつくことがあります。新品のリチウムイオ
ンボタン電池では、出力電圧は 3.5 V と高いものもあります。(しばらく負荷に接続する
と出力は約 3.0 V まで低下し、その値が電池の耐用年数まで保たれます。)低温では、ダ
イオードによる電圧降下は最小値である 0.3 V に向かって小さくなる傾向があります。こ
のことが意味するのは、新品のバッテリーが低温にあると、スイッチオーバーのスレッシ
ョルドは、3.5 - 0.3 = 3.2 V まで上昇する可能性があるということです。バッテリーリ
DocID16254 Rev 1 [English Rev 3]
13/27
AN3060
スイッチオーバー電圧
ファレンスを用いている RTC では 3.3 V の応用回路で問題となることがあり、3.0 V の応
用回路には不向きであるということになります。これらのケースでは、固定リファレンス
の RTC を選択する必要があります。たとえば、固定リファレンスを用いる M41T81S は、
3.3 V と 3.0 V の応用回路に最適であり、旧製品の M41T81 (S なし) に対する置き換えと
してそのまま使用可能です。
Table 1: 選択解除とスイッチオーバースレッショルドのまとめ
基本部品番号
M41T00
M41T00AUD
スイッチオーバーおよび選択解除のパラメータ
VPFD
VSO
VBAT-MAX
VBAT – 0.5
VBAT – 0.5
VCC
2.8
2.0 < VBACK < VPFD :VBACK
VBACK > VPFD :VPFD
VBAT < VPFD :VBAT
VCC
M41T00S
2.6 V
M41T11
VBAT – 0.5
VBAT – 0.5
VCC
M41T56
1.25 x VBAT
VBAT
3.5 V
M41T81
VBAT – 0.5
VBAT – 0.5
VCC
M41T81S
2.6 V
M41T82
VRST(1)
VRST(1)
VCC(max)
M41T83
(1)
(1)
VCC(max)
M41ST85W
M41ST87W
VRST
2.6 V
2.62 V, THS = 0
2.88 V, THS = 1
VBAT > VPFD :VPFD
VBAT < VPFD :VBAT
VBAT > VPFD :VPFD
VRST
VCC
VCC
2.5 V
VCC(max)
2.5 V
VCC(max)
M41T93
VRST(1)
VRST(1)
VCC(max)
M41T94
2.6 V
2.5 V
VCC(max)
Notes:
(1)
リセット電圧 VRST は 2.32 V、2.63 V、2.93 V を指定可能
複雑なスイッチオーバースレッショルド
デバイスの中には、さらに高度なスイッチオーバー回路が採用されており、VPFD と VBAT の低
い方がスイッチオーバースレッショルドとして選択されるものもあります。これによっ
て、バックアップ電源にスイッチオーバーする前に、可能な限り VCC を使い続けることが保
証されますので、バックアップの寿命がやや長くなります。
DocID16254 Rev 1 [English Rev 3]
14/27
AN3060
スイッチオーバー電圧
Figure 10: スイッチオーバー回路
VCC
VCC-INT
VBAT
VSO
最大バッテリー電圧
VBAT に対する最大値は、ST のシリアル RTC ファミリーの間でも異なります。シリコン製造
に用いられたプロセスと、設計工程中に行われた検討事項によっても変わります。大半の
RTC では、最大値は VCC(max) (通常は 5.5 V) となります。
限界値が VCC である RTC では、VBAT が VCC を超えると CMOS 技術に固有の寄生ダイオードが導
通することがあり、それによってデバイス内部に問題が発生します。明らかに、バックア
ップ中 (VCC は 0) に VBAT が VCC を上回るのは問題ありません。 しかし、アクティブモードで
動作中には、これらの RTC の VBAT が VCC を上回ってはなりません。
誤解のないように言うと、VCC が VBAT の限界値として記載されている場合には、限界値は実
際に動作しているレベルの VCC であり、VCC-MAX のことではありません。その反対に、限界値
が VCC(max)である場合には、VCC の動作レベルとは無関係に、VBAT の限界値は VCC(max)となります
。
DocID16254 Rev 1 [English Rev 3]
15/27
AN3060
オシレータ故障検出
6
オシレータ故障検出
6.1
OF ビットとは何ですか?動作内容を教えてください
OF とはオシレータ故障ビットであり、分周器チェインの 4 KHz タップで約 4~6 パルスが
連続して欠落したことがリアルタイムクロックによって検出された場合に必ずセットされ
ます。
Figure 11: オシレータ故障検出回路
時定数は4~6
パルスに設定
水晶振動子
オシ
レータ
TFF
(÷ 2)
TFF
(÷ 2)
TFF
(÷ 2)
オシレータ故障検出回路
VCC
4KHz
SET
Q
OF
RC 回路が積分器として使用されています。4 KHz パルスにより放電を続け、パルスの間で
緩やかに充電を行います。十分な個数のパルスが欠落すると、コンパレータが作動するほ
ど高い電圧まで充電が行われて、OF ビットがセットされます。上図において、動作電圧が
低い状態ではスレッショルド電圧が低いため、時定数は短くなります。したがって、OF ビ
ットのトリガに必要な欠落パルスの個数は減ります。
OF 機能の基本的な役割は、コンデンサでバックアップしている応用回路の場合や、バック
アップバッテリーの残量が減った場合に生じる可能性のあるオシレータの減速や停止を知
らせることです。バックアップ電圧が十分に低下すると計時は停止しますが、必ずしもレ
ジスタがリセットされるとは限りません。RTC が完全にリセットされるほどには、電圧が
下がらない場合があるからです。その後、電源が投入されるとオシレータの動作が始まり
ますが、単にレジスタを読み取るだけでは、計時機能が停止していたかどうかが明らかに
はなりません。OF ビットを用いることで、この問題は解消されます。OF ビットは、シス
テムソフトウェアが計時機能を監視して、時間の再設定が必要となった可能性のあること
をエンドユーザに教えるべき時点を知る手段を提供します。
初回の電源投入時や、STOP ビットによってオシレータが停止していた場合には、RC 回路
が充電されて OF ビットがセットされます。OF ビットをクリアする前には、オシレータを
4 秒間動作させる必要があります。これは、RC 回路を放電させるためだけではなく、オシ
レータの安定性を確保するためでもあります。
DocID16254 Rev 1 [English Rev 3]
16/27
AN3060
低バッテリー検出
7
低バッテリー検出
7.1
低バッテリービットの動作内容を教えてくださいバッテリーの
欠落を検出可能ですか?
Table 2: M41T81S レジスタマップ
アド
レス
機能/範囲
D7
D6
00h
D5
D4
D3
D2
0.1秒
D1
D0
BCDフォーマット
0.01秒
秒
00-99
01h
ST
10秒
秒
秒
00-59
02h
0
10分
分
分
00-59
03h
CEB
CB
時 (24時間形式)
世紀/時
04h
0
0
05h
0
0
06h
0
0
07h
10時
0
0
0
曜日
10日
0
10月
10年
曜日
01-7
日
日
01-31
月
月
01-12
年
年
00-99
08h
OUT
FT
S
較正
09h
OFIE
BMB4
BMB3
BMB2
0Ah
AFE
SQWE
ABE
アラーム10月
0Bh
RPT4
RPT5
アラー
ム10日
0Ch
RPT3
HT
0Dh
RPT2
0Eh
RPT1
0Fh
WDF
AF
0
BL
0
OF
0
0
フラグ
10h
0
0
0
0
0
0
0
0
予約済み
11h
0
0
0
0
0
0
0
0
予約済み
12h
0
0
0
0
0
0
0
0
予約済み
13h
RS3
RS2
RS1
RS0
0
0
0
0
SQW
BMB1
0-1/
00-23
較正
BMB0
RB1
RB0
ウォッチドッグ
アラーム月
アラーム月
01-12
アラーム日
アラーム日
01-31
アラーム時
アラーム時
00-23
アラーム10分
アラーム分
アラーム分
00-59
アラーム10秒
アラーム秒
アラーム秒
00-59
アラーム10時
ST のシリアルリアルタイムクロックの多くにはバッテリー監視機能が備わっており、バッ
テリーが低下すると BL ビットがセットされます。その基本的な機能は、バッテリーを内
部の 2.5 V リファレンスと周期的に比較して、バッテリー電圧が 2.5 V を切ったら必ず BL
ビットをセットすることです。
DocID16254 Rev 1 [English Rev 3]
17/27
AN3060
低バッテリー検出
Figure 12: バッテリー監視機能
ロールオーバ時および
電源投入時
VBAT
2.5V
D
Q
BL
ロールオーバ時
ロールオーバ時および
電源投入時
周期的チェック
バックアップモードから RTC の電源が投入されるか、深夜 0 時にクロックがロールオーバ
(バックアップモード以外の場合) すると、バッテリーが毎回チェックされます。ロール
オーバチェックの間は、読み取り値が適性であることを確認するためにバッテリーに負荷
がかけられます。
電源投入チェック
RTC がバックアップモードにある場合には、バッテリーにはすでに負荷がかけられていま
すので、バッテリーチェックのための負荷は必要ありません。バッテリーの回復時間は出
力が急激に変化しないほど遅いことから、電源投入チェックの間にバッテリーに負荷をか
ける必要はありません。ただし、いくつかのデバイス (M41T82, M41T83, M41ST87W,
M41T93) では電源投入チェックの間の負荷印加が含まれています。
バッテリー未装着検出 - 開回路
応用回路によっては、バッテリーの未装着を判断可能であることが必要となります。理想
的には、バッテリー未装着状態は低バッテリーとして読み取られるべきものですが、バッ
テリー入力 VBAT が開放 (浮動状態) であると、コンパレータの出力は不定となります。バ
ッテリー未装着状態を確実に検出するには、チェック前にバッテリーノードに負荷をかけ
ておく必要があります。バッテリーの端子間に取り付けた抵抗 (または、デバイスに B-ピ
ンがない場合には、B+とグラウンドの間) は、この目的に十分な負荷となります。このや
り方は現場では非現実的ですが、開発中の実験室においては便利な方法です。
バッテリーへの負荷としてロールオーバを使用
RTC では深夜 0 時のロールオーバチェックの間にバッテリーに負荷をかけることから、時
間を深夜 0 時少し前に変えてクロックにロールオーバを起こさせた後、元の設定値にロー
ルオーバ待ちに費やした時間に相当する分を加えた時間まで戻すことで、アプリケーショ
ンから負荷をかけることができます。これは、工場検査の中でバッテリーが装着されたこ
とを確認するのに便利な方法です。
たとえば、現在時刻が 17:53:27 であるとすると、この値を保存してからクロックを
23:59:59 に設定し、2 秒間待って BL ビットを読み込みます。その後、17:53:29
(17:53:27 に 2 秒を加算) まで時間を戻します。この手法では、チェックの間にバッテリ
ーに負荷がかかりますので、バッテリー未装着状態は低バッテリーとして確実に読み取ら
れます。
上記のとおり、RTC の中には電源投入時にクロックをロードするものもあり、デバイスの
電源を切ってから入れ直すだけでバッテリーの未装着が検出可能です。
DocID16254 Rev 1 [English Rev 3]
18/27
AN3060
Halt (HT) ビット
8
Halt (HT) ビット
8.1
Halt ビット (HT) の動作内容を教えてください使用方法を教え
てください
Table 3: M41ST85W レジスタマップ
アド
レス
データ
D7
D6
00h
D5
D4
機能/範囲
D3
D2
0.1秒
D1
D0
BCDフォーマット
0.01秒
秒
00-99
01h
ST
10秒
秒
秒
00-59
02h
0
10分
分
分
00-59
03h
CEB
CB
時 (24時間形式)
世紀/時
04h
TR
0
05h
0
0
06h
0
0
07h
10時
0
0
0
曜日
10日
0
10M
10年
00-23
曜日
01-7
日
日
01-31
月
月
01-12
年
年
00-99
08h
OUT
FT
S
較正
09h
WDS
BMB4
BMB3
BMB2
0Ah
AFE
SQWE
ABE
アラーム10月
0Bh
RPT4
RPT5
0Ch
RPT3
HT
0Dh
RPT2
0Eh
RPT1
0Fh
WDF
AF
0
BL
0
0
0
0
フラグ
10h
0
0
0
0
0
0
0
0
予約済み
11h
0
0
0
0
0
0
0
0
予約済み
12h
0
0
0
0
0
0
0
0
予約済み
13h
RS3
RS2
RS1
RS0
0
0
0
0
SQW
BMB1
0-1/
制御
BMB0
RB1
RB0
ウォッチドッグ
アラーム月
アラーム月
01-12
アラーム10日
アラーム日
アラーム日
01-31
アラーム10時
アラーム時
アラーム時
00-23
アラーム10分
アラーム分
アラーム分
00-59
アラーム10秒
アラーム秒
アラーム秒
00-59
ST のシリアルリアルタイムクロックの多くには、レジスタの中に Halt ビット (HT) があ
ります。このビットは、ユーザクロックレジスタの更新を停止するために用いられます。
HT がセットされると、内部カウンタは計時を続けますが、ユーザがアクセスするバッファ
/転送レジスタはフリーズされます。
DocID16254 Rev 1 [English Rev 3]
19/27
AN3060
Halt (HT) ビット
Figure 13: クロックレジスタおよび非クロックレジスタ
32KHz
オシレータ
32768
分周
1 Hz
リード/ライト
バッファ転送
レジスタ
SPI / I2C
シリアルバス
秒
分
時
曜日
日
月
年
世紀
シリアル転送
レジスタ
WRITEフラグ
クロックカウンタは
バッファ/転送レジス
タでバッファリングさ
れている
カウンタ
カウンタ
カウンタ
カウンタ
カウンタ
カウンタ
カウンタ
カウンタ
HALTビット
クロック以外の
レジスタ
方形波
較正
クロック以外のレジスタには
直接アクセス
クロックレジスタの
いずれかに書き込むと
WRITEフラグが
セットされる
書き込みサイクルの最後に
WRITEフラグがセット
されていたら、バッファ/
転送レジスタはカウンタに
コピーされる
ウォッチドッグ
コヒーレント性
クロックカウンタは、コヒーレント性の確保のためにバッファリングされています。クロ
ックレジスタの読み込みを始めると、デバイスはカウンタをバッファ/転送レジスタにコ
ピーし、リードサイクルの間、これらのレジスタに対するそれ以上の更新は行いません。
(ここでは HT ビットはセットされませんが、更新は停止します) すべてのカウンタを同時
にコピーすることで、レジスタ内の値はすべて同じ瞬間のものとなり、コヒーレント性が
得られます。
コヒーレント性の例
仲介するバッファ/転送レジスタがない場合、23:59:59 にカウンタの直接リードを開始す
ると、秒レジスタの読み取り値は 59 秒を返します。アドレスポインタをインクリメント
した後、次の読み取り値は 59 分を返します。次の読み取りでは 23 時を返すべきところで
すが、読み取りの間にクロックがたまたまインクリメントしてしまうと、読み取られた値
は 00 時となります。時間を組み立てし直すと、値は 0:59:59 と見えますので、1 時間ずれ
ることになります。これではコヒーレンス性がありません。
バッファ/転送レジスタを用いて時間のコピーを保持することにより、読み取り処理の間
に値が変化してしまうことなくレジスタセット全体を読み込むことができます。
同様に、アプリケーションがカウンタ内の時間を変更する必要がある場合には、すべての
カウンタを同時にロードしなければなりません。このように、さまざまなバッファ/転送
レジスタに順次書き込みを行った後で、その内容は 1 回の転送でカウンタにコピーされま
すので、カウンタはコヒーレントにロードされます。
DocID16254 Rev 1 [English Rev 3]
20/27
AN3060
Halt (HT) ビット
Write フラグ
カウンタへのコピーは内部の Write フラグによって起こりますが、このフラグは、バッフ
ァ転送レジスタの 1 つに書き込みが発生すると常にセットされ、それ以外の (非クロック
) レジスタへの書き込みではセットされません。たとえば、ウォッチドッグレジスタや較
正レジスタへの書き込みでは Write フラグはセットされませんが、秒レジスタや曜日レジ
スタへの書き込みではセットされます。
2
書き込みサイクルの最後には I C バス上に STOP 状態が発生し、Write フラグがセットされ
たことをデバイスが認識すると、バッファ転送レジスタはすべてクロックカウンタにコピ
ーされます。バッファ/転送レジスタの 1 個か 2 個だけがアプリケーションによって上書
きされただけでも、全レジスタがカウンタにコピーされます。
HT ビットの自動セット
デバイスの電源が遮断されるたびに日付と時間がバッファ/転送レジスタにコピーされ、
自動的に HT ビットがセットされます。電源投入時には、(HT ビットがセットされたまま
の) デバイスをリードして、レジスタから電源遮断時刻を読み出すことができます。これ
によって、アプリケーションは、状況によっては必要な情報である、電源供給停止の継続
時間を求めることが可能となります。HT ビットがセットされたままである限り、(バッフ
ァ/転送レジスタの内容を変化させる書き込みが発生していないという前提で) 読み取り
操作によって電源が遮断された時刻が返ります。
現在時刻を読み込むためには、先に HT ビットをクリアする (0 を書き込む) 必要がありま
す。その後の読み込み操作で現在時刻が返されます。現在時刻から電源が遮断された時刻
を差し引けば、電源供給が停止された時間の長さが得られます。
HT ビットがセットされている状態での書き込み
電源障害の後、バッファ/転送レジスタには電源が遮断された時刻が格納されています。
クロックレジスタのいずれか (上表でアドレスが 0x00 から 0x07 まで) に書き込みを行う
と、Write フラグがセットされます。書き込みサイクルの最後に、カウンタはレジスタの
内容で更新されます。
HT ビットがセットされたままである場合、バッファ/転送レジスタには書き込み値で修正
された電源遮断時刻が格納されています。書き込みシーケンスの最後に、修正された電源
遮断時刻がカウンタに書き戻されますので、明らかな時間の欠落が生じます。
例: 電源遮断の日時は、2008 年 3 月 9 日午後 7 時 23 分 44 秒であるとします。電源投入時
に、HT ビットをクリアする前に秒レジスタの ST ビットに書き込みを行って Write フラグ
をセットしますが、それ以外のビットには書き込みを行いません。書き込みサイクルの最
後に、現在時刻は電源が遮断された時刻まで戻され、その結果として明らかな時間の欠落
が生じます。
それとは反対に、HT ビットが書き込みの前にクリアされていたとすると、バッファ/転送
レジスタは現在時刻に更新されています。上記と同様に、ST ビットへの書き込みによって
Write フラグがセットされますが、結果として生じるカウンタの更新によって、現在時刻
が書き戻されます。それにより、カウンタはその中にすでに存在していたものと同じ値で
上書きされます。時間の欠落は発生しません。
詳細については、アプリケーションノート AN1572 を参照してください。
DocID16254 Rev 1 [English Rev 3]
21/27
AN3060
RTC の初期化
9
RTC の初期化
9.1
初回の電源投入における RTC アクセスの最適なシーケンスを教
えてくださいそれ以降の電源投入についてもお願いします
デバイスによって異なるため、包括的な回答はこの資料の範囲を超えます。その代わりと
して、M41T83/M41T82 に対する例を提供します。
M41T83/M41T82 の初期化およびアクセス
初回の電源投入時には RTC はビナイン状態にあります。アラームと割り込みは無効となっ
ており、ウォッチドッグとタイマーについても同様です。OUT ビットは High であり、周波
数テストビット FT は無効となっています。デジタル較正機能とアナログ較正機能はいず
れも中性点に設定されています。OTP ビットは 0 にセットされており、工場出荷値に代え
てユーザーのアナログ較正レジスタが選択されています。(OTP は、水晶振動子内蔵型パッ
ケージ [MY] の M41T83 のみに適用されます)
方形波出力は有効となっており、32.768 kHz が選択されています。(この設定によって、
方形波を基準として使用するデバイスでもユーザの介入を必要とせずに初回の電源投入時
から方形波を使用可能となります)
Figure 14: M41T83/M41T82 の電源投入デフォルト値
OSCエラー
ウォッチドッグ
ST HT CB1:CB0 OUT FT
1
00
1
0
0000000
バックアップ
からの電源投入 UC 1
UC
UC
0
0000000
初回電源投入
0
BM4:BM0,
RB1:RB0
IRQ1/FT/OUTピン
アラーム1
タイマ
OFIE OF A1IE ABE RPT15:11 TE
0
1
UC UC
0
00000
0
0
0
11
UC
UC
UC
0
UC
UC
UC
方形波出力
アラーム2
アナログ較正
ACS, AC5:AC0
SQWE
000000
00000000
1
1000
0
0
0
00000
UC
UC
UC
UC
UC
UC
UC
UC
バックアップ
からの電源投入
TIE TD1:TD0
0
デジタル較正
DCS, DC4:DC0
初回電源投入
TI/TP
RS3:RS0 OTP AL2E A2IE RPT25:21
クロックレジスタ (時、分、秒、年、月、曜日) は不定です。世紀ビット CB1:CB0 のみ定
義されています (00)。
Stop ビット (ST) は電源投入時にクリアされ、32 KHz オシレータが有効化されます。た
だし、(初回の電源投入の前には) オシレータが動作していないため、オシレータ故障検
出ビット OF がセットされます。
最後に、あらゆる電源投入の場合と同様に、HT ビットがセットされます。
初回電源投入
電源投入時には周辺機能とアラーム機能の大半は有効化されないため、RTC の初期化を急
ぐ必要はありません。ここですぐに注意を払う必要があるのは、電源投入時に動作を始め
る方形波機能のみです。アプリケーションによっては、この機能を無効とするか、周波数
を変更することをデフォルト設定とするものもあります。
DocID16254 Rev 1 [English Rev 3]
22/27
AN3060
RTC の初期化
次に行うべきことは、HT ビットに 0 を書き込んだ後に、日時を設定することです。(別製
品の RTC では、流れのこの段階において ST ビットが 1 であれば、0 にクリアする必要があ
ります。)
アプリケーションの較正を行うのであれば、次のステップで行います。
次に、OF ビットをクリアします (0 を書き込みます)。このステップを終了するまでに電
源投入 (オシレータの起動) から 4 秒経過していなければなりません。較正を行った場合
には、それに要した時間を 4 秒から差し引くことができますし、較正に 4 秒以上かかった
場合には、それ以上待つ必要はありません。次のステップに進む前に、OF ビットがクリア
されたままであることをソフトウェアで確認します。
ここからの数項目はオプションです。ウォッチドッグを使用する場合、ウォッチドッグを
更新する命令コードまでソフトウェアがすぐに到達するのであれば、ここでウォッチドッ
グを開始できます。そうではない場合には、ソフトウェアはメインルーチンの先頭まで待
ってウォッチドッグを開始する必要があります。
タイマかアラームを使用する場合には、ここで設定することもできますが、同様にメイン
ルーチンの先頭まで待っても構いません。こうすることで、プロセッサがまだ初期化ルー
チンを実行している間に、これらの機能のいずれかがタイムアウト (割り込み) してしま
うことを防ぎます。
DocID16254 Rev 1 [English Rev 3]
23/27
AN3060
RTC の初期化
Figure 15: 初回電源投入
初回電源投入
オプション: 方形波の周波数の
変更または無効化
HTビットをクリア
時、分、秒、曜日、日、月、年、
世紀ビットの書き込み
オプション:OTPを1にセットして
工場出荷時のアナログ較正を選択
(M41T83-MYのみ)
オプション:アナログ較正または
デジタル較正を初期化
4秒待ってからOFビットをクリア
OFビットがクリアされたことを確認
オプション:ウォッチドッグ初期化
オプション:タイマ初期化
オプション:アラーム1初期化
オプション:アラーム2初期化
終わり
バックアップからの電源投入
バックアップからの復帰時に最初に行うべきことは、時間の読み込みです。HT ビットがク
リアされるまでの間、RTC のバッファ/転送レジスタには電源が遮断された時刻が格納さ
れています。電源供給が停止していた時間の長さをアプリケーションが必要としている場
合には、電源遮断時刻が必要となります。電源停止時間の長さが必要ではない場合には、
このステップは飛ばしても構いません。
次のステップで、HT ビットに 0 を書き込んでクリアします。計時レジスタ (アドレスが
0x00~0x07) のいずれかに書き込みを行う前に HT ビットをクリアすることが非常に重要
です。そうしないと、RTC カウンタのデータが破壊されることになります。
DocID16254 Rev 1 [English Rev 3]
24/27
AN3060
RTC の初期化
アプリケーションの流れのこの段階で現在時刻が必要な場合には、時刻を読み出します。
HT ビットがクリアされていれば、読み込み操作で現在時刻が読み出されます。
アラームや OF などの RTC の割り込みサービスを使用すると同時に、フラグレジスタをク
リアしなければなりません。大半のフラグビットは読み出しでクリアされますが、OF ビッ
トには 0 を書き込む必要があります。また、アラームフラグ (AF1, AF2) およびオシレー
タ故障フラグ (OF) をクリアすると、それに関連する割り込みもクリアされることに注意
してください。
Figure 16: バックアップからの電源投入
バックアップからの電源投入
オプション:時間/日付の読み込み
(電源切断時間)
HTビットをクリア
オプション:時間/日付の読み込み
(現在時刻)
off_duration = present_time time_of-power-down
いずれかのフラグをクリア
(フラグレジスタを読み込み)
オプション:ウォッチドッグ再初期化
オプション:
タイマ再有効化/再初期化
終わり
ウォッチドッグおよびタイマ
最後になりますが、電源を切断してから投入し直すと、ウォッチドッグとタイマは必ず無
効になっています。どちらかをアプリケーションで使用する場合には、再初期化の必要が
あります。
DocID16254 Rev 1 [English Rev 3]
25/27
AN3060
10
改版履歴
改版履歴
Table 4: 文書改版履歴
日
版
変更内容
2009年11月4日
1
初版リリース
2012年7月17日
2
デバイスの入手可能性に関する文章を更新
2015年8月17日
3
追加 Section 1: "バッテリーの接続と充電保護"
Table 5: 日本語文書改版履歴
日
版
2016年01月21日
1
変更内容
日本語版 初版リリース
DocID16254 Rev 1 [English Rev 3]
26/27
AN3060
重要なご注意 – よくお読みください
STMicroelectronics NV およびその子会社 (“ST”) は、ST 製品または本資料、あるいはその両方を随時予告なく変更、訂正、
拡張、修正および改良する権利を留保します。購入者は、発注を行う前に ST 製品に関する最新情報を入手する必要があります。
ST 製品は、注文確認時点における ST の販売条件に従って販売されます。
ST 製品の選択並びに使用については購入者が全ての責任を負うものとし、応用に関するサポート並びに購入者の製品の設計に関
して ST は一切の責任を負いません。
本資料は、明示されているか否かに関わらず、いかなる知的財産権の実施権を ST が許諾するものではありません。
本資料に説明されている情報とは異なる条件で ST 製品が再販された場合、当該製品についての ST による保証はすべて失われる
ものとします。
ST 及び ST ロゴは ST の登録商標です。その他の製品やサービスの名称はそれぞれの所有者に帰属しま す。
本資料の情報は、それ以前に本資料のあらゆる旧版の中で提供された情報に優先します。
© 2016 STMicroelectronics – All rights reserved
DocID16254 Rev 1 [English Rev 3]
27/27