mikrocontroller.net

Forum: PC-Programmierung Implementierung eines LIN-Master Knotens


Autor: Pascal H. (mct)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend an alle,

Ich möchte einen LIN-Master Knoten implementieren. Ein LIN-Master hat 
immer eine Master-Task und eine Slave-Task. Der Spezifikation entnehme 
ich, das die Slave Task den Response Teil eines Frames erzeugt und die 
Master Task nur den Header zusammenbaut.Ich möchte eigentlich Werte von 
allen Slaves pollen, hierfür brauche ich die Master Task, die den Header 
losschickt und die Slave Task, die den Response der Slave Knoten 
entgegenimmt und auswertet. Richtig?

Wenn jetzt meine Slave Task eine Response von einem Slave Knoten 
entgegennimmt liest sie wirklich nur die Datenbytes und die CS ein oder?

Wenn ich jetzt aber ein bestimmtes Relais oder ähnliches setzen will 
(Aktoren ansprechen) muss ich die Information ja bereits in der Master 
Task setzen und mitschicken. Wo ist bitte dafür im Header Platz 
reserviert?

Danke für Eure Zeit...

Autor: Bernd Hallinger (bhallinger) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Feadi F. (feadi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Master-Task gibt an, wer im Moment das "Wort" hat. Damit kann auch 
der Slave-Task, innerhalb des Masters, gemeint sein.

Die ID (im Header) gibt den Slaves an, wer hören, wer reden und wer 
schlafen soll.

Autor: Pascal H. (mct)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Feadi F.

Das heißt also, wenn zum Zeitpunkt t0 meine Master Task ausgeführt wird 
und eine Anforderung zum schalten eines Relais von einer höheren Instanz 
vorliegt, würde die Master Task trotzdem den Header auf den Bus legen 
und danach die Slave Task im Master Knoten feststellen "ich muss senden" 
(würde bedeuten das die Slave Task im Master Knoten im eigenen Thread 
jede Kommunikation des Masters über RS232 gleich wieder einliest) und 
die zweite Empfänger Slave Task im Slave Knoten "ich muss hören". Quasi 
Slave to Slave Kommunikation über den Master gesteuert?

Ich denke so macht es Sinn oder?

Das würde aber bedeuten, der Header adressiert zwei Slaves mit der 
selben Adresse, das geht doch gar nicht oder?
Können Master und Slave Task nicht einfach über IPC-Mechanismen 
Kommunizieren um Informationen auszutauschen?

Danke für den Tip...

Autor: Feadi F. (feadi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einer ID zwei (oder mehrere) Slaves anzusteuern macht schon Sinn. Es 
darf halt nur immer einer in den Sendebetrieb gehen.

Autor: Sd Fritze (sd-fritze)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

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.