Navigation
Benutzung des USART:

Der MSP430F149 verfügt über zwei völlig gleichwertige eingebaute Hardware-USART-Schnittstellen. USART bedeutet Universal Synchronous/Asynchronous Receiver/Transmitter, also ein Baustein, der sowohl synchron als auch asynchron senden und empfangen kann. Und davon hat der MSP430F149 eben sogar zwei. :-) Das hat den Zeck, dass man z.B. mit zwei PCs gleichzeitig kommunizieren kann. Oder mit einem PC und einem Funkmodul. Wo wir gerade dabei sind: Das könnte übrigens das nächste Tutorial werden (serielle Daten vom PC an den MSP senden, der diese dann ebenfalls seriell an ein Funkmodul (TRF6900A) weitergibt, von wo aus sie an einen anderen TRF6900A mit angeschlossenem MSP430 gesendet werden). Hier fangen wir aber viel einfacher an und benutzen nur ein USART-Modul, um Zeichen vom MSP430 zum PC zu senden und umgekehrt.

Als erstes muss man natürlich wissen, über welches Protokoll der MSP430 und der PC mit einander reden. Prinzipiell wird UART (also das asynchrone Verfahren) benutzt, und zwar in Form des RS232-Protokolls. Von diesem Protokoll hat mit Sicherheit jeder schon mal gehört, der ein Modem über AT-Befehle gesteuert hat ... Für alle anderen gibt es im Internet Hunderte Seiten, die sich mit diesem Potokoll beschäftigen (hier gibt es z.B. eine ganz gute Übersicht). Um dieses Tutorial hier nicht unnötig aufzublähen, erkläre ich nicht alle Einstellungen haarklein, sondern setze ein gewisses Vorwissen über RS232 voraus. Schlagwörter wie 8N1, 9600 Baud, RxD, TxD sollte man zumindest schon mal gehört haben. :-)

So, jetzt aber los! Da die serielle Schnittstelle am PC wie schon erwähnt eine UART-Schnittstelle ist, würden wir im einfachsten Fall mit drei Leitungen zwischen MSP430 und PC hinkommen: RxD, TxD und GND. Da es aber wenig Spaß macht, drei Drähte selber zusammen zu löten, empfehle ich, ein normales 9-poliges Sub-D-Verlängerungskabel bei Reichelt o.ä. zu kaufen (Kostenpunkt noch nicht mal 1 Euro). Dann noch eine Sub-D-Buchse zur Printmontage auf die Platine und fertig ist eine Verbindung, die auch mechanisch ein bissel was aushält. :-)

Kommen wir nun zur Hardware-Beschaltung: Wie man der Pinbelegung im Datenblatt des MSP430F149 entnimmt, liegen die TxD- und RxD-Pins von USART0 (das ist der erste der beiden USARTs; USART1 ist dementsprechend der zweite) an den Pins 32 bzw 33. Einfach zwei Drähte vom PC kommend hier dranzulöten funktioniert nun aber leider nicht, da der MSP430 ja mit Pegeln von 3,3 Volt arbeitet, die serielle Schnittstelle aber mit -12 Volt bis +12 Volt. Zusätzlich sind die Signale auch noch invertiert, logisch "0" (GND) am MSP430 entspricht also +12 Volt am PC, logisch "1" (VCC) entspricht -12 Volt. Über diese ganzen Pegel brauchen wir uns aber zum Glück überhaupt keine Gedanken zu machen, wenn wir einen MAX232 benutzen. Dieser Standard-Baustein sorgt -- mit 5 externen Elkos beschaltet -- für eine völlig automatische Pegelwandlung zwischen Mikrocontroller und PC. Das Datenblatt zum MAX232 gibt es hier. Alles in allem sieht die nun nötige Hardware also so aus:


Der MAX232 kommt mit den Pins 11 und 12 an die Ports P3.4 und P3.5 des MSP430 und mit den Pins 13 und 14 an die Pins 2 und 3 der Sub-D-Buchse. Von dort aus geht es dann über oben erwähntes 9-poliges Verlängerungskabel zur seriellen Schnittstelle des PCs. Der MAX232 wird mit Pin 16 an 5 Volt Betriebsspannung und mit Pin 15 an GND angeschlossen. Da ihr aber so oder so das Datenblatt mal gesehen haben solltet, habe ich mir im obigen Schaltbild die Elkos gespart. Deren Anschluss (Ort und -- wichtig! -- Polarität) ist aber leicht im Datenblatt zu finden.

So, wenn ihr fertig seid mit löten, geht es auf der nächsten Seite mit der Software weiter. :-)