dsPIC30F Family Reference Manual
DS70064C-page 17-38 © 2004 Microchip Technology Inc.
Table 17-5: Converting Four Inputs, One Time/Interrupt Using Dual 8-Word Buffers
CONTROL BITS OPERATION SEQUENCE
Sequence Select Sample MUX A Inputs:
SMPI<2:0> = 0000 AN3 -> CH0, AN0 -> CH1, AN1 -> CH2, AN2 -> CH3
Interrupt on each sample Convert CH0, Write Buffer 0x0
CHPS<1:0> = 1x Convert CH1, Write Buffer 0x1
Sample Channels CH1, CH2, CH3, CH0 Convert CH2, Write Buffer 0x2
SIMSAM = 1 Convert CH3, Write Buffer 0x3
Sample all channels simultaneously Interrupt; Change Buffer
BUFM = 1 Sample MUX A Inputs:
Dual 8-word result buffers AN3 -> CH0, AN0 -> CH1, AN1 -> CH2, AN2 -> CH3
ALTS = 0 Convert CH0, Write Buffer 0x8
Always use MUX A input select Convert CH1, Write Buffer 0x9
MUX A Input Select Convert CH2, Write Buffer 0xA
CH0SA<3:0> = 0011 Convert CH3, Write Buffer 0xB
Select AN3 for CH0+ input Interrupt; Change Buffer
CH0NA = 0 Repeat
Select V
REF- for CH0- input
CSCNA = 0
No input scan
CSSL<15:0> = n/a
Scan input select unused
CH123SA = 0
CH1+ = AN0, CH2+ = AN1, CH3+ = AN2
CH123NA<1:0> = 0x
CH1-, CH2-, CH3- = V
REF-
MUX B Input Select
CH0SB<3:0> = n/a
Channel CH0+ input unused
CH0NB = n/a
Channel CH0- input unused
CH123SB = n/a
Channel CH1, CH2, CH3 + input unused
CH123NB<1:0> = n/a
Channel CH1, CH2, CH3 – input unused
Buffer
Address
Buffer @
1st Interrupt
Buffer @
2nd Interrupt
ADCBUF0 AN3 sample 1
ADCBUF1 AN0 sample 1
ADCBUF2 AN1 sample 1
ADCBUF3 AN2 sample 1
ADCBUF4
ADCBUF5
ADCBUF6
ADCBUF7 •••
ADCBUF8 AN3 sample 2
ADCBUF9 AN0 sample 2
ADCBUFA AN1 sample 2
ADCBUFB AN2 sample 2
ADCBUFC
ADCBUFD
ADCBUFE
ADCBUFF