MSP430 - LabUnix

publicité
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
Téléchargement