RTC(リアルタイムクロック)とは? 特徴・基本構造・動作の流れを解説
- 半導体用語集

RTC(リアルタイムクロック)は、コンピュータ、スマートフォン、IoTデバイス、産業機器などのあらゆるシステムにおいて、時刻情報の維持と管理をする役割があります。
システムの電源がオフになっても正確な時刻を維持できる時計機能を持つハードウェアコンポーネントまたは機能であり、低消費電力で動作し、長期間の時刻保持を実現します。データロギング、アラーム機能、スケジュール管理、タイムスタンプ記録など、さまざまな用途で活用されています。
本記事では、RTCの基本的な仕組みや特徴、動作原理、用途について解説します。
RTC(リアルタイムクロック)とは? 特徴について
RTC(Real-Time Clock)とは、コンピュータや電子機器において、現在の時刻や日付を保持するための時計機能を持つハードウェアコンポーネントまたは機能のことを指します。
RTCは、システムが電源をオフにしても時刻情報を維持できるように、ボタン電池や小型バッテリーによって駆動されることが一般的です。
主に、以下のような特徴を持っています。
低消費電力
RTCは省電力設計が施されており、バックアップバッテリーで長期間動作します。
バックアップバッテリーには、コイン電池やリチウム二次電池、スーパーキャパシタがあります。
コイン電池:RTCで一般的なバッテリー。低コストで容易に入手できる
リチウム二次電池:充電でき繰り返し使用可能。RTCを搭載したマイコン(MCU)で、動作中にバッテリーを充電できる
スーパーキャパシタ:短時間のバックアップ用。充電回路があれば、自動的に充電可能
高精度の時間管理
RTCには水晶振動子が組み込まれ、正確な時間を計測します。水晶振動子とは、圧電効果を利用して、特定の周波数で安定した振動を発生させる電子部品です。
高精度モデルでは、温度補償型水晶発振器を内蔵し、温度変化によるズレを補正できます。
電源喪失時でも時刻を維持
RTCは、通常コイン電池やスーパーキャパシタでバックアップされ、メイン電源がオフになっても時刻を保持します。
バッテリーが切れない限り、デバイスの起動時に正しい時刻を保持できます。
シリアル通信での制御(I²C / SPI / UART)
RTCは、マイコンやコンピュータとI²CやSPI、UARTといったシリアル通信を介して接続されます。
I²C:一般的に広く使用される通信方式。1本のデータ線(SDA)と1本のクロック線(SCL)で通信可能
SPI:高速通信が可能な方式。MISO、MOSI、SCLK、SSの4本の信号線が必要
UART:2本の信号線(TX、RX)でデータ送受信できるシンプルな通信方式。非同期という特徴を持ち、クロック信号を送らずに通信可能
時刻情報の保持とアラーム機能
RTCは時刻情報(年・月・日・曜日・時・分・秒)を記録・管理できます。自動で閏年の計算も可能です。
また、指定した時刻に割り込み(IRQ)を発生させ、マイコンをスリープ解除できます。周期タイマー機能により、指定時間ごとにアラームを発生させます。
バックアップバッテリー管理
一部のRTCには、自動でバッテリー電源に切り替える機能が搭載されています。バッテリー監視機能を持つRTCでは、電圧が低下するとフラグを設定し、バッテリー交換時期を知らせます。
RTCの基本構造・動作
RTCは以下の要素で構成されています。
1. 水晶振動子
・RTCの時間精度を決定する重要な部品
・一般的に32.768kHzの水晶振動子が使用される
・2の15乗(32768)なので簡単に1Hz(1秒ごと)に分周可能
・一部のRTCは温度補償型水晶発振器(TCXO)を内蔵し、温度変化による誤差を補正
2. 発振回路(Oscillator Circuit)
・水晶振動子が正しく振動するために必要な回路
・CMOSインバータ回路やピアース発振回路を使用
・発振が安定しないとRTCの時刻が狂う
3. 分周回路(Frequency Divider)
・水晶振動子の高い周波数を1Hz(1秒周期)に変換するための回路
・1Hz信号を使って、秒 → 分 → 時 → 日付のカウントを行う
4. カウンター(Timekeeping Registers)
・RTCが保持する時刻情報を管理する回路
・BCD方式で年・月・日・曜日・時・分・秒を管理
・一部のRTCは閏年補正機能付き
5. 電源管理回路(Power Management Circuit)
・メイン電源が切れた場合、自動でバックアップバッテリーに切り替える
・RTCの低消費電力設計により、バッテリーで数年間駆動可能
6. 通信インターフェース(I²C / SPI / UART)
RTCはホストマイコンと通信するためのインターフェースを搭載
7. アラーム&割り込み回路
・設定した時刻に割り込み信号(IRQ)を発生させる
・周期タイマー機能により、一定間隔でアラームを鳴らす
・スリープ中のマイコンをウェイクアップする用途にも使用
8. 温度補償回路
・一部の高精度RTCは温度補償型水晶発振器(TCXO) を内蔵
・通常の水晶振動子は温度によって±20ppm程度の誤差が生じるが、TCXOは±2ppm以下の高精度
基本動作の流れ
発振回路が水晶振動子を駆動
・32.768kHzの水晶振動子を使用し、一定の周波数で信号を発生
・この信号を分周回路で1Hz(1秒ごと) に変換
カウンターが時刻をカウント
・1Hzのパルスごとに秒カウンターが+1する
・秒 → 分 → 時 → 日 → 月 → 年の順にカウントアップ
・バックアップバッテリーによる時刻保持
メイン電源が切れても、バックアップバッテリーで動作を継続
・低消費電力設計(数µA以下)で、数年間時刻を維持可能
・ホストデバイスとの通信(I²C / SPI / UART)
シリアル通信を介してRTCから時刻を読み取る
・必要に応じて、ホスト側が時刻を設定・更新する
アラーム・タイマー機能
・特定の時刻に割り込み信号(IRQ)を発生させる機能を持つ
例:目覚まし時計、IoTデバイスのスリープ解除、データロガーの記録トリガー
RTCの用途
RTCはさまざまな用途で使用されますが、とくに以下のような用途で重要な役割があります。
1. コンピュータ・サーバー
PCのBIOS/UEFIに内蔵されたRTCがシステム時刻を維持し、OS起動時に正しい時刻を提供します。CMOSバッテリーによって、電源が切れても時刻がリセットされません。
システムの時計を維持し、ファイルのタイムスタンプやログ管理を正確にするために役立ちます。OSの起動時にRTCの時刻を参照し、時刻同期を行います。
サーバーでは、システムログの正確性を確保するために不可欠です。
2. 組み込みシステム&IoT
IoTデバイスや組み込みシステムでは、省電力化のためにスリープモードが活用されます。RTCが特定の間隔でウェイクアップ信号を送信し、デバイスを起動し、データロガーが測定データに正確なタイムスタンプを記録します。
低消費電力のバッテリー駆動デバイスでは、RTCを活用して定期的に動作させます。センサーデータの記録にRTCは必須(例:温度、湿度、GPSデータ)で、ネットワーク未接続環境でも正確な時刻でログを管理可能です。
3. スマートフォン&タブレット
スマートフォンでは、RTCがシステム時刻を保持し、ネットワーク未接続時でも正しい時刻を維持します。また、アラーム・リマインダーの時間管理に利用されます。
スマートフォンが完全に電源オフになっても、RTCが正確な時刻を維持し、モバイル通信が圏外のときも時刻がズレないように管理するために重要です。RTCにより、アラームやスケジュール機能がネットワークなしでも正常に動作します。