Forum: Mikrocontroller und Digitale Elektronik MSP430 an MAX485 anschließen


von Katja (Gast)


Lesenswert?

Hallo,
für meine Projektarbeit brauche ich einen RS485, den ich an einen MSP430 
anschließen muss. Nun hat der MSP430 ja keine TXD und RXD Ausgänge, da 
wollte ich fragen ob ich die 2 Leitungen vom MAX485 ( RO und DI) jeweils 
auch an SCL und SDA vom Mµ anschließen kann?
Ich meine ich habe das schon mal bei einem anderen Mµ gemacht, bin mir 
aber nicht mehr sicher..

Danke shcon mal
Gruß Katja

von Achim M. (minifloat)


Lesenswert?

Katja schrieb:
> Nun hat der MSP430 ja keine TXD und RXD Ausgänge

Äh, doch? Schau mal ins Datenblatt, wo sich ein UART befindet. Da 
kloppst du den 485er dann 'ran.

RXD ist übrigens ein Eingang.
mfg mf

von H.Joachim S. (crazyhorse)


Lesenswert?

Und einen  weiteren Pin brauchst du für die Richtungsumschaltung.

von Jörg S. (joerg-s)


Lesenswert?

>Schau mal ins Datenblatt, wo sich ein UART befindet.
Wenn dieser MSP einen UART hat...

von Dennis (Gast)


Lesenswert?

Sonst musste den UART in Software realisieren.

von Achim M. (minifloat)


Lesenswert?

Jörg S. schrieb:
> Wenn dieser MSP einen UART hat...

Der "kleinere" MSP430G2211 aus dem Launchpad-Karton hat jedenfalls 
keinen.
Der MSP430G2231 schon.
mfg mf

von Katja (Gast)


Lesenswert?

Hi,
ok, mein MSp hat keinen UART, in den Datenblättern steht davon zumindest 
nichts. wie kann ich denn den UART in der Software realisieren?

Danke

PS: dass ich noch einen Pin zur Richtungssteuerung brauche weiß ich, 
wollte es nur nicht noch extra schreiben :)

von Coder (Gast)


Lesenswert?

Mini Float schrieb:
> Der MSP430G2231 schon.

Falsch, hat er nicht.

Bei dem Launchpad-Demo ist ein Beispiel dabei. Zumindest für das Senden.

von Der Neue (Gast)


Lesenswert?

Katja schrieb:
> ok, mein MSp hat keinen UART

Steht der definitive uC schon fest?
Ansonsten nimm einen mit USART.
Dann kannste das meiste in den Interrupts abhandeln und "verbrauchst" 
nicht evtl. wichtige Recourcen...

Grüße

von Achim M. (minifloat)


Lesenswert?

Coder schrieb:
> Falsch, hat er nicht.
>
> Bei dem Launchpad-Demo ist ein Beispiel dabei. Zumindest für das Senden.

Und ich hab mich gefragt, wo an den Dingern nu der Haken ist... Nun gut, 
dass ich es jetzt weiß.

Katja schrieb:
> wie kann ich denn den UART in der Software realisieren?

Für die Senderichtung brauchst du am besten einen Timer, in dessen 
Interruptfunktion du jeweils immer ein neues Bit zur rechten Zeit auf 
einen Pin ausgibst und eine kleine Statemachine nebenher, die 
Start-/Stoppbits etc zur rechten Zeit erzeugt.

Für die Empfangsrichtung würde ich einen externen Interrupt empfehlen, 
steigende und fallende Flanken erkennt und anhand eines Zeitstempels für 
die Flankenwechsel das Paket rekonstruiert. Oder du machst es über den 
Timerinterrupt, worin dann der RX-Pin "gesampelt" wird und so das Datum 
rekonstruiert wird. Ebenfalls mit Statemachine zur Steuerung.
Es lohnt sich, beim Empfang mit Oversampling abzutasten um durch 
Mehrheitsentscheid über mehrere Samples eine größere Störsicherheit zu 
erreichen.
mfg mf

von Katja (Gast)


Lesenswert?

ok, dann probiere ich das mal so aus, danke

Neuer Gast:
Steht der definitive uC schon fest?

Ja, der steht schon fest, wurde uns aber vorgegeben, daher müssen wir 
damit arbeiten..

von Coder (Gast)


Lesenswert?

Aber um auf Ursprungsfrage zurück zu kommen. Man kann grundsätzlich 
jeden I/O Pin anschliessen. Und google bringt Dich ans Ziel der 
Software-Uart. Das haben schon paar Leute gemacht :-)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Katja schrieb:
> Ja, der steht schon fest, wurde uns aber vorgegeben, daher müssen wir
> damit arbeiten..

Du könntest den natürlich auch mal benennen. Also: welcher MSP430 
ist's denn?

von Katja (Gast)


Lesenswert?

unser Mµ ist der MSP430 EZ430-F2013

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Gut, der 'F2013 hat definitiv keine serielle Schnittstelle, für den muss 
man eine Soft-UART verwenden.

In den Codebeispielen von TI gibt es dafür eine Lösung:

http://www.ti.com/litv/zip/slac080i

Darin msp430x20x3_ta_uart2400.c bzw. msp430x20x3_ta_uart2400.s43 / .asm


Dieses Beispiel ist um den Code zur Ansteuerung der 
Senderichtungssteuerung des RS-485-Transceivers zu erweitern.

Ob dann noch viel Platz im Flash und RAM dieses Zwergs übrig bleibt, um 
irgendwas sinnvolles anzustellen?

von anonym (Gast)


Lesenswert?

Hi,

dein µC hat eine USI drauf. Ich würde einen Bautein suchen, der SCI oder 
I2C unterstützt und zu RS485 wandelt. Oder halt die Umsetzung in 
Software. Bei einem zusätzlichen Chip muss auch bedacht werden, dass die 
evtl. programmiert werden müssen und dafür Leitungen zu Verfügung 
stehen. Der µC hat niht besonders viele davon.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

anonym schrieb:
> Ich würde einen Bautein suchen, der SCI oder
> I2C unterstützt und zu RS485 wandelt.

Das wird es als Einzelbaustein nicht geben, wie sollte das auch gehen? 
Das eine ist ein serielles Übertragungsprotokoll, das andere ein 
Pegelwandler.

Erforderlich ist etwas, was aus den zur Verfügung stehenden synchronen 
seriellen Protokollen, die die USI des 'F2013 unterstützt, also SPI oder 
I2C das erforderliche asynchrone serielle Protokoll erzeugt - das ist 
eine UART, die per SPI oder I2C angebunden wird. So etwas gibt es von 
NXP in Form des SC16IS740*, der kann sowohl per I2C als auch per SPI 
angesteuert werden.

Und an diese UART kann dann ein RS-485-Transceiver angeschlossen werden. 
Der SC16IS740 enthält auch Hardwareunterstützung für die automatische 
Sende-/Empfangsumschaltung des RS-485-Transceivers, so daß die Software 
im 'F2013 sich nicht mehr darum kümmern muss.

Mir scheint der Aufwand allerdings verfehlt, es wäre erheblich 
einfacher, einen geeigneteren MSP430 als ausgerechnet das "Sparmodell" 
'F2013 zu verwenden.


*) 
http://ics.nxp.com/products/sc16/datasheet/sc16is740.sc16is750.sc16is760.pdf

von Katja (Gast)


Lesenswert?

Wie viel PLatz denkt ihr denn ist durch die TXD/RXD realisierung belegt?
Aber das Codebeispiel ist auf jeden Fall gut, werden wir ausprobieren.
wir müssen mit dem µC als Hauptaufgabe Daten auf einer bestimmten 
Frequenz übertragen und durch Master/Slave verfahren wollen wir die 
einzelnen Mµ ansprechen..
Das sollte ja eigentlich nicht den ganzen Speicherplatz belegen..

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Katja schrieb:
> Das sollte ja eigentlich nicht den ganzen Speicherplatz belegen..

Der 'F2013 hat gerade mal 128 Byte RAM und 2048 Byte Flash-ROM. Damit 
ist nicht weit zu hüpfen.

> wir müssen mit dem µC als Hauptaufgabe Daten auf einer bestimmten
> Frequenz übertragen

Das soll jetzt was heißen?

> und durch Master/Slave verfahren wollen wir die
> einzelnen Mµ ansprechen..

Dein "Mµ" soll vermutlich µC heißen. Wer soll auf dem RS-485-Bus Master 
sein?

Bedenke, daß bei Verwendung eines PCs als Gegenstelle der praktische 
9-Bit-Adressierungsmodus nicht verwendbar ist.

von Thomas S. (doschi_)


Angehängte Dateien:

Lesenswert?

Zum Launchpad eine Aktualisierung:

Die "neuen" Launchpads von TI (Rev 1.5)  haben 2 aktuelle
20-Pin-µC in der Packung: je 1 x  MSP430G2452 und MSP430G2553.
Anbei die Beschreibung des Inhaltes.
(immer noch für $4,30 und ohne Versandkosten)
Damit stehen wesentlich mehr Flash, IO, und beim 2553 eben auch UART zur 
Verfügung.
Auf den Webseiten von TI konnte ich dazu allerdings noch keine 
Aktualisierung finden.

Gruß Thomas

von Katja (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
>> wir müssen mit dem µC als Hauptaufgabe Daten auf einer bestimmten
>> Frequenz übertragen
>
> Das soll jetzt was heißen?

wir haben als Aufgabe eine Kommunikation über eine Leitung zu 
ermöglichen auf der unter anderem Oberwellen vorhanden sind(durch einen 
Wechselumrichter).. daher müssen wir unser Signal, das wir über Spulen 
auf die Leitung aufmodulieren (wir dürfen die vorhandene Leitung nicht 
unterbrechen und deshalb "von außen" das Signal dazugeben) auf einer 
bestimmten Frequenz senden, um unser Signal nicht mit Oberwellen zu 
vermischen..
und um das zu machen haben wir uns überlegt einen µC als Master zu 
programmieren und den anderen µC als Slave.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Und was hat dieses zu modulierende Signal jetzt mit RS-485 zu tun?

von Katja (Gast)


Lesenswert?

nichts :)
nur hattest du gefragt zu was der µC benutzt wird, und wir benutzen ihn 
dazu um ein Signal auf einer bestimmten Frequenz zu erzeugen

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Schön. Da die Begriffe Master & Slave durchaus im Zusammenhang mit RS485 
verwendet werden, und Du nach einer Möglichkeit fragtest, wie RS485 mit 
Deinem µC zu verbinden ist, halte ich meine Frage für gerechtfertigt.

von Anonym (Gast)


Lesenswert?

Ja natürlich, das wollte ich auch gar nicht damit sagen :)
weist du vll aus erfahrung wie viel Speicherplatz die UART Realisierung 
ungefähr benötigt?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Thomas Sch. schrieb:
> Zum Launchpad eine Aktualisierung:
>
> Die "neuen" Launchpads von TI (Rev 1.5)

... verkauft TI zumindest noch nicht in seinem eStore. Vorgestern (nach 
deinem Hinweis) dort geordert, kam heute eine Rev. 1.4 an, mit den 
altbekannten beiden 14beinern darin.

Woher hast Du Deines?

von Thomas S. (doschi_)


Lesenswert?

Rufus Τ. Firefly schrieb:
> ... verkauft TI zumindest noch nicht in seinem eStore. Vorgestern (nach
> deinem Hinweis) dort geordert, kam heute eine Rev. 1.4 an, mit den
> altbekannten beiden 14beinern darin.
>
> Woher hast Du Deines?

Hallo Rufus,

über den eStore von TI, am 20.11.  3 Stück bestellt (zusammen mit einem 
CC110L-BoosterPack), und ca. am  23.11. geliefert. (siehe Foto von der 
Packung)
Alle 3 Launchpads sind rev 1.5 mit den 20-Beinern.  (ich war selbst 
überrascht, weil eben auf der Webseite nichst zu finden ist)

Gruß Thomas

von Thomas S. (doschi_)


Angehängte Dateien:

Lesenswert?

Hier das Foto von der Packung, vielleicht hilft es.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ich glaube Dir ja ...

Beeindruckend finde ich die Liefergeschwindigkeiten. Mittwoch Nachmittag 
bestellt, Freitag geliefert.
Und auch diese Ware hat in Memphis, Tennessee vorbeigeschaut (laut 
FexEx-Tracking).

von Thomas S. (doschi_)


Lesenswert?

ganz schön lange Reise:
FORT WORTH, TX - MEMPHIS, TN - MEMPHIS, TN - KOELN DE - COLOGNE DE -
NUERNBERG DE

von Thomas S. (doschi_)


Lesenswert?

für die serielle Kommunikation mit dem Launchpad hat TI auch ein 
passendes Video:
http://focus.ti.com/general/docs/video/Portal.tsp?lang=en&entryid=0_ysmibacg 
(23 min)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.