• Prototype LPC2106/2105/2104 User Manual created from the design specification.
July, 2003:
• Flash Programming chapter added.
• Memory Accelerator Module chapter added.
• Register names in UARTs and timers updated.
• List of all registers added in the Introduction chapter.
• Pin Configuration chapter added.
August, 2003:
• MAM, VIC, GPIO, and RTC Usage Notes added.
• EmbeddedICE chapter updated.
September, 2003:
• Details on JTAG ports added in the EmbeddedICE chapter.
• Details on crystal oscillator added in the System Control Block chapter.
• List of possible baudrates when ISP is used added in the Flash Memory System and Programming chapter.
• Details on reset timing requirem en ts add ed in the Sys tem Control Block, Reset chapter.
October, 2003:
• Number of Flash erase and write cycel is added in the Introduction chapter.
13October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
14October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
1. INTRODUCTION
FEATURES
• ARM7TDMI-S processor.
• 128 kilobyte on-chip Flash Program Memory with In-System Programming (ISP) and In-Application Programming (IAP)
capability. Flash programming time is 1 ms for up to a 512 byte line. 10,000 erase and write cycles are guaranteed per 512
byte line. Single sector erase (8 kB) or the whole chip erase is done in 400 ms.
• Standard ARM Test/Debug interface for compatibility with existing tools.
2
• Very small package LQFP48 (7x7mm
• Two UARTs, one with full modem interface.
•I2C serial interface.
• SPI serial interface.
• Two timers, each with 4 capture/compare channels.
• PWM unit with up to 6 PWM outputs.
• Real Time C lock.
• Watchdog Timer.
• General purpose I/O pins.
• CPU operating range up to 60 MHz.
• Dual power supply.
- CPU operating voltage range of 1.65V to 1.95V (1.8V +/- 8.3%).
- I/O power supply range of 3.0V to 3.6V (3.3V +/- 10%).
).
• Two low power modes, Idle and Power Down.
• Processor wakeup from Power Down mode via external interrupt.
• Individual enable/disable of peripheral functions for power optimization.
• On-chip crystal oscillator with an operating range of 10 MHz to 25 MHz.
• On-chip PLL allows CPU operation up to the maximum CPU rate. May be used over the entire crystal operating range.
APPLICATIONS
• Internet gateway.
• Serial communications protocol converter.
• Access control.
• Industrial Control.
• Medical equipment.
Introduction15October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
ARCHITECTURAL OVERVIEW
The LPC2106/2105/2104 consists of an ARM7TDM I-S CPU with emulatio n support, the ARM7 Lo cal Bus for interface to on -chip
memory controllers, the AMBA Advanced High-performance Bus (AHB) for interface to the interrupt controller, and the VLSI
Peripheral Bus (VPB, a compatible superset of ARM’s AMBA Advanced Peripheral Bus) for connection to on-chip peripheral
functions. The LPC2106/2105/2104 configures the ARM7TDMI-S processor in little-endian byte order.
AHB peripherals are allocated a 2 megabyte range of addresses at the very top of the 4 gigabyte ARM memory space. Each
AHB peripheral is allocated a 16 kilobyte address space within the AHB address space. LPC2106/05/04 peripheral functions
(other than the interrupt controller) are connected to the VPB bus. The AHB to VPB bridge interfaces the VPB bus to the AHB
bus. VPB peripherals are also allocated a 2 megabyte range of addresses, beginning at the 3.5 gigabyte address point. Each
VPB peripheral is allocated a 16 kilobyte address space within the VPB address space.
The connection of on-chip pe ripherals to d evice pins i s controlled by a Pin Conne ction Block. This must be configured by software
to fit specific application requirements for the use of peripheral functions and pins.
ARM7TDMI-S PROCESSOR
The ARM7TDMI-S is a general purpose 32-bit microproce ssor, which offers high perfo rmance and very low pow er consumption .
The ARM architecture is based on Reduced Instruction Set Computer (RISC) principles, and the instruction set and related
decode mechanism are much simpler than those of microprogrammed Complex Instruction Set Computers. This simplicity
results in a high instruction throughput and impressive real-time interrupt response from a small and cost-effective processor
core.
Pipeline techniques are em plo ye d so tha t all parts of the processing and memory systems can operat e con tinuously. Typically,
while one instruction is being executed, its successor is being decoded, and a third instruction is being fetched from memory.
The ARM7TDMI-S processor also employs a unique architectural strategy known as THUMB, which makes it ideally suited to
high-volume applications with memory restrictions, or applications where code density is an issue.
The key idea behind THUMB is that of a super-reduced instruction set. Essentially, the ARM7TDMI-S processor has two
instruction sets:
• The standard 32-bit ARM instruction set.
• A 16-bit TH UMB instruction set.
The THUMB set’s 16-bit ins truc tion length allows it to approach twic e th e de ns ity of s tan dard ARM code while retaining most of
the ARM’s performance advantage over a traditional 16-bit processor using 16-bit registers. This is possible because THUMB
code operates on the same 32-bit register set as ARM code.
THUMB code is able to provide up to 65% of the code size of ARM, and 160% of the performance of an equivalent ARM
processor connected to a 16-bit memory system.
The ARM7TDMI-S processor is described in detail in the ARM7TDMI-S Datasheet that can be found on official ARM website.
ON-CHIP FLASH MEMORY SYSTEM
The LPC2106/2105/2104 incorporates a 128K byte Flash memory system. This memory may be used for both code and data
storage. Programming o f the Fl ash m emory ma y be a ccom plish ed in sev eral w ays: over t he seri al bui lt-in JT AG interfa ce, us ing
In System Programming (ISP) and UART0, or by means of In Application Programming (IAP) capabilities. The application
program, using the In Application Programming (IAP) functions, may also erase and/or program the Flash while the application
is running, allowing a great degree of flexibility for data storage field firmware upgrades, etc.
Introduction16October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
ON-CHIP STATIC RAM
The LPC2106, LPC210 5 and LPC 2104 prov ide a 64K byte, 32K b yte and 16 K byte sta tic RAM me mory r espectivel y that may be
used for code and/or data storage. The SRAM supports 8-bit, 16-bit, and 32-bit accesses.
The SRAM controller incorpo r ate s a wri te-b ac k bu ffer i n ord er to p rev ent CPU s tal ls d urin g ba ck -to-back writes. The write-back
buffer always holds the last data sent by software to the SRAM. This data is only written to the SRAM when another write is
requested by software. If a ch ip res et occurs , actu al SRAM cont ent s w ill not refl ec t the mo st recen t wr ite req ue st. Any sof tw are
that checks SRAM contents after reset must take this into account. A dummy write to an unused location may be appended to
any operation in order to guarantee that all data has really been written into the SRAM.
Introduction17October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
BLOCK DIAGRAM
Internal SRAM
Controller
64/32/16 kB
SRAM
EINT0 *
EINT1 *
EINT2 *
CAP0..2 *
MAT0..2 *
ARM7 Local Bus
Internal Flash
External
Interrupts
Capture /
Compare
Timer 0
Controller
128 kB
FLASH
1
1
TMS
TRST
Test/Debug Interface
1
1
1
TDI
TCK
TDO
ARM7TDMI-S
AHB Bridg e
AHB to VPB
Bridge
VPB (VLSI
Peripheral Bus)
PLL
System
Module
Emulation Trace
(Advanced High-performance Bus)
Clock
AMBA AHB
VPB
Divider
I2C Serial
Interface
SPI Serial
Interface
Vss
Vdd
RST
Xtal2
Xtal1
System
Functions
Vectored Interrupt
Controller
AHB
Decoder
SCL *
SDA *
SCK *
MOSI *
MISO *
SSEL *
CAP0..3 *
MAT0..3 *
GPIO (22 pins)
Capture /
Compare
Timer 1
General
GPIO (10 pins)
PWM1..6 *
Purpose I/O
PWM0
Real Time
Clock
* Shared with GPIO
1
When Test/Debug Interface is used, GPIO/other functions sharing these pins are not available
Figure 1: LPC2106/2105/2104 Block Diagram
UART0
UART1
Watchdog
Timer
System
Control
TxD *
RxD *
TxD *
RxD *
Modem Control
(6 pins) *
Introduction18October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
LPC2106/2105/2104 REGISTERS
Accesses to registers in LPC2106/2105/2104 is restricted in the following ways:
1) user must NOT attempt to access any register locations not defined.
2) Access to any defined register locations must be stri ctly for the functions for the registers.
3) Register bits labeled ’-’, ’0’ or ’1’ can ONLY be written and read as follows:
- ’-’ MUST be written with ’0’, but can return any value when read (even if it was written with ’0’). It is a reserved bit and may
be used in future derivatives.
- ’0’ MUST be written with ’0’, and will return a ’0’ when read.
- ’1’ MUST be written with ’1’, and will return a ’1’ when read.
The following table shows all registers available in LPC2106/2105/2104 microcontroller sorted according to the address.
Access to the specific one can be categorized as either read/write, read only or write only (R/W, RO and WO respectively).
"Reset Value" field refe rs to the data stored in us ed/accessible bit s only. It does not inc lude reserved bits cont ent. Some registers
may contain undeterm ined data up on reset. In thi s case, reset value is ca tegorized as "un defined". Classificati on as "NA" is u sed
in case reset value is not applicable. Some registers in RTC are not affected by the chip reset. Their reset value is marked as *
and these registers must be initialized by software if the RTC is enabled.
Registers in LPC210 6/2105/2104 are 8, 16 or 3 2 bits wi de. For 8 bit registers show n in Table 1, bit resi ding in the MSB (The Most
Significant Bit) col umn corresponds to the bit 7 o f that register, while bit in t he LSB (The Leas t Significant B it) column corr esponds
to the bit 0 of the same register.
If a register is 1 6/3 2 bit wide, the b it res iding in t he top left corne r of i ts d escrip tion, is th e bit corre spond ing to the bit 1 5/31 o f the
register, while the bit in the bottom right corner corresponds to bit 0 of this register.
Examples: bit "EN A6" in PWM P CR reg ist er ( add res s 0 xE0 014 04 C) rep res ents t he bit at pos iti on 14 in this register; bits 15, 8, 7
and 0 in the same register are reserved. Bit "Stop on MR6" in PWMMCR register (0xE001 4014) corresponds to the bit at positi on
20; bits 31 to 21 of the same register are reserved.
Unused (reserved) bits are marked with "-" and represented as gray fields. Access to them is restricted as already described.
Table 1: LPC2106/2105/2104 Registers
Address
Offset
WD
0xE0000000
0xE0000004WDTC
NameDescriptionMSBLSBAccess
WD
MOD
Watchdog
mode register
Watchdog
timer
constant
register
----
WD
INTWDTOF
32 bit dataR/W0xFF
WDRE
SET
WDENR/W0
Reset
Value
Watchdog
WD
0xE0000008
FEED
feed
sequence
register
8 bit data (0xAA fallowed by 0x55)WONA
Introduction19October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
Table 1: LPC2106/2105/2104 Registers
Address
Offset
0xE000000CWDTV
Timer 0
0xE0004000T0IR
0xE0004004 T0TCR
0xE0004008T0TCT0 Counter32 bit dataRW0
0xE000400CT0PR
0xE0004010T0PC
0xE0004014 T0MCR
NameDescriptionMSBLSBAccess
Watchdog
timer value
register
T0 Interrupt
Register
T0 Control
Register
T0 Prescale
Register
T0 Prescale
Counter
T0 Match
Control
Register
CR2
Int.
------
4 reserved (-) bits
Reset
MR2
on
Int. on
MR2
CR1
Int.
Stop
on
MR1
32 bit dataRO0xFF
CR0
Int.
Reset
MR1
MR3
Int.
32 bit dataR/W0
32 bit dataR/W0
Stop
on
MR3
Int. on
on
MR1
MR2
Int.
Reset
on
MR3
Stop
on
MR0
MR1
Int.
CTR
Enable
Int. on
MR3
Reset
on
MR0
MR0
Int.
CTR
Reset
Stop
on
MR2
Int. on
MR0
R/W0
R/W0
R/W0
Reset
Value
0xE0004018 T0MR0
0xE000401C T0MR1
0xE0004020 T0MR2
0xE0004024 T0MR3
0xE0004028 T0CCR
0xE000402C T0CR0
0xE0004030 T0CR1
0xE0004034 T0CR2
T0 Match
Register 0
T0 Match
Register 1
T0 Match
Register 2
T0 Match
Register 3
T0 Capture
Control
Register
T0 Capture
Register 0
T0 Capture
Register 1
T0 Capture
Register 2
Int. on
Cpt.2
falling
Int. on
Cpt.2
rising
32 bit dataR/W0
32 bit dataR/W0
32 bit dataR/W0
32 bit dataR/W0
7 reserved (-) bits
Int. on
Cpt.1
Int. on
Cpt.1
falling
32 bit dataRO0
32 bit dataRO0
32 bit dataRO0
Int. on
Cpt.1
rising
Int. on
Cpt.0
Int. on
Cpt.0
falling
Int. on
Cpt.2
Int. on
Cpt.0
rising
R/W0
Introduction20October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
Table 1: LPC2106/2105/2104 Registers
Address
Offset
0xE000403C T0EMR
Timer 1
0xE0008000T1IR
0xE0008004 T1TCR
0xE0008008T1TCT1 Counter32 bit dataRW0
0xE000800CT1PR
0xE0008010T1PC
0xE0008014 T1MCR
NameDescriptionMSBLSBAccess
Ext.
Int.
on
on
External Match
Control 2
Ext.
Mtch.1
MR1
Int.
CTR
Enable
Int. on
MR3
Reset
on
MR0
Ext.
Mtch.0
MR0
Int.
CTR
Reset
Stop
on
MR2
Int. on
MR0
R/W0
R/W0
R/W0
R/W0
T0 External
Match
Register
T1 Interrupt
Register
T1 Control
Register
T1 Prescale
Register
T1 Prescale
Counter
T1 Match
Control
Register
6 reserved (-) bits
External Match
Control 1
CR3
Int.
Reset
on
MR2
CR2
------
4 reserved (-) bits
Int. on
MR2
Int.
External Match
Control 0
CR1
Int.
Stop
on
MR1
CR0
Int.
32 bit dataR/W0
32 bit dataR/W0
Reset
on
MR1
-
MR3
Int.
Stop
on
MR3
Int. on
MR1
Mtch2.
MR2
Reset
MR3
Stop
MR0
Reset
Value
0xE0008018 T1MR0
0xE000801C T1MR1
0xE0008020 T1MR2
0xE0008024 T1MR3
0xE0008028 T1CCR
0xE000802C T1CR0
0xE0008030 T1CR1
0xE0008034 T1CR2
T1 Match
Register 0
T1 Match
Register 1
T1 Match
Register 2
T1 Match
Register 3
T1 Capture
Control
Register
T1 Capture
Register 0
T1 Capture
Register 1
T1 Capture
Register 2
4 reserved (-) bits
Int. on
Cpt.2
falling
Int. on
Cpt.2
rising
Int. on
Cpt.1
32 bit dataR/W0
32 bit dataR/W0
32 bit dataR/W0
32 bit dataR/W0
Int. on
Cpt.3
Int. on
Cpt.1
falling
Int. on
Cpt.1
rising
32 bit dataRO0
32 bit dataRO0
32 bit dataRO0
Int. on
Cpt.3
falling
Int. on
Cpt.0
Int. on
Cpt.3
rising
Int. on
Cpt.0
falling
Int. on
Cpt.2
R/W0
Int. on
Cpt.0
rising
Introduction21October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
Table 1: LPC2106/2105/2104 Registers
Address
Offset
NameDescriptionMSBLSBAccess
0xE0008038 T1CR3
0xE000803C T1EMR
UART 0
U0RBR
(DLAB=0)
0xE000C000
U0THR
(DLAB=0)
U0DLL
(DLAB=1)
U0IER
0xE000C004
(DLAB=0)
T1 Capture
Register 3
T1 External
Match
Register
U0 Receiver
Buffer
Register
U0 Transmit
Holding
Register
U0 Divisor
Latch LSB
U0 Interrupt
Enable
Register
32 bit dataRO0
4 reserved (-) bits
External Match
Control 1
External Match
Control 0
External Match
Control 3
Ext.
Mtch.3
8 bit dataRO
8 bit dataWONA
8 bit dataR/W0x01
00000
Ext.
Mtch2.
En. Rx
Line
Status
Int.
External Match
Control 2
Ext.
Mtch.1
Enable
THRE
Int.
Ext.
Mtch.0
En. Rx
Data
Av.Int.
Reset
Value
R/W0
un-
defined
R/W0
U0DLM
(DLAB=1)
U0IIR
0xE000C008
U0FCR
0xE000C00C U0LCR
0xE000C014 U0LSR
0xE000C01C U0SCR
UART 1
U0 Divisor
Latch MSB
U0 Interrupt
ID Register
U0 FIFO
Control
Register
U0 Line
Control
Register
U0 Line
Status
Register
U0 Scratch
Pad Register
8 bit dataR/W0
FIFOs Enabled00IIR3IIR2IIR1IIR0RO0x01
Rx Trigger
DLAB
Set
Break
---
Stick
Parity
Even
Parity
Select
Parity
Enable
U0 Tx
FIFO
Reset
Nm. of
Stop
Bits
U0 Rx
FIFO
Reset
U0
FIFO
Enable
Word Length
Select
WO0
R/W0
Rx
FIFO
TEMT THREBIFEPEOEDRRO0x60
Error
8 bit dataR/W0
Introduction22October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
Table 1: LPC2106/2105/2104 Registers
Address
Offset
NameDescriptionMSBLSBAccess
U1RBR
(DLAB=0)
0xE0010000
U1THR
(DLAB=0)
U1DLL
(DLAB=1)
U1IER
0xE0010004
(DLAB=0)
U1DLM
(DLAB=1)
U1IIR
0xE0010008
U1FCR
0xE001000C U1LCR
0xE0010010
U1
MCR
0xE0010014 U1LSR
U1 Receiver
Buffer
Register
U1 Transmit
Holding
Register
U1 Divisor
Latch LSB
U1 Interrupt
Enable
Register
U1 Divisor
Latch MSB
U1 Interrupt
ID Register
U1 FIFO
Control
Register
U1 Line
Control
Register
U1 Modem
Control
Register
U1 Line
Status
Register
Reset
Value
8 bit dataRO
un-
defined
8 bit dataWONA
8 bit dataR/W0x01
En.
0000
Mdem
Satus
En. Rx
Status
Int.
Line
Int.
Enable
THRE
Int.
En. Rx
Data
Av.Int.
R/W0
8 bit dataR/W0
FIFOs Enabled00IIR3IIR2IIR1IIR0RO0x01
Rx Trigger
DLAB
Set
Break
---
Stick
Parity
000
Even
Parity
Select
Loop
Back
U0 Tx
FIFO
Reset
Parity
Enable
Nm. of
Stop
00RTSDTRR/W0
Bits
U0 Rx
FIFO
Reset
U0
FIFO
Enable
Word Length
Select
WO0
R/W0
Rx
FIFO
TEMT THREBIFEPEOEDRRO0x60
Error
U1
U1 Scratch
Pad Register
U1 Modem
Status
Register
8 bit dataR/W0
DCDRIDSRCTS
Delta
DCD
Trailing
Edge
RI
Delta
DSR
Delta
CTS
RO0
0xE001001C U1SCR
0xE0010018
MSR
PWM
0xE0014000
0xE0014004
0xE0014008
IR
PWM
Interrupt
Register
PWM Timer
Control
Register
PWM
PWM
TCR
PWMTCPWM Timer
Counter
-----
----
----
MR3
PWM
Enable
32 bit dataRW0
Int.
MR6
Int.
MR2
Int.
MR5
Int.
MR4
Int.
R/W0
MR1
Int.
CTR
Reset
MR0
Int.
CTR
Enable
R/W0
Introduction23October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
Table 1: LPC2106/2105/2104 Registers
Address
Offset
0xE001400C
0xE0014010
0xE0014014
0xE0014018
0xE001401C
0xE0014020
NameDescriptionMSBLSBAccess
PR
PC
PWM
Prescale
Register
PWM
Prescale
Counter
PWM Match
Control
Register
PWM Match
Register 0
PWM Match
Register 1
PWM Match
Register 2
11 reserved (-) bits
Int. on
MR5
Reset
on
MR2
Stop
on
MR4
Int. on
MR2
Reset
on
MR4
Stop
on
MR1
32 bit dataR/W0
32 bit dataR/W0
Stop
MR6
Int. on
MR4
Reset
MR1
on
on
Reset
on
MR6
Stop
on
MR3
Int. on
MR1
Int. on
MR6
Reset
on
MR3
Stop
on
MR0
Stop
on
MR5
Int. on
MR3
Reset
on
MR0
Reset
on
MR5
Stop
on
MR2
Int. on
MR0
R/W0
32 bit dataR/W0
32 bit dataR/W0
32 bit dataR/W0
PWM
PWM
PWM
MCR
PWM
MR0
PWM
MR1
PWM
MR2
Reset
Value
0xE0014024
0xE0014040
0xE0014044
0xE0014048
0xE001404C
0xE0014050
2
C
I
0xE001C000
PWM
MR3
PWM
MR4
PWM
MR5
PWM
MR6
PWM
PCR
PWM
LER
I2CON
SET
0xE001C004 I2STAT
0xE001C008I2DAT
PWM Match
Register 3
PWM Match
Register 4
PWM Match
Register 5
PWM Match
Register 6
PWM Control
Register
PWM Latch
Enable
Register
2
C Control
I
Set Register
2
C Status
I
Register
2
C Data
I
Register
32 bit dataR/W0
32 bit dataR/W0
32 bit dataR/W0
32 bit dataR/W0
-ENA6ENA5ENA4ENA3ENA2ENA1R/W0
-SEL6SEL5SEL4SEL3SEL2SEL1-
Ena.
PWM
-
M6
Latch
Ena.
PWM
M5
Latch
Ena.
PWM
M4
Latch
Ena.
PWM
M3
Latch
Ena.
PWM
M2
Latch
Ena.
PWM
M1
Latch
Ena.
PWM
M0
Latch
R/W0
-I2ENSTASTOSIAA --R/W0
5 bit Status000RO0xF8
8 bit dataR/W0
Introduction24October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
Table 1: LPC2106/2105/2104 Registers
Address
Offset
0xE001C00C
0xE001C010
0xE001C014
0xE001C018
NameDescriptionMSBLSBAccess
I2
ADR
I2
SCLH
I2
SCLL
I2CON
CLR
SPI
0xE0020000SPCR
0xE0020004SPSR
0xE0020008SPDR
0xE002000C
SP
CCR
0xE002001C SPINT
2
C Slave
I
Address
Register
SCL Duty
Cycle
Register High
Half Word
SCL Duty
Cycle
Register Low
Half Word
2
C Control
I
Clear
Register
SPI Control
Register
SPI Status
Register
SPI Data
Register
SPI Clock
Counter
Register
SPI Interrupt
Flag
Reset
Value
7 bit dataGCR/W0
16 bit dataR/W0x04
16 bit dataR/W0x04
-I2ENC STAC-SICAAC--WONA
SPIELSBFMSTR CPOL CPHA
SPIFWCOL ROVR MODF ABRT
---R/W0
---RO0
8 bit dataR/W0
8 bit dataR/W0
-------
SPI
Int.
R/W0
RTC
0xE0024000ILR
0xE0024004CTC
0xE0024008CCR
Interrupt
Location
Register
Clock Tick
Counter
Clock Control
Register
------
15 bit data
----CTTEST
RTC
ALF
CTC
RST
RTC
CIF
R/W*
-RO*
CLK
EN
R/W*
Counter
0xE002400CCIIR
Increment
Interrupt
IM
YEARIMMONIMDOYIMDOWIMDOMIMHOURIMMINIMSEC
R/W*
Register
0xE0024010AMR
Alarm Mask
Register
AMR
YEAR
AMR
MON
AMR
DOY
AMR
DOW
AMR
DOM
AMR
HOUR
AMR
MIN
AMR
SEC
R/W*
Introduction25October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
Table 1: LPC2106/2105/2104 Registers
Address
Offset
0xE0024014
0xE0024018
0xE002401C
NameDescriptionMSBLSBAccess
CTIME0
CTIME1
CTIME2
0xE0024020SEC
0xE0024024MIN
0xE0024028HOUR
0xE002402CDOM
0xE0024030DOW
Consolidated
Time
Register 0
Consolidated
Time
Register 1
Consolidated
Time
Register 2
Seconds
Register
Minutes
Register
Hours
Register
Day of Month
Register
Day of Week
Register
Reset
Value
-----3 bit Day of Week
---5 bit Hours
RO*
--6 bit Minutes
--6 bit Seconds
----
12 bit Year
RO*
----4 bit Month
---5 bit Day of Month
reserved (-) 20 bits12 bit Day of YearRO*
--6 bit dataR/W*
--6 bit dataR/W*
---5 bit dataR/W*
---5 bit dataR/W*
-----3 bit dataR/W*
0xE0024034DOY
0xE0024038
MONTH
Day of Year
Register
Months
Register
0xE002403CYEARYear Register
AL
AL
AL
AL
AL
Alarm value
for Seconds
Alarm value
for Minutes
Alarm value
for Hours
Alarm value
for Day of
Month
Alarm value
for Day of
Week
0xE0024060
0xE0024064
0xE0024068
0xE002406C
0xE0024070
SEC
MIN
HOUR
DOM
DOW
reserved (-) 7 bits9 bit dataR/W*
----4 bit dataR/W*
reserved (-) 4 bits12 bit dataR/W*
--6 bit dataR/W*
--6 bit dataR/W*
---5 bit dataR/W*
---5 bit dataR/W*
-----3 bit dataR/W*
Introduction26October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
Table 1: LPC2106/2105/2104 Registers
Address
Offset
0xE0024074
0xE0024078
0xE002407C
0xE0024080
0xE0024084
GPIO
0xE0028000IOPIN
0xE0028004IOSET
NameDescriptionMSBLSBAccess
AL
DOY
AL
MON
AL
YEAR
PRE
INT
PRE
FRAC
Alarm value
for Day of
Year
Alarm value
for Months
Alarm value
for Year
Prescale
value, integer
portion
Prescale
value,
fractional
portion
GPIO Pin
value regi ster
GPIO 0
Output set
register
Reset
Value
reserved (-) 7 bits9 bit dataR/W*
----4 bit dataR/W*
reserved
(-) 4 bits
reserved
(-) 3 bits
-15 bit dataR/W0
32 bit dataRONA
32 bit dataR/W0
12 bit dataR/W*
13 bit dataR/W0
0xE0028008IODIR
0xE002800C IOCLR
Pin Connet Block
0xE002C000
0xE002C004
System Control Block
0xE01FC000
0xE01FC004
PIN
SEL0
PIN
SEL1
MAMCRMAM control
MAM
TIM
GPIO 0
Direction
control
register
GPIO 0
Output clear
register
Pin funct i on
select
register 0
Pin funct i on
select
register 1
register
MAM timing
control
32 bit dataR/W0
32 bit dataWO0
32 bit dataR/W0
32 bit dataR/W0
------2 bit dataR/W0
-----3 bit dataR/W0x07
Introduction27October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
Table 1: LPC2106/2105/2104 Registers
Address
Offset
0xE01FC040
0xE01FC080
0xE01FC084
0xE01FC088
0xE01FC08C
0xE01FC0C0 PCON
0xE01FC0C4 PCONP
0xE01FC100
NameDescriptionMSBLSBAccess
MEM
MAP
PLL
CON
PLL
CFG
PLL
STAT
PLL
FEED
VPB
DIV
Memory
mapping
control
PLL control
register
PLL
configuration
register
PLL status
register
PLL feed
register
Power control
register
Power control
for
peripherals
VPB divider
control
------2 bit dataR/W0
------PLLCPLLER/W0
-2bit data PSEL5 bit data MSELR/W0
-----
-2bit data PSEL5 bit data MSEL
8 bit dataWONA
------PDIDLR/W0
reserved (-) 22 bits
PC
I2C
------2 bit dataR/W0
PC
PWM0PCURT1PCURT0PCTIM1PCTIM0
PLOCK
PLLCPLLE
RO0
PC
RTCPCSPI
R/W0x3BE
-
Reset
Value
0xE01FC140
0xE01FC144
EXT
INT
EXT
WAKE
External
interrupt flag
register
External
interrupt
wakeup
register
-----EINT2 EINT1 EINT0R/W0
-----
EXT
WAKE
EXT
WAKE
2
EXT
WAKE0R/W0
1
Introduction28October 02, 2003
Philips SemiconductorsPreliminary User Manual
LPC2106/2105/2104ARM-based Microcontroller
2. LPC2106/2105/2104 MEMORY ADDRESSING
MEMORY MAPS
The LPC2106/2105 /2104 incorporates several distinct memory r egions, shown in t he following figures. Figure 2 shows the overall
map of the entire addr ess sp ace from th e user p rogram v iewpoi nt follo wing res et. The i nterrupt v ector a rea sup ports ad dress remapping, which is described later in this section.
- AHB section is
128 x 16 kB blocks
(totaling 2 MB).
- VPB section is
128 x 16 kB blocks
(totaling 2 MB).
4.0 GB
4.0 GB - 2 MB
3.75 GB
AHB Peripherals
0xFFFF FFFF
0xFFE0 0000
0xFFDF FFFF
Reserved
0xF000 0000
0xEFFF FFFF
Reserved
3.5 GB + 2 MB
VPB Peripherals
3.5 GB
Figure 3: Peripheral Memory Map
Figures 3 through 5 show different views of the peripheral address space. Both the AHB and VPB peripheral areas are 2
megabyte spaces whic h are divided up into 128 periph erals. Each peripheral space is 16 kilobytes in size . This allows simplify ing
the address decod ing for ea ch perip heral. All periphera l registe r addresses are wor d aligned (to 32-bi t boundar ies) regard less of
their size. This eliminates the need for byte lane mapping hardwa re tha t w oul d be requi red to all ow by te (8-bit) or half-word (16bit) accesses to occur at smaller boundaries. An implication of this is that word and half-word registers must be accessed all at
once. For example, it is not possible to read or write the upper byte of a word register separately.