り込みあたり 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 進数))
電圧レベル