この記事では,NXPで最も消費電流が小さく時間精度が高いRTCモジュール製品を中心に,RTCとは何をするものなのか,またどのようなシステムで外付けRTCが必要になるのかを解説.
外付けRTCを使えば ①低消費電力化により電池寿命を伸ばし,②正確な時刻管理を可能にし,③システムの信頼性を向上させ,④追加機能を用いてセキュリティの向上 などのメリットがあります.
記事の最後にはすぐにRTCを試せる評価環境(基板+ソフトウェア)も紹介します.
カレンダーと時計カレンダーと時計
図1:RTC = 時計とカレンダーをシステムに組み込むためのもの
多くの家電やガジェットでは時計を表示する機能がついています.これらの機器内に組み込まれた時計は,単に現在の日時を表示するだけでなく,電源のオン/オフを自動で行うタイマーや,デバッグやシステム管理を行うためのログの記録を行うなど様々な目的に使われます.
このような時計機能はリアルタイム・クロック(以下RTC)と呼ばれるマイコンやプロセッサ内蔵の回路,または外付けのRTCチップによって実現されます.
RTCは自身の水晶発振器で発生させたクロックを使って時を刻み続けます.そしてそのクロックをカウンタで計数することにより,現在の時刻や日付を知ることができるようになります[図2].
スクリーンショット 2025-02-27 13.11.35.png
図2:RTCの内部.水晶振動子,発振器,カウンタ,インターフェース
多くのマイコンやプロセッサには,そのチップ内にRTC回路が入っています [図3].
これらマイコンやプロセッサに電源さえ供給されていれば,たとえそのチップがスリープやパワーダウン・モードなどの非稼働状態にあっても,RTCによって現在の時間と日付を示す値(カウンタ値)に更新し続けます.
このような機能によって,設定した日時に正確にシステムを起動したり,あるいは電源がオフの間での起こったイベントをRTC回路内に正確に時間を記録しておくなどの機能が実現できます.
スクリーンショット 2025-02-27 13.19.31.png
図3:マイコンに内蔵されたRTC (MCXN94x/MCXN54xの例)
たとえば電源をオン/オフするタイマー機能を実現するならば,設定した時刻になると電源スイッチを操作する機能を持たせなければなりません.このために時間の情報だけは機器内で刻み続けている必要があり,RTCだけは電源が切れない仕組みが必要です.
主電源を切っていてもRTCを動作させるためには,バッテリー/電池からRTCだけには常に電気を供給する必要があります.もし機器内に電池を持っていないならRTC用にコイン電池やスーパーキャパシタなどによるバックアップ電源を用意します [図4].
このようにRTCは常に電池を消費する存在であるため,低消費電流であることが重要になります.
PCF2131-ARD-ANGLE1.png
図4:RTC評価基板の例.PCF2131/PCA2131 Arduino® Shield評価基板にはバックアップ用コイン電池が搭載されている
RTCを動かし始める時には現在時刻の設定をしてやらなくてはなりません.この初期設定により,RTCは正しい現在日時を維持してくれるようになります.初期設定を行わなければ,RTCがリセットされた時のデフォルト日時からの経過時間が更新され続けることになります.
現在日時の設定は,ユーザに手動操作(ボタン操作など)で合わせてもらったり,自動でネットワーク経由でNTPサーバに同期したり,あるいはGPSと同期するなどの方法が採られます.
初期設定のあとは,たとえ主電源がオフになってもRTCへの給電が止まらなければ,自身が持つクロックによって時間の更新を維持し続けます.このクロックの精度が時間の精度となります.クロックの精度はいくつかの要因で決まります.水晶振動子(発振子)の精度,発振回路のマッチング,さらに温度が主な要因です.
もしその機器の主電源が頻繁にオンになり,その都度,時刻の再同期が行えるなら高い精度は要求されないでしょう.しかし長く主電源がオフであり続けたり,GPSや時刻サーバへのアクセス手段を持たないシステムのような用途の場合には,システムに必要とされる仕様に合わせた精度のRTCが必要になります.
構築しようとしているシステムが,マイコンやプロセッサ内蔵のRTCで充分に機能するなら,わざわざRTCチップを外付けする必要はありません.
しかし電池寿命をできるだけ伸ばしたり,正確な時間の維持が要求される場合には外付けRTCが必要になります [図5].
スクリーンショット 2025-02-27 13.33.26.png図5:外付けRTCを使用したシステム.RTC以外は電源をオフにして,電力消費を抑えることができる
外付けRTCを使う主なメリットは次の4点.これらについて見ていきます.
メリット1:電池寿命を伸ばす(システム全体の低消費電力化)
メリット2:正確な時刻管理
メリット3:信頼性の向上
メリット4:追加機能
マイコンやプロセッサはその主たる機能,制御や計算の能力のために設計が最適化されています.この最適化は消費電力の面でも行われており,処理を効率的に行えるようになっています.
またこれらのチップには「スリープ」や「パワーダウン」と呼ばれるモードが用意され,処理が必要ない時に必要な機能だけを維持して電流消費を下げる工夫もされています.
たとえば,NXPの最新マイコン:MCXシリーズでは内蔵RTCの動作だけを維持する「ディープ・パワーダウン」を持っています.各チップによってこの時の消費電流は異なります.汎用マイコンとして使いやすいMCX-Aシリーズでは数百ナノ・アンペア,より処理能力の高いMCX-Nシリーズではマイクロ・アンペア単位の電流が消費されます.これらの例の電流値は「かなり低く抑えられている」と言えますが,さらに低消費電力化が求められるケースでは外付けRTCが必要になります.
一方,RTCチップの消費電流は製品によりさまざまですが,たとえば最も低消費電流のPCF2131では65nAとなっています.
前述のマイコン/プロセッサのパワーダウンモード時との消費電流の比較を図6に示します.この差がバッテリの長寿命化に貢献します.
※ 長寿命化が必要ないとしても,より小さい電池により、省スペース、小型化、コストダウンが可能になります.
スクリーンショット 2025-02-27 13.53.20.png
図6:RTC動作を維持するための電流の比 (当社比)
RTCの時刻管理は32.768kHzの発振器をベースにしています.この発振周波数のズレが精度の悪化につながります.この精度を悪化させる主な要因は,水晶振動子や発振回路のばらつきで,さらに温度も影響します.
マイコン/プロセッサ内蔵のRTCに使われる発振周波数の精度は,通常±100ppm〜程度です.この±100ppmは32.768kHzの周波数がどれだけずれるかを示しており,これが直接「時計の進み/遅れ」となります.ちなみにこの±100ppmを月差に直すと
±100 * 10-6 [精度] * 60[秒] * 60[分] * 24[時間] * 31[日] = ±259.2[秒]
つまり1ヶ月で4分もの進み/遅れが発生し得ることになります.
頻繁に主電源がオンになり,時刻の再同期がその都度行えるシステムでなければ,このような大きなずれが生じてしまいます.
外付けRTCは要求される精度により水晶振動子内蔵のモジュール型や温度補償回路内蔵などの品種から選択いただけます.NXPの最も高い精度を持つRTCは,水晶振動子内蔵のモジュール型で温度補償回路を内蔵しているPCF2131で,-40℃から+85℃の動作温度範囲全域で±3ppm(typ)の精度(月差±7.8秒)を保証しています [図7][図8].
RTCチップ単体の製品の場合,精度は使用する外付けの水晶振動子に依存します.NXPのRTC製品では,ソフトウェアからクロック周波数の微調整が可能です.スクリーンショット 2025-02-27 13.56.21.png
図7:RTCモジュール:PCF2131,PCA2131の内部構造
スクリーンショット 2025-02-27 14.04.15.png
図8:RTCモジュール:PCF2131の温度補正.水晶振動子単体の発振周波数特性は温度に対して放物線を描く
外付けRTCに,システムの電源とは別にバックアップ用の電源(コイン電池など)を持たせておけば,システムのリセットや電源障害からも時刻情報を保護できます.これによりシステムの信頼性が向上します.
外付けRTCでは追加機能を持っている品種があります.RTCがバックアップ電源で動作している間,イベント発生を記録しておくためのタイムスタンプ機能(PCF2131,PCF85263Aなど)を持つものがあります.これは主電源オフ時における機器筐体の開閉などを記録しておくことで,フィールド・サービスでの応用や,セキュリティ機能強化などが可能になります.
クロック出力もオプションで用意されている機能です.32.768kHzを分周したクロックを出力できる製品があります.この機能を持つ製品の多くが32.768kHzから1Hzの周波数(分周比)を設定できます.
割込もオプション機能のひとつ.秒や分ごとの定期的な割込や,設定したアラーム,さらにタイムスタンプのイベントの発生で割込を発生できるものがあります.これらの機能を利用して必要に応じてシステムをウェイクアップさせるような機能を実現できます.
NXPでは外付けRTCにさまざまな品種を揃えています.最適なRTCはNXPの製品セレクタ・ページで探せます.ここでは選択肢のうちモジュールか単体チップか,インターフェースの種別,さらに車載用途のような視点からの特徴を解説します.
RTC製品の中でも最も高精度,低消費電力の製品が,水晶振動子内蔵型モジュール製品のPCF2131と,同機能を持つ車載グレード品のPCA2131です.
どちらの製品も-40℃から+85℃の動作温度範囲で±3ppm(typ),車載対応品では温度範囲が拡張されており,85℃から105℃の範囲で±8ppm(typ)の精度を保証.消費電流は車載非対応のPCF2131では電源3.3V時に65nA(typ)の,車載対応品のPCA2131では106nA(typ)になっています.
水晶振動子が外付けの製品では最も基本的な機能だけを持ったPCF85063TPから,さまざまな追加機能を持つ製品が展開されています [図9].
スクリーンショット 2025-02-27 15.02.44.png
図9:PCF85063TPの内部レジスタ:最も基本的な機能だけに限定されているため,レジスタは11バイト分しかない.このうち制御や状態をモニタするためのレジスタが4バイト,残り7バイトで年月日,曜日,時分秒の情報を提供
マイコンやプロセッサとの間はI²CかSPIのシリアルバスで接続します.製品によってI²CとSPIの切り替えができるものと,品番によってどどちらかに固定されたものがあります.
どちらの場合もマイコン/プロセッサからはレジスタを介して制御・日時の情報の読み出しが行われます.さらにシリアルバスに加えて割込信号出力が用意されているものもあり,これらは製品によって1本,または2本の割込出力が使えます.
NXPのRTCには民生グレード品に加えて,AEC-Q100に対応した車載対応品が用意されています.これらの対応品は製品セレクタ・ページで見つけることができます.
スクリーンショット 2025-02-27 15.14.01.png
図10:RTC製品セレクタ・ページ
boards4.jpg
図11:RTC対応,Arduino®シールド型評価基板:PCF2131-ARD, PCF85063TP-ARD, PCF85063AT-ARD and PCF85263ATL-ARD
NXPではRTCをはじめ,各製品をすぐに試せる評価基板も多数提供しています.RTC用ではArduino®シールド型の基板を提供.さまざまなNXPのマイコン評価基板と組み合わせて評価が可能です.
またオープンソースで,Arduino® UNOシリーズなどに対応したArduino®サンプル・スケッチ/クラス・ドライバが配布されています.さらに各種マイコンに対応したMicroPythonコードも使うことができます.
RTC対応のArduino®シールド型評価基板の詳細は,この記事下部に添付されているArduinoシールド紹介資料-20250227.pdfを参照ください.
スクリーンショット 2025-02-27 15.56.04.png
図12:「Arduinoシールド紹介資料-20250227.pdf」第4ページ
変更履歴:
2025-03-03:初版
=========================
本投稿の「Comment」欄にコメントをいただいても、現在返信に対応しておりません。
お手数をおかけしますが、お問い合わせの際には「NXPへの技術質問 - 問い合わせ方法 (日本語ブログ)」をご参照ください。
(既に弊社NXP代理店、もしくはNXPとお付き合いのある方は、直接担当者へご質問いただいてもかまいません。)
リアルタイムクロック(RTC)には数多くのチップがあるどころか,マイコンやプロセッサにもその機能が内蔵されています.
この記事では,「そもそもRTCとは何なのか?」から,「内蔵RTCを使わずに外付けRTCチップを使うメリットは何なのか?」さらに「それらをどのように選択すれば良いのか?」を解説します.