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