NXP公司的LPC122x系列是基于ARM Cortex-M0的32位MCU,工作频率高达45MHz,闪存从32KB到128KB,并集成了多种外设包括10位ADC,两个比较器,两个UART,SSP/SPI接口,I2C总线接口,看门狗定时器,DMA控制器,CRC引擎,四个通用定时器,32位RTC等.主要用在照明,家用电器,智能电表,工业网络,,告警系统,白色家电.本文介绍了LPC122x主要特性和优势,框图,以及Keil MCB1200评估板主要特性,框图和电路图.
The LPC122x extend NXPs 32-bit ARM microcontroller continuum and target a wide range of industrial applications in the areas of factory and home automation. Benefitting from the ARM Cortex-M0 Thumb instruction set, the LPC122x have up to 50 % higher code density compared to common 8/16-bit microcontroller performing typical tasks. The LPC122x also feature an optimized ROM-based divide library for Cortex-M0, which offers several times the arithmetic performance of software-based libraries, as well as highly deterministic cycle time combined with reduced flash code size. The ARM Cortex-M0 efficiency also helps the LPC122x achieve lower average power for similar applications.
The LPC122x operate at CPU frequencies of up to 45 MHz. They offer a wide range of flash memory options, from 32 kB to 128 kB. The small 512-byte page erase of the flash memory brings multiple design benefits, such as finer EEPROM emulation, boot-load support from any serial interface and ease of in-field programming with reduced on-chip RAM buffer requirements.
The peripheral complement of the LPC122x includes a 10-bit ADC, two comparators with output feedback loop, two UARTs, one SSP/SPI interface, one I2C-bus interface with Fast-mode Plus features, a Windowed Watchdog Timer, a DMA controller, a CRC engine, four general purpose timers, a 32-bit RTC, a 1 % internal oscillator for baud rate generation, and up to 55 General Purpose I/O (GPIO) pins.
ARM Cortex-M0 processor, running at frequencies of up to 45 MHz (one wait state
from flash) or 30 MHz (zero wait states from flash). The LPC122x have a high score of over 45 in CoreMark CPU performance benchmark testing, equivalent to 1.51/MHz.
ARM Cortex-M0 built-in Nested Vectored Interrupt Controller (NVIC).
Serial Wire Debug (SWD).
System tick timer.
Up to 8 kB SRAM.
Up to 128 kB on-chip flash programming memory.
In-System Programming (ISP) and In-Application Programming (IAP) via on-chip bootloader software.
Includes ROM-based 32-bit integer division routines.
Clock generation unit
Crystal oscillator with an operating range of 1 MHz to 25 MHz.
12 MHz Internal RC (IRC) oscillator trimmed to 1 % accuracy that can optionally be used as a system clock.
PLL allows CPU operation up to the maximum CPU rate without the need for a high-frequency crystal. May be run from the system oscillator or the internal RC oscillator.
Clock output function with divider that can reflect the system oscillator clock, IRC clock, main clock, and Watchdog clock.
Real-Time Clock (RTC).
Micro DMA controller with 21 channels.
Two UARTs with fractional baud rate generation and internal FIFO. One UART with RS-485 and modem support and one standard UART with IrDA.
SSP/SPI controller with FIFO and multi-protocol capabilities.
I2C-bus interface supporting full I2C-bus specification and Fast-mode Plus with a data rate of 1 Mbit/s with multiple address recognition and monitor mode. I2C-bus pins have programmable glitch filter.
Up to 55 General Purpose I/O (GPIO) pins with programmable pull-up resistor, open-drain mode, programmable digital input glitch filter, and programmable input inverter.
Programmable output drive on all GPIO pins. Four pins support high-current output drivers.
All GPIO pins can be used as edge and level sensitive interrupt sources.
Four general purpose counter/timers with four capture inputs and four match outputs (32-bit timers) or two capture inputs and two match outputs (16-bit timers).
Windowed WatchDog Timer (WWDT); IEC-60335 Class B certified.
One 8-channel, 10-bit ADC.
Two highly flexible analog comparators. Comparator outputs can be programmed to trigger a timer match signal or can be used to emulate 555 timer behavior.
Three reduced power modes: Sleep, Deep-sleep, and Deep power-down.
Processor wake-up from Deep-sleep mode via start logic using 12 port pins.
Processor wake-up from Deep-power down and Deep-sleep modes via the RTC.
Brownout detect with three separate thresholds each for interrupt and forced reset.
Power-On Reset (POR).
Integrated PMU (Power Management Unit).
Unique device serial number for identification.
3.3 V power supply.
Available as 64-pin and 48-pin LQFP package.
The Keil MCB1200 Evaluation Board allows you to generate and test application programs for the NXP LPC122x device family. With this hands-on process, you can determine the hardware and software requirements for current and future product development.
The MCB1200 board is populated with the NXP LPC1227FBD64/301 Cortex-M0 device.
图2. Keil MCB1200评估板外形图
The MCB1200 Evaluation Board.
A µVision IDE Quick Start Guide.
An ARM Development Tools Overview.
A USB A to USB B cable.
Example Programs for the MCB1200 Evaluation Board are located in the folder KEILARMBOARDSKEILMCB1200. All examples can be compiled and debugged using the MDK-ARM Lite Edition.
The MCB1200 evaluation board features the following easy access to many of the on-chip peripherals.
A standard DB9 connector provides an RS232 connection to the on-chip UART.
Analog Voltage Control for ADC Input
An adjustable analog voltage source is on the MCB1200 board for testing the Analog to Digital output feature of the LPC1227.
Cortex Download and Debug
The MCB1200 board incorporates a Cortex Debug interface. When coupled with the ULINK2 USB-JTAG adapter, the Serial Wire Debug interface allows flash programming and debugging.
The hardware block diagram displays input, configuration, power system, and User I/O on the board. This visual presentation helps you to understand the MCB1200 board components.
5V DC (provided by the USB bus of a PC)
10mA typical, 15mA maximum
1 × Serial Interface,
1 × Cortex Debug Interface
80mm x 80mm (3.1" x 3.1").
图4. Keil MCB1200评估板电路图(1)
图5. Keil MCB1200评估板电路图(2)
图6. Keil MCB1200评估板电路图(3)