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
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
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
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 :)
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
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
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..
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 :-)
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: welcherMSP430
ist's denn?
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?
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.
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
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..
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.
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
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.
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.
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?
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
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).