Gamoover

Vous aimez GAMOOVER ? Vous avez trouvé la perle rare grâce à notre forum ?
Alors pourquoi pas nous soutenir en effectuant un petit don Paypal sur : contribution@gamoover.net
C'est peut être un détail pour vous, mais nous, ça nous aiderait beaucoup !

Dossier sur le LaunchPad MSP430G2xxx

Démarré par KodeIn, Mercredi 04 Mai 2011, 16:04:54 PM

KodeIn

LaunchPad & MSP430: présentation

«LaunchPad»?

Le LaunchPad est un kit de développement pour les microcontrôleurs - abbrégé µC - Texas Instruments - Ti - de la série MSP430G2xxx au format Dual Inline Package - DIP -, comportant jusqu'à 20 pins.
Il est particulièrement intéressant pour les débutants de par son prix très bas, à peine 4,30$ et les frais de port sont offerts.
C'est probablement le kit «prêt à l'emplois» le moins onéreux à l'heure actuelle.


µC, MSP430G2xxx, DIP... ??? o_O
Attention, partie très technique, j'ai essayé de faire simple et d'expliquer au maximum les termes, mais ça reste principalement du jargon électronique/informatique.

Un µC se présente sous la forme petit bout de plastique ou céramique avec des points de connexion électrique sous forme de petites pattes, pin ou pads métalliques. Il existe différents formats de boitiers, mais le seul compatible avec le LaunchPad et donc le seul qui nous intéresse, c'est le format DIP déjà cité. Format grandement favorisé par les hobbyistes, parce que facile à manipuler et souder. Pour des applications «pro», on choisira un des versions Composants Montés en Surface - CMS - prenant bien moins d'espace sur un circuit imprimé - PCB -.

A gauche un G2211 DIP, plus précisément 14PDIP car le boitier est en plastique - Plastic DIP - et possède 14 pins.
A droite deux G2553 au format 20TSSOP - thin-shrink small outline package - dans leur package industriel.
Les puces au format TSSOP sont généralement vendues sous forme de rouleau de "bande perforée" pour le placage automatisé des CMS sur les PCB par des robots.


Une puce est nommée µC si elle contient un processeur, un peu de mémoire Flash ou de l'EEPROM - Electrically Erasable Programmable Read Only Memory - qui va contenir son programme, et de la RAM pour pouvoir stocker les valeurs temporaires. Les pins servent au µC à «dialoguer» avec l'extérieur, elles sont appelées I/O - Input / Output - de manière générale, mais dans le cas des µC, on parle de GPIO - General Purpose Input Output - car on peut modifier leur usage par programmation.
Un µC étant considérablement plus petit que le processeur de votre PC de tous les jours, sa puissance s'en trouve bien réduite, mais aussi sa consommation électrique. Ce qui permet de les utiliser dans l'électronique embarquée - montre-bracelet , calculatrice, voiture, lecteur MP3, etc. - et même en fonctionnant sur piles/batteries de petite taille, conserver une grande autonomie.

Et le MSP430, alors, y viens d'où, y a quoi dedans, ...?_?
Concentrons nous sur le MSP430, c'est un type assez récent de µC que Ti a commencé à produire en 2010 - il me semble - et continue à étoffer à l'heure actuelle. Les MSP430 sont des µC à très basse consommation électrique, c'est à dire qu'il consomment encore moins que la plupart des autres µC, tout bénef pour nos piles!
La série MSP430G2xxx, aussi appelée Value Line par Ti, sont des MSP430 particulièrement peu chers.
Attention, peu cher ne signifie pas qu'ils sont peu puissant, admirez plutôt :

  • fonctionne sur des tensions entre 1,8 et 3,6V
  • consomme ± 220µA par MIPS actif, si alimenté en 2,2V
  • réveil du mode de veille en moins de 1µs
  • 10, 16 ou 24 GPIO, en fonction du nombre de pins présentes sur la puce
  • architecture RISC 16 bits
  • de 128 à 512 Bytes de RAM
  • de 0,5 à 16 KiB de mémoire Flash pour le programme interne - firmware -
  • jusqu'à 16MHz, en fonction du modèle le maximum peut être 8MHz
  • jusqu'à 16 Millions d'Instructions Par Seconde - MIPS - en fonction du modèle
  • comparateur analogique
  • convertisseur de signal analogique en digital
Pour une comparaison rapide et un peu "crapuleuse", le processeur d'un Amiga 500, le Motorola 68000, effectue ±0,7MIPS à ±7MHz et le Motorola 68020 d'un Macintosh II, 2,6MIPS à 16MHz.
Attention, il existe une différence majeure entre un MPS430 et ces processeurs. Les Motorola sont des processeurs 32bits tandis que le MPS430 est 16bits. Si je ne m'abuse, cela signifie que le MSP430 ne pourra manipuler que des valeurs contenues dans 16bits.
Mais quand on voit les jeux que les développeurs ont réussit à pondre sur la SNES avec un CPU 16bits, je me dis que c'est largement assez. :D

Et comment je programme le MSP430 qui est sur le LaunchPad, moi?
Ti propose deux IDE - Integrated Development Environnment, Environnement de développement intégré - gratuits mais exclusivement sous Windows. Les utilisateurs de Linux et d'os X devront se contenter d'outils console/terminal. Rien de bien méchant, mais c'est moins confortable, il faut le reconnaitre.
Ces deux IDE sont IAR Embedded Workbench KickStart et Code Composer Studio - CCS -.
Dans leur version gratuite, ils sont limités à des programmes de 4kB pour IAR et 16kB pour CCS, donc petite préférence pour CCS qui permettra de programmer tous les MSP430 compatibles avec le LaunchPad. (le G2553 possède 16kB de mémoire flash)
Comme dit plus haut, si un éditeur texte vous suffit, qu'un makefile et la console/le terminal ne vous font pas peur - une fois tout bien installé/configuré, un "make install" dans le dossier du projet suffit -, tout ce qu'il vous sera nécessaire est disponible sur le net.
Et voici le tuto détaillé pour installer et commencer à utiliser CCS sous Windows!  ;)

Comment commander?
Intéressé? Passez commande sur le site de Ti, seulement 4,30$! Les frais de livraisons sont gratuits et pas de problèmes de douanes, le colis est envoyé depuis Ti Europe.
Et si vous êtes intéressé par les interfaces type touchpad, Ti propose le Capacitive Touch BoosterPack pour le LaunchPad à 10$.
D'autres vendeurs tels que Mouser ou Digi-Key le proposent aussi, mais il coute plus cher...

Qu'allez vous recevoir?
Le kit contient le PCB rouge du LaunchPad, des connecteurs et un cristal d'horloge sous forme de composant monté en surface à souder, deux MSP430 (un G2211 et un G2231), un câble usb ainsi qu'un guide de découverte rapide : "Meet the LaunchPad".
Pas des CD, les IDE et autre compilateurs de code source proposés par Ti sont à télécharger sur le net.

Le G2231 est monté d'origine sur le LaunchPad et programmé avec une petite démo. Il suffit de brancher le LaunchPad à son PC avec le câble USB et la démo fait clignoter les LEDs rouge et verte. Dès qu'on appuie sur le bouton gauche, le µC va passer en mode lecture de température. Si la température chute sous le point de référence, la LED rouge s'allumera de manière de plus en plus intense, si la température va au-delà de la référence, la verte s'allumera de plus en plus intensément.

Mes tutoriels fait à l'ancienne rien que pour vous!
Tuto 001 : Installer CCS, compiler du code et programmer votre µC pour la première fois.
Tuto 002 : Les opérations bitwise et les registres grâce auxquels nous allons faire clignoter les leds.
Tuto 003 : La base des interruptions, ou comment "parler" à votre µC avec un bouton-poussoir.
Et bien d'autres à venir!

Documentation. Attention, tout est en anglais.
Page wiki de Ti dédiée au Launchpad
User guide du Launchpad
User guide des µC MSP430x2xxx
Datasheet MSP430G2211
Datasheet MSP430G2231

Info importante!
Ti, comme la plupart des gros fondeurs de puces, a un système d'échantillons gratuits, la livraison depuis les USA est offerte et exempte de TVA : pas de frais de douane  =:)) . Il y a quelques conditions bien entendu: 2 pièces par modèles, 4 modèles de puces maximum et jurer sur l'honneur que ce n'est pas pour développer des armes bactériologiques...  ;D

Note pour ceux qui voudraient des µC plus costaux
Potentiellement, le LaunchPad est capable de programmer tous les MSP430 compatibles avec le Spy-Bi-Wire, sans exception.
Mais pour ce faire, il faudra que vous mettiez au point un adaptateur, puisque le seul format supporté physiquement par le launchpad, ce sont les DIP 14 & 20 maximum.
Atari 2600 | Spectravideo SV-328 :'( | Amiga 500 | NES - SNES - N64 - NGC - Wii - GBA - GBAsp - DSi | PS1 - PS2 - PS3 - PSP 2000 | MD - DC | XBox - 360 | MacBook | OpenPandora GHZ edition \o/
WIP [pause] : Borne Euro générique de chez Jeux COURTET
Tutos LaunchPad MSP430 001 - 002 - 003 - 004 en attente

olschool

Super intéréssant pour ceux qui veulent se lancer dedans

perso je n'ai pas assez de connaissance techniques pour ma lancer dans la programmation de ce joujou mais le truc semble sympa.

Quelles peuvent être les applications d'un tel système en arcade ?

Winner's Don't Use Drug mais ça aide quand même pour finir Ghost & Goblins.



Citation de: ducatman1098 le Lundi 05 Novembre 2018, 22:45:37 PM
En rentrant le camion au garage,  je me suis aperçu que j avais récupérer une after burner  ;D

Iro

Merci pour la review , cela fait envie !!
tu as quoi comme projet pour débuter ?
"Jet set 2, c'est avec Robert Garcia ?" Kaneda, Lapsus de sac Vol.1
Peter Shou Owner' Club

WIPs : Naomi - SEGA Rally - AB Cop - Lethal Enforcers - COMPUMI - Terminator 2 - Space Invaders - Artworks pour Boitiers K7 Naomi CF - Ma collec' de panels

LES TUTOS DE GAMO   

KodeIn

#3
Pour débuter, je vais faire comme tout le monde, faire clignoter une LED, mais je veux y arriver sans utiliser le code de quelqu'un d'autre :D
Parce que j'ai beau savoir légèrement programmer en C/C++, je suis quand même beaucoup plus à l'aise avec le C# et le JAVA.
Ensuite, faire un métronome, tu presses une première fois le bouton, puis une seconde fois pour définir l'intervalle et la LED clignote à ce rythme.
Après certainement développer une horloge à affichage binaire avec les 2 contrôleurs de LEDs à 16 canaux que Ti m'a envoyé gratos. (vu qu'il faut 20 LEDs pour une horloge de ce type) Ça m'enseignera à utiliser le SPI pour faire dialoguer les composants.
Je pense qu'une fois ces projets fait, j'aurai déjà une base sympathique pour me lancer dans des trucs plus complexes.

Comme projet un peu plus conséquent, je voudrais faire un générateur de mire TV pour régler les TV et les moniteurs de borne.
Et une fois que je saurai générer du flux vidéo RGB, pourquoi pas m'essayer à faire un petit jeu vidéo genre pong ou casse-briques.
Atari 2600 | Spectravideo SV-328 :'( | Amiga 500 | NES - SNES - N64 - NGC - Wii - GBA - GBAsp - DSi | PS1 - PS2 - PS3 - PSP 2000 | MD - DC | XBox - 360 | MacBook | OpenPandora GHZ edition \o/
WIP [pause] : Borne Euro générique de chez Jeux COURTET
Tutos LaunchPad MSP430 001 - 002 - 003 - 004 en attente

Solkan

J'ai suivi ton conseil et je viens de recevoir unlaunchpad et un touchpad. Mon objectif est de faire une platine de contrôle pour mon Videoprojecteur DIY en cours de réalisation : contrôle de température, gestion des ventilos, affichage de paramètres de lecture, ...
Solkan
"There is too much blood in my Coca-Cola System"

Mes Recherches : Marquee et PCB MK2, Konami Gyruss/Pooyan/Time Pilot/Yie Ar Kung Fu/Commando/Track & Field

KodeIn

#5
Je l'avais presque passé à la trappe, le touchpad!
Je voudrais arriver à contrôler la couleur 4 LEDs RGB par le biais de la "roue" du touchpad (vu que ça tient plus du bitoniau des premiers iPod que d'un véritable touchpad). Devrait y avoir moyen de faire un espèce de Simon à géométrie variable, ça pourrait être fun, manque juste un petit baffle.

Sinon, j'ai modifié un peu le code du G2452 qui est venu avec le touchpad. Rien d'extraordinaire ni de transcendantal, j'ai juste modifié l'ordre de clignotement des leds quand il sort de veille. Mais ça fait déjà bien plaisir  :D

Evidemment, je compte rédiger des tutos pour reproduire les différentes expériences que je vais effectuer.
J'en ai déjà un à rédiger: installer CCS sous windows ou les outils en ligne de commande pour linux et osX et compiler son premier code source.


Au sujet de ton projet, Solkan, c'est déjà du très lourd, rien que le touchpad possède une librairie pour lui tout seul.
Si tu es aussi newbie que moi, essaye de commencer doucement et de monter progressivement en puissance.
Histoire de ne pas être dégouté si tu bloques sur un truc.


(au fait, j'ai la sale tendance de poster, puis d'éditer mon messager 15 fois. S'pas ma faute 'sieur, on m'a appris comme ça!  ;D )
Atari 2600 | Spectravideo SV-328 :'( | Amiga 500 | NES - SNES - N64 - NGC - Wii - GBA - GBAsp - DSi | PS1 - PS2 - PS3 - PSP 2000 | MD - DC | XBox - 360 | MacBook | OpenPandora GHZ edition \o/
WIP [pause] : Borne Euro générique de chez Jeux COURTET
Tutos LaunchPad MSP430 001 - 002 - 003 - 004 en attente

AsPiC

Déterrage pour signaler un promo sur ces kit de dev MSP430 : http://e2e.ti.com/blogs_/b/msp430blog/archive/2014/04/25/430-week-deals.aspx

15% sur les kits et 50% sur l'écran lcd et le touchpad.