LPC1111FHN33/101,5 NXP Semiconductors, LPC1111FHN33/101,5 Datasheet
![IC MCU 32BIT 8KB FLASH 33HVQFN](/photos/6/51/65170/568-32-hvqfn_sml.jpg)
LPC1111FHN33/101,5
Specifications of LPC1111FHN33/101,5
935290771551
Related parts for LPC1111FHN33/101,5
LPC1111FHN33/101,5 Summary of contents
Page 1
Get Better Code Density than 8/16 bit NXP LPC1100 Cortex M0 Oct 2009 MCU’s ...
Page 2
Introduction ARM Cortex-M0 processor Why processor bit width doesn’t matter – Code size – Performance – Cost Conclusions Outline 2 ...
Page 3
ARM Cortex-M Processors Cortex-M family optimised for deeply embedded – Microcontroller and low-power applications ARM Cortex-A Series: Applications processors for feature-rich OS and user applications ARM Cortex-R Series: Embedded processors for real-time signal processing and control applications ARM Cortex-M Series: ...
Page 4
ARM Cortex-M0 Processor 32-bit ARM RISC processor – Thumb 16-bit instruction set Very power and area optimized – Designed for low cost, low power Automatic state saving on interrupts and exceptions – Low software overhead on exception entry and exit ...
Page 5
Thumb instruction set 32-bit operations, 16-bit instructions – Introduced in ARM7TDMI (‘T’ stands for Thumb) – Supported in every ARM processor developed since – Smaller code footprint Thumb-2 – All processor operations can all be handled in ‘Thumb’ state – ...
Page 6
Instruction set architecture Based on 16-bit Thumb ISA from ARM7TDMI – Just 56 instructions, all with guaranteed execution time – 32-bit data transfers possible in one instruction Thumb User assembly code, compiler generated ADC ADD ADR BIC ...
Page 7
Program registers All registers are 32-bit wide – Instructions exist to support 8/16/32-bit data 13 general purpose registers – Registers r0 – r7 (Low registers) – Registers r8 – r12 (High registers) 3 registers with special meaning/usage – Stack Pointer ...
Page 8
Instruction behaviour Most instructions occupy 2 bytes of memory code MUL r0 Assembler When executed, complete in a fixed time – Data processing (e.g. add, shift, logical OR) take 1 cycle ...
Page 9
Thumb instructions Cortex M0 requires instruction fetches to be half word aligned Thumb instructions are aligned on a two-byte boundaries 32 bit instructions are organized as 2 half words 9 ...
Page 10
Nested Vectored Interrupt Controller NVIC enables efficient exception handling – Integrated within the processor - closely coupled with the core – Handles system exceptions & interrupts The NVIC includes support for – Prioritization of exceptions – Tail-chaining & Late arriving ...
Page 11
Interrupt behaviour r12 r14 (LR) r15 (PC) xPSR On interrupt, hardware automatically stacks corruptible state Interrupt handlers can be written fully in C – Stack content supports C/C++ ARM Architecture Procedure Calling Standard Processor fetches initial ...
Page 12
Writing interrupt handlers Traditional approach Exception table – Fetch instruction to branch Top-level handler – Routine handles re-entrancy IRQVECTOR LDR PC, IRQHandler . IRQHandler PROC STMFD sp!,{r0-r4,r12,lr} MOV r4,#0x80000000 LDR r0,[r4,#0] SUB sp,sp,#4 CMP r0,#1 BLEQ C_int_handler MOV r0,#0 STR ...
Page 13
Software support for sleep modes ARM Cortex-M family has architected support for sleep states – Enables ultra low-power standby operation – Critical for extended life battery based applications – Includes very low gate count Wake-Up Interrupt Controller (WIC) Power Management ...
Page 14
Instruction set comparison 14 ...
Page 15
Code Size 15 ...
Page 16
Code size of 32 bits versus 16/8bit MCU’s The instruction size of 8 bit MCU’s is not 8 bits – 8051 bits – PIC18 is 18 bits – PIC16 is 16 bits The instruction size of ...
Page 17
Code size of 32 bits versus 16/8bit MCU’s 17 ...
Page 18
Consider an device with a 10-bit ADC – Basic filtering of data requires a 16-bit multiply operation – 16-bit multiply operation is compared below 8-bit example MOV bytes MUL AB; 1 byte MOV ...
Page 19
What about Data ? 8 bit microcontrollers do not just process 8 bit data – Integers are 16 bits – 8 bit microcontroller needs multiple instructions integers – C libraries are inefficient – Stack size increases – Interrupt latency is ...
Page 20
What about Data ? For 16 bit processors have issues with – Long integers – Floating point types – Data transfers between processor registers and memory 16 bit processors have 16 bit registers – Two registers required for 32 bit ...
Page 21
What addressing modes? 16/8 bit processors are limited to 64K of space – Data memory limited and segmented – Requires banking or extensions to instruction set – Memory pointers are extended Require multiple instructions and registers All cause increased code ...
Page 22
Code size increase due to paging 22 ...
Page 23
Code size increase for large memory model (Extended program counter and Registers) 23 ...
Page 24
Code Size Performance 2.50 2.00 1.50 1.00 0.50 0.00 HC08 M0 using microlib 24 ...
Page 25
Code Size Performance M0 code size is on average 10% smaller than best MSP430 average 350 MSP430 MSP430F5438 300 MSP430F5438 Large model Cortex M0 250 200 150 100 50 0 Code size for basic functions 25 ...
Page 26
Code Size Performance M0 code size is 42% and 36% smaller than best MSP430 generic Floating Point and Fir Filter Code Size 1400 1200 1000 800 600 400 200 0 MathFloat Firfilter 26 ...
Page 27
Code Size Performance M0 code size is 30% smaller than MSP430F5438 7000 6000 5000 4000 3000 2000 1000 0 Whet 27 ...
Page 28
What is CoreMark? Simple, yet sophisticated – Easily ported in hours, if not minutes – Comprehensive documentation and run rules Free, but not cheap – Open C code source download from EEMBC website – Robust CPU core functionality coverage Dhrystone ...
Page 29
CoreMark Workload Features Matrix manipulation allows the use of MAC and common math ops Linked list manipulation exercises the common use of pointers State machine operation represents data dependent branches Cyclic Redundancy Check (CRC) is very common embedded function Testing ...
Page 30
Code Size Performance (CoreMark) M0 code size is 16% smaller than generic MSP430 18000 16000 14000 12000 10000 8000 6000 4000 2000 0 Generic MSP430 CoreMark Code size M0 30 ...
Page 31
Code Size Performance (CoreMark) M0 code size is 53% smaller than PIC24 18000 16000 14000 12000 10000 8000 6000 4000 2000 0 CoreMark Code size PIC24 ...
Page 32
Code Size Performance (CoreMark) M0 code size is 51% smaller than PIC18 18000 16000 14000 12000 10000 8000 6000 4000 2000 0 CoreMark Code size PIC18 ...
Page 33
Code Size Performance (CoreMark) M0 code size is 49% smaller than Atmel AVR8 18000 16000 14000 12000 10000 8000 6000 4000 2000 0 Atmel AVR8 Mega644 CoreMark Code size M0 33 ...
Page 34
Code Size Performance (CoreMark) M0 code size is 44% smaller than Renesas H8 18000 16000 14000 12000 10000 8000 6000 4000 2000 0 CoreMark Code size Renesas(H8 ...
Page 35
Peripheral code Part AVR8 ATmega644 MSP430 M0 LPC11xx Init Code (Bytes) Data rx code (Bytes ...
Page 36
Speed Optimization effects 2.00 1.50 1.00 0.50 0. 12000 10000 8000 6000 4000 2000 CoreMark Score Code Size 36 36 ...
Page 37
Size Optimization effects 1.30 1.25 1.20 1.15 1.10 1.05 1. 12000 10000 8000 6000 4000 2000 CoreMark Score Code Size 37 37 ...
Page 38
Size Optimization effects 1.30 1.25 1.20 1.15 1.10 1.05 1. 12000 10000 8000 6000 4000 2000 CoreMark Score Code Size 38 38 ...
Page 39
What About Libraries 33% reduction using optimized Libs Auto BM a2time aifftr aifirf aiifft basefp bitmnp canrdr idctrn iirflt matrix pntrch puwmod rspeed tblook ttsprk average (8) NXP M0 MicroLib Standard Lib Compile Lib Total Compile 4032 4552 8584 4084 ...
Page 40
Performance 40 ...
Page 41
Computation Performance 41 ...
Page 42
Computation Performance 16 bit FIIR filter performance at 1MHz 42 ...
Page 43
Computation Performance CoreMark Score 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 PIC18 Renesas (8 bit) AVR8 MSP430 ATMega644 M0 43 ...
Page 44
Cost 44 ...
Page 45
Does the core size matter? The M0 core is the smallest cortex core About 1/3 of the M3 for similar configuration Similar size to 8 bit cores 45 ...
Page 46
Core Size Matters Normalized Cost As a Function of Flash Memory Size 2.50 2.00 1.50 1.00 0.50 0. 128 256 Memory Size 512 46 ...
Page 47
Tools 47 ...
Page 48
MCU Tool Solutions NXP’s Low cost Development Tool Chain Rapid Prototyping Online Tool Traditional Feature Rich Tools (third party) 48 ...
Page 49
NXP’s FIRST Low Cost Toolchain Eclipse-based IDE Evaluation LPCXpresso Starter Board Product Development 49 ...
Page 50
LPCXpresso LPCXpresso will provide end-to-end solution from evaluation all the way to product development Attractive upgrade options to full blown suites and development boards LPCXpresso will change the perception about NXP’s solution for tools Key competition: – Microchip MPLAB – ...
Page 51
LPCXpresso Components NXP has created the first single perspective Eclipse IDE This offers the power and flexibility of Eclipse in combination with a simple and easy to learn user interface Supports all NXP products (currently up to 128k) LPC3154 HS ...
Page 52
Evaluation The target board is very simple with one LED and a layout option for USB Traces between the two boards can be cut, to allow SWD connection to any customer target. (Eval target can be reconnected by jumpers) LPC3154 ...
Page 53
Exploration Customers can upgrade to full version of Red Suite (Discount coupon) Customers can buy an add-on EA base board that connects a wide range of resources to the I/O and peripherals of the LPC13xx. Customers can also upgrade to ...
Page 54
Development Traces can be cut and the LPC13xx target board will out of the picture Customers can then use the JTAG connection to download code into their own application board using the same existing IDE and JTAG connector Note: Customers ...
Page 55
LPC1768 Value Proposition New users start creating applications in 60 seconds Rapid Prototyping with LPC1700 series MCUs – Immediate connectivity to peripherals and modules for prototyping LPC1700-based system designs – Providing developers with the freedom to be more innovative ...
Page 56
First Experience – Hassle-Free Evaluation Remove board from the box No Installation! “Hello World!” seconds Plug it in… Save to the board and you’re up and running Up pops a USB Disk linking to website Compile a program ...
Page 57
Technology USB Drag ‘n’ Drop Programming Interface ► ► ► Online Compiler ► ► ► High-level Peripheral Abstraction Libraries #include “mbed.h” Serial terminal(9,10); ► AnalogIn temp(19); int main() { if(temp > 0.8) ► terminal.printf(“Hot!”); } ► Nothing to Install: ...
Page 58
Example Beta Projects - Videos Rocket Launch – http://www.youtube.com/watch?v=zyY451Rb-50&feature=PlayList&p=000FD2855BEA7E90&index=11 Billy Bass – http://www.youtube.com/watch?v=Y6kECR7T4LY Voltmeter – http://www.youtube.com/watch?v=y_7WxhdLLVU&feature=PlayList&p=000FD2855BEA7E90&index=8 Knight Rider – http://www.youtube.com/watch?v=tmfkLJY-1hc&feature=PlayList&p=000FD2855BEA7E90&index=4 Bluetooth Big Trak – http://www.youtube.com/watch?v=RhC9AbJ_bu8&feature=PlayList&p=000FD2855BEA7E90&index=3 Scratch Pong – http://www.youtube.com/watch?v=aUtYRguMX9g&feature=PlayList&p=000FD2855BEA7E90&index=5 58 ...
Page 59
More information Available from NXP Distributors and eTools Boards cost $99 Learn More: http://www.standardics.nxp.com/support/development.hardware/mbed.lpc176x/ http://mbed.org Featured Articles: – Circuit Cellar – Elektor 59 ...
Page 60
Rapid Prototyping for Microcontrollers 60 ...
Page 61
What’s happening in Microcontrollers? Microcontrollers are getting cheap – 32-bit ARM Cortex-M3 Microcontrollers @ $1 Microcontrollers are getting powerful – Lots of processing, memory, I/O in one package Microcontrollers are getting interactive – Internet connectivity, new sensors and actuators Creates ...
Page 62
Rapid Prototyping Rapid Prototyping helps industries create new products – Control, communication and interaction increasingly define products – Development cycles for microelectronics have not kept pace 3D Moulding 3D Printing 2D/3D Design Web Frameworks 62 ...
Page 63
Getting Started and Rapid Prototyping with ARM MCUs – Complete Targeted Hardware, Software and Web 2.0 Platform Dedicated Developer Web Platform High-level Peripheral APIs Rapid Prototyping for Microcontrollers Lightweight Online Compiler LPC Cortex-M MCU in a Prototyping Form-Factor 63 ...
Page 64
Audience mbed’s focus on Rapid Prototyping has a broad appeal Designers new to embedded applications – Enables new designs where electronics is not the focus Experienced embedded engineers – Enables fast proof-of-concepts to reduce risk and push boundaries Marketing, ...
Page 65
Conclusion LPC1100 Family Based on the Cortex-M0 core – There are many users of 8 and 16 bit microcontrollers that are reluctant to use 32 bit architectures citing either overkill or complexity. – The architecture that makes ...
Page 66
66 ...