セクション 28. a/d コンバータ (adc) (dma...

38
© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-1 A/D コンバータ (ADC) (DMA なし ) 28 セクション 28. A/D コンバータ (ADC) (DMA なし ) ハイライト 本セクションでは、以下の項目について説明します。 28.1 はじめに ...................................................................................................................... 28-2 28.2 制御レジスタ .............................................................................................................. 28-4 28.3 サンプル変換シーケンス .......................................................................................... 28-12 28.4 ADC の設定 ............................................................................................................... 28-19 28.5 ADC 割り込みの生成 ................................................................................................ 28-23 28.6 変換用アナログ入力の選択 ....................................................................................... 28-24 28.7 スリープ / アイドルモード中の動作 ......................................................................... 28-30 28.8 A/D サンプリング要件 .............................................................................................. 28-31 28.9 伝達関数 .................................................................................................................... 28-33 28.10 特殊機能レジスタ ..................................................................................................... 28-35 28.11 設計のヒント ............................................................................................................ 28-36 28.12 関連アプリケーション ノート .................................................................................. 28-37 28.13 改訂履歴 .................................................................................................................... 28-38 注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジ ナルの英語版をご参照願います。

Upload: others

Post on 08-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

セクション 28. A/D コンバータ (ADC) (DMA なし )

A/D

コン

バー

タ(A

DC

) (DM

Aな

し)

28

ハイライト

本セクションでは、以下の項目について説明します。

28.1 はじめに ...................................................................................................................... 28-2

28.2 制御レジスタ .............................................................................................................. 28-4

28.3 サンプル変換シーケンス .......................................................................................... 28-12

28.4 ADC の設定 ............................................................................................................... 28-19

28.5 ADC 割り込みの生成 ................................................................................................ 28-23

28.6 変換用アナログ入力の選択 ....................................................................................... 28-24

28.7 スリープ / アイドルモード中の動作 ......................................................................... 28-30

28.8 A/D サンプリング要件 .............................................................................................. 28-31

28.9 伝達関数 .................................................................................................................... 28-33

28.10 特殊機能レジスタ ..................................................................................................... 28-35

28.11 設計のヒント ............................................................................................................ 28-36

28.12 関連アプリケーション ノート .................................................................................. 28-37

28.13 改訂履歴 .................................................................................................................... 28-38

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-1

Page 2: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

28.1 はじめに

本書では、dsPIC33F ファミリが内蔵している逐次比較型 (SAR) A/D コンバータ (ADC) の機能と動作モードについて説明します。本 ADC モジュールは、10 ビット、4 チャンネルの ADC または 12 ビット、1 チャンネルの ADC として動作するようにアプリケーションで設定可能です。図 28-1 に ADC モジュールのブロック図を示します。

dsPIC33F ADC モジュールの主な特長は以下の通りです。

• SAR 変換

• 最大 1 Msps の変換速度

• 最大 13 本のアナログ入力ピン

• 外部電圧リファレンス入力ピン

• 単極差動サンプル / ホールド アンプ× 4

• 最大 4 本のアナログ入力ピンの同時サンプリングに対応

• 自動チャンネル スキャン モード

• 選択可能な変換トリガソース

• 16 ワードの変換結果バッファ

• 選択可能なバッファフィル モード

• 4 つの出力データ形式オプション

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

ADC モジュールのアナログ ピンは最大で 13 本 (AN0 ~ AN12) です。これらのアナログ入力は、マルチプレクサで 4 つのサンプル / ホールドアンプ (CH0 ~ CH3) に接続されています。アナログ入力マルチプレクサは 2 セットの制御ビットを備えており、それぞれ MUXA (CHySA/CHyNA)と MUXB (CHySB/CHyNB) と呼ばれます。これらの制御ビットは変換に特定のアナログ入力を選択します。MUXA 制御ビットと MUXB 制御ビットで、変換するアナログ入力を交互に選択する事も可能です。特定の入力ピンを使用して、全チャンネルで単極差動変換が可能です ( 図 28-1参照 )。

CH0 サンプル / ホールド アンプに対してチャンネル スキャン モードを有効にできます。ユーザ アプリケーションからはアナログ入力のサブセット (AN0 ~ AN12) を任意に選択可能です。選択された入力は、CH0 を使用して昇順に変換されます。

ADC モジュールは同時サンプリングをサポートしています。複数のサンプル / ホールド チャンネルを使用して同時に入力をサンプリングし、各チャンネルの変換を順番に実行します。既定値では、複数のチャンネルを順番にサンプリング、変換します。

ADC モジュールは 16 ワードの結果バッファに接続しています。AD 変換結果には 4 種類の数値形式があります ( 図 28-11 参照 )。

Note 1: MUXA/MUXB 制御ビットの「y」には、サンプル / ホールド チャンネル番号 (y = 0または 123) を指定します。

2: デバイスによりますが、本 ADC は最大 13 本のアナログ入力ピン (AN0 ~ AN12)を備えています。また、外部電圧リファレンス接続用に 2 本のアナログ入力ピンがあります (VREF+、VREF-)。これらの電圧リファレンス入力は他のアナログ入力ピンと共有できます。実際のアナログ入力ピン本数と外部電圧リファレンス入力設定は、各デバイスによって異なります。詳細は各デバイスのデータシートを参照してください。

DS70210A_JP - p. 28-2 © 2011 Microchip Technology Inc.

Page 3: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

図 28-1: ADC のブロック図

SAR ADC

S/H0

S/H1

ADC1BUF0

ADC1BUF1

ADC1BUF2

ADC1BUFF

ADC1BUFE

AN0

AN12

AN1

VREF-

CH0SB<4:0>

CH0NA CH0NB

+

-

AN1

AN4

CH123SA

AN9

VREF-

CH123SB

CH123NA CH123NB

AN6

+

-

S/H2

AN2

AN5

CH123SA

AN10

VREF-

CH123SB

CH123NA CH123NB

AN7

+

-

S/H3

AN3

AN6

CH123SA

AN11

VREF-

CH123SB

CH123NA CH123NB

AN8

+

-

CH1(2)

CH0

CH2(2)

CH3(2)

CH0SA<4:0>

CHANNELSCAN

CSCNA

Alternate

VREF+(1) AVDD AVSSVREF-(1)

Note 1: VREF+、VREF- 入力は他のアナログ入力と多重化できます。詳細は各デバイスのデータシートを参照してください。

2: チャンネル 1、2、3 は 12 ビット動作モードには使用できません。

Input Selection

VREFH VREFL

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-3

Page 4: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

28.2 制御レジスタ

ADC モジュールは、制御レジスタとステータス レジスタを 7 つ備えています。それらのレジスタは以下の通りです。

• AD1CON1: ADC1 制御レジスタ 1

• AD1CON2: ADC1 制御レジスタ 2

• AD1CON3: ADC1 制御レジスタ 3

• AD1CHS123: ADC1 入力チャンネル 1、2、3 選択レジスタ

• AD1CHS0: ADC1 入力チャンネル 0 選択レジスタ

• AD1CSSL: ADC1 入力スキャン選択レジスタ Low

• AD1PCFGL: ADC1 ポート コンフィグレーション レジスタ Low

AD1CON1、AD1CON2、AD1CON3 レジスタは ADC モジュールの動作を制御します。AD1CHS0と AD1CHS123 レジスタは、サンプル / ホールド アンプに接続する入力ピンを選択します。AD1PCFGL レジスタは、アナログ入力ピンをアナログ入力またはデジタル I/O に設定します。AD1CSSL レジスタは順番にスキャンする入力を選択します。

28.2.1 AD 変換結果バッファ

本 ADC モジュールは AD 変換結果をバッファするための 16 ワードのデュアルポート RAM を備えます。この 16 のバッファ位置を ADC1BUF0、ADC1BUF1、ADC1BUF2、…ADC1BUFE、ADC1BUFF と呼びます。

DS70210A_JP - p. 28-4 © 2011 Microchip Technology Inc.

Page 5: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

レジスタ 28-1: AD1CON1: ADC1 制御レジスタ 1

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

ADON — ADSIDL — — AD12B FORM<1:0>

bit 15 bit 8

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

R/C-0HC, HS

SSRC<2:0> — SIMSAM ASAM SAMP DONE

bit 7 bit 0

凡例 : HC = ハードウェアでクリア HS = ハードウェアでセット

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

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

bit 15 ADON: ADC 動作モードビット

1 = ADC モジュールは動作中である0 = ADC モジュールは OFF である

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

bit 13 ADSIDL: アイドルモード時停止ビット

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

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

bit 10 AD12B: 10 ビットまたは 12 ビット動作モード ビット

1 = 12 ビット、1 チャンネル ADC 動作0 = 10 ビット、4 チャンネル ADC 動作

bit 9-8 FORM<1:0>: データ出力形式ビット

10 ビット動作の場合 :11 = 符号付き小数 (DOUT = sddd dddd dd00 0000、s = .NOT.d<9>)10 = 小数 (DOUT = dddd dddd dd00 0000)01 = 符号付き整数 (DOUT = ssss sssd dddd dddd、s = .NOT.d<9>)00 = 整数 (DOUT = 0000 00dd dddd dddd)

12 ビット動作の場合 :11 = 符号付き小数 (DOUT = sddd dddd dddd 0000、s = .NOT.d<11>)10 = 小数 (DOUT = dddd dddd dddd 0000)01 = 符号付き整数 (DOUT = ssss sddd dddd dddd、s = .NOT.d<11>)00 = 整数 (DOUT = 0000 dddd dddd dddd)

bit 7-5 SSRC<2:0>: サンプルクロック源選択ビット

111 = 内部カウンタでサンプリングを終了して変換を開始する ( 自動変換 )110 = 予約101 = 予約100 = 予約011 = MPWM 間隔でサンプリングを終了して変換を開始する010 = GP タイマ比較でサンプリングを終了して変換を開始する001 = INT0 ピンのアクティブ遷移でサンプリングを終了して変換を開始する000 = サンプルビットのクリアでサンプリングを終了して変換を開始する

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

bit 3 SIMSAM: 同時サンプル選択ビット (CHPS<1:0> = 01または 1xの場合のみ有効 )

AD12B = 1の場合、SIMSAM は U-0、未実装、「0」として読み出し1 = CH0、CH1、CH2、CH3 を同時にサンプリングする (CHPS<1:0> = 1xの場合 )、または

CH0 と CH1 を同時にサンプリングする (CHPS<1:0> = 01の場合 )0 = 複数のチャンネルを個別に順次サンプリングする

bit 2 ASAM: ADC サンプル自動開始ビット

1 = 最後の変換直後にサンプリングを開始する。SAMP ビットは自動的にセットされる0 = SAMP ビットがセットされたらサンプリングを開始する

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-5

Page 6: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

bit 1 SAMP: ADC サンプル イネーブルビット

1 = ADC サンプル / ホールド アンプはサンプリング中である0 = ADC サンプル / ホールド アンプはホールド中であるASAM = 0の場合、ソフトウェアで「1」を書き込んでサンプリングを開始できます。ASAM = 1の場合、ハードウェアで自動的にセットされます。SSRC = 000の場合、ソフトウェアで「0」を書き込んでサンプリングを終了して変換を開始できます。SSRC 000の場合、ハードウェアで自動的にクリアされ、サンプリングが終了し変換が開始されます。

bit 0 DONE: AD 変換ステータスビット

1 = AD 変換サイクルは完了した0 = AD 変換は開始していないか実行中であるAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き込んで、DONE ステータスをクリアできます ( ソフトウェアからは「1」を書き込めません )。このビットをクリアしても、実行中の動作には影響しません。次回変換開始時にハードウェアで自動的にクリアされます。

レジスタ 28-1: AD1CON1: ADC1 制御レジスタ 1 ( 続き )

DS70210A_JP - p. 28-6 © 2011 Microchip Technology Inc.

Page 7: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

レジスタ 28-2: AD1CON2: ADC1 制御レジスタ 2

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

VCFG<2:0> — — CSCNA CHPS<1:0>

bit 15 bit 8

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

BUFS — SMPI<3:0> BUFM ALTS

bit 7 bit 0

凡例 :

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

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

bit 15-13 VCFG<2:0>: コンバータ電圧リファレンス コンフィグレーション ビット

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

bit 10 CSCNA: 入力スキャン選択ビット

1 = CH0 を使用して入力をスキャンする 0 = 入力をスキャンしない

bit 9-8 CHPS<1:0>: チャンネル選択ビット

AD12B = 1の場合、CHPS<1:0> は U-0、未実装、「0」として読み出し 1x = CH0、CH1、CH2、CH3 を変換する01 = CH0 と CH1 を変換する00 = CH0 を変換する

bit 7 BUFS: バッファフィル ステータスビット (BUFM = 1の場合のみ有効 )

1 = ADC は現在バッファの後半部分に書き込み中である。ユーザ アプリケーションはバッファの前半部分にあるデータにアクセスする必要がある

0 = ADC は現在バッファの前半部分に書き込み中である。ユーザ アプリケーションはバッファの後半部分にあるデータにアクセスする必要がある

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

bit 5-2 SMPI<3:0>: 割り込みごとのサンプル変換シーケンス数

1111 = サンプル / 変換シーケンス 16 回ごとに変換完了時点で割り込みを行う1110 = サンプル / 変換シーケンス 15 回ごとに変換完了時点で割り込みを行う

0001 = サンプル / 変換シーケンス 2 回ごとに変換完了時点で割り込みを行う0000 = サンプル / 変換シーケンス 1 回ごとに変換完了時点で割り込みを行う

bit 1 BUFM: バッファフィル モード選択ビット

1 = 最初の割り込みでバッファの前半部分、次の割り込みでバッファの後半部分のバッファ書き込みを開始する

0 = 常に開始アドレスからバッファ書き込みを開始する

bit 0 ALTS: 交互入力選択モード選択ビット

1 = MUXA 制御ビットと MUXB 制御ビットで、変換するアナログ入力を交互に選択する0 = MUXA 制御ビットが変換するアナログ入力を選択する (CSCNA = 0)チャンネル スキャン

ロジックが変換するアナログ入力を選択する (CSCNA = 1)

VREFH VREFL

000 AVDD Avss

001 External VREF+ Avss

010 AVDD External VREF-

011 External VREF+ External VREF-

1xx AVDD Avss

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-7

Page 8: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

レジスタ 28-3: AD1CON3: ADC1 制御レジスタ 3

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

ADRC — — SAMC<4:0>

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

ADCS<7:0>

bit 7 bit 0

凡例 :

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

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

bit 15 ADRC: AD 変換クロック源ビット

1 = ADC 内部 RC クロック0 = システムクロックから生成されるクロック

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

bit 12-8 SAMC<4:0>: 自動サンプル時間ビット

11111 = 31 TAD

00001 = 1 TAD

00000 = 0 TAD

bit 7-0 ADCS<7:0>: AD 変換クロック選択ビット

11111111 = TCY • (ADCS<7:0> + 1) = 256 • TCY = TAD

00000010 = TCY • (ADCS<7:0> + 1) = 3 • TCY = TAD 00000001 = TCY • (ADCS<7:0> + 1) = 2 • TCY = TAD

00000000 = TCY • (ADCS<7:0> + 1) = 1 • TCY = TAD

DS70210A_JP - p. 28-8 © 2011 Microchip Technology Inc.

Page 9: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

レジスタ 28-4: AD1CHS123: ADC1 入力チャンネル 1、2、3 選択レジスタ

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

— — — — — CH123NB<1:0> CH123SB

bit 15 bit 8

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

— — — — — CH123NA<1:0> CH123SA

bit 7 bit 0

凡例 :

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

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

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

bit 10-9 CH123NB<1:0>: サンプル B のチャンネル 1、2、3 の負入力選択ビット

AD12B = 1の場合、CHxNB は U-0、未実装、「0」として読み出し11 = CH1 の負入力は AN9、CH2 の負入力は AN10、CH3 の負入力は AN1110 = CH1 の負入力は AN6、CH2 の負入力は AN7、CH3 の負入力は AN80x = CH1、CH2、CH3 の負入力は VREF-

bit 8 CH123SB: サンプル B のチャンネル 1、2、3 の正入力選択ビット

AD12B = 1の場合、CHxSA は U-0、未実装、「0」として読み出し1 = CH1 の正入力は AN3、CH2 の正入力は AN4、CH3 の正入力は AN50 = CH1 の正入力は AN0、CH2 の正入力は AN1、CH3 の正入力は AN2

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

bit 2-1 CH123NA<1:0>: サンプル A のチャンネル 1、2、3 の負入力選択ビット

AD12B = 1の場合、CHxNA は U-0、未実装、「0」として読み出し11 = CH1 の負入力は AN9、CH2 の負入力は AN10、CH3 の負入力は AN1110 = CH1 の負入力は AN6、CH2 の負入力は AN7、CH3 の負入力は AN80x = CH1、CH2、CH3 の負入力は VREF-

bit 0 CH123SA: サンプル A のチャンネル 1、2、3 の正入力選択ビット

AD12B = 1の場合、CHxSA は U-0、未実装、「0」として読み出し1 = CH1 の正入力は AN3、CH2 の正入力は AN4、CH3 の正入力は AN50 = CH1 の正入力は AN0、CH2 の正入力は AN1、CH3 の正入力は AN2

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-9

Page 10: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

レジスタ 28-5: AD1CHS0: ADC1 入力チャンネル 0 選択レジスタ

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

CH0NB — — CH0SB<4:0>

bit 15 bit 8

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

CH0NA — — CH0SA<4:0>

bit 7 bit 0

凡例 :

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

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

bit 15 CH0NB: サンプル B のチャンネル 0 の負入力選択ビット

bit 7 と同定義

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

bit 12-8 CH0SB<4:0>: サンプル B のチャンネル 0 の正入力選択ビット

bit<4:0> と同定義

bit 7 CH0NA: サンプル A のチャンネル 0 の負入力選択ビット

1 = チャンネル 0 の負入力は AN10 = チャンネル 0 の負入力は VREF-

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

bit 4-0 CH0SA<4:0>: サンプル A のチャンネル 0 の正入力選択ビット (1)

01100 = チャンネル 0 の正入力は AN1201011 = チャンネル 0 の正入力は AN11•

00010 = チャンネル 0 の正入力は AN200001 = チャンネル 0 の正入力は AN100000 = チャンネル 0 の正入力は AN0

Note 1: 全てのデバイスが全ての入力を備えているわけではありません。

レジスタ 28-6: AD1CSSL: ADC1 入力スキャン選択レジスタ Low

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

— — — CSS12 CSS11 CSS10 CSS9 CSS8

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

CSS7 CSS6 CSS5 CSS4 CSS3 CSS2 CSS1 CSS0

bit 7 bit 0

凡例 :

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

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

bit 12-0 CSS<12:0>: ADC 入力スキャン選択ビット (1)

1 = 入力スキャンに ANx を選択する0 = 入力スキャンから ANx を除外する

Note 1: アナログ入力が 13 未満のデバイスでは、ユーザ アプリケーションで全ての AD1CSSL ビットを選択可能です。しかし、スキャンに選択された入力に対応する入力がデバイス上にない場合、VREF- を変換します。

DS70210A_JP - p. 28-10 © 2011 Microchip Technology Inc.

Page 11: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

レジスタ 28-7: AD1PCFGL: ADC1 ポート コンフィグレーション レジスタ Low

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

— — — PCFG12 PCFG11 PCFG10 PCFG9 PCFG8

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

PCFG7 PCFG6 PCFG5 PCFG4 PCFG3 PCFG2 PCFG1 PCFG0

bit 7 bit 0

凡例 :

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

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

bit 12-0 PCFG<12:0>: ADC ポート コンフィグレーション制御ビット (1, 2)

1 = ポートピンはデジタルモード、ポート読み出し入力は有効、ADC 入力マルチプレクサは AVSS に接続する

0 = ポートピンはアナログモード、ポート読み出し入力は無効、ADC はピンの電圧をサンプリングする

Note 1: アナログ入力が 13 未満のデバイスでは、PCFG ビット全てがユーザ アプリケーションで読み書き可能です。しかし、デバイスに対応する入力がないポートでは PCFG ビットは無視されます。

2: A/D モジュールを 2 つ備えるデバイスでは、AD1PCFGL と AD2PCFGL の両方が AN0 ~ AN12 に多重化されているポートピンのコンフィグレーションに影響を与えます。

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-11

Page 12: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

28.3 サンプル変換シーケンス

図 28-2 に、以下の 3 段階の A/D 変換のプロセスを示します。

1. 入力電圧信号がサンプリング コンデンサに接続する。

2. サンプリング コンデンサを入力から切断する。

3. 蓄積された電圧を等価デジタルビットに変換する。2 つのステップは個別に制御される。

図 28-2: サンプル変換シーケンス

28.3.1 サンプリング時間

サンプリング時間とは、選択されたアナログ入力をサンプリング コンデンサに接続するタイミングを指します。最小サンプリング時間は、サンプル / ホールド アンプが A/D 変換で所定の精度を確保するために設けます (28.8「A/D サンプリング要件」参照 )。

サンプリングは変換時に自動的に開始するよう設定するか、ADC制御レジスタ (AD1CON1<1>)内のサンプル (SAMP<1>) ビットを手動でセットする事によって設定できます。サンプリングはADC制御レジスタ(AD1CON1<2>)の自動サンプル (ASAM<2>)ビットで制御します。表 28-1にビット設定を示します。

表 28-1: サンプリング開始の選択

+

-

+

-

SARADC

Sample Time Conversion Time

SOC Trigger

ASAM サンプリング開始の選択

0 手動サンプリング

1 自動サンプリング

DS70210A_JP - p. 28-12 © 2011 Microchip Technology Inc.

Page 13: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

28.3.2 変換時間

変換開始 (SOC) トリガによって、サンプリング時間が終了し、A/D 変換が開始します。変換期間中、サンプリング コンデンサはマルチプレクサから切断され、蓄積された電圧を等価デジタルビットに変換します。10 ビットモードと 12 ビットモードの変換時間は、式 28-1 と式 28-2に示す式で求めます。サンプリング時間と A/D 変換時間の合計が総変換時間です。

式 28-1: 10 ビット A/D 変換時間

式 28-2: 12 ビット A/D 変換時間

SOC トリガは各種のハードウェア ソースから取得するか、ユーザ ソフトウェアから手動で制御できます。変換を開始するトリガソースは、ADC 制御レジスタ (AD1CON1<7:5>) の SOC トリガソース選択ビット (SSRC<2:0>) で選択します。表 28-2 に、各ビット設定に対応する変換トリガソース選択の一覧を示します。

表 28-2: SOC トリガの選択

表 28-3 に、各サンプル / 変換選択でのサンプル変換シーケンスの一覧を示します。

表 28-3: サンプル変換シーケンスの選択

Conversion Time = 12 • TAD

Where:

TAD = ADC Clock Period

Where:

TAD = ADC Clock Period

Conversion Time = 14 • TAD

SSRC<2:0> SOC トリガソース

000 手動トリガ

001 外部割り込みトリガ (INT0)

010 タイマ割り込みトリガ

011 モータ制御 PWM 特殊イベントトリガ

100 予約

101 予約

110 予約

111 自動トリガ

ASAM SSRC<2:0> 説明

0 000 「手動サンプリングと手動変換」シーケンス

0 111 「手動サンプリングと自動変換」シーケンス

0 001010011

「手動サンプリングとトリガ変換」シーケンス

1 000 「自動サンプリングと手動変換」シーケンス

1 111 「自動サンプリングと自動変換」シーケンス

1 001101011

「自動サンプリングとトリガ変換」シーケンス

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-13

Page 14: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

28.3.3 「手動サンプリングと手動変換」シーケンス

「手動サンプリングと手動変換」シーケンスでは、ADC 制御レジスタ (AD1CON1<1>) のサンプル (SAMP<1>) ビットをセットするとサンプリングを開始し、SAMP ビットをクリアするとサンプリングを終了して変換を開始します ( 図 28-3 参照 )。ユーザ アプリケーションでは入力信号に対する十分なサンプリング時間を確保するために、SAMP ビットのセットとクリアのタイミングをはかる必要があります。例 28-1 に「手動サンプリングと手動変換」のコード シーケンスを示します。

図 28-3: 「手動サンプリングと手動変換」シーケンス

例 28-1: 「手動サンプリングと手動変換」のコードシーケンス

+

-

+

-

Sample Time Conversion Time

SAMP

1 2

Sample Time

+

-

3 4

Conversion

5

Note 1: ソフトウェアで SAMP ビットをセットしてサンプリングを開始する。

2: ソフトウェアで SAMP ビットをクリアして変換を開始する。

3: 変換が完了する。

4: ソフトウェアで SAMP ビットをセットしてサンプリングを開始する。

5: ソフトウェアで SAMP ビットをクリアして変換を開始する。

AD1CON1bits.SAMP = 1; // start sampling DelayUs(10); // wait for sampling time (10us)AD1CON1bits.SAMP = 0; // start the conversionwhile (!AD1CON1bits.DONE); // wait for the conversion to completeADCValue = ADC1BUF0; // read the conversion result

DS70210A_JP - p. 28-14 © 2011 Microchip Technology Inc.

Page 15: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

28.3.4 「自動サンプリングと自動変換」シーケンス

図 28-4 に示すように、自動変換方式では、アナログ入力のサンプリングと変換をより自動的に行います。サンプリング期間は自動的にタイミングがはかられ、サンプリング期間の終了と同時に変換が始まります。AD1CON3 レジスタ (AD1CON3<12:8>) の自動サンプリング時間(SAMC<4:0>) ビットは、サンプリング期間として 0 から 31 の ADC クロックサイクル (TAD) を選択します。

図 28-4: 「自動サンプリングと自動変換」シーケンス

28.3.5 「自動サンプリングとトリガ変換」シーケンス

「自動サンプリングとトリガ変換」シーケンスでは、変換後に自動的にサンプリングが開始し、変換は選択された周辺モジュールからのトリガ イベントで開始します ( 図 28-5 参照 )。これにより、AD 変換は内部または外部のイベントと同期します。

図 28-5: 「自動サンプリングとトリガ変換」シーケンス

+

-

+

-

Sample Time Conversion Time

SAMP

1 2

Sample Time

+

-

3 4

Conversion

Note 1: 変換後、自動的にサンプリングが開始する。

2: 自動タイミングのサンプリング期間の終了と同時に自動的に変換が開始する。

3: 変換後、自動的にサンプリングが開始する。

4: 自動タイミングのサンプリング期間の終了と同時に自動的に変換が開始する。

N • TAD N • TAD

Conversion

+

-

+

-

Sample Time Conversion Time

SAMP

1 2

Sample Time

+

-

3 4

Conversion

Note 1: 変換後、自動的にサンプリングが開始する。

2: トリガイベントで変換が開始する。

3: 変換後、自動的にサンプリングが開始する。

4: トリガイベントで変換が開始する。

Conversion

SOC Trigger

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-15

Page 16: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

28.3.6 「マルチチャンネル サンプル変換」シーケンス

マルチチャンネル A/D コンバータは、通常は入力マルチプレクサを使用して各入力チャンネルを順番に変換します。一部のアプリケーションは同時サンプリングを必要とします。特にチャンネル間で位相情報がある場合です。例えば、モータ制御 / 電源監視には電圧 / 電流計測と両者間の位相角情報が必要です。図 28-6 と図 28-7 に、2 つまたは 4 つのサンプル / ホールド チャンネルを使用して同時サンプリングをサポートする ADC モジュールを示します。各チャンネルで同時にサンプリングを行い、その後で順番に変換を行います。

同時サンプリング モードを選択するには、ADC 制御レジスタ (AD1CON1<3>) の同時サンプリング (SIMSAM<3>) ビットをセットします。既定値では、複数のチャンネルを順番にサンプリングし、変換します。表 28-4 に、ビット設定の一覧を示します。

表 28-4: サンプリング開始の選択

図 28-6: 2 チャンネル同時サンプリング (ASAM = 1)

SIMSAM サンプリング モード

0 順次サンプリング

1 同時サンプリング

Sample 1

Sample 1

CH0

CH1

Convert 1

Convert 1

SOC Trigger

Sample 2

Sample 2

Convert 2

Convert 2

Sample/Convert Sequence 1 Sample/Convert Sequence 2

1 2 43 5

Note 1: CH0 ~ CH1 入力マルチプレクサが、サンプリングするアナログ入力を選択する。選択されたアナロ

グ入力がサンプリング コンデンサに接続される。

2: SOC トリガで、CH0 ~ CH1 サンプリング コンデンサをマルチプレクサから切断し、アナログ入力を

同時にサンプリングする。CH0 でキャプチャされたアナログ値を等価デジタル値に変換する。

3: CH1 でキャプチャされたアナログ値を等価デジタル値に変換する。

4: CH0 ~ CH1 入力マルチプレクサが、サンプリングする次のアナログ入力を選択する。選択されたア

ナログ入力がサンプリング コンデンサに接続される。

5: SOC トリガで、CH0 ~ CH1 サンプリング コンデンサをマルチプレクサから切断し、アナログ入力を

同時にサンプリングする。CH0 でキャプチャされたアナログ値を等価デジタル値に変換する。

DS70210A_JP - p. 28-16 © 2011 Microchip Technology Inc.

Page 17: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

図 28-7: 4 チャンネル同時サンプリング

図 28-8 と図 28-9 に、複数のチャンネルを順番にサンプリングし、変換する既定値の動作を示します。

図 28-8: 2 チャンネル順次サンプリング (ASAM = 1)

Sample 1

Sample 1

CH0

CH1

Sample 1

Sample 1

CH2

CH3

Convert 1

Convert 1

Convert 1

Convert

SOC Trigger

Convert 1

Sample 2

Sample 2

Sample 2

Sample 2

Convert 2

Convert 2

Convert 2

Convert2

Sample/Convert Sequence 1 Sample/Convert Sequence 2

1 2 4 73 5 6

Note 1: CH0 ~ CH4 入力マルチプレクサが、サンプリングするアナログ入力を選択する。選択されたアナログ入力

がサンプリング コンデンサに接続される。

2: SOC トリガで、CH0 ~ CH4 サンプリング コンデンサをマルチプレクサから切断し、アナログ入力を同時

にサンプリングする。CH0 でキャプチャされたアナログ値を等価デジタル値に変換する。

3: CH1 でキャプチャされたアナログ値を等価デジタル値に変換する。

4: CH2 でキャプチャされたアナログ値を等価デジタル値に変換する。

5: CH3 でキャプチャされたアナログ値を等価デジタル値に変換する。

6: CH0 ~ CH4 入力マルチプレクサが、サンプリングする次のアナログ入力を選択する。選択されたアナログ

入力がサンプリング コンデンサに接続される。

7: SOC トリガで、CH0 ~ CH4 サンプリング コンデンサをマルチプレクサから切断し、アナログ入力を同時

にサンプリングする。CH0 でキャプチャされたアナログ値を等価デジタル値に変換する。

Sample 1

Sample 1

CH0

CH1

Convert 1

Convert 1

SOC Trigger

Sample 2

Sample 2

Convert 2

Convert 2

Sample/Convert Sequence 1 Sample/Convert Sequence 2

Sample 2 Sample 3

1 2 43 5

Note 1: CH0 ~ CH1 入力マルチプレクサが、サンプリングするアナログ入力を選択する。選択されたアナログ

入力がサンプリング コンデンサに接続される。

2: SOC トリガで、CH0 サンプリング コンデンサをマルチプレクサから切断し、変換中の入力電圧を一定

に保つ。CH0 でキャプチャされたアナログ値を等価デジタル値に変換する。

3: 変換後、CH0 マルチプレクサ出力をサンプリング コンデンサに接続する。CH1 サンプリング コンデン

サをマルチプレクサから切断し、変換中の入力電圧を一定に保つ。CH1 でキャプチャされたアナログ値

を等価デジタル値に変換する。

4: 変換後、CH1 マルチプレクサ出力をサンプリング コンデンサに接続する。CH0 ~ CH1 入力マルチプレ

クサが、サンプリングする次のアナログ入力を選択する。

5: SOC トリガで、CH0 サンプリング コンデンサをマルチプレクサから切断し、変換中の入力電圧を一定

に保つ。CH0 でキャプチャされたアナログ値を等価デジタル値に変換する。

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-17

Page 18: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

図 28-9: 4 チャンネル順次サンプリング

Sample 1CH0

CH1

CH2

CH3

Convert 1

Convert 1

Convert 2

Convert 1

SOC Trigger

Sample 1

Sample 1

Sample 1

Convert 2

Convert 2

Convert 3

Convert 2Sample 2

Sample 2

Sample 2

Sample 2Sample/Convert Sequence 1 Sample/Convert Sequence 2

Sample 2

Sample 2

Sample 2

Sample 3

Sample 3

Sample 3

1 2 4 73 5 6

Note 1: CH0 ~ CH4 入力マルチプレクサが、サンプリングするアナログ入力を選択する。選択されたアナログ入力が

サンプリング コンデンサに接続される。

2: SOC トリガで、CH0 サンプリング コンデンサをマルチプレクサから切断し、変換中の入力電圧を一定に保つ。

CH0 でキャプチャされたアナログ値を等価のデジタル数値に変換する。

3: 変換後、CH0 マルチプレクサ出力をサンプリング コンデンサに接続する。CH1 サンプリング コンデンサをマ

ルチプレクサから切断し、変換中の入力電圧を一定に保つ。CH1 でキャプチャされたアナログ値を等価デジタ

ル値に変換する。

4: 変換後、CH1 マルチプレクサ出力をサンプリング コンデンサに接続する。CH2 サンプリング コンデンサをマ

ルチプレクサから切断し、変換中の入力電圧を一定に保つ。CH2 でキャプチャされたアナログ値を等価デジタ

ル値に変換する。

5: 変換後、CH2 マルチプレクサ出力をサンプリング コンデンサに接続する。CH3 サンプリング コンデンサをマ

ルチプレクサから切断し、変換中の入力電圧を一定に保つ。CH3 でキャプチャされたアナログ値を等価デジタ

ル値に変換する。

6: 変換後、CH3 マルチプレクサ出力をサンプリング コンデンサに接続する。CH0 ~ CH4 入力マルチプレクサ

が、サンプリングする次のアナログ入力を選択する。

7: SOC トリガで、CH0 サンプリング コンデンサをマルチプレクサから切断し、変換中の入力電圧を一定に保つ。

CH0 でキャプチャされたアナログ値を等価デジタ数値に変換する。

DS70210A_JP - p. 28-18 © 2011 Microchip Technology Inc.

Page 19: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

28.4 ADC の設定

28.4.1 ADC 動作モードの選択

ADC 制御レジスタ (AD1CON1<10>) の 12 ビット動作モード (AD12B<10>) ビットにより、ADCモジュールを 10 ビット、4 チャンネルの ADC ( 既定値の設定 ) か、12 ビット、1 チャンネルのADC として機能させる事が可能です。表 28-5 にビット設定一覧を示します。

表 28-5: ADC 動作モード

28.4.2 ADC チャンネルの選択

10 ビットモード (AD12B = 0) では、ADC 制御レジスタ (AD1CON2<9:8>) のチャンネル選択ビット (CHPS<1:0>) を使用して、ユーザ アプリケーションから 1/2/4 チャンネルのいずれかのモードを選択できます。下表に、各ビット設定で選択されるチャンネル番号を示します。

表 28-6: 10 ビット ADC チャンネルの選択

28.4.3 電圧リファレンスの選択

A/D 変換の電圧リファレンスは、ADC 制御レジスタ (AD1CON2<15:13>) の電圧リファレンスコンフィグレーション (VCFG<2:0>)ビットで選択します。ADCモジュールに対する電圧リファレンス High (VREFH) と電圧リファレンス Low (VREFL) は、内部 AVDD と AVSS 電圧レールから、または外部 VREF+ と VREF- 入力ピンからの供給が可能です。少ピンデバイスの場合、外部電圧リファレンス ピンを AN0/AN1 入力と共有する事もできます。ADC モジュールは、これらのピンを、VREF+ および VREF- 入力ピンと共有する場合でも、変換を実行できます。外部リファレンス ピンに印加される電圧は、一定の仕様内である事が必要です。詳細は、各デバイスのデータシートの「電気的仕様」を参照してください。

表 28-7: 電圧リファレンスの選択

Note: AD12B ビットを変更する前に、ADC モジュールを無効にする必要があります。

AD12B チャンネル選択

0 10 ビット、4 チャンネル ADC

1 12 ビット、1 チャンネル ADC

CHPS<1:0> チャンネル選択

00 CH0

01 2 チャンネル (CH0、CH1)

1x 4 チャンネル (CH0 ~ CH3)

VCFG<2:0> VREFH VREFL

000 AVDD AVSS

001 VREF+ AVSS

010 AVDD VREF-

011 VREF+ VREF-

1xx AVDD AVSS

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-19

Page 20: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

28.4.4 ADC クロックの選択

ADCモジュールは、命令サイクル クロック(TCY)から、または専用の内部RCクロック(図 28-10参照 ) を使用してクロック同期できます。命令サイクル クロックを使用する場合、クロック分周器で命令サイクル クロックを駆動して低周波数を選択できます。クロック分周器は、ADC制御レジスタ (AD1CON3<5:0>) の AD 変換クロック選択 (ADCS<7:0>) ビットで制御され、1:1から 1:256 の 256 通りの設定を選択できます。

式 28-3 に、ADC クロック周期 (TAD) を ADCS 制御ビットとデバイス命令サイクルクロック周期 TCY の関数で示します。

式 28-3: ADC クロック周期

ADC モジュールは、変換時に使用できる専用の内部 RC クロック源を備えています。デバイスがスリープモード中に A/D 変換を実行する場合、この内部 RC クロック源を使用します。内部RC オシレータを選択するには、ADC 制御レジスタ (AD1CON3<15>) の AD 変換クロック源(ADRC<15>) ビットをセットします。ADRC ビットをセットすると、ADCS<7:0> ビットは無効となります。

図 28-10: ADC クロック生成

28.4.5 出力データ形式の選択

図 28-11 に、AD 変換結果で使用する 4 種類の数値形式を示します。ADC 制御レジスタ(AD1CON1<9:8>) のデータ出力形式 (FORM<1:0>) ビットで、出力データ形式を選択します。表 28-8 に、各ビット設定に対応する ADC 出力形式の一覧を示します。

表 28-8: 電圧リファレンスの選択

FORM<1:0> データ情報の選択

11 符号付き小数

10 符号なし小数

01 符号付き整数

00 符号なし整数

ADC Clock Period (TAD) = TCY • (ADCS + 1)

0

1ADCS<7:0>

ADRC

ADC Clock (TAD)

TCY

ADC Internal RC

N

DS70210A_JP - p. 28-20 © 2011 Microchip Technology Inc.

Page 21: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

図 28-11: ADC 出力形式

0000 0000 0000 0000 (0)

0000 0011 1111 1111 (1023)

0000 0010 0000 0000 (512)

1111 1110 0000 0000 (-512)

0000 0001 1111 1111 (511)

0000 0000 0000 0000 (0)

0000 0000 0000 0000 (0)

0000 0011 1111 1111 (4095)

0000 0010 0000 0000 (2048)

1111 1000 0000 0010 (-2046)

0000 0111 1111 1101 (2045)

0000 0000 0000 0000 (0)

10-bit ADC 12-bit ADC

FORM = 0b00Unsigned Integer

FORM = 0b01Signed Integer

0000 0000 0000 0000 (0)

1111 1111 1100 0000 (+0.999)

1000 0000 0000 0000 (0.5)

1000 0000 0000 0000 (-1)

0111 1111 1100 0000 (+0.999)

0000 0000 0000 0000 (0)

VREFHVREFL

0000 0000 0000 0000 (0)

FORM = 0b10Unsigned

Fraction (Q16)

FORM = 0b11Signed

Fraction(Q15)

Input

0111 1111 1111 0000 (+0.999)

1000 0000 0000 0000 (-1)

VREFHVREFL

1000 0000 0000 0000 (0.5)

Input0000 0000 0000 0000 (0)

1111 1111 1111 0000 (+0.999)

VREFHVREFL Input

VREFHVREFL Input

VREFHVREFL Input

VREFHVREFL Input

VREFHVREFL Input

VREFHVREFL Input

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-21

Page 22: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

28.4.6 アナログ ポートピンのコンフィグレーション

アナログ / デジタル ピン コンフィグレーション レジスタ (AD1PCFGL) は、アナログ入力として使用するデバイス ピンの入力条件を指定します。パラレル I/O ポート モジュールのデータ方向 (TRISx) レジスタと共に、これらのレジスタは ADC ピンの動作を制御します。

対応する PCFGn ビット (AD1PCFGL<n>) がクリアされている場合、ピンはアナログ入力として設定されます。AD1PCFGL レジスタはリセット時にクリアされ、リセット時の既定値により ADC 入力ピンは アナログ入力に設定されます。

アナログ入力に設定されると、関連するポート I/O デジタル入力バッファは無効になるため、電流を消費しません。

アナログ入力にするポートピンは、対応する TRIS ビットをセットして、ポート入力を指定する必要があります。A/D 入力に関連する I/O ピンが出力として設定されている場合、TRIS ビットはクリアされ、ポートのデジタル出力レベル (VOH または VOL) が変換されます。デバイスリセット後は全ての TRIS ビットがセットされます。

対応する PCFGn ビットがセットされると、ピンはデジタル I/O として設定されます。このコンフィグレーションでは、アナログ マルチプレクサに対する入力を AVSS に接続します。

28.4.7 ADC モジュールの有効化

ADON ビット (AD1CON1<15>) が「1」の場合、モジュールはアクティブモードにあり、フルパワーで動作します。

ADON が「0」の場合、モジュールは無効です。回路のデジタル / アナログ部分は電流を最小限に抑えるため OFF になります。

OFF モードからアクティブモードへの移行時、アナログ段が安定化するまでユーザ アプリケーションを待機させる必要があります。安定化時間の詳細は、各デバイスのデータシートの「電気的特性」を参照してください。

Note 1: ADC ポート レジスタを読み出すと、アナログ入力に設定されているピンは「0」として読み出されます。

2: デジタル入力として定義されたピンにアナログ電圧を印加すると、入力バッファにデバイス仕様を超える電流が流れる可能性があります。

Note: ADON = 1の間、SSRC<2:0>、SIMSAM、ASAM、CHPS<1:0>、SMPI<3:0>、BUFM、ALTS ビットに加えて、ADCON3 レジスタと ADCSSL レジスタに書き込みをしないでください。書き込んだ場合、予測できない結果を招く可能性があります。

DS70210A_JP - p. 28-22 © 2011 Microchip Technology Inc.

Page 23: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

28.5 ADC 割り込みの生成

変換が完了すると、ADC モジュールは変換結果を ADC 結果バッファに書き込みます。ADC 結果バッファは 16 ワードの配列で、SFR 領域を経由してアクセスします。ユーザ アプリケーションは、A/D 変換結果が生成されるたびにその結果を読み出そうとする場合があります。しかし、これにはかなりの CPU 時間を消費します。一般に、コードを簡略化するために、モジュールはバッファに結果を書き込み、バッファに書き込まれた時点で割り込みを生成します。ADC モジュールは 16 の結果バッファをサポートします。従って、割り込みごとの変換の最大数が 16 を超えないようにする必要があります。

1 回の ADC 割り込みごとの変換数は、以下のパラメータによって決まります。その値の範囲は1 ~ 16 です。

• 選択するサンプル / ホールド チャンネル数

• 順次または同時サンプリング

• 割り込みごとのサンプル変換シーケンス数 (SMPI<3:0>) ビットの設定

表 28-9 に、各コンフィグレーション モードにおける ADC 割り込みごとの変換数を示します。

表 28-9: 交互サンプリング モードにおける割り込みごとのサンプル数

DONE ビット (AD1CON1<0>) は、要求されたサンプル / 変換シーケンスの完了を示す ADC 割り込みが生成された時点でセットされます。このビットは、次のサンプル / 変換シーケンスの開始時点でハードウェアによって自動的にクリアされます。

28.5.1 バッファフィル モード

ADC 制御レジスタ (AD1CON2<1>) のバッファフィル モード (BUFM<1>) ビットが「1」の場合、16 ワード結果バッファは、下位グループ (ADC1BUF0 ~ ADC1BUF7) と上位グループ(ADC1BUF8 ~ ADC1BUFF) の 2 つの 8 ワード グループに分割されます。2 つの 8 ワード バッファは、ADC 割り込みイベントごとに交互に変換結果を受信します。BUFM ビットがセットされている時、各バッファサイズは 8 です。従って、割り込みごとの変換の最大数が 8 を超えないようにする必要があります。

BUFM ビットが「0」の場合、全ての変換シーケンスで 16 ワード バッファ全体を使用します。分割バッファ機能を使用するかどうかは、割り込み後にバッファの内容を移動するために利用できる時間 ( アプリケーションで決定 ) によって決まります。

アプリケーションが、1 つのチャンネルをサンプル / 変換する時間内に素早くフルバッファをアンロードできる場合、BUFM ビットを「0」とする事が可能で、割り込みごとに最大で 16 の変換が行われます。アプリケーションには、最初のバッファ位置が上書きされる前に 1 サンプル / 変換分の時間があります。プロセッサがサンプル / 変換時間内にバッファをアンロードできない場合、BUFM ビットを「1」にする必要があります。例えば、8 変換ごとに ADC 割り込みが生成される場合、プロセッサには次の割り込みまでにバッファから 8 つの変換結果を移動する時間があります。

28.5.2 バッファフィル ステータス

BUFM 制御ビットを使用して変換結果バッファを分割する場合、BUFS ステータスビット(AD1CON2<7>) は ADC モジュールが現在書き込みしている側 ( 全体の 1/2) を示します。BUFS = 0の場合、ADC モジュールは下位グループを書き込み中で、ユーザ アプリケーションは上位グループから変換値を読み出す必要があります。BUFS = 1 の場合、状況は逆であり、ユーザ アプリケーションは下位グループから変換値を読み出す必要があります。

CHPS<1:0> SIMSAM SMPI<3:0> 変換 / 割り込み 説明

00 x N-1 N 1 チャンネル モード

01 0 N-1 N 2 チャンネル順次サンプリング モード

1x 0 N-1 N 4 チャンネル順次サンプリング モード

01 1 N-1 2 • N 2 チャンネル同時サンプリング モード

1x 1 N-1 4 • N 4 チャンネル同時サンプリング モード

Note 1: 2 チャンネル同時サンプリング モードでは、SMPI<3:0> ビット設定は 8 未満である必要があります。

2: 4 チャンネル同時サンプリング モードでは、SMPI<3:0> ビット設定は 4 未満である必要があります。

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-23

Page 24: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

28.6 変換用アナログ入力の選択

本モジュールは、以下のアナログ入力選択方法をサポートしています。

• 固定入力選択

• 交互入力選択

• チャンネル スキャン (CH0 のみ )

28.6.1 固定入力選択

10 ビット ADC コンフィグレーションでは、最大で 4 つのサンプル / ホールド チャンネル (CH0~ CH3) を使用できます。一方、12 ビット ADC コンフィグレーションでは、1 つのサンプル /ホールド チャンネル (CH0) しか使用できません。サンプル / ホールド チャンネルは、アナログマルチプレクサを経由してアナログ入力ピンに接続します。アナログ入力マルチプレクサは、AD1CHS123レジスタとAD1CHS0レジスタで制御されます。MUXA (CHySA/CHyNA)とMUXB(CHySB/CHyNB)と呼ばれる2セットの制御ビットで入力ソースを選択します。MUXB制御ビットは交互入力選択モードで使用します。既定値では、MUXA ビットは変換するアナログ入力を選択します。

表 28-10: アナログ入力選択

例 28-2 に、ADC 入力を 4 チャンネルに設定するコード シーケンスを示します。

例 28-2: ADC 入力を設定するコード シーケンス

MUXA MUXB

制御ビット アナログ入力 制御ビット アナログ入力

CH0 +ve CH0SA<4:0> AN0 ~ AN12 CH0SB<4:0> AN0 ~ AN12

-ve CH0NA VREF-, AN1 CH0NB AN0 ~ AN12

CH1 +ve CH123SA AN0, AN3 CH123SB AN0, AN3

-ve CH123NA<1:0> AN6, AN9, VREF- CH123NB<1:0> AN6, AN9, VREF-

CH2 +ve CH123SA AN1, AN4 CH123SB AN1, AN4

-ve CH123NA<1:0> AN7, AN10, VREF- CH123NB<1:0> AN7, AN10, VREF-

CH3 +ve CH123SA AN2, AN5 CH123SB AN2, AN5

-ve CH123NA<1:0> AN8, AN11, VREF- CH123NB<1:0> AN8, AN11, VREF-

Note: 全てのデバイスが全ての入力を備えているわけではありません。

// Initialize MUXA Input SelectionAD1CHS0bits.CH0SA = 3; // Select AN3 for CH0 +ve inputAD1CHS0bits.CH0NA = 0; // Select VREF- for CH0 -ve input

AD1CHS123bits.CH123SA=0; // Select AN0 for CH1 +ve input// Select AN1 for CH2+ve input// Select AN2 for CH3 +ve input

AD1CHS123bits.CH124NA=0; // Select VREF- for CH1/CH2/CH3 -ve inputs

DS70210A_JP - p. 28-24 © 2011 Microchip Technology Inc.

Page 25: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

28.6.2 交互入力選択モード

交互入力選択モードでは、MUXA および MUXB 制御ビットで変換するチャンネルを選択します。ADC は MUXA の選択でサンプル / 変換を行い、MUXB の選択で次のサンプル / 変換を行い、また MUXA の選択で次のサンプル / 変換を行い、と順次処理していきます。交互入力選択モードを有効にするには、ADC 制御レジスタ (AD1CON2<0>) の交互入力選択 (ALTS<0>) ビットをセットします。

交互入力選択モードの場合、偶数番号のサンプル / 変換シーケンスの後、割り込みごとのサンプル変換シーケンス数 (SMPI<3:0>) ビットをプログラムして、ADC 割り込みを生成する必要があります。表 28-11 に、各 ADC コンフィグレーションにおける交互入力選択モードで有効な SMPI 値を示します。

表 28-11: 交互入力選択モードで有効な SMPI 値

例 28-3 に、4 チャンネル同時サンプリング コンフィグレーションで ADC モジュールを交互入力選択モードに設定するためのコード シーケンスを示します。図 28-12 に、ADC モジュールの動作シーケンスを示します。

例 28-3: ADC モジュールを交互入力選択モードに設定するコードシーケンス

CHPS<1:0> SIMSAMSMPI<3:0> (10 進数 )

変換 / 割り込み 説明

00 x 1,3,5,7,9,11,13,15 2,4,6,8,10,12,14,16 1 チャンネル モード

01 0 3,7,11,15 4,8,12,16 2 チャンネル順次サンプリング モード

1x 0 7,15 8,16 4 チャンネル順次サンプリング モード

01 1 1,3,5,7 4,8,12,16 2 チャンネル同時サンプリング モード

1x 1 1,3 8,16 4 チャンネル同時サンプリング モード

Note: ADC 割り込みでは、ADC 内部ロジックを初期化して変換シーケンスを始めから再開します。

AD1CON1bits.AD12B = 0; // Select 10-bit modeAD1CON2bits.CHPS = 3; // Select 4-channel modeAD1CON1bits.SIMSAM = 1; // Enable Simultaneous SamplingAD1CON2bits.ALTS = 1; // Enable Alternate Input SelectionAD1CON2bits.SMPI = 1; // Select 8 conversion between interruptAD1CON1bits.ASAM = 1; // Enable Automatic Sampling AD1CON1bits.SSRC = 2; // Timer3 generates SOC trigger

// Initialize MUXA Input SelectionAD1CHS0bits.CH0SA = 6; // Select AN6 for CH0 +ve inputAD1CHS0bits.CH0NA = 0; // Select VREF- for CH0 -ve inputAD1CHS123bits.CH123SA = 0; // Select CH1 +ve = AN0, CH2 +ve = AN1, CH3 +ve = AN2AD1CHS123bits.CH124NA = 0; // Select VREF- for CH1/CH2/CH3 -ve inputs

// Initialize MUXB Input SelectionAD1CHS0bits.CH0SB = 7; // Select AN7 for CH0 +ve inputAD1CHS0bits.CH0NB = 0; // Select VREF- for CH0 -ve input

AD1CHS123bits.CH123SB = 1; // Select CH1 +ve = AN3, CH2 +ve = AN4, CH3 +ve = AN5AD1CHS123bits.CH124NB = 0; // Select Vref- for CH1/CH2/CH3 -ve inputs

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-25

Page 26: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

図 28-12: 4 チャンネル同時サンプリング コンフィグレーションでの交互入力選択

例 28-4 に、2 チャンネル順次サンプリング コンフィグレーションで ADC モジュールを交互入力選択モードに設定するためのコード シーケンスを示します。

例 28-4: ADC モジュールを交互入力選択モードに設定するコードシーケンス

Sample(AN6)

Sample(AN0)

CH0

CH1

Sample(AN1)

Sample(AN2)

CH2

CH3

Convert(AN6)

Convert(AN0)

Convert(AN1)

Convert

SOC Trigger

Convert(AN2)

Sample(AN7)

Sample(AN3)

Sample(AN4)

Sample(AN5)

Convert(AN7)

Convert(AN3)

Convert(AN4)

Convert(AN5)

Sample/Convert Sequence 1 Sample/Convert Sequence 2

Sample(AN6)

Sample(AN0)

Sample(AN1)

Sample(AN2)

2 3 5

ADC Interrupt

1 4

AN6

AN0

AN1

AN2

AN7

AN3

AN4

AN5

ADC1BUF0

ADC1BUF1

ADC1BUF7

Note 1: CH0 ~ CH4 入力マルチプレクサは、MUXA 制御ビット (CHySA/CHyNA) を使用して、サンプリングするアナログ入力を選択する。選択されたアナログ入力がサンプリング コンデンサに接続される。

2: SOC トリガで、CH0 ~ CH4 サンプリング コンデンサをマルチプレクサから切断し、アナログ入力を同時にサンプリングする。CH0/CH1/CH2/CH3 でキャプチャするアナログ値を等価デジタル値に変換する。

3: CH0 ~ CH4 入力マルチプレクサは、MUXB 制御ビット (CHySB/CHyNB) を使用して、サンプリングするアナログ入力を選択する。選択されたアナログ入力がサンプリング コンデンサに接続される。

4: SOC トリガで、CH0 ~ CH4 サンプリング コンデンサをマルチプレクサから切断し、アナログ入力を同時にサンプリングする。CH0/CH1/CH2/CH3 でキャプチャするアナログ値を等価デジタル値に変換する。

5: 8 サンプルの変換後、ADC 割り込みが生成される。CH0 ~ CH4 入力マルチプレクサは、MUXA 制御ビット (CHySA/CHyNA) を使用して、サンプリングするアナログ入力を選択する。選択されたアナログ入力がサンプリング コンデンサに接続される。

AD1CON1bits.AD12B=0; // Select 10-bit modeAD1CON2bits.CHPS=1; // Select 2-channel modeAD1CON2bits.SMPI = 3; // Select 4 conversion between interruptAD1CON1bits.ASAM = 1; // Enable Automatic Sampling AD1CON2bits.ALTS = 1; // Enable Alternate Input SelectionAD1CON1bits.SIMSAM = 0; // Enable Sequential SamplingAD1CON1bits.SSRC = 2; // Timer3 generates SOC trigger

// Initialize MUXA Input SelectionAD1CHS0bits.CH0SA = 6; // Select AN6 for CH0 +ve inputAD1CHS0bits.CH0NA = 0; // Select VREF- for CH0 -ve input

AD1CHS123bits.CH123SA=0;// Select AN0 for CH1 +ve inputAD1CHS123bits.CH124NA=0;// Select Vref- for CH1 -ve inputs

// Initialize MUXB Input SelectionAD1CHS0bits.CH0SB = 7; // Select AN7 for CH0 +ve inputAD1CHS0bits.CH0NB = 0; // Select VREF- for CH0 -ve input

AD1CHS123bits.CH123SB=1;// Select AN3 for CH1 +ve inputAD1CHS123bits.CH124NB=0;// Select VREF- for CH1-ve inputs

DS70210A_JP - p. 28-26 © 2011 Microchip Technology Inc.

Page 27: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

図 28-13: 2 チャンネル順次サンプリング コンフィグレーションでの交互入力選択

28.6.3 チャンネル スキャン

本モジュールは、CH0 ( サンプル / ホールド チャンネル「0」) を使ったチャンネル スキャンモードをサポートします。スキャンする入力数は、ソフトウェアによって選択可能です。AN0~ AN12 のアナログ入力のいずれのサブセットも変換に選択可能です。選択された入力は昇順で変換されます。例えば、入力選択に AN4、AN1、AN3 がある場合、変換は AN1、AN3、AN4の順に行われます。変換シーケンスは、チャンネル選択レジスタ (AD1CSSL) で設定します。チャンネル選択レジスタを「1」にセットすると、関連付けられたアナログ入力チャンネルが変換シーケンスに加わります。チャンネル スキャン モードを有効にするには、ADC 制御レジスタ (AD1CON2<10>) のチャンネル スキャン (CSCNA<10>) ビットをセットします。チャンネル スキャン モードでは MUXA ソフトウェア制御は無視され、ADC モジュールは有効なチャンネルを順番に処理します。

サンプル / 変換シーケンスごとに、1 つのアナログ入力がスキャンされます。選択された全てのチャンネルがスキャンされた後、ADC 割り込みを生成する必要があります。チャンネル スキャンで「N」入力が有効な場合、「N」サンプル / 変換シーケンス後に割り込みを生成する必要があります。表 28-12 に、各 ADC コンフィグレーションで CH0 を使用して「N」アナログ入力をスキャンするための SMPI 値を示します。

表 28-12: チャンネル スキャン モードでの割り込みごとの変換

Sample

(AN6)

Sample

(AN0)

CH0

CH1

Convert

(AN6)

Convert

(AN0)

SOC

Trigger

Sample

(AN7)

Sample

(AN3)

Convert

(AN7)

Convert

(AN3)

Sample/Convert Sequence 1 Sample/Convert Sequence 2

Sample(AN7)

Sample(AN6)

1 2 3 4 5

ADC

Interrupt

Sample

(AN6)

Sample

(AN0)

AN6

AN0

AN7

AN3

ADC1BUF0

ADC1BUF1

ADC1BUF2

ADC1BUF3

Note 1: CH0 ~ CH1 入力マルチプレクサは、MUXA 制御ビット (CHySA/CHyNA) を使用して、サンプリングするアナログ入力を選択する。選択されたアナログ入力がサンプリング コンデンサに接続される。

2: SOC トリガで、CH0/CH1 入力を順番にサンプリングし、等価デジタル値に変換する。

3: CH0 ~ CH1 入力マルチプレクサは、MUXB 制御ビット (CHySB/CHyNB) を使用して、サンプリングするアナログ入力を選択する。選択されたアナログ入力がサンプリング コンデンサに接続される。

4: SOC トリガで、CH0/CH1 入力を順番にサンプリングし、等価デジタル値に変換する。

5: 4 サンプルの変換後、ADC 割り込みが生成される。CH0 ~ CH1 入力マルチプレクサは、MUXA 制御ビット (CHySA/CHyNA)を使用して、サンプリングするアナログ入力を選択する。選択されたアナログ入力がサンプリング コンデンサに接続される。

CHPS<1:0> SIMSAM SMPI<3:0>(10 進数 )

変換 / 割り込み 説明

00 x N-1 N 1 チャンネル モード

01 0 2N-1 2N 2 チャンネル順次サンプリング モード

1x 0 4N-1 4N 4 チャンネル順次サンプリング モード

01 1 N-1 2N 2 チャンネル同時サンプリング モード

1x 1 N-1 4N 4 チャンネル同時サンプリング モード

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-27

Page 28: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

例 28-5 に、CH0 を使用して 4 つのアナログ入力をスキャンするためのコード シーケンスを示します。図 28-14 に ADC 動作シーケンスを示します。

例 28-5: CH0 を使用して 4 つのアナログ入力をスキャンするコード シーケンス

図 28-14: CH0 を使用する 4 つのアナログ入力のスキャン

例 28-6 に、2 チャンネル交互入力選択コンフィグレーションで CH0 を使用して 2 つのアナログ入力をスキャンするためのコード シーケンスを示します。図 28-15 に ADC 動作シーケンスを示します。

Note: ADC 割り込みでは、ADC 内部ロジックを初期化して変換シーケンスを始めから再開します。

AD1CON1bits.AD12B=1; // Select 12-bit mode, 1-channel modeAD1CON2bits.SMPI = 3; // Select 4 conversions between interruptAD1CHS0bits.ASAM = 1; // Enable Automatic Sampling AD1CON2bits.CSCNA = 1; // Enable Channel Scanning

// Initialize Channel Scan SelectionAD1CSSLbits.CSS2=1; // Enable AN2 for scanAD1CSSLbits.CSS3=1; // Enable AN3 for scanAD1CSSLbits.CSS5=1; // Enable AN5 for scanAD1CSSLbits.CSS6=1; // Enable AN6 for scan

Sample (AN2)

CH0 Convert(AN2)

SOC Trigger

Sample (AN3)

Convert(AN3)

Sample (AN5)

Convert(AN5)

Sample (AN6)

Convert(AN6)

ADC Interrupt

DS70210A_JP - p. 28-28 © 2011 Microchip Technology Inc.

Page 29: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

例 28-6: 交互入力選択でチャンネルをスキャンするコード シーケンス

図 28-15: 交互入力選択でのチャンネル スキャン

AD1CON1bits.AD12B = 0; // Select 10-bit modeAD1CON2bits.CHPS = 1; // Select 2-channel modeAD1CON1bits.SIMSAM = 0; // Enable Sequential SamplingAD1CON2bits.ALTS = 1; // Enable Alternate Input SelectionAD1CON2bits.CSCNA = 1; // Enable Channel ScanningAD1CON2bits.SMPI = 7; // Select 8 conversion between interruptAD1CON1bits.ASAM = 1; // Enable Automatic Sampling

// Initialize Channel Scan SelectionAD1CSSLbits.CSS2 = 1; // Enable AN2 for scanAD1CSSLbits.CSS3 = 1; // Enable AN3 for scan

// Initialize MUXA Input SelectionAD1CHS123bits.CH123SA = 0; // Select AN0 for CH1 +ve inputAD1CHS123bits.CH124NA = 0; // Select Vref- for CH1 -ve inputs

// Initialize MUXB Input SelectionAD1CHS0bits.CH0SB = 8; // Select AN8 for CH0 +ve inputAD1CHS0bits.CH0NB = 0; // Select VREF- for CH0 -ve inputs

AD1CHS123bits.CH123SB = 0; // Select AN4 for CH1 +ve inputAD1CHS123bits.CH124NB = 0; // Select VREF- for CH1 -ve inputs

Sample(AN2)

Sample(AN0)

CH0

CH1

Convert(AN2)

Convert (AN0)

SOC Trigger

Sample (AN8)

Sample (AN3)

Convert (AN8)

Convert(AN3)

Sample (AN8)

Sample(AN3)

Sample(AN3)

Sample(AN0)

Convert(AN3)

Convert (AN0)

Sample (AN8)

Sample (AN3)

Convert (AN8)

Convert(AN3)

Sample (AN8)

ADC Trigger

Sample/Convert Sequence 1 Sample/Convert Sequence 2 Sample/Convert Sequence 3 Sample/Convert Sequence 4

1 2 3 4 5 6 7 8 9

Note 1: CH0 入力マルチプレクサは、MUXA 制御ビットの代わりに ( チャンネル スキャン ロジックから ) 内部的に生成された制御ビットを使用して、サンプリングするアナログ入力を選択する。CH1 入力マルチプレクサは、MUXA 制御ビット (CHySA/CHyNA) を使用して、サンプリングするアナログ入力を選択する。選択されたアナログ入力がサンプリング コンデンサに接続される。

2: SOC トリガで、CH0 ~ CH1 入力を順番にサンプリングし、等価デジタル値に変換する。

3: CH0 ~ CH1 入力マルチプレクサは、MUXB 制御ビット (CHySB/CHyNB) を使用して、サンプリングするアナログ入力を選択する。選択されたアナログ入力がサンプリング コンデンサに接続される。

4: SOC トリガで、CH0 ~ CH1 入力を順番にサンプリングし、等価デジタル値に変換する。

5: CH0 入力マルチプレクサは、MUXA 制御ビットの代わりに ( チャンネル スキャン ロジックから ) 内部的に生成された制御ビットを使用して、サンプリングするアナログ入力を選択する。CH1 入力マルチプレクサは、MUXA 制御ビット (CHySA/CHyNA) を使用して、サンプリングするアナログ入力を選択する。選択されたアナログ入力がサンプリング コンデンサに接続される。

6: SOC トリガで、CH0 ~ CH1 入力を順番にサンプリングし、等価デジタル値に変換する。

7: CH0 ~ CH1 入力マルチプレクサは、MUXB 制御ビット (CHySB/CHyNB) を使用して、サンプリングするアナログ入力を選択する。選択されたアナログ入力がサンプリング コンデンサに接続される。

8: SOC トリガで、CH0 ~ CH1 入力を順番にサンプリングし、等価デジタル値に変換する。

9: 8 サンプルの変換後、ADC 割り込みが生成される。

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-29

Page 30: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

28.7 スリープ / アイドルモード中の動作

スリープ / アイドルモードは、CPU、バス、その他の周辺モジュールのデジタル アクティビティを最小限に抑えられるため、変換ノイズを最小化するのに最適です。

28.7.1 CPU スリープモード (RC A/D クロックなし )

デバイスがスリープモードに移行すると、ADC モジュールの全てのクロック源はシャットダウンされ、ロジック「0」を維持します。

変換中にスリープモードに移行すると、内部 RC クロック ジェネレータから ADC にクロックが供給されない限り、変換は中止されます。スリープモード終了時、コンバータは中止された変換を再開する事はありません。

レジスタの内容は、デバイスのスリープモードへの移行またはスリープモードの終了によって影響を受けません。

28.7.2 CPU スリープモード (RC A/D クロックあり )

A/D クロック源が内部 A/D RC オシレータに設定されている場合 (ADRC = 1)、ADC モジュールはスリープモード中も動作を継続可能です。これにより、デジタル スイッチング ノイズがA/D 変換に与える影響を排除できます。変換が完了すると DONE ビットがセットされ、結果がAD 変換結果バッファ ADCBUF に読み込まれます。

有効な場合、ADC 割り込みによってデバイスはスリープモードからウェイクアップし、以下のように動作します。

• 割り込み要因の優先度が現在の CPU 優先度以下である場合、デバイスのウェイクアップ後に、スリープモードを開始した PWRSAV命令の次の命令からコード実行を再開します。

• 割り込み要因の優先度が現在の CPU 優先度よりも高い場合、デバイスのウェイクアップ後に CPU 例外プロセスが開始します。コード実行は、ADC ISR の最初の命令から再開します。

ユーザ アプリケーションでは、スリープモードで A/D 変換が確実に実行されるように変換トリガソースを選択する必要があります。スリープ (SSRC<2:0> = 111) でサンプル / 変換を実行するために、自動変換トリガ オプションを使用する事も可能です。自動変換オプションを使用するには、PWRSAV命令の前の命令で ADON ビットをセットする必要があります。

28.7.3 CPU アイドルモード中の ADC の動作

デバイスがアイドルモードへ切り換わると、システムクロック源は動作を続けますが、CPU はコード実行を停止します。ADC 制御レジスタ (AD1CON1<13>) のアイドルモード時停止(ADSIDL<13>) ビットの設定により、アイドルモード時にモジュールが停止するか動作を継続するかが決まります。

ICSIDL = 0の場合、モジュールはアイドルモード時も動作を継続し、完全に機能します。

ICSIDL = 1の場合、モジュールはアイドルモード時に動作を停止します。モジュールは、アイドルモード時に停止すると、スリープモードの場合と同じ機能を実行します (28.7.1「CPU スリープモード (RC A/D クロックなし )」と 28.7.2「CPU スリープモード (RC A/D クロックあり )」参照 )。

Note: スリープ時に ADC モジュールを動作させるには、ADC クロック源を RC (ADRC= 1) にセットする必要があります。

DS70210A_JP - p. 28-30 © 2011 Microchip Technology Inc.

Page 31: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

28.8 A/D サンプリング要件

図 28-16 と図 28-17 に、10 ビットと 12 ビットの ADC モードのアナログ入力モデルを示します。A/D 変換の合計サンプリング時間は、内部アンプ セトリングタイムとホールド コンデンサチャージタイムを基に決まります。

ADC モジュールの仕様上の精度を実現するには、チャージ ホールド コンデンサ (CHOLD) をアナログ入力ピンの電圧レベルまで完全に充電する必要があります。アナログ出力ソース インピーダンス (RS)、相互接続インピーダンス (RIC)、内部サンプリング スイッチ (RSS) インピーダンスは、コンデンサ CHOLD の充電に必要な時間に直接影響します。従って、総インピーダンスは、選択したサンプリング時間内でホールド コンデンサを完全に充電できるよう十分に小さい必要があります。ADC モジュールの精度に対するピンのリーク電流の影響を最小限に抑えるため、推奨最大ソース インピーダンス RS は 200 です。アナログ入力チャンネルの選択後、変換を開始する前にこのサンプリング ( 充電 ) を完了させる必要があります。内部ホールド コンデンサは、サンプリング前は放電状態にあります。

変換と変換の間には、サンプリング時間用の最小期間を設けるようにしてください。デバイスの最小サンプリング時間の詳細は、各デバイスのデータシートの「電気的仕様」を参照してください。

図 28-16: アナログ入力モデル (10 ビットモード )

図 28-17: アナログ入力モデル (12 ビットモード )

CPINVA

Rs ANxVT = 0.6V

VT = 0.6VI leakage

RIC 250 SamplingSwitch

RSS

CHOLD= DAC capacitance

VSS

VDD

= 4.4 pF 500 nA

Legend: CPIN

VT

I leakage

RIC

RSS

CHOLD

= input capacitance

= threshold voltage= leakage current at the pin due to

= interconnect resistance= sampling switch resistance= Sample/Hold capacitance (from DAC)

various junctions

Note: CPIN 値はデバイス パッケージによって決まります。テストは行っておりません。Rs 500 の場合、CPIN の影響は無視できます。

RSS 3 k

CPINVA

Rs ANxVT = 0.6V

VT = 0.6VI leakage

RIC 250 SamplingSwitch

RSS

CHOLD= DAC capacitance

VSS

VDD

= 18 pF 500 nA

Legend: CPIN

VT

I leakage

RIC

RSS

CHOLD

= input capacitance= threshold voltage= leakage current at the pin due to

= interconnect resistance= sampling switch resistance= Sample/Hold capacitance (from DAC)

various junctions

Note: CPIN 値はデバイス パッケージによって決まります。テストは行っておりません。Rs 500 の場合、CPIN の影響は無視できます。

RSS 3 k

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-31

Page 32: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

28.8.1 接続の注意点

アナログ入力は、ESD 保護のため VDD と VSS の間にダイオードを挿入しています。そのため、アナログ入力は VDD と VSS の間である必要があります。入力電圧がいずれかの向きに 0.3 V 以上このレンジを超えると、ダイオードの 1 つに順バイアスがかかり、入力電流の仕様を超えた場合、デバイスの損傷を引き起こします。

入力信号のアンチ エイリアシングのために、外部 RC フィルタを追加する事もあります。サンプリング時間要件を確実に満たすように、R ( 抵抗 ) を選択する必要があります。アナログ入力ピンに接続 ( ハイ インピーダンス経由 ) する外付け部品 ( コンデンサ、ツェナー ダイオード等 )はピンでリーク電流がほとんどないようにします。

DS70210A_JP - p. 28-32 © 2011 Microchip Technology Inc.

Page 33: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

28.9 伝達関数

28.9.1 10 ビットモード

図 28-18 に、ADC モジュールの理想的な伝達関数を示します。入力電圧の差 (VINH – VINL) を、リファレンス (VREFH – VREFL) と比較します。

• 最初のコード遷移 (A) は、入力電圧が (VREFH – VREFL/2048) または 0.5 LSb になると発生する

• 00 0000 0001のコードは (VREFH – VREFL/1024) または 1.0 LSb の中心とする (B)

• 10 0000 0000のコードは (512 • (VREFH – VREFL)/1024) の中心とする (C)

• (1 • (VREFH – VREFL)/2048) 未満の入力電圧は 00 0000 0000 として変換される (D)

• (2045 • (VREFH – VREFL)/2048) を超える入力は 11 1111 1111 として変換される (E)

図 28-18: ADC モジュール伝達関数 (10 ビットモード )

10 0000 0010 (= 514)10 0000 0011 (= 515)

01 1111 1101 (= 509)01 1111 1110 (= 510)01 1111 1111 (= 511)

11 1111 1110 (= 1022)11 1111 1111 (= 1023)

00 0000 0000 (= 0)00 0000 0001 (= 1)

Output Code

10 0000 0000 (= 512)

(VINH – VINL)

VREFL

VREFH – VREFL

1024

VREFH

VREFL +

10 0000 0001 (= 513)

512 • (VREFH – VREFL)1024

VREFL +1023 • (VREFH – VREFL)

1024VREFL +

(A)

(B)

(C)

(D)

(E)

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-33

Page 34: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

28.9.2 伝達関数 (12 ビットモード )

図 28-18 に、ADC の理想的な伝達関数を示します。入力電圧の差 (VINH – VINL) を、リファレンス (VREFH – VREFL) と比較します。

• 最初のコード遷移 (A) は、入力電圧が (VREFH – VREFL/8192) または 0.5 LSb になると発生する

• 00 0000 0001のコードは (VREFH – VREFL/4096) または 1.0 LSb の中心とする (B)

• 10 0000 0000のコードは (2048 • (VREFH – VREFL)/4096) の中心とする (C)

• (1 • (VREFH – VREFL)/8192) 未満の入力電圧は 00 0000 0000 として変換される (D)

• (8192 • (VREFH – VREFL)/8192) を超える入力は 11 1111 1111として変換される (E)

図 28-19: A/D 伝達関数 (12 ビットモード )

1000 0000 0001 (= 2049)1000 0000 0010 (= 2050)1000 0000 0011 (= 2051)

0111 1111 1101 (= 2045)

0111 1111 1110 (= 2046)0111 1111 1111 (= 2047)

1111 1111 1110 (= 4094)1111 1111 1111 (= 4095)

0000 0000 0000 (= 0)0000 0000 0001 (= 1)

Output Code

1000 0000 0000 (= 2048)

(VINH – VINL)

VREFL VREFH – VREFL

4096

VREFH

VREFL +

(A)

(B)

(C)

(D)

(E)

2048 • (VREFH – VREFL)4096

VREFL +

DS70210A_JP - p. 28-34 © 2011 Microchip Technology Inc.

Page 35: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

© 2011

Microchip T

echnology Inc.D

S70210A

_JP - p. 2

8-35

セク

ショ

ン 28. A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

下 して読み出します。

Bit 3 Bit 2 Bit 1 Bit 0 全リセット

AD xxxx

AD xxxx

AD xxxx

AD xxxx

AD xxxx

AD xxxx

AD xxxx

AD xxxx

AD xxxx

AD xxxx

AD xxxx

AD xxxx

AD xxxx

AD xxxx

AD xxxx

AD xxxx

AD SIMSAM ASAM SAMP DONE 0000

AD <3:0> BUFM ALTS 0000

AD <7:0> 0000

AD — CH123NA<1:0> CH123SA 0000

AD CH0SA<4:0> 0000

AD PCFG3 PCFG2 PCFG1 PCFG0 0000

AD CSS3 CSS2 CSS1 CSS0 0000

A/Dコンバータ(ADC) (DMAなし) 28

.10 特殊機能レジスタ

表に、アドレスと形式を含む特殊機能レジスタの一覧を示します。未実装のレジスタとレジスタ内のビットは全てゼロと

28-4: ADC レジスタマップ

SFR 名 アドレス Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4

C1BUF0 0300 ADC データバッファ 0

C1BUF1 0302 ADC データバッファ 1

C1BUF2 0304 ADC データバッファ 2

C1BUF3 0306 ADC データバッファ 3

C1BUF4 0308 ADC データバッファ 4

C1BUF5 030A ADC データバッファ 5

C1BUF6 030C ADC データバッファ 6

C1BUF7 030E ADC データバッファ 7

C1BUF8 0310 ADC データバッファ 8

C1BUF9 0312 ADC データバッファ 9

C1BUFA 0314 ADC データバッファ 10

C1BUFB 0316 ADC データバッファ 11

C1BUFC 0318 ADC データバッファ 12

C1BUFD 031A ADC データバッファ 13

C1BUFE 031C ADC データバッファ 14

C1BUFF 031E ADC データバッファ 15

1CON1 0320 ADON — ADSIDL — — AD12B FORM<1:0> SSRC<2:0> —

1CON2 0322 VCFG<2:0> — — CSCNA CHPS<1:0> BUFS — SMPI

1CON3 0324 ADRC — — SAMC<4:0> ADCS

1CHS123 0326 — — — — — CH123NB<1:0> CH123SB — — — —

1CHS0 0328 CH0NB — — CH0SB<4:0> CH0NA — —

1PCFGL 032C — — — PCFG12 PCFG11 PCFG10 PCFG9 PCFG8 PCFG7 PCFG6 PCFG5 PCFG4

1CSSL 0330 — — — CSS12 CSS11 CSS10 CSS9 CSS8 CSS7 CSS6 CSS5 CSS4

例 : x = リセット時の未知の値、— = 未実装、「0」として読み出し、リセット時の値を 16 進数で表示

Page 36: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

28.11 設計のヒント

質問 1: ADC モジュールのシステム性能を最適化するにはどうすれば良いですか。

回答 : 性能を最適化するために 3 つの方法を提案します。

a) タイミング仕様を全て満たしている事を確認してください。ADC モジュールの ON/OFF を行う場合、サンプリングの前に遅延時間が必要です。入力チャンネルを変更する場合も、同様の遅延時間を考慮する必要があります。また、各ビット変換に対して選択される時間 TAD も加わります。TAD は ADC制御レジスタ (AD1CON3) で選択され、各デバイスのデータシートの「電気的特性」に指定されたレンジ内に収まっている必要があります。TAD が短すぎると、変換終了時間までに変換が完了しない可能性があります。TAD

が長すぎると、変換が完了する前にサンプリング コンデンサの電圧が低下する可能性があります。こうしたタイミング仕様は、各デバイスのデータシートの「電気的仕様」に記載されています

b) アナログ信号のソース インピーダンスが高いと (10 k超 )、サンプリングコンデンサを十分に充電できなくなり、測定精度に影響を与える事があります。入力信号が素早く変わらない場合、0.1 F のコンデンサをアナログ入力に追加します。このコンデンサはサンプリング時のアナログ電圧まで充電されて、4.4 pF 内部ホールド コンデンサの充電に必要な瞬時電流を供給します。

c) A/D 変換を開始する前に、デバイスをスリープモードにします。スリープモード中に変換を行うには RC クロック源の選択が必要です。この方法では、CPUと他の周辺モジュールからのデジタルノイズが最小限になるため、精度が向上します。

質問 2: A/D 変換に関して役立つ参考図書はありますか。

回答 : A/D 変換を理解するのに役立つ参考図書として『Analog-Digital Conversion Handbook』( 第 3 版、Prentice Hall 刊 (ISBN 0-13-03-2848-0)) があります。

質問 3: チャンネル /サンプルとサンプル /割り込みの組み合わせがバッファのサイズを超えています。この場合、バッファはどうなりますか。

回答 : バッファに未知の結果が格納されます。設定変更を推奨します。

DS70210A_JP - p. 28-36 © 2011 Microchip Technology Inc.

Page 37: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

セクション 28. A/D コンバータ (ADC) (DMA なし )A

/Dコ

ンバ

ータ

(AD

C) (D

MAな

し)

28

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

本セクションに関連するアプリケーション ノートの一覧を下に記載します。一部のアプリケーション ノートは dsPIC33Fデバイスファミリ向けではありません。ただし概念は共通しており、変更が必要であったり制限事項が存在するものの利用が可能です。A/Dコンバータ (ADC) (DMAなし ) モジュールに関連する最新のアプリケーション ノートは以下の通りです。

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

Using the Analog-to-Digital (A/D) Converter AN546

4-Channel Digital Voltmeter with Display and Keyboard AN557

Understanding A/D Converter Performance Specifications AN693

Using the dsPIC30F for Sensorless BLDC Control AN901

Using the dsPIC30F for Vector Control of an ACIM AN908

Sensored BLDC Motor Control Using the dsPIC30F2010 AN957

An Introduction to AC Induction Motor Control Using the dsPIC30F MCU AN984

Note: dsPIC33F デバイスファミリ関連のアプリケーション ノートとサンプルコードは、マイクロチップ社のウェブサイト (www.microchip.com) でご覧になれます。

© 2011 Microchip Technology Inc. DS70210A_JP - p. 28-37

Page 38: セクション 28. A/D コンバータ (ADC) (DMA なしww1.microchip.com/downloads/jp/DeviceDoc/70210A_JP.pdfAD 変換が完了した時点で、ハードウェアで自動的にセットされます。ソフトウェアで「0」を書き

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

28.13 改訂履歴

リビジョン A (2007 年 6 月 )

初版発行

ISBN: 978-1-60932-877-1

DS70210A_JP - p. 28-38 © 2011 Microchip Technology Inc.