Single-chip 16/32-bit microcontroller; 256 kB ISP/IAP flash
with 10-bit ADC and CAN
Rev. 05 — 10 December 2007Product data sheet
1.General description
The LPC2194 is based on a 16/32-bit ARM7TDMI-S CPU with real-time emulation and
embedded trace support, together with 256 kB of embedded high-speed flash memory. A
128-bit wide memory interface and a unique accelerator architecture enable 32-bit code
execution at maximum clock rate. For critical code size applications, the alternative 16-bit
Thumb mode reduces code by more than 30 % with minimal performance penalty.
With its compact 64-pin package, low power consumption, various 32-bit timers,
4-channel 10-bit ADC, four advanced CAN channels, PWM channels and 46 fast GPIO
lines with up to nine external interrupt pins this microcontroller is particularly suitable for
automotive applications such as a CAN gateway that connects several CAN busses or a
CAN bridge between sub networks at different speeds. Sensors with CAN interface or
debugging via CANare additional applications that need more than two CAN interfaces. It
is also an adequate solution for industrial control, medical systems and fault-tolerant
maintenance buses. With a wide range of additional serial communications interfaces, it is
also suited for communication gateways and protocol converters as well as many other
general-purpose applications.
2.Features
2.1 Key features brought by LPC2194/01 devices
Remark: Throughout the data sheet, the term LPC2194 will apply to devices with and
without the /00 or /01 suffixes. The /00 or the /01 suffix will be used to differentiate from
other devices only when necessary.
n FastGPIO ports enable port pin toggling up to 3.5 times faster than the original device.
They also allow for a port pin to be read at any time regardless of its function.
n Dedicated result registers for ADC(s) reduce interrupt overhead. The ADC pads are
5 V tolerant when configured for digital I/O function(s).
n UART0/1 include fractional baud rate generator, auto-bauding capabilities and
handshake flow-control fully implemented in hardware.
n Buffered SSP serial controller supporting SPI, 4-wire SSI, and Microwire formats.
n SPI programmable data length and master mode enhancement.
n Diversified Code Read Protection (CRP) enables different security levels to be
implemented. This feature is available in LPC2194/00 devices as well.
n General purpose timers can operate as external event counters.
NXP Semiconductors
2.2 Key features common for all devices
n 16/32-bit ARM7TDMI-S microcontroller in a tiny LQFP64 package.
n 16 kB on-chip SRAM and 256 kB on-chip flash program memory. 128-bit wide
n In-System Programming (ISP) and In-Application Programming (IAP) via on-chip
n EmbeddedICE-RT and Embedded Trace interfaces offer real-time debugging with
n Fourinterconnected CAN interfaceswith advanced acceptance filters. Additional serial
n Four channel 10-bit ADC with conversion time as low as 2.44 µs.
n Two 32-bit timers (with four capture and four compare channels), PWM unit (six
n Vectored Interrupt Controller with configurable priorities and vector addresses.
n Up to forty-six 5 V tolerant general purpose I/O pins. Up to nine edge or level sensitive
n Operating temperature range from −40 °C to +125 °C.
n 60 MHz maximum CPU clock available from programmable on-chip Phase-Locked
n On-chip crystal oscillator with an operating range of 1 MHz to 30 MHz.
n Two low power modes, Idle and Power-down.
n Processor wake-up from Power-down mode via external interrupt.
n Individual enable/disable of peripheral functions for power optimization.
n Dual power supply:
LPC2194
Single-chip 16/32-bit microcontroller
interface/accelerator enables high speed 60 MHz operation.
bootloader software. Flash programming takes 1 ms per 512 B line. Single sector or
full chip erase takes 400 ms.
on-chip RealMonitor software as well as high speed real-time tracing of instruction
execution.
interfaces are two UARTs (16C550), Fast I2C-bus (400 kbit/s) and two SPIs.
outputs), Real-Time Clock and Watchdog.
external interrupt pins available.
Loop with settling time of 100 µs.
u CPU operating voltage range of 1.65 V to 1.95 V (1.8 V ± 0.15 V).
u I/O power supply range of 3.0 V to 3.6 V (3.3 V ± 10 %) with 5 V tolerant I/O pads.
Product data sheetRev. 05 — 10 December 20072 of 40
SOT314-2
SOT314-2
SOT314-2
NXP Semiconductors
4.Block diagram
TRST
TMS
(2)
(2)
TCK
TDI
(2)
(2)
TDO
RTCK
(2)
LPC2194
Single-chip 16/32-bit microcontroller
XTAL2
XTAL1
RESET
P0[30:27],
P0[25:0]
P1[31:16]
EINT[3:0]
4 × CAP0
4 × CAP1
4 × MAT0
4 × MAT1
LPC2194
HIGH-SPEED
GPI/O
46 PINS TOTAL
ARM7 LOCAL BUS
INTERNAL
SRAM
CONTROLLER
16 kB
SRAM
(3)
INTERNAL
FLASH
CONTROLLER
256 kB
FLASH
INTERFACE
ARM7TDMI-S
AHB BRIDGE
AHB TO APB
BRIDGE
system
EMULATION
clock
TRACE MODULE
PLL
FUNCTIONS
VECTORED
INTERRUPT
CONTROLLER
AMBA Advanced High-performance
Bus (AHB)
APB
DIVIDER
2
I
C-BUS SERIAL
DECODER
SYSTEM
AHB
INTERFACE
TEST/DEBUG
(1)
(1)
(1)
(1)
(1)
EXTERNAL
INTERRUPTS
CAPTURE/
COMPARE
TIMER 0/TIMER 1
SPI1/SSP
(3)
SERIAL
INTERFACE
SPI0 SERIAL
INTERFACE
V
DD(3V3)
V
DD(1V8)
V
SS
SCL
SDA
SCK1
MOSI1
MISO1
SSEL1
SCK0
MOSI0
MISO0
SSEL0
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
AIN[3:0]
P0[30:27],
P0[25:0]
P1[31:16]
PWM[6:1]
RD[4:1]
TD[4:1]
(1)
A/D CONVERTER
UART0/UART1
GENERAL
PURPOSE I/O
(1)
(1)
(1)
CAN INTERFACE 1, 2, 3 AND 4
PWM0
ACCEPTANCE FILTERS
WATCHDOG
TIMER
SYSTEM
CONTROL
REAL-TIME CLOCK
002aad178
TXD[1:0]
RXD[1:0]
(1)
DSR1
(1)
RTS1
(1)
DCD1
(1)
(1)
, CTS1
, DTR1
, RI1
(1)
,
(1)
,
(1)
(1) Shared with GPIO.
(2) When test/debug interface is used, GPIO/other functions sharing these pins are not available.
(3) SSP interface and high-speed GPIO are available on LPC2194/01 only.
Product data sheetRev. 05 — 10 December 20076 of 40
NXP Semiconductors
LPC2194
Single-chip 16/32-bit microcontroller
Table 2.Pin description
SymbolPinType Description
P0[30]/AIN3/
EINT3/CAP0[0]
P1[0] to P1[31]I/OPort 1 is a 32-bit bidirectional I/O port with individual direction controls for each bit.
P1[16]/
TRACEPKT0
P1[17]/
TRACEPKT1
P1[18]/
TRACEPKT2
P1[19]/
TRACEPKT3
P1[20]/
TRACESYNC
P1[21]/
PIPESTAT0
P1[22]/
PIPESTAT1
P1[23]/
PIPESTAT2
P1[24]/
TRACECLK
P1[25]/EXTIN028IExternal Trigger Input. Standard I/O with internal pull-up.
P1[26]/RTCK24I/OReturned TestClock output. Extra signal added to the JTAG port. Assists debugger
P1[27]/TDO64OTest Data out for JTAG interface.
P1[28]/TDI60ITest Data in for JTAG interface.
P1[29]/TCK56ITest Clock for JTAG interface. This clock must be slower than
P1[30]/TMS52ITest Mode Select for JTAG interface.
TRST20ITest Reset for JTAG interface.
P1[31]/
TD110OCAN1 transmitter output.
RESET57Iexternal reset input; a LOW on this pin resets the device, causing I/O ports and
XTAL162Iinput to the oscillator circuit and internal clock generator circuits.
XTAL261Ooutput from the oscillator amplifier.
V
SS
…continued
15IAIN3 — A/D converter, input 3. This analog input is always connected to its pin.
Product data sheetRev. 05 — 10 December 20077 of 40
NXP Semiconductors
LPC2194
Single-chip 16/32-bit microcontroller
Table 2.Pin description
…continued
SymbolPinType Description
V
SSA
59Ianalog ground; 0 V reference. This should nominally be the same voltage as VSS,
but should be isolated to minimize noise and error.
V
SSA(PLL)
V
DD(1V8)
V
DDA(1V8)
58IPLL analog ground; 0 V reference. This should nominally be the same voltage as
V
, but should be isolated to minimize noise and error.
SS
17, 49I1.8 V core power supply; this is the power supply voltage for internal circuitry.
63Ianalog 1.8 V core power supply; this is the power supply voltage for internal
circuitry. This should be nominally the same voltage as V
isolated to minimize noise and error.
V
DD(3V3)
V
DDA(3V3)
[1] SSP interface available on LPC2194/01 only.
23, 43, 51 I3.3 V pad power supply; this is the power supply voltage for the I/O ports.
7Ianalog 3.3 V pad power supply; this should be nominally the same voltage as
V
but should be isolated to minimize noise and error.
Product data sheetRev. 05 — 10 December 20078 of 40
NXP Semiconductors
6.Functional description
Details of the LPC2194 systems and peripheral functions are described in the following
sections.
6.1 Architectural overview
The ARM7TDMI-S is a general purpose 32-bit microprocessor, which offers high
performance and very low power 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 employed so that all parts of the processing and memory systems
can operate continuously. 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.
LPC2194
Single-chip 16/32-bit microcontroller
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 set.
• A 16-bit Thumb set.
The Thumb set’s 16-bit instruction length allows it to approach twice the density of
standard 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.
6.2 On-chip flash program memory
The LPC2194 incorporates a 256 kB flash memory system. This memory may be used for
both code and data storage. Programming of the flash memory may be accomplished in
several ways. It may be programmed In System via the serial port. The application
program 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. When
on-chip bootloader is used, 248 kB of flash memory is available for user code.
The LPC2194 flash memory provides a minimum of 100000 erase/write cycles and 20
years of data retention.
On-chip bootloader (as of revision 1.60) provides Code Read Protection (CRP) for the
LPC2194 on-chip flash memory. When the CRP is enabled, the JTAG debug port and ISP
commands accessing either the on-chip RAM or flash memory are disabled. However, the
Product data sheetRev. 05 — 10 December 20079 of 40
NXP Semiconductors
ISP flash erase command can be executed at any time (no matter whether the CRP is on
or off). Removal of CRP is achievedby erasure of full on-chip user flash. With the CRP off,
full access to the chip via the JTAG and/or ISP is restored.
6.3 On-chip SRAM
On-chip SRAM may be used for code and/or data storage. The SRAM may be accessed
as 8 bit, 16 bit, and 32 bit. The LPC2194 provides 16 kB of SRAM.
6.4 Memory map
The LPC2194 memory maps incorporate several distinct regions, as shown in Figure 3.
In addition, the CPU interrupt vectors may be re-mapped to allow them to reside in either
flash memory (the default) or on-chip SRAM. This is described in Section 6.18 “System
Product data sheetRev. 05 — 10 December 200710 of 40
NXP Semiconductors
LPC2194
Single-chip 16/32-bit microcontroller
4.0 GB
3.75 GB
3.5 GB
3.0 GB
2.0 GB
1.0 GB
AHB PERIPHERALS
APB PERIPHERALS
RESERVED ADDRESS SPACE
BOOT BLOCK (RE-MAPPED FROM
ON-CHIP FLASH MEMORY)
RESERVED ADDRESS SPACE
16 kB ON-CHIP STATIC RAM
0xFFFF FFFF
0xF000 0000
0xEFFF FFFF
0xE000 0000
0xDFFF FFFF
0xC000 0000
0x8000 0000
0x7FFF FFFF
0x7FFF E000
0x7FFF DFFF
0x4000 4000
0x4000 3FFF
0x4000 0000
0x3FFF FFFF
RESERVED ADDRESS SPACE
0x0004 0000
0x0003 FFFF
256 kB ON-CHIP FLASH MEMORY
0.0 GB
0x0000 0000
002aad180
Fig 3. LPC2194 memory map
6.5 Interrupt controller
The Vectored Interrupt Controller (VIC) accepts all of the interrupt request inputs and
categorizes them as Fast Interrupt Request (FIQ), vectored Interrupt Request (IRQ), and
non-vectored IRQ as defined by programmable settings. The programmable assignment
scheme means that priorities of interrupts from the various peripherals can be dynamically
assigned and adjusted.
FIQ has the highest priority. If more than one request is assigned to FIQ, the VIC
combines the requests to produce the FIQ signal to the ARM processor. The fastest
possible FIQ latency is achieved when only one request is classified as FIQ, because then
the FIQ service routine can simply start dealing with that device. But if more than one
request is assigned to the FIQ class, the FIQ service routine can read a word from the VIC
that identifies which FIQ source(s) is (are) requesting an interrupt.
Product data sheetRev. 05 — 10 December 200711 of 40
NXP Semiconductors
Vectored IRQs have the middle priority. Sixteen of the interrupt requests can be assigned
to this category. Any of the interrupt requests can be assigned to any of the 16 vectored
IRQ slots, among which slot 0 has the highest priority and slot 15 has the lowest.
Non-vectored IRQs have the lowest priority.
The VIC combines the requests from all the vectored and non-vectored IRQs to produce
the IRQ signal to the ARM processor. The IRQ service routine can start by reading a
register from the VIC and jumping there. If any of the vectored IRQs are requesting, the
VIC provides the address of the highest-priority requesting IRQs service routine,
otherwise it provides the address of a default routine that is shared by all the non-vectored
IRQs. The default routine can read another VIC register to see what IRQs are active.
6.5.1 Interrupt sources
Table 3 lists the interrupt sources for each peripheral function. Each peripheral device has
one interrupt line connected to the Vectored Interrupt Controller, but may have several
internal interrupt flags. Individual interrupt flags may also represent more than one
interrupt source.
Table 3.Interrupt sources
BlockFlag(s)VIC channel #
WDTWatchdog Interrupt (WDINT)0
-Reserved for software interrupts only1
ARM CoreEmbeddedICE, DbgCommRx2
ARM CoreEmbeddedICE, DbgCommTx3
Timer 0Match 0 to 3 (MR0, MR1, MR2, MR3)