The C8051F020 family utilizes Silicon Labs' proprietary CIP-51 microcontroller core. The CIP-51 is fully compati-
ble with the MCS-51™ instruction set; standard 803x/805x assemblers and compilers can be used to develop soft-
ware. The core has all the peripherals included with a standard 8052, including five 16-bit counter/timers, two full-
duplex UARTs, 256
wide I/O Ports.
1.1.2.Improved Throughput
The CIP-51 employs a pipelined architecture that greatly increases its instruction throughput over the standard 8051
architecture. In a standard 8051, all instructions except for MUL and DIV take 12 or 24
cute with a maximum system clock of 12-to-24 MHz. By contrast, the CIP-51 core executes 70% of its instructions in
one or two system clock cycles, with only four instru ctions taking more than four system clock cycles.
The CIP-51 has a total of 109 instructions. The table below shows the total number of instructions that require each
execution time.
Clocks to Execute122/333/444/558
bytes of internal RAM, 128 byte Special Function Register (SFR) address space, and 8/4 byte-
system clock cycles to exe-
Number of Instructions265051473121
With the CIP-51's maximum system clock at 25 MHz, it has a peak throughput of 25 MIPS. Figure 1.5 shows a com-
parison of peak throughputs of various 8 -bit microcontroller cores with their maximum system clocks.
Figure 1.5. Comparison of Peak MCU Execution Speeds
25
20
15
MIPS
10
5
Silicon Labs
CIP-51
(25MHz clk)
22Rev. 1.4
Microchip
PIC17C75x
(33MHz clk)
Philips
80C51
(33MHz clk)
ADuC812
8051
(16MHz clk)
C8051F020/1/2/3
1.1.3.Additional Features
The C8051F020 MCU family includes several key enhancements to the CIP-51 core an d peripherals to improve over-
all performance and ease of use in end applications.
The extended interrupt handler provides 22 interrupt sources into the CIP-51 (as opposed to 7 fo r th e st andard 8051),
allowing the numerous analog and digital peripherals to interrupt the controller. An interrupt driven system requires
less intervention by the MCU, giving it more effective throughput. The extra interrupt sources are very useful when
building multi-tasking, real-time systems.
There are up to seven reset sources for the MCU: an on-board VDD monitor, a Watchdog Timer, a missing clock
detector, a voltage level detection from Comparator0, a forced software reset, the CNVSTR input pin, and the /RST
pin. The /RST pin is bi-directional, accommodating an external reset, or allowing the internally generated POR to be
output on the /RST pin. Each reset source except for the VDD monitor and Reset Input pin may be disabled by the
user in software; the VDD monitor is enabled/disabled via the MONEN pin. The Watchdog Timer may be perma
nently enabled in software after a power-on reset during MCU initialization.
The MCU has an internal, stand alone clock generator which is used by default as the system clock after any reset. If
desired, the clock source may be switched on the fly to the external oscillator, which can use a crystal, ceramic reso
nator, capacitor, RC, or external clock source to generate the system clock. This can be extremely useful in low power
applications, allowing the MCU to run from a slow (power saving) external crystal source, while periodically switch
ing to the fast (up to 16 MHz) internal oscillator as needed.
-
-
-
(Port
I/O)
CP0+
CP0-
XTAL1
XTAL2
Crossbar
Internal
Clock
Generator
OSC
Figure 1.6. On-Board Clock and Reset
CNVSTR
(CNVSTR
reset
enable)
Comparator0
+
-
(CP0
reset
enable)
System
Clock
Clock Select
VDD
Missing
Clock
Detector
(one-
shot)
EN
MCD
WDT
Enable
CIP-51
Microcontroller
Core
WDT
EN
Enable
Supply
Monitor
+
-
PRE
WDT
Supply
Reset
Timeout
Strobe
Software Reset
System Reset
(wired-OR)
Reset
Funnel
/RST
Extended Interrupt
Handler
Rev. 1.423
C8051F020/1/2/3
1.2.On-Chip Memory
The CIP-51 has a standard 8051 program and data address configuration . It includes 256 bytes of data RAM, with the
upper 128
addressing accesses the 128
rect addressing. The first 32 bytes are addressable as four banks of general purpose registers, and the next 16 bytes
can be byte addressable or bit addressable.
The CIP-51 in the C8051F020/1/2/3 MCUs additionally has an on-chip 4k byte RAM block and an external memory
interface (EMIF) for accessing off-chip data memory . The on-chip 4k
external data memory address range (overlapping 4k boundaries). External data memory address space can be
mapped to on-chip memory only, off-chip memory only, or a combination of the two (addresses up to 4k directed to
on-chip, above 4k directed to EMIF). The EMIF is also configurable for multiplexed or non-multipl exed address/data
lines.
The MCU’s program memory consists of 64k bytes of FLASH. This memory may be reprogrammed in-system in
512
0xFFFF are reserved for factory use. There is also a single 128
may be useful as a small table for software constants. See
bytes dual-mapped. Indirect addressing accesses the upper 128 bytes of general purpose RAM, and direct
byte SFR address space. The lower 128 bytes of RAM are accessible via direct and indi-
byte block can be addressed over the entire 64k
byte sectors, and requires no special off-chip programming voltage. The 512 bytes from addresses 0xFE00 to
byte sector at address 0x10000 to 0x1007F, which
Figure 1.7 for the MCU system memory map.
Figure 1.7. On-Chip Memory Map
PROGRAM/DATA MEMORY
(FLASH)
0x1007F
0x10000
0xFFFF
0xFE00
0xFDFF
0x0000
Scrachpad Memory
(DATA only)
RESERVED
FLASH
(In-System
Programmable in 512
Byte Sectors)
0xFF
0x80
0x7F
0x30
0x2F
0x20
0x1F
0x00
0xFFFF
DATA MEMORY (RAM)
INTERNAL DATA ADDRESS SPACE
Upper 128 RAM
(Indirect Addressing
Only)
(Direct and Indirect
Addressing)
Bit Addressable
General Purpose
Registers
Special Function
Register's
(Direct Addressing Only)
Lower 128 RAM
(Direct and Indirect
Addressing)
EXTERNAL DATA ADDRESS SPACE
Off-chip XRAM space
0x1000
0x0FFF
0x0000
24Rev. 1.4
XRAM - 4096 Bytes
(accessable using MOVX
instruction)
C8051F020/1/2/3
1.3.JTAG Debug and Boundary Scan
The C8051F020 family has on-chip JTAG boundary scan and debug circuitry that provides non-intrusive, full speed,
in-circuit debugging using the production part installed in the end application, via the four-pin JTAG interface. The
JTAG port is fully compliant to IEEE 1149.1, providing full boundary scan for test and manufacturing purposes.
Silicon Labs' debugging system supports inspection and m odification of memory and registers, breakpoints, watch-
points, a stack monitor, and single stepping. No additional target RAM, program memory, timers, or communicat ion s
channels are required. All the digital and analog peripherals are functional and work correctly while debugging. All
the peripherals (except for the ADC and SMBus) are stalled when the MCU is halted, during single stepping, or at a
breakpoint in order to keep them synchronized.
The C8051F020DK development kit provides all the hardware and software necessary to dev elop application code
and perform in-circuit debugging with the C8051F020/1/2/3 MCUs. The kit inclu des software with a developer's stu
dio and debugger, an integrated 8051 assembler, and an RS-232 to JTAG serial adapter . It also has a tar get application
board with the associated MCU installed, plus the RS-232 and JTAG cables, and wall-mount power supply. The
Development Kit requires a Windows 95/98/NT/ME/2000 computer with one available RS-232 serial port. As shown
in
Figure 1.8, the PC is connected via RS-232 to the Serial Adapter. A six-inch ribbon cable connects the Serial
Adapter to the user's application board, picking up the four JTAG pins and VDD and GND. The Serial Adapter takes
its power from the application board; it requires roughly 20
ficient power available from the target system, the provided power supply can be connected directly to the Serial
Adapter.
mA at 2.7-3.6 V. For applications where there is not suf-
-
Silicon Labs’ debug environment is a vastly superior con figuration for developing and debugging embedded applica-
tions compared to standard MCU emulators, which use on-board "ICE Chips" and target cables and require the MCU
in the application board to be socketed. Silicon Labs' debug environment both increases ease of use and preserves the
performance of the precision analog peripherals.
Figure 1.8. Development/In-System Debug Diagram
Silicon Labs Integrated
Development Environment
WINDOWS 95/98/NT/ME/2000
RS-232
Serial
Adapter
JTAG (x4), VDD, GND
C8051
F020
TARGET PCB
VDD GND
Rev. 1.425
C8051F020/1/2/3
1.4.Programmable Digital I/O and Crossbar
The standard 8051 Ports (0, 1, 2, and 3) are available on the MCUs. The C8051F020/2 have 4 additional ports (4, 5,
6, and 7) for a total of 64 general-purpose port I/O. The Port I/O behave like the stand ard 8051 with a few enhance
ments.
Each Port I/O pin can be configured as either a push-pull or open-drain output. Also, the "weak pull-ups" which are
normally fixed on an 8051 can be globally disabled, providing additional power saving capabilities for low-power
applications.
Perhaps the most unique enhancement is the Digital Crossbar. This is essentially a large digital switching network
that allows mapping of internal digital system resources to Port I/O pins on P0, P1, P2, and P3. (See
Unlike microcontrollers with standard multiplexed digital I/O, all combinations of functions are supported .
The on-chip counter/timers, serial buses, HW interrupts, ADC Start of Conversion input, comparat or outputs, and
other digital signals in the controller can be configured to appear on the Port I/O pins specified in the Crossbar Con
trol registers. This allows the user to select the exact mix of general purpose Port I/O and digital resources needed for
the particular application.
Figure 1.9)
-
-
Highest
Priority
Lowest
Priority
Port
Latches
(Internal Digital Signals)
UART0
SPI
SMBus
UART1
PCA
Comptr.
Outputs
T0, T1,
T2, T2EX,
T4,T4EX
/INT0,
/INT1
/SYSCLK
CNVSTR
P0
P1
P2
P3
2
4
2
2
6
2
8
8
(P0.0-P0.7)
8
(P1.0-P1.7)
8
(P2.0-P2.7)
8
(P3.0-P3.7)
Figure 1.9. Digital Crossbar Diagram
XBR0, XBR1,
XBR2, P1MDIN
Registers
Priority
Decoder
Digital
Crossbar
To External
Memory
Interface
(EMIF)
P0MDOUT, P1MDOUT,
P2MDOUT, P3MDOUT
Registers
8
8
8
8
P0
I/O
Cells
P1
I/O
Cells
P2
I/O
Cells
P3
I/O
Cells
To
ADC1
Input
External
Pins
P0.0
P0.7
P1.0
P1.7
P2.0
P2.7
P3.0
P3.7
Highest
Priority
Lowest
Priority
26Rev. 1.4
C8051F020/1/2/3
1.5.Programmable Counter Array
The C8051F020 MCU family includes an on-board Programmable Counter/Timer Array (PCA) in addition to the five
16-bit general purpose counter/timers. The PCA consists of a dedicated 16-bit counter/timer time base with 5 pro
grammable capture/compare modules. The timebase is clocked from one of six sources: the system clock divided by
12, the system clock divided by 4, Timer 0 overflow, an External Clock Input (ECI pin), the system clock, or the
external oscillator source divided by 8.
Each capture/compare module can be configured to operate in one of six modes: Edge-Triggered Capture, Software
Timer, High Speed Output, Frequency Output, 8-Bit Pulse Width Modulator, or 16-Bit Pulse Width Modulator. The
PCA Capture/Compare Module I/O and External Clock Input are routed to the MCU Port I/O via the Digital Cross
bar.
Figure 1.10. PCA Block Diagram
SYSCLK/12
SYSCLK/4
Timer 0 Overflow
ECI
SYSCLK
External Clock/8
PCA
CLOCK
MUX
16-Bit Counter/Timer
-
-
Capture/Compare
Module 1
CEX1
Capture/Compare
Module 2
CEX2
Capture/Compare
Module 3
CEX3
Capture/Compare
Module 4
CEX4
ECI
Capture/Compare
Module 0
CEX0
Crossbar
Port I/O
1.6.Serial Ports
The C8051F020 MCU Family includes two Enhanced Full-Duplex UARTs, SPI Bus, and SMBus/I2C. Each of the
serial buses is fully implemented in hardware and makes extensive use of the CIP-51's interrupts, thus requiring very
little intervention by the CPU. The serial buses do not "share" resources such as timers, interrupts, or Port I/O, so any
or all of the serial buses may be used together with any other.
Rev. 1.427
C8051F020/1/2/3
1.7.12-Bit Analog to Digital Converter
The C8051F020/1 has an on-chip 12-bit SAR ADC (ADC0) with a 9-chann el input multiplexer and programmable
gain amplifier. W ith a maximum throughput of 100
C8051F022/3 devices include a 10-bit SAR ADC with similar specifications and configuration options. The ADC0
voltage reference is selected between the DAC0 output and an external VREF pin. O n C8051F0 20/2 devices, AD C0
has its own dedicated VREF0 input pin; on C8051F021/3 devices, the ADC0 shares the VREFA input pin with the 8-
bit ADC1. The on-chip 15
ppm/°C voltage reference may generate the voltage reference for other system components
or the on-chip ADCs via the VREF output p in.
The ADC is under full control of the CIP-51 microcontroller via its associated Special Function Registers. One input
channel is tied to an internal temperature sensor, while the other eight channels are available externally. Each pair of
the eight external input channels can be configured as either two single-ended inputs or a single differential input.
The system controller can also put the ADC into shutdown mode to save power.
A programmable gain amplifier follows the analog multiplexer. The gain can be set in software from 0.5 to 16 in
powers of 2. The gain stage can be especially useful when different ADC input channels have widely varied input
voltage signals, or when it is necessary to "zoom in" on a signal with a large DC offset (in differential mode, a DAC
could be used to provide the DC offset).
Conversions can be started in four ways; a software command, an overflow of Timer 2, an overflow of Timer 3, or an
external signal input. This flexibility allows the start of c onversion to be triggered by software events, external HW
signals, or a periodic timer overflow signal. Conversion completions are indicated by a status bit and an interrupt (i f
enabled). The resulting 10 or 12-bit data word is latched into two SFRs upon com pletion of a conversion. The data
can be right or left justified in these registers under software control.
ksps, the ADC offers true 12-bit accuracy with an INL of ±1LSB.
Window Compare registers for the ADC data can be configured to interrupt the controller when ADC data is within
or outside of a specified range. The ADC can monitor a key voltage continuously in background mode, but not inter
rupt the controller unless the converted data is within the specified window.
Figure 1.11. 12-Bit ADC Block Diagram
AIN0.0
AIN0.1
AIN0.2
AIN0.3
AIN0.4
AIN0.5
AIN0.6
AIN0.7
Analog Multiplexer
TEMP
SENSOR
AGND
+
-
+
-
+
-
+
-
9-to-1
AMUX
(SE or
DIFF)
Configuration, Control, and Data
Programmable Gain
Amplifie r
AV+
+
X
-
External VREF
DAC0 Output
Registers
Pin
12-Bit
SAR
ADC
VREF
Start
Conversion
Window Compare
Logic
12
Write to AD0BUSY
Timer 3 Overflow
CNVSTR
Timer 2 Overflow
Compare
ADC Data
Registers
Conversion
Complete
Window
Interrupt
Interrupt
-
28Rev. 1.4
C8051F020/1/2/3
1.8.8-Bit Analog to Digital Converter
The C8051F020/1/2/3 has an on-board 8-bit SAR ADC (ADC1) with an 8-channel input multiplexer and program ma-
ble gain amplifier. This ADC features a 500 ksps maximum throughput and true 8-bit accuracy with an INL of
±1LSB. Eight input pins are available for measurement. The ADC is under full control of the CIP-51 microco ntroller
via the Special Function Registers. The ADC1 voltage reference is selected between the analog power supply (AV+)
and an external VREF pin. On C8051F020/2 devices, ADC1 has its o wn dedicated VREF1 input pin; on
C8051F021/3 devices, ADC1 shares the VREFA input pin with the 12/10-bit ADC0. User software may put ADC1
into shutdown mode to save power.
A programmable gain amplifier follows the analog multiplexer. The gain stage can be especially useful when differ-
ent ADC input channels have widely varied input voltage signals, or when it is necessary to "zoom in" on a signal
with a large DC offset (in differential mode, a DAC could be used to provide the DC offset). The PGA gain can be set
in software to 0.5, 1, 2, or 4.
A flexible conversion scheduling system allows ADC1 conversi ons to be initiated by software commands, timer
overflows, or an external input signal. ADC1 conversions may also be synchronized with ADC0 software-com
manded conversions. Conversion completions are indicated by a status bit and an interrupt (i f enabled), and the
resulting 8-bit data word is latched into an SFR upon completion.
Figure 1.12. 8-Bit ADC Diagram
-
AIN1.0
AIN1.1
AIN1.2
AIN1.3
AIN1.4
AIN1.5
AIN1.6
AIN1.7
Analog Multiplexer
8-to-1
AMUX
Configuration, Control, and Data Registers
Programmable Gain
Amplifier
AV+
+
X
-
External VREF
AV+
Pin
8-Bit
SAR
ADC
Start Conversion
VREF
Conversion
Complete
8
ADC Data
Register
Interrupt
Write to AD1BUSY
Timer 3 Overflow
CNVSTR Input
Timer 2 Overflow
Write to AD0BUSY
(synchronized with
ADC0)
Rev. 1.429
C8051F020/1/2/3
1.9.Comparators and DACs
Each C8051F020/1/2/3 MCU has two 12-bit DACs and two comparators on chip. The MCU data and control inter-
face to each comparator and DAC is via the Special Function Registers. The MCU can place any DAC or comparator
in low power shutdown mode.
The comparators have software programmable hysteresis. Each comparator can generate an interrupt on its rising
edge, falling edge, or both; these interrupts are capable of waking up the MCU from sleep mode. The comparators'
output state can also be polled in software. The comparator outputs can be programmed to appear on the Port I/O pins
via the Crossbar.
The DACs are voltage output mode, and include a flexible output scheduling mechanism. This scheduling mecha-
nism allows DAC output updates to be forced by a software write or a Timer 2, 3, or 4 overflow. The DAC voltage
reference is supplied via the dedicated VREFD input pin on C8051F020/2 devices or via the internal voltage refer
ence on C8051F021/3 devices. The DACs are especially useful as references for the comparators or offsets for the
differential inputs of the ADC.
Figure 1.13. Comparator and DAC Diagram
-
(Port I/O)
(Port I/O)
CP0+
CP0-
CP1+
CP1-
DAC0
DAC1
CP0
CP1
+
CP0
-
+
CP1
-
REF
DAC0
REF
DAC1
CROSSBAR
CP0
CP1
SFR's
(Data
and
Cntrl)
CIP-51
and
Interrupt
Handler
30Rev. 1.4
2.ABSOLUTE MAXIMUM RATINGS
C8051F020/1/2/3
Tab le 2.1. Absolute Maximum Ratings
PARAMETERCONDITIONSMINTYPMAXUNITS
Ambient temperature under bias-55125°C
Storage Temperature-65150°C
Voltage on any Pin (except VDD and Port I/O) with
respect to DGND
Voltage on any Port I/O Pin or /RST with respect to
DGND
Voltage on VDD with respect to DGND-0.34.2V
Maximum Total current through VDD, AV+, DGND,
and AGND
Maximum output current sunk by any Port pin100mA
Maximum output current sunk by any other I/O pi n50mA
Maximum output current sourced by any Port pin100mA
Maximum output current sourced by any other I/O pin50mA
*
Stresses above those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. This
is a stress rating only and functional operation of the devices at those or any other conditions above those indicated
in the operation listings of this specification is not implied. Exposure to maximum rating conditions for extended
periods may affect device reliability.
*
-0.3
-0.35.8V
VDD +
0.3
800mA
V
Rev. 1.431
C8051F020/1/2/3
3.GLOBAL DC ELECTRICAL CHARACTERISTICS
Tab le 1.1. Global DC Electrical Characteristics
-40°C to +85°C, 25 MHz System Clock unless ot herwise specified.
PARAMETERCONDITIONSMINTYPMAXUNITS
Analog Supply Voltag e
Analog Supply CurrentAV+=2.7 V, Internal REF, ADC,
DAC, Comparators all active
Analog Supply Current with
analog sub-systems inactive
Analog-to-Digital Supply Delta
(|VDD - AV+|)
Digital Supply Volt age2.73.03.6V
Digital Supply Current with
CPU active
Digital Supply Current with
CPU inactive (not accessing
FLASH)
Digital Supply Current (shut-
down)
Digital Supply RAM Data
Retention Voltage
AV+=2.7 V, Internal REF, ADC,
DAC, Comparators all disabled,
oscillator disabled, VDD Monitor
disabled
VDD=2.7 V, Clock=25 MHz
VDD=2.7 V, Clock=1 MHz
VDD=2.7 V, Clock=32 kHz
VDD=2.7 V, Clock=25 MHz
VDD=2.7 V, Clock=1 MHz
VDD=2.7 V, Clock=32 kHz
VDD=2.7 V, Oscillator not running,
VDD Monitor disabled
2.7
†
3.03.6V
1.7mA
0.2µA
0.5V
10
0.5
20
5
0.2
10
0.2µA
1.5V
mA
mA
µA
mA
mA
µA
Specified Operating Tempera-
ture Range
SYSCLK (system clock fre-
quency)
Tsysl (SYSCLK low time)18ns
Tsysh (SYSCLK high time)18ns
†
Analog Supply AV+ must be greater than 1 V for VDD monitor to operate.
‡
SYSCLK must be at least 32 kHz to enable debugging.
32Rev. 1.4
-40+85°C
‡
0
25MHz
4.PINOUT AND PACKAGE DEFINITIONS
Tab le 4.1. Pin Definitions
Pin Numbers
C8051F020/1/2/3
Name
F022F023
VDD37, 64, 9024, 41,
57
DGND38, 63, 8925, 40,
56
AV +11, 146Analog Supply Voltage. Must be tied to +2.7 to +3.6 V.
AGND10, 135Analog Ground. Must be tied to Ground.
TMS158D InJTAG Test Mode Select with internal pull-up.
TCK259D InJTAG Test Clock with internal pull-up.
TDI360D InJTAG Test Data Input with internal pull-up. TDI is latched on the
TDO461D Out JTAG Test Data Output with internal pull-up. Data is shifted out on
/RST562D I/O Device Reset. Open-d rain output of internal VDD monitor. Is driven
TypeDescriptionF020F021
Digital Supply Voltage. Must be tied to +2.7 to +3.6 V.
Digital Ground. Must be tied to Ground.
rising edge of TCK.
TDO on the falling edge of TCK. TDO output is a tri-state driver.
low when VDD is <2.7
can initiate a system reset by driving this pin low.
V and MONEN is high. An external source
XTAL12617A InCrystal Input. This pin is the return for the internal oscillator circuit
for a crystal or ceramic resonator. For a precision internal clock,
connect a crystal or ceramic resonator from XTAL1 to XTAL2. If
overdriven by an external CMOS clock, this becomes the system
clock.
XTAL22718A Out Crystal Output. This pin is the excitation driver for a crystal or
ceramic resonator.
MONEN2819D InVDD Monitor Enable. When tied high, this pin enables the internal
VDD monitor, which forces a system reset when VDD is < 2.7
When tied low, the internal VDD monitor is disabled.
VREF127A I/O Bandgap Voltage Reference Output (all devices).
DAC Voltage Reference Input (F021/3 only).
VREFA8A InADC0 and ADC1 Voltage Reference Input.
VREF016A InADC0 Voltage Reference Input.
VREF117A InADC1 Voltage Reference Input.
VREFD15A InDAC Voltage Reference Input.
V.
Rev. 1.433
C8051F020/1/2/3
Pin Numbers
Table 4.1. Pin Definitions
Name
F022F023
AIN0.0189A InADC0 Input Channel 0 (See ADC0 Specification for complete
AIN0.11910A InADC0 Input Channel 1 (See ADC0 Specificatio n for comp lete
AIN0.22011A InADC0 Input Channel 2 (See ADC0 Specification for complete
AIN0.32112A InADC0 Input Channel 3 (See ADC0 Specificatio n for comp lete
AIN0.42213A InADC0 Input Channel 4 (See ADC0 Specificatio n for comp lete
AIN0.52314A InADC0 Input Channel 5 (See ADC0 Specificatio n for comp lete
AIN0.62415A InADC0 Input Channel 6 (See ADC0 Specificatio n for comp lete
AIN0.72516A InADC0 Input Channel 7 (See ADC0 Specificatio n for comp lete
TypeDescriptionF020F021
description).
description).
description).
description).
description).
description).
description).
description).
CP0+94A InComparator 0 Non-Inverting Input.
CP0-83A InComparator 0 Inverting Input.
CP1+72A InComparator 1 Non-Inverting Input.
CP1-61A InComparator 1 Inverting Input.
DAC010064A Out Digital to Analog Converter 0 Voltage Output. (See DAC Specifica-
tion for complete description).
DAC19963A Out Digital to Analog Converter 1 Voltage Output. (See DAC Specifica-
tion for complete description).
P0.06255D I/O Port 0.0. See Port Input/O utput section for complete description.
P0.16154D I/O Port 0.1. See Port Input/O utput section for complete description.
P0.26053D I/O Port 0.2. See Port Input/O utput section for complete description.
P0.35952D I/O Port 0.3. See Port Input/O utput section for complete description.
P0.45851D I/O Port 0.4. See Port Input/O utput section for complete description.
ALE/P0.55750D I/O ALE Strobe for External Memory Address bus (multiplexed mode)
Port 0.5
See Port Input/Output section for complete description.
34Rev. 1.4
Pin Numbers
C8051F020/1/2/3
Table 4.1. Pin Definitions
Name
F022F023
/RD/P0.65649D I/O /RD Strobe for External Memory Address bus
/WR/P0.75548D I/O /WR Strobe for External Memory Address bus
AIN1.0/A8/P1.03629A In
AIN1.1/A9/P1.13528A In
AIN1.2/A10/P1.23427A In
AIN1.3/A11/P1.33326A In
TypeDescriptionF020F021
D I/O
D I/O
D I/O
D I/O
Port 0.6
See Port Input/Output section for complete description.
Port 0.7
See Port Input/Output section for complete description.
ADC1 Input Channel 0 (See ADC1 Specification for complete
description).
Bit 8 External Memory Address bus (Non-multiplexed mode)
Port 1.0
See Port Input/Output section for complete description.
Port 1.1. See Port Input/Output section for complete description.
Port 1.2. See Port Input/Output section for complete description.
Port 1.3. See Port Input/Output section for complete description.
AIN1.4/A12/P1.43223A In
D I/O
AIN1.5/A13/P1.53122A In
D I/O
AIN1.6/A14/P1.63021A In
D I/O
AIN1.7/A15/P1.72920A In
D I/O
A8m/A0/P2.04637D I/O Bit 8 External Memory Address bus (Multiplexed mode)
A9m/A1/P2.14536D I/O Port 2.1. See Port Input/Output section for complete description.
A10m/A2/P2.24435D I/O Port 2.2. See Port Input/Output section for complete description .
A11m/A3/P2.34334D I/O Port 2.3. See Port Input/Output section for complete description .
A12m/A4/P2.44233D I/O Port 2.4. See Port Input/Output section for complete description .
A13m/A5/P2.54132D I/O Port 2.5. See Port Input/Output section for complete description .
Port 1.4. See Port Input/Output section for complete description.
Port 1.5. See Port Input/Output section for complete description.
Port 1.6. See Port Input/Output section for complete description.
Port 1.7. See Port Input/Output section for complete description.
Bit 0 External Memory Address bus (Non-multiplexed mode)
Port 2.0
See Port Input/Output section for complete description.
Rev. 1.435
C8051F020/1/2/3
A14m/A6/P2.64031D I/O Port 2.6. See Port Input/Output section for complete description .
A15m/A7/P2.73930D I/O Port 2.7. See Port Input/Output section for complete description .
AD0/D0/P3.054470 Tc(54)TjETEMC/Span <<03
D I/O
36Rev. 1.4
Pin Numbers
C8051F020/1/2/3
Table 4.1. Pin Definitions
Name
F022F023
A11/P5.385D I/O Port 5.3. See Port Input/Output section for complete description.
A12/P5.484D I/O Port 5.4. See Port Input/Output section for complete description.
A13/P5.583D I/O Port 5.5. See Port Input/Output section for complete description.
A14/P5.682D I/O Port 5.6. See Port Input/Output section for complete description.
A15/P5.781D I/O Port 5.7. See Port Input/Output section for complete description.
A8m/A0/P6.080D I/O Bit 8 External Mem ory Address bus (Multiplexed mode)
A9m/A1/P6.179D I/O Port 6.1. See Port Input/Output sect ion for complete description.
A10m/A2/P6.278D I/O Port 6.2. See Port Input/Output section for complete description.
A11m/A3/P6.377D I/O Port 6.3. See Port Input/Output section for complete description.
A12m/A4/P6.476D I/O Port 6.4. See Port Input/Output section for complete description.
A13m/A5/P6.575D I/O Port 6.5. See Port Input/Output section for complete description.
TypeDescriptionF020F021
Bit 0 External Memory Address bus (Non-multiplexed mode)
Port 6.0
See Port Input/Output section for complete description.
A14m/A6/P6.674D I/O Port 6.6. See Port Input/Output section for complete description.
A15m/A7/P6.773D I/O Port 6.7. See Port Input/Output section for complete description.
AD0/D0/P7.072D I/O Bit 0 External Memory Address/Data bus (Multiplexed mode)
Bit 0 External Memory Data bus (Non-multiplexed mode)
Port 7.0
See Port Input/Output section for complete description.
AD1/D1/P7.171D I/O Port 7.1. See Port Input/Output section for complete description.
AD2/D2/P7.270D I/O Port 7.2. See Port Input/Output section for complete description.
AD3/D3/P7.369D I/O Port 7.3. See Port Input/Output section for complete description.
AD4/D4/P7.468D I/O Port 7.4. See Port Input/Output section for complete description.
AD5/D5/P7.567D I/O Port 7.5. See Port Input/Output section for complete description.
AD6/D6/P7.666D I/O Port 7.6. See Port Input/Output section for complete description.
AD7/D7/P7.765D I/O Port 7.7. See Port Input/Output section for complete description.
Rev. 1.437
C8051F020/1/2/3
DAC0
DAC1
P4.0
P4.1
9998979695949392919089888786858483828180797877
100
Figure 4.1. TQFP-100 Pinout Diagram
P4.2
P4.3
P4.4
ALE/P4.5
/RD/P4.6
/WR/P4.7
VDD
DGND
A8/P5.0
A9/P5.1
A10/P5.2
A11/P5.3
A12/P5.4
A13/P5.5
A14/P5.6
A15/P5.7
A8m/A0/P6.0
A9m/A1/P6.1
A10m/A2/P6.2
A11m/A3/P6.3
A12m/A4/P6.4
76
TMS
TCK
TDI
TDO
/RST
CP1-
CP1+
CP0-
CP0+
AGND
AV+
VREF
AGND
AV+
VREFD
VREF0
VREF1
AIN0.0
AIN0.1
AIN0.2
AIN0.3
AIN0.4
AIN0.5
AIN0.6
AIN0.7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
262728293031323334353637383940
C8051F020
C8051F022
41
424344454647484950
75
A13m/A5/P6.5
74
A14m/A6/P6.6
73
A15m/A7/P6.7
72
AD0/D0/P7.0
71
AD1/D1/P7.1
70
AD2/D2/P7.2
69
AD3/D3/P7.3
68
AD4/D4/P7.4
67
AD5/D5/P7.5
66
AD6/D6/P7.6
65
AD7/D7/P7.7
64
VDD
63
DGND
62
P0.0
61
P0.1
60
P0.2
59
P0.3
58
P0.4
57
ALE/P0.5
56
/RD/P0.6
55
/WR/P0.7
54
AD0/D0/P3.0
53
AD1/D1/P3.1
52
AD2/D2/P3.2
51
AD3/D3/P3.3
VDD
XTAL1
XTAL2
MONEN
AIN1.7/A15/P1.7
AIN1.6/A14/P1.6
AIN1.5/A13/P1.5
AIN1.4/A12/P1.4
AIN1.1/A9/P1.1
AIN1.3/A11/P1.3
AIN1.2/A10/P1.2
DGND
AIN1.0/A8/P1.0
A15m/A7/P2.7
38Rev. 1.4
AD5/D5/P3.5
A9m/A1/P2.1
A14m/A6/P2.6
A13m/A5/P2.5
A12m/A4/P2.4
A11m/A3/P2.3
A8m/A0/P2.0
A10m/A2/P2.2
AD7/D7/P3.7/IE7
AD4/D4/P3.4
AD6/D6/P3.6/IE6
C8051F020/1/2/3
Figure 4.2. TQFP-100 Package Drawing
100
PIN 1
DESIGNATOR
D
D1
E1E
1
A
A1
A2
b
D
D1
e
E
E1
MIN
(mm)
-
0.05
0.95
0.17
-
-
-
-
-
NOM
(mm)
-
-
1.00
0.22
16.00
14.00
0.50
16.00
14.00
MAX
(mm)
1.20
0.15
1.05
0.27
-
-
-
-
-
A2
e
A
b
A1
Rev. 1.439
C8051F020/1/2/3
DAC0
DAC1
64
63
Figure 4.3. TQFP-64 Pinout Diagram
/RST
TDO
TDI
TCK
TMS
VDD
DGND
P0.0
P0.1
P0.2
P0.3
P0.4
62
61
60
59
58
57
56
55
54
53
52
51
ALE/P0.5
/RD/P0.6
50
49
CP1-
CP1+
CP0-
CP0+
AGND
AV+
VREF
VREFA
AIN0.0
AIN0.1
AIN0.2
AIN0.3
AIN0.4
AIN0.5
AIN0.6
AIN0.7
10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
9
17
18
19
C8051F021
C8051F023
20
21
22
23
24
25
26
27
28
29
30
31
32
48
/WR/P0.7
47
AD0/D0/P3.0
46
AD1/D1/P3.1
45
AD2/D2/P3.2
44
AD3/D3/P3.3
43
AD4/D4/P3.4
42
AD5/D5/P3.5
41
VDD
40
DGND
39
AD6/D6/P3.6/IE6
38
AD7/D7/P3.7/IE7
37
A8m/A0/P2.0
36
A9m/A1/P2.1
35
A10m/A2/P2.2
34
A11m/A3/P2.3
33
A12m/A4/P2.4
VDD
XTAL1
XTAL2
MONEN
AIN1.7/A15/P1.7
AIN1.6/A14/P1.6
AIN1.5/A13/P1.5
AIN1.4/A12/P1.4
DGND
40Rev. 1.4
AIN1.3/A11/P1.3
AIN1.1/A9/P1.1
AIN1.2/A10/P1.2
A15m/A7/P2.7
AIN1.0/A8/P1.0
A14m/A6/P2.6
A13m/A5/P2.5
C8051F020/1/2/3
Figure 4.4. TQFP-64 Package Drawing
D
D1
64
PIN 1
DESIGNATOR
A2
MIN
(mm)
A
A1
0.05
E1
E
A2
b
0.95
0.17
D
D1
1
e
A
e
E
E1
b
A1
NOM
(mm)
-
0.22
-
12.00
-
10.00
-
0.50
-
12.00
-
10.00
MAX
(mm)
-
1.20
-
0.15
-
1.05
0.27
-
-
-
-
-
Rev. 1.441
C8051F020/1/2/3
Notes
42Rev. 1.4
C8051F020/1
5.ADC0 (12-BIT ADC, C8051F020/1 ONLY)
The ADC0 subsystem for the C8051F020/1 consists of a 9-channel, configurable analog multiplexer (AMUX0), a
programmable gain amplifier (PGA0), and a 100
track-and-hold and Programmable Window Detector (see block diagram in
Conversion Modes, and Window Detector are all configurable under software control via the Special Function Regis-
ters shown in Figure 5.1. The voltage reference used by ADC0 is selected as described in Section “9. VOLTAGE
REFERENCE (C8051F020/2)” on page 91 for C8051F020/2 devices, or Section “10. VOLTAGE REFERENCE
(C8051F021/3)” on page 93 for C8051F021/3 devices. The ADC0 su bsystem (ADC0, track-and -hold and PGA0) is
enabled only when the AD0EN bit in the ADC0 Control reg ister (ADC0CN) is set to logic 1. The ADC0 subsystem is
in low power shutdown when this bit is logic 0.
Figure 5.1. 12-Bit ADC0 Functional Block Diagram
TEMP
+
-
+
-
+
-
+
-
9-to-1
AMUX
(SE or
DIFF)
X
AIN0
AIN1
AIN2
AIN3
AIN4
AIN5
AIN6
AIN7
SENSOR
AGND
ksps, 12-bit successive-approximation-register ADC with integrated
Figure 5.1). The AMUX0, PGA0, Data
ADC0LTLADC0LTHADC0GTLADC0GTH
24
AD0EN
AV+
AV+
Comb.
Logic
12
REF
SYSCLK
AD0WINT
12-Bit
+
SAR
-
AGND
ADC
AD0CM
12
Start Conversion
ADC0LADC0H
00
AD0BUSY (W)
Timer 3 Overflow
01
10
CNVSTR
Timer 2 Overflow
11
AIN01IC
AIN23IC
AIN45IC
AIN67IC
AMX0CF
AMX0SL
AMX0AD0
AMX0AD1
AMX0AD2
AMX0AD3
AD0SC3
AD0SC4
ADC0CF
AD0SC1
AD0SC2
AD0SC0
AMP0GN1
AMP0GN2
AMP0GN0
AD0TM
AD0EN
ADC0CN
AD0CM1
AD0BUSY
AD0INT
AD0CM0
AD0LJST
AD0WINT
AD0CM
5.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
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
AMX0SL (
Figure 5.6), and the Configuration register AMX0CF (Figure 5.7). The table in Figure 5.6 shows AMUX
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 (
PGA can be software-programmed for gains of 0.5, 2, 4, 8 or 16. Gain defaults to unity on reset.
Rev. 1.443
Figure 5.2). AMUX input pairs can be
Figure 5.7). The
C8051F020/1
The T emperature Sensor transfer function is shown in Figure 5.2. The output voltage (V
) is the PGA input when
TEMP
the Temperature Sensor is selected by bits AMX0AD3-0 in register AMX0SL; this voltage will be amplified by the
PGA according to the user-programmed PGA settings.
Figure 5.2. Temperature Sensor Transfer Function
(Volts)
1.000
0.900
0.800
V
= 0.00286(TEMPC) + 0.776
0.700
0.600
0.500
0-5050100
TEMP
for PGA Gain = 1
(Celsius)
5.2.ADC Modes of Operation
ADC0 has a maximum conversion speed of 100 ksps. The ADC0 conversion clock is derived from the system clock
divided by the value held in the ADCSC bits of register ADC0CF.
5.2.1.Starting a Conversion
A conversion can be initiated in one of four ways, d epending on the programmed states of the ADC0 Start of Conver-
sion Mode bits (AD0CM1, AD0CM0) in ADC0CN. Conversions may be initiated by:
1. Writing a ‘1’ to the AD0BUSY bit of ADC0CN;
2. A Timer 3 overflow (i.e. timed continuous conversions);
3. A risi ng edge detected on the external ADC convert start signal, CNVSTR;
4. A Timer 2 overflow (i.e. timed continuous conversions).
The AD0BUSY bit is set to logic 1 during conversion and restored to logic 0 when conversion is complete. The fall-
ing edge of AD0BUSY triggers an interrupt (when enabled) and sets the AD0INT interrupt flag (ADC0CN.5). Con -
verted data is available in the ADC0 data word MSB and LSB registers, ADC0H, ADC0L. Converted data can be
either left or right justified in the ADC0H:ADC0L register pair (see example in
grammed state of the AD0LJST bit in the ADC0CN register.
When initiating conversions by writing a ‘1’ to A D0BUSY, the AD0INT bit should be polled to determine wh en a
conversion has completed (ADC0 interrupts may also be used). The recommended polling procedu re is shown below .
Step 1. Write a ‘0’ to AD0INT;
Step 2. Write a ‘1’ to AD0BUSY;
Step 3. Poll AD0INT for ‘1’;
Step 4. Process ADC0 data.
Figure 5.11) depending on the pro-
44Rev. 1.4
C8051F020/1
5.2.2.Tracking Modes
The AD0TM bit in register ADC0CN controls the ADC0 track-and-ho ld mode. In its default state, the ADC0 input is
continuously tracked when a conversion is not in progress. When the AD0TM bit i s logic 1, ADC0 operates in low -
power track-and-hold mode. In this mode, each conversion is preceded by a tracking period of 3 SAR clocks (after
the start-of-conversion signal). When the CNVSTR signal is used to initiate conversions in low-power tracking mode,
ADC0 tracks only when CNVSTR is low; conversion begins on the rising edge of CNVSTR (see
ing can also be disabled (shutdown) when the entire chip is in low power standby or sleep modes. Lo w-power track-
and-hold mode is also useful when AMUX or PGA settings are frequently changed, to ensure that settling time
requirements are met (see
Section “5.2.3. Settling Time Requirements” on page 46).
Figure 5.3. 12-Bit ADC Track and Conversion Example Timing
A. ADC Timing for External Trigger Source
(AD0STM[1:0]=10
CNVSTR
)
12345678910111213141516
SAR Clocks
Figure 5.3). Track-
ADC0TM=1
ADC0TM=0
Timer 2, Timer 3 Overflow;
Write '1' to AD0BUSY
(AD0STM[1:0]=00, 01, 11)
SAR Clocks
ADC0TM=1
SAR Clocks
ADC0TM=0
Low Power
or Convert
Track Or ConvertConvertTrack
TrackConvertLow Power Mode
B. ADC Timing for Internal Trigger Sources
1234567891011121314151617 18 19
Low Power
or Convert
Track or
Convert
TrackConvertLow Power Mode
12345678910111213141516
ConvertTrack
Rev. 1.445
C8051F020/1
5.2.3.Settling Time Requirements
When the ADC0 input configuration is changed (i.e., a different MUX or PGA selection is made), a minimum settling
(or tracking) time is required before an accurate conversion can be performed. This settling time is determined by the
ADC0 MUX resistance, the ADC0 sampling capacitance, any external source resistance, and the accuracy required
for the conversion.
modes. Notice that the equivalent time constant for both inpu t circuits is the same. The required settling time for a
given settling accuracy (SA) may be approximated by
R
reduces to R
TOTAL
every conversion. For most applications, these three SAR clocks will meet the tracking requirements. See
on page 58 for absolute minimum settling/tracking time requirements.
Where:
SA is the settling accuracy, given as a fraction of an LSB (for example, 0.25 to settle within 1/4 LSB)
t is the required settling time in seconds
R
is the sum of the ADC0 MUX resistance and any external source resistance.
TOTAL
n is the ADC resolution in bits (12).
Figure 5.4 shows the equivalent ADC0 input circuits for both Differential and Single-ended
Equation 5.1. When measuring the Temperature Sensor output,
. Note that in low-power tracking mode, three SAR clocks are used for tracking at the start of
DYNAMIC PERFORMANCE (10 kHz sine-wave input, 0 to 1 dB below Full Scale, 100 ksps
Signal-to-Noise Plus Distortion66dB
Total Harmonic Distortion
Spurious-Free Dynamic Range80dB
CONVERSION RATE
SAR Clock Frequency2.5MHz
Conversion Time in SAR Clocks16clocks
Track/Hold Acquisition Time1.5µs
Throughput Rate100ksps
ANALOG INPUTS
Input Voltage Rang eSingle-ended operation0VREFV
*Common-mode Voltage RangeDifferential operationAGNDAV +V
Input Capacitance10pF
TEMPERATURE SENSOR
Nonlinearity-1.0+1.0°C
Absolute Accuracy±3°C
GainPGA Gain = 12.86mV/°C
OffsetPGA Gain = 1, Temp = 0°C0.776V
POWER SPECIFICATIONS
Power Supply Current (AV+ sup-
plied to ADC)
Power Supply Rejection±0.3mV/V
Up to the 5th harmonic
Operating Mode, 100 ksps450900µA
-75dB
58Rev. 1.4
C8051F022/3
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
track-and-hold and Programmable Window Detector (see block diagram in
Conversion Modes, and Window Detector are all configurable under software control via the Special Function Regis-
ters shown in Figure 6.1. The voltage reference used by ADC0 is selected as described in Section “9. VOLTAGE
REFERENCE (C8051F020/2)” on page 91 for C8051F020/2 devices, or Section “10. VOLTAGE REFERENCE
(C8051F021/3)” on page 93 for C8051F021/3 devices. The ADC0 su bsystem (ADC0, track-and -hold and PGA0) is
enabled only when the AD0EN bit in the ADC0 Control reg ister (ADC0CN) is set to logic 1. The ADC0 subsystem is
in low power shutdown when this bit is logic 0.
Figure 6.1. 10-Bit ADC0 Functional Block Diagram
TEMP
+
-
+
-
+
-
+
-
9-to-1
AMUX
(SE or
DIFF)
X
AIN0
AIN1
AIN2
AIN3
AIN4
AIN5
AIN6
AIN7
SENSOR
AGND
ksps, 10-bit successive-approximation-register ADC with integrated
Figure 6.1). The AMUX0, PGA0, Data
ADC0LTLADC0LTHADC0GTLADC0GTH
20
AD0EN
AV+
AV+
Comb.
Logic
10
REF
SYSCLK
AD0WINT
10-Bit
+
SAR
-
AGND
ADC
AD0CM
10
Start Conversion
ADC0LADC0H
00
AD0BUSY (W)
Timer 3 Overflow
01
10
CNVSTR
Timer 2 Overflow
11
AIN01IC
AIN23IC
AIN45IC
AIN67IC
AMX0CF
AMX0SL
AMX0AD0
AMX0AD1
AMX0AD2
AMX0AD3
AD0SC3
AD0SC4
ADC0CF
AD0SC1
AD0SC2
AD0SC0
AMP0GN1
AMP0GN2
AMP0GN0
AD0TM
AD0EN
ADC0CN
AD0CM1
AD0BUSY
AD0INT
AD0CM0
AD0LJST
AD0WINT
AD0CM
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
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
AMX0SL (
Figure 6.6), and the Configuration register AMX0CF (Figure 6.7). The table in Figure 6.6 shows AMUX
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 (
PGA can be software-programmed for gains of 0.5, 2, 4, 8 or 16. Gain defaults to unity on reset.
Rev. 1.459
Figure 6.2). AMUX input pairs can be
Figure 6.7). The
C8051F022/3
The T emperature Sensor transfer function is shown in Figure 6.2. The output voltage (V
) is the PGA input when
TEMP
the Temperature Sensor is selected by bits AMX0AD3-0 in register AMX0SL; this voltage will be amplified by the
PGA according to the user-programmed PGA settings.
Figure 6.2. Temperature Sensor Transfer Function
(Volts)
1.000
0.900
0.800
V
= 0.00286(TEMPC) + 0.776
0.700
0.600
0.500
0-5050100
TEMP
for PGA Gain = 1
(Celsius)
6.2.ADC Modes of Operation
ADC0 has a maximum conversion speed of 100 ksps. The ADC0 conversion clock is derived from the system clock
divided by the value held in the ADCSC bits of register ADC0CF.
6.2.1.Starting a Conversion
A conversion can be initiated in one of four ways, d epending on the programmed states of the ADC0 Start of Conver-
sion Mode bits (AD0CM1, AD0CM0) in ADC0CN. Conversions may be initiated by:
1. Writing a ‘1’ to the AD0BUSY bit of ADC0CN;
2. A Timer 3 overflow (i.e. timed continuous conversions);
3. A risi ng edge detected on the external ADC convert start signal, CNVSTR;
4. A Timer 2 overflow (i.e. timed continuous conversions).
The AD0BUSY bit is set to logic 1 during conversion and restored to logic 0 when conversion is complete. The fall-
ing edge of AD0BUSY triggers an interrupt (when enabled) and sets the AD0INT interrupt flag (ADC0CN.5). Con -
verted data is available in the ADC0 data word MSB and LSB registers, ADC0H, ADC0L. Converted data can be
either left or right justified in the ADC0H:ADC0L register pair (see example in
grammed state of the AD0LJST bit in the ADC0CN register.
When initiating conversions by writing a ‘1’ to A D0BUSY, the AD0INT bit should be polled to determine wh en a
conversion has completed (ADC0 interrupts may also be used). The recommended polling procedu re is shown below .
Step 1. Write a ‘0’ to AD0INT;
Step 2. Write a ‘1’ to AD0BUSY;
Step 3. Poll AD0INT for ‘1’;
Step 4. Process ADC0 data.
Figure 6.11) depending on the pro-
60Rev. 1.4
C8051F022/3
6.2.2.Tracking Modes
The AD0TM bit in register ADC0CN controls the ADC0 track-and-ho ld mode. In its default state, the ADC0 input is
continuously tracked when a conversion is not in progress. When the AD0TM bit i s logic 1, ADC0 operates in low -
power track-and-hold mode. In this mode, each conversion is preceded by a tracking period of 3 SAR clocks (after
the start-of-conversion signal). When the CNVSTR signal is used to initiate conversions in low-power tracking mode,
ADC0 tracks only when CNVSTR is low; conversion begins on the rising edge of CNVSTR (see
ing can also be disabled (shutdown) when the entire chip is in low power standby or sleep modes. Lo w-power track-
and-hold mode is also useful when AMUX or PGA settings are frequently changed, to ensure that settling time
requirements are met (see
Section “6.2.3. Settling Time Requirements” on page 62).
Figure 6.3. 10-Bit ADC Track and Conversion Example Timing
A. ADC Timing for External Trigger Source
(AD0STM[1:0]=10
CNVSTR
)
12345678910111213141516
SAR Clocks
Figure 6.3). Track-
ADC0TM=1
ADC0TM=0
Timer 2, Timer 3 Overflow;
Write '1' to AD0BUSY
(AD0STM[1:0]=00, 01, 11)
SAR Clocks
ADC0TM=1
SAR Clocks
ADC0TM=0
Low Power
or Convert
Track Or ConvertConvertTrack
TrackConvertLow Power Mode
B. ADC Timing for Internal Trigger Sources
1234567891011121314151617 18 19
Low Power
or Convert
Track or
Convert
TrackConvertLow Power Mode
12345678910111213141516
ConvertTrack
Rev. 1.461
C8051F022/3
6.2.3.Settling Time Requirements
When the ADC0 input configuration is changed (i.e., a different MUX or PGA selection is made), a minimum settling
(or tracking) time is required before an accurate conversion can be performed. This settling time is determined by the
ADC0 MUX resistance, the ADC0 sampling capacitance, any external source resistance, and the accuracy required
for the conversion.
modes. Notice that the equivalent time constant for both inpu t circuits is the same. The required settling time for a
given settling accuracy (SA) may be approximated by
R
reduces to R
TOTAL
every conversion. For most applications, these three SAR clocks will meet the settling time requirements. See
Table 6.1 on page 74 for minimum settling/tracking time requirements.
Where:
SA is the settling accuracy, given as a fraction of an LSB (for example, 0.25 to settle within 1/4 LSB)
t is the required settling time in seconds
R
is the sum of the ADC0 MUX resistance and any external source resistance.
TOTAL
n is the ADC resolution in bits (10).
Figure 6.4 shows the equivalent ADC0 input circuits for both Differential and Single-ended
Equation 6.1. When measuring the Temperature Sensor output,
. Note that in low-power tracking mode, three SAR clocks are used for tracking at the start of
DYNAMIC PERFORMANCE (10 kHz sine-wave input, 0 to 1 dB below Full Scale, 500 ksps
Signal-to-Noise Plus Distortion4547dB
Total Harmonic Distortion
Spurious-Free Dynamic Range52dB
CONVERSION RATE
SAR Conversion Clock6MHz
Conversion Time in SAR Clocks8clocks
Track/Hold Acquisition Time300ns
Throughput Rate500ksps
ANALOG INPUTS
Input Voltage Rang e0VREFV
Input Capacitance10pF
POWER SPECIFICATIONS
Power Supply Current (AV+ sup-
plied to ADC1)
Power Supply Rejection±0.3mV/V
Up to the 5th harmonic
Operating Mode, 500 ksps420900µA
-51dB
82Rev. 1.4
C8051F020/1/2/3
8.DACS, 12-BIT VOLTAGE MODE
Each C8051F020/1/2/3 device includes two on-chip 12-b it voltage-mode Digital-to-Analog Converters (DACs).
Each DAC has an output swing of 0V to (VREF-1LSB) for a corresponding input code range of 0x000 to 0xFFF. The
DACs may be enabled/disabled via their corresponding control registers, DAC0CN and DAC1CN. While disabled,
the DAC output is maintained in a high-impedance state, and the DAC supply current falls to 1
age reference for each DAC is supplied at the VREFD pin (C8051F020/2 devices) or the V REF pin (C8051F021/3
devices). Note that the VREF pin on C8051F021/ 3 devices may be driven by the internal voltage reference or an
external source. If the internal voltage reference is used it must be enabled in order for the DAC outputs to be valid.
See
Section “9. VOLTAGE REFERENCE (C8051F020/2)” on page 91 or Section “10. VOLTAGE REFER-
ENCE (C8051F021/3)” on page 93 for more information on configuring the voltage reference for the DA Cs.
8.1.DAC Output Scheduling
Each DAC features a flexible output update mechanism which allows for seamless full-scale changes and supports
jitter-free updates for waveform generation. The following examples are written in terms of DAC0, but DAC1 opera
tion is identical. Note that reads from DAC0L return pre-latch data, meaning the value read is the same as the last
value written to this register, not the value at the DAC0L latch. Reads from DAC0H always return the value at the
DAC0H latch.
Figure 8.1. DAC Functional Block Diagram
µA or less. The volt-
-
DAC0EN
DAC0MD1
DAC0MD0
DAC0DF2
DAC0CN
DAC0DF1
DAC0DF0
DAC1EN
DAC1MD1
DAC1MD0
DAC1DF2
DAC1CN
DAC1DF1
DAC1DF0
DAC0H
Timer 3
Timer 4
Timer 2
REF
AV+
Timer 3
LatchLatch
Timer 4
LatchLatch
8
12
DAC0
Dig. MUX
8
Timer 2
REF
8
12
DAC1
Dig. MUX
8
AGND
AV+
AGND
DAC0
DAC1
8
DAC0HDAC0L
8
DAC1H
8
DAC1HDAC1L
8
Rev. 1.483
C8051F020/1/2/3
8.1.1.Update Output On-Demand
In its default mode (DAC0CN.[4:3] = ‘00’) the DAC0 output is u pdated “on-demand” on a write to t he high-byte of
the DAC0 data register (DAC0H). It’s important to note that writes to DAC0L are held, and have no effect on the
DAC0 output until a write to DAC0H takes place. If writing a full 12-bit word to the DAC data registers, the 12-bit
data word is written to the low byte (DAC0L) and high byte (DAC0 H) data registers. Data is latched into DAC0 after
a write to the corresponding DAC0H register, so the write sequence should be DAC0L followed by DAC0H if the
full 12-bit resolution is required. The DAC can be used in 8-bit mode by initializing DAC0L to the desired value (typ
ically 0x00), and writing data to only DAC0H (also see Section 8.2 for information on fo rmatting the 12-bit DAC
data word within the 16-bit SFR space).
8.1.2.Update Output Based on Timer Overflow
Similar to the ADC operation, in which an ADC conversion can be in itiated by a timer overflow independently of the
processor, the DAC outputs can use a Timer overflow to schedule an output update event. This feature is useful in
systems where the DAC is used to generate a waveform of a defined sampling rate by eliminating the effects of vari
able interrupt latency and instruction execution on t he timing of the DAC output. When the DAC0MD b its
(DAC0CN.[4:3]) are set to ‘01’, ‘10’ , or ‘11’, writes to both DAC data registers (DAC0L and DAC0H) are held until
an associated Timer overflow event (Timer
DAC0H:DAC0L contents are copied to the DAC input latches allowing the DAC output to change to the new value.
3, Timer 4, or Timer 2, respectively) occurs, at which time the
-
-
8.2.DAC Output Scaling/Justification
In some instances, input data should be shifted prior to a DAC0 write operation to properly ju stify data within the
DAC input registers. This action would typically require one or more l oad and shift operations, adding software over
head and slowing DAC throughput. To alleviate this problem, the data-formatting feature provides a means for the
user to program the orientation of the DAC0 data word within data registers DAC0H and DAC0L. The three
DAC0DF bits (DAC0CN.[2:0]) allow the user to specify one of five data word orientations as shown in the DAC0CN
register definition.
DAC1 is functionally the same as DAC0 described above. The electrical specifications for both DAC0 and DAC1 are
given in
Table 8.1.
-
84Rev. 1.4
C8051F020/1/2/3
Figure 8.2. DAC0H: DAC0 High Byte Register
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0SFR Address:
Bits7-0:DAC0 Data Word Most Significant Byte.
Figure 8.3. DAC0L: DAC0 Low Byte Register
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0SFR Address:
Bits7-0:DAC0 Data Word Least Significant Byte.
00000000
0xD3
00000000
0xD2
Rev. 1.485
C8051F020/1/2/3
Figure 8.4. DAC0CN: DAC0 Control Register
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
DAC0EN--DAC0MD1 DAC0MD0 DAC0DF2 DAC0DF1 D AC0DF0 00000000
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0SFR Address:
Bit7:DAC0EN: DAC0 Enable Bit.
0: DAC0 Disabled. DAC0 Output pin is disabled; DAC0 is in low-power shutdown mode.
1: DAC0 Enabled. DAC0 Output pin is active; DAC0 is operational.
Bits6-5:UNU SED. Read = 00 b; Write = don’t care.
Bits4-3:DAC0MD1-0: DA C0 Mode Bits.
00: DAC output updates occur on a write to DAC0H.
01: DAC output updates occur on Timer 3 overflow.
10: DAC output updates occur on Timer 4 overflow.
11: DAC output updates occur on Timer 2 overflow.
Bits2-0:DAC0DF2-0 : DAC0 Data Format Bits:
000:The most significant nibble of the DAC0 Data Word is in DAC0H[3:0], while the least
significant byte is in DAC0L.
DAC0HDAC0L
MSBLSB
0xD4
001:The most significant 5-bits of the DAC0 Data Word is in DAC0H[4:0], while the least
significant 7-bits are in DAC0L[7:1].
DAC0HDAC0L
MSBLSB
010:The most significant 6-bits of the DAC0 Data Word is in DAC0H[5:0], while the least
significant 6-bits are in DAC0L[7:2].
DAC0HDAC0L
MSBLSB
011:The most significant 7-bits of the DAC0 Data Word is in DAC0H[6:0], while the least
significant 5-bits are in DAC0L[7:3].
DAC0HDAC0L
MSBLSB
1xx:The most significant 8-bits of the DAC0 Data Word is in DAC0H[7:0], while the least
significant 4-bits are in DAC0L[7:4].
DAC0HDAC0L
MSBLSB
86Rev. 1.4
C8051F020/1/2/3
Figure 8.5. DAC1H: DAC1 High Byte Register
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0SFR Address:
Bits7-0:DAC1 Data Word Most Significant Byte.
Figure 8.6. DAC1L: DAC1 Low Byte Register
00000000
0xD6
Rev. 1.487
C8051F020/1/2/3
Figure 8.7. DAC1CN: DAC1 Control Register
R/WR/WR/WR/WR/WR/WR/WR/WReset Value
DAC1EN--DAC1MD1 DAC1MD0 DAC1DF2 DAC1DF1 D AC1DF0 00000000
Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0SFR Address:
Bit7:DAC1EN: DAC1 Enable Bit.
0: DAC1 Disabled. DAC1 Output pin is disabled; DAC1 is in low-power shutdown mode.
1: DAC1 Enabled. DAC1 Output pin is active; DAC1 is operational.
Bits6-5:UNU SED. Read = 00 b; Write = don’t care.
Bits4-3:DAC1MD1-0: DA C1 Mode Bits:
00: DAC output updates occur on a write to DAC1H.
01: DAC output updates occur on Timer 3 overflow.
10: DAC output updates occur on Timer 4 overflow.
11: DAC output updates occur on Timer 2 overflow.
Bits2-0:DAC1 DF2: DAC 1 Data Format Bits:
000:The most significant nibble of the DAC1 Data Word is in DAC1H[3:0], while the least
significant byte is in DAC1L.
DAC1HDAC1L
MSBLSB
0xD7
001:The most significant 5-bits of the DAC1 Data Word is in DAC1H[4:0], while the least
significant 7-bits are in DAC1L[7:1].
DAC1HDAC1L
MSBLSB
010:The most significant 6-bits of the DAC1 Data Word is in DAC1H[5:0], while the least
significant 6-bits are in DAC1L[7:2].
DAC1HDAC1L
MSBLSB
011:The most significant 7-bits of the DAC1 Data Word is in DAC1H[6:0], while the least
significant 5-bits are in DAC1L[7:3].
DAC1HDAC1L
MSBLSB
1xx:The most significant 8-bits of the DAC1 Data Word is in DAC1H[7:0], while the least
significant 4-bits are in DAC1L[7:4].
DAC1HDAC1L
MSBLSB
88Rev. 1.4
C8051F020/1/2/3
Tab le 8.1. DAC Electrical Characteristics
VDD = 3.0 V, AV + = 3 . 0 V, VREF = 2.40 V (REFBE = 0), No Output Load unless otherwise specified
PARAMETERCONDITIONSMINTYPMAXUNITS
STATIC PERFORMANCE
Resolution12bits
Integral Nonlinearity±2LSB
Differential Nonlinearity±1LSB
Output NoiseNo Output Filter
100 kHz Output Filter
10 kHz Output Filter
Offset ErrorData Word = 0x014±3±30mV
Offset Tempco6ppm/°C
Gain Error±20±60mV
Gain-Error Tempco10ppm/°C
VDD Power Supply Rejection
Ratio
Output Impedance in Shutdown
Mode
Output Sink Current300µA
Output Short-Circuit CurrentData Word = 0xFFF15mA
DYNAMIC PERFORMANCE
Voltage Output Slew RateLoad = 40pF0.44V/µs
Output Settling Time to 1/2 LSBLoad = 40pF , Output swing from code
Output Voltage Swing0VREF-
Startup Time10µs
ANALOG OUTPUTS
Load RegulationIL = 0.01mA to 0.3mA at code 0xFFF60pp m
DACnEN = 0100kΩ
0xFFF to 0x014
250
128
41
-60dB
10µs
1LSB
µVrms
V
POWER CONSUMPTION (each DAC)
Power Supply Current (AV+ sup-
plied to DAC)
Data Word = 0x7FF110400µA
Rev. 1.489
C8051F020/1/2/3
Notes
90Rev. 1.4
C8051F020/1/2/3
9.VOLTAGE REFERENCE (C8051F020/2)
The voltage reference circuit offers full flexibility in operating the ADC and DAC modules. Three voltage reference
input pins allow each ADC and the two DACs to reference an external voltage reference or the on-chip voltage refer
ence output. ADC0 may also reference the DAC0 output internally, and ADC1 may reference the analog power sup-
ply voltage, via the VREF multiplex ers shown in Figure 9.1.
The internal voltage reference circuit consists of a 1.2 V, 1 5 pp m/°C (typical) bandgap voltage reference generator
and a gain-of-two output buffer amplifier. The internal reference may be routed via the VREF pin to external system
components or to the voltage reference input pins shown in
recommended from the VREF pin to AGND, as shown in Figure 9.1. See Ta b l e 9.1 for voltage reference specifica-
tions.
The Reference Control Register, REF0CN (defined in Figure 9.2) enables/disables the internal reference generator
and selects the reference inputs for ADC0 and ADC1. The BIASE bit in REF0CN enables the on-board reference
generator while the REFBE bit enables the gain-of-two buffer amplifier which drives th e VREF pin. When disabled,
the supply current drawn by the bandgap and buffer amplifier falls to less than 1
buffer amplifier enters a high impedance state. If the internal bandgap is used as the reference voltage generator,
BIASE and REFBE must both be set to logic 1. If the internal reference is not used, REFBE may be set to logic 0.
Note that the BIASE bit must be set to logic 1 if either DAC or ADC is used, regardless of whether the voltage refer
ence is derived from the on-chip reference or supplied by an off-chip source. If neither the ADC nor the DAC are
being used, both of these bits can be set to logic 0 to conserve p ower. Bits AD0VRS and AD1VRS select the ADC0
and ADC1 voltage reference sources, respectively. The electrical specifications for the Voltage Reference circuit are
given in
Table 9.1.
Figure 9.1. Bypass capacitors of 0.1 µF and 4.7 µF are
µA (typical) and the output of the
-
-
External
Voltage
Reference
Circuit
VDD
R1
DGND
4.7µF0.1
Recommended Bypass
Capacitors
µ
F
VREF1
VREF0
VREFD
VREF
DAC0
Ref
DAC1
AV+
1
0
Ref
ADC0
ADC1
0
1
x2
Ref
Rev. 1.491
C8051F020/1/2/3
The temperature sensor connects to the highest order input of the ADC0 input multiplex er (see Section “5.1. Analog
Multiplexer and PGA” on page 43 for C8051F020/1 devices, or Section “6.1. Analog Multiplexer and PGA” on
page 59 for C8051F022/3 devices). The TEMPE bit within REF0CN enables and disables the temperature sensor.
While disabled, the temperature sensor defaults to a high impedance state and any A/D measurements performed on
the sensor while disabled result in undefined data.
Bit1:BIASE: ADC/DAC Bias Generator Enable Bit. (Must be ‘1’ if using ADC or DAC).
0: Internal Bias Generator Off.
1: Internal Bias Generator On.
Bit0:REFBE: Internal Reference Buffer Enable Bit.
0: Internal Reference Buffer Off.
1: Internal Reference Buffer On. Internal voltage reference is driven on the VREF pin.
Tab le 9.1. Voltage Reference Electrical Characteristics
VDD = 3.0 V, AV + = 3 . 0 V, -40°C to +85°C unless otherwise specified
PARAMETERCONDITIONSMINTYPMAXUNITS
INTERNAL REFERENCE (REFBE = 1)
Output Voltage25°C ambient2.362.432.48V
VREF Short-Circuit Current30mA
VREF Temperature Coefficient15ppm/°C
Load RegulationLoad = 0 to 200 µA to AGND0.5ppm/µA
VREF Turn-on Time 14.7µF tantalum, 0.1µF ceramic bypass2ms
VREF Turn-on Time 20.1µF ceramic bypass20µs
VREF Turn-on Time 3no bypass cap10µs
EXTERNAL REFERENCE (REFBE = 0)
Input Voltage Rang e1.00(AV+) -
0.3
Input Current01µA
92Rev. 1.4
V
C8051F020/1/2/3
10.VOLTAGE REFERENCE (C8051F021/3)
The internal voltage reference circuit consists of a 1.2 V, 1 5 pp m/°C (typical) bandgap voltage reference generator
and a gain-of-two output buffer amplifier. The internal reference may be routed via the VREF pin to external system
components or to the VREFA input pin shown in
mended from the VREF pin to AGND, as shown in Figure 10.1. See Table 10.1 for voltage reference specifications.
The VREFA pin provides a voltage reference input for ADC0 and ADC1. ADC0 may al so reference the DAC0 out -
put internally, and ADC1 may reference the analog power supply voltage, via the VREF multiplexers shown in
Figure 10.1.
The Reference Control Register, REF0CN (defined in Figure 10.2) enables/disables the internal reference generator
and selects the reference inputs for ADC0 and ADC1. The BIASE bit in REF0CN enables the on-board reference
generator while the REFBE bit enables the gain-of-two buffer amplifier which drives th e VREF pin. When disabled,
the supply current drawn by the bandgap and buffer amplifier falls to less than 1
buffer amplifier enters a high impedance state. If the internal bandgap is used as the reference voltage generator,
BIASE and REFBE must both be set to 1 ( t his includes any time a DAC is used). If the internal reference is not used,
REFBE may be set to logic 0. Note that the BIASE bit must be set to logic 1 if either ADC is used, regardless of
whether the voltage reference is derived from the on-chip reference or su pplied by an off-chip source. If neither the
ADC nor the DAC are being used, both of these bits can be set to logic 0 to conserve power. Bits AD0VRS and
AD1VRS select the ADC0 and ADC1 voltage reference sources, respectively. The electrical specifications for the
Voltage Reference are given in
Ta bl e 10.1.
Figure 10.1. Bypass capacitors of 0.1 µF and 4.7 µF are recom-
µA (typical) and the output of the
External
Voltage
Reference
Circuit
Figure 10.1. Voltage Reference Functional Block Diagram
REF0CN
BIASE
REFBE
TEMPE
AD1VRS
AD0VRS
ADC1
Ref
ADC0
Ref
BIASE
EN
1.2V
Band-Gap
VDD
R1
DGND
4.7µF0.1
Recommended Bypass
Capacitors
µ
F
VREFA
VREF
AV+
1
0
0
1
DAC0
Ref
DAC1
x2
REFBE
Bias to
ADCs,
DACs
Rev. 1.493
C8051F020/1/2/3
The temperature sensor connects to the highest order input of the ADC0 input multiplex er (see Section “5.1. Analog
Multiplexer and PGA” on page 43 for C8051F020/1 devices, or Section “6.1. Analog Multiplexer and PGA” on
page 59 for C8051F022/3 devices). The TEMPE bit within REF0CN enables and disables the temperature sensor.
While disabled, the temperature sensor defaults to a high impedance state and any A/D measurements performed on
the sensor while disabled result in undefined data