www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Lin-Bus Linux


Autor: Julian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ist es möglich Unter Linux (nicht echtzeit) über die 
Serielle-Schnitstelle eine Lin (Bus) Kommunikation zu realisieren???

Bin was Lin angeht ein absoluter Neuling und möchte nur wissen ob 
soetwas grundsätzlich möglich ist.

Das ganze soll auf einem Arm-Board laufen auf dem eine CAN- Bus 
vorhanden ist.

gruß Julian

Autor: gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LIN braucht ein IC, zB MCP201.

Autor: Julian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kommt man nicht auch ohne aus ?
kann man ev. den cancontroller missbrauchen ?
Geht es wenn man diese IC benutzt auch ohne Echtzeit?

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LIN BUS kann man über eine serielle SChnittstelle (UART) eines 
Controllers realisieren, man benötigt aber eine Anpassung an die LIN 
Spezialitäten (Abschlusswiderstand, Echo-Modus, ...). An ICs benötigt 
man nur die Treiber-ICs und ein Transistoren / Widerstände.

Was die Anwendung unter Linux angeht, habe ich keine Erfahrungen.
Gruß Björn.

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

Bewertung
0 lesenswert
nicht lesenswert
Du brauchst doch auch für den CAN-Bus einen Kontroller?

Ich verwende zB den 18F458 für den CAN-Bus und da wäre RX und TX für den 
LIN-Bus-Controller noch frei.

Anbei eine Anwendung mit 16F84 und dem LIN-Controller als Slave:

Autor: Mano (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin zwar auch kein LIN Profi, aber was ich weiß ist, dass der LIN 
Bus nicht besonders schnell ist. Laut Wikipedia bis zu 20 000 Bits pro 
Sekunde. Bei einer geschickten Wahl der Baudrate und passendem Treiber 
für die serielle Schnittstelle sollte es auch mit einem PC gehen. 
Schnell genug sind die ja.

Autor: Reiner O. (elux)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Julian schrieb:
> Hi,
>
> ist es möglich Unter Linux (nicht echtzeit) über die
> Serielle-Schnitstelle eine Lin (Bus) Kommunikation zu realisieren???

Klar, das ist möglich.
Wie @Björn ja richtig erwähnt:
>LIN BUS kann man über eine serielle SChnittstelle (UART) eines
>Controllers realisieren, man benötigt aber eine Anpassung an die LIN
>Spezialitäten (Abschlusswiderstand, Echo-Modus, ...)

Und vor Allem erst einmal die Pegel,und da CAN entweder mit 5V oder 3.3V 
läuft:

>kommt man nicht auch ohne aus ?
>kann man ev. den cancontroller missbrauchen ?

geht das so nicht.
Niemand wird Dich daran hindern, den Transceiver diskret mit ein paar 
Transistoren nachzubauen, einfacher ist es jedoch z.B. den MCP201 zu 
verwenden.

> Das ganze soll auf einem Arm-Board laufen auf dem eine CAN- Bus
> vorhanden ist.

Was willst Du denn machen (Glaskugel leider kaputt)?

LG
Elux

Autor: Julian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was daraus ganz genau werden soll stehtoch nicht fest ich habe ein At91 
Board wo der CANcontroller schon Onchip ist. Das ganze soll ein Projekt 
für die Uni werden und angedacht ist so etwas wie ein Multidatensammler 
für Autos. LIN und CAN Kommunikation ist auf jeden Fall Pflicht.

So wie ich das verstanden habe brauche ich für LIN ja schonmal noch 
etwas extra Hadware.

Die Frage die sich für mich noch nicht so ganz geklärt hat ist die nach 
der Echtzeitfähigkeit des Betriebsystems. Schnell genug ist klar aber 
mann muss ja auch das ein oder andere Timing einhalten.

Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das einzige was du für LIN brauchst ist ein passender Transceiver, damit 
du den Bus über eine serielle Schnittstelle mithören/mitreden kannst.

Der Rest ist im Prinzip ne recht simple Software. Alles was du dafür 
brauchst findest du auf lin-subbus.org. Ein Blick in die Atmel App Notes 
zur Programmierung kann evtl auch nicht schaden.

Aber dir ist schon bewusst das auch beim LIN was die Codierung und 
Abfolge der Nachrichten jeder sein eigenes Süppchen kocht?

Autor: Reiner O. (elux)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dem, was @Frederik Krämer schrieb ist eigendlich Nichts mehr 
hinzuzufügen.

<Die Frage die sich für mich noch nicht so ganz geklärt hat ist die nach
<der Echtzeitfähigkeit des Betriebsystems.

Europäische Hersteller benutzen im Kfz i.d.R. 19200 B/s, Amerikaner 
10500 B/s das ist ja bei Weitem noch nicht "Echtzeit"(bei 12V Pegel auf 
dem LIN könnte das auch schwierig werden ;-)), das macht auch ein Linux 
spielend.


LG
Elux

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.