Hallo zusammen, ich muss ein LIN Bus Signal komplett abschalten bzw. stören. Mir sind dafür folgendes Lösungsansätze eingefallen: 1. Mittels LIN Shield sämtliche Anfragen durch einen Arduino leiten und dann wieder ins Fahrzeug speisen. Wird dann ein bestimmter Parameter gesetzt werden gewisse Nachrichten aus dem LIN bus nicht weitergeleitet. Ist vermutlich die sauberste Lösung da sämtliche anderen LIN Bus Funktionen erhalten bleiben und ich die Sperren Flexibel anpassen kann bzw. Nachrichten emulieren kann. Allerdings bedeutet es einen extrem hohen programmier aufwand. Ebenfalls mach ich mir mit der Signal Integrität sorgen da die Übertragung ja durch die Shield uns den Arduino verzögert wird. 2. Den LIN Bus an einer bestimmten stelle mit einem SSR zu Trennen wenn ein entsprechender Paramater gesetzt wird. Hat jemand sowas schonmal in einem Bus System Realisiert? Wie sieht es hier mit der Signal Integrität über das SSR aus? Vorteil wäre hier nartürlich die einfachste Lösung. Eventuell hat jemand schonmal ein ähnliches problem und kann mir helfen! Danke!
Es ist doch noch gar nicht Freitag, ich hol schonmal Popcorn :)
Erkläre mir doch mal deinen Beitrag? Ist doch eine ganz normal und sachlich gestellte Frage.
Was ist überhaupt das Ziel? LIN hat genau nur einen Master, wenn man den testen will simululiert man den oder die Slaves. Will man einen Slave testen, dann simuliert man den Master. Ein Gateway für LIN zu programmieren um etwa einzelne Bits zu setzen oder zu löschen ist ganz schön eklig und hat Grenzen. Man kann das ja schlecht so programmieren das die beiden Schnittstellen voneinander abhängig sind und je nach Datenrichtung verzögert werden, bis die jeweils andere Seite das geforderte Byte gesendet hat.
Ich glaube mit folgendem Ansatz kommst du mit geringem Aufwand am weitesten: Dein "Controller" muss die Länge aller Nachrichten kennen. Er sendet ja alles in nach einer festen Schedule-Tabelle raus. Du horchst auf den Bus. Dein Controller braucht keinen kompletten LIN Treiber, aber du musst Break und Sync erkennen und die LIN ID lesen, die der Master sendet. Wenn du jetzt eine ID erkannt hast, die gefiltert werden soll, dann weißt du, dass der Slave mit z.B. 4 Datenbytes + CRC antwortet, bzw du weißt, dann dafür zum Beispiel 6ms Zeit auf dem Bus sind, in denen der Slave die Antwort auf den Bus legt. Also musst du nur für 6ms den Bus auf LOW ziehen.
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.