www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LIN Kommunikation Master Slave


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus S. (schmidle)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: pontonfrog (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.