注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジ ナルの英語版をご参照願います。 セクション 42. 拡張 PLL を備えたオシレータ ハイライト 42 本セクションには以下の主要項目を記載しています。 はじめに ..................................................................................................................... 42-2 制御レジスタ ............................................................................................................. 42-4 動作 : クロック生成とクロック源 ............................................................................ 42-14 割り込み ................................................................................................................... 42-30 省電力モード中の動作 ............................................................................................. 42-30 各種リセットの影響 ................................................................................................. 42-31 クロック供給に関するガイドライン ....................................................................... 42-31 関連アプリケーション ノート ................................................................................. 42-34 改訂履歴 ................................................................................................................... 42-35 © 2014 Microchip Technology Inc. Preliminary DS60001250A_JP - p. 42-1 拡張 PLL を備えた オシレータ 42.1 42.2 42.3 42.4 42.5 42.6 42.7 42.8 42.9 PIC32 ファミリ リファレンス マニュアル Note: ファミリ リファレンス マニュアルの本セクションは、デバイス データシートの補 足を目的としています。本書の内容は PIC32 ファミリの一部のデバイスには対応 していません。 本書の内容がお客様のご使用になるデバイスに対応しているかどうかは、最新デバイス データシート内の「オシレータ コンフィグレーション」の冒頭に記載している注意書き でご確認ください。 デバイス データシートとファミリ リファレンス マニュアルの各セクションは、Microchip 社のウェブサイト (http://www.microchip.com) からダウンロードできます。 42.1 はじめに 本書では、PIC32 のオシレータ システムとその動作について説明します。PIC32 のオシレータ システムは以下のモジュールと機能を備えます。 • クロック源として選択可能な 5 つの外部および内部オシレータ オプション • 入力分周比 / 逓倍比 / 出力分周比を選択可能な内蔵位相ロックループ (PLL) ( 内部および外部 オシレータ信号源の動作周波数を逓倍可能 ) • オシレータ信号源を分周する内蔵ポストスケーラ ( 分周比は選択可能 ) • ソフトウェア制御によるクロック源の切り換え • 柔軟な参照クロック出力 • 周辺モジュール向けに周波数の異なる複数のクロックを生成可能 ( 性能の柔軟性が向上 ) • クロック障害を検出し、アプリケーションを安全に回復またはシャットダウンするフェイル セーフ クロック監視 (FSCM) 機能 • クロック障害発生時に 8 MHz クロックを供給する事でクラス B 動作をサポートするための 専用バックアップ高速 RC オシレータ (BFRC) ( 一部の PIC32 デバイスでのみ利用可能。利 用の可否は各デバイス データシート内の「オシレータ コンフィグレーション」参照 ) PIC32 オシレータ システムのブロック図を図 42-1 に示します。 DS60001250A_JP - p. 42-2 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ 図 42-1: PIC32 ファミリ オシレータ システムのブロック図 この図は PIC32 オシレータ モジュールを全般的に説明するためのものであり、全てのデバイスが全ての機能を実 装しているわけではありません。ご使用になるデバイスで利用可能な機能については、各デバイス データシート内 の「オシレータ コンフィグレーション」を参照してください。 Note: (12 or 24 MHz only) From POSC USB Clock (USBCLK) USB PLL Reference Clock(5) UPLLEN REFOxCON UPLLFSEL System PLL N FIN(6) Fvco(6) PLL x M PLLIDIV<2:0> PLLRANGE<2:0> (N) PLLMULT<2:0> PLLICLK (M) PLLODIV<2:0> (N) N FSYS (6) REFOxTRIM ROTRIM<8:0> (M) M 2 N + ---------- 512 RODIV<4:0> (N) OE 42 REFCLKOx FREF(6) To SPI, ADC, SQI ‘x’ = 1-4 SPLL ROSEL<3:0> SPLL Primary Oscillator (POSC) OSC1 C1(3) RP(1) RF(2) XTAL Enable RS(1) C2 (3) POSC (HS, EC) Peripheral Bus Clock(5) Peripherals, CPU Postscaler PBCLKx PBxDIV<6:0> (N) ‘x’ = 1-8 OSC2(4) To ADC and Flash FRC Oscillator 8 MHz typical Postscaler N FRCDIV<2:0> (N) TUN<5:0> Backup FRC Oscillator 8 MHz typical LPRC Oscillator SYSCLK FRCDIV BFRC LPRC 31.25 kHz typical Secondary Oscillator (SOSC) SOSCO 32.768 kHz SOSC SOSCEN Clock Control Logic SOSCI 凡例 : Fail-Safe Clock Monitor 一部のデバイスは、影付きの破線で囲んだ機能を複数個実 装しています。詳細は、各デバイス データシート内の「オ シレータ コンフィグレーション」を参照してください。 FSCM INT FSCM Event NOSC<2:0> COSC<2:0> OSWEN FCKSM<1:0> WDT, PWRT, RTCC Timer1, RTCC Note 1: 2: 3: 4: 5: 6: AT ストリップカット水晶振動子を使う場合や、クリッピングを防ぐ必要がある場合、直列抵抗 Rs が必要になる事が あります。あるいは、オシレータ回路のゲインを高くする必要がある場合、1 M の並列抵抗 RP を追加します。 内部フィードバック抵抗 RF の標準的なレンジは 2 ~ 10 M です。 42.7.3.1「最適オシレータ部品の選択方法」を参照してください。 特定のクロックモードでは、OSC2 ピンから PBCLK1 を 2 分周したクロックを出力できます。 この機能は一部の PIC32 デバイスのみで利用可能です。利用の可否は各デバイス データシート内の「オシレータ コンフィグレーション」を参照してください。 FSYS 周波数の制限については、各デバイス データシート内の「電気的特性」を参照してください。 © 2014 Microchip Technology Inc. Preliminary DS60001250A_JP - p. 42-3 拡張 PLL を備えた オシレータ REFCLKIx POSC FRC LPRC SOSC PBCLK1 SYSCLK BFRC PIC32 ファミリ リファレンス マニュアル 42.2 制御レジスタ オシレータ モジュールは下記の特殊機能レジスタ (SFR) を備えています。 • OSCCON: オシレータ制御レジスタ このレジスタはクロック切り換えを制御し、使用中のクロック源、PLL ロック、クロック 障害条件を監視するためのステータス情報を提供します。 • OSCTUN: FRC Tuning Register(1) このレジスタは、ソフトウェアによる内部 FRC オシレータ周波数の調整に使います。こ のレジスタを使う事で、FRC オシレータ周波数を ±12% の範囲で調整できます。 • SPLLCON: システム PLL 制御レジスタ このレジスタは、システムクロック PLL を制御するために使います。このレジスタを使う と、入力周波数よりも高いシステム周波数を生成できます。 • REFOCON/REFOxCON: 参照オシレータ制御レジスタ このレジスタは参照オシレータ出力を制御します。 • REFOTRIM/REFOxTRIM: 参照オシレータ調整レジスタ このレジスタは参照オシレータの微調整に使います。 • PBxDIV: 周辺モジュールバス「x」クロック分周比制御レジスタ (「x」= 1 ~ 8) このレジスタは、個々の周辺モジュール クロックに対してシステムクロックの分周比を設 定するために使います。 Note: DS60001250A_JP - p. 42-4 オシレータ モジュール関連の設定には、上記のレジスタに加えてデバイス コン フィグレーション ワードレジスタも使います。これらのレジスタの詳細について は、各デバイス データシート内の「その他の特殊機能」を参照してください。 Preliminary © 2014 Microchip Technology Inc. © 2014 Microchip Technology Inc. 特殊機能レジスタの一覧 42.2.1 表 42-1 に、オシレータ モジュールに関連するレジスタの一覧を示します。その後に、各レジスタの詳細な説明を記載しています。 表 42-1: オシレータ関連 SFR の一覧 名称 OSCCON OSCTUN Bit Bit 31/15 Bit 30/14 Bit 29/13 Bit 28/12 Bit 27/11 Bit 26/10 レンジ 31:16 — 15:0 — 31:16 — — — — COSC<2:0> — — — Bit 25/9 Bit 24/8 — FRCDIV<2:0> — NOSC<2:0> — — DRMEN SOSCRDY — — ULOCK — — 15:0 — — — — — — — — — — PLLODIV<2:0> — 15:0 — — — — — PLLIDIV<2:0> PLLICLK REFOCON/ 31:16 REFOxCON 15:0 — ON — Bit 22/6 CLKLOCK 31:16 SPLLCON — — Bit 23/7 — Bit 21/5 Bit 20/4 Bit 19/3 — — SLOCK SLPEN — — Bit 118/2 — — CF — — — Bit 17/1 Bit 16/0 — — SOSCEN OSWEN — — TUN<5:0>(1) — PLLMULT<6:0> — — — — — — — — — — — PLLRANGE<2:0> RODIV<14:0> — SIDL OE RSLP — DIVSWEN ACTIVE — ROSEL<3:0> — — — — — — — — — — — — — — — — — — — PBxDIV 31:16 — — — — — — — — — — — — — — — — 15:0 ON — — — PBDIVRDY — — — — Note 1: ROTRIM<8:0> PBDIV<6:0> 一部のデバイスでは、これらのビットを利用できません。利用の可否については、各デバイス データシート内の「オシレータ コンフィグレーション」を参照してください。 DS60001250A_JP - p. 42-5 セクション 42. 拡張 PLL を備えたオシレータ Preliminary REFOTRIM/ 31:16 REFOxTRIM 15:0 42 拡張 PLL を備えた オシレータ PIC32 ファミリ リファレンス マニュアル レジスタ 42-1: OSCCON: オシレータ制御レジスタ ビット レンジ 31:24 23:16 15:8 7:0 Bit Bit 31/23/15/7 30/22/14/6 U-0 U-0 Bit 29/21/13/5 U-0 Bit Bit 28/20/12/4 27/19/11/3 U-0 U-0 Bit 26/18/10/2 Bit 25/17/9/1 Bit 24/16/8/0 R/W-0 R/W-0 FRCDIV<2:0> R/W-1 — — — — — R/W-0 R-0 U-0 U-0 U-0 U-0 — R-y COSC<2:0> R-0 SLOCK — R-y — U-0 — R/W-0, HS CF(2) — R/W-y DRMEN(1) SOSCRDY U-0 R-y — R/W-0 R-0 CLKLOCK ULOCK(1) R/W-0 SLPEN U-0 — U-0 — R/W-y NOSC<2:0> R/W-y SOSCEN U-0 — R/W-y R/W-y OSWEN(3) 凡例 : y = POR 時にコンフィグレーション ビットの値に設定 HS = ハードウェアでセット R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットをクリア x = ビットは未知 bit 31-27 未実装 :「0」として読み出し bit 26-24 FRCDIV<2:0>: 内部高速 RC (FRC) オシレータ クロック分周比ビット 111 = FRC を 256 分周する 110 = FRC を 64 分周する 101 = FRC を 32 分周する 100 = FRC を 16 分周する 011 = FRC を 8 分周する 010 = FRC を 4 分周する 001 = FRC を 2 分周する 000 = FRC を 1 分周する (POR 時の既定値 ) bit 23 DRMEN: ドリームモード イネーブルビット (1) 1 = ドリームモードを有効にする 割り込み発生時に CPU をスリープから復帰させずに DMA 転送を実行できる 0 = ドリームモードを無効にする 動作中の周辺モジュールが生成する全ての割り込みは CPU を復帰させる bit 22 SOSCRDY: セカンダリ オシレータ (Sosc) レディ表示ビット 1 = SOSC は安定動作中 0 = SOSC は動作準備中または動作していない bit 21-15 未実装 :「0」として読み出し bit 14-12 COSC<2:0>: 切り換え前オシレータ選択ビット 111 = FRCDIV<2:0> の設定に従って分周した高速 RC オシレータ (FRC) 110 = バックアップ高速 RC オシレータ (BFRC) ( このクロックへの切り換えはハードウェア FSCM によっ て行われます。ユーザがこのクロックを選択する事はできません )(1) 101 = 低消費電力 RC (LPRC) オシレータ 100 = SOSC 011 = 予約済み ( 使用禁止 ) 010 = プライマリ オシレータ (POSC) (HS および EC モード ) 001 = システム PLL (SPLL) 000 = FRCDIV<2:0> の設定に従って分周した FRC オシレータ これらのビットが利用可能かどうかと、これらのビットの定義は、デバイスによって異なります。詳細は 各デバイス データシート内の「オシレータ コンフィグレーション」を参照してください。これらのビッ トは、リセット時に FNOSC コンフィグレーション ビット (DEVCFG1<2:0>) の値に設定されます。 一部のデバイスではこのビットまたは機能を利用できません。利用の可否は各デバイス データシート内 の「オシレータ コンフィグレーション」を参照してください。 2: このビットに「1」を書き込むと、FSCM クロック切り換えが発生します。 3: このビットのリセット値は、IESO ビット (DEVCFG1<7>) の値によって決まります。IESO ビットが「1」 の場合、OSWEN ビットは「1」にリセットされ、FRC から DEVCFG1 および DEVCFG2 レジスタで選 択されているオシレータ オプションへの切り換えがトリガされます。 Note: このレジスタに書き込むには、ロック解除シーケンスを実行する必要があります。詳細は 42.3.7.2「オシ レータ切り換えシーケンス」を参照してください。 Note 1: DS60001250A_JP - p. 42-6 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ レジスタ 42-1: OSCCON: オシレータ制御レジスタ ( 続き ) bit 11 未実装 :「0」として読み出し bit 10-8 NOSC<2:0>: 切り換え後オシレータ選択ビット 111 = FRCDIV<2:0> の設定に従って分周した FRC 110 = 予約済み ( 使用禁止 ) 101 = LPRC 100 = SOSC 011 = 予約済み ( 使用禁止 ) 010 = POSC (HS および EC モード ) 001 = SPLL 000 = FRCDIV<2:0> の設定に従って分周した FRC bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 これらのビットが利用可能かどうかと、これらのビットの定義は、デバイスによって異なります。詳細は 各デバイス データシート内の「オシレータ コンフィグレーション」を参照してください。これらのビッ トは、リセット時に FNOSC<2:0> コンフィグレーション ビット (DEVCFG1<2:0>) の値に設定されます。 CLKLOCK: クロック選択ロック イネーブルビット 1 = クロックと PLL の選択をロックする 0 = クロックと PLL は変更可能 CLKLOCK を一度セットすると、デバイスリセットが発生するまでクリアできません。このビットがセッ トされている場合、NOSC<2:0> および OSWEN ビットへの書き込みは禁止されます。 ULOCK: USB PLL ロック ステータスビット (1) 1 = USB PLL モジュールはロックされている、または USB PLL モジュールの起動タイマは終了した 0 = USB PLL モジュールはロックされていない、または USB PLL モジュールの起動タイマが作動中、また は USB PLL は無効 SLOCK: システム PLL ロック ステータスビット 1 = システム PLL モジュールはロックされている、またはモジュール起動タイマは終了した 0 = システム PLL モジュールはロックされていない、またはモジュール起動タイマが作動中、またはシス テム PLL は無効 SLPEN: スリープモード イネーブルビット 1 = WAIT 命令の実行によってデバイスはスリープに移行する 0 = WAIT 命令の実行によってデバイスはアイドルに移行する CF: クロック障害検出ビット (2) 1 = FSCM がクロック障害を検出した 0 = クロック障害は検出されていない 未実装 :「0」として読み出し SOSCEN: セカンダリ オシレータ (SOSC) イネーブルビット 1 = SOSC を有効にする 0 = SOSC を無効にする POR 時の既定値は FSOCSEN ビット (DEVCFG1<5>) で設定します。 OSWEN: オシレータ切り換えイネーブルビット (3) 1 = NOSC<2:0> ビットが指定するオシレータへの切り換えを開始する 0 = オシレータ切り換えは完了した 一部のデバイスではこのビットまたは機能を利用できません。利用の可否は各デバイス データシート内 の「オシレータ コンフィグレーション」を参照してください。 2: このビットに「1」を書き込むと、FSCM クロック切り換えが発生します。 3: このビットのリセット値は、IESO ビット (DEVCFG1<7>) の値によって決まります。IESO ビットが「1」 の場合、OSWEN ビットは「1」にリセットされ、FRC から DEVCFG1 および DEVCFG2 レジスタで選 択されているオシレータ オプションへの切り換えがトリガされます。 Note: このレジスタに書き込むには、ロック解除シーケンスを実行する必要があります。詳細は 42.3.7.2「オシ レータ切り換えシーケンス」を参照してください。 Note 1: © 2014 Microchip Technology Inc. Preliminary DS60001250A_JP - p. 42-7 拡張 PLL を備えた オシレータ bit 7 42 PIC32 ファミリ リファレンス マニュアル レジスタ 42-2: OSCTUN: FRC 調整レジスタ ビット レンジ 31:24 23:16 15:8 7:0 Bit 31/23/15/7 Bit 30/22/14/6 Bit 29/21/13/5 Bit 28/20/12/4 Bit 27/19/11/3 Bit 26/18/10/2 Bit 25/17/9/1 Bit 24/16/8/0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 — — — — — — — — U-0 U-0 U-0 U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — R/W-0 R/W-0 — — — U-0 U-0 U-0 — — — U-0 — U-0 — U-0 — R/W-0 R/W-0 R/W-0 R/W-0 TUN<5:0>(1) 凡例 : y = POR 時にコンフィグレーション ビットの値に設定 R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットをクリア bit 31-6 未実装 :「0」として読み出し bit 5-0 TUN<5:0>: FRC オシレータ調整ビット (1) 100000 = 中心周波数 -12.5% 100001 = • • • 111111 = 000000 = 中心周波数 ( オシレータは公称周波数 (8 MHz) で動作する ) 000001 = • • • 011110 = 011111 = 中心周波数 -12.5% x = ビットは未知 Note 1: OSCTUN レジスタを設定する事で、FRC 周波数に対する温度の影響を幅広いレンジで補償できます。上 記の周波数調整量は近似値であり、正確な特性値ではありません。 Note: このレジスタに書き込むには、ロック解除シーケンスを実行する必要があります。詳細は 42.3.7.2「オシ レータ切り換えシーケンス」を参照してください。 DS60001250A_JP - p. 42-8 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ レジスタ 42-3: SPLLCON: システム PLL 制御レジスタ ビット レンジ 31:24 23:16 15:8 7:0 Bit 30/22/14/6 Bit 29/21/13/5 Bit 28/20/12/4 Bit 27/19/11/3 Bit 26/18/10/2 Bit 25/17/9/1 Bit 24/16/8/0 U-0 U-0 U-0 U-0 U-0 R/W-y — — — — R/W-y PLLODIV<2:0> R/W-y — U-0 R/W-y R/W-y R/W-y R/W-y PLLMULT<6:0> R/W-y R/W-y R/W-y U-0 U-0 U-0 U-0 R/W-y R/W-y PLLIDIV<2:0> R/W-y U-0 — U-0 U-0 — U-0 — R/W-y — U-0 — R/W-y PLLICLK — R/W-y R/W-y PLLRANGE<2:0> 凡例 : y = POR 時にコンフィグレーション ビットの値に設定 R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットをクリア x = ビットは未知 bit 31-27 未実装 :「0」として読み出し bit 26-24 PLLODIV<2:0>: システム PLL (SPLL) 出力クロック分周比ビット これらのビットの詳細と利用の可否については、各デバイス データシート内の「オシレータ コンフィグ レーション」を参照してください。 これらのビットの既定値設定は、DEVCFG2 レジスタの FPLLODIV<2:0> コンフィグレーション ビットで 指定します。詳細は各デバイス データシート内の「その他の特殊機能」を参照してください。 bit 23 未実装 :「0」として読み出し bit 22-16 PLLMULT<6:0>: システムクロック PLL 逓倍比ビット これらのビットの詳細と利用の可否については、各デバイス データシート内の「オシレータ コンフィグ レーション」を参照してください。 これらのビットの既定値設定は、DEVCFG2 レジスタの FPLLMUL<6:0> コンフィグレーション ビットで 指定します。詳細は各デバイス データシート内の「その他の特殊機能」を参照してください。デバイスで 利用可能なその他のビット値については、各デバイス データシート内の「オシレータ コンフィグレーショ ン」を参照してください。 bit 15-11 未実装 :「0」として読み出し bit 10-8 PLLIDIV<2:0>: SPLL 入力クロック分周比ビット これらのビットの詳細と利用の可否については、各デバイス データシート内の「オシレータ コンフィグ レーション」を参照してください。 これらのビットの既定値設定は、DEVCFG2 レジスタの FPLLIDIV<2:0> コンフィグレーション ビットで 指定します。詳細は各デバイス データシート内の「その他の特殊機能」を参照してください。 bit 7 PLLICLK: SPLL 入力クロック源ビット 1 = FRC を SPLL への入力として選択する 0 = POSC を SPLL への入力として選択する POR 時の既定値は、DEVCFG2 レジスタの FPLLICLK コンフィグレーション ビットで指定します。詳細 は各デバイス データシート内の「その他の特殊機能」を参照してください。 bit 6-3 未実装 :「0」として読み出し bit 2-0 PLLRANGE<2:0>: SPLL 周波数レンジ選択ビット これらのビットの詳細と利用の可否については、各デバイス データシート内の「オシレータ コンフィグ レーション」を参照してください。 POR 時の既定値は、DEVCFG2 レジスタの FPLLRANGE<2:0> コンフィグレーション ビットで指定しま す。詳細は各デバイス データシート内の「その他の特殊機能」を参照してください。 Note 1: このレジスタに書き込むには、ロック解除シーケンスを実行する必要があります。詳細は 42.3.7.2「オシ レータ切り換えシーケンス」を参照してください。 2: SPLL をクロック源として選択 (COSC<2:0> = 001) している場合、このレジスタへの書き込みは禁止さ れます。 © 2014 Microchip Technology Inc. Preliminary DS60001250A_JP - p. 42-9 42 拡張 PLL を備えた オシレータ Bit 31/23/15/7 PIC32 ファミリ リファレンス マニュアル レジスタ 42-4: REFOCON/REFOxCON: 参照オシレータ制御レジスタ ビット レンジ Bit 31/23/15/7 Bit 30/22/14/6 Bit 29/21/13/5 Bit 28/20/12/4 Bit 27/19/11/3 U-0 R/W-0 R/W-0 R/W-0 R/W-0 31:24 — R/W-0 23:16 R/W-0 U-0 R/W-0 RODIV<7:0>(3) R/W-0 R/W-0 ON U-0 — SIDL OE U-0 U-0 U-0 — — — — (5) 7:0 RODIV<14:8> R/W-0 R/W-0 R/W-0 15:8 凡例 : R/W-0 凡例 : HC = ハードウェア クリア可能ビット R = 読み出し可能ビット W = 書き込み可能ビット -n = POR 時の値 1 = ビットはセット (2) RSLP R/W-0 Bit 26/18/10/2 Bit 25/17/9/1 Bit 24/16/8/0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 R/W-0, HC R-0, HS, — DIVSWEN ACTIVE R/W-0 R/W-0 R/W-0 (3) ROSEL<3:0> (1,3) HS = ハードウェア セット可能ビット U = 未実装ビット、「0」として読み出し 0 = ビットをクリア x = ビットは未知 bit 31 未実装 :「0」として読み出し bit 30-16 RODIV<14:0>: 参照クロック分周比ビット (1,3) 出力クロック周波数は、源クロック周波数 /2 × [RODIV + (ROTRIM 512)] です。この値は以下のように 参照クロック分周比を選択します。詳細は図 42-1 を参照してください。 111111111111111 = 出力クロック周波数 = 源クロック周波数 /65,534 111111111111110 = 出力クロック周波数 = 源クロック周波数 /65,532 • • • 000000000000010 = 出力クロック周波数 = 源クロック周波数 /4 000000000000001 = 出力クロック周波数 = 源クロック周波数 /2 000000000000000 = 出力クロック周波数 = 源クロック周波数 ( 分周しない ) ON: 出力イネーブルビット (1) 1 = 参照オシレータ モジュールを有効にする 0 = 参照オシレータ モジュールを無効にする 未実装 :「0」として読み出し SIDL: アイドル中周辺モジュール停止ビット 1 = デバイスがアイドルに移行するとモジュールは動作を停止する 0 = デバイスがアイドル中でもモジュールは動作を継続する OE: 参照クロック出力イネーブルビット 1 = REFCLKOx ピンで参照クロックを出力する 0 = REFCLKOx ピンで参照クロックを出力しない RSLP: スリープ中参照オシレータ モジュール動作ビット (2) 1 = スリープ中も参照オシレータ モジュール出力は動作を継続する 0 = スリープ中に参照オシレータ出力は停止する bit 15 bit 14 bit 13 bit 12 bit 11 Note 1: 2: 3: 4: 5: Note: ACTIVE ビットが「1」の時に ROSEL<3:0> および RODIV<14:0> ビットに書き込まないでください。書 き込んだ場合の結果は不確定です。 ROSEL<3:0> ビットが「0000」または「0001」の場合、このビットは無視されます。 ON ビット (REFOCON<15>) が「1」の時にこれらのビットに書き込んだ場合、その効果は DIVSWEN ビットが「1」にセットされるまで反映されません。 このビット設定は、BFRC オシレータを備えたデバイスでのみ選択可能です。利用の可否は各デバイス データシート内の「オシレータ コンフィグレーション」を参照してください。 ON ビットと ACTIVE ビットの値が一致していない時にこのレジスタに書き込まないでください。 一部のデバイスではこのレジスタを利用できません。利用の可否は各デバイス データシート内の「オシ レータ コンフィグレーション」を参照してください。 DS60001250A_JP - p. 42-10 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ レジスタ 42-4: REFOCON/REFOxCON: 参照オシレータ制御レジスタ ( 続き ) bit 10 bit 9 未実装 :「0」として読み出し DIVSWEN: 分周比切り換えイネーブルビット 1 = 分周比切り換えを実行中 0 = 分周比切り換えは完了した ACTIVE: 参照クロック要求ステータスビット 1 = 参照クロック要求はアクティブ 0 = 参照クロック要求は非アクティブ 未実装 :「0」として読み出し ROSEL<3:0>: 参照クロック源選択ビット (1) 1111 = 予約済み ( 使用禁止 ) • • • 1001 = BFRC オシレータ未実装デバイスでは予約済み ( 使用禁止 ) = BFRC(4) 1000 = REFCLKI 0111 = システム PLL 0110 = 予約済み ( 使用禁止 ) 0101 = SOSC 0100 = LPRC 0011 = FRC 0010 = POSC 0001 = PBCLK/PBCLK1 0000 = SYSCLK bit 8 bit 7-4 bit 3-0 2: 3: 4: 5: Note: 拡張 PLL を備えた オシレータ Note 1: 42 ACTIVE ビットが「1」の時に ROSEL<3:0> および RODIV<14:0> ビットに書き込まないでください。書 き込んだ場合の結果は不確定です。 ROSEL<3:0> ビットが「0000」または「0001」の場合、このビットは無視されます。 ON ビット (REFOCON<15>) が「1」の時にこれらのビットに書き込んだ場合、その効果は DIVSWEN ビットが「1」にセットされるまで反映されません。 このビット設定は、BFRC オシレータを備えたデバイスでのみ選択可能です。利用の可否は各デバイス データシート内の「オシレータ コンフィグレーション」を参照してください。 ON ビットと ACTIVE ビットの値が一致していない時にこのレジスタに書き込まないでください。 一部のデバイスではこのレジスタを利用できません。利用の可否は各デバイス データシート内の「オシ レータ コンフィグレーション」を参照してください。 © 2014 Microchip Technology Inc. Preliminary DS60001250A_JP - p. 42-11 PIC32 ファミリ リファレンス マニュアル レジスタ 42-5: REFOTRIM/REFOxTRIM: 参照オシレータ調整レジスタ ビット レンジ 31:24 23:16 15:8 7:0 Bit 31/23/15/7 Bit 30/22/14/6 Bit 29/21/13/5 R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0 ROTRIM<0> — — U-0 U-0 U-0 — — — U-0 — U-0 — U-0 — Bit 28/20/12/4 Bit 27/19/11/3 R/W-0 R/W-0 ROTRIM<8:1> Bit 26/18/10/2 Bit 25/17/9/1 Bit 24/16/8/0 R/W-0 R/W-0 R/W-0 U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — 凡例 : y = POR 時にコンフィグレーション ビットの値に設定 R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットをクリア x = ビットは未知 bit 31-23 ROTRIM<8:0>: 参照オシレータ調整ビット 111111111 = RODIV 値に分周比 511/512 を加算する 111111110 = RODIV 値に分周比 510/512 を加算する • • • 100000000 = RODIV 値に分周比 256/512 を加算する • • • 000000010 = RODIV 値に分周比 2/512 を加算する 000000001 = RODIV 値に分周比 1/512 を加算する 000000000 = RODIV 値に分周比 0/512 を加算する bit 22-0 未実装 :「0」として読み出し Note 1: 2: 3: 4: ON ビット (REFOCON<15>) が「1」の時にこのビットに書き込んだ場合、その効果は DIVSWEN ビット が「1」にセットされるまで反映されません。 ON ビット (REFOxCON<15>) と ACTIVE ビット (REFOxCON<8>) の値が一致していない時にこのレジ スタに書き込まないでください。 RODIV<14:0> (REFOxCON<30:16>) = 0 の場合、このレジスタで指定した値は効力を持ちません。 一部のデバイスではこのレジスタを利用できません。利用の可否は各デバイス データシート内の「オシ レータ コンフィグレーション」を参照してください。 DS60001250A_JP - p. 42-12 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ レジスタ 42-6: PBxDIV: 周辺モジュールバス「x」クロック分周比制御レジスタ (「x」= 1 ~ 8) ビット レンジ Bit 31/23/15/7 Bit 30/22/14/6 Bit 29/21/13/5 Bit 28/20/12/4 Bit 27/19/11/3 Bit 26/18/10/2 Bit 25/17/9/1 Bit 24/16/8/0 31:24 U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 U-0 U-0 — — — U-0 — U-0 — U-0 — U-0 — U-0 — 23:16 15:8 7:0 U-0 U-0 — — U-0 — R-1 PBDIVRDY U-0 — U-0 — U-0 — U-0 R/W-x R/W-x R/W-x R/W-x PBDIV<6:0> R/W-x R/W-x R/W-x — 凡例 : R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットをクリア x = ビットは未知 bit 31-16 未実装 :「0」として読み出し bit 15 ON: 周辺モジュールバス「x」出力クロック イネーブルビット (1) 1 = 出力クロックを有効にする 0 = 出力クロックを無効にする bit 14-12 未実装 :「0」として読み出し bit 11 PBDIVRDY: 周辺モジュールバス「x」クロック分周レディビット 1 = クロック分周ロジックは分周比を切り換え中ではなく、PBxDIV<6:0> ビットは書き込み可能 0 = クロック分周ロジックは分周比を切り換え中であり、PBxDIV<6:0> ビットは書き込み不可 bit 10-7 未実装 :「0」として読み出し bit 6-0 PBDIV<6:0>: 周辺モジュールバス「x」クロック分周比制御ビット 1111111 = SYSCLK を 128 分周して PBCLKx を生成する 1111110 = SYSCLK を 127 分周して PBCLKx を生成する • • • 0000011 = SYSCLK を 4 分周して PBCLKx を生成する 0000010 = SYSCLK を 3 分周して PBCLKx を生成する 0000001 = SYSCLK を 2 分周して PBCLKx を生成する ( x 7 の場合の既定値 ) 0000000 = SYSCLK を 1 分周して PBCLKx を生成する ( x = 7 の場合の既定値 ) デバイスが PBCLK を 1 つだけ実装している場合、POR 時の既定値は DEVCFG1 レジスタの FPDIV<6:0> コンフィグレーション ビットで指定します。デバイスが複数の PBCLK を実装している場合、POR 時の 既定値はデバイスごとに決まっており、ユーザによる設定はできません。詳細は各デバイス データシート 内の「オシレータ コンフィグレーション」と「その他の特殊機能」を参照してください。 Note 1: 周辺モジュールバス 1 のクロックは OFF にできません。従って、PB1DIV レジスタの ON ビットに「0」を 書き込む事はできません。 Note 1: このレジスタに書き込むには、ロック解除シーケンスを実行する必要があります。詳細は レータ切り換えシーケンス」を参照してください。 42.3.7.2「オシ 2: 一部のデバイスではこのレジスタを利用できません。利用の可否は各デバイス データシート内の「オシ レータ コンフィグレーション」を参照してください。 © 2014 Microchip Technology Inc. Preliminary DS60001250A_JP - p. 42-13 42 拡張 PLL を備えた オシレータ R/W-1 ON(1) PIC32 ファミリ リファレンス マニュアル 42.3 動作 : クロック生成とクロック源 PIC32 ファミリのデバイスは、内部または外部のクロック源を使って生成する複数の内部ク ロックを備えています。これらのクロック源の一部は、PLL とプログラマブルな出力分周器ま たは入力分周器 ( もしくはその両方 ) を使って、入力周波数をアプリケーションに適した周波 数にスケーリングします。動作中に、ソフトウェアでクロック源を切り換える事ができます。 オシレータ制御レジスタはハードウェアでロックされるため、ソフトウェアでクロック切り換 えを実行する前に、ロック解除シーケンスを実行する必要があります。 PIC32 は以下の 3 種類のメインクロックを備えます。 • システムクロック (SYSCLK) • 1 つまたは複数の周辺モジュールバス クロック (PBCLKx) • USB クロック (USBCLK) これらの PIC32 クロックの生成には、以下のいずれかのクロック源を使います。 • • • • • プライマリ オシレータ (POSC): OSC1 および OSC2 ピンを使用 セカンダリ オシレータ (SOSC): SOSCI および SOSCO ピンを使用 内部高速 RC (FRC) オシレータ 内部バックアップ FRC (BFRC) オシレータ 内部低消費電力 RC (LPRC) オシレータ Note: 一部のデバイスだけが BFRC オシレータを実装しています。利用の可否は各デバ イス データシート内の「オシレータ コンフィグレーション」を参照してください。 クロック源ごとに設定可能なオプション (PLL、入力分周比、出力分周比等 ) が異なります。こ れらについては後で詳しく説明します。 Note: 42.3.1 外部クロックを使う周辺モジュール ( リアルタイム クロック / カレンダ (RTCC)、 Timer1 等 ) のクロック源については、PIC32 ファミリ リファレンス マニュアルの 『セクション 14. タイマ』(DS60001105) と『セクション 29. リアルタイム クロッ ク / カレンダ』(DS60001125) を参照してください。 システムクロック (SYSCLK) の生成 SYSCLK の生成には、以下の 4 種類あるクロック源のいずれかを使います。 • POSC • SOSC • 内部 FRC オシレータ • LPRC オシレータ 一部のクロック源では、固有のクロック逓倍または分周 ( もしくはその両方の ) オプションを 選択できます。 ユーザが値を指定しない限り、クロックのスケーリングは適用されません。 SYSCLK のクロック源はデバイス コンフィグレーションで選択しますが、動作中にソフトウェ アで変更できます。動作中にクロック源を切り換える事ができるため、状況に応じて低速クロッ クに切り換える事で、アプリケーションの消費電力を低減できます。 表 42-2 に、SYSCLK の生成に使えるオシレータとシステム PLL の組み合わせを示します。 DS60001250A_JP - p. 42-14 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ 表 42-2: クロック選択コンフィグレーション ビットの値 オシレータモード ポストスケーラ併用 FRC オシレータ (FRCDIV) LPRC オシレータ SOSC (Timer1/RTCC) オシレータ PLLICLK POSCMOD<1:0> (Note 4 参照 ) ソース FNOSC<2:0> (Note 4 参照 ) 参照 Note 内部 x xx 111 1、2 内部 x xx 101 1 セカンダリ x xx 100 1 1 10 001 3 1 00 001 3 HS モードの POSC プライマリ x 10 010 — EC モードの POSC プライマリ x 00 010 — PLL モジュール併用 FRC オシレータ (FRCPLL) 内部 0 10 001 1 ポストスケーラ併用 FRC オシレータ (FRCDIV) 内部 x xx 000 1 OSC2 ピンの機能 (PBCLK1 出力またはデジタル I/O) は、OSCIOFNC コンフィグレーション ビット (DEVCFG1<10>) で指定します。選択したオシレータモードが OSC2 ピンを使わない場合、このピンの 機能はこれらのどちらかに設定できます。 2: 既定値 ( デバイスが未プログラムまたは消去後の状態 ) のオシレータモード 3: PLL 併用モードを使う場合、PLL に入力される周波数がデバイス データシート内の「電気的特性」で指 定されているレンジに収まるように入力分周比を選択する必要があります。 4: DEVCFG1 および DEVCFG2 レジスタについては、デバイス データシート内の「その他の特殊機能」と 『PIC32 ファミリ リファレンス マニュアル、セクション 32. コンフィグレーション』(DS60001124) を参 照してください。 Note 1: © 2014 Microchip Technology Inc. Preliminary DS60001250A_JP - p. 42-15 42 拡張 PLL を備えた オシレータ PLL モジュール併用 HS モードの POSC (HSPLL) プライマリ PLL モジュール併用 EC モードの POSC (ECPLL) プライマリ PIC32 ファミリ リファレンス マニュアル 42.3.1.1 プライマリ オシレータ (POSC) プライマリ オシレータ (POSC) が備える 4 種類の動作モードを図 42-2、表 42-3、図 42-4 に示 します。 表 42-3: プライマリ オシレータの動作モード オシレータモード Note: 概要 HS 高速水晶振動子 EC 外部クロック入力 HSPLL 高速水晶振動子、PLL 併用 ECPLL 外部クロック入力、PLL 併用 プリスケーラ、ポストスケーラ、PLL 逓倍器を経由して最終的に CPU に供給され るクロックの周波数は、プロセッサの最大許容周波数以下である事が必要です。詳 細は各デバイス データシート内の「電気的特性」を参照してください。 図 42-2: 水晶振動子またはセラミック振動子の回路 (HS または HSPLL オシレータモード ) To Internal Logic OSC1 C1(3) RP(1) RF(2) XTAL Enable RS(1) C2(3) Note 1: PIC32 OSC2 AT ストリップカット水晶振動子を使う場合やクリッピングを防ぐ必要がある場 合、直列抵抗 Rs が必要になる事があります。あるいは、オシレータ回路のゲイン を高くする必要がある場合、1 M の並列抵抗 RP を追加します。 2: 内部フィードバック抵抗 RF の標準的なレンジは 2 ~ 10 M です。 3: 42.7.3.1「最適オシレータ部品の選択方法」を参照してください。 PIC32 デバイスファミリでは、POSC を OSC1 および OSC2 ピンに接続します。POSC は、外 部クロック入力または外部の水晶 / セラミック振動子向けに設定できます。 HS および HSPLL モードは、外部の水晶またはセラミック振動子を使うコントローラ オシレー タモードです。HS オシレータモードの場合、OSC2 ピンを水晶 / セラミック振動子のフィード バック用に使います。このためOSC2ピンを入力または出力として使う事はできません。HSPLL モードでは、入力分周比および逓倍比と出力分周比を設定可能な PLL を併用するため、幅広い レンジの出力周波数を生成できます。PLL を有効にすると、オシレータ回路の消費電流は増加 します。 外部クロックモード (EC、ECPLL) では、外部クロック源を使ってシステムクロックを生成で きます。EC および ECPLL モードの場合、OSC1 ピンは CMOS ドライバで駆動可能なハイイ ンピーダンス入力として設定されます。EC モードでは、外部クロックを使って SYSCLK を直 接駆動します。ECPLL モードでは、プリスケーラおよびポストスケーラを備えた PLL を使っ て入力クロック周波数を変更できます。外部クロックモードでは、内部フィードバック バッ ファが無効になるため、OSC2 ピンを他の機能向けに使えます。外部クロックモードでは、 OSC2 ピンは図 42-3 のように追加のデバイス I/O ピンとして使う事も、図 42-4 のように PBCLK 出力ピンとして使う事もできます。 Note: DS60001250A_JP - p. 42-16 PLL 併用モードを使う場合、PLL に入力される周波数がデバイス データシート内 の「電気的特性」で指定されているレンジに収まるように入力分周比を選択する必 要があります。 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ 図 42-3: 外部クロック入力 (EC、ECPLL モード ) 動作 - クロック出力無効時 Clock from External System OSC1 PIC32 I/O I/O (OSC2) OSCIOFNC (DEVCFG1<10>) = 1 図 42-4: 外部クロック入力 (EC、ECPLL モード ) 動作 - クロック出力有効時 PBCLK, or PBCLK1 divided by 2 拡張 PLL を備えた オシレータ Clock from External System OSC1 PIC32 OSC2 (Clock Out) OSCIOFNC (DEVCFG1<10>) = 0 42.3.1.1.1 プライマリ オシレータ (POSC) の設定 POSC は以下の手順で設定します。 1. 2. 3. 4. デバイス コンフィグレーション レジスタ DEVCFG1 の FNOSC<2:0> ビットを「010」(PLL を使わない場合 ) または「001」(PLL を使う場合 ) に設定して、POSC を既定値オシレータ として選択する。PLL を使う場合、DEVCFG2 レジスタの FPLLICLK ビットをセットする (FRC ではなく POSC に PLL を併用して SYSCLK を駆動する )。 DEVCFG1 レジスタの POSCMOD<1:0> ビットで HS または EC モードのどちらかを選択 する。 PLL を併用する場合 : a) DEVCFG2 レジスタの FPLLIDIV<2:0> ビットで、PLL 入力分周比を適切に選択して PLL 入力周波数をスケーリングする ( 入力周波数はデバイスの仕様レンジ内である 事が必要。詳細は各デバイス データシート内の「電気的特性」を参照 )。 b) DEVCFG2 レジスタの FPLLRNG<2:0> ビット (DEVCFG2<6:4>) で、逓倍器に入力 する周波数のレンジを選択する。 c) DEVCFG2 レジスタの FPLLMUL<2:0> ビットで PLL 逓倍比を選択する。 d) DEVCFG1 レジスタの FPLLODIV (DEVCFG1<29:27>) ビットで、目標の SYSCLK 周波数が得られるように PLL 出力分周比を選択する。 DEVCFGx レジスタの値はデバイスリセット時に OSCCON および SPLLCON レジスタに コピーされる。実行中にこれらのレジスタを変更する事で調整も可能。 Note 1: DEVCFG1 および DEVCFG2 レジスタについては、デバイス データシート内の「そ の他の特殊機能」と『PIC32 ファミリ リファレンス マニュアル、セクション 32. コ ンフィグレーション』(DS60001124) を参照してください。 2: OSCTUN レジスタへの書き込みを実行する前に、ロック解除シーケンスが必要で す。詳細は 42.3.7.2「オシレータ切り換えシーケンス」を参照してください。 © 2014 Microchip Technology Inc. Preliminary 42 DS60001250A_JP - p. 42-17 PIC32 ファミリ リファレンス マニュアル 42.3.1.1.2 オシレータ起動タイマ (OST) 水晶振動子 ( またはセラミック振動子 ) を確実に起動して安定させるために、オシレータ起動 タイマ (OST) を使います。OST は 1024 TOSC サイクルをカウントする単純な 10 ビットカウン タです。このカウントが終了した後に、システムへのオシレータ クロックの供給が始まりま す。このタイムアウト時間を TOST と表記します。オシレータ信号の振幅がオシレータピンの しきい値 VIL および VIH に達すると、OST はサイクルのカウントを始めます。 パワーオンリセット (POR) 時、ブラウンアウト リセット (BOR) 時、スリープモードからの復 帰時にオシレータを再起動するたびに TOST 遅延が必要です。OST は POSC の HS モードと SOSC に適用されます (42.3.1.2「セカンダリ オシレータ (SOSC)」参照 )。 Note: POSC を EC または ECPLL モード向けに設定した場合、オシレータ起動タイマは 無効です。 42.3.1.1.3 スリープからのプライマリ オシレータの起動 プライマリ オシレータ回路を設計する際は、スリープから確実に復帰できるように注意が必要 です。復帰時は、両方の負荷コンデンサがある程度充電され、位相差が最小になります。この ため、発振が安定するまでに通常よりも長い時間を要します。また、低電圧条件、高温度条件、 周波数の低いクロックモードではループゲインが制限されるため、これらの条件も起動時間を 長引かせる要因となります。 起動時間を長引かせる要因として以下が挙げられます。 • • • • • • 低周波数回路 ( 低ゲインのクロックモードを使用 ) ノイズの少ない環境 ( バッテリ駆動型機器等 ) シールドされたボックス内での動作 ( ノイズの多い RF エリアから隔離した場合 ) 低電圧 高温度 スリープからの復帰 42.3.1.1.4 プライマリ オシレータのピン機能 プライマリ オシレータを使わない場合、プライマリ オシレータピン (OSCI/OSCO) は他の機能 向けに使えます。 オシレータピンの機能は、オシレータ コンフィグレーション (FOSC<1:0>) レジスタの POSCMD コンフィグレーション ビットで指定します。 OSC2 ピンの機能は、OSCIOFNC ビット (DEVCFG1<10>) で指定します。OSCIOFNC の機能 については、各デバイス データシート内の「その他の特殊機能」を参照してください。 42.3.1.2 セカンダリ オシレータ (SOSC) セカンダリ オシレータ (SOSC) は、外部の 32.768 kHz 水晶振動子を使う低消費電力動作向けの オシレータです。このオシレータは SOSCO および SOSCI ピンを使い、低消費電力動作用の 補助的な水晶振動子クロック源として機能します。このオシレータは、リアルタイム クロック (RTC) アプリケーション向けに、Timer1 またはリアルタイム クロック / カレンダ (RTCC) モ ジュール ( もしくはその両方 ) を駆動する事もできます。 42.3.1.2.1 SOSC の有効化 SOSC は、FSOSCEN コンフィグレーション ビット (DEVCFG1<5>) によってハードウェアで 有効になります。DEVCFG1 コンフィグレーション レジスタについては、デバイス データシー ト内の「その他の特殊機能」と『PIC32 ファミリ リファレンス マニュアル、セクション 32. コ ンフィグレーション』(DS60001124) を参照してください。ソフトウェアは、SOSCEN ビット (OSCCON<1>) を変更する事によって SOSC を制御できます。SOSCEN ビットをセットすると セカンダリ オシレータが有効になります。この場合、セカンダリ オシレータは SOSCO およ び SOSCI ピンを制御するため、これらのピンを I/O ポートやその他の機能向けに使う事はでき ません。 Note: OSCCON レジスタへの書き込みを実行する前に、ロック解除シーケンスが必要で す。詳細は 42.3.7.2「オシレータ切り換えシーケンス」を参照してください。 SOSC がクロック源として使用可能になるまでに、ウォームアップ時間が必要です。オシレー タを有効にすると、ウォームアップ カウンタが 1024 までインクリメントします。このカウン トが終了すると、SOSCRDY ビット (OSCCON<22>) は「1」にセットされます。42.3.1.1.2 「オシレータ起動タイマ (OST)」を参照してください。 DS60001250A_JP - p. 42-18 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ 42.3.1.2.2 SOSC を常時動作させる SOSCEN ビット (OSCCON<1>) をセットすると、SOSC は常時動作します。このオシレータを 常時動作させておくと、低消費電力動作用の 32 kHz システムクロックに素早く切り換える事 ができます。ただし、セカンダリ オシレータから高速のメインオシレータ ( 水晶振動子および / または PLL を使用 ) へ戻る際には、やはりオシレータ起動時間が必要です (42.3.1.1.2「オシ レータ起動タイマ (OST)」参照 )。 また、リアルタイム クロック アプリケーションでは、セカンダリ オシレータを常時動作させ る必要があります (Timer1 用に必要な場合もあります )。詳細は PIC32 ファミリ リファレンス マニュアルの『セクション 14. タイマ』(DS60001105) と『セクション 29. リアルタイム クロッ ク / カレンダ』(DS60001125) を参照してください。 例 42-1: OSCCON |= 2; SYSKEY = 0x0; // // // // // // // // // Ensure OSCCON is locked Write Key1 to SYSKEY Write Key2 to SYSKEY OSCCON is now unlocked Make the desired change Enable Secondary Oscillator Relock the SYSKEY Write any value other than Key1 or Key2 OSCCON is relocked 外部クロック源による SOSC 水晶振動子の代わりに外部の 32.768 kHz クロック源を使って SOSCI ピンを駆動する事もでき ます。この場合も SOSCEN ビットはセットしておく必要がありますが、SOSCO ピンは I/O ピ ンとして使えます。 42.3.1.4 内部高速 RC (FRC) オシレータ FRC オシレータはユーザ設定可能な入力分周器、PLL 逓倍器、出力分周器を備えた内部高速 RC オシレータです ( 公称値 8 MHz)。ユーザによる周波数の微調整も可能です。FRC オシレー タの詳細は各デバイス データシート内の「オシレータ コンフィグレーション」を参照してく ださい。 42.3.1.4.1 FRC ポストスケーラモード (FRCDIV) 内部高速オシレータをクロック源として使う場合、公称値 8 MHz 以外の FRC 出力も生成でき ます。FRC に出力分周器 ( ポストスケーラ ) を併用する FRCDIV モードでは、分周比を選択す る事により、8 MHz をそのまま出力する以外に、これよりも低い 7 通りのクロック周波数を選 択できます。出力分周比は FRCDIV<2:0> ビット (OSCCON<26:24>) で設定します。FRC の公 称出力周波数 (8 MHz) からは、4 MHz (2 分周 ) ~ 31 kHz (256 分周 ) の周波数を生成できます。 FRCDIV<2:0> ビットの設定を変更するだけで、いつでも簡単に周波数を低減してアプリケー ションの消費電力を削減できます。 42.3.1.4.2 PLL 併用 FRC オシレータ モード (FRCPLL) FRCにPLLを併用し、PLL逓倍比と出力分周比を選択する事で、幅広い周波数レンジでSYSCLK を生成できます。FRC PLL モードを選択するには、COSC<2:0> ビット (OSCCON<14:12>) を 「001」に設定します。PLL 逓倍比と出力分周比を選択する事で、目標のデバイス周波数を生成 できます。 42.3.1.4.3 オシレータ調整レジスタ (OSCTUN) FRC オシレータ調整レジスタ OSCTUN を使うと、FRC オシレータの出力周波数を約 ±12% (typical) のレンジで微調整できます。このレジスタの調整ビット値を増減すると、FRC オシ レータの工場校正周波数が一定量変化します。 Note: © 2014 Microchip Technology Inc. OSCTUN レジスタへの書き込みを実行する前に、ロック解除シーケンスが必要で す。詳細は 42.3.7.2「オシレータ切り換えシーケンス」を参照してください。 Preliminary DS60001250A_JP - p. 42-19 拡張 PLL を備えた オシレータ SYSKEY = 0x0; SYSKEY = 0xAA996655; SYSKEY = 0x556699AA; 42.3.1.3 42 SOSC の有効化 PIC32 ファミリ リファレンス マニュアル 42.3.1.5 内部バックアップ高速 RC (BFRC) オシレータ 一部のデバイスはバックアップ高速 RC オシレータ (BFRC) を備えています。このオシレータ は、FSCM がクロック障害を検出した時に 8 MHz クロックを供給する事で、クラス B 動作を サポートします。このオシレータをプライマリ SYSCLK として選択する事はできません。BFRC はバックアップ クロック専用として設計されています。従って、工場で FRC と同等の精度ま で校正されていません。利用の可否は各デバイス データシート内の「オシレータ コンフィグ レーション」を参照してください。 42.3.1.6 内部低消費電力 RC (LPRC) オシレータ LPRC オシレータは、FRC とは別のオシレータです。このオシレータは公称値 31.25 kHz で発 振します。LPRC オシレータはパワーアップ タイマ (PWRT)、ウォッチドッグ タイマ (WDT)、 フェイルセーフ クロックモニタ (FSCM)、位相ロックループ (PLL) 参照回路用のクロック源で す。また、タイミング精度よりも低消費電力が重視されるアプリケーションでは、LPRC オシ レータを使ってデバイスに低周波数のクロックを供給する事もできます。 42.3.1.6.1 LPRC オシレータの有効化 LPRC オシレータは PWRT 用のクロック源として使われるため、内蔵電圧レギュレータが有効 な場合、LPRC は POR 時に動作します。PWRT が終了した後も、以下の条件の 1 つが真であ れば、LPRC オシレータは動作を続けます。 • フェイルセーフ クロックモニタが有効 • WDT が有効 • LPRC オシレータが SYSCLK として選択されている (COSC<2:0> = 100) 上記の条件がどれも真ではない場合、LPRC は PWRT が終了すると停止します。 42.3.2 PLL クロック ジェネレータ 42.3.2.1 システムクロックの位相ロックループ (PLL) システムクロック用 PLL は、POSC の HS および EC モードと内部 FRC オシレータモードで使 う事ができ、入力分周比、逓倍比、出力分周比を設定する事で、1 つのクロック源から各種の クロック周波数を生成できます。 入力分周比、逓倍比、出力分周比の制御初期値ビットは、DEVCFG2 デバイス コンフィグレー ション レジスタに格納されています。逓倍比ビットと出力分周比ビットは、OSCCON レジス タにも格納されています。デバイスリセット時に、デバイス コンフィグレーション レジスタ DEVCFG2 内の値が OSCCON レジスタにコピーされます。このため、デバイスをプログラミ ングする際に、PLL に適切な入力周波数を供給可能な PLL 入力分周比、PLL 逓倍比、出力分周 比の初期値を設定できます。動作中は、ソフトウェアで逓倍比と出力分周比を変更する事で、 アプリケーションに適したクロック周波数にスケーリングできます。 PLL は以下の手順で設定します。 1. 2. PLL 入力分周比、PLL 逓倍比、PLL 出力分周比の値を求める。 デバイスをプログラミングする際に、DEVCFG2 レジスタで PLL 入力分周比、入力クロッ ク、レンジ、逓倍比 / 出力分周比の初期値を設定する。 これらの 4 つの設定値は、実行時にアプリケーションに適するよう SPLLCON を使って変 更できます。 3. Note: DS60001250A_JP - p. 42-20 DEVCFG2 コンフィグレーション レジスタについては、デバイス データシート内 の「その他の特殊機能」と『PIC32 ファミリ リファレンス マニュアル、セクショ ン 32. コンフィグレーション』(DS60001124) を参照してください。 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ 例 42-2 に、200 MHz で動作するシステム向けのコンフィグレーション例を示します。 例 42-2: 200 MHz 動作向けの設定例 #include <xc.h> #pragma #pragma #pragma #pragma #pragma #pragma #pragma config config config config config config config POSCMOD = EC FNOSC = SPLL FPLLICLK = PLL_POSC FPLLIDIV = DIV_3 FPLLRNG = RANGE_5_10_MHz FPLLMUL = MUL_50 FPLLODIV = DIV_2 // // // // // // // External Clock Mode System Clock is through System PLL Input to PLL is from Primary Oscillator Divide input by 3 Input to PLL will be in 5-10 MHz range after division Multiply frequency by 50 Divide VCO output by 2 42.3.2.2 PLL ロックステータス PLL が安定した出力を供給し始めるまでに一定時間を要するため、SLOCK ステータスビット (OSCCON<5>) によって PLL の状態が示されます。PLL へのクロック入力が変更されると、こ のビットは LOW (0) になります。このビットは、PLL がロックを完了するか、PLL 起動タイマ が終了した時点でセットされます。このビットは、PLL がロックを完了していなくても、タイ マが終了するとセットされます。 PLL ロックステータス ビットは、PLL のロック状態を示します。このビットは、PLL がロック を完了するまでに要する標準的な遅延時間 (TLOCK) が経過した後に自動的にセットされます。 PLL がこの遅延時間中に安定しなかった場合、SLOCK ビットは PLL のロック状態を正しく反 映しません。また、正常動作中に PLL ロックを喪失した場合も、SLOCK ビットには反映され ません。PLLSLOCK ビットは、PLL を併用するクロック源への切り換え時と POR 時にクリア されます。PLL を併用しないクロック源が選択されている場合、LOCK ビットはクリア状態を 保持します。PLL ロック遅延の詳細は、各デバイス データシート内の「電気的特性」を参照し てください。 42.3.3 周辺モジュールバス クロック (PBCLKx) の生成 一部の PIC32 は複数の PBCLK を内蔵し、アプリケーションに応じて各種の周辺モジュールを 異なるバス速度で動作させる事ができます。デバイスが PBCLK を実装しているかどうかと、 各周辺モジュールバスで利用可能な周辺モジュールについては、各デバイス データシート内の 「オシレータ コンフィグレーション」を参照してください。 42.3.3.1 PBCLKx のレート制御 SYSCLK を PBCLKx 分周比ビット PBDIV<6:0> (PBxDIVx<6:0>) の設定に従って分周する事で、 各 PBCLK を生成します。PBDIV<6:0> ビットでは、分周比を 1:1 ~ 1:128 の範囲で設定できます。 周辺モジュールバスの周波数は、PBxDIV レジスタの PBDIV<6:0> ビットに新しい値を書き込 む事で、動作中に変更できます。PB 周波数の変更を制御するために、ステートマシンを使い ます。このステートマシンは、分周比の切り換えを実行してから新しい PBxDIV 値を受け取れ るようになるまでに、最大 60 CPU クロックを要します。ステートマシンが動作を完了する前 に新しい値を PBDIV ビットに書き込んだ場合、この値は無視され、PBDIV<6:0> ビットは以前 の値を反映します。 © 2014 Microchip Technology Inc. Preliminary DS60001250A_JP - p. 42-21 42 拡張 PLL を備えた オシレータ PLL 入力分周比、逓倍比、出力分周比を組み合わせる事で、入力周波数を約 0.004 ~ 128 倍の レンジでスケーリングできます。信頼性の高い動作を得るために、PLL モジュールの出力周波 数はデバイスの最大クロック周波数以下である事が必要です。PLL 入力分周比は、PLL への入 力周波数がデバイスの仕様レンジ内に収まるように選択する必要があります。 PIC32 ファミリ リファレンス マニュアル PBDIVRDY ビ ッ ト (PBxDIV<11>) は、現 在 分 周 比 を 切 り 換 え 中 か ど う か ( つ ま り 現 在 PBDIV<6:0> ビットは書き込み可能かどうか ) を示します。PBDIV<6:0> ビットに現在の内容と 同じ値を書き込んでも無視されます ( 動作に影響しません )。 Note: PBDIV 分周比を 1:1 に設定した場合、SYSCLK と PBCLK の周波数は同じです。 PBCLK 周波数をプロセッサ クロック周波数よりも高くする事はできません。 PBDIV 値を選択または変更する際は、PBCLK 周波数の変化が各周辺モジュールに 与える影響を考慮する必要があります。 PB 分周比が 1:1 に設定されていない場合に PBCLK 周辺モジュール レジスタに対 して連続した操作を行うと、CPU が複数サイクル間ストールします。このストー ルにより、前の動作が完了する前に次の動作が発生する事を防ぎます。ストールの 長さは、SYSCLK 対 PBCLK の周波数比と、2 つのバス間の同期時間によって決ま ります。 PBCLK 周波数を変更しても、SYSCLK を使う周辺モジュールの動作には影響しま せん。 42.3.3.2 PBCLKx の制限 一部の周辺モジュールバスは、SYSCLK と同じ速度で動作できません。PBCLKx は、対応する 周辺モジュールバスが最大速度を超えないように設定する必要があります。デバイス上の各周 辺モジュールバスの最大速度については、各デバイス データシート内の「電気的特性」を参照 してください。 42.3.3.3 PBCLKx の ON/OFF 制御 各周辺モジュールバス クロックは、必要に応じて ON/OFF できます。この機能を使うと、PIC32 の未使用部分を OFF にする事で、動作時消費電力を低減できます。ON ビット (PBxDIV<15>) をセット / クリアする事で、PBCLKx を ON/OFF できます。 Note: 42.3.4 Note: PBCLK1 は、クロック供給の停止によって動作が停止してはならない特定の機能 を制御します。このため、PBCLK1 を無効にする事はできません (PBCLK1 用の ON ビットはありません )。 USB クロック (USBCLK) の生成 一部のデバイスでは、この機能を利用できません。利用の可否は各デバイス デー タシート内の「オシレータ コンフィグレーション」を参照してください。 ハイスピード USB をサポートする PIC32 デバイスは、USB PHY 内で 480 MHz の USBCLK を 生成します。ソフトウェアはこの機能を制御しませんが、DEVCFG2 レジスタを使って設定で きます。 42.3.4.1 USB PLL ロックステータス ULOCK ビット (OSCCON<6>) は、USB PLL のロック状態を示す読み出し専用のステータス ビットです。このビットは、USB PLL がロックするまでに要する標準的な遅延時間 (Tulock) の 後に自動的にセットされます。USB PLL がこの遅延時間中に正常に安定しなかった場合、 ULOCK ビットは USB PLL のロック状態を正しく反映しません。また、正常動作中に USB PLL ロックを喪失した場合も、ULOCK ビットには反映されません。 42.3.4.2 クロック要件 HS USB PLL を 480 MHZ で正しく動作させるには、プライマリ オシレータ (POSC) を使う必要 があり、水晶振動子またはクロック源は 12 または 24 MHZ である事が必要です。 UPLLFSEL ビット (DEVCFG2<30>) で、どちらのクロックの速度で USB PHY に供給するか設 定します。また、USB PLL は UPLLEN ビット (DEVCFG2<31>) をセットして有効にする必要 があります。USB PLL の制御に関する設定はこの 2 つです。 DEVCFG2 コンフィグレーション レジスタについては、デバイス データシート内の「その他 の特殊機能」と『PIC32 ファミリ リファレンス マニュアル、セクション 32. コンフィグレー ション』(DS60001124) を参照してください。 DS60001250A_JP - p. 42-22 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ 42.3.5 2 段階起動 外部の水晶振動子を使う全ての POSC モード (PLL 併用モードを含む ) では、2 段階起動モード を使ってデバイスの起動時間を短縮できます。2 段階起動では、プライマリ オシレータ (POSC) が安定するまで、FRC クロックを SYSCLK 用クロック源として使います。ユーザが選択した オシレータが安定した後に、クロック源は FRC から POSC に切り換わります。これにより CPU は、オシレータが安定するまで待たずに、低速でコードの実行を開始できます。POSC が起動 基準を満たした時点で、POSC へのクロック切り換えが自動的に発生します。このモードは、 IESO コンフィグレーション ビット (DEVCFG1<7>) によって有効になります。 Note: 42.3.6 ウォッチドッグ タイマ (WDT) が有効になっている場合、WDT は SYSCLK 周波数 に関係なく同じレートでカウントし続けます。2 段階起動中に WDT をサービスす る場合、SYSCLK の変化に注意する必要があります。 フェイルセーフ クロックモニタ (FSCM) の動作 フェイルセーフ クロックモニタ (FSCM) 機能を使うと、使用中のオシレータで障害が発生して も、デバイスの動作を継続できます。FSCM は、使用中のクロック源で障害を検出すると、自 動的に SYSCLK を内部 FRC オシレータに切り換えます。内部 FRC オシレータへ切り換えて デバイスの動作を継続し、POSC への復帰を試みるか、あるいはクロック障害に対応したコー ドを実行できます。 FSCM モードの制御には、DEVCFG1 レジスタの FCKSM<1:0> ビットを使います。FSCM は 全ての POSC モードで使えます。DEVCFG1 コンフィグレーション レジスタについては、デバ イス データシート内の「その他の特殊機能」と『PIC32 ファミリ リファレンス マニュアル、 セクション 32. コンフィグレーション』(DS60001124) を参照してください。 FSCM がクロック障害を検出すると、ノンマスカブル割り込み (NMI) が生成されます。NMI に 対応する割り込みサービスルーチン (ISR) は、RMNICON レジスタの CF ビットを読み出す事 で、この NMI が FSCM によって生成された事を判別できます。詳細は、デバイス データシー ト内の「リセット」を参照してください。 Note: 全てのデバイスは少なくとも 1 つの高速 RC オシレータ (FRC) を実装しています。 しかし、フェイルセーフ クロック機能専用に別の FRC オシレータ ( バックアップ FRC (BFRC)) を実装しているのは、一部のデバイスだけです。 FSCM モジュールは、クロック障害検出時に以下を実行します。 1. 2. 3. BFRC オシレータが存在しない場合、COSC<2:0> ビット (OSCCON<14:12>) に「000」を 書き込み、存在する場合は「110」を書き込む。 クロック障害の発生を示すために CF ビット (OSCCON<3>) をセットする。 OSWEN 制御ビット (OSCCON<0>) をクリアして、未完了の全てのクロック切り換えを キャンセルする。 FSCM を有効にするには、FCKSM<1:0> ビット (DEVCFG1<15:14>) を「1」にセットし、42.3.1 「システムクロック (SYSCLK) の生成」で説明したように SYSCLK を適切に設定します。 42.3.6.1 FSCM 遅延 POR、BOR、スリープからの復帰後、FSCM が SYSCLK クロック源の監視を始めるまでに、 公称遅延時間 (TFSCM) が挿入される場合があります。FSCM 遅延は、パワーアップタイマ (PWRT) を使わない場合に、オシレータや PLL が安定するまでの時間を確保する事を目的とし ます。FSCM 遅延は、内部システムリセット信号 SYSRST がリリースされた後に生成されま す。FSCM 遅延タイミングの詳細は、 『PIC32 ファミリ リファレンス マニュアル、セクション 07. リセット』(DS60001118) を参照してください。 TFSCM 遅延は、FSCM が有効で、SYSCLK として HS、HSPLL、SOSC モードのどれかが選さ れている場合に適用されます。 Note: © 2014 Microchip Technology Inc. TFSCM の仕様値については、各デバイス データシート内の「電気的特性」を参照 してください。 Preliminary DS60001250A_JP - p. 42-23 42 拡張 PLL を備えた オシレータ DEVCFG2 コンフィグレーション レジスタについては、デバイス データシート内の「その他 の特殊機能」と『PIC32 ファミリ リファレンス マニュアル、セクション 32. コンフィグレー ション』(DS60001124) を参照してください。2 段階起動は、POR 後とスリープからの復帰後 に実行されます。ソフトウェアは、COSC<2:0> ビット (OSCCON<14:12>) を読み出す事で、現 在どちらのクロック源を使って動作しているのかを判別できます。 PIC32 ファミリ リファレンス マニュアル 42.3.6.2 FSCM と起動の遅いオシレータ 選択したデバイス オシレータが POR、BOR、スリープ後の起動に長時間を要する場合、オシ レータが完全に起動する前に FSCM 遅延が終了する可能性があります。この場合、FSCM はク ロック障害トラップを生成し、COSC<2:0> ビット (OSCCON<14:12>) に BFRC オシレータを 選択する値を書き込みます。この結果、起動を試みていたオシレータは停止します。ソフトウェ アは、NMI ISR を使うか、CF ビット (OSCCON<3>) をポーリングする事で、クロック障害を 検出できます。 42.3.6.3 FSCM と WDT FSCM と WDT はどちらもタイムベースとして LPRC オシレータを使います。これらのデバイ スでは、クロック障害が発生しても WDT は影響を受けずに動作を続けます。 42.3.6.4 FSCM のソフトウェア トリガ ソフトウェアで FSCM 切り換えシーケンスをトリガすると、クロック源を物理的に取り除かな くても、PIC32 アプリケーションによる FSCM イベントの処理をテストできるので便利です。 ソフトウェアで FSCM イベントをトリガする手順は以下の通りです。 1. ロック解除シーケンスを実行して OSCCON レジスタの書き込みロックを解除する (42.3.7.2 「オシレータ切り換えシーケンス」参照 )。 2. CF ビット (OSCCON<3>) に「1」を書き込む。 切り換えが完了すると、NMI 割り込みサービスルーチン (ISR) が始まります。 クロックを実際に BFRC へ切り換える事なく NMI ISR をトリガする事も可能です。これを行う には、RNMICON レジスタの CF ビットに「1」を書き込みます。詳細は PIC32 ファミリ リ ファレンス マニュアルの『セクション 06. リセット』(DS60001112) を参照してください。 42.3.6.5 FSCM イベント条件のクリア MPLAB® XC32 C コンパイラが提供する NMI ハンドラ プロシージャ (_nmi_handler) を使う と、メイン オシレータの再起動を試みる事ができます。FSCM イベント発生時の実行位置へ戻 るには、ERET 命令を使います。 クロック切り換え動作 42.3.7 アプリケーションは、ソフトウェアが制御する 4 つのクロック源 (POSC、SOSC、FRC、LPRC) を常時ほぼ無制限に切り換える事ができます。このような柔軟な切り換え動作によって予期せ ぬ結果が生じる可能性もあるため、PIC32 は切り換えプロセスに保護ロック機能を組み込んで います。 Note 1: プライマリ オシレータモードでは、DEVCFG1 レジスタの POSCMOD コンフィグ レーション ビットで 2 種類のサブモード (HS、EC) を選択できます。プライマリ オ シレータモードと他のモード間の切り換えはソフトウェアで実行できますが、プラ イマリ オシレータのサブモードを切り換えるにはデバイスの再プログラミングが 必要です。DEVCFG2 コンフィグレーション レジスタについては、デバイス データ シート内の「その他の特殊機能」と『PIC32 ファミリ リファレンス マニュアル、セ クション 32. コンフィグレーション』(DS60001124) を参照してください。 2: また、PLL 併用クロック源を使って動作している時に、これに影響する PLL 逓倍 比またはポストスケーラ値を変更しないでください。これらのクロック切り換え 機能を実行するには、クロック源を一度 PLL 非併用クロック源 (FRC 等 ) に切り 換えた後に、必要なクロック源に切り換える必要があります。この要件は、PLL を使うクロック源にのみ適用されます。 42.3.7.1 クロック切り換えの有効化 クロック切り換えを有効にするには、 FCKSM<0> コンフィグレーション ビット (DEVCFG1<14>) を「0」に書き換える ( プログラミングする ) 必要があります。 クロック切り換えが無効の場合、NOSC<2:0> 制御ビット (OSCCON<10:8>) を使ってクロック の選択を制御する事はできません。ただし、COSC<2:0> ビット (OSCCON<14:12>) は、 FNOSC<2:0> コンフィグレーション ビットで選択されているクロック源を反映します。 クロック切り換えが無効の場合、OSWEN 制御ビット (OSCCON<0>) は動作に影響せず、常に 「0」です。 DS60001250A_JP - p. 42-24 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ 42.3.7.2 オシレータ切り換えシーケンス クロック切り換えの実行には少なくとも以下のシーケンスが必要です。 1. 2. 3. 4. 5. 必要に応じて、COSC<2:0> ビット (OSCCON<14:12>) を読み出して、現状使用中のオシ レータソースを確認する。 OSCCON レジスタに書き込むためのロック解除シーケンスを実行する。ロック解除シー ケンスではタイミングが重要であるため、割り込みと DMA をあらかじめ無効にしておく 事。 切り換え後のオシレータソースを指定する値を NOSC<2:0> 制御ビット (OSCCON<10:8>) に書き込む。 OSWEN ビット (OSCCON<0>) をセットしてオシレータ切り換えを開始する。 必要に応じて、OSCCON レジスタをロックするためのロックシーケンスを実行する。ロッ クシーケンスは、他の全ての動作から分離して実行する必要がある。 1. 2. 3. 4. クロック切り換えハードウェアは、COSC<2:0> ステータスビットと NOSC<2:0> 制御ビッ トの新しい値を比較する。両者が一致する場合、クロック切り換えは冗長動作であるため、 OSWEN ビットは自動的にクリアされ、クロック切り換えは中止される。 切り換え先のオシレータが動作中ではない場合、ハードウェアはそのオシレータを起動す る。水晶振動子を起動する必要がある場合、ハードウェアはオシレータ起動タイマ (OST) が終了するまで待機する。切り換え先のオシレータソースが PLL を併用する場合、ハード ウェアは PLL ロック (SLOCK = 1) を検出するまで待機する。 ハードウェアは OSWEN ビットをクリアしてクロック切り換えに成功した事を示す。加え て、NOSC<2:0> ビットの値を COSC<2:0> ステータスビットに転送する。 この時点で切り換え前に使っていたクロック源が OFF になる ( このクロックを使うモジュー ルが存在しない場合 )。 クロック源の切り換えタイミングを図 42-5 に示します。 Note: クロック切り換えシーケンス中もプロセッサはコード実行を継続します。この間に タイミングが重要なコードを実行しない事が必要です。 図 42-5: クロック切り換えのタイミング 図 New Source Enabled New Source Stable Old Source Disabled Old Clock Source New Clock Source SYSCLK OSWEN bit Both Oscillators Active Note: SYSCLK には POSC、 SOSC、FRC、 LPRC のいずれかを選択可能です。 © 2014 Microchip Technology Inc. Preliminary DS60001250A_JP - p. 42-25 拡張 PLL を備えた オシレータ 上記の基本シーケンスが完了すると、SYSCLK ハードウェアは自動的に以下のように応答しま す。 42 PIC32 ファミリ リファレンス マニュアル クロック切り換えの推奨コード シーケンスは以下の通りです。 1. 2. システムのロック解除シーケンスを実行する前に、割り込みと DMA を無効にする。 連続した 2 回のアセンブリ命令または C 命令を実行して SYSKEY レジスタに 2 つのキー 値 (0xAA996655 と 0x556699AA) を書き込む事により、システムロック解除シーケンスを 実行する。 NOSC<2:0> 制御ビットに切り換え先のオシレータソースを指定する値を書き込む。 OSCCON レジスタの OSWEN ビットをセットしてオシレータの切り換えを開始する。 SYSKEY レジスタにキー値以外の任意の値 ( 例 : 0x33333333) を書き込む事により、解除 したロックを再ロックする。クロックに影響されにくいコードの実行を継続する ( 必須で はない )。 OSWEN ビットが「0」であるかどうかを確認する (「0」であれば、クロック切り換えは 成功 )。このビットが「0」になるまで読み出しを繰り返す。 割り込みと DMA を再び有効にする。 3. 4. 5. 6. 7. Note: 最初に 2 つのキー値を連続して書き込むロック解除シーケンス以外の手順には、タ イミング要件はありません。 ロック解除シーケンスは、ロック機能によって保護されている全てのレジスタの ロックを解除します。システムロックを解除している時間を最小限に留める事を推 奨します。OSCCON レジスタのロックを解除するサンプルコードは例 42-1 を参 照してください。 DS60001250A_JP - p. 42-26 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ 42.3.7.3 クロック切り換えに関する注意事項 クロック切り換えをアプリケーションに組み込む場合、以下の点に注意してコードを作成する 必要があります。 Note 1: フェイルセーフ クロックモニタが有効な時に、100 kHz よりも低いクロックへ切り 換えないでください。このような切り換えを実行すると、誤認によるオシレータ障 害イベントが発生し、FRC または BFRC オシレータへ切り換えられてしまう可能性 があります。 2: また、PLL 併用クロック源を使って動作している時に、これに影響する PLL 逓倍 比またはポストスケーラ値を変更しないでください。このようなクロック切り換 え機能を実行するには、クロック源を一度 PLL 非併用クロック源 (FRC 等 ) に切 り換えた後に、必要なクロック源に切り換える必要があります。この要件は、PLL を使うクロック源にのみ適用されます。 42.3.7.4 クロック切り換え中のスリープへの移行 クロック切り換え動作中にデバイスがスリープに移行した場合、クロック切り換え動作は中止 されます。デバイスがスリープに移行する前にクロック切り換えが完了しなかった場合、デバ イスはスリープからの復帰時に切り換えを実行した後に、WAIT 命令の直後のコードを通常通 り実行します。 © 2014 Microchip Technology Inc. Preliminary DS60001250A_JP - p. 42-27 42 拡張 PLL を備えた オシレータ • SYSLOCK のロック解除シーケンスではタイミングが重要です。2 つのキー値を連続して書 き込む必要があります (2 回の書き込みの間に周辺モジュール レジスタへのアクセスが発生 しない事が必要です )。意図しない周辺モジュール レジスタへのアクセスを防ぐため、全て の割り込みと DMA 転送を無効にする必要があります。 • システムは自動的に再ロックしません。クロックを切り換えた後は、できるだけすみやかに 再ロック シーケンスを実行してください。 • ロック解除シーケンスは、他のレジスタ ( リアルタイム クロック制御関連のレジスタ等 ) の ロックも解除します。 • クロック源を水晶振動子へ切り換える場合、クロック切り換え時間は振動子の起動時間に よって大きく左右されます。 • 切り換え先のクロック源が起動しないか存在しない場合、OSWEN ビットはセットされたま まです。 • 周波数が異なるクロックへ切り換えると、周辺モジュールに供給されるクロックの周波数が 変化します。クロック切り換え前と同じレートで周辺モジュールの動作を継続するには、設 定の変更が必要になる場合があります。 • 切り換え先クロック源が PLL を併用する場合、PLL のロックが完了するまでクロックは切り 換わりません。 • WDT を使う場合、切り換え後のクロックレートでも WDT が正しいタイミングで機能するよ うに注意が必要です。 PIC32 ファミリ リファレンス マニュアル 42.3.8 リアルタイム クロック オシレータ 正確な計時を行うために、リアルタイム クロック / カレンダ (RTCC) には高精度のタイムベー スが必要です。このため、RTCC のタイムベースには SOSC を使います。SOSC は、SOSCI お よび SOSCO ピンに接続した外部の 32.768 kHz 水晶振動子を使います。 42.3.8.1 SOSC の制御 RTCC 以外のモジュールも SOSC を使う場合があるため、SOSC はソフトウェアとハードウェ アの組み合わせによって制御されます。SOSCEN ビット (OSCCON<1>) を「1」にセットする と SOSC は有効になります。CPU モジュールが SOSC を使用中ではなく、かつ SOSCEN ビッ トが「0」の場合、Sosc は無効になります。SOSC を SYSCLK として使っている場合 ( クロッ ク切り換え後等 )、SOSCEN ビットに「0」を書き込んで Sosc を無効にする事はできません。 SOSCEN ビットで SOSC を有効にしている場合、デバイスがスリープ中であっても Sosc は動 作を継続します。不用意なクロック切り換えを防ぐため、OSCCON レジスタはロックされて います。ソフトウェアで SOSC を有効または無効に切り換える前に、このレジスタのロックを 解除する必要があります。 Note: RTCC を使う場合、CPU クロック源を SOSC と他のクロック源との間で切り換え る際は、ソフトウェアで SOSCEN ビットを「1」にセットしておく必要がありま す。このビットをセットしなかった場合、CPU が他のクロック源に切り換わった 時に SOSC は無効になります。 外部水晶振動子には起動時間が必要であるため、SOSC オシレータ出力が安定し た後に RTCC を有効にする必要があります。外部水晶振動子の起動時間について は、その振動子のデータシートを参照してください。クロックが安定した後、さら に 256 サイクル ( 約 8 ms) が経過してから RTCC モジュールを ON にする必要が あります。実際に必要な遅延時間は、使用する水晶振動子とアプリケーションに よって異なります。 SYSREG ロック機能は、各種のシステムおよび周辺モジュール レジスタを不用意 な書き込みから保護します。ロックまたはロック解除は、OSCCON レジスタだけ でなく SYSREG が保護している全てのレジスタへのアクセスに影響します。 42.3.8.2 LPRC の制御 一部の PIC32 デバイスでは、LPRC コントローラを使って RTCC モジュールを駆動する事がで きます。その場合、RTCC モジュールの計時精度は、日付 / 時刻用として不十分です。 42.3.9 Timer1 外部オシレータ タイマには、外部信号または TxCK ピン (「x」はタイマモジュールの番号 ) を使ってクロック を供給できます。また、Timer1 モジュールは、インクリメントするためのクロック源として SOSC を使う事ができます。SOSC は、SOSCI および SOSCO ピンに接続した外部の 32.768 kHz 水晶振動子を使います。 42.3.9.1 SOSC の制御 Timer1 以外のモジュールも SOSC を使う可能性があるため、SOSC はソフトウェアとハードウェ アの組み合わせによって制御されます。SOSCEN ビット (OSCCON<1>) を「1」にセットする と SOSC は有効になります。CPU モジュールが SOSC を使用中ではなく、かつ SOSCEN ビッ トが「0」の時に、Sosc は無効になります。SOSC を SYSCLK として使っている場合 ( クロッ ク切り換え後等 )、SOSCEN ビットに「0」を書き込んで Sosc を無効にする事はできません。 SOSCEN ビットで SOSC を有効にしている場合、デバイスがスリープ中であっても Sosc は動 作を継続します。不用意なクロック切り換えを防ぐため、OSCCON レジスタはロックされて います。ソフトウェアで SOSC を有効または無効に切り換える前に、このレジスタのロックを 解除する必要があります。 Note: Timer1 モジュールを使う場合、CPU クロック源を SOSC と他のクロック源との間 で切り換える際は、ソフトウェアで SOSCEN ビットを「1」にセットしておく必 要があります。 外部水晶振動子には起動時間が必要であるため、正確に計測するには、SOSC オシ レータ出力が安定した後に Timer1 の使用を開始する必要があります。外部水晶振 動子の起動時間については、その振動子のデータシートを参照してください。ク ロックが安定した後、さらに 256 サイクル ( 約 8 ms) が経過してから Timer1 モ ジュールを ON にします。実際に必要な遅延時間は、使用する水晶振動子とアプリ ケーションによって異なります。 SYSREG ロック機能は、各種のシステムおよび周辺モジュール レジスタを不用意 な書き込みから保護します。ロックまたはロック解除は、OSCCON レジスタだけ でなく SYSREG が保護している全てのレジスタへのアクセスに影響します。 DS60001250A_JP - p. 42-28 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ 42.3.10 参照クロック出力 参照クロック出力は、REFCLKOx ピンにクロック信号を供給します。参照クロックは各種のク ロック源から選択できます。 参照クロックは、以下を含む各種のクロック源から選択できます ( 選択可能なクロック源はデ バイスによって異なります )。 外部 REFCLKI ピン 内部 FRC オシレータ 内部 LPRC オシレータ Sosc PBCLK1 SYSCLK BFRC 42 これらのクロック源は、ROSEL<3:0> ビット (REFOxCON<3:0>) で選択します。 選択したクロック源の出力は、RODIV<14:0>) ビット (REFOxCON<30:16>) と ROTRIM<8:0> ビット (REFOxTRIM<31:23>) を使って分周できます。最終的な出力周波数を求める式を式 42-1 に示します。 式 42-1: 最終的な出力周波数の計算 F REFIN F REFOUT = -----------------------------M - 2 N + ------- 512 FREFOUT = 出力周波数 FREFIN = 入力周波数 N = RODIV<14:0> M = ROTRIM<8:0> N = 0 の場合、 初期クロックは入力クロックと同じです。 例として入力周波数 = 100 MHz、 N = 5、M = 256 の場合、 出力周波数は以下のように求まります。 100 MHz F REFOUT = ------------------------------- 9.091 MHz 2 5 + 256 --------- 512 参照クロックのブロック図は図 42-1 を参照してください。参照クロック出力に関連するビット については、REFOxCON レジスタ ( レジスタ 42-4) を参照してください。 Note: © 2014 Microchip Technology Inc. 一部のデバイスでは、この機能を利用できません。利用の可否については、各デバ イス データシート内の「オシレータ」を参照してください。 Preliminary DS60001250A_JP - p. 42-29 拡張 PLL を備えた オシレータ • • • • • • • PIC32 ファミリ リファレンス マニュアル 42.4 割り込み オシレータ モジュールは、ノンマスカブル割り込み (NMI) だけを生成します。NMI が発生した 事は、RNMICON 内の CF ビット ( クロック障害検出ビット ) を使って検出できます。 42.4.1 FSCM ノンマスカブル割り込み NMI に対応する ISR (_nmi_handler) は、CF ビット (RNMICON<1>) を読み出す事で、この NMI が FSCM によって生成された事を判別できます。RNMICON レジスタの詳細と、CF ビッ トの利用の可否については、各デバイス データシート内の「リセット」を参照してください。 42.5 省電力モード中の動作 42.5.1 スリープ中のオシレータ動作 クロック源は、スリープ中にそのクロック源を使うモジュールが存在しなければ、スリープ中 に停止します。以下では、スリープ中の各クロック源の挙動について説明します。 42.5.1.1 スリープ中のプライマリ オシレータの動作 POSC はスリープ時に停止します。スリープからの復帰時に起動遅延が適用されます。 42.5.1.2 スリープ中のセカンダリ オシレータの動作 SOSCEN ビットがセットされていない場合、またはスリープ中に動作するモジュールが Sosc を使わない場合、SOSC はスリープ時に停止します。SOSC がスリープ中に停止していた場合、 スリープからの復帰時に起動遅延が適用されます。 42.5.1.3 スリープ中の高速 RC オシレータの動作 FRC オシレータはスリープ時に停止します。 42.5.1.4 スリープ中の低消費電力オシレータの動作 LPRC オシレータは、WDT が無効であれば、スリープ時に停止します。 42.5.2 ドリームモード中のオシレータ動作 ドリームモードが有効にした場合、スリープ中に DMA 割り込みが発生すると、オシレータは 以下のように動作します。 DMA 割り込みの優先度が CPU よりも高い場合、デバイスは復帰して動作モードへ移行します。 データ転送が完了した後、コード実行はデバイスをスリープへ移行させた命令の直後の命令か ら再開します。従って、DMA 割り込みが発生するまでは、デバイスはスリープ中であり、オシ レータの挙動はスリープ中 (42.5.1.1「スリープ中のプライマリ オシレータの動作」参照 ) と同 じです。DMA 割り込みが発生すると、デバイスはスリープから復帰して動作モードに移行しま す。 DMA 割り込みの優先度が CPU よりも低い場合、デバイスはスリープからアイドルへ移行しま す。CPU は復帰しないままデータ転送が実行され、転送が完了するとデバイスはスリープへ戻 ります。従って、DMA 割り込みが発生するまでは、デバイスはスリープ中であり、オシレータ の挙動はスリープ中 (42.5.1.1「スリープ中のプライマリ オシレータの動作」参照 ) と同じで す。DMA 割り込みが発生するとデバイスはアイドルへ移行します。DMA 転送が完了した時点 で、デバイスはスリープへ戻ります。 42.5.3 アイドル中のオシレータ動作 クロック源はアイドル中も動作を続けます。アイドルからの復帰時に起動遅延は適用されませ ん。 42.5.4 デバッグモード中のオシレータ動作 オシレータ モジュールはデバッグモード中も動作を続けます。 DS60001250A_JP - p. 42-30 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ 42.6 各種リセットの影響 全ての形態のデバイスリセット時に、OSCCON レジスタは既定値に設定され、COSC<2:0>、 PLLIDIV<2:0>、PLLMULT<6:0>、PLLODIV<2:0>、PLLICLK、PLLRANGE<2:0> ビットは DEVCFG1 および DEVCFG2 レジスタで定義されている値に設定されます。オシレータソースは、DEVCFG1 レジスタ内の定義に従ってクロック源に供給されます。また、オシレータ起動遅延が適用されま す。 Note: 42.7 DEVCFG2 コンフィグレーション レジスタについては、デバイス データシート内 の「その他の特殊機能」と『PIC32 ファミリ リファレンス マニュアル、セクショ ン 32. コンフィグレーション』(DS60001124) を参照してください。 42 クロック供給に関するガイドライン 水晶振動子とセラミック振動子 HS モードでは、水晶またはセラミック振動子を OSC1 および OSC2 ピンに接続して発振回路 を構成します。PIC32 のオシレータ回路にはパラレルカット水晶振動子を使う必要があります。 シリーズカット水晶振動子を使うと、水晶振動子メーカーの仕様レンジ外の周波数が発生する 可能性があります。 一般的には、アプリケーション要件を満たす範囲内で可能な限りゲインの低いオシレータ オプ ションを選択します。これにより動作電流 (IDD) を低く抑える事ができます。各オシレータモー ドの周波数レンジは推奨カットオフ周波数に基づきますが、想定される電圧および温度条件と 部品 ( 抵抗、コンデンサ、内部オシレータ回路等 ) のばらつきを考慮した完全な検証を行えば、 上記レンジ外のゲインモードでも使えます。 42.7.2 水晶 / セラミック振動子の起動 デバイスの電圧が VSS から上昇するにつれてオシレータが発振を始めます。オシレータの発振 開始までに要する時間は、以下を含む各種要因によって決まります。 • • • • • • • • • 水晶 / セラミック振動子の周波数 コンデンサの容量 直列抵抗を使う場合、その値とタイプ デバイスの VDD 立ち上がり時間 システム温度 デバイスのオシレータモード ( 内部オシレータ インバータのゲイン選択 ) 水晶振動子の品質 オシレータ回路のレイアウト システムノイズ 図 42-6 に、代表的な水晶 / セラミック振動子の起動時挙動を示します。起動してから発振が安 定するまでに一定時間が必要である事に注意してください。水晶振動子を使う各モードの周波 数レンジの詳細は、各デバイス データシート内の「電気的特性」を参照してください。 図 42-6: 水晶 / セラミック振動子の起動時挙動の例 Maximum VDD of System Device Vdd VIH Voltage VIL 0V Crystal Start-up Time Time © 2014 Microchip Technology Inc. Preliminary DS60001250A_JP - p. 42-31 拡張 PLL を備えた オシレータ 42.7.1 PIC32 ファミリ リファレンス マニュアル 42.7.3 オシレータ回路の調整 Microchip 社のデバイスは、製品やバージョンごとに動作レンジ ( 周波数 / 電圧 / 温度等 ) が異 なり、また、外付け部品 ( 水晶振動子、コンデンサ等 ) の品質はメーカーによって異なるため、 選択した部品がアプリケーション要件を満たす事を確認するために動作の検証が必要です。外 付け部品の選択と配置には各種の要因を考慮する必要があります。アプリケーションによって も異なりますが、そのような要因として以下が挙げられます。 • • • • • • • • • • • • アンプのゲイン 目標周波数 水晶振動子の共振周波数 動作温度 電源電圧レンジ 起動時間 安定性 水晶振動子の寿命 消費電力 回路の複雑さ 標準部品の使用 部品点数 42.7.3.1 最適オシレータ部品の選択方法 部品の選択においては、多少の知識も必要ですが、それよりも計測とテストを何度も繰り返す 事が重要です。通常、水晶振動子は共振周波数だけを基準に選択されますが、他のパラメータ ( 温度または周波数公差等 ) が回路設計にとって重要になる場合もあります。水晶振動子の動作 と製品情報に関しては、Microchip 社のアプリケーション ノート『AN588 - PIC® Microcontroller Oscillator Design Guide』(DS00000588) を参考にしてください。 PIC32 の内部オシレータは並列オシレータ回路を採用するため、並列共振水晶振動子を選択す る必要があります。負荷容量の仕様値は通常 22 ~ 33 pF です。負荷容量がこのレンジ内であ れば、水晶振動子は目標周波数にきわめて近い周波数で発振します。ただし後述するように、 他の利点を得るために、これらの値の変更が必要になる場合もあります。 C1 と C2 の値も、水晶振動子メーカーが推奨する負荷容量値とデバイスのデータシートに記載 されている一覧表に基づいて選択します。ただし、工場での特性評価に使った回路とユーザが 実際に使う回路とでは、水晶振動子のメーカー、電源電圧、基板レイアウトや上記の各種要因 が異なるため、デバイスのデータシートに記載されている値はあくまでも初期値としてのみ使 えます。 容量値は、想定されるデバイス動作環境において最も高温かつ最も VDD が低い条件でも発振す るように選択するのが理想的です。高温および低 VDD 条件はどちらもループゲインを下げる方 向に作用するため、これらが共に最悪な条件で回路を動作させる事ができれば、想定範囲内の 全ての温度 / 電源電圧条件で正常な動作を期待できます。ゲインが最大になる条件 (VDD が最高 で温度が最低の条件 ) では、出力正弦波にクリッピングが生じない事が必要です。また、ゲイ ンが最小になる条件 (VDD が最低で温度が最高の条件 ) では、出力正弦波の振幅がデバイスの データシートに記載されているクロックの論理入力要件を十分に満たしている事が必要です。 起動時間を短縮するため、C2 の値を C1 より大きくするという方法があります。これにより電 源投入時に水晶振動子に生じる位相差が大きくなり、オシレータの起動が速くなります。これ らのコンデンサは、水晶振動子の周波数応答を適正にするだけでなく、値を大きくする事でルー プゲインを下げる効果も持ちます。C2 の選択は回路の総ゲインに影響します。水晶振動子が オーバードライブされている場合、C2 の値を大きくするとゲインを下げる事ができます。た だし、容量が大きすぎると、充放電によって水晶振動子に過大な電流が流れるため、C1 と C2 の値を極端に大きくすべきではありません。水晶振動子に流れる電流量は簡単に計測できませ んが、容量が推奨値から大きく外れなければ、この問題を心配する必要はありません。 DS60001250A_JP - p. 42-32 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ 全ての外付け部品をどのように選択しても水晶振動子がオーバードライブされる場合、回路に 直列抵抗 Rs を追加します。直列抵抗を追加すべきかどうかは、被駆動側の OSC2 ピンをオシ ロスコープで観察して判断します。OSC1 ピンにプローブを接続すると、ピンに負荷がかかり すぎて性能が低下します。オシロスコープのプローブが持つ静電容量が回路に追加される事を 考慮に入れる必要があります ( つまり、10 pF のプローブで観察した時に、22 pF の C2 で回路 の動作が最適であった場合、実際には 33 pF のコンデンサが必要です )。出力信号のクリッピ ング ( 波形ピークが平坦になる事 ) を防ぐ必要があります。水晶振動子をオーバードライブす ると、回路が高次の高調波にジャンプしたり、場合によっては水晶振動子が損傷する可能性が あります。 この限界状態で、オーバードライブが発生しないようにトリマ ポテンショメータを調整しま す。そして、この調整値に最も近い標準値を持つ抵抗を直列抵抗 Rs として、トリマの代わり に回路に挿入します。Rs が 20kΩ を超える場合、入出力間が疎となりすぎるため、クロックが ノイズの影響を受けやすくなります。水晶振動子のオーバードライブを避けるためにこれほど 大きな値の直列抵抗が必要になる場合、C2 の値を大きくするか他のオシレータ動作モードを 試してください。このようにして、Rs が 10kΩ を大きく超えず、負荷容量がメーカーの仕様値 からあまり離れないような組み合わせを見つけてください。 © 2014 Microchip Technology Inc. Preliminary DS60001250A_JP - p. 42-33 42 拡張 PLL を備えた オシレータ OSC2 ピンでの信号は、クロック入力ピンの入力最小値と最大値を楽々超える振幅を持つ歪の ない正弦波である事が必要です。そのように回路を設定する簡単な方法として、上記のように 予期される最小温度 / 最大 VDD 条件で回路を動作させて出力信号を観察します。この時のク ロック出力の振幅が、予期される最大振幅です。この条件でクリッピングが生じたり、VDD と VSS 付近で正弦波が歪んだりする場合、負荷容量を大きくすると水晶振動子に過大な電流が流 れたり、メーカーの負荷仕様値から大きく逸脱する可能性があります。このような場合、水晶 振動子の出力ピンと C2 ピンの間にトリマ ポテンショメータを接続し、歪みのない正弦波にな るように水晶振動子に流れる電流量を調整します。水晶振動子の駆動電流は、温度が最も低く VDD が最も高い条件で最大です。 PIC32 ファミリ リファレンス マニュアル 42.8 関連アプリケーション ノート 本セクションに関連するアプリケーション ノートの一覧を以下に記載します。一部のアプリ ケーション ノートは PIC32 デバイスファミリ向けではありません。ただし概念は共通してお り、変更が必要であったり制限事項が存在するものの利用が可能です。拡張 PLL を備えたオシ レータモジュールに関連する最新のアプリケーション ノートは以下の通りです。 タイトル アプリケーション ノート番号 Crystal Oscillator Basics and Crystal Selection for rfPIC® and PIC® MCU Devices ® Basic PIC Microcontroller Oscillator Design ® AN826 AN849 Practical PIC Microcontroller Oscillator Analysis and Design AN943 Making Your Oscillator Work AN949 Note: DS60001250A_JP - p. 42-34 PIC32 デバイス ファミリ関連のアプリケーション ノートとサンプルコードは Microchip 社のウェブサイト (www.microchip.com) でご覧になれます。 Preliminary © 2014 Microchip Technology Inc. セクション 42. 拡張 PLL を備えたオシレータ 42.9 改訂履歴 リビジョン A (2013 年 11 月 ) 本書は初版です。 42 拡張 PLL を備えた オシレータ © 2014 Microchip Technology Inc. Preliminary DS60001250A_JP - p. 42-35 PIC32 ファミリ リファレンス マニュアル NOTE: DS60001250A_JP - p. 42-36 Preliminary © 2014 Microchip Technology Inc. Microchip 社製デバイスのコード保護機能に関して次の点にご注意ください。 • Microchip 社製品は、該当する Microchip 社データシートに記載の仕様を満たしています。 • Microchip 社では、通常の条件ならびに仕様に従って使用した場合、Microchip 社製品のセキュリティ レベルは、現在市場に流 通している同種製品の中でも最も高度であると考えています。 • しかし、コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です。弊社の理解ではこうした手法は、 Microchip 社データシートにある動作仕様書以外の方法で Microchip 社製品を使用する事になります。このような行為は知的所 有権の侵害に該当する可能性が非常に高いと言えます。 • Microchip 社は、コードの保全性に懸念を抱くお客様と連携し、対応策に取り組んでいきます。 • Microchip 社を含む全ての半導体メーカーで、自社のコードのセキュリティを完全に保証できる企業はありません。コード保護 機能とは、Microchip 社が製品を「解読不能」として保証するものではありません。 コード保護機能は常に進歩しています。Microchip 社では、常に製品のコード保護機能の改善に取り組んでいます。Microchip 社 のコード保護機能の侵害は、デジタル ミレニアム著作権法に違反します。そのような行為によってソフトウェアまたはその他の著 本書に記載されているデバイス アプリケーション等に関する 情報は、ユーザの便宜のためにのみ提供されているものであ り、更新によって無効とされる事があります。お客様のアプ リケーションが仕様を満たす事を保証する責任は、お客様に あります。Microchip 社は、明示的、暗黙的、書面、口頭、法 定のいずれであるかを問わず、本書に記載されている情報に 関して、状態、品質、性能、商品性、特定目的への適合性を は じ め と す る、い か な る 類 の 表 明 も 保 証 も 行 い ま せ ん。 Microchip 社は、本書の情報およびその使用に起因する一切の 責任を否認します。Microchip 社の明示的な書面による承認な しに、生命維持装置あるいは生命安全用途に Microchip 社の製 品を使用する事は全て購入者のリスクとし、また購入者はこ れによって発生したあらゆる損害、クレーム、訴訟、費用に 関して、Microchip 社は擁護され、免責され、損害をうけない 事に同意するものとします。暗黙的あるいは明示的を問わず、 Microchip社が知的財産権を保有しているライセンスは一切譲 渡されません。 商標 Microchip 社の名称と Microchip ロゴ、dsPIC、FlashFlex、 KEELOQ、KEELOQ ロゴ、MPLAB、PIC、PICmicro、PICSTART、 PIC32 ロゴ、rfPIC、SST、SST ロゴ、SuperFlash、UNI/O は、 米 国お よ びそ の 他の 国 にお け る Microchip Technology Incorporated の登録商標です。 FilterLab、Hampshire、HI-TECH C、Linear Active Thermistor、 MTP、SEEVAL、Embedded Control Solutions Company は、 米国における Microchip Technology Incorporated の登録商標 です。 Silicon Storage Technology は、 その他の国における Microchip Technology Incorporated の登録商標です。 Analog-for-the-Digital Age、Application Maestro、BodyCom、 chipKIT、chipKIT ロゴ、CodeGuard、dsPICDEM、dsPICDEM.net、 dsPICworks、dsSPEAK、ECAN、ECONOMONITOR、FanSense、 HI-TIDE、In-Circuit Serial Programming、ICSP、Mindi、MiWi、 MPASM、MPF、MPLAB 認証ロゴ、MPLIB、MPLINK、mTouch、 Omniscient Code Generation、PICC、PICC-18、PICDEM、 PICDEM.net、PICkit、PICtail、REAL ICE、rfLAB、Select Mode、 SQI、Serial Quad I/O、Total Endurance、TSHARC、UniWinDriver、 WiperLock、ZENA、Z-Scale は、米国およびその他の国におけ る Microchip Technology Incorporated の登録商標です。 SQTP は、米国における Microchip Technology Incorporated のサービスマークです。 GestICとULPPは、その他の国におけるMicrochip Technology Germany II GmbH & Co. & KG (Microchip Technology Incorporated の子会社 ) の登録商標です。 その他、本書に記載されている商標は各社に帰属します。 ©2013, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. ISBN: 978-1-63276-112-5 QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV == ISO/TS 16949 == 2014 Microchip Technology Inc. Microchip 社では、Chandler および Tempe ( アリゾナ州 )、Gresham ( オレゴン州 ) の本部、設計部およびウェハー製造工場そしてカリフォ ルニア州とインドのデザインセンターが ISO/TS-16949:2009 認証を 取得しています。Microchip 社の品質システム プロセスおよび手順は、 PIC® MCU および dsPIC® DSC、KEELOQ® コード ホッピング デバイ ス、シリアル EEPROM、マイクロペリフェラル、不揮発性メモリ、ア ナログ製品に採用されています。さらに、開発システムの設計と製造 に関する Microchip 社の品質システムは ISO 9001:2000 認証を取得し ています。 DS60001250A_JP - p. 42-37 各国の営業所とサービス 北米 アジア / 太平洋 アジア / 太平洋 ヨーロッパ 本社 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel:480-792-7200 Fax:480-792-7277 技術サポート : http://www.microchip.com/ support URL: www.microchip.com アジア太平洋支社 Suites 3707-14, 37th Floor Tower 6, The Gateway Harbour City, Kowloon Hong Kong Tel:852-2943-5100 Fax:852-2401-3431 インド - バンガロール Tel:91-80-3090-4444 Fax:91-80-3090-4123 オーストリア - ヴェルス Tel:43-7242-2244-39 インド - ニューデリー Tel:91-11-4160-8631 Fax:91-11-4160-8632 デンマーク - コペンハーゲン Tel:45-4450-2828 Fax:45-4485-2829 インド - プネ Tel:91-20-3019-1500 フランス - パリ Tel:33-1-69-53-63-20 Fax:33-1-69-30-90-79 アトランタ Duluth, GA Tel:678-957-9614 Fax:678-957-1455 中国 - 北京 Tel:86-10-8569-7000 Fax:86-10-8528-2104 オーストラリア - シドニー Tel:61-2-9868-6733 Fax:61-2-9868-6755 オースティン (TX) Tel:512-257-3370 中国 - 成都 Tel:86-28-8665-5511 Fax:86-28-8665-7889 ボストン Westborough, MA Tel:774-760-0087 Fax:774-760-0088 中国 - 重慶 Tel:86-23-8980-9588 Fax:86-23-8980-9500 シカゴ Itasca, IL Tel:630-285-0071 Fax:630-285-0075 クリーブランド Independence, OH Tel:216-447-0464 Fax:216-447-0643 ダラス Addison, TX Tel:972-818-7423 Fax:972-818-2924 デトロイト Novi, MI Tel:248-848-4000 中国 - 杭州 Tel:86-571-8792-8115 Fax:86-571-8792-8116 中国 - 香港 SAR Tel:852-2943-5100 Fax:852-2401-3431 中国 - 南京 Tel:86-25-8473-2460 Fax:86-25-8473-2470 中国 - 青島 Tel:86-532-8502-7355 Fax:86-532-8502-7205 中国 - 上海 Tel:86-21-5407-5533 Fax:86-21-5407-5066 ヒューストン (TX) Tel:281-894-5983 中国 - 瀋陽 Tel:86-24-2334-2829 Fax:86-24-2334-2393 インディアナポリス Noblesville, IN Tel:317-773-8323 Fax:317-773-5453 中国 - 深圳 Tel:86-755-8864-2200 Fax:86-755-8203-1760 ロサンゼルス Mission Viejo, CA Tel:949-462-9523 Fax:949-462-9608 ニューヨーク (NY) Tel:631-435-6000 中国 - 武漢 Tel:86-27-5980-5300 Fax:86-27-5980-5118 中国 - 西安 Tel:86-29-8833-7252 Fax:86-29-8833-7256 サンノゼ (CA) Tel:408-735-9110 中国 - 厦門 Tel:86-592-2388138 Fax:86-592-2388130 カナダ - トロント Tel:905-673-0699 Fax:905-673-6509 中国 - 珠海 Tel:86-756-3210040 Fax:86-756-3210049 Fax:43-7242-2244-393 日本 - 大阪 Tel:81-6-6152-7160 Fax:81-6-6152-9310 ドイツ - デュッセルドルフ Tel:49-2129-3766400 日本 - 東京 Tel:81-3-6880- 3770 Fax:81-3-6880-3771 ドイツ - ミュンヘン Tel:49-89-627-144-0 Fax:49-89-627-144-44 韓国 - 大邱 Tel:82-53-744-4301 Fax:82-53-744-4302 ドイツ - プフォルツハイム Tel:49-7231-424750 イタリア - ミラノ Tel:39-0331-742611 Fax:39-0331-466781 韓国 - ソウル Tel:82-2-554-7200 Fax:82-2-558-5932 または 82-2-558-5934 イタリア - ベニス Tel:39-049-7625286 マレーシア - クアラルンプール Tel:60-3-6201-9857 Fax:60-3-6201-9859 オランダ - ドリューネン Tel:31-416-690399 Fax:31-416-690340 マレーシア - ペナン Tel:60-4-227-8870 Fax:60-4-227-4068 ポーランド - ワルシャワ Tel:48-22-3325737 フィリピン - マニラ Tel:63-2-634-9065 Fax:63-2-634-9069 シンガポール Tel:65-6334-8870 Fax:65-6334-8850 台湾 - 新竹 Tel:886-3-5778-366 Fax:886-3-5770-955 スペイン - マドリッド Tel:34-91-708-08-90 Fax:34-91-708-08-91 スウェーデン - ストックホルム Tel:46-8-5090-4654 イギリス - ウォーキンガム Tel:44-118-921-5800 Fax:44-118-921-5820 台湾 - 高雄 Tel:886-7-213-7830 台湾 - 台北 Tel:886-2-2508-8600 Fax:886-2-2508-0102 タイ - バンコク Tel:66-2-694-1351 Fax:66-2-694-1350 03/25/14 DS60001250A_JP - p. 42-38 2014 Microchip Technology Inc.
© Copyright 2025 ExpyDoc