Forum: Mikrocontroller und Digitale Elektronik Lin-Bus Linux


von Julian (Gast)


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

von gerd (Gast)


Lesenswert?

LIN braucht ein IC, zB MCP201.

von Julian (Gast)


Lesenswert?

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

von Björn (Gast)


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.

von gerd (Gast)


Angehängte Dateien:

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:

von Mano (Gast)


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.

von Reiner O. (elux)


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

von Julian (Gast)


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.

von Frederik K. (n0ll4k)


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?

von Reiner O. (elux)


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

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.