10/09/2014 MSP430 EMB7000, Ch. 2 Les microcontrôleurs MSP430 de Texas Instrument Traduit et adapté de l’anglais Copyright 2009 Texas Instruments All Rights Reserved Objectifs d’apprentissage • Survol d’une famille typique de microcontrôleurs – Famille MSP430 de Texas Instrument • Kits de Développement Traduit et adapté de l’anglais 1 10/09/2014 TI Embedded Processing Portfolio TI Embedded Processors Microcontrollers (MCUs) 16-bit ultralow power MCUs 32-bit real-time MCUs MSP430™ C2000™ Delfino™ Piccolo™ ARM®-Based Processors 32-bit ARM Cortex™-M3 MCUs Stellaris® ARM® Cortex™-M3 ARM Cortex-A8 MPUs Sitara™ ARM® Cortex™-A8 & ARM9 Digital Signal Processors (DSPs) DSP DSP+ARM C6000™ DaVinci™ 40MHz to 300 MHz Up to 100 MHz 300MHz to >1GHz Flash 1 KB to 256 KB Flash, RAM 16 KB to 512 KB Flash 8 KB to 256 KB USB, ENET MAC+PHY CAN, ADC, PWM, SPI Ultra Low power DSP C6000™ C5000™ video processors OMAP™ Up to 25 MHz Multi-core DSP 24.000 MMACS Up to 300 MHz +Accelerator Cache, RAM, ROM 300MHz to >1Ghz +Accelerator Cache RAM, ROM Cache RAM, ROM Up to 320KB RAM Up to 128KB ROM USB, CAN, PCIe, EMAC USB, ENET, PCIe, SATA, SPI SRIO, EMAC DMA, PCIe USB, ADC McBSP, SPI, I2C Analog I/O, ADC LCD, USB, RF PWM, ADC, CAN, SPI, I2C Measurement, Sensing, General Purpose Motor Control, Digital Power, Lighting, Ren. Enrgy Connectivity, Security, Motion Control, HMI, Industrial Automation Industrial computing, POS & portable data terminals Floating/Fixed Point Video, Audio, Voice, Security, Conferencing Telecom test & meas, media gateways, base stations Medical, Biometrics $0.25 to $9.00 $1.50 to $20.00 $1.00 to $8.00 $5.00 to $20.00 $5.00 to $200.00 $40 to $200.00 $3.00 to $10.00 Audio, Voice Software & Dev. Tools 3 Exemple de microcontrôleurs : La famille TMS430 • Consommation de courant très faible compatible avec 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 165‐230 uA/MIPS en mode actif Réveil en moins de 1‐5 us Courant de fuite des lignes d’e/s < 50 nA • Plus de 400 membres! Traduit et adapté de l’anglais 2 10/09/2014 Plusieurs modes d’opération pour la conservation d’énergie • Les modes de dormance permettent d’optimiser la consommation d’énergie Traduit et adapté de l’anglais Usage des modes d’opération Mode d’opération Impact Courant typique Normal (« Active ») Dépend de la Opération normale fréquence d’horloge 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êt Périphériques : variable 10‐25% du courant en mode normal Attente d’un évènement sur un périphérique Dormant (« sleep ») CPU : arrêt –LPM4 Périphériques : arrêt ~100 nA Attente d’un évènement externe peu fréquent Sommeil profond (« Deep Sleep ») – LPM4.5 ‐5 ~ 50 ‐100 nA Applications avec faible ratio normal/dormant ou longues périodes de dormance LPM4 avec RAM non conservée Usage typique Source : www.ecnmag.com/article-Utilizing-Microcontrollers-Low-Power-Modes-and-Peripherals-060109.aspx Traduit et adapté de l’anglais 3 10/09/2014 Les modes d’opération dépendent de signaux d’horloges actifs • Au moins 4 sources possibles LFXT1CLK : basse fréquence à cristal (ex. 32KHz) XT2CLK : haute fréquence à cristal (ex. 4 MHz) DCOCLK : Interne calibrée à haute fréquence (Digitally‐Controlled Oscillator) VLOCLK : Interne de ~12kHz (Very Low‐power) • Trois signaux utilisables MCLK : Master clock (toutes les sources; source du CPU) SMCLK : Sub‐main clock (toutes les sources; source pour périphérique quand le CPU est arrêté) ACLK : Auxiliary clock (LFXT1CLK ou VLOCLK, permet de conserver l’énergie) Traduit et adapté de l’anglais La source affecte la consommation d’énergie Clock Frequency Precision Current Draw Crystal Required High-Frequency DCO 100kHz – 60MHz Low 60uA HFXT1/ XT2 4 - 32MHz High 260uA/ 12MHz MODOSC 5MHz n/a n/a X Low-Frequency RTC LFXT1 32kHz High 300nA VLO ~10kHz Low 60nA REFO 32kHz Medium/High 3uA X Traduit et adapté de l’anglais 41 4 10/09/2014 Tension d’alimentation min et fréquence d’horloge max interreliées • Vdd typique entre 1.8v et 3.6 v, le minimum dépend de la fréquence d’horloge qui peut aller de DC jusqu’à un maximum – 0.9v à 1 MHz et Icc = 45 uA en mode actif pour le MSP430L092! Ex. famille MSP430F5xxx jusqu’à 25MHz • • – Flash ISP @ min. VCC – 8MHz @ min. VCC – Jusqu’à 25MHz @ 2.4V‐3.6V VCORE programmable La diminution de VCC or VCORE réduit la consommation en courant (230 uA/MHz) • • Traduit et adapté de l’anglais 11 MSP430 Generations Category 2xx 4xx 5xx CPU Clock (max) 16MHz 8MHz 25MHz Active Current (@ 3.0V, typical) 515uA @ 1MHz 4.2mA @ 8MHz 9.1mA @ 16MHz 600uA @ 1MHz 4.8mA @ 8MHz N/A 290uA @ 1MHz 1.84mA @ 8MHz 230 uA/MHz 8.90mA @ 25MHz 120KB / 8KB (Flash / RAM) 120KB / 8KB (Flash / RAM) 256KB / 16KB (Flash / RAM) Wake-up Time From LPM3 1us 6us 5us Standby 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.8V Port I/O Interrupt Capability P1/P2 P1/P2 P1/P2 Some devices also P3/P4 Prog. Port Pin Drive Strength N/A N/A All port pins Prog. Pull-ups / Pull-downs All port pins N/A All port pins 12-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 LFXT1 XT2 (if available) VLO FLL LFXT1 XT2 (if available) N/A LFXT1 Available FLL Reference Clocks UCS FLL LFXT1 / XT1 XT2 (if available) VLO REFO LFXT1, REFO, & XT2 (if present) * 2xx, 4xx – ADC12; 5xx - REF & ADC12_A 6 5 10/09/2014 MSP430 Roadmap FR57xx FRAM F6/563x Device BGM, Catalog Production F53xx Development F51x2 F261x F241x F23x-F24x 2xx-Catalog 16 MIPS 120 kB Flash 8 kB RAM 500 nA Standby 1.8 – 3.6V G = Value Line F = Flash FR = FRAM F21x1 G2xx2 G2xx1 G2xx5 75+ devices 1xx-Catalog • • • • 8MIPS 60 kB Flash 10 kB RAM 1.8 – 3.6 V The New Generation RF 5xx-6xx USB F23x0F23x0 F541x F22xx F20xx 0.9V Native CC430 F552x • • • • • • • F543xA F21x2 F15x-F16x F13x-F14x F12xx FG461x Fx42x F43x Fx42x0 F41x FE42x2 Fx47x F47x4 F41x2 25MIPS 256 kB Flash 16 kB RAM 1.8 – 3.6V FRAM, USB, RF 6xx: LCD Controller 160 uA/MIPS F471xx Fx43x F44x F11xx USB L092 Lighting 100+ devices • • • • • F550x Gen Purpose 100+ devices 4xx: LCD • • • • 16 MIPS 120 kB Flash 8 kB RAM LCD Controller, 160 segments • 1.8 – 3.6V 7 La famille MSP430 : Architecture générale • Bus de données interne de16 bits et externe de 8 bits • Jusqu’à 20 bits d’espace d’adressage • Site web de TI Traduit et adapté de l’anglais 6 10/09/2014 La famille TMS430 : Le CPU • Architecture RISC (Reduced Instructions Set Computing) – Nombre d’instructions réduit – 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 c Traduit et adapté de l’anglais La famille TMS430 : 27 Instructions de base Traduit et adapté de l’anglais 7 10/09/2014 La famille TMS430 : 24 instructions émulées • Remplacées par des instructions de base par l’assembleur de code 15 Traduit et adapté de l’anglais La famille TMS430 : 51 instructions au total Traduit et adapté de l’anglais 8 10/09/2014 La famille TMS430 : Mode d’adressage • 7 modes pour la source : • 4 modes pour la destination : – Register mode; Indexed mode; Symbolic mode; Absolute mode. Traduit et adapté de l’anglais 5xx + Low-Power RF – The CC430 CC430 Supports: 300-348MHz, 387- 464MHz and 779-928MHz Low-power RF SoC Low Power RF IC MSP430 MCU Radio Frequency Application & Protocol processor Low Power < 1 GHz RF Transceiver • High sensitivity • Low current consumption • Excellent blocking performance • Flexible data rate & modulation format • Backwards compatible MSP430 5xx MCU • Ultra-low power • High analog performance • High level of integration • Ease of development • Sensor interface 19 9 10/09/2014 La famille TMS430 : Périphériques intégrés • Choix varié CAN 10/12 bits SAR CAN 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 Traduit et adapté de l’anglais 22 10 10/09/2014 La famille TMS430 : L’espace d’adressage • Espace d’adressage uniforme: – Couvre toute la mémoire, incluant la RAM, la mémoire Flash/ROM, les registres spécialisés (SFRs) et les registres des périphériques. – Carte : Memory Address End: 0FFFFh Start: 0FFE0h End: 0FFDFh Start *: End *: Start: End: Start: End *: Start: End: Start: End: Start: End: Start: Traduit et adapté de l’anglais Description Interrupt Vector Table Flash/ROM 0F800h 01100h 010FFh 0107Fh 01000h 0FFFh 0C00h 09FFh 027Fh 0200h 01FFh 0100h 00FFh 0010h 000Fh 0000h Information Memory (Flash devices only) Boot Memory (Flash devices only) RAM Access Word/Byte Word/Byte Word/Byte Word/Byte Word/Byte 16-bit Peripheral modules Word 8-bit Peripheral modules Byte Special Function Registers Byte 21 La famille TMS430 : Les vecteurs d’interruption • 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 Traduit et adapté de l’anglais 22 11 10/09/2014 Kits de démarrage (Launchpad) USB Emulator Connection Famille G2x •16kB Flash • 512B RAM • 2 Timer_A3’s • 8 Ch. Comp_A+ • 8 Ch. ADC10 • USCI Embedded Emulation 6-pin eZ430 Connector Crystal Pads Chip Pinouts Part and Socket Power Connector P1.3 Button LEDs and Jumpers P1.0 & P1.6 • • Reset Button <10 $, livraison incluse (4.30$ à l’origine!) Design largement inspiré d’Arduino Traduit et adapté de l’anglais Kits de démarrage plus avancés MSP430F5529 (~13$) • MSP430FR5969 (~24$) Plus de muscle, de mémoire et de périphériques Traduit et adapté de l’anglais 12 10/09/2014 Booster packs • Modules qui s’enfichent sur le Launchpad et permettent d’augmenter sa fonctionnalité – Permettent le prototypage et la validation rapides Traduit et adapté de l’anglais Kits de démarrage eZ430‐F2xx 1/2 • 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 $! Traduit et adapté de l’anglais 13 10/09/2014 Kits de démarrage eZ430‐F2xx 2/2 • • • 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) 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 14 10/09/2014 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) 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 Traduit et adapté de l’anglais 23 15 10/09/2014 MSP-EXP430FG4618 • 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 Traduit et adapté de l’anglais 79 And the winner is… 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% Traduit et adapté de l’anglais 75 16 10/09/2014 Development de code • Demande un ordinateur hôte et une carte contenant le micocontôleur cible • Un environnement de développement logiciel – Code composer Studio – IAR… Development processor Target processor 33 Traduit et adapté de l’anglais Cycle de développement logiciel • Demande Fichier c Fichier c Compilateur Fichier de code object Librairie Fichier de code object – Compilateur et assembleur croisés Fichier asm • Exécutent sur un processeur et génèrent le code objet pour un autre Assembleur Fichier de code object Editeur de liens – Éditeur de liens Débogueur – Débogeur Fichier de code exécutable Phase de codage par l’hôte • Génère le code final du microcontrôleur Phase de validation dans la cible • Surveille 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 17