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

MUX A と MUX B の交互入力選択の使い方

ドキュメント内 PIC24F_ADConberter (ページ 30-34)

り込みあたり 1 サンプルから 16 サンプルまで指定できます。各割り込みの後に、A/D 変 換モジュールは常にバッファの先頭から変換結果の書き込みを開始します。例えば、

18. 割り込みから戻って (1-16) を繰り返す

17.9.4 MUX A と MUX B の交互入力選択の使い方

17-13

および例

17-11

MUX A

および

MUX B

に割り当てられた入力の交互サンプリン グの例です。

ALTS

ビットをセットすると、交互入力選択が有効化されます。最初のサン プルでは、CH0SA、CH0NAビットで指定された

MUX A 入力を使用します。次のサンプ

ルでは、CH0SB、CH0NBビットで指定された

MUX B 入力を使用します。

この例では、

2

つの

8

ワードバッファの例も示しています。

8

回目のサンプルごとに割り 込みが発生し、割り込みごとに

8

ワードがバッファに格納されていることになります。

17-13: 交互入力選択を使って 2

つの入力を変換する場合

A/D CLK

SAMP

ADC1BUF0 ADC1BUF1 DONE

ADC1BUF2 ADC1BUF3 CH0への入力

AN1 TSAMP

AD1IF

TCONV

ADC1BUF4 ADC1BUF5 ADC1BUF6 ADC1BUF7

AN15 TSAMP

TCONV

ASAM

BUFS

AN1 TSAMP

TCONV

AN15 TSAMP

TCONV

ADC1BUF8 ADC1BUF9 ADC1BUFA ADC1BUFB

TCONV TSAMP

AN15 変換

トリガ

ソフトウェアでクリア

ソフトウェアで クリア

TCONV TCONV TCONV TCONV TCONV

10 ビット A/D コンバータ

17

例 17-11: MUX Aと

MUX B

を交互で

2

つの入力を変換する例

A/D の構成

• AN1

MUX A CH0+

の入力として選択 (CH0SA3:CH0SA0 = 0001)

• V

R

-

MUX A CH0-

の入力として選択

(CH0NA = 0 )

入力スキャンなしに構成

(CSCNA = 0)

• AN15

MUX B CH0+

の入力として選択

(CH0SB3:CH0SB0 = 1111)

• V

R

-

MUX B CH0-

の入力として選択 (CH0NB = 0)

• MUX A

MUX B

の交互サンプリングとする

(ALTS = 1 )

• AD1IF

8

回目のサンプルごとにセットする

(SMPI3:SMPI0 = 0111)

• バッファを 2

つの

8

ワード セグメントとする (BUFM = 1)

動作シーケンス

1. MUX A

入力の

AN1

をサンプル

;

変換しバッファ

0h

に書き込む

2. MUX B

入力の

AN15

をサンプル

; 変換しバッファ 1h

に書き込む

3. MUX A

入力の

AN1

をサンプル

; 変換しバッファ 2h

に書き込む

4. MUX B

入力の

AN15

をサンプル

;

変換しバッファ

3h

に書き込む

5. MUX A

入力の

AN1

をサンプル

;

変換しバッファ

4h

に書き込む

6. MUX B

入力の

AN15

をサンプル

; 変換しバッファ 5h

に書き込む

7. MUX A

入力の

AN1

をサンプル

; 変換しバッファ 6h

に書き込む

8. MUX B

入力の

AN15

をサンプル

; 変換しバッファ 7h

に書き込む

9. AD1I

フラグをセット

(

有効ならば割り込み発生

);

書き込みアクセスが自動的に別

のバッファに切り替わる

10. (1-9)

を繰り返す

;

バッファ書き込みはバッファ8hから再開 (別のバッファの最初 のアドレス

)

バッファに格納される結果

(2

サイクル後

)

バッファ アドレス

バッファ内容

最初のAD1IFイベント時

バッファ内容 2回目のAD1IFイベント時

ADC1BUF0 サンプル 1 (AN1、 サンプル 1) (使用しない)

ADC1BUF1 サンプル 2 (AN15、 サンプル 1) (使用しない)

ADC1BUF2 サンプル 3 (AN1、 サンプル 2) (使用しない)

ADC1BUF3 サンプル 4 (AN15、 サンプル 2) (使用しない)

ADC1BUF4 サンプル 5 (AN1サンプル 3) (使用しない)

ADC1BUF5 サンプル 6 (AN15、 サンプル 3) (使用しない)

ADC1BUF6 サンプル 7 (AN1、 サンプル 4) (使用しない)

ADC1BUF7 サンプル 8 (AN15、 サンプル 4) (使用しない)

ADC1BUF8 (使用しない) サンプル 9 (AN1、 サンプル 5)

ADC1BUF9 (使用しない) サンプル 10 (AN15、 サンプル 5)

ADC1BUFA (使用しない) サンプル 11 (AN1、 サンプル 6)

ADC1BUFB (使用しない) サンプル 12 (AN15、 サンプル 6)

ADC1BUFC (使用しない) サンプル 13 (AN1、 サンプル 7)

ADC1BUFD (使用しない) サンプル 14 (AN15、 サンプル 7)

ADC1BUFE (使用しない) サンプル 15 (AN1、 サンプル 8)

ADC1BUFF (使用しない) サンプル 16 (AN15サンプル 8)

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

10 ビット A/D コンバータのアナログ入力モデルは図 17-14 に示されています。 A/D

の合計 サンプリング時間はホールド キャパシタの充電時間の関数となります。

A/D

コンバータの仕様精度を満たすためには、充電ホールドキャパシタ

(C

HOLD

)

をアナロ グ入力ピンの電圧レベルまで十分充電する必要があります。ソースのインピーダンス

(R

S

)

、 内部接続インピーダンス

(R

IC

)

、内部サンプリング スイッチのインピーダンス (RSS

)

の合 計が、

C

HOLDの充電にかかる時間に直接影響を及ぼします。したがって、アナログ源の結 合インピーダンスは、選択されたサンプル時間内にホールドキャパシタを完全に充電でき るよう十分小さいものである必要があります。

A/D

コンバータの精度に対するピンの電流 漏れの影響を最小にするための、最大の推奨ソース インピーダンス

R

Sは

2.5 kΩ

です。ア ナログ入力チャネルが選択

(

変更

)

されたあと、このサンプリング機能は、変換開始に先 立って完了している必要があります。内部ホールドキャパシタは各サンプル動作に先立ち 放電された状態になります。

最小

1 T

AD

時間が変換と変換の間のサンプル時間として必要です。詳細は 17.16

項 「電気

的仕様」を参照して下さい。

17-14: 10

ビット

A/D

コンバータのアナログ入力モデル

CPIN VA

Rs ANx

ILEAKAGE

RIC ≤ 250Ω サンプリング スイッチ

RSS

CHOLD

VSS

= 4.4 pF

±500 nA

凡例: CPIN VT ILEAKAGE RIC RSS CHOLD

= 入力容量

= スレッショルド電圧

= 種々の結合によるピンの漏れ電流

= 内部接続抵抗

= サンプリング スイッチの抵抗

= サンプル/ホールドキャパシタ

注: CPIN の値はデバイス パッケージに依存し、かつ未テストです。Rs ≤ 5 kΩならCPINによる影響は無視できます。

RSS ≤ 3 kΩ

 (DACから)

10 ビット A/D コンバータ

17

17.11 変換関数

A/D コンバータの変換関数を図 17-15

に示します。入力電圧の差分

(V

INH

– V

INL

)

がリファ レンス

((V

R

+ ) – (V

R

-))

と比較されます。

入力電圧が

((V

R

+) – (V

R

-))/1024

または

1.0 LSb

のとき、最初のコード遷移がおきる

• 00 0000 0001

のコードは

V

R

- + (1.5 * ((V

R

+) – (V

R

-))/1024)

の中心とする

• 10 0000 0000

のコードは

V

REFL

+ (512.5 * ((V

R

+) – (V

R

-))/1024)

の中心とする

• V

R

- + (((V

R

-) – (V

R

-))/1024)

未満の入力は 00 0000 0000として変換される

• (V

R

-) + (1023 ((V

R

+) – (V

R

-))/1024)

を超える入力は

11 1111 1111

として変換される

17-15: A/D 変換関数

10 0000 0001 (513) 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)

出力コード

10 0000 0000 (512)

(VINH – VINL)

VR- VR+– VR- 1024 512 * (VR+– VR-) 1024 VR+

VR- + VR-+ 1023 * (VR+– VR-) 1024VR- +

0

(2 進数 (10 進数))

電圧レベル

ドキュメント内 PIC24F_ADConberter (ページ 30-34)

関連したドキュメント