Forum: Fahrzeugelektronik LIN Bus Signal Abschalten oder Stören


von Red H. (red_h)


Lesenswert?

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!

von Kevin M. (arduinolover)


Lesenswert?

Es ist doch noch gar nicht Freitag, ich hol schonmal Popcorn :)

von Red H. (red_h)


Lesenswert?

Erkläre mir doch mal deinen Beitrag? Ist doch eine ganz normal und 
sachlich gestellte Frage.

von Rudolph R. (rudolph)


Lesenswert?

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.

von Papa Q. (papa_q)


Lesenswert?

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
Noch kein Account? Hier anmelden.