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
brauchst nur nen Max232 und nen LIN-Transceiver und ein bisserl Software. Von Peak gibts sowas auch fertig, kostet aber 250 Euros
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?
"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
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
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.
@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?
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
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.
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.
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
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
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.