Werbung

Microcontroller MSP430-Launchpad von Texas Instruments

Von der Firma WinSource Electronics habe ich den Microcontroller MSP430-Launchpad von Texas Instruments für dieses Review erhalten. 

Bezug

Diesen kleinen Microcontroller kann man wie bereits in der Einleitung erwähnt im Onlineshop von WinSource Electronics bezogen werden.

Lieferumfang

Zum Lieferumfang gehört

  • 1x Microcontroller MSP430-Launchpad,
    • 1x Microchip M430G2553 (vormontiert)
    • 1x Microchip M430G2452
  • 1x USB Kabel (ca. 50cm lang),
  • 2x 10 polige Buchsenleisten, sowie
  • 1x Micro Crystal, MS3V-T1R 32,768 kHz

Die zusätzlichen Microchips enthalten „nur“ den Speicher, die Recheneinheit ist auf der Platine verbaut.

Werbung

Technische Daten des MSP430-Launchpad von Texas Instruments

Beim Microcontrollerboard MSP430 sind die Logikeinheit (M430F1612) und der Speicher getrennt. 

Die Logikeinheit hat folgende Technische Daten:

  • 16Bit RISC Architektur,
  • Prozessortakt
    • bei 1,8V > 4,15MHz
    • bei 3,6V > 8MHz 
  • 12Bit Analog zu Digital Wandler
  • dual 12Bit digital zu Analog Wandler

Weitere Technische Daten zum Chip M430F1612 findest du in der offiziellen Dokumentation vom Hersteller unter https://ti.com.

Dem Microcontroller liegen zwei Microchips bei, welche jeweils unterschiedlichen Speicher und Leistungen haben.

  M430G2452 M430G2553
Flash Speicher  8kB  16 kB
RAM  256 Byte  512 Byte
digitale I/O Pins   16
16-bit Timer  1x  2x
Schnittstellen  WDT, BOR, 1x USI (I2C/SPI)  WDT, BOR, 1x USCI (I2C/SPI/UART)

Aufbau des Microcontrollers

Der Microcontroller hat die Abmaße 66mm x 51mm und eine Höhe von ca. 13mm. Neben der Micro – USB Buchse für die Verbindung zum Computer bzw. zur Stromversorgung über eine Powerbank oder ähnlichem verfügt dieser kleine Microcontroller über 2 Taster (einmal für Reset und einmal frei Programmierbar).

Was ich besonders gut finde ist dass, das Board auf kleinen, rutschfesten Gummifüßen steht. Somit hat dieser einen festen Stand auf dem Schreibtisch und „fliegt“ nicht so durch die Gegend wie ein Arduino UNO.

Pinout

Der Microcontroller verfügt über digitale sowie analoge Pins welche wir später mit einigen kleinen Beispielen programmieren möchten.
Hier also zunächst eine kleine Übersicht.

Pinout des Texas Instruments MSP430 Launchpad
Pinout des Texas Instruments MSP430 Launchpad

Programmieren

In den nachfolgenden Beispielen zeige ich dir wie du einige Aktoren / Sensoren an dem Texas Instruments MSP430 Launchpad anschließt und ausließt bze. steuerst.

Wenn wir das Board mit dem Computer verbinden so wird bereits ein kleines Programm ausgeführt welches die LEDs (rot & grün) abwechselnd blinken läßt.

einrichten der Entwicklungsumgebung Code Composer Studio

Für den Microcontroller gibt es die kostenfreie Entwicklungsumgebung „Code Composer Studio“ welche auf der Seite von Texas Instruments heruntergeladen werden kann. Es gibt jeweils eine Version für die verschiedenen Betriebssysteme (Linux, MacOS, Windows). Im nachfolgenden gehe ich darauf ein wie man die Software auf ein Microsoft Windows 10 PC installiert.

Die neue Version ist leider nicht mit einem 32bit System kompatibel hier müsste man eine Version vor CCSv8.3.1 wählen. (Da ich ein 64bit System habe kann ich die neue Version CCSv9 (stand 08.02.2020) installieren.)

Nachdem die ca. 1GB Datei heruntergeladen wurde, muss diese zunächst in ein beliebiges Verzeichnis entpackt werden. In dem nun neuen Verzeichnis befindet sich die Datei „ccs_setup_9.3.0.00012.exe“ welche mit einem Doppelklick gestartet wird. 

Nachfolgende zeige ich die Dialoge mit den jeweiligen, getroffenen Einstellungen für die Installation von Code Composer Studio v9 für das MSP430 Board.

Während der Installation wird gefragt ob man eine vollständige oder eine angepasste Installation möchte. Die vollständige Installation benötigt 4GB Festplattenplatz die angepasste mit dem Treiber für das Board MSP430 ca. 2.2 GB.

Wenn die Software wie in den Bildern angegeben installiert wurde, so sollte sich auf dem Desktop nun ein Icon für die Software „Code Composer Studio v9“ befinden.

Icon der Anwendung Code Composer Studio v9
Icon der Anwendung Code Composer Studio v9

Mit einem Doppelklick auf dieses Icon startet nun die Software und man wird aufgefordert ein Workspace anzulegen.

anlegen eines Workspaces für die Software "Code Composer Studio"
anlegen eines Workspaces für die Software „Code Composer Studio“

Ich habe in dem Installationsordner der Software einen Unterordner mit „Workspaces“ angelegt, in diesem werde ich dann die Verschiedenen Workspaces anlegen um die Projekte sauber zu trennen. Es kann natürlich der Standardwert belassen werden, dann wird der Workspace in dem Benutzerordner angelegt.
Mit einem klick auf die Schaltfläche „Launch“ wird dieser Vorgang abgeschlossen.

Beim ersten start werden einige Berechtigungen gesetzt hier wird ggf. ein Virenscanner oder ähnliches Alarm geben, in meinem Fall hat der Windows Defender etwas zum meckern gefunden was zusätzlich bestätigt werden musste.

bestätigen des Zugriffs von Node.js auf das Netzwerk
bestätigen des Zugriffs von Node.js auf das Netzwerk

Diese Tools / Plugins sind meist sehr wichtig und ein verhindern des Zugriffs kann zu Fehlfunktionen führen.

Wenn die Software nun fertig gestartet ist wird der Startbildschirm / die View „Getting Started“ angezeigt. Hier kann man nun wählen ob man in den bestehenden Ressourcen sich umschauen (Resource Explorer), ein neues Projekt anlegen (New Project) oder ein bestehendes Projekt importieren (Import Project) möchte.

Schaltflächen zum erzeugen eines neuen Projektes in CCS
Schaltflächen zum erzeugen eines neuen Projektes in CCS

Zunächst möchten wir ein neues Projekt anlegen, dazu klicken wir auf die Schaltfläche „New Project“. In dem neuen Dialog müssen wir nun die Einstellungen zum Microcontroller treffen.
Ich habe das Modell MSP-EXP430G2 und wähle die Einstellungen:

  • Target MSP430Gx Family (MSP430G2001)
  • Project name „HelloWorld“
CCS - neues Projekt für MSP430G2x erstellen
CCS – neues Projekt für MSP430G2x erstellen

Beispiele

Nachdem die Entwicklungsumgebung eingerichtet ist und wir ein Projekt erstellt haben, wollen wir nun ein erstes kleines Programm schreiben.
Das Board verfügt über 2 LEDs (rot, grün) welche wir relativ einfach ansteuern können.

rote LED aktivieren
#include <msp430.h> 


/**
 * main.c
 */
int main(void)
{
  WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timer

  P1DIR = BIT0;            // als Ausgang definieren
  P1OUT = BIT0;            // die LED1 (rot) aktivieren

  // Endlosschleife
  // Wenn diese schleife nicht wäre dann würde das Programm sofort beenden und die LED wäre wieder aus.
  while(1) { }             
  
  return 0;
}
rote LED blinken lassen
#include <msp430.h> 


/**
 * main.c
 */
int main(void)
{
  WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timer
  P1DIR |= 0x01;
  while(1){
        P1OUT ^= 0x01;              // Togglen des Pins P1.0 mit exclusives OR Statement
        volatile unsigned int i;    // volatile um die Optimierung zu nutzen
        i = 25000;                  // Softwareseitige Pause
        do i--;
        while(i != 0);
  }
  return 0; //Dieser Code wird nicht erreicht.
}
Wechselblinken der roten sowie grünen LED
#include <msp430.h> 

void main(void) {
    WDTCTL = WDTPW | WDTHOLD;       //Stop watchdog timer

    //P1.0 (rote LED) & P1.6 (gruene LED) als Ausgang definieren
    P1DIR |= BIT0+BIT6;

    P1OUT |= BIT0;                  //rote LED, aktivieren
    P1OUT &= ~BIT6;                 //gruene LED, deaktivieren

    while(1)
    {
        P1OUT ^= (BIT0+BIT6);       //umkehren / toggeln der LED Status (AN > AUS, AUS > AN)

        volatile unsigned long i;
        for(i = 0; i < 20000; i++); //Softwareseitige Pause

    }
}

Weitere Beispiele zum programmieren findest du auch auf dem GitHub Repository https://github.com/ticepd/msp430-examples.

alternative Entwicklungsumgebung – Energia IDE

Zum einfacheren programmieren des Microcontrollers MSP430 habe ich die Entwicklungsumgebung Energia IDE gefunden.
Diese wirbt damit mit dem Chip MSP430G2452 kompatibel zu sein.
Leider hat die neue Version einen bekannten Bug und man muss für den genannten Chip die IDE in der Version E17 nutzen.

"Info über Dialog" - Energia IDE
„Info über Dialog“ – Energia IDE

Du kannst die ca. 200MB große Entwicklungsumgebung auf der Seite http://energia.nu/downloads/downloadv3.php?file=energia-0101E0017-windows.zip kostenfrei herunterladen.
Wenn du diese Datei heruntergeladen hast wird diese einfach in einen beliebigen Ordner entpackt und du kannst die Anwendung mit der Datei energia.exe starten.

Vergleich Arduino IDE & Energia IDE

Im „Info über…“ Dialog steht geschrieben „Modified version of the Wiring/Arduino IDE“ dieses merkt man an so ziemlich jeder Ecke der Software.

Fenster, Arduino IDE und Energia IDE
Fenster, Arduino IDE und Energia IDE

Die LEDs (rot & grün) und der Button auf dem MSP430 sind frei programmierbar.
Man kann diese über die Pins ansteuern oder aber über die internen Konstanten.

  Pin Konstante
rote LED P1_0 RED_LED
grüne LED P1_6 GREEN_LED
Push Button (S2) P1_3 PUSH2

In der Energia IDE fehlen unter anderem

  • der serielle Plotter,
  • der Bibliotheksmanager, und
  • der Boardmanager

Diese IDE ist also speziell auf die MSP Reihe von Texas Instruments ausgelegt.

Beispiele

rote LED blinken lassen
void setup(){
  pinMode(RED_LED, OUTPUT);
}

void loop(){
  digitalWrite(RED_LED, HIGH);
  delay(750);
  digitalWrite(RED_LED, LOW);
  delay(750);
}
Wechselblinken der roten & grünen LED
void setup(){
  pinMode(RED_LED, OUTPUT);
  pinMode(GREEN_LED, OUTPUT);
}

void loop(){
  digitalWrite(RED_LED, HIGH);
  digitalWrite(GREEN_LED, LOW);
  delay(750);
  digitalWrite(RED_LED, LOW);
  digitalWrite(GREEN_LED, HIGH);
  delay(750);
}
Button (S2) zum steuern der LEDs
boolean ledRedActive = false;

void setup(){
  pinMode(RED_LED, OUTPUT);
  pinMode(GREEN_LED, OUTPUT);

  pinMode(PUSH2, INPUT_PULLUP);
  
  Serial.begin(9600);
}

void loop(){
  if(digitalRead(PUSH2)==0){
    ledRedActive = !ledRedActive;
  
    digitalWrite(RED_LED, ledRedActive? HIGH:LOW);
    digitalWrite(GREEN_LED, ledRedActive? LOW:HIGH);
    delay(125);
  } 
}

Fazit

Der Microcontroller MSP430 von Texas Instruments ist ein sehr guter aber auch teurer Microcontroller. Diesen jedoch mit einem Arduino UNO (oder ähnlichem) vergleichen zu wollen wäre nicht fair. Der MSP430 kommt mit einem zusätzlichen Chip daher welcher mehr Speicher bietet und einem Quarz welcher bei Echtzeitanwendungen seinen Einsatz findet.

Die Programmierung des Microcontrollers ist in der Anwendung Code Composer Studio recht gewöhnungsbedürftig aber möglich. Die Entwicklungsumgebung Energia IDE liegt mir persönlich mehr, das liegt vielmehr daran das der geschriebene Code lesbarer und übersichtlicher ist. Jedoch bezweifle ich das sich „echte“ IoT Entwickler dieser Meinung anschließen werden.

Obwohl ich leichte Startschwierigkeiten mit dem Microcontroller hatte möchte ich nachfolgend gerne einige Beispiele in separaten Beiträgen herausbringen. Es wird jedoch kein 100%iger Ersatz für einen Arduino werden.

Werbung

2 Gedanken zu „Microcontroller MSP430-Launchpad von Texas Instruments

  • 6. April 2020 um 20:03
    Permalink

    In Zeiten von ESP8266, ESP32, etc. sehe ich dafür keine Nische mehr

    Antwort
    • 6. April 2020 um 20:57
      Permalink

      Hi,

      danke für dein Kommentar.
      Ja dieser Microcontroller ist schon sehr speziell, jedoch hat dieser einen ganz anderes Einsatzgebiet mal abgesehen von den fast dreifachen kosten gegenüber einem Microcontroller mit einem ESP Chip.

      Gruß,

      Stefan

      Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Werbung