Microcontrollers. -Definition, Basics and Trends. Anders Pettersson. FAE Manager Nordic and Baltic



Similar documents
STM32 F-2 series High-performance Cortex-M3 MCUs

ARM Cortex STM series

Chapter 13. PIC Family Microcontroller

STM32L. Ultra-low-power Cortex -M3 devices

System Design Issues in Embedded Processing

STM32F411xC STM32F411xE

Hello, and welcome to this presentation of the STM32L4 reset and clock controller.

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Motor control with STM32 32 bit ARM based MCU

7a. System-on-chip design and prototyping platforms

How To Use Nuc123 (Nuc123) For A Week

Embedded Systems on ARM Cortex-M3 (4weeks/45hrs)

DevKit1207 Evaluation Kit

Lab Experiment 1: The LPC 2148 Education Board

USB OTG and Embedded Host Microchip Technology Incorporated. All Rights Reserved. Slide 1

AN4646 Application note

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

Chapter 1 Lesson 3 Hardware Elements in the Embedded Systems Chapter-1L03: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Java Embedded Applications

Atmel Norway XMEGA Introduction

Gecko. Energy-friendly microcontrollers for the IoT. Gecko MCUs Complete portfolio of energyfriendly 32-bit microcontrollers PRODUCT SELECTOR GUIDE

Overview of the Cortex-M3

Migrating Application Code from ARM Cortex-M4 to Cortex-M7 Processors

Adding WiFi to Your Embedded System. WPG Americas & Gainspan Titus Wandinger (WPG) & Su Li (Gainspan) April 23, 2013

Atmel Power Line Communications. Solutions for the Smart Grid

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

Designing a System-on-Chip (SoC) with an ARM Cortex -M Processor

Open1788 User Manual. Features

Figure 1. STM32F429 Discovery board: STM32F429I-DISCO

ARM-Architektur. Toni Reber Redacom AG, 2560 Nidau.

Wireless Microcontrollers for Environment Management, Asset Tracking and Consumer. October 2009

Advanced Microcontrollers Grzegorz Budzyń Lecture. 3: Electrical parameters of microcontrollers 8051 family

PAC52XX Clock Control Firmware Design

ARM Cortex -A8 SBC with MIPI CSI Camera and Spartan -6 FPGA SBC1654

32F072BDISCOVERY. Discovery kit for STM32F072xx microcontrollers. Features. Description

SBC6245 Single Board Computer

Architekturen und Einsatz von FPGAs mit integrierten Prozessor Kernen. Hans-Joachim Gelke Institute of Embedded Systems Professur für Mikroelektronik

An introduction to nxpusblib. March 2012

BEAGLEBONE BLACK ARCHITECTURE MADELEINE DAIGNEAU MICHELLE ADVENA

Am186ER/Am188ER AMD Continues 16-bit Innovation

Products. CM-i586 Highlights. Página Web 1 de 5. file://c:\documents and Settings\Daniel\Os meus documentos\humanoid\material_o...

STM32F215xx STM32F217xx

IRT84. Irt84. Datasheet. EMV L1 compliant terminal with ISO14443A/B. 1

MX PIC24F Educational Module User Manual

System-on-a-Chip with Security Modules for Network Home Electric Appliances

STM32F103x8 STM32F103xB

Building Blocks for PRU Development

SBC8600B Single Board Computer

The new 32-bit MSP432 MCU platform from Texas

PIC32 Microcontroller Families

LPC4330-Xplorer. Quick Start Guide: LPC4330-Xplorer. User Manuals for Xplorer:

SABRE Lite Development Kit

ontroller LSI with Built-in High- Performance Graphic Functions for Automotive Applications

Which ARM Cortex Core Is Right for Your Application: A, R or M?

System Considerations

ES_LPC4357/53/37/33. Errata sheet LPC4357/53/37/33. Document information

POCKET SCOPE 2. The idea 2. Design criteria 3

8051 MICROCONTROLLER COURSE

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

STM32L100C6 STM32L100R8 STM32L100RB

Freescale Semiconductor, Inc. Product Brief Integrated Portable System Processor DragonBall ΤΜ

ACR880 GPRS Portable Smart Card Terminal

STM32L15xCC STM32L15xRC STM32L15xUC STM32L15xVC

SEC2410/SEC4410 HS Endpoint Processor with USB 2.0, Smart Card, & FMC for Secure Token & Storage

ZigBee Technology Overview

STM32L151x6/8/B STM32L152x6/8/B

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

STM32F4DISCOVERY. Discovery kit with STM32F407VG MCU. Features. Description

FLYPORT Wi-Fi G

DKWF121 WF121-A B/G/N MODULE EVALUATION BOARD

Embedded Component Based Programming with DAVE 3

Applications Development on the ARM Cortex -M0+ Free On-line Development Tools Presented by William Antunes

UM1724 User manual. STM32 Nucleo boards. Introduction

Silabs Ember Development Tools

Motor Control using NXP s LPC2900

STM32F401xD STM32F401xE

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

Bluetooth 4.0 Solutions for Apple ios Devices. Bluegiga Technologies

APx4 Wireless System-on-Module 5/8/2013 1

STM32L151x6/8/B-A STM32L152x6/8/B-A

Tutorial for MPLAB Starter Kit for PIC18F

STM32F410x8 STM32F410xB

SBC8100 Single Board Computer

ENGI E1112 Departmental Project Report: Computer Science/Computer Engineering

TURBO PROGRAMMER USB, MMC, SIM DEVELOPMENT KIT

Arduino Due Back. Warning: Unlike other Arduino boards, the Arduino Due board runs at 3.3V. The maximum. Overview

Quick Start Guide. USB Packet Sniffer/Dongle for Kinetis MKW22D and MKW24D Wireless MCUs USB-KW24D512

Network connectivity controllers

Freescale Vybrid Applications Windows Embedded

Serial port interface for microcontroller embedded into integrated power meter

PIC-MAXI-WEB development board Users Manual

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Lecture N -1- PHYS Microcontrollers

A-307. Mobile Data Terminal. Android OS Platform Datasheet

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

ET-BASE AVR ATmega64/128

Embedded Software Development: Spottbillige Hardware + OSS = Zum Spielen zu Schade!

Computer and Set of Robots

Microtronics technologies Mobile:

Transcription:

Microcontrollers -Definition, Basics and Trends Anders Pettersson FAE Manager Nordic and Baltic

2 Agenda Definition of a Microcontroller Blockdiagram of a generic MCU and Core Bus system Architecture Cisc Risc Production Technology ST Microcontrollers How we think when we design a MCU Future Q & A

3 After the session you should have learnt.. Know the difference between a MCU and a MPU and a CPU. Differences between a 8 bit and 32 bit MCU. Differences between Risc and Cisc architecture Differences between Harvard and Von Neuman Architecture Temporary production technologies

Definition of a Microcontroller 4

5 Definition of a Microcontroller What is the Definition of a Microcontroller? There is no absolut definition......from Wikipedia

6 Architecture Cisc and Risc

7 Cisc vs Risc Example: Multiply (MULT), considered as a complex instruction Cisc: MULT 2:3, 5:2 Risc: LOAD A, 2:3 LOAD B, 5:2 PROD A, B STORE 2:3, A

Block diagram and the Core 8

Essential block diagram of a MCU ROM (FLASH) CORTEXM3 CPU 72 MHz Flash I/F 16kB-1MB Flash Memory Power Supply Reg 1.8V POR/PDR/PVD RAM CPU JTAG/SW Debug Nested vect IT Ctrl 1x SysTick Timer DMA 3 to 11 Channels ARM Lite Hi-Speed Bus Matrix / Arbiter (max 72MHz) 6kB-96kB SRAM 20B Backup Regs External Memory Interface** Clock Control XTAL oscillators 32KHz + 4~16MHz Int. RC oscillators 32KHz + 8MHz PLL RTC / AWU Clocks Peripherals 6x 16-bit PWM Synchronized AC Timer Up to 16 Ext. ITs 32/49/80* I/Os 1x SPI 1x USART/LIN Smartcard/IrDA Modem-Ctrl Bridge ARM Peripheral Bus (max 72MHz) Bridge ARM Peripheral Bus 2x Watchdog (independent & window) 2x DAC** (max 36MHz) 2/3/5x 16-bit Timer 2x 12-bit ADC 16 channels / 1Msps Temp Sensor 1x SDIO** 1x USB 2.0FS 1x bxcan 2.0B 2x SPI/I2S** 1/2/4x USART/LIN Smartcard / IrDA Modem Control 1x SPI 1/2x I 2 C

Cortex-M3 CPU Hierarchical processor integrating core and advanced system peripherals Cortex-M3 core Harvard architecture 3-stage pipeline w. branch speculation Thumb -2 and traditional Thumb ALU w. H/W divide and single cycle multiply Cortex-M3 Processor Cortex-M3 core Configurable interrupt controller Bus matrix Advanced debug components Optional MPU & ETM (Not available in STM32F10x) 10

Cortex-M3 Microprocessor Non Maskable Interrupt Debug and Sleep Control 3-Stage Pipeline, Harvard Architecture, Thumb-2 ISA (or Thumb) 1-244 Configurable Interrupts (32 Standard) Configurable Priority Levels Optional ETM Optional MPU Debug Access Port SWD or JTAG Flash Patch & Breakpoints Bus mapper: Bit Banding Bit Set/Clea, write buffer alignment Data Watchpoints & Trace

Processors for All Applications 12

Bus system 13

Architecture of the bus Cortex M3 Architecture: Harvard benefits with Von Neumann single memory space Von Neumann bottleneck Single 32bit bus for: code execution, data transfer (core/dma), peripheral control DMA PERIPH PERIPH CORE 1 1 1 0 1 001 1 01 0 1 0 0 10 1 0 1 1 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 RAM FLASH 1 1 Outstanding efficiency of 1.25 DMIPS/MHz DMA PERIPH PERIPH DATA 0 1 1 0 0 1 0 CM3 0 1 0 1 0 RAM CODE 0 1 0 1 0 0 1 1 1 1 0 0 1 1 CST FLASH Three 32bit buses for a parallel code execution, data transfer (core/dma), peripheral control DMIPS CORTEX-M3 ARM966 (ARM) ARM7TDMI (ARM) ARM7TDMI (THUMB) THUMB2 instruction set provides 32bit performance with 16bit code density f CPU THUMB 16bit Instruction Set ARM 32bit Instruction Subset New 16/32bit Instructions Full THUMB compatibility Complete ARM instruction set for better performance 1 cycle MAC and Hardware Divide Unaligned data, Bit banding THUMB-2 Single POWERFUL instruction set No more mode switching 25% smaller code 25% lower RAM requirement

Cortex-M3 Memory Map Vendor Specific (0.5GB) Set aside to enable vendors to implement peripheral compatibility with previous systems Private Peripheral Bus (1M) Address space for system components (CoreSight, NVIC etc.) External Device (1GB). Intended for external devices and/or shared memory that needs ordering/non-buffered External RAM (1GB) Intended for off chip memory Peripheral (0.5G) Intended for normal peripherals. The bottom 1MB of the 32MB peripheral address space (0x40000000 0x400FFFFF) is reserved for bitband accesses. Accesses to the peripheral 32MB bit band alias region (0x42000000 0x43FFFFFF) are remapped to this 1MB SRAM (0.5GB) Intended for on-chip SRAM. The bottom 1MB of the SRAM address space (0x20000000-0x200FFFFF) is reserved for bit-band accesses. Accesses to the SRAM 32MB bit band alias region (0x22000000 0x23FFFFFF) are remapped to this 1MB address space. Code(0.5GB) Reserved for code memory (flash, SRAM). This region is accessed via the Cortex-M3 ICode and DCode busses. 15

16 Production Technologies The road to success...

17 CMOSF9 eeeprom Technology History 1.8µ STMicroelectronics designs and manufactures embedded EEPROM products since 1988 for Microcontroller and Smartcard applications. 1.4µ 1.16µ 4.1µ 3.6µ 2.6µ 0.64µ 2.0µ Beside embedded EEPROM each technology node contains also a sister technology with embedded flash. Today the 65nm node is being developed. 0.35µ F6Y s=7.4µ² 0.18µ F8 s=5.04µ² 0.15µ F8N s=3.02µ² 0.13µ F9 1.28µ²

18 Technology to Break Price Barriers Technology driving 8-bit evolution Breakthrough with 130nm lithography E² non-volatile memory, analog and digital peripherals 0,4µM 0,13µm

What part can be shrunk with production technologies? 20 NVM SRAM Total digital bloc is 25% of the die size The CPU represents 30% of the digital area ANALOG DIGITAL Cortex M0 is half gate count of M3 for the same configuration Using M0 instead of M3 would lead to : Less than 4% die area gain Less than 2% product cost gain

How do we think when we design a MCU? 22

MCU total market trend 23

24 Product Strategy 5 Product families General Purpose family The foundation of our product portfolio STM8 Ultra Low Power STM8L/32L STM32 CortexM3 Application specific in key area of expertise Touch Sensing RF 2.4GHz, MAC

25 Minimal External Components Built-in Supervisor reduces need for external components Filtered reset input, Power-On reset, Low-Voltage Detect, Brown-Out Detect, Watchdog Timer with independent clock One main crystal drives entire system (with help from PLL) Inexpensive 4-16 MHz crystal drives CPU, USB, all peripherals Embedded 8 MHz RC can be used as main clock Optional 32 khz crystal needed additionally for RTC, can run on internal 40 khz RC Only 7 external passive components for base system on LQFP100 package!!

26 Cortex-M processors Forget traditional 8/16/32-bit classifications Seamless architecture across all applications Every product optimised for ultra low power and ease of use Cortex-M0 Cortex-M3 Cortex-M4 8/16-bit applications 16/32-bit applications 32-bit/DSC applications Binary and tool compatible

Cortex-M processors binary compatible

STM32 product series 4 product series

STM32 leading Cortex-M portfolio

STM32F4xx Block Diagram Cortex-M4 w/ FPU, MPU and ETM Memory Up to 1MB Flash memory 192KB RAM including 64KB CCM data RAM FSMC up to 60MHz New application specific peripherals USB OTG HS w/ ULPI interface Camera interface HW Encryption**: DES, 3DES, AES 256- bit, SHA-1 hash, RNG. Enhanced peripherals USB OTG Full speed ADC: 0.416µs conversion/2.4msps, up to 7.2Msps in interleaved triple mode ADC/DAC working down to 1.8V Dedicated PLL for I2S precision Ethernet w/ HW IEEE1588 v2.0 32-bit RTC with calendar 4KB backup SRAM in VBAT domain Pure 1% RC 2 x 32bit and 8 x 16bit Timers high speed USART up to 10.5Mb/s high speed SPI up to 37.5Mb/s 64KB CCM data RAM CORTEX-M4 CPU + FPU + MPU 168 MHz JTAG/SW Debug ETM Nested vect IT Ctrl 1 x Systic Timer DMA 16 Channels Clock Control 51/82/114/140 I/Os 2x6x 16-bit PWM Synchronized AC Timer 3 x 16bit Timer Up to 16 Ext. ITs 1 x SPI D-bus I-bus S-bus ARM 32-bit multi-ahb bus matrix Arbiter (max 150MHz) AHB1 (max 168MHz) Bridge APB2 (max 84MHz) Flash I/F USB 2.0 OTG FS/HS Ethernet MAC 10/100, IEEE1588 Bridge AHB2 (max 168MHz) 512kB- 1MB Flash Memory 128KB SRAM External Memory Interface 5x 16-bit Timer 2x 32-bit Timer 2x Watchdog (independent & window) 1x SDIO APB1 (max 42MHz) 3x 12-bit ADC 24 channels / 2Msps Encryption** Camera Interface USB 2.0 OTG FS Power Supply Reg 1.2V POR/PDR/PVD XTAL oscillators 32KHz + 8~25MHz Int. RC oscillators 32KHz + 16MHz PLL RTC / AWU 4KB backup RAM 2x DAC + 2 Timers 2x CAN 2.0B 2 x SPI / I2S 4x USART/LIN RDP (JTAG fuse) 2 x USART/LIN Temp Sensor 3x I 2 C More I/O:s in UFBGA 176 package HS requires an external PHY connected to ULPI interface, ** Encryption is only available on STM32F415 and STM32F417 30

Free software solutions from ST Standard Peripheral Library USB device library USB Host Library Motor Control Library Self-test routines for EN/IEC 60335-1 Class B DSP Library SPEEX Codec Encryption Library STM32 Audio Engine

Software libraries speed time to market ST software libraries free at www.st.com/mcu C source code for easy implementation of all STM32 peripherals in any application Standard library source code for implementation of all standard peripherals; code implemented in demos for STM32 evaluation board Motor control library sensorless vector control for 3-phase brushless motors USB Device Library Supporting HID,CDC, Audio, Mass Storage, DFU ) USB Host Library Supporting Mass Storage and HID DSP Library PID, IIR, FFT, FIR Graphics Library Drop down menus, radio buttons, sliders, Software Solutions for Ethernet TCP/IP Bluetooth SpeexCodec And many others. 32

33 STM32 Evaluation Board Hardware Evaluation Platform for all interfaces Boards available for ALL STM32 Families Possible connection to all I/Os and all peripherals Flash is loaded with self-test firmware, and demos for USB, CAN, SD Card etc. Firmware projects available from www.st.com/mcu Vendor neutral works with any IDE or JTAG dongle

34 STM32 Discovery Kit STM32F100RBT6B microcontroller, 128 KB Flash, 8 KB RAM in 64-pin LQFP On-board ST-Link Can be used as standalone ST-Link with SWD for programming and debugging On-board / Standalone configurable Multiple Power Supply Options USB External 5 V External 3.3 V Two user LEDs LD3 (green) LD4 (blue) Two push buttons (User and Reset) User / application Reset 2.54mm (0.1 ) Extension header for all MCU pins Quick connection to prototyping board Easy probing SWD Jumper The easiest start to working with STM32!

Future 35

MCU Trends a selection 36

37 MCU Trends a selection of topics Price Technology Performance Low Power and MIPS Memory size Larger flash and RAM Peripheral Integration analog, RF Industry standard cores Cortex M Advanced Peripherals USB Ethernet LCD Predefined Libraries + RTOS Abstraction from the hardware

38 F-4 series STM32F47x 1.62V-3.6V Supply 180 MHz running M4 + FPU EMI with SDRAM Support LCD Controller Audio PLL with streaming support I2S full duplex Fast power-on reset Fast wakeup and recovery USB down to 1.62V Dual power IOs 64 pins to 176 pins -40/+105 C Improvements New CORTEX M4 521K- 2MB CPU+ MPU Flash Memory + FPU 180 MHz Up to 192KB SRAM JTAG/SW Debug ETM Nested vect IT Ctrl 1 x Systic Timer DMA 16 Channels Clock Control 80/112/140 I/Os w/ CTlib MUX 2x6x 16-bit PWM Synchronized AC Timer 3 x 16bit Timer Up to 16 Ext. ITs 1 x SPI 2 x USART/LIN ARM 32-bit multi-ahb bus matrix Arbiter (max 120MHz) Bridge APB2 AHB1 (max 150MHz) (max 150MHz) Flash I/F External Memory Interface with SDR USB 2.0 OTG HS USB 2.0 OTG HS with Phy CR, BC Ethernet MAC 10/100, IEEE1588 Bridge AHB2 (max 150MHz) Data Flash LCD Controller APB1 (max 75MHz) 5x 16-bit Timer 2x 32-bit Timer 2x Watchdog (independent & window) 1x SDIO 3x 12-bit ADC 24 channels / 5Msps 16bit ADC 16ch PGA x 2 Temp Sensor Encryption Camera Interface USB 2.0 OTG FS IEBUS Quad SPI Power Supply Reg 1.2V POR/PDR/PVD XTAL oscillators 32KHz + 8~25MHz Int. RC oscillators 32KHz + 16MHz PLL + AUDIO RTC / AWU 2x 4KB backup RAM 2x DAC + 2 Timers 6 x Comparators 2x CAN 2.0B 2 x SPI / I2S Full duplex 4x USART/LIN 3x I2C

F-0 Series 16KB STM32F051 Key features 48MHz max CPU freq SRAM with hardware parity checking 2.0V-3.6V supply 1.8V 10% with special bounding Package UFQFN 32, LQFP48 Up to 39 fast IOs (AHB) 2x GP comparators Capacitive touch sensing I2C Fast Mode + SPI variable data length CORTEX TM -M0 CPU 48MHz Nested vect IT Ctrl JTAG/SW debug w/ ROP level2 protection 1 x Systick Timer Fast I/O interface 26/39 w/ CTlib MUX Up to 16 Ext. ITs Win-WDG 2 x 16-bit TIMER 1ch (2 with cpl/dt) ARM Lite Hi-Speed Bus Matrix / Arbiter (max 48MHz) Flash I/F DMA 5 Channels 16kB/8kB FLASH Memory up to 3kB SRAM ARM Peripheral Bus (max 48MHz) 1 x 12-bit ADC 10ch / 1µs T C sensor 2x GP comparators 1x 12-bit DAC Power Supply POR/PDR/PVD PLL I-WDG w/ AWU HSI 8MHz 1% XTAL 4~32MHz LSI 32KHz Clock Control 1x SPI w/ variable data lgth 1x I²C w/ FM+ 20mA 1x USART STBY 1 x 16-bit TIMER 1 x 32-bit TIMER 4ch 39

Q & A 40

41 After the session you should have learnt.. Know the difference between a MCU and a MPU and a CPU. Differences between a 8 bit and 32 bit MCU. Differences between Risc and Cisc architecture Differences between Harvard and Von Neuman Architecture Temporary production technologies