リアルタイムクロック

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ
中国から市販されている趣味のRTCモジュールの種類

リアルタイムクロックRTC )は、時間の経過を測定 する電子デバイス(ほとんどの場合、集積回路の形式)です。

この用語は、多くの場合、パーソナルコンピュータサーバー、および組み込みシステムのデバイスを指しますが、RTCは、正確な時刻を維持する必要があるほとんどすべての電子デバイスに存在します

用語

リアルタイムクロックという用語は、デジタル電子機器を制御する信号のみであり、人間の単位で時間をカウントしない通常のハードウェアクロックとの混同を避けるために使用されます。RTCは、 3文字の頭字語を共有しているが、時刻に直接関係しない リアルタイムコンピューティングと混同しないでください。

目的

時間を維持することはRTCなしで行うことができますが、[1] RTCを使用することには利点があります。

  • 低消費電力[2] (代替電源で実行する場合に重要)
  • タイムクリティカルなタスクのためにメインシステムを解放します
  • 他の方法よりも正確な場合があります

GPS受信機は、RTCによると、現在の時刻を最後に有効な信号があった時刻と比較することにより、起動時間を短縮できます[3]数時間以内であれば、以前のエフェメリスは引き続き使用できます。

一部のマザーボードはリアルタイムクロックなしで作られています。リアルタイムクロックは、(Raspberry Piシステムアーキテクチャのように)お金を節約したいという理由から、または( Arduinoシステムアーキテクチャ[4]のように)リアルタイムクロックがまったく必要ない場合があるため、省略されています。

電源

リアルタイムクロックIC内のリチウム電池

RTCには代替電源があることが多いため、一次電源がオフまたは使用できない間、RTCは時間を維持し続けることができます。この代替電源は通常、古いシステムではリチウム電池ですが、一部の新しいシステムでは、充電可能ではんだ付けできるため、スーパーキャパシタを使用します[5] [6]代替電源は、バッテリバックアップRAMに電力を供給することもできます。[7]

タイミング

ほとんどのRTCは水晶発振器を使用しますが[8] [9] 、一部には電力線周波数を使用するオプションがあります[10]水晶の周波数は通常32.768kHzであり、[8]クォーツ時計や時計で使用されているのと同じ周波数です。正確に毎秒215サイクルであるため、単純なバイナリカウンタ回路で使用するのに便利な速度です低周波数は、人間の可聴範囲を超えたまま、電力を節約します。これらの水晶の水晶音叉は、温度によってサイズがあまり変化しないため、温度によって周波数が大きく変化することはありません。

一部のRTCは、RTCのシリコンチップ上にマイクロメカニカル共振器を使用します。これにより、部品数が減り、RTCのサイズとコストが削減されます。マイクロメカニカル共振器は、水晶共振器よりも温度にはるかに敏感です。したがって、これらは電子体温計と電子ロジックを使用して温度変化を補正します。[11]

一般的な水晶RTCの精度仕様は、±100〜±20 ppm(1日あたり8.6〜1.7秒)ですが、温度補償されたRTC ICは、5ppm未満の精度で入手できます。[12] [13]実際には、これは、クロノメーターの古典的なタスクである天体ナビゲーションを実行するのに十分です。2011年に、チップスケールの原子時計が利用可能になりました。はるかに高価で電力を消費しますが(120 mW対<1μW)、時間を50 ppm以内に保ちます(5 × 10−11 [14]

古いPCのDallasSemiconductor(DS1387)リアルタイムクロック。このバージョンには、バッテリバックアップされたSRAMも含まれています。
DIP-8パッケージのダラスDS1307RTCチップ

EpsonIntersilIDTMaximNXP SemiconductorsTexas InstrumentsSTMicroelectronicsRicohなど、多くの集積回路メーカーがRTCを製造しています。シングルボードコンピューターで使用される一般的なRTCは、MaximIntegratedDS1307です。

RTCは、1984年にIBM PC / ATによってPC互換機に導入されました。これは、 MotorolaMC146818RTCを使用していました。[15] [16]その後、ダラスセミコンダクターは互換性のあるRTCを作成しました。これは、古いパーソナルコンピューターでよく使用され、独特の黒いバッテリーキャップとシルクスクリーンのロゴ により、マザーボードで簡単に見つかります。

新しいコンピュータシステムでは、RTCはサウスブリッジチップに統合されています。[17] [18]

一部のマイクロコントローラーにはリアルタイムクロックが組み込まれていますが、通常は他の多くの機能や周辺機器を備えたものだけです。

無線ベースのRTC

最近のコンピューターの中には、デジタルラジオで時計情報を受信し、それを使用して時間標準を促進するものがあります。2つの一般的な方法があります。ほとんどの携帯電話プロトコル(LTEなど)は、現在の現地時間を直接提供します。インターネットラジオが利用できる場合、コンピュータはネットワークタイムプロトコルを使用できます。ローカルタイムサーバーとして使用されるコンピューターは、GPS [19]または国家標準機関によって放送される超低周波無線送信(すなわち、電波時計[20])を使用することがあります。

ソフトウェアベースのRTC

次のシステムは、組み込みシステムのプログラマーにはよく知られています。組み込みシステムのプログラマーは、RTCがないシステムでRTCを構築する必要がある場合があります。ほとんどのコンピューターには、水晶振動子またはセラミック共振子からのタイミング信号を使用する1つ以上のハードウェアタイマーがありますこれらの絶対タイミングは不正確(100 ppm以上)ですが、非常に再現性があります(多くの場合1 ppm未満)。ソフトウェアは、これらを正確なRTCにするための計算を行うことができます。ハードウェアタイマーは、過去のRTCを模倣するために、たとえば50 Hzなどの定期的な割り込みを生成できます (以下を参照)。ただし、数学を使用してタイミングチェーンを正確に調整します。

時間=時間+レート。

「時間」変数が定数(通常は2の累乗)を超えると、名目上の計算されたクロック時間(たとえば、1/50秒)が「時間」から差し引かれ、クロックのタイミングチェーンソフトウェアが呼び出されます。秒、秒などの小数部をカウントします。時間とレートの32ビット変数を使用すると、「レート」の数学的解像度は10億分の1を超える可能性があります。時計は、1秒の何分の1かスキップしたり、2分の1ずつ増加したりすることがあるため、正確なままです。小さなスキップ(「ジッター」)は、RTCのほとんどすべての実際の使用では認識できません。

このシステムの複雑さは、変数「レート」の瞬間的な修正値を決定することです。最も単純なシステムは、クロックの2つの設定間のRTC時間と基準時間を追跡し、基準時間をRTC時間で割って、「レート」を求めます。インターネット時間は多くの場合20ミリ秒未満の精度であるため、設定間の8000秒以上(2.2時間以上)の分離により、通常、40ミリ秒(またはそれ以下)のエラーが5 ppm未満に分割され、クロノメーターのようになります。正確さ。このシステムの主な複雑さは、日付と時刻を秒数に変換することですが、方法はよく知られています。[21]

ユニットがオフのときにRTCが実行される場合、通常、RTCは2つのレートで実行されます。1つはユニットがオンのとき、もう1つはオフのときです。これは、各状態の温度と電源電圧が一定しているためです。これらの状態を調整するために、ソフトウェアは2つのレートを計算します。まず、ソフトウェアは、時計が設定されている最後の3回の間の2つの間隔について、RTC時間、基準時間、オン秒とオフ秒を記録します。これを使用して、2つの間隔の精度を測定できます。各間隔には、オン秒とオフ秒の異なる分布があります。レート計算は、2つの線形方程式を解いて、2つのレートを計算します。1つはオン用、もう1つはオフ用です。

別のアプローチでは、電子温度計(サーミスタアナログ-デジタル変換器など)を使用して発振器の温度を測定し、多項式を使用して1分に約1回「速度」を計算します。これらには、いくつかの温度で周波数を測定するキャリブレーションと、線形回帰が必要です。温度の方程式を見つけるために。システムで最も一般的な水晶はSCカット結晶であり、温度に対するそれらの速度は3次多項式で特徴付けることができます。したがって、これらを校正するために、周波数は4つの温度で測定されます。時計や多くのRTCコンポーネントで使用される一般的な音叉スタイルの水晶は、放物線状(2次)の温度方程式を持ち、3回の測定で校正できます。MEMS発振器は、その機械的設計に応じて3次から5次の多項式まで変化するため、4〜6回の校正測定が必要です。このアプローチのようなものが商用RTCICで使用される可能性がありますが、効率的な高速製造の実際の方法は独自のものです。

歴史的なRTC

小型のIBMSystem/ 360s[22] PDP-8s [23]Novasなどの一部のコンピューター設計では、正確でシンプルかつ低コストのリアルタイムクロックが使用されていました。ヨーロッパ、北アメリカ、およびその他のいくつかのグリッドでは、AC主電源の周波数は、国家標準の長期的な周波数精度に合わせて調整されます。これらのグリッドでは、AC電源を使用する時計は、調整なしで完璧な時間を保つことができます。このようなクロックは、AC電源の周波数を調整しないポータブルコンピューターやグリッド(南アジアなど)では実用的ではありません。

これらのコンピューターの電源は、変圧器または抵抗分割器を使用して、論理電圧で正弦波を生成します。この信号は、線形増幅器またはシュミットトリガーのいずれかを使用して、ゼロ交差検出器によって調整されますその結果、主電源周波数に単一の高速エッジを持つ方形波が生成されます。この論理信号は割り込みをトリガーします。割り込みハンドラソフトウェアは通常、サイクル、秒などをカウントします。このようにして、時計とカレンダー全体を提供できます。IBM 360では、割り込みにより、標準化されたシステムソフトウェアで使用される64ビットのマイクロ秒数が更新されます。クロックが各サイクルではなく、ゼロ交差ごとに割り込む場合、クロックのジッターエラーは半分になります。

時計は通常、コンピューターのソフトウェアタイミングチェーンの基礎を形成していました。たとえば、通常、オペレーティングシステムでタスクを切り替えるために使用されるタイマーでした。最近のコンピューターで使用されているカウントタイマーは、同様の機能を低精度で提供し、その要件をこのタイプのクロックまでたどることができます。(たとえば、PDP-8では、メインベースのクロックであるモデルDK8EAが最初に登場し、その後にクリスタルベースのクロックであるDK8ECが続きました。)

コンピュータの電源を入れるたびに、ソフトウェアベースの時計を設定する必要があります。もともとこれはコンピューターオペレーターによって行われていました。インターネットが一般的になると、ネットワークタイムプロトコルを使用して、このタイプの時計が自動的に設定されました。

も参照してください

参照

  1. ^ Ala-Paavola、Jaakko(2000-01-16)。「PICマイクロコントローラ用のソフトウェア割り込みベースのリアルタイムクロックソースコードプロジェクト」2007年7月17日にオリジナルからアーカイブされまし2007年8月23日取得
  2. ^ 低電力システムでの計時機能の有効化とバッテリ寿命の延長、NXPセミコンダクターズ、2011年
  3. ^ US5893044 高速取得またはGPS信号用のリアルタイムクロック装置
  4. ^ ただし、多くのArduinoソフトウェアスイートには、説明されているように、低精度タイマーから実行されるオプションのソフトウェアRTCが含まれていることに注意してください。
  5. ^ 新しいPCF2123リアルタイムクロックが電力効率の新記録を樹立、未来
  6. ^ アプリケーションノート3816、Maxim / Dallas Semiconductor、2006年
  7. ^ トーレス、ガブリエル(2004年11月24日)。「はじめにとリチウム電池」マザーボードのバッテリーの交換Hardwaresecrets.com。2013年12月24日にオリジナルからアーカイブされました2013年6月20日取得
  8. ^ a b アプリケーションノート10337、ST Microelectronics、2004、p。2
  9. ^ アプリケーションノートU-502、Texas Instruments、2004年、p。13
  10. ^ アプリケーションノート1994、マキシム/ダラスセミコンダクター、2003
  11. ^ 「マキシムDS3231m」(PDF)マキシム株式会社2019年3月26日取得
  12. ^ 「高精度リアルタイムクロック」マキシムセミコンダクターズ2017年10月20日取得
  13. ^ 溺死、ダン(2017年2月3日)。「RTC比較」
  14. ^ 「チップスケール原子時計」マイクロセミ2017年10月20日取得
  15. ^ 「リアルタイムクロック/相補型金属酸化膜半導体(RT / CMOS)RAM情報」。IBM PC ATテクニカルリファレンス(PDF)インターナショナルビジネスマシーンズコーポレーション。1984.p。システムボード1–45。
  16. ^ MC146818AリアルタイムクロックプラスRAM(RTC)(PDF)MotorolaInc.1984。
  17. ^ 「ULiM1573サウスブリッジ仕様」AMDboard.com 2007年8月23日取得
  18. ^ https://www.intel.com/Assets/PDF/datasheet/290562.pdf
  19. ^ 「GPSクロック同期」オロリア。2020年12月9日2021年1月6日取得
  20. ^ 「製品:USB電波時計」マインバーグ2017年10月20日取得
  21. ^ 「カレンダーアプリケーション」アメリカ海軍天文台米海軍。2016年4月4日にオリジナルからアーカイブされまし2019年11月7日取得
  22. ^ IBM(1968年9月)、IBM System / 360 Principles of Operation(PDF)、第8版、A22-6821-7 IBMによって改訂された(1970年5月12日)、同上。、GN22-0354およびIBM(1970年6月8日)、同上。、GN22-0361
  23. ^ Digital Equipment Corp. "PDP-8 / E Small Computer Handbook、19" (PDF)ギブソンリサーチ。pp。7–25、DK8EA 2016年11月12日取得

外部リンク