- No category
advertisement
24. September 2008
MSP430 Education System v2.0
Benutzerhandbuch
Forschungs- uns Transferzentrum Leipzig e.V. an der HTWK Leipzig
Wächterstraße 13
D-04107 Leipzig
Tel.: +49 (0)341-3076 1136
Fax: +49 (0)341-3076 1220
E-Mail: [email protected]
Internet: http://www.msp430-buch.de Dokument-Version 1.1
Copyright
I. Inhaltsverzeichnis
Der Mikrocontroller MSP430F2272
......................................................................... 14
........................................................................................... 18
................................................................................. 22
............................................................................. 38
Lötbrücken des MSP430 Education Systems
............................................................ 39
...................................................................................... 42
Hauptbestandteile der IAR Embedded Workbench
................................................... 45
Erstes eigenes Programm (basierend auf IAR EW V4.11)
......................................... 57
Handbuch MSP430 Education System Seite 2
Copyright
MSP-FET430P120 Assembler Examples slac143a.zip (81k) ...................................... 74
MSP-FET430P120 "C" Examples slac123b.zip (136k)
.............................................. 75
Handbuch MSP430 Education System Seite 3
Copyright
II. Copyright
Im Buch verwendete Bezeichnungen für Erzeugnisse, die zugleich ein eingetragenes Warenzeichen darstellen, wurden nicht besonders gekennzeichnet. Alle Marken- und Warennamen (Zeichen) wurden ohne Gewährleistung der freien Verfügbarkeit genutzt. Das Fehlen der © Markierung ist demzufolge nicht gleichbedeutend mit der Tatsache, dass die Bezeichnung als freier Warenname gilt. Ebenso wenig kann anhand der verwendeten Bezeichnung auf eventuell vorliegende Patente oder einen
Gebrauchsmusterschutz geschlossen werden.
Die Informationen in diesem Handbuch wurden sorgfältig übergeprüft und können als zutreffend angenommen werden. Dennoch sei ausdrücklich darauf hingewiesen, dass der Autor weder eine
Garantie noch die juristische Verantwortung oder irgendeine Haftung für Folgeschäden übernimmt, die auf den Gebrauch oder den Inhalt dieser Ausarbeitung zurückzuführen sind. Die in diesem
Handbuch enthaltenen Angaben können ohne vorherige Ankündigung geändert werden. Der Autor geht damit keinerlei Verpflichtungen ein.
© Copyright 2008 FTZ Leipzig e.V. an der HTWK Leipzig.
Alle Rechte vorbehalten. Kein Teil dieses Buches darf in irgendeiner Form ohne schriftliche
Genehmigung des FTZ Leipzig unter Einsatz entsprechender Systeme reproduziert, verarbeitet, vervielfältigt oder verbreitet werden.
Kontaktadressen:
FTZ Leipzig e.V. an der HTWK Leipzig
Carsten Kögler / Thomas Minner
Wächterstraße 13
D-04107 Leipzig
Tel.: +49 (0)341-3076 1136
Fax: +49 (0)341-3076 1220
E-Mail: [email protected]
Internet: http://www.ftz-leipzig.de/
Handbuch MSP430 Education System Seite 4
III. History
• 1.0 – 27.3.2008 o
Erste Version für Hardware 2.0
• 1.1 – 24.9.2007 o
neueste IAR-Version dokumentiert o
Schaltplan aktualisiert o
Design überarbeitet
History
Handbuch MSP430 Education System Seite 5
Abbildungsverzeichnis
IV. Abbildungsverzeichnis
Handbuch MSP430 Education System Seite 6
Tabellenverzeichnis
V. Tabellenverzeichnis
Handbuch MSP430 Education System Seite 7
Beschreibung verwendeter Symbole
VI. Beschreibung verwendeter Symbole
Alle verwendete Symbole in einer Übersicht, die zur Verwendung dieses Handbuches wichtig sind.
Mit diesem Symbol werden Textpassagen gekennzeichnet, die besondere Beachtung beim Anwender finden sollen. Es werden wichtige Einstellungen und Einschränkungen beschrieben, die bei Verwendung des Gesamtsystems wichtig sind.
Handbuch MSP430 Education System Seite 8
Einführung
1 Einführung
Dieses Mikrocontroller Experimentiersystem ist zu Studien-, Lehr-, Aus- und Weiterbildungszwecken entworfen worden. Es ist speziell an Personen gerichtet, die einen einfachen Einstieg in die
Mikrocontrollerprogrammierung suchen.
Der verwendete 16-Bit RISC-Controller der Firma Texas Instruments gehört zu der weit verbreiteten
MSP430-Familie. Die Nutzergemeinde um diesen Controller wird immer größer, da er ein sehr leistungsfähiger, stromsparender und vor allem günstiger Mikrocontroller ist. Mit dem Einsatz dieses
Experimentiersystems sind Sie ein Teil dieser Gemeinde und werden die Vorzüge dieser Lösung schnell zu schätzen wissen.
Zur Programmierung können Sie die frei zur Verfügung stehende Kickstart Version des IAR C- und
Assembler-Compilers „IAR Embedded Workbench“ [1] verwenden. Diese Version ist auf 4 kByte C-
Code begrenzt, der Assemblerteil kann jedoch uneingeschränkt verwendet werden. Dies wird durch die gut bedienbare Entwicklungsumgebung, ein integriertes Programmierinterface, ein zusätzliches
Terminalprogramm sowie einem umfangreichen Debugger wieder mehr als ausgeglichen. Durch die
Codebegrenzung können jedoch nur kleinere Projekte realisiert werden. Die Software IAR Embedded
Workbench kann von der Firma Texas Instruments [1] oder direkt bei IAR Systems [2] bezogen
werden.
Als Alternative steht ihnen auch der frei verfügbare und kostenlose GNU C-Compiler (GCC) [3] zur
Verfügung, sowie weitere sehr gute Compiler der Firmen Rowley [4] und Imagecraft [5]. Über den
Einsatz des entsprechenden Compilers kann jeder individuell entscheiden. Alle Compiler sind prinzipiell einsetzbar und lauffähig.
Dieses Handbuch beschreibt den Aufbau der Hardware, der Software und unterstützt sie bei ersten
Schritten der Programmierung mit Hilfe der IAR Kickstart Programmierumgebung. Zum besseren
Verständnis wird an einer Beispielapplikation der komplette Ablauf beschrieben und erklärt.
Das vorliegende Handbuch soll ebenso Lehrmaterial wie auch Dokumentation darstellen und eine
Hilfestellung beim Erlernen komplexer Abläufe sein. Alle Schritte werden in Kombination mit der IAR
Embedded Workbench beschrieben und erklärt. Softwarebeschreibungen beziehen sich, in diesem
Handbuch, immer auf den IAR Compiler.
Handbuch MSP430 Education System Seite 9
Unterschiede zwischen Version 1.4 und 2.0
2 Unterschiede zwischen Version 1.4 und 2.0
Die Überarbeitung des MSP430 Education Systems hat einige Änderungen mit sich gebracht.
Bild 2-1 zeigt die ältere Version 1.4, die auch im Buch „Mikrocontrollertechnik“ von Prof.
Matthias Sturm beschrieben ist.
Bild 2-1: MSP430 Education System Version 1.4
Die wichtigsten Unterschiede sind:
• Neuer erweiterter Mikrocontroller MSP430F2272 statt MSP430F1232. Dieser bietet die günstige Programmierung über USB (Spy-by-Wire (SBW) und eZ430), mehr I/Os und
Speicher bei gleichzeitiger weitgehender Codekompatibilität.
• Infrarotschnittstelle mit Sender und Empfänger. Diese wurden an freie Ports angeschlossen.
• Vereinfachung der Stromversorgung. Wegfall aller Jumper.
• Versorgung des LCDs mit +5V
• Kompaktere Bauweise
• Wegfall des Anzeigeinstruments
• Wegfall des Lochrasterfeldes an der linken unteren Ecke. Als Ausweichmöglichkeit stehen die Stiftleisten am Mikrocontroller zur Verfügung.
Ein separates Dokument beschreibt die notwendigen Codeänderungen.
Handbuch MSP430 Education System Seite 10
Features des MSP430 Education Systems 2.0
3 Features des MSP430 Education Systems 2.0
.
• Controller
-
-
MSP430F2272 (32kB + 256B Flash Memory / 1kB RAM)
- alle Pins des MSP430 sind über zwei Stiftleisten zugänglich
• Spannungsversorgung
3,3 V Spannungsversorgung mit verschiedenen Anschlussmöglichkeiten:
-
Getrennte Spannungsversorgung für analoge On-Chip-Peripherie
• Taktversorgung
-
-
Interner Oszillator mit typisch 12 kHz (VLO)
Interne FLL mit bis zu 16 MHz (DCO)
-
Externer Uhrenquarz mit 32.768 Hz
-
Externer HF-Quarz mit bis zu 16 MHz
• Ein- und Ausgabe
-
-
-
8 LEDs an einem Port zur universellen Nutzung als Ausgabeelement
(z.B. als Test- und Debugelemente)
4 Taster zur universellen Nutzung als Eingabeelement
1 LC-Display (zweizeilig x 16 Zeichen) mit 4-Bit-Ansteuerung, um die Debugmöglichkeit zu
-
-
- erhalten
2 Potentiometer 100k linear
-
1x Piezo-Lautsprecher mit Komplementär-Gegentakt-Endstufe
-
Infrarotschnittstelle zum Senden- und Empfangen von RC5 Codes
• Programmierung
Anschluss über Standard 14-Pin Steckverbinder
Programmierung über Spy-by-wire mit USB-Adapter
-
Programmierung über JTAG mit parallelem Adapter
• weitere Schnittstellen
- serielle Schnittstelle RS-232, Verbindung zum PC über einfaches Verlängerungskabel
• Sonstiges
-
Reset-Taster
• Abmaße
-
-
Hauptplatine 93 x 80 mm
Abmaße über Alles: 100 x 82 mm
Handbuch MSP430 Education System Seite 11
Hardwarebeschreibung
-
4 Hardwarebeschreibung
Das MSP430 Education System ist unter der Voraussetzung entworfen worden, mehrere
Anwendungsgebiete in einem System zu vereinen. Der Einsatz als Education System ist ebenso möglich wie der Einsatz als Evaluation System zum Entwerfen eigener Applikationen. Durch
Herausführen aller Pins des Controllers auf die Stiftleisten X7 und X8 können alle Funktionen des
Controllers für eigene Applikationen genutzt werden. Es wurden bestimmte Standardkomponenten auf der Platine fest installiert, um eine Mindestausstattung zu gewährleisten und einfache
Applikationen leicht entwickeln zu können.
Durch die Kompaktheit des eingesetzten Controllers und der wenigen zur Verfügung stehenden Ports, ist eine Mehrfachbelegung bestimmter Ports unvermeidbar.
Zur Bereitstellung einer seriellen Kommunikation wurde das UART0-Modul des MSP430F1232 verwendet und über einen RS-232 Treiber an eine Standard SUB-D9 Schnittstelle angeschlossen. Des
Weiteren wurde ein Standard LC-Display (zweizeilig mit jeweils 16 Zeichen) installiert.
Im Folgenden werden alle wichtigen Elemente des MSP430 Education System beschrieben und
erläutert. Einen Überblick aller Systeme gibt das Bild
4-1
.
Bild 4-1: Hauptelemente des MSP430 Education Systems
Handbuch MSP430 Education System Seite 12
Hardwarebeschreibung
Im Folgenden werden kurz alle wichtigen Informationen übersichtlich dargestellt, damit diese während der Programmierung zusammenhängend zur Verfügung stehen.
Tabelle 1: Belegungsplan des Mikrocontrollers
μC Pin Name Stiftleiste Beschreibung und angeschlossene Peripherie
1 Test X7.1 Anschluss des JTAG-Moduls, schaltet den Controller zum programmieren frei,
P3.6
P3.7
P2.3
P2.4
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P4.0
P4.1
P4.2
P4.3
P4.4
P4.5
P4.6
P4.7
P3.4
P3.5
P2.2
P3.0
P3.1
P3.2
P3.3
AVSS
AVCC
VCC
P2.5
GND
XOUT
XIN
/RST
P2.0
P2.1
X8.12
X8.11
X8.10
X8.9
X8.8
X8.7
X8.6
X8.5
X8.4
X8.3
X8.2
X8.1
X11.3
X11.4
X11.5
X12.1
X12.2
X12.3
X12.4
X12.5
X8.14
X8.13
X7.10
X7.11
X7.12
X7.13
X7.14
X11.1
X11.2
X7.2
X7.3
X7.4
X7.5
X7.6
X7.7
X7.8
X7.9
32
33
34
35
36
27
28
29
30
31
37
38
22
23
24
25
26
17
18
19
20
21
10
11
12
13
14
15
16
5
6
7
8
9
2
3
4
Spannungsversorgung des Mikrocontrollers mit 3,3 V
S1 - Taster1 (blau)
Masseanschluss des Mikrocontrollers
Ausgang des 32768 Hz Quarzes
Eingang des 32768 Hz Quarzes
Resetanschluss des Resettasters S1
S4 – Taster4 (rot)
S3 – Taster3 (gelb)
S2 – Taster2 (grün)
RS-Leitung des LC-Displays
EN (Enable) Leitung des Displays zur freien Verfügung, nicht belegt zur freien Verfügung, nicht belegt
Masseanschluss des ADC-Moduls im Mikrocontroller
Masseanschluss des ADC-Moduls im Mikrocontroller zur freien Verfügung, nicht belegt zur freien Verfügung, nicht belegt zur freien Verfügung, nicht belegt zur freien Verfügung, nicht belegt zur freien Verfügung, nicht belegt zur freien Verfügung, nicht belegt zur freien Verfügung, nicht belegt zur freien Verfügung, nicht belegt
TX Signal zum RS-232 Anschluss
RX Signal vom RS-232 Anschluss
Potentiometer 2
Potentiometer 1
Infrarotempfänger TSOP1736
Ansteuerung des Lautsprechers SP1
LED 0 (D7) (low active), LCD Datenleitung D4
LED 1 (D8) (low active), LCD Datenleitung D5
LED 2 (D9) (low active), LCD Datenleitung D6
LED 3 (D10) (low active), LCD Datenleitung D7
LED 4 (D11) (low active), JTAG TCK (X3-7)
LED 5 (D12) (low active), JTAG TMS (X3-5)
LED 6 (D13) (low active), JTAG TDI (X3-3)
LED 7 (D14) (low active), JTAG TDO (X3-1)
Handbuch MSP430 Education System Seite 13
Hardwarebeschreibung
Im Bild 4-2 wird nochmals die Lage der Stiftleisten X7, X8, X11 und X12 dargestellt, durch die alle
Pins des MSP430F1232 Mikrocontrollers frei verfügbar sind, dargestellt.
Bild 4-2: Belegung der Stiftleisten X7, X8, X11 und X12 mit Signalnamen
4.1 Der Mikrocontroller MSP430F2272
Der MSP430F2272 ist ein sehr leistungsfähiger 16-Bit Mikrocontroller und ein Nachfolgetyp des
MSP430F1232. Er verbraucht sehr wenig Strom und ist zudem beim Kauf sehr günstig. Die
wichtigsten Features dieses Controllers zeigt Tabelle 2 im Kurzüberblick. Weitere Features und die
komplette Beschreibung können auf der CD oder in aktueller Form auf der Texas Instruments
Tabelle 2: Die wichtigsten Features des MSP430F2272
32KB + 256B Flash Memory 1KB RAM
Low Supply Voltage Range 1.8 V to 3.6 V
Ultralow-Power Consumption o
Active Mode: 270 μA at 1 MHz, 2.2 V o
Standby Mode: 0.7 μA o
Off Mode (RAM Retention): 0.1 μA
Ultrafast Wake-Up From Standby Mode in Less Than 1 μs
16-Bit RISC Architecture, 62.5-ns Instruction Cycle Time
Basic Clock Module Configurations: o
Internal Frequencies up to 16 MHz With Four Calibrated Frequencies to ±1%
Handbuch MSP430 Education System Seite 14
Hardwarebeschreibung o
Internal Very-Low-Power Low-Frequency Oscillator o
32-kHz Crystal o
High-Frequency Crystal up to 16 MHz o
Resonator o
External Digital Clock Source o
External Resistor
16-Bit Timer_A With Three Capture/Compare Registers
16-Bit Timer_B With Three Capture/Compare Registers
Universal Serial Communication Interface o
Enhanced UART Supporting
Auto-Baudrate Detection (LIN) o
IrDA Encoder and Decoder o
Synchronous SPI o
I2C™
10-Bit, 200-ksps A/D Converter With Internal Reference, Sample-and-Hold, Autoscan, and Data
Transfer Controller
Brownout Detector
Serial Onboard Programming, No External Programming Voltage Needed
Programmable Code Protection by Security Fuse
Bootstrap Loader
On Chip Emulation Module
Family Members Include:
For Complete Module Descriptions, Refer to the MSP430x2xx Family User’s Guide
Die geringe Stromaufnahme ist besonders wichtig für Anwendungen, die über längere Zeit mit einer
Batterie arbeiten müssen. Die Stromaufnahme ist durch fünf Stromsparmodi beeinflussbar, in denen jeweils bestimmte interne Funktionseinheiten abgeschaltet werden. Die geringe Wake-Up-Zeit von 1
μs kommt vielen Anwendungen zu gute bei denen der Stromsparmodus aktiv genutzt wird und der
Controller nur für eine kurze Zeit aus dem Schlafmodus aufwachen muss, um z.B. eine Messung durchzuführen. Das USART Modul ist besonders für die serielle Kommunikation wichtig. Durch dieses kann mit einem geringen Aufwand eine Kommunikationstrecke zwischen verschiedenen Systemen herstellt werden. Der in dieser Lösung eingesetzte MSP430F2272 ist weiterhin mit 32 kByte
Flashspeicher und 1 kByte RAM ausgestattet und ermöglicht damit sehr leistungsfähige
Applikationen.
Handbuch MSP430 Education System Seite 15
Hardwarebeschreibung
Bild 4-3: Pinbelegung des MSP430F2272
Im Bild 4-3 ist die komplette Pinbelegung des MSP430F2272 Mikrocontrollers dargestellt. An Hand
dieses Bildes lassen sich die einzelnen Funktionseinheiten sowie die verwendeten Pins erkennen. In
Bild 4-4 wird der interne Aufbau des MSP430F2272 mit Hilfe eines Blockschaltbildes dargestellt.
Weitere Details können dem Datenblatt des MSP430F2272 [6] entnommen werden.
Bild 4-4: Blockdiagramm des MSP430F2272
Handbuch MSP430 Education System Seite 16
Hardwarebeschreibung
Der MSP430 verfügt intern über eine Reset-Logik, die den Einsatz eines externen Reset-Controllers unnötig macht. Die Brownout Funktion des Mikrocontrollers führt zum Abschalten des Controllers, wenn die Versorgungsspannung unter einen festgelegten Mindestwert fällt. Ansonsten könnte der
Controller einen nichtdefinierten Zustand annehmen.
Der Mikrocontroller verfügt über 16 Interrupt-Vektoren, welche zum Teil maskierbar sind. Dies bedeutet, dass jeder Interrupt auf ein bestimmtes Ereignis eingestellt werden kann. Bei dem eingesetzten Mikrocontroller sind nur die beiden höchsten Prioritäten nicht maskierbar, somit
können nur diese beiden nicht in ihrer Funktion beeinflusst werden. Die
3
zeigt alle möglichen Interrupts mit der jeweiligen Adresse nochmals in einer Übersicht.
Weitere Funktionsweisen und Erklärungen können dem MSP430F2272 Datenblatt [6] und dem
MSP430x2xx Family User’s Guide [7] entnommen werden. In diesen Dokumenten werden auch die
verwendeten Register näher beschrieben, um die Interruptfunktionen gezielt einsetzen zu können.
Tabelle 3: Übersicht aller Interrupt Vektor Adressen
Interruptquelle
Power-up, external reset, watchdog
Timer_A3
NMI, oscillator fault, flash memory access violation
Timer_B3
Timer_B3
Watchdog timer
Timer_A3
UART Receive
UART Transmit
ADC10
I/O Port P2 (eight flags)
I/O Port P1 (eight flags)
Interruptflag
WDTIFG (see Note 1)
KEYS (see Note 1)
NMIIFG (see Notes 1 and 4)
OFIFG (see Notes 1 and 4)
ACCVIFG (see Notes 1 and 4)
WDTIFG
TACCR0 CCIFG (see Note 2)
TACCR1andTACCR2
CCIFGs. TAIFG
(see Notes 1 and 2)
URXIFG0
UTXIFG0
ADC10IFG
P2IFG.0 to P2IFG.7
(see Notes 1 and 2)
P1IFG.0 to P1IFG.7
(see Notes 1 and 2)
SYSTEM INTERRUPT
Reset
WORD
ADDRESS
0FFFEh
Priorität
31, highest
(nicht)-maskierbar,
(nicht)-maskierbar,
(nicht)-maskierbar maskierbar maskierbar
0FFFCh
0FFFAh
0FFF8h
0FFF6h
0FFF4h
0FFF2h
30
29
28
27
26
25 maskierbar maskierbar maskierbar maskierbar maskierbar maskierbar
0FFF0h
0FFEEh
0FFECh
0FFEAh
0FFE8h
0FFE6h
0FFE4h
0FFE2h..
0FFC0h
24
23
22
21
20
19
18
17. lowest
Handbuch MSP430 Education System Seite 17
Hardwarebeschreibung
4.2 Spannungsversorgung
Das MSP430 Education System arbeitet mit 2 verschiedenen Versorgungsspannungen. Der
Mikrocontroller und die meisten Peripheriesysteme werden mit 3,3 V versorgt. Das Display und der
Infrarotempfänger arbeiten mit +5 V.
Die Spannungsregler sind jeweils für eine Stromaufnahme von 100 mA ausgelegt.
Ein größerer Strom kann zu Schäden an den Bauelementen führen.
Der Hohlstecker an X13 muss korrekt gepolt sein. Das Board ist nicht mit einem
Brückengleichrichter ausgestettet. Die Masse muss auf dem Außenleiter angeschlossen sein. Ist der Hohlstecker falsch gepolt, sorgt eine Diode dafür, dass das Board nicht beschädigt wird.
Ein Netzteil wird an X1 über einen 2,1 mm Hohlstecker angeschlossen. Der Verpolungsschutz wird durch die Diode D9 realisiert. Es können Eingangsspannungen von 7-16 V angelegt werden. Die
Spannungsregler IC4 und IC3 erzeugen 2 geregelten Versorgungsspannungen von 3,3 V und 5 V.
Wurde ein Netzteil an die Platine angeschlossen, leuchtet die Diode D10.
Bild 4-5
wichtigsten Bauelemente.
Handbuch MSP430 Education System Seite 18
Hardwarebeschreibung
Bild 4-5: Spannungsversorgung MSP430 Education System
Die Version 2.0 hat keinen getrennten Anschluss für eine Batterie. In diesem Fall ist ein Adapter für die Hohlsteckerbuchse notwendig.
Die neue +5 V Versorgungsspannnung kann über die Stiftleiste X6 abgegriffen werden. Die Belegung ist in der obigen Abbildung ersichtlich.
Handbuch MSP430 Education System Seite 19
Hardwarebeschreibung
4.3 JTAG-Schnittstelle
Die JTAG-Schnittstelle dient zum einen als Programmierschnittstelle, zum anderen als Debug-
Schnittstelle. Durch diese kann ein Programm, direkt auf dem Controller Schritt für Schritt abgearbeitet werden. Hierdurch können Programmfehler direkt auf der Zielhardware gefunden und beseitigt werden, um die immer kürzer werdenden Entwicklungszyklen neuer Applikationen einhalten zu können.
4.3.1 4-Draht-Interface
Die Schnittstelle stellt vier Leitungen zur Verfügung, über die alle Daten transportiert werden. Die
Programmiersoftware kann diese Daten in ihrem Debug-Fenster darstellen und auswerten. Die
Belegung der Schnittstelle auf dem MSP430 Education System wird in Bild 4-6 dargestellt.
Bild 4-6: Belegung der JTAG-Schnittstelle
Nachfolgend werden alle Leitungen der JTAG-Schnittstelle kurz beschrieben. Die vier Signalleitungen haben folgende Funktion:
• TCK, Test Clock:
An diesem Pin wird das Taktsignal für den TAP Controller angeschlossen. Der komplette JTAG-
Testbetrieb läuft synchron mit diesem Takt. Lesevorgänge werden bei steigender Flanke von
TCK vorgenommen, während Schreibvorgänge bei fallender Flanke ausgelöst werden. TCK ist normalerweise völlig unabhängig vom Arbeitstakt des Chips.
Handbuch MSP430 Education System Seite 20
Hardwarebeschreibung
•
•
•
TDI, Test Data Input:
Dieser Pin ist der serielle Dateneingang. Sowohl Befehlsopcodes als auch Daten werden über diesen Pin seriell verarbeitet. TDI wird bei steigender Flanke von TCK übernommen.
TDO, Test Data Output:
Dieser Pin ist ein Ausgang, der Daten-Ausgang. Hier werden alle auszulesenden Daten seriell heraus geschoben. TDO wird immer bei fallender Flanke von TCK aktualisiert.
TMS, Test Mode Select:
Über diesen Eingang, wird der TAP-Controller gesteuert. Die Zustände des endlichen
Automaten, der den TAP-Controller beschreibt, werden über diesen Pin (und TCK) gesteuert.
TAP-Modi wie "Befehlsregister laden" oder "Datenregister ausschieben" werden über TMS eingestellt. TMS wird ebenfalls bei steigender Flanke von TCK übernommen.
Die VCC_OUT Leitung ermöglicht die Spannungsversorgung eines externen JTAG-Adapters. Mit Hilfe der TEST Leitung wird der angeschlossene Mikrocontroller in den Programmiermodus versetzt. Liegt diese Leitung auf HIGH-Pegel, kann der angeschlossene Mikrocontroller durch die JTAG-Schnittstelle programmiert werden.
4.3.2 2-Draht-Interface (Spy-by-Wire)
Der verwendete MSP430F2272 verfügt neben dem klassischen JTAG-Interface mit den
Signalen TMS, TDI, TDO und TCK auch über eine neue serielle Version welche mit 2 Signalen auskommt. Dieser wird als Spy-by-Wire bezeichnet und wurde speziell für MSP430-
Mikrocontroller von Texas Instruments entwickelt. Die Programiersignale werden über die
TEST und RESET-Leitung an den Mikrocontroller angeschlossen. Da diese Leitungen ebenfalls
über den 14-poligen JTAG-Steckverbinder zur Verfügung stehen, kann das Board mit beiden
Interfaces programmiert werden. Für nähere Informationen zu den empfohlenen
Programmieradaptern siehe Abschnitt 6.
Tabelle 4 Pinbelegung Spy-by-Wire
Pin am JTAG-
Steckverbinder
11
RESET
4-Draht-Interface
8
TEST
Spy-by-Wire
SBWTCK – Taktleitung
SBWTDIO - Datenleitung
Handbuch MSP430 Education System Seite 21
Hardwarebeschreibung
4.4 Serielle Schnittstelle RS-232
Die serielle Kommunikation wird über eine RS-232 Schnittstelle zur Verfügung gestellt. Hierbei kommt ein RS-232-Pegelwandler der Firma Maxim zum Einsatz. Dieser bereitet die Signale so auf, dass der Mikrocontroller mit einem PC oder anderem Gerät kommunizieren kann. Durch Auftrennen der Lötbrücken SJ2 und SJ3 kann der Pegelwandler vom Mikrocontroller getrennt werden. Dadurch werden die entsprechenden Controllerpins frei für eine alternative Beschaltung.
4.5 Leuchtdioden
Bild 4-7: Installierte Leuchtdioden
Da Leuchtdioden die Grundlage jeder Mikrocontrollerausbildung darstellen, ist es wichtig, sie an einem zusammenhängenden Port anzuschließen. Dadurch gelingt es, die Verwendung und Funktion der zugehörigen Portregister zu trainieren und die Wichtigkeit dieser Einstellung zu demonstrieren.
Diese Einstellungen können dann schneller auf alle anderen Peripheriesysteme adaptiert werden.
Die Leuchtdioden befinden sich an Port 1. Der Port wird ebenfalls für das JTAG-Interface und für die
Ansteuerung des LCDs verwendet. Befindet sich der Mikrocontroller im Debug-Modus oder werden gerade Daten zum LCD gesendet, verändert das mit hoher Sicherheit den Status der LEDs.
Handbuch MSP430 Education System Seite 22
Hardwarebeschreibung
Bild 4-8: Beschaltung und Position der Leuchtdioden
Die Leuchtdioden wurden so an den Mikrocontroller angeschlossen, dass Sie bei Low-Pegel (low activ) am Mikrocontroller leuchten. Da viele Mikrocontroller in dieser Beschaltung mehr Strom treiben können, wurde diese Lösung auch hier eingesetzt, um eine gewisse Kompatibilität herstellen zu können.
Die Anschlussbelegung der Leuchtdioden zeigt das Bild 4-8. Tabelle 5 zeigt die Anschlussbelegung
der Leuchtdioden am Mikrocontroller, der Stiftleiste X8 und den verwendeten Port.
Port
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
Tabelle 5: Anschlussbelegung der Leuchtdioden
Stiftleiste
X8.8
X8.7
X8.6
X8.5
X8.4
X8.3
X8.2
X8.1
μC Pin zugehörige Leuchtdioden
31
32
33
34
35
36
37
38
LED 0 (D1) (low active),
LED 1 (D2) (low active),
LED 2 (D3) (low active),
LED 3 (D4) (low active),
LED 4 (D5) (low active)
LED 5 (D6) (low active)
LED 6 (D7) (low active)
LED 7 (D8) (low active)
Handbuch MSP430 Education System Seite 23
Hardwarebeschreibung
4.6 Taster
Bild 4-9: Installierte Taster
Da Taster wichtige Funktionen in vielen unterschiedlichen Systemen übernehmen, wurden auf dem
MSP430 Education System vier Taster verwendet (Bild 4-9). Alle Taster wurden an einem
interruptfähigen Port des MSP430 angeschlossen, um verschiedene Arten der Signalerkennung realisieren zu können. So kann ein Taster per Interruptfunktion, mit Hilfe des Timers oder einfach durch wiederholtes Abfragen (Polling) ausgelesen werden.
Bild 4-10: Beschaltung und Position der Taster
Handbuch MSP430 Education System Seite 24
Hardwarebeschreibung
Wie in Bild 4-10 zu sehen ist, liegen die angeschlossen Ports des Mikrocontrollers (über
Vorwiderstände R12-R15) direkt an der Versorgungsspannung (VCC) der Tastereingänge. Die
Widerstände R16-R19 dienen ausschließlich der Strombegrenzung beim Drücken der Taster. Die Ports
P2.0-2.2 und P2.5 müssen in dem zugehörigen Portregister als Eingang geschaltet werden, um eine
Spannungsänderung und somit ein Schalten detektieren zu können. Da die Taster standardmäßig offen sind und die Ports als Eingänge geschaltet wurden, kommt es zu keinen Stromfluss in Richtung
Mikrocontroller. Die Taster schalten nach GND, das bedeutet, nach betätigen eines Tasters, wird der angeschlossene Port von VCC nach Masse geschaltet. Wird der Taster betätigt, kommt es zum
Stromfluss über den jeweiligen Vorwiderstand von VCC nach Masse. Da die gesamte Spannung über diesen Vorwiderstand abfällt, kann der Mikrocontroller nur noch einen Null-Pegel erkennen. Diese
Veränderung von VCC auf GND kann dann über ein Programm, an dem jeweiligen Port, erkannt werden.
Da die Taster an den externen Interruptleitungen angeschlossen sind, ist auch eine interruptgesteuerte Entprellung möglich. Die Widerstände R16-R19 dienen der Absicherung der
Mikrocontrollereingänge, um eine Überlastung dieser zu verhindern.
Die Tabelle 6 stellt die Anschlussbelegung noch einmal übersichtlich dar. Die Taster S6, S7, S8 und
S9 stellen eine alternative Bestückungsvariante dar.
Tabelle 6: Anschlussbelegung der Taster
Port Stiftleiste μC Pin Peripheriesystem
P2.1
P2.5
X7.9
X7.3
9
3
Taster S2
Taster S4
Handbuch MSP430 Education System Seite 25
4.7 Infrarotschnittstelle
Hardwarebeschreibung
Bild 4-11: Lage der Infrarotkomponenten
Das MSP430 Education System ist mit Infrarotemfangs- und Sendeelementen ausgestattet. Der
Empfänger sorgt selbstständig für eine Demodulation von RC5-Codes bei einer Frequenz von 36 kHz.
Über die Lötbrücke SJ5 kann der Infrarotempfänger abgeschaltet werden. Tabelle 7 gibt einen
Überblick über die Portbelegung.
Tabelle 7: Anschlussbelegung der Infrarotbauelemente
Port Stiftleiste μC Pin Peripheriesystem
P2.3 X8.10 29 Emfangssignal
P4.0 X11.3 17 IR Sendesignal
Handbuch MSP430 Education System Seite 26
Hardwarebeschreibung
4.8 LC-Display
Bild 4-12: Installiertes Dotmatrix Display
Das eingesetzte Display (Bild 4-12) ist ein Standard Dotmatrixdisplay mit zwei Zeilen und 16 Zeichen
pro Zeile. Dieses Display kann einen fest eingestellten Zeichensatz und bestimmte selbst definierte
Symbole darstellen, aber keine Grafiken. Zur Vermittlung der Funktionsweise eines solchen Displays
reicht dies jedoch bei weitem aus. Bild 4-13 zeigt die Beschaltung des Displays auf dem MSP430
Education System.
Bild 4-13: Beschaltung des LC-Displays
Handbuch MSP430 Education System Seite 27
Hardwarebeschreibung
Es wurde der 4-Bit Modus gewählt, damit die Debugfunktionalität über die JTAG-Schnittstelle auch bei aktivem Display erhalten bleibt.
Das Display wird mit 5V betrieben. Der Oktalbuffer IC6 wird benötigt um die 3,3V-Spannungspegel vom Mikrocontroller umzusetzen. Auf Grund der Beschaltung ist es nicht möglich, Daten vom Display zu lesen. Die R/W-Leitung des Displays ist fest auf „schreiben“ / Massepegel gelegt.
Über das Potentiometer R20 kann der Kontrast des Displays nachgeregelt und eingestellt werden.
Die nachfolgenden Tabellen beschreiben die wichtigsten Anschlüsse und Pinbelegungen des Displays.
Tabelle 8: Anschlussbelegung des LC-Displays
P3.0
P3.1
P1.0
P1.1
P1.2
P1.3
Port Stiftleiste μC Pin Peripheriesystem
X7.11
X7.12
X8.8
X8.7
X8.6
X8.5
11
12
21
24
Ansteuerung der RS-Leitung des LC-Displays
Ansteuerung der E (Enable) Leitung des Displays
LCD Datenleitung D4
22 LCD Datenleitung D5
23 LCD Datenleitung D6
LCD Datenleitung D7
Tabelle 9: Signal- und Belegungsplan des Displays
10
11
12
13
14
5
6
7
8
9
Pin
1
2
3
4
Signal
GND
VDD
VEE
RS
D3
D4
D5
D6
D7
R/W
E
D0
D1
D2
Pegel
L
H
-
H / L
L
H
H / L
H / L
H / L
H / L
H / L
H / L
H / L
H / L
Beschreibung negative Spannungsversorgung 0 V positive Spannungsversorgung +5 V
Kontrasteinstellung des Displays
Register Select
Read H / Write L, fest auf L-Pegel eingestellt
Enable
Datenleitung 0
Datenleitung 1
Datenleitung 2
Datenleitung 3
Datenleitung 4
Datenleitung 5
Datenleitung 6
Datenleitung 7
15 LED Plus-Leitung
16 LED - - Hintergrundbeleuchtung Minus-Leitung
Um das Display verwenden zu können, werden noch weitere wichtige Informationen, wie die grundsätzlichen Eigenschaften des Displays, der verwendete Befehlsatz sowie die richtigen
Initialisierungsparameter, benötigt. Ohne die Initialisierungsparameter kann das Display nicht verwendet werden. Alle benötigten Features werden auf den folgenden Seiten kurz beschrieben und
können im zugehörigen Datenblatt [17] nochmals in ausführlicher Form nachgelesen werden. Die
wichtigsten Eigenschaften des Displaycontrollers (HD44780) im Überblick:
Handbuch MSP430 Education System Seite 28
Hardwarebeschreibung
• 4-Bit oder 8-Bit MPU-lnterface (hier 4-Bit verwendet)
• Integriertes Display RAM für 80 Zeichen
• Zeichengenerator ROM
5x 7: 160 Zeichen
5x10: 32 Zeichen
• Display Daten und Zeichengenerator RAM können von der MPU gelesen werden
• Umfangreicher Befehlssatz: Display löschen, Cursor home, Display ON/OFF, Cursor
ON/OFF, Zeichen Blinkfunktion,Cursor shift, Anzeigen shift
• Interner Power On Reset (POR)
Der HD44780 verfügt über einen 8-Bit-Datenbus sowie über die Steuersignale R/W (Read/Write) das in dieser Lösung fest auf Schreiben liegt, RS (Register Select) und E (Enable). Es ist sowohl ein 8-Bit als auch ein 4-Bit Betrieb des Controllers möglich. In dieser Lösung wurde sich auf den 4-Bit Modus beschränkt, um die Debugfunktionalität zu erhalten. Die zu verwendende Datenbusbreite, kann lediglich während der Initialisierung festgelegt werden. Bei Verwendung des 4-Bit Betriebs müssen die im Folgenden beschriebenen Kommandos in zwei aufeinander folgenden Schritten an den HS44780 gesendet werden. Zuerst der High Nibble, dann der LOW Nibble. Beide Nibble werden über die
Datenleitungen DB4-DB7 übertragen. Dadurch werden die Datenleitungen DB0-DB3 nicht mehr beachtet.
Mit dem Signal RS wird dem Displaycontroller mitgeteilt, ob Anweisungen, Instruktionscodes
(RS=0) oder Daten (RS=1) übertragen werden. Bei der fallenden Flanke des Enable Signals (E)
übernimmt der Display-Controller die Daten.
Im Folgenden wird der Ablauf der Hardware-Initialisierung beschrieben:
Nach Anlegen der Versorgungsspannung an das Display, sollte der Mikrocontroller ca. 15 ms warten bevor er mit der Initialisierung des HD44780 beginnt. Während der Power On Phase der
Initialisierung werden die folgenden Schritte durchgeführt:
1. Display löschen
2. Funktion: DL= 0: 4-Bit Datenbusbreite
N = 1: 2-Zeilen Display
F = O: 5x7 Zeichensatz
3. Display ON/OFF
Funktion: D = 0: Display aus
C = 0: Cursor aus
B = 0: Blinkfunktion aus
4. Entry mode set
I/D = 1: Inkrementiert die DD-RAM Adresse nach dem Lesen/Schreiben
Handbuch MSP430 Education System Seite 29
Hardwarebeschreibung
eines Zeichens
S = 0: Kein schieben des Displays
5. Schreiben des DD-RAM
Als erster Schritt erfolgt die Festlegung der Datenbusbreite. Während dieser Phase der Initialisierung werden nur die oberen Datenbits beachtet. Nachfolgend ein Ablaufdiagramm der 4-Bit-
Initialisierungsroutine.
Handbuch MSP430 Education System Seite 30
Hardwarebeschreibung
Power ON
Warten > 15 ms
RS R/W DB7 DB6 DB5 DB4
0 0 0 0 1 1
Warten > 4.1 ms
RS R/W DB7 DB6 DB5 DB4
0 0 0 0 1 1
Warten > 100 µs
RS R/W DB7 DB6 DB5 DB4
0 0 0 0 1 1
RS R/W DB7 DB6 DB5 DB4
0 0 0 0 1 0
0 0 0 0 1 0
0 0 N F x x
0 0 0 0 0 0
0 0 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 1
0 0 0 0 0 0
0 0 0 1 I/D S
Initialisierung Ende
Wartezyklus
Busy Flag kann an dieser Stelle noch nicht abgefragt werden, da der 8-Bit Modus hier noch aktiv.
Wartezyklus
Busy Flag kann an dieser Stelle noch nicht abgefragt werden, da der 8-Bit Modus hier noch aktiv.
Wartezyklus
Busy Flag kann an dieser Stelle noch nicht abgefragt werden, da der 8-Bit Modus hier noch aktiv.
Ab dieser Position kann das Busy-Flag abgefragt werden. In diesen beiden Schritten wird der 4-Bit-Modus gesetzt. Einstellen der verwendeten Zeilen und des
Zeichensatzes.
Zu beachten ist : die Zeilenanzahl und der Zeichensatz können ab hier nicht mehr verändert werden.
Display auf An setzen
Display löschen
Entry-mode setzen
Sollte keine Anzeige auf dem Display erscheinen, bitte folgende Fragen beachten
1. Ist die Kontrastspannung richtig eingestellt?
2. Wurde die Initialisierung richtig durchgeführt?
3. Wurden die Pausenzeiten zwischen den einzelnen Schritten eingehalten?
Handbuch MSP430 Education System Seite 31
Hardwarebeschreibung
Tabelle 10: Befehlssatz des Displaycontrollers HD44780
Instruktion
Return Home
Display ON/OFF
Cursor und Display shift
Funktion Set
CG RAM Adresse setzen
DD RAM Adresse setzen
Busy Flag und Adresse lesen
Daten in CG- oder DD-
RAM schreiben
Daten aus CG- oder DD-
RAM lesen
0
0
0
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1 x
0 0 0 0 0 0 0 1 I/D S
0
0
0
0
0
0
0
0
0
0
0
C
1 S/C R/L x
1 DL N
0 0 0 1
0 0 1
0 1 D
F x
DD-RAM Adresse
B x x
0
1
1 BF
0
1 1
Adresszähler für CG-RAM und DD-RAM
Zu schreibende Daten
Beschreibung der eingesetzten Befehle:
Die Funktion der in Tabelle 10 zu sehenden Befehle, werden nachfolgend erläutert.
Return Home
Setzt den Adresszähler des DD-RAM auf Adresse 0. Der Inhalt des DD-RAM bleibt unverändert. Der
Cursor wird an die erste Position der ersten Zeile gesetzt.
Entry mode set l./D: 1 = Adresspointer inkrementieren
0 = Adresspointer dekrementieren
S: 1 = Displayinhalt schieben,
0 = Displayinhalt nicht schieben.
Schreiben in DD-RAM verschiebt den Displayinhalt, DD-RAM lesen verschiebt nicht. Der Cursor bleibt an derselben Stelle stehen. Lesen oder schreiben in das CG_RAM hat ebenfalls keinen Einfluss auf den Displayinhalt.
Display ON/OFF
D:
C:
1 = Display an
1 = Cursor unsichtbar
0 = Display aus
0 =Cursor sichtbar
B: 1 = Zeichen unter dem Cursor blinkt 0 = Blinken aus
Handbuch MSP430 Education System Seite 32
Hardwarebeschreibung
Cursor und Display shift (Tabelle 11)
Tabelle 11: Cursor- und Displayeinstellungen für die Bits S/C und R/L
S/C R/L Funktion
Bewegt den Cursor um eine Stelle nach links ohne das DD-RAM zu
0 0 verändern
0 1
Bewegt den Cursor um eine Stelle nach rechts ohne das DD-RAM zu verändern
Verschiebt Displayinhalt und Cursor um eine Stelle nach links ohne
1 0 das DD-RAM zu verändern
1 1
Verschiebt Displayinhalt und Cursor um eine Stelle nach rechts ohne das DD-RAM zu verändern
Funktion Set
Die Datenbusbreite, Anzahl Zeilen und der Zeichensatz können nur währen der Initialisierungsphase des Controllers gesetzt werden.
DL: 1 = 8-Bit Interface
N: 1 = 2 Zeilen Display
0 = 4-Bit Interface
0 = 1 Zeilen Display
F: 1 = 5x10 Zeichenfont 0 = 5x7 Zeichenfont
Busy Flag und Adresse lesen
BF: 1 = Controller arbeitet gerade eine interne Operation ab
0 = Controller akzeptiert neue Instruktionen
Das Busy Flag sollte vor jeder Schreiboperation ausgelesen werden, um sicherzustellen, dass der
Controller bereit ist.
Daten in CG- oder DD- RAM schreiben
Es werden 8-Bit Daten zum CG- oder DD-RAM geschrieben. Das Ziel des Transfers hängt davon ab ob der Befehl „Set CG-RAM Adresse“ setzen oder „Set DD-RAM Adresse“ verwendet wurde.
Adresse inkrementiert (I/D = 1) bzw. dekrementiert (I/D = 0) geschieht automatisch.
Daten aus CG- oder DD- RAM lesen
Es werden 8-Bit Daten vom CG- oder DD-RAM gelesen. Das Ziel des Transfers hängt davon ab, ob der
Befehl „Set CG-RAM Adresse“ setzen oder „Set DD-RAM Adresse“ verwendet wurde.
Adresse inkrementiert (I/D = 1) bzw. dekrementiert (I/D = 0) geschieht automatisch.
Das Bild 4-14 zeigt den Standardzeichensatz in einer Übersicht.
Handbuch MSP430 Education System Seite 33
Hardwarebeschreibung
Bild 4-14: Standardzeichensatz des Displays
Weitere Einstellungen und Informationen zu diesem Display können aus dem zugehörigen Datenblatt
[17] entnommen werden. In diesem Datenblatt wird ebenfalls die genaue Vorgehensweise beim
Entwerfen und Darstellen eigener Zeichen beschrieben.
Handbuch MSP430 Education System Seite 34
Hardwarebeschreibung
4.9 Lautsprecher
Bild 4-15: Eingesetzter Lautsprecher
Der Lautsprecher in Bild 4-15 wird mit einer einfachen KomplementärGegentakt-B-Endstufe
angesprochen. Dies ist die einfachste Verstärkerschaltung zum Ansprechen eines Lautsprechers. Der
Lautsprecher dient ebenfalls zum Ausgeben von Puls-Weiten-Modulierten Signalen, hier jedoch in
Form von Tönen. Töne können natürlich auch ohne Puls-Weiten-Modulation erzeugt und an diesem
Lautsprecher ausgeben werden. Hierzu wird einfach ein Signal mit fest eingestellten Pulsweiten und fester Frequenz an Port P2.4 ausgegeben.
Bild 4-16: Beschaltung des Lautsprechers
Tabelle 12: Anschlussbelegung des Lautsprechers
Port Stiftleiste
P2.4 X8_8.9
μC Pin Peripheriesystem
20 Ansteuerung des Lautsprechers LAU1
Handbuch MSP430 Education System Seite 35
Hardwarebeschreibung
4.10 Potentiometer
Bild 4-17: Installierte Potentiometer
Die beiden Potentiometer P1 und P2, wie in Bild 4-17 gezeigt, sind linear einstellbare Widerstände
mit einem Widerstand von je 100 kOhm. Mit diesen Potentiometern soll die Verwendung des Analog-
Digitalwandlers vom MSP430 erlernt werden. In einer Applikation können diese Potentiometer bestimmte Parameter dynamisch ändern. Das Verändern von Tönen ist genauso möglich, wie das
Anzeige des AD-Wandler-Ergebnisses auf den LEDs.
Ohne einen Mikrocontroller wäre dies natürlich auch möglich, doch kann hier das Zusammenspiel mehrerer ganz unterschiedlicher Komponenten in einer Applikation erlernt werden. Durch
Umprogrammierung können in dieser Lösung sehr einfach die Potentiometer vertauscht oder mit anderen Parametern belegt werden. Bei einem festen Aufbau, wäre dies nicht ohne erheblichen
Aufwand möglich.
Handbuch MSP430 Education System Seite 36
Hardwarebeschreibung
Bild 4-18: Beschaltung der Potentiometer
Die Widerstände R21 und R23 dienen als Schutz des Mikrocontrollers gegen Kurzschluss. Das Bild
4-18 und die Tabelle 13 beschreiben die wichtigsten Anschlüsse und Positionen dieser zwei
Potentiometer.
Tabelle 13: Anschlussbelegung der Potentiometer
Port Stiftleiste μC Pin Peripheriesystem
P3.7 X8.11 18 Potentiometer 1
Handbuch MSP430 Education System Seite 37
Hardwarebeschreibung
4.11 Reset-Beschaltung des MSP430
Der MSP430F1232 verfügt über einen internen Reset-Controller, der den Einsatz eines externen
Reset-Controllers unnötig macht und somit Kosten bei der Entwicklung einer eigenen Applikation spart.
Durch Druck auf den Taster S5 wird im Controller ein Reset ausgelöst. Vom JTAG-Adapter kommt
ebenfalls ein Reset-Signal, das zum Zurücksetzen genutzt werden kann. Bild 4-19 zeigt die
Beschaltung und Lage des Reset-Tasters.
Bild 4-19: Resetbeschaltung des MSP430
Handbuch MSP430 Education System Seite 38
Hardwarebeschreibung
4.12 Lötbrücken des MSP430 Education Systems
Das MSP430 Education System erlaubt, durch Aktivieren bzw. Deaktivieren von Lötbrücken verschiedene Funktionalitäten zu beeinflussen. Die Einstellmöglichkeiten der einzelnen Lötbrücken
Tabelle 14
Name Beschreibung
SJ1
SJ2
SJ3
SJ4
SJ5
SJ6
Beschaltung von Pin1 am RS-232 Levelconverter. Wird bei Bestückung von alternativem IC benötigt
Verbindung zwischen Mikrocontroller und RS-232-Levelconverter (TX)
Verbindung zwischen Mikrocontroller und RS-232-Levelconverter (RX)
Aktivierung der 5V Spannungsversorgung
Aktivierung des Infrarot-Empfängers
Aktivierung des Infrarot-Senders
Tabelle 14: Funktionsübersicht aller Lötbrücken
Die Lage der Lötbrücken zeigt das Bild 4-20.
Default geschlossen geschlossen geschlossen geschlossen geschlossen geschlossen
Bild 4-20: Lage der Lötbrücken Top-Ansicht
Handbuch MSP430 Education System Seite 39
Softwarebeschreibung
5 Softwarebeschreibung
In diesem Kapitel wird die Entwicklungsumgebung IAR Embedded Workbench von IAR Systems [2]
kurz beschrieben und erklärt. Die Software kann als Kickstart Version von der Texas Instruments
Homepage [1] oder der IAR Systems Homepage [2] kostenfrei herunter geladen werden.
Es wurde sich für diese Entwicklungsumgebung entschieden, da sie Assembler- und C-
Programmierung in einer Umgebung vereint, einen umfangreichen Debugger enthält, kostenfrei genutzt werden kann und von Texas Instruments direkt unterstützt wird (JTAG-Funktionalität von TI selbst implementiert).
Da es sich bei der IAR Embedded Workbench grundsätzlich um einen kommerziellen Compiler handelt, muss der Anwender einige Abstriche bei der Kickstart Version in Kauf nehmen. Einzig der
Assemblerteil kann in seiner vollen Funktionalität verwendet werden. Der C-Compiler ist jedoch auf 4 kByte C-Code begrenzt.
Die Entwicklungsumgebung enthält zusätzlich ein sehr umfangreiches Handbuch und eine guten
Hilfe-Funktion, die bei den meisten Fragen weiterhelfen kann.
Handbuch MSP430 Education System Seite 40
Softwarebeschreibung
Bild 5-1: Entwicklungsumgebung IAR Embedded Workbench
Handbuch MSP430 Education System Seite 41
Softwarebeschreibung
5.1 Installation der Software
Nachfolgend wird an Hand der Tabelle 15 die Installation der Software Schritt für Schritt erklärt.
Sollte es dennoch zu Problemen kommen, können Sie die beiliegende Dokumentation zu Hilfe nehmen oder den Support der Firmen Texas Instruments und IAR Systems nutzen.
Tabelle 15: Installationsschritte in einer Übersicht
1. Nach Doppelklick auf das Installationsfile erscheint folgendes Fenster. In diesem Fenster klickt man auf den
Setup-Button.
2. Es öffnet sich folgendes Fenster, in dem man einzelne
Informationen zum Produkt nach lesen kann. Man klickt auf Next.
3. Es folgt ein Fenster in dem die Lizenz-Vereinbarungen aufgeführt sind. Man sollte diese Informationen genau lesen, denn diese Lizenzvereinbarungen muss man durch klicken auf den Accept-Button bestätigen, um zum nächsten Fenster zu gelangen.
4. In diesem Fenster wählt man den Ort der Installation. Klickt man auf Browse kann man den Ort der Installation selber bestimmen. Da sich jedoch alle weiteren Beschreibungen auf den
Standardordner beziehen sollte dieser auch eingestellt bleiben.
Man klickt auf Next.
5. Durch klicken auf Custom kann man die 6. In diesem Fenster kann man den Eintrag in dem Start-
Installationsparameter verändern. Es wird empfohlen das volle Packet zu installieren.
Programme-Ordner verändern. Man klickt auf Next um zum nächsten Fenster zu gelangen.
Handbuch MSP430 Education System Seite 42
Softwarebeschreibung
7. In diesem Fenster werden alle gewählten Features nochmals dargestellt. Durch klicken auf Next startet man die Installation.
8. Installationsfortschritt. Durch drücken von Cancel kann man die
Installation abbrechen.
9. Nach erfolgreicher Installation erscheint folgendes
Fenster. Die Häkchen lässt man gesetzt, um die
Readme-Datei anzuzeigen und weitere Tools zu
Datei im HTML Browser.
10. Nach dem betätigen des Finish-Button erscheint die Readmeinstallieren. Finish beendet die Installation des
Hauptprogramms.
11. Nach dem Neustart des Computers wählt man aus dem Programme-Ordner des Starmenüs den Punkt IAR
Systems, dort den Unterpunkt IAR Embedded
Workbench for… und danach den Unterpunkt IAR
Embedded Workbench. Durch klicken auf diesen
Unterpunkt öffnet sich die Programmierumgebung.
12. Dies ist das Bild was sich nach dem öffnen bietet. Man sieht die Standardoberfläche mit den Menüleisten am oberen Rand.
Handbuch MSP430 Education System Seite 43
Softwarebeschreibung
13. In diesem Bild sieht man die Programmierumgebung in Verwendung. Wie man zu diesem Bild kommt, zeigt das nächste Kapitel.
Damit ist die Installation der Software an dieser Stelle abgeschlossen.
Wurde die Installation wie beschrieben durchgeführt, befinden sich nun mehrere wichtige Dateien und User Guides im Programmordner der IAR Embedded Workbench. Eine Liste der wichtigsten User
Guides zeigt Tabelle 16. Diese Dateien befinden sich, die oben beschriebene Installation
vorausgesetzt, in folgendem Ordern des Laufwerks C: C:\Programme\IAR Systems\ew23\430\doc\. In diesem Ordner befinden sich viele weitere Dateien, die während der Programmierung weiter helfen können.
Tabelle 16: Wichtige User Guides und Handbücher
Dateiname a430.html clib.pdf
EW430_AssemblerReference.pdf
EW430_CompilerReference.pdf
EW430_UserGuide.pdf icc430.htm
MSP-FET430 Errata.pdf
MSP-FET430 Users Guide.pdf readme.htm
Dokumentname
Release notes for MSP430 IAR Assembler V3.42A
IAR C LIBRARY FUNCTIONS
MSP430 IAR Assembler
MSP430 C/C++ Compiler
MSP430 IAR Embedded Workbench IDE User Guide
Release notes for the MSP430 IAR C/C++ Compiler
MSP430 Flash Emulation Tool User Guide
MSP-FET430 FLASH Emulation Tool (FET) Users Guide
Release notes for IAR Embedded Workbench for MSP430
Nun kann ein Beispielprojekt aus dem IAR Programmordner gewählt werden. Die Schritte die hierfür nötig sind, zeigt das nächste Kapitel.
Handbuch MSP430 Education System Seite 44
Softwarebeschreibung
5.2 Hauptbestandteile der IAR Embedded Workbench
Um ein Beispielprojekt laden, kompilieren und übertragen zu können, ist es wichtig, die einzelnen
Symbole der Programmierumgebung, zu kennen. Deshalb werden in diesem Abschnitt einzelne
Bestandteile der Software kurz erklärt, damit sich der Anwender, nach erfolgreicher Installation, orientieren kann.
Nach dem Start der Software durch klicken auf das IAR Embedded Workbench Symbols im Startmenü zeigt sich dem Benutzer
folgender Bildschirm wie in Bild 5-2 zu
sehen.
Die Programmieroberfläche besteht aus 3
großen Fenstern wie in das Bild 5-3 zeigt.
Diese drei Fenster bilden die
Programmierzentrale für jeden Anwender.
Das Workspace-Fenster stellte alle Projekte und auch zu dem Projekt zugehörende
Bild 5-2: Bildschirm nach Start der Software
Dateien, die in das Workspace eingebunden sind übersichtlich dar. Und zeigt zu dem nach einer Compilierung ebenfalls alle eingebundenen
Headerfiles. Diese Headerfiles sind, Standardbibliotheken, die nach Einbinden in das Hauptprogramm ihre Vereinbahrungen zur Verfügung stellen.
Bild 5-3: Hauptbestandteile der Programmierumgebung
Handbuch MSP430 Education System Seite 45
Softwarebeschreibung
Das Editor-Fenster ist das eigentliche Programmier-Fenster. In diesem Fenster werden alle
Programme geschrieben und entworfen. Dieses Fenster stellt auch die Ausgangsbasis für eigene
Programme dar.
Das Nachrichten-Fenster stellt die Schnittstelle vom Programm zum Anwender dar. Alle relevanten
Daten die das Programm dem Anwender zurückgibt, werden in diesem Fenster dargestellt. Es berichtet zum einen über Fehler, Fehlerart und Ort des Fehlers und zum anderen über Suchergebnisse und sonstige wichtige Meldungen. Nach dem compilieren eines Programms, werden alle wichtigen
Informationen in diesem Fenster angezeigt.
Weitere Einstellungen werden in der Hauptmenü-Zeile und den entsprechenden Untermenüs zur
Verfügung gestellt. Die genaue Funktionsweise jedes Unterpunktes lässt sich in den zugehörigen
Handbüchern der Programmierumgebung IAR Embedded Workbench for MSP430 [11] und [15]
nachlesen.
Das Hauptmenü stellt den Zugang zu mehreren Grundfunktionen dar, in denen projektspezifische
Einstellungen getätigt werden können. Nicht minder wichtig sind die Buttons der Toolbars. Sie nehmen dem Programmierer sehr viel Arbeit ab und gestalten das Programmieren sehr übersichtlich.
Wichtige Symbole und Buttons der Programmierumgebung zeigt das Bild 5-4. Alle Funktionen der
Buttons sind ebenfalls im zugehörigen Handbuch nachzulesen.
Bild 5-4: Funktionen der Toolbar Buttons
Das zweite wichtige Teil dieser Programmierumgebung ist der Debugger. Mit Hilfe des Debuggers kann der erzeugte Programmcode auf den Mikrocontroller geladen und dort auch ausgeführt werden.
Es stellt somit Download- und Debug-Software in einer Umgebung dar. Denn Programmcode kann der
Nutzer im Debugger schrittweise durchlaufen und somit debuggen. In Bild 5-5 werden die
wichtigsten Bestandteile des Debuggers übersichtlich dargestellt. Diese Fenster helfen, um den geschriebenen Programmcode von Fehlern zu bereinigen. Nachfolgend werden alle Fenster kurz beschrieben um die entsprechende Funktionsweise verstehen zu können. Eine ausführliche
Beschreibung findet sich in den zugehörigen Handbüchern [9] und [10].
Handbuch MSP430 Education System Seite 46
Softwarebeschreibung
Bild 5-5: Hauptbestandteile des Debuggers
Das Source Code Fenster und das Disassembly Fenster stellt den zu debuggenden C- oder
Assemblercode übersichtlich dar. Durch das Betätigen des Memory Buttons im Desassembly Fenster, kann zwischen der Memory-, RAM-, FLASH-, SFR- und INFO-Ansicht gewechselt werden. Durch
Rechtsklicken in diesem Fenster öffnet sich ein Menü, in dem sehr hilfreiche Optionen zum
Debuggen des Sourcecodes gefunden werden können.
Im Calls-Fenster wird der Speicherort der Stacksicherung, eines in C geschriebenen Programms dargestellt. Diese Angabe hat folgendes Format: module\function(values).
Das Locals-Fenster zeigt automatisch alle lokalen Variablen und alle dazugehörigen Werte
übersichtlich an. Mit diesem Fenster läst sich das vorhanden sein bestimmter Variablen und ihrer aktuellen Werte überprüfen.
Im Watch-Fenster kann der Anwender sich bestimmte C-Variablenwerte anzeigen lassen, die einfach zugefügt werden können. Dieses Fenster zeigt alle aufgenommenen Variablen mit den jeweils aktuellen Werten dieser Variablen an und ist sehr nützlich bei der Suche von Fehlern im geschriebenen Programmcode. Der Anwender legt sich lediglich eine Liste der interessanten
Variablen an und hat immer die Kontrolle über deren aktuelle Werte.
Das Memory-Fenster gibt die Speicherbelegung des intern verwendeten Speichers wieder. Es zeigt die Adresse und die Belegung des Speicherblockes sowie die darin gespeicherten Information. Der
Handbuch MSP430 Education System Seite 47
Softwarebeschreibung
Speicher kann in 8,16 oder 32-Bit Organisation anzeigt werden. Durch Doppelklick auf einen
Speicherblock öffnet sich ein Fenster in dem jede Speicherzelle vom Anwender gezielt verändert werden kann. Dieses Fenster bietet eine weitere Möglichkeit, den geschrieben Programmcode auf dem Mikrocontroller zu beeinflussen.
Im Register-Fenster werden alle controllerspezifischen Registerinhalte kontinuierlich angezeigt und können auch dort direkt beeinflusst werden. Dies bedeutet, dass während der Debugphase
Registerinhalte auf dem Controller verändern werden können und somit ein direkter Einfluss auf das laufende Programm besteht. Der Registerwert läst sich in dem zugehörigen Kästchen verändern.
Diese Änderung wird nach dem Wechsel zu einem anderen Register übernommen.
Das Terminal I/O Fenster ermöglicht die Eingabe der Daten in das Source-Programm, und lässt den
Ausgang vom Source-Programm anzeigen.
Dieser Überblick sollte jedem Anwender die wichtigsten Fenster näher gebracht haben, um den
Debugger gezielt einsetzen zu können. Weitere Informationen können ebenfalls aus den zugehörigen
Handbüchern oder der Hilfedatei entnommen werden. Der Debugger besitzt weiterhin eine nützliche
Toolbar. Mit Hilfe dieser Toolbar ist es möglich, schnell die wichtigsten Optionen und Funktionen des Debuggers zu erreichen und einzelne Einstellungen für den Debugvorgang zu treffen. Die Toolbar stellt die zentralen Debug- und Abarbeitungsfunktionen zur Verfügung. Der Mikrocontroller kann durch einen einfachen Mausklick gestartet oder genauso wieder gestoppt werden. Das Setzen und
Entfernen von Breakpoints gelingt mit einem Mausklick. Durch einen weiteren Mausklick kann dieser
Breakpoint ebenso einfach erreicht werden. Das Bild 5-6 gibt einen gesamten Überblick der zur
Verfügung stehenden Buttons und Symbole und weiterhin eine Kurzbeschreibung zu jedem Punkt.
Handbuch MSP430 Education System Seite 48
Softwarebeschreibung
Wie in diesem Bild zu sehen, gibt es natürlich noch viele weitere Symbole und Buttons, die jedoch in dem zugehörigen Handbuch sehr gut erklärt und beschrieben werden.
Bild 5-6: Funktionen der Toolbars des Debuggers
Die Programmierumgebung IAR Embedded Workbench stellt eine leistungsfähige
Programmierumgebung mit sehr gutem Debugger dar. Die einzelnen Funktionen der Buttons und
Symbole zu kennen vereinfacht die Programmierung ebenso stark, wie das beherrschen der
Programmiersprachen selbst. Damit sind die Grundlagen für das weitere Arbeiten mit dieser
Programmierumgebung gelegt.
Alle Bestandteile und Funktionen werden in den installierten Handbüchern und
Zusatzdateien, wie in Tabelle 16 aufgelistet, genau beschrieben. Das Verwenden
dieser Dateien ist ebenso wichtig, wie das Verwenden dieses Handbuchs, da nur durch Kombination aller Bestandteile (Hardware und Software) ein gut
funktionierender Entwicklungsaufbau realisiert werden kann.
Handbuch MSP430 Education System Seite 49
Softwarebeschreibung
5.3 Erste Schritte
Nachdem in den vorherigen Kapiteln die Hard- und Software genau beschrieben wurde, steht in diesem Kapitel die Anwendung beider Bereiche im Vordergrund. Nachfolgend werden der richtige
Aufbau und die richtige Verwendung des MSP430 Education System genau beschrieben. Die
Kenntnisse der vorherigen Kapitel werden hier vorausgesetzt und benötigt.
Es werden der richtige Funktionsaufbau, das Laden eines bestehenden Beispielprogramms, das
Erstellen eines eigenen Programms und der Programmdownload auf den Mikrocontroller Schritt für
Schritt beschrieben.
5.4 Laden eines Beispielprojektes
Um die Softwareinstallation nun zu testen, kann ein Beispielprojekt aus dem IAR Programmordner geladen, bearbeitet ausgeführt und werden. Eine Fülle von Beispielprogrammen wird während der
Installation in den IAR Programmordner installiert. Auf der mitgelierten CD zum MSP Education
System stehen weiter Beispielprogramme in C und Assembler zur Verfügung mit denen die einzelnen
Funktionen der einzelnen Komponenten getestet werden können. Das Finden und Öffnen dieser
Dateien innerhalb der IAR Embedded Workbench wird in der nachfolgenden
Handbuch MSP430 Education System Seite 50
Softwarebeschreibung
Tabelle 17 detailliert beschrieben und erläutert. Werden die einzelnen Schritte befolgt, ist der
Anwender in der Lage sein erstes Projekt zu öffnen und zu erstellen. Dies ist der erste wichtige
Schritt in Richtung eigene Applikationen.
Handbuch MSP430 Education System Seite 51
Tabelle 17: Laden eines vorhanden Beispielprojektes
Softwarebeschreibung
1. Man startet die IAR Embedded Workbench aus dem
Startmenü heraus.
2. Nach dem Start der Software, zeigt sich dem
Anwender dieses Bild.
3. Im Menü wählt man File um dann im Untermenü
Open einen neuen Workspace zu öffnen.
4. Es erscheint folgendes Fenster. Man wählt den IAR
Systems Ordner im Windows Programme Ordner.
Voraussetzung ist ebenfalls, dass die Installation wie in Kapitel 4.1 beschrieben durchgeführt wurde. Man klickt doppelt auf den IAR Systems Programmordner.
5. Nach einem Doppelklick auf den ew23 Ordner und einen weiterer Doppelklick auf den 430 Ordner zeigt sich dem Anwender folgendes Fenster. Man wählt den
Ordner mit dem Namen FET_examples.
6. In diesem Ordner findet man den Workspace unter dem Namen „fet_projects.eww“. Dieses File beinhaltet alle Beispielprogramme, die in C und in
Assembler geschrieben sind.
Handbuch MSP430 Education System Seite 52
Softwarebeschreibung
7. In diesem Workspace findet man mehrere Projekte mit dem Namen msp430x. Diese Projekte sind für
Beispielprogramme können beim Entwurf einer eigenen
Applikation sehr hilfreich sein, um bestimmte Abläufe
8. Für die ersten Schritte wird ein C - Programm verschiedene MSP430 Typen vorgesehen. Da hier ein
MSP430F2272 zum Einsatz kommt, wählt man ein
Projekt unter dem Namen msp430x2xx. Diese verwendet und deshalb wählt man das Projekt unter dem Namen msp430x2xx_fet_1.c. Danach drückt man mit der rechten Maustaste auf diesen File und auf dem angezeigten Menü wählt man Rebuild all. zu demonstrieren.
9. Bei dem Compilieren des Projekts werden die
Bibliotheken in das Projekt einbezogen und in dem
Fenster angezeigt
10. Durch einen Doppelklick auf die File
msp430x2xx_fet_1.c, öffnet sich das
Programmierfenster mit dem C-Code. Nach erfolgreicher Durchführung dieser Schritte zeigt sich dem Anwender dieses Bild.
Der Anwender sollte sich auch die Beispielprogramme auf der mitgelieferten CD zum MSP Education
System ansehen. Diese Programme sind keine fertigen Applikationen, sondern Beispielprogramme zur
Demonstration der Peripheriemodule. Somit kann der Anwender auf einfache Art und Weise eigene
Fehler finden oder vermeiden. Nach dem das Beispielprojekt geladen wurde, kann es nun auf das angeschlossene MSP430 Education System geladen werden. Welche Schritte hierfür nötig sind, zeigt die
Handbuch MSP430 Education System Seite 53
Softwarebeschreibung
Tabelle
18
. Es werden alle wichtigen Schritte übersichtlich beschrieben und erklärt.
Handbuch MSP430 Education System Seite 54
Tabelle 18: Programmieren des Mikrocontrollers
Softwarebeschreibung
1. Nach dem Laden des Beispielprogramms zeigt sich dem Anwender folgender bekannter Bildschirm. Hat man eine Verbindung zum MSP430 Education System aufgebaut, wie in Kapitel 5.1 beschrieben, kann man nun auf den Debug-Button der Toolbar klicken und der Debugger wird geladen.
2. Der Debugger versucht den angeschlossenen
Mikrocontroller mit dem erstellten Programm zu programmieren.
3. Bevor man nun debuggen kann muss man darauf achten das das richtige Projekt aktiv ist (Projektname
fett geschrieben). Dazu führt man einen Rechtsklick auf den Projektnamen aus und wählt den Punkt Set as
Active heraus. Nun kann man den Debugger über den
Debug-Button laden.
4. Ist das Programmieren erfolgreich verlaufen, so zeigt sich dem Anwender folgender Bildschirm. Dies sind die Debug-Fenster, in denen das geladene
Programm gestartet oder Zeile für Zeile abgearbeitet werden kann. Um das Programm zu starten, drückt man den GO-Button und der Controller arbeitet das
Programm selbständig ab.
Nach Abarbeitung dieser beiden Tabellen kann ein Projekt geladen, kompiliert und auf den
Mikrocontroller geladen werden. Nun sind die Voraussetzungen für die Erstellung eines ersten eigenen Projects und die richtige Nutzung der Software geschaffen.
Die IAR Embedded Workbench gibt bei auftretenden Fehler eine Standardfehlermeldung
(Bild 5-7) aus. Ist ein Fehler aufgetreten, empfiehlt sich folgende Fehleranalyse:
1. Überprüfung der Verbindung zwischen Education System und JTAG-Adapter.
2. Überprüfung der Verbindung zwischen JTAG-Adapter und Computer.
Handbuch MSP430 Education System Seite 55
3. Neustart des Mikrocontrollers über den Reset-Taster S1.
4. Neustart der Software.
5. Überprüfen der Einstellungen für den C-Spy Debugger im Projekt.
6. Überprüfung des MSP430 Education System auf Beschädigung.
Softwarebeschreibung
Bild 5-7: Fehlermeldung bei nicht erfolgreichem Download
Handbuch MSP430 Education System Seite 56
Softwarebeschreibung
5.5 Erstes eigenes Programm (basierend auf IAR EW V4.11)
Nach Abarbeitung der Kapitel 5.3 und
Fehler! Verweisquelle konnte nicht gefunden werden. sind die Grundlagen für das Erstellen eines eigenen Projektes vermittelt. Um nun ein eigenes Projekt zu erstellen, sind wichtige Abläufe und Einstellungen zu beachten. Die genaue Vorgehensweise beim
Erstellen und Konfigurieren eines eigenen Projektes zeigt die
Handbuch MSP430 Education System Seite 57
Softwarebeschreibung
Tabelle 19. In ihr werden auch wichtige Projekteinstellungen an Hand von Bildern beschrieben.
Hierdurch gelingt es sehr schnell, die Eigenheiten der Programmierumgebung zu erkennen und zu nutzen. Nach Abarbeitung dieses Abschnitts ist der Anwender in der Lage, diese Softwareumgebung gezielt für eigene Projekte und Applikationen einzusetzen.
Alle Einstellungen und Einstellmöglichkeiten können hier natürlich nicht beschrieben werden. Dies wird ausführlich in den zugehörigen Handbüchern der einzelnen Programmteile beschrieben. Eine
Übersicht aller Handbücher zeigt die Tabelle 16.
Zum Erstellen eines eigenen Projektes werden Grundkenntnisse in einer Programmiersprache vorausgesetzt. In diesem Beispiel wird sich auf die Programmiersprache Assembler beschränkt, da diese Maschinensprache sehr hardwarenah ist und dadurch das grundsätzliche Verständnis für die meisten Abläufe gut vermittelt werden kann. Durch Einsatz der Hochsprache C kann die
Programmierung wesentlich beschleunigt werden, da diese wesentlich einfacher und schneller erlernbar ist als Assembler.
Handbuch MSP430 Education System Seite 58
Softwarebeschreibung
Tabelle 19: Das erste eigene Projekt
1. Man startet wie gewohnt die IAR Embedded 2. Um einen neuen Workspace anzulegen klickt man
Workbench. Nach dem Laden sieht man dieses Fenster. auf File im Menü und im Untermenü auf New um einen neuen Workspace zu erstellen.
3. Dem Anwender zeigt sich nun dieses Bild. Das
Workspace-Fenster ist geöffnet. und zeigt somit das erfolgreiche Anlegen einer neuen Arbeitsfläche.
4. Jetzt kann man ein neues Projekt erstellen. Man wählt hier den Eintrag Create New Project. da ein neues Projekt angelegt werden soll.
5. Dem Anwender zeigt sich nun dieses Bild. Man kann zwischen verschiedenen Project templates wählen. Für dieses erste eigene Project wählt man nun ein Empty
Project.
.
6. Es öffnet sich ein neues Fenster. In diesem
Fenster wählt man einen Ordner in dem das neue
Projekt gespeichert werden soll sowie den Namen des Projektes. Ist beides festgelegt, speichert man.
Handbuch MSP430 Education System Seite 59
Softwarebeschreibung
7. Dem Anwender zeigt sich nun dieses Bild. Das Projekt-
Fenster ist geöffnet und zeigt somit das erfolgreiche
Anlegen eines neuen Projektes. Um nun ein Programm schreiben zu können muss man noch ein neues Sourcefile anlegen.
8. Um ein neues Source-File anzulegen, wählt man erneut unter File den Unterpunkt New und dann File.
9. Es öffnet sich ein neues Fenster mit dem Namen
Untitle1. Um das neue Sourcefile zu speichern, drückt man nun auf den Speichern Button.
10. Da hier ein Assemblerprogramm entwickelt werden soll, wählt man als Namenserweiterung „.s43“. Dies ist die
Bezeichnung für eine IAR EW Assemblerfile. Die Datei nennt man nun xxx.s43 wobei xxx für einen selbst gewählten
Namen steht. Danach drückt man auf Speichern.
11. Jetzt kann man mit der Programmierung beginnen. 12. Dieser Sourcecode zählt binär von 0x00 zu 0x0f und in
In dem Sourcefile kann man jetzt sein eigenes Abhängigkeit davon leuchten die LED’s an P1.0 bis P1.3. Um
Assemblerprogramm speichern. Für diejenigen, die noch das Projekt compilieren und ausführen zu können, müssen keine so guten Kenntnisse in dieser Programmiersprache haben, ist im Anschluss an diese Tabelle der Sourcecode eines Beispielprogramms abgedruckt. sehr viele Grundeinstellungen vorgenommen werden. Alle
Einstellungen werden in den folgenden Fenstern genau beschrieben.
Handbuch MSP430 Education System Seite 60
Softwarebeschreibung
13. Die Quelldatei muss nun in das Projekt eingefügt werden. Dazu macht man einen Rechtsklick auf das
Projekt und wählt im Kontextmenü Add und wählt zwischen Add Files ..
und Add xxx.s43 . Danach ist das Sourcefile in das Projekt eingebunden.
14. Nun müssen noch einige Einstellungen für den Linker und den Debugger vorgenommen werden. Man wählt im
Menüpunkt Project den Unterpunkt Options und dem
Anwender zeigt sich dieses Bild. In dem Punkt General
Options wählt man den Target MSP430F2272.
15. Damit das Projekt später ohne Fehler compilieren kann, muss man ein Häkchen in bei Assembler-only project machen.
16. Nun wählt man den Unterpunkt Debugger. Im Setup
Menü des Debugger Fensters kann man unter dem Punkt
Driver zwischen 2 Debugmodi wählen. Standardmäßig ist hier der Simulator eingetragen. Um Programme auf den
17. Nun kann man den Sourcecode compilieren. Dies kann man auf dreierlei Wegen tun. Durch Drücken auf den Compile
Button, den Make Button oder auf den Debug Buttons. Der
Mikrocontroller laden zu können, wählt man den Mikrocontroller dar und öffnet den Debugger.
Unterpunkt FET Debugger. dritte Weg stellt gleichzeitig den Download auf den
Handbuch MSP430 Education System Seite 61
Softwarebeschreibung
18. Nach dem erfolgreichen Compilieren sollen im 19. Nachdem der Sourcecode erfolgreich auf den
Mikrocontroller geladen wurde, zeigt sich dem Anwender Messages Fenster warnings: 0 und errors: 0 erscheinen.
Um das ganze Projekt abzuspeichern, wählt man in der
Menüleiste File und dort Save Workspace. dieses Fenster. Es zeigt das Debugger-Fenster mit dem
Sourcecode als zentralem Fenster. Des Weiten wurde hier das
Register Fenster aktiviert, um die jeweiligen Registerinhalte darzustellen. Im Build Fenster wird der erfolgreiche
Download der Software auf den Mikrocontroller bestätigt.
Diejenigen, welche den nachfolgenden Sourcecode verwendet haben, sehen nach Drücken des Go Buttons vier Leuchtdioden blinken. Obwohl alle acht Leuchtdioden blinken sollten, kann man nur vier beobachten. Da hier noch der Debugger aktiv ist, werden die oberen vier Leuchtdioden durch die JTAG-
Schnittstelle blockiert. Stoppt man das Debuggen, werden alle acht Leuchtdioden zusammen blinken. Das erste eigene
Projekt wurde erfolgreich durchgeführt und beendet.
Handbuch MSP430 Education System Seite 62
Softwarebeschreibung
Nachfolgend der zusammenhängende Quelltext des ersten eigenen Programms:
// ****************************************************************************
/// \file continous-mode.s43
///
/// It seems, that this program uses Timer A to display a binary value via LEDs. It counts from
/// 0x00 to 0x0f (using P1.0,P1.1,P1.2 and P1.3). But Timer_A only switches LEDs depending on
/// Timer_A channel values and clock frequency.
///
/// \date 12.10.2005
///
/// \note To debug the program right click the project and choose "Options ...".
/// Select the category "Debugger" and change the driver to "FET Debugger"
// ****************************************************************************
#include <msp430x22x2.h>
;------------------------------------------------------------------------------
ORG 0E000h ; Program Start
;------------------------------------------------------------------------------
StopWDT
SetupTA
SetupP1
StartTA mov.w #WDTPW+WDTHOLD,&WDTCTL mov.w #TASSEL0+TACLR+TAIE,&TACTL
; Stop WDT
; ACLK, Clear TAR,
; interrupt enable mov.w #CCIE,&CCTL0 mov.w #07FFFh,&CCR0
; enable CCR0 compare interrupt
; initialize CCR0 mov.w #CCIE,&CCTL1 mov.w #03FFFh,&CCR1
; enable CCR1 compare interrupt
; initialize CCR1 mov.w #CCIE,&CCTL2 mov.w #01FFFh,&CCR2
; enable CCR2 compare interrupt
; initialize CCR2 bis.b #BIT0+BIT1+BIT2+BIT3,&P1DIR ; P1.0-P1.3 output mov.b #0FFh,&P1OUT ; P1 as output bis.w #MC1,&TACTL ; Start timer_A continous mode
Mainloop bis.w #LPM3,SR nop
; MCLK is not required
; Required only for C-spy Simulator
;------------------------------------------------------------------------------
; CCR0
;------------------------------------------------------------------------------ add.w #07FFFh,&CCR0 ; add CCR0 init value to CCR0 xor.b reti
#BIT1,&P1OUT ; toggle P1.1
;------------------------------------------------------------------------------
TAX_ISR ; Common ISR for CCR1-4 and overflow
;------------------------------------------------------------------------------
Handbuch MSP430 Education System Seite 63
Softwarebeschreibung
TIMOVH add &TAIV,PC reti jmp TIMMOD1 jmp TIMMOD2 reti reti xor.b #BIT0,&P1OUT
; Add offset to Jump table
; Vector 0: No interrupt
; Vector 2: chanel 1
; Vector 4: chanel 2
; Vector 6: chanel 3 not implemented
; Vector 8: chanel 4 not implemented
; Vector 10: TIMOV Flag
TIMMOD1 add.w #03FFFh,&CCR1 xor.b #BIT2,&P1OUT reti
; Vector 2: Module 1
; add CCR1 init value to CCR1
; toggle P1.2
TIMMOD2 add.w #01FFFh,&CCR2 xor.b #BIT3,&P1OUT
; Vector 4: Module 2
; add CCR2 init value to CCR2 reti ; toggle P1.3
;------------------------------------------------------------------------------
; Interrupt Vectors Used MSP430F12x
;------------------------------------------------------------------------------
ORG 0FFFEh
DW RESET
; MSP430 RESET Vector
; Timer_AX Vector ORG 0FFF0h
DW TAX_ISR
ORG 0FFF2h
DW TA_CCR0_ISR
END
; Timer_A0 Vector
Handbuch MSP430 Education System Seite 64
MSP430 JTAG-Adapter
6 MSP430 JTAG-Adapter
Bild 6-1: MSP430 USB-JTAG-Adapter
Zur Programmierung des MSP430 kann ein Adapter für den Parallelport des PCs oder ein USB-Adapter verwendet werden. Letzterer ist eine Erweiterung des eZ430 USB-Sticks von TI.
Bild 6-2: MSP430 Parallel-JTAG-Adapter
Tabelle 20 gibt noch einmal die Belegung des JTAG-Steckverbinders wieder.
Tabelle 20: Pinbelegung der JTAG-Schnittstelle
Handbuch MSP430 Education System Seite 65
MSP430 JTAG-Adapter
JTAG-Pin Signalname Beschreibung und angeschlossene Peripherie
1
2
6
7
8
3
4
5
P1.7_TDO
VCC_IN
P1.6_TDI
VCC_OUT
P1.5_TMS
TCLK
P1.4_TCK
TEST
9 GND
10
11
12
NC
RST
NC
13 NC
14 NC
Test Data Output Leitung der JTAG-Schnittstelle
Versorgung des Targets aus der parallelen Schnittstelle (nicht verwendet in
Hardware v2.0)
Test Data Input Leitung der JTAG-Schnittstelle
Versorgung des JTAG-Steckverbinders vom Target
Test Mode Select Leitung der JTAG-Schnittstelle
Taktsignal aus der Parallelschnittstelle
Test Clock Leitung der JTAG-Schnittstelle
Anschluss des JTAG-Moduls, schaltet den Controller zum Programmieren frei
(SBWTDIO)
Masse
NC
Reset-Leitung zum Controller (SBWTCK)
NC
NC
NC
Die wichtigsten Signale und deren Funktionsweise wurden bereits in Kapitel 4.3 genau beschrieben.
Die Beschreibung dieser Signale kann an dieser Stelle nachgelesen werden. Einzig die TCLK-Leitung wurde nicht weiter beschrieben, da sie in dieser Lösung nicht von Nutzen ist. Über die TCLK-Leitung ist es möglich einen Takt über die Parallelschnittstelle auf den Pin 6 des JTAG-Adapters zu geben und diesen auf eine angeschlossene Platine zu bringen. Damit kann zum Beispiel eine externe
Taktversorgung über die JTAG-Schnittstelle realisiert werden.
Handbuch MSP430 Education System Seite 66
Befehle des MSP430F2272
A. Befehle des MSP430F2272
Worte dar. Die Befehle, die am Ende ein „(.B)“ besitzen, können optional mit dem Kürzel „.B“ auch als Byte-Befehle behandelt werden. Bestimmte Peripherie-Module können nur mit Byte-Befehlen behandelt werden, wie zum Beispiel die Ports. Alle Register, die mit einem Port in Verbindung stehen sind 8-Bit breit und können nur mit Byte-Befehlen beschrieben und ausgelesen werden. So auch das USART-Modul. Timer_A ist zum Beispiel ein Word-Befehl. Alle Befehle denen ein „*“
voransteht sind emulierte Befehle. Die genaue Beschreibung aller Befehle ist im User Guide [7]
nachzulesen. Diese wird an kleinen Beispielen durchgeführt, um die genau Funktionsweise schnell erkennen zu können. In diesem findet man auch die genaue Registerbeschreibung sowie deren ausführliche Beschreibung.
Tabelle 21: Alle Befehle des MSP430 in Übersicht
Mnemonic Description
* ADC(.B)
ADD(.B) dst Add carry bit (C) to destination src,dst Add source to destination
ADDC(.B) src,dst Add source and carry to destination
AND(.B) src,dst AND source and destination
BIC(.B)
BIS(.B) src,dst src,dst
Clear bits in destination
Set bits in destination
BIT(.B)
* BR
CALL
* CLR(.B) src,dst Test bit in destination dst dst dst
Branch to destination
Call destination
Clear destination
* CLRC
* CLRN
* CLRZ
CMP(.B)
Clear carry bit
Clear negative bit
Clear zero bit scr,dst Compare Source and destination
* DADC(.B) dst Add C decimally to destination
DADD(.B) scr,dst Add source and C decimally to dst
* DEC(.B)
* DECD(.B) dst dst
Decrement destination
Increment destination
* DINT
* EINT
* INC(.B)
* INCD(.B)
* INV(.B)
JC/JHS
JEQ/JZ
JGE
JL
JMP
JN
JNC/JLO dst dst dst label label label label label label label
Disable interrupt
Enable interrupt
Increment destination
Double-Increment destination
Invert destination
Jump if C set/Jump if higher or same
Jump if equal/Jump if Zero-bit is set
Jump to label if graeter or equal
Jump to label if less
Jump to label unconditionally
Jump to label if N set
Jump if C not set/ Jump if lower
Handbuch MSP430 Education System dst + C –> dst src + dst –> dst src + dst + C –> dst src .and. dst –> dst 0
.not.src .and. dst –> dst src .or. dst –> dst src .and. dst dst-> PC
PC+2 –> stack, dst –> PC
0 -> dst
0 -> C
0 -> N
0 -> Z dst – src dst + C –> dst (decimally) src + dst + C –> dst (decimally) dst – 1 –> dst dst – 2 –> dst
0 -> GIE
1 -> GIE dst + 1 -> dst dst + 2 -> dst
.not.dst -> dst
(N .XOR. V) = 0
(N .XOR. V) = 1
PC +2 x offset -> PC
Status Bits
V N Z C
* * * *
* * * *
* * * *
0 * * *
- - - -
- - - -
0 * * *
- - - -
- - - -
- - - -
- - - 0
- 0 - -
- - 0 -
* * * *
* * * *
* * * *
* * * *
* * * *
- - - -
- - - -
* * * *
* * * *
* * * *
- - - -
- - - -
- - - -
- - - -
- - - -
- - - -
- - - -
Seite 67
Mnemonic Description
JNE/JNZ
MOV(.B)
* NOP
* POP(.B)
PUSH(.B) scr
* RET label Jump if not equal/Jump if Z not set src,dst Move source to destination dst
No operation
Pop item from stack to destination
Push source onto stack
Return from subroutine
RETI
* RLA(.B)
* RLC(.B)
RRA(.B)
RRC(.B)
* SBC(.B)
* SETC
* SETN dst dst dst dst dst
Return from interrupt
Rotate left arithmetically
Rotate left through carry
Rotate right arithmetically
Rotate right through carry
Subtract not (carry) from destination
Set carry bit
Set negative bit
* SETZ
SUB(.B)
Set zero bit src,dst Subtract source from destination
SUBC(.B) src,dst Subtract source an not © from dst.
SWPB dst swap bytes
SXT
* TST(.B)
XOR(.B) dst dst
Extend sign
Test destination src,dst Exclusive OR source and destination src –> dst
@Sp -> dst, SP+2 -> SP
SP – 2 -> SP, src -> @SP
@SP → PC, SP + 2 → SP dst + 0FFFFh + C -> dst
1 -> C
1 -> N
1 -> C dst + .not.src + 1 -> dst dst + .not.src + C -> dst src .xor. dst -> ds
Befehle des MSP430F2272
Status Bits
V N Z C
- - - -
- - - -
- - - -
- - - -
- - - -
- - - -
* * * *
* * * *
* * * *
0 * * *
* * * *
* * * *
- - - 1
- 1 - -
- - 1 -
* * * *
* * * *
- - - -
0 * * *
0 * * 1
* * * *
src - Abkürzung für Source, Quelle
dst - Abkürzung für Destination, Ziel
label - Bezeichnung für die eingesetzte Sprungmarke,
Handbuch MSP430 Education System Seite 68
B. Schaltpläne
Schaltpläne
Bild B-1: Schaltplan MSP430 Education System 2.0 Seite 1/2
Handbuch MSP430 Education System Seite 69
Schaltpläne
Bild B-2: Schaltplan MSP430 Education System 2.0 Seite 2/2
Handbuch MSP430 Education System Seite 70
Schaltpläne
Bild B-3: Schaltplan eines MSP430 Parallel-JTAG-Adapters
Handbuch MSP430 Education System Seite 71
C. Bestückungsplan
Bestückungsplan
Bild C-1: Bestückungsplan MSP430 Education System 2.0 top
Handbuch MSP430 Education System Seite 72
D. Mechanische Abmessungen
Mechanische Abmessungen
Bild D-1: Mechanische Abmessungen und Lage der Bohrungen
Handbuch MSP430 Education System Seite 73
Übersicht Beispielprogramme (TI)
E. Übersicht Beispielprogramme (TI)
Nachfolgend eine Übersicht der von Texas Instruments zur Verfügung gestellten Test-Programme, die
frei von der Texas Instruments Homepage [1] bezogen werden können. Die Beispielprogramme
wurden in zwei Kategorien unterteilt und zwar in Assembler- und C-Programmbeispiele. Durch Pflege und Aktualisierung der Programme können Verschiebungen vorkommen, der größte Teil wird aber
über diese Liste abgedeckt. Die entsprechend verwendete Funktionseinheit wird im Namen mitgeführt und kann mit der dazugehörigen Datei getestet werden.
6.1 MSP-FET430P120 Assembler Examples slac143a.zip (81k)
• msp430x22x4_1.asm - Software Toggle P1.0
• msp430x22x4_1_vlo.asm - Software Toggle P1.0, MCLK = VLO/8
• msp430x22x4_lpm3.asm - Basic Clock, LPM3 Using WDT ISR, 32kHz ACLK
• msp430x22x4_lpm3_vlo.asm - Basic Clock, LPM3 Using WDT ISR, VLO ACLK
• msp430x22x4_p1_02.asm - Software Port Interrupt Service on P1.3 from LPM4
• msp430x22x4_oa_01.asm - OA0, Comparator Mode
• msp430x22x4_oa_02.asm - OA0, General-Purpose Mode
• msp430x22x4_oa_03.asm - OA0, Inverting PGA Mode
• msp430x22x4_oa_04.asm - OA0, Non-Inverting PGA Mode
• msp430x22x4_oa_05.asm - OA0, Unity-Gain Buffer Mode
• msp430x22x4_adc10_01.asm - ADC10, Sample A0, AVcc Ref, Set P1.0 if A0 > 0.5*AVcc
• msp430x22x4_adc10_02.asm - ADC10, Sample A0, 1.5V Ref, Set P1.0 if A0 > 0.2V
• msp430x22x4_adc10_03.asm - ADC10, Sample A10 Temp, Set P1.0 if Temp ++ ~2C
• msp430x22x4_adc10_04.asm - ADC10, Sample A0, Signed, Set P1.0 if A0 > 0.5*AVcc
• msp430x22x4_adc10_05.asm - ADC10, Sample A11, Lo_Batt, Set P1.0 if AVcc < 2.3V
• msp430x22x4_adc10_06.asm - ADC10, Output Internal Vref on P2.4 & ADCCLK on P1.0
• msp430x22x4_adc10_07.asm - ADC10, DTC Sample A0 64x, AVcc, Repeat Single, DCO
• msp430x22x4_adc10_08.asm - ADC10, DTC Sample A0 64x, 1.5V, Repeat Single, DCO
• msp430x22x4_adc10_10.asm - ADC10, DTC Sample A2-0, AVcc, Single Sequence, DCO
• msp430x22x4_adc10_13.asm - ADC10, DTC Sample A1 32x, AVcc, TA0 Trig, DCO
• msp430x22x4_adc10_14.asm - ADC10, DTC Sample A1-0 32x, AVcc, Repeat Seq, DCO
• msp430x22x4_adc10_15.asm - ADC10, DTC Sample A10 32x to Flash, Int Ref, DCO
• msp430x22x4_adc10_19.asm - ADC10, DTC Sample A0 64x, AVcc, HF XTAL
• msp430x22x4_adc10_20.asm - ADC10, DTC Sample A0 2-Blk Cont. Mode, AVcc, HF XTAL
• msp430x22x4_flashwrite_01.asm - Flash In-System Programming, Copy SegC to SegD
• msp430x22x4_flashwrite_04.asm - Flash In-System Programming w/ EEI, Copy SegD to A/B/C
• msp430x22x4_clks.asm - Basic Clock, Output Buffered SMCLK, ACLK and MCLK/10
• msp430x22x4_fll_01.asm - Basic Clock, Implement Auto RSEL SW FLL
• msp430x22x4_fll_02.asm - Basic Clock, Implement Cont. SW FLL with Auto RSEL
• msp430x22x4_hfxtal.asm - Basic Clock, MCLK Sourced from HF XTAL
• msp430x22x4_rosc.asm - DCOCLK Biased with External Resistor Rosc
• msp430x22x4_dco_flashcal.asm - DCO Calibration Constants Programmer
• msp430x22x4_ta_01.asm - Timer_A, Toggle P1.0, TACCR0 Cont. Mode ISR, DCO SMCLK
• msp430x22x4_ta_02.asm - Timer_A, Toggle P1.0, TACCR0 Up Mode ISR, DCO SMCLK
• msp430x22x4_ta_03.asm - Timer_A, Toggle P1.0, Overflow ISR, DCO SMCLK
• msp430x22x4_ta_04.asm - Timer_A, Toggle P1.0, Overflow ISR, 32kHz ACLK
• msp430x22x4_ta_05.asm - Timer_A, Toggle P1.0, TACCR0 Up Mode ISR, 32kHz ACLK
• msp430x22x4_ta_06.asm - Timer_A, Toggle P1.0, TACCR1 Cont. Mode ISR, DCO SMCLK
• msp430x22x4_ta_16.asm - Timer_A, PWM TA1-2, Up Mode, DCO SMCLK
Handbuch MSP430 Education System Seite 74
Übersicht Beispielprogramme (TI)
• msp430x22x4_ta_17.asm - Timer_A, PWM TA1-2, Up Mode, 32kHz ACLK
• msp430x22x4_tb_01.asm - Timer_B, Toggle P1.0, TBCCR0 Cont. Mode ISR, DCO SMCLK
• msp430x22x4_tb_04.asm - Timer_B, Toggle P1.0, Overflow ISR, 32kHz ACLK
• msp430x22x4_tb_05.asm - Timer_B, Toggle P1.0, TBCCR0 Up Mode ISR, 32kHz ACLK
• msp430x22x4_tb_06.asm - Timer_B, Toggle P1.0, TBCCR1 Cont. Mode ISR, DCO SMCLK
• msp430x22x4_tb_09.asm - Timer_B, Toggle P4.0-2, Cont. Mode ISR, HF XTAL ACLK
• msp430x22x4_tb_11.asm - Timer_B, PWM TB1-2, Up Mode, 32kHz ACLK
• msp430x22x4_wdt_01.asm - WDT, Toggle P1.0, Interval Overflow ISR, DCO SMCLK
• msp430x22x4_wdt_02.asm - WDT, Toggle P1.0, Interval Overflow ISR, 32kHz ACLK
• msp430x22x4_wdt_04.asm - WDT+ Failsafe Clock, DCO SMCLK
• msp430x22x4_wdt_05.asm - Reset on Invalid Address fetch, Toggle P1.0
• msp430x22x4_wdt_06.asm - WDT+ Failsafe Clock, 32kHz ACLK
• msp430x22x4_uscia0_uart_01_115k.asm - USCI_A0, 115200 UART Echo ISR, DCO SMCLK
• msp430x22x4_uscia0_uart_01_115k_lpm.asm - USCI_A0, 115200 UART Echo ISR, DCO SMCLK, LPM4
• msp430x22x4_uscia0_uart_01_9600.asm - USCI_A0, 9600 UART Echo ISR, DCO SMCLK
• msp430x22x4_uscia0_uart_05_9600.asm - USCI_A0, Ultra-Low Pwr UART 9600 Echo ISR, 32kHz ACLK
• msp430x22x4_uscia0_uart_08_9600.asm - USCI_A0, UART 9600 Full-Duplex Transceiver, 32kHz ACLK
• msp430x22x4_uscia0_spi_09.asm - USCI_A0, SPI 3-Wire Master Incremented Data
• msp430x22x4_uscia0_spi_10.asm - USCI_A0, SPI 3-Wire Slave Data Echo
• msp430x22x4_uscia0_irda_01.asm - USCI_A0 IrDA External Loopback Test, 8MHz SMCLK
• msp430x22x4_uscia0_irda_02.asm - USCI_A0 IrDA Monitor, 8MHz SMCLK
• msp430x22x4_uscib0_i2c_08.asm - USCI_B0 I2C Master TX multiple bytes to MSP430 Slave
• msp430x22x4_uscib0_i2c_09.asm - USCI_B0 I2C Slave RX multiple bytes from MSP430 Master
• msp430x22x4_uscib0_i2c_10.asm - USCI_B0 I2C Master RX multiple bytes from MSP430 Slave
• msp430x22x4_uscib0_i2c_11.asm - USCI_B0 I2C Slave TX multiple bytes to MSP430 Master
6.2 MSP-FET430P120 "C" Examples slac123b.zip (136k)
• msp430x22x4_1.c - Software Toggle P1.0
• msp430x22x4_1_vlo.c - Software Toggle P1.0, MCLK = VLO/8
• msp430x22x4_lpm3.c - Basic Clock, LPM3 Using WDT ISR, 32kHz ACLK
• msp430x22x4_lpm3_vlo.c - Basic Clock, LPM3 Using WDT ISR, VLO ACLK
• sp430x22x4_nmi.c - Configure RST/NMI as NMI
• msp430x22x4_p1_01.c - Software Poll P1.3, Set P1.0 if P1.3 = 1
• msp430x22x4_p1_02.c - Software Port Interrupt Service on P1.3 from LPM4
• msp430x22x4_p1_03.c - Poll P1 With Software with Internal Pull-up
• msp430x22x4_p1_04.c - P1 Interrupt from LPM4 with Internal Pull-up
• msp430x22x4_oa_01.c - OA0, Comparator Mode
• msp430x22x4_oa_02.c - OA0, General-Purpose Mode
• msp430x22x4_oa_03.c - OA0, Inverting PGA Mode
• msp430x22x4_oa_04.c - OA0, Non-Inverting PGA Mode
• msp430x22x4_oa_05.c - OA0, Unity-Gain Buffer Mode
• msp430x22x4_oa_06.c - OA1, Comparator Mode
• msp430x22x4_oa_07.c - OA1, General-Purpose Mode
• msp430x22x4_oa_08.c - OA1, Inverting PGA Mode
• msp430x22x4_oa_09.c - OA1, Non-Inverting PGA Mode
• msp430x22x4_oa_10.c - OA1, Unity-Gain Buffer Mode
• msp430x22x4_adc10_01.c - ADC10, Sample A0, AVcc Ref, Set P1.0 if A0 > 0.5*AVcc
• msp430x22x4_adc10_02.c - ADC10, Sample A0, 1.5V Ref, Set P1.0 if A0 > 0.2V
• msp430x22x4_adc10_03.c - ADC10, Sample A10 Temp, Set P1.0 if Temp ++ ~2C
• msp430x22x4_adc10_04.c - ADC10, Sample A0, Signed, Set P1.0 if A0 > 0.5*AVcc
• msp430x22x4_adc10_05.c - ADC10, Sample A11, Lo_Batt, Set P1.0 if AVcc < 2.3V
• msp430x22x4_adc10_06.c - ADC10, Output Internal Vref on P2.4 & ADCCLK on P1.0
• msp430x22x4_adc10_07.c - ADC10, DTC Sample A0 64x, AVcc, Repeat Single, DCO
• msp430x22x4_adc10_08.c - ADC10, DTC Sample A0 64x, 1.5V, Repeat Single, DCO
• msp430x22x4_adc10_09.c - ADC10, DTC Sample A10 64x, 1.5V, Repeat Single, DCO
Handbuch MSP430 Education System Seite 75
Übersicht Beispielprogramme (TI)
• msp430x22x4_adc10_10.c - ADC10, DTC Sample A2-0, AVcc, Single Sequence, DCO
• msp430x22x4_adc10_11.c - ADC10, Sample A0, 1.5V, TA1 Trig, Set P1.0 if > 0.5V
• msp430x22x4_adc10_12.c - ADC10, Sample A7, 1.5V, TA1 Trig, Ultra-Low Pwr
• msp430x22x4_adc10_13.c - ADC10, DTC Sample A1 32x, AVcc, TA0 Trig, DCO
• msp430x22x4_adc10_14.c - ADC10, DTC Sample A1-0 32x, AVcc, Repeat Seq, DCO
• msp430x22x4_adc10_15.c - ADC10, DTC Sample A10 32x to Flash, Int Ref, DCO
• msp430x22x4_adc10_16.c - ADC10, DTC Sample A0 -> TA1, AVcc, DCO
• msp430x22x4_adc10_17.c - ADC10, DTC Sample A0 -> TA1, AVcc, HF XTAL
• msp430x22x4_adc10_18.c - ADC10, DTC Sample A1/0 -> TA1/2, 2.5V, HF XTAL
• msp430x22x4_adc10_19.c - ADC10, DTC Sample A0 64x, AVcc, HF XTAL
• msp430x22x4_adc10_20.c - ADC10, DTC Sample A0 2-Blk Cont. Mode, AVcc, HF XTAL
• msp430x22x4_adc10_temp.c - ADC10, Sample A10 Temp and Convert to oC and oF
• msp430x22x4_flashwrite_01.c - Flash In-System Programming, Copy SegC to SegD
• msp430x22x4_flashwrite_03.c - Flash In-System Programming w/ EEI, Copy SegC to SegD
• msp430x22x4_flashwrite_04.c - Flash In-System Programming w/ EEI, Copy SegD to A/B/C
• msp430x22x4_clks.c - Basic Clock, Output Buffered SMCLK, ACLK and MCLK/10
• msp430x22x4_fll_01.c - Basic Clock, Implement Auto RSEL SW FLL
• msp430x22x4_fll_02.c - Basic Clock, Implement Cont. SW FLL with Auto RSEL
• msp430x22x4_hfxtal.c - Basic Clock, MCLK Sourced from HF XTAL
• msp430x22x4_hfxtal_nmi.c - Basic Clock, LFXT1/MCLK Sourced from HF XTAL, NMI
• msp430x22x4_rosc.c - DCOCLK Biased with External Resistor Rosc
• msp430x22x4_dco_flashcal.c - DCO Calibration Constants Programmer
• msp430x22x4_ta_01.c - Timer_A, Toggle P1.0, TACCR0 Cont. Mode ISR, DCO SMCLK
• msp430x22x4_ta_02.c - Timer_A, Toggle P1.0, TACCR0 Up Mode ISR, DCO SMCLK
• msp430x22x4_ta_03.c - Timer_A, Toggle P1.0, Overflow ISR, DCO SMCLK
• msp430x22x4_ta_04.c - Timer_A, Toggle P1.0, Overflow ISR, 32kHz ACLK
• msp430x22x4_ta_05.c - Timer_A, Toggle P1.0, TACCR0 Up Mode ISR, 32kHz ACLK
• msp430x22x4_ta_06.c - Timer_A, Toggle P1.0, TACCR1 Cont. Mode ISR, DCO SMCLK
• msp430x22x4_ta_07.c - Timer_A, Toggle P1.0-3, Cont. Mode ISR, DCO SMCLK
• msp430x22x4_ta_08.c - Timer_A, Toggle P1.0-3, Cont. Mode ISR, 32kHz ACLK
• msp430x22x4_ta_09.c - Timer_A, Toggle P1.0-3, Cont. Mode ISR, HF XTAL ACLK
• msp430x22x4_ta_10.c - Timer_A, Toggle P1.1/TA0, Up Mode, DCO SMCLK
• msp430x22x4_ta_11.c - Timer_A, Toggle P1.1/TA0, Up Mode, 32kHz ACLK
• msp430x22x4_ta_12.c - Timer_A, Toggle P1.1/TA0, Up Mode, HF XTAL ACLK
• msp430x22x4_ta_13.c - Timer_A, Toggle P1.1/TA0, Up/Down Mode, DCO SMCLK
• msp430x22x4_ta_14.c - Timer_A, Toggle P1.1/TA0, Up/Down Mode, 32kHz ACLK
• msp430x22x4_ta_15.c - Timer_A, Toggle P1.1/TA0, Up/Down Mode, HF XTAL ACLK
• msp430x22x4_ta_16.c - Timer_A, PWM TA1-2, Up Mode, DCO SMCLK
• msp430x22x4_ta_17.c - Timer_A, PWM TA1-2, Up Mode, 32kHz ACLK
• msp430x22x4_ta_18.c - Timer_A, PWM TA1-2, Up Mode, HF XTAL ACLK
• msp430x22x4_ta_19.c - Timer_A, PWM TA1-2, Up/Down Mode, DCO SMCLK
• msp430x22x4_ta_20.c - Timer_A, PWM TA1-2, Up/Down Mode, 32kHz ACLK
• msp430x22x4_ta_21.c - Timer_A, PWM TA1-2, Up/Down Mode, HF XTAL ACLK
• msp430x22x4_ta_22.c - Timer_A, Ultra-Low Pwr Pulse Accumulator
• msp430x22x4_tb_01.c - Timer_B, Toggle P1.0, TBCCR0 Cont. Mode ISR, DCO SMCLK
• msp430x22x4_tb_02.c - Timer_B, Toggle P1.0, TBCCR0 Up Mode ISR, DCO SMCLK
• msp430x22x4_tb_03.c - Timer_B, Toggle P1.0, Overflow ISR, DCO SMCLK
• msp430x22x4_tb_04.c - Timer_B, Toggle P1.0, Overflow ISR, 32kHz ACLK
• msp430x22x4_tb_05.c - Timer_B, Toggle P1.0, TBCCR0 Up Mode ISR, 32kHz ACLK
• msp430x22x4_tb_06.c - Timer_B, Toggle P1.0, TBCCR1 Cont. Mode ISR, DCO SMCLK
• msp430x22x4_tb_07.c - Timer_B, Toggle P4.0-2, Cont. Mode ISR, DCO SMCLK
• msp430x22x4_tb_08.c - Timer_B, Toggle P4.0-2, Cont. Mode ISR, 32kHz ACLK
• msp430x22x4_tb_09.c - Timer_B, Toggle P4.0-2, Cont. Mode ISR, HF XTAL ACLK
• msp430x22x4_tb_10.c - Timer_B, PWM TB1-2, Up Mode, DCO SMCLK
• msp430x22x4_tb_11.c - Timer_B, PWM TB1-2, Up Mode, 32kHz ACLK
• msp430x22x4_tb_12.c - Timer_B, PWM TB1-2, Up Mode, HF XTAL ACLK
Handbuch MSP430 Education System Seite 76
Übersicht Beispielprogramme (TI)
• msp430x22x4_tb_13.c - Timer_B, PWM TB1-2, Up/Down Mode, DCO SMCLK
• msp430x22x4_tb_14.c - Timer_B, PWM TB1-2, Up/Down Mode, 32kHz ACLK
• msp430x22x4_tb_15.c - Timer_B, PWM TB1-2, Up/Down Mode, HF XTAL ACLK
• msp430x22x4_wdt_01.c - WDT, Toggle P1.0, Interval Overflow ISR, DCO SMCLK
• msp430x22x4_wdt_02.c - WDT, Toggle P1.0, Interval Overflow ISR, 32kHz ACLK
• msp430x22x4_wdt_04.c - WDT+ Failsafe Clock, DCO SMCLK
• msp430x22x4_wdt_05.c - Reset on Invalid Address fetch, Toggle P1.0
• msp430x22x4_wdt_06.c - WDT+ Failsafe Clock, 32kHz ACLK
• msp430x22x4_uscia0_uart_01_115k.c USCI_A0, 115200 UART Echo ISR, DCO SMCLK
• msp430x22x4_uscia0_uart_01_115k_lpm.c USCI_A0, 115200 UART Echo ISR, DCO SMCLK, LPM4
• msp430x22x4_uscia0_uart_01_19200.c USCI_A0, 19200 UART Echo ISR, DCO SMCLK
• msp430x22x4_uscia0_uart_01_19200_2.c USCI_A0, UART 19200 Echo ISR, HF XTAL SMCLK
• msp430x22x4_uscia0_uart_01_9600.c USCI_A0, 9600 UART Echo ISR, DCO SMCLK
• msp430x22x4_uscia0_uart_05_9600.c USCI_A0, Ultra-Low Pwr UART 9600 Echo ISR, 32kHz ACLK
• msp430x22x4_uscia0_uart_06_9600.c USCI_A0, Ultra-Low Pwr UART 9600 String, 32kHz ACLK
• msp430x22x4_uscia0_uart_07_9600.c USCI_A0, Ultra-Low Pwr UART 9600 RX/TX, 32kHz ACLK
• msp430x22x4_uscia0_uart_08_9600.c USCI_A0, UART 9600 Full-Duplex Transceiver, 32kHz ACLK
• msp430x22x4_uscia0_spi_01.c USCI_A0, SPI Interface to HC164 Shift Register
• msp430x22x4_uscia0_spi_02.c USCI_A0, SPI Interface to HC165 Shift Register
• msp430x22x4_uscia0_spi_03.c USCI_A0, SPI Interface to HC165/164 Shift Registers
• msp430x22x4_uscia0_spi_09.c USCI_A0, SPI 3-Wire Master Incremented Data
• msp430x22x4_uscia0_spi_10.c USCI_A0, SPI 3-Wire Slave Data Echo
• msp430x22x4_uscib0_spi_01.c USCI_B0, SPI Interface to TLC549 8-Bit ADC
• msp430x22x4_uscib0_spi_02.c USCI_B0, SPI Interface to TLV1549 10-Bit ADC
• msp430x22x4_uscia0_irda_01.c USCI_A0 IrDA External Loopback Test, 8MHz SMCLK
• msp430x22x4_uscia0_irda_02.c USCI_A0 IrDA Monitor, 8MHz SMCLK
• msp430x22x4_uscia0_irda_03.c USCI_A0 IrDA Physical Layer Comm, 8MHz SMCLK
• msp430x22x4_uscib0_i2c_01.c USCI_B0 I2C Master to TMP100, Set P5.1 if Temp > 28C
• msp430x22x4_uscib0_i2c_02.c USCI_B0 I2C Master Interface to PCF8574, Read/Write
• msp430x22x4_uscib0_i2c_03.c USCI_B0 I2C Master Interface to DAC8571, Write
• msp430x22x4_uscib0_i2c_04.c USCI_B0 I2C Master RX single bytes from MSP430 Slave
• msp430x22x4_uscib0_i2c_05.c USCI_B0 I2C Slave TX single bytes to MSP430 Master
• msp430x22x4_uscib0_i2c_06.c USCI_B0 I2C Master TX single bytes to MSP430 Slave
• msp430x22x4_uscib0_i2c_07.c USCI_B0 I2C Slave RX single bytes from MSP430 Master
• msp430x22x4_uscib0_i2c_08.c USCI_B0 I2C Master TX multiple bytes to MSP430 Slave
• msp430x22x4_uscib0_i2c_09.c USCI_B0 I2C Slave RX multiple bytes from MSP430 Master
• msp430x22x4_uscib0_i2c_10.c USCI_B0 I2C Master RX multiple bytes from MSP430 Slave
• msp430x22x4_uscib0_i2c_11.c USCI_B0 I2C Slave TX multiple bytes to MSP430 Master
Handbuch MSP430 Education System Seite 77
Literatur- und Quellenverzeichnis
F. Literatur- und Quellenverzeichnis
[1] Texas Instruments Homepage www.ti.com
[2] IAR Embedded Workbench für MSP430 http://www.iar.com/
[3] freie GNU Programmierumgebung für MSP430 (toolchain for MSP430) http://mspgcc.sourceforge.net/
[4] Rowley CrossWorks für MSP430 Programmierumgebung http://www.rowley.co.uk/
[5] Imagecraft ICC430 Programmierumgebung http://www.imagecraft.com/software/
[6] msp430f2272, Texas Instruments MSP4302272 Datenblatt
[7] MSP-FET430 Users Guide.pdf, Texas Instruments MSP430x1xx Users Guide
[8] a430.pdf, MSP430 ASSEMBLER, LINKER, AND LIBRARIAN Programming Guide
[9] cs430.pdf, MSP430 C-SPY ROM-Monitor Supplement
[10] cw430.pdf, MSP430 C-SPY User Guide
[11] ew430.pdf, MSP430 WINDOWS WORKBENCH Interface Guide
[12] icc430,pdf, MSP430 C COMPILER Programming Guide
[13] MSP-FET430 Users Guide.pdf, MSP-FET430 FLASH Emulation Tool (FET)
Users Guide
[14] TI Simulator Users Guide.pdf, IAR CSPY w/TI Simulator User.s Guide
[15] Tutor.pdf, IAR CSPY w/TI Simulator User.s Guide
[16] xlink.pdf, IAR Linker and Library Tools, Reference Guide
[17] Datenblatt HD44780U, Hitachi Semiconductor
Handbuch MSP430 Education System Seite 78
advertisement
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Related manuals
advertisement
Table of contents
- 10 Bild 2-1: MSP430 Education System Version
- 12 Bild 4-1: Hauptelemente des MSP430 Education Systems
- 14 Bild 4-2: Belegung der Stiftleisten X7, X8, X11 und X12 mit Signalnamen
- 16 Bild 4-3: Pinbelegung des MSP430F
- 16 Bild 4-4: Blockdiagramm des MSP430F
- 19 Bild 4-5: Spannungsversorgung MSP430 Education System
- 20 Bild 4-6: Belegung der JTAG-Schnittstelle
- 22 Bild 4-7: Installierte Leuchtdioden
- 23 Bild 4-8: Beschaltung und Position der Leuchtdioden
- 24 Bild 4-9: Installierte Taster
- 24 Bild 4-10: Beschaltung und Position der Taster
- 26 Bild 4-11: Lage der Infrarotkomponenten
- 27 Bild 4-12: Installiertes Dotmatrix Display
- 27 Bild 4-13: Beschaltung des LC-Displays
- 34 Bild 4-14: Standardzeichensatz des Displays
- 35 Bild 4-15: Eingesetzter Lautsprecher
- 35 Bild 4-16: Beschaltung des Lautsprechers
- 36 Bild 4-17: Installierte Potentiometer
- 37 Bild 4-18: Beschaltung der Potentiometer
- 38 Bild 4-19: Resetbeschaltung des MSP
- 39 Bild 4-20: Lage der Lötbrücken Top-Ansicht
- 41 Bild 5-1: Entwicklungsumgebung IAR Embedded Workbench
- 45 Bild 5-2: Bildschirm nach Start der Software
- 45 Bild 5-3: Hauptbestandteile der Programmierumgebung
- 46 Bild 5-4: Funktionen der Toolbar Buttons
- 47 Bild 5-5: Hauptbestandteile des Debuggers
- 49 Bild 5-6: Funktionen der Toolbars des Debuggers
- 56 Bild 5-7: Fehlermeldung bei nicht erfolgreichem Download
- 65 Bild 6-1: MSP430 USB-JTAG-Adapter
- 65 Bild 6-2: MSP430 Parallel-JTAG-Adapter
- 69 Bild B-1: Schaltplan MSP430 Education System 2.0 Seite
- 70 Bild B-2: Schaltplan MSP430 Education System 2.0 Seite
- 71 Bild B-3: Schaltplan eines MSP430 Parallel-JTAG-Adapters
- 72 Bild C-1: Bestückungsplan MSP430 Education System 2.0 top
- 73 Bild D-1: Mechanische Abmessungen und Lage der Bohrungen