www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wer kennt sich mit der LIN API


Autor: Amir B-a (sticky)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebes Forum.

ich will einen LIN-Slave programmieren, jedoch fehlt mir jegliche 
erfahrung. den Slave habe ich selbst entwickelt (anhang).

der slave soll folgendes machen:

-temperatur an master senden
-bei aufforderung des Masters relais schalten
-bei aufforderung des Masters reset ausführen bzw. variable auf eins 
setzen
-Checksumme prüfen
gibt es jemanden der mal ein LIN-Slave programmiert hat und mir dabei 
helfen könnte?

Danke an alle

Autor: michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo.

was ein LIN-knoten können muß, steht hier: http://lin-subbus.org/
die spezifikationen 2.x unterscheiden sich in einigen punkten wesentlich 
von 1.3. mit welchem standard läuft denn dein master?

im prinzip is das ganze recht einfach, wenn du auf eine komplette 
umsetzung der spec verzichten kannst. wir können das z.b. nicht und 
kaufen LIN-treiber deshalb für richtiges geld.

eine mögliche implementierung in C findest du bei freescale in der 
application note AN2503 (AN2503SW.zip).
das ganze ist natürlich auf freescale-controller gemünzt, d.h. du mußt 
alles hardwareabhängige ändern (interrupts, UART, timer usw).

der anschluß deines ATA6662 funktioniert natürlich so nicht. RX und TX 
müssen schon mit der seriellen schnittstelle des µC verbunden sein.

hoffe geholfen zu haben.

gruß

michael

Autor: michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich sehe gerade, die freescale-version arbeitet gar nicht mit der 
UART... das macht das leben an der einen oder anderen stelle einfacher.
andererseits sehe ich auch gerade, daß einige routinen in assembler 
geschrieben sind...
naja. du machst das schon ;-)

gruß

michael

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> der anschluß deines ATA6662 funktioniert natürlich so nicht. RX und TX
müssen schon mit der seriellen schnittstelle des µC verbunden sein.

Das sind sie doch! (Lesen müsste man können...)

Ich bin auch gerade beim Entwurf eines Slaves mit dem ATA6662, die 
Anbindung an den uP scheint ok zu sein. Aber mehr kann ich noch nicht 
dazu sagen.

Autor: Amir B-a (sticky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
michael wrote:
> hallo.
>
> was ein LIN-knoten können muß, steht hier: http://lin-subbus.org/
> die spezifikationen 2.x unterscheiden sich in einigen punkten wesentlich
> von 1.3. mit welchem standard läuft denn dein master?
>

der slave soll mit der version 2.0 laufen.

bensch hat übrigens recht. dadurch das die leitungen mit den 
selbenlabels beschrieben werden sind sie verbunden. dies wird von der 
software erkannt.

ich schau mir deinen link gern mal an. natürl wäre eine app note von 
atmell besser.

Autor: Amir B-a (sticky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie sieht'S aus kennt sich keiner mit dem LIN-Bus aus?

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, kenne mich damit aus, was fehlt dir an Wissen ?

Autor: Amir B-a (sticky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde gern wissen

-wie ich die kommunikation initiiere,
-welche einstellungen ich vornehmen muss bzw konfiguration,
- wie muss die uart konfiguriert sein?
-wie werden die ID vergeben

welche rolle die NCF genau spielen und, ob die überhaupt nötig sind wenn 
ich low-level programmiere, da ich keinen system generator habe.

und des weiteren was im ersten eintrag des threads steht.

ich würde geren eine baudrate von 9,6 kbit/s nutzen

der Master wird von jemand anderen dann auf grundlage meiner slaves 
entwickelt. habe also mehr oder weniger freie hand.

dachte mir das in den ersten beiden bytes die aufgenommenen Temperaturen 
stehen und an den Master gesendet werden.

der slave task des masters soll ein byte senden das die information hält 
wie die relais geschaltet sein sollen und ob ein reset erfolgen soll (3 
bit)

ich hoff ich erschlage dich nicht mit so vielen fragen. :-)

gruß Sticky

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde gern wissen

>-wie ich die kommunikation initiiere,
Im Prinzip gar nicht, der Master macht das. Es gibt die Möglichkeit, 
selbst
die Kommunikation zu Starten, aber das muß auch der Master freischalten.

-welche einstellungen ich vornehmen muss bzw konfiguration,
- wie muss die uart konfiguriert sein?
Standard serielle Kommunication, 8N1. Die Baudrate muss gemessen werden,
und angepasst werden, inkl verändern des OSC calibration.

-wie werden die ID vergeben
Die Vergiebst in gewisser WEise du, andere sind bereits fest Vorgegeben.

welche rolle die NCF genau spielen und, ob die überhaupt nötig sind wenn
ich low-level programmiere, da ich keinen system generator habe.
Sie Spielen eine Rolle bez. Debugger, sowie Dokumentation. Sonst mußt du
dich in SW durchkämpfen, was du da Implementiert hast.
Wenn du einen rudimentären Generator brauchst, kann ich liefern.

und des weiteren was im ersten eintrag des threads steht.
Da bin ich nicht Schlau draus geworden. Die HW scheint mir auch nicht
besonders Intelligent gemacht zu sein.

ich würde geren eine baudrate von 9,6 kbit/s nutzen
OK, kein Problem, nur der Master gibt die Baudrate vor, der Slave hat 
nur
ein Hardcodiertes Maximum, welcher er nicht überschreitet.

der Master wird von jemand anderen dann auf grundlage meiner slaves
entwickelt. habe also mehr oder weniger freie hand.


dachte mir das in den ersten beiden bytes die aufgenommenen Temperaturen
stehen und an den Master gesendet werden.

der slave task des masters soll ein byte senden das die information hält
wie die relais geschaltet sein sollen und ob ein reset erfolgen soll (3
bit)

ich hoff ich erschlage dich nicht mit so vielen fragen. :-)

gruß Sticky

Mach ein ncf, das hilf, speziell zur Konfiguration der 
Temperatursensoren,
da dort auch die Kalibration usw. erschlagen werden muß. Vergiß dann 
nicht Firmwareupdate, ...
Nochwas, vergiß den NAD 0x7E , der ist bei 2.1 Reserviert.

Werde dir Morgen den NCF Compiler sowie den LIN Debugger (PC RS232) zur
Verfügung stellen. Dieser kann auch einen Master emulieren, sollte 
keiner vorhanden sein.

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, habe gerade nachgesehen, hätte einen Lin 1.3 Generator für AVR
mit UART. Ein 2.0 Master muß auch 1.3 Lin´s unterstützen.
Den 2.0 habe ich nur für Pic sowie als generischen C, wo es dann nur um 
das Message Interpretation sowie Response geht.

Autor: Amir B-a (sticky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gibt es denn eine möglischkeit das alles ohne ncf zu bewergstelligen?

die vorgabe ist leider das der Slave 2.0 sein soll.

an meiner uni steht ein BabyLIN modul von der firma lipowsky werde wohl 
damit den MAster emulieren. und die NCF erstellen.

ich verstehe nur nicht welche aufgaben vom lin slave übernommen werden.

im grunde nur die daten bereit stellen und checksumme prüfen oder?

doch wie?

wie gesagt habe keine erfahrung damit und weiß nicht was ich alles 
machen muss.

>Mach ein ncf, das hilf, speziell zur Konfiguration der
>Temperatursensoren,
>da dort auch die Kalibration usw. erschlagen werden muß

das habe ich im code gemacht und diese dan in eine variable abgelegt, um 
diese dann an den master zu senden. (ist eben eine Vorgabe des Profs. 
bin der minung das es schlauer wär dies am master zu machen aber was 
solls)
int8_t Convert_ADC_in_Celsius(uint16_t ADC_Val) 
{

int8_t T;

T = ((ADC_Val-OFFSET)*20)/37;  // (37/20 =1,85): ist die Steigung pro °C
                                // OFFSET: ADC-WERT bei 0°C
return T;                      //Temperatur in °C
}

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der NCF generiert dir dann den Code, inklusive der 
Temperaturlinearisierung usw. Aber es Stimmt, für die paar Sachen kann 
man es problemlos auch ohne machen.

Autor: Amir B-a (sticky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hättest du vielleicht beispielcode womit ich mich etwas vertraut machen 
kann?

Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab letztes Jahr einen Prüfstand mit dem BabyLIN gemacht und die NCF 
Files absolut nicht gebraucht, erst wollte ich mir die auch schreiben. 
Aber ich hab dann recht fix festgestellt das ich es nicht brauche.

Wenn du nur den Slave entwickelst und den Master auch schon vorgibst 
reicht es eigentlich wenn du dir eine LDF und eine Zeitleiste überlegst 
mit der du dann arbeitest.

Sowas kann man ganz gut mit Excel dokumentieren musste ich feststellen. 
So wurde mir das auch übergeben.

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.