<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pali64</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pali64"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Pali64"/>
	<updated>2026-04-21T12:37:54Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=106074</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=106074"/>
		<updated>2023-04-25T10:41:13Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* neue XCPU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
&lt;br /&gt;
* 16-bit RISC architecture bis zu 24 MHz&lt;br /&gt;
* Erweiterter Temperaturbereich : –40°C to 105°C&lt;br /&gt;
* Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&lt;br /&gt;
* Optimierter niederleistungs Mode (bei 3 V)&lt;br /&gt;
* Active mode: 142 µA/MHz&lt;br /&gt;
* Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;MFM&#039;&#039;&#039;-fähige &#039;&#039;&#039;UART&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Die &#039;&#039;&#039;MFM&#039;&#039;&#039; oder auch &#039;&#039;&#039;Manchester-Code Unit&#039;&#039;&#039;&lt;br /&gt;
Dieses Features ist daher interessant zu erwähnen, &lt;br /&gt;
da mit dieser auch Netzwerkprotokolle generiert und eingelesen werden können.&lt;br /&gt;
Selbst ein Disk Controller währe damit machbar, und mit den Internen OpAmps,&lt;br /&gt;
ist auch ein Floppy Controller für Alte 8/16 Bit Computer noch machbar. &lt;br /&gt;
Auch interessant als beispiel eine Funk RTTY kann man so noch realisieren.&lt;br /&gt;
Der Timer2_B3 CCR0 ist mit dem &#039;&#039;&#039;Manchester function module (MFM)&#039;&#039;&#039; verknüpft.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MFM&#039;&#039;&#039; dazu ein Beitrag im [https://de.wikipedia.org/wiki/Manchester-Code MFM Beschreibung im Wikipedia]&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden (siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
* High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
** Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
** Sample-and-hold &lt;br /&gt;
** 200 ksps&lt;br /&gt;
* 2 erweiterte Komparatoren (eCOMP)&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&lt;br /&gt;
* 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
*# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&lt;br /&gt;
*# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe auch dazu das Datenblatt&lt;br /&gt;
[[Datei:Analog Block.jpg|mini]]&lt;br /&gt;
[[Datei:SAC eCOMP.jpg|mini]]&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich.&lt;br /&gt;
Die erweiterten XCPU Befehle bringen vor allem mit dem Compare befehl,&lt;br /&gt;
bei Vorzeichenlosen 16Bit Daten erheblich Vorteile.&lt;br /&gt;
So ist dann bei bedingten Sprüngen, beispielsweise bei Zählerabfrage,&lt;br /&gt;
kein vorheriges Prüfen ob Positiv- oder Negativ-Wert besteht, mehr nötig.&lt;br /&gt;
und die JN oder JGE Befehle bringen dann auch immer eine korrekte 16BIT Funktion,&lt;br /&gt;
da das Negativ Bit, nun nicht mehr Bit 15 sondern auf Bit 19 liegt.&lt;br /&gt;
Leider unterstützen die meisten C Versionen diese Eigenschaften der XCPU noch nicht richtig, oder gar nicht,&lt;br /&gt;
so das da eine Assemblerprogramierung erhebliche Vorteile bringt.&lt;br /&gt;
&lt;br /&gt;
Als Beispiel hier ein sehr wirkungsvoller Befehl, der sehr gut für Divisionen benutzt werden kann.&lt;br /&gt;
            RPT     #8       ; Setzt das (teilweise undokumentierte Repeadregister)  &lt;br /&gt;
            RRUX.A  R6       ; R6 = R6 » 8.R6.                          &lt;br /&gt;
            ;$1907 $1046     Wird zu diesem Mashinencode assembliert und in nur 2 Cyclen ausgeführt!&lt;br /&gt;
Dieses Beispiel schiebt das 20BIT Register R6 um 8 stellen nach rechts und füllt die linken Bit mit &amp;quot;0&amp;quot; auf&lt;br /&gt;
&lt;br /&gt;
Es sind viele neue befehle in der MSP(XV2)430 CPU enthalten die eine solche repead Funktion unterstützen.&lt;br /&gt;
eigentlich fast jeder nnnX oder nnnM befehl (nnn steht für den Mnemonic), sofern beide Source und Destination auf Register bezogen sind.&lt;br /&gt;
(Liste Folgt)            &lt;br /&gt;
Diese sind teilweise, nur schlecht bis gar nicht, in den Original TI Dokumentationen zu finden bzw. teilweise sind einige Befehle garnicht dokumentiert funktionieren aber auf über 30 verschiedenen getesteten Typen die diese XV2 CPU enthalten.&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
* Vorzeichenlose Multiplikation&lt;br /&gt;
* Multiplikation mit Vorzeichen&lt;br /&gt;
* Vorzeichenlose Multiplikation und automatisches zusammenzählen&lt;br /&gt;
* Multiplikation mit Vorzeichen und automatisches zusammenzählen&lt;br /&gt;
* 8-bit, 16-bit, 24-bit, und 32-bit Operationen&lt;br /&gt;
* Saturation²&lt;br /&gt;
* Fractional numbers³&lt;br /&gt;
* 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&lt;br /&gt;
* 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
[[Datei:MSP430V1.jpg|mini|alternativtext=Aus Webarchive wiederhergestelltes Bild|https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine großen Vorteil bietet Spy-Bi-Wire mit der Relativ einfachen und kostengünstigen galvanischen Trennung.&lt;br /&gt;
Hier bietet TI sogar ein fertiges Modul für die Launchpad &#039;&#039;&#039;MSP-ISO&#039;&#039;&#039; [https://www.ti.com/lit/ug/slau668/slau668.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1627054516890&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.de%252F] an.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit diesem Isolationsadabter lässt sich sowohl das Spy-Bi-Wire Interface, so wie auch die Serialschnittstelle des Launchpad trennen.&lt;br /&gt;
So lässt sich extern aufgebaut auch eine Trennung realisieren, die direkt mit Netzspannung betriebene Applikationen, Programmieren und Debuggen zulässt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
es gibt zwar auch 2nd Source Adapter von &#039;&#039;&#039;Elpotronic&#039;&#039;&#039; und &#039;&#039;&#039;Olimex&#039;&#039;&#039;, die eine Trennung bei &#039;&#039;&#039;JTAG&#039;&#039;&#039; ermöglichen, sind aber vom Aufbau her auch ungleich teurer und Komplexer &lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=106073</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=106073"/>
		<updated>2023-04-25T06:03:11Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* neue XCPU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
&lt;br /&gt;
* 16-bit RISC architecture bis zu 24 MHz&lt;br /&gt;
* Erweiterter Temperaturbereich : –40°C to 105°C&lt;br /&gt;
* Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&lt;br /&gt;
* Optimierter niederleistungs Mode (bei 3 V)&lt;br /&gt;
* Active mode: 142 µA/MHz&lt;br /&gt;
* Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;MFM&#039;&#039;&#039;-fähige &#039;&#039;&#039;UART&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Die &#039;&#039;&#039;MFM&#039;&#039;&#039; oder auch &#039;&#039;&#039;Manchester-Code Unit&#039;&#039;&#039;&lt;br /&gt;
Dieses Features ist daher interessant zu erwähnen, &lt;br /&gt;
da mit dieser auch Netzwerkprotokolle generiert und eingelesen werden können.&lt;br /&gt;
Selbst ein Disk Controller währe damit machbar, und mit den Internen OpAmps,&lt;br /&gt;
ist auch ein Floppy Controller für Alte 8/16 Bit Computer noch machbar. &lt;br /&gt;
Auch interessant als beispiel eine Funk RTTY kann man so noch realisieren.&lt;br /&gt;
Der Timer2_B3 CCR0 ist mit dem &#039;&#039;&#039;Manchester function module (MFM)&#039;&#039;&#039; verknüpft.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MFM&#039;&#039;&#039; dazu ein Beitrag im [https://de.wikipedia.org/wiki/Manchester-Code MFM Beschreibung im Wikipedia]&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden (siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
* High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
** Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
** Sample-and-hold &lt;br /&gt;
** 200 ksps&lt;br /&gt;
* 2 erweiterte Komparatoren (eCOMP)&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&lt;br /&gt;
* 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
*# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&lt;br /&gt;
*# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe auch dazu das Datenblatt&lt;br /&gt;
[[Datei:Analog Block.jpg|mini]]&lt;br /&gt;
[[Datei:SAC eCOMP.jpg|mini]]&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich.&lt;br /&gt;
Die erweiterten XCPU Befehle bringen vor allem mit dem Compare befehl,&lt;br /&gt;
bei Vorzeichenlosen 16Bit Daten erheblich Vorteile.&lt;br /&gt;
So ist dann bei bedingten Sprüngen, beispielsweise bei Zählerabfrage,&lt;br /&gt;
kein vorheriges Prüfen ob Positiv- oder Negativ-Wert besteht, mehr nötig.&lt;br /&gt;
und die JN oder JGE Befehle bringen dann auch immer eine korrekte 16BIT Funktion,&lt;br /&gt;
da das Negativ Bit, nun nicht mehr Bit 15 sondern auf Bit 19 liegt.&lt;br /&gt;
Leider unterstützen die meisten C Versionen diese Eigenschaften der XCPU noch nicht richtig, oder gar nicht,&lt;br /&gt;
so das da eine Assemblerprogramierung erhebliche Vorteile bringt.&lt;br /&gt;
&lt;br /&gt;
Als Beispiel hier ein sehr wirkungsvoller Befehl, der sehr gut für Divisionen benutzt werden kann.&lt;br /&gt;
            RPT     #8       ; Setzt das (undokumentierte Repeadregister)\ |  &lt;br /&gt;
            RRUX.A  R6       ; R6 = R6 » 8.R6.                          &lt;br /&gt;
            ;$1907 $1046     Wird zu diesem Mashinencode assembliert und in nur 2 Cyclen ausgeführt!&lt;br /&gt;
Dieses Beispiel schiebt das 20BIT Register R6 um 8 stellen nach rechts und füllt die linken Bit mit &amp;quot;0&amp;quot; auf&lt;br /&gt;
&lt;br /&gt;
Es sind viele neue befehle in der MSP(XV2)430 CPU enthalten die eine solche Repead funktion enthalten&lt;br /&gt;
(Liste Folgt)            &lt;br /&gt;
Diese sind teilweise, nur schlecht bis gar nicht, in den Original TI Dokumentationen zu finden bzw. teilweise sind einige Befehle garnicht dokumentiert funktionieren aber auf über 30 verschiedenen getesteten Typen die diese XV2 CPU enthalten.&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
* Vorzeichenlose Multiplikation&lt;br /&gt;
* Multiplikation mit Vorzeichen&lt;br /&gt;
* Vorzeichenlose Multiplikation und automatisches zusammenzählen&lt;br /&gt;
* Multiplikation mit Vorzeichen und automatisches zusammenzählen&lt;br /&gt;
* 8-bit, 16-bit, 24-bit, und 32-bit Operationen&lt;br /&gt;
* Saturation²&lt;br /&gt;
* Fractional numbers³&lt;br /&gt;
* 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&lt;br /&gt;
* 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
[[Datei:MSP430V1.jpg|mini|alternativtext=Aus Webarchive wiederhergestelltes Bild|https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine großen Vorteil bietet Spy-Bi-Wire mit der Relativ einfachen und kostengünstigen galvanischen Trennung.&lt;br /&gt;
Hier bietet TI sogar ein fertiges Modul für die Launchpad &#039;&#039;&#039;MSP-ISO&#039;&#039;&#039; [https://www.ti.com/lit/ug/slau668/slau668.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1627054516890&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.de%252F] an.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit diesem Isolationsadabter lässt sich sowohl das Spy-Bi-Wire Interface, so wie auch die Serialschnittstelle des Launchpad trennen.&lt;br /&gt;
So lässt sich extern aufgebaut auch eine Trennung realisieren, die direkt mit Netzspannung betriebene Applikationen, Programmieren und Debuggen zulässt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
es gibt zwar auch 2nd Source Adapter von &#039;&#039;&#039;Elpotronic&#039;&#039;&#039; und &#039;&#039;&#039;Olimex&#039;&#039;&#039;, die eine Trennung bei &#039;&#039;&#039;JTAG&#039;&#039;&#039; ermöglichen, sind aber vom Aufbau her auch ungleich teurer und Komplexer &lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=106072</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=106072"/>
		<updated>2023-04-25T05:59:41Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* neue XCPU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
&lt;br /&gt;
* 16-bit RISC architecture bis zu 24 MHz&lt;br /&gt;
* Erweiterter Temperaturbereich : –40°C to 105°C&lt;br /&gt;
* Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&lt;br /&gt;
* Optimierter niederleistungs Mode (bei 3 V)&lt;br /&gt;
* Active mode: 142 µA/MHz&lt;br /&gt;
* Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;MFM&#039;&#039;&#039;-fähige &#039;&#039;&#039;UART&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Die &#039;&#039;&#039;MFM&#039;&#039;&#039; oder auch &#039;&#039;&#039;Manchester-Code Unit&#039;&#039;&#039;&lt;br /&gt;
Dieses Features ist daher interessant zu erwähnen, &lt;br /&gt;
da mit dieser auch Netzwerkprotokolle generiert und eingelesen werden können.&lt;br /&gt;
Selbst ein Disk Controller währe damit machbar, und mit den Internen OpAmps,&lt;br /&gt;
ist auch ein Floppy Controller für Alte 8/16 Bit Computer noch machbar. &lt;br /&gt;
Auch interessant als beispiel eine Funk RTTY kann man so noch realisieren.&lt;br /&gt;
Der Timer2_B3 CCR0 ist mit dem &#039;&#039;&#039;Manchester function module (MFM)&#039;&#039;&#039; verknüpft.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MFM&#039;&#039;&#039; dazu ein Beitrag im [https://de.wikipedia.org/wiki/Manchester-Code MFM Beschreibung im Wikipedia]&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden (siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
* High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
** Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
** Sample-and-hold &lt;br /&gt;
** 200 ksps&lt;br /&gt;
* 2 erweiterte Komparatoren (eCOMP)&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&lt;br /&gt;
* 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
*# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&lt;br /&gt;
*# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe auch dazu das Datenblatt&lt;br /&gt;
[[Datei:Analog Block.jpg|mini]]&lt;br /&gt;
[[Datei:SAC eCOMP.jpg|mini]]&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich.&lt;br /&gt;
Die erweiterten XCPU Befehle bringen vor allem mit dem Compare befehl,&lt;br /&gt;
bei Vorzeichenlosen 16Bit Daten erheblich Vorteile.&lt;br /&gt;
So ist dann bei bedingten Sprüngen, beispielsweise bei Zählerabfrage,&lt;br /&gt;
kein vorheriges Prüfen ob Positiv- oder Negativ-Wert besteht, mehr nötig.&lt;br /&gt;
und die JN oder JGE Befehle bringen dann auch immer eine korrekte 16BIT Funktion,&lt;br /&gt;
da das Negativ Bit, nun nicht mehr Bit 15 sondern auf Bit 19 liegt.&lt;br /&gt;
Leider unterstützen die meisten C Versionen diese Eigenschaften der XCPU noch nicht richtig, oder gar nicht,&lt;br /&gt;
so das da eine Assemblerprogramierung erhebliche Vorteile bringt.&lt;br /&gt;
&lt;br /&gt;
Als Beispiel hier ein sehr wirkungsvoller Befehl, der sehr gut für Divisionen benutzt werden kann.&lt;br /&gt;
            RPT     #8       ; Setzt das (undokumentierte Repeadregister)\ |  &lt;br /&gt;
            RRUX.A  R6       ; R6 = R6 » 8.R6.                          &lt;br /&gt;
            ;$1907 $1046     Wird zu diesem Mashinencode assembliert und in nur 2 Cyclen ausgeführt!&lt;br /&gt;
&lt;br /&gt;
Es sind viele neue befehle in der MSP(XV2)430 CPU enthalten die eine solche Repead funktion enthalten&lt;br /&gt;
(Liste Folgt)            &lt;br /&gt;
Diese sind teilweise, nur schlecht bis gar nicht, in den Original TI Dokumentationen zu finden bzw. teilweise sind einige Befehle garnicht dokumentiert funktionieren aber auf über 30 verschiedenen getesteten Typen die diese XV2 CPU enthalten.&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
* Vorzeichenlose Multiplikation&lt;br /&gt;
* Multiplikation mit Vorzeichen&lt;br /&gt;
* Vorzeichenlose Multiplikation und automatisches zusammenzählen&lt;br /&gt;
* Multiplikation mit Vorzeichen und automatisches zusammenzählen&lt;br /&gt;
* 8-bit, 16-bit, 24-bit, und 32-bit Operationen&lt;br /&gt;
* Saturation²&lt;br /&gt;
* Fractional numbers³&lt;br /&gt;
* 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&lt;br /&gt;
* 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
[[Datei:MSP430V1.jpg|mini|alternativtext=Aus Webarchive wiederhergestelltes Bild|https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine großen Vorteil bietet Spy-Bi-Wire mit der Relativ einfachen und kostengünstigen galvanischen Trennung.&lt;br /&gt;
Hier bietet TI sogar ein fertiges Modul für die Launchpad &#039;&#039;&#039;MSP-ISO&#039;&#039;&#039; [https://www.ti.com/lit/ug/slau668/slau668.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1627054516890&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.de%252F] an.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit diesem Isolationsadabter lässt sich sowohl das Spy-Bi-Wire Interface, so wie auch die Serialschnittstelle des Launchpad trennen.&lt;br /&gt;
So lässt sich extern aufgebaut auch eine Trennung realisieren, die direkt mit Netzspannung betriebene Applikationen, Programmieren und Debuggen zulässt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
es gibt zwar auch 2nd Source Adapter von &#039;&#039;&#039;Elpotronic&#039;&#039;&#039; und &#039;&#039;&#039;Olimex&#039;&#039;&#039;, die eine Trennung bei &#039;&#039;&#039;JTAG&#039;&#039;&#039; ermöglichen, sind aber vom Aufbau her auch ungleich teurer und Komplexer &lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=106071</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=106071"/>
		<updated>2023-04-25T05:54:22Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* neue XCPU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
&lt;br /&gt;
* 16-bit RISC architecture bis zu 24 MHz&lt;br /&gt;
* Erweiterter Temperaturbereich : –40°C to 105°C&lt;br /&gt;
* Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&lt;br /&gt;
* Optimierter niederleistungs Mode (bei 3 V)&lt;br /&gt;
* Active mode: 142 µA/MHz&lt;br /&gt;
* Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;MFM&#039;&#039;&#039;-fähige &#039;&#039;&#039;UART&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Die &#039;&#039;&#039;MFM&#039;&#039;&#039; oder auch &#039;&#039;&#039;Manchester-Code Unit&#039;&#039;&#039;&lt;br /&gt;
Dieses Features ist daher interessant zu erwähnen, &lt;br /&gt;
da mit dieser auch Netzwerkprotokolle generiert und eingelesen werden können.&lt;br /&gt;
Selbst ein Disk Controller währe damit machbar, und mit den Internen OpAmps,&lt;br /&gt;
ist auch ein Floppy Controller für Alte 8/16 Bit Computer noch machbar. &lt;br /&gt;
Auch interessant als beispiel eine Funk RTTY kann man so noch realisieren.&lt;br /&gt;
Der Timer2_B3 CCR0 ist mit dem &#039;&#039;&#039;Manchester function module (MFM)&#039;&#039;&#039; verknüpft.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MFM&#039;&#039;&#039; dazu ein Beitrag im [https://de.wikipedia.org/wiki/Manchester-Code MFM Beschreibung im Wikipedia]&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden (siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
* High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
** Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
** Sample-and-hold &lt;br /&gt;
** 200 ksps&lt;br /&gt;
* 2 erweiterte Komparatoren (eCOMP)&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&lt;br /&gt;
* 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
*# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&lt;br /&gt;
*# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe auch dazu das Datenblatt&lt;br /&gt;
[[Datei:Analog Block.jpg|mini]]&lt;br /&gt;
[[Datei:SAC eCOMP.jpg|mini]]&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich.&lt;br /&gt;
Die erweiterten XCPU Befehle bringen vor allem mit dem Compare befehl,&lt;br /&gt;
bei Vorzeichenlosen 16Bit Daten erheblich Vorteile.&lt;br /&gt;
So ist dann bei bedingten Sprüngen, beispielsweise bei Zählerabfrage,&lt;br /&gt;
kein vorheriges Prüfen ob Positiv- oder Negativ-Wert besteht, mehr nötig.&lt;br /&gt;
und die JN oder JGE Befehle bringen dann auch immer eine korrekte 16BIT Funktion,&lt;br /&gt;
da das Negativ Bit, nun nicht mehr Bit 15 sondern auf Bit 19 liegt.&lt;br /&gt;
Leider unterstützen die meisten C Versionen diese Eigenschaften der XCPU noch nicht richtig, oder gar nicht,&lt;br /&gt;
so das da eine Assemblerprogramierung erhebliche Vorteile bringt.&lt;br /&gt;
&lt;br /&gt;
Als Beispiel hier ein sehr wirkungsvoller Befehl, der sehr gut für Divisionen benutzt werden kann.&lt;br /&gt;
            RPT     #8       ; Setzt das (undokumentierte Repeadregister)\ | Wird zu dem Mashinencode $1907 $1046&lt;br /&gt;
            RRUX.A  R6       ; R6 = R6 » 8.R6.                           /¯| assembliert und in nur 2 Cyclen ausgeführt!&lt;br /&gt;
Es sind viele neue befehle in der MSP(XV2)430 CPU enthalten die eine solche Repead funktion enthalten&lt;br /&gt;
(Liste Folgt)            &lt;br /&gt;
Diese sind teilweise, nur schlecht bis gar nicht, in den Original TI Dokumentationen zu finden bzw. teilweise sind einige Befehle garnicht dokumentiert funktionieren aber auf über 30 verschiedenen getesteten Typen die diese XV2 CPU enthalten.&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
* Vorzeichenlose Multiplikation&lt;br /&gt;
* Multiplikation mit Vorzeichen&lt;br /&gt;
* Vorzeichenlose Multiplikation und automatisches zusammenzählen&lt;br /&gt;
* Multiplikation mit Vorzeichen und automatisches zusammenzählen&lt;br /&gt;
* 8-bit, 16-bit, 24-bit, und 32-bit Operationen&lt;br /&gt;
* Saturation²&lt;br /&gt;
* Fractional numbers³&lt;br /&gt;
* 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&lt;br /&gt;
* 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
[[Datei:MSP430V1.jpg|mini|alternativtext=Aus Webarchive wiederhergestelltes Bild|https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine großen Vorteil bietet Spy-Bi-Wire mit der Relativ einfachen und kostengünstigen galvanischen Trennung.&lt;br /&gt;
Hier bietet TI sogar ein fertiges Modul für die Launchpad &#039;&#039;&#039;MSP-ISO&#039;&#039;&#039; [https://www.ti.com/lit/ug/slau668/slau668.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1627054516890&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.de%252F] an.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit diesem Isolationsadabter lässt sich sowohl das Spy-Bi-Wire Interface, so wie auch die Serialschnittstelle des Launchpad trennen.&lt;br /&gt;
So lässt sich extern aufgebaut auch eine Trennung realisieren, die direkt mit Netzspannung betriebene Applikationen, Programmieren und Debuggen zulässt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
es gibt zwar auch 2nd Source Adapter von &#039;&#039;&#039;Elpotronic&#039;&#039;&#039; und &#039;&#039;&#039;Olimex&#039;&#039;&#039;, die eine Trennung bei &#039;&#039;&#039;JTAG&#039;&#039;&#039; ermöglichen, sind aber vom Aufbau her auch ungleich teurer und Komplexer &lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104627</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104627"/>
		<updated>2021-08-01T00:12:39Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* neue XCPU */ Fehlende Satzzeichen ergänzt.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;MFM&#039;&#039;&#039; Fähige &#039;&#039;&#039;UART&#039;&#039;&#039;&amp;lt;br&amp;gt; ===&lt;br /&gt;
Die &#039;&#039;&#039;MFM&#039;&#039;&#039; oder auch &#039;&#039;&#039;Manchester-Code Unit&#039;&#039;&#039;&lt;br /&gt;
Dieses Features ist daher interessant zu erwähnen, &amp;lt;br&amp;gt;&lt;br /&gt;
da mit dieser auch Netzwerkprotokolle generiert und eingelesen werden können.&amp;lt;br&amp;gt;&lt;br /&gt;
Selbst ein Disk Controller währe damit machbar, und mit den Internen OpAmps,&amp;lt;br&amp;gt;&lt;br /&gt;
ist auch ein Floppy Controller für Alte 8/16 Bit Computer noch machbar. &amp;lt;br&amp;gt;&lt;br /&gt;
Auch interessant als beispiel eine Funk RTTY kann man so noch realisieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Timer2_B3 CCR0 ist mit dem &#039;&#039;&#039;Manchester function module (MFM)&#039;&#039;&#039; verknüpft. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MFM&#039;&#039;&#039; dazu ein Beitrag im [https://de.wikipedia.org/wiki/Manchester-Code MFM Beschreibung im Wikipedia]&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden.(Siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe auch dazu das Datenblatt&lt;br /&gt;
[[Datei:Analog Block.jpg|mini]]&lt;br /&gt;
[[Datei:SAC eCOMP.jpg|mini]]&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich.&amp;lt;br&amp;gt;&lt;br /&gt;
Die erweiterten XCPU Befehle bringen vor allem mit dem Compare befehl,&amp;lt;br&amp;gt;&lt;br /&gt;
bei Vorzeichenlosen 16Bit Daten erheblich Vorteile.&amp;lt;br&amp;gt;&lt;br /&gt;
So ist dann bei bedingten Sprüngen, beispielsweise bei Zähler abfrage,&amp;lt;br&amp;gt;&lt;br /&gt;
kein vorheriges Prüfen ob Positiv- oder Negativ-Wert besteht, mehr nötig.&amp;lt;br&amp;gt;&lt;br /&gt;
und die JN oder JGE Befehle bringen dann auch immer eine korrekte 16BIT Funktion,&amp;lt;br&amp;gt;&lt;br /&gt;
da das Negativ Bit, nun nicht mehr Bit 15 sondern auf Bit 19 liegt.&amp;lt;br&amp;gt;&lt;br /&gt;
Leider unterstützen die meisten C Versionen diese Eigenschaften der XCPU noch nicht richtig, oder gar nicht,&amp;lt;br&amp;gt;&lt;br /&gt;
so das da eine Assembler Programierung erhebliche Vorteile bringt.&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
[[Datei:MSP430V1.jpg|mini|alternativtext=Aus Webarchive wiederhergestelltes Bild|https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine großen Vorteil bietet Spy-Bi-Wire mit der Relativ einfachen und kostengünstigen galvanischen Trennung.&lt;br /&gt;
Hier bietet TI sogar ein fertiges Modul für die Launchpad &#039;&#039;&#039;MSP-ISO&#039;&#039;&#039; [https://www.ti.com/lit/ug/slau668/slau668.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1627054516890&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.de%252F] an.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit diesem Isolationsadabter lässt sich sowohl das Spy-Bi-Wire Interface, so wie auch die Serialschnittstelle des Launchpad trennen.&lt;br /&gt;
So lässt sich extern aufgebaut auch eine Trennung realisieren, die direkt mit Netzspannung betriebene Applikationen, Programmieren und Debuggen zulässt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
es gibt zwar auch 2nd Source Adapter von &#039;&#039;&#039;Elpotronic&#039;&#039;&#039; und &#039;&#039;&#039;Olimex&#039;&#039;&#039;, die eine Trennung bei &#039;&#039;&#039;JTAG&#039;&#039;&#039; ermöglichen, sind aber vom Aufbau her auch ungleich teurer und Komplexer &lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104626</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104626"/>
		<updated>2021-08-01T00:10:30Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* neue XCPU */ Leserlichkeit verbessert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;MFM&#039;&#039;&#039; Fähige &#039;&#039;&#039;UART&#039;&#039;&#039;&amp;lt;br&amp;gt; ===&lt;br /&gt;
Die &#039;&#039;&#039;MFM&#039;&#039;&#039; oder auch &#039;&#039;&#039;Manchester-Code Unit&#039;&#039;&#039;&lt;br /&gt;
Dieses Features ist daher interessant zu erwähnen, &amp;lt;br&amp;gt;&lt;br /&gt;
da mit dieser auch Netzwerkprotokolle generiert und eingelesen werden können.&amp;lt;br&amp;gt;&lt;br /&gt;
Selbst ein Disk Controller währe damit machbar, und mit den Internen OpAmps,&amp;lt;br&amp;gt;&lt;br /&gt;
ist auch ein Floppy Controller für Alte 8/16 Bit Computer noch machbar. &amp;lt;br&amp;gt;&lt;br /&gt;
Auch interessant als beispiel eine Funk RTTY kann man so noch realisieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Timer2_B3 CCR0 ist mit dem &#039;&#039;&#039;Manchester function module (MFM)&#039;&#039;&#039; verknüpft. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MFM&#039;&#039;&#039; dazu ein Beitrag im [https://de.wikipedia.org/wiki/Manchester-Code MFM Beschreibung im Wikipedia]&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden.(Siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe auch dazu das Datenblatt&lt;br /&gt;
[[Datei:Analog Block.jpg|mini]]&lt;br /&gt;
[[Datei:SAC eCOMP.jpg|mini]]&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
Die erweiterten XCPU Befehle bringen vor allem mit dem Compare befehl,&amp;lt;br&amp;gt;&lt;br /&gt;
bei Vorzeichenlose 16Bit Daten erheblich Vorteile.&amp;lt;br&amp;gt;&lt;br /&gt;
So ist dann bei bedingten Sprüngen, beispielsweise bei Zähler abfrage,&amp;lt;br&amp;gt;&lt;br /&gt;
kein vorheriges Prüfen ob Positiv oder Negativ Wert besteht, mehr nötig.&amp;lt;br&amp;gt;&lt;br /&gt;
und die JN oder JGE Befehle bringen dann auch immer eine korrekte 16BIT Funktion,&amp;lt;br&amp;gt;&lt;br /&gt;
da das Negativ Bit, nun nicht mehr Bit 15 sondern auf Bit 19 liegt.&amp;lt;br&amp;gt;&lt;br /&gt;
Leider unterstützen die meisten C Versionen diese Eigenschaften der XCPU noch nicht richtig, oder gar nicht,&amp;lt;br&amp;gt;&lt;br /&gt;
so das da eine Assembler Programierung erhebliche Vorteile bringt.&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
[[Datei:MSP430V1.jpg|mini|alternativtext=Aus Webarchive wiederhergestelltes Bild|https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine großen Vorteil bietet Spy-Bi-Wire mit der Relativ einfachen und kostengünstigen galvanischen Trennung.&lt;br /&gt;
Hier bietet TI sogar ein fertiges Modul für die Launchpad &#039;&#039;&#039;MSP-ISO&#039;&#039;&#039; [https://www.ti.com/lit/ug/slau668/slau668.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1627054516890&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.de%252F] an.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit diesem Isolationsadabter lässt sich sowohl das Spy-Bi-Wire Interface, so wie auch die Serialschnittstelle des Launchpad trennen.&lt;br /&gt;
So lässt sich extern aufgebaut auch eine Trennung realisieren, die direkt mit Netzspannung betriebene Applikationen, Programmieren und Debuggen zulässt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
es gibt zwar auch 2nd Source Adapter von &#039;&#039;&#039;Elpotronic&#039;&#039;&#039; und &#039;&#039;&#039;Olimex&#039;&#039;&#039;, die eine Trennung bei &#039;&#039;&#039;JTAG&#039;&#039;&#039; ermöglichen, sind aber vom Aufbau her auch ungleich teurer und Komplexer &lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104625</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104625"/>
		<updated>2021-08-01T00:07:33Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* neue XCPU */ Weitere Besonderheiten und Erklärungen Zugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;MFM&#039;&#039;&#039; Fähige &#039;&#039;&#039;UART&#039;&#039;&#039;&amp;lt;br&amp;gt; ===&lt;br /&gt;
Die &#039;&#039;&#039;MFM&#039;&#039;&#039; oder auch &#039;&#039;&#039;Manchester-Code Unit&#039;&#039;&#039;&lt;br /&gt;
Dieses Features ist daher interessant zu erwähnen, &amp;lt;br&amp;gt;&lt;br /&gt;
da mit dieser auch Netzwerkprotokolle generiert und eingelesen werden können.&amp;lt;br&amp;gt;&lt;br /&gt;
Selbst ein Disk Controller währe damit machbar, und mit den Internen OpAmps,&amp;lt;br&amp;gt;&lt;br /&gt;
ist auch ein Floppy Controller für Alte 8/16 Bit Computer noch machbar. &amp;lt;br&amp;gt;&lt;br /&gt;
Auch interessant als beispiel eine Funk RTTY kann man so noch realisieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Timer2_B3 CCR0 ist mit dem &#039;&#039;&#039;Manchester function module (MFM)&#039;&#039;&#039; verknüpft. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MFM&#039;&#039;&#039; dazu ein Beitrag im [https://de.wikipedia.org/wiki/Manchester-Code MFM Beschreibung im Wikipedia]&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden.(Siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe auch dazu das Datenblatt&lt;br /&gt;
[[Datei:Analog Block.jpg|mini]]&lt;br /&gt;
[[Datei:SAC eCOMP.jpg|mini]]&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
Die erweiterten XCPU Befehle bringen vor allem mit dem Compare befehl, beim Vorzeichenlose 16Bit Daten erheblich Vorteile.&lt;br /&gt;
So ist dann bei bedingten Sprüngen, beispielsweise bei Zähler abfrage, kein vorheriges Prüfen ob Positiv oder Negativ Wert mehr nötig.&lt;br /&gt;
und die JN oder JGE Befehle bringen dann auch immer eine korrekte 16BIT Funktion, da das Negativ Bit,&amp;lt;br&amp;gt;&lt;br /&gt;
nun nicht mehr Bit 15 sondern auf Bit 19 liegt.&lt;br /&gt;
Leider unterstützen die meisten C Versionen diese Eigenschaften der XCPU noch nicht richtig, oder gar nicht,&amp;lt;br&amp;gt;&lt;br /&gt;
so das da eine Assembler Programierung erhebliche Vorteile bringt.&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
[[Datei:MSP430V1.jpg|mini|alternativtext=Aus Webarchive wiederhergestelltes Bild|https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine großen Vorteil bietet Spy-Bi-Wire mit der Relativ einfachen und kostengünstigen galvanischen Trennung.&lt;br /&gt;
Hier bietet TI sogar ein fertiges Modul für die Launchpad &#039;&#039;&#039;MSP-ISO&#039;&#039;&#039; [https://www.ti.com/lit/ug/slau668/slau668.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1627054516890&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.de%252F] an.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit diesem Isolationsadabter lässt sich sowohl das Spy-Bi-Wire Interface, so wie auch die Serialschnittstelle des Launchpad trennen.&lt;br /&gt;
So lässt sich extern aufgebaut auch eine Trennung realisieren, die direkt mit Netzspannung betriebene Applikationen, Programmieren und Debuggen zulässt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
es gibt zwar auch 2nd Source Adapter von &#039;&#039;&#039;Elpotronic&#039;&#039;&#039; und &#039;&#039;&#039;Olimex&#039;&#039;&#039;, die eine Trennung bei &#039;&#039;&#039;JTAG&#039;&#039;&#039; ermöglichen, sind aber vom Aufbau her auch ungleich teurer und Komplexer &lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104622</id>
		<title>Diskussion:MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104622"/>
		<updated>2021-07-29T10:41:20Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* FRAM Serie der MSP430 */ Grammatik fehler Korrigiert und fehlende Satzeichen eingefügt.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anmerkung 13.07.2011: die freie Version von CCE ist hinter dem Link nicht mehr verfügbar. Bitte verifizieren! --[[Spezial:Beiträge/92.76.10.126|92.76.10.126]] 10:05, 13. Jul. 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Kommerzielle Compiler für MSP430=&lt;br /&gt;
Ist der mit dem Code Composer nicht programmierbar?&lt;br /&gt;
&lt;br /&gt;
== Code Composer Studio  ==&lt;br /&gt;
&lt;br /&gt;
Der Artikel ist etwas veraltet. Code Composer wird garnicht erwähnt, dieses ist aber auf die MSP zugeschnitten.&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie der MSP430 ==&lt;br /&gt;
&lt;br /&gt;
Da der Artikel nicht ganz auf dem neusten Stand ist, würde ich gerne mal etwas erweitern (bin auch Autor bei WPA )&lt;br /&gt;
Was da besonders fehlt, ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH, sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich)&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
&lt;br /&gt;
Auch in der on-Chip Peripherie der MSP430 hat sich einiges getan.&lt;br /&gt;
Habe jetzt mal den Artikel erweitert.&lt;br /&gt;
Werde zu einem Späteren Zeitpunkt noch erheblich mehr schreiben, sofern das Interesse besteht.&lt;br /&gt;
Habe darauf geachtet das die Wikirichtlinien eingehalten wurden und die Erweiterung, so sachlich wie möglich gestaltet.&lt;br /&gt;
&lt;br /&gt;
Da das ehemalige Bild https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg nicht mehr verfügbar war,&lt;br /&gt;
habe ich dieses mithilfe des Internetarchiv.org aus 2017 wiederhergestellt.&lt;br /&gt;
&lt;br /&gt;
Falls sich Jemand daran Stört bitte Meldung dann wird es ersatzlos gelöscht.&amp;lt;br&amp;gt;&lt;br /&gt;
Bei weiterer Kontrolle des Artikels ist mir aufgefallen das einige Links TOT sind bzw. ins Nierwana Führen.&amp;lt;br&amp;gt;&lt;br /&gt;
Beispiel:&amp;lt;br&amp;gt;&lt;br /&gt;
Weblinks:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
Man sollte da mal einige wieder Aktualisieren, DANKE&lt;br /&gt;
&lt;br /&gt;
Habe nach lesen mehrerer Fragen im Forum, noch die Analoge Partie des MSP430 besser beschrieben und Diagramme zugefügt.&lt;br /&gt;
Durch andere Beiträge noch das &#039;&#039;&#039;&amp;quot;Manchester function module (MFM)&amp;quot;&#039;&#039;&#039; zugefügt, welches den MSP430FR3255 sehr interessant als Floppykontroller für (8/16Bit) computing zu nutzen macht.&lt;br /&gt;
Ich selber habe damit ein Kontroller gebaut, welches für den APPLE][ 3,5&amp;quot; Disketten liest und Schreibt.&lt;br /&gt;
Auch habe ich mit der selben Einheit, eine 10MBit Netzwerk in einem Kontroller Integriert, der als Steuerung mit Netzwerkanbindung funktioniert. &amp;lt;br&amp;gt;&lt;br /&gt;
Unterstützt wird das TCP/IP Protokoll.&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104621</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104621"/>
		<updated>2021-07-29T10:25:15Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* MFM Fähige UART */ Erklärung verständlicher gemacht und ergänzt.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;MFM&#039;&#039;&#039; Fähige &#039;&#039;&#039;UART&#039;&#039;&#039;&amp;lt;br&amp;gt; ===&lt;br /&gt;
Die &#039;&#039;&#039;MFM&#039;&#039;&#039; oder auch &#039;&#039;&#039;Manchester-Code Unit&#039;&#039;&#039;&lt;br /&gt;
Dieses Features ist daher interessant zu erwähnen, &amp;lt;br&amp;gt;&lt;br /&gt;
da mit dieser auch Netzwerkprotokolle generiert und eingelesen werden können.&amp;lt;br&amp;gt;&lt;br /&gt;
Selbst ein Disk Controller währe damit machbar, und mit den Internen OpAmps,&amp;lt;br&amp;gt;&lt;br /&gt;
ist auch ein Floppy Controller für Alte 8/16 Bit Computer noch machbar. &amp;lt;br&amp;gt;&lt;br /&gt;
Auch interessant als beispiel eine Funk RTTY kann man so noch realisieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Timer2_B3 CCR0 ist mit dem &#039;&#039;&#039;Manchester function module (MFM)&#039;&#039;&#039; verknüpft. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MFM&#039;&#039;&#039; dazu ein Beitrag im [https://de.wikipedia.org/wiki/Manchester-Code MFM Beschreibung im Wikipedia]&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden.(Siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe auch dazu das Datenblatt&lt;br /&gt;
[[Datei:Analog Block.jpg|mini]]&lt;br /&gt;
[[Datei:SAC eCOMP.jpg|mini]]&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
[[Datei:MSP430V1.jpg|mini|alternativtext=Aus Webarchive wiederhergestelltes Bild|https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine großen Vorteil bietet Spy-Bi-Wire mit der Relativ einfachen und kostengünstigen galvanischen Trennung.&lt;br /&gt;
Hier bietet TI sogar ein fertiges Modul für die Launchpad &#039;&#039;&#039;MSP-ISO&#039;&#039;&#039; [https://www.ti.com/lit/ug/slau668/slau668.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1627054516890&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.de%252F] an.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit diesem Isolationsadabter lässt sich sowohl das Spy-Bi-Wire Interface, so wie auch die Serialschnittstelle des Launchpad trennen.&lt;br /&gt;
So lässt sich extern aufgebaut auch eine Trennung realisieren, die direkt mit Netzspannung betriebene Applikationen, Programmieren und Debuggen zulässt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
es gibt zwar auch 2nd Source Adapter von &#039;&#039;&#039;Elpotronic&#039;&#039;&#039; und &#039;&#039;&#039;Olimex&#039;&#039;&#039;, die eine Trennung bei &#039;&#039;&#039;JTAG&#039;&#039;&#039; ermöglichen, sind aber vom Aufbau her auch ungleich teurer und Komplexer &lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104620</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104620"/>
		<updated>2021-07-29T10:19:54Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* MFM Fähige UART */ Durch besserer passender Wikipedia Link ersetzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;MFM&#039;&#039;&#039; Fähige &#039;&#039;&#039;UART&#039;&#039;&#039;&amp;lt;br&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Dieses Features ist daher interessant zu erwähnen, &amp;lt;br&amp;gt;&lt;br /&gt;
da mit dieser auch Netzwerkprotokolle generiert und eingelesen werden können.&amp;lt;br&amp;gt;&lt;br /&gt;
Selbst ein Disk Controller währe damit machbar, und mit den Internen OpAmps,&amp;lt;br&amp;gt;&lt;br /&gt;
ist auch ein Floppy Controller für Alte 8/16 Bit Computer noch machbar. &amp;lt;br&amp;gt;&lt;br /&gt;
Auch interessant als beispiel eine Funk RTTY kann man so noch realisieren.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;MFM&#039;&#039;&#039; dazu ein Beitrag im [https://de.wikipedia.org/wiki/Manchester-Code MFM Beschreibung im Wikipedia]&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden.(Siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe auch dazu das Datenblatt&lt;br /&gt;
[[Datei:Analog Block.jpg|mini]]&lt;br /&gt;
[[Datei:SAC eCOMP.jpg|mini]]&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
[[Datei:MSP430V1.jpg|mini|alternativtext=Aus Webarchive wiederhergestelltes Bild|https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine großen Vorteil bietet Spy-Bi-Wire mit der Relativ einfachen und kostengünstigen galvanischen Trennung.&lt;br /&gt;
Hier bietet TI sogar ein fertiges Modul für die Launchpad &#039;&#039;&#039;MSP-ISO&#039;&#039;&#039; [https://www.ti.com/lit/ug/slau668/slau668.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1627054516890&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.de%252F] an.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit diesem Isolationsadabter lässt sich sowohl das Spy-Bi-Wire Interface, so wie auch die Serialschnittstelle des Launchpad trennen.&lt;br /&gt;
So lässt sich extern aufgebaut auch eine Trennung realisieren, die direkt mit Netzspannung betriebene Applikationen, Programmieren und Debuggen zulässt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
es gibt zwar auch 2nd Source Adapter von &#039;&#039;&#039;Elpotronic&#039;&#039;&#039; und &#039;&#039;&#039;Olimex&#039;&#039;&#039;, die eine Trennung bei &#039;&#039;&#039;JTAG&#039;&#039;&#039; ermöglichen, sind aber vom Aufbau her auch ungleich teurer und Komplexer &lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104619</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104619"/>
		<updated>2021-07-29T06:08:28Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* Digitale Peripherie */ Strucktur für bessere Lesbarkeit geändert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;MFM&#039;&#039;&#039; Fähige &#039;&#039;&#039;UART&#039;&#039;&#039;&amp;lt;br&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Dieses Features ist daher interessant zu erwähnen, &amp;lt;br&amp;gt;&lt;br /&gt;
da mit dieser auch Netzwerkprotokolle generiert und eingelesen werden können.&amp;lt;br&amp;gt;&lt;br /&gt;
Selbst ein Disk Controller währe damit machbar, und mit den Internen OpAmps,&amp;lt;br&amp;gt;&lt;br /&gt;
ist auch ein Floppy Controller für Alte 8/16 Bit Computer noch machbar. &amp;lt;br&amp;gt;&lt;br /&gt;
Auch interessant als beispiel eine Funk RTTY kann man so noch realisieren.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;MFM&#039;&#039;&#039; dazu ein Beitrag im :[https://de.wikipedia.org/wiki/Modified_Frequency_Modulation MFM Beschreibung im Wikipedia]&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden.(Siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe auch dazu das Datenblatt&lt;br /&gt;
[[Datei:Analog Block.jpg|mini]]&lt;br /&gt;
[[Datei:SAC eCOMP.jpg|mini]]&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
[[Datei:MSP430V1.jpg|mini|alternativtext=Aus Webarchive wiederhergestelltes Bild|https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine großen Vorteil bietet Spy-Bi-Wire mit der Relativ einfachen und kostengünstigen galvanischen Trennung.&lt;br /&gt;
Hier bietet TI sogar ein fertiges Modul für die Launchpad &#039;&#039;&#039;MSP-ISO&#039;&#039;&#039; [https://www.ti.com/lit/ug/slau668/slau668.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1627054516890&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.de%252F] an.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit diesem Isolationsadabter lässt sich sowohl das Spy-Bi-Wire Interface, so wie auch die Serialschnittstelle des Launchpad trennen.&lt;br /&gt;
So lässt sich extern aufgebaut auch eine Trennung realisieren, die direkt mit Netzspannung betriebene Applikationen, Programmieren und Debuggen zulässt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
es gibt zwar auch 2nd Source Adapter von &#039;&#039;&#039;Elpotronic&#039;&#039;&#039; und &#039;&#039;&#039;Olimex&#039;&#039;&#039;, die eine Trennung bei &#039;&#039;&#039;JTAG&#039;&#039;&#039; ermöglichen, sind aber vom Aufbau her auch ungleich teurer und Komplexer &lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104618</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104618"/>
		<updated>2021-07-29T06:04:15Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* Digitale Peripherie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MFM&#039;&#039;&#039; Fähige &#039;&#039;&#039;UART&#039;&#039;&#039;&lt;br /&gt;
Dieses Features ist daher interessant zu erwähnen, da mit dieser auch Netzwerkprotokolle generiert und eingelesen werden können.&lt;br /&gt;
Selbst ein Disk Controller währe damit machbar, und mit den Internen OpAmps wäre auch ein Floppy Controller für Alte 8/16 Bit Computer noch machbar. Auch zum beispiel eine Funk RTTY kann man so noch realisieren.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;MFM&#039;&#039;&#039; dazu ein Beitrag im :[https://de.wikipedia.org/wiki/Modified_Frequency_Modulation MFM Beschreibung im Wikipedia]&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden.(Siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe auch dazu das Datenblatt&lt;br /&gt;
[[Datei:Analog Block.jpg|mini]]&lt;br /&gt;
[[Datei:SAC eCOMP.jpg|mini]]&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
[[Datei:MSP430V1.jpg|mini|alternativtext=Aus Webarchive wiederhergestelltes Bild|https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine großen Vorteil bietet Spy-Bi-Wire mit der Relativ einfachen und kostengünstigen galvanischen Trennung.&lt;br /&gt;
Hier bietet TI sogar ein fertiges Modul für die Launchpad &#039;&#039;&#039;MSP-ISO&#039;&#039;&#039; [https://www.ti.com/lit/ug/slau668/slau668.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1627054516890&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.de%252F] an.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit diesem Isolationsadabter lässt sich sowohl das Spy-Bi-Wire Interface, so wie auch die Serialschnittstelle des Launchpad trennen.&lt;br /&gt;
So lässt sich extern aufgebaut auch eine Trennung realisieren, die direkt mit Netzspannung betriebene Applikationen, Programmieren und Debuggen zulässt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
es gibt zwar auch 2nd Source Adapter von &#039;&#039;&#039;Elpotronic&#039;&#039;&#039; und &#039;&#039;&#039;Olimex&#039;&#039;&#039;, die eine Trennung bei &#039;&#039;&#039;JTAG&#039;&#039;&#039; ermöglichen, sind aber vom Aufbau her auch ungleich teurer und Komplexer &lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104617</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104617"/>
		<updated>2021-07-28T06:07:07Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* Analog Peripherie */  Analog Combo Bilder zugefügt.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden.(Siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe auch dazu das Datenblatt&lt;br /&gt;
[[Datei:Analog Block.jpg|mini]]&lt;br /&gt;
[[Datei:SAC eCOMP.jpg|mini]]&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
[[Datei:MSP430V1.jpg|mini|alternativtext=Aus Webarchive wiederhergestelltes Bild|https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine großen Vorteil bietet Spy-Bi-Wire mit der Relativ einfachen und kostengünstigen galvanischen Trennung.&lt;br /&gt;
Hier bietet TI sogar ein fertiges Modul für die Launchpad &#039;&#039;&#039;MSP-ISO&#039;&#039;&#039; [https://www.ti.com/lit/ug/slau668/slau668.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1627054516890&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.de%252F] an.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit diesem Isolationsadabter lässt sich sowohl das Spy-Bi-Wire Interface, so wie auch die Serialschnittstelle des Launchpad trennen.&lt;br /&gt;
So lässt sich extern aufgebaut auch eine Trennung realisieren, die direkt mit Netzspannung betriebene Applikationen, Programmieren und Debuggen zulässt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
es gibt zwar auch 2nd Source Adapter von &#039;&#039;&#039;Elpotronic&#039;&#039;&#039; und &#039;&#039;&#039;Olimex&#039;&#039;&#039;, die eine Trennung bei &#039;&#039;&#039;JTAG&#039;&#039;&#039; ermöglichen, sind aber vom Aufbau her auch ungleich teurer und Komplexer &lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:SAC_eCOMP.jpg&amp;diff=104616</id>
		<title>Datei:SAC eCOMP.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:SAC_eCOMP.jpg&amp;diff=104616"/>
		<updated>2021-07-28T06:06:28Z</updated>

		<summary type="html">&lt;p&gt;Pali64: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1 von 2 SAC Blöcke mit 2 OpAmp&#039;s im SAC-L2 Block des MSP430FR235x&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Analog_Block.jpg&amp;diff=104615</id>
		<title>Datei:Analog Block.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Analog_Block.jpg&amp;diff=104615"/>
		<updated>2021-07-28T06:04:38Z</updated>

		<summary type="html">&lt;p&gt;Pali64: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Analog Bloch des MSP430FR235x&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_In_System_Programmer&amp;diff=104608</id>
		<title>AVR In System Programmer</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_In_System_Programmer&amp;diff=104608"/>
		<updated>2021-07-24T07:33:48Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* Microchip SNAP */  Bild Integriert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
&lt;br /&gt;
In-System-Programming (ISP) bedeutet, einen Mikrocontroller oder anderen programmierbaren Baustein im eingebauten Zustand zu programmieren. Dazu muss der Mikrocontroller entsprechend beschaltet sein. Das bedeutet, die benötigten Anschlüsse am Mikrocontroller müssen zugänglich und nicht ohne weitere Vorkehrungen anderweitig benutzt sein - siehe [http://www.atmel.com/Images/Atmel-2521-AVR-Hardware-Design-Considerations_ApplicationNote_AVR042.pdf Atmel Application Note AVR042].&lt;br /&gt;
&lt;br /&gt;
Atmel verwendet für ihre 8-Bit RISC Mikrocontroller zum Teil unterschiedliche ISP-Protokolle. Das bekannteste davon wird einfach als ISP bezeichnet. Insgesamt findet man:&lt;br /&gt;
&lt;br /&gt;
;ISP:Der Normalfall. Bei vielen, aber nicht allen AVRs teilen sich [[SPI]]- und ISP-Schnittstelle die Pins. Je nach AVR gibt es leichte Unterschiede im Protokoll. Das Protokoll für einen Typ ist im Datenblatt unter &#039;&#039;Memory Programming -&amp;gt; Serial Downloading&#039;&#039; beschrieben.&lt;br /&gt;
;TPI:Tiny Programming Interface. Einige AVRs der Tiny-Serie, besonders die 6-Pin Tinys.&lt;br /&gt;
;PDI:Programming and Debugging Interface. Die XMEGAs.&lt;br /&gt;
;UPDI:Unified Program and Debug Interface. Quasi alle neueren AVRs der Tiny- und Mega-Reihe.&lt;br /&gt;
;JTAG:AVRs mit [[JTAG]] Debugging-Schnittstelle lassen sich auch über JTAG in-system-programmieren.&lt;br /&gt;
;Bootloader:Einige wenige AVRs kommen bereits mit einem einprogrammierten [[Bootloader]]. Bei diesen kann man ein zum Bootloader passendes Programm nutzen um den AVR über eine im Bootloader definierte Schnittstelle zu programmieren. Auf Bootloadern basierende Systeme haben ansonsten ein Henne-Ei Problem. Irgendwie muss der Bootloader einmal konventionell in den AVR programmiert werden, zum Beispiel mit ISP.&lt;br /&gt;
&lt;br /&gt;
Atmels [[debugWire]] ist keine Programmierschnittstelle, sondern eine reines Debugging-Interface. Zum Programmieren verwendet man bei AVRs mit debugWire daher normalerweise ISP.&lt;br /&gt;
&lt;br /&gt;
Atmel hat für die AVR 8-Bit RISC Mikrocontroller mehrere Application Notes herausgegeben, auf deren Basis eine Vielzahl von Programmiergeräten (&#039;&#039;programmer&#039;&#039;) entwickelt wurden. &lt;br /&gt;
&lt;br /&gt;
Natürlich liefert Atmel auch eigene, fertige Programmiergeräte ([https://www.microchip.com/DevelopmentTools/ProductDetails/ATATMEL-ICE Atmel-ICE], AVRISP (mk I), AVRISP mk II, [[AVR-Dragon]], ...), Programmiersoftware (AVRProg, AVR Studio) und Entwicklungsboards mit integriertem Programmiergerät (z.&amp;amp;nbsp;B. [[STK500]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;color:darkred;&amp;quot;&amp;gt;&amp;lt;big&amp;gt;FAQ/Tipp: &#039;&#039;&#039;&amp;quot;Welchen ISP-Adapter sollte man sich zulegen oder bauen?&amp;quot;&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man sollte sich einen fertigen, original Atmel (keinen Clone) ISP-Adapter kaufen. Zum Beispiel für ISP (und PDI) Programmierung &#039;&#039;&#039;Atmels original [[AVR_In_System_Programmer#Atmel_AVRISP_MKII|AVRISP mkII]] für rund 36,- Euro&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Das ist eine Investition, die viel Zeit und Ärger spart, denn es geht nichts über zuverlässiges Werkzeug. Beim Umgang mit µCs ist es sehr frustrierend an drei Fronten gleichzeitig zu kämpfen:&lt;br /&gt;
# Bugs in der Software, &lt;br /&gt;
# Bugs in der Schaltung und &lt;br /&gt;
# Bugs/Probleme beim ISP-Adapter-/PC-Gespann.&lt;br /&gt;
&lt;br /&gt;
Wenigstens Probleme mit dem ISP-Adapter lassen sich durch den Kauf eines zuverlässigen ISP-Adapters eliminieren. Siehe auch diverse Forenbeiträge u.a. [http://www.mikrocontroller.net/topic/91042#778908] und [http://www.mikrocontroller.net/topic/153841#1447882].&lt;br /&gt;
&lt;br /&gt;
Sehr unzuverlässig sind häufig billige oder selbstgebaute Programmierkabel mit nichts außer ein paar Widerständen. Unzuverlässig sind häufig auch billige oder selbstgebaute Programmierkabel mit einem einfachen Bustreiber. Nur weil sie bei manchen funktionieren heißt das nicht, dass sie überall problemlos funktionieren.&lt;br /&gt;
&lt;br /&gt;
Parallelport- (Druckerport-) ISP-Adapter funktionieren gar nicht, wenn man sie mit einem USB &amp;lt;-&amp;gt; Druckerport Adapter an einen USB-Port am PC anschließt. Einfach (unintelligente) ISP-Adapter für die serielle Schnittstelle funktionieren gar nicht oder extrem langsam, wenn man sie mit einem USB &amp;lt;-&amp;gt; Seriell Adapter am PC anschließt. Gute intelligente serielle Programmieradapter, wie der in Atmels STK500 eingebaute, funktionieren normalerweise mit einem USB-Adapter.&lt;br /&gt;
&lt;br /&gt;
Bei allen Programmieradaptern mit eigener Firmware, einschließlich der Original-Adapter von Atmel, ist man darauf angewiesen, dass der Hersteller wenn nötig Firmware-Updates bereitstellt. Bei Clones ist die Versorgung mit Firmware manchmal fraglich. &lt;br /&gt;
&lt;br /&gt;
Oftmals funktionieren auch die Treiber der Clones unter 64-Bit Betriebssystem nicht richtig oder nur mit Tricks, die leider wichtige Sicherheitsfunktionen des Betriebssystem abschalten. Der [[AVR_In_System_Programmer#Atmel_AVRISP_MKII|AVRISP mkII]] funktioniert dagegen auch unter Windows 7 (64-Bit).&lt;br /&gt;
&lt;br /&gt;
== Application Notes ==&lt;br /&gt;
* [https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en591739 AVR910 (Microchip AN 0943)] [http://ww1.microchip.com/downloads/en/AppNotes/Atmel-0943-In-System-Programming_ApplicationNote_AVR910.pdf (Als PDF)] &amp;quot;&#039;&#039;Low-cost&#039;&#039;&amp;quot; &#039;&#039;In-system programming&#039;&#039; (&#039;&#039;&#039;AVRISP&#039;&#039;&#039;) beschreibt einen einfachen, kostengünstigen Programmieradapter zur Übertragung von Programmen in den Mikrocontroller. Auf dem Programmer befindet sich ein Mikrocontroller (natürlich von Atmel ;-), der serielle Steuerkommandos und Daten vom PC in Programmiersignale für den Mikrocontroller umsetzt.&lt;br /&gt;
&lt;br /&gt;
* [https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en591218 AVR911 (Microchip AN 2568)] [http://ww1.microchip.com/downloads/en/AppNotes/doc2568.pdf (Als PDF)] &#039;&#039;Open source serial programmer&#039;&#039; (&#039;&#039;&#039;AVROSP&#039;&#039;&#039;) beschreibt eine &#039;&#039;open source&#039;&#039; Programmiersoftware zur Übertragung von Programmen in den Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
* [https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en591230 AVR109 (Microchip AN1644)] [http://ww1.microchip.com/downloads/en/AppNotes/doc1644.pdf (Als PDF)] &#039;&#039;Self-Programming&#039;&#039; mit Hilfe eines [[Bootloader|Bootloaders]]. Hier wird im Mikrocontroller zunächst ein mikrocontroller-spezifisches Bootloader-Programm abgelegt. Dieses Programm empfängt das eigentliche Benutzerprogramm oder Daten z.&amp;amp;nbsp;B. über einen seriellen Anschluss ([[UART]]), legt es ggf. im Speicher (Flash-ROM, EEPROM) ab und führt ggf. anschliessend das Benutzerprogramm aus.&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung ==&lt;br /&gt;
===ISP===&lt;br /&gt;
Die Standard-Pinbelegung des ISP-Steckers zum Anschluss des Mikrocontrollers sieht nach obigen Application Notes und der [http://www.atmel.com/images/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf AVR042 (Microchip AN2519)] [http://ww1.microchip.com/downloads/en/Appnotes/AN2519-AVR-Microcontroller-Hardware-Design-Considerations-00002519B.pdf (Als PDF)] folgendermaßen aus (Anschluss auf der Platine, Ansicht von oben). Atmel bevorzugt dabei bereits seit Jahren den 6-poligen Anschluss.&lt;br /&gt;
&lt;br /&gt;
[[Bild:avr-isp-pinout.png|right]]&lt;br /&gt;
  &lt;br /&gt;
  10-poliger       6-poliger&lt;br /&gt;
  Anschluss        Anschluss&lt;br /&gt;
  &lt;br /&gt;
  1 MOSI           1 MISO&lt;br /&gt;
  2 VCC            2 VCC&lt;br /&gt;
  3 - (*)          3 SCK&lt;br /&gt;
  4,6,8,10 GND     4 MOSI&lt;br /&gt;
  5 RESET          5 RESET&lt;br /&gt;
  7 SCK            6 GND&lt;br /&gt;
  9 MISO&lt;br /&gt;
&lt;br /&gt;
Pin 1 ist am Pfostenstecker mit einem kleinen Pfeil gekennzeichnet.&lt;br /&gt;
&lt;br /&gt;
Um Verwechslungen zu vermeiden, empfiehlt es sich, für die einzelnen Leitungen unterschiedliche Farben zu verwenden. Atmel hat dafür keine Festlegung getroffen, so dass es keinen festen Standard gibt. Üblich ist jedoch eine Farbzuordnung wie beim [https://guloshop.de/shop/Mikrocontroller-Programmierung/guloboard-G6::5.html guloboard]:&lt;br /&gt;
&lt;br /&gt;
  1 MISO  weiß&lt;br /&gt;
  2 VCC   rot&lt;br /&gt;
  3 SCK   blau&lt;br /&gt;
  4 MOSI  grün&lt;br /&gt;
  5 RESET gelb&lt;br /&gt;
  6 GND   schwarz&lt;br /&gt;
&lt;br /&gt;
(*) Einige Programmieradapter (Ponyprog-Adapter nach Lancos-Schaltplan) unterstützen an Pin 3 des 10-poligen Steckers eine LED (Kathode an Pin), die &amp;quot;Programmierzugriff&amp;quot; signalisieren soll. Dies ist aber kaum nützlich, daher wird der Pin auch von Atmel als N/C (not connected) definiert und beim original Atmel AVRISP mit GND verbunden.&lt;br /&gt;
&lt;br /&gt;
Der 10-polige Anschluss wurde von der Firma Kanda beim STK200 verwendet und ist deshalb auch als &amp;quot;Kanda-Standard&amp;quot; bekannt und war zur Zeit der STK200 Programmieradapter relativ weit verbreitet. Die Anschlussbelegung über einen 6-poligen Stecker stammt von Atmel selbst und ist platzsparender auf der Platine.&lt;br /&gt;
&lt;br /&gt;
Am besten kauft oder fertigt man sich einen Adapter 6 &amp;lt;-&amp;gt; 10 (siehe [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=190], [http://www.watterott.com/de/AVR-ISP-Programmieradapter], [http://www.watterott.com/de/AVR-Programmier-Kabel], [https://guloshop.de/shop/Adapterkabel/Programmieradapterkabel-6-polig-10-polig-lang::9.html]), dann lassen sich praktisch alle Boards mit jedem Programmer programmieren.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Kabeloben.jpg]]&lt;br /&gt;
[[Datei:Kabelunten.jpg]]&lt;br /&gt;
[[Datei:isp_kab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Zehnpolige Messerleisten (Wannenstecker) zur Montage auf einer µC Platine zum verpolungssicheren Anschluss des Programmieradapters sind fast &amp;quot;überall&amp;quot; verfügbar, nach den sechspoligen muss man häufig etwas suchen. Mittlerweile sind sie endlich bei Reichelt erhältlich (WSL 6G).&amp;lt;br/&amp;gt;&lt;br /&gt;
Alternativ bleibt der Griff zu den nicht verpolungssicheren 2xN Stiftleisten (z.&amp;amp;nbsp;B. 2x40), wobei man eine Stiftleiste auf 2x3 Pole kürzt.&lt;br /&gt;
Man kann auch aus zehnpoligen die äußeren pins  ( 2 rechts, 2 links) einfach rausdrücken, dann passt der sechspolige Stecker in die Buchse. Verpolungsschutz besteht weiterhin.&lt;br /&gt;
&lt;br /&gt;
Sechspolige Federleisten (Pfostenbuchsen) zum Anquetschen an ein Programmierkabel sind dagegen zumindest bei den großen Versendern und Distributoren erhältlich (z.&amp;amp;nbsp;B. von Bürklin  Art.53F3500; Conrad Art.701980-62; Farnell Art.1097021; Reichelt PFL 6). Kleine lokale Elektronikläden führen diese jedoch häufig nicht. Zu den sechpoligen Pfostenbuchsen gibt es keine Alternative, wenn man ein sechpoliges Programmierkabel bauen möchte. Zehnpolige Pfostenbuchsen lassen sich nicht auf sechs Pole kürzen. &lt;br /&gt;
&lt;br /&gt;
Je nach Programmieradapter hat der VCC-Anschluss unterschiedliche Funktionen:&lt;br /&gt;
&lt;br /&gt;
1. Versorgung des Programmieradapters mit Strom aus der Schaltung, wie es bei vielen Parallelport-Adaptern der Fall ist.&lt;br /&gt;
&lt;br /&gt;
2. Versorgung der Schaltung mit Strom aus dem Programmieradapter. Dies ist insbesondere beim STK500 möglich und dank dessen programmierbarer Versorgungsspannung manchmal ganz praktisch. &lt;br /&gt;
&lt;br /&gt;
3. Messung der Betriebsspannung der Schaltung, so dass der Programmieradapter sich auf diese Spannung einstellen kann und so ein 3,3 V Board mit 3,3 V und ein 5 V Board mit 5 V programmiert. So wie zum Beispiel beim AVRISP mkII. Daher wird VCC auf neueren Schaltbildern auch als Vtg oder VTref bezeichnet (Atmel kann sich da nicht auf eine Bezeichnung einigen).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Je nach verwendetem Programmer muss man daher sorgfältig auf die Beschaltung von VCC/Vtg/VTref und auf die Stromversorgung von Board und Programmer achten.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/301971#3234822 Forumsbeitrag]: Extrem kleiner ISP Header, wie?&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/145711#1352516 Forumsbeitrag]: Kleinserie: ISP Programmierung mögl. ohne Stecker&lt;br /&gt;
*[https://www.mikrocontroller.net/topic/510348#6563298 Forumsbeitrag]: Kleinstmögliche ISP-Kontakte&lt;br /&gt;
&lt;br /&gt;
===TPI===&lt;br /&gt;
&lt;br /&gt;
Die TPI-Programmierung setzt sich aus mehreren Schichten zusammen: Hardware (Ansteuerung der IO-Pins), Speicher-Management (stellt Funktionen zum Flashen bereit) und der Speicher selbst.&lt;br /&gt;
&lt;br /&gt;
  Data  1 2 VCC&lt;br /&gt;
  Clock 3 4 N.C.&lt;br /&gt;
  Reset 5 6 GND&lt;br /&gt;
&lt;br /&gt;
Standard TPI connector used on e.g. STK600 and AVRISP mkII.&lt;br /&gt;
&lt;br /&gt;
===PDI===&lt;br /&gt;
====Atmel Board-Schnittstelle &amp;amp; AVRISP MkII ====&lt;br /&gt;
Für Mikrocontroller-Boards schlägt Atmel einen 6-Pin Header, 2,54 mm Raster, mit folgender Pinbelegung vor (Ansicht von Oben):&lt;br /&gt;
&lt;br /&gt;
 DATA  1 2  VCC&lt;br /&gt;
 N.C.  3 4  N.C.&lt;br /&gt;
  CLK  5 6  GND&lt;br /&gt;
&lt;br /&gt;
(N.C.: Not Connected, nicht verbunden). Diese Belegung wird auch von Atmels AVRISP MkII im PDI-Modus verwendet.&lt;br /&gt;
&lt;br /&gt;
Bei Atmels eigenem XPlain Eval-Kit und anderen Programmieradaptern geht es zur Zeit jedoch noch fröhlich durcheinander. Folgende Pinbelegungen lassen sich finden.&lt;br /&gt;
&lt;br /&gt;
====Atmel XPlain Eval-Board====&lt;br /&gt;
&lt;br /&gt;
Hier hat Atmel die Xmega PDI- und JTAG-Schnittstelle gemeinsam auf den Header J100 gelegt. Die PDI-Belegung ist wie folgt:&lt;br /&gt;
&lt;br /&gt;
       1  2  GND&lt;br /&gt;
       3  4  VCC&lt;br /&gt;
       5  6  CLK&lt;br /&gt;
  VCC  7  &#039;&#039;&#039;8  DATA&#039;&#039;&#039;&lt;br /&gt;
       9 10  GND&lt;br /&gt;
&lt;br /&gt;
Nur jeweils ein VCC- und ein GND-Anschluss muss verwendet werden. Es bieten sich die Pins 2 und 4 an.&lt;br /&gt;
&lt;br /&gt;
Man beachte die Position von DATA auf Pin 8 bei dieser Belegung von PDI auf dem XPlain JTAG-Header.&lt;br /&gt;
&lt;br /&gt;
====Atmel JTAGICE MkII====&lt;br /&gt;
&lt;br /&gt;
Einige sehr alte JTAGICE MkII unterstützen kein PDI. Alle neueren, in den letzten Jahren hergestellte tun es. Eventuell ist ein Firmware-Upgrade über AVR-Studio nötig.&lt;br /&gt;
&lt;br /&gt;
Laut [http://support.atmel.no/knowledgebase/avrstudiohelp/mergedProjects/JTAGICEmkII/mkII/Html/Connecting_to_target_through_the_PDI_interface.htm] und der eingebauten Hilfe von [[AVR Studio]] 4.18 SP 1 verwendet ein JTAGICE MkII im PDI-Modus folgende Pinbelegung:&lt;br /&gt;
&lt;br /&gt;
       1  2  GND&lt;br /&gt;
       3  4  VTref&lt;br /&gt;
       5  6  CLK&lt;br /&gt;
       7  8&lt;br /&gt;
 &#039;&#039;&#039;DATA  9&#039;&#039;&#039; 10  GND&lt;br /&gt;
&lt;br /&gt;
Man beachte, dass DATA hier angeblich auf Pin 9 liegt. (VTref dürfte VCC entsprechen). In der Hilfe zu AVR Studio 4.18 SP 1 ist der Pin CLK mit PDI_CLK, und der Pin DATA mit PDI_DATA bezeichnet.&lt;br /&gt;
&lt;br /&gt;
====Atmel AVR Dragon====&lt;br /&gt;
&lt;br /&gt;
Erst mit der Dragon-Firmware im SP 1 für AVR Studio 4.18 soll der PDI-Support des [[AVR Dragon]] funktionieren. Angekündigt war PDI-Support bereits für AVR Studio 4.18. &lt;br /&gt;
&lt;br /&gt;
Leider hat Atmel es versäumt in der Dragon-Dokumentation die Pinbelegung für PDI auf der Seite des Dragon anzugeben. In der Studio-Dokumentation ist von einem ominösen Dragon PDI Adapter die Rede, der Teil des &amp;quot;Dragon Kit&amp;quot; sein soll. Allerdings wird der Dragon &#039;nackt&#039; ausgeliefert und bisher gibt es keine Berichte darüber, dass jemand diesen ominösen Adapter gesehen hat. Von neueren Versionen des JTAGICE mkII ist hingegen bekannt, dass sie mit einem &#039;&#039;XMEGA PDI adapter kit&#039;&#039; geliefert werden.&lt;br /&gt;
&lt;br /&gt;
Angeblich ist es nötig, beim Dragon jeweils einen 330Ω Widerstand in die CLK und DATA Leitung zu legen, um Probleme mit dem Überschwingen der Signale zu vermeiden.&lt;br /&gt;
&lt;br /&gt;
===UPDI===&lt;br /&gt;
&lt;br /&gt;
UPDI ist der Nachfolger der PDI-Schnittstelle und kommt nunmehr mit drei Verbindungen aus: Einem bi-direktionalen Datenbus sowie zwei Anschlüssen für die Versorgungsspannung.&lt;br /&gt;
&lt;br /&gt;
====Atmel-ICE====&lt;br /&gt;
&lt;br /&gt;
Für Mikrocontroller-Boards schlägt Atmel die Verwendung eines 6-Pin Headers im 2,54 mm-Raster mit folgender Pinbelegung vor (Ansicht von oben; der Stecker hat am Pin 3 eine Rastnase zum verpolungssicheren Einstecken). Wie üblich gilt N.C. = Not Connected, d.h. nicht verbunden:&lt;br /&gt;
&lt;br /&gt;
  DATA  1 2  VCC&lt;br /&gt;
  N.C.  3 4  N.C.&lt;br /&gt;
  N.C.  5 6  GND&lt;br /&gt;
&lt;br /&gt;
== Programmer-Varianten ==&lt;br /&gt;
&lt;br /&gt;
Mittlerweile existiert eine fast unüberschaubare Zahl von Programmer-Varianten und Untervarianten. Hier sollen nur die wichtigsten Varianten mit Bauanleitungen aufgelistet werden, geordnet nach der Art des Anschlusses an den PC.&lt;br /&gt;
&lt;br /&gt;
Zur Zeit (März 2012) gibt es vermehrt Probleme, mit den neuen Varianten 5.x des AVR Studios, kompatible Programmer, die nicht von Atmel selbst hergestellt wurden, anzusteuern. Es sollte beim Erwerb/Nachbau auf die Zusicherung der Komptibilität zum gewünschen AVR Studio geachtet werden.&lt;br /&gt;
Im [http://www.mikrocontroller-elektronik.de/isp-programmer-fuer-arduino-bascom-und-atmel-studio/ mikrocontroller-elektronik.de-Blog] findet man einen Test welche Programmer unter Windows 10 problemlos funktionieren, egal ob unter Arduino IDE, Atmel Studio oder Bascom.&lt;br /&gt;
&lt;br /&gt;
=== Parallelport ===&lt;br /&gt;
&lt;br /&gt;
==== STK200-kompatibel ====&lt;br /&gt;
&lt;br /&gt;
Fast alle erhältlichen Parallelport-Programmieradapter, u.a. auch der hier im [http://shop.mikrocontroller.net/ Shop] angebotene, sind kompatibel zum Programmer des [[STK200]] / STK300.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/STK200 Schaltbilder für STK200 und kompatible]&lt;br /&gt;
* Bauanleitung für einen [http://rumil.de/hardware/avrisp.html STK200-kompatiblen Programmieradapter] von Rolf Milde&lt;br /&gt;
* Universelles Programmiergerät mit 74HC244 und Schutzwiderständen http://www.aplomb.nl/TechStuff/PPPD/PPPD%20English.html&lt;br /&gt;
&lt;br /&gt;
==== Paralleles Interface für AVR und PonyProg ====&lt;br /&gt;
&lt;br /&gt;
Schaltplan und Erläuterungen bei [http://s-huehn.de/elektronik/avr-prog/avr-prog-alt.htm Scott-Falk Hühn]&lt;br /&gt;
&lt;br /&gt;
==== SP12 Programmer ====&lt;br /&gt;
&lt;br /&gt;
Schaltplan, Erläuterungen und Software für mehrere Plattformen, darunter auch MSDOS, gibt es bei [http://www.xs4all.nl/~sbolt/e-spider_prog.html#programmer Steven Bolt]. [http://www.xs4all.nl/~sbolt/e-spider_prog.html#programmer Ken&#039;s Dongle] ist ein spezieller Kabeladapter für SP12 zur Verbesserung der Signalqualität. Anpassung an neue Typen erfolgt durch leicht selbst erstellbare Beschreibungsdateien.&lt;br /&gt;
&lt;br /&gt;
=== Serieller Port ([[RS-232]]) ===&lt;br /&gt;
&lt;br /&gt;
==== Atmel AVRISP, STK500, AVR910 ====&lt;br /&gt;
&lt;br /&gt;
Der original AVRISP von Atmel, das [[STK500]] und der Programmer aus der Application Note AVR910 enthalten einen Mikrocontroller, der die Umsetzung der seriellen Daten auf das ISP- und TPI-Programmierinterface vornimmt. Sie lassen sich direkt mit dem AVR-Studio programmieren und sind auch problemlos mit einem USB-seriell-Adapter verwendbar.&lt;br /&gt;
&lt;br /&gt;
Ein Layout mit Schaltplan und erweitertem Sourcecode findet sich in diesem Thread in der Codesammlung [http://www.mikrocontroller.net/topic/88295#749553 AVR910 Programmer, Schaltplan, Layout, Firmware].&lt;br /&gt;
&lt;br /&gt;
Das AVR910 Design ist u.a. auf der Seite von [http://www.serasidis.gr/circuits/avr_isp/avr_isp.htm Serasidis Vasilis] im Detail beschrieben.&lt;br /&gt;
&lt;br /&gt;
Weitere Bausätze bzw. Bauanleitungen zu AVR910 Programmern:&lt;br /&gt;
* [https://www.b-redemann.de/download.shtml AVR910-USB-Prog: Bausatz incl. USB-seriell Wandler]&lt;br /&gt;
* [http://www.avr-projekte.de/isp.htm AVR910-USB: Bauanleitung incl. USB-seriell Wandler]&lt;br /&gt;
&lt;br /&gt;
==== SI-Prog ====&lt;br /&gt;
&lt;br /&gt;
Daneben gibt es noch weitere Programmieradapter für den seriellen Port, die auf den eigenen Mikrocontroller im Programmieradapter verzichten und das ISP-Programmierprotokoll über die Steuerleitungen des RS-232-Port nachbilden. Das Programmierprogramm auf dem PC sendet jetzt keine Steuerkommandos und Daten mehr, sondern gibt direkt die Programmiersignale an der seriellen Schnittstelle aus (&amp;quot;Pinwackeln an den Statuspins&amp;quot;). Der Nachteil dieser Adapter ist, dass sie meistens relativ langsam sind und nur unter wenigen Betriebssystemen funktionieren. Ein Beispiel dafür ist SI-Prog.&lt;br /&gt;
&lt;br /&gt;
* [http://www.lancos.com/siprogsch.html SI-Prog Originalversion]&lt;br /&gt;
* [http://s-huehn.de/elektronik/avr-prog/avr-prog.htm Schaltplan und Erläuterungen]&lt;br /&gt;
&lt;br /&gt;
==== Sercon2 ====&lt;br /&gt;
&lt;br /&gt;
Mit einer etwas anderen Steckerbelegung als der SI-Prog arbeitet die Sercon Familie an Adaptern. Nähere Unterlagen dazu finden sich &lt;br /&gt;
[http://www.speedy-bl.com/adapter.htm hier]&lt;br /&gt;
&lt;br /&gt;
==== Selbstbau-Programmer, basierend auf dem FTDI chip (via avrdude) ====&lt;br /&gt;
http://irq5.wordpress.com/2010/07/15/programming-the-attiny10/&lt;br /&gt;
&lt;br /&gt;
=== USB ===&lt;br /&gt;
&lt;br /&gt;
Die meisten USB-Programmieradapter verwenden einen USB-seriell-Wandler und ein STK500/AVRPROG-kompatibles Protokoll und können damit direkt aus dem AVR-Studio programmiert werden.&lt;br /&gt;
&lt;br /&gt;
Eine Quick-and-Dirty Programmierlösung bietet der [[#USB-Hub-ISP]], der außer einem USB-Hub nur Standard-Bauteile voraussetzt.&lt;br /&gt;
&lt;br /&gt;
==== Atmel AVRISP MKII ====&lt;br /&gt;
&lt;br /&gt;
Nachfolger des Atmel AVRISP &amp;quot;MKI&amp;quot;. Mit USB-Schnittstelle, leistungsfähigerem Programmiercontroller und erweitertem Hardwareschutz. Programmiersoftware: [[AVR-Studio]] und [[AVRDUDE]]. Herstellerinformation bei [http://www.atmel.com/dyn/products/tools_card.asp?family_id=607&amp;amp;family_name=AVR+8%2DBit+RISC+&amp;amp;tool_id=3808 atmel.com]&lt;br /&gt;
&lt;br /&gt;
Der AVRISP MKII führt ca. 1s nach dem Einschalten der Versorgungsspannung einen Reset aus. Lässt man den Programmer beim Testen der Schaltung gesteckt und startet diese durch Einschalten von Vcc, kann dies zu unangenehmen Nebeneffekten führen. Z.B. wird eine gerade angelaufene Datenübertragung nach 1s abrupt abgebrochen, startet neu und läuft danach fehlerfrei. &lt;br /&gt;
&lt;br /&gt;
Dave Jones hat im EEVblog #158 ein [http://www.eevblog.com/2011/03/25/eevblog-158-avr-isp-mk2-lm317-regulator-tutorial/ Videotutorial] erstellt, wie man beim Atmel AVRISP &amp;quot;MKI&amp;quot; mit dem LM317 Spannungsregler 3.3V oder 5V Versorgungsspannungen für das Targetboard nachrüstet. Im Video schlägt Dave als bessere Lösung die Verwendung eines Low-Drop-Spannungsreglers vor. Dafür eignet sich z.B. der [http://www.mikrocontroller.net/part/LM1117 LM1117]&lt;br /&gt;
&lt;br /&gt;
Weiter unten auf dieser Seite wird auch ein einfacher, kompatibler Nachbau namens [http://www.mikrocontroller.net/articles/AVR_In_System_Programmer#usbprog usbprog] vorgestellt.&lt;br /&gt;
&lt;br /&gt;
==== Atmel ICE ====&lt;br /&gt;
&lt;br /&gt;
Der neueste Programmier- und Debugadapter heißt Atmel ICE. Er war teilweise billiger als der AVR Dragon, heute ist er ziemlich teuer geworden. Er hat ein Gehäuse, gut geschützte Eingänge und kann auch ARM Controller von Atmel programmieren. Er ist heute die bessere Wahl gegenüber einem mittlerweile eher veralteten AVR Dragon. Kaufen kann man ihn hier:&lt;br /&gt;
&lt;br /&gt;
* [https://de.rs-online.com/web/p/programmiermodul-ics/1306123/ RS]  Bestellnummer 130-6123, 100,95 EUR&lt;br /&gt;
* [https://www.chip45.com/products/atmel-ice-basic_avr_atmega_xmega_sam_arm_cortex-m_isp_pdi_tpi_awire_jtag_usb_programmieradapter_on-chip_debugger.php?de chip45], Bestellnummer: atmel-ice-basic, 79 EUR&lt;br /&gt;
* [https://www.chip45.com/products/atmel-ice-pcba_avr_atmega_xmega_sam_arm_cortex-m_isp_pdi_tpi_awire_jtag_usb_programmieradapter_on-chip_debugger.php chip45], Bestellnummer: atmel-ice-pcba, 49 EUR&lt;br /&gt;
&lt;br /&gt;
Atmel ICE ist ab Atmel Studio 6 lauffähig.&lt;br /&gt;
&lt;br /&gt;
* [https://www.microchip.com/developmenttools/ProductDetails/atatmel-ice Atmel-ICE]&lt;br /&gt;
* Unterstützt JTAG, SWD, PDI, TPI, aWire, ISP und debugWIRE interfaces&lt;br /&gt;
* Volles Source Level Debugging im Atmel Studio&lt;br /&gt;
* Unterstützt alle eingebauten Hardwarebreakpoints im Microcontroller &lt;br /&gt;
* Bis zu 128 Software Breakpoints&lt;br /&gt;
* 1.62 bis 5.5V Betrieb&lt;br /&gt;
* Stromversorgung über USB&lt;br /&gt;
* Ziel Mikrocontroller wird nicht versorgt, extra Spannungsversorgung notwendig&lt;br /&gt;
* Verfügt sowohl über ARM Cortex Debug Connector (10-pin) als auch AVR JTAG&lt;br /&gt;
* Im Basic Kit ist ein [https://www.mikrocontroller.net/articles/Datei:ATATMEL-ICE-CABLE.jpg Anschlußkabel] mit einem Stecker mit 2x3 Pins für ISP (0.1 Zoll Raster) sowie 2x5 für JTAG (0.05 Zoll Raster) enthalten.&lt;br /&gt;
* Es gibt mehrere Möglichkeiten, sich seinen eigenen Adapter für die Kabel zu verschaffen. Achtung! Beim Atmel ICE Kabel sind die Stecker gegeneinander verdreht, es ist KEIN 1:1 Kabel! (Atmel, warum hast du das getan?)&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/goto_post/4509403 Eigenbau]&lt;br /&gt;
** [https://www.adafruit.com/product/2743 Adafruit Industries]&lt;br /&gt;
** [https://www.exp-tech.de/zubehoer/kabel/sonstige/6121/10-pin-2x5-socket-socket-1.27mm-idc-swd-cable-150mm-long High Density Flachbandkabel]&lt;br /&gt;
** [https://www.exp-tech.de/module/schnittstellen/6727/swd-2x5-1.27mm-cable-breakout-board Adapter]&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/392815?goto=new#4625909 Noch ein Eigenbau]&lt;br /&gt;
** [https://www.tindie.com/products/A_K/adapter-for-debugger-atmel-ice-or-jtagice3/ Adapter auf 10pol und 6pol im 2,54mm Raster]&lt;br /&gt;
&lt;br /&gt;
==== Atmel AVR Dragon ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hauptartikel [[AVR-Dragon]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3891 AVR Dragon] ist ein preiswerter ISP (und ICE) von Atmel, der aufgrund Preis/Leistungs-Verhältnisses schnell populär wurde. Atmel wurde von dieser Popularität überrascht, da der Dragon wohl ursprünglich nur als ein &amp;quot;Gimmick&amp;quot; zur Verbreitung von AVRs in Asien gedacht war.&lt;br /&gt;
&lt;br /&gt;
Die großen Vorteile des Dragons sind, dass er alle Programmiermodi beherrscht, inklusive High-Voltage Parallel Programming (&amp;quot;verfuste&amp;quot; AVRs retten), dass er ein natives USB-Interface hat, von AVR-Studio unterstützt wird, und sogar [[JTAG]] und [[debugWIRE]] ICE / Debugging unterstützt (bei den AVRs die dies können). &lt;br /&gt;
&lt;br /&gt;
Zu den größten bekannten Nachteilen gehören, dass der Dragon völlig &amp;quot;nackt&amp;quot; kommt. Kein USB-Kabel, kein Gehäuse, nicht einmal Abstandsbolzen unter der Platine, keine Patchkabel und nicht einmal die Fassungen zum Einstecken von AVRs sind bestückt. Eine gedruckte Anleitung gibt es auch nicht. Daneben wird aufgrund des Stromverbrauchs des Dragon ein USB-Hub mit Netzteil benötigt.&lt;br /&gt;
&lt;br /&gt;
Weiter ist der Dragon dafür bekannt, empfindlich auf statische Aufladungen zu reagieren. Ein Spannungsregler und ein Ausgangstreiber gehen dabei besonders gerne kaputt. Ein gerne von Anfängern gemachter Fehler ist es, den Dragon im Betrieb auf dem mitgelieferten &amp;quot;Schaumstoff&amp;quot; aus der Verpackung liegen zu lassen. Das ist jedoch kein Schaumstoff, sondern leitendes Moosgummi.&lt;br /&gt;
&lt;br /&gt;
Weitere Schutzmaßnahmen für gefährdete AVR Dragons findet man auf der Dragonlair-Seite von [http://www.aplomb.nl/TechStuff/Dragon/Dragon.html Nard Awater].&lt;br /&gt;
&lt;br /&gt;
Der Dragon wird unter Linux z.&amp;amp;nbsp;B. von der avrdude-Programmiersoftware unterstützt. Unerklärlicherweise stellt Atmel die Dokumentation und Beschreibung des Dragon nur als Teil der Online-Hilfe der AVR-Studio Software unter Windows zur Verfügung. Weiterhin lassen sich Firmware-Updates auch nur mittels eine proprietären Atmel-Software unter Windows einspielen. Daher ist der Dragon für Linux-Benutzer nur dann zu empfehlen, wenn man zusätzlich noch Zugriff auf eine Windows-Installation hat.&lt;br /&gt;
&lt;br /&gt;
==== Atmel AT90USBKEY ====&lt;br /&gt;
&lt;br /&gt;
Mit hilfe des [http://www.fourwalledcubicle.com/AVRISP.php AVRISP-MKII Clone] Projekts aus dem [http://www.fourwalledcubicle.com/LUFA.php LUFA] Paket wird aus dem [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3879 AT90USBKEY] recht einfach ein Programmer, der mit [[AVR-Studio]] und [[AVRDUDE]] genutzt werden kann.&lt;br /&gt;
&lt;br /&gt;
==== AVRISP mkII Klon mit dem Teensy-Board und der Lufa-Bibliothek ====&lt;br /&gt;
&lt;br /&gt;
Mit der [http://www.fourwalledcubicle.com/LUFA.php LUFA-Bibliothek] und dem [http://www.pjrc.com/teensy TEENSY 2.0 Board] kann schnell ein AVRISP mk2 Klon gebaut werden, der auch mit [[AVR-Studio]] in Windows einwandfrei  zusammenarbeitet. Weitere Infos auf [http://www.weigu.lu/b/avrispmk2 weigu.lu].&lt;br /&gt;
==== AVRISP mkII Klon mit dem Atmega32U2-Breakout-Board und der Lufa-Bibliothek ====&lt;br /&gt;
&lt;br /&gt;
Mit der [http://www.fourwalledcubicle.com/LUFA.php LUFA-Bibliothek] ([http://dokuwiki.ehajo.de/artikel:atmega_u-howto:avrisp-mkii Eine Anleitung gibt es hier]) und dem [http://www.ehajo.de/Bausaetze/Atmega32u2-Breakout-Board Atmega32U2-Breakout-Board] kann problemlos ein AVRISP mkII-Klon programmiert werden. Um praktisch auf die Programmierpins zugreifen zu können gibt es [http://www.ehajo.de/Bausaetze/ISP-Addon-Atmega%2AU2-Breakout dieses Addon-Board] für das Breakout-Board. Der Programmer läuft problemlos mit [[AVR-Studio]] unter Windows.&lt;br /&gt;
&lt;br /&gt;
=== Universal ATMEL AVR ISP programmer ===&lt;br /&gt;
&lt;br /&gt;
Das V-USB basierte universelle USB Programmiergerät ist kompatibel mit so gut wie allen gängigen AVR Microcontrollern und bietet neben dem 6-poligen und dem 10-poligen ISP Stecker auch die Möglichkeit Controller im DIL Gehäuse außerhalb der Targetschaltung zu flashen.&lt;br /&gt;
Das kostengünstige Gerät funktioniert unter Windows zusammen mit AVR Studio genauso problemlos wie mit Open-Source Tools wie AVRDude unter Windows, LINUX und MAC OS. &lt;br /&gt;
Vertrieben wird das universelle Programmiergerät über Tindie wo Einzelstücke häufig sogar kostenlos bestellt werden können.&lt;br /&gt;
&lt;br /&gt;
[https://www.tindie.com/products/heilingch/universal-atmel-avr-isp-programmer/ Universal-Atmel-AVR-ISP-Programmer]&lt;br /&gt;
&lt;br /&gt;
==== Bascom USB ISP ====&lt;br /&gt;
&lt;br /&gt;
Beliebter USB programmer der speziell für den Bascom Compiler entwickelt wurde. &lt;br /&gt;
Unterstützt Bascom einen neuen AVR-Controller, so kann dies automatisch auch dieser USB Programmer, eine neue Firmware ist nicht erforderlich. Ein weiterer Vorteil ist, dass er speziell für Bascom entwickelt wurde und in der IDE unterstützt wird. Er unterstützt alle Features von Bascom, auch die automatische Fusebit-Einstellung per Direktive im Quellcode.&lt;br /&gt;
&lt;br /&gt;
Angenehm ist auch, dass er keine 5V benötigt. Im Gegenteil, er kann sogar Boards über das übliche ISP-Programmierkabel mit 5V versorgen, so dass viele Boards auch ohne weitere Spannungsquelle programmiert werden können. &lt;br /&gt;
Ein wirklich empfehlenswerter Qualitätsprogrammer für alle Programmierer, die ausschließlich mit Bascom arbeiten wollen&lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&amp;amp;products_id=161 Vertrieb in Deutschland bei robotikhardware.de]&lt;br /&gt;
&lt;br /&gt;
Im Online- / Auktionshandel werden auch Alternativen angeboten, teils recht schick im Plexiglasgehäuse für ca. 20 Euro. Angeboten z.&amp;amp;nbsp;B. als &amp;quot;USB 2.0 Full Speed low cost Programmer für ATMEGA Chips&amp;quot; oder &amp;quot;AVR USB ISP Programmer ATMEL ATMEGA STK500&amp;quot;. Die Adapter funktionieren auch mit BasCom (aber auch mit AVR Studio), z.&amp;amp;nbsp;B. mit der Einstellung &amp;quot;STK500 native driver&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Man kann die Targetspannungsversorgung per USB zwischen 3,3 und 5V umschalten oder ganz abschalten (per DIP-Schalter). Sie sind per USB an den PC angeschlossen und arbeiten über einen virtuellen COM-Port. Achtung: In BasCom funktioniert das nur bis COM9. Wenn sich das Gerät z.&amp;amp;nbsp;B. auf COM15 installiert, wird es im BasCom evtl. nicht gefunden. Dann in der Systemsteuerung entsprechend umstellen.&lt;br /&gt;
==== USBisp ====&lt;br /&gt;
&lt;br /&gt;
AVR Programmierdongle mit USB Anschluss und kompatibel zum STK500-Protokoll. Unter anderem programmierbar mit [[AVR-Studio]], [[AVRDUDE]] und [[uisp]]. Schaltplan (PDF), Layout (PDF), Erläuterungen und Firmware gibt es vom Entwickler [http://www.matwei.de Matthias Weißer].&lt;br /&gt;
&lt;br /&gt;
==== USB avrisp ====&lt;br /&gt;
&lt;br /&gt;
USB AVR Programmer auf Basis des AVR 910 Designs. Den Schaltplan, Layout und Erläuterungen (englisch) gibt es von [http://www.e.kth.se/~joakimar/hardware.html Joakim Arfvidsson].&lt;br /&gt;
&lt;br /&gt;
==== Evertool ====&lt;br /&gt;
&lt;br /&gt;
Mit USB-seriell-Wandler. Getestet mit Adapterkabeln/ICs von FTDI, SiLabs und Prolific (Adapterkabel z.&amp;amp;nbsp;B. für ca. 10EUR bei Reichelt).&lt;br /&gt;
&lt;br /&gt;
* [http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/ Evertool-&amp;quot;Homepage&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==== USBasp ====&lt;br /&gt;
&lt;br /&gt;
Thomas Fischls [http://www.fischl.de/usbasp/ USBasp] ist ein&lt;br /&gt;
Openhardware-/Openfirmware-USB-ISP-Adapter. Er basiert auf einem&lt;br /&gt;
ATmega8, ATmega8L, ATmega88 oder ATtiny85, der mittels einer rein auf Firmware&lt;br /&gt;
basierenden USB-Implementierung von&lt;br /&gt;
[http://www.obdev.at/products/avrusb/index.html Objective Development]&lt;br /&gt;
arbeitet. &lt;br /&gt;
&lt;br /&gt;
Bezugsquellen:&lt;br /&gt;
* Ein [http://www.FundF.net/usbasp/ offizieller USBasp Bausatz] ist erhältlich.&lt;br /&gt;
* Alternative Bausätze inkl. Dokumentation gibt es bei [http://www.b-redemann.de/download.shtml www.b-redemann.de], [http://shop.ulrichradig.de/Bausaetze/USB-ASP-Bausatz.html shop.ulrichradig.de] und [https://guloshop.de/shop/index.php guloshop.de].&lt;br /&gt;
* Eine MacOS X Anpassung stammt von [http://www.macsven.de/usbasp.html Sven Schwiecker]. Man kann aber auch das Komplettpaket Crosspack-AVR, in dem AVRDUDE für Mac OS X bereits enthalten ist, von [http://www.obdev.at/products/crosspack/index-de.html obdev.at] benutzen&lt;br /&gt;
* Chinesische Clones von [http://www.ebay.de/sch/i.html?_from=R40&amp;amp;_sacat=0&amp;amp;_nkw=usbasp&amp;amp;rt=nc&amp;amp;LH_BIN=1 Ebay].&lt;br /&gt;
* Bei [http://www.ramser-elektro.at/produkt-kategorie/programmer-und-zubehoer/ Ramser Elektrotechnik] ist er auch erhältlich.&lt;br /&gt;
&lt;br /&gt;
Zum Ansteuern des USBasp wird [[AVRDUDE]] in einem speziellen Modus benötigt, der ab Version 5.2 standardmäßig vorhanden ist (vorher waren&lt;br /&gt;
Patches nötig).&lt;br /&gt;
&lt;br /&gt;
Zum Programmieren von neuen ATtinys muss der Jumper Slow SCK gesetzt werden.&lt;br /&gt;
Alternativ ist es möglich mit der zusätzlichen Option von avrdude &amp;quot;-B100&amp;quot; die Periodendauer von SCK auf etwa 100 µs oder noch länger zu vergrößern (funktioniert nur, wenn die Firmware des USBasp vom Mai 2011 oder neuer ist).&lt;br /&gt;
&lt;br /&gt;
Der originale USBasp hat den Nachteil, dass er nicht die Targetspannung zum Programmieren benutzt, sondern immer seine 5V. Deshalb kann es Probleme geben, wenn das Target mit einer niedrigen Spannung versorgt wird, da der USBasp die Target-Highpegel eventuell nicht mehr als High erkennt. Abhilfe kann ein kleiner Hack schaffen, mit dem der µC wahlweise mit 5V oder mit ~3.6V betrieben wird:&lt;br /&gt;
http://www.mikrocontroller.net/topic/109648?goto=2031524#2031524&lt;br /&gt;
&lt;br /&gt;
Der [http://diy.elektroda.eu/usbasp-z-optoizolacja-do-25kv-18v-6v/?lang=en Optoisolated USBASP 1.8V to 6V] ist eine Hardwareänderung ebenfalls mit breitem Targetspannungsbereich und zusätzlich galvanischer Isolation über die [[Optokoppler]] 6N317 (schnelle Datenleitungen) und PC817 (langsame Resetleitung).&lt;br /&gt;
&lt;br /&gt;
Manche USBasp sind umschaltbar zwischen 5 V und 3,3 V. Falls man später darüber eine Schaltung mit 3,3 Volt betreiben will – etwa zum direkten Ansprechen einer SD-Karte – lohnt gezieltes Nachfragen vor dem Kauf.&lt;br /&gt;
&lt;br /&gt;
Mit der STK500v2 Firmware des kompatiblen USB-AVR Lab (nicht die AVRISP-MKii Version!), funktioniert die Hardware mit dem AVRStudio 6.x unter Windows7 (auch 64Bit) (allerdings ist die Treiberinstallation schwierig)&lt;br /&gt;
&lt;br /&gt;
==== AvrUsb500 ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.tuxgraphics.org/electronics/200510/article05101.shtml AvrUsb500] - an open source Atmel AVR Programmer, stk500 V2 compatible, with USB interface&lt;br /&gt;
* [http://www.mechaos.de/avr_progusb.php meCHAOS] - Nachbau mit neuem Platinenlayout und weiteren Funktionen.&lt;br /&gt;
&lt;br /&gt;
==== usbprog ====&lt;br /&gt;
&lt;br /&gt;
Achtung: Scheint nicht mehr vertrieben zu werden, der Link zum Shop führt zu einer Fehlermeldung. 07.10.2018&amp;lt;br&amp;gt;&lt;br /&gt;
Fast alle Webseiten zum usbprog sind verschwunden, die letzen Reste sind:&amp;lt;br&amp;gt;&lt;br /&gt;
https://code.google.com/archive/p/usbprog/ (vor allem Quelltexte und die Linuxversion von 2010)&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/ykhalyavin/usbprog/tree/master/usbprog (ebenfalls Quellen, zuletzt vor 10 Jahren geändert)&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.bwalle.de/website/usbprog.html u.a. das vermutlich letzte Handbuch von 2014&amp;lt;br&amp;gt;&lt;br /&gt;
Diskussionen zum usbprog hier im Forum:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.mikrocontroller.net/topic/233689&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.mikrocontroller.net/topic/89469&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.mikrocontroller.net/topic/368928&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.mikrocontroller.net/topic/399242&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.mikrocontroller.net/topic/303214&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.mikrocontroller.net/topic/195677&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.mikrocontroller.net/topic/319561&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.usbprog.org/ usbprog] von Benedikt Sauter ist ein USB Programmieradapter, der fast alle Atmel-Mikrocontroller unterstützt (ATiny, ATMega, AT89, AT90,&amp;amp;nbsp;...) und daneben auch für ARM7/9 und MSP universell einsetzbar ist.&lt;br /&gt;
&lt;br /&gt;
Der Programmer wurde so entwickelt, dass man die Firmware auf dem Adapter über die USB-Verbindung austauschen kann. Dadurch sollte der Adapter lange attraktiv bleiben, da alles rund um das Projekt als open Source veröffentlicht ist und daher neue Controller einfach in die usbprog-Firmware integriert werden können.&lt;br /&gt;
Es ensteht gerade eine Firmware für einen einfachen JTAG-Adapter. Damit kann man dann ganz einfach debuggen (voraussichtlich auch aus dem AVR Studio aus).&lt;br /&gt;
&lt;br /&gt;
Man kann den Adapter auch als 1:1 AVRISP-mkII-kompatibles Gerät betreiben. Dafür muss man eine andere Firmware einspielen, die ebenfalls Teil des Projektes ist. Der Vorteil ist der, dass man so auf jede bestehende Programmiersoftware zurückgreifen kann, die das originale AVRISP mkII unterstützt. Getestet wurde usbprog bis jetzt mit avrdude (Linux und Windows) und dem AVR Studio 4 (Windows).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Damit der Programmer mit AVR Studio 5.x zusammen arbeitet, muss die Firmware aktualisiert werden: http://www.usbprog.org/index.php/Firmwares (siehe Update-Hinweis)&lt;br /&gt;
&lt;br /&gt;
Derzeit kann man bei der embedded projects GmbH die Versionen 3.3 und 4.0 bestellen. Näheres im [http://www.usbprog.org/index.php/Hardware Projekt-Wiki].&lt;br /&gt;
&lt;br /&gt;
==== AVR-Doper ====&lt;br /&gt;
&lt;br /&gt;
[https://www.obdev.at/products/vusb/avrdoper.html AVR-Doper] kann neben ISP auch im High-Voltage Serial Mode als [[AVR HV-Programmer]] programmieren. Rein auf Firmware basierende USB-Implementierung. BUS-Powered. Einseitige Platine und damit auch für Selbstbauer geeignet. Verwendet einen Mega8 zur Steuerung des Programmers. Ist kompatibel zu AVR-Studio durch STK500-Protokoll.&lt;br /&gt;
&lt;br /&gt;
==== USB AVR-Lab ====&lt;br /&gt;
&lt;br /&gt;
[http://www.ullihome.de/index.php/Hauptseite#USB_AVR-Lab USB AVR-Lab] besteht aus einer sehr einfachen Hardware, usb wird in Software gemacht. Mit einem Bootloader nebst Applikation kann die Funktion des Lab´s zwischen &lt;br /&gt;
&lt;br /&gt;
*AVRISPmkII kompatiblem Programmer (AVR Studio, Linux, MacOS)&lt;br /&gt;
*JTAGICEmkII kompatibler AVR Programmer (AVR Studio, Linux, MacOS) (keine AVR32, kein Xmega)&lt;br /&gt;
*OpenOCD Interface (sehr viel ARM Controller, PLD´s, FPGA´s)&lt;br /&gt;
*STK500v2 kompatiblem Programmer (AVR Studio 6.x auch Windows 7)&lt;br /&gt;
*USBasp kompatiblem Programmer (Linux, MacOS)&lt;br /&gt;
*JTAG Boundary Scan Interface + Software&lt;br /&gt;
*RS232/RS485 Wandler&lt;br /&gt;
*I2C Logger&lt;br /&gt;
*I2C Interface (zur benutzung aus eigenen Programmen)&lt;br /&gt;
*Oszi&lt;br /&gt;
*6-Kanal Logik Analyzer (in Entwicklung)&lt;br /&gt;
*Labornetzteil (in Entwicklung)&lt;br /&gt;
&lt;br /&gt;
getauscht werden. Mit der STK500v2 kompatiblen Firmware kann der Programmer direkt aus dem AVR Studio (auch 6.x und Windows 7) heraus voll kompatibel zum AVR-ISP mkII arbeiten.&lt;br /&gt;
Zusätzlich bietet der Programmer den virtuellen Com Port als Debug Port an solange nicht geflasht wird. Man kann also direkt mit dem Terminalprogramm auf seinen AVR zugreifen über den ISP Adapter.&lt;br /&gt;
Dieser Modus wird von jeder ISP Firmware unterstützt.&lt;br /&gt;
Statusanzeige des Targets (angeschlossen, falsch angeschlossen, nicht angeschlossen), max. 3 Mhz ISP Freq. Das Ganze ist sehr günstig in der Beschaffung (10 Eur Bauteile bei Reichelt + 3,5 Eur Platine von ullihome.de, oder 15 Eur bestückt von ullihome.de)&lt;br /&gt;
&lt;br /&gt;
==== USBtinyISP ====&lt;br /&gt;
&lt;br /&gt;
[http://www.ladyada.net/make/usbtinyisp/ USBtinyISP] ist ein preiswerter (ca. 16$ für die Bauteile) AVR ISP Programmer und SPI Interface auf open-source Basis. Als Software kann z.B. AVRDUDE oder AVRStudio verwendet werden. Der Programmer wurde auf Windows, MacOS X und Ubuntu (ab 9.04) getestet. Bei Adafruit sind auch Selbstbaukits erhältlich.&lt;br /&gt;
Eine miniaturisierte Version findet sich hier [http://www.mikrocontroller.net/articles/AVR-ISP-Stick www.mikrocontroller.net/articles/AVR-ISP-Stick]. Diese ist ab 6,90€ als Bausatz bei [http://www.ehajo.de/Bausaetze/AVR-ISP-Stick eHaJo.de] erhältlich.&lt;br /&gt;
&lt;br /&gt;
==== UCOM-IR ====&lt;br /&gt;
&lt;br /&gt;
Der [http://www.nibo-roboter.de/wiki/UCOM-IR UCOM-IR] Programmieradapter ist ein kommerzieller Bausatz (ca. 25 €), der auf einem AT90USB162 basiert. Durch die Verwendung des STK500v2 Protokolls kann zur Programmierung sowohl das [[AVR-Studio]] wie auch [[AVRDUDE]] verwendet werden. Zusätzlich hat der Adapter einen IR-Empfänger und zwei Sendedioden, die zur Kommunikation und zur Fernsteuerung verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
==== Selbstbau-Programmer, basierend auf dem vUSB stack ====&lt;br /&gt;
&lt;br /&gt;
http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;amp;file=viewtopic&amp;amp;t=90498&lt;br /&gt;
&lt;br /&gt;
==== USB-Hub-ISP ====&lt;br /&gt;
&lt;br /&gt;
HUB ISP - Solving the USB-Only &amp;quot;Chicken or Egg&amp;quot; Problem:&amp;lt;br&amp;gt;&lt;br /&gt;
HUB ISP can write an AVR chip using only a USB hub, one cheap/common logic chip, and a few resistors.&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.pjrc.com/hub_isp/&lt;br /&gt;
&lt;br /&gt;
==== Launchprog ====&lt;br /&gt;
&lt;br /&gt;
Der [[Launchprog]] ist ein AVR-ISP-Programmer nach der Atmel AVR910-Appnote, der auf einem [http://processors.wiki.ti.com/index.php?title=MSP430_LaunchPad_%28MSP-EXP430G2%29 TI Launchpad 1.4] mit dem beiliegenden [http://www.ti.com/product/msp430g2211 MSP430G2211] und dem beiliegenden Uhrenquarz läuft. Nach außen hin ist der [[Launchprog]] wie ein AVR910 zu verwenden. Allerdings muss die Geschwindigkeit der seriellen Schnittstelle auf 9600 Baud eingestelllt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Beispiel der avrdude-Kommandozeile: &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;avrdude -c avr910 -b 9600 -P &amp;lt;PORT&amp;gt; -p &amp;lt;PART&amp;gt; -U &amp;lt;KOMMANDO&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== mySmartUSB ====&lt;br /&gt;
&lt;br /&gt;
Der mySmartUSB Programmer von myAVR ist ein kompakter ISP Programmer mit USB Anschluss (der Preis liegt bei 28€). Lt. Hersteller kann er auch für die Kommunikation via UART, TWI, SPI verwendet werden (hab ich noch nicht probiert).&lt;br /&gt;
&lt;br /&gt;
ich aber: Beim Schreiben der Fuse Bits musste ich das Tool myAVR_ProgTool.exe verwenden &lt;br /&gt;
&lt;br /&gt;
Mit avrdude ist das Schreiben der Fuse-Bits mit dem AVR910-Modus möglich.&lt;br /&gt;
 &lt;br /&gt;
avrdude-Kommandozeile :&lt;br /&gt;
&#039;&#039;avrdude -c avr910 -P PORT -p PART -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Achtung:&#039;&#039;&#039; Die neuere Version (mySmartUSB MK3) scheint mit der aktuellen Firmwareversion noch große Probleme mit ISP zu haben (siehe Postings im Supportforum: http://myavr.info/myForum/viewforum.php?f=8). Solange diese Probleme nicht ausgemerzt sind, sollte man auf die ältere Version (mySmartUSB MK2) oder ein anderes Produkt ausweichen.&lt;br /&gt;
&lt;br /&gt;
==== mySmartUSB light ====&lt;br /&gt;
&lt;br /&gt;
Preiswerter (ca. 15 €) Programmer im USB-Stick Design von myAVR. Der mySmartUSB light verfügt über eine Auto-Speed Funktion die die Frequenz des Programmers automatisch an die Taktfrequenz des Controllers anpasst.&lt;br /&gt;
Der Programmer kann 5V und 3.3V Systeme programmieren, Treiber gibt es für Windows, Linux und MacOS X und unterstützt wird je nach Firmware-Version das STK500v2 oder AVR910/911 Protokoll.&lt;br /&gt;
&lt;br /&gt;
==== Amadeus-USB ====&lt;br /&gt;
&lt;br /&gt;
[http://home.arcor.de/bernhard.michelis Amadeus-USB] ist ein ISP-Programmer zum Selberbauen. Er unterstützt eine Vielzahl von AVRs und verfügt über ein eigenes User-Interface. Der Programmer enthält einen einfach zu bedienenden Fuse-Editor. Sollte man einmal die falschen Clock-Einstellungen vorgenommen haben, ist das kein Problem, da der Programmer über eine Takterzeugung verfügt, mit der man den AVR wiederbeleben kann.&lt;br /&gt;
Auch wer mit niedrigen Taktraten arbeitet (z.&amp;amp;nbsp;B. 32kHz), kann einen ATmega64 in ca. 4,8 Sekunden programmieren und vergleichen. Darüber hinaus kann mit geeigneten Makros die Programmausführung getracet werden. Die maximale Programmierdauer beträgt bei einem ATmega64 mit 16MHz Quarz 3,1 Sekunden, wenn der gesamte Speicher geschrieben und verglichen werden muss. Ist das Programm kleiner, geht es natürlich schneller ;-) Für einen ATTiny2313 oder ATTiny24 braucht er weniger als eine Sekunde.&lt;br /&gt;
&lt;br /&gt;
==== AVR-ISP-Stick ====&lt;br /&gt;
&lt;br /&gt;
Der [http://www.ehajo.de/Bausaetze/AVR-ISP-Stick AVR-ISP-Stick] ist ein OpenSource/CC-Projekt und eine sehr günstige (6,90€!) Alternative zu den restlichen Programmieradaptern auf dem Markt. Er ist als Bausatz erhältlich und bereits über 100 mal im produktiven Einsatz.&lt;br /&gt;
&lt;br /&gt;
==== µISP-Stick ====&lt;br /&gt;
&lt;br /&gt;
Der [http://www.ehajo.de/Bausaetze/µISP-Stick µISP-Stick] ist die Weiterentwicklung des AVR-ISP-Sticks. Für 9,90€ bekommt man hier einen vorbestückten Bausatz an dem nur noch die bedrahteten Stecker angelötet werden müssen.&lt;br /&gt;
&lt;br /&gt;
==== Arduino ISP Shield ====&lt;br /&gt;
&lt;br /&gt;
Ein Arduino-Board kann mit dem entsprechenden Sketch und einfachen Jumperwires oder einem komfortablen Shield benutzt werden, um AVRs ohne [[Bootloader]] zu flashen. Eine Anleitung dazu wird bei [http://www.open-electronics.org/arduino-isp-in-system-programming-and-stand-alone-circuits/ www.open-electronics.org] und [http://hlt.media.mit.edu/?p=1229 hlt.media.mit.edu] (via [http://www.mikrocontroller.net/topic/252620#2598960]) gegeben.&lt;br /&gt;
&lt;br /&gt;
==== aTeVaL-Board ====&lt;br /&gt;
&lt;br /&gt;
Das [http://www.ehajo.de/Bausaetze/aTeVaL aTeVaL-Board] ist die Weiterentwicklung des Atmel Evalboards von Pollin. Damit lassen sich problemlos alle bedrahteten AVR-Controller programmieren. Der Programmer ist ein AVR-ISP-mkii-Clon und somit 100% kompatibel mit dem Atmelstudio. Für eigene Platinen ist ein 6- und 10-poliger ISP-Stecker vorhanden.&lt;br /&gt;
&lt;br /&gt;
==== USP-Stick ====&lt;br /&gt;
&lt;br /&gt;
Der [http://www.ehajo.de/Bausaetze/USP-Stick USP-Stick] ist ein sehr kleiner Programmieradapter, der in ein USB-A-Gehäuse passt. Er beruht auf der bewährten Hardware des AVR-ISP-Sticks (attiny2313 + quarz) und ist für 4,90€ erhältlich.&lt;br /&gt;
&lt;br /&gt;
==== guloprog USB-Programmer und Signalwandler ====&lt;br /&gt;
&lt;br /&gt;
Unter dem Namen [https://guloshop.de/shop/Mikrocontroller-Programmierung/guloprog-der-Programmer-von-guloshop-de::70.html guloprog] wird eine kleine Platine angeboten, die einen USB-Programmer und einen [https://guloshop.de/shop/USB-TTL-ADC-PWM-Signalwandler:::10.html Signalwandler] vereint. Der Programmer wird per USB angeschlossen und meldet sich als Fischl-kompatibler usbasp.&lt;br /&gt;
&lt;br /&gt;
Die Signalwandlerfunktion bietet voneinander unabhängige einfache Schalt- und Abfragemöglichkeiten für die vier sonst zum Programmieren verwendeten Anschlüsse. Jede Leitung kann per Tastatur-Kommando einen Ausgang auf 0 Volt oder auf 5 Volt setzen oder &amp;quot;dimmen&amp;quot; (PWM in Schritten von 0 bis 100%). Alle Anschlüsse können als Digital-Eingang verwendet werden, drei davon wahlweise als Analog-Eingang. Die gemessenen Werte lassen sich ebenfalls per Kommandozeile abfragen und auf diese Weise leicht in andere PC-Programme einbinden (Linux, Mac, Windows).&lt;br /&gt;
&lt;br /&gt;
Herzstück ist ein ATtiny85, der im Gegensatz zu allen ATmegas und fast allen ATtinys auch über den internen RC-Oszillator mit 16 MHz betrieben werden kann. Ein Quarz ist daher nicht erforderlich. Die für V-USB erforderliche Genauigkeit erreicht der Programmer über einen Synchronisationsschritt, der bei jedem Start automatischen durchlaufen wird. Die Firmware steht unter einer freien Lizenz, es werden nur sehr wenige Bauteile benötigt, so dass sich dieser Programmer auch recht gut für den Nachbau eignet. Schaltungs- und softwaretechnisch besteht praktisch Baugleichheit zum [[Bierdeckel-Programmer]].&lt;br /&gt;
&lt;br /&gt;
=== Microchip SNAP ===&lt;br /&gt;
[[Datei:SNAP.jpg|thumb|right|250px|Das &#039;&#039;Microchip SNAP&#039;&#039; (ca. 30€) enthält per USB ansprechbaren Programmer (in Circuit emulation).]]&lt;br /&gt;
Der &#039;&#039;&#039;Microchip SNAP&#039;&#039;&#039; wurde eigentlich ursprünglich für die &#039;&#039;&#039;Microchip MPU&#039;s&#039;&#039;&#039; wie &#039;&#039;&#039;PIC&#039;&#039;&#039; und Co gebaut.&amp;lt;br&amp;gt;&lt;br /&gt;
Seit der Übernahme von &#039;&#039;&#039;ATMEHL&#039;&#039;&#039; durch &#039;&#039;&#039;Microchip&#039;&#039;&#039; werden nun aber, nach ein par zwingend notwendigen Modifikationen,&amp;lt;br&amp;gt;&lt;br /&gt;
auch &#039;&#039;&#039;ATMEHL&#039;&#039;&#039; Chips unterstützt.&amp;lt;br&amp;gt;&lt;br /&gt;
Interessant ist dies weil der SAP ein sehr Kostengünstiges Tool ist, und sowohl vom &#039;&#039;&#039;Microchip IDE&#039;&#039;&#039; wie auch von &#039;&#039;&#039;Microchip Studio&#039;&#039;&#039; unterstützt wird.&lt;br /&gt;
&lt;br /&gt;
Wichtig sind aber dass die &#039;&#039;&#039;Modifikationen&#039;&#039;&#039;, wie sie im Dokument [https://ww1.microchip.com/downloads/en/DeviceDoc/ETN36_MPLAB%20Snap%20AVR%20Interface%20Modification.pdf] genau beschrieben sind, auch gemacht werden.&lt;br /&gt;
dazu ist auch der nur geratene einbau des 10kOhm Widerstand wichtig, den ohne besteht die warscheinlichkeit zu 95%, dass der SNAB nicht wie gewünscht funktioniert.&lt;br /&gt;
Besonders für die &#039;&#039;&#039;ATtiny&#039;&#039;&#039; Serie welche über &#039;&#039;&#039;TPI&#039;&#039;&#039; programmiert werden muss, erleidet man ohne die Notwendigen Änderungen &#039;&#039;Schiffbruch&#039;&#039;. &lt;br /&gt;
Im Kurzüberblick sind das folgende Änderungen:&lt;br /&gt;
# Entfernen von &#039;&#039;&#039;R48&#039;&#039;&#039;&lt;br /&gt;
# Einfügen eines 10kOhm wiederstand zwischen &#039;&#039;&#039;Pin 2&#039;&#039;&#039; und &#039;&#039;&#039;Pin 4&#039;&#039;&#039; auf dem &#039;&#039;&#039;SNAP&#039;&#039;&#039; Board&lt;br /&gt;
# Softwareupdate auf dem SNAP (Gibt im AVR Studio eine extra Funktion dazu).&lt;br /&gt;
# Unbenenen des &#039;&#039;&#039;SNAP&#039;&#039;&#039; Programmer im &#039;&#039;&#039;Microchip Studio&#039;&#039;&#039; von &#039;&#039;&#039;PIC&#039;&#039;&#039; zu &#039;&#039;&#039;AVR&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wurden diese Änderungen vorgenommen, hat man ein gut funktionierendes günstiges Bastlertool.&lt;br /&gt;
Es gibt mittlerweile sogar Firmen die dieses Tool in der Produktion erfolgreich zur Serien-Programmierung einsetzen.&lt;br /&gt;
&lt;br /&gt;
=== Standalone ===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Geräte verfügen über interne Speicher, auf denen der zu programmierende Maschinencode abgelegt werden kann. Zum &amp;quot;flashen&amp;quot; selbst ist keine Verbindung zwischen Arbeitsplatzrechner bzw. Notebook und Programmiergerät erforderlich. &lt;br /&gt;
&lt;br /&gt;
==== roloFlash (kommerziell) ====&lt;br /&gt;
[http://www.halec.de/roloFlash/?ref=wiki_isp.mikrocontroller.net roloFlash] wird mit einer microSD-Karte bestückt, die die zu flashenden Daten enthält. Dadurch können unabhängig von einem PC an jedem beliebigen Ort AVR-Controller geflasht werden.&lt;br /&gt;
&lt;br /&gt;
In einem ersten Schritt wird die microSD-Karte vorbereitet. Durch die auf dem roloFlash eingebaute Scriptsprache roloBasic lässt sich der gewünschte Ablauf sehr flexibel festlegen.&lt;br /&gt;
&lt;br /&gt;
Nun kann roloFlash irgendwo anders ohne PC AVR-Controller flashen. Dabei geben 5 zweifarbigen LEDs Auskunft über den Fortschritt bzw. das Ergebnis des Flash-Prozesses. Fehlbedienungen sind unmöglich, da es keine Bedienelemente gibt.&lt;br /&gt;
&lt;br /&gt;
Einsatzgebiete:&lt;br /&gt;
* Produktion&lt;br /&gt;
* Fehlbedienungssichere Updates beim Kunden&lt;br /&gt;
&lt;br /&gt;
==== TheCableAVR-SD (kommerziell) ====&lt;br /&gt;
[http://www.priio.com/productcart/pc/viewPrd.asp?idcategory=6&amp;amp;idproduct=88 TheCableAVR-SD]  works by saving the &amp;quot;ISP&amp;quot;, &amp;quot;HEX&amp;quot; and &amp;quot;EEP&amp;quot; files required for part programming from the PC application onto an SD-Card and inserting it into TheCableAVR-SD. This programmer is stand alone, making it very handy for field software updates and production programming. &lt;br /&gt;
&lt;br /&gt;
Wird 4/2012 scheinbar nicht mehr verkauft ([http://www.mikrocontroller.net/topic/257278#2657606 Forumsbeitrag Priio AVR Programmer?]).&lt;br /&gt;
&lt;br /&gt;
==== ButtLoad ====&lt;br /&gt;
[http://www.fourwalledcubicle.com/ButtLoad.php ButtLoad] is based on the Atmel [[AVR Butterfly]] development board. ButtLoad is specially written firmware which converts a low-cost official Atmel Butterfly evaluation board into a smart ISP programmer for other members of the Atmel AVR family. It supports the entire AVR range, and allows for a complete program (including EEP, HEX, Fuse and Lock Bytes) to be stored and later programmed into a device from the Butterfly&#039;s on board non-volatile memory.&lt;br /&gt;
&lt;br /&gt;
[http://www.fourwalledcubicle.com/ButtLoad.php ButtLoad] basiert auf dem Atmel-[[AVR Butterfly]]-development board und ist eine spezielle Firmware, die ein (billiges) Atmel-Butterfly-Board in einen vollwertigen ISP-Programmierer für andere Controller der Atmel-AVR-Familie verwandelt. Es unterstützt den gesamten AVR-Bereich und erlaubt, ein Programm komplett mit EEP, HEX, Sicherungs- und Lock-Bytes im nichtflüchtigen on-board-Speicher des Butterflys abzulegen und dann von dort heraus die Controller zu programmieren.&lt;br /&gt;
&lt;br /&gt;
==== PalmAVR ====&lt;br /&gt;
* siehe [http://www.mikrocontroller.net/topic/77870#648376 Forenbeitrag]&lt;br /&gt;
&lt;br /&gt;
==== ISPnub (Open Source) ====&lt;br /&gt;
[http://www.fischl.de/ispnub/ ISPnub - Stand-alone AVR In-System-Programmer Module] besteht aus einem AVR in dessen Flash ein Programmierskript geladen wird. Der eigentliche Programmiervorgang wird über einen Tastendruck ausgelöst. Die Zahl der Programmierzyklen kann beschränkt werden (z.B. auf ein Fertigungslos beschränkt).&lt;br /&gt;
&lt;br /&gt;
==== AVR-ISP500, AVR-ISP500 tiny ====&lt;br /&gt;
von Olimex, siehe&lt;br /&gt;
* [http://www.olimex.com/dev/avr-isp500-iso.html Herstellerseite zum ISP500] &lt;br /&gt;
* [http://www.olimex.com/dev/avr-isp500-tiny.html Herstellerseite zum ISP500-TINY]&lt;br /&gt;
&lt;br /&gt;
=== Geschwindigkeitsvergleich ===&lt;br /&gt;
&lt;br /&gt;
Im Rahmen einer Forendiskussion entstand die folgende Messung, die&lt;br /&gt;
einige der möglichen Programmer in ihrer Geschwindigkeit vergleicht.&lt;br /&gt;
Mit einbezogen in den Vergleich wurde neben originalen&lt;br /&gt;
Atmel-ISP-Werkzeugen noch Werkzeuge für [[JTAG#AVR_JTAG|JTAG]].&lt;br /&gt;
&lt;br /&gt;
Die Testdatei war 29704 Bytes groß.  Target ist ein ATmega6490, der&lt;br /&gt;
mit 8 MHz vom RC-Oszillator getaktet wird.  Das alles wurde mit einem&lt;br /&gt;
AVRDUDE 5.5 getestet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Programmer     Parameter         Zeit fürs&lt;br /&gt;
                              Schreiben  Lesen&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
JTAG ICE mkII  default        2,58 s     3,27 s&lt;br /&gt;
JTAG           (4 MHz)&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
JTAG ICE mkII  1 MHz          8,34 s     8,51 s   (**)&lt;br /&gt;
ISP&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
AVRISP mkII    250 kHz        5,37 s     5,46 s&lt;br /&gt;
               1 MHz          2,45 s     2,45 s&lt;br /&gt;
               2 MHz          1,89 s     1,99 s&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
STK500         900 kHz        5,84 s     3,49 s&lt;br /&gt;
               (schnellstes)&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
AVR Dragon     default        2,81 s     3,49 s&lt;br /&gt;
JTAG           (4 MHz)&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
AVR Dragon     1 MHz          8,34 s     8,64 s&lt;br /&gt;
ISP            2 MHz          -          -        (*)&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
Parallelport-  keine Delay   13,20 s    12,45 s   (**)&lt;br /&gt;
Dongle &amp;quot;alf&amp;quot;   CPU 900 MHz&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(*) Benutzung unmöglich, weder Fuses noch Signature zuverlässig&lt;br /&gt;
lesbar.&lt;br /&gt;
&lt;br /&gt;
(**) Fuses und Signature OK, aber das programmierte Ergebnis ist&lt;br /&gt;
fehlerhaft (verify errors)&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.myplace.nu/avr/yaap/ yaap] (Windows, diverse Parallelport-Programmer, GUI)&lt;br /&gt;
* [[Pony-Prog Tutorial|PonyProg]] (Linux, Windows, diverse Programmer für den parallelen und seriellen Port, GUI, am seriellen Port nur &amp;quot;Statuspinwackler&amp;quot; nach dem Schaltplan auf der lancos-Seite)&lt;br /&gt;
* [http://www.soft-land.de/index.php?page=avrburner AVRBurner] Ponyprog ähnliche Oberfläche für AVRDUDE.&lt;br /&gt;
* [http://www.nongnu.org/avrdude AVRDUDE] (Unix, Linux, Windows, praktisch alle Programmer, leicht erweiterbar auf andere Parallelportadapter-Anschlussbelegungen, Kommandozeile, auch für AVR Butterfly über dessen vorinstallierten Bootloader/Firmware-Uploader) siehe im Wiki [[AVRDUDE]]&lt;br /&gt;
* [http://savannah.nongnu.org/projects/uisp uisp] (Unix, Linux, Windows, praktisch alle Programmer, Kommandozeile, nicht mehr gepflegt).&lt;br /&gt;
* AVR-Studio (nur Programmieradapter mit integriertem Controller für den seriellen Port, z.&amp;amp;nbsp;B. AVR910, ATMEL AVRISP und STK500)&lt;br /&gt;
* [http://www.mcselec.com Eingebauter Programmer im Bascom-Basic Compiler]&lt;br /&gt;
* [http://esnips.com/web/AtmelAVR AvrOspII] - GUI Open Source programmer based on Atmels Application note AVR911.&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/60817 Forumsbeitrag] - Wie man Ponyprog aus dem AVR-Studio heraus nutzt&lt;br /&gt;
* [http://www.cadmaniac.org/projectMain.php?projectName=kontrollerlab Kontrollerlab] - (Linux), Grafische Oberfläche zu avr-gcc, uisp, avrdude und kate mit built-in debugger und serial terminal. Einfach verständlich und aufgeräumt (im KDE-Stil)&lt;br /&gt;
* [http://shop.myavr.de/index.php?sp=download.sp.php&amp;amp;suchwort=dl112 myAVRProgTool] - Freies Programmiertool und zusätzlich auch als DUDE-GUI geeignet, einfach zu bedienen&lt;br /&gt;
* [http://dybkowski.net/isp ISP Programmer] von Adam Dybkowski (Opensource, Windows 95, 98, Me, NT 4.0, 2000, XP, 2003, Vista and Windows 7 (32-bit and 64-bit versions))&lt;br /&gt;
* [http://andreas-weschenfelder.de.vu/Homepage/Version_3/index.php?section=PC_Delphi_FT2232_AtmelISP.html FT2232 ISP Flasher] von Andreas Weschenfelder (Windows 95, 98, Me, NT 4.0, 2000, XP, 2003, Vista and Windows 7 (32-bit and 64-bit versions)), verwendet das MPSSE Protokoll der FTDI Chips zur ISP Programmierung&lt;br /&gt;
* [http://andreas-weschenfelder.de.vu/Homepage/Version_3/index.php?section=Android_FTDI_AVR_Programmer.html Atmel ISP Flasher for Android] von Andreas Weschenfelder (Android 4.1.1), verwendet das MPSSE Protokoll der FTDI Chips zur ISP Programmierung, KEINE root-Rechte erforderlich&lt;br /&gt;
&lt;br /&gt;
==Universelle Programmieradapter==&lt;br /&gt;
&lt;br /&gt;
Oftmals ist es nötig einen SMD oder bedrahteten Mikrocontroller ausserhalb einer Schaltung zu programmieren. Zum Beispiel wenn vor dem einlöten ein Bootloader in den Mikrocontroller gebrannt wird. Dafür gibt es spezielle Adapter, welche mit Jumpwires frei verdrahtet werden können. Dadurch kann der Adapter an den jeweils benötigten Mikrocontroller angepasst werden, ohne aufwendig eine eigene Paltine entwerfen zu müssen oder Kontaktfehler wie auf einem Breadboard befürchten zu müssen. Solche Adapter sind bei diversen Anbieters erhältlich.&lt;br /&gt;
* [http://www.ramser-elektro.at/shop/programmer-und-zubehoer/bausatz-universeller-icsp-isp-adapter-fuer-avr-und-pic-mikrocontroller/ Bausatz] für universellen Adapter mit ZIF Sockel für Atmel und Microchip µC&lt;br /&gt;
* Universeller [https://www.conrad.de/de/universal-programmieradapter-avr-schwenkhebler-fuer-dil-avr-controller-und-10pol-isp-anschluss-diamex-7204-842383.html Adapter mit ZIF Sockel] für Atmel µC&lt;br /&gt;
* [https://hobbyking.com/de_de/atmel-atmega-socket-firmware-flashing-tool.html AVR Sockel] zum preiswerten Programmieren von ATmega 48/8/88/168/328 im TQFP44 Gehäuse&lt;br /&gt;
* [http://www.tag-connect.com/ Tag Connect], universeller Programmierstecker mit 6, 10 oder 14 Pins und kleinstem Platzbedarf ohne Gegenstück (nur Testpunkte und Löcher, siehe [https://www.mikrocontroller.net/attachment/182509/demo-pcb.jpg Demoboard])&lt;br /&gt;
&lt;br /&gt;
== ISP-Pins am AVR auch für andere Zwecke nutzen ==&lt;br /&gt;
&lt;br /&gt;
Bei einem Programmer mit eingebautem [[Ausgangsstufen_Logik-ICs#Tristate|Tristate]]-Treiber (z.&amp;amp;nbsp;B. 74HC(T)244) werden die Leitungen MISO, MOSI und SCK hochohmig geschaltet wenn die Programmierung beendet ist, d.h. sie beeinflussen die Schaltung nicht. Man kann die betreffenden Pins am AVR also relativ problemlos als Ausgänge verwenden, wenn man darauf achtet, dass die daran angeschlossene Peripherie durch die Programmierimpulse keinen Schaden nehmen kann. Als Eingänge sollte man die Pins allerdings nicht verwenden, da ein angeschlossener Taster zum Beispiel die Programmierimpulse kurzschließen würde, wenn er gedrückt ist.&lt;br /&gt;
&lt;br /&gt;
Atmel empfiehlt in der Application Note [http://www.atmel.com/images/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf AVR042: AVR Hardware Design Considerations (PDF)] Peripherie an der SPI-Schnittstelle, bei gleichzeitiger Verwendung der Schnittstelle als In-System-Programmieranschluss, über Widerstände anzuschliessen.&lt;br /&gt;
&lt;br /&gt;
Ein Widerstand in SCK ist in diesem Zusammenhang aber nur dann sinnvoll, wenn am AVR ein externer SPI-Master hängt, denn nur dann kann ein Konflikt zwischen diesem SCK treibenden Master und dem ebenfalls SCK treibenden ISP auftreten. Ist der AVR hingegen wie üblich selbst der Master, dann ist ein Konflikt ausgeschlossen. Das gleiche gilt für MOSI.&lt;br /&gt;
&lt;br /&gt;
Bei MISO kann ein Konflikt nur auftreten, wenn diese Leitung vom Slave in der ISP-Phase aktiv treibend sein kann. Das ist beispielsweise bei Porterweiterungen (Inputs) mit Schieberegistern der Fall, wenn der&lt;br /&gt;
Datenausgang des Schieberegisters nicht passivierbar ist (tristate, Z-state). Dann ist ein Serienwiderstand in MISO sinnvoll.&lt;br /&gt;
&lt;br /&gt;
Normale SPI-Slaves mit CS-Leitung, wie ADCs, passivieren jedoch ihren Datenausgang wenn CS inaktiv ist. In diesem Fall ist ein Serienwiderstand in MISO unnötig, es muss nur über schwache Pullup-Widerstände an allen relevanten CS Leitungen sichergestellt sein, dass sie während Reset hochgezogen werden. Manche SPI-Slaves haben die bereits an Bord. Die internen Pullups im AVR sind keine Hilfe, da sie während Reset abgeschaltet sind.&lt;br /&gt;
&lt;br /&gt;
siehe auch [http://www.mikrocontroller.net/articles/AVR_HV-Programmer AVR HV-Programmer]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Programmer und -Bootloader| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_In_System_Programmer&amp;diff=104607</id>
		<title>AVR In System Programmer</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_In_System_Programmer&amp;diff=104607"/>
		<updated>2021-07-24T07:28:40Z</updated>

		<summary type="html">&lt;p&gt;Pali64: Neu einfügen des SNAP von Microchip als Programmer / Debugger&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
&lt;br /&gt;
In-System-Programming (ISP) bedeutet, einen Mikrocontroller oder anderen programmierbaren Baustein im eingebauten Zustand zu programmieren. Dazu muss der Mikrocontroller entsprechend beschaltet sein. Das bedeutet, die benötigten Anschlüsse am Mikrocontroller müssen zugänglich und nicht ohne weitere Vorkehrungen anderweitig benutzt sein - siehe [http://www.atmel.com/Images/Atmel-2521-AVR-Hardware-Design-Considerations_ApplicationNote_AVR042.pdf Atmel Application Note AVR042].&lt;br /&gt;
&lt;br /&gt;
Atmel verwendet für ihre 8-Bit RISC Mikrocontroller zum Teil unterschiedliche ISP-Protokolle. Das bekannteste davon wird einfach als ISP bezeichnet. Insgesamt findet man:&lt;br /&gt;
&lt;br /&gt;
;ISP:Der Normalfall. Bei vielen, aber nicht allen AVRs teilen sich [[SPI]]- und ISP-Schnittstelle die Pins. Je nach AVR gibt es leichte Unterschiede im Protokoll. Das Protokoll für einen Typ ist im Datenblatt unter &#039;&#039;Memory Programming -&amp;gt; Serial Downloading&#039;&#039; beschrieben.&lt;br /&gt;
;TPI:Tiny Programming Interface. Einige AVRs der Tiny-Serie, besonders die 6-Pin Tinys.&lt;br /&gt;
;PDI:Programming and Debugging Interface. Die XMEGAs.&lt;br /&gt;
;UPDI:Unified Program and Debug Interface. Quasi alle neueren AVRs der Tiny- und Mega-Reihe.&lt;br /&gt;
;JTAG:AVRs mit [[JTAG]] Debugging-Schnittstelle lassen sich auch über JTAG in-system-programmieren.&lt;br /&gt;
;Bootloader:Einige wenige AVRs kommen bereits mit einem einprogrammierten [[Bootloader]]. Bei diesen kann man ein zum Bootloader passendes Programm nutzen um den AVR über eine im Bootloader definierte Schnittstelle zu programmieren. Auf Bootloadern basierende Systeme haben ansonsten ein Henne-Ei Problem. Irgendwie muss der Bootloader einmal konventionell in den AVR programmiert werden, zum Beispiel mit ISP.&lt;br /&gt;
&lt;br /&gt;
Atmels [[debugWire]] ist keine Programmierschnittstelle, sondern eine reines Debugging-Interface. Zum Programmieren verwendet man bei AVRs mit debugWire daher normalerweise ISP.&lt;br /&gt;
&lt;br /&gt;
Atmel hat für die AVR 8-Bit RISC Mikrocontroller mehrere Application Notes herausgegeben, auf deren Basis eine Vielzahl von Programmiergeräten (&#039;&#039;programmer&#039;&#039;) entwickelt wurden. &lt;br /&gt;
&lt;br /&gt;
Natürlich liefert Atmel auch eigene, fertige Programmiergeräte ([https://www.microchip.com/DevelopmentTools/ProductDetails/ATATMEL-ICE Atmel-ICE], AVRISP (mk I), AVRISP mk II, [[AVR-Dragon]], ...), Programmiersoftware (AVRProg, AVR Studio) und Entwicklungsboards mit integriertem Programmiergerät (z.&amp;amp;nbsp;B. [[STK500]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;color:darkred;&amp;quot;&amp;gt;&amp;lt;big&amp;gt;FAQ/Tipp: &#039;&#039;&#039;&amp;quot;Welchen ISP-Adapter sollte man sich zulegen oder bauen?&amp;quot;&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man sollte sich einen fertigen, original Atmel (keinen Clone) ISP-Adapter kaufen. Zum Beispiel für ISP (und PDI) Programmierung &#039;&#039;&#039;Atmels original [[AVR_In_System_Programmer#Atmel_AVRISP_MKII|AVRISP mkII]] für rund 36,- Euro&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Das ist eine Investition, die viel Zeit und Ärger spart, denn es geht nichts über zuverlässiges Werkzeug. Beim Umgang mit µCs ist es sehr frustrierend an drei Fronten gleichzeitig zu kämpfen:&lt;br /&gt;
# Bugs in der Software, &lt;br /&gt;
# Bugs in der Schaltung und &lt;br /&gt;
# Bugs/Probleme beim ISP-Adapter-/PC-Gespann.&lt;br /&gt;
&lt;br /&gt;
Wenigstens Probleme mit dem ISP-Adapter lassen sich durch den Kauf eines zuverlässigen ISP-Adapters eliminieren. Siehe auch diverse Forenbeiträge u.a. [http://www.mikrocontroller.net/topic/91042#778908] und [http://www.mikrocontroller.net/topic/153841#1447882].&lt;br /&gt;
&lt;br /&gt;
Sehr unzuverlässig sind häufig billige oder selbstgebaute Programmierkabel mit nichts außer ein paar Widerständen. Unzuverlässig sind häufig auch billige oder selbstgebaute Programmierkabel mit einem einfachen Bustreiber. Nur weil sie bei manchen funktionieren heißt das nicht, dass sie überall problemlos funktionieren.&lt;br /&gt;
&lt;br /&gt;
Parallelport- (Druckerport-) ISP-Adapter funktionieren gar nicht, wenn man sie mit einem USB &amp;lt;-&amp;gt; Druckerport Adapter an einen USB-Port am PC anschließt. Einfach (unintelligente) ISP-Adapter für die serielle Schnittstelle funktionieren gar nicht oder extrem langsam, wenn man sie mit einem USB &amp;lt;-&amp;gt; Seriell Adapter am PC anschließt. Gute intelligente serielle Programmieradapter, wie der in Atmels STK500 eingebaute, funktionieren normalerweise mit einem USB-Adapter.&lt;br /&gt;
&lt;br /&gt;
Bei allen Programmieradaptern mit eigener Firmware, einschließlich der Original-Adapter von Atmel, ist man darauf angewiesen, dass der Hersteller wenn nötig Firmware-Updates bereitstellt. Bei Clones ist die Versorgung mit Firmware manchmal fraglich. &lt;br /&gt;
&lt;br /&gt;
Oftmals funktionieren auch die Treiber der Clones unter 64-Bit Betriebssystem nicht richtig oder nur mit Tricks, die leider wichtige Sicherheitsfunktionen des Betriebssystem abschalten. Der [[AVR_In_System_Programmer#Atmel_AVRISP_MKII|AVRISP mkII]] funktioniert dagegen auch unter Windows 7 (64-Bit).&lt;br /&gt;
&lt;br /&gt;
== Application Notes ==&lt;br /&gt;
* [https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en591739 AVR910 (Microchip AN 0943)] [http://ww1.microchip.com/downloads/en/AppNotes/Atmel-0943-In-System-Programming_ApplicationNote_AVR910.pdf (Als PDF)] &amp;quot;&#039;&#039;Low-cost&#039;&#039;&amp;quot; &#039;&#039;In-system programming&#039;&#039; (&#039;&#039;&#039;AVRISP&#039;&#039;&#039;) beschreibt einen einfachen, kostengünstigen Programmieradapter zur Übertragung von Programmen in den Mikrocontroller. Auf dem Programmer befindet sich ein Mikrocontroller (natürlich von Atmel ;-), der serielle Steuerkommandos und Daten vom PC in Programmiersignale für den Mikrocontroller umsetzt.&lt;br /&gt;
&lt;br /&gt;
* [https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en591218 AVR911 (Microchip AN 2568)] [http://ww1.microchip.com/downloads/en/AppNotes/doc2568.pdf (Als PDF)] &#039;&#039;Open source serial programmer&#039;&#039; (&#039;&#039;&#039;AVROSP&#039;&#039;&#039;) beschreibt eine &#039;&#039;open source&#039;&#039; Programmiersoftware zur Übertragung von Programmen in den Mikrocontroller. &lt;br /&gt;
&lt;br /&gt;
* [https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en591230 AVR109 (Microchip AN1644)] [http://ww1.microchip.com/downloads/en/AppNotes/doc1644.pdf (Als PDF)] &#039;&#039;Self-Programming&#039;&#039; mit Hilfe eines [[Bootloader|Bootloaders]]. Hier wird im Mikrocontroller zunächst ein mikrocontroller-spezifisches Bootloader-Programm abgelegt. Dieses Programm empfängt das eigentliche Benutzerprogramm oder Daten z.&amp;amp;nbsp;B. über einen seriellen Anschluss ([[UART]]), legt es ggf. im Speicher (Flash-ROM, EEPROM) ab und führt ggf. anschliessend das Benutzerprogramm aus.&lt;br /&gt;
&lt;br /&gt;
== Pinbelegung ==&lt;br /&gt;
===ISP===&lt;br /&gt;
Die Standard-Pinbelegung des ISP-Steckers zum Anschluss des Mikrocontrollers sieht nach obigen Application Notes und der [http://www.atmel.com/images/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf AVR042 (Microchip AN2519)] [http://ww1.microchip.com/downloads/en/Appnotes/AN2519-AVR-Microcontroller-Hardware-Design-Considerations-00002519B.pdf (Als PDF)] folgendermaßen aus (Anschluss auf der Platine, Ansicht von oben). Atmel bevorzugt dabei bereits seit Jahren den 6-poligen Anschluss.&lt;br /&gt;
&lt;br /&gt;
[[Bild:avr-isp-pinout.png|right]]&lt;br /&gt;
  &lt;br /&gt;
  10-poliger       6-poliger&lt;br /&gt;
  Anschluss        Anschluss&lt;br /&gt;
  &lt;br /&gt;
  1 MOSI           1 MISO&lt;br /&gt;
  2 VCC            2 VCC&lt;br /&gt;
  3 - (*)          3 SCK&lt;br /&gt;
  4,6,8,10 GND     4 MOSI&lt;br /&gt;
  5 RESET          5 RESET&lt;br /&gt;
  7 SCK            6 GND&lt;br /&gt;
  9 MISO&lt;br /&gt;
&lt;br /&gt;
Pin 1 ist am Pfostenstecker mit einem kleinen Pfeil gekennzeichnet.&lt;br /&gt;
&lt;br /&gt;
Um Verwechslungen zu vermeiden, empfiehlt es sich, für die einzelnen Leitungen unterschiedliche Farben zu verwenden. Atmel hat dafür keine Festlegung getroffen, so dass es keinen festen Standard gibt. Üblich ist jedoch eine Farbzuordnung wie beim [https://guloshop.de/shop/Mikrocontroller-Programmierung/guloboard-G6::5.html guloboard]:&lt;br /&gt;
&lt;br /&gt;
  1 MISO  weiß&lt;br /&gt;
  2 VCC   rot&lt;br /&gt;
  3 SCK   blau&lt;br /&gt;
  4 MOSI  grün&lt;br /&gt;
  5 RESET gelb&lt;br /&gt;
  6 GND   schwarz&lt;br /&gt;
&lt;br /&gt;
(*) Einige Programmieradapter (Ponyprog-Adapter nach Lancos-Schaltplan) unterstützen an Pin 3 des 10-poligen Steckers eine LED (Kathode an Pin), die &amp;quot;Programmierzugriff&amp;quot; signalisieren soll. Dies ist aber kaum nützlich, daher wird der Pin auch von Atmel als N/C (not connected) definiert und beim original Atmel AVRISP mit GND verbunden.&lt;br /&gt;
&lt;br /&gt;
Der 10-polige Anschluss wurde von der Firma Kanda beim STK200 verwendet und ist deshalb auch als &amp;quot;Kanda-Standard&amp;quot; bekannt und war zur Zeit der STK200 Programmieradapter relativ weit verbreitet. Die Anschlussbelegung über einen 6-poligen Stecker stammt von Atmel selbst und ist platzsparender auf der Platine.&lt;br /&gt;
&lt;br /&gt;
Am besten kauft oder fertigt man sich einen Adapter 6 &amp;lt;-&amp;gt; 10 (siehe [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=190], [http://www.watterott.com/de/AVR-ISP-Programmieradapter], [http://www.watterott.com/de/AVR-Programmier-Kabel], [https://guloshop.de/shop/Adapterkabel/Programmieradapterkabel-6-polig-10-polig-lang::9.html]), dann lassen sich praktisch alle Boards mit jedem Programmer programmieren.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Kabeloben.jpg]]&lt;br /&gt;
[[Datei:Kabelunten.jpg]]&lt;br /&gt;
[[Datei:isp_kab.jpg]]&lt;br /&gt;
&lt;br /&gt;
Zehnpolige Messerleisten (Wannenstecker) zur Montage auf einer µC Platine zum verpolungssicheren Anschluss des Programmieradapters sind fast &amp;quot;überall&amp;quot; verfügbar, nach den sechspoligen muss man häufig etwas suchen. Mittlerweile sind sie endlich bei Reichelt erhältlich (WSL 6G).&amp;lt;br/&amp;gt;&lt;br /&gt;
Alternativ bleibt der Griff zu den nicht verpolungssicheren 2xN Stiftleisten (z.&amp;amp;nbsp;B. 2x40), wobei man eine Stiftleiste auf 2x3 Pole kürzt.&lt;br /&gt;
Man kann auch aus zehnpoligen die äußeren pins  ( 2 rechts, 2 links) einfach rausdrücken, dann passt der sechspolige Stecker in die Buchse. Verpolungsschutz besteht weiterhin.&lt;br /&gt;
&lt;br /&gt;
Sechspolige Federleisten (Pfostenbuchsen) zum Anquetschen an ein Programmierkabel sind dagegen zumindest bei den großen Versendern und Distributoren erhältlich (z.&amp;amp;nbsp;B. von Bürklin  Art.53F3500; Conrad Art.701980-62; Farnell Art.1097021; Reichelt PFL 6). Kleine lokale Elektronikläden führen diese jedoch häufig nicht. Zu den sechpoligen Pfostenbuchsen gibt es keine Alternative, wenn man ein sechpoliges Programmierkabel bauen möchte. Zehnpolige Pfostenbuchsen lassen sich nicht auf sechs Pole kürzen. &lt;br /&gt;
&lt;br /&gt;
Je nach Programmieradapter hat der VCC-Anschluss unterschiedliche Funktionen:&lt;br /&gt;
&lt;br /&gt;
1. Versorgung des Programmieradapters mit Strom aus der Schaltung, wie es bei vielen Parallelport-Adaptern der Fall ist.&lt;br /&gt;
&lt;br /&gt;
2. Versorgung der Schaltung mit Strom aus dem Programmieradapter. Dies ist insbesondere beim STK500 möglich und dank dessen programmierbarer Versorgungsspannung manchmal ganz praktisch. &lt;br /&gt;
&lt;br /&gt;
3. Messung der Betriebsspannung der Schaltung, so dass der Programmieradapter sich auf diese Spannung einstellen kann und so ein 3,3 V Board mit 3,3 V und ein 5 V Board mit 5 V programmiert. So wie zum Beispiel beim AVRISP mkII. Daher wird VCC auf neueren Schaltbildern auch als Vtg oder VTref bezeichnet (Atmel kann sich da nicht auf eine Bezeichnung einigen).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Je nach verwendetem Programmer muss man daher sorgfältig auf die Beschaltung von VCC/Vtg/VTref und auf die Stromversorgung von Board und Programmer achten.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/301971#3234822 Forumsbeitrag]: Extrem kleiner ISP Header, wie?&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/145711#1352516 Forumsbeitrag]: Kleinserie: ISP Programmierung mögl. ohne Stecker&lt;br /&gt;
*[https://www.mikrocontroller.net/topic/510348#6563298 Forumsbeitrag]: Kleinstmögliche ISP-Kontakte&lt;br /&gt;
&lt;br /&gt;
===TPI===&lt;br /&gt;
&lt;br /&gt;
Die TPI-Programmierung setzt sich aus mehreren Schichten zusammen: Hardware (Ansteuerung der IO-Pins), Speicher-Management (stellt Funktionen zum Flashen bereit) und der Speicher selbst.&lt;br /&gt;
&lt;br /&gt;
  Data  1 2 VCC&lt;br /&gt;
  Clock 3 4 N.C.&lt;br /&gt;
  Reset 5 6 GND&lt;br /&gt;
&lt;br /&gt;
Standard TPI connector used on e.g. STK600 and AVRISP mkII.&lt;br /&gt;
&lt;br /&gt;
===PDI===&lt;br /&gt;
====Atmel Board-Schnittstelle &amp;amp; AVRISP MkII ====&lt;br /&gt;
Für Mikrocontroller-Boards schlägt Atmel einen 6-Pin Header, 2,54 mm Raster, mit folgender Pinbelegung vor (Ansicht von Oben):&lt;br /&gt;
&lt;br /&gt;
 DATA  1 2  VCC&lt;br /&gt;
 N.C.  3 4  N.C.&lt;br /&gt;
  CLK  5 6  GND&lt;br /&gt;
&lt;br /&gt;
(N.C.: Not Connected, nicht verbunden). Diese Belegung wird auch von Atmels AVRISP MkII im PDI-Modus verwendet.&lt;br /&gt;
&lt;br /&gt;
Bei Atmels eigenem XPlain Eval-Kit und anderen Programmieradaptern geht es zur Zeit jedoch noch fröhlich durcheinander. Folgende Pinbelegungen lassen sich finden.&lt;br /&gt;
&lt;br /&gt;
====Atmel XPlain Eval-Board====&lt;br /&gt;
&lt;br /&gt;
Hier hat Atmel die Xmega PDI- und JTAG-Schnittstelle gemeinsam auf den Header J100 gelegt. Die PDI-Belegung ist wie folgt:&lt;br /&gt;
&lt;br /&gt;
       1  2  GND&lt;br /&gt;
       3  4  VCC&lt;br /&gt;
       5  6  CLK&lt;br /&gt;
  VCC  7  &#039;&#039;&#039;8  DATA&#039;&#039;&#039;&lt;br /&gt;
       9 10  GND&lt;br /&gt;
&lt;br /&gt;
Nur jeweils ein VCC- und ein GND-Anschluss muss verwendet werden. Es bieten sich die Pins 2 und 4 an.&lt;br /&gt;
&lt;br /&gt;
Man beachte die Position von DATA auf Pin 8 bei dieser Belegung von PDI auf dem XPlain JTAG-Header.&lt;br /&gt;
&lt;br /&gt;
====Atmel JTAGICE MkII====&lt;br /&gt;
&lt;br /&gt;
Einige sehr alte JTAGICE MkII unterstützen kein PDI. Alle neueren, in den letzten Jahren hergestellte tun es. Eventuell ist ein Firmware-Upgrade über AVR-Studio nötig.&lt;br /&gt;
&lt;br /&gt;
Laut [http://support.atmel.no/knowledgebase/avrstudiohelp/mergedProjects/JTAGICEmkII/mkII/Html/Connecting_to_target_through_the_PDI_interface.htm] und der eingebauten Hilfe von [[AVR Studio]] 4.18 SP 1 verwendet ein JTAGICE MkII im PDI-Modus folgende Pinbelegung:&lt;br /&gt;
&lt;br /&gt;
       1  2  GND&lt;br /&gt;
       3  4  VTref&lt;br /&gt;
       5  6  CLK&lt;br /&gt;
       7  8&lt;br /&gt;
 &#039;&#039;&#039;DATA  9&#039;&#039;&#039; 10  GND&lt;br /&gt;
&lt;br /&gt;
Man beachte, dass DATA hier angeblich auf Pin 9 liegt. (VTref dürfte VCC entsprechen). In der Hilfe zu AVR Studio 4.18 SP 1 ist der Pin CLK mit PDI_CLK, und der Pin DATA mit PDI_DATA bezeichnet.&lt;br /&gt;
&lt;br /&gt;
====Atmel AVR Dragon====&lt;br /&gt;
&lt;br /&gt;
Erst mit der Dragon-Firmware im SP 1 für AVR Studio 4.18 soll der PDI-Support des [[AVR Dragon]] funktionieren. Angekündigt war PDI-Support bereits für AVR Studio 4.18. &lt;br /&gt;
&lt;br /&gt;
Leider hat Atmel es versäumt in der Dragon-Dokumentation die Pinbelegung für PDI auf der Seite des Dragon anzugeben. In der Studio-Dokumentation ist von einem ominösen Dragon PDI Adapter die Rede, der Teil des &amp;quot;Dragon Kit&amp;quot; sein soll. Allerdings wird der Dragon &#039;nackt&#039; ausgeliefert und bisher gibt es keine Berichte darüber, dass jemand diesen ominösen Adapter gesehen hat. Von neueren Versionen des JTAGICE mkII ist hingegen bekannt, dass sie mit einem &#039;&#039;XMEGA PDI adapter kit&#039;&#039; geliefert werden.&lt;br /&gt;
&lt;br /&gt;
Angeblich ist es nötig, beim Dragon jeweils einen 330Ω Widerstand in die CLK und DATA Leitung zu legen, um Probleme mit dem Überschwingen der Signale zu vermeiden.&lt;br /&gt;
&lt;br /&gt;
===UPDI===&lt;br /&gt;
&lt;br /&gt;
UPDI ist der Nachfolger der PDI-Schnittstelle und kommt nunmehr mit drei Verbindungen aus: Einem bi-direktionalen Datenbus sowie zwei Anschlüssen für die Versorgungsspannung.&lt;br /&gt;
&lt;br /&gt;
====Atmel-ICE====&lt;br /&gt;
&lt;br /&gt;
Für Mikrocontroller-Boards schlägt Atmel die Verwendung eines 6-Pin Headers im 2,54 mm-Raster mit folgender Pinbelegung vor (Ansicht von oben; der Stecker hat am Pin 3 eine Rastnase zum verpolungssicheren Einstecken). Wie üblich gilt N.C. = Not Connected, d.h. nicht verbunden:&lt;br /&gt;
&lt;br /&gt;
  DATA  1 2  VCC&lt;br /&gt;
  N.C.  3 4  N.C.&lt;br /&gt;
  N.C.  5 6  GND&lt;br /&gt;
&lt;br /&gt;
== Programmer-Varianten ==&lt;br /&gt;
&lt;br /&gt;
Mittlerweile existiert eine fast unüberschaubare Zahl von Programmer-Varianten und Untervarianten. Hier sollen nur die wichtigsten Varianten mit Bauanleitungen aufgelistet werden, geordnet nach der Art des Anschlusses an den PC.&lt;br /&gt;
&lt;br /&gt;
Zur Zeit (März 2012) gibt es vermehrt Probleme, mit den neuen Varianten 5.x des AVR Studios, kompatible Programmer, die nicht von Atmel selbst hergestellt wurden, anzusteuern. Es sollte beim Erwerb/Nachbau auf die Zusicherung der Komptibilität zum gewünschen AVR Studio geachtet werden.&lt;br /&gt;
Im [http://www.mikrocontroller-elektronik.de/isp-programmer-fuer-arduino-bascom-und-atmel-studio/ mikrocontroller-elektronik.de-Blog] findet man einen Test welche Programmer unter Windows 10 problemlos funktionieren, egal ob unter Arduino IDE, Atmel Studio oder Bascom.&lt;br /&gt;
&lt;br /&gt;
=== Parallelport ===&lt;br /&gt;
&lt;br /&gt;
==== STK200-kompatibel ====&lt;br /&gt;
&lt;br /&gt;
Fast alle erhältlichen Parallelport-Programmieradapter, u.a. auch der hier im [http://shop.mikrocontroller.net/ Shop] angebotene, sind kompatibel zum Programmer des [[STK200]] / STK300.&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/STK200 Schaltbilder für STK200 und kompatible]&lt;br /&gt;
* Bauanleitung für einen [http://rumil.de/hardware/avrisp.html STK200-kompatiblen Programmieradapter] von Rolf Milde&lt;br /&gt;
* Universelles Programmiergerät mit 74HC244 und Schutzwiderständen http://www.aplomb.nl/TechStuff/PPPD/PPPD%20English.html&lt;br /&gt;
&lt;br /&gt;
==== Paralleles Interface für AVR und PonyProg ====&lt;br /&gt;
&lt;br /&gt;
Schaltplan und Erläuterungen bei [http://s-huehn.de/elektronik/avr-prog/avr-prog-alt.htm Scott-Falk Hühn]&lt;br /&gt;
&lt;br /&gt;
==== SP12 Programmer ====&lt;br /&gt;
&lt;br /&gt;
Schaltplan, Erläuterungen und Software für mehrere Plattformen, darunter auch MSDOS, gibt es bei [http://www.xs4all.nl/~sbolt/e-spider_prog.html#programmer Steven Bolt]. [http://www.xs4all.nl/~sbolt/e-spider_prog.html#programmer Ken&#039;s Dongle] ist ein spezieller Kabeladapter für SP12 zur Verbesserung der Signalqualität. Anpassung an neue Typen erfolgt durch leicht selbst erstellbare Beschreibungsdateien.&lt;br /&gt;
&lt;br /&gt;
=== Serieller Port ([[RS-232]]) ===&lt;br /&gt;
&lt;br /&gt;
==== Atmel AVRISP, STK500, AVR910 ====&lt;br /&gt;
&lt;br /&gt;
Der original AVRISP von Atmel, das [[STK500]] und der Programmer aus der Application Note AVR910 enthalten einen Mikrocontroller, der die Umsetzung der seriellen Daten auf das ISP- und TPI-Programmierinterface vornimmt. Sie lassen sich direkt mit dem AVR-Studio programmieren und sind auch problemlos mit einem USB-seriell-Adapter verwendbar.&lt;br /&gt;
&lt;br /&gt;
Ein Layout mit Schaltplan und erweitertem Sourcecode findet sich in diesem Thread in der Codesammlung [http://www.mikrocontroller.net/topic/88295#749553 AVR910 Programmer, Schaltplan, Layout, Firmware].&lt;br /&gt;
&lt;br /&gt;
Das AVR910 Design ist u.a. auf der Seite von [http://www.serasidis.gr/circuits/avr_isp/avr_isp.htm Serasidis Vasilis] im Detail beschrieben.&lt;br /&gt;
&lt;br /&gt;
Weitere Bausätze bzw. Bauanleitungen zu AVR910 Programmern:&lt;br /&gt;
* [https://www.b-redemann.de/download.shtml AVR910-USB-Prog: Bausatz incl. USB-seriell Wandler]&lt;br /&gt;
* [http://www.avr-projekte.de/isp.htm AVR910-USB: Bauanleitung incl. USB-seriell Wandler]&lt;br /&gt;
&lt;br /&gt;
==== SI-Prog ====&lt;br /&gt;
&lt;br /&gt;
Daneben gibt es noch weitere Programmieradapter für den seriellen Port, die auf den eigenen Mikrocontroller im Programmieradapter verzichten und das ISP-Programmierprotokoll über die Steuerleitungen des RS-232-Port nachbilden. Das Programmierprogramm auf dem PC sendet jetzt keine Steuerkommandos und Daten mehr, sondern gibt direkt die Programmiersignale an der seriellen Schnittstelle aus (&amp;quot;Pinwackeln an den Statuspins&amp;quot;). Der Nachteil dieser Adapter ist, dass sie meistens relativ langsam sind und nur unter wenigen Betriebssystemen funktionieren. Ein Beispiel dafür ist SI-Prog.&lt;br /&gt;
&lt;br /&gt;
* [http://www.lancos.com/siprogsch.html SI-Prog Originalversion]&lt;br /&gt;
* [http://s-huehn.de/elektronik/avr-prog/avr-prog.htm Schaltplan und Erläuterungen]&lt;br /&gt;
&lt;br /&gt;
==== Sercon2 ====&lt;br /&gt;
&lt;br /&gt;
Mit einer etwas anderen Steckerbelegung als der SI-Prog arbeitet die Sercon Familie an Adaptern. Nähere Unterlagen dazu finden sich &lt;br /&gt;
[http://www.speedy-bl.com/adapter.htm hier]&lt;br /&gt;
&lt;br /&gt;
==== Selbstbau-Programmer, basierend auf dem FTDI chip (via avrdude) ====&lt;br /&gt;
http://irq5.wordpress.com/2010/07/15/programming-the-attiny10/&lt;br /&gt;
&lt;br /&gt;
=== USB ===&lt;br /&gt;
&lt;br /&gt;
Die meisten USB-Programmieradapter verwenden einen USB-seriell-Wandler und ein STK500/AVRPROG-kompatibles Protokoll und können damit direkt aus dem AVR-Studio programmiert werden.&lt;br /&gt;
&lt;br /&gt;
Eine Quick-and-Dirty Programmierlösung bietet der [[#USB-Hub-ISP]], der außer einem USB-Hub nur Standard-Bauteile voraussetzt.&lt;br /&gt;
&lt;br /&gt;
==== Atmel AVRISP MKII ====&lt;br /&gt;
&lt;br /&gt;
Nachfolger des Atmel AVRISP &amp;quot;MKI&amp;quot;. Mit USB-Schnittstelle, leistungsfähigerem Programmiercontroller und erweitertem Hardwareschutz. Programmiersoftware: [[AVR-Studio]] und [[AVRDUDE]]. Herstellerinformation bei [http://www.atmel.com/dyn/products/tools_card.asp?family_id=607&amp;amp;family_name=AVR+8%2DBit+RISC+&amp;amp;tool_id=3808 atmel.com]&lt;br /&gt;
&lt;br /&gt;
Der AVRISP MKII führt ca. 1s nach dem Einschalten der Versorgungsspannung einen Reset aus. Lässt man den Programmer beim Testen der Schaltung gesteckt und startet diese durch Einschalten von Vcc, kann dies zu unangenehmen Nebeneffekten führen. Z.B. wird eine gerade angelaufene Datenübertragung nach 1s abrupt abgebrochen, startet neu und läuft danach fehlerfrei. &lt;br /&gt;
&lt;br /&gt;
Dave Jones hat im EEVblog #158 ein [http://www.eevblog.com/2011/03/25/eevblog-158-avr-isp-mk2-lm317-regulator-tutorial/ Videotutorial] erstellt, wie man beim Atmel AVRISP &amp;quot;MKI&amp;quot; mit dem LM317 Spannungsregler 3.3V oder 5V Versorgungsspannungen für das Targetboard nachrüstet. Im Video schlägt Dave als bessere Lösung die Verwendung eines Low-Drop-Spannungsreglers vor. Dafür eignet sich z.B. der [http://www.mikrocontroller.net/part/LM1117 LM1117]&lt;br /&gt;
&lt;br /&gt;
Weiter unten auf dieser Seite wird auch ein einfacher, kompatibler Nachbau namens [http://www.mikrocontroller.net/articles/AVR_In_System_Programmer#usbprog usbprog] vorgestellt.&lt;br /&gt;
&lt;br /&gt;
==== Atmel ICE ====&lt;br /&gt;
&lt;br /&gt;
Der neueste Programmier- und Debugadapter heißt Atmel ICE. Er war teilweise billiger als der AVR Dragon, heute ist er ziemlich teuer geworden. Er hat ein Gehäuse, gut geschützte Eingänge und kann auch ARM Controller von Atmel programmieren. Er ist heute die bessere Wahl gegenüber einem mittlerweile eher veralteten AVR Dragon. Kaufen kann man ihn hier:&lt;br /&gt;
&lt;br /&gt;
* [https://de.rs-online.com/web/p/programmiermodul-ics/1306123/ RS]  Bestellnummer 130-6123, 100,95 EUR&lt;br /&gt;
* [https://www.chip45.com/products/atmel-ice-basic_avr_atmega_xmega_sam_arm_cortex-m_isp_pdi_tpi_awire_jtag_usb_programmieradapter_on-chip_debugger.php?de chip45], Bestellnummer: atmel-ice-basic, 79 EUR&lt;br /&gt;
* [https://www.chip45.com/products/atmel-ice-pcba_avr_atmega_xmega_sam_arm_cortex-m_isp_pdi_tpi_awire_jtag_usb_programmieradapter_on-chip_debugger.php chip45], Bestellnummer: atmel-ice-pcba, 49 EUR&lt;br /&gt;
&lt;br /&gt;
Atmel ICE ist ab Atmel Studio 6 lauffähig.&lt;br /&gt;
&lt;br /&gt;
* [https://www.microchip.com/developmenttools/ProductDetails/atatmel-ice Atmel-ICE]&lt;br /&gt;
* Unterstützt JTAG, SWD, PDI, TPI, aWire, ISP und debugWIRE interfaces&lt;br /&gt;
* Volles Source Level Debugging im Atmel Studio&lt;br /&gt;
* Unterstützt alle eingebauten Hardwarebreakpoints im Microcontroller &lt;br /&gt;
* Bis zu 128 Software Breakpoints&lt;br /&gt;
* 1.62 bis 5.5V Betrieb&lt;br /&gt;
* Stromversorgung über USB&lt;br /&gt;
* Ziel Mikrocontroller wird nicht versorgt, extra Spannungsversorgung notwendig&lt;br /&gt;
* Verfügt sowohl über ARM Cortex Debug Connector (10-pin) als auch AVR JTAG&lt;br /&gt;
* Im Basic Kit ist ein [https://www.mikrocontroller.net/articles/Datei:ATATMEL-ICE-CABLE.jpg Anschlußkabel] mit einem Stecker mit 2x3 Pins für ISP (0.1 Zoll Raster) sowie 2x5 für JTAG (0.05 Zoll Raster) enthalten.&lt;br /&gt;
* Es gibt mehrere Möglichkeiten, sich seinen eigenen Adapter für die Kabel zu verschaffen. Achtung! Beim Atmel ICE Kabel sind die Stecker gegeneinander verdreht, es ist KEIN 1:1 Kabel! (Atmel, warum hast du das getan?)&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/goto_post/4509403 Eigenbau]&lt;br /&gt;
** [https://www.adafruit.com/product/2743 Adafruit Industries]&lt;br /&gt;
** [https://www.exp-tech.de/zubehoer/kabel/sonstige/6121/10-pin-2x5-socket-socket-1.27mm-idc-swd-cable-150mm-long High Density Flachbandkabel]&lt;br /&gt;
** [https://www.exp-tech.de/module/schnittstellen/6727/swd-2x5-1.27mm-cable-breakout-board Adapter]&lt;br /&gt;
** [https://www.mikrocontroller.net/topic/392815?goto=new#4625909 Noch ein Eigenbau]&lt;br /&gt;
** [https://www.tindie.com/products/A_K/adapter-for-debugger-atmel-ice-or-jtagice3/ Adapter auf 10pol und 6pol im 2,54mm Raster]&lt;br /&gt;
&lt;br /&gt;
==== Atmel AVR Dragon ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hauptartikel [[AVR-Dragon]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3891 AVR Dragon] ist ein preiswerter ISP (und ICE) von Atmel, der aufgrund Preis/Leistungs-Verhältnisses schnell populär wurde. Atmel wurde von dieser Popularität überrascht, da der Dragon wohl ursprünglich nur als ein &amp;quot;Gimmick&amp;quot; zur Verbreitung von AVRs in Asien gedacht war.&lt;br /&gt;
&lt;br /&gt;
Die großen Vorteile des Dragons sind, dass er alle Programmiermodi beherrscht, inklusive High-Voltage Parallel Programming (&amp;quot;verfuste&amp;quot; AVRs retten), dass er ein natives USB-Interface hat, von AVR-Studio unterstützt wird, und sogar [[JTAG]] und [[debugWIRE]] ICE / Debugging unterstützt (bei den AVRs die dies können). &lt;br /&gt;
&lt;br /&gt;
Zu den größten bekannten Nachteilen gehören, dass der Dragon völlig &amp;quot;nackt&amp;quot; kommt. Kein USB-Kabel, kein Gehäuse, nicht einmal Abstandsbolzen unter der Platine, keine Patchkabel und nicht einmal die Fassungen zum Einstecken von AVRs sind bestückt. Eine gedruckte Anleitung gibt es auch nicht. Daneben wird aufgrund des Stromverbrauchs des Dragon ein USB-Hub mit Netzteil benötigt.&lt;br /&gt;
&lt;br /&gt;
Weiter ist der Dragon dafür bekannt, empfindlich auf statische Aufladungen zu reagieren. Ein Spannungsregler und ein Ausgangstreiber gehen dabei besonders gerne kaputt. Ein gerne von Anfängern gemachter Fehler ist es, den Dragon im Betrieb auf dem mitgelieferten &amp;quot;Schaumstoff&amp;quot; aus der Verpackung liegen zu lassen. Das ist jedoch kein Schaumstoff, sondern leitendes Moosgummi.&lt;br /&gt;
&lt;br /&gt;
Weitere Schutzmaßnahmen für gefährdete AVR Dragons findet man auf der Dragonlair-Seite von [http://www.aplomb.nl/TechStuff/Dragon/Dragon.html Nard Awater].&lt;br /&gt;
&lt;br /&gt;
Der Dragon wird unter Linux z.&amp;amp;nbsp;B. von der avrdude-Programmiersoftware unterstützt. Unerklärlicherweise stellt Atmel die Dokumentation und Beschreibung des Dragon nur als Teil der Online-Hilfe der AVR-Studio Software unter Windows zur Verfügung. Weiterhin lassen sich Firmware-Updates auch nur mittels eine proprietären Atmel-Software unter Windows einspielen. Daher ist der Dragon für Linux-Benutzer nur dann zu empfehlen, wenn man zusätzlich noch Zugriff auf eine Windows-Installation hat.&lt;br /&gt;
&lt;br /&gt;
==== Atmel AT90USBKEY ====&lt;br /&gt;
&lt;br /&gt;
Mit hilfe des [http://www.fourwalledcubicle.com/AVRISP.php AVRISP-MKII Clone] Projekts aus dem [http://www.fourwalledcubicle.com/LUFA.php LUFA] Paket wird aus dem [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3879 AT90USBKEY] recht einfach ein Programmer, der mit [[AVR-Studio]] und [[AVRDUDE]] genutzt werden kann.&lt;br /&gt;
&lt;br /&gt;
==== AVRISP mkII Klon mit dem Teensy-Board und der Lufa-Bibliothek ====&lt;br /&gt;
&lt;br /&gt;
Mit der [http://www.fourwalledcubicle.com/LUFA.php LUFA-Bibliothek] und dem [http://www.pjrc.com/teensy TEENSY 2.0 Board] kann schnell ein AVRISP mk2 Klon gebaut werden, der auch mit [[AVR-Studio]] in Windows einwandfrei  zusammenarbeitet. Weitere Infos auf [http://www.weigu.lu/b/avrispmk2 weigu.lu].&lt;br /&gt;
==== AVRISP mkII Klon mit dem Atmega32U2-Breakout-Board und der Lufa-Bibliothek ====&lt;br /&gt;
&lt;br /&gt;
Mit der [http://www.fourwalledcubicle.com/LUFA.php LUFA-Bibliothek] ([http://dokuwiki.ehajo.de/artikel:atmega_u-howto:avrisp-mkii Eine Anleitung gibt es hier]) und dem [http://www.ehajo.de/Bausaetze/Atmega32u2-Breakout-Board Atmega32U2-Breakout-Board] kann problemlos ein AVRISP mkII-Klon programmiert werden. Um praktisch auf die Programmierpins zugreifen zu können gibt es [http://www.ehajo.de/Bausaetze/ISP-Addon-Atmega%2AU2-Breakout dieses Addon-Board] für das Breakout-Board. Der Programmer läuft problemlos mit [[AVR-Studio]] unter Windows.&lt;br /&gt;
&lt;br /&gt;
=== Universal ATMEL AVR ISP programmer ===&lt;br /&gt;
&lt;br /&gt;
Das V-USB basierte universelle USB Programmiergerät ist kompatibel mit so gut wie allen gängigen AVR Microcontrollern und bietet neben dem 6-poligen und dem 10-poligen ISP Stecker auch die Möglichkeit Controller im DIL Gehäuse außerhalb der Targetschaltung zu flashen.&lt;br /&gt;
Das kostengünstige Gerät funktioniert unter Windows zusammen mit AVR Studio genauso problemlos wie mit Open-Source Tools wie AVRDude unter Windows, LINUX und MAC OS. &lt;br /&gt;
Vertrieben wird das universelle Programmiergerät über Tindie wo Einzelstücke häufig sogar kostenlos bestellt werden können.&lt;br /&gt;
&lt;br /&gt;
[https://www.tindie.com/products/heilingch/universal-atmel-avr-isp-programmer/ Universal-Atmel-AVR-ISP-Programmer]&lt;br /&gt;
&lt;br /&gt;
==== Bascom USB ISP ====&lt;br /&gt;
&lt;br /&gt;
Beliebter USB programmer der speziell für den Bascom Compiler entwickelt wurde. &lt;br /&gt;
Unterstützt Bascom einen neuen AVR-Controller, so kann dies automatisch auch dieser USB Programmer, eine neue Firmware ist nicht erforderlich. Ein weiterer Vorteil ist, dass er speziell für Bascom entwickelt wurde und in der IDE unterstützt wird. Er unterstützt alle Features von Bascom, auch die automatische Fusebit-Einstellung per Direktive im Quellcode.&lt;br /&gt;
&lt;br /&gt;
Angenehm ist auch, dass er keine 5V benötigt. Im Gegenteil, er kann sogar Boards über das übliche ISP-Programmierkabel mit 5V versorgen, so dass viele Boards auch ohne weitere Spannungsquelle programmiert werden können. &lt;br /&gt;
Ein wirklich empfehlenswerter Qualitätsprogrammer für alle Programmierer, die ausschließlich mit Bascom arbeiten wollen&lt;br /&gt;
* [http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&amp;amp;products_id=161 Vertrieb in Deutschland bei robotikhardware.de]&lt;br /&gt;
&lt;br /&gt;
Im Online- / Auktionshandel werden auch Alternativen angeboten, teils recht schick im Plexiglasgehäuse für ca. 20 Euro. Angeboten z.&amp;amp;nbsp;B. als &amp;quot;USB 2.0 Full Speed low cost Programmer für ATMEGA Chips&amp;quot; oder &amp;quot;AVR USB ISP Programmer ATMEL ATMEGA STK500&amp;quot;. Die Adapter funktionieren auch mit BasCom (aber auch mit AVR Studio), z.&amp;amp;nbsp;B. mit der Einstellung &amp;quot;STK500 native driver&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Man kann die Targetspannungsversorgung per USB zwischen 3,3 und 5V umschalten oder ganz abschalten (per DIP-Schalter). Sie sind per USB an den PC angeschlossen und arbeiten über einen virtuellen COM-Port. Achtung: In BasCom funktioniert das nur bis COM9. Wenn sich das Gerät z.&amp;amp;nbsp;B. auf COM15 installiert, wird es im BasCom evtl. nicht gefunden. Dann in der Systemsteuerung entsprechend umstellen.&lt;br /&gt;
==== USBisp ====&lt;br /&gt;
&lt;br /&gt;
AVR Programmierdongle mit USB Anschluss und kompatibel zum STK500-Protokoll. Unter anderem programmierbar mit [[AVR-Studio]], [[AVRDUDE]] und [[uisp]]. Schaltplan (PDF), Layout (PDF), Erläuterungen und Firmware gibt es vom Entwickler [http://www.matwei.de Matthias Weißer].&lt;br /&gt;
&lt;br /&gt;
==== USB avrisp ====&lt;br /&gt;
&lt;br /&gt;
USB AVR Programmer auf Basis des AVR 910 Designs. Den Schaltplan, Layout und Erläuterungen (englisch) gibt es von [http://www.e.kth.se/~joakimar/hardware.html Joakim Arfvidsson].&lt;br /&gt;
&lt;br /&gt;
==== Evertool ====&lt;br /&gt;
&lt;br /&gt;
Mit USB-seriell-Wandler. Getestet mit Adapterkabeln/ICs von FTDI, SiLabs und Prolific (Adapterkabel z.&amp;amp;nbsp;B. für ca. 10EUR bei Reichelt).&lt;br /&gt;
&lt;br /&gt;
* [http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/ Evertool-&amp;quot;Homepage&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==== USBasp ====&lt;br /&gt;
&lt;br /&gt;
Thomas Fischls [http://www.fischl.de/usbasp/ USBasp] ist ein&lt;br /&gt;
Openhardware-/Openfirmware-USB-ISP-Adapter. Er basiert auf einem&lt;br /&gt;
ATmega8, ATmega8L, ATmega88 oder ATtiny85, der mittels einer rein auf Firmware&lt;br /&gt;
basierenden USB-Implementierung von&lt;br /&gt;
[http://www.obdev.at/products/avrusb/index.html Objective Development]&lt;br /&gt;
arbeitet. &lt;br /&gt;
&lt;br /&gt;
Bezugsquellen:&lt;br /&gt;
* Ein [http://www.FundF.net/usbasp/ offizieller USBasp Bausatz] ist erhältlich.&lt;br /&gt;
* Alternative Bausätze inkl. Dokumentation gibt es bei [http://www.b-redemann.de/download.shtml www.b-redemann.de], [http://shop.ulrichradig.de/Bausaetze/USB-ASP-Bausatz.html shop.ulrichradig.de] und [https://guloshop.de/shop/index.php guloshop.de].&lt;br /&gt;
* Eine MacOS X Anpassung stammt von [http://www.macsven.de/usbasp.html Sven Schwiecker]. Man kann aber auch das Komplettpaket Crosspack-AVR, in dem AVRDUDE für Mac OS X bereits enthalten ist, von [http://www.obdev.at/products/crosspack/index-de.html obdev.at] benutzen&lt;br /&gt;
* Chinesische Clones von [http://www.ebay.de/sch/i.html?_from=R40&amp;amp;_sacat=0&amp;amp;_nkw=usbasp&amp;amp;rt=nc&amp;amp;LH_BIN=1 Ebay].&lt;br /&gt;
* Bei [http://www.ramser-elektro.at/produkt-kategorie/programmer-und-zubehoer/ Ramser Elektrotechnik] ist er auch erhältlich.&lt;br /&gt;
&lt;br /&gt;
Zum Ansteuern des USBasp wird [[AVRDUDE]] in einem speziellen Modus benötigt, der ab Version 5.2 standardmäßig vorhanden ist (vorher waren&lt;br /&gt;
Patches nötig).&lt;br /&gt;
&lt;br /&gt;
Zum Programmieren von neuen ATtinys muss der Jumper Slow SCK gesetzt werden.&lt;br /&gt;
Alternativ ist es möglich mit der zusätzlichen Option von avrdude &amp;quot;-B100&amp;quot; die Periodendauer von SCK auf etwa 100 µs oder noch länger zu vergrößern (funktioniert nur, wenn die Firmware des USBasp vom Mai 2011 oder neuer ist).&lt;br /&gt;
&lt;br /&gt;
Der originale USBasp hat den Nachteil, dass er nicht die Targetspannung zum Programmieren benutzt, sondern immer seine 5V. Deshalb kann es Probleme geben, wenn das Target mit einer niedrigen Spannung versorgt wird, da der USBasp die Target-Highpegel eventuell nicht mehr als High erkennt. Abhilfe kann ein kleiner Hack schaffen, mit dem der µC wahlweise mit 5V oder mit ~3.6V betrieben wird:&lt;br /&gt;
http://www.mikrocontroller.net/topic/109648?goto=2031524#2031524&lt;br /&gt;
&lt;br /&gt;
Der [http://diy.elektroda.eu/usbasp-z-optoizolacja-do-25kv-18v-6v/?lang=en Optoisolated USBASP 1.8V to 6V] ist eine Hardwareänderung ebenfalls mit breitem Targetspannungsbereich und zusätzlich galvanischer Isolation über die [[Optokoppler]] 6N317 (schnelle Datenleitungen) und PC817 (langsame Resetleitung).&lt;br /&gt;
&lt;br /&gt;
Manche USBasp sind umschaltbar zwischen 5 V und 3,3 V. Falls man später darüber eine Schaltung mit 3,3 Volt betreiben will – etwa zum direkten Ansprechen einer SD-Karte – lohnt gezieltes Nachfragen vor dem Kauf.&lt;br /&gt;
&lt;br /&gt;
Mit der STK500v2 Firmware des kompatiblen USB-AVR Lab (nicht die AVRISP-MKii Version!), funktioniert die Hardware mit dem AVRStudio 6.x unter Windows7 (auch 64Bit) (allerdings ist die Treiberinstallation schwierig)&lt;br /&gt;
&lt;br /&gt;
==== AvrUsb500 ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.tuxgraphics.org/electronics/200510/article05101.shtml AvrUsb500] - an open source Atmel AVR Programmer, stk500 V2 compatible, with USB interface&lt;br /&gt;
* [http://www.mechaos.de/avr_progusb.php meCHAOS] - Nachbau mit neuem Platinenlayout und weiteren Funktionen.&lt;br /&gt;
&lt;br /&gt;
==== usbprog ====&lt;br /&gt;
&lt;br /&gt;
Achtung: Scheint nicht mehr vertrieben zu werden, der Link zum Shop führt zu einer Fehlermeldung. 07.10.2018&amp;lt;br&amp;gt;&lt;br /&gt;
Fast alle Webseiten zum usbprog sind verschwunden, die letzen Reste sind:&amp;lt;br&amp;gt;&lt;br /&gt;
https://code.google.com/archive/p/usbprog/ (vor allem Quelltexte und die Linuxversion von 2010)&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/ykhalyavin/usbprog/tree/master/usbprog (ebenfalls Quellen, zuletzt vor 10 Jahren geändert)&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.bwalle.de/website/usbprog.html u.a. das vermutlich letzte Handbuch von 2014&amp;lt;br&amp;gt;&lt;br /&gt;
Diskussionen zum usbprog hier im Forum:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.mikrocontroller.net/topic/233689&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.mikrocontroller.net/topic/89469&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.mikrocontroller.net/topic/368928&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.mikrocontroller.net/topic/399242&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.mikrocontroller.net/topic/303214&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.mikrocontroller.net/topic/195677&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.mikrocontroller.net/topic/319561&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.usbprog.org/ usbprog] von Benedikt Sauter ist ein USB Programmieradapter, der fast alle Atmel-Mikrocontroller unterstützt (ATiny, ATMega, AT89, AT90,&amp;amp;nbsp;...) und daneben auch für ARM7/9 und MSP universell einsetzbar ist.&lt;br /&gt;
&lt;br /&gt;
Der Programmer wurde so entwickelt, dass man die Firmware auf dem Adapter über die USB-Verbindung austauschen kann. Dadurch sollte der Adapter lange attraktiv bleiben, da alles rund um das Projekt als open Source veröffentlicht ist und daher neue Controller einfach in die usbprog-Firmware integriert werden können.&lt;br /&gt;
Es ensteht gerade eine Firmware für einen einfachen JTAG-Adapter. Damit kann man dann ganz einfach debuggen (voraussichtlich auch aus dem AVR Studio aus).&lt;br /&gt;
&lt;br /&gt;
Man kann den Adapter auch als 1:1 AVRISP-mkII-kompatibles Gerät betreiben. Dafür muss man eine andere Firmware einspielen, die ebenfalls Teil des Projektes ist. Der Vorteil ist der, dass man so auf jede bestehende Programmiersoftware zurückgreifen kann, die das originale AVRISP mkII unterstützt. Getestet wurde usbprog bis jetzt mit avrdude (Linux und Windows) und dem AVR Studio 4 (Windows).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Damit der Programmer mit AVR Studio 5.x zusammen arbeitet, muss die Firmware aktualisiert werden: http://www.usbprog.org/index.php/Firmwares (siehe Update-Hinweis)&lt;br /&gt;
&lt;br /&gt;
Derzeit kann man bei der embedded projects GmbH die Versionen 3.3 und 4.0 bestellen. Näheres im [http://www.usbprog.org/index.php/Hardware Projekt-Wiki].&lt;br /&gt;
&lt;br /&gt;
==== AVR-Doper ====&lt;br /&gt;
&lt;br /&gt;
[https://www.obdev.at/products/vusb/avrdoper.html AVR-Doper] kann neben ISP auch im High-Voltage Serial Mode als [[AVR HV-Programmer]] programmieren. Rein auf Firmware basierende USB-Implementierung. BUS-Powered. Einseitige Platine und damit auch für Selbstbauer geeignet. Verwendet einen Mega8 zur Steuerung des Programmers. Ist kompatibel zu AVR-Studio durch STK500-Protokoll.&lt;br /&gt;
&lt;br /&gt;
==== USB AVR-Lab ====&lt;br /&gt;
&lt;br /&gt;
[http://www.ullihome.de/index.php/Hauptseite#USB_AVR-Lab USB AVR-Lab] besteht aus einer sehr einfachen Hardware, usb wird in Software gemacht. Mit einem Bootloader nebst Applikation kann die Funktion des Lab´s zwischen &lt;br /&gt;
&lt;br /&gt;
*AVRISPmkII kompatiblem Programmer (AVR Studio, Linux, MacOS)&lt;br /&gt;
*JTAGICEmkII kompatibler AVR Programmer (AVR Studio, Linux, MacOS) (keine AVR32, kein Xmega)&lt;br /&gt;
*OpenOCD Interface (sehr viel ARM Controller, PLD´s, FPGA´s)&lt;br /&gt;
*STK500v2 kompatiblem Programmer (AVR Studio 6.x auch Windows 7)&lt;br /&gt;
*USBasp kompatiblem Programmer (Linux, MacOS)&lt;br /&gt;
*JTAG Boundary Scan Interface + Software&lt;br /&gt;
*RS232/RS485 Wandler&lt;br /&gt;
*I2C Logger&lt;br /&gt;
*I2C Interface (zur benutzung aus eigenen Programmen)&lt;br /&gt;
*Oszi&lt;br /&gt;
*6-Kanal Logik Analyzer (in Entwicklung)&lt;br /&gt;
*Labornetzteil (in Entwicklung)&lt;br /&gt;
&lt;br /&gt;
getauscht werden. Mit der STK500v2 kompatiblen Firmware kann der Programmer direkt aus dem AVR Studio (auch 6.x und Windows 7) heraus voll kompatibel zum AVR-ISP mkII arbeiten.&lt;br /&gt;
Zusätzlich bietet der Programmer den virtuellen Com Port als Debug Port an solange nicht geflasht wird. Man kann also direkt mit dem Terminalprogramm auf seinen AVR zugreifen über den ISP Adapter.&lt;br /&gt;
Dieser Modus wird von jeder ISP Firmware unterstützt.&lt;br /&gt;
Statusanzeige des Targets (angeschlossen, falsch angeschlossen, nicht angeschlossen), max. 3 Mhz ISP Freq. Das Ganze ist sehr günstig in der Beschaffung (10 Eur Bauteile bei Reichelt + 3,5 Eur Platine von ullihome.de, oder 15 Eur bestückt von ullihome.de)&lt;br /&gt;
&lt;br /&gt;
==== USBtinyISP ====&lt;br /&gt;
&lt;br /&gt;
[http://www.ladyada.net/make/usbtinyisp/ USBtinyISP] ist ein preiswerter (ca. 16$ für die Bauteile) AVR ISP Programmer und SPI Interface auf open-source Basis. Als Software kann z.B. AVRDUDE oder AVRStudio verwendet werden. Der Programmer wurde auf Windows, MacOS X und Ubuntu (ab 9.04) getestet. Bei Adafruit sind auch Selbstbaukits erhältlich.&lt;br /&gt;
Eine miniaturisierte Version findet sich hier [http://www.mikrocontroller.net/articles/AVR-ISP-Stick www.mikrocontroller.net/articles/AVR-ISP-Stick]. Diese ist ab 6,90€ als Bausatz bei [http://www.ehajo.de/Bausaetze/AVR-ISP-Stick eHaJo.de] erhältlich.&lt;br /&gt;
&lt;br /&gt;
==== UCOM-IR ====&lt;br /&gt;
&lt;br /&gt;
Der [http://www.nibo-roboter.de/wiki/UCOM-IR UCOM-IR] Programmieradapter ist ein kommerzieller Bausatz (ca. 25 €), der auf einem AT90USB162 basiert. Durch die Verwendung des STK500v2 Protokolls kann zur Programmierung sowohl das [[AVR-Studio]] wie auch [[AVRDUDE]] verwendet werden. Zusätzlich hat der Adapter einen IR-Empfänger und zwei Sendedioden, die zur Kommunikation und zur Fernsteuerung verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
==== Selbstbau-Programmer, basierend auf dem vUSB stack ====&lt;br /&gt;
&lt;br /&gt;
http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;amp;file=viewtopic&amp;amp;t=90498&lt;br /&gt;
&lt;br /&gt;
==== USB-Hub-ISP ====&lt;br /&gt;
&lt;br /&gt;
HUB ISP - Solving the USB-Only &amp;quot;Chicken or Egg&amp;quot; Problem:&amp;lt;br&amp;gt;&lt;br /&gt;
HUB ISP can write an AVR chip using only a USB hub, one cheap/common logic chip, and a few resistors.&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.pjrc.com/hub_isp/&lt;br /&gt;
&lt;br /&gt;
==== Launchprog ====&lt;br /&gt;
&lt;br /&gt;
Der [[Launchprog]] ist ein AVR-ISP-Programmer nach der Atmel AVR910-Appnote, der auf einem [http://processors.wiki.ti.com/index.php?title=MSP430_LaunchPad_%28MSP-EXP430G2%29 TI Launchpad 1.4] mit dem beiliegenden [http://www.ti.com/product/msp430g2211 MSP430G2211] und dem beiliegenden Uhrenquarz läuft. Nach außen hin ist der [[Launchprog]] wie ein AVR910 zu verwenden. Allerdings muss die Geschwindigkeit der seriellen Schnittstelle auf 9600 Baud eingestelllt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Beispiel der avrdude-Kommandozeile: &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;avrdude -c avr910 -b 9600 -P &amp;lt;PORT&amp;gt; -p &amp;lt;PART&amp;gt; -U &amp;lt;KOMMANDO&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== mySmartUSB ====&lt;br /&gt;
&lt;br /&gt;
Der mySmartUSB Programmer von myAVR ist ein kompakter ISP Programmer mit USB Anschluss (der Preis liegt bei 28€). Lt. Hersteller kann er auch für die Kommunikation via UART, TWI, SPI verwendet werden (hab ich noch nicht probiert).&lt;br /&gt;
&lt;br /&gt;
ich aber: Beim Schreiben der Fuse Bits musste ich das Tool myAVR_ProgTool.exe verwenden &lt;br /&gt;
&lt;br /&gt;
Mit avrdude ist das Schreiben der Fuse-Bits mit dem AVR910-Modus möglich.&lt;br /&gt;
 &lt;br /&gt;
avrdude-Kommandozeile :&lt;br /&gt;
&#039;&#039;avrdude -c avr910 -P PORT -p PART -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Achtung:&#039;&#039;&#039; Die neuere Version (mySmartUSB MK3) scheint mit der aktuellen Firmwareversion noch große Probleme mit ISP zu haben (siehe Postings im Supportforum: http://myavr.info/myForum/viewforum.php?f=8). Solange diese Probleme nicht ausgemerzt sind, sollte man auf die ältere Version (mySmartUSB MK2) oder ein anderes Produkt ausweichen.&lt;br /&gt;
&lt;br /&gt;
==== mySmartUSB light ====&lt;br /&gt;
&lt;br /&gt;
Preiswerter (ca. 15 €) Programmer im USB-Stick Design von myAVR. Der mySmartUSB light verfügt über eine Auto-Speed Funktion die die Frequenz des Programmers automatisch an die Taktfrequenz des Controllers anpasst.&lt;br /&gt;
Der Programmer kann 5V und 3.3V Systeme programmieren, Treiber gibt es für Windows, Linux und MacOS X und unterstützt wird je nach Firmware-Version das STK500v2 oder AVR910/911 Protokoll.&lt;br /&gt;
&lt;br /&gt;
==== Amadeus-USB ====&lt;br /&gt;
&lt;br /&gt;
[http://home.arcor.de/bernhard.michelis Amadeus-USB] ist ein ISP-Programmer zum Selberbauen. Er unterstützt eine Vielzahl von AVRs und verfügt über ein eigenes User-Interface. Der Programmer enthält einen einfach zu bedienenden Fuse-Editor. Sollte man einmal die falschen Clock-Einstellungen vorgenommen haben, ist das kein Problem, da der Programmer über eine Takterzeugung verfügt, mit der man den AVR wiederbeleben kann.&lt;br /&gt;
Auch wer mit niedrigen Taktraten arbeitet (z.&amp;amp;nbsp;B. 32kHz), kann einen ATmega64 in ca. 4,8 Sekunden programmieren und vergleichen. Darüber hinaus kann mit geeigneten Makros die Programmausführung getracet werden. Die maximale Programmierdauer beträgt bei einem ATmega64 mit 16MHz Quarz 3,1 Sekunden, wenn der gesamte Speicher geschrieben und verglichen werden muss. Ist das Programm kleiner, geht es natürlich schneller ;-) Für einen ATTiny2313 oder ATTiny24 braucht er weniger als eine Sekunde.&lt;br /&gt;
&lt;br /&gt;
==== AVR-ISP-Stick ====&lt;br /&gt;
&lt;br /&gt;
Der [http://www.ehajo.de/Bausaetze/AVR-ISP-Stick AVR-ISP-Stick] ist ein OpenSource/CC-Projekt und eine sehr günstige (6,90€!) Alternative zu den restlichen Programmieradaptern auf dem Markt. Er ist als Bausatz erhältlich und bereits über 100 mal im produktiven Einsatz.&lt;br /&gt;
&lt;br /&gt;
==== µISP-Stick ====&lt;br /&gt;
&lt;br /&gt;
Der [http://www.ehajo.de/Bausaetze/µISP-Stick µISP-Stick] ist die Weiterentwicklung des AVR-ISP-Sticks. Für 9,90€ bekommt man hier einen vorbestückten Bausatz an dem nur noch die bedrahteten Stecker angelötet werden müssen.&lt;br /&gt;
&lt;br /&gt;
==== Arduino ISP Shield ====&lt;br /&gt;
&lt;br /&gt;
Ein Arduino-Board kann mit dem entsprechenden Sketch und einfachen Jumperwires oder einem komfortablen Shield benutzt werden, um AVRs ohne [[Bootloader]] zu flashen. Eine Anleitung dazu wird bei [http://www.open-electronics.org/arduino-isp-in-system-programming-and-stand-alone-circuits/ www.open-electronics.org] und [http://hlt.media.mit.edu/?p=1229 hlt.media.mit.edu] (via [http://www.mikrocontroller.net/topic/252620#2598960]) gegeben.&lt;br /&gt;
&lt;br /&gt;
==== aTeVaL-Board ====&lt;br /&gt;
&lt;br /&gt;
Das [http://www.ehajo.de/Bausaetze/aTeVaL aTeVaL-Board] ist die Weiterentwicklung des Atmel Evalboards von Pollin. Damit lassen sich problemlos alle bedrahteten AVR-Controller programmieren. Der Programmer ist ein AVR-ISP-mkii-Clon und somit 100% kompatibel mit dem Atmelstudio. Für eigene Platinen ist ein 6- und 10-poliger ISP-Stecker vorhanden.&lt;br /&gt;
&lt;br /&gt;
==== USP-Stick ====&lt;br /&gt;
&lt;br /&gt;
Der [http://www.ehajo.de/Bausaetze/USP-Stick USP-Stick] ist ein sehr kleiner Programmieradapter, der in ein USB-A-Gehäuse passt. Er beruht auf der bewährten Hardware des AVR-ISP-Sticks (attiny2313 + quarz) und ist für 4,90€ erhältlich.&lt;br /&gt;
&lt;br /&gt;
==== guloprog USB-Programmer und Signalwandler ====&lt;br /&gt;
&lt;br /&gt;
Unter dem Namen [https://guloshop.de/shop/Mikrocontroller-Programmierung/guloprog-der-Programmer-von-guloshop-de::70.html guloprog] wird eine kleine Platine angeboten, die einen USB-Programmer und einen [https://guloshop.de/shop/USB-TTL-ADC-PWM-Signalwandler:::10.html Signalwandler] vereint. Der Programmer wird per USB angeschlossen und meldet sich als Fischl-kompatibler usbasp.&lt;br /&gt;
&lt;br /&gt;
Die Signalwandlerfunktion bietet voneinander unabhängige einfache Schalt- und Abfragemöglichkeiten für die vier sonst zum Programmieren verwendeten Anschlüsse. Jede Leitung kann per Tastatur-Kommando einen Ausgang auf 0 Volt oder auf 5 Volt setzen oder &amp;quot;dimmen&amp;quot; (PWM in Schritten von 0 bis 100%). Alle Anschlüsse können als Digital-Eingang verwendet werden, drei davon wahlweise als Analog-Eingang. Die gemessenen Werte lassen sich ebenfalls per Kommandozeile abfragen und auf diese Weise leicht in andere PC-Programme einbinden (Linux, Mac, Windows).&lt;br /&gt;
&lt;br /&gt;
Herzstück ist ein ATtiny85, der im Gegensatz zu allen ATmegas und fast allen ATtinys auch über den internen RC-Oszillator mit 16 MHz betrieben werden kann. Ein Quarz ist daher nicht erforderlich. Die für V-USB erforderliche Genauigkeit erreicht der Programmer über einen Synchronisationsschritt, der bei jedem Start automatischen durchlaufen wird. Die Firmware steht unter einer freien Lizenz, es werden nur sehr wenige Bauteile benötigt, so dass sich dieser Programmer auch recht gut für den Nachbau eignet. Schaltungs- und softwaretechnisch besteht praktisch Baugleichheit zum [[Bierdeckel-Programmer]].&lt;br /&gt;
&lt;br /&gt;
=== Microchip SNAP ===&lt;br /&gt;
[Datei:Https://www.mikrocontroller.net/articles/Datei:SNAP.jpg|mini]&lt;br /&gt;
Der &#039;&#039;&#039;Microchip SNAP&#039;&#039;&#039; wurde eigentlich ursprünglich für die &#039;&#039;&#039;Microchip MPU&#039;s&#039;&#039;&#039; wie &#039;&#039;&#039;PIC&#039;&#039;&#039; und Co gebaut.&amp;lt;br&amp;gt;&lt;br /&gt;
Seit der Übernahme von &#039;&#039;&#039;ATMEHL&#039;&#039;&#039; durch &#039;&#039;&#039;Microchip&#039;&#039;&#039; werden nun aber, nach ein par zwingend notwendigen Modifikationen,&amp;lt;br&amp;gt;&lt;br /&gt;
auch &#039;&#039;&#039;ATMEHL&#039;&#039;&#039; Chips unterstützt.&amp;lt;br&amp;gt;&lt;br /&gt;
Interessant ist dies weil der SAP ein sehr Kostengünstiges Tool ist, und sowohl vom &#039;&#039;&#039;Microchip IDE&#039;&#039;&#039; wie auch von &#039;&#039;&#039;Microchip Studio&#039;&#039;&#039; unterstützt wird.&lt;br /&gt;
&lt;br /&gt;
Wichtig sind aber dass die &#039;&#039;&#039;Modifikationen&#039;&#039;&#039;, wie sie im Dokument [https://ww1.microchip.com/downloads/en/DeviceDoc/ETN36_MPLAB%20Snap%20AVR%20Interface%20Modification.pdf] genau beschrieben sind, auch gemacht werden.&lt;br /&gt;
dazu ist auch der nur geratene einbau des 10kOhm Widerstand wichtig, den ohne besteht die warscheinlichkeit zu 95%, dass der SNAB nicht wie gewünscht funktioniert.&lt;br /&gt;
Besonders für die &#039;&#039;&#039;ATtiny&#039;&#039;&#039; Serie welche über &#039;&#039;&#039;TPI&#039;&#039;&#039; programmiert werden muss, erleidet man ohne die Notwendigen Änderungen &#039;&#039;Schiffbruch&#039;&#039;. &lt;br /&gt;
Im Kurzüberblick sind das folgende Änderungen:&lt;br /&gt;
# Entfernen von &#039;&#039;&#039;R48&#039;&#039;&#039;&lt;br /&gt;
# Einfügen eines 10kOhm wiederstand zwischen &#039;&#039;&#039;Pin 2&#039;&#039;&#039; und &#039;&#039;&#039;Pin 4&#039;&#039;&#039; auf dem &#039;&#039;&#039;SNAP&#039;&#039;&#039; Board&lt;br /&gt;
# Softwareupdate auf dem SNAP (Gibt im AVR Studio eine extra Funktion dazu).&lt;br /&gt;
# Unbenenen des &#039;&#039;&#039;SNAP&#039;&#039;&#039; Programmer im &#039;&#039;&#039;Microchip Studio&#039;&#039;&#039; von &#039;&#039;&#039;PIC&#039;&#039;&#039; zu &#039;&#039;&#039;AVR&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wurden diese Änderungen vorgenommen, hat man ein gut funktionierendes günstiges Bastlertool.&lt;br /&gt;
Es gibt mittlerweile sogar Firmen die dieses Tool in der Produktion erfolgreich zur Serien-Programmierung einsetzen.&lt;br /&gt;
&lt;br /&gt;
=== Standalone ===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Geräte verfügen über interne Speicher, auf denen der zu programmierende Maschinencode abgelegt werden kann. Zum &amp;quot;flashen&amp;quot; selbst ist keine Verbindung zwischen Arbeitsplatzrechner bzw. Notebook und Programmiergerät erforderlich. &lt;br /&gt;
&lt;br /&gt;
==== roloFlash (kommerziell) ====&lt;br /&gt;
[http://www.halec.de/roloFlash/?ref=wiki_isp.mikrocontroller.net roloFlash] wird mit einer microSD-Karte bestückt, die die zu flashenden Daten enthält. Dadurch können unabhängig von einem PC an jedem beliebigen Ort AVR-Controller geflasht werden.&lt;br /&gt;
&lt;br /&gt;
In einem ersten Schritt wird die microSD-Karte vorbereitet. Durch die auf dem roloFlash eingebaute Scriptsprache roloBasic lässt sich der gewünschte Ablauf sehr flexibel festlegen.&lt;br /&gt;
&lt;br /&gt;
Nun kann roloFlash irgendwo anders ohne PC AVR-Controller flashen. Dabei geben 5 zweifarbigen LEDs Auskunft über den Fortschritt bzw. das Ergebnis des Flash-Prozesses. Fehlbedienungen sind unmöglich, da es keine Bedienelemente gibt.&lt;br /&gt;
&lt;br /&gt;
Einsatzgebiete:&lt;br /&gt;
* Produktion&lt;br /&gt;
* Fehlbedienungssichere Updates beim Kunden&lt;br /&gt;
&lt;br /&gt;
==== TheCableAVR-SD (kommerziell) ====&lt;br /&gt;
[http://www.priio.com/productcart/pc/viewPrd.asp?idcategory=6&amp;amp;idproduct=88 TheCableAVR-SD]  works by saving the &amp;quot;ISP&amp;quot;, &amp;quot;HEX&amp;quot; and &amp;quot;EEP&amp;quot; files required for part programming from the PC application onto an SD-Card and inserting it into TheCableAVR-SD. This programmer is stand alone, making it very handy for field software updates and production programming. &lt;br /&gt;
&lt;br /&gt;
Wird 4/2012 scheinbar nicht mehr verkauft ([http://www.mikrocontroller.net/topic/257278#2657606 Forumsbeitrag Priio AVR Programmer?]).&lt;br /&gt;
&lt;br /&gt;
==== ButtLoad ====&lt;br /&gt;
[http://www.fourwalledcubicle.com/ButtLoad.php ButtLoad] is based on the Atmel [[AVR Butterfly]] development board. ButtLoad is specially written firmware which converts a low-cost official Atmel Butterfly evaluation board into a smart ISP programmer for other members of the Atmel AVR family. It supports the entire AVR range, and allows for a complete program (including EEP, HEX, Fuse and Lock Bytes) to be stored and later programmed into a device from the Butterfly&#039;s on board non-volatile memory.&lt;br /&gt;
&lt;br /&gt;
[http://www.fourwalledcubicle.com/ButtLoad.php ButtLoad] basiert auf dem Atmel-[[AVR Butterfly]]-development board und ist eine spezielle Firmware, die ein (billiges) Atmel-Butterfly-Board in einen vollwertigen ISP-Programmierer für andere Controller der Atmel-AVR-Familie verwandelt. Es unterstützt den gesamten AVR-Bereich und erlaubt, ein Programm komplett mit EEP, HEX, Sicherungs- und Lock-Bytes im nichtflüchtigen on-board-Speicher des Butterflys abzulegen und dann von dort heraus die Controller zu programmieren.&lt;br /&gt;
&lt;br /&gt;
==== PalmAVR ====&lt;br /&gt;
* siehe [http://www.mikrocontroller.net/topic/77870#648376 Forenbeitrag]&lt;br /&gt;
&lt;br /&gt;
==== ISPnub (Open Source) ====&lt;br /&gt;
[http://www.fischl.de/ispnub/ ISPnub - Stand-alone AVR In-System-Programmer Module] besteht aus einem AVR in dessen Flash ein Programmierskript geladen wird. Der eigentliche Programmiervorgang wird über einen Tastendruck ausgelöst. Die Zahl der Programmierzyklen kann beschränkt werden (z.B. auf ein Fertigungslos beschränkt).&lt;br /&gt;
&lt;br /&gt;
==== AVR-ISP500, AVR-ISP500 tiny ====&lt;br /&gt;
von Olimex, siehe&lt;br /&gt;
* [http://www.olimex.com/dev/avr-isp500-iso.html Herstellerseite zum ISP500] &lt;br /&gt;
* [http://www.olimex.com/dev/avr-isp500-tiny.html Herstellerseite zum ISP500-TINY]&lt;br /&gt;
&lt;br /&gt;
=== Geschwindigkeitsvergleich ===&lt;br /&gt;
&lt;br /&gt;
Im Rahmen einer Forendiskussion entstand die folgende Messung, die&lt;br /&gt;
einige der möglichen Programmer in ihrer Geschwindigkeit vergleicht.&lt;br /&gt;
Mit einbezogen in den Vergleich wurde neben originalen&lt;br /&gt;
Atmel-ISP-Werkzeugen noch Werkzeuge für [[JTAG#AVR_JTAG|JTAG]].&lt;br /&gt;
&lt;br /&gt;
Die Testdatei war 29704 Bytes groß.  Target ist ein ATmega6490, der&lt;br /&gt;
mit 8 MHz vom RC-Oszillator getaktet wird.  Das alles wurde mit einem&lt;br /&gt;
AVRDUDE 5.5 getestet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Programmer     Parameter         Zeit fürs&lt;br /&gt;
                              Schreiben  Lesen&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
JTAG ICE mkII  default        2,58 s     3,27 s&lt;br /&gt;
JTAG           (4 MHz)&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
JTAG ICE mkII  1 MHz          8,34 s     8,51 s   (**)&lt;br /&gt;
ISP&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
AVRISP mkII    250 kHz        5,37 s     5,46 s&lt;br /&gt;
               1 MHz          2,45 s     2,45 s&lt;br /&gt;
               2 MHz          1,89 s     1,99 s&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
STK500         900 kHz        5,84 s     3,49 s&lt;br /&gt;
               (schnellstes)&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
AVR Dragon     default        2,81 s     3,49 s&lt;br /&gt;
JTAG           (4 MHz)&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
AVR Dragon     1 MHz          8,34 s     8,64 s&lt;br /&gt;
ISP            2 MHz          -          -        (*)&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
Parallelport-  keine Delay   13,20 s    12,45 s   (**)&lt;br /&gt;
Dongle &amp;quot;alf&amp;quot;   CPU 900 MHz&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(*) Benutzung unmöglich, weder Fuses noch Signature zuverlässig&lt;br /&gt;
lesbar.&lt;br /&gt;
&lt;br /&gt;
(**) Fuses und Signature OK, aber das programmierte Ergebnis ist&lt;br /&gt;
fehlerhaft (verify errors)&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.myplace.nu/avr/yaap/ yaap] (Windows, diverse Parallelport-Programmer, GUI)&lt;br /&gt;
* [[Pony-Prog Tutorial|PonyProg]] (Linux, Windows, diverse Programmer für den parallelen und seriellen Port, GUI, am seriellen Port nur &amp;quot;Statuspinwackler&amp;quot; nach dem Schaltplan auf der lancos-Seite)&lt;br /&gt;
* [http://www.soft-land.de/index.php?page=avrburner AVRBurner] Ponyprog ähnliche Oberfläche für AVRDUDE.&lt;br /&gt;
* [http://www.nongnu.org/avrdude AVRDUDE] (Unix, Linux, Windows, praktisch alle Programmer, leicht erweiterbar auf andere Parallelportadapter-Anschlussbelegungen, Kommandozeile, auch für AVR Butterfly über dessen vorinstallierten Bootloader/Firmware-Uploader) siehe im Wiki [[AVRDUDE]]&lt;br /&gt;
* [http://savannah.nongnu.org/projects/uisp uisp] (Unix, Linux, Windows, praktisch alle Programmer, Kommandozeile, nicht mehr gepflegt).&lt;br /&gt;
* AVR-Studio (nur Programmieradapter mit integriertem Controller für den seriellen Port, z.&amp;amp;nbsp;B. AVR910, ATMEL AVRISP und STK500)&lt;br /&gt;
* [http://www.mcselec.com Eingebauter Programmer im Bascom-Basic Compiler]&lt;br /&gt;
* [http://esnips.com/web/AtmelAVR AvrOspII] - GUI Open Source programmer based on Atmels Application note AVR911.&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/60817 Forumsbeitrag] - Wie man Ponyprog aus dem AVR-Studio heraus nutzt&lt;br /&gt;
* [http://www.cadmaniac.org/projectMain.php?projectName=kontrollerlab Kontrollerlab] - (Linux), Grafische Oberfläche zu avr-gcc, uisp, avrdude und kate mit built-in debugger und serial terminal. Einfach verständlich und aufgeräumt (im KDE-Stil)&lt;br /&gt;
* [http://shop.myavr.de/index.php?sp=download.sp.php&amp;amp;suchwort=dl112 myAVRProgTool] - Freies Programmiertool und zusätzlich auch als DUDE-GUI geeignet, einfach zu bedienen&lt;br /&gt;
* [http://dybkowski.net/isp ISP Programmer] von Adam Dybkowski (Opensource, Windows 95, 98, Me, NT 4.0, 2000, XP, 2003, Vista and Windows 7 (32-bit and 64-bit versions))&lt;br /&gt;
* [http://andreas-weschenfelder.de.vu/Homepage/Version_3/index.php?section=PC_Delphi_FT2232_AtmelISP.html FT2232 ISP Flasher] von Andreas Weschenfelder (Windows 95, 98, Me, NT 4.0, 2000, XP, 2003, Vista and Windows 7 (32-bit and 64-bit versions)), verwendet das MPSSE Protokoll der FTDI Chips zur ISP Programmierung&lt;br /&gt;
* [http://andreas-weschenfelder.de.vu/Homepage/Version_3/index.php?section=Android_FTDI_AVR_Programmer.html Atmel ISP Flasher for Android] von Andreas Weschenfelder (Android 4.1.1), verwendet das MPSSE Protokoll der FTDI Chips zur ISP Programmierung, KEINE root-Rechte erforderlich&lt;br /&gt;
&lt;br /&gt;
==Universelle Programmieradapter==&lt;br /&gt;
&lt;br /&gt;
Oftmals ist es nötig einen SMD oder bedrahteten Mikrocontroller ausserhalb einer Schaltung zu programmieren. Zum Beispiel wenn vor dem einlöten ein Bootloader in den Mikrocontroller gebrannt wird. Dafür gibt es spezielle Adapter, welche mit Jumpwires frei verdrahtet werden können. Dadurch kann der Adapter an den jeweils benötigten Mikrocontroller angepasst werden, ohne aufwendig eine eigene Paltine entwerfen zu müssen oder Kontaktfehler wie auf einem Breadboard befürchten zu müssen. Solche Adapter sind bei diversen Anbieters erhältlich.&lt;br /&gt;
* [http://www.ramser-elektro.at/shop/programmer-und-zubehoer/bausatz-universeller-icsp-isp-adapter-fuer-avr-und-pic-mikrocontroller/ Bausatz] für universellen Adapter mit ZIF Sockel für Atmel und Microchip µC&lt;br /&gt;
* Universeller [https://www.conrad.de/de/universal-programmieradapter-avr-schwenkhebler-fuer-dil-avr-controller-und-10pol-isp-anschluss-diamex-7204-842383.html Adapter mit ZIF Sockel] für Atmel µC&lt;br /&gt;
* [https://hobbyking.com/de_de/atmel-atmega-socket-firmware-flashing-tool.html AVR Sockel] zum preiswerten Programmieren von ATmega 48/8/88/168/328 im TQFP44 Gehäuse&lt;br /&gt;
* [http://www.tag-connect.com/ Tag Connect], universeller Programmierstecker mit 6, 10 oder 14 Pins und kleinstem Platzbedarf ohne Gegenstück (nur Testpunkte und Löcher, siehe [https://www.mikrocontroller.net/attachment/182509/demo-pcb.jpg Demoboard])&lt;br /&gt;
&lt;br /&gt;
== ISP-Pins am AVR auch für andere Zwecke nutzen ==&lt;br /&gt;
&lt;br /&gt;
Bei einem Programmer mit eingebautem [[Ausgangsstufen_Logik-ICs#Tristate|Tristate]]-Treiber (z.&amp;amp;nbsp;B. 74HC(T)244) werden die Leitungen MISO, MOSI und SCK hochohmig geschaltet wenn die Programmierung beendet ist, d.h. sie beeinflussen die Schaltung nicht. Man kann die betreffenden Pins am AVR also relativ problemlos als Ausgänge verwenden, wenn man darauf achtet, dass die daran angeschlossene Peripherie durch die Programmierimpulse keinen Schaden nehmen kann. Als Eingänge sollte man die Pins allerdings nicht verwenden, da ein angeschlossener Taster zum Beispiel die Programmierimpulse kurzschließen würde, wenn er gedrückt ist.&lt;br /&gt;
&lt;br /&gt;
Atmel empfiehlt in der Application Note [http://www.atmel.com/images/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf AVR042: AVR Hardware Design Considerations (PDF)] Peripherie an der SPI-Schnittstelle, bei gleichzeitiger Verwendung der Schnittstelle als In-System-Programmieranschluss, über Widerstände anzuschliessen.&lt;br /&gt;
&lt;br /&gt;
Ein Widerstand in SCK ist in diesem Zusammenhang aber nur dann sinnvoll, wenn am AVR ein externer SPI-Master hängt, denn nur dann kann ein Konflikt zwischen diesem SCK treibenden Master und dem ebenfalls SCK treibenden ISP auftreten. Ist der AVR hingegen wie üblich selbst der Master, dann ist ein Konflikt ausgeschlossen. Das gleiche gilt für MOSI.&lt;br /&gt;
&lt;br /&gt;
Bei MISO kann ein Konflikt nur auftreten, wenn diese Leitung vom Slave in der ISP-Phase aktiv treibend sein kann. Das ist beispielsweise bei Porterweiterungen (Inputs) mit Schieberegistern der Fall, wenn der&lt;br /&gt;
Datenausgang des Schieberegisters nicht passivierbar ist (tristate, Z-state). Dann ist ein Serienwiderstand in MISO sinnvoll.&lt;br /&gt;
&lt;br /&gt;
Normale SPI-Slaves mit CS-Leitung, wie ADCs, passivieren jedoch ihren Datenausgang wenn CS inaktiv ist. In diesem Fall ist ein Serienwiderstand in MISO unnötig, es muss nur über schwache Pullup-Widerstände an allen relevanten CS Leitungen sichergestellt sein, dass sie während Reset hochgezogen werden. Manche SPI-Slaves haben die bereits an Bord. Die internen Pullups im AVR sind keine Hilfe, da sie während Reset abgeschaltet sind.&lt;br /&gt;
&lt;br /&gt;
siehe auch [http://www.mikrocontroller.net/articles/AVR_HV-Programmer AVR HV-Programmer]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Programmer und -Bootloader| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:SNAP.jpg&amp;diff=104606</id>
		<title>Datei:SNAP.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:SNAP.jpg&amp;diff=104606"/>
		<updated>2021-07-24T07:23:51Z</updated>

		<summary type="html">&lt;p&gt;Pali64: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Microchip SNAP als ATtiny20 programmer&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104605</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104605"/>
		<updated>2021-07-23T15:57:34Z</updated>

		<summary type="html">&lt;p&gt;Pali64: Link zu MSP-ISO&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden.(Siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe dazu das Datenblatt&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
[[Datei:MSP430V1.jpg|mini|alternativtext=Aus Webarchive wiederhergestelltes Bild|https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine großen Vorteil bietet Spy-Bi-Wire mit der Relativ einfachen und kostengünstigen galvanischen Trennung.&lt;br /&gt;
Hier bietet TI sogar ein fertiges Modul für die Launchpad &#039;&#039;&#039;MSP-ISO&#039;&#039;&#039; [https://www.ti.com/lit/ug/slau668/slau668.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&amp;amp;ts=1627054516890&amp;amp;ref_url=https%253A%252F%252Fwww.mouser.de%252F] an.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit diesem Isolationsadabter lässt sich sowohl das Spy-Bi-Wire Interface, so wie auch die Serialschnittstelle des Launchpad trennen.&lt;br /&gt;
So lässt sich extern aufgebaut auch eine Trennung realisieren, die direkt mit Netzspannung betriebene Applikationen, Programmieren und Debuggen zulässt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
es gibt zwar auch 2nd Source Adapter von &#039;&#039;&#039;Elpotronic&#039;&#039;&#039; und &#039;&#039;&#039;Olimex&#039;&#039;&#039;, die eine Trennung bei &#039;&#039;&#039;JTAG&#039;&#039;&#039; ermöglichen, sind aber vom Aufbau her auch ungleich teurer und Komplexer &lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104604</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104604"/>
		<updated>2021-07-23T15:49:35Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* Spy-Bi-Wire */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden.(Siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe dazu das Datenblatt&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
[[Datei:MSP430V1.jpg|mini|alternativtext=Aus Webarchive wiederhergestelltes Bild|https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine großen Vorteil bietet Spy-Bi-Wire mit der Relativ einfachen und kostengünstigen galvanischen Trennung.&lt;br /&gt;
Hier bietet TI sogar ein fertiges Modul für die Launchpad &lt;br /&gt;
#WEITERLEITUNG [MSP-ISO] an.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit diesem Isolationsadabter lässt sich sowohl das Spy-Bi-Wire Interface, so wie auch die Serialschnittstelle des Launchpad trennen.&lt;br /&gt;
So lässt sich extern aufgebaut auch eine Trennung realisieren, die direkt mit Netzspannung betriebene Applikationen, Programmieren und Debuggen zulässt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
es gibt zwar auch 2nd Source Adapter von &#039;&#039;&#039;Elpotronic&#039;&#039;&#039; und &#039;&#039;&#039;Olimex&#039;&#039;&#039;, die eine Trennung bei &#039;&#039;&#039;JTAG&#039;&#039;&#039; ermöglichen, sind aber vom Aufbau her auch ungleich teurer und Komplexer &lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104601</id>
		<title>Diskussion:MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104601"/>
		<updated>2021-07-20T21:57:06Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* FRAM Serie der MSP430 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anmerkung 13.07.2011: die freie Version von CCE ist hinter dem Link nicht mehr verfügbar. Bitte verifizieren! --[[Spezial:Beiträge/92.76.10.126|92.76.10.126]] 10:05, 13. Jul. 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Kommerzielle Compiler für MSP430=&lt;br /&gt;
Ist der mit dem Code Composer nicht programmierbar?&lt;br /&gt;
&lt;br /&gt;
== Code Composer Studio  ==&lt;br /&gt;
&lt;br /&gt;
Der Artikel ist etwas veraltet. Code Composer wird garnicht erwähnt, dieses ist aber auf die MSP zugeschnitten.&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie der MSP430 ==&lt;br /&gt;
&lt;br /&gt;
Da der Artikel nicht ganz auf dem neusten Stand ist, würde ich gerne mal etwas erweitern (bin auch Autor bei WPA )&lt;br /&gt;
Was da besonders fehlt, ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH, sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich)&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
&lt;br /&gt;
Auch in der on-Chip Peripherie der MSP430 hat sich einiges getan.&lt;br /&gt;
Habe jetzt mal den Artikel erweitert.&lt;br /&gt;
Werde zu einem Späteren Zeitpunkt noch erheblich mehr schreiben, sofern das Interesse besteht.&lt;br /&gt;
Habe darauf geachtet das die Wikirichtlinien eingehalten wurden und die Erweiterung, so sachlich wie möglich gestaltet.&lt;br /&gt;
&lt;br /&gt;
Da das ehemalige Bild https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg nicht mehr verfügbar war,&lt;br /&gt;
habe ich dieses mithilfe des Internetarchiv.org aus 2017 wiederhergestellt.&lt;br /&gt;
&lt;br /&gt;
Falls sich Jemand daran Stört bitte Meldung dann wird es ersatzlos gelöscht.&amp;lt;br&amp;gt;&lt;br /&gt;
Bei weiterer Kontrolle des Artikels ist mir aufgefallen das einige Links TOT sind bzw. ins Nierwana Führen.&amp;lt;br&amp;gt;&lt;br /&gt;
Beispiel:&amp;lt;br&amp;gt;&lt;br /&gt;
Weblinks:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
Man sollte da mal einige wieder Aktualisieren, DANKE&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104600</id>
		<title>Diskussion:MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104600"/>
		<updated>2021-07-20T21:55:55Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* FRAM Serie der MSP430 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anmerkung 13.07.2011: die freie Version von CCE ist hinter dem Link nicht mehr verfügbar. Bitte verifizieren! --[[Spezial:Beiträge/92.76.10.126|92.76.10.126]] 10:05, 13. Jul. 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Kommerzielle Compiler für MSP430=&lt;br /&gt;
Ist der mit dem Code Composer nicht programmierbar?&lt;br /&gt;
&lt;br /&gt;
== Code Composer Studio  ==&lt;br /&gt;
&lt;br /&gt;
Der Artikel ist etwas veraltet. Code Composer wird garnicht erwähnt, dieses ist aber auf die MSP zugeschnitten.&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie der MSP430 ==&lt;br /&gt;
&lt;br /&gt;
Da der Artikel nicht ganz auf dem neusten Stand ist, würde ich gerne mal etwas erweitern (bin auch Autor bei WPA )&lt;br /&gt;
Was da besonders fehlt, ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH, sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich)&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
&lt;br /&gt;
Auch in der on-Chip Peripherie der MSP430 hat sich einiges getan.&lt;br /&gt;
Habe jetzt mal den Artikel erweitert.&lt;br /&gt;
Werde zu einem Späteren Zeitpunkt noch erheblich mehr schreiben, sofern das Interesse besteht.&lt;br /&gt;
Habe darauf geachtet das die Wikirichtlinien eingehalten wurden und die Erweiterung, so sachlich wie möglich gestaltet.&lt;br /&gt;
&lt;br /&gt;
Da das ehemalige Bild https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg nicht mehr verfügbar war,&lt;br /&gt;
habe ich dieses mithilfe des Internetarchiv.org aus 2017 wiederhergestellt.&lt;br /&gt;
&lt;br /&gt;
Falls sich Jemand daran Stört bitte Meldung dann wird es ersatzlos gelöscht.&amp;lt;br&amp;gt;&lt;br /&gt;
Bei weiterer Kontrolle des Artikels ist mir aufgefallen das einige Links TOT sind bzw. ins Nierwana Führen.&amp;lt;br&amp;gt;&lt;br /&gt;
Beispiel:&amp;lt;br&amp;gt;&lt;br /&gt;
Weblinks:&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
Man sollte da mal einige wieder Aktualisieren, DANKE&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104599</id>
		<title>Diskussion:MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104599"/>
		<updated>2021-07-20T21:54:35Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* FRAM Serie der MSP430 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anmerkung 13.07.2011: die freie Version von CCE ist hinter dem Link nicht mehr verfügbar. Bitte verifizieren! --[[Spezial:Beiträge/92.76.10.126|92.76.10.126]] 10:05, 13. Jul. 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Kommerzielle Compiler für MSP430=&lt;br /&gt;
Ist der mit dem Code Composer nicht programmierbar?&lt;br /&gt;
&lt;br /&gt;
== Code Composer Studio  ==&lt;br /&gt;
&lt;br /&gt;
Der Artikel ist etwas veraltet. Code Composer wird garnicht erwähnt, dieses ist aber auf die MSP zugeschnitten.&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie der MSP430 ==&lt;br /&gt;
&lt;br /&gt;
Da der Artikel nicht ganz auf dem neusten Stand ist, würde ich gerne mal etwas erweitern (bin auch Autor bei WPA )&lt;br /&gt;
Was da besonders fehlt, ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH, sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich)&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
&lt;br /&gt;
Auch in der on-Chip Peripherie der MSP430 hat sich einiges getan.&lt;br /&gt;
Habe jetzt mal den Artikel erweitert.&lt;br /&gt;
Werde zu einem Späteren Zeitpunkt noch erheblich mehr schreiben, sofern das Interesse besteht.&lt;br /&gt;
Habe darauf geachtet das die Wikirichtlinien eingehalten wurden und die Erweiterung, so sachlich wie möglich gestaltet.&lt;br /&gt;
&lt;br /&gt;
Da das ehemalige Bild https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg nicht mehr verfügbar war,&lt;br /&gt;
habe ich dieses mithilfe des Internetarchiv.org aus 2017 wiederhergestellt.&lt;br /&gt;
&lt;br /&gt;
Falls sich Jemand daran Stört bitte Meldung dann wird es ersatzlos gelöscht.&lt;br /&gt;
Bei weiterer Kontrolle des Artikels ist mir aufgefallen das einige Links TOT sind bzw. ins Nierwana Führen.&lt;br /&gt;
Beispiel:&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
Man sollte da mal einige wieder Aktualisieren, DANKE&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104598</id>
		<title>Diskussion:MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104598"/>
		<updated>2021-07-20T15:55:40Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* FRAM Serie der MSP430 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anmerkung 13.07.2011: die freie Version von CCE ist hinter dem Link nicht mehr verfügbar. Bitte verifizieren! --[[Spezial:Beiträge/92.76.10.126|92.76.10.126]] 10:05, 13. Jul. 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Kommerzielle Compiler für MSP430=&lt;br /&gt;
Ist der mit dem Code Composer nicht programmierbar?&lt;br /&gt;
&lt;br /&gt;
== Code Composer Studio  ==&lt;br /&gt;
&lt;br /&gt;
Der Artikel ist etwas veraltet. Code Composer wird garnicht erwähnt, dieses ist aber auf die MSP zugeschnitten.&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie der MSP430 ==&lt;br /&gt;
&lt;br /&gt;
Da der Artikel nicht ganz auf dem neusten Stand ist, würde ich gerne mal etwas erweitern (bin auch Autor bei WPA )&lt;br /&gt;
Was da besonders fehlt, ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH, sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich)&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
&lt;br /&gt;
Auch in der on-Chip Peripherie der MSP430 hat sich einiges getan.&lt;br /&gt;
Habe jetzt mal den Artikel erweitert.&lt;br /&gt;
Werde zu einem Späteren Zeitpunkt noch erheblich mehr schreiben, sofern das Interesse besteht.&lt;br /&gt;
Habe darauf geachtet das die Wikirichtlinien eingehalten wurden und die Erweiterung, so sachlich wie möglich gestaltet.&lt;br /&gt;
&lt;br /&gt;
Da das ehemalige Bild https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg nicht mehr verfügbar war,&lt;br /&gt;
habe ich dieses mithilfe des Internetarchiv.org aus 2017 wiederhergestellt.&lt;br /&gt;
&lt;br /&gt;
Falls sich Jemand daran Stört bitte Meldung dann wird es ersatzlos gelöscht.&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104597</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104597"/>
		<updated>2021-07-20T15:51:30Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* Stromversorgung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden.(Siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe dazu das Datenblatt&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
[[Datei:MSP430V1.jpg|mini|alternativtext=Aus Webarchive wiederhergestelltes Bild|https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:MSP430V1.jpg&amp;diff=104596</id>
		<title>Datei:MSP430V1.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:MSP430V1.jpg&amp;diff=104596"/>
		<updated>2021-07-20T15:48:34Z</updated>

		<summary type="html">&lt;p&gt;Pali64: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aus Internetarchive wieder hergestelltes Bild&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104595</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104595"/>
		<updated>2021-07-20T05:44:57Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* Analog Peripherie */ Zeilenumbruch eingefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden.(Siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe dazu das Datenblatt&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
&lt;br /&gt;
https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104594</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104594"/>
		<updated>2021-07-20T05:43:02Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* Analog Peripherie */ (Weitere Informationeen)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
Die integrierten &#039;&#039;&#039;OpAmp&#039;&#039;&#039;(Operationsverstärker) erlauben es, analoge Spannungen zu verstärken (was der Nutzung in Messseinheiten zugutekommt). Die OpAmp sind wie alle anderen Peripherien des MSP430 energysparend und werden aus einer einzigen Spannungsquelle versorgt (single supply, low current), können aber je nach Aufbau mit den internen DA Wandler und oder der Referenz auch ein Virtuellen &amp;quot;0&amp;quot; Punkt haben. Die Ausgangsspannung kann bis zur Versorgungsspannung reichen (rail to rail).&lt;br /&gt;
Die Einschwingzeit kann bei programmierbarem höherem Stromverbrauch kürzer eingestellt werden. Für eine programmierbare Verstärkung sind mehrere Widerstände für die Rückkopplung eingebaut, und können Softwaremäßig gewählt werden.(Siehe &#039;&#039;&#039;PGA Mode&#039;&#039;&#039;)&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe dazu das Datenblatt&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
&lt;br /&gt;
https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104593</id>
		<title>Diskussion:MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104593"/>
		<updated>2021-07-19T21:38:06Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* FRAM Serie der MSP430 */ Buchstaben Verwchslung (Handyproblem)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anmerkung 13.07.2011: die freie Version von CCE ist hinter dem Link nicht mehr verfügbar. Bitte verifizieren! --[[Spezial:Beiträge/92.76.10.126|92.76.10.126]] 10:05, 13. Jul. 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Kommerzielle Compiler für MSP430=&lt;br /&gt;
Ist der mit dem Code Composer nicht programmierbar?&lt;br /&gt;
&lt;br /&gt;
== Code Composer Studio  ==&lt;br /&gt;
&lt;br /&gt;
Der Artikel ist etwas veraltet. Code Composer wird garnicht erwähnt, dieses ist aber auf die MSP zugeschnitten.&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie der MSP430 ==&lt;br /&gt;
&lt;br /&gt;
Da der Artikel nicht ganz auf dem neusten Stand ist, würde ich gerne mal etwas erweitern (bin auch Autor bei WPA )&lt;br /&gt;
Was da besonders fehlt, ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH, sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich)&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
&lt;br /&gt;
Auch in der on-Chip Peripherie der MSP430 hat sich einiges getan.&lt;br /&gt;
Habe jetzt mal den Artikel erweitert.&lt;br /&gt;
Werde zu einem Späteren Zeitpunkt noch erheblich mehr schreiben, sofern das Interesse besteht.&lt;br /&gt;
Habe darauf geachtet das die Wikirichtlinien eingehalten wurden und die Erweiterung, so sachlich wie möglich gestaltet.&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104592</id>
		<title>Diskussion:MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104592"/>
		<updated>2021-07-19T21:36:07Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* FRAM Serie der MSP430 */ Erweitert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anmerkung 13.07.2011: die freie Version von CCE ist hinter dem Link nicht mehr verfügbar. Bitte verifizieren! --[[Spezial:Beiträge/92.76.10.126|92.76.10.126]] 10:05, 13. Jul. 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Kommerzielle Compiler für MSP430=&lt;br /&gt;
Ist der mit dem Code Composer nicht programmierbar?&lt;br /&gt;
&lt;br /&gt;
== Code Composer Studio  ==&lt;br /&gt;
&lt;br /&gt;
Der Artikel ist etwas veraltet. Code Composer wird garnicht erwähnt, dieses ist aber auf die MSP zugeschnitten.&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie der MSP430 ==&lt;br /&gt;
&lt;br /&gt;
Da der Artikel nicht ganz auf dem neusten Stand ist, würde ich gerne mal etwas erweitern (bin auch Autor bei WPA )&lt;br /&gt;
Was da besonders fehlt, ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH, sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich)&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
&lt;br /&gt;
Auch in der on-Chip Peripherie der MSP430 hat sich einiges getan.&lt;br /&gt;
Habe jetzt mal den Artikel erweitert.&lt;br /&gt;
Werde zu einem Späteren Zeitpunkt noch erheblich mehr schreiben, sofern das Interesse besteht.&lt;br /&gt;
Habe darauf geachtet das die Wikirichtlinien eingehalten wurden und die Erweiterung, so schalicvh wie möglich gestaltet.&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104591</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104591"/>
		<updated>2021-07-19T21:07:24Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* Peripherie */ Dopelwort entvernt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe dazu das Datenblatt&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
&lt;br /&gt;
https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104590</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104590"/>
		<updated>2021-07-19T09:31:10Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* Peripherie */ Fehlende Satzzeichen eingefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Peripherie, wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s, sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert, drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese &#039;&#039;&#039;OnChip OpAmps&#039;&#039;&#039; reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten, für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar, die Ohne interne CPU Belastung regeln können möglich.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Komponenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe dazu das Datenblatt&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
&lt;br /&gt;
https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104589</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104589"/>
		<updated>2021-07-19T09:27:30Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* Peripherie */  anpassung für bessere Lesbarkeit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Pheripherie wie &#039;&#039;&#039;CRC16,RTC,AES, MPY32, TIMER, eUCSI&#039;&#039;&#039; usw. vieles was man in anderen MCU&#039;s sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese OnChip OpAmps reichen für Sensoren, Audio, oder sonstige Schaltungen,&lt;br /&gt;
sehr oft ohne zusätzliche Aktive oder Passive Komponenten für die Meisten Anwendungen aus.&lt;br /&gt;
Teilweise sind damit, sogar oft auch PWM Converter realisierbar die Ohne interne CPU Belastung regeln können möglich.&lt;br /&gt;
Die &#039;&#039;&#039;eComp&#039;&#039;&#039; können so beispielsweise durch den internen 6Bit DA Converter eingestellt werden und benötigen da auch meist keine externen Kompßonenten.&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe dazu das Datenblatt&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
&lt;br /&gt;
https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104588</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104588"/>
		<updated>2021-07-19T07:42:55Z</updated>

		<summary type="html">&lt;p&gt;Pali64: /* Peripherie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
da gibt es Digitale Pheripherie wie *CRC16*,*RTC*,*AES*, *MPY32*, *TIMER* *eUCSI* usw. vieles wass man in anderen MCU&#039;s sicher auch findet. Was aber eher Seltenheitswert hat, ist die Analoge Peripherie.&lt;br /&gt;
Und da denke ist es auch ein paar gesonderte Worte wert drüber zu schreiben.&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures in *Digital* und *Analog*.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Digitale Peripherie ===&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Analog Peripherie ===&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe dazu das Datenblatt&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
&lt;br /&gt;
https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104583</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104583"/>
		<updated>2021-07-17T00:46:31Z</updated>

		<summary type="html">&lt;p&gt;Pali64: Bootloader Möglichkeit ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures.&amp;lt;br&amp;gt;&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe dazu das Datenblatt&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
&lt;br /&gt;
https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell,USB,SPI oder I²C)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104582</id>
		<title>MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MSP430&amp;diff=104582"/>
		<updated>2021-07-17T00:36:32Z</updated>

		<summary type="html">&lt;p&gt;Pali64: Einiges Wissenswerte ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der MSP430 ist ein 16 Bit-Mikrocontroller von Texas Instruments (TI). Er wurde speziell für eine geringe Stromaufnahme entwickelt, so dass er besonders für batteriebetriebene Geräte geeignet ist. Es gibt verschiedene Typen mit 1-256 kB [[Flash-ROM]], 128-18432 Byte [[RAM]], teilweise mit Hardware-Multiplizierer, [[UART]], [[AD-Wandler]] oder LCD-Treiber, die meisten im [[SMD]]-Package mit 20 bis &amp;gt;100 Pins. Einige neuere aus der MSP430F2xxx-Serie gibt es auch im DIP-Package (Bezeichnung: MSPxxxx &#039;&#039;&#039;-N&#039;&#039;&#039;). Der [http://www.mikrocontroller.net/part/MSP430F1121 MSP430F1121] zum Beispiel hat 4kB [[Flash-ROM]], 256B [[RAM]], 2 [[Timer]] und steckt in einem SO-20 Gehäuse. &lt;br /&gt;
&lt;br /&gt;
== Entwicklungshardware ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:launchpad-lcd.jpg|thumb|right|250px|Das &#039;&#039;Launchpad&#039;&#039; (ca. 10€) enthält neben dem per USB ansprechbaren Programmer auch das &amp;quot;Spy bi Wire&amp;quot; Interface, mit dem der µC in der Schaltung emuliert werden kann (in Circuit emulation).]]&lt;br /&gt;
&lt;br /&gt;
Für den schnellen Einstieg stellt TI mehrere Entwicklungssysteme mit USB Schnittstelle zur Verfügung. Beliebt ist, auf Grund des günstigen Preises, vor allem das [http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29 MSP430 Launchpad]. Es gibt jedoch noch andere wie z.B. das [http://focus.ti.com/docs/toolsw/folders/print/ez430-f2013.html MSP430 USB Stick Development Tool].&lt;br /&gt;
&lt;br /&gt;
Das Launchpad besitzt einen integrierten JTAG-Programmer, dessen Pins über Jumper herausgeführt sind. So kann man auch Controller direkt im Breadboard programmieren. Es können dadurch auch Controller programmiert werden, die nicht in den 20-Pin PDIP-Sockel passen, wie z.B. die MSP430F-Serie.&lt;br /&gt;
&lt;br /&gt;
Weitere Adapterplatinen und [[JTAG]]-Programmer für MSP430-Controller bekommt man bei [http://olimex.com/dev/ Olimex (Bulgarien)], in Deutschland  bei [http://elmicro.com/catalog/mcu/msp430/ Elektronikladen] oder [http://www.watterott.com/de/Boards-Kits/MSP430 Watterott].&lt;br /&gt;
&lt;br /&gt;
Einen einfachen Schaltplan für den [[JTAG]]-Programmer von TI bzw. Olimex gibt es [[Media:MSP430-JTAG-programmer.pdf|hier]]. Die Spannungsversorgung kommt im Gegensatz zum Original allerdings nicht vom Drucker-Port sondern muss extern (am besten vom MSP430 Board) bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Neben der JTAG-Programmierung bieten die MSP430-Controller auch die Möglichkeit, die Firmware über einen [[Bootloader]] einzuspielen. Die dafür erforderliche Hardware wird in der Application Note [http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&amp;amp;abstractName=slaa096d SLAA096d] von Texas Instruments beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Launchpad&#039;&#039; Bezugsquellen: [https://estore.ti.com/MSP-EXP430G2-MSP430-LaunchPad-Value-Line-Development-kit-P2031.aspx] [https://hbe-shop.de/ENTWICKLUNGSKIT-MSP430LAUNCHPAD-Typ-MSP-EXP430G2] [http://search.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-27570-ND] [http://www.watterott.com/de/MSP430-LaunchPad-MSP-EXP430G2] [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=151]&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie MSP430FR ==&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit der MSP430 Mikrocontroller ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH,ROM PROM oder EEPROM sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden(Cyclenzahl von 1x10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; und mehr werden da vom Hersteller garantiert&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich) sondern können einfach beschrieben werden.&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH oder PROM so ist bsbw. bei der MSP430Fxxx 8 Mhz bis zu 2 Wait States nötig bei MSP430FRxxx bei 8 MHz keinen.&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
Ein &#039;&#039;&#039;FRAM&#039;&#039;&#039; kann mann ganz grob, mit einem &#039;&#039;&#039;Kernspeicher&#039;&#039;&#039; vergleichen.&lt;br /&gt;
Sein Verhalten ist in vielen Punkten sehr ähnlich.&lt;br /&gt;
So zum Beispiel wird ein Byte genauso mit einem Auslesezykle gelöscht und muss sofort wieder beschrieben werden.&lt;br /&gt;
Keine Angst das muss nicht der User machen sondern die im MSP430 befindliche [FRAM Controller (FRCTL)]Logic erledigt dies selbstständig.&lt;br /&gt;
Auch bei Plötzlichem Strom Unterbruch, sorgt die [brownout circuit] Logic dafür dass der FRAM sauber wieder beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
&lt;br /&gt;
Eine große Besonderheit der MSP430 Mikrocontroller, ist ihre sehr umfangreiche Peripherie.&lt;br /&gt;
&lt;br /&gt;
So bietet zum Beispiel der MSP430FR2355 sehr Umfangreiche Futures.&amp;lt;br&amp;gt;&lt;br /&gt;
- 16-bit RISC architecture bis zu 24 MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Erweiterter Temperaturbereich : –40°C to 105°C&amp;lt;br&amp;gt;&lt;br /&gt;
- Großer Betriebsspannungsbereich von 1.8V bis 3.6 V&amp;lt;br&amp;gt;&lt;br /&gt;
- Optimierter niederleistungs Mode (bei 3 V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Active mode: 142 µA/MHz&amp;lt;br&amp;gt;&lt;br /&gt;
- Standby:&lt;br /&gt;
* LPM3 mit 32768-Hz Quarz: 1.43 µA (mit aktivem SVS)&lt;br /&gt;
* LPM3.5 mit 32768-Hz Quarz: 620 nA (mit aktivem SVS)&lt;br /&gt;
* LPM4.5 (Shutdown): 42 nA (mit inaktivem SVS)&amp;lt;br&amp;gt;&lt;br /&gt;
- High-performance analog Combo&lt;br /&gt;
* Ein 12-Kanal 12-bit analog-zu-digital Wandler (ADC)&lt;br /&gt;
* Interne mehrfach verwendbare Referenz (1.5, 2.0, oder 2.5 V)&lt;br /&gt;
* Sample-and-hold &lt;br /&gt;
* 200 ksps&amp;lt;br&amp;gt;&lt;br /&gt;
- 2 erweiterte Komparatoren (eCOMP)&amp;lt;br&amp;gt;&lt;br /&gt;
* Integrierte 6-bit digital-zu-analog Wandler (DAC) als Referenzspannung&amp;lt;br&amp;gt;&lt;br /&gt;
– 4 Analoge Blöcke (smart analog combo [SAC-L3])&lt;br /&gt;
* Ermöglicht analoge Verstärkerschaltungen (Operational Amplifier [OA])&lt;br /&gt;
* Rail-to-rail Ein- und Aus-gänge&lt;br /&gt;
* Mehrfache eingänge schaltbar&lt;br /&gt;
* high-power and low-power modes&lt;br /&gt;
* Konfigurierbare PGA MODE&lt;br /&gt;
# Nicht invertierter Mode: ×1, ×2, ×3, ×5, ×9,×17, ×26, ×33&amp;lt;br&amp;gt;&lt;br /&gt;
# Invertierter mode: ×1, ×2, ×4, ×8, ×16, ×25,×32&amp;lt;br&amp;gt;&lt;br /&gt;
* Interner 12-bit Referenz DAC für Offset und Bias Einstellung oder als 12-bit spannungsgesteuerter DAC mit optionaler Referenz&lt;br /&gt;
&lt;br /&gt;
Es sind noch sehr viele weitere Peripherien verfügbar, Siehe dazu das Datenblatt&lt;br /&gt;
&lt;br /&gt;
== neue XCPU ==&lt;br /&gt;
&lt;br /&gt;
die Sogenannte XCPU ist abwärzkompatibel zur normalen 16BIT Risc-CPU&lt;br /&gt;
Enthält aber ein kompletten Satz 20 BIT Register und ein erweiterter Befehlssatz&lt;br /&gt;
so wie ein erweiterter Adressbereich&lt;br /&gt;
&lt;br /&gt;
== MPY32 ==&lt;br /&gt;
&lt;br /&gt;
die 32BIT Hardware-Multiplikationseinheit stellt sehr viele Funktionen zur Verfügung.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Vorzeichenlose Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen&amp;lt;br&amp;gt;&lt;br /&gt;
• Vorzeichenlose Multiplikation und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• Multiplikation mit Vorzeichen und automatisches zusammenzählen&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit, 16-bit, 24-bit, und 32-bit Operationen&amp;lt;br&amp;gt;&lt;br /&gt;
• Saturation²&amp;lt;br&amp;gt;&lt;br /&gt;
• Fractional numbers³&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 16-bit Operation kompatibel mit 16-bit hardware Multiplikation&amp;lt;br&amp;gt;&lt;br /&gt;
• 8-bit und 24-bit Multiplikation die keine Vorzeichen Erwiterungsbefehl braucht &amp;quot;sign extend&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;² &#039;&#039;Eine Folge {Ln} linearer Operatoren heißt saturiert, wenn es eine in gewissem Sinne optimale Approximationsordnung für Funktionen aus einer vorgegebenen Klasse durch {Ln} gibt, so daß Ausnahmen (d. h. eine bessere Approximation) nur für sehr spezielle Funktionen, beispielsweise Konstanten, existieren.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
³ Bruchzahlen als Beispiel von Zahlen zwischen -1 und +1&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stromversorgung ==&lt;br /&gt;
&lt;br /&gt;
Der MSP430 benötigt meistens eine Spannung zwischen 1,8 und 3,6 V. Es gibt einige wenige Derivate, die mit 0.9V auskommen (z.B. MSP430L092). Einfach erzeugen kann man diese z.&amp;amp;nbsp;B. mit der folgenden Schaltung:&lt;br /&gt;
&lt;br /&gt;
https://www.mikrocontroller.net/images/lm317.png&lt;br /&gt;
&lt;br /&gt;
An den Eingang wird ein Steckernetzteil angeschlossen, die Ausgangsspannung lässt sich über das Potentiometer P1 einstellen.&lt;br /&gt;
Benutzt man für P1 einen 500Ω-Typ, kann man die Spannung in einem Bereich von 1,2 Volt und knapp 3,6 Volt einstellen. Dann kann man den MSP430 nicht durch zu hohe Versorgungsspannungen zerstören.&lt;br /&gt;
&lt;br /&gt;
Für den Batteriebetrieb eines MSP430 gibt es von TI eine fertige Lösung mit wenig Peripherie: [http://focus.ti.com/docs/prod/folders/print/tps61221.html TPS61221]&lt;br /&gt;
&lt;br /&gt;
Schaltung für 3,3V Versorgung: [http://focus.ti.com/lit/an/slva336/slva336.pdf]&lt;br /&gt;
&lt;br /&gt;
Die neue Generation mit USB, MSP430F55xx, enthält bereits einen Längsregler von 5 V auf 3,3 V für den Betrieb an der USB-Speisespannung.&lt;br /&gt;
Die Minimalausstattung für die Erstinbetriebnahme ist ein Quarz (bspw. 12 MHz), ein Widerstand 1,5 kΩ und eine Drahtbrücke.&lt;br /&gt;
&lt;br /&gt;
https://www-user.tu-chemnitz.de/~ygu/mb-iwp/Schrittmotorsteuerung/MSP430V1.jpg&lt;br /&gt;
&lt;br /&gt;
== Programmieren und Debuggen ==&lt;br /&gt;
Zum Füllen des internen Flash-Programmspeichers und zum Verfolgen des Programmablaufs stehen üblicherweise drei Schnittstellen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* Der Bootloader (seriell oder USB)&lt;br /&gt;
* Das JTAG-Interface&lt;br /&gt;
* Der Spy-bi-Wire-Anschluss&lt;br /&gt;
&lt;br /&gt;
=== Bootloader (Seriell oder USB) ===&lt;br /&gt;
Wer fehlerarm programmieren kann und für jedwede Hilfsadapter zu geizig ist, benutzt am besten den eingebauten Bootloader. Dies ist auch der günstigste Weg bei der Serienfertigung.&lt;br /&gt;
&lt;br /&gt;
Zur Nutzung des seriellen Bootloaders ist es am günstigsten, [http://www.tu-chemnitz.de/~heha/iwp/Piezomess/Seriell wenn die fertige Schaltung sowieso eine serielle Schnittstelle vorsieht]. Ungünstigerweise „hört“ der Bootloader nicht auf RxD und TxD, sondern zumeist auf P1.1 und P2.2 (siehe jeweiliges Datenblatt!). Daher behilft man sich mit festen oder trennbaren Brücken zwischen P1.1 und TxD sowie P2.2 und RxD.&lt;br /&gt;
Von den SubD-Pins 1+4+6 geht man via Serienwiderstand bspw. 33 kΩ auf /RESET,&lt;br /&gt;
von den SubD-Pins 7+8 ebenso via 33 kΩ auf TCK, fertig ist der On-Board-Programmieradapter.&lt;br /&gt;
&lt;br /&gt;
Richtig debuggen kann man mit der seriellen Schnittstelle nicht.&lt;br /&gt;
&lt;br /&gt;
MSP430 mit USB-Schnittstelle haben &#039;&#039;keinen&#039;&#039; seriellen Bootloader. Dieser ist durch den USB-Bootloader ersetzt worden. Zu seiner Verwendung werden keine ominösen Brücken verwendet; der USB-Anschluss (den wohl jede Anwendungsschaltung mit MSP430F55xx haben wird) ist sofort zum Herunterladen der Firmware geeignet. Clevererweise meldet sich der Bootloader als HID-Gerät, das erspart den Treiber (genau genommen gibt es extra für Firmware-Updates eine eigene USB-Geräteklasse). Zum Füllen des Flash steht von Texas Instruments eine Software mit Quelltext zur Verfügung. Leider ist die API der DLL wenig brauchbar, und das Programm schluckt keine .HEX-Dateien (wie sonst üblich), sondern TI-spezifische .TXT-Dateien. Eine alternative Software für Windows gibt es [http://www-user.tu-chemnitz.de/~heha/hs_freeware/msp430-usbbsl.zip von Henrik Haftmann]. Nicht jeder MSP430 ist mit einem Bootloader ausgestattet, diese könnten aber mit dem MSP430 Flasher programmiert werden ([http://www.ti.com/tool/msp430-flasher SLAU654]).&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
Komfortabel und dennoch preisgünstig ist der JTAG-Anschluss. Leider benötigt dieser mindestens 5 Kontakte und damit Platz auf der Schaltung. Anschluss-Adapter für den Parallelport sind leicht zu bekommen und beinhalten im einfachsten Fall nur Schutzwiderstände. Wer keinen Parallelport hat, benötigt teurere aber komfortable USB-JTAG-Adapter.&lt;br /&gt;
&lt;br /&gt;
=== Spy-Bi-Wire ===&lt;br /&gt;
Die TI-Erfindung Spy-Bi-Wire kommt mit nur 2 Leitungen aus. Hier sind nur spezielle USB-Adapter bekannt, die vom Hersteller zu beziehen und closed-source sind. Auf TI-Entwicklungsplatinen ist dieser Umsetzer bereits als ein weiterer Chip aufgelötet. Eine Liste möglicher Adapter ist z.B. [[http://de.wikipedia.org/wiki/Msp430#Liste_der_FETs.2C_sehr_unvollst.C3.A4ndig hier]] einsehbar.&lt;br /&gt;
Die verfügbaren Adapter variieren teils sehr stark in ihrem Preis aber auch in ihrer Leistungsfähigkeit.&lt;br /&gt;
&lt;br /&gt;
Die kostengünstigste Lösung ist es, ein MSP430 Launchpad als USB-Programmieradapter zu verwenden. Das Launchpad ist ein kleines Entwicklungsboard von TI und kann bei Farnell bereits für unter 10 Euro bezogen werden. Die Spy-Bi-Wire Anschlüsse (RST &amp;amp; TEST) können einfach an J2, J3 oder J4 abgenommen und an den zu programmierenden MSP430 angeschlossen werden. Zu beachten ist nur, das man den auf dem Board eingesetzten MSP430 heraus nimmt. Siehe [http://www.ti.com/lit/ug/slau318d/slau318d.pdf Launchpad Userguide/SLAU318]&lt;br /&gt;
&lt;br /&gt;
Ein genereller Nachteil bei Spy-Bi-Wire ist die zum Teil erheblich reduzierte Geschwindigkeit bei der Datenübertragung. Dies liegt v.a. daran, dass die Daten, die vorher bei JTAG über 3 Leitungen übertragen wurden (TMS, TDI, TDO) nun über eine gemeinsame bidirektionale Leitung laufen. Es gibt jedoch auch Tools die diesen Nachteil weitestgehend ausgleichen können.&lt;br /&gt;
&lt;br /&gt;
Es bleibt daher zu überlegen, ob es nicht sinnvoll ist, lieber einen Chip in einem etwas größeren Gehäuse mit mehr Pins zu verwenden und dafür JTAG zu nutzen. v.a. in Sachen Selbstbaudebugger ist dies sinnvoll.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
* TI&#039;s Website: http://www.msp430.com &lt;br /&gt;
*:Für jede MSP430 Familie (z.&amp;amp;nbsp;B. MSP430F1xxx) gibt es ein generelles &amp;quot;datasheet&amp;quot;    und einen detailierten &amp;quot;user guide&amp;quot;. Die im user guide verwendeten   Registerbezeichnungen (Ports, SFRs, etc.) findet man auch bei den meisten   Compilern wieder.&lt;br /&gt;
&lt;br /&gt;
* Buch: Mikrocontrollertechnik Am Beispiel der MSP430-Familie&lt;br /&gt;
*:Dieses Lehrbuch führt in die Grundlagen der Mikrorechentechnik ein. Es beschreibt sehr detailliert den Aufbau, die Funktion und die Handhabung von Mikrocontrollern am Beispiel des MSP430F1232. Programmbeispiele sind in Assembler und C enthalten. Ideal für Einsteiger mit geringen technischen Vorkenntnissen. Autor: Matthias Sturm ISBN 3-446-21800-9, Hanser Verlag&lt;br /&gt;
&lt;br /&gt;
* Buch: [https://www.medit.hia.rwth-aachen.de/msp430 Das MSP430 Mikrocontroller Buch]&lt;br /&gt;
*: ... sagt u.a.: &amp;quot;Dieses Buch eröffnet einen schrittweisen Einstieg in die Welt der Mikrocontrollerprogrammierung und führt mit ausführlichen Anwendungsbeispielen in die Fähigkeiten dieser außergewöhnlichen Prozessorfamilie ein. Jede Komponente des Prozessors wird ausführlich erklärt und deren Funktion in kleinen Beispielprogrammen gleich umgesetzt. Abgerundet wird jedes Kapitel mit einigen Übungsaufgaben. So entsteht neben dem eigentlichen Lerneffekt gleichzeitig eine Referenzbibliothek von Funktionsmodulen, die später in eigenen Anwendungen leicht weiterverwendet werden können.&amp;quot;&lt;br /&gt;
*:Leider liefert der Elektor Verlag derzeit keine gedruckte Version des Buches mehr aus. Es kann jedoch beim Verlag ein eBook erworben werden. Auf der Webseite https://www.medit.hia.rwth-aachen.de/msp430 ist eine Web-optimierte Version des Buches veröffentlicht.&lt;br /&gt;
*: Autoren: Marian Walter und Stefan Tappertzhofen; ISBN 978-3-89576-236-9, Elektor Verlag&lt;br /&gt;
&lt;br /&gt;
* Egel project page website: https://noforth.bitbucket.io/site/egel%20for%20launchpad.html&lt;br /&gt;
*: This page takes you by the hand in learning how the MSP430 hardware works. It does try to help you understand how the TI-documention works. Loads of examples from simple I/O to I2C and use of the low power modes. Finally some apllication examples like building your own cloning BSL or walking biped robot.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== TI Code Composer Studio ===&lt;br /&gt;
Die Eclipse-basierte Entwicklungsumgebung von TI ist für Linux, MAC und Windows verfügbar.&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/Download_CCS]&lt;br /&gt;
&lt;br /&gt;
===MSPGCC===&lt;br /&gt;
&lt;br /&gt;
Mittlerweile (Stand 2014) gibt es von TI selbst einen neuen GCC-basierten Compiler für MSP430, welcher komplett neu entwickelt wurde [http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html], und in das Code Composer Studio seit Version 6 integriert ist.&lt;br /&gt;
* [http://www.ti.com/tool/msp430-gcc-opensource GCC - Open Source Compiler for MSP430 Microcontrollers]&lt;br /&gt;
&lt;br /&gt;
Die folgenden Informationen beziehen sich auf ältere, nicht von TI unterstütze GCC-Versionen, und sind möglicherweise veraltet:&lt;br /&gt;
* Direkt mit Eclipse 3.6 Helios compilieren und debuggen [[MSP430_eclipse_helios_mspgcc4_gdb-proxy|Anleitung]] (06/2010)&lt;br /&gt;
* [http://msp430.ms.funpic.de/doku.php?id=msp430:entwicklungumgebung Eclipse+mspgcc+GDB-Proxy] (03/2009)&lt;br /&gt;
* [http://www.mikrocontroller.net/articles/Eclipse_und_MSPGCC_unter_Windows Eclipse und MSPGCC unter Windows] (03/2009)&lt;br /&gt;
* [http://matthias-hartmann.blogspot.com/ Use Eclipse and mspgcc - the easy way] (Windows 02/2009).&lt;br /&gt;
* [http://www.mikrocontroller.net/Eclipse%20und%20MSPGCC/ Eclipse und MSPGCC] (Windows 03/2006)&lt;br /&gt;
* [http://kurt.on.ufanet.ru/ MSPFET - FREE MSP430 flash programming utility] (Windows)&lt;br /&gt;
* [http://xgoat.com/wp/2009/03/25/fetproxy-an-open-source-replacement-for-msp430-gdbproxy/ FetProxy - Ein funktionierender Open-Source-Ersatz für msp430-gdbproxy] (Unix, Linux)&lt;br /&gt;
* [http://osx-launchpad.blogspot.com/ - Komplettpaket für Mac OS X](11/2011)&lt;br /&gt;
&lt;br /&gt;
===Energia===&lt;br /&gt;
Diese auf der Arduino IDE basierende Entwicklungsumgebung bietet die gleiche Nutzererfahrung für MSP430-Boards, die von der Entwicklung für Arduino-Boards bekannt ist. Es werden fortlaufend Verbesserungen vorgenommen.&lt;br /&gt;
&lt;br /&gt;
* [http://energia.nu/ Energia-Webseite]&lt;br /&gt;
&lt;br /&gt;
===MSPDebug===&lt;br /&gt;
MSPDebug ist ein Programmier/- Debugwerkzeug für den [[MSP430]], ähnlich wie avrdude für die [[AVR]]s. Es beinhaltet auch einen gdb-server um in eclipse oder direkt mit msp430-gdb zu debuggen.&lt;br /&gt;
&lt;br /&gt;
Momentan (0.21) unterstütze Programmer/Debugger (aus der Hilfe übernommen):&lt;br /&gt;
* ez430-RF2500 z.B. der Programmieradapter von der ez430-Chronos&lt;br /&gt;
* Olimex MSP-JTAG-TINY / ISO&lt;br /&gt;
* Launchpad&lt;br /&gt;
* GoodFET&lt;br /&gt;
* TI FET430UIF und Kompatible (z.B. eZ430)&lt;br /&gt;
* TI FET430UIF bootloader&lt;br /&gt;
* Flash Bootloader&lt;br /&gt;
&lt;br /&gt;
Er läuft unter Linux, *BSD, OS/X und Windows.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mspdebug.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://aur.archlinux.org/packages.php?ID=37648 AUR-Paket für Arch Linux]&lt;br /&gt;
* [http://packages.debian.org/search?suite=all&amp;amp;searchon=names&amp;amp;keywords=mspdebug Pakete für Debian Linux]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Instruction Set Simulator===&lt;br /&gt;
&lt;br /&gt;
Die Firma Lauterbach bietet unter der Artikelnummer LA-8815 einen Instruction Set Simulator für den MSP430 an. Die Demoversion ist zur Evaluierung kostenlos. Einschränkungen bestehen in der Anzahl der zu ladenen Debugsymbole, was jedoch für die meisten (teils auch kleineren) Hobbyanwendungen kein Problem darstellen sollte. &lt;br /&gt;
Der Simulator unterstützt alle gängigen MSP430 Derivate, d.h. beide Instruction Sets (16bit/20bit CPUs).&lt;br /&gt;
Der Simulator lädt alle gängigen Debugformate, wie die des IAR Compilers, des Code Composer Studios von TI oder des freien Tools MSPGCC.&lt;br /&gt;
&lt;br /&gt;
Zum Simulator gäbe es entsprechende zugehörige Debugtools für den MSP430, die käuflich zu erwerben sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:msp430_sim_la8815.jpg|thumb|130px| MSP430 Simulator]]&lt;br /&gt;
&lt;br /&gt;
Der Screenshot zeigt ein Beispiel mit Quellcode (HLL/ASM mixed), Register/Stack Fenster, Breakpoint-Konfiguration, Variablenansicht, Stackframe und Darstellung des anfänglichen RAM Inhalts.&lt;br /&gt;
&lt;br /&gt;
* Weblinks:&lt;br /&gt;
** [http://www.lauterbach.com/frames.html?dwnload.html Downloadarea mit MSP430 Simulator]&lt;br /&gt;
&lt;br /&gt;
===MSP430 Forth===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mecrisp&#039;&#039;&#039; ist eine Forth-Implementation, die direkt im Microcontroller läuft und über eine serielle Schnittstelle angesprochen wird. Momentan werden die Chips MSP430F2274 und MSP430G2553 unterstützt.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://mecrisp.sourceforge.net/ Projekthomepage bei Sourceforge]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120219114103966 mecrisp - nativ forth für MSP430] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CamelForth/430&#039;&#039;&#039; ist ein ANSI Standard Forth für die Texas Instruments MSP430 Mikrocontroller-Familie. CamelForth sollte mit jedem MSP430, der wenigstens 512B RAM, 8K ROM und einen USART hat, funktionieren.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://www.camelforth.com/page.php?8 CamelForth/430]&lt;br /&gt;
* [http://forth-ev.de/article.php/20120101180840139 CF430FR - CamelForth für TI MSP430FR5739] auf forth-ev.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4E4th&#039;&#039;&#039; ist kleines Forth das auf dem Texas Instruments LaunchPad läuft. Es steckt in der MCU MSP430G2553. Du kommunizierst mit dem 4E4th mit Hilfe eines Zeilen Editors der über einen Terminal Emulator betrieben wird. 4E4th basiert auf der MSP430 CamelForth version 0.3 von B. J. Rodriguez, welches er für das TI Tini430 board mit dem MSP430F1611 geschrieben hatte. Es ist ein ANS Forth, und belegt knapp 8K im FLASH der MSP430G2553 MCU (0xE000-0xFFFF). Weitere 8K (0xC000-0xDFFF) sind frei für eigene Experimente. 4E4th ist, wie das CamelForth auch, freie Software (GNU General Public License). &lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://forth-ev.de/index.php?topic=launchpad 4E4th auf dem LaunchPad] auf forth-ev.de&lt;br /&gt;
* [http://www.forth-ev.de/wiki/doku.php/projects:4e4th:start 4e4th im forth-ev.de Wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:noforth.jpg|mini|zentriert|150px|]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noForth&#039;&#039;&#039; Is an interactive 16-bit stand-alone forth for MSP430.&lt;br /&gt;
Authors: Albert Nijhof &amp;amp; Willem Ouwerkerk.&lt;br /&gt;
&lt;br /&gt;
Last update 22 april 2016: We made noForth still more robust and we made some space saving internal changes, the kernel takes less space and compiling a program is even more space efficient now. This is nice especially for the smaller 16kB processors.&lt;br /&gt;
&lt;br /&gt;
noForth C,V comes in two basic variants:&lt;br /&gt;
* noForth C, Compact, for the smaller 16kB flash processors.&lt;br /&gt;
* noForth V, with Vocabularies, for larger flash memories. &lt;br /&gt;
&lt;br /&gt;
New:&lt;br /&gt;
* Low Power noForth for MSP430G2553 boards. In Low Power noForth all &#039;wait-loops&#039; are replaced with &#039;sleep-until-interrupted&#039; which relatively saves a lot of energy. Low power noForth is marked with a dash: noForth C- and noForth V-.&lt;br /&gt;
* noForth for msp-exp430fr5969 experimenter board&lt;br /&gt;
* noForth for MSP430G2553 egel kit &lt;br /&gt;
* noForth for MSP430FR5994 with 256 kByte FRAM!&lt;br /&gt;
&lt;br /&gt;
[[Datei:egeltje1.jpg|thumb|130px|Egel]]&lt;br /&gt;
&lt;br /&gt;
Weblinks: &lt;br /&gt;
* [http://home.hccnet.nl/anij/nof/noforth.html noForth homepage, binary&#039;s and sources]&lt;br /&gt;
* [https://noforth.bitbucket.io/site/egel%20for%20launchpad.html Egel project for MSP430]&lt;br /&gt;
&lt;br /&gt;
=== Weitere Kommerzielle Compiler für MSP430 ===&lt;br /&gt;
* [http://www.imagecraft.com/devtools_MSP430.html ICC430] (45-Tage Demo; wird nach Ablauf auf 4 kByte Codegröße beschränkt)&lt;br /&gt;
* [http://www.rowley.co.uk/msp430/index.htm CrossWorks for MSP430] (30-Tage-Testversion nach Registrierung)&lt;br /&gt;
* [http://www.quadravox.com/AQ430.htm Quadravox AQ430]&lt;br /&gt;
* [http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430/ IAR Embedded Workbench for MSP430] (30-Tage-Testversion; Freie auf 4 kByte (MSP430) oder 8 kByte (MSP430X) Codegröße beschränkte &amp;quot;KickStart&amp;quot;-Edition)&lt;br /&gt;
&lt;br /&gt;
== Beispielanwendungen ==&lt;br /&gt;
&lt;br /&gt;
* Mathar.Com: Auf http://www.mathar.com gibt es ein paar Beispiele (in C), was man so alles mit dem MSP430 anstellen kann. Dort hat der Autor einige Anwendungen näher erläutert. Angefangen mit simplen Aufgaben wie LEDs leuchten lassen geht es weiter über eine LCD- und GLCD-Ansteuerung (HD44780- und KS0108-kompatibel) sowie einigen Beispielen zur Verwendung des integrierten A/D-Wandlers, des USARTs, des Timers und vielem mehr ... Als weitere Codebeispiele sind dort auch eine I2C-Softwareimplementation und eine CAN-Library für den MSP430 zu finden.&lt;br /&gt;
* Examples Ordner der freien Toolchain MSPGCC: Der &amp;quot;examples&amp;quot;-Ordner bzw. &amp;quot;checkout&amp;quot; aus dem CVS vom [[MSPGCC]] ist auch sehr umfangreich: http://mspgcc.cvs.sourceforge.net/mspgcc/examples/&lt;br /&gt;
* Codebeispiele auf Mikrokontroller.net: Einige [[MSP430 Codebeispiele]] finden sich auch hier in der Artikelsammlung.&lt;br /&gt;
* uIP Port auf Mikrokontroller.net: Der Port des TCP/IP Stacks von Adam Dunkels [[MSP430_uIP_Port|uIP 1.0 für den MSP430 findet sich hier]].&lt;br /&gt;
* Launchpad interne Temp. Messung mit ADC und Anzeige auf LCD: C Codebeispiel für Launchpad mit IAR Kickstartcompiler, interner ADc und LCD Ansteuerung. Vergleich Atmel 8 Bit AVR Controller und mit MSP Familie: [http://www.mikrocontroller.net/topic/222015#new]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mikrocontroller.net/forum/1/msp430 Beiträge zum MSP430 im Mikrocontroller.net Forum]&lt;br /&gt;
* [http://mspgcc.sourceforge.net/manual/c68.html An introduction to the TI MSP430 low-power microcontrollers]&lt;br /&gt;
* [http://tinymicros.com/embedded/MSP430/ The MSP430 Bugspray Database] - umfangreiche Datenbank für Bugs in MSP430-Controllern&lt;br /&gt;
* [http://www.mathar.com www.mathar.com] - Tutorial für Einsteiger und Fortgeschrittene: LCD, ADC, USART, I2C, CAN Programmierung in C&lt;br /&gt;
* [http://cnx.org/lenses/TexasInstruments/MSP430 Connexions - Texas Instruments MSP430] Tutorial (speziell für eZ430)&lt;br /&gt;
* [http://groups.yahoo.com/group/msp430 Yahoo group MSP430] - lebhaftes Forum mit vielen MSP430-Experten&lt;br /&gt;
* [http://www.thomas-wedemeyer.de/elektronik/msp430/msp430.html Thomas Wedemeyer&#039;s MSP430-Seiten] - Kleine Beispiel Applikationen und Tips zur Nutzung von MSPGCC mit der Dev-C++ Entwicklungsumgebung&lt;br /&gt;
* [http://homepage.hispeed.ch/py430/mspgcc/ msp430-gdb und Eclipse] - Eine Anleitung von Chris Liechti&lt;br /&gt;
* [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=GPS MSP430 GPS] - [http://passworld.co.jp/index.php?lang=GB&amp;amp;lieu=Oximeter MSP430 Puls-Oximeter]&lt;br /&gt;
* [http://passworld.co.jp/ForumMSP430 MSP430 Forum]&lt;br /&gt;
* [http://develissimo.net/de/msp430entwicklung.html MSPGCC + Eclipse + msp430-gdbproxy / Linux / Debian / Ubuntu] - Anleitung / Tutorial zur Installation der MSPGCC Toolchain + Eclipse + msp430-gdbproxy für Linux / Debian / Ubuntu Lang=Deutsch und Englisch leider geht der link nicht mehr&lt;br /&gt;
* [http://www.sinelabore.com SinelaboreRT] - Generierung von Zustandsmaschinen in C speziell für kleine Low-Power Plattformen.&lt;br /&gt;
* [http://www.state-machine.com/msp430/ QP Framework for MSP430] - state machine Laufzeitumgebung ([http://www.state-machine.com/licensing/index.php dual licensed commercial/GPL2])&lt;br /&gt;
* [http://msp430.funpic.de msp430.funpic.de] - Wiki zum MSP430&lt;br /&gt;
* [http://mspsci.blogspot.com/2010/07/tutorial-01-getting-started.html Scientific Instruments Using the TI MSP430] - Tutorial speziell zum TI Launchpad.&lt;br /&gt;
* [http://43oh.com/ Four-Three-Oh!] - MSP430 News und Forum (en)&lt;br /&gt;
* [http://www.youtube.com/watch?v=9zfIatWxkG8&amp;amp;feature=relmfu Beispielvideo] - by JL (God of Mathfire)&lt;br /&gt;
* [http://opencores.org/project,openmsp430 openMSP430] - MSP430 als Softcore im FPGA (Verilog)&lt;br /&gt;
* [http://opencores.org/project,NEO430 NEO430] - sehr kleines MSP430-kompatibles SoC als Softcore im FPGA (VHDL)&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen  ==&lt;br /&gt;
=== Evaluation Boards ===&lt;br /&gt;
* [http://www.mikrocontroller.net/link/reichelt/msp430 reichelt.de]&lt;br /&gt;
* [http://thinkembedded.ch/MSP430:::10.html thinkembedded.ch]&lt;br /&gt;
* [http://www.sander-electronic.de/es0015.html sander-electronic]&lt;br /&gt;
* [http://ch.farnell.com/texas-instruments/ez430-rf2500/board-kit-fuer-msp430/dp/1382267 farnell.com]&lt;br /&gt;
* [http://www.ti.com/tool/msp-exp430g2 TI.com - Als Student mit Hochschulmailadresse für 10$ Versandkostenfrei]&lt;br /&gt;
* [https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=51&amp;amp;products_id=205 b-redemann.de]&lt;br /&gt;
* [https://www.tindie.com/stores/Willem_O/ MSP430-EXP430G alternatives and expansion boards/kits.]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikrocontroller]]&lt;br /&gt;
[[Kategorie:MSP430| ]]&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104572</id>
		<title>Diskussion:MSP430</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:MSP430&amp;diff=104572"/>
		<updated>2021-07-08T21:49:42Z</updated>

		<summary type="html">&lt;p&gt;Pali64: Neue Erweiterte &amp;quot;FR&amp;quot; Serie der MSP430 in Diskusion gestellt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anmerkung 13.07.2011: die freie Version von CCE ist hinter dem Link nicht mehr verfügbar. Bitte verifizieren! --[[Spezial:Beiträge/92.76.10.126|92.76.10.126]] 10:05, 13. Jul. 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Kommerzielle Compiler für MSP430=&lt;br /&gt;
Ist der mit dem Code Composer nicht programmierbar?&lt;br /&gt;
&lt;br /&gt;
== Code Composer Studio  ==&lt;br /&gt;
&lt;br /&gt;
Der Artikel ist etwas veraltet. Code Composer wird garnicht erwähnt, dieses ist aber auf die MSP zugeschnitten.&lt;br /&gt;
&lt;br /&gt;
== FRAM Serie der MSP430 ==&lt;br /&gt;
&lt;br /&gt;
Da der Artikel nicht ganz auf dem neusten Stand ist, würde ich gerne mal etwas erweitern (bin auch Autor bei WPA )&lt;br /&gt;
Was da besonders fehlt, ist die neue MSP430FRxxxx Serie, diese basiert nicht mehr auf FLASH, sondern auf FRAM.&lt;br /&gt;
&lt;br /&gt;
FRAM steht für (ferroelektrischer Arbeitsspeicher) und ist ein nicht flüchtiger Speicher, &lt;br /&gt;
der eine ferroelektrische Folie als Kondensator zum Speichern von Daten verwendet. &lt;br /&gt;
FRAM besitzt die Eigenschaften von ROM- und RAM-Elementen.&lt;br /&gt;
&lt;br /&gt;
Dies bringt entschiedene Vorteile:&lt;br /&gt;
#) FRAM braucht weniger Strom als FLASH&lt;br /&gt;
#) FRAM kann beinahe unbegrenzt wieder beschrieben werden&lt;br /&gt;
#) FRAM braucht keine Löschung (Bulkerase ist aber Möglich)&lt;br /&gt;
#) FRAM ist einiges schneller als FLASH&lt;br /&gt;
#) FRAM kann wie ein normales RAM Beschrieben und gelesen werden&lt;br /&gt;
&lt;br /&gt;
Das sind mal die Haupt Eckpunkte der neuen &amp;quot;FR&amp;quot; Typen.&lt;br /&gt;
&lt;br /&gt;
Auch in der on-Chip Peripherie der MSP430 hat sich einiges getan.&lt;/div&gt;</summary>
		<author><name>Pali64</name></author>
	</entry>
</feed>