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
20
Embed
ch2 MPS430 USB Sticks.ppt [Mode de compatibilité]boukadoum_m/EMB7000/Notes/ch2 MPS430_USB... · MSP430 RF Transceiver CC1101, C1020, CC2500, CC2480*, CC2520 Antenna LPRF System on
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
MCUs
DSPDSP+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 >1GHz
Cache, RAM, ROM
USB, CAN,PCIe, EMAC
Industrial 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, SPI
Floating/Fixed PointVideo, Audio, Voice,
Security, Conferencing
$5.00 to $200.00
32-bit real-time
MCUs
C2000™
Delfino™
Piccolo™
40MHz to 300 MHz
Flash, RAM16 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, Voice
Medical, 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 < 50 nA
• Plus de 400 membres!
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
active
LPM0 CPU, MCLK disabled. SMCLK, ACLK active
LPM1 CPU, MCLK disabled. DCO disabled if not used for SMCLK.
ACLK active
LPM2 CPU, MCLK, SMCLK, DCO disabled. ACLK active
LPM3 CPU, MCLK, SMCLK, DCO disabled. ACLK active
LPM4 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ération
Mode CPU et horlogesActive CPU active. All enabled clocks
active
LPM0 CPU, MCLK disabled. SMCLK, ACLK active
LPM1 CPU, MCLK disabled. DCO disabled if not used for SMCLK.
ACLK active
LPM2 CPU, MCLK, SMCLK, DCO disabled. ACLK active
LPM3 CPU, MCLK, SMCLK, DCO disabled. ACLK active
LPM4 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 nAAttente d’un évènement externe peu fréquent
Sommeil profond (« Deep Sleep ») –LPM4.5 ‐5
LPM4 avec RAM non conservée
~ <100 nA
Applications avec faible ratio normal/dormant ou longues périodes de dormance
• 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 = SoC
CC430
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 GHz
Proprietary
CC111x
CC430CC2431
CC2530
CC2430
CC2480
CC2590
CC2591
CC1150CC1070 CC2550
CC1020CC1101
CC2520 CC2500
CC251x
SimpliciTI
SimpliciTI TIMAC
Z-Stack
SimpliciTI
CC1100E
DesignDiagramme d’un exemple d’application LPRF
MCUMSP430
RF TransceiverCC1101, C1020,
CC2500,CC2480*, CC2520
Antenna
LPRF System on ChipCC111x / 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
• 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
• 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