Forum: Mikrocontroller und Digitale Elektronik LIN Kommunikation Master Slave


von Martin (Gast)


Lesenswert?

Hallo,

ich beschäftige mich z.z. mit LIN. Mein Ziel ist es einen kleinen LIN
Cluster zu erstellen mit einem Master und 4 Clients.  Es soll ein
zeitscheibenverfahren eingesetzt werden, in dem festgelegt wird, in
welcher Reihenfolge Slaves angesprochen werden.

Zum Einsatz kommt bereits ein Controller von Fujitsu und ein
Transceiver von Phillips.

Meine Frage/n:
Wie werden die LIN Slaves überhaupt adressiert? Im LIN Header gibt es
zwar ein identifier feld, dieses enthält meines verständnisses nach
jedoch informationen über die Nachricht und nicht den Zielort.

ist die Master RESPONSE Anfrage (im Identifier) die einzige Möglichkeit
(LAUT SPEC) informationen vom SLAVE zum MASTER zu bekommen?

Bis wohin genau ist LIN eigentlich spezifiziert, also im Bezug auf die
ISO OSI schichten???
Ich habe hier ein Buch ISBN 3 7723 4009 1 ist schon mehrmals hier im
Forum genannt worden...letztendlich geht aber die designerläuterung
(Tools LDF bla bla)in Richtung Automobilbereich. Ich werde LIN jedoch
nicht dort einsetzten und will das Thema dort eingrenzen.

Weitere Infos:

LIN ist bereits am laufen. ich nutze im 8 Bit Identifier 2 Bits Parity,
2 Bit länge des Telegrammes (2-4-8)Byte, und 4 bzw 6 Bits für den
Identifier.

Momentan habe ich die Software auf dem Stand, das der Master eine
Anfrage (REQUEST im Identifier) Sendet, worauf ein Slave in der
Nächtsen Zeit über die Master RESPONSE Anfrage antwortet.

Momentan existiert nur ein Slave.

Danke im voraus,
Martin

von Martin (Gast)


Lesenswert?

...ach ja, da ich das ganze nicht im Atomonilbereich einsetzten werde,
ist es für mich wichtig zu wissen ob ein LDF  lin discription file und
ein ncf node capability file zum lin standart hinzu gehören..

...und wie die identifier verteilt werden dürfen... laut spec.
wenn clients adressen haben und wissen welche identiefier sie empfangen
sollen, dann muss doch auch deren softwarestand unterschiedlich sein
oder!?

Martin

von Markus S. (schmidle)


Lesenswert?

Hallo Martin,

ich versuche mal dir ein paar Antworten zu geben:

"Wie werden die LIN Slaves überhaupt adressiert? Im LIN Header gibt
es
zwar ein identifier feld, dieses enthält meines verständnisses nach
jedoch informationen über die Nachricht und nicht den Zielort."
Jeder Slaveknoten liest immer die auf dem Bus liegenden Nachrichten
mit. Fühlt er sich durch den Identifier des Headers angesprochen, dann
führt er die entsprechende Aktion aus. Ansonsten verhält er sich ruhig.
Aus diesem Grund hat jeder Slaveknoten eine (etwas) andere Software, in
der die für ihn relevanten Nachrichten und die daraus resultierenden
Aktionen beschrieben sind.

"ist die Master RESPONSE Anfrage (im Identifier) die einzige
Möglichkeit
(LAUT SPEC) informationen vom SLAVE zum MASTER zu bekommen?"
Nein. Möchte der Master von einem Slave eine Antwort haben, so sendet
er einfach den entsprechenden Identifier. Z.B. kann der Identifier 36
bedeuten, daß Slave Nr.2 den aktuellen Sensorwert an den Master
schicken soll. Der angesprochene Slave sendet ihm diesem Wert dann
direkt anschließend nach dem Empfang des Identifiers über den Bus.

"...und wie die identifier verteilt werden dürfen..."

Identifier    Bedeutung
0 bis 59   Übertragung von Signalen
60           Masteranforderungen für die Kommandos und Diagnose
61           Slaveantwort auf ID 60
62           Reserviert für herstellerspezifische Kommunikation
63           Reserviert für zukünftige Erweiterungen des Protokolls

Vielleicht hilft das ja schon weiter.

Gruß
Schmidle

von Martin (Gast)


Lesenswert?

Hallo Markus,

erstmal vielen Dank für die Antwort, alles hilft weiter.

das mit dem identifier habe ich bereits hier so implementiert... und es
läuft bereits. mein nächstes problem ist, was machen wenn der slave der
antworten soll nicht am netz angeschlossen ist, aber ich denke das ist
eher eine controller frage...

ich habe immer noch ein wenig probleme die stec 1.3 und 2.0 zu
unterscheiden.

unter lin 1.3 verstehe ich bis jetzt
break
sync field
id
1-8 datenbytes oder 2,4,8 bytes
checksum(alles addieren) und modulo 256 drüber, anschließend xor

2.0 hat scheinbar noch eine NAD.. und baudrate erkennung usw..
dynamische slave erkennung ...geplant

aber wie sieht das im iso osi definiert aus. lin 2.0 scheint dort um
einiges weiter zu spezifiziert zu sein... auch auf höheren ebenen

martin

von Martin (Gast)


Angehängte Dateien:

Lesenswert?

so, ich habe hier jetzt nochmal etwas recherchiert und noch eine sehr
kurze aber relativ aussagekräftige doku gefunden. es stehen schon
einige dinge drin....
 nur der vollständigkeit halber.
ich wäre trotzdem um weitere unterschiede und definitionen/hinweise
sehr dankbar.
Martin

von pontonfrog (Gast)


Lesenswert?

Hallo, hab auch ne Frage zu LIN. (Ich hoffe ich bin hier richtig.)
Hat von Euch schon mal jemand mit einem AT89S8252 einen LIN - Slave
aufgebaut?
Wenn ja, mit welchem Ergebnis?

Danke.


Grüße

Pontonfrog

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.