72
2016 Microchip Technology Inc. DS70005213C_JP - p. 1 12 ビット高速マルチ SAR A/D コンバータ (ADC) ハイライト 本書には以下の主要項目を記載しています。 1.0 はじめに .......................................................................................................................... 2 2.0 レジスタ .......................................................................................................................... 5 3.0 変換シーケンス ............................................................................................................. 35 4.0 ADC 動作 ...................................................................................................................... 35 5.0 応用例 ........................................................................................................................... 53 6.0 省電力モード時の動作 .................................................................................................. 62 7.0 リセットの影響 ............................................................................................................. 63 8.0 レジスタマップ ............................................................................................................. 64 9.0 関連アプリケーション ノート ...................................................................................... 68 10.0 改訂履歴 ........................................................................................................................ 69 注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジ ナルの英語版をご参照願います。

12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジナルの英語版をご参照願います。

12 ビット高速マルチ SAR A/D コンバータ (ADC)

ハイライト

本書には以下の主要項目を記載しています。

1.0 はじめに .......................................................................................................................... 2

2.0 レジスタ .......................................................................................................................... 5

3.0 変換シーケンス ............................................................................................................. 35

4.0 ADC 動作 ...................................................................................................................... 35

5.0 応用例 ........................................................................................................................... 53

6.0 省電力モード時の動作 .................................................................................................. 62

7.0 リセットの影響 ............................................................................................................. 63

8.0 レジスタマップ ............................................................................................................. 64

9.0 関連アプリケーション ノート ...................................................................................... 68

10.0 改訂履歴 ........................................................................................................................ 69

2016 Microchip Technology Inc. DS70005213C_JP - p. 1

Page 2: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

1.0 はじめに

dsPIC33/PIC24 12 ビット高速マルチ SAR アナログ / デジタル コンバータ (ADC) は以下の特長を備えます。

• マルチ ADC コア :

- 1 チャンネルの ADC コア ( 専用 ADC コアと呼ぶ ) を複数個内蔵 ( 数はデバイスによって異なります )

- 複数チャンネルで共有する ADC コア ( 共有 ADC コアと呼ぶ ) を 1 個内蔵

• ADC コアごとに分解能を 6/8/10/12 ビットに設定可能

• 12 ビット分解能でチャンネルあたり最大 3.25 Msps の変換レート

• 最大 32 個のアナログ入力源 ( 数はデバイスによって異なります )

• チャンネルごとにシングルエンド / 擬似差動入力が選択可能

• チャンネルごとに変換結果のデータ フォーマット ( 符号なし / 符号付き ) が選択可能

• アナログ入力ごとに別々の 16 ビット変換結果レジスタを備える

• 早期割り込み生成機能による変換データの高速処理

• 複数個のデジタル コンパレータを内蔵 ( 数はデバイスによって異なります )

- 各種の比較条件を選択可能

- 指定したアナログ入力に割り当て可能

• 複数個のオーバー サンプリング フィルタ ( 数はデバイスによって異なります )

- 分解能が向上

- 指定したアナログ入力に割り当て可能

• CPU スリープ / アイドル中も動作可能

マルチ SAR12 ビット ADC の概略ブロック図を図 1-1、図 1-2、図 1-3 に示します。

本モジュールは複数個の独立した SAR ADC コアを内蔵します。アナログ入力 ( チャンネル ) はマルチプレクサを介して各 ADC コアのサンプル / ホールド (S/H) 回路に接続します。ADC コアは、チャンネル設定 ( 出力フォーマット、計測モード、入力チャンネル ( 番号 )) に基づいてアナログサンプルを処理します。変換が完了すると、結果データは各アナログ入力が備える結果バッファに保存されます。デジタルフィルタとデジタル コンパレータがそのチャンネルからのデータを処理するよう設定されている場合、データはそれらに渡されます。

Note: 本書はデバイス データシートの補足を目的としています。本書の内容は dsPIC33/PIC24 ファミリの一部のデバイスに対応していません。本書の内容がお客様のご使用になるデバイスに対応しているかどうかは、対応するデバイス データシートを参照してください。

デバイス データシートとファミリ リファレンス マニュアルの各セクションは、Microchip 社のウェブサイト (http://www.microchip.com) でご覧になれます。

DS70005213C_JP - p. 2 2016 Microchip Technology Inc.

Page 3: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

図 1-1: 12 ビット高速マルチ SAR ADC のブロック図

Dedicated ADCCore 0

(see Figure 1-2)

Reference Voltage Selection(REFSEL<2:0> bits)

Clock Source Selection(CLKSEL<1:0> bits)

Clock Source Divider(CLKDIV<5:0> bits)

AVDD AVSS VREF+ VREF- INTREF

InstructionClock

FRC AUX Clock

Reference

Reference

Reference

Output Data

Clock

Clock

Clock

Output Data

Output Data

Digital Comparator 0ADCMP0Interrupt

Digital Comparator xADCMPxInterrupt

Digital Filter 0

Digital Filter x

ADFL0DAT

ADFLxDAT

ADCBUF0

ADCBUF1

ADCBUFx

ADCAN0Interrupt

ADCAN1Interrupt

ADCANxInterrupt

ADFL0Interrupt

ADFLxInterrupt

Dedicated ADCCore 1

(see Figure 1-2)

Shared ADC Core(see Figure 1-3)

AnalogInputs

AnalogInputs

AnalogInputs

Fosc

(See 図 1-2)

(See 図 1-2)

(See 図 1-3)

2016 Microchip Technology Inc. DS70005213C_JP - p. 3

Page 4: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

図 1-2: 専用 ADC コア

図 1-3: 共有 ADC コア

Sample-and-Hold

12-Bit SARADC

Positive InputSelection

(CxCHS<1:0>bits)

NegativeInput

Selection(DIFFx bit)

Analog InputPins

From OtherAnalog

Modules

AVSS

ANx

ANy

“+”

“-“

ADC CoreClock Divider(ADCS<6:0>

bits)

Reference

Output Data

Clock

Trigger StopsSampling

SharedSample-and-Hold

Shared ADC Core

NegativeInput

Selection(DIFFx bit)

Analog InputPins

From OtherAnalog

Modules

AVSS

“+”

“-“

Analog Channel Numberfrom Current Trigger

ANx

ANy

12-Bit SARADC

ADC Core ClockDivider

(SHRADCS<6:0>bits)

Reference

Clock

Output Data

Sampling Time is Definedby SHRSAMC<8:0> bits

DS70005213C_JP - p. 4 2016 Microchip Technology Inc.

Page 5: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

2.0 レジスタ

12ビット高速マルチSAR ADCモジュールの特殊機能レジスタ (SFR)は制御レジスタとデータレジスタに分類されます。本ADCモジュールが実装する全てのSFRは表8-1に記載しています。

2.1 制御レジスタ

ADCON1L レジスタ ( レジスタ 2-1) は、本モジュールを有効にするためのビットと、アイドル中の本モジュールの動作を定義するためのビットを含みます。

ADCON1H レジスタ ( レジスタ 2-2) は、出力データのフォーマットと共有 ADC コアの分解能を制御します。

ADCON2L レジスタ ( レジスタ 2-3) は、共有 ADC コアのクロック分周比と早期割り込みタイミングを制御します。このレジスタは、参照電圧関連イベントによる共通割り込みを有効にするためのビットと、チャンネル別に早期割り込み機能を有効にするためのビットを含みます。

ADCON2H レジスタ ( レジスタ 2-4) は、共有 ADC コアのサンプリング時間を制御します。このレジスタは、本モジュールの参照電圧が動作準備を完了しているかどうかを示すためのステータスビットも含みます。

ADCON3L レジスタ ( レジスタ 2-5) は、全ての ADC コアに適用する参照電圧を選択するためのビットと、全チャンネルに共通のレベルセンシティブおよびシングルショット ソフトウェアトリガを制御するためのビットを含みます。また、本モジュールの全てのトリガを無効にするための制御ビットも格納します。

ADCON3H レジスタ ( レジスタ 2-6) は、全ての ADC コアを有効にするためのビット、モジュールのクロック源を選択するためのビット、クロック源の分周比を制御するためのビットを含みます。

ADCON4L レジスタ ( レジスタ 2-7) は、専用 ADC コアのトリガから変換開始までの遅延を有効にするためのビットと、トリガの同期を有効にするためのビットを格納します。

ADCON4H レジスタ ( レジスタ 2-8) は専用 ADC コアのチャンネルを選択します。

ADCON5L レジスタ ( レジスタ 2-9) は全ての ADC コアの電源を制御します。

ADCON5H レジスタ ( レジスタ 2-10) は、各 ADC コアが電源投入後に動作準備を完了した時に生成する共通割り込みを有効にするためのビットを含みます。このレジスタでは、全ての ADCコアに適用する起動遅延も指定します。

ADCOREnL レジスタ (「n」は専用 ADC コアの番号 )( レジスタ 2-11) は、各専用 ADC コアのトリガから変換開始までの遅延時間を定義します。

ADCOREnH レジスタ (「n」は専用 ADC コアの番号 )( レジスタ 2-12) は、各専用 ADC コアの分解能、早期割り込みタイミング、ADC コアクロック分周比を選択します。

ADLVLTRGL および ADLVLTRGH レジスタ ( レジスタ 2-13、レジスタ 2-14) は、 各入力チャンネルのトリガのタイプ ( レベル センシティブまたはエッジ センシティブ ) を選択するためのビットを格納します。

ADEIEL および ADEIEH レジスタ ( レジスタ 2-15、レジスタ 2-16) は、各入力チャンネルの早期割り込み生成を有効にするためのビットを格納します。

ADEISTATL および ADEISTATH レジスタ ( レジスタ 2-17、レジスタ 2-18) は、各入力チャンネルの早期割り込みステータスフラグを格納します。

ADMOD0L、ADMOD0H、ADMOD1L、ADMOD1H レジスタ ( レジスタ 2-19 ~レジスタ 2-22)は、各入力チャンネルの擬似差動モードを有効にするためのビットと、出力データ フォーマット ( 符号の有無 ) を選択するためのビットを格納します。

ADIEL および ADIEH レジスタ ( レジスタ 2-23、レジスタ 2-24) は、各入力チャンネルの個別および共通割り込みを有効にするためのビットを格納します。

ADSTATL および ADSTATH レジスタ ( レジスタ 2-25、レジスタ 2-26) は、各入力チャンネルのデータレディ フラグを格納します。

ADTRIGnL および ADTRIGnH レジスタ ( レジスタ 2-27) は、各入力チャンネルのトリガ源を定義します。

ADCAL0L、ADCAL0H、ADCAL1L、ADCAL1H レジスタ ( レジスタ 2-28 ~レジスタ 2-31) は、各 ADC コアの校正を制御します。

2016 Microchip Technology Inc. DS70005213C_JP - p. 5

Page 6: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

ADCMPnCON レジスタ ( レジスタ 2-32) は、デジタル コンパレータの動作 ( 割り込みの生成、比較基準等 ) を制御します。このレジスタは、コンパレータ イベントの発生を示すステータスビットも提供します。このレジスタは、各デジタル コンパレータに 1 つずつ割り当てられます。

ADCMPnENL および ADCMPnENH レジスタ ( レジスタ 2-33、レジスタ 2-34) は、変換結果をデジタル コンパイラで処理するアナログ入力を選択します。このレジスタペア (L と H) は各デジタル コンパレータに 1 ペアずつ割り当てられます。

ADFLnCON レジスタ ( レジスタ 2-35) は、オーバーサンプリング フィルタを制御するためのビットと、フィルタの動作を示すステータスビットを含みます。このレジスタは、各デジタルコンパレータに 1 つずつ割り当てられます。

2.2 データレジスタ

ADCBUFx レジスタは、A/D 変換の出力データを格納します。一般的に、ADCBUFx レジスタは実装されている各アナログ チャンネルに 1 つずつ割り当てられます (「x」はチャンネル番号に対応します )。これらのレジスタは 16 ビット幅ですが、12 ビットの変換結果をどのように格納するかは、選択されているデータ出力フォーマットによって決まります。詳細は 4.10「変換結果」を参照してください。

ADCMPnLO および ADCMPnHI レジスタは、デジタル コンパレータで使う 16 ビットの下側および上側のデジタル比較値を格納します。このレジスタペア (HI と LO) は各 ADC コンパレータに 1 ペアずつ割り当てられます。

ADFLnDAT レジスタは、オーバーサンプリング フィルタからの 16 ビット出力データを格納します。このレジスタは、各オーバーサンプリング フィルタに 1 つずつ割り当てられます。

DS70005213C_JP - p. 6 2016 Microchip Technology Inc.

Page 7: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

レジスタ 2-1: ADCON1L: ADC 制御レジスタ 1 LOW

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

ADON(1) — ADSIDL — — — — —

bit 15 bit 8

U-0 r-0 r-0 r-0 r-0 U-0 U-0 U-0

— — — — — — — —

bit 7 bit 0

凡例 : r = 予約済みビット

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15 ADON: ADC イネーブルビット (1)

1 = ADC モジュールを有効にする0 = ADC モジュールを無効にする

bit 14 未実装 : 「0」として読み出し

bit 13 ADSIDL: ADC アイドル中停止ビット

1 = デバイスがアイドルに移行した時にモジュールは動作を停止する0 = アイドル中もモジュールは動作を継続する

bit 12-7 未実装 : 「0」として読み出し

bit 6-3 予約済み : 常に「0」として書き込み

bit 2-0 未実装 : 「0」として読み出し

Note 1: ADON ビットは、ADC モジュールを設定した後にセットする必要があります。ADON = 1の時に ADC コンフィグレーション ビットを変更した場合、モジュールの挙動は予測不可能です。

2016 Microchip Technology Inc. DS70005213C_JP - p. 7

Page 8: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

レジスタ 2-2: ADCON1H: ADC 制御レジスタ 1 HIGH

r-0 r-0 r-0 r-0 r-0 r-0 r-0 r-0

— — — — — — — —

bit 15 bit 8

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

FORM SHRRES1 SHRRES0 — — — — —

bit 7 bit 0

凡例 : r = 予約済みビット

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-8 予約済み : 常に「0」として書き込み

bit 7 FORM: 小数データ出力フォーマット ビット

1 = 小数0 = 整数

bit 6-5 SHRRES<1:0>: 共有 ADC コア分解能選択ビット

11 = 12 ビット分解能10 = 10 ビット分解能01 = 8 ビット分解能00 = 6 ビット分解能

bit 4-0 予約済み : 常に「0」として書き込み

DS70005213C_JP - p. 8 2016 Microchip Technology Inc.

Page 9: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

レジスタ 2-3: ADCON2L: ADC 制御レジスタ 2 LOW

R/W-0 R/W-0 r-0 R/W-0 r-0 R/W-0 R/W-0 R/W-0

REFCIE REFERCIE(2) — EIEN — SHREISEL2(1) SHREISEL1(1) SHREISEL0(1)

bit 15 bit 8

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

— SHRADCS6 SHRADCS5 SHRADCS4 SHRADCS3 SHRADCS2 SHRADCS1 SHRADCS0

bit 7 bit 0

凡例 : r = 予約済みビット

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15 REFCIE: バンドギャップ / 参照電圧レディ共通割り込みイネーブルビット

1 = バンドギャップおよび参照電圧の動作準備完了時に共通割り込みを生成する0 = この割り込みを無効にする

bit 14 REFERCIE: バンドギャップ / 参照電圧エラー共通割り込みイネーブルビット (2)

1 = バンドギャップおよび参照電圧エラーを検出した時に共通割り込みを生成する0 = この割り込みを無効にする

bit 13 予約済み : 常に「0」として書き込み

bit 12 EIEN: 早期割り込みイネーブルビット

1 = 対応する入力チャンネルの割り込みに対して早期割り込み機能を有効にする(早期割り込み生成時にEISTATx フラグがセットされます )

0 = 変換完了時 (ANxRDY フラグがセットされた時 ) に個別割り込みを生成する

bit 11 予約済み : 常に「0」として書き込み

bit 10-8 SHREISEL<2:0>: 共有コア早期割り込みタイミング選択ビット (1)

111 = 早期割り込みをデータレディの 8 TADCORE クロック前に生成する110 = 早期割り込みをデータレディの 7 TADCORE クロック前に生成する101 = 早期割り込みをデータレディの 6 TADCORE クロック前に生成する100 = 早期割り込みをデータレディの 5 TADCORE クロック前に生成する011 = 早期割り込みをデータレディの 4 TADCORE クロック前に生成する010 = 早期割り込みをデータレディの 3 TADCORE クロック前に生成する001 = 早期割り込みをデータレディの 2 TADCORE クロック前に生成する000 = 早期割り込みをデータレディの 1 TADCORE クロック前に生成する

bit 7 未実装 : 「0」として読み出し

bit 6-0 SHRADCS<6:0>: 共有 ADC コア入力クロック分周比ビット

これらのビットは、共有 ADC コアのコアクロック周期 (TADCORE) をコア源クロック周期 (TCORESRC) の数で指定します。

1111111 = 254 TCORESRC

•••0000011 = 6 TCORESRC

0000010 = 4 TCORESRC

0000001 = 2 TCORESRC

0000000 = 2 TCORESRC

Note 1: 共有 ADC コアの分解能が 6 ビット (SHRRES<1:0> = 00) の場合、SHREISEL<2:0> = 「100」~「111」は無効です(使えません)。共有ADCコアの分解能が8ビット (SHRRES<1:0> = 01)の場合、SHREISEL<2:0>= 「110」および「111」は無効です ( 使えません )。

2: 誤った割り込みを防ぐため、REFERCIE ビットはモジュールを有効 (ADON = 1) にした後に設定する必要があります。

2016 Microchip Technology Inc. DS70005213C_JP - p. 9

Page 10: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

レジスタ 2-4: ADCON2H: ADC 制御レジスタ 2 HIGH

R/HS/HC-0 R/HS/HC-0 r-0 r-0 r-0 r-0 R/W-0 R/W-0

REFRDY REFERR — — — — SHRSAMC9 SHRSAMC8

bit 15 bit 8

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

SHRSAMC7 SHRSAMC6 SHRSAMC5 SHRSAMC4 SHRSAMC3 SHRSAMC2 SHRSAMC1 SHRSAMC0

bit 7 bit 0

凡例 : HC = HWクリア可能ビット HS = HW セット可能ビット r = 予約済みビット

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15 REFRDY: バンドギャップ / 参照電圧レディ フラグビット

1 = バンドギャップおよび参照電圧は動作準備を完了した 0 = バンドギャップおよび参照電圧は動作準備を完了していない

bit 14 REFERR: バンドギャップ / 参照電圧エラー フラグビット

1 = ADC モジュールを有効 (ADON = 1) にした後にバンドギャップまたは参照電圧の供給が中断した0 = バンドギャップまたは参照電圧エラーは検出されていない

bit 13-10 予約済み : 常に「0」として書き込み

bit 9-0 SHRSAMC<9:0>: 共有 ADC コア サンプリング時間選択ビット

これらのビットは、共有ADCコアのサンプリング時間を共有ADCコアのコアクロック周期 (TADCORE)の数で指定します。1111111111 = 1025 TADCORE

•••0000000001 = 3 TADCORE

0000000000 = 2 TADCORE

DS70005213C_JP - p. 10 2016 Microchip Technology Inc.

Page 11: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

レジスタ 2-5: ADCON3L: ADC 制御レジスタ 3 LOW

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/HS/HC-0 R/W-0 R/HS/HC-0

REFSEL2(1) REFSEL1(1) REFSEL0(1) SUSPEND SUSPCIE SUSPRDY SHRSAMP CNVRTCH

bit 15 bit 8

R/W-0 R/HS/HC-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

SWLCTRG SWCTRG CNVCHSEL5 CNVCHSEL4 CNVCHSEL3 CNVCHSEL2 CNVCHSEL1 CNVCHSEL0

bit 7 bit 0

凡例 : HC = HWクリア可能ビット HS = HW セット可能ビット

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-13 REFSEL<2:0>: ADC 参照電圧選択ビット (1)

bit 12 SUSPEND: 全 ADC コアトリガ ディセーブル ビット

1 = 全ての ADC コアの後続のトリガイベントを無効にする0 = 全ての ADC コアをトリガ可能にする

bit 11 SUSPCIE: 全 ADC コアトリガ無効化共通割り込みイネーブルビット

1 = ADCコアトリガが無効(SUSPENDビット = 1)にされた時に共通割り込みを生成する(その時点で処理中であった全ての変換が終了すると SUSPRDY ビットがセットされます )

0 = ADC コアトリガが無効にされても共通割り込みを生成しない

bit 10 SUSPRDY: 全 ADC コア トリガ無効化フラグビット

1 = 全 ADC コアのトリガが無効になった (SUSPEND ビット = 1かつ処理中であった変換が全て終了 )0 = ADC コアは変換をまだ終了していない

bit 9 SHRSAMP: 共有 ADC コア サンプリング直接制御ビット

このビットは、CNVRTCH ビットによって制御されるチャンネル別の変換トリガと組み合わせて使います。このビットは、CNVCHSEL<5:0> ビットによって指定されたアナログ入力を共有 ADC コアに接続し、サンプリング時間の延長を可能にします。このビットはハードウェアによって制御されず、変換を開始する (CNVRTCH を「1」にセットする ) 前にクリアする必要があります。 1 = 共有 ADC コアは CNVCHSEL<5:0> ビットが指定するアナログ入力をサンプリングする0 = ADC コア ハードウェアがサンプリングを制御する

bit 8 CNVRTCH: チャンネル別ソフトウェア変換トリガビット

1 = CNVCHSEL<5:0> ビットが指定するアナログ入力に対して単発トリガを生成する ( このビットは、次の命令サイクルでハードウェアによって自動的にクリアされます )

0 = 次のチャンネル別変換トリガを生成できる

bit 7 SWLCTRG: 共通レベル センシティブ ソフトウェア トリガビット

1 = ADTRIGnL/ADTRIGnHTレジスタで共通レベル センシティブ ソフトウェア トリガがトリガ源として選択されている場合、全チャンネルで連続的にトリガを生成する

0 = ソフトウェア レベルセンシティブ共通トリガを生成しない

bit 6 SWCTRG: 共通ソフトウェア トリガビット

1 = ADTRIGnL/ADTRIGnHT レジスタで共通ソフトウェア トリガがトリガ源として選択されている場合、全チャンネルで単発トリガを生成する ( このビットは次の命令サイクルでハードウェアによって自動的にクリアされます )

0 = 次のソフトウェア共通トリガを生成できる

bit 5-0 CNVCHSEL<5:0>: チャンネル別ソフトウェア変換トリガのチャンネル番号選択ビット

これらのビットにより、CNVRTCH ビットがセットされた時に変換するチャンネルを選択します。

Note 1: 参照電圧源オプションが利用可能かどうかは、デバイスのデータシートを参照してください。

2016 Microchip Technology Inc. DS70005213C_JP - p. 11

Page 12: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

レジスタ 2-6: ADCON3H: ADC 制御レジスタ 3 HIGH

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

CLKSEL1(1) CLKSEL0(1) CLKDIV5 CLKDIV4 CLKDIV3 CLKDIV2 CLKDIV1 CLKDIV0

bit 15 bit 8

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

SHREN C6EN(2) C5EN(2) C4EN(2) C3EN(2) C2EN(2) C1EN(2) C0EN(2)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-14 CLKSEL<1:0>: ADC モジュール クロック源選択ビット (1)

bit 13-8 CLKDIV<5:0>: ADC モジュール クロック源分周器ビット

分周器は、CLKSEL<1:0> ビットで選択されている ADC モジュール クロック源 (TSRC)か ら、全てのADCコ ア (共 有および専用 )に 適用するコア源クロック (TCORESRC) を生成します。 各 ADC コアは、ADCOREnH レジスタの ADCS<6:0> ビットまたは ADCON2L レジスタの SHRADCS<6:0> ビットに基づいてTCORESRCクロックをさらに分周する事で、そのコア専用のTADCOREクロックを生成します。

111111 = 64 TSRC

•••000011 = 4 TSRC

000010 = 3 TSRC

000001 = 2 TSRC

000000 = 1 TSRC

bit 7 SHREN: 共有 ADC コア イネーブルビット

このビットをクリアしても、コアクロックとアナログバイアス回路は無効になりません。1 = 共有 ADC コアを有効にする0 = 共有 ADC コアを無効にする

bit 6-0 C6EN:C0EN: 専用 ADC コア x イネーブルビット (2)

このビットをクリアしても、コアクロックとアナログバイアス回路は無効になりません。1 = 専用 ADC コア x を有効にする0 = 専用 ADC コア x を無効にする

Note 1: ADC モジュール クロック源オプションが利用可能かどうかは、デバイスのデータシートを参照してください。

2: デバイスごとに専用 ADC の実装数が異なります。このため、デバイスによっては一部の CxEN ビットが未実装です。詳細は各デバイスのデータシートを参照してください。

DS70005213C_JP - p. 12 2016 Microchip Technology Inc.

Page 13: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

レジスタ 2-7: ADCON4L: ADC 制御レジスタ 4 LOW

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

— SYNCTRG6(1) SYNCTRG5(1) SYNCTRG4(1) SYNCTRG3(1) SYNCTRG2(1) SYNCTRG1(1) SYNCTRG0(1)

bit 15 bit 8

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

— SAMC6EN(1) SAMC5EN(1) SAMC4EN(1) SAMC3EN(1) SAMC2EN(1) SAMC1EN(1) SAMC0EN(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15 未実装 : 「0」として読み出し

bit 14-8 SYNCTRG<6:0>: 専用 ADC コア x トリガ同期ビット (1)

1 = 全てのトリガをコア源クロック (TCORESRC) に同期する0 = ADC コアトリガを同期しない

bit 7 未実装 : 「0」として読み出し

bit 6-0 SAMC6EN:SAMC0EN: 専用 ADC コア x 変換遅延イネーブルビット (1)

1 = トリガ後の変換開始を遅延させる (ADCコアは、ADCOREnLレジスタのSAMC<9:0>ビットで指定されている時間だけトリガ後もサンプリングを継続します )

0 = トリガ後にサンプリングを即座に停止し、次のコアクロック サイクルで変換を開始する

Note 1: デバイスごとに専用 ADC の実装数が異なります。このため、デバイスによっては一部の SAMCxEN およびSYNCTRGx ビットが未実装です。詳細は各デバイスのデータシートを参照してください。

2016 Microchip Technology Inc. DS70005213C_JP - p. 13

Page 14: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

レジスタ 2-8: ADCON4H: ADC 制御レジスタ 4 HIGH

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

— — C6CHS1(1) C6CHS0(1) C5CHS1(1) C5CHS0(1) C4CHS1(1) C4CHS0(1)

bit 15 bit 8

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

C3CHS1(1) C3CHS0(1) C2CHS1(1) C2CHS0(1) C1CHS1(1) C1CHS0(1) C0CHS1(1) C0CHS0(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-14 未実装 : 「0」として読み出し

bit 13-12 C6CHS<1:0>: 専用 ADC コア 6 入力チャンネル選択ビット (1)

bit 11-10 C5CHS<1:0>: 専用 ADC コア 5 入力チャンネル選択ビット (1)

bit 9-8 C4CHS<1:0>: 専用 ADC コア 4 入力チャンネル選択ビット (1)

bit 7-6 C3CHS<1:0>: 専用 ADC コア 3 入力チャンネル選択ビット (1)

bit 5-4 C2CHS<1:0>: 専用 ADC コア 2 入力チャンネル選択ビット (1)

bit 3-2 C1CHS<1:0>: 専用 ADC コア 1 入力チャンネル選択ビット (1)

bit 1-0 C0CHS<1:0>: 専用 ADC コア 0 入力チャンネル選択ビット (1)

Note 1: 専用 ADC コアの実装数と各 ADC で利用可能な入力チャンネル オプションは、デバイスごとに異なります。このため、デバイスによっては一部の CxCHS<1:0> ビットが未実装です。 利用可能な ADC コアの数と入力チャンネル オプションについては、デバイスのデータシートを参照してください。

DS70005213C_JP - p. 14 2016 Microchip Technology Inc.

Page 15: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

レジスタ 2-9: ADCON5L: ADC 制御レジスタ 5 LOW

R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0

SHRRDY C6RDY(1) C5RDY(1) C4RDY(1) C3RDY(1) C2RDY(1) C1RDY(1) C0RDY(1)

bit 15 bit 8

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

SHRPWR C6PWR(1) C5PWR(1) C4PWR(1) C3PWR(1) C2PWR(1) C1PWR(1) C0PWR(1)

bit 7 bit 0

凡例 : HC = HWクリア可能ビット HS = HW セット可能ビット

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15 SHRRDY: 共有 ADC コアレディ フラグビット

1 = 共有 ADC コアは給電されて動作準備が完了している0 = 共有 ADC コアの動作準備は完了していない

bit 14-8 C6RDY:C0RDY: 専用 ADC コア x レディ フラグビット (1)

1 = 共有 ADC コアは給電されて動作準備が完了している0 = 専用 ADC コア x の動作準備は完了していない

bit 7 SHRPWR: 共有 ADC コア電源イネーブルビット

1 = 共有 ADC コアへの給電を ON にする0 = 共有 ADC コアへの給電を OFF にする

bit 6-0 C6PWR:C0PWR: 専用 ADC コア x 電源イネーブルビット (1)

1 = 共有 ADC コアへの給電を ON にする0 = 共有 ADC コアへの給電を OFF にする

Note 1: 利用可能な専用 ADC コアの数はデバイスごとに異なります。このため、デバイスによっては一部の CxRDYおよび CxPWR ビットが未実装です。利用可能な ADC コアについては、各デバイスのデータシートを参照してください。

2016 Microchip Technology Inc. DS70005213C_JP - p. 15

Page 16: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

レジスタ 2-10: ADCON5H: ADC 制御レジスタ 5 HIGH

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

— — — — WARMTIME3 WARMTIME2 WARMTIME1 WARMTIME0

bit 15 bit 8

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

SHRCIE C6CIE(1) C5CIE(1) C4CIE(1) C3CIE(1) C2CIE(1) C1CIE(1) C0CIE(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-12 未実装 : 「0」として読み出し

bit 11-8 WARMTIME<3:0>: ADC コア起動遅延ビット

これらのビットは、全 ADC コアの起動遅延時間をコア源クロック周期 (TCORESRC) の数で指定します1111 = 32768 TCORESRC

1110 = 16384 TCORESRC

1101 = 8192 TCORESRC

1100 = 4096 TCORESRC

1011 = 2048 TCORESRC

1010 = 1024 TCORESRC

1001 = 512 TCORESRC

1000 = 256 TCORESRC

0111 = 128 TCORESRC

0110 = 64 TCORESRC

0101 = 32 TCORESRC

0000-0100 = 16 TCORESRC

bit 7 SHRCIE: 共有 ADC コアレディ共通割り込みイネーブルビット

1 = 共有 ADC コアが給電されて動作準備が完了した時に共通割り込みを生成する0 = この割り込みを無効にする

bit 6-0 C6CIE:C0CIE: 専用 ADC コア x レディ共通割り込みイネーブルビット (1)

1 = 専用 ADC コア x が給電されて動作準備が完了した時に共通割り込みを生成する0 = この割り込みを無効にする

Note 1: 利用可能な専用 ADC コアの数はデバイスごとに異なります。このため、デバイスによっては一部の CxCIEビットが未実装です。利用可能な ADC コアについては、各デバイスのデータシートを参照してください。

DS70005213C_JP - p. 16 2016 Microchip Technology Inc.

Page 17: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

レジスタ 2-11: ADCOREnL: 専用 ADC コア n 制御レジスタ LOW(1)

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

— — — — — — SAMC<9:8>

bit 15 bit 8

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

SAMC<7:0>

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-10 未実装 : 「0」として読み出し

bit 9-0 SAMC<9:0>: 専用 ADC コア n 変換遅延時間選択ビット

これらのビットは、トリガイベントから変換を開始するまでの遅延時間をコアクロック周期 (TADCORE)の数で指定します。 この期間中、ADC コアはサンプリングを継続します。この機能は、ADCON4L レジスタの SAMCxEN ビットで有効にします。

1111111111 = 1025 TADCORE

•••0000000001 = 3 TADCORE

0000000000 = 2 TADCORE

Note 1: 利用可能な専用 ADC コアの数はデバイスごとに異なります。利用可能な ADC コアについては、各デバイスのデータシートを参照してください。

2016 Microchip Technology Inc. DS70005213C_JP - p. 17

Page 18: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

レジスタ 2-12: ADCOREnH: 専用 ADC コア n 制御レジスタ HIGH(1)

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

— — — EISEL2(2) EISEL1(2) EISEL0(2) RES1 RES0

bit 15 bit 8

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

— ADCS6 ADCS5 ADCS4 ADCS3 ADCS2 ADCS1 ADCS0

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-13 未実装 : 「0」として読み出し

bit 12-10 EISEL<2:0>: ADC コア n 早期割り込みタイミング選択ビット (2)

111 = 早期割り込みをデータレディの 8 TADCORE 前に生成する110 = 早期割り込みをデータレディの 7 TADCORE 前に生成する101 = 早期割り込みをデータレディの 6 TADCORE 前に生成する100 = 早期割り込みをデータレディの 5 TADCORE 前に生成する011 = 早期割り込みをデータレディの 4 TADCORE 前に生成する010 = 早期割り込みをデータレディの 3 TADCORE 前に生成する001 = 早期割り込みをデータレディの 2 TADCORE 前に生成する000 = 早期割り込みをデータレディの 1 TADCORE 前に生成する

bit 9-8 RES<1:0>: ADC コア n 分解能選択ビット

11 = 12 ビット分解能10 = 10 ビット分解能01 = 8 ビット分解能00 = 6 ビット分解能

bit 7 未実装 : 「0」として読み出し

bit 6-0 ADCS<6:0>: ADC コア x 入力クロック分周器ビット

これらのビットは、コアクロック周期 (TADCORE)をコア源クロック周期 (TCORESRC)の数で指定します。1111111 = 254 Tcoresrc•••0000011 = 6 TCORESRC

0000010 = 4 TCORESRC

0000001 = 2 TCORESRC

0000000 = 2 TCORESRC

Note 1: 利用可能な専用 ADC コアの数はデバイスごとに異なります。利用可能な ADC コアについては、各デバイスのデータシートを参照してください。

2: ADC コア分解能が 6 ビット (RES<1:0> = 00) の場合、EISEL<2:0> = 「100」~「111」は無効です ( 使えません )。ADC コア分解能が 8 ビット (SHRRES<1:0> = 01) の場合、 EISEL<2:0> = 「110」および「111」は無効です ( 使えません )。

DS70005213C_JP - p. 18 2016 Microchip Technology Inc.

Page 19: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

レジスタ 2-13: ADLVLTRGL: ADC レベル センシティブ トリガ制御レジスタ LOW

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

LVLEN<15:8>(1)

bit 15 bit 8

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

LVLEN<7:0>(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 LVLEN<15:0>: レベルトリガ イネーブルビット (1)

1 = 入力チャンネル トリガをレベル センシティブにする0 = 入力チャンネル トリガをエッジ センシティブにする

Note 1: 利用可能な専用 ADC チャンネルの数はデバイスごとに異なります。このため、デバイスによっては一部の LVLENx ビットが未実装です。利用可能な ADC コアの数と入力チャンネル オプションについては、デバイスのデータシートを参照してください。

レジスタ 2-14: ADLVLTRGH: ADC レベル センシティブ トリガ制御レジスタ HIGH

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

LVLEN<31:24>(1)

bit 15 bit 8

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

LVLEN<23:16>(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 LVLEN<31:16>: レベルトリガ イネーブルビット (1)

1 = 入力チャンネル トリガをレベル センシティブにする0 = 入力チャンネル トリガをエッジ センシティブにする

Note 1: 利用可能な専用 ADC チャンネルの数はデバイスごとに異なります。このため、デバイスによっては一部の LVLENx ビットが未実装です。利用可能な ADC コアの数と入力チャンネル オプションについては、デバイスのデータシートを参照してください。

2016 Microchip Technology Inc. DS70005213C_JP - p. 19

Page 20: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

レジスタ 2-15: ADEIEL: ADC 早期割り込みイネーブル レジスタ LOW

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

EIE<15:8>(1)

bit 15 bit 8

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

EIE<7:0>(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 EIE<15:0>: チャンネル別早期割り込みイネーブルビット (1)

1 = このチャンネルの早期割り込みを有効にする0 = このチャンネルの早期割り込みを無効にする

Note 1: 利用可能なチャンネルはデバイスごとに異なります。このため、デバイスによっては一部の EIEx ビットが未実装です。利用可能なチャンネルについては、各デバイスのデータシートを参照してください。

レジスタ 2-16: ADEIEH: ADC 早期割り込みイネーブル レジスタ HIGH

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

EIE<31:24>(1)

bit 15 bit 8

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

EIE<23:16>(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 EIE<31:16>: チャンネル別早期割り込みイネーブルビット (1)

1 = このチャンネルの早期割り込みを有効にする0 = このチャンネルの早期割り込みを無効にする

Note 1: 利用可能なチャンネルはデバイスごとに異なります。このため、デバイスによっては一部の EIEx ビットが未実装です。利用可能なチャンネルについては、各デバイスのデータシートを参照してください。

DS70005213C_JP - p. 20 2016 Microchip Technology Inc.

Page 21: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

レジスタ 2-17: ADEISTATL: ADC 早期割り込みステータス レジスタ LOW

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

EISTAT<15:8>(1)

bit 15 bit 8

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

EISTAT<7:0>(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 EISTAT<15:0>: チャンネル別早期割り込みステータス ビット (1)

1 = 早期割り込みが発生した0 = ADCBUFx の直近の読み出しの後で早期割り込みは発生していない

Note 1: 利用可能なチャンネルはデバイスごとに異なります。このため、デバイスによっては一部の EISTATx ビットが未実装です。利用可能なチャンネルについては、各デバイスのデータシートを参照してください。

レジスタ 2-18: ADEISTATH: ADC 早期割り込みステータス レジスタ HIGH

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

EISTAT<31:24>(1)

bit 15 bit 8

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

EISTAT<23:16>(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 EISTAT<31:16>: チャンネル別早期割り込みステータス ビット (1)

1 = 早期割り込みが発生した0 = ADCBUFx の直近の読み出しの後で早期割り込みは発生していない

Note 1: 利用可能なチャンネルはデバイスごとに異なります。このため、デバイスによっては一部の EISTATx ビットが未実装です。利用可能なチャンネルについては、各デバイスのデータシートを参照してください。

2016 Microchip Technology Inc. DS70005213C_JP - p. 21

Page 22: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

レジスタ 2-19: ADMOD0L: ADC 入力モード制御レジスタ 0 LOW

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

DIFF7(1) SIGN7(1) DIFF6(1) SIGN6(1) DIFF5(1) SIGN5(1) DIFF4(1) SIGN4(1)

bit 15 bit 8

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

DIFF3(1) SIGN3(1) DIFF2(1) SIGN2(1) DIFF1(1) SIGN1(1) DIFF0(1) SIGN0(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit ( 奇数 ) DIFF<7:0>: チャンネル別差動モードビット (1)

1 = チャンネルを差動モードにする0 = チャンネルをシングルエンド モードにする

bit ( 偶数 ) SIGN<7:0>: チャンネル別出力データ符号ビット (1)

1 = チャンネルの出力データを符号付きにする0 = チャンネルの出力データを符号なしにする

Note 1: 利用可能な入力チャンネルはデバイスごとに異なります。デバイスによっては一部のチャンネルが未実装です。全てのチャンネルが差動モードをサポートするとは限りません。利用可能な SIGNx および DIFFxビットについては、デバイス データシートを参照してください。

レジスタ 2-20: ADMOD0H: ADC 入力モード制御レジスタ 0 HIGH

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

DIFF15(1) SIGN15(1) DIFF14(1) SIGN14(1) DIFF13(1) SIGN13(1) DIFF12(1) SIGN12(1)

bit 15 bit 8

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

DIFF11(1) SIGN11(1) DIFF10(1) SIGN10(1) DIFF9(1) SIGN9(1) DIFF8(1) SIGN8(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit ( 奇数 ) DIFF<15:8>: チャンネル別差動モードビット (1)

1 = チャンネルを差動モードにする0 = チャンネルをシングルエンド モードにする

bit ( 偶数 ) SIGN<15:8>: チャンネル別出力データ符号ビット (1)

1 = チャンネルの出力データを符号付きにする0 = チャンネルの出力データを符号なしにする

Note 1: 利用可能な入力チャンネルはデバイスごとに異なります。デバイスによっては一部のチャンネルが未実装です。全てのチャンネルが差動モードをサポートするとは限りません。利用可能な SIGNx および DIFFxビットについては、デバイス データシートを参照してください。

DS70005213C_JP - p. 22 2016 Microchip Technology Inc.

Page 23: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

レジスタ 2-21: ADMOD1L: ADC 入力モード制御レジスタ 1 LOW

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

DIFF23(1) SIGN23(1) DIFF22(1) SIGN22(1) DIFF21(1) SIGN21(1) DIFF20(1) SIGN20(1)

bit 15 bit 8

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

DIFF19(1) SIGN19(1) DIFF18(1) SIGN18(1) DIFF17(1) SIGN17(1) DIFF16(1) SIGN16(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit ( 奇数 ) DIFF<23:16>: チャンネル別差動モードビット (1)

1 = チャンネルを差動モードにする0 = チャンネルをシングルエンド モードにする

bit ( 偶数 ) SIGN<23:16>: チャンネル別出力データ符号ビット (1)

1 = チャンネルの出力データを符号付きにする0 = チャンネルの出力データを符号なしにする

Note 1: 利用可能な入力チャンネルはデバイスごとに異なります。デバイスによっては一部のチャンネルが未実装です。全てのチャンネルが差動モードをサポートするとは限りません。利用可能な SIGNx および DIFFxビットについては、デバイス データシートを参照してください。

レジスタ 2-22: ADMOD1H: ADC 入力モード制御レジスタ 1 HIGH

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

DIFF31(1) SIGN31(1) DIFF30(1) SIGN30(1) DIFF29(1) SIGN29(1) DIFF28(1) SIGN28(1)

bit 15 bit 8

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

DIFF27(1) SIGN27(1) DIFF26(1) SIGN26(1) DIFF25(1) SIGN25(1) DIFF24(1) SIGN24(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit ( 奇数 ) DIFF<31:24>: チャンネル別差動モードビット (1)

1 = チャンネルを差動モードにする0 = チャンネルをシングルエンド モードにする

bit ( 偶数 ) SIGN<31:24>: チャンネル別出力データ符号ビット (1)

1 = チャンネルの出力データを符号付きにする0 = チャンネルの出力データを符号なしにする

Note 1: 利用可能な入力チャンネルはデバイスごとに異なります。デバイスによっては一部のチャンネルが未実装です。全てのチャンネルが差動モードをサポートするとは限りません。利用可能な SIGNx および DIFFxビットについては、デバイス データシートを参照してください。

2016 Microchip Technology Inc. DS70005213C_JP - p. 23

Page 24: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

レジスタ 2-23: ADIEL: ADC 割り込みイネーブル レジスタ LOW

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

IE<15:8>(1)

bit 15 bit 8

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

IE<7:0>(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 IE<15:0>: 割り込みイネーブルビット (1)

1 = 対応するチャンネルの個別および共通割り込みを有効にする0 = 対応するチャンネルの個別および共通割り込みを無効にする

Note 1: 利用可能なチャンネルはデバイスごとに異なります。デバイスによっては一部の IEx ビットが未実装です。利用可能なチャンネルについては、デバイスのデータシートを参照してください。

レジスタ 2-24: ADIEH: ADC 割り込みイネーブル レジスタ HIGH

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

IE<31:24>(1)

bit 15 bit 8

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

IE<23:16>(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 IE<31:16>: 割り込みイネーブルビット (1)

1 = 対応するチャンネルの個別および共通割り込みを有効にする0 = 対応するチャンネルの個別および共通割り込みを無効にする

Note 1: 利用可能なチャンネルはデバイスごとに異なります。デバイスによっては一部の IEx ビットが未実装です。利用可能なチャンネルについては、デバイスのデータシートを参照してください。

DS70005213C_JP - p. 24 2016 Microchip Technology Inc.

Page 25: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

レジスタ 2-25: ADSTATL: ADC データレディ ステータス レジスタ LOW

R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0

AN15RDY(1) AN14RDY(1) AN13RDY(1) AN12RDY(1) AN11RDY(1) AN10RDY(1) AN9RDY(1) AN8RDY(1)

bit 15 bit 8

R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0

AN7RDY(1) AN6RDY(1) AN5RDY(1) AN4RDY(1) AN3RDY(1) AN2RDY(1) AN1RDY(1) AN0RDY(1)

bit 7 bit 0

凡例 : HC = ハードウェア クリア可能ビット

HS = ハードウェア セット可能ビット

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 AN15RDY:AN0RDY: チャンネル別データレディ ステータスビット (1)

1 = 対応する ADCBUFx レジスタ内のチャンネル変換結果は利用可能0 = チェンネル変換結果は利用可能ではない

Note 1: 利用可能なチャンネルはデバイスごとに異なります。デバイスによっては一部の ANxRDY ビットが未実装です。利用可能なチャンネルについては、デバイスのデータシートを参照してください。

レジスタ 2-26: ADSTATH: ADC データレディ ステータス レジスタ HIGH

R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0

AN31RDY(1) AN30RDY(1) AN29RDY(1) AN28RDY(1) AN27RDY(1) AN26RDY(1) AN25RDY(1) AN24RDY(1)

bit 15 bit 8

R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0

AN23RDY(1) AN22RDY(1) AN21RDY(1) AN20RDY(1) AN19RDY(1) AN18RDY(1) AN17RDY(1) AN16RDY(1)

bit 7 bit 0

凡例 : HC = ハードウェア クリア可能ビット

HS = ハードウェア セット可能ビット

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 AN31RDY:AN16RDY: チャンネル別データレディ ステータスビット (1)

1 = 対応する ADCBUFx レジスタ内のチャンネル変換結果は利用可能0 = チェンネル変換結果は利用可能ではない

Note 1: 利用可能なチャンネルはデバイスごとに異なります。デバイスによっては一部の ANxRDY ビットが未実装です。利用可能なチャンネルについては、デバイスのデータシートを参照してください。

2016 Microchip Technology Inc. DS70005213C_JP - p. 25

Page 26: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

レジスタ 2-27: ADTRIGnL/ADTRIGnH: ADC チャンネルトリガ n 選択レジスタ LOW/HIGH (n は 0 ~ 7 のレジスタ番号 )

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

— — — TRGSRC(x+1)<4:0>(1)

bit 15 bit 8

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

— — — TRGSRCx<4:0>(1)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-13 未実装 : 「0」として読み出し

bit 12-8 TRGSRC(x+1)<4:0>: アナログ入力 (x+1) トリガ源選択ビット (1)

11111 = 外部トリガピン00100-11110 = デバイスに固有のその他のトリガ源 ( デバイス データシート参照 )00011 = 予約済み00010 = 共通レベル センシティブ ソフトウェア トリガ00001 = 共通ソフトウェア トリガ00000 = トリガを無効にする

bit 7 ~ 5 未実装 : 「0」として読み出し

bit 4-0 TRGSRCx<4:0>: アナログ入力 x トリガ源選択ビット (1)

11111 = 外部トリガピン00100-11110 = デバイスに固有のその他のトリガ源 ( デバイスのデータシート参照 )00011 = 予約済み00010 = 共通レベル センシティブ ソフトウェア トリガ00001 = 共通ソフトウェア トリガ00000 = トリガを無効にする

Note 1: 利用可能なチャンネルはデバイスごとに異なります。デバイスによっては一部の TRGSRCx<4:0> ビットが未実装です。利用可能なチャンネルについては、各デバイスのデータシートを参照してください。

DS70005213C_JP - p. 26 2016 Microchip Technology Inc.

Page 27: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

レジスタ 2-28: ADCAL0L: ADC 校正レジスタ 0 LOW

R/HC/HS-0 U-0 U-0 U-0 r-0 R/W-0 R/W-0 R/W-0

CAL1RDY(1) — — — — CAL1DIFF(1) CAL1EN(1) CAL1RUN(1)

bit 15 bit 8

R/HC/HS-0 U-0 U-0 U-0 r-0 R/W-0 R/W-0 R/W-0

CAL0RDY(1) — — — — CAL0DIFF(1) CAL0EN(1) CAL0RUN(1)

bit 7 bit 0

凡例 : HC = ハードウェア クリア可能ビット

HS = ハードウェア セット可能ビット

r = 予約済みビット

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15 CAL1RDY: 専用 ADC コア 1 校正ステータスフラグ ビット (1)

1 = 専用 ADC コアの校正は終了した0 = 専用 ADC コアの校正は実行中

bit 14-12 未実装 : 「0」として読み出し

bit 11 予約済み : 常に「0」として書き込み

bit 10 CAL1DIFF: 専用 ADC コア 1 差動モード校正ビット (1)

1 = 専用 ADC コアを差動入力モードで校正する0 = 専用 ADC コアをシングルエンド入力モードで校正する

bit 9 CAL1EN: 専用 ADC コア 1 校正イネーブルビット (1)

1 = 専用 ADC コア校正ビット (CAL1RDY、CAL1DIFF、CAL1RUN) へのソフトウェアによるアクセスを可能にする

0 = 専用 ADC コア校正ビットを無効にする

bit 8 CAL1RUN: 専用 ADC コア 1 校正開始ビット (1)

1 = 専用ADCコアの校正サイクルを開始する (このビットはソフトウェアで設定し、ハードウェアが自動的にクリアします )

0 = ソフトウェアは次の校正サイクルを開始できる

bit 7 CAL0RDY: 専用 ADC コア 0 校正ステータスフラグ ビット (1)

1 = 専用 ADC コアの校正は終了した0 = 専用 ADC コアの校正は実行中

bit 6-4 未実装 : 「0」として読み出し

bit 3 予約済み : 常に「0」として書き込み

bit 2 CAL0DIFF: 専用 ADC コア 0 差動モード校正ビット (1)

1 = 専用 ADC コアを差動入力モードで校正する0 = 専用 ADC コアをシングルエンド入力モードで校正する

bit 1 CAL0EN: 専用 ADC コア 0 校正イネーブルビット (1)

1 = 専用 ADC コア校正ビット (CAL0RDY、CAL0DIFF、CAL0RUN) へのソフトウェアによるアクセスを可能にする

0 = 専用 ADC コア校正ビットを無効にする

bit 0 CAL0RUN: 専用 ADC コア 0 校正開始ビット (1)

1 = 専用ADCコアの校正サイクルを開始する (このビットはソフトウェアで設定し、ハードウェアが自動的にクリアします )

0 = ソフトウェアは次の校正サイクルを開始できる

Note 1: 利用可能な専用 ADC コアの数はデバイスごとに異なります。デバイスによっては一部の CALxRDY、CALxDIFF、CALxEN、CALxRUN ビットが未実装です。利用可能な ADC コアについては、各デバイスのデータシートを参照してください。

2016 Microchip Technology Inc. DS70005213C_JP - p. 27

Page 28: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

レジスタ 2-29: ADCAL0H: ADC 校正レジスタ 0 HIGH

R/HC/HS-0 U-0 U-0 U-0 r-0 R/W-0 R/W-0 R/W-0

CAL3RDY(1) — — — — CAL3DIFF(1) CAL3EN(1) CAL3RUN(1)

bit 15 bit 8

R/HC/HS-0 U-0 U-0 U-0 r-0 R/W-0 R/W-0 R/W-0

CAL2RDY(1) — — — — CAL2DIFF(1) CAL2EN(1) CAL2RUN(1)

bit 7 bit 0

凡例 : HC = ハードウェア クリア可能ビット

HS = ハードウェア セット可能ビット

r = 予約済みビット

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15 CAL3RDY: 専用 ADC コア 3 校正ステータスフラグ ビット (1)

1 = 専用 ADC コアの校正は終了した0 = 専用 ADC コアの校正は実行中

bit 14-12 未実装 : 「0」として読み出し

bit 11 予約済み : 常に「0」として書き込み

bit 10 CAL3DIFF: 専用 ADC コア 3 差動モード校正ビット (1)

1 = 専用 ADC コアを差動入力モードで校正する0 = 専用 ADC コアをシングルエンド入力モードで校正する

bit 9 CAL3EN: 専用 ADC コア 3 校正イネーブルビット (1)

1 = 専用 ADC コア校正ビット (CAL3RDY、CAL3DIFF、CAL3RUN) へのソフトウェアによるアクセスを可能にする

0 = 専用 ADC コア校正ビットを無効にする

bit 8 CAL3RUN: 専用 ADC コア 3 校正開始ビット (1)

1 = 専用ADCコアの校正サイクルを開始する(このビットはソフトウェアで設定し、ハードウェアが自動的にクリアします )

0 = ソフトウェアは次の校正サイクルを開始できる

bit 7 CAL2RDY: 専用 ADC コア 2 校正ステータスフラグ ビット (1)

1 = 専用 ADC コアの校正は終了した0 = 専用 ADC コアの校正は実行中

bit 6-4 未実装 : 「0」として読み出し

bit 3 予約済み : 常に「0」として書き込み

bit 2 CAL2DIFF: 専用 ADC コア 2 差動モード校正ビット (1)

1 = 専用 ADC コアを差動入力モードで校正する0 = 専用 ADC コアをシングルエンド入力モードで校正する

bit 1 CAL2EN: 専用 ADC コア 2 校正イネーブルビット (1)

1 = 専用 ADC コア校正ビット (CAL2RDY、CAL2DIFF、CAL2RUN) へのソフトウェアによるアクセスを可能にする

0 = 専用 ADC コア校正ビットを無効にする

bit 0 CAL2RUN: 専用 ADC コア 2 校正開始ビット (1)

1 = 専用ADCコアの校正サイクルを開始する(このビットはソフトウェアで設定し、ハードウェアが自動的にクリアします )

0 = ソフトウェアは次の校正サイクルを開始できる

Note 1: 利用可能な専用 ADC コアの数はデバイスごとに異なります。デバイスによっては一部の CALxRDY、CALxDIFF、CALxEN、CALxRUN ビットが未実装です。利用可能な ADC コアについては、各デバイスのデータシートを参照してください。

DS70005213C_JP - p. 28 2016 Microchip Technology Inc.

Page 29: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

レジスタ 2-30: ADCAL1L: ADC 校正レジスタ 1 LOW

R/HC/HS-0 U-0 U-0 U-0 r-0 R/W-0 R/W-0 R/W-0

CAL5RDY(1) — — — — CAL5DIFF(1) CAL5EN(1) CAL5RUN(1)

bit 15 bit 8

R/HC/HS-0 U-0 U-0 U-0 r-0 R/W-0 R/W-0 R/W-0

CAL4RDY(1) — — — — CAL4DIFF(1) CAL4EN(1) CAL4RUN(1)

bit 7 bit 0

凡例 : HC = ハードウェア クリア可能ビット

HS = ハードウェア セット可能ビット

r = 予約済みビット

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15 CAL5RDY: 専用 ADC コア 5 校正ステータスフラグ ビット (1)

1 = 専用 ADC コアの校正は終了した0 = 専用 ADC コアの校正は実行中

bit 14-12 未実装 : 「0」として読み出し

bit 11 予約済み : 常に「0」として書き込み

bit 10 CAL5DIFF: 専用 ADC コア 5 差動モード校正ビット (1)

1 = 専用 ADC コアを差動入力モードで校正する0 = 専用 ADC コアをシングルエンド入力モードで校正する

bit 9 CAL5EN: 専用 ADC コア 5 校正イネーブルビット (1)

1 = 専用ADCコア校正ビット (CAL5RDY、CAL5DIFF、CAL5RUN)へのソフトウェアによるアクセスを可能にする

0 = 専用 ADC コア校正ビットを無効にする

bit 8 CAL5RUN: 専用 ADC コア 5 校正開始ビット (1)

1 = 専用ADCコアの校正サイクルを開始する (このビットはソフトウェアで設定し、ハードウェアが自動的にクリアします )

0 = ソフトウェアは次の校正サイクルを開始できる

bit 7 CAL4RDY: 専用 ADC コア 4 校正ステータスフラグ ビット (1)

1 = 専用 ADC コアの校正は終了した0 = 専用 ADC コアの校正は実行中

bit 6-4 未実装 : 「0」として読み出し

bit 3 予約済み : 常に「0」として書き込み

bit 2 CAL4DIFF: 専用 ADC コア 4 差動モード校正ビット (1)

1 = 専用 ADC コアを差動入力モードで校正する0 = 専用 ADC コアをシングルエンド入力モードで校正する

bit 1 CAL4EN: 専用 ADC コア 4 校正イネーブルビット (1)

1 = 専用ADCコア校正ビット (CAL4RDY、CAL4DIFF、CAL4RUN)へのソフトウェアによるアクセスを可能にする

0 = 専用 ADC コア校正ビットを無効にする

bit 0 CAL4RUN: 専用 ADC コア 4 校正開始ビット (1)

1 = 専用 ADC コアの校正サイクルを開始する ( このビットはソフトウェアで設定し、ハードウェアによって自動的にクリアされます )

0 = ソフトウェアは次の校正サイクルを開始できる

Note 1: 利用可能な専用 ADC コアの数はデバイスごとに異なります。デバイスによっては一部の CALxRDY、CALxDIFF、CALxEN、CALxRUN ビットが未実装です。利用可能な ADC コアについては、各デバイスのデータシートを参照してください。

2016 Microchip Technology Inc. DS70005213C_JP - p. 29

Page 30: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

レジスタ 2-31: ADCAL1H: ADC 校正レジスタ 1 HIGH

R/HC/HS-0 U-0 U-0 U-0 r-0 R/W-0 R/W-0 R/W-0

CSHRRDY — — — — CSHRDIFF CSHREN CSHRRUN

bit 15 bit 8

R/HC/HS-0 U-0 U-0 U-0 r-0 R/W-0 R/W-0 R/W-0

CAL6RDY(1) — — — — CAL6DIFF(1) CAL6EN(1) CAL6RUN(1)

bit 7 bit 0

凡例 : HC = ハードウェア クリア可能ビット

HS = ハードウェア セット可能ビット

r = 予約済みビット

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15 CSHRRDY: 共有 ADC コア校正ステータスフラグ ビット

1 = 共有 ADC コアの校正は終了した0 = 共有 ADC コアの校正は実行中

bit 14-12 未実装 : 「0」として読み出し

bit 11 予約済み : 常に「0」として書き込み

bit 10 CSHRDIFF: 共有 ADC コア差動モード校正ビット

1 = 共有 ADC コアを差動入力モードで校正する0 = 共有 ADC コアをシングルエンド入力モードで校正する

bit 9 CSHREN: 共有 ADC コア校正イネーブルビット

1 = 共有ADCコア校正ビット (CSHRRDY、CSHRDIFF、CSHRRUN)へのソフトウェアによるアクセスを可能にする

0 = 共有 ADC コア校正ビットを無効にする

bit 8 CSHRRUN: 共有 ADC コア校正開始ビット

1 = 共有 ADC コアの校正サイクルを開始する ( このビットはソフトウェアで設定し、ハードウェアによって自動的にクリアされます )

0 = ソフトウェアは次の校正サイクルを開始できる

bit 7 CAL6RDY: 専用 ADC コア 6 校正ステータスフラグ ビット (1)

1 = 専用 ADC コアの校正は終了した0 = 専用 ADC コアの校正は実行中

bit 6-4 未実装 : 「0」として読み出し

bit 3 予約済み : 常に「0」として書き込み

bit 2 CAL6DIFF: 専用 ADC コア 6 差動モード校正ビット (1)

1 = 専用 ADC コアを差動入力モードで校正する0 = 専用 ADC コアをシングルエンド入力モードで校正する

bit 1 CAL6EN: 専用 ADC コア 6 校正イネーブルビット (1)

1 = 専用ADCコア校正ビット (CAL6RDY、CAL6DIFF、CAL6RUN)へのソフトウェアによるアクセスを可能にする

0 = 専用 ADC コア校正ビットを無効にする

bit 0 CAL6RUN: 専用 ADC コア 6 校正開始ビット (1)

1 = 専用ADCコアの校正サイクルを開始する (このビットはソフトウェアで設定し、ハードウェアが自動的にクリアします )

0 = ソフトウェアは次の校正サイクルを開始できる

Note 1: 利用可能な専用 ADC コアの数はデバイスごとに異なります。デバイスによっては一部の CALxRDY、CALxDIFF、CALxEN、CALxRUN ビットが未実装です。利用可能な ADC コアについては、各デバイスのデータシートを参照してください。

DS70005213C_JP - p. 30 2016 Microchip Technology Inc.

Page 31: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

レジスタ 2-32: ADCMPnCON: ADC デジタル コンパレータ n 制御レジスタ (1)

U-0 U-0 U-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0 R/HC/HS-0

— — — CHNL4 CHNL3 CHNL2 CHNL1 CHNL0

bit 15 bit 8

R/W-0 R/W-0 R/HC/HS-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

CMPEN IE STAT BTWN HIHI HILO LOHI LOLO

bit 7 bit 0

凡例 : HC = ハードウェア クリア可能ビット

HS = ハードウェア セット可能ビット

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-13 未実装 : 「0」として読み出し

bit 12-8 CHNL<4:0>: 入力チャンネル番号ビット

これらのビットは、コンパレータ イベントをトリガしたアナログ入力を示します。11111 = AN31•••00001 = AN100000 = AN0

bit 7 CMPEN: デジタル コンパレータ イネーブルビット

1 = コンパレータを有効にする0 = コンパレータを無効にし、STAT ステータスビットをクリアする

bit 6 IE: コンパレータ割り込みイネーブルビット

1 = コンパレータが比較イベントを検出した場合に個別および共通割り込みを生成する0 = コンパレータに関する個別および共通割り込みは生成しない

bit 5 STAT: コンパレータ イベントステータス ビット

このビットは、CHNL<4:0> ビットからチャンネル番号が読み出された時点でハードウェアによりクリアされます。1 = CHNL<4:0> ビットの直近の読み出し後に比較イベントが検出された0 = CHNL<4:0> ビットの直近の読み出し後に比較イベントは検出されていない

bit 4 BTWN: 下限 / 上限間コンパレータ イベントビット

1 = ADCMPnLO ≤ ADCBUFx < ADCMPnHI の場合にデジタル コンパレータ イベントを生成する0 = 上記の場合にデジタル コンパレータ イベントを生成しない

bit 3 HIHI: 上限以上コンパレータ イベントビット

1 = ADCBUFx ≥ ADCMPnHI の場合にデジタル コンパレータ イベントを生成する0 = 上記の場合にデジタル コンパレータ イベントを生成しない

bit 2 HILO: 上限未満コンパレータ イベントビット

1 = ADCBUFx < ADCMPnHI の場合にデジタル コンパレータ イベントを生成する0 = 上記の場合にデジタル コンパレータ イベントを生成しない

bit 1 LOHI: 下限以上コンパレータ イベントビット

1 = ADCBUFx ≥ ADCMPnLO の場合にデジタル コンパレータ イベントを生成する0 = 上記の場合にデジタル コンパレータ イベントを生成しない

bit 0 LOLO: 下限未満コンパレータ イベントビット

1 = ADCBUFx < ADCMPnLO の場合にデジタル コンパレータ イベントを生成する0 = 上記の場合にデジタル コンパレータ イベントを生成しない

Note 1: 利用可能なデジタル コンパレータの数はデバイスごとに異なります。利用可能なデジタル コンパレータについては、デバイスのデータシートを参照してください。

2016 Microchip Technology Inc. DS70005213C_JP - p. 31

Page 32: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

レジスタ 2-33: ADCMPnENL: ADC デジタル コンパレータ n チャンネル イネーブル レジスタ LOW(1)

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

CMPEN<15:8>(2)

bit 15 bit 8

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

CMPEN<7:0>(2)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 CMPEN<15:0>: チャンネル別コンパレータ イネーブルビット (2)

1 = コンパレータは対応するチャンネルの変換結果を使う0 = コンパレータは対応するチャンネルの変換結果を使わない

Note 1: 利用可能なデジタル コンパレータの数はデバイスごとに異なります。利用可能なデジタル コンパレータについては、デバイスのデータシートを参照してください。

2: 利用可能なチャンネルはデバイスごとに異なります。デバイスによっては一部の CMPENx ビットが未実装です。利用可能なチャンネルについては、デバイスのデータシートを参照してください。

レジスタ 2-34: ADCMPnENH: ADC デジタル コンパレータ n チャンネル イネーブル レジスタ HIGH(1)

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

CMPEN<31:24>(2)

bit 15 bit 8

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

CMPEN<23:16>(2)

bit 7 bit 0

凡例 :

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 CMPEN<31:16>: チャンネル別コンパレータ イネーブルビット (2)

1 = コンパレータは対応するチャンネルの変換結果を使う0 = コンパレータは対応するチャンネルの変換結果を使わない

Note 1: 利用可能なデジタル コンパレータの数はデバイスごとに異なります。利用可能なデジタル コンパレータについては、デバイスのデータシートを参照してください。

2: 利用可能なチャンネルはデバイスごとに異なります。デバイスによっては一部の CMPENx ビットが未実装です。利用可能なチャンネルについては、デバイスのデータシートを参照してください。

DS70005213C_JP - p. 32 2016 Microchip Technology Inc.

Page 33: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

レジスタ 2-35: ADFLnCON: ADC デジタルフィルタ n 制御レジスタ (1)

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/HC/HS-0

FLEN MODE1 MODE0 OVRSAM2 OVRSAM1 OVRSAM0 IE RDY

bit 15 bit 8

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

— — — FLCHSEL4 FLCHSEL3 FLCHSEL2 FLCHSEL1 FLCHSEL0

bit 7 bit 0

凡例 : HC = ハードウェア クリア可能ビット

HS = ハードウェア セット可能ビット

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

-n = POR時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15 FLEN: フィルタ イネーブルビット

1 = フィルタを有効にする0 = フィルタを無効にし、RDY ビットをクリアする

bit 14-13 MODE<1:0>: フィルタモード ビット

11 = 平均化モード10 = 予約済み01 = 予約済み00 = オーバーサンプリング モード

bit 12-10 OVRSAM<2:0>: フィルタ平均化 / オーバーサンプリング レシオビット

MODE<1:0> = 00の場合 :111 = 128x (ADFLnDAT レジスタ内の 16 ビット結果は 12.4 フォーマット )110 = 32x (ADFLnDAT レジスタ内の 15 ビット結果は 12.3 フォーマット )101 = 8x (ADFLnDAT レジスタ内の 14 ビット結果は 12.2 フォーマット )100 = 2x (ADFLnDAT レジスタ内の 13 ビット結果は 12.1 フォーマット )011 = 256x (ADFLnDAT レジスタ内の 16 ビット結果は 12.4 フォーマット )010 = 64x (ADFLnDAT レジスタ内の 15 ビット結果は 12.3 フォーマット )001 = 16x (ADFLnDAT レジスタ内の 14 ビット結果は 12.2 フォーマット )000 = 4x (ADFLnDAT レジスタ内の 13 ビット結果は 12.1 フォーマット )

MODE<1:0> = 11 の場合 (ADFLnDAT レジスタ内の結果は 12 ビット ):111 = 256x110 = 128x101 = 64x100 = 32x011 = 16x010 = 8x001 = 4x000 = 2x

bit 9 IE: フィルタ割り込みイネーブルビット

1 = フィルタ結果が利用可能になった時点で個別および共通割り込みを生成する0 = 上記の個別および共通割り込みは生成しない

bit 8 RDY: オーバーサンプリング フィルタ データレディ フラグビット

このビットは、ADFLnDAT レジスタから結果が読み出された時点でハードウェアによりクリアされます。1 = ADFLnDAT レジスタ内のデータは利用可能0 = ADFLnDAT レジスタは既に読み出され、新しいデータは利用可能ではない

bit 7-5 未実装 : 「0」として読み出し

Note 1: 利用可能なオーバーサンプリング フィルタの数はデバイスごとに異なります。利用可能なオーバーサンプリング フィルタについては、デバイスのデータシートを参照してください。

2016 Microchip Technology Inc. DS70005213C_JP - p. 33

Page 34: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

bit 4-0 FLCHSEL<4:0>: オーバーサンプリング フィルタ入力チャンネル選択ビット

11111 = AN31•••00001 = AN100000 = AN0

レジスタ 2-35: ADFLnCON: ADC デジタルフィルタ n 制御レジスタ (1) ( 続き )

Note 1: 利用可能なオーバーサンプリング フィルタの数はデバイスごとに異なります。利用可能なオーバーサンプリング フィルタについては、デバイスのデータシートを参照してください。

DS70005213C_JP - p. 34 2016 Microchip Technology Inc.

Page 35: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

3.0 変換シーケンス

12 ビット高速マルチ SAR ADC は以下の 3 ステップで A/D 変換を実行します。

1. 入力信号をサンプリングする

2. 入力信号をキャプチャ ( ホールド ) し、コンバータに入力する

3. アナログ信号をデジタル値に変換する

入力信号のサンプリング中に、サンプル / ホールド (S&H) 回路内のコンデンサが充電されます。コンデンサの電圧を入力電圧まで充電するために、適切なサンプリング時間が必要です。適切なタイミングでコンデンサから入力を切り離した後に、アナログ電圧をコンバータに入力します。コンバータは、そのアナログ電圧をデジタル値に変換した結果を出力します。

コンバータにはクロック源と参照電圧が必要です。クロック源、クロック分周比、参照電圧源は選択可能です。

4.0 ADC動作

4.1 SAR ADC コア

専用 ADC コアの数はデバイスごとに異なります。詳細は各デバイスのデータシートを参照してください。

本モジュールは最大で 8 個の独立した SAR ADC コアを実装します。これにより、複数アナログ入力からの信号を同時にサンプリングできます。最初の 7 個の SAR ADC コア (0 ~ 6) は、コアごとに 1 つの専用アナログ チャンネルを備えるため、専用 ADC コアと呼びます。各チャンネルが ADC コアに接続され、入力信号電圧が連続的にサンプリングされます。専用 ADC コアのチャンネルは、変換開始時にのみ切り離されます。複数の独立した専用 ADC コアにより、アプリケーションは 1 回の「スナップ ショット」でそれらのアナログ チャンネルを同時にサンプリングして変換できます。

最後の SAR ADC コアは共有 ADC コアと呼び、専用 ADC コアとは別の複数のアナログ入力により共有されます。このコアのアナログ チャンネルとサンプリング処理は ADC モジュールによって制御されます。A/D 変換を実行中ではない場合、全ての入力は共有 ADC コアから切り離されています。トリガイベントが発生すると、ADC モジュールはトリガ内で定義されているアナログ入力を接続し、その入力信号を指定された時間だけサンプリングします。サンプリングが完了するとアナログ入力を再び切り離した後に、変換を実行します。

2016 Microchip Technology Inc. DS70005213C_JP - p. 35

Page 36: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

4.2 ADC クロック

ADC モジュールは各種のクロック源オプションを備えます。クロック源の選択には ADCON3HレジスタのCLKSEL<1:0>ビットを使います。選択したクロック源 (周期はTSRC)は、ADCON3Hレジスタの CLKDIV<5:0> ビットで指定されているレシオで分周されます。分周後のクロック( 周期は TCORESRC) は各 SAR ADC コアに供給されます。各 ADC コアは独自のクロック分周器を備えます。これらの分周器は、ADCOREnH レジスタの ADCS<6:0> ビット ( 専用 ADC コアの場合 ) と、ADCON2L レジスタの SHRADCS<6:0> ビット ( 共有 ADC コアの場合 ) を使って設定します。この分周により、ADC コアごとに異なるコアクロック周期 (TADCORE) を持たせる事ができます。各 SAR ADC コアの動作クロック周波数は 70 MHz 以下に制限されます。このため、コアクロック周期 (TADCORE) が 14.3 ns より長くなるようにクロック設定を選択する必要があります。ADC モジュールのクロック供給経路を図 4-1 に示します。

図 4-1: ADC モジュールのクロック供給経路

4.3 ADC 分解能

各 SAR ADC コアの分解能は、ADCOREnH レジスタの RES<1:0> ビット ( 専用 ADC コアの場合 ) と ADCON1H レジスタの SHRRES<1:0> ビット ( 共有 ADC コアの場合 ) を使って別々に設定できます。

分解能は 12/10/8/6 ビットのいずれかに設定できます。リセット後は、全てのコアが既定値の12 ビット分解能に設定されます。

TADCORE > 14.3 nS

InstructionClock

FRCFOSC

AUX Clock

Clock SourceSelection bits

(CLKSEL<1:0>in ADCON3H

Register)

Clock SourceDivider bits

(CLKDIV<5:0> inADCON3H Register)

ADC CoreInput ClockDivider bits

(ADCS<6:0>in ADCORE0H

Register)

ADC CoreInput ClockDivider bits

(ADCS<6:0>in ADCORE1H

Register)

TADCOREfor Dedicated

ADC Core 0

TADCOREfor Dedicated

ADC Core 1

TADCOREfor Shared

ADC Core

Shared ADCCore Input Clock

Divider bits(SHRADCS<6:0>

in ADCON2LRegister)

TCORESRCTSRC

DS70005213C_JP - p. 36 2016 Microchip Technology Inc.

Page 37: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

4.4 サンプリング / 変換タイミング

全ての ADC コアの変換時間は、RES<1:0> または SHRRES<1:0> ビットで選択した分解能によって決まります。変換に必要な時間は式 4-1 により定義されます。

式 4-1: 変換時間

例えば、ある ADC コアを 12 ビット分解能に設定した場合、このコアの変換時間は以下の計算により求まります。

複数の ADC コアが同時に変換を終了する場合、低優先度のコアは、より高優先度のコア 1 つあたり 1 TCORESRC 待機した後に結果を保存します。

複数の専用 ADC コアを使う事で、複数のアナログ信号を同時にキャプチャできます。各専用ADC コアは、非同期トリガイベントが発生するまで入力信号を連続的にサンプリングし、トリガイベントが発生した時点で即座にサンプリングを終了してホールドステートへ移行します。ここで重要なのは、既定値の場合、サンプリングを終了させるトリガイベントは ADC コアクロックに対して非同期に発生するという事です。非同期トリガが発生すると S/H 回路は即座にホールドステートに移行しますが、非同期トリガを ADC クロックに同期させる必要があるため、SAR に対して変換を要求する前に最大で 1 ADC クロック周期を要します ( 図 4-2 参照 )。

図 4-2: 専用 SAR ADC コアの非同期サンプリング

専用コアで周期的トリガ源を使う場合、総サンプリング時間はトリガ周期によって決まるため、必要なサンプリング時間を確保できる周期でトリガする必要があります。詳細は 4.4.1「サンプリング時間要件」を参照してください。

専用 ADC コアのサンプリング プロセスはオプションを指定する事で変更できます。ADCON4Lレジスタの SYNCTRG<6:0> ビットを使うと、トリガイベントを SAR ADC のコア源クロック(TCORESRC) に同期させる事ができます。SYNCTRGx = 1に設定すると、対応する専用 ADC コアのサンプリングはコア源クロックに同期して停止します ( 図 4-3 参照 )。

図 4-3: 専用 SAR ADC コアの同期サンプリング (SYNCTRGx = 1)

Conversion Time 8 TCORESRC Bit Resolution 2.5+ TADCORE+=

8 TCORESRC 14.5 TADCORE+

TADCOREClock

AsynchronousTrigger

Sampling Sampling

Holding

TCORESRCClock

AsynchronousTrigger

Sampling

Holding

Sampling

2016 Microchip Technology Inc. DS70005213C_JP - p. 37

Page 38: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

別のサンプリング オプションを使って、専用 ADC コアの変換を遅延させる事もできます。この機能は、ADCON4L レジスタの SAMCxEN ビットで制御します。SAMCxEN = 1に設定すると、トリガイベントと変換開始の間に遅延が適用されます ( 図 4-4 参照 )。遅延中は、コアは入力信号のサンプリングを継続します。遅延時間は、対応する専用 ADC コア n 制御レジスタ LOW(ADCOREnL) の SAMC<9:0> ビットで定義します。この遅延機能は、最小サンプリング時間を確保するために、デジタルフィルタまたはレベル センシティブ トリガと一緒に使います。

図 4-4: 専用 SAR ADC コアの変換を遅延させたサンプリング (SAMCxEN = 1)

専用 ADC コアとは異なり、共有 ADC コアはトリガイベントによってサンプリング処理を開始します。サンプリング時間は ADCON2H レジスタの SHRSAMC<9:0> ビットで指定します。指定されたサンプリング時間 ( コアクロック周期 (TADCORE) 数 ) が終了すると S/H はホールドステートに移行し、変換要求を発行します ( 図 4-5 参照 )。

共有 ADC の 1 つの入力を周期的にトリガする場合、トリガ周期はサンプリング時間と変換時間の合計よりも長くする必要があります。共有 ADC コアに対する変換要求が即座に処理されるという保証はありません。共有 ADC コアに対する変換要求は、優先順位に従って処理されます。

図 4-5: 共有 ADC コアのサンプリング

TADCOREClock

AsynchronousTrigger

Sampling SamplingDelay Defined bySAMC<9:0> bits Holding/Conversion

TADCOREClock

AsynchronousTrigger

SamplingDisconnected Sample TimeDefined by Hold

Converting

SHRSAMC<9:0> bits

Disconnected

DS70005213C_JP - p. 38 2016 Microchip Technology Inc.

Page 39: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

4.4.1 サンプリング時間要件

12ビット高速マルチSAR ADCのアナログ入力モデルを図 4-6に示します。 A/D変換の総アクイジション時間は、ホールド コンデンサ (CHOLD) の充電時間によって決まります。

ADC モジュールの仕様精度を達成するには、ホールド コンデンサ (CHOLD) をアナログ入力ピンの電圧レベルまで完全に充電する必要があります。CHOLD の充電時間にはアナログ出力ソースのインピーダンス (RS)、相互接続インピーダンス (RIC)、内部サンプリング スイッチのインピーダンス (RSS) による複合インピーダンスが直接影響します。従って、一定のサンプリング時間内にホールド コンデンサを完全に充電できるよう、アナログ信号源の複合インピーダンスは十分に小さくする必要があります。内部ホールド コンデンサは、毎回のサンプリング動作の前に放電されます。

図 4-6: 12 ビット ADC のアナログ入力モデル

4.5 参照電圧

参照電圧オプションはデバイスごとに異なります。個々のオプションについては、各デバイスのデータシートを参照してください。

ADCON3L レジスタの ADC 参照電圧選択ビット (REFSEL<2:0>) は、全ての SAR ADC コアに適用する参照電圧を選択します。ADC モジュールは内部バンドギャップ回路の電圧にも影響を受けます。参照電圧とバンドギャップの動作準備が完了すると、ADCON2HレジスタのREFRDYビットがセットされます。ADC モジュールを有効 (ADON (ADCON1L<15>) = 1) にしたまま参照電圧源を変更する事はできません。ADC 参照電圧または AVDD 電源電圧が変動または中断すると、ADCON2H レジスタの REFERR ビットがセットされます。参照電圧の異常イベントが検出された場合、ADCモジュールを再校正する必要があります。ADCON2LレジスタのREFCIEビットをセットする事で、REFRDY ビットが参照電圧の準備完了を示した時に共通割り込みを生成できます。同様に、ADCON2L レジスタの REFERCIE ビットをセットする事で、REFERRビットが参照電圧の異常イベントを示した時に共通割り込みを生成できます。誤った参照電圧異常割り込みを防ぐため、REFERCIE ビットは ADC モジュールを有効 (ADON = 1) にした後でセットする必要があります。

CPIN(1)

Rs ANxVT = 0.6V

VT = 0.6V ILEAKAGE

Ric = 300 SamplingSwitch

RSS

Chold = 5 pF

VSS

VDD

±500 nA

Note 1: CPIN 値はデバイス パッケージによって決まります ( テストは実施していません )。Rs 5 kの場合、CPIN の影響は無視できます。

RSS = 44

凡例 :

CPIN = 入力容量 VT = しきい値電圧

RSS = サンプリング スイッチ抵抗 RIC = 配線抵抗

RS = 信号源抵抗 CHOLD = サンプル / ホールド コンデンサ容量

ILEAKAGE = 各種接合によるピン部位の

リーク電流

VA

2016 Microchip Technology Inc. DS70005213C_JP - p. 39

Page 40: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

4.6 アナログ入力チャンネル

利用可能な入力チャンネルの数はデバイスごとに異なります。詳細は各デバイスのデータシートを参照してください。

4.6.1 アナログ ポートピンの設定

アナログ入力に割り当てられている I/O ポートの ANSELx レジスタにより、対応するピンをアナログピンとして設定します。ANSELx ビットを「1」にセットすると、対応するピンはアナログ入力として設定されます。ANSELx ビットを「0」にクリアすると、対応するピンはデジタル制御向けに設定されます。ピンをアナログ入力向けに設定した場合、対応するポート I/Oのデジタル入力バッファは無効になり、電流を消費しません。ANSELx レジスタはデバイスリセット時にセットされます (ADC 入力ピンは既定値のアナログ入力として設定されます )。

TRISx レジスタはポートピンのデジタル機能を制御します。アナログ入力として使うポートピンは、適切な TRISx レジスタ内の対応するビットをセットする事で、入力ピンとして設定しておく必要があります。TRISx ビットをクリアすると、ADC 入力に割り当てられている I/O ピンは出力として設定され、そのポートのデジタル出力レベルが変換されます。TRISx ビットはデバイスリセット時に全てセットされます。ポートピン設定の詳細は、各デバイス データシート内の「I/O ポート」を参照してください。

4.6.2 シングルエンド /擬 似差動入力オプションと出力データのフォーマット

本 A/D コンバータは、シングルエンド チャンネルと差動チャンネルの両方をサポートします。どちらのモードでも、アナログピンの入力電圧はアナログ グランドレベル (AVSS) ~アナログ電源電圧 (AVDD) のレンジ内である事が必要です。擬似差動チャンネルは反転入力と非反転入力を使います。擬似差動モードで反転入力として使うアナログ入力ピンは、各 ADC コアに固定的に割り当てられています。各 ADC コアに割り当てられている反転入力の番号については、デバイスのデータシートを参照してください。擬似差動モードでは、一方の入力 ( 反転または非反転 ) はVR- ~ VR+ のレンジで変化できるのに対し、他方の入力は概ね (VR+ + VR-)/2 ± 150 mV のレンジ内に制限されます (VR+ = 正極性参照電圧、VR- = 負極性参照電圧 )。

各 ADC 入力チャンネルのモード ( シングルエンドまたは擬似差動 ) は ADMODnL/ADMODnHレジスタの DIFFx ビットで定義します。DIFFx ビットをセットすると、対応するチャンネルは差動モードで動作します。DIFFx ビットをクリアすると、対応するチャンネルはシングルエンド モードで動作します。各チャンネルのデータ出力フォーマットは、ADMODnL/ADMODnHレジスタの SIGNx ビットを使って個別に設定できます。SIGNx ビットをセットすると、その入力の変換結果は符号付きデータとして対応する結果バッファ(ADCBUFx) に書き込まれます。SIGNx ビットをクリアした場合、変換結果は符号なしです。表 4-2 に、入力設定オプションの詳細を記載します。

Note: ピンをアナログ入力として設定した場合、対応する PORT レジスタビットの読み値は「0」です。

表 4-2: 入力設定

入力 入力電圧

出力コード (FORM ビット

(ADCON1H<7>) = 0の場合 )

擬似差動モード

ビット (DIFFx)

符号付き

結果ビット(SIGNx)

VINP = 非反転入力電圧、VINN = 反転入力電圧 VR+ = 正極性参照電圧、VR- = 負極性参照電圧

1 1最小 VINP VR-、VINN = (VR+ + VR-)/2 -1024

最大 VINP VR+、VINN = (VR+ + VR-)/2 +1023

1 0最小 VINP VR-、VINN = (VR+ + VR-)/2 +1024

最大 VINP VR+、VINN = (VR+ + VR-)/2 +3071

0 1最小 VINP VR- -2048

最大 VINP VR+ +2047

0 0最小 VINP VR- 0

最大 VINP VR+ +4095

DS70005213C_JP - p. 40 2016 Microchip Technology Inc.

Page 41: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

4.6.3 専用 ADCコ アのアナログ入力の選択

専用 ADC コアの柔軟性を高めるため、各コアには複数の入力が提供されます。これにはアナログピンと他のアナログ モジュール ( アンプ等 ) の出力ピンを含みます。入力オプションは、ADCON4H レジスタの CxCHS<1:0> ビットで選択します。

利用可能な入力オプションはデバイスごとに異なります。詳細は各デバイスのデータシートを参照してください。CxCHS<1:0> ビットは、各種のアナログ入力を専用 ADC コアへ物理的に接続しますが、トリガ源は変更しません。専用 ADC コアは、CxCHS<1:0> に書き込まれた値に関係なく、CxCHS<1:0> = 00に対応するチャンネルからのトリガだけを受け入れます。

4.6.4 入力の優先度

複数の入力チャンネルから同時に変換要求が発生した場合、共有 ADC コアは自然順序優先度スキームに従って処理します。優先度スキームは入力チャンネル番号に基づいて固定的に定義されており、番号の小さなチャンネルほど高い優先度を持ちます。言い換えると、入力の変換は、番号が最も小さいアナログ チャンネルから昇順に発生します。

4.7 ADC の有効化

本 ADC モジュールは各種レベルで有効にできます ( 図 4-7 参照 )。

図 4-7: ADC モジュールの有効化

Set ADC CoresInitialization TimeMore than 10 mS

(WARMTIME<3:0> bitsin ADCON5H Register)

ADC Module Enable(ADON bit in

ADCON1L Register)

Dedicated ADC Core 0ANALOG Circuits PowerControl (C0PWR bit inADCON5L Register)

Dedicated ADC Core 0DIGITAL Circuits Enable

(C0EN bit inADCON3H Register)

Dedicated ADC Core 1ANALOG Circuits PowerControl (C1PWR bit inADCON5L Register)

Dedicated ADC Core 1DIGITAL Circuits Enable

(C1EN bit inADCON3H Register)

Shared ADC CoreANALOG Circuits PowerControl (SHRPWR bit in

ADCON5L Register)

Shared ADC CoreDIGITAL Circuits Enable

(SHREN bit inADCON3H Register)

C0RDY bit inADCON5L

Indicates whenthe Core is Ready

C1RDY bit inADCON5L

Indicates whenthe Core is Ready

SHRRDY bit inADCON5L

Indicates whenthe Core is Ready

2016 Microchip Technology Inc. DS70005213C_JP - p. 41

Page 42: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

ADCON1L レジスタの ADON ビットは ADC モジュール全体を有効にします。その後で、各 SARADC コアを別々に有効にする必要があります。ADCON5L レジスタの CxPWR および SHRPWRビットは、それぞれ専用および共有 ADC コアのアナログ回路を制御します。CxPWR またはSHRPWR ビットをセットすると、アナログ回路を安定化するための起動遅延が適用されます。遅延時間は ADCON5H レジスタの WARMTIME<3:0> ビットで定義します。遅延後に、ADCON5L内の対応する CxRDY または SHRRDY ビットがセットされ、対応する ADC コアの動作準備が完了した事が示されます。この時点では、ADC コアはトリガを受け付けません。ADC コアのデジタル回路を有効にするため、ADCON3H レジスタの CxEN ビット ( 専用コアの場合 ) またはSHREN ビット ( 共有コアの場合 ) をセットする必要があります。CxEN または SHREN ビットをセットした時点で、対応する SAR ADC コアは完全に動作可能になります。SAR ADC コアの初期化には 10 µs が必要です。WARMTIME<3:0> ビットを設定する事で、初期化のために十分な時間を提供する必要があります。

ADC モジュールを有効にするための手順は以下の通りです。

1. ADCON5H レジスタの WARMTIME<3:0> ビットで、ADC コアの初期化のために 10 μs 以上の時間を設定します。

2. ADCON1L レジスタの ADON ビットをセットします。

3. ADCON5L レジスタで、使用する ADC コアに対応する CxPWR/SHRPWR ビットをセットします。

4. ADCON5L レジスタで、上記の ADC コアに対応する CxRDY/SHRRDY ビットがセットされるまでポーリングします。

5. ADCON3Hレジスタで、上記のADCコアに対応するCxEN/SHRENビットをセットします。

CxRDY/SHRRDY ビットが示すアナログ回路レディイベントを使って共通 ADC 割り込みを生成できます。この割り込みを生成するには、ADCON5H レジスタ内の対応する CxCIE ビット(専用コアの場合 )またはSHRCIEビット (共有コアの場合 )をセットしておく必要があります。

4.8 校正

ADC モジュールを有効にするたびに (4.7「ADC の有効化」参照 )、全ての SAR ADC コアを校正する必要があります。ADCALnL/ADCALnH レジスタは、全てのコアの校正プロセスを制御します。各コアに対して 2 つの校正手順を実行する必要があります。1 つの校正手順は、シングルエンド入力モード用です。この場合、CALxDIFF ビット ( 専用 ADC コアの場合 ) またはCSHRDIFF ビット ( 共有 ADC コアの場合 ) をクリアします。もう 1 つの校正手順は、差動モード用です。この場合、CALxDIFF/CSHRDIFF ビットをセットします。あるコアがシングルエンド モードだけを使う場合、そのコアに対する差動モードの校正は省略できます。同様に、コアが差動入力モードだけを使う場合、シングルエンド モードの校正は不要です。校正モードへ移行するには、CALxEN ビット ( 専用コアの場合 ) または CSHREN ビット ( 共有コアの場合 ) をセットします。その後、CALxRUN ビット ( 専用コア ) または CSHRRUN ビット ( 共有コア )をセットして校正を実行します。これらのビットはハードウェアによってクリアされ、次の校正サイクルが可能になります。また、CALxRUN/CSHRRUN ビットがセットされた時点で、対応する CALxRDY/CSHRRDY ビットはクリアされます。校正プロセスの終了を検出するため、アプリケーションで CALxRDY/CSHRRDY ビットをポーリングします。校正が終了した後は、全ての SAR ADC コアで通常の動作を再開するために、CALxEN/CSHREN ビットをクリアします。

SAR ADC コアの校正を実行するための手順は以下の通りです。

1. CALxEN/CSHREN ビットをセットします。

2. CALxDIFF/CSHRDIFF ビットをクリアします。

3. CALxRUN/CSHRRUN ビットをセットします。

4. CALxRDY/CSHRRDY ビットがセットされるまでポーリングします。

5. CALxDIFF/CSHRDIFF ビットをセットします。

6. CALxRUN/CSHRRUN ビットをセットします。

7. CALxRDY/CSHRRDY ビットがセットされるまでポーリングします。

8. CALxEN/CSHREN ビットをクリアします。

ADC モジュールを有効にした後に以下の ADC オプションを変更した場合、再校正が必要です。

• 参照電圧 (REFSEL<2:0> ビット )• クロック (CLKSEL<1:0>、CLKDIV<5:0>、SHRADCS<6:0>、ADCS<6:0> ビット )

DS70005213C_JP - p. 42 2016 Microchip Technology Inc.

Page 43: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

4.9 トリガ

変換要求をトリガするための方法は 4 通りあります。

• チャンネル別トリガ

• 共通ソフトウェア トリガ

• 共通レベル センシティブ ソフトウェア トリガ

• チャンネル別ソフトウェア トリガ ( ワンショット トリガ )

4.9.1 チャンネル別トリガ

アプリケーションは、各入力に対して別々の変換トリガ源を指定できます。これにはADTRIGnL/ADTRIGnH レジスタの TRGSRCn<4:0> ビットを使います。代表的なトリガ源には汎用タイマ、出力コンペア モジュール、PWM ジェネレータ、コンパレータ、外部ピン、共通ソフトウェア トリガ、共通レベル センシティブ ソフトウェア トリガがあります。各トリガ源は TRGSRCn<4:0> ビットで選択します。選択した各トリガ源は、ADLVLTRGL/ADLVLTRGHレジスタ内の対応するチャンネルのLVLENxビットを使ってエッジ センシティブまたはレベルセンシティブに設定できます。LVLENx ビットをセットすると、トリガ信号がアサートされている間は、その ADC コアを繰り返しトリガします。LVLENx ビットをクリアすると、トリガ信号が遷移した時に、その ADC コアを 1 度だけトリガします。レベル センシティブ トリガを専用 ADC コアに対して使う場合、ADCON4L レジスタの対応する SAMCxEN ビットをセットする事で、変換と変換の間に十分なサンプリング時間を与える必要があります。サンプリング時間は対応する ADCOREnL レジスタの SAMC<9:0> ビットで定義します。

4.9.2 チャンネル スキャン

複数のアナログ チャンネルをスキャンする必要がある場合、ADTRIGnL/ADTRIGnH レジスタの TRGSRCn<4:0> ビットを使って、各チャンネルで同じトリガ源を選択します。

4.9.3 共通ソフトウェア トリガ

ADCON3L レジスタの共通ソフトウェア トリガビット (SWCTRG) を使うと、任意のアナログ入力の変換をトリガできます。このトリガ方式を選択するには、ADTRIGnL/ADTRIGnH レジスタ内で対応するチャンネルの TRGSRCn<4:0> ビットを「00001」に設定します。対応するアナログ入力は、ソフトウェアが SWCTRG ビットをセットした時にトリガされます。このビットはハードウェアによって自動的にクリアされ、ソフトウェアは必要に応じて次の変換をトリガできます。

4.9.4 共通レベル センシティブ ソフトウェア トリガ

ADCON3L レジスタの共通レベル センシティブ ソフトウェア トリガビット (SWLCTRG) を使うと、任意のアナログ入力の変換をトリガできます。このトリガ方式を選択するには、ADTRIGnL/ADTRIGnH レジスタ内で対応する入力チャンネルの TRGSRCn<4:0> ビットを「00010」に設定します。ADLVLTRGL/ADLVLTRGH レジスタの LVLENx ビットも設定する必要があります。SWLCTRG ビットをセットすると、対応するアナログ入力は、ソフトウェアがSWLCTRG ビットをクリアするまで繰り返しトリガされます。レベル センシティブ トリガを専用 ADC コアに対して使う場合、ADCON4L レジスタの対応する SAMCxEN ビットをセットする事で、変換と変換の間に十分なサンプリング時間を与える必要があります。サンプリング時間は、ADCOREnL レジスタの SAMC<9:0> ビットで定義します。

2016 Microchip Technology Inc. DS70005213C_JP - p. 43

Page 44: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

4.9.5 チャンネル別ソフトウェア トリガ

アプリケーションは、任意のアナログ入力を選択して、1 回の変換を手動で要求できます。これは、ADC のトリガ源設定を変更する事なく、プログラム実行中にいつでも要求できます。変換する入力はADCON3LレジスタのCNVCHSEL<5:0>ビットで指定します。変換は、ADCON3Lレジスタの CNVRTCH ビットを使ってトリガします。このビットはハードウェアによって自動的にクリアされ、アプリケーションは必要に応じて次の変換をトリガできます。

4.9.6 トリガの無効化

ADCON3L レジスタの SUSPEND ビットにより、ADC モジュールの全ての ADC コアの全てのトリガを無効にできます。SUSPEND ビットをセットすると、全ての SAR ADC コアで後続の全てのトリガが無効になります。しかしこのビットは、優先度に基づいて遅延されていたトリガと、既に処理中であったトリガをキャンセルしません。SUSPEND ビットをセットした後は、ソフトウェアで ADCON3L レジスタの SUSPRDY ビットをポーリングする事で、全ての保留中であったトリガが処理された事を確認する必要があります。SUSPEND ビットと SUSPRDYビットの両方がセットされた場合、どのADCコアにも保留中のトリガはありません。ADCON3Lレジスタの SUSPCIE ビットがセットされている場合、SUSPRDY ビットがセットされた時に共通 ADC 割り込みが生成されます。

DS70005213C_JP - p. 44 2016 Microchip Technology Inc.

Page 45: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

4.10 変換結果

本モジュールは、各アナログ入力に A/D 変換結果を格納するためのデータ出力レジスタ(ADCBUFx、「x」はアナログ チャンネル番号 ) を備えています。これらのバッファは読み出し専用です。データレジスタにデータが書き込まれた時点で、ADSTATL/ADSTATH レジスタ内の対応する ANxRDY ビットがセットされます。ANxRDY ビットがセットされると、割り込み要求が生成されます。あるデータレジスタを読み出すと、対応する ANxRDY ビットは即座にクリアされます。ソフトウェアがデータレジスタを読み出す前に次の変換結果が生成された場合、そのデータレジスタは上書きされます ( 前のデータは失われます )。

4.10.1 ADC結 果のフォーマット

A/D コンバータからのデータは、データ フォーマッタを経由して ADC 結果レジスタに書き込まれます。結果データは 16 ビットワードにフォーマットされます。

ADC 結果レジスタ内のデータは、4 通りのデータ フォーマット ( 符号なし整数、符号付き整数、符号なし小数、符号付き小数 ) で読み出せます。整数データは右寄せ、小数データは左寄せです。

• 整数 /小数データ フォーマットは、ADCON1HレジスタのFORMビットを使って全てのADC入力に対してグローバルに指定します。

• 符号付き / 符号なしデータ フォーマットは、ADMODnL/ADMODnH レジスタの DIFFx および SIGNx ビットを使って入力チャンネルごとに指定できます (4.6.2「シングルエンド / 擬似差動入力オプションと出力データのフォーマット」参照 )。

• 出力データのフォーマットは ADC コアの分解能によって異なります。各専用 ADC コアの分解能は ADCOREnH レジスタの RES<1:0> ビットで指定し、共有 ADC コアの分解能はADCON1H レジスタの SHRRES<1:0> ビットで指定します。

図 4-8、図 4-9、図 4-10、図 4-11 に各分解能における結果データのフォーマットを示します。

図 4-8: ADC 出力データフォーマット (12 ビット分解能 )

A/D 変換結果

d11 d10 d09 d08 d07 d06 d05 d04 d03 d02 d01 d00

符号なし整数 (SIGNx = 0、FORM = 0)

0 0 0 0 d11 d10 d09 d08 d07 d06 d05 d04 d03 d02 d01 d00

符号付き整数 (SIGNx = 1、FORM = 0)

S S S S S d10 d09 d08 d07 d06 d05 d04 d03 d02 d01 d00

小数 (SIGNx = 0、FORM = 1)

d11 d10 d09 d08 d07 d06 d05 d04 d03 d02 d01 d00 0 0 0 0

符号付き小数 (SIGNx = 1、FORM = 1)

S d10 d09 d08 d07 d06 d05 d04 d03 d02 d01 d00 0 0 0 0

2016 Microchip Technology Inc. DS70005213C_JP - p. 45

Page 46: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

図 4-9: ADC 出力データフォーマット (10 ビット分解能 )

図 4-10: ADC 出力データフォーマット (8 ビット分解能 )

A/D 変換結果

d09 d08 d07 d06 d05 d04 d03 d02 d01 d00

符号なし整数 (SIGNx = 0、FORM = 0)

0 0 0 0 d09 d08 d07 d06 d05 d04 d03 d02 d01 d00 1 0

符号付き整数 (SIGNx = 1、FORM = 0)

S S S S S d08 d07 d06 d05 d04 d03 d02 d01 d00 1 0

小数 (SIGNx = 0、FORM = 1)

d09 d08 d07 d06 d05 d04 d03 d02 d01 d00 1 0 0 0 0 0

符号付き小数 (SIGNx = 1、FORM = 1)

S d08 d07 d06 d05 d04 d03 d02 d01 d00 1 0 0 0 0 0

A/D 変換結果

d07 d06 d05 d04 d03 d02 d01 d00

符号なし整数 (SIGNx = 0、FORM = 0)

0 0 0 0 d07 d06 d05 d04 d03 d02 d01 d00 1 0 0 0

符号付き整数 (SIGNx = 1、FORM = 0)

S S S S S d06 d05 d04 d03 d02 d01 d00 1 0 0 0

小数 (SIGNx = 0、FORM = 1)

d07 d06 d05 d04 d03 d02 d01 d00 1 0 0 0 0 0 0 0

符号付き小数 (SIGNx = 1、FORM = 1)

S d06 d05 d04 d03 d02 d01 d00 1 0 0 0 0 0 0 0

DS70005213C_JP - p. 46 2016 Microchip Technology Inc.

Page 47: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

図 4-11: ADC 出力データフォーマット (6 ビット分解能 )

A/D 変換結果

d05 d04 d03 d02 d01 d00

符号なし整数 (SIGNx = 0、FORM = 0)

0 0 0 0 d05 d04 d03 d02 d01 d00 1 0 0 0 0 0

符号付き整数 (SIGNx = 1、FORM = 0)

S S S S S d04 d03 d02 d01 d00 1 0 0 0 0 0

小数 (SIGNx = 0、FORM = 1)

d05 d04 d03 d02 d01 d00 1 0 0 0 0 0 0 0 0 0

符号付き小数 (SIGNx = 1、FORM = 1)

S d04 d03 d02 d01 d00 1 0 0 0 0 0 0 0 0 0

2016 Microchip Technology Inc. DS70005213C_JP - p. 47

Page 48: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

4.11 デジタル コンパレータ

本 ADC モジュールは複数のデジタル コンパレータを内蔵しています。これらのデジタル コンパレータを使う事で、選択したアナログ入力の変換結果とユーザ定義制限値の比較に基づいて割り込みを生成できます。変換が完了すると、コンパレータは自動的に変換結果と制限値を比較します。デジタル コンパレータは、ADCMPnCON レジスタ内のデジタル コンパレータ イネーブルビット (CMPEN) をセットする事で有効にします。

A/D 変換結果を ADCMPnLO および ADCMPnHI レジスタで指定されている下限値および上限値と比較し、A/D 変換結果が下限値と上限値の間に入るかどうか、あるいは下限値または上限値より大きいか小さいかに応じて割り込みを生成できます。デジタル コンパレータを使って監視するアナログ入力は、ADCMPnENL/HレジスタのCMPENxビットで指定します。ADCMPnLOおよびADCMPnHIレジスタに書き込む制限値のフォーマットは、ADCON1HレジスタのFORMビットおよび ADMODnL/H レジスタの DIFFx/SIGNx ビットで選択したデータフォーマットに一致する必要があります。

割り込みを生成する比較条件は、ADCMPnCON レジスタを使って以下のように指定します。

• BTWN = 1: ADCMPnLO ≤ ADCBUFx < ADCMPnHI

• HIHI = 1: ADCBUFx ADCMPnHI

• HILO = 1: ADCBUFx < ADCMPnHI

• LOHI = 1: ADCBUFx ADCMPnLO

• LOLO = 1: ADCBUFx < ADCMPnLO

コンパレータ イベントの生成回路を図 4-12 に示します。ADC が変換結果を生成すると、デジタル コンパレータは、ADCMPnCON レジスタで選択されている比較基準に基づいて、選択されたチャンネルの ADC 結果と上限値 / 下限値を比較します。コンパレータ イベントが発生すると( 選択されている比較条件が成立すると )、ADCMPnCON レジスタ内のコンパレータ イベント ステータスビット (STAT) がセットされ、チャンネル番号ビット (CHNL<4:0>) が自動的に更新されます。これにより、アプリケーションはイベントが発生したアナログ入力を識別できます。CHNL<4:0> ビットを読み出すと STAT フラグはクリアされます。ADCMPnCON レジスタの IEビットがセットされている場合、コンパレータは個別および共通割り込みを生成できます。

図 4-12: デジタル コンパレータ

Note: ADCMPnLO および ADCMPnHI レジスタには、変換データのフォーマット ( 符号付き / 符号なし、整数 / 小数 ) と同じフォーマットで上限値および下限値を書き込む必要があります。

ADCBUFx < ADCMPnLO

ADCBUFx = ADCMPnLO

ADCBUFx > ADCMPnLO

ADCBUFx < ADCMPnHI

ADCBUFx = ADCMPnHI

ADCBUFx > ADCMPnHI

LOLO

LOHI

HILO

HIHI

BTWN

CMPEN

ADCBUFx

Comparator

Interrupt

Logic

DS70005213C_JP - p. 48 2016 Microchip Technology Inc.

Page 49: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

4.12 オーバーサンプリング デジタル フィルタ

本 ADC モジュールは、複数のオーバーサンプリング デジタルフィルタをサポートします。このフィルタはアキュムレータとデシメータ ( ダウンサンプラ ) で構成され、これらは共にローパスフィルタとして機能します。アナログ入力を要求サンプリング レートよりも高いレートでサンプリングし、これにオーバーサンプリング フィルタを適用する事で、変換スループットは低下するものの、ADC モジュールの実効分解能を向上させる事ができます。例えば、4 倍オーバーサンプリングによって分解能は 1 ビット向上します。同様に、16 倍オーバーサンプリングでは2 ビット、64 倍オーバーサンプリングでは 3 ビット、256 倍オーバーサンプリングでは 4 ビット向上します。

オーバーサンプリング デジタルフィルタを使って変換を実行するための手順は以下の通りです。

1. ADFLnCONレジスタのOVRSAM<2:0> ビットでオーバーサンプリング レシオを選択します。

2. 後続の変換に適用するサンプリング時間を設定します。

• 専用 ADC コア入力の場合、ADCON4L レジスタ内の対応する SAMCxEN ビットでトリガから変換開始までの遅延を有効に、ADCOREnL レジスタの SAMC<9:0> ビットで反復する変換のサンプリング時間を選択します。

• 共有 ADC コア入力の場合、ADCON2H レジスタの SHRSAMC<9:0> ビットでサンプリング時間を選択します。

3. ADFLnCON レジスタの FLCHSEL<4:0> ビットで、オーバーサンプリングを適用するアナログ入力を選択します。

4. ADFLnCON レジスタの MODE<1:0> ビットで、平均化モードまたはオーバーサンプリング モードを選択します。

5. FLEN ビットをセットする事で、オーバーサンプリング フィルタを有効にします。

以上のようにオーバーサンプリング デジタルフィルタを設定した後に入力チャンネル トリガが発生すると、オーバーサンプリング プロセスが始まります。トリガが発生すると、アキュムレータがクリアされた後に最初の変換が始まります。この後は、フィルタ自身が自動的に後続のトリガを生成します。各変換要求の処理が完了するたびに、SAMC<9:0> ビット ( 専用 ADC コアの場合 ) または SHRSAMC<9:0> ビット ( 共有 ADC コアの場合 ) の値に基づいて次のサンプリングが始まります。以上のプロセスは、オーバーサンプリングに必要な数 (4、8、16、32、64、128、256 個のいずれか ) のサンプルが変換されるまで繰り返されます。最後に、必要数の変換結果を積算した出力値が ADFLnDAT レジスタへ転送され、ADFLnCON レジスタの RDY ビットがセットされます。ADFLnDAT レジスタを読み出すと、RDY フラグはクリアされます。ADFLnCON レジスタの IE ビットがセットされている場合、オーバーサンプリング フィルタは個別および共通割り込みを生成できます。オーバーサンプリング フィルタは小数データフォーマットをサポートしません。このフィルタを使う場合、ADCON1H レジスタの FORM ビットは「0」に設定する必要があります。

2016 Microchip Technology Inc. DS70005213C_JP - p. 49

Page 50: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

図 4-13 に、専用 ADC コアの入力における 4 倍オーバーサンプリングのプロセスを示します。トリガが発生するまで ADC コアは入力信号をトラッキングします。トリガによってオーバーサンプリング プロセスが始まり、SAMC<9:0> ビットで定義されたサンプリング遅延が終了した時点で変換が始まります。変換が完了すると結果をアキュムレータに加算し、次のサンプリング / 変換シーケンスが始まります。OVRSAM<2:0> ビットで指定されている数のサンプルを積算するまでこのシーケンスを繰り返します。最後のサンプルの変換結果をアキュムレータに加算した後、MODE<1:0> ビットの定義に従うフォーマットで結果データを ADFLnDAT レジスタに格納します。ADFLnDAT レジスタを読み出すと RDY フラグはクリアされます。

図 4-13: 専用 ADC コアのアナログ入力における 4 倍オーバーサンプリング

図 4-14 に、共有 ADC コアの入力における 4 倍オーバーサンプリングのプロセスを示します。入力チャンネルトリガにより、SHRSAMC<9:0> ビットで定義された時間のサンプリングが始まります。

図 4-14: 共有 ADC コアのアナログ入力における 4 倍オーバーサンプリング

Convert

Input Tracking Hold

Initial trigger starts the conversion process

Hold Hold Hold

Core reverts to tracking (sampling) the input after the sample is passed to the converter

4x Oversampling Process of a Dedicated Core Input, Resulting in One Additional bit of ADC Resolution

Convert Convert Convert

Conversion results are added to accumulator

Prior to trigger, the core tracks the input

When last sample has been passed to the converter, the core resumes tracking input

(SAMCx + 1.5) TAD

(SAMCx + 1.5) TAD

(SAMCx + 1.5) TAD Input Tracking

After a delay of (SAMC<9:0> + 1.5) TAD, an oversample trigger occurs

Last conversion results in a 14-bit sum, the sum is right-shifted by 1, producing a 13-bit result in ADFLnDAT

Convert

Hold

Trigger initiates sampling

Hold Hold Hold

Convert Convert Convert

Conversion results are added to accumulator

Last conversion results in a 14-bit sum, the sum is right-shifted by 1 producing a 13-bit result in ADFLnDAT

Once sample is passed to the converter, an oversample trigger is issued

(SHRSAMC<9:0>) TAD

(SHRSAMC<9:0>) TAD

(SHRSAMC<9:0>) TAD

(SHRSAMC<9:0>) TAD

DS70005213C_JP - p. 50 2016 Microchip Technology Inc.

Page 51: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

4.13 割り込み

本 ADC モジュールは、各種の割り込み要因に対応する個別割り込みを生成できます。また、全ての ADC イベントに対応して共通割り込みも呼び出されます。早期割り込み機能を使うと、割り込みサービス レイテンシを補償する事ができます。有効にされている割り込みが発生すると、CPU はその割り込みに割り当てられたベクタへジャンプします。CPU は、ジャンプ先のベクタアドレスでコード実行を始めます。このベクタアドレスから始まるコードは、必要な動作 ( データ結果の処理、割り込みフラグのクリア等 ) を実行した後に終了する必要があります。割り込みコントローラ フラグは、対応するイベントフラグをクリアするか、その割り込みをADC モジュール内で無効にするまでクリアできません。

4.13.1 個別割り込み

ADC モジュールによって生成される各種のイベントには、個別に一意の割り込みベクタが割り当てられています。イベントごとに専用の割り込みサービスルーチン (ISR) を使って効率的に処理する事で、複数 ADC イベントの処理を大幅に最適化できます。

個別割り込みは以下のイベントによって生成されます。

• チャンネル別データレディ イベント : アナログ入力 (ANx) の変換が完了した時点で、ADSTATL/H レジスタ内のその入力に対応する ANxRDY ビットがセットされます。各 ANxRDY ビットには、デバイスレベルで別々のADCANxIF 割り込みフラグが割り当てられています。ADC 割り込みコントローラ フラグ(ADCANxIF) をクリアするには、ADCBUFx レジスタを読み出す事によって最初に ANxRDYビットをクリアする必要があります。個々のチャンネルの割り込みを有効にするには、ADIEL/ADIEH レジスタの対応する IEx ビットをセットします。

• デジタル コンパレータ イベント : 変換結果がデジタル コンパレータの比較基準を満たすと、ADCMPnCON レジスタの対応する STAT ビットがセットされます。各デジタル コンパレータは独自のデバイスレベル割り込みを生成できます。この割り込みは、対応する STAT ビットがセットされた時に、DCMPxIFフラグによって制御されます。DCMPxIF 割り込みコントローラ フラグをクリアするには、ADCMPnCONレジスタのCHNL<4:0>ビットを読み出す事によって最初にSTATビットをクリアする必要があります。 個々のコンパレータの割り込みを有効にするには、対応するADCMPnCON レジスタの IE ビットをセットします。

• オーバーサンプリング フィルタのデータレディ イベント : オーバーサンプリング フィルタがアキュムレーション / デシメーション処理を完了して結果を保存した時点で、ADFLnCON レジスタの RDY ビットがセットされます。各オーバーサンプリング フィルタは独自のデバイスレベル割り込みを生成できます。この割り込みは、対応するRDYビットがセットされた時に、ADFLTRxIFフラグによって制御されます。 ADFLTRxIF割り込みコントローラ フラグをクリアするには、ADFLnDAT レジスタを読み出す事によって最初に RDY ビットをクリアする必要があります。個々のフィルタの割り込みを有効にするには、対応する ADFLnCON レジスタの IE ビットをセットします。

割り込みフラグがセットされた時にアプリケーションが対応する ISRへジャンプできるようにするには、他の割り込みと同様に、対応する割り込みコントローラ イネーブルビット(ADCANxIE、DCMPxIE、ADFLTRxIE) をセットしておく必要があります。

2016 Microchip Technology Inc. DS70005213C_JP - p. 51

Page 52: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

4.13.2 共通割り込み

全ての ADC イベントに対して 1 つの共通割り込みが使えます。ADC モジュール内で有効にされている全ての割り込みイベントが割り込みコントローラ内の ADCIF フラグをセットします。この共通割り込みフラグ (ADCIF) は、ADC モジュール内で有効にされている全てのステータスフラグをクリアするか、対応する割り込みを ADC モジュール内で無効にするまでクリアできません。共通割り込みは以下に対して生成されます。

• 各入力のデータレディ割り込みイベント(ADIEL/ADIEHレジスタの対応するIExビットがセットされている場合 )

• 各デジタル コンパレータの割り込みイベント (対応するADCMPnCONレジスタの IEビットがセットされている場合 )

• 各オーバーサンプリング フィルタの割り込みイベント ( 対応する ADFLnCON レジスタの IEビットがセットされている場合 )

• 各 ADC コアのコアレディ イベント (ADCON5H レジスタの対応する CxCIE または SHRCIEビットがセットされている場合 )コアレディ イベントフラグ (ADCON5L レジスタの CxRDY および SHRRDY ビット ) は、使用中の ADC コアがアクティブである間はセットされたままです。従って、このイベントを検出した後は、ADCIF フラグをクリアするために、対応する割り込みを無効 (CxCIE = 0、SHRCIE = 0) にする必要があります。

• ADC トリガが無効にされた時 (ADCON3L レジスタの SUSPCIE ビットがセットされている場合 ) 全 ADC コアトリガ無効化フラグ (ADCON3L レジスタの SUSPRDY ビット ) は、ADCON3Lレジスタの SUSPEND ビットをクリアして ADC トリガを再開するまでセットされたままです。従って、このイベントを検出した後は、ADICF フラグをクリアするために、対応する割り込みを無効 (SUSPCIE = 0) にする必要があります。

• 参照電圧レディイベント (ADCON2L レジスタの REFCIE ビットがセットされている場合 )• 参照電圧エラーイベント ( 同レジスタの REFERCIE ビットがセットされている場合 )

ADCON1L レジスタの ADON ビットで ADC モジュールを無効にするまで、イベントフラグ(ADCON2H レジスタの REFRDY および REFERR ビットはセットされたままです。従って、これらのイベントを検出した後は、ADCIF フラグをクリアするために、対応する割り込みを無効 (REFCIE = 0、REFERCIE = 0) にする必要があります。

アプリケーションが共通 ISR へジャンプするには、他の割り込みと同様に、対応する ADC 割り込みイネーブルビット (ADCIE) をセットしておく必要があります。

4.13.3 早期割り込み

早期割り込みを使うと、割り込み関連のプロセッサ オーバーヘッドを ADC の変換処理にオーバーラップさせる事で、割り込みサービスレイテンシを補償できます。この機能を使うには、ADCON2L レジスタの EIEN ビットをセットします。早期割り込み機能は、入力チャンネルごとに ADEIEL/ADEIEH レジスタの対応する EIEx ビットを使って有効にします。EIEx ビットをセットすると、変換が完了するより前に、対応する入力チャンネルの共通および個別割り込みが実行されます。ある入力チャンネルで早期割り込みが生成されると、ADEISTATL/ADEISTATH レジスタの対応する EISTATx ビットがセットされます。この EISTATx フラグは、対応する ADCBUFx レジスタが読み出された時点でクリアされます。

早期割り込みにより、入力がまだ変換処理中であっても、アプリケーション ソフトウェアはISR へのジャンプを開始できます。

ADC コア早期割り込みのタイミング ( 変換完了に先行する TADCORE クロック周期数 ) は、ADCOREnH レジスタの EISEL<2:0> ビット ( 専用 ADC コアの場合 ) または ADCON2L レジスタの SHREISEL<2:0> ビット ( 共有 ADC コアの場合 ) で指定します。

早期割り込みを使うと、アナログ入力がトリガされてからアプリケーション ソフトウェアでそのデータが使えるようになるまでのレイテンシを短縮できます。つまり、変換要求に対して、対応するアナログ入力の割り込みをゼロレイテンシで処理できるという事です。

Note: ADC コアの分解能が 6 ビット (RES<1:0> または SHRRES<1:0> = 00) の場合、EISEL<2:0> または SHREISEL<2:0> に対して「100」(5 TADCORE) ~「111」(8 TADCORE) は無効です ( 使えません )。ADC コアの分解能が 8 ビット (RES<1:0>または SHRRES<1:0> = 01) の場合、EISEL<2:0> または SHREISEL<2:0> に対して「110」(7 TADCORE) ~「111」(8 TADCORE) は無効です ( 使えません )。

DS70005213C_JP - p. 52 2016 Microchip Technology Inc.

Page 53: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

5.0 応用例

12 ビット高速マルチ SAR A/D コンバータを使うための手順は以下の通りです。

1. I/Oピンをアナログ入力として設定します (ANSELxおよびTRISxレジスタ内の対応するビットをセットします )。

2. ADCON3HレジスタのCLKSEL<1:0> ビットでADCクロック源を選択し、CLKDIV<5:0>ビットでプリスケーラを設定します。

3. ADCOREnH レジスタの ADCS<6:0> ビット ( 専用 ADC コアの場合 ) または ADCON2Lレジスタの SHRADCS<6:0> ビット ( 共有 ADC コアの場合 ) を使って、各 ADC コアのクロック周期を選択します。

4. ADCON3L レジスタの REFSEL<2:0> ビットを使って、ADC 参照電圧源を選択します。

5. ADCOREnH レジスタの RES<1:0> ビット ( 専用ADC コアの場合 ) または ADCON1H レジスタの SHRRES<1:0> ビット ( 共有 ADC コアの場合 ) を使って、各 ADC コアの変換結果の分解能を選択します。

6. ADCON1H レジスタの FORM ビットを使って、データの出力フォーマット ( 整数 / 小数 )を選択します。

7. ADMODnL/ADMODnH レジスタの DIFFx および SIGNx ビットを使って、各入力チャンネルのモード ( シングルエンド / 差動 ) と出力フォーマット ( 符号付き / 符号なし ) を選択します。

8. 共有 ADC コアを使う場合、ADCON2H レジスタの共有 ADC コア サンプリング時間選択ビット (SHRSAMC<8:0>) を設定します。

9. ADC 割り込みを設定して有効にします。

10. ADCON1LレジスタのADONビットをセットしてADCモジュールを有効にし、ADCON5Hレジスタの WARMTIME<3:0> ビットで初期化のための起動遅延時間を 10 μs 以上に設定します。

11. モジュールの電源を ON にします。

a) ADCON5L レジスタの CxPWR/SHRPWR ビットをセットします。

b) ADCON5L レジスタの CxRDY/SHRRDY ビットがセットされるまでポーリングします。

c) ADCON3H レジスタの CxEN/SHREN ビットをセットします。

12. ADCALnL/ADCALnH レジスタを使って全ての ADC コアを校正します。

a) CALxEN/CSHREN ビットをセットします。

b) CALxDIFF/CSHRDIFF ビットをクリアします。

c) CALxRUN/CSHRRUN ビットをセットします。

d) CALxRDY/CSHRRDY ビットがセットされるまでポーリングします。

e) CALxDIFF/CSHRDIFF ビットをセットします。

f) CALxRUN/CSHRRUN ビットをセットします。

g) CALxRDY/CSHRRDY ビットがセットされるまでポーリングします。

h) CALxEN/CSHREN ビットをクリアします。

13. ADTRIGnL/ADTRIGnH レジスタで、各アナログ入力のトリガ源を設定します。

本 ADC モジュールの各種機能を使うための代表的なコード例を次に記載します。

2016 Microchip Technology Inc. DS70005213C_JP - p. 53

Page 54: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

5.1 ADC コアの有効化と校正

例 5-1 に、2 個の専用 ADC コアと 1 個の共有 ADC コアを有効にして校正するための手順を示します。

例 5-1: ADC の有効化 / 校正手順

void EnableAndCalibrate(){// Set initialization time to maximumADCON5Hbits.WARMTIME = 15;

// Turn on ADC moduleADCON1Lbits.ADON = 1;

// Turn on analog power for dedicated core 0ADCON5Lbits.C0PWR = 1;// Wait when the core 0 is ready for operationwhile(ADCON5Lbits.C0RDY == 0);// Turn on digital power to enable triggers to the core 0ADCON3Hbits.C0EN = 1;

// Turn on analog power for dedicated core 1ADCON5Lbits.C1PWR = 1;// Wait when the core 1 is ready for operationwhile(ADCON5Lbits.C1RDY == 0);// Turn on digital power to enable triggers to the core 1ADCON3Hbits.C1EN = 1;

// Turn on analog power for shared coreADCON5Lbits.SHRPWR = 1;// Wait when the shared core is ready for operationwhile(ADCON5Lbits.SHRRDY == 0);// Turn on digital power to enable triggers to the shared coreADCON3Hbits.SHREN = 1;

// Enable calibration for the dedicated core 0ADCAL0Lbits.CAL0EN = 1;// Single-ended input calibrationADCAL0Lbits.CAL0DIFF = 0;// Start calibrationADCAL0Lbits.CAL0RUN = 1;// Poll for the calibration endwhile(ADCAL0Lbits.CAL0RDY == 0);// Differential input calibrationADCAL0Lbits.CAL0DIFF = 1;// Start calibrationADCAL0Lbits.CAL0RUN = 1;// Poll for the calibration endwhile(ADCAL0Lbits.CAL0RDY == 0);// End the core 0 calibration ADCAL0Lbits.CAL0EN = 0;

DS70005213C_JP - p. 54 2016 Microchip Technology Inc.

Page 55: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

例 5-1: ADC の有効化 / 校正手順 ( 続き )

// Enable calibration for the dedicated core 1ADCAL0Lbits.CAL1EN = 1;// Single-ended input calibrationADCAL0Lbits.CAL1DIFF = 0;// Start calibrationADCAL0Lbits.CAL1RUN = 1;// Poll for the calibration endwhile(ADCAL0Lbits.CAL1RDY == 0);// Differential input calibrationADCAL0Lbits.CAL1DIFF = 1;// Start calibrationADCAL0Lbits.CAL1RUN = 1;// Poll for the calibration endwhile(ADCAL0Lbits.CAL1RDY == 0);// End the core 1 calibration ADCAL0Lbits.CAL1EN = 0;

// Enable calibration for the shared coreADCAL1Hbits.CSHREN = 1;// Single-ended input calibrationADCAL1Hbits.CSHRDIFF = 0;// Start calibrationADCAL1Hbits.CSHRRUN = 1;// Poll for the calibration endwhile(ADCAL1Hbits.CSHRRDY == 0);// Differential input calibrationADCAL1Hbits.CSHRDIFF = 1;// Start calibrationADCAL1Hbits.CSHRRUN = 1;// Poll for the calibration endwhile(ADCAL1Hbits.CSHRRDY == 0);// End the shared core calibration ADCAL1Hbits.CSHREN = 0;}

2016 Microchip Technology Inc. DS70005213C_JP - p. 55

Page 56: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

5.2 基本的な変換シーケンス

初期化と変換のための基本的なシーケンスを例 5-2 に示します。このサンプルコードは、2 個の専用 ADC で同時にサンプリング / 変換を実行します。全ての入力は 1 つのトリガ源 (Timer2)を使ってトリガします。入力別の ISR を使って、変換結果を保存します。

例 5-2: 2 個の専用 ADC コアによる同時サンプリング / 変換

// These variables will keep the conversion result.volatile unsigned short dataAN0;volatile unsigned short dataAN1;

int main(){// ADC INITIALIZATION// Configure the I/O pins to be used as analog inputs.ANSELAbits.ANSA0 = 1; TRISAbits.TRISA0 = 1; // AN0/RA0 connected the dedicated core 0ANSELAbits.ANSA1 = 1; TRISAbits.TRISA1 = 1; // AN1/RA1 connected the dedicated core 1

// Configure the common ADC clock.ADCON3Hbits.CLKSEL = 2; // clock from FRC oscillatorADCON3Hbits.CLKDIV = 0; // no clock divider (1:1)// Configure the cores’ ADC clock.ADCORE0Hbits.ADCS = 0; // clock divider (1:2)ADCORE1Hbits.ADCS = 0; // clock divider (1:2)

// Configure the ADC reference sources.ADCON3Lbits.REFSEL = 0; // AVdd as voltage reference// Configure the integer of fractional output format.ADCON1Hbits.FORM = 0; // integer format

// Select single-ended input configuration and unsigned output format.ADMOD0Lbits.SIGN0 = 0; // AN0/RA0ADMOD0Lbits.DIFF0 = 0; // AN0/RA0ADMOD0Lbits.SIGN1 = 0; // AN1/RA1ADMOD0Lbits.DIFF1 = 0; // AN1/RA1

EnableAndCalibrate(); // See ?5-1

// Configure and enable ADC interrupts.ADIELbits.IE0 = 1; // enable interrupt for AN0ADIELbits.IE1 = 1; // enable interrupt for AN1_ADCAN0IF = 0; // clear interrupt flag for AN0_ADCAN0IE = 1; // enable interrupt for AN0_ADCAN1IF = 0; // clear interrupt flag for AN1_ADCAN1IE = 1; // enable interrupt for AN1

DS70005213C_JP - p. 56 2016 Microchip Technology Inc.

Page 57: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

例 5-2: 2 個の専用 ADC コアによる同時サンプリング / 変換 ( 続き )// Set same trigger source for all inputs to sample signals simultaneously.ADTRIG0Lbits.TRGSRC0 = 13; // timer 2 for AN0ADTRIG0Lbits.TRGSRC1 = 13; // timer 2 for AN1

// TIMER 2 INITIALIZATION (TIMER IS USED AS A TRIGGER SOURCE FOR ALL CHANNELS).T2CONbits.TCS = 0; // clock from peripheral clockT2CONbits.TCKPS = 0; // 1:1 prescalePR2 = 0x8000; // rollover every 0x8000 clocksT2CONbits.TON = 1; // start timer to generate ADC triggerswhile(1);return 1;}

// ADC AN0 ISRvoid __attribute__((interrupt, no_auto_psv)) _ADCAN0Interrupt(void){dataAN0 = ADCBUF0; // read conversion result_ADCAN0IF = 0; // clear interrupt flag}

// ADC AN1 ISRvoid __attribute__((interrupt, no_auto_psv)) _ADCAN1Interrupt(void){dataAN1 = ADCBUF1; // read conversion result_ADCAN1IF = 0; // clear interrupt flag}

2016 Microchip Technology Inc. DS70005213C_JP - p. 57

Page 58: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

5.3 デジタル コンパレータ

デジタル コンパレータを使うと、選択したアナログ入力の変換結果を監視できます。推奨するデジタル コンパレータ モジュールの初期化シーケンスは以下の通りです。

1. ADCMPnLO レジスタと ADCMPnHI レジスタで下限値と上限値を設定します。値のフォーマットは、ADCBUFx レジスタで選択した出力データ フォーマットと同じにする必要があります。

2. ADCMPnENL/H レジスタの対応するビットをセットする事で、比較を行うアナログ入力を選択します。

3. ADCMPnCON レジスタの BTWN、HIHI、HILO、LOHI、LOLO ビットを使って、コンパレータ イベントの生成条件を設定します。

4. ADC デジタル コンパレータ割り込みを設定して有効にします。

5. ADCMPnCON レジスタの CMPEN ビットをセットします。

例 5-3 のコードは、デジタル コンパレータを使って、2 つのアナログ入力の電圧が ADCMPnLOおよび ADCMPnHI レジスタで定義した 2 つのしきい値の間に入るかどうか監視します。

例 5-3: デジタル コンパレータの使用例

// This variable will contain the analog input number// which has generated an event for the digital comparator.volatile unsigned short comparatorChannelNumber;

// These variables will keep the conversion result.volatile unsigned short dataAN0;volatile unsigned short dataAN1;

int main(){// ADC INITIALIZATION// Configure the I/O pins to be used as analog inputs.ANSELAbits.ANSA0 = 1; TRISAbits.TRISA0 = 1; // AN0/RA0 connected the dedicated core 0ANSELAbits.ANSA1 = 1; TRISAbits.TRISA1 = 1; // AN1/RA1 connected the dedicated core 1

// Configure the common ADC clock.ADCON3Hbits.CLKSEL = 2; // clock from FRC oscillatorADCON3Hbits.CLKDIV = 0; // no clock divider (1:1)// Configure the cores’ ADC clock.ADCORE0Hbits.ADCS = 0; // clock divider (1:2)ADCORE1Hbits.ADCS = 0; // clock divider (1:2)

// Configure the ADC reference sources.ADCON3Lbits.REFSEL = 0; // AVdd as voltage reference// Configure the integer of fractional output format.ADCON1Hbits.FORM = 0; // integer format

// Select single-ended input configuration and unsigned output format.ADMOD0Lbits.SIGN0 = 0; // AN0/RA0ADMOD0Lbits.DIFF0 = 0; // AN0/RA0ADMOD0Lbits.SIGN1 = 0; // AN1/RA1ADMOD0Lbits.DIFF1 = 0; // AN1/RA1

// Enable and calibrate the module.EnableAndCalibrate(); // See ?5-1// Configure and enable ADC interrupts.ADIELbits.IE0 = 1; // enable interrupt for AN0ADIELbits.IE1 = 1; // enable interrupt for AN1_ADCAN0IF = 0; // clear interrupt flag for AN0_ADCAN0IE = 1; // enable interrupt for AN0_ADCAN1IF = 0; // clear interrupt flag for AN1_ADCAN1IE = 1; // enable interrupt for AN1

DS70005213C_JP - p. 58 2016 Microchip Technology Inc.

Page 59: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

例 5-3: デジタル コンパレータの使用例 ( 続き )// Set same trigger source for all inputs to sample signals simultaneously.ADTRIG0Lbits.TRGSRC0 = 13; // timer 2 for AN0ADTRIG0Lbits.TRGSRC1 = 13; // timer 2 for AN1

// TIMER 2 INITIALIZATION (TIMER IS USED AS A TRIGGER SOURCE FOR ALL CHANNELS).T2CONbits.TCS = 0; // clock from peripheral clockT2CONbits.TCKPS = 0; // 1:1 prescalePR2 = 0x8000; // rollover every 0x8000 clocksT2CONbits.TON = 1; // start timer to generate ADC triggers

// DIGITAL COMPARATOR INITIALIZATION.// Set high and low thresholds.ADCMP0LO = 1024;ADCMP0HI = 4096-1024;// Select analog inputs for the comparison.ADCMP0ENLbits.CMPEN0 = 1; // AN0ADCMP0ENLbits.CMPEN1 = 1; // AN1// Set the comparator event rule.ADCMP0CONbits.LOLO = 1; // Generate interrupt if input level is outside windowADCMP0CONbits.HIHI = 1; // specified by ADCMP0LO and ADCMP0HI.// Enable the ADC Digital Comparator interrupt.ADCMP0CONbits.IE = 1;_ADCMP0IF = 0;_ADCMP0IE = 1;// Enable the comparator.ADCMP0CONbits.CMPEN = 1;

while(1);return 1;}// ADC COMPARATOR ISR// If the conversion result for AN0 or AN1 is less than ADCMP0LO or more than ADCMP0HI,// the interrupt is generatedvoid __attribute__((interrupt, no_auto_psv)) _ADCMP0Interrupt(void){comparatorChannelNumber = ADCMP0CONbits.CHNL;// read the channel number

// that generated interrupt_ADCMP0IF = 0; // clear interrupt flag}// ADC AN0 ISRvoid __attribute__((interrupt, no_auto_psv)) _ADCAN0Interrupt(void){dataAN0 = ADCBUF0; // read conversion result_ADCAN0IF = 0; // clear interrupt flag}// ADC AN1 ISRvoid __attribute__((interrupt, no_auto_psv)) _ADCAN1Interrupt(void){dataAN1 = ADCBUF1; // read conversion result_ADCAN1IF = 0; // clear interrupt flag

2016 Microchip Technology Inc. DS70005213C_JP - p. 59

Page 60: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

5.4 オーバーサンプリング フィルタ

オーバーサンプリング フィルタを使うと、分解能を向上させるかノイズを低減する事ができます。オーバーサンプリング フィルタの一般的な初期化手順は以下の通りです。

1. ADFLnCON レジスタの FLCHSEL<4:0> ビットで、フィルタ処理を適用するアナログ入力を選択します。

2. ADFLnCON レジスタの MODE<1:0> ビットで、フィルタモードを設定します。

3. ADFLnCON レジスタの OVRSAM<2:0> ビットで、オーバーサンプリング レシオを設定します。

4. ADCOREnL レジスタの SAMC<9:0> ビット ( 専用 ADC コアの場合 ) または ADCON2Hレジスタの SHRSAMC<9:0> ビット ( 共有 ADC コアの場合 ) を使って、適切なサンプリング時間を設定します。

5. ADC オーバーサンプリング フィルタ割り込みを設定して有効にします。

6. ADFLnCON レジスタの FLEN ビットをセットしてフィルタを有効にします。

例 5-4 のコードは、専用 ADC コアに接続したアナログ入力をフィルタ処理します。

例 5-4: オーバーサンプリング フィルタの使用例

// This variable will contain the output data from the oversampling filter.volatile unsigned short filterData;

int main(){// ADC INITIALIZATION// Configure the I/O pins to be used as analog inputs.ANSELAbits.ANSA0 = 1; TRISAbits.TRISA0 = 1; // AN0/RA0 connected the dedicated core 0

// Configure the common ADC clock.ADCON3Hbits.CLKSEL = 2; // clock from FRC oscillatorADCON3Hbits.CLKDIV = 0; // no clock divider (1:1)// Configure the cores’ ADC clock.ADCORE0Hbits.ADCS = 0; // clock divider (1:2)

// Configure the ADC reference sources.ADCON3Lbits.REFSEL = 0; // AVdd as voltage reference// Configure the integer of fractional output format.ADCON1Hbits.FORM = 0; // integer format

// Select single-ended input configuration and unsigned output format.ADMOD0Lbits.SIGN0 = 0; // AN0/RA0ADMOD0Lbits.DIFF0 = 0; // AN0/RA1

// Enable and calibrate the module.EnableAndCalibrate(); // See ?5-1

// Set software common trigger as AN0 input trigger source.ADTRIG0Lbits.TRGSRC0 = 1; // OVERSAMPLING FILTER INITIALIZATION.ADFL0CONbits.FLCHSEL = 0; // Select the AN0 input for the filter.ADFL0CONbits.MODE = 3; // Averaging, 12-bit result.ADFL0CONbits.OVRSAM = 6; // 128X

DS70005213C_JP - p. 60 2016 Microchip Technology Inc.

Page 61: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

例 5-4: オーバーサンプリング フィルタの使用例 ( 続き )// Enable delay between trigger and the conversion start (SAMC bits).ADCON4Lbits.SAMC0EN = 1;// Set sampling time (10x Tad)ADCORE0Lbits.SAMC = 10;

// Enable the filter.ADFL0CONbits.FLEN = 1;

while(1){// Generate Software Common TriggerADCON3Lbits.SWCTRG = 1;

// Wait for the filter result is ready.while(ADFL0CONbits.RDY == 0);

// Read result (it will clear RDY bit)filterData = ADFL0DAT;

}

return 1;}

2016 Microchip Technology Inc. DS70005213C_JP - p. 61

Page 62: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

6.0 省電力モード時の動作

省電力モード ( スリープ、アイドル ) 中は CPU、バス、他の周辺モジュールのデジタル動作が最小限となるため、変換ノイズを低減できます。

6.1 スリープモード

デバイスがスリープに移行すると、システム オシレータ (FOSC) と、このオシレータを使って動作する全ての構成要素が停止します。FOSC を ADC モジュールのクロック源として選択した場合、ADC モジュールも停止します。FOSC を ADC のクロック源として使っている場合、変換中にスリープへの移行が要求されると、その変換は中止されます。スリープからの復帰時に、コンバータは中止された変換を再開しません。ADC レジスタの内容は、スリープへの移行およびスリープからの復帰によって影響されません。

スリープ中に動作するクロック源を使うと、ADC モジュールはスリープ中も動作できます。スリープ中に動作する必要がある場合、FRC オシレータは合理的な選択です。スリープ中に A/D変換を実行する事で、変換中にマイクロコントローラの他の部分から生じるデジタル スイッチング ノイズが減少します。

いずれかの ADC 割り込みが有効になっている場合、ADC 割り込みが発生した時点でデバイスはスリープから復帰します。ADC 割り込みの優先度が現在の CPU 割り込み優先度よりも高い場合、プログラム実行は ADC ISR から再開します。これ以外の場合、プログラム実行はデバイスをスリープへ移行させた PWRSAV命令の直後の命令から再開します。

スリープ中に A/D 変換を実行するには、スリープ中に動作する変換トリガ源を使う必要があります。例えば、外部割り込みピン オプション (TRGSRCn<4:0> = 11111) を使うと、デバイスがスリープ中であってもサンプリング / 変換を実行できます。

6.2 アイドル中の動作

ADC モジュールをアイドル中に停止させるかどうかは、ADCON1L レジスタのアイドル中停止ビット (ADSIDL) で指定します。ADSIDL = 0 の場合、デバイスがアイドルに移行しても ADCモジュールは通常動作を継続します。いずれかの ADC 割り込みが有効になっている場合、ADC割り込みが発生した時点でデバイスはアイドルから復帰します。ADC 割り込みの優先度が現在の CPU 割り込み優先度よりも高い場合、プログラム実行は ADC ISR から再開します。これ以外の場合、プログラム実行はデバイスをアイドルへ移行させた PWRSAV命令の直後の命令から再開します。

ADSIDL = 1の場合、ADC モジュールはアイドル中に停止します。変換動作中にデバイスがアイドルに移行した場合、その変換は中止されます。中止された変換は、アイドルからの復帰時に再開されません。

DS70005213C_JP - p. 62 2016 Microchip Technology Inc.

Page 63: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

7.0 リセットの影響

どのタイプのリセットイベントが発生しても、ADC 制御およびステータス レジスタはそれぞれの既定値 ( 制御ビットは非アクティブ状態 ) にリセットされます。これにより ADC モジュールは無効になり、アナログ入力ピンはアナログ入力モードに設定されます。実行中であった変換動作は中止され、変換結果はデータ格納バッファに書き込まれません。 ADCBUFx レジスタの値は、デバイスリセット時に 0000h に初期化されます。

2016 Microchip Technology Inc. DS70005213C_JP - p. 63

Page 64: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsP

IC33/P

IC24

ファ

ミリ

リフ

ァレ

ンス

マニ

ュア

DS

70005213C

_JP - p. 64

2016 M

icrochip Technolo

gy Inc.

Bit 3 Bit 2 Bit 1 Bit 0 全 リセット

r — — — 0000

r r r r 0060

SHRADCS3 SHRADCS2 SHRADCS1 SHRADCS0 0000

SHRSAMC3 SHRSAMC2 SHRSAMC1 SHRSAMC0 0000

CNVCHSEL3 CNVCHSEL2 CNVCHSEL1 CNVCHSEL0 0000

C3EN C2EN C1EN C0EN 0000

SAMC3EN SAMC2EN SAMC1EN SAMC0EN 0000

C1CHS1 C1CHS0 C0CHS1 C0CHS0 0000

DIFF1 SIGN1 DIFF0 SIGN0 0000

DIFF9 SIGN9 DIFF8 SIGN8 0000

DIFF17 SIGN17 DIFF16 SIGN16 0000

DIFF25 SIGN25 DIFF24 SIGN24 0000

0000

0000

AN3RDY AN2RDY AN1RDY AN0RDY 0000

AN19RDY AN18RDY AN17RDY AN16RDY 0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

い。

8.0 レジスタマップ表 8-1: 12 ビット高速マルチ SAR A/D コンバータ関連のレジスタマップ (1)

レジスタ名 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4

ADCON1L ADON — ADSIDL — — — — — — r r r

ADCON1H r r r r r r r r FORM SHRRES1 SHRRES0 r

ADCON2L REFCIE REFERCIE r EIEN r SHREISEL2 SHREISEL1 SHREISEL0 — SHRADCS6 SHRADCS5 SHRADCS4

ADCON2H REFRDY REFERR r r r r SHRSAMC9 SHRSAMC8 SHRSAMC7 SHRSAMC6 SHRSAMC5 SHRSAMC4

ADCON3L RFSEL2 RFSEL1 RFSEL0 SUSPEND SUSPCIE SUSPRDY SHRSAMP CNVRTCH SWLCTRG SWCTRG CNVCHSEL5 CNVCHSEL4

ADCON3H CLKSEL1 CLKSEL0 CLKDIV5 CLKDIV4 CLKDIV3 CLKDIV2 CLKDIV1 CLKDIV0 SHREN C6EN C5EN C4EN

ADCON4L — SYNCTRG6 SYNCTRG5 SYNCTRG4 SYNCTRG3 SYNCTRG2 SYNCTRG1 SYNCTRG0 — SAMC6EN SAMC5EN SAMC4EN

ADCON4H — — C6CHS1 C6CHS0 C5CHS1 C5CHS0 C4CHS1 C4CHS0 C3CHS1 C3CHS0 C2CHS1 C2CHS0

ADMOD0L DIFF7 SIGN7 DIFF6 SIGN6 DIFF5 SIGN5 DIFF4 SIGN4 DIFF3 SIGN3 DIFF2 SIGN2

ADMOD0H DIFF15 SIGN15 DIFF14 SIGN14 DIFF13 SIGN13 DIFF12 SIGN12 DIFF11 SIGN11 DIFF10 SIGN10

ADMOD1L DIFF23 SIGN23 DIFF22 SIGN22 DIFF21 SIGN21 DIFF20 SIGN20 DIFF19 SIGN19 DIFF18 SIGN18

ADMOD1H DIFF31 SIGN31 DIFF30 SIGN30 DIFF29 SIGN29 DIFF28 SIGN28 DIFF27 SIGN27 DIFF26 SIGN26

ADIEL IE<15:0>

ADIEH IE<31:16>

ADSTATL AN15RDY AN14RDY AN13RDY AN12RDY AN11RDY AN10RDY AN9RDY AN8RDY AN7RDY AN6RDY AN5RDY AN4RDY

ADSTATH AN31RDY AN30RDY AN29RDY AN28RDY AN27RDY AN26RDY AN25RDY AN24RDY AN23RDY AN22RDY AN21RDY AN20RDY

ADCMP0ENL CMPEN<15:0>

ADCMP0ENH CMPEN<31:16>

ADCMP0LO ADC CMPLO レジスタ

ADCMP0HI ADC CMPHI レジスタ

ADCMP1ENL CMPEN<15:0>

ADCMP1ENH CMPEN<31:16>

ADCMP1LO ADC CMPLO レジスタ

ADCMP1HI ADC CMPHI レジスタ

ADCMP2ENL CMPEN<15:0>

ADCMP2ENH CMPEN<31:16>

ADCMP2LO ADC CMPLO レジスタ

ADCMP2HI ADC CMPHI レジスタ

ADCMP3ENL CMPEN<15:0>

ADCMP3ENH CMPEN<31:16>

ADCMP3LO ADC CMPLO レジスタ

ADCMP3HI ADC CMPHI レジスタ

凡例 : — = 未実装、「0」として読み出し、r = 予約済み (「0」として書き込む必要があります )、リセット値は 16 進表記

Note 1: 全てのデバイスが全てのレジスタを実装しているわけではありません。デバイスに固有のレジスタマップとビット実装については、各デバイスのデータシートを参照してくださ

Page 65: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

2016

Microchip T

echnology Inc.

DS

70005213C

_JP - p. -p

age 65

12ビ

ット

高速

マル

チS

AR

A/D

コン

バー

タ(A

DC

)

ADC 0000

ADC 0000

ADC 0000

ADC 0000

ADC 0000

ADC 0000

ADC 0000

ADC 0000

ADF 0000

ADF HSEL3 FLCHSEL2 FLCHSEL1 FLCHSEL0 0000

ADF 0000

ADF HSEL3 FLCHSEL2 FLCHSEL1 FLCHSEL0 0000

ADF 0000

ADF HSEL3 FLCHSEL2 FLCHSEL1 FLCHSEL0 0000

ADF 0000

ADF HSEL3 FLCHSEL2 FLCHSEL1 FLCHSEL0 0000

ADF 0000

ADF HSEL3 FLCHSEL2 FLCHSEL1 FLCHSEL0 0000

ADF 0000

ADF HSEL3 FLCHSEL2 FLCHSEL1 FLCHSEL0 0000

ADT SRC03 TRGSRC02 TRGSRC01 TRGSRC00 0000

ADT SRC23 TRGSRC22 TRGSRC21 TRGSRC20 0000

ADT SRC43 TRGSRC42 TRGSRC41 TRGSRC40 0000

ADT SRC63 TRGSRC62 TRGSRC61 TRGSRC60 0000

ADT SRC83 TRGSRC82 TRGSRC81 TRGSRC80 0000

ADT RC103 TRGSRC102 TRGSRC101 TRGSRC100 0000

ADT RC123 TRGSRC122 TRGSRC121 TRGSRC120 0000

ADT RC143 TRGSRC142 TRGSRC141 TRGSRC140 0000

ADT RC163 TRGSRC162 TRGSRC161 TRGSRC160 0000

ADT RC183 TRGSRC182 TRGSRC181 TRGSRC180 0000

ADT RC203 TRGSRC202 TRGSRC201 TRGSRC200 0000

ADT RC223 TRGSRC222 TRGSRC221 TRGSRC220 0000

ADT RC243 TRGSRC242 TRGSRC241 TRGSRC240 0000

ADT RC263 TRGSRC262 TRGSRC261 TRGSRC260 0000

レ it 3 Bit 2 Bit 1 Bit 0 全 リセット

凡例

Not

MP4ENL CMPEN<15:0>

MP4ENH CMPEN<31:16>

MP4LO ADC CMPLO レジスタ

MP4HI ADC CMPHI レジスタ

MP5ENL CMPEN<15:0>

MP5ENH CMPEN<31:16>

MP5LO ADC CMPLO レジスタ

MP5HI ADC CMPHI レジスタ

L0DAT ADC FLDATA レジスタ

L0CON FLEN MODE1 MODE0 OVRSAM2 OVRSAM1 OVRSAM0 IE RDY — — — FLCHSEL4 FLC

L1DAT ADC FLDATA レジスタ

L1CON FLEN MODE1 MODE0 OVRSAM2 OVRSAM1 OVRSAM0 IE RDY — — — FLCHSEL4 FLC

L2DAT ADC FLDATA レジスタ

L2CON FLEN MODE1 MODE0 OVRSAM2 OVRSAM1 OVRSAM0 IE RDY — — — FLCHSEL4 FLC

L3DAT ADC FLDATA レジスタ

L3CON FLEN MODE1 MODE0 OVRSAM2 OVRSAM1 OVRSAM0 IE RDY — — — FLCHSEL4 FLC

L4DAT ADC FLDATA レジスタ

L4CON FLEN MODE1 MODE0 OVRSAM2 OVRSAM1 OVRSAM0 IE RDY — — — FLCHSEL4 FLC

L5DAT ADC FLDATA レジスタ

L5CON FLEN MODE1 MODE0 OVRSAM2 OVRSAM1 OVRSAM0 IE RDY — — — FLCHSEL4 FLC

RIG0L — — — TRGSRC14 TRGSRC13 TRGSRC12 TRGSRC11 TRGSRC10 — — — TRGSRC04 TRG

RIG0H — — — TRGSRC34 TRGSRC33 TRGSRC32 TRGSRC31 TRGSRC30 — — — TRGSRC24 TRG

RIG1L — — — TRGSRC54 TRGSRC53 TRGSRC52 TRGSRC51 TRGSRC50 — — — TRGSRC44 TRG

RIG1H — — — TRGSRC74 TRGSRC73 TRGSRC72 TRGSRC71 TRGSRC70 — — — TRGSRC64 TRG

RIG2L — — — TRGSRC94 TRGSRC93 TRGSRC92 TRGSRC91 TRGSRC90 — — — TRGSRC84 TRG

RIG2H — — — TRGSRC114 TRGSRC113 TRGSRC112 TRGSRC111 TRGSRC110 — — — TRGSRC104 TRGS

RIG3L — — — TRGSRC134 TRGSRC133 TRGSRC132 TRGSRC131 TRGSRC130 — — — TRGSRC124 TRGS

RIG3H — — — TRGSRC154 TRGSRC153 TRGSRC152 TRGSRC151 TRGSRC150 — — — TRGSRC144 TRGS

RIG4L — — — TRGSRC174 TRGSRC173 TRGSRC172 TRGSRC171 TRGSRC170 — — — TRGSRC164 TRGS

RIG4H — — — TRGSRC194 TRGSRC193 TRGSRC192 TRGSRC191 TRGSRC190 — — — TRGSRC184 TRGS

RIG5L — — — TRGSRC214 TRGSRC213 TRGSRC212 TRGSRC211 TRGSRC210 — — — TRGSRC204 TRGS

RIG5H — — — TRGSRC234 TRGSRC233 TRGSRC232 TRGSRC231 TRGSRC230 — — — TRGSRC224 TRGS

RIG6L — — — TRGSRC254 TRGSRC253 TRGSRC252 TRGSRC251 TRGSRC250 — — — TRGSRC244 TRGS

RIG6H — — — TRGSRC274 TRGSRC273 TRGSRC272 TRGSRC271 TRGSRC270 — — — TRGSRC264 TRGS

8-1: 12 ビット高速マルチ SAR A/D コンバータ関連のレジスタマップ (1) ( 続き )

ジスタ名 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 B

: — = 未実装、「0」として読み出し、r = 予約済み (「0」として書き込む必要があります )、リセット値は 16 進表記

e 1: 全てのデバイスが全てのレジスタを実装しているわけではありません。デバイスに固有のレジスタマップとビット実装については、各デバイスのデータシートを参照してください。

Page 66: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsP

IC33/P

IC24

ファ

ミリ

リフ

ァレ

ンス

マニ

ュア

DS

70005213C

_JP - p. 66

2016 M

icrochip Technolo

gy Inc.

TRGSRC283 TRGSRC282 TRGSRC281 TRGSRC280 0000

TRGSRC303 TRGSRC302 TRGSRC301 TRGSRC300 0000

HIHI HILO LOHI LOLO 0000

HIHI HILO LOHI LOLO 0000

HIHI HILO LOHI LOLO 0000

HIHI HILO LOHI LOLO 0000

HIHI HILO LOHI LOLO 0000

HIHI HILO LOHI LOLO 0000

0000

0000

0000

ADCS3 ADCS2 ADCS1 ADCS0 0300

0000

ADCS3 ADCS2 ADCS1 ADCS0 0300

0000

ADCS3 ADCS2 ADCS1 ADCS0 0300

0000

ADCS3 ADCS2 ADCS1 ADCS0 0300

0000

ADCS3 ADCS2 ADCS1 ADCS0 0300

0000

ADCS3 ADCS2 ADCS1 ADCS0 0300

0000

ADCS3 ADCS2 ADCS1 ADCS0 0300

0000

0000

0000

0000

C3PWR C2PWR C1PWR C0PWR 0000

C3CIE C2CIE C1CIE C0CIE 0000

r CAL0DIFF CAL0EN CAL0RUN 0000

r CAL2DIFF CAL2EN CAL2RUN 0000

r CAL4DIFF CAL4EN CAL4RUN 0000

r CAL6DIFF CAL6EN CAL6RUN 0000

Bit 3 Bit 2 Bit 1 Bit 0 全 リセット

い。

ADTRIG7L — — — TRGSRC294 TRGSRC293 TRGSRC292 TRGSRC291 TRGSRC290 — — — TRGSRC284

ADTRIG7H — — — TRGSRC314 TRGSRC313 TRGSRC312 TRGSRC311 TRGSRC310 — — — TRGSRC304

ADCMP0CON — — — CHNL4 CHNL3 CHNL2 CHNL1 CHNL0 CMPEN IE STAT BTWN

ADCMP1CON — — — CHNL4 CHNL3 CHNL2 CHNL1 CHNL0 CMPEN IE STAT BTWN

ADCMP2CON — — — CHNL4 CHNL3 CHNL2 CHNL1 CHNL0 CMPEN IE STAT BTWN

ADCMP3CON — — — CHNL4 CHNL3 CHNL2 CHNL1 CHNL0 CMPEN IE STAT BTWN

ADCMP4CON — — — CHNL4 CHNL3 CHNL2 CHNL1 CHNL0 CMPEN IE STAT BTWN

ADCMP5CON — — — CHNL4 CHNL3 CHNL2 CHNL1 CHNL0 CMPEN IE STAT BTWN

ADLVLTRGL LVLEN<15:0>

ADLVLTRGH LVLEN<31:16>

ADCORE0L — — — — — — — SAMC<9:0>

ADCORE0H — — — — — — RES1 RES0 — ADCS6 ADCS5 ADCS4

ADCORE1L — — — — — — — SAMC<9:0>

ADCORE1H — — — EISEL2 EISEL1 EISEL0 RES1 RES0 — ADCS6 ADCS5 ADCS4

ADCORE2L — — — — — — — SAMC<9:0>

ADCORE2H — — — EISEL2 EISEL1 EISEL0 RES1 RES0 — ADCS6 ADCS5 ADCS4

ADCORE3L — — — — — — — SAMC<9:0>

ADCORE3H — — — EISEL2 EISEL1 EISEL0 RES1 RES0 — ADCS6 ADCS5 ADCS4

ADCORE4L — — — — — — — SAMC<9:0>

ADCORE4H — — — EISEL2 EISEL1 EISEL0 RES1 RES0 — ADCS6 ADCS5 ADCS4

ADCORE5L — — — — — — — SAMC<9:0>

ADCORE5H — — — EISEL2 EISEL1 EISEL0 RES1 RES0 — ADCS6 ADCS5 ADCS4

ADCORE6L — — — — — — — SAMC<9:0>

ADCORE6H — — — EISEL2 EISEL1 EISEL0 RES1 RES0 — ADCS6 ADCS5 ADCS4

ADEIEL EIE<15:0>

ADEIEH EIE<31:16>

ADEISTATL EISTAT<15:0>

ADEISTATH EISTAT<31:16>

ADCON5L SHRRDY C6RDY C5RDY C4RDY C3RDY C2RDY C1RDY C0RDY SHRPWR C6PWR C5PWR C4PWR

ADCON5H — — — — WARMTIME3 WARMTIME2 WARMTIME1 WARMTIME0 SHRCIE C6CIE C5CIE C4CIE

ADCAL0L CAL1RDY — — — r CAL1DIFF CAL1EN CAL1RUN CAL0RDY — — —

ADCAL0H CAL3RDY — — — r CAL3DIFF CAL3EN CAL3RUN CAL2RDY — — —

ADCAL1L CAL5RDY — — — r CAL5DIFF CAL5EN CAL5RUN CAL4RDY — — —

ADCAL1H CSHRRDY — — — r CSHRDIFF CSHREN CSHRRUN CAL6RDY — — —

表 8-1: 12 ビット高速マルチ SAR A/D コンバータ関連のレジスタマップ (1) ( 続き )

レジスタ名 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4

凡例 : — = 未実装、「0」として読み出し、r = 予約済み (「0」として書き込む必要があります )、リセット値は 16 進表記

Note 1: 全てのデバイスが全てのレジスタを実装しているわけではありません。デバイスに固有のレジスタマップとビット実装については、各デバイスのデータシートを参照してくださ

Page 67: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

2016

Microchip T

echnology Inc.

DS

70005213C

_JP - p. -p

age 67

12ビ

ット

高速

マル

チS

AR

A/D

コン

バー

タ(A

DC

)

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

AD 0000

レ it 3 Bit 2 Bit 1 Bit 0 全 リセット

凡例

No

CBUF0 DATA0<15:0>

CBUF1 DATA1<15:0>

CBUF2 DATA2<15:0>

CBUF3 DATA3<15:0>

CBUF4 DATA4<15:0>

CBUF5 DATA5<15:0>

CBUF6 DATA6<15:0>

CBUF7 DATA7<15:0>

CBUF8 DATA8<15:0>

CBUF9 DATA9<15:0>

CBUF10 DATA10<15:0>

CBUF11 DATA11<15:0>

CBUF12 DATA12<15:0>

CBUF13 DATA13<15:0>

CBUF14 DATA14<15:0>

CBUF15 DATA15<15:0>

CBUF16 DATA16<15:0>

CBUF17 DATA17<15:0>

CBUF18 DATA18<15:0>

CBUF19 DATA19<15:0>

CBUF20 DATA20<15:0>

CBUF21 DATA21<15:0>

CBUF22 DATA22<15:0>

CBUF23 DATA23<15:0>

CBUF24 DATA24<15:0>

CBUF25 DATA25<15:0>

CBUF26 DATA26<15:0>

CBUF27 DATA27<15:0>

CBUF28 DATA28<15:0>

CBUF29 DATA29<15:0>

CBUF30 DATA30<15:0>

CBUF31 DATA31<15:0>

8-1: 12 ビット高速マルチ SAR A/D コンバータ関連のレジスタマップ (1) ( 続き )

ジスタ名 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 B

: — = 未実装、「0」として読み出し、r = 予約済み (「0」として書き込む必要があります )、リセット値は 16 進表記

te 1: 全てのデバイスが全てのレジスタを実装しているわけではありません。デバイスに固有のレジスタマップとビット実装については、各デバイスのデータシートを参照してください。

Page 68: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

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

本書に関連するアプリケーション ノートの一覧を下に記載します。一部のアプリケーションノートは dsPIC33/PIC24 デバイスファミリ向けではありません。ただし、概念は共通しており、変更が必要であったり制限事項が存在するものの利用が可能です。12 ビット高速マルチ SAR A/D コンバータ (ADC) に関連する最新のアプリケーション ノートは以下の通りです。

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

現在、関連するアプリケーション ノートはありません。

Note: dsPIC33/PIC24 ファミリ関連のアプリケーション ノートとサンプルコードはMicrochip社のウェブサイト(www.microchip.com)でご覧になれます。

DS70005213C_JP - p. 68 2016 Microchip Technology Inc.

Page 69: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

12 ビット高速マルチ SAR A/D コンバータ (ADC)

10.0 改訂履歴

リビジョン A (2014 年 11 月 )

本書の初版です。

リビジョン B (2015 年 5 月 )

4.4「サンプリング / 変換タイミング」を更新し、式 4-1 を追加しました。

リビジョン C (2015 年 9 月 )

「差動入力」を全て「擬似差動入力」に変更しました。

CALxSKIP ビットに関する記述を全て削除しました。

図 1-2、図 4-6、図 4-7、図 4-11 を更新しました。

レジスタ 2-1、レジスタ 2-2、レジスタ 2-3、レジスタ 2-4、レジスタ 2-7、レジスタ 2-27、レジスタ 2-28、レジスタ 2-29、レジスタ 2-30 、レジスタ 2-31 を更新しました。

表 4-2 と表 8-1 を更新しました。

このリビジョンでは、文書全体を通して文法的な訂正を行いました。

2016 Microchip Technology Inc. DS70005213C_JP - p. 69

Page 70: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

dsPIC33/PIC24 ファミリ リファレンス マニュアル

NOTE:

DS70005213C_JP - p. 70 2016 Microchip Technology Inc.

Page 71: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

2015 Microchip Technology Inc. DS70005213C_JP - p. 71

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

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

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

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

あります。Microchip 社は、明示的、暗黙的、書面、口頭、法

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

関して、状態、品質、性能、商品性、特定目的への適合性を

はじめとする、いかなる類の表明も保証も行いません。

Microchip 社は、本書の情報およびその使用に起因する一切の

責任を否認します。Microchip 社の明示的な書面による承認な

しに、生命維持装置あるいは生命安全用途に Microchip 社の製

品を使用する事は全て購入者のリスクとし、また購入者はこ

れによって発生したあらゆる損害、クレーム、訴訟、費用に

関して、Microchip 社は擁護され、免責され、損害をうけない

事に同意するものとします。暗黙的あるいは明示的を問わず、

Microchip社が知的財産権を保有しているライセンスは一切譲

渡されません。

商標

Microchip 社の名称と Microchip ロゴ、dsPIC、FlashFlex、KEELOQ、KEELOQ ロゴ、MPLAB、PIC、PICmicro、PICSTART、PIC32 ロゴ、rfPIC、SST、SST ロゴ、SuperFlash、UNI/O は、

米国およびその他の国における Microchip TechnologyIncorporated の登録商標です。

FilterLab、Hampshire、HI-TECH C、Linear Active Thermistor、MTP、SEEVAL、Embedded Control Solutions Company は、

米国における Microchip Technology Incorporated の登録商標

です。

Silicon Storage Technologyは、その他の国におけるMicrochipTechnology 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 TechnologyGermany II GmbH & Co. & KG (Microchip TechnologyIncorporated の子会社 ) の登録商標です。

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

©2013, Microchip Technology Incorporated, Printed in theU.S.A., All Rights Reserved.

ISBN: 978-1-63277-963-2

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

• Microchip 社製品は、該当する Microchip 社データシートに記載の仕様を満たしています。

• Microchip 社では、通常の条件ならびに仕様に従って使用した場合、Microchip 社製品のセキュリティ レベルは、現在市場に流

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

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

Microchip 社データシートにある動作仕様書以外の方法で Microchip 社製品を使用する事になります。このような行為は知的所

有権の侵害に該当する可能性が非常に高いと言えます。

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

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

機能とは、Microchip 社が製品を「解読不能」として保証するものではありません。

コード保護機能は常に進歩しています。Microchip 社では、常に製品のコード保護機能の改善に取り組んでいます。Microchip 社

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

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

QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV

== ISO/TS 16949 ==

Page 72: 12 ビット高速マルチ SAR A/D コンバータ (ADC)ww1.microchip.com/downloads/jp/DeviceDoc/70005213C_JP.pdf2016 Microchip Technology Inc. DS70005213C_JP - p. 3 12 ビット高速マルチSAR

DS70005213C_JP - p. 72 2015 Microchip Technology Inc.

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

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

オースティン (TX)Tel:512-257-3370

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

シカゴ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

ヒューストン (TX) Tel:281-894-5983

インディアナポリスNoblesville, IN Tel:317-773-8323Fax:317-773-5453

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

ニューヨーク (NY) Tel:631-435-6000

サンノゼ (CA) Tel:408-735-9110

カナダ - トロントTel:905-673-0699 Fax:905-673-6509

アジア / 太平洋

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

オーストラリア - シドニーTel:61-2-9868-6733Fax:61-2-9868-6755

中国 - 北京Tel:86-10-8569-7000 Fax:86-10-8528-2104

中国 - 成都Tel:86-28-8665-5511Fax:86-28-8665-7889

中国 - 重慶Tel:86-23-8980-9588Fax:86-23-8980-9500

中国 - 東莞

Tel:86-769-8702-9880

中国 - 杭州Tel:86-571-8792-8115 Fax:86-571-8792-8116

中国 - 香港 SARTel:852-2943-5100 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-8864-2200 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-3019-1500

日本 - 大阪Tel:81-6-6152-7160 Fax:81-6-6152-9310

日本 - 東京Tel:81-3-6880- 3770 Fax:81-3-6880-3771

韓国 - 大邱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-5778-366Fax:886-3-5770-955

台湾 - 高雄Tel:886-7-213-7828

台湾 - 台北Tel:886-2-2508-8600 Fax:886-2-2508-0102

タイ - バンコクTel:66-2-694-1351Fax:66-2-694-1350

ヨーロッパ

オーストリア - ヴェルスTel:43-7242-2244-39

Fax: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-2129-3766400

ドイツ - ミュンヘンTel:49-89-627-144-0 Fax:49-89-627-144-44

ドイツ - プフォルツハイムTel:49-7231-424750

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

イタリア - ベニスTel:39-049-7625286

オランダ - ドリューネンTel:31-416-690399 Fax:31-416-690340

ポーランド - ワルシャワTel:48-22-3325737

スペイン - マドリッドTel:34-91-708-08-90Fax:34-91-708-08-91

スウェーデン - ストックホルムTel:46-8-5090-4654

イギリス - ウォーキンガムTel:44-118-921-5800Fax:44-118-921-5820

各国の営業所とサービス

01/27/15