• 検索結果がありません。

59.5.1 スリープ中のオシレータ動作

クロック源は、スリープ中にそのクロック源を使うモジュールが存在しなければ、スリープ中 に停止します。以下では、スリープ中の各クロック源の挙動について説明します。

59.5.1.1 スリープ中のプライマリ オシレータ(POSC)の動作

POSCはスリープ時に常に停止します。スリープからの復帰時に起動遅延が適用されます。

59.5.1.2 スリープ中のセカンダリ オシレータの動作

SOSCENビットがセットされていない場合、またはスリープ中に動作するモジュールがSOSC

を使っていない場合、SOSCはスリープ中は停止します。SOSCがスリープ中に停止していた 場合、スリープからの復帰時に起動遅延が適用されます。

59.5.1.3 スリープ中の高速RC(FRC)オシレータの動作 FRCオシレータは、スリープ中は停止します。

59.5.1.4 スリープ中の低消費電力オシレータ(LPRC)の動作 LPRCオシレータは、WDTが無効であれば、スリープ中は停止します。

59.5.2 アイドル中のオシレータ動作

クロック源はアイドル中でも停止しません。アイドルからの復帰時に起動遅延は適用されません。

59.5.3 デバッグモード中のオシレータ動作

オシレータモジュールは、デバイスがデバッグモード中でも動作を続けます。

59.6 各種リセットの影響

全てのデバイスリセット時、OSCCON および SPLLCON レジスタは既定値に設定され、

COSC<2:0>およびPLLICLK<1:0>ビットの値は、デバイスのコンフィグレーションレジスタ で定義されている値に設定されます。オシレータ信号源は、コンフィグレーション レジスタ内 の定義に従ってクロック源に供給されます。また、オシレータ起動遅延が適用されます。

Note: デバイス コンフィグレーションの詳細は各デバイス データシートの「その他の特

殊機能」を参照してください。

DCO を備えた オシレータ 59 59.7 クロック供給に関するガイドライン

59.7.1 水晶振動子とセラミック振動子

HSモードでは、水晶またはセラミック振動子をOSC1およびOSC2ピンに接続して発振回路 を構成します。PIC32のオシレータ回路にはパラレルカット水晶振動子を使う必要があります。

シリーズカット水晶振動子を使うと、水晶振動子メーカーの仕様レンジ外の周波数が発生する 可能性があります。

一般的には、アプリケーション要件を満たす範囲内で可能な限りゲインの低いオシレータオプ ションを選択します。これにより動作電流(IDD)を低く抑える事ができます。各オシレータモー ドの周波数レンジは推奨カットオフ周波数に基づきますが、想定される電圧および温度条件と 部品(抵抗、コンデンサ、内部オシレータ回路等)のばらつきを考慮した完全な検証を行えば、

上記レンジ外のゲインモードでも使用できます。

59.7.2 水晶 / セラミック振動子の起動

デバイスの電圧がVSSから上昇するにつれてオシレータが発振を始めます。オシレータの発振 開始までに要する時間は、以下を含む各種要因によって決まります。

• 水晶/セラミック振動子の周波数

• コンデンサの容量

• 直列抵抗を使う場合、その値とタイプ

• デバイスのVDD立ち上がり時間

• システム温度

• デバイスのオシレータモード(内部オシレータ インバータのゲイン選択)

• 水晶振動子の品質

• オシレータ回路のレイアウト

• システムノイズ

図 59-6に、代表的な水晶/セラミック振動子の起動時挙動を示します。起動してから発振が安 定するまでに一定時間が必要である事に注意してください。水晶振動子を使う各モードの周波 数レンジの詳細は各デバイスデータシートの「電気的特性」を参照してください。

図 59-6: 水晶/セラミック振動子の起動時挙動の例

Voltage

Crystal Start-up Time Device VDD

Maximum VDD of System

0V VIL VIH

59.7.3 オシレータ回路の調整

Microchip社のデバイスは製品やバージョンごとに動作レンジ(周波数/電圧/温度等)が異な り、また、外付け部品(水晶振動子、コンデンサ等)の品質もメーカーによって異なるため、選 択した部品がアプリケーション要件を満たす事を確認するために動作の検証が必要です。外付 け部品の選択と配置には各種の要因を考慮する必要があります。アプリケーションによっても 異なりますが、そのような要因として以下が挙げられます。

• アンプのゲイン

• 目標周波数

• 水晶振動子の共振周波数

• 動作温度

• 電源電圧レンジ

• 起動時間

• 安定性

• 水晶振動子の寿命

• 消費電力

• 回路の複雑さ

• 標準部品の使用

• 部品点数

59.7.3.1 最適オシレータ部品の選択方法

部品の選択においては、多少の知識も必要ですが、それよりも計測とテストを何度も繰り返す 事が重要です。通常、水晶振動子は並列共振周波数だけを基準に選択されますが、他のパラメー タ(温度または周波数公差等)が回路設計にとって重要になる場合もあります。水晶振動子の 動作に関しては、Microchip社のアプリケーション ノートAN588『PIC® Microcontroller Oscillator Design Guide』(DS00588)が参考になります。

PIC32の内部オシレータ回路は並列オシレータ回路を採用するため、並列共振水晶振動子を選

択する必要があります。負荷容量の仕様値は通常22~33 pFです。負荷容量がこのレンジ内 であれば、水晶振動子は目標周波数にきわめて近い周波数で発振します。ただし後述するよう に、他の利点を得るために、これらの値の変更が必要になる場合もあります。

C1とC2の値は、水晶振動子メーカーが推奨する負荷容量値とデバイスのデータシートに記載 されている一覧表に基づいて選択します。ただし、工場での特性評価に使った回路とユーザが 実際に使う回路とでは、水晶振動子のメーカー、電源電圧、基板レイアウトや上記の各種要因 が異なるため、デバイスのデータシートに記載されている値はあくまでも初期候補値としての み使えます。

容量値は、回路の動作において予期される最も高温かつ最もVDDが低い条件でも発振するよう に選択するのが理想的です。高温と低VDD条件はどちらもループゲインを下げる方向に作用す るため、これらが共に最悪な条件で回路を動作させる事ができれば、想定範囲内の全ての温度/ 電源電圧条件で正常な動作を期待できます。ゲインが最大になる条件 (VDD が最高で温度が最 低の条件)では、出力正弦波にクリッピングが生じない事が必要です。また、ゲインが最小に なる条件(VDDが最低で温度が最高の条件)では、出力正弦波の振幅がデバイスのデータシート に記載されているクロックの論理入力要件を十分に満たしている事が必要です。

起動時間を短縮するために、C2の値をC1より大きくするという方法があります。これにより 電源投入時に水晶振動子に生じる位相シフトが大きくなり、オシレータの起動が速くなります。

これらのコンデンサは、水晶振動子の周波数応答を適正にするだけでなく、値を大きくする事 でループゲインを下げる効果も持ちます。C2 の選択は回路の総ゲインに影響します。水晶振 動子がオーバードライブされている場合、C2 の値を大きくするとゲインを下げる事ができま す(RSに関する説明も参照)。ただし、容量が大き過ぎると、充放電によって水晶振動子に過 大な電流が流れるため、C1とC2の値を極端に大きくすべきではありません。水晶振動子に流 れる電流量は簡単に計測できませんが、容量が推奨値から大きく外れなければ、この問題を心 配する必要はありません。

DCO を備えた オシレータ 59

全ての外付け部品をどのように選択しても水晶振動子がオーバードライブされる場合、回路に 直列抵抗RSを追加します。直列抵抗を追加するかどうかは、被駆動側のOSC2ピンをオシロ スコープで観察して判断します。OSC1ピンにプローブを接続すると、ピンに負荷がかかりす ぎて性能が低下します。オシロスコープのプローブが持つ静電容量が回路に追加される事を考 慮に入れる必要があります(つまり、10 pFのプローブで観察した時に、22 pFのC2で回路の 動作が最適であった場合、実際には33 pFのコンデンサが必要です)。出力信号のクリッピン グ(波形ピークが平坦になる事)を防ぐ必要があります。水晶振動子をオーバードライブする と、回路が高次の高調波にジャンプしたり、場合によっては水晶振動子が損傷する可能性があ ります。

OSC2ピンでの信号は、クロック入力ピンの入力最小値と最大値を楽々超える振幅を持つ歪の ない正弦波である事が必要です。そのように回路を設定する簡単な方法として、上記のように 予期される最小温度/ 最大 VDD 条件で回路を動作させて出力信号を観察します。この時のク ロック出力の振幅が、予期される最大振幅です。この条件でクリッピングが生じたり、VDDと VSS付近で正弦波が歪んだりする場合、負荷容量を大きくすると水晶振動子に過大な電流が流 れたり、メーカーの負荷仕様値から大きく逸脱する可能性があります。このような場合、水晶 振動子の出力ピンとC2ピンの間にトリマ ポテンショメータを接続し、歪みのない正弦波にな るように水晶振動子に流れる電流量を調整します。水晶振動子の駆動電流は、温度が最も低く VDDが最も高い条件で最大です。

この限界状態で、オーバードライブが発生しないようにトリマ ポテンショメータを調整しま す。そして、この調整値に最も近い標準値を持つ抵抗を直列抵抗RSとして、トリマの代わり に回路に挿入します。RSが20 k超となる等大きい場合、入力と出力が離れすぎてクロック がノイズの影響を受けやすくなります。水晶振動子のオーバードライブを避けるためにこれほ ど大きな値の直列抵抗が必要になる場合、C2 の値を大きくするか他のオシレータ動作モード を試してください。このようにして、RSが10 kを大きく超えず、負荷容量がメーカーの仕 様値からあまり離れないような組み合わせを見つけてください。

関連したドキュメント