mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LIN Bus Konzept Aufbau


Autor: Sebastian B. (mircobolle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

für ein Projekt benötige ich eine LIN-Bus Schnittstelle.

Der LIN Bus ist ja grundsätzlich eine Ein-Draht Schnittstelle.

Für eine UART Schnittstelle benötige ich ja (minimal) beispielsweise:
- Rx,Tx Leitungen
- 1 Baustein zur Pegelanpassung für Rx und Tx (MAX3218 for example)

Für die LIN Schnittstelle habe ich die SCI Schnittstelle meines 
COntrollers (MC9S08QE128) vorgesehen. Diese bietet ja schon Rx,Tx 
Leitungen und die entsprechenden Register (Byte) zur Versendung/Empfang 
der Daten...

Nun meine Frage:
Welche Peripherie benötige ich für die Umsetzung des LIN Buses? (Welche 
Bausteine?)
- ich würde vermuten einen baustein zur 2 draht/1 draht umsetzug..
(Typ?)
- einen Baustein zur Pegelanpassung (Typ?)..

das dürfte ja grundsätzlich alles sein? Oder habe ich etwas essentielles 
vergessen??? Bin Neuling auf dem Gebiet LIN, wie man unschwer erkennen 
kann ;-)

Viele Grüße und danke für jede Info!
Sebastian

Autor: Carsten St. (carsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
es gibt Bausteine die machen die Pegelumsetztung und haben die Umsetzung 
deiner Rx/Tx-Signale auf die LIN-Bus-Leitung.
z.B. Infineon TLE6258

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt auch Controller mit integrierter LIN-
Schnittstelle: Atmel ATA6612/13

Ansonsten hat jeder größere Chip-Hersteller
spezielle LIN-Interfacebausteine; oft auch
austauschbar. TI, Atmel, usw.

Autor: Sebastian B. (mircobolle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Carsten,

danke für die schnelle Antwort!!

Genau so etwas habe ich gesucht.

Habe mir gerade mal das Datenblatt angeschaut, sieht alles sehr gut aus.
Im Datenblatt habe ich gelesen bei der Bus-Schnittstelle:
"6 Bus Bus output/input; internal 30 kΩ pull up, LOW in dominant state"

bedeutet dies dass ich einen kommuniziereden LIN-Knoten ohne weitere 
Maßnahmen direkt mit meinem System verbinden kann?

Bei I²C Verbindungen müssen ja beispielsweise noch zusätzlich Pull-Up 
Widerstände rein.. aber da dieser ja einen integriert hat, dürfe das ja 
entfallen?
Das heißt: "Anschließen und kommunizieren" ?

Danke! Gruß
Sebastian

Autor: Sebastian B. (mircobolle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke "Gast ;)

für die Antwort.

Das mit einem Controller der einen LIN Interface integriert hat ist 
natürlich auch möglich.

Aber mein Ziel ist es in ein bestehendes System:
MC9S08QE128
eine LIN Schnittstelle zu integrieren.

Der Controller besitzt 2 SCI Schnittstellen (Serial COmmunication 
Interface)
- 1 SCI Schnittstelle benutze ich für RS232 (funktioniert)
- und die 2. soll für LIN eingesetzt werden...

Ziel soll es sein, dass mein System (TEst-System) Nachrichten auf den 
LIN-Bus versenden kann. Um verschiedene Dinge testen zu können...
Auch eine Art "Rs232/LIN" Gateway ist denkbar... ich sende LIN Daten 
über RS232 an mein System und diese "Roh-Daten" werden in einen 
LIN-Frame gepackt und versendet...

Danke und Gruß
Sebastian

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, zuerst mal, Lin ist ein single Master, multiple Slaves system.
Was willst du mit deinem Controller sein, Master oder Slave.
Weiters, Lin beinhaltet einen Preamble welcher nicht mit einem HW
SCI interface realisierbar ist, bzw es kann auch passieren, daß die
Baudrate nicht mit dem SCI übereinstimmt, als Slave.

Autor: Sebastian B. (mircobolle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Chris,

das sind interessante Hinweise / Fragen, die du genannt hast.

> zuerst mal, Lin ist ein single Master, multiple Slaves system.
> Was willst du mit deinem Controller sein, Master oder Slave.

Bei den LIN-Geräten die getestet werden sollen handelt es sich um 
Steuergeräte die im Automobil eingesetzt werden und ihre Kommandos von 
einem Master erhalten.

In meinem Fall müsste mein System also als Master (zu Testzwecken) eine 
Kommunikation mit den Slave(s) aufbauen.

> Lin beinhaltet einen Preamble welcher nicht mit einem HW
> SCI interface realisierbar ist,

Das ist interessant. Ist diese Preamble nicht durch ein SCI Interface 
realisierbar?
Du hast recht, das SCI lässt folgende Einstellungen zu:
-StartBit (immer da)
-Anzahl Datenbits (8,9)
-Parität (gerade/ungerade)
-Anzahl Stopbits (1,2)
-Baudrate..

>bzw es kann auch passieren, daß die
>Baudrate nicht mit dem SCI übereinstimmt, als Slave.
Die Baudrate lässt sich variable über Register und Vorteiler einstellen. 
Ich sehe an dieser Stelle (zunächst) keine Probleme.

Ich ging davon aus, dass sich ein LIN Bus mit einem Standard UART 
realisieren ließe?

Leider fand ich auch unter Wiki ;-) keine nähere Beschreibung zur LIN 
Spezifikation.

Mit CAN habe ich mehr Erfahrung.. zumindest was Protokoll und 
Datenformat angeht... bei LIN tappe ich da etwas im dunkeln..

Vielen Dank für die Hinweise!!

Sebastian

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Lin beinhaltet einen Preamble welcher nicht mit einem HW
>> SCI interface realisierbar ist,

>Das ist interessant. Ist diese Preamble nicht durch ein SCI Interface
>realisierbar?
Nein, ist es nicht, du mußt das SCI Interface abschalten, das
Preamble über direkte Pin-Ansteuerung realisieren, und dann wieder das 
SCI-Interface einschalten und damit senden. Ob sich das auszahlt, bzw 
geht,
und welche Konsequenzen man damit im Rx hat, daß musst du selbst 
evaluieren.


>>bzw es kann auch passieren, daß die
>>Baudrate nicht mit dem SCI übereinstimmt, als Slave.
>Die Baudrate lässt sich variable über Register und Vorteiler einstellen.
>Ich sehe an dieser Stelle (zunächst) keine Probleme.
Als Master sicherlich nicht.

>Ich ging davon aus, dass sich ein LIN Bus mit einem Standard UART
>realisieren ließe?
Das Stimmt, mit Außnahme des Preambles.

>Leider fand ich auch unter Wiki ;-) keine nähere Beschreibung zur LIN
>Spezifikation.
Die kann man downloaden, man muß sich dazu nur registrieren.

Mit CAN habe ich mehr Erfahrung.. zumindest was Protokoll und
Datenformat angeht... bei LIN tappe ich da etwas im dunkeln..

Vielen Dank für die Hinweise!!

Sebastian

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal unter www.microcontroller-starterkits.de nach. Da gibt's zu 
LIN Schältpläne für LIN-Interfaces und auch ganz günstig Leerplatinen 
dazu.

Gruß
Mike

Autor: Sebastian B. (mircobolle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das ist interessant. Ist diese Preamble nicht durch ein SCI Interface
>realisierbar?
Nein, ist es nicht, du mußt das SCI Interface abschalten, das
Preamble über direkte Pin-Ansteuerung realisieren, und dann wieder das
SCI-Interface einschalten und damit senden. Ob sich das auszahlt, bzw
geht,
und welche Konsequenzen man damit im Rx hat, daß musst du selbst
evaluieren.

Ist dies auch notwendig, wenn ich einen Baustein wie den:
Infineon TLE6258
welcher ja eine 2-Draht auf 1-Draht Umsetzung und eine Pegelanpassung 
realisiert?

Rx <---
       |
       |-----<--TLE6258--> LIN BUS
       |
Tx ---->

Naja, grundsätzlich das SCI Modul abzuschalten und dann selbst auf den 
Pins rumzutackern ist natürlich machbar. Aber als Ingenieur geht man 
halt davon aus, dass es da einfachere Methode gibt (wie ein fertiger 
Baustein).

Wenn ich selbst auf den Pins rumtackere... muss ich mich um Timing usw. 
kümmern, was, ehrlich gesagt, durch einen sequentuiellen programmablauf, 
mit sonstigen Störeinflüssen eine ganz schöne Arbeit sein kann...
besonders das Bit-Timing zu stabilisieren usw....

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Spezifikation kannst du unter www.lin-subbus.org runterladen.
Wegen Preamble, habe nochmals nachgesehen, theoretisch geht das auch mit 
einem SCI, wenn du imstande bist, ein Break zu senden, sonst mußt du 
zwischendurch umschalten. Das heisst, z.B. ein PC ist imstande, das
vollständig mit dem UART zu implementieren, uC meistens nicht.
Sorry für die nicht korrekte Info, die kam aus der Praxis mit uC, welche
nicht imstande sind, den Lin vollständig mit dem Uart modul zu fahren.

Gruß
Chris

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann gibt es dann noch kleinigkeiten, wie Wake-up signale usw, welche
entsprechendes Timing benötigen, auch das ist generell nur mit 
pin-Ansteuerung machbar. Der Lin-Tranceiver ist halt nur ein 
Pegelkonverter,
sonst nichts.

Autor: Sebastian B. (mircobolle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wegen Preamble, habe nochmals nachgesehen, theoretisch geht das auch mit
>einem SCI, wenn du imstande bist, ein Break zu senden, sonst mußt du
>zwischendurch umschalten.

Hey Chris,

danke für die kompetenten Hinweise in Sachen LIN-Bus!

Hab gerade mal in das Manual meines Controllers
(MC9S08QE128) unter dem Kapitel SCI nachgesehen.

Dieser ist im Stande Break Characters zu senden.
Dort ist zu wählen zwischen Break Character Length von
10
11
12
14 Bit times

Von Wake-Up idle ist auch die Rede im Datenblatt.
Demnach sollte sich das ganze auch mit meinem uC realsieren lassen!

Danke für die Hinweise!!

sebastian

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.