マイクロコントローラーのクロックソースの重要性

Mark Harris
|  投稿日 2021/10/26, 火曜日  |  更新日 2024/07/1, 月曜日
マイクロコントローラーのクロックソースの重要性

マイクロコントローラーはクロックソースに依存しています。プロセッサ、バス、周辺機器はすべて、クロックを使用して動作を同期させます。クロックは、プロセッサが命令を実行する速度を決定するため、パフォーマンスの基本となります。一方、クロックソースはどれほど重要なのでしょうか?マイクロコントローラーのクロック周波数とは何で、精度は重要なのでしょうか?簡単に言えば、その答えは状況により異なります。つまり、マイクロコントローラーの役割とそのインターフェースにより異なります。

ここでは2つのことを考慮する必要があります。1つは、物事が実行される速度を決定するクロックの速度。もう1つは、各クロックが時を刻む間の期間の一貫性とクロック速度の経時的変化を意味するクロックの精度です。

クロックソースが重要な理由

マイクロコントローラーの中央プロセッサは、特定の機能を実行する論理ブロックの同期チェーンと考えることができます。マイクロコントローラーシステムのクロックが遅すぎると、処理に時間がかかります。クロックが速すぎると、次のセットが始まる前に必要な操作を完了するのに十分な時間がない可能性があります。プロセッサは、ダイナミックメモリからインターフェースピンまで、さまざまなコンポーネントブロックと連携します。クロック速度に重大なエラーがあると、内蔵マイクロコントローラーの動作に予測できない結果が生じます。

データサンプリング

マイクロコントローラーのクロック信号は、アナログからデジタルへの操作の変換レートを制御します。 クロックの速度によって、アナログ信号をサンプリングできる最大レートが決まります。クロックの精度によって、サンプリングレートの精度が決まります。たとえば、タイムスタンプ付きで1秒に2回サンプルを記録しているとします。その場合、クロック周波数に生じた1%のエラー(内蔵オシレーターではよくあることです)が、サンプルのタイムスタンプと壁掛け時計に表示される時間がずれ始めるまでにそれほど時間はかかりません。クロックソースに1%のエラーが生じることにより、サンプリングのタイムスタンプは毎日14分以上ずれることになりますます。

波形生成

データのサンプリングに関しては、マイクロコントローラーのクロック信号がデジタルからアナログへの操作の変換レートを制御します。クロック速度により、アナログ信号用に生成できる最大周波数が決まります。クロック精度により、生成される波形の精度が決まります。

非同期シリアル通信

マイクロコントローラーのクロック信号には、非同期通信の管理という重要な役割があり、クロック信号により、受信データストリームがいつサンプリングされるか、スタートビットが受信されるか、各データビット間の遷移がいつ起こるかに基づき、送信データストリームの波形が決定されます。

非同期通信では、送信機と受信機には、データストリームのエンコードとデコードに同じクロック速度を使用する必要があります。ただし、これらのクロックを同期する必要はありません。十分に等しいクロックレートが必要となるだけです。これは、信号線で最初のエッジを検出したときに受信側が受信データストリームの処理を開始するためです。次に、正しいタイミングでデータビットをサンプリングするために、データストリームの持続時間に対して正しいクロックレートを維持する必要があります。必要な精度は、データをサンプリングする期間により異なります。各データビットには、データの値が不確定となる信号の立ち上がりエッジと立ち下がりエッジがある可能性があり、従って、データが有効でサンプリングできるエッジ間の期間が対象となります。

このサンプリング期間は、通信リンクのタイプと長さによって異なります。伝送距離が長く、容量の大きいケーブルを使用すると、立ち上がり時間と立ち下がり時間が長くなります。ノイズが存在すると、信号が安定するまでの時間が長くなる可能性もあります。

また、クロックスピードやメッセージフォーマットによっても異なります。短いデータストリームの場合、新しいデータストリームを受信するたびにサンプリングクロックがリセットされるため、精度要件は非常に緩くなるかもしれませんが、長いデータストリームを使用する高速シリアル通信では、より高い精度が求められる可能性があります。たとえば、 CANバスプロトコルは、システム・クロック・スキューの影響を非常に受けやすく、水晶ベース以外のクロック信号ソースを使用すると問題が発生する可能性があります。

UARTデバイスを例にとると、UART受信機はすべてのフレームの開始時に同期するため、絶対クロックレートは重要ではないことがわかります。この問題により、送信UARTクロックと受信 UARTクロックの許容差は単純化されます。

クロックソースオプション

通常、特定のマイクロコントローラーのクロックソースを選択する際には、いくつかの異なるオプションから選択できます。特定のオプションは、使用するマイクロコントローラーのクロックの製造業者とモデルにより異なるため、ここではすべての標準オプションについて説明します。

主に精度、コスト、コンポーネント数が異なるさまざまなオプションがあり、すべての優れたマイクロコントローラーに含まれている内部クロックソースを使用するのが最も安価で簡単なオプションですが、通常は精度が低くなります。外部クロックソースを使用すると精度が向上しますが、回路基板にコンポーネントを追加する必要があり、設計が複雑になります。

どのオプションを選択するかは、必要なパフォーマンス、基板スペース、予算により決まります。特定のマイクロコントローラーのクロック信号を生成するための代替オプションが常にいくつかあるため、特定のデバイスのデータシートを調べてください。これにより、一般に、使用できるクロックソースの種類と、それらを最適に実装する方法に関する有用な情報が得られます。

内蔵オシレーター

マイクロコントローラーには通常、基本クロック信号を生成するための内蔵抵抗コンデンサーオシレーターと、周波数逓倍機能を提供するためのフェーズロックループが付属しています。内蔵オシレーターを使用する際の問題は、周波数安定度が低い外付けオシレーターよりも精度が大幅に低下することです。マイクロコントローラーチップの内部は、定義上、RC回路を配置するのに理想的とは言えません。これは、RC回路の温度依存性が高いことに加え、本質的にコンポーネントの許容範囲が広いことに起因します。通常、適切な熱管理機能を備えたマイクロコントローラーは、1%~5%の範囲の精度でクロック信号を送信でき、低速の非同期通信バスの一部や低周波アナログ信号処理の管理にはこれで十分かもしれませんが、ほとんどの典型的なアプリケーションでは、精度が低すぎて使えません。

フェーズロックループを使用して、より正確な外部クロック信号で内部クロック信号を修正できるようにすることで、内蔵オシレーターの性能を向上させることができるとはいえ、外部クロック信号が利用可能な場合は、マイクロコントローラーにこれを防ぐ特定の制約がない限り、内部クロックの代わりにこれを使用するほうがよいでしょう。

外付けオシレーター

マイクロコントローラーのクロックソースは主に2種類あります。水晶共振器やセラミック共振器などの機械的共振器と、パッシブRCオシレーターです。

オシレーターの最も基本的な形態はRC回路で、内蔵発振回路を模していますが、より高い精度値の部品を使用した熱管理技術を使用して、マイクロコントローラーのクロックや回路の他の発熱要素により発生する熱から部品を隔離しています。これにより精度が少なくとも1桁は向上しますが、外付けオシレーターとしては最も精度の低いオプションであり、比較的類似したコストとフットプリントサイズの面でより優れたソリューションがあります。RC回路によって生成されるクロックも、電源レベルの変動の影響を受け、電気的干渉を受けやすく、ほとんどの一般的なアプリケーションでの使用が制限されます。

水晶オシレーターは 、高精度のクロック信号が必要な外付けオシレーターの最も一般的な形式です。クォーツ水晶とそのサポート回路により、優れた安定性と精度を実現しています。典型的な低コストの水晶オシレーターは、精度が100万分の1パーセントを超えることがあります。これは、極めて時間に敏感なアプリケーション以外の用途であれば、十分使用できる高い精度です。ただし、クォーツ水晶は環境要因の影響を受ける可能性があり、追加の保護が必要になる場合があります。クォーツ水晶用のサポート回路は、回路の残りの部分と統合するために追加のインピーダンス整合を必要とする高インピーダンス出力をもたらす可能性もあります。予算にゆとりがあり、ディスクリート部品ではなく市販の水晶オシレーターモジュールを使用する場合は環境の影響を受けにくくなり、より簡単に基板を設計することができます。それらは一般に、ディスクリート水晶を使用するのと非常に類似した精度で、回路設計の残りの部分との統合をより簡単にする低インピーダンス方形波出力を提供します。

代替オプションは、約0.05%の精度で実装が簡単なIC共振器回路を内蔵したシリコンオシレーターです。外付けのRC回路よりはわずかに優れていますが、水晶オシレーターほど優れているわけではありません。ただし、シリコンオシレーターは水晶オシレーターよりも頑丈で信頼性が高く、デバイスが激しい機械的振動を受ける可能性のある動作環境に最適です。

最後に、水晶オシレーターほど正確ではありませんが、シリコンオシレーターよりも正確なセラミック共振器も利用可能です。圧電セラミック材料で製造されるこれらの共振器は、共振機械振動を使用してクロック信号を生成します。その主な利点は、水晶オシレーターとそのサポート部品よりもフットプリントが小さいシンプルな完全パッケージで提供されることです。ただし、水晶オシレーターと同様、温度、湿度、振動、電気的干渉などの環境要因に敏感です。

外付けオシレーターを選択する場合、オプションの消費電力が決定要因になるかもしれません。ディスクリート発振回路の消費電力は、主に帰還増幅器の供給電流とその容量値によって決まります。標準的な水晶発振回路は数十mAを消費します。セラミック共振器回路は通常、水晶オシレーターに必要な値よりも大きな負荷容量値を必要とし、より多くの電力を必要とします。シリコンオシレーターの消費電力は、主に動作周波数に比例します。それでも、数mAを消費する低電力デバイスから数十mAを消費する標準デバイスまで、さまざまなオプションがあります。

まとめ

要約すると、マイクロコントローラー に使用する必要があるクロック信号は、主に、内蔵デバイスの性質とその動作環境に依存します。高速非同期通信バスと高周波アナログ信号とのインターフェースの場合は、正確なクロック信号が必要となります。寒暖差が激しい場所や、高レベルの電磁干渉、機械的振動など、過酷な環境でデバイスを動作させる必要がある場合は、選択肢が限定されます。一方、時間が厳密である必要もなく、あるいは環境的に厳しい要件がないマイクロコントローラーのクロックであれば、より安価なソリューションでも問題がないかもしれません。

詳細をお知りになりたい場合は、製品ページで詳細な機能説明をご覧になるか、Altiumの担当者までお問い合わせください。

筆者について

筆者について

Mark Harrisは「技術者のための技術者」とでも言うべき存在です。エレクトロニクス業界で12年以上にわたる豊富な経験を積んでおり、その範囲も、航空宇宙や国防契約の分野から、小規模製品のスタートアップ企業や趣味にまで及んでいます。イギリスに移り住む前、カナダ最大級の研究機関に勤務していたMarkは、電子工学、機械工学、ソフトウェアを巻き込むさまざまなプロジェクトや課題に毎日取り組んでいました。彼は、きわめて広範囲にまたがるAltium Designer用コンポーネントのオープンソース データベース ライブラリ (Celestial Database Library) も公開しています。オープンソースのハードウェアとソフトウェアに親しんでおり、オープンソース プロジェクトで起こりがちな日々の課題への取り組みに求められる、固定観念にとらわれない問題解決能力を持っています。エレクトロニクスは情熱です。製品がアイデアから現実のものになり、世界と交流し始めるのを見るのは、尽きることのない楽しみの源です。

Markと直接やり取りする場合の連絡先: mark@originalcircuit.com

関連リソース

ホームに戻る
Thank you, you are now subscribed to updates.