16-bit Thumb mode reduces code by more than 30 % with minimal performance penalty. Due to their tiny size and low power consumption, LPC2101/02/03 are ideal for applications where miniaturization is a key requirement, such as access control and point-of-sale.
UART1 with full modem interface 1.5 Architectural overview The LPC2101/02/03 consist of an ARM7TDMI-S CPU with emulation support, the ARM7 Local Bus for interface to on-chip memory controllers, the AMBA Advanced High-performance Bus (AHB) for interface to the interrupt controller, and the ARM Peripheral Bus (APB, a compatible superset of ARM’s AMBA Advanced Peripheral Bus)
ARM website. 1.7 On-chip flash memory system The LPC2101/02/03 incorporate a 8 kB, 16 kB, and 32 kB flash memory system respectively. This memory may be used for both code and data storage. Programming of the flash memory may be accomplished in several ways: •...
1.8 On-chip Static RAM (SRAM) On-chip Static RAM (SRAM) may be used for code and/or data storage. The on-chip SRAM may be accessed as 8-bits, 16-bits, and 32-bits. The LPC2101/02/03 provide 2/4/8 kB of static RAM respectively. The LPC2101/02/03 SRAM is designed to be accessed as a byte-addressed memory.
Chapter 2: LPC2101/02/03 Memory addressing Rev. 01 — 12 January 2006 User manual 2.1 Memory maps The LPC2101/02/03 incorporates several distinct memory regions, shown in the following figures. Figure 2 shows the overall map of the entire address space from the user program viewpoint following reset.
Page 11
2.2 LPC2101/02/03 memory re-mapping and boot block 2.2.1 Memory map concepts and operating modes The basic concept on the LPC2101/02/03 is that each memory area has a "natural" location in the memory map. This is the address range for which code residing in that area is written.
32 kB Flash) 2.3 Prefetch abort and data abort exceptions The LPC2101/02/03 generates the appropriate bus cycle abort exception if an access is attempted for an address that is in a reserved or unassigned address region. The regions are: •...
Page 14
UART0 space) may result in an access to the register defined at address 0xE000 C000. Details of such address aliasing within a peripheral space are not defined in the LPC2101/02/03 documentation and are not a supported feature. Note that the ARM core stores the Prefetch Abort flag along with the associated instruction (which will be meaningless) in the pipeline and processes the abort only if an attempt is made to execute the instruction fetched from the illegal address.
3.5 External interrupt inputs The LPC2101/02/03 includes up to three External Interrupt Inputs as selectable pin functions. When the pins are combined, external events can be processed as three independent interrupt signals. The External Interrupt Inputs can optionally be used to wake up the processor from Power-down mode.
P = 2. Therefore, PLLCFG[6:5] = 1 will be used. 3.9 Power control The LPC2101/02/03 supports two reduced power modes: Idle mode and Power-down mode. In Idle mode, execution of instructions is suspended until either a Reset or interrupt occurs.
0. 3.10 Reset Reset has two sources on the LPC2101/02/03: the RESET pin and watchdog reset. The RESET pin is a Schmitt trigger input pin with an additional glitch filter. Assertion of chip Reset by any source starts the wake-up timer (see description in Section 3.12 “Wake-up...
The actual interrupt (if any) occurs after the wake-up timer expires, and is handled by the Vectored Interrupt Controller. However, the pin multiplexing on the LPC2101/02/03 (see Section 6.2 on page 61 Section 7.4 on page 66) was designed to allow other peripherals to bring the device out of Power-down mode.
Applications in development typically need the debugging and tracing facilities in the LPC2101/02/03. Later in the life cycle of an application, it may be more important to protect the application code from observation by hostile or competitive eyes. The following feature of the LPC2101/02/03 allows an application to control whether it can be debugged or protected from observation.
CPU fetch stalls. The LPC2101/02/03 uses one bank of Flash memory, compared to the two banks used on predecessor devices. It includes three 128-bit buffers called the Prefetch Buffer, the Branch Trail Buffer and the Data Buffer.
4.3.1 Flash memory bank There is one bank of Flash memory with the LPC2101/02/03 MAM. Flash programming operations are not controlled by the MAM but are handled as a separate function. A “boot block” sector contains flash programming algorithms that may be called as part of the application program and a loader that may be run to allow serial programming of the flash memory.
In order to preclude the possibility of stale data being read from the Flash memory, the LPC2101/02/03 MAM holding latches are automatically invalidated at the beginning of any Flash programming or erase operation. Any subsequent read from a Flash address will cause a new fetch to be initiated after the Flash operation has completed.
Spurious interrupts are possible in the ARM7TDMI based microcontrollers such as the LPC2101/02/03 due to asynchronous interrupt handling. The asynchronous character of the interrupt processing has its roots in the interaction of the core and the VIC. If the VIC state is changed between the moments when the core detects an interrupt, and the core actually processes an interrupt, problems may be generated.
P0.29/TCK/CAP2.2 P0.7/SSEL0/MAT2.0 DBGSEL RTXC2 002aab920 Fig 15. PLCC44 pin configuration 6.2 Pin description for LPC2101/02/03 Pin description for LPC2101/02/03 and a brief explanation of corresponding functions are shown in the following table. Table 58: Pin description Symbol LQFP48 PLCC44 Type Description P0.0 to P0.31...
General purpose input/output. The number of GPIOs actually available depends on the Output use of alternate functions. 8.4 Register description LPC2101/02/03 has one 32-bit General Purpose I/O port. A total of 32 input/output pins are available on PORT0. PORT0 is controlled by the registers shown in Table 64 Table...
Table 65 represent the enhanced GPIO features available on the LPC2101/02/03. All of these registers are located directly on the local bus of the CPU for the fastest possible read and write timing. An additional feature has been added that provides byte addressability of all GPIO registers.
Figure 16 illustrates the code from above executed from the LPC2101/02/03 Flash memory. The PLL generated F =60 MHz out of external F = 12 MHz. The MAM CCLK was fully enabled with MEMCR = 2 and MEMTIM = 3, and APBDIV = 1 (PCLK = CCLK).
Page 83
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx Table 81: UART0 register map Name Description Bit functions and addresses Access Reset Address value BIT7 BIT6...
× 9.3.14 UART0 Transmit Enable Register (U0TER - 0xE000 C030) LPC2101/02/03’s U0TER enables implementation of software flow control. When TXEn=1, UART0 transmitter will keep sending data as long as they are available. As soon as TXEn becomes 0, UART0 transmission will stop.
Page 100
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx Table 98: UART1 register map Name Description Bit functions and addresses Access Reset Address value BIT7 BIT6...
Fig 21. Autobaud a) mode 0 and b) mode 1 waveform 10.3.17 UART1 Transmit Enable Register (U1TER - 0xE001 0030) LPC2101/02/03’s U1TER enables implementation of software and hardware flow control. When TXEn=1, UART1 transmitter will keep sending data as long as they are available.
This signal is not directly driven by the master. It could be driven by a simple general purpose I/O under software control. On the LPC2101/02/03 the SSEL0 pin can be used for a different function when the SPI0 interface is only used in Master mode. For example, the pin hosting the SSEL0 function can be configured as an output digital GPIO pin or used to select one of the Match outputs.
Due to the limited number of pins on the LPC2101/02/03, only three of the Capture Inputs and three of the Match Ouputs of Timer 0 are connected to device pins.
Due to the limited number of pins on the LPC2101/02/03, none of the Capture Inputs of Timer3, only three of the Capture Inputs of Timer2, three of the Match Ouputs of Timer2, and four of the Match Outputs of Timer3 are connected to device pins.
It uses little power in Power-down mode. On the LPC2101/02/03, the RTC can be clocked by a separate 32.768 KHz oscillator or by a programmable prescale divider based on the APB clock. Also, the RTC is powered by its own power supply pin, VBAT, which can be connected to a battery or to the same 3.3 V...
If this bit is 0, the Clock Tick Counter takes its clock from the Prescaler, as on earlier devices in the Philips Embedded ARM family. If this bit is 1, the CTC takes its clock from the 32 kHz oscillator that’s connected to the RTCX1 and RTCX2 pins (see Section 17.7 “RTC external 32 kHz...
(external battery). If VBAT is not connected, the VBAT pin has to be pulled high or remain open. No provision is made in the LPC2101/02/03 to retain RTC status upon the VBAT power loss, or to maintain time incrementation if the clock source is lost, interrupted, or altered.
The reference clock divider consists of a 13-bit integer counter and a 15-bit fractional counter. The reasons for these counter sizes are as follows: 1. For frequencies that are expected to be supported by the LPC2101/02/03, a 13-bit integer counter is required. This can be calculated as 160 MHz divided by 32,768 minus 1 = 4881 with a remainder of 26,624.
0x0000 7000 - 0x0000 7FFF 19.6 Flash content protection mechanism The LPC2101/02/03/8 is equipped with the Error Correction Code (ECC) capable Flash memory. The purpose of an error correction module is twofold. Firstly, it decodes data words read from the memory into output data words. Secondly, it encodes data words to be written to the memory.
0072A)". Also used during entry into debug mode. 20.5 Reset state of multiplexed pins On the LPC2101/02/03, the pins TMS, TCK, TDI, TDO, AND TRST are multiplexed with P0.27 - P0.31. To have them come up as a Debug port, connect a weak bias resistor (4.7-10 kΩ...