
C8051F022/3
Rev. 1.4
59
6.
ADC0 (10-BIT ADC, C8051F022/3 ONLY)
The ADC0 subsystem for the C8051F022/3 consists of a 9-channel, configurable analog multiplexer (AMUX0), a
programmable gain amplifier (PGA0), and a 100 ksps, 10-bit successive-approximation-register ADC with integrated
track-and-hold and Programmable Window Detector (see block diagram in
Figure 6.1). The AMUX0, PGA0, Data
Conversion Modes, and Window Detector are all configurable under software control via the Special Function Regis-
enabled only when the AD0EN bit in the ADC0 Control register (ADC0CN) is set to logic 1. The ADC0 subsystem is
in low power shutdown when this bit is logic 0.
6.1.
Analog Multiplexer and PGA
Eight of the AMUX channels are available for external measurements while the ninth channel is internally connected
to an on-chip temperature sensor (temperature transfer function is shown in
Figure 6.2). AMUX input pairs can be
programmed to operate in either differential or single-ended mode. This allows the user to select the best measure-
ment technique for each input channel, and even accommodates mode changes "on-the-fly". The AMUX defaults to
all single-ended inputs upon reset. There are two registers associated with the AMUX: the Channel Selection register
functionality by channel, for each possible configuration. The PGA amplifies the AMUX output signal by an amount
determined by the states of the AMP0GN2-0 bits in the ADC0 Configuration register, ADC0CF
(Figure 6.7). The
PGA can be software-programmed for gains of 0.5, 2, 4, 8 or 16. Gain defaults to unity on reset.
10-Bit
SAR
ADC
REF
+
-
AV+
TEMP
SENSOR
10
+
-
+
-
+
-
9-to-1
AMUX
(SE or
DIFF)
AV+
20
10
AD0EN
SYSC
L
K
+
-
X
AIN0
AIN1
AIN2
AIN3
AIN4
AIN5
AIN6
AIN7
Start Conversion
AGND
AD
C0
L
ADC0
H
ADC0LTL
ADC0LTH
ADC0GTL
ADC0GTH
AD0CM
Timer 3 Overflow
Timer 2 Overflow
00
01
10
11
AD0BUSY (W)
CNVSTR
AD0WINT
Comb.
Logic
AMX0SL
AM
X0AD
0
AM
X0AD
1
AM
X0AD
2
AM
X0AD
3
AMX0CF
AIN01IC
AIN23IC
AIN45IC
AIN67IC
ADC0CF
AM
P0GN0
AM
P0GN1
AM
P0GN2
AD0SC
0
AD0SC
1
AD0SC
2
AD0SC
3
AD0SC
4
ADC0CN
AD0LJST
AD0W
IN
T
AD0CM
0
AD0CM
1
AD
0BUS
Y
AD0INT
AD0TM
AD0EN
AD0CM
Figure 6.1. 10-Bit ADC0 Functional Block Diagram