Forum: Fahrzeugelektronik LIN Bus - Nachrichtenverteilung


von etk51 (Gast)


Lesenswert?

Guten Morgen,

gegeben ist ein LIN Bus mit einem Master, sowie einem Schalter als Slave 
und einem Sensorboard als Slave.

Wenn der Master beispielsweise einen Header mit der ID 36 sendet, 
antwortet das Sensorboard mit 8 Byte Sensordaten.

Über den Schalter kann bestimmt werden, ob das Sensorboard aktiviert 
oder deaktiviert ist.

Sendet der Master beispielsweise einen Header mit der ID 40, antwortet 
der Schalter mit seinem Zustand.

Was für Möglichkeiten würde es denn geben das so umzusetzen?

1. Kann das Sensorboard ebenfalls die Response vom Schalter empfangen 
und auswerten? Master sendet eine ID 40 und das Sensorboard ist 
zusätzlich zum Master auch noch ein Subscriber der Response?

2. Der Master sendet eine ID 40 zum Schalter um den Zustand abzufragen 
und sendet dann einen neuen Header mit einer extra ID , beispielsweise 
55 zum Sensorboard. Das Sensorboard interpretiert die ID 55 dann als 
aus?

3. Der Master fragt zuerst den Schalter ab und sendet dann eine IDxx an 
seinen eigenen Slave Task und das Sensorboard ist ein Subscriber dieser 
Nachricht.

Wären diese drei Varianten alle möglich? Welche haltet ihr für am 
sinnvollsten und gibt es bessere Alternativen?

Vielen Dank.

von Rolf M. (rmagnus)


Lesenswert?

etk51 schrieb:
> Was für Möglichkeiten würde es denn geben das so umzusetzen?
>
> 1. Kann das Sensorboard ebenfalls die Response vom Schalter empfangen
> und auswerten? Master sendet eine ID 40 und das Sensorboard ist
> zusätzlich zum Master auch noch ein Subscriber der Response?

Klar, warum nicht? Der Master macht nichts weiter, als immer die IDs auf 
den Bus zu senden, und die Slaves senden dann die Daten. Diese können 
beliebig von anderen Slaves empfangen werden. Der Bus arbeitet nach dem 
Broadcast-Prinzip. Der Teilnehmer, der den Master macht, darf selber 
auch gleichzeitig Slave sein und Daten senden und empfangen - muss aber 
nicht.

> 2. Der Master sendet eine ID 40 zum Schalter um den Zustand abzufragen
> und sendet dann einen neuen Header mit einer extra ID , beispielsweise
> 55 zum Sensorboard. Das Sensorboard interpretiert die ID 55 dann als aus?

Das geht nicht. Sobald die ID gesendet ist, fängt der Schalter an, seine 
Daten zu senden. Du kannst nicht noch vorher ein zweite ID senden.

> 3. Der Master fragt zuerst den Schalter ab und sendet dann eine IDxx an
> seinen eigenen Slave Task und das Sensorboard ist ein Subscriber dieser
> Nachricht.

Dann müsste ja alles doppelt gesendet werden. Wozu?

> Wären diese drei Varianten alle möglich? Welche haltet ihr für am
> sinnvollsten und gibt es bessere Alternativen?

Variante 1 und 3 wären möglich, aber sinnvoll finde ich nur 1.

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.