要約
水晶が温度に対して弱いという特性があるため、電子計時は常に高レベルの精度が不足していました。32.768kHzの水晶による精度を向上するため、さまざまな多くの手法が利用されてきました。この記事では、未較正のスタンドアロンのリアルタイムクロック(RTC)に相当する価格で、他に例を見ない計時精度を実現する高度な統合デバイスについて述べます。このデバイスによって、精度向上のための現在の手法は陳腐化し、高精度の計時機能は、ぜいたくな機能ではなく、標準機能として使用することができるようになります。
「人が遅れることはあっても時刻は遅れることはない」
- ベンジャミン・フランクリン
ベンジャミン・フランクリンが、時刻を管理するために水晶とRTCを使用しなければならなかったとしたら、この発言を考え直したかもしれません。水晶は温度に対する精度が悪いため、通常、時刻は遅れる(または時によって早まる)傾向があります。
32.768kHzの音叉型水晶発振器を備えたRTCは、ほとんどの電子アプリケーションで使われる標準の計時リファレンスクロックです。RTCは秒数をカウントすることによって日時を管理するため、32.768kHzの水晶発振器から1Hzのクロック信号を取り出す必要があります。現在の日時情報はレジスタセットに保管され、通信インタフェースを通じてアクセスされます。
問題点
RTCを計時に利用することは本質的に問題はありません。ただし、時刻の精度はファレンスとして使用することにしかなりません。あいにく標準の32.768kHz音叉型水晶発振器では、広範囲の温度にわたって良好な精度を得ることはできません。温度に対して放物線特性を示すため(図1)、精度は一般的に室温(+25°C)で±20ppmです。これは1日当り1.7秒の進みまたは遅れとなり、1年で10.34分の誤差になります。また、図1に示すように、高温や低温では精度は低下します。このような温度での標準精度は150ppmよりもはるかに低下し、1日当りほぼ13.0秒、1年で1.3時間以上の遅れに相当します。
図1. 標準の32.768kHz音叉型水晶発振器の温度対精度
特定の周波数(f)と温度(T)における標準水晶発振器の周波数偏差(Δf)は、次式で表されます。
Δf/f = k(T - To)2 + fo
ここで、fは水晶の公称周波数、kは曲率定数、Tは温度、Toは遷移温度、foは室温における周波数偏差です。
この式を検討すると、温度に対する水晶周波数応答は3つの変数だけで制御されることがわかります。すなわち、曲率定数、遷移温度、室温での周波数偏差です。曲率定数は、温度に対する周波数偏差の放物線特性に対して最も大きく影響しますが、この定数は非常に小さな偏差です。遷移温度が異なると、偏差曲線は左右に移動し、室温での周波数偏差が異なると、曲線は上下に移動します。
いくつかの解決方法
計時精度が要求されるアプリケーションでは、水晶の精度を向上するために有効な選択肢は限られています。水晶の選別、内蔵水晶、較正レジスタ、または温度補償型水晶発振器によってアプリケーションの計時精度を向上することができます。
水晶の選別
計時精度を向上する1つの選択肢は、室温精度が一定の範囲内の水晶を部品メーカに供給させることです。このため部品メーカは、室温における各水晶の周波数偏差を出荷前に検査する必要があります。当然、水晶のコストが増大することになります。この方法は、水晶の精度曲線の放物線特性には何の効果もありません。
選別工程を使用することで、水晶メーカは室温精度が±20ppmから±10ppmまたは±5ppmに向上した水晶のサブセットを供給することができるようになります。このように「改善された」水晶は、高温や低温においては依然として大きく精度が低下します。
求められる精度のレベルと負荷容量に応じて、歩留まり損失も生じます。このため、受け入れ可能な水晶が不足することになります。
部品メーカは、水晶が最初にカットされる角度によって水晶の遷移温度を管理することも可能ですが、実用的ではなくコストがかさみます。水晶メーカは多くの自動化工程を使用していますが、依然として需要に追いつくことに苦労しています。標準外部品のために、部品メーカに製造シーケンスを中断させることは難しいと思われます。
内蔵水晶
水晶の選別工程をさらに一歩進めて、一部の企業は、計時デバイスと同じパッケージに音叉型水晶を内蔵しています。これによって、デバイスメーカが水晶を提供する負担を負うことになります。内蔵水晶を提供することによって、水晶の調達問題が解消され、設計者の作業量が低減します。これによって、水晶のパラメータを計時デバイスの用件に合致させるという問題が軽減され、プリント回路基板(プリント基板)のレイアウト問題を低減することができます。
非垂直統合型の企業では、水晶のパラメータを測定したりトリミングしたりすることは不可能です。このような企業は部品メーカから水晶を購入してチップと水晶を1つのパッケージに組み立てています。このケースでは、精度の向上は期待できません。ダラスセミコンダクタはこのタイプの統合デバイスにDS1337C、DS1338C、DS1339C、DS1340C、およびDS1374Cを提供します。これらは、高精度を必要としないアプリケーションにとって優れたデバイスです。
独自の水晶を製造するその他の企業では、小さな密閉構造のパッケージに水晶ブランク(パッケージ前の水晶)を配置し、特定の精度要件に合致するようにブランクをトリミングすることが可能です。前項で述べたように、この方法では放物曲線は変化せず、室温での精度がわずかに向上するだけです。高温または低温での向上は取るに足らないものです。この方法のマイナス面は、セラミックパッケージと水晶のトリミングによってソリューション全体のコストアップを招くという点です。
温度補償
広範囲の温度にわたって計時精度を達成するには、ある種の温度補償が必要です。温度補償を行うためには、定期的な温度測定と、測定した温度に応じて、水晶の負荷またはクロックソースの調整のいずれかが必要です。
温度補償は、以下の2つの方法のいずれかで行うことができます。最初の選択肢は、計時デバイスとともに温度センサを使用した温度補償アルゴリズムを開発するという方法です。これによって、アナログまたはディジタルによるある種のクロック較正が可能となります。この方法は通常、開発と較正のための大規模な投資が必要です。2番目の選択肢は、RTCのクロックソースとして市販の温度補償型水晶発振器(TCXO)を使用するという方法です。
較正レジスタ
DS1340など、一部のRTCにはディジタル較正レジスタが備わっており、これを使用すると、離散値で時刻を定期的に調整することができます。この方法は、水晶の動作を変更することを目的としたものではなく、指定した温度において予想される周波数偏差にしたがって時刻を定期的に調整するものです。所望の温度で0.0ppmの精度にほぼ等しくなるように32.768kHzの放物曲線を上下に移動させる効果があります。これは、発振器の分周器チェーンからのクロック周期を加算または減算することによって実現することができます。削除(負の較正の場合の減算)または挿入(正の較正の場合の加算)されるクロックパルス数は、較正レジスタの値によって設定されます。クロックパルスを加算すると時刻は早くなり(水晶曲線が上に移動する)、減算すると遅くなります(水晶曲線が下に移動する)。図2は、標準的な水晶曲線が0.0ppmの精度にほぼ等しくなるまで上方に移動した様子を示しています。この例では測定温度は+55°Cです。
図2. 標準的な水晶曲線が0.0ppmの精度にほぼ等しくなるまで上方に移行
較正レジスタを備えたRTCは、温度センサを組み合わせることによって、ある特定の温度において-2.034ppmから+4.068ppmの精度レベルを達成することができます。全体の調整範囲は、-126ppm~+63ppmに及ぶため、極端に高い温度や低い温度では、曲線を調整して0.0ppmの精度を実現することは不可能です。定期的な温度測定、新しい較正レジスタ値の算出、および適切なRTCレジスタの調整を行うには、プロセッサのオーバヘッドが必要となります。
この方法の主な問題点は、工場での較正作業が必要であるということです。各水晶の動作はそれぞれ異なるため、計時デバイスごとに、所望の温度範囲のカスタム較正テーブルが必須となります。このような作業に要する人件費と時間は極めて面倒な問題となります。さらに、較正データを保存するためには、ある一定量の不揮発性メモリも必要となり、全体コストが上昇することになります。また、この補償値は、必然的に生じる水晶の経年変化を補償することはできません。これは最初の1年だけで±3ppmに達する可能性があります。較正レジスタによる手法では、温度変化に応じた自動調整を行うことはできませんが、増分的な精度向上を実現することができます。
温度補償型水晶発振器
計時精度を大きく向上するための別の選択肢は、DS32kHzなど、32.768kHzの温度補償型水晶発振器(TCXO)をスタンドアロンRTCのクロックソースとして使用するという方法です。このデバイスは工場で較正され、工業用温度範囲(-40°C~+85°C)において±7.5ppmという良好な精度が得られます。TCXOの効果は、水晶曲線の温度に対する放物線特性を平坦にできるということです(図3)。
図3. TCXOによって平坦になった水晶曲線
TCXOは、定期的にデバイスの温度を測定するためのセンサを内蔵しています。この測定値を使用して参照テーブルにアクセスします。次にこの参照テーブルの出力を使用して、内蔵の32.768kHz水晶が0.0ppmの精度を達成するための負荷容量値を計算して適用します。参照テーブルはデバイス上に存在するため、外部入力は不要です。
水晶は、製造時に特定の負荷容量に合わせて最適化され、これがデータシートに記載されます。実際の負荷容量がこの記載と一致しない場合、これが公称周波数からの偏差となります。TCXOはこの情報を利用して精度を向上します。特定の水晶について、各温度における周波数偏差の量がわかっている場合、TCXOは、負荷容量を調整することで、温度に依存する周波数の偏差を相殺することができます。
市販のTCXOを使用する利点は、アルゴリズムの開発や工場での較正が不要になるという点です。マイナス面は、マルチチップソリューションによって追加のコストとプリント基板のスペースが必要になるという点です。
最も高精度なソリューション—RTC/TCXO/水晶の統合
理想的な精度の計時デバイスは、RTC、TCXO、および水晶を1つのパッケージに統合することでしょう。DS3231Sがまさにそのデバイスです。0°C~+40°Cの範囲で±2.0ppmという他に例を見ない精度を達成しています。これは、1年でわずか±1.0分に相当する精度です。-40°C~0°Cまたは+40°C~+85°Cの精度は±3.5ppmであり、1年で±1.8分に相当します。このデバイスのワーストケースの精度を図4に示します。前項で述べたように、内蔵のTCXOによって、温度に対する水晶曲線の放物線特性が平坦化されます。
図4. DS3231Sのワーストケースの精度
前述のTCXOソリューションと同様、内蔵デバイスは工場で較正されるため、お客様による較正や開発の作業は不要です。単一パッケージのソリューションによって、より小さな面積に同じ機能を集約することが可能となり、コストを削減することができます。
スタンドアロンのTCXOとは違い、シリアルインタフェースポートを通じて内蔵のデバイスレジスタセットにアクセス可能です。オンチップのエージング調整用レジスタによって、負荷容量と温度補償を調整することができます。これによってアプリケーションは、水晶の経年変化で生じる精度の低下も補償することができます。
まとめ
TCXO、RTC、および32.768kHzの水晶が統合される前は、計時精度を必要とするアプリケーションが利用することのできる選択肢は限られていました。利用できる選択肢はすべて、開発作業、工場での較正、または追加のコストが必要となりました。単一パッケージにRTC/TCXO/水晶を統合したソリューションの登場によって、高精度な計時はぜいたくな機能ではなくなり、あらゆるアプリケーションで利用することのできる機能となっています。