Forum: Mikrocontroller und Digitale Elektronik RS232 - LIN - Adapter: Bauteile?


von Andreas S (Gast)


Lesenswert?

Hi!
Kann mir jemand genau auflisten, welche Bauteile er zum Realisieren
eines RS232-LIN-Adapters verwenden würde? Das wär super klasse. Ich
möchte einen PC als LIN-Master fungieren lassen und an einem anderen
die gesendeten Daten wieder aufnehmen. Also einen Adapter für nen PC
als LIN-Master und einen Adapter für nen PC als LIN-Slave.

Fragt nich, warum ich das will, das is zu Testzwecken :)

Also, ich wär euch sehr verbunden, wenn mir da jemand weiterhelfen
könnte.

Danke im vorraus

Andreas

von smartie (Gast)


Lesenswert?

brauchst nur nen Max232 und nen LIN-Transceiver und ein bisserl
Software.
Von Peak gibts sowas auch fertig, kostet aber 250 Euros

von Hegy (Gast)


Lesenswert?

An die serielle Schnitte kannst du einen MC33199 als 2-Draht-ein-Draht
Umsetzer nehmen, oder auch einen L9637 (ST?) oder TJA1053/1054
(Philips). Der MC33199 funktioniert bei 24V Systemen nicht, die anderen
(meine ich) schon.

Nur wie soll der PC das LIN-Protokoll bzgl. Zeiten (response space,
interframe space, sync break etc.) einhalten?

von Andreas S (Gast)


Lesenswert?

"brauchst nur nen Max232 und nen LIN-Transceiver und ein bisserl
Software.
Von Peak gibts sowas auch fertig, kostet aber 250 Euros"

Ich kann mir irgendwie nicht vorstellen, dass ich für nen
Master-Adapter die gleichen Bauteile brauche, wie für nen
Slave-Adapter. Da ist doch noch ein Unterschied bei benötigten
Pullup-Widerständen (1kO/30kO)?!

Es gibt sowas auch von der FH Deggendorf für 70€

Für die Software-Seite gibts schon Tools (u.a. "Lin-Mon" ebenfalls
von der FH Deggendorf) die ganz einfach Frames auf den Lin-Bus setzen.


Danke zunächst!

Gruß
Andreas

von Andreas S (Gast)


Lesenswert?

Hallo nochmal!

Wer suchet, der findet:

http://www.freitag-elektronik.de/pdf_en/RS232-LIN%20%20User%20Documentation.pdf

Wenn sich jemand diese Dokumentation anschauen könnte, und mir sagen
könnte, ob ein solcher Adapter für eine PC-PC-Verbindung über den
LIN-Bus geeignet wäre, wäre ich sehr erfreut :)

Gruß
Andreas

von Hegy (Gast)


Lesenswert?

Davon braeuchtest du 2 Stuex. Die PC-Schnitte will die -12V bis +12V
Pegel, der Bus arbeitet mit X-Volt, also erstmal die PC-Spanung mit
einem RS232-Transceiver auf Logik-Pegel bringen, mit dem
LIN-Transceiver auf ein-Draht und LIN-Busspannung bringen und den
ganzen kram wieder rueckwaerts. Als Transceiver geht auch TJA1020.
Gerade eben geblikkt.

Übrigens ist die SW von der FH-Deggendorf ziemlich buggy. Das Tracen
beispielsweise damit geht gar nicht, nur Müll, was manda zu sehen
bekomt. Und das da vorgestellte HW-Interface habe ich mal nachgebaut,
funktioniert und zum einfachen Tracen geht so ein Proggi wie
SerialWatcher z.B.

von Michael (Gast)


Lesenswert?

@Hegy
Was meinst du mit buggy?

Bei mir funktioniert das tracen problemlos. Der LDF - Parser ist auch
sehr gut (ich kenne Software die kostet ~10k Euro und ist zum Teil
schlechter wie der LinMon).
Kann es daran liegen, dass du die falsche Baudrate eingestellt hast?

von Michael (Gast)


Lesenswert?

Nochmal @Hegy

"Nur wie soll der PC das LIN-Protokoll bzgl. Zeiten (response space,
interframe space, sync break etc.) einhalten?"

Das LIN Protokoll basiert auf einer einfachen Standart UART (Universal
Asynchronous Receiver Transceiver). Mehr ist, bis auf den Transceiver,
bei einer RS 232 Schnittstelle auch nicht drinnen. Response Space ist
eigentlich bei halbwegs schnellen PC's kein Thema, genauso wie
interframe space, außerdem dürfen die entsprechenden Zeiten relativ
lang sein. Das Synch break kann man durch Baudratenumschaltung der UART
leicht erzeugen. So genau geht das beim LIN Protokoll nicht, man denke
an die spezifizierten Toleranzen des Slaves von +- 40%!! bei der
Oszillatorfrequenz.

Grüße

von Hegy (Gast)


Lesenswert?

Mit buggy meinte ich, das die SW auf den PCs, die ich verwendet habe,
immer haufenweise Muell bei herauskam. Unsere Geraete mit LIN laufen
mit 9600 Baud, so war es auch eingestellt. Auch die Daten, die der
Tracer eingelesen hat, waren richtig, nur waren da noch viel mehr Bytes
drangehaengt, die garnicht gefunkt wurden. Sah so aus, als waere das der
Datenschrott aus dem PC-Speicher. Egal, bei mir kommt dat Zeux nicht
mehr zum Einsatz. Mit SerialWatcher und dem Adapter ging es, wenn es
eben schnell gemacht sein soll. Ansonsten, wenn die Spec bzgl. LIN
gecheckt werden muss, dann muessen die teuren Tools herhalten, dazu
habern wir die ja.

Den PC als Master laufen zu lassen halte ich fuer sehr gewagt, grade
unter Windows. Spielt windows an sich selber rum, was es nunmal gerne
tut, dann ist die geforderte Echtzeit auf der seriellen Schnitte nicht
gewaehrleistet. Dazu haben wir in der Entwicklung ein Proggi, das auf
blank DOS laeuft (ohne Windows geladen zu haben, also von einer
DOS-Bootdiskette). Hiermit kann man zu Testzwecken einen Master
simulieren. Dennoch muss irgendwann mal der Master (als einzelnes
Geraet) laufen und darueberhinaus auch in allen "Lebenslagen" die
LIN-Spec erfuellen, sonst kommen wir unter die Raeder.

von Hegy (Gast)


Lesenswert?

Nochwas zu den Zeiten: Der Master muss auf jedenfall die gefordeten
Zeiten einhalten, der Slave darf mit seiner Oszillatorfrequenz
ordentlich abweichen, muss sich aber auf das Sync Field (oder wie hiess
die 0x55 noch) aufsynchronisieren und waehrend der Datenuebertragung
nicht sonderlich gross rumeiern. Die paar byte, das sollte gehen.
I.d.R. hat dser Slave ja auch nur ein RC-Glied als Frequenzbasis.

von Michael (Gast)


Lesenswert?

OK klar, zum erfüllen der LIN - Spec ein PC mit LinMon sicher nicht
geeignet, aber für einen schnellen Aufbau bzw. Test finde ich ihn gut.

Grüße

von Andreas S (Gast)


Lesenswert?

Hm, danke für die Diskussion. Je mehr ich über LIN lesen kann, desto
besser.
Wobei das alles nicht so wirklich gut für mich klingt.

Haltet ihr es für sinnvoll/unproblematisch/machbar, von einem Rechner
aus 5 Motoren über einen LIN-Bus anzusteuern? Fehlerfrei? Fehler dürfen
nämlich auf keinen Fall auftreten, weil das Fahrzeug autonom und
"intelligent" unterwegs ist.

Gruß
Andreas

von Hegy (Gast)


Lesenswert?

Wenn die Kommik steht & geht, dann mach es doch. Keine Ahnung, was fuer
Motoren und welche LIN-Befehle du verwendest, wie hoch die baudrate ist
etc. Wenn es nur als Hobby oder test ist, ist das sicherlich ok, aber
wohl kaum, wenn es sich um ein Produkt handeln sollte.

Wichtig ist eben die Fehlervermeidung. Wir hatten es gehabt (kam selten
vor), dass ein Motor aus dem Stop-Modus in den Laufmodus wechseln
sollte. Tat er aber nicht, weil die LIN-Msg. an den Motor zerbroeselt
wurde (Stoerungen). Da kann man doch noch soviele CFR_SET abfeuern, da
mukkt sich einfach nix. Also auch CFR_STA etc. verwenden. Ist
jedenfalls superwichtig. Sonst stehste da .....

Wie gross ist den das Fz. bzw. um was fuer eine Applikation handelt es
sich?

von Andreas S (Gast)


Lesenswert?

Also, es handelt sich um ein autonomes Unterwasserfahrzeug zu
Forschungszwecken, in dem der Rechner zur Steuerung der Motoren in
einer Glaskugel sitzt (wegen dem Druck unter Wasser...) Aus dieser
Kugel kommt eben der LIN-Bus raus und läuft zu bis zu 5 Motoren. Der
Rechner bekommt die Daten über den "Weg" des Fahrzeugs einmal
mitgeteilt, per WLAN, wenn das Fahrzeug an der Wasseroberfläche ist,
und steuert dann unter Wasser dementsprechend die Motoren. Wenn da
jetzt zu viele Fehler auftreten, kann das natürlich böse Folgen
haben...

Das Fahrzeug isz ca. 2m lang.

Danke!

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.