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

16-18: 2チャンネル逐次サンプリングにおける交互入力選択(DMA付きデバイス)

アナログ / デジタル コンバータ (ADC)

16-13: チャンネル スキャンモードにおける割り込み1回あたりの変換回数

(DMAなしデバイス)

例16-6に、DMAなしデバイスでCH0を使用して4つのアナログ入力をスキャンするコード シーケンスを示します。図 16-19に、ADCモジュールの動作シーケンスを示します。

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

(DMAなしデバイス、10ビット/12ビットADC)

16-19: CH0を使用する4つのアナログ入力のスキャン(DMAなしデバイス) 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チャンネル同時サンプリングモード

Note: ADC割り込み発生時にADCロジックが初期化されて変換シーケンスが最初から

再開されます。

AD1CON1bits.AD12B=1; // Select 12-bit mode, 1-channel mode AD1CON2bits.SMPI = 3; // Select 4 conversions between interrupt AD1CHS0bits.ASAM = 1; // Enable Automatic Sampling

AD1CON2bits.CSCNA = 1; // Enable Channel Scanning // Initialize Channel Scan Selection

AD1CSSLbits.CSS2=1; // Enable AN2 for scan AD1CSSLbits.CSS3=1; // Enable AN3 for scan AD1CSSLbits.CSS5=1; // Enable AN5 for scan AD1CSSLbits.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

16-7: 交互入力選択によるチャンネル スキャンのコードシーケンス(DMAなしデバイス)

16-20:交互入力選択によるチャンネル スキャン(DMAなしデバイス) AD1CON1bits.AD12B = 0;// Select 10-bit mode

AD1CON2bits.CHPS = 1;// Select 2-channel mode AD1CON1bits.SIMSAM = 0;// Enable Sequential Sampling AD1CON2bits.ALTS = 1;// Enable Alternate Input Selection AD1CON2bits.CSCNA = 1;// Enable Channel Scanning

AD1CON2bits.SMPI = 7; // Select 8 conversion between interrupt AD1CON1bits.ASAM = 1;// Enable Automatic Sampling

// Initialize Channel Scan Selection AD1CSSLbits.CSS2 = 1;// Enable AN2 for scan AD1CSSLbits.CSS3 = 1;// Enable AN3 for scan // Initialize MUXA Input Selection

AD1CHS123bits.CH123SA = 0;// Select AN0 for CH1 +ve input AD1CHS123bits.CH123NA = 0;// Select Vref- for CH1 -ve inputs // Initialize MUXB Input Selection

AD1CHS0bits.CH0SB = 8;// Select AN8 for CH0 +ve input AD1CHS0bits.CH0NB = 0;// Select VREF- for CH0 -ve inputs AD1CHS123bits.CH123SB = 0;// Select AN4 for CH1 +ve input AD1CHS123bits.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の入力マルチプレクサはチャンネルスキャンロジックが内部生成する制御ビットを使用し、CH1の入力マルチプレクサは MUXA制御ビット(CHySA/CHyNA)を使用してサンプリングに使用するアナログ入力を選択し、選択したアナログ入力をサン プリングコンデンサに接続する

2: SOCトリガ発生時にCH0/CH1入力を逐次サンプリングして等価デジタル値に変換する

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

4: SOCトリガ発生時にCH0/CH1入力を逐次サンプリングして等価デジタル値に変換する

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

6: SOCトリガ発生時にCH0/CH1入力を逐次サンプリングして等価デジタル値に変換する

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

8: SOCトリガ発生時にCH0/CH1入力を逐次サンプリングして等価デジタル値に変換する 9: 8つのサンプルを変換した後にADC割り込みを生成する

アナログ / デジタル コンバータ (ADC)

DMA付きデバイスでCH0だけを有効(ALTS = 0)にしてチャンネル スキャンを使用する場合、

SMPI<3:0> ビットをスキャンする入力数 (N) より 1 つ少ない値に設定する必要があります (SMPI<3:0> = N - 1)。

16-21: CH0を使用する4つのアナログ入力のスキャン(DMA付きデバイス)

16-22:交互入力選択によるチャンネル スキャン(DMA付きデバイス) Sample

(AN2)

CH0 Convert

(AN2)

SOC Trigger

Sample (AN3)

Convert (AN3)

Sample (AN5)

Convert (AN5)

Sample (AN6)

Convert (AN6)

ADC Interrupt

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の入力マルチプレクサはチャンネル スキャンロジックが内部生成する制御ビットを使用し、CH1の入力マルチプレクサは MUXA制御ビット(CHySA/CHyNA)を使用してサンプリングに使用するアナログ入力を選択し、選択したアナログ入力をサン プリングコンデンサに接続する

2: SOCトリガ発生時にCH0/CH1入力を逐次サンプリングして等価デジタル値に変換する

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

4: SOCトリガ発生時にCH0/CH1入力を逐次サンプリングして等価デジタル値に変換する

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

9

9

9 9

9 9

9

9