36
© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-1 オシレータ 6 セクション 6. オシレータ ハイライト 本セクションでは以下のトピックについて説明します。 6.1 はじめに ........................................................................................................................ 6-2 6.2 CPU クロッキング方式 ................................................................................................. 6-3 6.3 オシレータのコンフィグレーション ............................................................................ 6-4 6.4 制御レジスタ ................................................................................................................ 6-5 6.5 プライマリ オシレータ (POSC) ................................................................................. 6-13 6.6 位相ロック ループ (PLL) ブランチ ............................................................................. 6-18 6.7 セカンダリ オシレータ (SOSC) ................................................................................. 6-22 6.8 内部高速 RC オシレータ (FRC) .................................................................................. 6-23 6.9 内部低消費電力 RC オシレータ (LPRC) ..................................................................... 6-24 6.10 フェイルセーフ クロックモニタ (FSCM) ................................................................... 6-24 6.11 クロック切り換え動作 ................................................................................................ 6-25 6.12 2 スピード スタートアップ ........................................................................................ 6-29 6.13 リファレンス クロック出力ジェネレータ .................................................................. 6-30 6.14 設計上のヒント ........................................................................................................... 6-31 6.15 レジスタマップ ........................................................................................................... 6-32 6.16 関連アプリケーション ノート .................................................................................... 6-33 6.17 改訂履歴 ...................................................................................................................... 6-34 ご注意:この日本語版ドキュメントは、参考資料としてご使用の上、最新情報に つきましては、必ず英語版オリジナルをご参照いただきますようお願い します。

セクション 6. オシレータww1.microchip.com/downloads/jp/DeviceDoc/39700C_JP.pdfり換えが正常に完了した場合、切り換え前後のクロックソースが同じ場合、FSCM

  • Upload
    ngocong

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

オシレータ

6ご注意:この日本語版ドキュメントは、参考資料としてご使用の上、最新情報につきましては、必ず英語版オリジナルをご参照いただきますようお願いします。

セクション 6. オシレータ

ハイライト

本セクションでは以下のトピックについて説明します。

6.1 はじめに ........................................................................................................................ 6-2

6.2 CPU クロッキング方式 ................................................................................................. 6-3

6.3 オシレータのコンフィグレーション ............................................................................ 6-4

6.4 制御レジスタ ................................................................................................................ 6-5

6.5 プライマリ オシレータ (POSC) ................................................................................. 6-13

6.6 位相ロック ループ (PLL) ブランチ ............................................................................. 6-18

6.7 セカンダリ オシレータ (SOSC) ................................................................................. 6-22

6.8 内部高速 RC オシレータ (FRC) .................................................................................. 6-23

6.9 内部低消費電力 RC オシレータ (LPRC) ..................................................................... 6-24

6.10 フェイルセーフ クロックモニタ (FSCM) ................................................................... 6-24

6.11 クロック切り換え動作 ................................................................................................ 6-25

6.12 2 スピード スタートアップ ........................................................................................ 6-29

6.13 リファレンス クロック出力ジェネレータ .................................................................. 6-30

6.14 設計上のヒント ........................................................................................................... 6-31

6.15 レジスタマップ ........................................................................................................... 6-32

6.16 関連アプリケーション ノート .................................................................................... 6-33

6.17 改訂履歴 ...................................................................................................................... 6-34

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-1

PIC24F ファミリ リファレンス マニュアル

6.1 はじめに

本セクションでは、PIC24F のオシレータ システムとその動作について説明します。PIC24F のオシレータ システムのモジュールと特徴は次の通りです。

• クロックソースとして合計 4 種類の外部 / 内部オシレータを選択可能で、クロックモードは最大 11 種類

• 一部の内部 / 外部オシレータソースでは、オンチップ PLL ブロックで内部動作周波数を引き上げ可能。また、一部デバイスでは特定の周辺機能にオンチップ PLL ブロックから高精度のクロックを供給

• クロックソースをソフトウェアで切り換え可能

• ソフトウェア制御可能なポストスケーラで CPU のクロックを切り換え、システムの消費電力を低減可能

• クロック障害を検出し、アプリケーションを安全に回復またはシャットダウンするフェイルセーフ クロックモニタ (FSCM)

• プログラマブルなリファレンス クロック ジェネレータにより、外部デバイスの同期用に幅広い種類の周波数のクロックソースを出力 ( 一部デバイスのみ )

図 6-1 に、オシレータ システムの簡略ブロック図を示します。

図 6-1: PIC24F 全般のシステム クロック回路図

PIC24F Family

Secondary Oscillator

SOSCENEnableOscillator

SOSCO

SOSCI

Clock Source Option for Other Modules

OSCI

OSCO

Primary Oscillator

XT, HS, EC

Pos

tsca

ler

CLKDIV<10:8>

WDT, PWRT

8 MHz

FRCDIV

31 kHz (nominal)

FRCOscillator

LPRCOscillator

SOSC

LPRC

Clock Control Logic

Fail-SafeClock

Monitor

FRC

(nominal)

PLL Block(1)

XTPLL, HSPLLECPLL,FRCPLL

CPU

Peripherals

Po

stsc

aler

CLKDIV<14:12>

CLKO

Reference Clock Generator(2)

REFO

REFOCON<15:8>

Note 1: PLL ブロックの機能は各デバイスによって異なります。詳細は 6.6「位相ロック ループ (PLL) ブランチ」を参照

してください。

2: リファレンス クロック ジェネレータを装備しないデバイスもあります。

DS39700C_JP - p. 6-2 © 2009 Microchip Technology Inc.

セクション 6 オシレータオシレータ

6

6.2 CPU クロッキング方式

システムクロック ソースは、次の 4 つのソースから選択できます。

• OSC1 および OSC2 ピンのプライマリ オシレータ (POSC)

• SOSCI および SOSCO ピンのセカンダリ オシレータ (SOSC)

• 内部高速 RC オシレータ (FRC)

• 内部低消費電力 RC オシレータ (LPRC)

プライマリ オシレータまたは FRC をクロックソースに選択した場合、内部 PLL でクロックを4 倍に逓倍する事もできます。FRC をクロックソースに選択した場合、プログラマブルなクロック分周器でクロック周波数を下げる事ができます。選択したクロックソースから、プロセッサと周辺モジュール用のクロックを生成します。

プロセッサのクロックソースを 2 分周して、内部命令サイクルクロック FCY を得ます。本書では、命令サイクルクロックを FOSC/2 と表記する事もあります。図 6-2 に、プロセッサ クロックソースと命令実行の関係をタイミング チャートとして示します。プライマリ オシレータの一部の動作モードでは、内部命令サイクルクロックFOSC/2をOSC2 I/Oピンから出力できます。

図 6-2: クロック / 命令サイクルのタイミング

FOSC

PC

FCY

PC PC + 2 PC + 4

Fetch INST (PC)Execute INST (PC – 2) Fetch INST (PC + 2)

Execute INST (PC) Fetch INST (PC + 4)Execute INST (PC + 2)

TCY

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-3

PIC24F ファミリ リファレンス マニュアル

6.3 オシレータのコンフィグレーション

デバイスのパワーオン リセット (POR) イベント時にどのオシレータソース ( および動作モード )を使用するかは、コンフィグレーション ビットで設定します。オシレータのコンフィグレーション ビット設定は、プログラム メモリ内のコンフィグレーション レジスタにあります。詳細は、各デバイスのデータシートを参照してください。POR 時に使用するオシレータソースは、プライマリ オシレータ コンフィグレーション ビット POSCMD<1:0> ( コンフィグレーション ワード 2<1:0>) とオシレータ コンフィグレーション ビット FNOSC<2:0> ( コンフィグレーション ワード 2<10:8>) で選択します。既定値 ( 何もプログラミングしない状態 ) ではポストスケーラ付きの FRC オシレータ (FRCDIV) が選択されます。セカンダリ オシレータ、または内部オシレータのいずれかを選択するには、これらのビット位置をプログラミングします。

コンフィグレーション ビットの設定により、ユーザは表 6-1 に示した 11 種類の中からクロックモードを選択する事ができます。

表 6-1: コンフィグレーション ビットの値と選択されるクロック

6.3.1 クロック切り換えモード コンフィグレーション ビット

FCKSM コンフィグレーション ビット ( コンフィグレーション ワード 2<7:6>) を使用して、デバイスのクロック切り換えと FSCM 機能を設定します。FCKSM1 をプログラミング (「0」) した場合のみ、クロック切り換えが有効になります。FSCM は、FCKSM<1:0> を両方共プログラミング (「00」) した場合のみ有効になります。

6.3.2 水晶振動子を使用しないモードでのOSC1およびOSC2ピンの機能

OSC1 および OSC2 のプライマリ オシレータをクロックソースとして使用しない場合(POSCMD<1:0> = 11)、OSC1 ピンは自動的にデジタル I/O としてコンフィグレーションされます。この場合、およびプライマリ オシレータを EC モード (POSCMD<1:0> = 00) に設定した場合も、OSCIOFCN コンフィグレーション ビット ( コンフィグレーション ワード 2<5>) をプログラミングすれば OSC2 ピンをデジタル I/O としてコンフィグレーションできます。

オシレータ モードオシレータ ソース

POSCMD<1:0> FNOSC<2:0> Note

Fast RC Oscillator with Postscaler (FRCDIV)

内部 11 111 1, 2

(Reserved) 内部 xx 110 1

Low-Power RC Oscillator (LPRC)

内部 11 101 1

Secondary (Timer1) Oscillator (SOSC)

セカンダリ 11 100 1

Primary Oscillator (HS) with PLL Module (HSPLL)

プライマリ 10 011 —

Primary Oscillator (XT) with PLL Module (XTPLL)

プライマリ 01 011 —

Primary Oscillator (EC) with PLL Module (ECPLL)

プライマリ 00 011 —

Primary Oscillator (HS) プライマリ 10 010 —

Primary Oscillator (XT) プライマリ 01 010 —

Primary Oscillator (EC) プライマリ 00 010 —

Fast RC Oscillator with PLL Module (FRCPLL)

内部 11 001 1

Fast RC Oscillator (FRC) 内部 11 000 1

Note 1: OSC2 ピンの機能は、OSCIOFCN コンフィグレーション ビットによって決まります。

2: 何もプログラミングされていない ( 消去済みの ) デバイスにおける既定値のオシレータモード

DS39700C_JP - p. 6-4 © 2009 Microchip Technology Inc.

セクション 6 オシレータオシレータ

6

OSCIOFCN をプログラミングしない場合 (「1」) は、OSC2 から FOSC/2 クロックが出力され、テストや同期信号として使用する事ができます。OSCIOFCN をプログラミングした場合 (「0」)、OSC2 ピンは汎用 I/O ピンとなります。どちらの場合も、消費電流を低減するために OSC1 とOSC2 の間のフィードバック デバイスは OFF になります。

6.4 制御レジスタ

オシレータの動作は3つ(デバイスによっては最大5つ)の特殊機能レジスタ(SFR)で制御します。

• OSCCON

• CLKDIV

• OSCTUN

• REFOCON ( 一部デバイスのみ )

• CLKDIV2 ( 一部デバイスのみ )

6.4.1 オシレータ制御レジスタ (OSCCON)

OSCCON レジスタ ( レジスタ 6-1) は、オシレータの制御に関する中心的なレジスタです。クロックソースの切り換え制御とクロックソースの監視を行います。

COSC ステータスビットは読み出し専用で、現在デバイスがどのオシレータソースで動作しているかを示します。パワーオン リセット (POR) およびマスタ クリア リセット (MCLR) 時には、COSC ビットは既定値のポストスケーラ付き内部高速 RC オシレータ (FRCDIV、4 MHz) に設定されます。FNOSC コンフィグレーション ビット ( コンフィグレーション ワード 2<10:8>)で別のオシレータソースを選択すると、クロックが自動的に切り換わります。クロック切り換えが完了した時点で COSC ビットは新しいオシレータソースの設定に変わります。

NOSC ステータスビットは、クロック切り換えにおける切り換え後のクロックソースを選択します。POR および MCLR 時には、これらのビットには FNOSC コンフィグレーション ビットで定義したオシレータソースの設定が自動的に反映されます。これらのビットはソフトウェアで変更できます。

CLKLOCK ビット (OSCCON<7>) をセットすると、FCKSM1 コンフィグレーション ビットがセットされている場合に限り、クロック切り換えが禁止されます。FCKSM1 ビットがクリアされている場合は CLKLOCK ビットの状態にかかわらずクロックの切り換えが可能です。

IOLOCK ビット (OSCCON<6>) は、ペリフェラル ピンセレクト (PPS) 機能のロック解除に使用します。システムクロックの動作には影響しません。

LOCK ステータスビット (OSCCON<5>) は読み出し専用で、PLL 回路の状態を表します。PLLの周波数がロックするとセットされ、有効なクロック切り換えシーケンスが開始されるとリセットされます。現在のクロックソースで PLL を使用していない場合は「0」として読み出されます。

CF ステータスビット (OSCCON<3>) は読み出し / クリア可能なステータスビットで、クロック障害の発生を知らせます。有効なクロック切り換えが開始するとリセットされます。

POSCEN ビット (OSCCON<2>) は、スリープモード時のプライマリ オシレータの動作制御に使用します。このビットをセットすると、スリープモードになってもオシレータに対して通常の自動シャットダウンは行われません。

SOSCEN 制御ビット (OSCCON<1>) は、32 kHz 水晶振動子の SOSC オシレータの有効 / 無効を切り換えます。

OSWEN 制御ビット (OSCCON<0>) はクロック切り換え動作の開始に使用します。クロック切り換えが正常に完了した場合、切り換え前後のクロックソースが同じ場合、FSCM モジュールによって FRC への切り換えが完了した場合、OSWEN は自動的にクリアされます。

Note: OSCCON への書き込みの前にはロック解除シーケンスを実行する必要があります。詳細は、6.11.2「オシレータ切り換えシーケンス」を参照してください。

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-5

PIC24F ファミリ リファレンス マニュアル

レジスタ 6-1: OSCCON: オシレータ制御レジスタ

U-0 R-0 R-0 R-0 U-0 R/W-x(1) R/W-x(1) R/W-x(1)

— COSC2 COSC1 COSC0 — NOSC2 NOSC1 NOSC0

ビット 15 ビット 8

R/SO-0 R/W-0 R-0(3) U-0 R/CO-0 R/W-0 R/W-0 R/W-0

CLKLOCK IOLOCK(2) LOCK — CF POSCEN(4) SOSCEN OSWEN

ビット 7 ビット 0

凡例 : CO = クリアのみのビット SO = セットのみのビット

R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR の値 ‘1’ = ビットをセット ‘0’ = ビットをクリア x = ビットは不定

ビット 15 未実装 :「0」として読み出し

ビット 14-12 COSC<2:0>: 現在のオシレータ選択ビット

111 = ポストスケーラ付き高速 RC オシレータ (FRCDIV)110 = 予約101 = 低消費電力 RC オシレータ (LPRC)100 = セカンダリ オシレータ (SOSC)011 = PLL モジュール付きプライマリ オシレータ (XTPLL、HSPLL、ECPLL)010 = プライマリ オシレータ (XT、HS、EC)001 = ポストスケーラおよび PLL モジュール付き高速 RC オシレータ (FRCPLL)000 = 高速 RC オシレータ (FRC)

ビット 11 未実装 :「0」として読み出し

ビット 10-8 NOSC<2:0>: 切り換え後のオシレータ選択ビット (1)

111 = ポストスケーラ付き高速 RC オシレータ (FRCDIV)110 = 予約101 = 低消費電力 RC オシレータ (LPRC)100 = セカンダリ オシレータ (SOSC)011 = PLL モジュール付きプライマリ オシレータ (XTPLL、HSPLL、ECPLL)010 = プライマリ オシレータ (XT、HS、EC)001 = ポストスケーラおよび PLL モジュール付き高速 RC オシレータ (FRCPLL)000 = 高速 RC オシレータ (FRC)

ビット 7 CLKLOCK: クロック選択ロック イネーブル ビット

FSCM が有効な場合 (FCKSM1 = 1):1 = クロックと PLL の選択がロックされる0 = クロックと PLL の選択はロックされず、OSWEN ビットをセットして変更できる

FSCM が無効な場合 (FCKSM1 = 0):クロックと PLL の選択はロックされず、OSWEN ビットをセットして変更できる

ビット 6 IOLOCK: I/O ロック イネーブル ビット (2)

1 = I/O ロックが有効0 = I/O ロックが無効

Note 1: これらのビットのリセット時の値は FNOSC コンフィグレーション ビットによって決まります。2: IOLOCK があるのは、ペリフェラル ピンセレクト (PPS) 機能を内蔵したデバイスのみです。詳細は、各

デバイスのデータシートを参照してください。IOLOCK は 1 回のロック解除シーケンスで 1 回しか変更できません。また、IOL1WAY コンフィグレーション ビットが「1」の場合、IOLOCK ビットを一旦セットするとクリアできません。

3: 有効なクロック切り換えを実行した場合、または PLL を使用しないクロックモードを選択した場合は「0」にリセットされます。

4: POSCEN は一部のデバイスファミリにしかありません。詳細は、各デバイスのデータシートを参照してください。

DS39700C_JP - p. 6-6 © 2009 Microchip Technology Inc.

セクション 6 オシレータオシレータ

6

6.4.2 クロック分周レジスタ (CLKDIV)

クロック分周レジスタ ( レジスタ 6-2) は、DOZE モードに関する機能および FRC オシレータのポストスケーラを制御します。

ROIビット(CLKDIV<15>)はDOZEモード終了の割り込みを許可し、プロセッサと周辺モジュールのクロック比を自動的に 1:1 に選択します。DOZE モードが終了すると DOZEN ビット(CLKDIV<11>) がクリアされます。ROI ビットをクリアすると、DOZE モードは割り込みの影響を受けなくなります。

DOZE ビット (CLKDIV<14:12>) はプロセッサと周辺モジュールのクロック比を選択します。この値は、1:1 ~ 1:128 の範囲でソフトウェアで選択できます。MCLR および POR 時には既定値の 1:1 に戻ります。この機能により、周辺モジュールの動作に影響を与えずに CPU の消費電力を低減する事ができます。

DOZEN ビットをセットするとデバイスは DOZE モードに移行し、プロセッサのクロックポストスケーラを使用します。ROI ビットをセットして割り込みが発生すると、DOZEN ビットはクリアされます。

RCDIV ビット (CLKDIV<10:8>) は FRC オシレータ出力のポストスケーラを選択します。これにより、定格 8 MHz よりも低いクロック周波数を利用できます。このオプションの詳細は、6.8.2「FRC ポストスケーラ モード (FRCDIV)」および 6.8.3「PLL 付き FRC オシレータ モード(FRCPLL)」を参照してください。

USB 機能を内蔵した PIC24F (PIC24FJ256GB110 ファミリ等 ) の場合、CPDIV<1:0> ビット(CLKDIV<7:6>) で USB モジュールが有効でアクティブな時のシステムクロック速度を選択します。この機能の詳細は、6.6.2「96 MHz PLL ブロック」を参照してください。

96 MHz PLL モジュールが内蔵されている場合、PLLEN ビット (CLKDIV<5>) でこのモジュールを有効にして USB およびグラフィック コントローラ モジュール用の 96 MHz クロックを生成できます。グラフィック コントローラ モジュールのクロックソースは、G1CLKSEL ビット(CLKDIV<4>) で選択します。この選択の詳細は、6.6.2「96 MHz PLL ブロック」を参照してください。

ビット 5 LOCK: PLL ロック ステータスビット (3) 1 = PLL モジュールがロックしているか、または PLL モジュールのスタートアップ タイマが設定時

間に達した0 = PLL モジュールがロックしていない、PLL スタートアップ タイマが動作中、PLL が無効、のいず

れか

ビット 4 未実装 :「0」として読み出し

ビット 3 CF: クロック障害検出ビット 1 = FSCM がクロック障害を検出した0 = クロック障害の検出なし

ビット 2 POSCEN: プライマリ オシレータ スリープ イネーブル ビット (4)

1 = プライマリ オシレータはスリープモード時も動作を継続する0 = プライマリ オシレータはスリープ時に無効

ビット 1 SOSCEN: 32 kHz セカンダリ オシレータ (SOSC) イネーブル ビット

1 = セカンダリ オシレータを有効にする0 = セカンダリ オシレータを無効にする

ビット 0 OSWEN: オシレータ切り換えイネーブル ビット

1 = NOSC<2:0> ビットで指定したクロックソースへのオシレータ切り換えを開始する0 = オシレータ切り換えが完了

レジスタ 6-1: OSCCON: オシレータ制御レジスタ ( 続き )

Note 1: これらのビットのリセット時の値は FNOSC コンフィグレーション ビットによって決まります。2: IOLOCK があるのは、ペリフェラル ピンセレクト (PPS) 機能を内蔵したデバイスのみです。詳細は、各

デバイスのデータシートを参照してください。IOLOCK は 1 回のロック解除シーケンスで 1 回しか変更できません。また、IOL1WAY コンフィグレーション ビットが「1」の場合、IOLOCK ビットを一旦セットするとクリアできません。

3: 有効なクロック切り換えを実行した場合、または PLL を使用しないクロックモードを選択した場合は「0」にリセットされます。

4: POSCEN は一部のデバイスファミリにしかありません。詳細は、各デバイスのデータシートを参照してください。

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-7

PIC24F ファミリ リファレンス マニュアル

レジスタ 6-2: CLKDIV: クロック分周レジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-1

ROI DOZE2 DOZE1 DOZE0 DOZEN(1) RCDIV2 RCDIV1 RCDIV0

ビット 15 ビット 8

R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0 U-0 U-0

CPDIV1(2) CPDIV0(2) PLLEN(2) G1CLKSEL(2) — — — —

ビット 7 ビット 0

凡例 :

R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR の値 ‘1’ = ビットをセット ‘0’ = ビットをクリア x = ビットは不定

ビット 15 ROI: 割り込み回復ビット

1 = 割り込みでDOZENビットをクリアし、CPUと周辺モジュールのクロック比を1:1にリセットする0 = 割り込みが発生しても DOZEN ビットに影響しない

ビット 14-12 DOZE<2:0>: CPU/ 周辺モジュール クロック比選択ビット

111 = 1:128110 = 1:64101 = 1:32100 = 1:16011 = 1:8010 = 1:4001 = 1:2000 = 1:1

ビット 11 DOZEN: DOZE イネーブル ビット (1)

1 = DOZE<2:0> ビットで CPU と周辺モジュールのクロック比を設定0 = CPU と周辺モジュールのクロック比を 1:1 に設定

ビット 10-8 RCDIV<2:0>: FRC ポストスケーラ選択ビット

111 = 31.25 kHz (256 分周 )110 = 125 kHz (64 分周 )101 = 250 kHz (32 分周 )100 = 500 kHz (16 分周 )011 = 1 MHz (8 分周 )010 = 2 MHz (4 分周 )001 = 4 MHz (2 分周 )000 = 8 MHz (1 分周 )

ビット 7-6 CPDIV<1:0>: システムクロック選択ビット (2)

11 = 4 MHz (8 分周 )(3)

10 = 8 MHz (4 分周 )(3)

01 = 16 MHz (2 分周 )00 = 32 MHz (1 分周 )

ビット 5 PLLEN: 96 MHz PLL イネーブル ビット (2)

USBまたはグラフィック コントローラ モジュールを有効にした場合は 96 MHz PLLを有効にする必要があります。一部の PIC24F では、このビットよりもコンフィグレーション ビットが優先されます。詳細は、6.6.2「96 MHz PLL ブロック」を参照してください。1 = USB/ グラフィック コントローラ用に 96 MHz PLL を有効にする0 = 96 MHz PLL を無効にする

Note 1: ROI ビットをセットして割り込みが発生すると、このビットは自動的にクリアされます。

2: これらのビットは USB またはグラフィック コントローラ機能を内蔵したデバイスにしかありません。

3: これらのシステムクロックは USB モジュールの動作には使用できません。PLL ブランチをクロックソースとして選択し、なおかつ USB モジュールが無効の場合に使用してください。

DS39700C_JP - p. 6-8 © 2009 Microchip Technology Inc.

セクション 6 オシレータオシレータ

6

ビット 4 G1CLKSEL: ディスプレイ コントローラ モジュール クロック選択ビット (2)

1 = グラフィック コントローラ モジュールのクロックに96 MHzクロック (図 6-8の「Graphics ClockOption 1」ブランチ ) を使用する

0 = グラフィック コントローラ モジュールのクロックに48 MHzクロック (図 6-8の「Graphics ClockOption 2」ブランチ ) を使用する

ビット 3-0 未実装 :「0」として読み出し

レジスタ 6-2: CLKDIV: クロック分周レジスタ ( 続き )

Note 1: ROI ビットをセットして割り込みが発生すると、このビットは自動的にクリアされます。

2: これらのビットは USB またはグラフィック コントローラ機能を内蔵したデバイスにしかありません。

3: これらのシステムクロックは USB モジュールの動作には使用できません。PLL ブランチをクロックソースとして選択し、なおかつ USB モジュールが無効の場合に使用してください。

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-9

PIC24F ファミリ リファレンス マニュアル

6.4.3 オシレータ調整レジスタ (OSCTUN)

FRC オシレータ調整レジスタ ( レジスタ 6-3) を使うと、FRC オシレータをユーザで微調整できます。FRC オシレータの調整の詳細は、各デバイスのデータシートを参照してください。

FRC オシレータを調整した場合の応答は一律 ( 線形 ) ではありません。次の周波数に移動するまでのステップ数はそれぞれ異なります。目的の周波数に最も近い値が得られるまで OSCTUNの値をいくつか試してみてください。

レジスタ 6-3: OSCTUN: FRC オシレータ調整レジスタ

U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0

— — — — — — — —

ビット 15 ビット 8

U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

— — TUN5 TUN4 TUN3 TUN2 TUN1 TUN0

ビット 7 ビット 0

凡例 :

R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = 全てリセットの値 ‘1’ = ビットをセット ‘0’ = ビットをクリア x = ビットは不定

ビット 15-6 未実装 :「0」として読み出し

ビット 5-0 TUN<5:0>: FRC オシレータ調整ビット

011111 = 調整可能な最大周波数011110 = ...000001 = 000000 = 中心周波数。オシレータは工場で校正済みの周波数で動作111111 = ...100001 = 100000 = 調整可能な最小周波数

DS39700C_JP - p. 6-10 © 2009 Microchip Technology Inc.

セクション 6 オシレータオシレータ

6

6.4.4 リファレンス クロック出力制御レジスタ (REFOCON)

リファレンス クロック出力ジェネレータを内蔵した PIC24F では、REFOCON レジスタ ( レジスタ 6-4) でこの機能を制御します。

ROEN ビット (REFOCON<15>) をセットすると、クロック信号が REFO ピンから出力されます。RODIV ビット (REFOCON<11:8>) で分周比を 16 種類のオプションから選択します。

ROSSLP および ROSEL ビット (REFOCON<13:12>) リファレンス出力のクロックソースを設定します。まず、ROSEL ビットでリファレンス クロック出力のクロックソースに OSC1 とOSC2 のプライマリ オシレータを使用するか、現在のシステムクロック ソースを使用するかを設定します。プライマリ オシレータを選択した場合、ROSSLP ビットでスリープモード時にリファレンス オシレータを動作させるかどうかを選択します。

詳細は、6.13「リファレンス クロック出力ジェネレータ」を参照してください。

レジスタ 6-4: REFOCON: リファレンス オシレータ制御レジスタ

R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

ROEN — ROSSLP ROSEL RODIV3 RODIV2 RODIV1 RODIV0

ビット 15 ビット 8

U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0

— — — — — — — —

ビット 7 ビット 0

凡例 :

R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR の値 ‘1’ = ビットをセット ‘0’ = ビットをクリア x = ビットは不定

ビット 15 ROEN: リファレンス オシレータ出力イネーブル ビット

1 = REFO ピンでリファレンス オシレータを有効にする0 = リファレンス オシレータを無効にする

ビット 14 未実装 : 「0」として読み出し

ビット 13 ROSSLP: スリープ時リファレンス オシレータ出力停止ビット

1 = スリープ時にリファレンス オシレータの動作を継続する0 = スリープ時にリファレンス オシレータを無効にする

ビット 12 ROSEL: リファレンス オシレータソース選択ビット

1 = ベースクロックとしてプライマリ オシレータを使用 (FOSC<2:0> ビットで水晶振動子オシレータを有効にしておく必要があります。水晶振動子はスリープモード時も動作を継続します )

0 = ベースクロックとしてシステムクロックを使用。デバイスのクロックを切り換えるとベースクロックも切り換わる

ビット 11-8 RODIV<3:0>: リファレンス オシレータ分周比選択ビット

1111 = ベースクロックを 32,768 分周1110 = ベースクロックを 16,384 分周1101 = ベースクロックを 8,192 分周1100 = ベースクロックを 4,096 分周1011 = ベースクロックを 2,048 分周1010 = ベースクロックを 1,024 分周1001 = ベースクロックを 512 分周1000 = ベースクロックを 256 分周0111 = ベースクロックを 128 分周0110 = ベースクロックを 64 分周0101 = ベースクロックを 32 分周0100 = ベースクロックを 16 分周0011 = ベースクロックを 8 分周0010 = ベースクロックを 4 分周0001 = ベースクロックを 2 分周0000 = ベースクロックのまま

ビット 7-0 未実装 :「0」として読み出し

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-11

PIC24F ファミリ リファレンス マニュアル

6.4.5 クロック分周レジスタ 2 (CLKDIV2)

クロック分周レジスタ 2 ( レジスタ 6-5) は、グラフィック コントローラ モジュールを内蔵したPIC24F にあります。このレジスタは、ディスプレイ コントローラ内のディスプレイ モジュール インターフェイスへの入力クロックの周波数を制御します。周波数の選択は、セレクタビット GCLKDIV<6:0> への書き込みによって制御します。ディスプレイの種類によって周波数レンジが異なるため、クロック分周比は 1 分周から開始し、合計 128 種類の値のうち、最初の 64 の値は 0.25 ずつインクリメントします。次の 32 の値は 0.50 ずつインクリメントし、残りの 32 の値は 1 ずつインクリメントします。これにより、96 MHz 入力の場合は 1.5 ~ 96 MHz のレンジをカバーし、48 MHz 入力の場合は 750 kHz ~ 48 MHz のレンジをカバーします。

レジスタ 6-5: CLKDIV2: クロック分周レジスタ 2

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0

GCLKDIV6(1) GCLKDIV5(1) GCLKDIV4(1) GCLKDIV3(1) GCLKDIV2(1) GCLKDIV1(1) GCLKDIV0(1) —

ビット 15 ビット 8

U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0

— — — — — — — —

ビット 7 ビット 0

凡例 :

R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = 全てリセットの値 ‘1’ = ビットをセット ‘0’ = ビットをクリア x = ビットは不定

ビット 15-9 GCLKDIV<6:0>: ディスプレイ モジュール インターフェイス クロック分周選択ビット (1)

下記の周波数は、G1CLKSEL (CLKDIV<4>) = 1 として 96 MHz クロックソースを選択した場合の値です。G1CLKSEL (CLKDIV<4>) = 0 として 48 MHz クロックソースを選択した場合、周波数の値を全て 2 で割ってください。

0000000 = (0) 96.00 MHz (1 分周 )

0000001 = (1) 76.80 MHz (1.25 分周。ここから分周比が 0.25 ずつインクリメント )

0000010 = (2) 64.00 MHz (1.5 分周 )

0000011 = (3) 54.86 MHz (1.75 分周 ).

.

.

0111111 = (63) 5.73 MHz (16.75 分周 )

1000000 = (64) 5.65 MHz (17.00 分周。ここから分周比が 0.50 ずつインクリメント )

1000000 = (65) 5.49 MHz (17.50 分周 ).

.

.

1011111 = (95) 2.95 MHz (32.50 分周 )

1100000 = (96) 2.91 MHz (33 分周。ここから分周比が 1 ずつインクリメント )

1100001 = (97) 2.82 MHz (34 分周 ).

.

.

1111110 = (126) 1.52 MHz (63 分周 )

1111111 = (127) 1.50 MHz (64 分周 )

ビット 8-0 未実装 :「0」として読み出し

Note 1: これらのビットは 96 MHz PLL を使用する場合のみ有効です。

DS39700C_JP - p. 6-12 © 2009 Microchip Technology Inc.

セクション 6 オシレータオシレータ

6

6.5 プライマリ オシレータ (POSC)

プライマリ オシレータは、PIC24F ファミリの OSC1 および OSC2 ピンで利用できます。一般に、プライマリ オシレータは外部クロック入力または外部水晶振動子用に構成できます。以下のセクションでは、プライマリ オシレータの動作モードについて詳しく説明します。プライマリ オシレータには、表 6-2 に示した最大 6 つの動作モードがあります。

表 6-2: プライマリ オシレータ動作モード

プライマリ オシレータの動作モードは、コンフィグレーション ビットの POSCMD と FNOSC( それぞれ、コンフィグレーション ワード 2<1:0> と <10:8>) で選択します。POSCMD<1:0>ビットでは XT、HS、EC のどのサブモードを使用するかを選択し、FNOSC<2:0> ビットではオシレータを単独で使用するか内部 PLL と組み合わせて使用するかを設定します。COSC ビット(OSCCON<14:12>) を「010」または「011」に設定すると、PIC24F は常にプライマリ オシレータで動作します。

水晶振動子を使用した各モードの周波数レンジの詳細は、各デバイスのデータシートで「電気的特性」のセクションを参照してください。

図 6-3: 水晶振動子またはセラミック振動子での動作 (XT または HS オシレータモード )

オシレータ モード

説明 OSC2 ピンの機能

EC 外部クロック入力 (0-32 MHz) FOSC/2

ECPLL 外部クロック入力 (4-48 MHz)、PLL 有効 FOSC/2, Note 2

HS 10-32 MHz 水晶振動子 Note 1

HSPLL 10-32 MHz 水晶振動子、PLL 有効 Note 2

XT 3.5-10 MHz 水晶振動子 Note 1

XTPLL 3.5-8 MHz 水晶振動子、PLL 有効 Note 1

Note 1: これらのモードでは、OSC1 と OSC2 に外部水晶振動子を接続します。

2: 特別な PLL ブロック (96 MHz PLL 等 ) を持つデバイスでのみ利用可能。ベーシック4x PLL ブロックではデバイスの動作範囲を超えるクロック周波数が生成されます。

C1(3)

C2(3)

XTAL

OSC2

RS (1)

OSC1

RF(2) Sleep

To Internal Logic

PIC24F

Note 1: AT ストリップカットの水晶を使用する場合は直列抵抗 Rs が必要

2: 内部フィードバック抵抗 RF のレンジは標準で 2 ~ 10 M3: 6.5.2.4「オシレータ部品の最適値の決定方法」を参照

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-13

PIC24F ファミリ リファレンス マニュアル

6.5.1 プライマリ オシレータのモード選択

XT モードと HS モードの最大の違いは、オシレータ回路の内部インバータのゲインの違いにあり、これによって利用できる周波数レンジも異なってきます。XT モードは消費電力、周波数共に中程度のモードです。HS モードは水晶振動子を使用するオシレータとしては周波数が最も高速です。HS モード、XT モード共に OSC2 は水晶振動子へのフィードバックに使用します。

PLL 回路を使用する EC および HS モードの場合、デバイスの動作周波数が最も高くなります。これらのモードでは PLL によってオシレータの周波数が 4 倍に逓倍されるため、オシレータ回路の消費電流は最大となります。

通常は、仕様を満たす範囲内で最もゲインの低いオシレータモードを選択します。これにより、ダイナミック電流 (IDD) を抑える事ができます。各オシレータモードの周波数レンジはカットオフ周波数の推奨値で決めていますが、電圧、温度、部品 ( 抵抗、コンデンサ、内部オシレータ回路等 ) のばらつきを含めた完全な検証を行っていれば、ゲインの異なるモードを選択してもかまいません。

オシレータ フィードバック回路は全ての EC モードで無効です。OSC1 ピンはハイ インピーダンス入力で、CMOS ドライバで駆動できます。

プライマリ オシレータを外部クロック入力用に構成した場合、OSC2 ピンはオシレータの動作には不要です。これらのモードでは、OSC2 ピンをデバイス I/O ピンまたはクロック出力ピンとして使用できます。OSC2ピンをクロック出力ピンとして使用する場合、出力周波数はFOSC/2となります。

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

XT モードと HS モードでは、水晶またはセラミック振動子を OSC1 および OSC2 ピンに接続して発振回路を形成します ( 図 6-3)。PIC24F のオシレータ設計にはパラレルカットの水晶振動子を使用する必要があります。シリーズカットの水晶振動子を使用すると、水晶振動子メーカーの仕様範囲外の周波数が発生する事があります。

6.5.2.1 水晶 / セラミック振動子のスタートアップ

デバイスの電圧が VSS から上昇すると、オシレータは発振を開始します。オシレータの発振開始までにかかる時間は、下に示すような多くの要素に左右されます。

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

• 使用するコンデンサの値

• 直列抵抗を使用する場合はその値と種類

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

• システムの温度

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

• 水晶振動子の品質

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

• システムノイズ

DS39700C_JP - p. 6-14 © 2009 Microchip Technology Inc.

セクション 6 オシレータオシレータ

6

図 6-4 に、一般的な水晶 / セラミック振動子のスタートアップ特性を示します。発振は瞬時に安定するわけではありません。

図 6-4: 水晶 / セラミック振動子のスタートアップ特性例

6.5.2.1.1 スリープモードからのプライマリ オシレータのスタートアップ

オシレータのスタートアップが最も難しいのは、スリープモードからのウェイクアップ時です。これは、ウェイクアップ時には負荷コンデンサがある程度の静止値まで部分的に充電されており、位相差も最小となっているためです。このため、発振が安定するまでには通常より長い時間が必要です。また、低電圧、高温、低周波数のクロックモードではループゲインが小さくなるため、やはりスタートアップに影響します。

スタートアップ時間を増大させる要因には、次のものがあります。

• 低周波数のデザイン ( 低ゲインのクロックモードを使用した場合 )

• ノイズの少ない環境 ( バッテリ駆動型機器等 )

• シールドされたボックス内での動作 ( ノイズの多い RF エリアから隔離した場合 )

• 低電圧

• 高温度

• スリープモードからのウェイクアップ

これとは逆に、回路ノイズによってオシレータの起動が速くなり、オシレータ スタートアップ時間が短くなる事があります。

6.5.2.2 オシレータ スタートアップ タイマ

水晶またはセラミック振動子を確実に起動して安定させるために、オシレータ スタートアップタイマ (OST) が用意されています。OST はシンプルな 10 ビット カウンタで、1024 TOSC サイクルをカウントした後にシステム全体にオシレータ クロックを供給します。OST がタイムアウトするまでの時間を TOST と表記します。オシレータ信号の振幅がオシレータピンの VIL とVIH のしきい値に達すると、OST がカウントを開始します。

POR、BOR、スリープモードからのウェイクアップ時にオシレータが再起動する際は、TOST 遅延が必ず必要です。オシレータ スタートアップ タイマは XT および HS モードのプライマリ オシレータ、およびセカンダリ オシレータ SOSC (6.7「セカンダリ オシレータ (SOSC)」参照 )で使用します。

Voltage

Crystal Start-up Time

Time

Device VDD

Maximum VDD of System

0V

VIL

VIH

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-15

PIC24F ファミリ リファレンス マニュアル

6.5.2.3 オシレータ回路の調整

マイクロチップ社のデバイスは、使用する部品やバージョンによって周波数、電圧、温度等の動作レンジが非常に幅広く、また、使用する外付け部品 ( 水晶振動子、コンデンサ等 ) も多くのメーカーから様々な品質のものが提供されているため、アプリケーションの要件を満たした部品を選択するには動作検証が欠かせません。外付け部品の選択と配置には多くの要因を考慮する必要があります。アプリケーションによっても異なりますが、例えば次のような要因を考慮します。

• アンプのゲイン

• 目的の周波数

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

• 動作温度

• 電源電圧レンジ

• スタートアップ時間

• 安定性

• 水晶振動子の寿命

• 消費電力

• 回路の簡素化

• 標準部品の使用

• 部品点数

6.5.2.4 オシレータ部品の最適値の決定方法

部品を選択する際には知識も多少必要ですが、それよりも計測とテストを何度も繰り返す事が重要です。通常、水晶振動子は並列共振周波数のみに着目して選択しますが、温度や周波数の許容誤差といったパラメータも個々のデザインで重要になる事もあります。マイクロチップ社のアプリケーション ノート AN588『PICmicro® Microcontroller Oscillator Design Guide』には水晶振動子の動作と発注に関する詳細な情報が記載されています。

PIC24F に内蔵のオシレータ回路は並列オシレータ回路で、並列共振の水晶振動子を選択する必要があります。負荷容量は通常 22 ~ 33 pF のレンジで指定します。このレンジ内であれば、水晶振動子は目標周波数にきわめて近い周波数で発振します。ただし後述するように、他の利点を得るためにこれらの値を若干変更する場合もあります。

クロックモードは、主に水晶振動子の目標周波数に基づいて選択します。オシレータの XT モードと HS モードの最大の違いは、オシレータ回路の内部インバータのゲインの違いであり、これにより利用できる周波数レンジも異なります。通常は、仕様を満たす範囲内で最もゲインの低いオシレータモードを選択します。これにより、ダイナミック電流 (IDD) を抑える事ができます。各オシレータモードの周波数レンジはカットオフ周波数の推奨値で決めていますが、電圧、温度、部品 ( 抵抗、コンデンサ、内部オシレータ回路等 ) のばらつきを含めた完全な検証を行っていれば、ゲインの異なるモードを選択してもかまいません。C1 と C2 も、まず最初は水晶振動子メーカーの推奨値やデバイスのデータシート記載値を参考にして、負荷容量に基づいて選択します。ただし、上述のように実際の回路で使用する水晶振動子は、工場での特性評価に使用したものとはメーカーや電源電圧等の要素が異なるため、デバイスのデータシートに記載の値はあくまでも参考程度に留めておきます。

容量値は、デバイスで想定される動作環境の範囲内で最も高温および最小 VDD でも発振するように選択するのが理想的です。高温および低 VDD はいずれもループゲインを抑える作用があるため、これらの極端な条件下で回路を動作させる事ができれば、温度と電源電圧の組み合わせがどのように変化しても正常な動作が期待できます。出力正弦波は、ゲインが最大の環境 ( すなわち VDD が最大で温度が最小の時 ) にもクリッピングしてはなりません。また、ゲインが最小の環境 ( すなわち VDD が最小で温度が最大の時 ) でもデバイスのデータシートに記載されたクロックのロジック入力要件を満たすだけの振幅の大きさが必要です。OSC1 の VIL および VIH

レベルは仕様で規定されている場合があります。詳細は各デバイスのデータシートを参照してください。

DS39700C_JP - p. 6-16 © 2009 Microchip Technology Inc.

セクション 6 オシレータオシレータ

6

スタートアップ時間を改善するには、C2 の値を C1 より大きくするという方法があります。こうすると電源投入時に水晶振動子に生じる位相差が大きくなり、オシレータのスタートアップが高速化します。これらのコンデンサは、水晶振動子の周波数応答を改善するだけでなく、値を大きくするとループゲインが小さくなる効果もあります。C2 の選択は、回路全体のゲインに影響します。C2 の値を大きくすると、水晶振動子がオーバードライブされてゲインが小さくなる事があります ( 後述の Rs に関する説明も参照 )。容量値が大き過ぎると水晶振動子に過電流が流れるため、C1 と C2 の値を過剰に大きくする事は避けるべきです。水晶振動子に流れる電流量は簡単に計測できませんが、推奨値から大きく外れなければ、この問題を心配する必要はありません。

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

OSC2 信号はクロック入力ピンの入力最小値から最大値の間をきれいに振れる正弦波でなければなりません。これを簡単に実現するには、記述のように実際の回路で想定される最小温度と最大 VDD で回路をテストします。この時のクロック出力が最大振幅となります。これでクリッピングが生じたり、VDD と VSS 付近で正弦波が歪んだりする場合、負荷容量を大きくすると水晶振動子に過電流が流れたり、メーカーが規定した負荷仕様値から大きく逸脱する可能性があります。水晶振動子に流れる電流量を調整するには、水晶振動子のインバータ出力ピンと C2の間にトリマ ポテンショメータを接続し、きれいな正弦波になるように調整します。水晶振動子の駆動電流は、温度が最も低く VDD が最も高い時に最大となります。

オーバードライブを防ぐには、トリマ ポテンショメータをこれらの限界条件で調整します。その後、トリマ ポテンショメータを最も近い標準値の直列抵抗 Rs で置き換えます。Rs が 20 k超となる等大きい場合、入力と出力が離れすぎてクロックがノイズの影響を受けやすくなります。水晶振動子のオーバードライブを避けるためにこれほど大きな値の直列抵抗が必要になる場合、C2 の値を大きくして補償するか、オシレータの動作モードを変更します。Rs が約 10 k未満となり、負荷容量がメーカーの仕様値からあまり離れないような組み合わせを探します。

6.5.3 外部クロック入力

EC モードでは、OSC1 ピンはハイ インピーダンス状態で、CMOS ドライバで駆動できます。OSC2ピンは、OSCIOFCNビット (コンフィグレーション ワード 2<5>)の設定によって I/Oまたはクロック出力 (FOSC/2) のいずれかとして構成できます。OSCIOFCN ビットをセットするとクロックが出力され ( 図 6-5)、テストや同期信号として使用できます。OSCIOFCN ビットをクリアすると、OSC2 ピンを汎用 I/O ピンとして利用できます ( 図 6-6)。消費電流を低減するため、OSC1 と OSC2 の間のフィードバック デバイスは OFF になります。

図 6-5: 外部クロック入力の動作 (OSCIOFCN = 1)

図 6-6: 外部クロック入力の動作 (OSCIOFCN = 0)

OSC1

OSC2FOSC/2

Clock fromExternal System

PIC24F

OSC1

I/O (OSC2)I/O

Clock fromExternal System

PIC24F

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-17

PIC24F ファミリ リファレンス マニュアル

6.6 位相ロック ループ (PLL) ブランチ

全ての PIC24F デバイスにおいて、システムクロックには位相ロックループ (PLL) を中心とした周波数逓倍ブランチが組み込まれています。このブランチを利用すると、低速なプライマリオシレータまたは外部クロックソースからより高速なクロックを得る事ができるため、高価な高速水晶 / セラミック振動子が不要になります。また、外部オシレータを使用しなくても内部高速 RC オシレータ (FRC) を使用してデバイスの最大動作速度のクロックを供給できます。

PIC24F に実装されている PLL ブロックにはいくつかの種類があり、どの種類の PLL ブロックが実装されているかは各デバイスファミリによって異なります。1 つのブランチで周波数を逓倍して出力する PLL ブロックもありますが、 複数のブランチで周波数の異なるクロックを生成し、特定の周辺モジュールに専用クロックを供給できる PLL ブロックもあります。どの PLLブロックが実装されているかは、各デバイスのデータシートを参照してください。

6.6.1 ベーシック 4x PLL ブロック

ほとんどのPIC24Fには、PLLブロックとしてベーシック4x PLLが実装されています (図 6-7)。この PLL ブロックは 4 倍に固定された逓倍器を持ち、XT/EC モードのプライマリ オシレータおよび FRC オシレータと組み合わせて使用できます。PLL には、約 3.5 ~ 8 MHz の任意の周波数を入力できます。

PLL のクロックソースが切り換わった場合、PLL レディ タイマをリセットして PLL を新しいクロックソースに同期させる必要があります。レディ タイマが設定した時間に達すると、PLL出力が使用可能になります。

図 6-7: ベーシック 4x PLL ブロック

4x PLL

Input from POSC

Input from FRC

4 MHz

8 MHz

HSPLL/ECPLL/FRCPLL Output

FNOSC<2:0>

011

001

DS39700C_JP - p. 6-18 © 2009 Microchip Technology Inc.

セクション 6 オシレータオシレータ

6

6.6.2 96 MHz PLL ブロック

USB機能を内蔵したPIC24F (PIC24FJ256GB110ファミリ等 )およびグラフィック コントローラ機能を内蔵した PIC24F (PIC24FJ256DA210 ファミリ等 ) には 96 MHz PLL ブロックが実装されており、フルスピード USB の動作に必要な安定した 48 MHz クロックやグラフィック コントローラ モジュール用のプログラマブル クロックを出力できる他、同じオシレータソースからシステムクロックを生成する事もできます。図 6-8 に 96 MHz PLL ブロックを示します。

96 MHz PLL ブロックには 4 MHz の信号を入力する必要があります。この信号から、24 逓倍固定の PLL を使用して 96 MHz 信号を生成します。この 96 MHz の信号を、USB クロック生成用、システムクロック生成用、グラフィック クロック生成用の 3 つのブランチに分岐します。96 MHz PLL ブロックの有効 / 無効は PLL96MHZ コンフィグレーション ビット ( 一部デバイスを除き、コンフィグレーション ワード 2 <11>) で設定するか、PLL96MHZ コンフィグレーション ビットをセットしていない場合は PLLEN (CLKDIV<5>) 制御ビットで設定します。PLL96MHZ コンフィグレーション ビットと PLLEN レジスタ ビットは USB およびグラフィック コントローラ モジュールを内蔵した PIC24F にしかありません。

96 MHz PLL プリスケーラは、オシレータからの入力周波数を自動で検出する事はできません。従って、4 MHz の出力が得られるように PLLDIV<2:0> コンフィグレーション ビット ( 一部デバイスを除き、コンフィグレーション ワード 2 <14:12>) を使用してユーザが明示的に PLL 分周器をコンフィグレーションする必要があります。

図 6-8: 96 MHz PLL ブロック

96 MHz PLL

PL

L P

resc

ale

r

PLLDIV<2:0>

Input from POSC

Input from FRC

÷12

÷ 8

÷ 6

÷ 5

÷ 4

÷ 3

÷ 2

÷ 1

111110101100011010001000

FNOSC<2:0>

÷ 2

÷ 3

48 MHz Clock for USB Module

Pos

tscl

aer

÷64

÷63

...

÷17.50

÷17.00

...

÷1.25

÷1

127126...6564...10

GCLKDIV<6:0>

Clock Output for Display Interface

(DISPCLK)

÷ 2

0

1 Clock Output for Graphics

Controller Module (G1CLK)

G1CLKSEL

Graphics Clock Option 2

Po

stsc

laer

CPDIV<1:0>

÷ 8

÷ 4

÷ 2

÷ 1

11100100

PLL Output for System Clock

4 MHz or 8 MHz

96 MHz Branch

96 MHz PLL

USB Clock

...

Graphics Clock

System Clock

4 MHz Branch

Graphics Clock Option 1

48 MHz Branch

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-19

PIC24F ファミリ リファレンス マニュアル

6.6.2.1 システムクロックの生成

システムクロックは、まず 96 MHz ブランチから設定可能なポストスケーラ / 分周器を利用して幅広い周波数のクロックを得て、これをマルチプレクサで選択して生成します。マルチプレクサからの出力を 3 分周固定の分周器に入力し、その出力をシステムクロックとして使用します。図 6-8 にシステムクロック サブブロックのロジックを示します。96 MHz の信号をソースとして使用するため、得られるシステムクロックの周波数は表 6-3 に示した通りとなります。利用可能なシステムクロック周波数の種類は、PLLDIV コンフィグレーション ビットの設定にかかわらず常に同じです。

表 6-3: 96 MHz PLL ブロックで生成可能なシステムクロック

6.6.2.2 USB クロックの生成

USB 機能を内蔵した PIC24F では、プライマリ オシレータとこの PLL ブロックを組み合わせて USB の動作に必要なクロックソースとして使用できます。PIC24F には USB クロッキングの要件を満たした FRC オシレータと、PLL ブロックを組み合わせて USB 用のクロックを得る事ができるデバイスがあります。USB モジュール専用の外部 48 MHz クロックを出力する機能はありません。USB モジュールのクロック信号は 96 MHz PLL から供給します。96 MHz の信号を生成するには 4 MHz の入力が必要なため、使用できるオシレータの周波数レンジには一定の制約が課せられます。表 6-4 に、USB の動作で有効なオシレータ コンフィグレーション(ECPLL、HSPLL、XTPLL、FRCPLL) を示します。ここに示したようにオシレータの周波数とPLLDIVの設定を正しく行えば、USBクロック ブランチの出力周波数は常に48 MHzとなります。

表 6-4: USB 動作で有効なオシレータ コンフィグレーション

MCU クロック分周 (CPDIV<1:0>) システムクロック周波数 (MIPS)

None (00) 32 MHz (16)

2 (01) 16 MHz (8)

4 (10) 8 MHz (4)(1)

8 (11) 4 MHz (2)(1)

Note 1: これらの周波数は USB 動作には使用できません。これらは PLL ブランチを選択し

て USB モジュールが無効の場合のみ使用できます。

入力オシレータ周波数 クロックモード PLL 分周 (PLLDIV<2:0>)

48 MHz ECPLL 12 (111)

32 MHz ECPLL 8 (110)

24 MHz HSPLL, ECPLL 6 (101)

20 MHz HSPLL, ECPLL 5 (100)

16 MHz HSPLL, ECPLL 4 (011)

12 MHz HSPLL, ECPLL 3 (010)

8 MHz ECPLL, XTPLL, FRCPLL(1) 2 (001)

4 MHz ECPLL, XTPLL, FRCPLL(1) 1 (000)

Note 1: FRCPLL の精度が ±0.25% なら USB クロックソースとして使用できます。

Note: USB デバイスで 32 MHz を超える周波数のプライマリ オシレータまたは外部クロックソースを使用した場合でも、USB モジュールを使用しない時にデバイスのシステムクロックをその周波数で動作させる事はできません。どの PIC24F も、最大システムクロックは 32 MHz です。

USB で使用するクロックには精度の条件 (±0.25%) があるため、全ての PIC24F でFRCPLL システムクロックを使用して USB を動作できるわけではありません。FRC オシレータ モジュールの詳細は、各デバイスのデータシートを参照してください。

DS39700C_JP - p. 6-20 © 2009 Microchip Technology Inc.

セクション 6 オシレータオシレータ

6

6.6.2.3 グラフィック クロックの生成

グラフィック コントローラ機能を内蔵した PIC24F では、安定した 2 つのクロック信号が生成されます。1 つはグラフィック コントローラ モジュールのロジック用で、もう 1 つはディスプレイ グラス用の信号を生成するディスプレイ モジュール インターフェイスのロジック用です。図 6-8 にグラフィック クロック サブブロックのロジックを示します。これら 2 つのクロック信号は、グラフィック クロック オプション 1 (96 MHz ブランチ ) またはグラフィック クロック オプション 2 (48 MHz ブランチ ) のいずれかから生成されます。どちらから生成するかは、マルチプレクサの G1CLKSEL (CLKDIV<4>) 制御ビットで設定します。グラフィック コントローラ モジュールのロジックはこのマルチプレクサの出力を直接使用しますが、ディスプレイモジュール インターフェイスのクロックはマルチプレクサの出力をポストスケーラに入力し、128 種類の周波数から選択します。最終的なクロック出力信号は、マルチプレクサのGCLKDIV<6:0> (CLKDIV2<15:9>) 制御ビットで選択します。128 種類の周波数は、インクリメント幅が 0.25、0.5、1 の 3 種類あります。詳細は表 6-5 を参照してください。グラフィックコントローラ モジュールを使用するアプリケーションでは、96 MHz PLL を必ず有効にする必要があります。

6.6.3 PLL ブロックの使用に関する注意事項

LOCK ビット (OSCCON<5>) は、PLL のロック状態を示す読み出し専用のステータスビットとして全ての PLL ブロックで共用します。このビットは、PLL がロックするまでの標準遅延時間 (TLOCK) の後、自動的にセットされます。POR 時、および PLL を使用するクロックソースへの切り換え時にこのビットはクリアされます。PLL を使用しないクロックソース選択時、このビットはクリアされたままとなります。

スタートアップ時に PLL が安定しない場合、LOCK ビットは実際の PLL ロックの状態を正しく反映せず、通常動作時に PLL ロックを喪失しても正しく検出しません。PLL のロック遅延の詳細は、各デバイスのデータシートで「電気的特性」セクションを参照してください。

FRC オシレータといずれかの PLL ブロックを組み合わせると、マイクロコントローラの動作に必要な安定したシステムクロックが得られます。ただしデバイスやファミリによっては、この組み合わせは同期通信で要求される周波数精度を満たさない事があります。USB 動作は、内蔵されている FRC オシレータの周波数精度が ±1/4% の場合のみ可能です。UART を使用するシリアル通信は、内蔵されている FRC オシレータの周波数精度が ±2% の場合のみ可能です。詳細は、各デバイスのデータシートで「電気的特性」のセクションを参照してください。

異なる PLL ブロックを内蔵した PIC24F プラットフォーム ( 例 : GA0 ファミリのデバイスとGB1 ファミリのデバイス ) の間でアプリケーションを移行する場合、PLL とクロック オプションの違いにより、システムクロックを使用する周辺モジュールのコンフィグレーションをやり直す必要があります。UART 等のシリアル通信の周辺モジュールでは特に注意が必要です。

表 6-5: ディスプレイ モジュールのクロック周波数分周

GCLKDIV<6:0> 周波数分周ディスプレイ モジュール

クロック周波数 96 MHz 入力 (48 MHz 入力 )

0000000 1 96 MHz (48 MHz)

0000001 1.25 (0.25 でインクリメント開始 ) 76.80 MHz (38.4 MHz)

0000010 1.5 64 MHz (32 MHz)

… … …

0111111 16.75 5.73 MHz (2.86 MHz)

1000000 17 5.65 MHz (2.82 MHz)

1000001 17.5 (0.5 でインクリメント開始 ) 5.49 MHz (2.74 MHz)

1000010 18 5.33 MHz (2.66 MHz)

… … …

1011111 32.5 2.95 MHz (1.47 MHz)

1100000 33 2.91 MHz (1.45 MHz)

1100001 34 (1 でインクリメント開始 ) 2.82 MHz (1.41 MHz)

1100010 35 2.74 MHz (1.37 MHz)

… … …

1111110 63 1.52 MHz (762 kHz)

1111111 64 1.50 MHz (750 kHz)

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-21

PIC24F ファミリ リファレンス マニュアル

6.7 セカンダリ オシレータ (SOSC)

ほとんどの PIC24F では、低消費電力セカンダリ オシレータ (SOSC) は 32.768 kHz の水晶振動子で動作するように設計されています。このオシレータはデバイスの SOSCO および SOSCIピンにあり、水晶振動子を使用する低消費電力動作用の副クロックソースとして機能します。セカンダリ オシレータは、Timer1 や RTCC (Real-Time Clock and Calendar) 等、低消費電力動作時にクロック信号を必要とする各種モジュールにクロックを供給します。

一部の PIC24F では、小電流駆動モードと大電流駆動モードを選択して利用できます。大電流駆動モードを使うとスタートアップ時間が短縮し、ノイズにも強くなります。

6.7.1 セカンダリ オシレータの有効化

SOSCの動作はFNOSCコンフィグレーション ビットで選択し、SOSCENビット(OSCCON<1>)で制御します。ほとんどの PIC24F では、SOSCEN をセットしてセカンダリ オシレータを有効にし、SOSC を必要とするモジュールで使用する必要があります。ただし一部の PIC24F では、アプリケーションで SOSCEN をセットしなくても SOSC を必要とするモジュールでセカンダリ オシレータを使用できます。このようなデバイスでは、モジュールを有効にすると、クロック信号が必要な時に SOSC が自動的に ON になります。ただし、SOSC はスタートアップ時間が長いため注意が必要です。SOSCEN ビットを使って SOSC を手動で起動しておけば、周辺モジュールのスタートアップ遅延を防ぐ事ができます。詳細は各 PIC24F のデータシートを参照してください。

6.7.2 セカンダリ オシレータの動作

6.7.2.1 連続動作

SOSCEN ビットをセットすると、常に SOSC が有効になります。このオシレータを常に動作させておくと、低消費電力動作時に 32 kHz システムクロックに素早く切り換わります。メイン オシレータに戻る際、水晶振動子を使用している場合はオシレータ スタートアップ時間が必要です (6.5.2.2「オシレータ スタートアップ タイマ」参照 )。

また、Timer1 または RTCC モジュールを使用するリアルタイム クロック アプリケーションでは、セカンダリ オシレータを常時動作させておく必要があります。詳細は、『PIC24F ファミリリファレンス マニュアル』セクション 14「タイマ」(DS39704) およびセクション 29「リアルタイムクロック カレンダ (RTCC)」(DS39696) を参照してください。

6.7.2.2 不連続動作

SOSCEN をクリアした場合、セカンダリ オシレータをデバイスの現在のクロックソースとして選択した時 (COSC<2:0> = 100) だけ SOSC が動作します。セカンダリ オシレータがデバイスのクロックソースの時にデバイスがスリープモードに移行すると、SOSC は自動的に無効になります。

6.7.2.3 動作モード

6.7.2.3.1 小電流 / 大電流駆動モード

一部の PIC24F では、SOSC を小電流駆動または大電流駆動モードで動作できます。この設定は、セカンダリ オシレータ モード コンフィグレーション ビット SOSCSEL<1:0> で行います。詳細は各デバイスのデータシートを参照してください。

小電流駆動モードでは SOSC はノイズの影響を受けやすくなり、スタートアップ時間も長くなります。このモードを使用する場合は SOSC 回路の設計とレイアウトに注意し、オシレータのスタートアップと発振が正しく行われる事を確認します。

6.7.2.3.2 デジタル モード

一部のPIC24Fでは、SOSCをデジタル モードで動作するようコンフィグレーションできます。この設定も、セカンダリ オシレータ モード コンフィグレーション ビット SOSCSEL<1:0> で行います。詳細は各デバイスのデータシートを参照してください。

Note: OSCCON レジスタへの書き込みを実行する前には、ロック解除シーケンスが必要です。詳細は、6.11.2「オシレータ切り換えシーケンス」を参照してください。

DS39700C_JP - p. 6-22 © 2009 Microchip Technology Inc.

セクション 6 オシレータオシレータ

6

このモードで動作中は、SOSCI および SOSCO ピンはデジタル I/O ピンとして構成されます。外部 32 kHz クロックソースを使って SOSCI (SCLKI) ピンを駆動すると、SOSC を使用するように構成されているモジュールにクロック信号が供給されます。この場合、水晶振動子の駆動回路は無効になり、SOSCEN ビット (OSCCON<1>) は意味を持ちません。

6.8 内部高速 RC オシレータ (FRC)

FRC オシレータは、高速 ( 定格 8 MHz) な内部 RC オシレータです。このオシレータは、外部水晶振動子やセラミック振動子を使用せずデバイスを高速に動作させたい場合に使用します。COSC ビットが「111」、「001」、「000」の場合、PIC24F は FRC オシレータで動作します。

6.8.1 FRC オシレータの有効化

FRC オシレータはデバイス初期化中のリファレンス クロックとして使用されるため、POR 時には常に有効になります。デバイスのコンフィグレーションが完了して PWRT の設定時間が経過したら、FRC はデバイスのクロックソースとして選択されている場合のみ動作を継続します。

6.8.2 FRC ポストスケーラ モード (FRCDIV)

内部高速 RC オシレータをクロックソースとして使用する場合、8 MHz( 定格 ) 以外の FRC 出力を利用する事もできます。もう 1 つの FRC モードである FRCDIV では、選択可能なポストスケーラを利用して 8 MHz よりも低いクロック周波数を 7 種類切り換えて使用できる他、現発振の 8 MHz 出力をそのまま使用する事もできます。ポストスケーラは、RCDIV<2:0> ビット(CLKDIV<10:8>) で設定します。8 MHz( 定格 ) の出力の場合、利用可能な周波数レンジは 4 MHz(2 分周 ) ~ 31 kHz (256 分周 ) となります。上記のレンジで周波数を選択できるため、ユーザは RCDIV ビットを書き換えるだけでいつでもアプリケーションの消費電力を低減できます。

COSC ビットが「111」の時は常に FRCDIV モードが選択されます。

6.8.3 PLL 付き FRC オシレータ モード (FRCPLL)

COSC ビットが「001」の時は常に FRCPLL モードが選択されます。また、このモードはFRCポストスケーラを 1 分周または 2 分周に設定 (RCDIV<2:0> = 000または 001) した場合のみ有効になります。

ベーシック 4x PLL ブロックを内蔵したデバイスの場合、FRC ポストスケーラ ブロックの出力とPLLを組み合わせて16 MHzまたは 32 MHzのシステムクロック (定格 )を得る事ができます。このモードでは、水晶振動子やセラミック振動子を使用するプライマリ オシレータ モードよりも周波数の精度はやや低下しますが、外部オシレータを使用せずデバイスを高速動作させる事ができます。

96 MHz PLL ブロックを内蔵したデバイスの場合、FRC ポストスケーラ ブロックの出力と PLLを組み合わせて 4 MHz、8 MHz、16 MHz、32 MHz のシステムクロック ( 定格 ) を得る事ができます。48 MHz の USB クロックを生成する事もできますが、USB を正常動作させるには、FRC オシレータが USB で要求される周波数精度の条件を満たしている必要があります。FRCオシレータの電気的特性の詳細は、各デバイスのデータシートを参照してください。FRC オシレータが USB で要求される周波数精度の条件を満たしていない場合、USB がアクティブな間は FRCPLL モードを使用しないでください。

Note: FRC の精度によっては、FRC オシレータモードは UART や USB 等のシリアル通信で要求される周波数精度の要件を満たさない事があります。FRC の精度の詳細は、製品ファミリのデータシートを参照してください。

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-23

PIC24F ファミリ リファレンス マニュアル

6.9 内部低消費電力 RC オシレータ (LPRC)

LPRC オシレータは FRC から独立しており、発振周波数は定格 31 kHz です。LPRC は、パワーアップ タイマ (PWRT)、ウォッチドッグ タイマ (WDT)、FSCM 回路にクロックを供給します。また、消費電力の低減が重要である代わりにタイミングの精度はそれほど重要でないアプリケーションでは、LPRC オシレータを使用してデバイスに低周波数のクロックを供給できます。

6.9.1 LPRC オシレータの有効化

LPRC オシレータは PWRT のクロックソースとなるため、内蔵の電圧レギュレータが無効の時は常に POR 時に有効化されます。PWRT の設定時間が経過した後で次のいずれかの条件が真の場合、LPRC オシレータは動作を継続します。

• FSCM が有効

• WDT が有効

• LPRC オシレータをシステムクロックとして選択 (COSC<2:0> = 100)

上記の条件がいずれも真でない場合、LPRCはPWRTの設定時間経過後にシャットオフします。

6.10 フェイルセーフ クロックモニタ (FSCM)

フェイルセーフ クロックモニタ (FSCM) は、オシレータの障害時にデバイスの継続動作を可能にする機能です。FSCM 機能は、コンフィグレーション ワード 2 の FCKSM (Clock Switch andMonitor) ビットをプログラミングすると有効になります。これらのビットを両方共プログラミング (「00」) した場合のみ FSCM が有効になります。FSCM を有効にすると、内部 LPRC オシレータはスリープモード時以外は常時動作します。

オシレータに障害が発生したら、FSCM がクロック障害トラップを生成してシステムクロックを FRC オシレータに切り換えます。この場合、オシレータを再起動するかユーザ制御でシャットダウンするかを選択できます。FSCM は、クロックソースやオシレータモードの種類にかかわらずシステムクロック ソースを監視します。これには、全てのモードのプライマリ オシレータやセカンダリ オシレータ SOSC ( システムクロックとして設定されている場合 ) も含まれます。

FRC オシレータへの切り換えの際、FSCM モジュールは次の動作を実行します。

1. COSC ビットに「000」を格納する

2. CF ステータスビットをセットしてクロック障害の発生を知らせる

3. OSWEN 制御ビットをクリアして、処理途中のクロック切り換えをキャンセルする

6.10.1 FSCM 遅延

POR 時、BOR 時、スリープモードからのウェイクアップ時には、FSCM がシステムクロックソースの監視を開始するまでに標準 TFSCM の遅延が挿入される事があります。FSCM 遅延の目的は、PWRT を利用していない時にオシレータや PLL が安定するまでの時間を確保する事にあります。FSCM 遅延は、内部システムリセット信号 SYSRST が発行された後に生成されます。FSCM 遅延のタイミングの詳細は、『PIC24F ファミリ リファレンス マニュアル』セクション 7

「リセット」を参照してください。

TFSCM 遅延は、FSCM が有効でシステムクロックに EC、HS、SOSC オシレータモードを選択している場合に適用されます。

Note: オシレータ障害トラップの詳細は、『PIC24F ファミリ リファレンス マニュアル』のセクション 8「割り込み」を参照してください。

Note: Tfscm の仕様値については、各デバイスのデータシートで「電気的特性」のセクションを参照してください。

DS39700C_JP - p. 6-24 © 2009 Microchip Technology Inc.

セクション 6 オシレータオシレータ

6

6.10.2 FSCM と低速オシレータのスタートアップ

デバイスで選択したオシレータの POR、BOR、スリープモードからのスタートアップ時間が遅い場合、オシレータが開始する前に FSCM 遅延が終了する可能性があります。この場合、FSCM はクロック障害トラップを送信します。すると、COSC ビットに FRC オシレータの設定が書き込まれます。この結果、起動中のオシレータはそのままシャットオフします。ユーザは、この状況を検出したらトラップ サービス ルーチン (TSR) でクロックを本来のオシレータに切り換える事ができます。

6.10.3 FSCM と WDT

FSCM と WDT はどちらもタイム ベースとして LPRC オシレータを使用します。クロック障害が発生しても WDT は影響を受けず、LPRC を使用して動作を継続します。

6.11 クロック切り換え動作

アプリケーションはソフトウェア制御によっていつでも 4 つのクロックソース ( プライマリ オシレータ、SOSC、FRC、LPRC) を自由に、ほぼ無制限に切り換える事ができます。この切り換え動作によって弊害が生じる事もあるため、PIC24F は切り換えプロセスに保護ロック機能を組み込んでいます。

6.11.1 クロック切り換えの有効化

クロック切り換えを有効にするには、FCKSM1 コンフィグレーション ビットを「0」に設定する必要があります。詳細は、各デバイスのデータシートを参照してください。FCKSM1 コンフィグレーション ビットが設定されていない (「1」) 場合、クロック切り換え機能とフェイルセーフ クロックモニタ (FSCM) 機能は無効になります。既定値設定は後者です。

クロック切り換えが無効の場合、NOSC 制御ビット (OSCCON<10:8>) でクロックの選択を制御する事はできません。ただし、COSC ビット (OSCCON<14:12>) には FNOSC コンフィグレーション ビットで選択したクロックソースが反映されます。

クロック切り換えが無効の場合、OSWEN 制御ビット (OSCCON<0>) は意味を持たず、常に「0」に保持されます。

Note: プライマリ オシレータ モードには 3 つのサブモード (XT、HS、EC) があり、これは POSCMD コンフィグレーション ビットで選択します。プライマリ オシレータモードと他のモードの切り換えはアプリケーションからソフトウェアで実行できますが、プライマリ オシレータのサブモードを切り換えるにはデバイスを再プログラミングする必要があります。

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-25

PIC24F ファミリ リファレンス マニュアル

6.11.2 オシレータ切り換えシーケンス

クロック切り換えを実行するには、最低でも以下の基本シーケンスが必要です。

1. 必要に応じて、COSC ビット (OSCCON<14:12>) を読み出して現在のオシレータソースを確認する。

2. ロック解除シーケンスを実行し、OSCCON レジスタの上位バイトへの書き込みを可能にする。

3. 切り換え後のオシレータソースに合わせて適切な値をNOSC制御ビット(OSCCON<10:8>)に書き込む。

4. ロック解除シーケンスを実行し、OSCCON レジスタの下位バイトへの書き込みを可能にする。

5. OSWEN ビットをセットしてオシレータ切り換えを開始する。

上記の基本シーケンスが完了すると、システムクロック ハードウェアは自動的に以下のように応答します。

1. クロック切り換えハードウェアが COSC ステータスビットと NOSC 制御ビットの新しい値を比較する。これらが一致する場合、クロック切り換えは冗長な動作となるため、OSWEN ビットが自動的にクリアされ、クロック切り換えは中止される。

2. クロック切り換えが適切に開始した場合、LOCK (OSCCON<5>) および CF (OSCCON<3>)ステータスビットがクリアされる。

3. 切り換え後のオシレータが動作中でない場合、ハードウェアによって動作が開始される。水晶振動子を ON にする必要がある場合、OST の設定時間が経過するまでハードウェアが待機する。切り換え後のクロックソースが PLL を使用する場合、PLL ロックが検出される (LOCK = 1) までハードウェアが待機する。

4. ハードウェアは、切り換え後のクロックソースが安定するまで待ってからクロックを切り換える。

5. ハードウェアが OSWEN ビットをクリアし、クロックの切り換えが正常に完了した事を示す。また、NOSC ビットの値が COSC ステータスビットに転送される。

6. 切り換え前のクロックソースはこの時点で OFF になる。ただし、LPRC は WDT またはFSCM が有効なら動作を継続し、SOSC は SOSCEN がセットされたままなら動作を継続する。

図 6-9 にクロックソースの切り換えタイミングを示します。

図 6-9: クロック遷移のタイミング チャート

Note: クロック切り換えシーケンスの間もプロセッサはコード実行を継続します。この間、タイミングが重要なコードは実行しないでください。

Old Clock Source

New Clock Source

System Clock

Both Oscillators Active

OSWEN bit

New SourceEnabled

New SourceStable

Old SourceDisabled

Note: システムクロックは、選択した任意のソース ( プライマリ、セカンダリ、FRC、LPRC) とする事ができます。

DS39700C_JP - p. 6-26 © 2009 Microchip Technology Inc.

セクション 6 オシレータオシレータ

6

次に、クロック切り換えで推奨されるコードシーケンスを示します。

1. OSCCON レジスタのロック解除および書き込みシーケンス中の割り込みを禁止する。

2. 連続する 2 つの命令で OSCCON<15:8> に 78h と 9Ah を書き込んで OSCCON の上位バイトへのロック解除シーケンスを実行する。

3. ロック解除シーケンス直後の命令で、NOSC 制御ビットに新しいオシレータソースを書き込む。

4. 連続する 2つの命令でOSCCON<7:0>に 46hと 57hを書き込んでOSCCONの下位バイトへのロック解除シーケンスを実行する。

5. ロック解除シーケンス直後の命令で OSWEN ビットをセットする。

6. クロックに影響しないコードの実行を継続する ( 任意 )。

7. 適量のソフトウェア遅延 ( サイクルカウント ) を実施し、選択したオシレータ /PLL を開始 / 安定させる。

8. OSWEN が「0」かどうかをチェックする。「0」であれば切り換えが正常に完了した事を意味する。

例 6-1 に OSCCON レジスタのロックを解除し、クロック切り換えを開始するコードシーケンスを示します。

例 6-1: クロック切り換えの基本コードシーケンス

6.11.2.1 クロック切り換えに関する注意事項

クロック切り換えをアプリケーションに組み込む際は、以下の点に注意してコードを作成します。

• OSCCON のロック解除シーケンスは、タイミングがきわめて重要です。OSCCON レジスタ バイトに書き込みを実行できるのは、ロック解除シーケンス直後の 1 命令サイクルのみです。C 言語等の高級言語では、コンパイルによって命令シーケンスのタイミングが損なわれる事があります。高級言語で記述したアプリケーションでクロック切り換えを実行する場合、そのルーチンをアセンブラで作成してアプリケーションにリンクし、必要に応じて関数として呼び出します。

• 切り換え後のクロックソースが水晶振動子の場合、クロック切り換え時間はオシレータのスタートアップ時間によって大きく左右されます。

• 新しいクロックソースが開始しない場合や存在しない場合、クロック切り換えハードウェアは新しいクロックソースが利用可能になるまでいつまでも待機します。OSWEN ビットがいつまでもセットされたままであれば、このような状況が発生している事を意味します。

• 切り換え後のクロックソースが PLL を使用している場合、ロックが完了するまでクロックは切り換わりません。LOCK ビットがクリアされ、OSWEN ビットがセットされていれば、PLL のロックが喪失している事を意味します。

• セカンダリ オシレータ等、周波数の低いクロックソースに切り換えると、デバイスの動作は非常に遅くなります。

Note: FSCM を有効にしている場合、周波数 100 kHz 未満のクロックに切り換えないでください。このように低速なクロックソースに切り換えると、オシレータ障害トラップが誤って発行され、内部高速 RC オシレータに切り換わってしまう事があります。

;Place the new oscillator selection in W0;OSCCONH (high byte) Unlock SequenceMOV #OSCCONH,w1MOV #0x78, w2MOV #0x9A, w3MOV.b w2, [w1]MOV.b w3, [w1];Set new oscillator selectionMOV.b WREG, OSCCONH;OSCCONL (low byte) unlock sequenceMOV #OSCCONL,w1MOV.b #0x01, w0MOV #0x46, w2MOV #0x57, w3MOV.b w2, [w1]MOV.b w3, [w1];Start oscillator switch operationMOV.b w0, [w1]

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-27

PIC24F ファミリ リファレンス マニュアル

6.11.3 クロック切り換えの中止

クロック切り換えが完了しない場合、OSWEN ビットをクリアするとクロック切り換えロジックをリセットできます。これによりクロック切り換えプロセスは中止され、OST ( 動作している場合 ) は停止およびリセット、PLL ( 動作している場合 ) は停止します。例 6-2 にクロック切り換えの中止に使用する一般的なアセンブリ コードを示します。

クロック切り換えプロシージャはいつでも中止できます。また、クロック切り換えが進行中に別のクロック切り換えを実行すると、進行中のクロック切り換えは中止されます。

例 6-2: クロック切り換えの中止

6.11.4 クロック切り換え中のスリープモードへの移行

クロック切り換え中にデバイスがスリープモードに移行した場合、クロック切り換えは中止されます。プロセッサは切り換え前のクロックで動作を継続し、OSWEN ビットはクリアされます。その後、PWRSAV命令が通常通り実行されます。

MOV #OSCCON,W1 ; pointer to OSCCONMOV.b #0x46,W2 ; first unlock codeMOV.b #0x57,W3 ; second unlock codeMOV.b W2, [W1] ; write first unlock codeMOV.b W3, [W1] ; write second unlock codeBCLR OSCCON,#OSWEN ; ABORT the switch

DS39700C_JP - p. 6-28 © 2009 Microchip Technology Inc.

セクション 6 オシレータオシレータ

6

6.12 2 スピード スタートアップ

2 スピード スタートアップは、これまで説明したユーザ制御によるクロック切り換えとは別の、自動的にクロックを切り換える機能です。この機能を利用すると、マイクロコントローラは通常動作時のクロックソースが利用可能になるまで FRC オシレータをクロックソースとして使用するため、オシレータのスタートアップからコード実行までの遅延時間を最小化できます。この機能は IESOコンフィグレーション ビット (コンフィグレーション ワード 2<15>)で制御し、FCKSM コンフィグレーション ビットの状態とは関係なく動作します。

2 スピード スタートアップは、FNOSC コンフィグレーション ビットで外部オシレータを選択しており、水晶振動子を使用するオシレータ ( プライマリまたはセカンダリ オシレータ ) のスタートアップ時間が長い場合に特に効果的です。FRC クロックソースは内部 RC オシレータを使用しているため、POR 時またはデバイスのウェイクアップ時にほとんど即座に利用可能になります。

2 スピード スタートアップでは、デバイスは POR 後にまず既定値のオシレータ コンフィグレーション (FRC) でコード実行を開始します。FNOSC コンフィグレーション ビットで設定した外部オシレータソースが安定したら、自動的にそちらのソースに切り換わります。

2 スピード スタートアップは、低消費電力のスリープモードからのウェイクアップ時にも使用します。選択した本来のクロックが安定するまでデバイスは FRC クロックソースで動作します。アイドル モードの場合、本来のクロックソースが安定するまでデバイスは現在選択中のクロックソースで動作するため、2 スピード スタートアップは使用しません。

6.12.1 2 スピード スタートアップ使用時の注意事項

2 スピード スタートアップで FRC オシレータを使用している間も、デバイスは一連の PWRSAV命令を含め、省電力モードへの移行に関して通常のコマンド シーケンスに従います。実際、OST がタイムアウトになる前にユーザコードで NOSC<2:0> ビットの設定を変更、またはPWRSAV #SLEEP 命令を発行する事ができます。こうすれば、アプリケーションを短時間だけウェイクアップさせて定期的な管理タスクを実行させ、デバイスが外部オシレータでの動作に切り換わる前にスリープモードに戻るという使い方も可能です。

また、COSC<2:0> ビットと NOSC<2:0> ビットの状態をユーザコードで比較照合すれば、デバイスが現在どちらのクロックソースで動作しているかをチェックできます。これら 2 つのビットが一致すれば、クロック切り換えが正常に完了し、デバイスは現在本来のクロックソース ( プライマリ オシレータ ) で動作している事になります。一致しない場合、リセットまたはスリープモードからのウェイクアップ中に FRC がクロックを供給している事が分かります。

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-29

PIC24F ファミリ リファレンス マニュアル

6.13 リファレンス クロック出力ジェネレータ

一部のオシレータモードでは、OSC2 からの CLKO 出力を利用して外部ロジックをマイクロコントローラに同期させる事ができます。ただしこの出力を利用できるモードは限られており、出力される周波数も FOSC/2 の 1 種類のみです。一部の PIC24F ファミリでは、リファレンスクロック出力ジェネレータにより、独立したプログラマブルな同期クロックソースを REFOポートピンに出力できます。

リファレンス クロック出力ジェネレータには、プライマリ オシレータと現在選択中のシステムクロックの両方が入力されます。これにより、一定の周波数のクロック信号を出力するか、実行時のシステムクロックの変化 ( 通常モードと低消費電力モードの切り換え等 ) に合わせて変化する周波数を出力するかをユーザが選択する事ができます。16 段階の分周器を使用して、システムクロックを幅広い周波数に分周して選択できます。システムクロックの周波数が変更された場合、リファレンス クロックの周波数はグリッチなしに変化します。

このリファレンス クロック出力は REFOCON レジスタ ( レジスタ 6-4) で制御します。ROENビット (REFOCON<15>) をセットすると、クロック信号が REFO ピンから出力されます。RODIVビット (REFOCON<11:8>) で 1 分周から 32,768 分周までの分周比を選択して出力周波数を設定します。このポストスケーラは、実行時にいつでも変更できます。速度をスムーズに切り換えるため、RODIV ビットを変更する前にクロック ジェネレータを無効にしておく事を推奨します。

ROSEL ビット (REFOCON<12>) で、プライマリ オシレータと COSC<2:0> で選択した現在のシステムクロック ソースのどちらをリファレンス クロック出力のベースクロックにするかを設定します。ROSEL ビットをクリアした場合、クロック切り換えによってシステムクロックが変化するとリファレンス出力の周波数も変化します。

システムクロックにプライマリ オシレータ モード (EC、HS、XT) を使用している場合、スリープモード時にもリファレンス クロックを出力するかどうかをROSELビットとROSSLPビットで設定します。ROSSLPおよびROSELビットを両方共セットし、POSCENビット(OSCCON<2>)もセットしていないと、デバイスがスリープモードに移行した際に OSC1 と OSC2 のオシレータはパワーダウンします。

DS39700C_JP - p. 6-30 © 2009 Microchip Technology Inc.

セクション 6 オシレータオシレータ

6

6.14 設計上のヒント

Q 1: 電源投入後に OSC2 ピンをオシロスコープで観察しても、クロックがありません。何が原因でしょうか。

A: いくつかの原因が考えられます。

1. ウェイクアップ ソース (WDT、MCLR、割り込み等 ) を設定せずにスリープモードに移行した。ウェイクアップ ソースなしにデバイスがスリープモードに移行しないようにコードを検証してください。可能なら、MCLR に Low パルスを与えてデバイスをウェイクアップしてみてください。MCLR を Low にしたまま電源を投入しても水晶振動子のスタートアップ時間は長くなりますが、プログラム カウンタは MCLR ピンを High にするまで進みません。

2. 目標周波数に対して適切なクロックモードが選択されていない。プログラミングを行っていないデバイスでは、オシレータの既定値は FRCDIV です。水晶振動子やセラミック振動子を使用して発振しない場合、既定値のクロックモードが選択されたままの事が考えられます。クロックモードが正しくプログラミングされているかどうか確認してください。

3. 電源投入シーケンスが正しく実行されていない。電源投入前に I/O ピンから CMOS デバイスに電源を与えると、ラッチアップや不正なスタートアップ等、問題が発生する事があります。ブラウンアウト状態、電源投入時の電源ラインのノイズ、立ち上がり時間の遅い VDD によって問題が生じる場合もあります。デバイスの I/O に何も接続せず、立ち上がり時間の速い動作確認済みの電源を使用して電源を投入してみてください。ブラウンアウトおよび電源投入シーケンスに関する注意事項は、各デバイスのデータシートで電源投入に関する項を参照してください。

4. 水晶振動子に接続しているコンデンサ C1 と C2 の値が正しくない、または正しく接続されていない。まず、接続が正しい事を確認してください。通常、デバイスのデータシートに記載されている値の部品を使用すればオシレータは動作するはずですが、回路によってはその値が最適でない事もあります。

Q 2: デバイスが水晶振動子の共振周波数よりもはるかに高い周波数で動作します。なぜでしょうか。

A: オシレータ回路に対してゲインが大きすぎます。6.5.2.4「オシレータ部品の最適値の決定方法」を参考にして、C2 の値を大きくする、Rs を使用する、適切なクロックモードを選択する等の対策を試してください。この問題は、一般的な 32.768 kHz の低周波数水晶振動子の場合によく発生します。

Q 3: 回路の動作は正常ですが、周波数が少しずれています。どうすれば調整できますか。

A: C1 の値を変更すると、オシレータの周波数にも多少影響があります。仕様上の周波数が同じでも、直列共振水晶振動子と並列共振水晶振動子では共振周波数が異なります。並列共振水晶振動子を使用するようにしてください。

Q 4: 正常に動作しているアプリケーションが突然終了したり、時間がずれる事があります。なぜでしょうか。

A: 時間がずれる場合、まずソフトウェアをチェックしてみてください。それ以外には、オシレータ出力の振幅が不十分でオシレータ入力を確実にトリガできていない可能性があります。また、C1 と C2 の値をチェックして、デバイスのコンフィグレーション ビットが当該オシレータモードに適した設定かどうかを確認してください。

Q 5: オシロスコープのプローブをオシレータピンに接続しても期待通りの観察結果になりません。なぜでしょうか。

A: オシロスコープのプローブにも容量がある事に注意してください。プローブをオシレータ回路に接続すると、オシレータの特性が変化します。低容量の ( アクティブ ) プローブを使用してみてください。

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-31

PIC

24Fフ

ァミ

リ リ

ファ

レン

ス マ

ニュ

アル

DS

39700C_JP

- p. 6-32©

2009 Microchip T

echnology Inc.

it 4 Bit 3 Bit 2 Bit 1 Bit 0All

Resets

— CF POSCEN(1) SOSCEN OSWEN xxxx(2)

KSEL(1) — — — — 0100

— 0000

N4 TUN3 TUN2 TUN1 TUN0 0000

— — — — 0000

ートを参照してください。

6.15 レジスタマップ

表 6-6 に PIC24F のオシレータ モジュールに関連するレジスタの一覧を示します。

表 6-6: オシレータのレジスタマップ

ファイル名 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 B

OSCCON — COSC2 COSC1 COSC0 — NOSC2 NOSC1 NOSC0 CLKLOCK IOLOCK(1) LOCK

CLKDIV ROI DOZE2 DOZE1 DOZE0 DOZEN RCDIV2 RCDIV1 RCDIV0 CPDIV1(1) CPDIV0(1) PLLEN(1) G1CL

CLKDIV2(1) GCLKDIV6 GCLKDIV5 GCLKDIV4 GCLKDIV3 GCLKDIV2 GCLKDIV1 GCLKDIV0 — — — — —

OSCTUN — — — — — — — — — — TUN5 TU

REFOCON(1) ROEN — ROSSLP ROSEL RODIV3 RODIV2 RODIV1 RODIV0 — — — —

凡例 : x = リセット時の値は不定、— = 未実装、「0」として読み出し、完全に実装されたレジスタについては、リセット時の値を 16 進数で表示

Note 1: これらのビットまたはレジスタは、一部のデバイスにのみ実装されています。実際の実装とリセット時の値については、各デバイスのデータシ

2: OSCCON レジスタのリセット時の値は FOSC コンフィグレーション ビットの設定およびリセットの種類によって異なります。

セクション 6 オシレータオシレータ

6

6.16 関連アプリケーション ノート

ここでは、本書の本セクションに関連するアプリケーション ノートをリストアップします。これらのアプリケーション ノートは特に PIC24F ファミリ向けに記述されたものではありませんが、基本的な考え方は共通しているため、若干の修正や制約のみでそのまま使用できます。オシレータ モジュールに関連する現在のアプリケーション ノートは次の通りです。

タイトル アプリケーション ノート番号

Crystal Oscillator Basics and Crystal Selection for rfPIC® and PICmicro® Devices AN826

Basic PICmicro® Oscillator Design AN849

Practical PICmicro® Oscillator Analysis and Design AN943

Making Your Oscillator Work AN949

Note: PIC24F ファミリに関するその他のアプリケーション ノートやサンプルコードについては、弊社ウェブサイト (www.microchip.com) をご覧ください。

© 2009 Microchip Technology Inc. DS39700C_JP - p. 6-33

PIC24F ファミリ リファレンス マニュアル

6.17 改訂履歴

リビジョン A (2006 年 9 月 )

本書の初版

リビジョン B (2008 年 2 月 )

GA1 および GB1 ファミリの PIC24F に対応するため、 次の内容を更新しました。

• 新しいクロック トポロジを反映して図 6-1 を更新

• 新しいクロック 機能を反映して 6.2「CPU クロッキング方式」のレジスタを更新

• セクション 6.6「4x PLL」を 6.6「位相ロック ループ (PLL) ブランチ」に差し換え、 4x PLL と USB PLL ブロックに関する専用のセクションを追加

6.13「リファレンス クロック出力ジェネレータ」を追加しました。従来のセクション 6.13 以降は、セクション 6.14 以降に番号を変更しました。

リビジョン C (2009 年 8 月 )

6.4.5「クロック分周レジスタ 2 (CLKDIV2)」を追加しました。6.4.2「クロック分周レジスタ(CLKDIV)」の内容を追加しました。レジスタ 6-2 のビット 5 と 4 を追加しました。6.6.2「96 MHz PLL ブロック」を変更しました。図 6-8 を新しい図に差し換えました。6.6.3「PLL ブロックの使用に関する注意事項」を追加しました。表 6-6 を変更しました。

DS39700C_JP - p. 6-34 © 2009 Microchip Technology Inc.

マイクロチップ社製デバイスのコード保護機能に関して次の点にご注意ください。

• マイクロチップ社製品は、該当するマイクロチップ社データシートに記載の仕様を満たしています。

• マイクロチップ社では、通常の条件ならびに仕様に従って使用した場合、マイクロチップ社製品のセキュリティ レベルは、現

在市場に流通している同種製品の中でも最も高度であると考えています。

• しかし、コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です。 弊社の理解では、こうした手法

はマイクロチップ社データシートにある動作仕様書以外の方法でマイクロチップ社製品を使用する事になります。このような

行為は知的所有権の侵害に該当する可能性が非常に高いと言えます。

• マイクロチップ社は、コードの保全性に懸念を抱くお客様と連携し、対応策に取り組んでいきます。

• マイクロチップ社を含む全ての半導体メーカーで、自社のコードのセキュリティを完全に保証できる企業はありません。コー

ド保護機能とは、マイクロチップ社が製品を「解読不能」として保証するものではありません。

コード保護機能は常に進歩しています。 マイクロチップ社では、常に製品のコード保護機能の改善に取り組んでいます。 マイクロ

チップ社のコード保護機能の侵害は、デジタル ミレニアム著作権法に違反します。 そのような行為によってソフトウェアまたはそ

の他の著作物に不正なアクセスを受けた場合、デジタルミレニアム著作権法の定めるところにより損害賠償訴訟を起こす権利があ

ります。

本書に記載されているデバイス アプリケーション等に関す

る情報は、ユーザの便宜のためにのみ提供されているもので

あり、更新によって無効とされる事があります。お客様のア

プリケーションが仕様を満たす事を保証する責任は、お客様

にあります。マイクロチップ社は、明示的、暗黙的、書面、

口頭、法定のいずれであるかを問わず、本書に記載されてい

る情報に関して、状態、品質、性能、商品性、特定目的への

適合性をはじめとする、いかなる類の表明も保証も行いませ

ん。マイクロチップ社は、本書の情報およびその使用に起因

する一切の責任を否認します。マイクロチップ社の明示的な

書面による承認なしに、生命維持装置あるいは生命安全用途

にマイクロチップ社の製品を使用する事は全て購入者のリス

クとし、また購入者はこれによって発生したあらゆる損害、

クレーム、訴訟、費用に関して、マイクロチップ社は擁護さ

れ、免責され、損害をうけない事に同意するものとします。

暗黙的あるいは明示的を問わず、マイクロチップ社が知的財

産権を保有しているライセンスは一切譲渡されません。

2009 Microchip Technology Inc.

商標

マイクロチップ社の名称と Microchip ロゴ、dsPIC、

KEELOQ、KEELOQ ロゴ、MPLAB、PIC、PICmicro、PICSTART、PIC32 ロゴ、rfPIC、UNI/O は、米国およびその

他の国におけるマイクロチップ・テクノロジー社の登録商標

です。

FilterLab、Hampshire、HI-TECH C、Linear Active Thermistor、MXDEV、MXLAB、SEEVAL、Embedded Control Solutions Company は、米国におけるマイクロチッ

プ・テクノロジー社の登録商標です。

Analog-for-the-Digital Age、Application Maestro、CodeGuard、dsPICDEM、dsPICDEM.net、dsPICworks、dsSPEAK、ECAN、ECONOMONITOR、FanSense、HI-TIDE、In-Circuit Serial Programming、ICSP、Mindi、MiWi、MPASM、MPLAB Certified ロゴ、MPLIB、MPLINK、mTouch、Octopus、Omniscient Code Generation、PICC、

PICC-18、PICDEM、PICDEM.net、PICkit、PICtail、REAL ICE、rfLAB、Select Mode、Total Endurance、TSHARC、

UniWinDriver、WiperLock、ZENA は、米国およびその他の

国におけるマイクロチップ・テクノロジー社の商標です。

SQTP は、米国におけるマイクロチップ・テクノロジー社の

サービスマークです。

その他、本書に記載されている商標は各社に帰属します。

© 2009, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved.

本書は再生紙を使用しています。

ISBN: 978-1-60932-182-6

DS39700C_JP - p. 6-35

マイクロチップ社では、Chandler および Tempe ( アリゾナ州 )、Gresham ( オレゴン州 ) の本部、設計部およびウェハー製造工場そしてカリフォルニア州とインドのデザイン センターが ISO/TS-16949:2002 認証を取得しています。マイクロチップ社の品質システム プロセスおよび手順は、PIC® MCU および dsPIC® DSC、KEELOQ® コード ホッピング デバイス、シリアル EEPROM、マイクロペリフェラル、不揮発性メモリ、アナログ製品に採用されています。さらに、開発システムの設計と製造に関するマイクロチップ社の品質システムはISO 9001:2000 認証を取得しています。

DS39700C_JP - p. 6-36 2009 Microchip Technology Inc.

北米本社2355 West Chandler Blvd.Chandler, AZ 85224-6199Tel: 480-792-7200 Fax: 480-792-7277技術サポート : http://support.microchip.comURL: www.microchip.com

アトランタDuluth, GA Tel: 678-957-9614 Fax: 678-957-1455

ボストンWestborough, MATel: 774-760-0087 Fax: 774-760-0088

シカゴItasca, ILTel: 630-285-0071 Fax: 630-285-0075

クリーブランドIndependence, OHTel: 216-447-0464Fax: 216-447-0643

ダラスAddison, TXTel: 972-818-7423 Fax: 972-818-2924

デトロイトFarmington Hills, MITel: 248-538-2250Fax: 248-538-2260

ココモKokomo, INTel: 765-864-8360Fax: 765-864-8387

ロサンゼルスMission Viejo, CATel: 949-462-9523 Fax: 949-462-9608

サンタクララSanta Clara, CATel: 408-961-6444Fax: 408-961-6445

トロントMississauga, Ontario,CanadaTel: 905-673-0699 Fax: 905-673-6509

アジア / 太平洋アジア太平洋支社Suites 3707-14, 37th FloorTower 6, The GatewayHarbour City, KowloonHong KongTel: 852-2401-1200Fax: 852-2401-3431

オーストラリア - シドニー

Tel: 61-2-9868-6733Fax: 61-2-9868-6755

中国 - 北京

Tel: 86-10-8528-2100 Fax: 86-10-8528-2104

中国 - 成都

Tel: 86-28-8665-5511Fax: 86-28-8665-7889

中国 - 重慶

Tel: 86-23-8980-9588Fax: 86-23-8980-9500

中国 - 香港 SARTel: 852-2401-1200 Fax: 852-2401-3431

中国 - 南京

Tel: 86-25-8473-2460Fax: 86-25-8473-2470

中国 - 青島

Tel: 86-532-8502-7355Fax: 86-532-8502-7205

中国 - 上海

Tel: 86-21-5407-5533 Fax: 86-21-5407-5066

中国 - 瀋陽

Tel: 86-24-2334-2829Fax: 86-24-2334-2393

中国 - 深圳

Tel: 86-755-8203-2660 Fax: 86-755-8203-1760

中国 - 武漢

Tel: 86-27-5980-5300Fax: 86-27-5980-5118

中国 - 西安

Tel: 86-29-8833-7252Fax: 86-29-8833-7256

中国 - 厦門

Tel: 86-592-2388138 Fax: 86-592-2388130

中国 - 珠海

Tel: 86-756-3210040 Fax: 86-756-3210049

アジア / 太平洋インド - バンガロール

Tel: 91-80-3090-4444 Fax: 91-80-3090-4123

インド - ニューデリー

Tel: 91-11-4160-8631Fax: 91-11-4160-8632

インド - プネ

Tel: 91-20-2566-1512Fax: 91-20-2566-1513

日本 - 横浜

Tel: 81-45-471- 6166 Fax: 81-45-471-6122

韓国 - 大邱

Tel: 82-53-744-4301Fax: 82-53-744-4302

韓国 - ソウル

Tel: 82-2-554-7200Fax: 82-2-558-5932 または

82-2-558-5934

マレーシア - クアラルンプール

Tel: 60-3-6201-9857Fax: 60-3-6201-9859

マレーシア - ペナン

Tel: 60-4-227-8870Fax: 60-4-227-4068

フィリピン - マニラ

Tel: 63-2-634-9065Fax: 63-2-634-9069

シンガポールTel: 65-6334-8870Fax: 65-6334-8850

台湾 - 新竹

Tel: 886-3-6578-300Fax: 886-3-6578-370

台湾 - 高雄

Tel: 886-7-536-4818Fax: 886-7-536-4803

台湾 - 台北

Tel: 886-2-2500-6610 Fax: 886-2-2508-0102

タイ - バンコク

Tel: 66-2-694-1351Fax: 66-2-694-1350

ヨーロッパオーストリア - ヴェルス

Tel: 43-7242-2244-39Fax: 43-7242-2244-393

デンマーク - コペンハーゲン

Tel: 45-4450-2828 Fax: 45-4485-2829

フランス - パリ

Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79

ドイツ - ミュンヘン

Tel: 49-89-627-144-0 Fax: 49-89-627-144-44

イタリア - ミラノ Tel: 39-0331-742611 Fax: 39-0331-466781

オランダ - ドリューネン

Tel: 31-416-690399 Fax: 31-416-690340

スペイン - マドリッド

Tel: 34-91-708-08-90Fax: 34-91-708-08-91

英国 - ウォーキンガム

Tel: 44-118-921-5869Fax: 44-118-921-5820

各国の営業所とサービス

01/05/10