ARM Cortex STM series



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

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

AN2586 Application note

STM32F215xx STM32F217xx

STM32F411xC STM32F411xE

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

Chapter 13. PIC Family Microcontroller

AN4646 Application note

Hello, and welcome to this presentation of the STM32 SDMMC controller module. It covers the main features of the controller which is used to connect

STM32L. Ultra-low-power Cortex -M3 devices

PAC52XX Clock Control Firmware Design

A Development Platform for Microcontroller STM32F103

Am186ER/Am188ER AMD Continues 16-bit Innovation

Atmel Norway XMEGA Introduction

STM32F103x8 STM32F103xB

Lab Experiment 1: The LPC 2148 Education Board

Microtronics technologies Mobile:

STM32L151x6/8/B STM32L152x6/8/B

STM32F401xD STM32F401xE

STM32L15xCC STM32L15xRC STM32L15xUC STM32L15xVC

STM32L100C6 STM32L100R8 STM32L100RB

Hello and welcome to this training module for the STM32L4 Liquid Crystal Display (LCD) controller. This controller can be used in a wide range of

STM32F103xF STM32F103xG

STM32F410x8 STM32F410xB

AN LPC1700 timer triggered memory to GPIO data transfer. Document information. LPC1700, GPIO, DMA, Timer0, Sleep Mode

How To Design A Single Chip System Bus (Amba) For A Single Threaded Microprocessor (Mma) (I386) (Mmb) (Microprocessor) (Ai) (Bower) (Dmi) (Dual

Building Blocks for PRU Development

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

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

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

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

Eureka Technology. Understanding SD, SDIO and MMC Interface. by Eureka Technology Inc. May 26th, Copyright (C) All Rights Reserved

How To Use Nuc123 (Nuc123) For A Week

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

RENESAS TECHNICAL UPDATE

Hello, welcome to this presentation of the low power timer, or LPTMR, module for Kinetis MCUs. In this session you ll learn about the LPTMR, it s

Overview of the Cortex-M3

STM32F303xB STM32F303xC

GCLK (Generic Clock Management) PM (Power Management) SYSCTRL (Clock Source Control) The following devices can use this module:

AN3371 Application note

AN4488 Application note

AVR1321: Using the Atmel AVR XMEGA 32-bit Real Time Counter and Battery Backup System. 8-bit Microcontrollers. Application Note.

DevKit1207 Evaluation Kit

STM32F103x6 STM32F103x8 STM32F103xB

Motor Control using NXP s LPC2900

STM32F072x8 STM32F072xB

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

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

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

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

AN3252 Application note

System Design Issues in Embedded Processing

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

The new 32-bit MSP432 MCU platform from Texas

DAC Digital To Analog Converter

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

TMU3114MS. USB Full Speed Controller. Data Sheet. Tenx reserves the right to change or discontinue this product without notice. tenx technology inc.

Software based Finite State Machine (FSM) with general purpose processors

OpenSPARC T1 Processor

FRDM-KL25Z User's Manual Rev. 1.0

Application Note AN_299. FT800_FT801_Internal_Clock _Trimming

TURBO PROGRAMMER USB, MMC, SIM DEVELOPMENT KIT

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

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

STM32F103x4 STM32F103x6

Atmel Power Line Communications. Solutions for the Smart Grid

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC Microprocessor & Microcontroller Year/Sem : II/IV

8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation.

HyperAccess Access Control System

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

SBC6245 Single Board Computer

DATA LOGGER AND REMOTE MONITORING SYSTEM FOR MULTIPLE PARAMETER MEASUREMENT APPLICATIONS. G.S. Nhivekar, R.R.Mudholker

Data Sheet. Adaptive Design ltd. Arduino Dual L6470 Stepper Motor Shield V th November L6470 Stepper Motor Shield

It should be corrected as indicated by the shading below.

POCKET SCOPE 2. The idea 2. Design criteria 3

Computer Organization and Components

Chapter 02: Computer Organization. Lesson 04: Functional units and components in a computer organization Part 3 Bus Structures

AN2821 Application note

Lesson-16: Real time clock DEVICES AND COMMUNICATION BUSES FOR DEVICES NETWORK

EC313 - VHDL State Machine Example

Block 3 Size 0 KB 0 KB 16KB 32KB. Start Address N/A N/A F4000H F0000H. Start Address FA000H F8000H F8000H F8000H. Block 2 Size 8KB 16KB 16KB 16KB

MX PIC24F Educational Module User Manual

Digital Signal Controller Based Automatic Transfer Switch

Hello and welcome to this presentation of the STM32L4 Firewall. It covers the main features of this system IP used to secure sensitive code and data.

STM32F031x4 STM32F031x6

MVME162P2. VME Embedded Controller with Two IP Slots

SoC-Based Microcontroller Bus Design In High Bandwidth Embedded Applications

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

AN3307 Application note

Atmel AVR4920: ASF - USB Device Stack - Compliance and Performance Figures. Atmel Microcontrollers. Application Note. Features.

COMPUTER HARDWARE. Input- Output and Communication Memory Systems

SmartDesign MSS. Clock Configuration

AN3307 Application note

SoC IP Interfaces and Infrastructure A Hybrid Approach

Section 29. Real-Time Clock and Calendar (RTCC)

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

8741A UNIVERSAL PERIPHERAL INTERFACE 8-BIT MICROCOMPUTER

How to design and implement firmware for embedded systems

Interfacing Of PIC 18F252 Microcontroller with Real Time Clock via I2C Protocol

Transcription:

ARM Cortex board 1

ARM Cortex STM series 2

STM32 Series 3

Abbreviation FS full speed HS high speed MC motor controller MSI multi speed internal oscillator RNG random number generator SDIO secure digital input output VScal voltage scaling DSC digital signal controller PGA programmable gain ampilier 4

STM32F100xx block diagram 5

Pin-out 6

Memory map 7

Memory map (1) 8

Memory map (2) 9

Memory map(3) 10

ARM Bus Introduced by ARM Ltd in 1996 Widely used as the on-chip bus

ARM BUS AMBA = ARM Memory Bus Architecture AHB = ARM High performance Bus APB = ARM Peripheral Bus AMBA-AHB connects ARM core with memory, external DRAM AMBA-APB interfaces ARM core with external low-speed I/O devices using AMBA-APB bridge

AMBA AMBA-AHB connects to 32-bit data and 32-bit address at high speed AHB maximum bps bandwidth is 16 times ARM processor clock AMBA-APB bridge is used to communicate AHB bus to APB bus The bridge communicates to memory through AMBA-AHB

AHB Bus AHB Bus are interconnected with: Cortex core Internal SRAM Internal Flash memory FSMC AHB to APB DMA Ethernet DMA 14

APB bus Connect: I 2 C Touch screen SDIO MMC (multimedia-bus) USB CAN bus

ARM BUS

System architecture 17

System architecture connecting devices 18

Bus system Icode bus : connects the instruction bus to the flash memory instruction interface Dcode bus : connects to flash memory data interface and debug access System bus : connects to bus matrix that manages the arbitration between core and DMA DMA bus: AHB master interface of the DMA to bus matrix Bus matrix: arbitrations between different buses AHB/APB bridge: bridge between AHB and APB APB1 is limited at 36 MHz and APB2 is at 72 MHz 19

AHB and APB AHB = Advance High Performance Bus with max speed = 72 Mhz APB = Advance Peripheral Bus with APB1 max speed = 36 Mhz and APB2 max speed = 72 MHz FSMC = Flexible static memory controller (able to interface with synchronous and asynchronous) 20

Cyclic redundancy checking (CRC) Use to get a CRC code from a 32 bit data word Use to verify data transmission and storage integrity Example of CRC calculation block diagram Example of CRC polynomial: 21

Power supply overview The device requires 2-3.6V voltage supply. 22

Power supply Voltage regulator to provide 1.8V for core and memory Reset and Clock control, real time clock, and LSE (Low speed external crystal) oscillator are supported by backup domain power source 23

Low power mode Normal condition: run mode Low power mode: Sleep mode CPU clocks are off, all peripherals are running Stop mode all clocks are off Standby mode 1.8 V power domain are off (enter backup domain) 24

Low power mode WFI (wait for interrupt) and WFE (wait for event) are special ARM instructions 25

Reset There are 3 types of reset: System reset Power reset Backup domain reset 26

System reset Set all registers to their reset values except reset flags and registers in the backup domain It is generated when: External reset pin is triggered Window watchdog ends of count condition (WWDG reset) Independent watchdog ends of count condition (IWDG reset) Software reset (SW reset) Low power management reset 27

Power reset Set all registers to their reset values except registers in the backup domain It is generated when: Power on/ Power down reset When exiting standby mode 28

Backup domain reset Effects only the backup domain It is generated when: Software reset V DD or V BAT, if both supplies have previously been off 29

STM32F10xxx board 30

Clocks Three different clock sources can be used to drive SYSCLK HSI (High speed Internal) oscillator clock HSE (High speed External) oscillator clock PLL clock The devices have two secondary clock sources 40 khz low speed internal (LSI) RC for the independent watchdog and optionally drive RTC 32.768 KHz low speed external crystal (LSE) which optionally drive RTC Each clock source can be switched on/off independently 31

CLOCK HSI clock: provides a clock source at low cost (no external component) HSE clock: provides higher accuracy LSE clock: low power, but high accuracy LSI clock: low power for stop and standby mode 32

SYSCLOCK After a system reset, HSI is selected as system clock A switch from one clock source to another occurs only if target clock source is ready If a target is not yet ready, the switch will occur after the target is ready 33

Clock tree 34

Our board HSE is 8 MHz crystal HSI is 8 MHz PLL = HSE x 9 = 72 MHz (Max. freq.) SYSCLK can be selected from PLL, HSE, or HSI 35

36

Real Time Clock (RTC) RTC can be either HSE/128, LSE or LSI clock which is set by the backup domain control register If LSE is selected, RTC continues to work even if V DD is powered off, provided that V BAT is maintained 37

Watchdog and clockout If independent watchdog is started either by hardware or software, LSI oscillator is forced ON and will supply the watchdog Microcontroller clock output (MCO pin) allows clock to be outputted by selected from: SYSCLOCK, HSI, HSE, PLL/2 38

Output clock HCLK : for AHB bus, core, memory and DMA FCLK: free running clock PCLK1: to APB1 PCLK2: to APB2 TIM1CLK: Timer 1 TIMxCLK: Timer 2,3,4 ADCCLK: to ADC module 39

Reset and Clock Control (RCC) RCC is a set of register to setup for reset and clock control 40

void RCC_Configuration(void) { } ErrorStatus HSEStartUpStatus; RCC_DeInit(); // for debug info // initiialize RCC to default RCC_HSEConfig(RCC_HSE_ON); // enable HSE HSEStartUpStatus = RCC_WaitForHSEStartUp();/* Wait till HSE is ready */ if(hsestartupstatus == SUCCESS){ FLASH_SetLatency(FLASH_Latency_2); // wait state 2 for 72MHz RCC_HCLKConfig(RCC_SYSCLK_Div1); // HCLK = SYSCLK RCC_PCLK2Config(RCC_HCLK_Div1); // PCLK2 = HCLK RCC_PCLK1Config(RCC_HCLK_Div2); /* PCLK1 = HCLK/2 */ RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); /* PLLCLK = 8MHz * 9 = 72 MHz */ RCC_PLLCmd(ENABLE); /* Enable PLL */ while(rcc_getflagstatus(rcc_flag_pllrdy) == RESET){}/*Wait till PLL is ready RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); /* Select PLL as system clock source */ while(rcc_getsysclksource()!= 0x08){} /* Wait till PLL is used as system clock source */ } 41

Boot configuration In STM32F10xxx, 3 different boot modes are provided and can be selected from the pin. 42

Boot mode Boot from main flash memory: flash memory is aliased to address 0x0000 0000, but can also accessed from address 0x0800 0000 Boot from system memory: it can be acces from aliasing address: 0x0000 0000 or 0x1FFF B000 Boot from embedded SRAM: only at address 0x2000 0000 Note: when booting from SRAM, NVIC exception table has to be relocated 43

Bit banding Bit band operation support allows a single load/store operation to access a single data bit In ARM Cortex M3, this is supported in two predefined memory regions call bit-band regions One of them is located in the first 1 MB of the SRAM and the other is located in the first 1 MB of the peripheral region 44

Bit-band region 45

Example of bit-band access 46

Data mapping Bit_word_address = bit_band_base + (byte_offset*32) + (bit_number x 4) Example: To access bit 2 of the byte located in SRAM address 0x20000300 = 0x22000000 + (0x300*32) + 2*4 = 0x22008008 47

Questions? 48