ARM Cortex-M0 CORTEX-M0 in Commercial Components – Summer 2012 August 24, 2012 Paul Nickelsberg Orchid Technologies Engineering and Consulting, Inc. www.orchid-tech.com Cortex-M0 in Commercial Components • Topics Today • Cortex-M0 in Commercial Devices • • • • Freescale Nuvoton NXP ST Micro • Cortex-M0 Applied at Orchid Technologies • Motor Controller • Data Acquisition Sub-System Cortex-M0 in Commercial Components Cortex-M0 Applied in Commercial Devices Cortex-M0 Core Commercial Device Cortex-M0 in Commercial Components Credit Freescale FTF Presentation Freescale Kinetis KL Series Based on Cortex-M0+ Cortex-M0 in Commercial Components Freescale Kinetis KL Series Based on Cortex-M0+ Some Compelling Features Based on New Cortex-M0+ USB / Fast IO Features 12 Bit Analog / Digital Controller Cortex-M0 in Commercial Components Nuvoton M051 Series Based on Cortex-M0 CONFIG Info 10K OSC Cortex-M0 50 MHz DATAFLASH Option CLK_CTL ISP 4KB P L L AHB Flash Control 64KB(M0516) 32KB(M058) 16KB(M054) 8KB(M052) AHB arbiter AHB arbiter SRAM 4KB APBBridge Watch Dog Timer nWR ADC SPI 0/1 AD[15:0] nCS nRD GPIO P0~P4 Timer 0/1 EBI mclk ALE Credit Nuvoton Presentation Timer 2/3 UART 0/1 PWM 0~7 I2C 22M OSC EXT. 12M XTAL LDO 2.5 ~ 5.5V ADC 8ch/12bit SARADC 600K SPS PAD Control POR Brown-Out LVR Cortex-M0 in Commercial Components Nuvoton M051 Series Based on Cortex-M0 Some Compelling Features Based on New Cortex-M M051 Low Cost Implementation 12 Bit Analog / Digital Controller Cortex-M0 in Commercial Components NXP LPC111X Series Based on Cortex-M0 Credit NXP Public Presentation Cortex-M0 in Commercial Components NXP LPC111X Series Based on Cortex-M0 Some Compelling Features Based on New Cortex-M LPC1110FD20 Low Cost Package First with Cortext-M0 USB/CAN/Display/Eeprom Versions ROM Code: Divide Library Cortex-M0 in Commercial Components Credit STMicro Public Datasheet ST Microelectronics STM32F051x Series Based on Cortex-M0 Cortex-M0 in Commercial Components ST Microelectronics STM32F051x Series Based on Cortex-M0 Some Compelling Features Based on New Cortex-M Smallest Physical Package Size Large Feature Set Cortex-M0 in Commercial Components Wireless Motor Controller Example 433MHz Receiver NXP LPC1110 Cortex-M0 Controller Power Supply Motor Drive 1 Motor Drive 2 Cortex-M0 in Commercial Components Wireless Motor Controller Example Copyright © Orchid Technologies 2012 I am a Cortex-M0! Cortex-M0 in Commercial Components Data Acquisition Sub-system Example Nuvoton M051 Cortex-M0 Controller UART Power Intel Atom Computer COM1 Internal Cortex-M0 in Commercial Components Data Acquisition Sub-system Example Copyright © Orchid Technologies 2012 I am a CortexM0! The ARCTAN Example from Day 1 y x Find the angle with tangent y/x 8-Bit Approach 8mSec @ 12MHz 32-Bit Approach 0.5mSec @ 12MHz The ARCTAN Example from Day 1 This does the math! The ARCTAN Example from Day 1 Copyright © Orchid Technologies 2012 Lab Bench Performance Measurement The ARCTAN Example from Day 1 Milliwatts Lab Bench Performance Measurement PLL Off Here! Megahertz The ARCTAN Example from Day 1 microseconds Lab Bench Performance Measurement Megahertz One Last Compatibility Comment Processing Capability Meaning and Implications 32 Bit CORTEX-M0 8 Bit Architecture Processor Architecture – 8 Bit World to 32 Bit World Additional Reading • • • • • • Cortex-M0 Devices Generic User Guide © 2009 ARM Limited Cortex-M0 Technical Reference Manual © 2009 ARM Limited Cortex-M0+ Devices Generic User Guide © 2012 ARM Limited Cortex-M0+ Technical Reference Manual © 2012 ARM Limited STM32F0xx Cortex-M0 Programming Manual, Doc ID 022979, ST Micro The Definitive Guide to the ARM Cortex-M0, © 2011 Joseph Yiu, ISBN 978-0-12-385477-3