In-Circuit-Programmierung mit dem LaunchPad von Texas Instruments
Die 16-Bit-Mikrocontroller der Familie MSP430 von Texas Instruments wurde bereits 1992 eingeführt. Zur Erinnerung: George Bush (der erste) war Präsident der Vereinigten Staaten, die Raumfähre Endeavor startete zum Jungfernflug und Microsoft führte Windows 3.1 ein. Es erübrigt sich zu erwähnen, dass der MSP430 ein langlebiger Mikrocontroller mit einem starken Stammbaum ist. Er wurde als 16-Bit-Mikrocontroller für Mischsignale und mit geringem Stromverbrauch für eingebettete Geräte entwickelt, und wurde im Laufe der Jahre in unzähligen Produkten eingesetzt.
Im Jahr 2017 machte ich meine ersten Erfahrungen mit der Serie MSP430, als ich in meinem Labor an einem Produktdesign arbeitete. Ich hatte mich für den MSP430G2553IPW20 (Abbildung 1) entschieden, weil er kostengünstig war, wenig Strom verbrauchte und eine Vielzahl von Funktionen bietet, darunter mehrere Analog/Digital-Wandler (ADCs) und Timer, 16 Megahertz (MHz) Geschwindigkeit, sowie Kommunikation über eine große Anzahl von GPIO-Pins (General Purpose Input/Output), UART (Universal Asynchronous Receiver/Transmitter), SPI (Serial Peripheral Interface) und I2C (Inter-Integrated Circuit).
Abbildung 1: Das funktionale Blockdiagramm des MSP430G2553IPW20 zeigt viele seiner Fähigkeiten. (Bildquelle: Texas Instruments)
Aber um ganz ehrlich zu sein, war ich anfangs versucht, ihn zu benutzen, weil ich einige Jahre zuvor ein LaunchPad-Kit MSP-EXP430G2 (jetzt veraltet) von Texas Instruments gekauft hatte, das einen Emulator/Programmierer für den MSP430G2553 enthielt. Das Kit verstaubte in meinem Labor, und ich dachte, ich sollte es zumindest einmal ausprobieren.
Ich wurde nicht enttäuscht! Man hat mir vorgeworfen, ich sei ein Fan von Texas Instruments, aber ich fand den MSP430G2553IPW20 ziemlich leistungsfähig und leicht zu verstehen (auch wenn das Benutzerhandbuch über 700 Seiten umfasst!).
Mit dem LaunchPad und der kostenlosen integrierten Entwicklungsumgebung (IDE) Code Composer Studio von Texas Instruments konnte ich im Handumdrehen Firmware für mein Produkt erstellen. Es gibt auch eine Open-Source-IDE namens Energia, die die MSP430-Produktlinie unterstützt. Energia bietet eine Entwicklungsumgebung, die der Arduino-IDE sehr ähnlich und ebenso intuitiv ist.
Obwohl ich meine ersten Schritte bei der Programmierung des MSP430G2553 mit dem LaunchPad (dem veralteten) MSP-EXP430G2 gemacht habe, bin ich inzwischen auf den MSP-EXP430G2ET umgestiegen (Abbildung 2). Abgesehen von der Änderung der USB-Schnittstelle von USB Mini zu USB Micro, der Hinzufügung einer 5-Volt-Quelle und schöneren Standfüßen für den Einsatz auf dem Prüfstand sind die beiden Programmiergeräte so gut wie identisch. Beide Programmiergeräte bieten eine 20-polige DIP-Steckleiste für den MSP430G2553-Mikrocontroller und unterstützen die Bausteine MSP430G2xx2, MSP430G2xx3 und MSP430F20xx im 14-DIP- oder 20-DIP-Gehäuse.
Abbildung 2: Das LaunchPad MSP-EXP430G2ET vereinfacht die Programmierung von MSP430-Mikrocontrollern (Bildquelle: Texas Instruments)
Verwendung des MSP430G2ET als In-Circuit-Programmierer
Das Programmiergerät MSP-EXP430G2ET ist einfach genug, um einen Mikrocontroller zu programmieren, der in die integrierte DIP-Steckleiste eingesetzt ist, kann aber auch als In-Circuit-Programmiergerät verwendet werden. Texas Instruments hat speziell für den MSP430 ein Protokoll namens Spy-Bi-Wire (SBW) entwickelt. SBW ist eine Zweidraht-Implementierung des JTAG-Protokolls (Joint Test Action Group). Die beiden mit dem SBW-Protokoll verbundenen Pins auf dem LaunchPad MSP-EXP430G2ET sind die Pins RST und TEST.
Wenn Ihr Design eine der oben erwähnten unterstützten MSP430-Familien verwendet, können Sie den MSP-EXP430G2ET für die In-Circuit-Programmierung verwenden, indem Sie Vcc, RST, TEST und GND (Pins 1, 16, 17 und 20 bei den 20-poligen Bausteinen MSP430G2x13 und MSP430G2x53) des Programmiergeräts mit einer freiliegenden Stiftleiste Ihres Designs verbinden (Abbildung 3). Wenn Ihr Design selbstversorgt ist, besteht keine Notwendigkeit für den Vcc-Anschluss.
Der RST-Pin wird beim Programmieren des MSP430 auf HIGH gezogen. Es wird daher empfohlen, einen 4,7kΩ-Widerstand in Reihe zu schalten, um die Stromaufnahme zu begrenzen. Ich habe diesen SBW-Ansatz für Hunderte meiner Produkte verwendet, und er hat sich bewährt.
Abbildung 3: Der MSP-EXP430G2ET kann als In-Circuit-Programmiergerät verwendet werden, indem er an eine freiliegende MSP430-Steckleiste in Ihrem Design angeschlossen wird. (Bildquelle: Doug Peters)
Fazit
Angesichts ihres Alters mag die Serie MSP430G2xx2 in manchen Kreisen als altmodisch gelten, aber für Ihr nächstes Design sollten Sie sie nicht übersehen. Sie verfügt über eine Vielzahl von Funktionen und hat sich seit Jahrzehnten in der Praxis bewährt. Im Internet finden Sie zahlreiche Hilfestellungen und Hunderte von Beispielen, die Ihnen bei der Behebung von Problemen helfen. Vergessen Sie nicht, sich das LaunchPad MSP-EXP430G2ET zu besorgen, und Sie werden auch einen großartigen In-Circuit-Programmierer haben!

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum