Raspberry Pi で正確な時刻を刻み続けるリアルタイムクロックの種類を徹底解説
Raspberry Pi は、RTC(Real Time Clock)を搭載していないため、
シャットダウン時に時刻を記録して、
次の起動時に、その時刻から時を刻み始めます。
Raspberry Piに、RTCモジュールを組み込むことで
シャットダウンしても、
正確な時刻を維持することができます。
Raspberry Piで使用するRTCモジュールは、
いくつかの種類がありそれぞれ特徴があります。
また、使用する種類や使用環境によって精度が異なります。
ここでは、RTC(Real Time Clock)の種類と特徴を解説しています。
RTC(リアルタイムクロック)の種類と性能
使用するRTCの種類やメーカーにより性能が異なります。
RTCの種類と、性能の良い順と消費電力の低い順に並べて説明します。
種類と性能
RTC(Real Time Clock)の種類は4種類に分けられます。
性能の良い順に並べると、
以下のようになります。
- 温度補償型リアルタイムクロック(TCXO RTC)
- オーブン制御リアルタイムクロック(OCXO RTC)
- 温度補償水晶発振器(TCXO)
- 単純な水晶発振器
温度補償型リアルタイムクロック(TCXO RTC)
高精度かつ温度補償機能があり
精度が高く、温度変化のある環境で使用されます。
オーブン制御リアルタイムクロック(OCXO RTC)
温度補償水晶発振器よりも高精度ですが、
高価で消費電力が多いため、
高精度が求められる場合に使用されます。
温度補償水晶発振器(TCXO)
温度変化に対して比較的安価で高精度なクロック性能があります。
低価格で高精度が必要な場合に使用されます。
単純な水晶発振器
Simple Crystal Oscillators は、
安価で一般的な用途に使用されます。
消費電力
バッテリ駆動の場合、消費電力に大きく関わります。
消費電力の低い順に並べると、
以下のようになります。
- 単純な水晶発振器
- 温度補償水晶発振器(TCXO)
- 温度補償型リアルタイムクロック(TCXO RTC)
- オーブン制御リアルタイムクロック(OCXO RTC)
単純な水晶発振器
Simple Crystal Oscillators は、消費電力が非常に低いため、
バッテリー駆動のデバイスなどに使用されています。
温度補償水晶発振器(TCXO)
TCXOsは、消費電力が低く高精度です。
消費電力を制御したい場合に使用されます。
オーブン制御リアルタイムクロック(OCXO RTC)
温度補償機能があるため、消費電力が多くなります。
これらのRTCは、高精度が必要な場合に有効です。
温度補償型リアルタイムクロック(TCXO RTC)
温度補償機能があるため、消費電力が多くなります。
これらのRTCは、高精度が必要な場合に有効です。
半導体の型式
RTC(Real Time Clock)の代表的な
半導体の型式を示します。
名称 | 型式 |
温度補償型 TCXO RTC |
DS3231M、PCF2127、RV-8803-C7 S-35390A、S35390、STC5A5B |
オーブン制御 OCXO RTC |
AD9540BCPZ、DAC8814ICDBR、DS1077LZ-100 DS1077U-100、RV-8803-FK、TCXO-9OCXO-V12-10M |
温度補償水晶発振器 TCXO |
ECS-2100AX、FC-135TCXO、KT7050、MXO45 TXC6シリーズ、VC-TCXO-9 |
単純な水晶発振器 | ABM8G、ASV-16.000MHZ-EJ-T、CXO-914C FC-135、NX3225SA、TDC3F2000PL |
各RTCメーカーは、複数の製品を展開しているため
上記の型式以外にも様々な型式があります。
Raspberry Pi で使われる、温度補償型リアルタイムクロック(TCXO RTC)
Raspberry Pi で使われる
温度補償型リアルタイムクロック(TCXO RTC)の
性能の特徴を説明します。
精度
TCXO RTCは、高い精度を誇ります。温度変化による影響を補正するため、正確な時間を維持できます。温度変化に非常に敏感である他のRTCに比べて、高い精度を維持することができます。
信頼性
信頼性: TCXO RTCは、高い信頼性を持っています。電源が切れた場合でも、内部バッテリーによって高い時刻を維持できます。また、温度変化に敏感であるため、温度変化による突入が発生する可能性があります性が低いです。
消費電力
消費電力が比較的低いため、バッテリー駆動のデバイスや、消費電力が制限されているIoTデバイスなどに合わせています。
価格
高価: TCXO RTC は、高精度を実現するための技術が必要であり、高価な傾向があります。
温度補正機能
温度補正機能: TCXO RTCは、温度変化による影響を補正するため、温度補正機能があります。温度変化に敏感であるため、温度変化に対して補正ができるため、高い精度を実現することができます。
機能
TCXO RTCは、統合機能を持っている場合があります。
温度補償型リアルタイムクロックの統合機能とは、
RTCに加えて、バッテリーのバックアップ、EEPROM、温度センサー、アラーム、タイマー、GPIO(汎用トランザクション)などの機能が一つのチップに統合されていることを指しています。
これらの機能が一つのチップにまとめられることで、ハードウェアや配線の簡素化、スペースの節約、電力効率の向上などのメリットがあります。
そのため、RTCの電源が切れた場合でも、バッテリーのバックアップ機能があれば、RTCの設定情報を保持することができます。
また、EEPROMがあれば、RTCの設定情報やユーザーのデータを保存することさらに、温度センサーがあれば、RTCの精度を向上させるために温度変化に応じた補正を行うことができます。
これらの機能は、統合されることで、RTCモジュールに必要な機能がすべて一つのチップに統合され、小型で省電力なRTCモジュールが実現されます。
統合されたRTCモジュールは、時計やカレンダーなどの機能を必要とする多様な場面に使用されています。
まとめ
TCXO RTCは、高精度、高信頼性、低消費電力などの優れた特性を持ち合わせています。
ただし、高価な傾向があるため、予算や要件に合わせて選択する必要があります。
Raspberry Pi で使う、温度補償型 リアルタイムクロックモジュール
温度補償型リアルタイムクロック(TCXO RTC)モジュールは、
Raspberry Piに接続して使用することができます。
種類は以下のものがあります。
①DS3231 RTCモジュール
②PCF8563 RTCモジュール
③RV-8803 RTCモジュール
④MCP7940M RTCモジュール
⑤DS1374 RTCモジュール
性能一覧表
RTCモジュール | 使用温度 | 精度誤差 | 通常消費電力 | 最大消費電力 | |
1 | DS3231 | 0℃~40℃ | ±2ppm | 0.2μA以下 | 500μA(0.5mA) |
2 | PCF8563 | -40℃~85℃ | ±5ppm | 0.1μA以下 | 200μA(0.2mA) |
3 | RV-8803 | -40℃~105℃ | ±3.4ppm | 1.2μA以下 | 3.5μA |
4 | MCP7940M | -40℃~85℃ | ±20ppm | 0.2μA以下 | 1.5μA |
5 | DS1374 | 0℃~70℃ | ±2ppm | 10μA以下 | 200μA(0.2mA) |
※精度誤差:±1ppmの精度とは
±1ppmとは、「百万分の1の計」という意味で、RTCの精度を表す単位です。
RTCが1秒を計測する際に、
その測定値が実際の1秒から最大で± 2ミリ秒の誤差が生じます。
DS3231 RTCモジュール
DS3231 RTCモジュール: DS3231は、高精度なI2C RTCであり、0℃から40℃の範囲内で±2ppmの精度を実現します。
最大消費電力は500μA(0.5mA)ですが、通常は0.2μA以下の低消費電力モードで動作します。
PCF8563 RTCモジュール
PCF8563 RTCモジュール: PCF8563は、低消費電力のI2C RTCであり、-40℃から85℃の範囲内で±5ppmの精度を実現します。 内部温度センサーにより、温度補償機能を備えています。
PCF8563 RTCモジュール: 最大消費電力は200μA(0.2mA)ですが、通常は0.1μA以下の低消費電力モードで動作します。
RV-8803 RTCモジュール
RV-8803 RTCモジュール: RV-8803は、SPIインターフェースを備えた高精度RTCであり、-40℃から105℃の範囲内で±3.4ppmの精度を実現します。温度補償機能により、温度変化による時計誤差を最小限に抑えることができます。
RV-8803 RTCモジュール: 最大消費電力は3.5μAですが、通常は1.2μA以下の低消費電力モードで動作します。
MCP7940M RTCモジュール
MCP7940M RTCモジュール: MCP7940Mは、I2Cインターフェースを備えた低消費電力RTCであり、-40℃から85℃の範囲内で±20ppmの精度を実現します。内部温度センサーにより、温度補償機能を備えています。
MCP7940M RTCモジュール: 最大消費電力は1.5μAですが、通常は0.2μA以下の低消費電力モードで動作します。
DS1374 RTCモジュール
DS1374 RTCモジュール: DS1374は、I2Cインターフェースを備えた高精度RTCであり、0℃から70℃の範囲内で±2ppmの精度を実現します。内部温度センサーにより、温度補償機能を備えています。
DS1374 RTCモジュール: 最大消費電力は200μA(0.2mA)ですが、通常は10μA以下の低消費電力モードで動作します。
消費電力について
モジュールは、RTC以外にもEEPROMやバックアップ電源などの機能が統合されている場合、消費電力が変化します。
使用するモジュールの仕様を確認する必要があります。