リアルタイムクロック(RTC)は、電子機器のカレンダー(年月日)や時間を管理するICです。単に日時の管理のみでなく、アラームやタイマー機能を内包しているのが一般的です。
目次
日時の設定
RTCによって細かい点は変わりますが、一般的に日時は下記表のような構成で保持されています。
- 日時(曜日は除く)はBCD形式で保持するのが一般的です。
- 年は下2桁のみ保持します。このため2000~2099年の間のみ使用できます。
- 曜日の仕様は製品によって異なります。下記表はEPSONの例ですが、少数派です。大多数は3ビットのバイナリーデータです。
スクロールできます
Address | Function | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 |
---|---|---|---|---|---|---|---|---|---|
10 | 秒 | x | 40 | 20 | 10 | 8 | 4 | 2 | 1 |
11 | 分 | x | 40 | 20 | 10 | 8 | 4 | 2 | 1 |
12 | 時 | x | x | 20 | 10 | 8 | 4 | 2 | 1 |
13 | 曜日 | x | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
14 | 日 | x | x | 20 | 10 | 8 | 4 | 2 | 1 |
15 | 月 | x | x | x | 10 | 8 | 4 | 2 | 1 |
16 | 年 | x | 40 | 20 | 10 | 8 | 4 | 2 | 1 |
BCD (Binary-coded decimal)
二進化十進数(BCD)は、コンピューターにおける数値の表現方法の1種です。2進数の4桁(4ビット)で0~9の10個の数だけを扱います。たとえば10進数の「1234」を16進数で…
RTCの精度
RTCの精度は主に周波数精度、周波数電圧特性、周波数温度特性の合計で決まります。RTCのデータシートにはこれらの仕様が必ず記載されているものです。単位としては「ppm」または「10-6」が用いられています。
- 周波数精度
-
基本となる時計の精度です。データシートに「月差xx分」などと記載されていることがありますが、それはこの周波数精度を表します。放っておくと毎月これぐらいは時計がズレますよという指標です。たとえば±23ppmとなっている場合、「23×10-6×60[秒]×60[分]×24[時]×30[日]=59.616[秒]」で月差1分となります。
- 周波数電圧特性
-
電源電圧が変動した際の時計のズレ量です。周波数精度と比べるとずっと小さく、基本的には無視して構いません。
- 周波数温度特性
-
RTCを使用するうえで最も気を付けないといけないのが、この温度特性です。時計の心臓部である水晶の振動周波数は温度によって変わります。
温度特性は一般的に下図のようになっていて、25℃近辺でもっとも精度よく使用でき、それより温度が高くなっても低くなっても誤差は大きくなっていきます。この対策として高性能なRTCでは、温度補償機能を有した物もあります。
小ネタ
32.768kHz
RTCのクロック周波数には、水晶の代表的な振動周波数である32.768kHzが用いられます。一見中途半端に見えますが、2の15乗という値になっています。つまり15回分周することで1Hz(1秒)を作り出せるのです。