時計の水晶はなぜ 32.768kHz なのか:1Hz を直接作らない理由
32768 は 2 を 15 回掛けた数なので、「半分にする」回路に 15 回通すと、ちょうど 1 秒に 1 回のパルスになります。最初から 1 秒に 1 回振動する水晶を作ればよさそうですが、それができない理由が、この周波数が選ばれた理由そのものです。
32768 = 2 の 15 乗
32768 を 2 で割ると 16384、もう一度割ると 8192、と続けて、15 回目でちょうど 1 になります。32768 = 215 だからで、1 秒に 32768 回振動する水晶があれば、「2 回に 1 回だけ数える」操作を 15 回繰り返して、1 秒に 1 回のパルスが得られます。
この回路は最も単純な部類で、入力のたびに出力を反転させるスイッチ(トグル)が 1 個あれば足ります。入力 2 回に出力 1 往復で、周波数が半分になります。15 個直列にしたものが分周器です。
10000Hz や 100000Hz のような 10 進数の水晶では、「10 回に 1 回」を数える複雑な回路が要ります。2 のべき乗なら、一番簡単な回路の繰り返しで済む。これが 32768 という半端な数の第一の理由です。
それなら 1Hz の水晶を作ればよいのでは
大きすぎて作れません。時計用の水晶は音叉の形で、腕が長いほどゆっくり振動し、周波数は腕の長さの 2 乗に反比例します。1/32768 にするには腕を √32768 ≒ 181 倍にする必要があり、32.768kHz の音叉の腕は 3mm 前後なので、1Hz の音叉の腕は 50cm 以上(3mm × 181 ≒ 54cm)です。腕時計には入らず、長い腕は曲がって周波数も安定しません。水晶が実用的に作れるのは 10kHz 前後より上です。
細かく調整できません。水晶には ±20ppm 程度の個体差があり、1 日で ±1.7 秒ずれます。補正はパルスを 1 回抜いて行います。32768Hz なら 1 秒間の 32768 回から 1 回抜くと 30.5ppm の補正で、さらに数十秒に 1 回抜けば 1ppm 以下まで調整できます。1Hz では最小単位が 1 秒で、100% の補正です。速い振動を数えるから、細かく調整できます。
1 秒より短い時間も作れません。ストップウォッチの 1/100 秒やマイコンを 1/256 秒ごとに起こす処理には、半分にしていく途中の 256Hz や 1024Hz がそのまま使えます。
起動も遅くなります。水晶は発振を始めてから安定するまでに数万回の振動が要り(Q 値が高いため)、32.768kHz でも 0.5〜2 秒かかります。RTC の初期化では、発振の安定を待つ処理(LSERDY フラグなど)が要ります。1Hz なら数時間から半日かかります。
ゆらぎは平均されます。1 回ごとの振動にはわずかなゆらぎ(ジッタ)があり、1 秒のパルスは 32768 回を数えた結果なので、ゆらぎは相殺されて 1 回の振動の 1/√32768 ≒ 1/181 になります。
水晶以外で 1Hz を作る RC 発振(抵抗とコンデンサの充放電)は、精度が 1〜数 % です。1% は 1 日で 15 分のずれで、時計には使えません。水晶の ±20ppm は 500 倍以上正確です。
では、なぜもっと高い周波数にしないのか
4MHz や 10MHz の速い水晶はマイコンのクロックに使われますが、時計に使わない主な理由は電池です。消費電流は周波数に比例します。CMOS 回路は信号が切り替わるたびに電流を消費し、32.768kHz の発振回路と分周器は合わせて 0.3〜1µA で動きます。CR2032 のコイン電池(225mAh)なら計算上 25 年以上、実際にも 5〜10 年もちます。4MHz で動かすと電流は 100 倍以上になり、電池は数週間しかもちません。
音叉型は小さくて安く作れます。32.768kHz の音叉型水晶は世界で最も大量に作られており、2.0mm × 1.2mm のパッケージで数十円です。
可聴域の上にもあります。人の耳に聞こえるのは 20kHz までで、32.768kHz の音叉は振動していても聞こえません。20kHz のすぐ上で、2 のべき乗で、消費電流が十分小さい。その交点が 32768Hz です。
温度による周波数のずれ
音叉型水晶の周波数は 25℃ 付近で最も高く、そこから離れると温度差の 2 乗に比例して下がります(−0.035ppm/℃² 前後)。0℃ や 50℃ では −22ppm、1 日で −1.9 秒です。暑くても寒くても、時計は遅れる方向にずれます。高精度な RTC IC(DS3231 など)は温度センサで補正して ±2ppm を出しています。
水晶まわりの設計
負荷容量でも周波数が動きます。水晶の両端につけるコンデンサ(負荷容量、6pF や 12.5pF)が指定値からずれると周波数もずれ、1pF で 10ppm 前後動くので、基板の浮遊容量まで含めて合わせます。マイコンの RTC には、32 秒間で数パルスを足し引きして ±0.5ppm 刻みで補正する校正レジスタがあります。
発振は弱く駆動されていて、ノイズと漏れに弱くなります。配線は高インピーダンスで、隣の信号線からの結合やフラックス残渣による漏れ電流で、発振が止まったり周波数がずれたりします。水晶は IC の直近に置き、配線を最短にして、周囲を GND で囲み、下に他の信号を通さないのが定石です。
数えて 1 秒を作る利点
速い振動を数える方法には、細かく調整できる、細かい時間も得られる、ゆらぎが平均される、という利点があります。32768Hz は、水晶を作れる下限(10kHz 台)と電池がもつ上限(100kHz 以下)の間にある、2 のべき乗で耳に聞こえない周波数で、制約をすべて満たす唯一に近い値です。
消費電流と電池寿命の見積もりにはmAh→Wh の計算機と消費電力の計算機を、周波数と周期の換算には周波数⇔波長を使ってください。
よくある質問
32768 以外の 2 のべき乗(16384Hz や 65536Hz)ではだめですか。
分周器とは何ですか。
±20ppm は時計としてどのくらいの精度ですか。
マイコンの内蔵 RC 発振器で RTC を動かせますか。
参考にした規格・資料
- 各水晶振動子メーカ(Epson、Micro Crystal、村田製作所など)の技術資料 — 音叉型水晶の構造、温度特性、負荷容量と周波数の関係、起動時間
- 各マイコンメーカのリファレンスマニュアル(RTC の校正レジスタ) — パルスの足し引きによる ppm 単位の校正
- Maxim/Analog Devices DS3231 データシート — 温度補償 RTC の精度と補正方式