Auteur Sujet: Dossier sur le LaunchPad MSP430G2xxx  (Lu 4608 fois)

Hors ligne KodeIn

  • Grand Pilier
  • *
  • Messages: 929
  • Localisation: Reims
  • Adepte du Level 1… quand il passe le level tuto…
    • Voir le profil
Dossier sur le LaunchPad MSP430G2xxx
« le: Mercredi 04 Mai 2011, 16:04:54 pm »
  • 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.
    « Modifié: Lundi 11 Juillet 2011, 12:16:50 pm par KodeIn »
    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

    En ligne olschool

    • ✌(◕‿◕)✌ Donateur 2018
    • Level Buster
    • *
    • Messages: 2667
    • Localisation: nice
    • Le JR's est Immortel
      • Voir le profil
      • Le JR's
    Dossier sur le LaunchPad
    « Réponse #1 le: Mercredi 04 Mai 2011, 16:17:57 pm »
  • 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.


    Recherche Bornes: Space  Invader/ Rolling Thunder/Dragon's Lair/Kung Fu Master et Karateka Champ et Lethal Enforcer.

    Hors ligne Iro

    • Alias le Rouston Masqué
    • Staff
    • Dieu de l' Arcade
    • *****
    • Messages: 100286
    • Localisation: Chilly Mazarin
    • Iro, chevalier Judaï
      • Voir le profil
    Dossier sur le LaunchPad
    « Réponse #2 le: Mercredi 04 Mai 2011, 16:22:07 pm »
  • 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

    LES TUTOS DE GAMO   

    Hors ligne KodeIn

    • Grand Pilier
    • *
    • Messages: 929
    • Localisation: Reims
    • Adepte du Level 1… quand il passe le level tuto…
      • Voir le profil
    Dossier sur le LaunchPad
    « Réponse #3 le: Mercredi 04 Mai 2011, 16:46:15 pm »
  • 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.
    « Modifié: Mercredi 04 Mai 2011, 16:48:46 pm par KodeIn »
    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

    Hors ligne Solkan

    • ✌(◕‿◕)✌ Donateur 2018
    • Hardcore Gamer
    • *
    • Messages: 1944
    • Localisation: Braives - Belgique
      • Voir le profil
      • MountyHall
    Dossier sur le LaunchPad
    « Réponse #4 le: Mercredi 04 Mai 2011, 17:01:17 pm »
  • 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

    Hors ligne KodeIn

    • Grand Pilier
    • *
    • Messages: 929
    • Localisation: Reims
    • Adepte du Level 1… quand il passe le level tuto…
      • Voir le profil
    Dossier sur le LaunchPad
    « Réponse #5 le: Mercredi 04 Mai 2011, 17:10:14 pm »
  • 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 )
    « Modifié: Mercredi 04 Mai 2011, 17:27:14 pm par KodeIn »
    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

    Hors ligne AsPiC

    • Admin
    • Dieu de l' Arcade
    • *****
    • Messages: 8108
    • Localisation: Les Herbiers (85)
    • Present pour Koh Lanta Retrogaming Party 2069 !
      • Voir le profil
      • Mon compte Instagram !!
    Dossier sur le LaunchPad MSP430G2xxx
    « Réponse #6 le: Lundi 28 Avril 2014, 15:35:39 pm »
  • 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.


    Recherche tout élément de Jeutel Galaktron - "AsPiC c'est : no WIP but just RIP" - kos71 2014