Arduino und LIN (Local Interconnect Network)

Einen schönen guten Tag an alle :slight_smile:

Es geht mir um die Kommunikation mit Local Interconnect Network (LIN)Local Interconnect Network – Wikipedia ... also explizit um diese... auch wenn es schon ein Can Shield gibt, es muss unbedingt LIN sein. :wink:

Ich möchte folgendes "Gerät" auf die Beine stellen:

LIN-Master ----sendet LIN Botschaft---> Arduino ----leitet LIN Botschaft bearbeitet weiter----> LIN Slave (und dann werden ggf. die Daten des Slave rückübermittelt)
In worten: LIN Master sendet eine Botschaft, der Arduino empfängt diese, bearbeitet diese und leitet dann die bearbeitete Nachricht an einen LIN Slave weiter. Dieser LIN Slave tut dann, zu was er aufgefordert wurde und sendet dann an den Arduino seine Daten zurück. Der Arduino sendet sie dann wieder an den LIN Master.

Hört sich einfach an... oder auch nicht. Ich bin noch relativ neu auf der Ebene der Mikrokontroller und brauch von euch ein paar Informationen als kleines Sprungbrett, damit ich richtig loslegen kann.

Im Moment stelle ich mir das so vor:
Ich besorge mir das Arduino Uno R3 starter kit Arduino Official Store | Boards Shields Kits Accessories. Den LIN Master und den LIN Slave habe ich selbstverständlich. Den Master schließe ich an einen PIN (welchen: noch keine Ahnung) an und den Slave an einen anderen (Auch noch keine Ahnung welchen). Nun weiß ich nicht ob ich für den Arduino zwei LIN Transceiver brauche à la http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en556889 (wobei ich auch keine Ahnung habe wie ich diesen LIN Transceiver implementieren könnte.... ich finde keine Informationen darüber auf der Seite... Im data sheet steht auch nur, was das Ding kann... aber wie ich es letztendlich nutze... da finde ich nichts)

Mir ist ganz wichtig: Wie würdet ihr so ein Projekt angehen? Was brauche ich dafür (hardware, software)Ich möchte mich lieber vorher informieren, als dass ich jetzt blind loslege und ne menge Zeit und Geld verloren geht.

Ich freue mich riesig über jede Antwort und jeden noch so kleinen Tipp :slight_smile: Mir ist das Projekt sehr wichtig...

Viele Grüße

Hi - ich vermute die LIN Bausteine sind Pegelanpassungen (Physical Layer Bausteine). Dann werden die verm. an einen serielle Schnittstelle (Rx und TX) des µC / Arduinos angeschlossen. zusätzlich zu Debug und Programmier - serial Port brauchst Du dann pro LIN Chip eine Rx+TX Leitung -> ATMega. Ausserdem kann verm. nur der Master senden bzw. Daten abfragen - evtl brauchst Du - je nach Verkabelung einen Slave und einen Master... Warum muss es den LIN sein - das macht ja nur Sinn wenn man ein bestehendes System connecten will. ansonsten gibt es - gerade für Einsteiger - besser dokumentiere Protokolle und fertige sketches...

Pit

Hier gäbe es genung zu lesen, allerdings geht es da über RS485.
http://forum.arduino.cc/index.php?topic=206317.0

Bus ist = Bus, ob LON, LIN, LCN oder RS485

LIN ist ein Serieller Eindraht-Bus im Automotive Bereich.
Ich denke, du willst die Botschaften eines Sensors abfangen und geändert weitergeben?

Letztlich brauchst du 4 Ebenen:

  1. Pegelanpassung: Hier ist es am einfachsten einen der viele LIN Transceiver zu verwenden. Der macht nichts anderes als das Lin-Signal in 5V umzusetzen.
  2. Baudrate: Du mußt erkennen, mit welcher Baudrate dein System sendet und dich anpassen.
  3. Protokoll: Du mußt die ID des Sensors kennen, den du abfangen willst. Der Master spricht auf dem LIN ja mehrere Slaves an. Ebenso muß du wissen, ob in dem System, das du manipulieren willst, dein Slave nur auf Anfrage sendet, oder nach Schedule.
  4. Die Datenmanipulation. Das ist dann das Eigentliche und wahrscheinlich das Einfachste.

Alles in Allem ist das ein spannendes Projekt, das aber viele Schwierigkeiten aufwirft. Wenn du gar keine Programmier und Elektronik-Erfahrung hast, dann wird das schwierig werden.