23.3 Functional Description
An overview of the IDAC module is shown in
Figure 23.1 IDAC Overview on page 791
. The IDAC is designed to source or sink a
programmable current which can be controlled by setting the range and the step in the RANGESEL and STEPSEL bitfields in
IDAC_CURRPROG register. The IDAC output enable to APORT can be controlled by software or PRS. Output enable to APORT is
controlled by software by setting APORTOUTEN, or by PRS by setting APORTOUTENPRS in IDAC_CTRL. The APORTOUTSEL bit-
field in IDAC_CTRL selects which APORT channel to route to pin. The IDAC is enabled by setting EN in IDAC_CTRL.
IDAC
BUS1X
IDAC_CURRPROG_RANGESEL
IDAC_CURRPROG_STEPSEL
IDAC_CTRL_EN
IDAC_CTRL_CURSINK
IDAC_CAL_TUNING
IDAC_CTRL_PRSSEL
IDAC_CTRL_OUTENPRS
BUS1Y
Output control
VDDX_ANA
Internal
output
IDAC_CTRL_OUTMODE
IDAC_CTRL_OUTEN
IDAC_CTRL_MINOUTTRANS
IDAC_CTRL_APORT
IDAC_APORT_STATUS
Figure 23.1. IDAC Overview
23.3.1 Current Programming
The four different current ranges can be selected by configuring the RANGESEL bitfield in IDAC_CURRPROG. The current output in
each range is linearly programmable in 32 steps, and is controlled by the STEPSEL bitfield in IDAC_CURRPROG. These current rang-
es and their step sizes are shown in
Table 23.1 Range Selection on page 791
.
Table 23.1. Range Selection
Range Select
Range Value [µA]
Step Size [nA]
Step Counts
0
0.05 - 1.6
50
32
1
1.6 - 4.7
100
32
2
0.5 - 16
500
32
3
2 - 64
2000
32
23.3.2 IDAC Enable and Warm-up
The IDAC is enabled by setting the EN bit in IDAC_CTRL. When this bit is set, the IDAC must stabilize before its output current is
stable.
It is important to wait until the IDAC is warmed up, or until any current programming is complete and the output current is stabilized,
before entering EM1, EM2, or EM3.
EFM32JG1 Reference Manual
IDAC - Current Digital to Analog Converter
silabs.com
| Smart. Connected. Energy-friendly.
Preliminary Rev. 0.6 | 791