ATSAML21G16B DAC registers

The 15 registers of DAC (Digital-to-Analog Converter), from 0x42003000, with their reset value and every field. The ATSAML21G16B has 1265 registers in 40 peripherals, one page each.

DAC Digital-to-Analog Converter

CTRLAControl A

Address
0x42003000
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2–
  7. 1ENABLE
  8. 0SWRST
2 fields
FieldBitsWhat it does
ENABLE1Enable DAC Controller
SWRST0Software Reset

CTRLBControl B

Address
0x42003001
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2REFSEL1
  7. 1REFSEL0
  8. 0DIFF
2 fields
FieldBitsWhat it does
REFSEL2:1Reference Selection for DAC0/1
  • 0 External reference unbuffered
  • 1 Analog supply
  • 2 External reference buffered
  • 3 Internal bandgap reference
DIFF0Differential mode enable

EVCTRLEvent Control

Address
0x42003002
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5INVEI1
  4. 4INVEI0
  5. 3EMPTYEO1
  6. 2EMPTYEO0
  7. 1STARTEI1
  8. 0STARTEI0
6 fields
FieldBitsWhat it does
INVEI15Enable Invertion of DAC 1 input event
INVEI04Enable Invertion of DAC 0 input event
EMPTYEO13Data Buffer Empty Event Output DAC 1
EMPTYEO02Data Buffer Empty Event Output DAC 0
STARTEI11Start Conversion Event Input DAC 1
STARTEI00Start Conversion Event Input DAC 0

INTENCLRInterrupt Enable Clear

Address
0x42003004
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3EMPTY1
  6. 2EMPTY0
  7. 1UNDERRUN1
  8. 0UNDERRUN0
4 fields
FieldBitsWhat it does
EMPTY13Data Buffer 1 Empty Interrupt Enable
EMPTY02Data Buffer 0 Empty Interrupt Enable
UNDERRUN11Underrun Interrupt Enable for DAC 1
UNDERRUN00Underrun Interrupt Enable for DAC 0

INTENSETInterrupt Enable Set

Address
0x42003005
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3EMPTY1
  6. 2EMPTY0
  7. 1UNDERRUN1
  8. 0UNDERRUN0
4 fields
FieldBitsWhat it does
EMPTY13Data Buffer 1 Empty Interrupt Enable
EMPTY02Data Buffer 0 Empty Interrupt Enable
UNDERRUN11Underrun Interrupt Enable for DAC 1
UNDERRUN00Underrun Interrupt Enable for DAC 0

INTFLAGInterrupt Flag Status and Clear

Address
0x42003006
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3EMPTY1
  6. 2EMPTY0
  7. 1UNDERRUN1
  8. 0UNDERRUN0
4 fields
FieldBitsWhat it does
EMPTY13Data Buffer 1 Empty
EMPTY02Data Buffer 0 Empty
UNDERRUN11DAC 1 Underrun
UNDERRUN00DAC 0 Underrun

STATUSStatus

Address
0x42003007
Reset
0x00
Access
read only
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3EOC1
  6. 2EOC0
  7. 1READY1
  8. 0READY0
4 fields
FieldBitsWhat it does
EOC13DAC 1 End of Conversion
EOC02DAC 0 End of Conversion
READY11DAC 1 Startup Ready
READY00DAC 0 Startup Ready

SYNCBUSYSynchronization Busy

Address
0x42003008
Reset
0x00000000
Access
read only
Size
32-bit
6 fields
FieldBitsWhat it does
DATABUF15Data Buffer DAC 1
DATABUF04Data Buffer DAC 0
DATA13Data DAC 1
DATA02Data DAC 0
ENABLE1DAC Enable Status
SWRST0Software Reset

DACCTRL0DAC n Control

Address
0x4200300C
Reset
0x0000
Access
read/write
Size
16-bit
6 fields
FieldBitsWhat it does
REFRESH11:8Refresh period
  • 0 Do not Refresh
  • 2 Refresh every 60US
  • 3 Refresh every 90US
  • 4 Refresh every 120US
  • 5 Refresh every 150US
  • 6 Refresh every 180US
  • 7 Refresh every 210US
  • 8 Refresh every 240US
  • 9 Refresh every 270US
  • 10 Refresh every 300US
  • 11 Refresh every 330US
  • 12 Refresh every 360US
  • 13 Refresh every 390US
  • 14 Refresh every 420US
  • 15 Refresh every 450US
DITHER7Dithering Mode
RUNSTDBY6Run in Standby
CCTRL3:2Current Control
  • 0 GCLK_DAC <= 1.2MHz (100kSPS)
  • 1 1.2MHz < GCLK_DAC <= 6MHz (500kSPS)
  • 2 6MHz < GCLK_DAC <=12MHz (1MSPS)
ENABLE1Enable DAC0
LEFTADJ0Left Adjusted Data

DACCTRL1DAC n Control

Address
0x4200300E
Reset
0x0000
Access
read/write
Size
16-bit
6 fields
FieldBitsWhat it does
REFRESH11:8Refresh period
  • 0 Do not Refresh
  • 2 Refresh every 60US
  • 3 Refresh every 90US
  • 4 Refresh every 120US
  • 5 Refresh every 150US
  • 6 Refresh every 180US
  • 7 Refresh every 210US
  • 8 Refresh every 240US
  • 9 Refresh every 270US
  • 10 Refresh every 300US
  • 11 Refresh every 330US
  • 12 Refresh every 360US
  • 13 Refresh every 390US
  • 14 Refresh every 420US
  • 15 Refresh every 450US
DITHER7Dithering Mode
RUNSTDBY6Run in Standby
CCTRL3:2Current Control
  • 0 GCLK_DAC <= 1.2MHz (100kSPS)
  • 1 1.2MHz < GCLK_DAC <= 6MHz (500kSPS)
  • 2 6MHz < GCLK_DAC <=12MHz (1MSPS)
ENABLE1Enable DAC0
LEFTADJ0Left Adjusted Data

DATA0DAC n Data

Address
0x42003010
Reset
0x0000
Access
write only
Size
16-bit
1 field
FieldBitsWhat it does
DATA15:0DAC0 Data

DATA1DAC n Data

Address
0x42003012
Reset
0x0000
Access
write only
Size
16-bit
1 field
FieldBitsWhat it does
DATA15:0DAC0 Data

DATABUF0DAC n Data Buffer

Address
0x42003014
Reset
0x0000
Access
write only
Size
16-bit
1 field
FieldBitsWhat it does
DATABUF15:0DAC0 Data Buffer

DATABUF1DAC n Data Buffer

Address
0x42003016
Reset
0x0000
Access
write only
Size
16-bit
1 field
FieldBitsWhat it does
DATABUF15:0DAC0 Data Buffer

DBGCTRLDebug Control

Address
0x42003018
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2–
  7. 1–
  8. 0DBGRUN
1 field
FieldBitsWhat it does
DBGRUN0Debug Run