CONFIG ADCx

Top  Previous  Next

Action

Configures the A/D converter of the Xmega.

 

 

Syntax

CONFIG ADCA | ADCB = mode, CONVMODE=sign, RESOLUTION=res, DMA=dma, REFERENCE=ref,EVENT_MODE=evt,  EVENT_CHANNEL=evtchan, PRESCALER=pre, BANDGAP=gap, TEMPREF=tref, SWEEP=sweep, CH0_GAIN=gain, CH0_INP= inp, MUX0=mux, CH1_GAIN=gain, CH1_INP= inp, MUX1=mux  , CH2_GAIN=gain, CH2_INP= inp, MUX2=mux, CH3_GAIN=gain, CH3_INP= inp, MUX3=mux

 

 

Remarks

mode

Running mode. May be SINGLE or FREE.

sign

The conversion mode. This can be SIGNED or UNSIGNED. When choosing SIGNED you should assign the result to an integer. When choosing UNSIGNED you should assign the result to a word. The default is UNSIGNED.

res

The resolution of the conversion. Valid values are :

- 8BIT

- 12BIT. This is the default

- LEFT12BIT. This will result in a left aligned 21 bit value.

dma

If you want to use the DMA channel, you can select which DMA channels must be used:

- OFF (no DMA)

- CH01 (channel 0 + 1)

- CH012 (channel 0 + 1 + 2)

- CH0123 (channel 0 + 1 + 2 + 3)

ref

Selects the reference to use. Valid options :

- INT1V. For internal 1V reference

- INTVCC. For internal voltage divided by 1.6

- AREFA. External reference from AREF pin on PORT A.

- AREFB. External reference from AREF pin on PORT B.

 

gap

Enables the bangap reference. Use ENABLED or DISABLED.

Setting this bit enables the bandgap to prepare for ADC measurement. Note that if any other

functions are using the bandgap already, this bit does not need to be set. This could be when the

internal 1V reference is used in ADC or DAC, or if the Brown-out Detector is enabled.

tref

Enables the temperature reference. Use ENABLED or DISABLED.

Setting this bit enables the temperature reference to prepare for ADC measurement

sweep

Selects which channels are included in a sweep when a channel sweep is triggered by the event system or in the free running mode.

Valid options :

- CH0 : channel 0 included

- CH01 : channel 0 and 1 included

- CH012 : channel 0-2 included

- CH0123 : all channels are included

evtchan

Event channel selection. This selects which channel should trigger which ADC channel.

Valid options:

- CH0123. Event channel 0, 1, 2, 3 as selected inputs

- CH1234. Event channel 1, 2, 3, 4  as selected inputs

- CH2345. Event channel 2,3, 4, 5 as selected inputs

- CH3456. Event channel 3, 4, 5, 6 as selected inputs

- CH4567. Event channel 4, 5, 6, 7 as selected inputs

- CH456. Event channel 4, 5, 6 as selected inputs

- CH67. Event channel 6 and 7 as selected inputs

- CH7. Event channel 7 as selected input

 

evt

Event channel mode selection. This selects how many of the selected event channel are in use. Valid options:

- NONE. Event system is not used

- CH0. Event channel with the lowest number, defined by evtchan

triggers conversion on channel 0

- CH01. Event channel with the two lowest numbers, defined by

evtchan trigger conversion on channel 0 and 1 respectively

- CH012. Event channel with the three lowest numbers, defined by

evtchan trigger conversion on channel 0, 1 and 2 respectively

- CH0123. Event channel defined by evtchan trigger conversion on

channel 0, 1, 2 and 3 respectively

- SWEEP. One sweep of all active ADC channels defined by SWEEP on

incoming event channel with the lowest number, defined by evtchan

- SYNCSWEEP. One sweep of all active ADC channels defined by SWEEP on

incoming event channel with the lowest number, defined by

evtchan. In addition, the conversion will be synchronized on

event to ensure a very accurate timing for the conversion.

pre

Prescaler value. The prescaler divides the system clock and applies it to the A/D converter.

Valid prescaler values :

- 4, 8, 16, 32, 64, 128, 256 and 512

gain

Each of the 4 channels can have a different gain. Valid values are :

1,2,4,8,16,32 and 64

inp

Each of the 4 channels can have a different mode. The 4 modes are :

- INTERNAL. For example for temperature measurement

- SINGLE_ENDED. For measuring positive voltages

- DIFF. For differential input without gain which allows to measure negative voltages.

- DIFFWGAIN. Same as DIFF but with gain.

mux

Selects the MUX to use with the channel. This must be a numeric constant.

The value depends on the mode. See page 284 of the XMega manual.

At run time you can change the ADCx_CHy_MUXCTRL register. Where x is A or B, and y is the channel 0-3

 

 

 

See also

GETADC , CONFIG ADC

 

 

 

Example

'--------------------------------------------------------------------------------

'setup the ADC-A converter

Config Adca = Single , Convmode = Unsigned , Resolution = 12bit , Dma = Off , Reference = Int1v , Event_mode = None , Prescaler = 32 , Ch0_gain = 1 , Ch0_inp = Single_ended , Mux0 = 0       'you can setup other channels as well

 

W = Getadc(adca , 0)