ch2 MPS430 USB Sticks.ppt [Mode de compatibilité]boukadoum_m/EMB7000/Notes/ch2 MPS430... · 2018....

20
2018-09-24 1 Traduit et adapté de l’anglais EMB7000, Ch. 2 Les microcontrôleurs MSP430 de Texas Instrument MSP430 Copyright 2009 Texas Instruments All Rights Reserved Traduit et adapté de l’anglais Objectifs d’apprentissage Survol d’une famille de microcontrôleurs typique Famille MSP430 de Texas Instrument Outils de développement logiciel

Transcript of ch2 MPS430 USB Sticks.ppt [Mode de compatibilité]boukadoum_m/EMB7000/Notes/ch2 MPS430... · 2018....

  • 2018-09-24

    1

    Traduit et adapté de l’anglais

    EMB7000, Ch. 2

    Les microcontrôleurs MSP430                de Texas Instrument

    MSP430

    Copyright 2009 Texas Instruments All Rights Reserved

    Traduit et adapté de l’anglais

    Objectifs d’apprentissage

    • Survol d’une famille de microcontrôleurs typique– Famille MSP430 de Texas Instrument 

    • Outils de développement logiciel

  • 2018-09-24

    2

    Processeurs de TI pour systèmes embarqués

    3

    32-bit ARMCortex™-M3

    MCUs

    16-bit ultra-low power

    MCUsDSP

    DSP+ARM ARM

    Cortex-A8 MPUs

    Stellaris®ARM® Cortex™-M3MSP430™

    Sitara™ ARM® Cortex™-A8

    & ARM9

    C6000™ DaVinci™

    video processors

    TI Embedded ProcessorsDigital Signal Processors (DSPs)Microcontrollers (MCUs) ARM®-Based Processors

    OMAP™

    Software & Dev. Tools

    Up to 100 MHz

    Flash8 KB to 256 KB

    USB, ENET MAC+PHY CAN, ADC, PWM, SPI

    Connectivity, Security,Motion Control, HMI,

    Industrial Automation

    $1.00 to $8.00

    300MHz to >1GHzCache,

    RAM, ROMUSB, CAN,

    PCIe, EMACIndustrial computing,

    POS & portable data terminals

    $5.00 to $20.00

    Up to 25 MHz

    Flash1 KB to 256 KB Analog I/O, ADCLCD, USB, RF

    Measurement,Sensing, General

    Purpose

    $0.25 to $9.00

    300MHz to >1Ghz +Accelerator

    CacheRAM, ROM

    USB, ENET, PCIe, SATA, SPIFloating/Fixed PointVideo, Audio, Voice,

    Security, Conferencing$5.00 to $200.00

    32-bit real-time

    MCUs

    C2000™Delfino™Piccolo™

    40MHz to 300 MHz Flash, RAM

    16 KB to 512 KB

    PWM, ADC, CAN, SPI, I2CMotor Control, Digital Power,

    Lighting, Ren. Enrgy

    $1.50 to $20.00

    Ultra Low power

    DSP

    C5000™

    Up to 300 MHz+Accelerator

    Up to 320KB RAMUp to 128KB ROM

    USB, ADC McBSP, SPI, I2C

    Audio, VoiceMedical, Biometrics

    $3.00 to $10.00

    Multi-coreDSP

    C6000™

    24.000 MMACS

    CacheRAM, ROM

    SRIO, EMACDMA, PCIe

    Telecom test & meas, media gateways,

    base stations

    $40 to $200.00

    Traduit et adapté de l’anglais

    La famille TMS430

    • Architecture RISC de 16 bits• Consommation de courant compatible avec l’alimentation par batterie ; aussi peu que :– 100 nA‐ en mode de sommeil profond– 0.7‐2.5  uA‐ en mode sommeil avec réveil par horloge– 100 uA/MHz en mode actif– Réveil en moins de 1‐5 us– Courant de fuite des lignes d’e/s 

  • 2018-09-24

    3

    Traduit et adapté de l’anglais

    Plusieurs modes d’opération pour la conservation d’énergie

    • La consommation en courant dépend essentiellement du nombre d’horloges actives et de leurs fréquences – Utilisation de modes de dormance pour l’optimisation

    Mode CPU et horlogesActive CPU active. All enabled clocks 

    activeLPM0 CPU, MCLK disabled. SMCLK, 

    ACLK active

    LPM1 CPU, MCLK disabled. DCO disabled if not used for SMCLK. 

    ACLK activeLPM2 CPU, MCLK, SMCLK, DCO 

    disabled. ACLK activeLPM3 CPU, MCLK, SMCLK, DCO 

    disabled. ACLK activeLPM4 CPU and all clocks disabled

    Traduit et adapté de l’anglais

    Horloges• Au moins 4 sources avec diviseurs de fréquence Cristal : basse (32KHz) et

    haute fréquence (ex. 4 MHz) DCOCLK (Digitally‐Controlled Oscillator clk) :    

    Interne calibrée à haute fréquence VLOCLK (Very Low‐power clk) : 

    Interne de ~12kHz

    • Trois signaux utilisables MCLK (Main clk) et SMCLK (Sub‐main clk)   

    toutes sources possibles; horloges du CPU et         des périphérique quand le CPU est dormant

    ACLK : Auxiliary clock (conserve l’énergie)

  • 2018-09-24

    4

    Traduit et adapté de l’anglais

    Horloges actives et modes d’opérationMode CPU et horlogesActive CPU active. All enabled clocks 

    activeLPM0 CPU, MCLK disabled. SMCLK, 

    ACLK active

    LPM1 CPU, MCLK disabled. DCO disabled if not used for SMCLK. 

    ACLK activeLPM2 CPU, MCLK, SMCLK, DCO 

    disabled. ACLK activeLPM3 CPU, MCLK, SMCLK, DCO 

    disabled. ACLK activeLPM4 CPU and all clocks disabled

    43

    BOR

    POR

    Active Mode

    PUC

    LPM3.5

    LPM4.5LPM0

    LPM1

    LPM2

    LPM3

    LPM4

    Traduit et adapté de l’anglais

    Usage des modes d’opérationMode d’opération Impact Courant typique Usage typique

    Normal (« Active ») Dépend de l’horloge ~2‐3 mA typique Opération normale

    Somnolant (« Doze ») 

    CPU : ralenti , Périphériques : normal 

    35‐75% du courant en mode normal

    Applications utilisant les périphériques avec peu de traitement

    Repos (« idle ») –LPM0‐LPM3

    CPU : arrêtPériphériques : variable

    10‐25% du courant en mode normal

    Attente d’un évènement sur un périphérique

    Dormant (« sleep ») –LPM4

    CPU : arrêtPériphériques : arrêt ~100 nA

    Attente d’un évènement externe peu fréquent

    Sommeil profond (« Deep Sleep ») –LPM4.5 ‐5

    LPM4 avec RAM non conservée ~ 

  • 2018-09-24

    5

    Traduit et adapté de l’anglais

    La source affecte la consommation d’énergie

    Clock Frequency Precision Current Draw Crystal Required

    High-FrequencyDCO 100kHz – 60MHz Low 60uA

    HFXT1/ XT2

    4 - 32MHz High 260uA/12MHz X

    MODOSC 5MHz n/a n/aLow-Frequency

    LFXT1 32kHz High 300nA XVLO ~10kHz Low 60nA

    REFO 32kHz Medium/High 3uA

    RTC

    41

    MSP430 Generations

    6

    Category 2xx 4xx 5xxCPU Clock (max) 16MHz 8MHz 25MHzActive Current(@ 3.0V, typical)

    515uA @ 1MHz4.2mA @ 8MHz9.1mA @ 16MHz

    600uA @ 1MHz4.8mA @ 8MHzN/A

    290uA @ 1MHz1.84mA @ 8MHz 230 uA/MHz8.90mA @ 25MHz

    120KB / 8KB (Flash / RAM) 120KB / 8KB (Flash / RAM) 256KB / 16KB (Flash / RAM)

    Wake-up Time From LPM3 1us 6us 5usStandby LPM3 Current 0.9 – 1.1uA 1.1 – 2.5uA 1.9uA (RTC, WDT, SVS enabled) LPM4 Current 0.1uA 0.1uA 1.2uA (LPM4) / 0.1uA (LPM4.5)Flash ISP Minimum DVCC 2.2V 2.7V 1.8VPort I/O Interrupt Capability P1/P2 P1/P2 P1/P2

    Some devices also P3/P4Prog. Port Pin Drive Strength N/A N/A All port pinsProg. Pull-ups / Pull-downs All port pins N/A All port pins12-bit A/D Internal Reference Current

    500 uA 500 uA 100 uA*

    12-bit A/D Active Conversion Current

    800 uA 800 uA 150 uA*

    Available MCLK Sources DCO LFXT1XT2 (if available)VLO

    FLLLFXT1XT2 (if available)

    FLLLFXT1 / XT1

    UCS XT2 (if available)VLO REFO

    Available FLL Reference Clocks

    N/A LFXT1 LFXT1, REFO, & XT2 (if present)

    * 2xx, 4xx – ADC12; 5xx - REF & ADC12_A

  • 2018-09-24

    6

    MSP430 Roadmap

    7

    100+ devices2xx-Catalog• 16 MIPS• 120 kB Flash• 8 kB RAM• 500 nA Standby• 1.8 – 3.6V

    75+ devices1xx-Catalog• 8MIPS• 60 kB Flash• 10 kB RAM• 1.8 – 3.6 V

    G = Value LineF = FlashFR = FRAM

    100+ devices4xx: LCD• 16 MIPS• 120 kB Flash• 8 kB RAM• LCD Controller, 160

    segments• 1.8 – 3.6V

    F23x0

    The New Generation5xx-6xx• 25MIPS• 256 kB Flash• 16 kB RAM• 1.8 – 3.6V• FRAM, USB, RF• 6xx: LCD Controller• 160 uA/MIPS

    ProductionDevelopment

    Device

    F23x-F24x

    F261xF241x

    F20xxF21x1

    F21x2F22xx

    F13x-F14xF15x-F16x

    F541x F543xA

    Fx42x0Fx42x

    F44xFx43x

    FG461x

    FE42x2

    F47x4Fx47x

    F43x

    F23x0

    F11xxF12xx

    F41x F41x2

    FR57xxFRAM

    F550x USB

    F51x2Lighting

    L0920.9V Native

    F53xxGen Purpose

    F6/563xBGM, Catalog

    G2xx1

    F552xUSB

    CC430RF

    G2xx2G2xx5

    F471xx

    Traduit et adapté de l’anglais

    La famille MSP430 : Architecture générale

    • Bus de données interne de 16 bits et externe de 8 bits• Jusqu’à 20 bits d’espace d’adressage• Interface JTAG (Joint Test Action Group) pour la programmation/débogage (Spy‐by‐wire)• Site web de TI

  • 2018-09-24

    7

    Traduit et adapté de l’anglais

    La famille TMS430 : Le CPU

    • Architecture RISC à architecture de Von Neumann  (mémoire commune pour les instructions et les données)

    • Seize registres de 16‐20‐bits– 4 registres sont à fonctions dédiées   

    (PC, SP, SR, et générateur de constantes)– 12 sont à usage général (R4 ‐R15) 

    • Unité arithmétique et logique (ALU):– Addition, soustraction, comparaison et 

    opérations logiques (AND, OR, XOR) ;– Sémaphores pour débordement, zéro, 

    négatif et bit de retenue• Architecture optimisée pour les 

    compilateurs du langage c

    Traduit et adapté de l’anglais

    La famille TMS430 : 27 Instructions de base

    • Moins d’instructions => décodeur d’instructions simplifié => consommation d’énergie plus faible

  • 2018-09-24

    8

    Traduit et adapté de l’anglais15

    • Remplacées par des instructions de base dans le programme d’assemblage du code

    La famille TMS430 : 24 instructions émulées

    Traduit et adapté de l’anglais

    La famille TMS430 : 51 instructions au total 

  • 2018-09-24

    9

    Traduit et adapté de l’anglais

    La famille TMS430 : Mode d’adressage

    • 7 modes pour la source :

    • 4 modes pour la destination :– Register mode; Indexed mode; Symbolic mode; Absolute mode.

    5xx + RF faible puissance = SoCCC430

    CI Radio

    RF

    Low‐power RF SoC

    •Ultra‐low power •High analog performance•High level of integration• Ease of development• Sensor interface

    •High sensitivity• Low current consumption• Excellent blocking performance• Flexible data rate & modulation format•Backwards compatible

    MSP4305xx MCU

    Transmetteur RF    faible puissance

    MSP430 MCU

    Processeur pourapplication et protocole RF

    • TI offre aussi un portfolio basé sur le uC 8051 d’Intel ou un ARM, offrant des solutions qui couvrent les protocoles VelociTI (propriétaire), Zigbee, Bluetooth et Wi‐Fi à 2.4 MHz (CC2xxx et CC3xxx)

  • 2018-09-24

    10

    Portfolio partiel de produits LPRF

    Software

    ProtocolProcessor

    Systemon Chip

    Transceiver

    Transmitter

    RFFront End

    Narrowband Proprietary

    Sub 1 GHz

    ZigBee / IEEE802.15.4

    2.4 GHzProprietary

    CC111x

    CC430CC2431

    CC2530

    CC2430

    CC2480

    CC2590CC2591

    CC1150CC1070 CC2550

    CC1020CC1101

    CC2520 CC2500

    CC251x

    SimpliciTI

    SimpliciTI TIMACZ-Stack

    SimpliciTI

    CC1100E

    DesignDiagramme d’un exemple d’application LPRF

    MCUMSP430

    RF TransceiverCC1101, C1020,

    CC2500,CC2480*, CC2520

    AntennaLPRF System on Chip

    CC111x / CC251x / CC243x / CC253x / CC430

    PA \ LNACC2590CC2591

    Power Supply

    TPS76933

    SPI

    Minimum BOM:• LPRF Système sur Puce or

    MSP430 MCU + transmetteur RF

    • Antenne (PCB) & Composants d’adaptation RF

    • Alimentation à batterie ou autre

    Composants additionnels :• CC259x extendeur de portée

    • Antenne externe (flexible (whip) ou monopuce (chip)) pour une meilleure performance RF

    *ZigBee network processor

  • 2018-09-24

    11

    Traduit et adapté de l’anglais

    La famille TMS430 : Périphériques intégrés

    • Choix varié CAN 10/12 bits SAR, 16 bits Sigma 

    Delta   CNA 12 bits  Comparateur analogique  Contrôleur LCD  Moniteur d’alimentation   Amplificateurs opérationnels  Temporisateurs à 16 et 8 bits  LDO/PMM  RF 

    Chien de garde  UART/LIN  I2C  SPI  IrDA  USB  Multiplieur en matériel  Contrôleur DMA Capteur de température  Horloge temps‐réel

    Traduit et adapté de l’anglais

    MSP430F5438A Block Diagram

    22

  • 2018-09-24

    12

    Traduit et adapté de l’anglais 23

    La famille TMS430 : L’espace d’adressage

    • Distribution uniforme:– Couvre la mémoire (RAM et Flash/ROM), les registres spécialisés (SFRs), les 

    registres dédiés aux périphériques et les vecteurs d’interruption.

    – Carte :Memory Address Description Access

    End: 0FFFFhStart: 0FFE0h

    Interrupt Vector Table Word/Byte

    End: 0FFDFh Flash/ROM

    0F800h Start *:01100h

    Word/Byte

    010FFh End *:0107Fh Information Memory

    Start: 01000h (Flash devices only) Word/Byte

    End: 0FFFhStart: 0C00h

    Boot Memory (Flash devices only) Word/Byte

    09FFh End *:027Fh RAM

    Start: 0200h Word/Byte

    End: 01FFhStart: 0100h

    16-bit Peripheral modules Word

    End: 00FFhStart: 0010h

    8-bit Peripheral modules Byte

    End: 000FhStart: 0000h

    Special Function Registers Byte

    Traduit et adapté de l’anglais 24

    La famille TMS430 : sources d’interruption• Vecteurs situés en haut de l’espace mémoire (16 deniers mots de la mémoire 

    Flash/ROM): 0FFE0h ‐ 0FFFEh ;• La priorité de service est implicite en partant de la plus haute adresse  

    Reset

  • 2018-09-24

    13

    Traduit et adapté de l’anglais

    Kits de démarrage (Launchpad) 

    Embedded Emulation

    6-pin eZ430 Connector

    Part and Socket

    Crystal Pads

    Power Connector

    Reset ButtonLEDs and JumpersP1.0 & P1.6

    P1.3 Button

    Chip Pinouts

    USB EmulatorConnection

    Famille G2x

    •16kB Flash• 512B RAM• 2 Timer_A3’s• 8 Ch. Comp_A+• 8 Ch. ADC10• USCI

  • 2018-09-24

    14

    Traduit et adapté de l’anglais

    Traduit et adapté de l’anglais

    Booster packs

    • Modules qui s’enfichent sur le Launchpad et permettent d’augmenter sa fonctionnalité– Permettent le prototypage et la validation rapides– Inspirés des shields de l’Arduino

  • 2018-09-24

    15

    Traduit et adapté de l’anglais

    • Le MSP430 USB stick peut servir à concevoir des projets à base de  microcontrôleurs F2012 et F2013 

    • Un projet peut être développé comme système autonome ou comme partie d’un système plus grand en y intégrant  le circuit imprimé détachable contenant le microcontrôleur  

    • Le port USB fournit suffisamment d’énergie pour opérer le MSP430

    • 20 $!

    Kits de démarrage eZ430‐F2xx 1/2

    Traduit et adapté de l’anglais

    • Toutes les 14 broches d’entrées/sorties du microcontrôleur MSP430F2013 sont accessibles sur le circuit imprimé détachable

    • Une des broches d’e/s est reliée à une diode LED,• Caractéristiques du microcontrôleur MSP430F2013 et                     

    périphériques intégrés :– Performance de 16‐MIPS– Convertisseur A‐N Sigma‐Delta avec 16 bits de résolution– Compteur/temporisateur de 16 bits– Temporisateur de surveillance (« Watchdog timer »)– Détecteur de sous‐tension d’alimentation (« Brownout detector »)– Module sériel synchrone supportant SPI and I2C– 5 modes d’opération à faible courant (0.5 μA en mode standby)

    Kits de démarrage eZ430‐F2xx 2/2

  • 2018-09-24

    16

    Traduit et adapté de l’anglais

    Kits de démarrage eZ430‐RF2500 1/2• Outil de développement pour le microcontrôleur MSP430F2274 et le 

    transmetteur sans fil 2.4 Ghz CC2500;• Circuit imprimé cible Z430‐RF2500T détachable : peut être utilisé seul, 

    intégré dans un système,  ou avec l`interface de débogage USB;• Peut communiquer avec un PC par le biais du UART intégré dans le 

    MSP430.• Alimentation autonome ou via le port USB• 50 $

    Traduit et adapté de l’anglais

    Kit de démarrage eZ430‐RF2500 2/2

    • Performance de 16‐MIPS;• Convertisseur A‐N à approximations successives avec 10 bits de 

    résolution et fréquence d`échantillonnage jusqu’à 200 ke/s • Compteur/temporisateur de 16 bits• 2 amplificateur opérationnels intégrés• Compteur/temporisateur de 16 bits• Chien de garde (« Watchdog timer »)• Module sériel universel supportant UART/LIN, (2) SPI, I2C, or IrDA• Taux de transfert de données programmable jusqu’à 500 kb/s• 5 modes d’opération à faible courant (0.7 μA en mode standby)

    • Transmetteur RF 2.4‐GHz externe (CC2500)

  • 2018-09-24

    17

    Traduit et adapté de l’anglais

    MSP‐EXP430F5438• Easy power select

    – USB, JTAG, Battery• USB communication• Microphone• Filtered PWM audio output

    – Active, selectable gain– Headphone compatibility

    • 2‐axis accelerometer• Dot‐matrix LCD (138x110)

    – Integrated backlight• 1 x 5‐direction switch • 2 x push‐button switches • RF Interface

    – CCxxxx EVMs– EZRF I/F (6 & 18‐ pin)

    Please ensure 2 x AA batteries are in place on the back of the board

    Load your F5438A into the socket in the appropriate orientation

    23

    Traduit et adapté de l’anglais

    • Connector for CC1100/CC1101/CC2500/CC2420 EMs

    • Includes support for the CC2480 ZigBee Processor

    • SW examples and function library available at www.ti.com/ccmsplib

    MSP-EXP430FG4618

    79

  • 2018-09-24

    18

    Traduit et adapté de l’anglais

    Et plus encore… Le kit chronos permet de faire du

    développement à base de 5xx tout en ayant une montre, un altimètre, un thermomètre, un compteur de rythme cardiaque et un transmetteur sans-fil quant on ne s’en sert pas!

    8 ans d’autonomie de batterie avec un cycle d’éveil de 5%

    75

    Traduit et adapté de l’anglais36

    Development de code

    • Demande un ordinateur hôte et une carte contenant le microcontôleur cible

    • Un environnement de développement logiciel– Code Composer Studio (basé sur Eclipse)– IAR– GNU…

    Development environment Target processor

  • 2018-09-24

    19

    Traduit et adapté de l’anglais

    Cycle de développement logiciel

    Compilateur

    Editeur de liens

    Fichier c Fichier c Fichierasm

    Fichier de code object

    Fichier de code object

    Fichier de code object

    Fichier de code exécutable

    Assembleur

    Librairie

    Phase de codage par l’hôte

    Débogueur

    Phase de validation dans la cible

    • Demande des logiciels qui s’exécutent sur un ordinateur hôte– Compilateur et assembleur 

    pour le MCU ciblé– Éditeur de liens pour générer 

    le code exécutable final du MCU ciblé 

    – Débogeur pour surveiller l’exécution sur le microcontrôleur

    • L’exécution peut aussi être simulée sur l’hôte

    Traduit et adapté de l’anglais

    EDITOR

    ASSEMBLER

    LINKER

    LOCATOR

    HEX Conversion

    source file (*.s)

    relocatable object file (*.o)

    relocatable linked object file

    absolute executable file (*.axf)

    list file (*.lst)

    linker map file (*.map)

    locator map file (*.map)

    Other object filesfrom assembler

    or HLL compilers

    Target

    Exemple de processus global de génération de code• Des fichiers intermédiaires 

    sont générés• Des fichiers  d’information 

    sont aussi générés • Un fichier de configuration 

    est aussi requis pour l’éditeur de liens

  • 2018-09-24

    20

    Traduit et adapté de l’anglais

    Exécution du code généré

    EDITOR

    ASSEMBLER

    LINKER/LOCATOR

    ADuC7026Simulator

    source file (*.s)

    relocatable object file (*.o)

    absolute executable file (*.axf)

    ULink JTAG Pod

    list file (*.lst)

    map file (*.map)

    Other object filesfrom assembler

    or HLL compilers

    ADuC7026Hardware

    HEXconversion

    DeviceProgrammer

    JTAG PODDevice Simulator

    Target hardware

    Target Device