https://ladawiki.de/api.php?action=feedcontributions&user=Chris601&feedformat=atomLadaWiki - Benutzerbeiträge [de]2024-03-28T20:54:11ZBenutzerbeiträgeMediaWiki 1.35.1https://ladawiki.de/index.php?title=Linksammlung&diff=4292Linksammlung2015-11-17T16:30:31Z<p>Chris601: /* Fahrzeuge, Teile und Zubehör */</p>
<hr />
<div><span style="color:#00FF00;">'''Dieser Artikel ist im Aufbau begriffen und daher unvollständig, Fehler sind möglich. Ergänzungen und Verbesserungen sind jederzeit möglich und ausdrücklich gewünscht!'''</span><br />
<br />
Dieser Artikel beinhaltet eines Sammlung aller wichtigen, ladaspezifischen Links, damit das Suchen ein Ende hat.<br />
<br />
==='''Fahrzeuge, Teile und Zubehör'''===<br />
{| border="1"<br />
! width="35%" |Link<br />
! width="65%" |Inhalt der Website<br />
|-<br />
|[http://www.ladateile.de/ www.ladateile.de] verlinkt zu eBay-Shop<br />
| Olaf Vogel - Getriebespezialist / Tauschgetriebe / Spezial Getriebeöl<br />
|-<br />
|[http://stores.ebay.de/carsundparts-shop?_trksid=p4340.l2563/ Cars & Parts]<br />
| Ersatzteile<br />
|-<br />
|[http://stores.ebay.de/Rus-Avto-Parts?_trksid=p2047675.l2563/RusAvto RusAvto]<br />
| Ersatzteile<br />
|-<br />
|[http://www.russian4x4.de/ Russian 4x4 (vormals Lada Hamburg)]<br />
|Ersatzteile<br />
|-<br />
|[http://stores.ebay.de/mikomara/ mikomara]<br />
|Ersatzteile<br />
|-<br />
|[http://stores.ebay.de/AET-AUTOTEILE?_trksid=p2047675.l2563/ AET]<br />
|Ersatzteile (Viktor)<br />
|-<br />
|[http://www.madeinrussia.de/ InterSat]<br />
|Dimitri<br />
|-<br />
|[http://www.lada.de/ www.lada.de]<br />
|Lada Deutschland<br />
|-<br />
|[http://www.lada-sport.de/ www.lada-sport.de]<br />
|Lada Sport<br />
|-<br />
|gmelegh@gmail.com<br />
|e-Mail Adresse von Gabor aus Ungarn (versteht Deutsch und hat auch ein Konto hier)<br />
|-<br />
|[http://www.protrack.gr/proionta/lada/52-niva/91-air-locker-niva.html/ protrack]<br />
|Anbieter 100% Sperre aus Griechenland<br />
|-<br />
|[http://www.calmini4x4.de/Lada-Niva Schwarz Vacuum Locker]<br />
|Schwarz Unterdrucksperre 100%<br />
|-<br />
|[http://www.power-trax.de/produkte/locker/locker.htm K&S]<br />
|schaltbare 100% Sperre<br />
|-<br />
|[http://www.autoprospect.ru/vaz/21213-niva/ www.autoprospect.ru]<br />
|Aktuelle, farblich bebilderte Reparaturanleitung und technische Pläne (russische Seite, [https://translate.google.de/translate?hl=en&sl=ru&tl=de&u=http%3A%2F%2Fwww.autoprospect.ru%2Fvaz%2F21213-niva%2F maschinelle Übersetzung])<br />
|-<br />
|[http://www.lada-ems.eu/ Lada EMS]<br />
|Wjatscheslaw Beier<br />
|-<br />
|[http://www.mergner-automobile.de/ Mergner Automobile]<br />
|Marco Mergner<br />
|-<br />
|[http://www.ladapower.com/ ladapower.com]<br />
|Ersatzteile/Tuning aus der Ukraine. Zahlung mit Paypal möglich, Versand nach Deutschland problemlos. <br />
|}<br />
<br />
{{Absatz}}<br />
<br />
==='''Fan Seiten'''===<br />
{| border="1"<br />
! width="35%" |Link<br />
! width="65%" |Inhalt der Website<br />
|-<br />
|[http://www.niva-technik.de/ niva-technik.de]<br />
|ein Forum für alle Ladas<br />
|-<br />
|[http://www.lada-welt.de/ lada-welt]<br />
|Lada-Club Deutschland<br />
|-<br />
|[http://www.lada-forum.de/ lada forum]<br />
|Forum des deutschen Importeurs<br />
|-<br />
|[http://www.lada-niva-ig.de/modules/news/ LADA-NIVA-IG]<br />
|Interessengemeinschaft für Lada Niva Fahrer<br />
|-<br />
|[http://www.niva-stammtisch.de Niva-Stammtisch]<br />
|Niva-Stammtisch-Dresden<br />
|-<br />
|[http://www.lada-fan.de/ Lada-Fan.de]<br />
|Gemeinschaft unabhängiger LADA - Freunde<br />
|-<br />
|[http://ladaniva.co.uk/baxter/resources/StudPatternList.htm Baxter´s Niva Site]<br />
|englischer Niva Fan<br />
|-<br />
|[http://www.niva-faq.msk.ru/ NIVA-FAQ]<br />
|russischer Niva Fan<br />
|-<br />
|}<br />
<br />
==='''sonstige interessante Schrauberseiten'''===<br />
{| border="1"<br />
! width="35%" |Link<br />
! width="65%" |Inhalt der Website<br />
|-<br />
|[http://www.landcruiser-experiment.net Das Landcruiser Experiment]<br />
|etwas verrücktes Wiederaufbauexperiment eines Toyo<br />
|-<br />
|}<br />
<br />
[[Kategorie:Allgemein]]</div>Chris601https://ladawiki.de/index.php?title=Werkzeug_Spezial&diff=4291Werkzeug Spezial2015-11-17T15:56:53Z<p>Chris601: </p>
<hr />
<div>Neben [[Werkzeug Bordwerkzeug|Bordwerkzeug ]] und einer ordentlichen Werkzeug-Grundausstattung empfiehlt sich für den versierten Niva-Schrauber auch einiges an Spezialwerkzeug. Ergänzt wird die Ausstattung über die Jahre mit [[Werkzeug Eigenbau|selbstgebauten Werkzeugen]].<br />
{{Absatz}}<br />
<br />
==4-kant Schlüssel==<br />
[[Bild:Werkz18.jpg|thumb]]<br />
Die Ölablasschraube bei den Dieselmotoren sind mit einem Innenvierkant versehen. Da diese Schraube idR. sehr fest sitzt empfiehlt es sich einen geeigneten Schlüssel zu besorgen und von Experimenten mit zurechtgefeiltem Vierkant aus der Schrottkiste abzusehen. Mit nicht gehärtetem und exakt passendem Werkzeug besteht die Gefahr die Ablassschraube unbrauchbar zu machen. Es wird die Ausführung 8mm benötigt und das kostet ca. 10,-EUR.<br />
{{Absatz}}<br />
<br />
==Auspuffzement==<br />
[[Bild:Werkz07.JPG|thumb]]<br />
Spezielle Paste für die Montage von Auspuffrohren. Dazu wird etwas Paste auf die Verbindungsstücke an denen die Rohre zusammengesteckt werden aufgetragen. Bei Erwärmung härtet das Mittel aus und dichtet sicher ab. Ein weiterer Vorteil liegt darin, daß sich die damit behandelte Steckverbindung später ohne großen Aufwand zerstörungsfrei wieder lösen lässt.<br><br>Bezugsquelle: Fahrzeugzubehöhr, ATU&Co<br />
{{Absatz}}<br />
<br />
==Bremsenpaste==<br />
[[Bild:Werkz09.JPG|thumb]]<br />
Unentbehrliche Montagepaste für Arbeiten an den Bremszylindern. Die Paste sorgt für leichtgängige Bremszylinder und ist besonders verträglich zu den Gummidichtungen und Manschetten. Normales Fett würde diese Gummiteile aufquellen lassen. Verträglich mit den Flüssigkeiten DOT3, DOT4 und DOT5.1<br><br>Bezugsquelle: Fahrzeugzubehöhr, ATU&Co<br />
{{Absatz}}<br />
<br />
==Crimpzange==<br />
[[Bild:Werkz01.JPG|thumb]]<br />
Beim Erstellen oder Erneuern einer elektrischen Steckverbindung sind unisolierte Crimpverbindungen in jedem Fall den isolierten Quetschverbindungen vorzuziehen. Die im Niva-[[Kabelbaum]] verwendeten unisolierten Flachstecker (6,3mm) werden mit einer speziell geformten Crimpzange sicher am Kabel befestigt. Für den gelegentlichen Einsatz reicht eine einfache, einreihige Zange. Die im Bild dargestellte Zange crimpt die elektrische Verbindung und die Zugentlastung in einem Arbeitsgang und ist für 3 verschiedene Kabelquerschnitte ausgelegt. <br><br>Bezugsquelle: Zange sowie Zubehör (Flachstecker, Isolierhülsen, Steckergehäuse) bekommt man im besser sortierten Elektronikzubehör.<br />
{{Absatz}}<br />
<br />
==[[Diagnosegerät]]==<br />
===für ALDL-Buchse '''Tech1'''===<br />
[[Bild:Tech1.JPG|thumb]]<br />
Das Tech1 ist ein Diagnosegerät für die Niva SPI (bis Euro 2) Modelle. Dazu wird das Gerät mit einem VAZ-Modul bestückt und kann jetzt [[Fehlercode]] und Echtzeitdaten auslesen und anzeigen. Verschiedene Systemprüfungen, Einstellmöglichkeiten und das Zurücksetzen des Fehlerspeichers runden das Anwendungsgebiet ab.<br />
<br />
So ein Gerät ist nur sehr schwer zu bekommen. Als Alternative bleibt das [[Fehlercode ausblinken SPI|ausblinken]] der Fehler und Prüfungen mit einem Multimeter oder ein [http://www.ladaniva.co.uk/ Selbstbauinterface] für den PC.<br />
{{Absatz}}<br />
<br />
===für OBD-II-Buchse '''CReader V'''===<br />
[[Datei:CreaderV.JPG|thumb|CReaderV]]<br />
Bei den Niva MPI (Euro 3-5) benötigt man ein OBD-2 Kabel für den Laptop oder ein OBD-2 Diagnosegerät. Der Vorteil ist, dass diese Geräte wesentlich einfacher zu bekommen sind. Bisher wurden beim Niva gute Erfahrungen mit dem CReader-V gemacht.<br>[http://www.motor-talk.de/forum/aktion/Attachment.html?attachmentId=716321 Bedienungsanleitung deutsch]<br />
{{Absatz}}<br />
<br />
==Federspanner==<br />
[[Bild:Federspanner.jpg|thumb]]<br />
Zum Montieren und Demontieren oder Entspannen der Schraubenfedern. Auch beim Wechsel der Traggelenke hilfreich.<br />
{{Absatz}}<br />
<br />
==Fettpresse==<br />
[[Bild:Werkz05.JPG|thumb]]<br />
Kein Spezialwerkzeug im eigentlichen Sinn, sondern eine ganz normale Fettpresse aus dem Baumarkt. Wenn das Mundstück so wie auf dem Bild bearbeitet ist, wird das Abschmieren der Kardankreuze erheblich erleichtert. Diese Modifikation ist nur notwendig, wenn das [[Kreuzgelenk]] ein innenliegendes Schmiernippel hat.<br />
Dazu einfach einseitig etwas Material abschleifen. Aber nicht zuviel, sonst verliert das Mundstück seine Stabilität und verformt sich unter dem Fettdruck und alles quillt am Schmiernippel vorbei. Nur soviel wegschleifen wie nötig, um das Mundstück mit Nachdruck ins [[Kreuzgelenk]] schieben.<br />
Jetzt muss nur noch das Fettnippel in der richtigen Stellung stehen. Meist macht es das nicht und man muss nachhelfen. Entweder etwas fester anziehen oder zum Abschmieren etwas lockern. Werden neue Kreuzgelenke eingebaut, das Nippel gleich in der richtigen Position fixieren (Schraubenkleber oder dünne Passscheiben beilegen).<br><br>Bezugsquelle: Baumarkt<br />
{{Absatz}}<br />
<br />
===Düsenrohr===<br />
(Krümmeladapter)<br />
[[Datei:düsenrohr.jpg|thumb|Düsenrohr mit Schnellwechselkupplung für Kardanwellen, Rohr-Ø 8mm]]<br />
Alternativ zur Modifikation der Fettpresse kann auch ein Düsenrohr zum Abschmieren der Kreuzgelenke verwendet werden. Das Düsenrohr wird auf die Fettpresse aufgesetzt.<br><br>Bezugsquelle: Kruemmeloffroad.de<br />
{{Absatz}}<br />
<br />
==Inbus Schlüssel==<br />
12er Inbus oder Innensechskant im Kopf für die [[Schaltgetriebe|Ölablassschrauben]] am Vorderachsdiff., Schaltgetriebe, Verteilergetr., und Hinterachskörper .<br><br>Bezugsquelle: Werkzeugfachhandel<br />
[[Bild:Inbus12.jpg|thumb|12er Inbus 1/2" Nuss und Ablassschraube]]<br />
{{Absatz}}<br />
<br />
==Multimeter==<br />
[[Bild:Werkz08.JPG|thumb]]<br />
Multimeter für alle Arbeiten an der Fahrzeugelektrik. Für einfache Messaufgaben reichen Geräte aus dem Baumarkt. <br />
Ein zusätzlicher, über mehrere Ampere belastbarer Eingang für die Strommessung ist sinnvoll bei der Suche nach Leckstrom. Soll das Gerät bei der Fehlersuche an der Einspritzanlage eingesetzt werden, muss es einen hohen Eingangswiderstand (>10Mohm) haben. Investitionskosten ab 50,-EUR sollten dann aber einkalkuliert werden.<br><br>Bezugsquelle: Baumarkt, Elektronikfachhandel<br />
{{Absatz}}<br />
<br />
==Öldruckmanometer==<br />
[[Bild:Oeldruck.jpg|thumb]]<br />
Gerade bei älteren Motoren sollte man sich nicht nur auf den Öldruckschalter verlassen sondern bei jeder Durchsicht auch mal den Öldruck messen. Für unsere Zwecke reicht dazu so ein einfaches Öldruckmanometer was es im Netz ab 20,- zu kaufen gibt. Es wird anstelle des Öldruckschalters angeschraubt und zeigt bei laufendem Motor den Druck im System an.<br />
{{Absatz}}<br />
<br />
==Schweißpunktbohrer==<br />
[[Bild:Werkz02.JPG|thumb]]<br />
Dieser Spezialbohrer wird benötigt, um Bleche die im Punktschweißverfahren verbunden worden sind, wieder zu lösen. Nachdem der Schweißpunkt mittig angekörnt wurde, kann der Bohrer angesetzt werden und gefühlvoll die obere Blechlage weggebohrt werden. Durch den speziellen Schliff der Bohrspitze wird die darunterliegende zweite Blechlage nicht, bzw. nur sehr gering angebohrt/geschwächt. Der Umgang erfordert etwas Übung und Feingefühl. Es werden die Größen 6mm und 8mm im Schrauben- und Werkzeughandel angeboten. Mit ca. 10,-EUR ist es die etwas preiswerte Alternative zum Schweißpunktfräser.<br><br>Bezugsquelle: Werkzeugfachhandel<br />
{{Absatz}}<br />
<br />
==Schweißpunktfräser==<br />
[[Bild:Werkz10.JPG|thumb]]<br />
Die etwas komfortablere Variante zusammengepunktete Bleche zu trennen. Die Frästiefe ist einstellbar und erlaubt somit sehr genaues Arbeiten. Im Gegensatz zum Bohrer, "sägt" der Fräser einen Kreis um den Schweißpunkt, der Schweißpunkt selber bleibt stehen. Somit könnte man ein Teil sauber heraustrennen und später an den selben Punkten passgenau wieder einsetzen. Der Fräskopf ist austauschbar. Kostenpunkt ca. 15,-EUR.<br><br>Bezugsquelle: Werkzeugfachhandel<br />
{{Absatz}}<br />
<br />
{{Absatz}}<br />
==Spannungsprüflicht==<br />
[[Bild:Werkz06.jpg|thumb]]<br />
Dieses im Handel als Spannungsprüfer erhältliche Prüflicht sollte zum Bordwerkzeug hinzugefügt werden. Bei einfachster Anwendung lässt sich schnell das Bordnetz auf Fehler untersuchen. Dazu wird das Ende mit der Krokodilklemme an einem geeignetem [[Massepunkte|Massepunkt]] angeklemmt und mit der Prüfspitze können z.B. die Halterungen im Sicherungskasten abgetastet werden. Leuchtet das eingebaute Lämpchen auf, liegt an dieser Stelle Bordspannung (12V+) an. Dank der Spitze kann auch die Kabelisolierung angestochen werden, um festzustellen ob ein Kabel spannungsführend ist.<br><br>Bezugsquelle: Baumarkt, ATU&Co<br />
{{Absatz}}<br />
<br />
==Stroboskop==<br />
[[Bild:Werkz12.JPG|thumb]]<br />
Auch wenn es für die Einstellung der Zündanlage bei den 1600er Niva nicht unbedingt erforderlich ist, kann ein solches "Lichtblitzgerät" eine wertvolle Hilfe sein. Neben den normalen Arbeiten beim Einstellen des Zündzeitpunktest kann es auch zur Fehlersuche verwendet werden.<br>Auch bei den Einspritzermodellen ist eine schnelle Überprüfung der Zündanlage auf korrekte Funktion möglich.<br>Es sollte ein Gerät mit separater Spannungsversorgung von der Fahrzeugbatterie und induktiver Signalabnahme am [[Zündkabel]] gewählt werden.<br><br>Bezugsquelle: Motorradzubehörkette Louis<br />
{{Absatz}}<br />
<br />
==Sturzwaage==<br />
{|<br />
|Mit Hilfe einer magnetischen Wasserwaage kann einfachst, bei demontiertem Rad, der Radsturz gemessen werden. Solche Geräte gibt es auch in aufwendigeren Ausführungen bei der die Raddemontage entfallen kann.<br />
|[[Bild:Werkz19.jpg|thumb]]<br />
|[[Bild:Werkz14.JPG|thumb]]<br />
|}<br />
<br />
{{Absatz}}<br />
<br />
==Tassenstößel-Niederhalter Samara (und 8V-Nachfolger)==<br />
{|<br />
|Wird zum Einstellen der Ventile benötigt um die Shims (Ventileinstellplättchen) zu wechseln. Der Tassenstößel wird damit samt Shim heruntergedrückt und mit dem beiliegenden "Haken" fixiert. Dann kann die Einstellscheibe gewechselt werden.<br><br>Bezugsquelle: [[Linksammlung|ladapower.com]]<br />
|[[Bild:Niederhalter1.jpg|thumb]]<br />
|[[Bild:Niederhalter2.jpg|thumb]]<br />
|[[Bild:Niederhalter3.jpg|thumb]]<br />
|}<br />
<br />
{{Absatz}}<br />
<br />
<br />
==Tragegelenkausdrücker==<br />
[[Bild:Werkz04.JPG|thumb]]<br />
Bild hat nur darstellenden Charakter. So nicht anwenden!<br><br>Bezugsquelle: Werkzeugfachhandel<br />
{{Absatz}}<br />
<br />
==Ventileinstelllehre==<br />
[[Bild:Werkz03.JPG|thumb]]<br />
Bei den Vergaser- und Singlepointmotoren muss regelmäßig das Ventilspiel geprüft und evtl. nachgestellt werden. Eine handelsübliche Lehre ist dafür nicht geeignet, da sie schmaler als die Auflagefläche zwischen Nockenwelle und Schlepphebel ist. Der Hebel könnte beim Messen kippen und das Ergebnis verfälschen. Steht diese Lehre nicht zur Verfügung, muss alternativ die Messung mit 2 normalen Lehren (0,15mm) nebeneinander durchgeführt werden. Diese überbreite Lehre (0.15mm) ist speziell für den Nivamotor geeignet.<br />
{{Absatz}}<br />
[[Bild:Werkz13.JPG|thumb]]<br />
Solch eine Lehre gibt es auch in der Luxusversion mit Schutzhülle. Darauf sind die Zündreihenfolge und die dazugehörigen Ventilnummern vermerkt. Die Reihenfolge 8-6, 4-7, 1-3, 5-2 muss man also nicht mehr nachschlagen.<br><br>Bezugsquelle: GM404 bzw. [[Linksammlung|Gabor]] aus Ungarn.<br />
{{Absatz}}<br />
<br />
==Verkleidungsausheber==<br />
[[Bild:Werkz16.JPG|thumb]]<br />
Nützliches Werkzeug für die schadfreie Demontage der Türpappen. Mit dem Ausheber wird der Halteclip gefasst und es ist sichergestellt, dass es nur den Clip aus dem Türblech zieht und nicht aus der Pappe reißt.<br />
<br />
[[Kategorie:Allgemein]]</div>Chris601https://ladawiki.de/index.php?title=Datei:Niederhalter3.jpg&diff=4290Datei:Niederhalter3.jpg2015-11-17T15:35:12Z<p>Chris601: </p>
<hr />
<div></div>Chris601https://ladawiki.de/index.php?title=Datei:Niederhalter2.jpg&diff=4289Datei:Niederhalter2.jpg2015-11-17T15:35:04Z<p>Chris601: </p>
<hr />
<div></div>Chris601https://ladawiki.de/index.php?title=Datei:Niederhalter1.jpg&diff=4288Datei:Niederhalter1.jpg2015-11-17T15:34:46Z<p>Chris601: </p>
<hr />
<div></div>Chris601https://ladawiki.de/index.php?title=ALDL-Protokoll&diff=3904ALDL-Protokoll2015-01-10T09:42:41Z<p>Chris601: </p>
<hr />
<div>[[Datei:Efilog.png|200px|thumb|right|ALDL-Kommunikation im Log von EFIlive V4]]<br />
==Allgemein==<br />
ALDL - Assembly Line Data Link<br />
<br />
Das ALDL-Protokoll, welches Lada bei den SPI-Modellen verwendet, orientiert sich an den gängigen GM-Formaten. Leider gibt es kein anderes Fahrzeug, welches exakt den Lada-Code verwendet.<br />
<br />
Die Kommunikation mit dem [[Steuergerät SPI Euro2|Steuergerät]] erfolgt mit 8192 Baud mit TTL-typischer Spannung von 5V. Für die Kommunikation mit einem PC kann ein [[Eigenbau-Interface SPI|Eigenbau-Interface]] genutzt werden. Auch ein [[Spezialwerkzeug#f.C3.BCr_ALDL-Buchse_Tech1|TECH1]] oder [[Eigenbau-Interface_SPI#Andere_Selbstbaul.C3.B6sungen|Selbstbaulösungen]] kommunizieren über ALDL mit dem Steuergerät. <br />
<br />
==Kommunikation mit dem Steuergerät==<br />
===ALDL Modus 01 auswählen===<br />
Um an die Daten des Steuergerätes zu kommen, die sämtliche Sensorwerte, [[Fehlercode Euro2|gespeicherte Fehler]] und sonstige Fahrzeugdaten enthalten, ist es notwendig das Steuergerät in einem bestimmten Modus ''anzusprechen''. <br />
<br />
Der ALDL-Modus 1 (0x01) ist hierbei der Wichtigste. Angestoßen wird dieser, indem <pre>$F4,$57,$01,$20,$94</pre> zum Steuergerät gesendet wird. <br />
<pre><br />
$F4 = Frame ID <br />
$57 = Message length ($55+Anzahl Datenbytes)<br />
$01 = data byte 1 (hier Mode Number)<br />
$20 = data byte 2 (hier offensichtlich ein Parameter)<br />
$94 = Prüfsumme (die Berechnung dieser ist in der EFIlive-Hilfe erklärt)<br />
</pre><br />
<br />
===Antwort vom Steuergerät===<br />
Auf diesen Initialisierungsstring antwortet das Steuergerät einige Millisekunden später mit einem Datenwort aus 69 <br />
Bytes. Hier eine Beispiel-Kommunikation (Zeilenumbrüche eingefügt):<br />
<pre>gesendet: $F4,$57,$01,$20,$94<br />
empfangen:<br />
$F4,$97,$01,<br />
$19,$6D,$40,$04,$00,$74,$46,$11,$03,$32,<br />
$06,$1D,$00,$00,$19,$56,$FB,$78,$23,$7B,<br />
$06,$06,$50,$00,$F4,$60,$53,$B1,$50,$C7,<br />
$88,$94,$00,$00,$00,$66,$87,$70,$00,$F3,<br />
$A7,$00,$00,$85,$00,$00,$CC,$01,$20,$E9,<br />
$00,$81,$01,$80,$6F,$00,$00,$04,$A4,$09,<br />
$80,$0A,$44,$13,$00,$CB</pre><br />
<br />
===ALDL Modus 04 auswählen===<br />
Modus 4 ist der "Controller-Mode". Er dient dazu, dem Steuergerät klare Anweisungen zu geben wie z.B. Aktoren ansteuern/einstellen oder gespeicherte Fehler zu löschen.<br />
<br />
Die Anforderung zum Löschen des Fehlerspeichers sieht beispielsweise so aus:<br />
<pre>gesendet: $F4 $60 $04 $00 $00 $40 $00 $00 $00 $00 $00 $00 $00 $68 <br />
empfangen: $F4 $56 $04 $B2 <br />
</pre><br />
In diesem Modus stecken die wichtigen Informationen im Sendewort und das empfangene Wort ist immer gleich und bedeutet nur "OK, Anweisung verstanden".<br />
<br />
<br />
==Der Inhalt der empfangenen Bytes im Modus 01== <br />
[[Datei:Eficonfig.jpg|200px|thumb|right|Auszug aus dem Configfile "nivatext.xml" für EFIlive von David Rolston]]<br />
Um die empfangenen Daten deuten zu können, muss man sich mit dem GM-typischen Protokollaufbau anderer GM-Steuerteile befassen. Eine Liste verschiedener Steuerteile und deren Codes findet sich hier: http://www.diy-efi.org/files/gmecm/ALDLstuff.zip<br />
<br />
David Rolston (http://ladaniva.co.uk) hat ein Configfile (http://www.ladaniva.co.uk/nivalive.zip) für [[EFILive V4]] geschrieben, welches einen Großteil der Bytes deuten kann.<br />
Dieses Configfile ist aktuell wahrscheinlich die vollständigste Zusammenfassung des Lada-ALDL-Protokolles, die verfügbar ist. Es stammt ursprünglich vermutlich von einem anderen Fahrzeug und enthält deshalb falsche Fragmente, die nicht zum Lada passen.<br />
<br />
Die empfangenen Bytes sind hier hexadezimal dargestellt. Die meisten Werte müssen zur Weiterverarbeitung in Dezimalzahlen (z.B. Sensorwerte) oder Binärdaten (z.B. Fehlercodes) umgerechnet werden.<br />
<br />
{| border="1"<br />
|Byte<br />
|Bedeutung<br />
|Faktor<br />
|Offset<br />
|Beispiel<br />
|Ergebnis<br />
|-<br />
| <br />
|Initialisierung (Frame-ID)<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
| <br />
|Initialisierung (Länge des Strings)<br />
|<br />
|<br />
|$97<br />
|<br />
|-<br />
| <br />
|ALDL-Modus<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|1(16bit)<br />
|Eprom-ID ($19$6D=Lada 21073, $19$63=Lada 21214)<br />
|<br />
|<br />
|$19$6D<br />
|Lada 21073<br />
|-<br />
|3<br />
|Fehlercodes 1 (Bit0=Fehler Nr.24, Bit1=23, Bit2=22, Bit3=21, Bit4=15, Bit5=14, Bit6=13,Bit7=12)<br />
|<br />
|<br />
|$40<br />
|<br />
|-<br />
|4<br />
|Fehlercodes 2 (Bit0=Fehler Nr.42, Bit1=41, Bit2=35, Bit3=34, Bit4=33, Bit5=32, Bit6=31,Bit7=25)<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|5<br />
|Fehlercodes 3 (Bit0=Fehler Nr.55, Bit1=54, Bit2=53, Bit3=26, Bit4=51, Bit5=45, Bit6=44,Bit7=43)<br />
| <br />
|<br />
|$00<br />
|<br />
|-<br />
|6<br />
|Kühlmitteltemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$74<br />
|47°C<br />
|-<br />
|7<br />
|Startup Coolant Temp (?)<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$46<br />
|12,5°C<br />
|-<br />
|8<br />
|Spannung Drosselklappensensor<br />
|0,019608<br />
|0<br />
|$11<br />
|0,33V<br />
|-<br />
|9<br />
|Drosselklappenöffnung in % <br />
|0,392157<br />
|0<br />
|$03<br />
|1,18%<br />
|-<br />
|10<br />
|Motordrehzahl <br />
|25<br />
|0<br />
|$32<br />
|1250 RPM<br />
|-<br />
|11<br />
|Refpulse MSB (?)<br />
|<br />
|<br />
|$06<br />
|<br />
|-<br />
|12<br />
|Refpulse LSB (?)<br />
|<br />
|<br />
|$1D<br />
|<br />
|-<br />
|13<br />
|Geschwindigkeit <br />
|1 (1,60934 für km/h) <br />
|<br />
|$00<br />
|0MPH<br />
|-<br />
|14<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|15<br />
|Spannung Lambdasonde<br />
|4,44<br />
|0<br />
|$19<br />
|111mV<br />
|-<br />
|16<br />
|O2-Sensor Cross Counts (?)<br />
|<br />
|<br />
|$56<br />
|<br />
|-<br />
|17<br />
|<br />
|<br />
|<br />
|$FB<br />
|<br />
|-<br />
|18<br />
|<br />
|<br />
|<br />
|$78<br />
|<br />
|-<br />
|19<br />
|<br />
|<br />
|<br />
|$23<br />
|<br />
|-<br />
|20<br />
|<br />
|<br />
|<br />
|$7B<br />
|<br />
|-<br />
|21<br />
|IST-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|22<br />
|SOLL-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|23<br />
|Solldrehzahl Leerlauf<br />
|12,5<br />
|0<br />
|$50<br />
|1000RPM<br />
|-<br />
|24<br />
|wahrscheinlich Ventil Aktivkohlefilter in %<br />
|0,392157 <br />
|0<br />
|$00<br />
|geschlossen<br />
|-<br />
|25<br />
|<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
|26<br />
|MAP (Unterdruck am Ansaug)<br />
|0,37<br />
|10,34<br />
|$60<br />
|46kPa<br />
|-<br />
|27<br />
|<br />
|<br />
|<br />
|$53<br />
|<br />
|-<br />
|28<br />
|<br />
|<br />
|<br />
|$B1<br />
|<br />
|-<br />
|29<br />
|Ansauglufttemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$50<br />
|40°C<br />
|-<br />
|30<br />
|<br />
|<br />
|<br />
|$C7<br />
|<br />
|-<br />
|31<br />
|Batteriespannung<br />
|0,1<br />
|0<br />
|$88<br />
|13,6V<br />
|-<br />
|32<br />
|[[ALDL-Protokoll#Byte 32, Zündzeitpunkt|Zündwinkelvorverstellung]]<br />
|0,351565<br />
|0<br />
|$94<br />
|52° (?)<br />
|-<br />
|33<br />
|Zündwinkelvorverstellung (?)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|34<br />
|Zündwinkelvorverstellung (?)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|35(16bit)<br />
|Einspritzdauer<br />
|0,07629<br />
|0<br />
|$00$66<br />
|7,78ms<br />
|-<br />
|37<br />
|SOLL-Verhältnis Luft/Kraftstoff<br />
|0,1<br />
|0<br />
|$87<br />
|13,5<br />
|-<br />
|38<br />
|<br />
|<br />
|<br />
|$70<br />
|<br />
|-<br />
|39<br />
|Motor Laufzeit (wird um 1 erhöht, wenn Bit40 bei 255 angekommen ist) <br />
|0<br />
|255<br />
|$00<br />
|0<br />
|-<br />
|40<br />
|Motor Laufzeit in Sekunden<br />
|0<br />
|1<br />
|$F3<br />
|243Sekunden<br />
|-<br />
|41<br />
|<br />
|<br />
|<br />
|$A7<br />
|<br />
|-<br />
|42<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|43<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|44<br />
|<br />
|<br />
|<br />
|$85<br />
|<br />
|-<br />
|45<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|46<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|47<br />
|<br />
|<br />
|<br />
|$CC<br />
|<br />
|-<br />
|48<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|49<br />
|<br />
|<br />
|<br />
|$20<br />
|<br />
|-<br />
|50<br />
|Modeword1 (Bit1=Fahrzeug bewegt sich, Bit7=Motor läuft)<br />
|<br />
|<br />
|$E9<br />
|Bit1=0 steht; Bit7=1 Motor läuft<br />
|-<br />
|51<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|52<br />
|CLCCMW (Bit3=Schubabschaltung aktiv, Bit7=Drosselklappe geschlossen)<br />
|<br />
|<br />
|$81<br />
|Bit3=0 Schubabschaltung nicht aktiv, Bit7=1 Drosselklappe geschlossen<br />
|-<br />
|53<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|54<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|55<br />
|<br />
|<br />
|<br />
|$6F<br />
|<br />
|-<br />
|56<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|57<br />
|LCCPMW (Bit0 Motorlüfter aktiv)<br />
|<br />
|<br />
|$00<br />
|Bit0=0 Motorlüfter nicht aktiv<br />
|-<br />
|58<br />
|<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|59<br />
|<br />
|<br />
|<br />
|$A4<br />
|<br />
|-<br />
|60<br />
|<br />
|<br />
|<br />
|$09<br />
|<br />
|-<br />
|61<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|62<br />
|<br />
|<br />
|<br />
|$0A<br />
|<br />
|-<br />
|63<br />
|<br />
|<br />
|<br />
|$44<br />
|<br />
|-<br />
|64<br />
|<br />
|<br />
|<br />
|$13<br />
|<br />
|-<br />
|65<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|66<br />
|Prüfsumme<br />
|<br />
|<br />
|$CB<br />
|<br />
<br />
|}<br />
(Tabelle wird ergänzt, die mit Fragezeichen versehenen Felder sollten besser beschrieben werden bzw. müssen noch verstanden werden)<br />
<br />
==Aktuelle Probleme und Unklarheiten== <br />
===Byte 32, Zündzeitpunkt===<br />
Dieses Byte soll den Wert des Zündzeitpunktes im Bezug auf den OT angeben. Er sollte Werte von 0 bis 40 ($00 bis $72) haben und gibt an, wieviel Grad vor OT gezündet wird. <br />
Wir gehen für die Berechnung von einem Faktor von 0,351565 aus. In unteren Drehzahlbereichen werden aber größere Winkel (teilweise >40°) angezeigt, die weder stimmen können noch mit Werten übereinstimmen, die ein TECH1 zu diesem Zeitpunkt liefert.<br />
Bei höheren Drehzahlen befinden sich die übermittelten Werte in denkbaren Größenordnungen. <br />
Möglicherweise muss auf den Hexadezimalwert zunächst das [http://de.wikipedia.org/wiki/Zweierkomplement Zweierkomplement] oder ähnliche Umrechnungen angewandt werden.<br />
===Aktoren===<br />
Die Zustände aller Aktoren außer des Leerlaufreglers, des Lüfters und vermutlich des Ventils des Aktivkohlefilters (Lambdasondenheizung, Saugrohrheizung, Benzinpumpe) sind bisher nicht erkennbar. Vermutet wird eine binäre Übertragung in einem Modeword.<br />
Das aktive Ansprechen (aus-/einschalten oder einstellen) aller Aktoren (vermutlich im Modus 4) ist ebenfalls noch nicht gelungen.<br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=Lada_Forma_(2109)_Basis&diff=3825Lada Forma (2109) Basis2014-09-13T11:29:17Z<p>Chris601: </p>
<hr />
<div><div align="center"><br />
'''Lada Forma 21099'''<br />
<br />
[[bild:21099.jpg|thumb|none|400px|Lada Forma 21099]]</div><br />
<br />
<br />
Weitere Modelle:<br />
<br />
*Forma E/EL/ELX<br />
*Forma GLS<br />
*Forma I/IX<br />
*Forma Luxus<br />
*Forma Stufenheck<br />
<br />
[[Kategorie:Lada Modelle]]</div>Chris601https://ladawiki.de/index.php?title=Lada_Samara&diff=3824Lada Samara2014-09-13T11:27:21Z<p>Chris601: </p>
<hr />
<div>[[Bild:Samara-2108.jpg|center]]<br />
Gab es als:<br />
*3-türer (Typ 2108)<br />
*5-türer (Typ 2109)<br />
*Stufenhecklimousine (Typ 21099, in Deutschland als "[[Lada Forma]]" vermarktet)<br />
[[Kategorie:Lada Modelle]]</div>Chris601https://ladawiki.de/index.php?title=Lada_Samara&diff=3823Lada Samara2014-09-13T11:25:57Z<p>Chris601: </p>
<hr />
<div>[[Bild:Samara-2108.jpg|center]]<br />
Gab es als:<br />
*3-türer (Typ 2108)<br />
*5-türer (Typ 2109)<br />
*Stufenhecklimousine (Typ 21099, in Deutschland als Lada "Forma" vermarktet)<br />
[[Kategorie:Lada Modelle]]</div>Chris601https://ladawiki.de/index.php?title=Diskussion:Fehlercode_12_SPI&diff=3667Diskussion:Fehlercode 12 SPI2014-07-01T06:32:55Z<p>Chris601: Die Seite wurde neu angelegt: „Chris601: Ich glaube, das ist so nicht ganz richtig, wenn man es genau nimmt. Richtig ist: 12 ist beim Ausblinken kein Fehler und wird als Start- und Ende-Sequen…“</p>
<hr />
<div>Chris601: Ich glaube, das ist so nicht ganz richtig, wenn man es genau nimmt. <br />
Richtig ist: 12 ist beim Ausblinken kein Fehler und wird als Start- und Ende-Sequenz ausgegeben.<br />
<br />
Der Fehler ist dabei allerdings nicht im ECU als Fehler gespeichert (Byte 3, Bit7 im ALDL-Protokoll).<br />
Ob es jemals passieren kann, dass Fehler 12 wirklich als Fehler gespeichert wird, weiß ich nicht (ich denke aber nicht, da er auch nicht in der Rep.-Anleitung der Einspritzanlage als Fehler dokumentiert ist.)<br />
<br />
Gibt es eigentlich überhaupt eine verlässliche Quelle für die Deutung mit "Kein KW-Signal" oder haben wir uns das nur zusammengereimt?</div>Chris601https://ladawiki.de/index.php?title=ALDL-Protokoll&diff=3582ALDL-Protokoll2014-04-02T04:17:19Z<p>Chris601: /* Der Inhalt der empfangenen Bytes */</p>
<hr />
<div>[[Datei:Efilog.png|200px|thumb|right|ALDL-Kommunikation im Log von EFIlive V4]]<br />
==Allgemein==<br />
ALDL - Assembly Line Data Link<br />
<br />
Das ALDL-Protokoll, welches Lada bei den SPI-Modellen verwendet, orientiert sich an den gängigen GM-Formaten. Leider gibt es kein anderes Fahrzeug, welches exakt den Lada-Code verwendet.<br />
<br />
Die Kommunikation mit dem [[Steuergerät SPI Euro2|Steuergerät]] erfolgt mit 8192 Baud mit TTL-typischer Spannung von 5V. Für die Kommunikation mit einem PC kann ein [[Eigenbau-Interface SPI|Eigenbau-Interface]] genutzt werden.<br />
<br />
==Kommunikation mit dem Steuergerät==<br />
===ALDL Modus 01 auswählen===<br />
Um an die Daten des Steuergerätes zu kommen, die sämtliche Sensorwerte, [[Fehlercode Euro2|gespeicherte Fehler]] und sonstige Fahrzeugdaten enthalten, ist es notwendig das Steuergerät in einem bestimmten Modus ''anzusprechen''. <br />
<br />
Der ALDL-Modus 1 (0x01) ist hierbei der Wichtigste. Angestoßen wird dieser, indem <pre>$F4,$57,$01,$20,$94</pre> zum Steuergerät gesendet wird. <br />
<pre><br />
$F4 = Frame ID <br />
$57 = Message length ($55+Anzahl Datenbytes)<br />
$01 = data byte 1 (hier Mode Number)<br />
$20 = data byte 2 (hier offensichtlich ein Parameter)<br />
$94 = Prüfsumme (die Berechnung dieser ist in der EFIlive-Hilfe erklärt)<br />
</pre><br />
<br />
===Antwort vom Steuergerät===<br />
Auf diesen Initialisierungsstring antwortet das Steuergerät einige Millisekunden später mit einem Datenwort aus 69 <br />
Bytes. Hier eine Beispiel-Kommunikation (Zeilenumbrüche eingefügt):<br />
<pre>gesendet: $F4,$57,$01,$20,$94<br />
empfangen:<br />
$F4,$97,$01,<br />
$19,$6D,$40,$04,$00,$74,$46,$11,$03,$32,<br />
$06,$1D,$00,$00,$19,$56,$FB,$78,$23,$7B,<br />
$06,$06,$50,$00,$F4,$60,$53,$B1,$50,$C7,<br />
$88,$94,$00,$00,$00,$66,$87,$70,$00,$F3,<br />
$A7,$00,$00,$85,$00,$00,$CC,$01,$20,$E9,<br />
$00,$81,$01,$80,$6F,$00,$00,$04,$A4,$09,<br />
$80,$0A,$44,$13,$00,$CB</pre><br />
<br />
==Der Inhalt der empfangenen Bytes== <br />
[[Datei:Eficonfig.jpg|200px|thumb|right|Auszug aus dem Configfile "nivatext.xml" für EFIlive von David Rolston]]<br />
Um die empfangenen Daten deuten zu können, muss man sich mit dem GM-typischen Protokollaufbau anderer GM-Steuerteile befassen. Eine Liste verschiedener Steuerteile und deren Codes findet sich hier: http://www.diy-efi.org/files/gmecm/ALDLstuff.zip<br />
<br />
David Rolston (http://ladaniva.co.uk) hat ein Configfile (http://www.ladaniva.co.uk/nivalive.zip) für [[EFILive V4]] geschrieben, welches einen Großteil der Bytes deuten kann.<br />
Dieses Configfile ist aktuell wahrscheinlich die vollständigste Zusammenfassung des Lada-ALDL-Protokolles, die verfügbar ist. Es stammt ursprünglich vermutlich von einem anderen Fahrzeug und enthält deshalb falsche Fragmente, die nicht zum Lada passen.<br />
<br />
Die empfangenen Bytes sind hier hexadezimal dargestellt. Die meisten Werte müssen zur Weiterverarbeitung in Dezimalzahlen (z.B. Sensorwerte) oder Binärdaten (z.B. Fehlercodes) umgerechnet werden.<br />
<br />
{| border="1"<br />
|Byte<br />
|Bedeutung<br />
|Faktor<br />
|Offset<br />
|Beispiel<br />
|Ergebnis<br />
|-<br />
| <br />
|Initialisierung (Frame-ID)<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
| <br />
|Initialisierung (Länge des Strings)<br />
|<br />
|<br />
|$97<br />
|<br />
|-<br />
| <br />
|ALDL-Modus<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|1(16bit)<br />
|Eprom-ID ($19$6D=Lada 21073, $19$63=Lada 21214)<br />
|<br />
|<br />
|$19$6D<br />
|Lada 21073<br />
|-<br />
|3<br />
|Fehlercodes 1 (Bit0=Fehler Nr.24, Bit1=23, Bit2=22, Bit3=21, Bit4=15, Bit5=14, Bit6=13,Bit7=12)<br />
|<br />
|<br />
|$40<br />
|<br />
|-<br />
|4<br />
|Fehlercodes 2 (Bit0=Fehler Nr.42, Bit1=41, Bit2=35, Bit3=34, Bit4=33, Bit5=32, Bit6=31,Bit7=25)<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|5<br />
|Fehlercodes 3 (Bit0=Fehler Nr.55, Bit1=54, Bit2=53, Bit3=26, Bit4=51, Bit5=45, Bit6=44,Bit7=43)<br />
| <br />
|<br />
|$00<br />
|<br />
|-<br />
|6<br />
|Kühlmitteltemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$74<br />
|47°C<br />
|-<br />
|7<br />
|Startup Coolant Temp (?)<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$46<br />
|12,5°C<br />
|-<br />
|8<br />
|Spannung Drosselklappensensor<br />
|0,019608<br />
|0<br />
|$11<br />
|0,33V<br />
|-<br />
|9<br />
|Drosselklappenöffnung in % <br />
|0,392157<br />
|0<br />
|$03<br />
|1,18%<br />
|-<br />
|10<br />
|Motordrehzahl <br />
|25<br />
|0<br />
|$32<br />
|1250 RPM<br />
|-<br />
|11<br />
|Refpulse MSB (?)<br />
|<br />
|<br />
|$06<br />
|<br />
|-<br />
|12<br />
|Refpulse LSB (?)<br />
|<br />
|<br />
|$1D<br />
|<br />
|-<br />
|13<br />
|Geschwindigkeit <br />
|1 (1,60934 für km/h) <br />
|<br />
|$00<br />
|0MPH<br />
|-<br />
|14<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|15<br />
|Spannung Lambdasonde<br />
|4,44<br />
|0<br />
|$19<br />
|111mV<br />
|-<br />
|16<br />
|O2-Sensor Cross Counts (?)<br />
|<br />
|<br />
|$56<br />
|<br />
|-<br />
|17<br />
|<br />
|<br />
|<br />
|$FB<br />
|<br />
|-<br />
|18<br />
|<br />
|<br />
|<br />
|$78<br />
|<br />
|-<br />
|19<br />
|<br />
|<br />
|<br />
|$23<br />
|<br />
|-<br />
|20<br />
|<br />
|<br />
|<br />
|$7B<br />
|<br />
|-<br />
|21<br />
|IST-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|22<br />
|SOLL-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|23<br />
|Solldrehzahl Leerlauf<br />
|12,5<br />
|0<br />
|$50<br />
|1000RPM<br />
|-<br />
|24<br />
|wahrscheinlich Ventil Aktivkohlefilter in %<br />
|0,392157 <br />
|0<br />
|$00<br />
|geschlossen<br />
|-<br />
|25<br />
|<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
|26<br />
|MAP (Unterdruck am Ansaug)<br />
|0,37<br />
|10,34<br />
|$60<br />
|46kPa<br />
|-<br />
|27<br />
|<br />
|<br />
|<br />
|$53<br />
|<br />
|-<br />
|28<br />
|<br />
|<br />
|<br />
|$B1<br />
|<br />
|-<br />
|29<br />
|Ansauglufttemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$50<br />
|40°C<br />
|-<br />
|30<br />
|<br />
|<br />
|<br />
|$C7<br />
|<br />
|-<br />
|31<br />
|Batteriespannung<br />
|0,1<br />
|0<br />
|$88<br />
|13,6V<br />
|-<br />
|32<br />
|[[ALDL-Protokoll#Byte 32, Zündzeitpunkt|Zündwinkelvorverstellung]]<br />
|0,351565<br />
|0<br />
|$94<br />
|52° (?)<br />
|-<br />
|33<br />
|Zündwinkelvorverstellung (?)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|34<br />
|Zündwinkelvorverstellung (?)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|35(16bit)<br />
|Einspritzdauer<br />
|0,07629<br />
|0<br />
|$00$66<br />
|7,78ms<br />
|-<br />
|37<br />
|SOLL-Verhältnis Luft/Kraftstoff<br />
|0,1<br />
|0<br />
|$87<br />
|13,5<br />
|-<br />
|38<br />
|<br />
|<br />
|<br />
|$70<br />
|<br />
|-<br />
|39<br />
|Motor Laufzeit (wird um 1 erhöht, wenn Bit40 bei 255 angekommen ist) <br />
|0<br />
|255<br />
|$00<br />
|0<br />
|-<br />
|40<br />
|Motor Laufzeit in Sekunden<br />
|0<br />
|1<br />
|$F3<br />
|243Sekunden<br />
|-<br />
|41<br />
|<br />
|<br />
|<br />
|$A7<br />
|<br />
|-<br />
|42<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|43<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|44<br />
|<br />
|<br />
|<br />
|$85<br />
|<br />
|-<br />
|45<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|46<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|47<br />
|<br />
|<br />
|<br />
|$CC<br />
|<br />
|-<br />
|48<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|49<br />
|<br />
|<br />
|<br />
|$20<br />
|<br />
|-<br />
|50<br />
|Modeword1 (Bit1=Fahrzeug bewegt sich, Bit7=Motor läuft)<br />
|<br />
|<br />
|$E9<br />
|Bit1=0 steht; Bit7=1 Motor läuft<br />
|-<br />
|51<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|52<br />
|CLCCMW (Bit3=Schubabschaltung aktiv, Bit7=Drosselklappe geschlossen)<br />
|<br />
|<br />
|$81<br />
|Bit3=0 Schubabschaltung nicht aktiv, Bit7=1 Drosselklappe geschlossen<br />
|-<br />
|53<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|54<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|55<br />
|<br />
|<br />
|<br />
|$6F<br />
|<br />
|-<br />
|56<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|57<br />
|LCCPMW (Bit0 Motorlüfter aktiv)<br />
|<br />
|<br />
|$00<br />
|Bit0=0 Motorlüfter nicht aktiv<br />
|-<br />
|58<br />
|<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|59<br />
|<br />
|<br />
|<br />
|$A4<br />
|<br />
|-<br />
|60<br />
|<br />
|<br />
|<br />
|$09<br />
|<br />
|-<br />
|61<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|62<br />
|<br />
|<br />
|<br />
|$0A<br />
|<br />
|-<br />
|63<br />
|<br />
|<br />
|<br />
|$44<br />
|<br />
|-<br />
|64<br />
|<br />
|<br />
|<br />
|$13<br />
|<br />
|-<br />
|65<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|66<br />
|Prüfsumme<br />
|<br />
|<br />
|$CB<br />
|<br />
<br />
|}<br />
(Tabelle wird ergänzt, die mit Fragezeichen versehenen Felder sollten besser beschrieben werden bzw. müssen noch verstanden werden)<br />
<br />
==Aktuelle Probleme und Unklarheiten== <br />
===Byte 32, Zündzeitpunkt===<br />
Dieses Byte soll den Wert des Zündzeitpunktes im Bezug auf den OT angeben. Er sollte Werte von 0 bis 40 ($00 bis $72) haben und gibt an, wieviel Grad vor OT gezündet wird. <br />
Wir gehen für die Berechnung von einem Faktor von 0,351565 aus. In unteren Drehzahlbereichen werden aber größere Winkel (teilweise >40°) angezeigt, die weder stimmen können noch mit Werten übereinstimmen, die ein TECH1 zu diesem Zeitpunkt liefert.<br />
Bei höheren Drehzahlen befinden sich die übermittelten Werte in denkbaren Größenordnungen. <br />
Möglicherweise muss auf den Hexadezimalwert zunächst das [http://de.wikipedia.org/wiki/Zweierkomplement Zweierkomplement] oder ähnliche Umrechnungen angewandt werden.<br />
===Aktoren===<br />
Die Zustände aller Aktoren außer des Leerlaufreglers, des Lüfters und vermutlich des Ventils des Aktivkohlefilters (Lambdasondenheizung, Saugrohrheizung, Benzinpumpe) sind bisher nicht erkennbar. Vermutet wird eine binäre Übertragung in einem Modeword.<br />
<br />
===Löschen der gespeicherten Fehler=== <br />
Vielleicht ALDL-Modus 10 (0x0A) oder 4 (0x04)<br />
<br />
In der config-Datei von David Rolston für EFIlive findet sich hier der Initialisierungsstring „$F4,$57,$0A,$20,$8B“, der aber nicht funktioniert. Hier muss geforscht werden. <br />
Wenn man Fehler mit einem TECH1 zurücksetzt wäre es denkbar, dabei den Datenstrom mit einem PC zu beobachten. <br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=ALDL-Protokoll&diff=3579ALDL-Protokoll2014-03-29T02:18:03Z<p>Chris601: /* Löschen der gespeicherten Fehler */</p>
<hr />
<div>[[Datei:Efilog.png|200px|thumb|right|ALDL-Kommunikation im Log von EFIlive V4]]<br />
==Allgemein==<br />
ALDL - Assembly Line Data Link<br />
<br />
Das ALDL-Protokoll, welches Lada bei den SPI-Modellen verwendet, orientiert sich an den gängigen GM-Formaten. Leider gibt es kein anderes Fahrzeug, welches exakt den Lada-Code verwendet.<br />
<br />
Die Kommunikation mit dem [[Steuergerät SPI Euro2|Steuergerät]] erfolgt mit 8192 Baud mit TTL-typischer Spannung von 5V. Für die Kommunikation mit einem PC kann ein [[Eigenbau-Interface SPI|Eigenbau-Interface]] genutzt werden.<br />
<br />
==Kommunikation mit dem Steuergerät==<br />
===ALDL Modus 01 auswählen===<br />
Um an die Daten des Steuergerätes zu kommen, die sämtliche Sensorwerte, [[Fehlercode Euro2|gespeicherte Fehler]] und sonstige Fahrzeugdaten enthalten, ist es notwendig das Steuergerät in einem bestimmten Modus ''anzusprechen''. <br />
<br />
Der ALDL-Modus 1 (0x01) ist hierbei der Wichtigste. Angestoßen wird dieser, indem <pre>$F4,$57,$01,$20,$94</pre> zum Steuergerät gesendet wird. <br />
<pre><br />
$F4 = Frame ID <br />
$57 = Message length ($55+Anzahl Datenbytes)<br />
$01 = data byte 1 (hier Mode Number)<br />
$20 = data byte 2 (hier offensichtlich ein Parameter)<br />
$94 = Prüfsumme (die Berechnung dieser ist in der EFIlive-Hilfe erklärt)<br />
</pre><br />
<br />
===Antwort vom Steuergerät===<br />
Auf diesen Initialisierungsstring antwortet das Steuergerät einige Millisekunden später mit einem Datenwort aus 69 <br />
Bytes. Hier eine Beispiel-Kommunikation (Zeilenumbrüche eingefügt):<br />
<pre>gesendet: $F4,$57,$01,$20,$94<br />
empfangen:<br />
$F4,$97,$01,<br />
$19,$6D,$40,$04,$00,$74,$46,$11,$03,$32,<br />
$06,$1D,$00,$00,$19,$56,$FB,$78,$23,$7B,<br />
$06,$06,$50,$00,$F4,$60,$53,$B1,$50,$C7,<br />
$88,$94,$00,$00,$00,$66,$87,$70,$00,$F3,<br />
$A7,$00,$00,$85,$00,$00,$CC,$01,$20,$E9,<br />
$00,$81,$01,$80,$6F,$00,$00,$04,$A4,$09,<br />
$80,$0A,$44,$13,$00,$CB</pre><br />
<br />
==Der Inhalt der empfangenen Bytes== <br />
[[Datei:Eficonfig.jpg|200px|thumb|right|Auszug aus dem Configfile "nivatext.xml" für EFIlive von David Rolston]]<br />
Um die empfangenen Daten deuten zu können, muss man sich mit dem GM-typischen Protokollaufbau anderer GM-Steuerteile befassen. Eine Liste verschiedener Steuerteile und deren Codes findet sich hier: http://www.diy-efi.org/files/gmecm/ALDLstuff.zip<br />
<br />
David Rolston (http://ladaniva.co.uk) hat ein Configfile (http://www.ladaniva.co.uk/nivalive.zip) für [[EFILive V4]] geschrieben, welches einen Großteil der Bytes deuten kann.<br />
Dieses Configfile ist aktuell wahrscheinlich die vollständigste Zusammenfassung des Lada-ALDL-Protokolles, die verfügbar ist. Es stammt ursprünglich vermutlich von einem anderen Fahrzeug und enthält deshalb falsche Fragmente, die nicht zum Lada passen.<br />
<br />
Die empfangenen Bytes sind hier hexadezimal dargestellt. Die meisten Werte müssen zur Weiterverarbeitung in Dezimalzahlen (z.B. Sensorwerte) oder Binärdaten (z.B. Fehlercodes) umgerechnet werden.<br />
<br />
{| border="1"<br />
|Byte<br />
|Bedeutung<br />
|Faktor<br />
|Offset<br />
|Beispiel<br />
|Ergebnis<br />
|-<br />
| <br />
|Initialisierung (Frame-ID)<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
| <br />
|Initialisierung (Länge des Strings)<br />
|<br />
|<br />
|$97<br />
|<br />
|-<br />
| <br />
|ALDL-Modus<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|1(16bit)<br />
|Eprom-ID ($19$6D=Lada 21073, $19$63=Lada 21214)<br />
|<br />
|<br />
|$19$6D<br />
|Lada 21073<br />
|-<br />
|3<br />
|Fehlercodes 1 (Bit0=Fehler Nr.24, Bit1=23, Bit2=22, Bit3=21, Bit4=15, Bit5=14, Bit6=13,Bit7=12)<br />
|<br />
|<br />
|$40<br />
|<br />
|-<br />
|4<br />
|Fehlercodes 2 (Bit0=Fehler Nr.42, Bit1=41, Bit2=35, Bit3=34, Bit4=33, Bit5=32, Bit6=31,Bit7=25)<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|5<br />
|Fehlercodes 3 (Bit0=Fehler Nr.55, Bit1=54, Bit2=53, Bit3=26, Bit4=51, Bit5=45, Bit6=44,Bit7=43)<br />
| <br />
|<br />
|$00<br />
|<br />
|-<br />
|6<br />
|Kühlmitteltemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$74<br />
|47°C<br />
|-<br />
|7<br />
|Startup Coolant Temp (?)<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$46<br />
|12,5°C<br />
|-<br />
|8<br />
|Spannung Drosselklappensensor<br />
|0,019608<br />
|0<br />
|$11<br />
|0,33V<br />
|-<br />
|9<br />
|Drosselklappenöffnung in % <br />
|0,392157<br />
|0<br />
|$03<br />
|1,18%<br />
|-<br />
|10<br />
|Motordrehzahl <br />
|25<br />
|0<br />
|$32<br />
|1250 RPM<br />
|-<br />
|11<br />
|Refpulse MSB (?)<br />
|<br />
|<br />
|$06<br />
|<br />
|-<br />
|12<br />
|Refpulse LSB (?)<br />
|<br />
|<br />
|$1D<br />
|<br />
|-<br />
|13<br />
|Geschwindigkeit <br />
|1 (1,60934 für km/h) <br />
|<br />
|$00<br />
|0MPH<br />
|-<br />
|14<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|15<br />
|Spannung Lambdasonde<br />
|4,44<br />
|0<br />
|$19<br />
|111mV<br />
|-<br />
|16<br />
|O2-Sensor Cross Counts (?)<br />
|<br />
|<br />
|$56<br />
|<br />
|-<br />
|17<br />
|<br />
|<br />
|<br />
|$FB<br />
|<br />
|-<br />
|18<br />
|<br />
|<br />
|<br />
|$78<br />
|<br />
|-<br />
|19<br />
|<br />
|<br />
|<br />
|$23<br />
|<br />
|-<br />
|20<br />
|<br />
|<br />
|<br />
|$7B<br />
|<br />
|-<br />
|21<br />
|IST-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|22<br />
|SOLL-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|23<br />
|Solldrehzahl Leerlauf<br />
|12,5<br />
|0<br />
|$50<br />
|1000RPM<br />
|-<br />
|24<br />
|wahrscheinlich Ventil Aktivkohlefilter in %<br />
|0,392157 <br />
|0<br />
|$00<br />
|geschlossen<br />
|-<br />
|25<br />
|<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
|26<br />
|MAP (Unterdruck am Ansaug)<br />
|0,37<br />
|10,34<br />
|$60<br />
|46kPa<br />
|-<br />
|27<br />
|<br />
|<br />
|<br />
|$53<br />
|<br />
|-<br />
|28<br />
|<br />
|<br />
|<br />
|$B1<br />
|<br />
|-<br />
|29<br />
|Ansauglufttemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$50<br />
|40°C<br />
|-<br />
|30<br />
|<br />
|<br />
|<br />
|$C7<br />
|<br />
|-<br />
|31<br />
|Batteriespannung<br />
|0,1<br />
|0<br />
|$88<br />
|13,6V<br />
|-<br />
|32<br />
|[[ALDL-Protokoll#Byte 32, Zündzeitpunkt|Zündwinkelvorverstellung]]<br />
|0,351565<br />
|0<br />
|$94<br />
|52° (?)<br />
|-<br />
|33<br />
|Zündwinkelvorverstellung (?)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|34<br />
|Zündwinkelvorverstellung (?)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|35(16bit)<br />
|Einspritzdauer<br />
|0,07629<br />
|0<br />
|$00$66<br />
|7,78ms<br />
|-<br />
|37<br />
|SOLL-Verhältnis Luft/Kraftstoff<br />
|0,1<br />
|0<br />
|$87<br />
|13,5<br />
|-<br />
|38<br />
|<br />
|<br />
|<br />
|$70<br />
|<br />
|-<br />
|39<br />
|Motor Laufzeit (wird um 1 erhöht, wenn Bit40 bei 255 angekommen ist) <br />
|0<br />
|255<br />
|$00<br />
|0<br />
|-<br />
|40<br />
|Motor Laufzeit in Sekunden<br />
|0<br />
|1<br />
|$F3<br />
|243Sekunden<br />
|-<br />
|41<br />
|<br />
|<br />
|<br />
|$A7<br />
|<br />
|-<br />
|42<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|43<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|44<br />
|<br />
|<br />
|<br />
|$85<br />
|<br />
|-<br />
|45<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|46<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|47<br />
|<br />
|<br />
|<br />
|$CC<br />
|<br />
|-<br />
|48<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|49<br />
|<br />
|<br />
|<br />
|$20<br />
|<br />
|-<br />
|50<br />
|Modeword1 (Bit1=Fahrzeug bewegt sich, Bit7=Motor läuft)<br />
|<br />
|<br />
|$E9<br />
|Bit1=0 steht; Bit7=1 Motor läuft<br />
|-<br />
|51<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|52<br />
|CLCCMW (Bit3=Schubabschaltung aktiv)<br />
|<br />
|<br />
|$81<br />
|Bit3=0 Schubabschaltung nicht aktiv<br />
|-<br />
|53<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|54<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|55<br />
|<br />
|<br />
|<br />
|$6F<br />
|<br />
|-<br />
|56<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|57<br />
|LCCPMW (Bit0 Motorlüfter aktiv)<br />
|<br />
|<br />
|$00<br />
|Bit0=0 Motorlüfter nicht aktiv<br />
|-<br />
|58<br />
|<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|59<br />
|<br />
|<br />
|<br />
|$A4<br />
|<br />
|-<br />
|60<br />
|<br />
|<br />
|<br />
|$09<br />
|<br />
|-<br />
|61<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|62<br />
|<br />
|<br />
|<br />
|$0A<br />
|<br />
|-<br />
|63<br />
|<br />
|<br />
|<br />
|$44<br />
|<br />
|-<br />
|64<br />
|<br />
|<br />
|<br />
|$13<br />
|<br />
|-<br />
|65<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|66<br />
|Prüfsumme<br />
|<br />
|<br />
|$CB<br />
|<br />
<br />
|}<br />
(Tabelle wird ergänzt, die mit Fragezeichen versehenen Felder sollten besser beschrieben werden bzw. müssen noch verstanden werden)<br />
<br />
==Aktuelle Probleme und Unklarheiten== <br />
===Byte 32, Zündzeitpunkt===<br />
Dieses Byte soll den Wert des Zündzeitpunktes im Bezug auf den OT angeben. Er sollte Werte von 0 bis 40 ($00 bis $72) haben und gibt an, wieviel Grad vor OT gezündet wird. <br />
Wir gehen für die Berechnung von einem Faktor von 0,351565 aus. In unteren Drehzahlbereichen werden aber größere Winkel (teilweise >40°) angezeigt, die weder stimmen können noch mit Werten übereinstimmen, die ein TECH1 zu diesem Zeitpunkt liefert.<br />
Bei höheren Drehzahlen befinden sich die übermittelten Werte in denkbaren Größenordnungen. <br />
Möglicherweise muss auf den Hexadezimalwert zunächst das [http://de.wikipedia.org/wiki/Zweierkomplement Zweierkomplement] oder ähnliche Umrechnungen angewandt werden.<br />
===Aktoren===<br />
Die Zustände aller Aktoren außer des Leerlaufreglers, des Lüfters und vermutlich des Ventils des Aktivkohlefilters (Lambdasondenheizung, Saugrohrheizung, Benzinpumpe) sind bisher nicht erkennbar. Vermutet wird eine binäre Übertragung in einem Modeword.<br />
<br />
===Löschen der gespeicherten Fehler=== <br />
Vielleicht ALDL-Modus 10 (0x0A) oder 4 (0x04)<br />
<br />
In der config-Datei von David Rolston für EFIlive findet sich hier der Initialisierungsstring „$F4,$57,$0A,$20,$8B“, der aber nicht funktioniert. Hier muss geforscht werden. <br />
Wenn man Fehler mit einem TECH1 zurücksetzt wäre es denkbar, dabei den Datenstrom mit einem PC zu beobachten. <br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=ALDL-Protokoll&diff=3578ALDL-Protokoll2014-03-29T02:16:22Z<p>Chris601: /* Aktoren */</p>
<hr />
<div>[[Datei:Efilog.png|200px|thumb|right|ALDL-Kommunikation im Log von EFIlive V4]]<br />
==Allgemein==<br />
ALDL - Assembly Line Data Link<br />
<br />
Das ALDL-Protokoll, welches Lada bei den SPI-Modellen verwendet, orientiert sich an den gängigen GM-Formaten. Leider gibt es kein anderes Fahrzeug, welches exakt den Lada-Code verwendet.<br />
<br />
Die Kommunikation mit dem [[Steuergerät SPI Euro2|Steuergerät]] erfolgt mit 8192 Baud mit TTL-typischer Spannung von 5V. Für die Kommunikation mit einem PC kann ein [[Eigenbau-Interface SPI|Eigenbau-Interface]] genutzt werden.<br />
<br />
==Kommunikation mit dem Steuergerät==<br />
===ALDL Modus 01 auswählen===<br />
Um an die Daten des Steuergerätes zu kommen, die sämtliche Sensorwerte, [[Fehlercode Euro2|gespeicherte Fehler]] und sonstige Fahrzeugdaten enthalten, ist es notwendig das Steuergerät in einem bestimmten Modus ''anzusprechen''. <br />
<br />
Der ALDL-Modus 1 (0x01) ist hierbei der Wichtigste. Angestoßen wird dieser, indem <pre>$F4,$57,$01,$20,$94</pre> zum Steuergerät gesendet wird. <br />
<pre><br />
$F4 = Frame ID <br />
$57 = Message length ($55+Anzahl Datenbytes)<br />
$01 = data byte 1 (hier Mode Number)<br />
$20 = data byte 2 (hier offensichtlich ein Parameter)<br />
$94 = Prüfsumme (die Berechnung dieser ist in der EFIlive-Hilfe erklärt)<br />
</pre><br />
<br />
===Antwort vom Steuergerät===<br />
Auf diesen Initialisierungsstring antwortet das Steuergerät einige Millisekunden später mit einem Datenwort aus 69 <br />
Bytes. Hier eine Beispiel-Kommunikation (Zeilenumbrüche eingefügt):<br />
<pre>gesendet: $F4,$57,$01,$20,$94<br />
empfangen:<br />
$F4,$97,$01,<br />
$19,$6D,$40,$04,$00,$74,$46,$11,$03,$32,<br />
$06,$1D,$00,$00,$19,$56,$FB,$78,$23,$7B,<br />
$06,$06,$50,$00,$F4,$60,$53,$B1,$50,$C7,<br />
$88,$94,$00,$00,$00,$66,$87,$70,$00,$F3,<br />
$A7,$00,$00,$85,$00,$00,$CC,$01,$20,$E9,<br />
$00,$81,$01,$80,$6F,$00,$00,$04,$A4,$09,<br />
$80,$0A,$44,$13,$00,$CB</pre><br />
<br />
==Der Inhalt der empfangenen Bytes== <br />
[[Datei:Eficonfig.jpg|200px|thumb|right|Auszug aus dem Configfile "nivatext.xml" für EFIlive von David Rolston]]<br />
Um die empfangenen Daten deuten zu können, muss man sich mit dem GM-typischen Protokollaufbau anderer GM-Steuerteile befassen. Eine Liste verschiedener Steuerteile und deren Codes findet sich hier: http://www.diy-efi.org/files/gmecm/ALDLstuff.zip<br />
<br />
David Rolston (http://ladaniva.co.uk) hat ein Configfile (http://www.ladaniva.co.uk/nivalive.zip) für [[EFILive V4]] geschrieben, welches einen Großteil der Bytes deuten kann.<br />
Dieses Configfile ist aktuell wahrscheinlich die vollständigste Zusammenfassung des Lada-ALDL-Protokolles, die verfügbar ist. Es stammt ursprünglich vermutlich von einem anderen Fahrzeug und enthält deshalb falsche Fragmente, die nicht zum Lada passen.<br />
<br />
Die empfangenen Bytes sind hier hexadezimal dargestellt. Die meisten Werte müssen zur Weiterverarbeitung in Dezimalzahlen (z.B. Sensorwerte) oder Binärdaten (z.B. Fehlercodes) umgerechnet werden.<br />
<br />
{| border="1"<br />
|Byte<br />
|Bedeutung<br />
|Faktor<br />
|Offset<br />
|Beispiel<br />
|Ergebnis<br />
|-<br />
| <br />
|Initialisierung (Frame-ID)<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
| <br />
|Initialisierung (Länge des Strings)<br />
|<br />
|<br />
|$97<br />
|<br />
|-<br />
| <br />
|ALDL-Modus<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|1(16bit)<br />
|Eprom-ID ($19$6D=Lada 21073, $19$63=Lada 21214)<br />
|<br />
|<br />
|$19$6D<br />
|Lada 21073<br />
|-<br />
|3<br />
|Fehlercodes 1 (Bit0=Fehler Nr.24, Bit1=23, Bit2=22, Bit3=21, Bit4=15, Bit5=14, Bit6=13,Bit7=12)<br />
|<br />
|<br />
|$40<br />
|<br />
|-<br />
|4<br />
|Fehlercodes 2 (Bit0=Fehler Nr.42, Bit1=41, Bit2=35, Bit3=34, Bit4=33, Bit5=32, Bit6=31,Bit7=25)<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|5<br />
|Fehlercodes 3 (Bit0=Fehler Nr.55, Bit1=54, Bit2=53, Bit3=26, Bit4=51, Bit5=45, Bit6=44,Bit7=43)<br />
| <br />
|<br />
|$00<br />
|<br />
|-<br />
|6<br />
|Kühlmitteltemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$74<br />
|47°C<br />
|-<br />
|7<br />
|Startup Coolant Temp (?)<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$46<br />
|12,5°C<br />
|-<br />
|8<br />
|Spannung Drosselklappensensor<br />
|0,019608<br />
|0<br />
|$11<br />
|0,33V<br />
|-<br />
|9<br />
|Drosselklappenöffnung in % <br />
|0,392157<br />
|0<br />
|$03<br />
|1,18%<br />
|-<br />
|10<br />
|Motordrehzahl <br />
|25<br />
|0<br />
|$32<br />
|1250 RPM<br />
|-<br />
|11<br />
|Refpulse MSB (?)<br />
|<br />
|<br />
|$06<br />
|<br />
|-<br />
|12<br />
|Refpulse LSB (?)<br />
|<br />
|<br />
|$1D<br />
|<br />
|-<br />
|13<br />
|Geschwindigkeit <br />
|1 (1,60934 für km/h) <br />
|<br />
|$00<br />
|0MPH<br />
|-<br />
|14<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|15<br />
|Spannung Lambdasonde<br />
|4,44<br />
|0<br />
|$19<br />
|111mV<br />
|-<br />
|16<br />
|O2-Sensor Cross Counts (?)<br />
|<br />
|<br />
|$56<br />
|<br />
|-<br />
|17<br />
|<br />
|<br />
|<br />
|$FB<br />
|<br />
|-<br />
|18<br />
|<br />
|<br />
|<br />
|$78<br />
|<br />
|-<br />
|19<br />
|<br />
|<br />
|<br />
|$23<br />
|<br />
|-<br />
|20<br />
|<br />
|<br />
|<br />
|$7B<br />
|<br />
|-<br />
|21<br />
|IST-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|22<br />
|SOLL-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|23<br />
|Solldrehzahl Leerlauf<br />
|12,5<br />
|0<br />
|$50<br />
|1000RPM<br />
|-<br />
|24<br />
|wahrscheinlich Ventil Aktivkohlefilter in %<br />
|0,392157 <br />
|0<br />
|$00<br />
|geschlossen<br />
|-<br />
|25<br />
|<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
|26<br />
|MAP (Unterdruck am Ansaug)<br />
|0,37<br />
|10,34<br />
|$60<br />
|46kPa<br />
|-<br />
|27<br />
|<br />
|<br />
|<br />
|$53<br />
|<br />
|-<br />
|28<br />
|<br />
|<br />
|<br />
|$B1<br />
|<br />
|-<br />
|29<br />
|Ansauglufttemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$50<br />
|40°C<br />
|-<br />
|30<br />
|<br />
|<br />
|<br />
|$C7<br />
|<br />
|-<br />
|31<br />
|Batteriespannung<br />
|0,1<br />
|0<br />
|$88<br />
|13,6V<br />
|-<br />
|32<br />
|[[ALDL-Protokoll#Byte 32, Zündzeitpunkt|Zündwinkelvorverstellung]]<br />
|0,351565<br />
|0<br />
|$94<br />
|52° (?)<br />
|-<br />
|33<br />
|Zündwinkelvorverstellung (?)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|34<br />
|Zündwinkelvorverstellung (?)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|35(16bit)<br />
|Einspritzdauer<br />
|0,07629<br />
|0<br />
|$00$66<br />
|7,78ms<br />
|-<br />
|37<br />
|SOLL-Verhältnis Luft/Kraftstoff<br />
|0,1<br />
|0<br />
|$87<br />
|13,5<br />
|-<br />
|38<br />
|<br />
|<br />
|<br />
|$70<br />
|<br />
|-<br />
|39<br />
|Motor Laufzeit (wird um 1 erhöht, wenn Bit40 bei 255 angekommen ist) <br />
|0<br />
|255<br />
|$00<br />
|0<br />
|-<br />
|40<br />
|Motor Laufzeit in Sekunden<br />
|0<br />
|1<br />
|$F3<br />
|243Sekunden<br />
|-<br />
|41<br />
|<br />
|<br />
|<br />
|$A7<br />
|<br />
|-<br />
|42<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|43<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|44<br />
|<br />
|<br />
|<br />
|$85<br />
|<br />
|-<br />
|45<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|46<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|47<br />
|<br />
|<br />
|<br />
|$CC<br />
|<br />
|-<br />
|48<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|49<br />
|<br />
|<br />
|<br />
|$20<br />
|<br />
|-<br />
|50<br />
|Modeword1 (Bit1=Fahrzeug bewegt sich, Bit7=Motor läuft)<br />
|<br />
|<br />
|$E9<br />
|Bit1=0 steht; Bit7=1 Motor läuft<br />
|-<br />
|51<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|52<br />
|CLCCMW (Bit3=Schubabschaltung aktiv)<br />
|<br />
|<br />
|$81<br />
|Bit3=0 Schubabschaltung nicht aktiv<br />
|-<br />
|53<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|54<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|55<br />
|<br />
|<br />
|<br />
|$6F<br />
|<br />
|-<br />
|56<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|57<br />
|LCCPMW (Bit0 Motorlüfter aktiv)<br />
|<br />
|<br />
|$00<br />
|Bit0=0 Motorlüfter nicht aktiv<br />
|-<br />
|58<br />
|<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|59<br />
|<br />
|<br />
|<br />
|$A4<br />
|<br />
|-<br />
|60<br />
|<br />
|<br />
|<br />
|$09<br />
|<br />
|-<br />
|61<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|62<br />
|<br />
|<br />
|<br />
|$0A<br />
|<br />
|-<br />
|63<br />
|<br />
|<br />
|<br />
|$44<br />
|<br />
|-<br />
|64<br />
|<br />
|<br />
|<br />
|$13<br />
|<br />
|-<br />
|65<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|66<br />
|Prüfsumme<br />
|<br />
|<br />
|$CB<br />
|<br />
<br />
|}<br />
(Tabelle wird ergänzt, die mit Fragezeichen versehenen Felder sollten besser beschrieben werden bzw. müssen noch verstanden werden)<br />
<br />
==Aktuelle Probleme und Unklarheiten== <br />
===Byte 32, Zündzeitpunkt===<br />
Dieses Byte soll den Wert des Zündzeitpunktes im Bezug auf den OT angeben. Er sollte Werte von 0 bis 40 ($00 bis $72) haben und gibt an, wieviel Grad vor OT gezündet wird. <br />
Wir gehen für die Berechnung von einem Faktor von 0,351565 aus. In unteren Drehzahlbereichen werden aber größere Winkel (teilweise >40°) angezeigt, die weder stimmen können noch mit Werten übereinstimmen, die ein TECH1 zu diesem Zeitpunkt liefert.<br />
Bei höheren Drehzahlen befinden sich die übermittelten Werte in denkbaren Größenordnungen. <br />
Möglicherweise muss auf den Hexadezimalwert zunächst das [http://de.wikipedia.org/wiki/Zweierkomplement Zweierkomplement] oder ähnliche Umrechnungen angewandt werden.<br />
===Aktoren===<br />
Die Zustände aller Aktoren außer des Leerlaufreglers, des Lüfters und vermutlich des Ventils des Aktivkohlefilters (Lambdasondenheizung, Saugrohrheizung, Benzinpumpe) sind bisher nicht erkennbar. Vermutet wird eine binäre Übertragung in einem Modeword.<br />
<br />
===Löschen der gespeicherten Fehler=== <br />
ALDL-Modus 10 (0x0A)<br />
<br />
In der config-Datei von David Rolston für EFIlive findet sich hier der Initialisierungsstring „$F4,$57,$0A,$20,$8B“, der aber nicht funktioniert. Hier muss geforscht werden. <br />
Wenn man Fehler mit einem TECH1 zurücksetzt wäre es denkbar, dabei den Datenstrom mit einem PC zu beobachten. <br />
Andere mögliche Lösungsansätze um den richtigen Code zu ermitteln wären ein ''Brute-Force-Angriff'' mit allen möglichen Codes oder der Vergleich mit anderen gängigen Codes aus oben genannter Liste anderer GM-Steuergeräte.<br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=ALDL-Protokoll&diff=3577ALDL-Protokoll2014-03-29T02:13:15Z<p>Chris601: /* Der Inhalt der empfangenen Bytes */</p>
<hr />
<div>[[Datei:Efilog.png|200px|thumb|right|ALDL-Kommunikation im Log von EFIlive V4]]<br />
==Allgemein==<br />
ALDL - Assembly Line Data Link<br />
<br />
Das ALDL-Protokoll, welches Lada bei den SPI-Modellen verwendet, orientiert sich an den gängigen GM-Formaten. Leider gibt es kein anderes Fahrzeug, welches exakt den Lada-Code verwendet.<br />
<br />
Die Kommunikation mit dem [[Steuergerät SPI Euro2|Steuergerät]] erfolgt mit 8192 Baud mit TTL-typischer Spannung von 5V. Für die Kommunikation mit einem PC kann ein [[Eigenbau-Interface SPI|Eigenbau-Interface]] genutzt werden.<br />
<br />
==Kommunikation mit dem Steuergerät==<br />
===ALDL Modus 01 auswählen===<br />
Um an die Daten des Steuergerätes zu kommen, die sämtliche Sensorwerte, [[Fehlercode Euro2|gespeicherte Fehler]] und sonstige Fahrzeugdaten enthalten, ist es notwendig das Steuergerät in einem bestimmten Modus ''anzusprechen''. <br />
<br />
Der ALDL-Modus 1 (0x01) ist hierbei der Wichtigste. Angestoßen wird dieser, indem <pre>$F4,$57,$01,$20,$94</pre> zum Steuergerät gesendet wird. <br />
<pre><br />
$F4 = Frame ID <br />
$57 = Message length ($55+Anzahl Datenbytes)<br />
$01 = data byte 1 (hier Mode Number)<br />
$20 = data byte 2 (hier offensichtlich ein Parameter)<br />
$94 = Prüfsumme (die Berechnung dieser ist in der EFIlive-Hilfe erklärt)<br />
</pre><br />
<br />
===Antwort vom Steuergerät===<br />
Auf diesen Initialisierungsstring antwortet das Steuergerät einige Millisekunden später mit einem Datenwort aus 69 <br />
Bytes. Hier eine Beispiel-Kommunikation (Zeilenumbrüche eingefügt):<br />
<pre>gesendet: $F4,$57,$01,$20,$94<br />
empfangen:<br />
$F4,$97,$01,<br />
$19,$6D,$40,$04,$00,$74,$46,$11,$03,$32,<br />
$06,$1D,$00,$00,$19,$56,$FB,$78,$23,$7B,<br />
$06,$06,$50,$00,$F4,$60,$53,$B1,$50,$C7,<br />
$88,$94,$00,$00,$00,$66,$87,$70,$00,$F3,<br />
$A7,$00,$00,$85,$00,$00,$CC,$01,$20,$E9,<br />
$00,$81,$01,$80,$6F,$00,$00,$04,$A4,$09,<br />
$80,$0A,$44,$13,$00,$CB</pre><br />
<br />
==Der Inhalt der empfangenen Bytes== <br />
[[Datei:Eficonfig.jpg|200px|thumb|right|Auszug aus dem Configfile "nivatext.xml" für EFIlive von David Rolston]]<br />
Um die empfangenen Daten deuten zu können, muss man sich mit dem GM-typischen Protokollaufbau anderer GM-Steuerteile befassen. Eine Liste verschiedener Steuerteile und deren Codes findet sich hier: http://www.diy-efi.org/files/gmecm/ALDLstuff.zip<br />
<br />
David Rolston (http://ladaniva.co.uk) hat ein Configfile (http://www.ladaniva.co.uk/nivalive.zip) für [[EFILive V4]] geschrieben, welches einen Großteil der Bytes deuten kann.<br />
Dieses Configfile ist aktuell wahrscheinlich die vollständigste Zusammenfassung des Lada-ALDL-Protokolles, die verfügbar ist. Es stammt ursprünglich vermutlich von einem anderen Fahrzeug und enthält deshalb falsche Fragmente, die nicht zum Lada passen.<br />
<br />
Die empfangenen Bytes sind hier hexadezimal dargestellt. Die meisten Werte müssen zur Weiterverarbeitung in Dezimalzahlen (z.B. Sensorwerte) oder Binärdaten (z.B. Fehlercodes) umgerechnet werden.<br />
<br />
{| border="1"<br />
|Byte<br />
|Bedeutung<br />
|Faktor<br />
|Offset<br />
|Beispiel<br />
|Ergebnis<br />
|-<br />
| <br />
|Initialisierung (Frame-ID)<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
| <br />
|Initialisierung (Länge des Strings)<br />
|<br />
|<br />
|$97<br />
|<br />
|-<br />
| <br />
|ALDL-Modus<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|1(16bit)<br />
|Eprom-ID ($19$6D=Lada 21073, $19$63=Lada 21214)<br />
|<br />
|<br />
|$19$6D<br />
|Lada 21073<br />
|-<br />
|3<br />
|Fehlercodes 1 (Bit0=Fehler Nr.24, Bit1=23, Bit2=22, Bit3=21, Bit4=15, Bit5=14, Bit6=13,Bit7=12)<br />
|<br />
|<br />
|$40<br />
|<br />
|-<br />
|4<br />
|Fehlercodes 2 (Bit0=Fehler Nr.42, Bit1=41, Bit2=35, Bit3=34, Bit4=33, Bit5=32, Bit6=31,Bit7=25)<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|5<br />
|Fehlercodes 3 (Bit0=Fehler Nr.55, Bit1=54, Bit2=53, Bit3=26, Bit4=51, Bit5=45, Bit6=44,Bit7=43)<br />
| <br />
|<br />
|$00<br />
|<br />
|-<br />
|6<br />
|Kühlmitteltemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$74<br />
|47°C<br />
|-<br />
|7<br />
|Startup Coolant Temp (?)<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$46<br />
|12,5°C<br />
|-<br />
|8<br />
|Spannung Drosselklappensensor<br />
|0,019608<br />
|0<br />
|$11<br />
|0,33V<br />
|-<br />
|9<br />
|Drosselklappenöffnung in % <br />
|0,392157<br />
|0<br />
|$03<br />
|1,18%<br />
|-<br />
|10<br />
|Motordrehzahl <br />
|25<br />
|0<br />
|$32<br />
|1250 RPM<br />
|-<br />
|11<br />
|Refpulse MSB (?)<br />
|<br />
|<br />
|$06<br />
|<br />
|-<br />
|12<br />
|Refpulse LSB (?)<br />
|<br />
|<br />
|$1D<br />
|<br />
|-<br />
|13<br />
|Geschwindigkeit <br />
|1 (1,60934 für km/h) <br />
|<br />
|$00<br />
|0MPH<br />
|-<br />
|14<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|15<br />
|Spannung Lambdasonde<br />
|4,44<br />
|0<br />
|$19<br />
|111mV<br />
|-<br />
|16<br />
|O2-Sensor Cross Counts (?)<br />
|<br />
|<br />
|$56<br />
|<br />
|-<br />
|17<br />
|<br />
|<br />
|<br />
|$FB<br />
|<br />
|-<br />
|18<br />
|<br />
|<br />
|<br />
|$78<br />
|<br />
|-<br />
|19<br />
|<br />
|<br />
|<br />
|$23<br />
|<br />
|-<br />
|20<br />
|<br />
|<br />
|<br />
|$7B<br />
|<br />
|-<br />
|21<br />
|IST-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|22<br />
|SOLL-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|23<br />
|Solldrehzahl Leerlauf<br />
|12,5<br />
|0<br />
|$50<br />
|1000RPM<br />
|-<br />
|24<br />
|wahrscheinlich Ventil Aktivkohlefilter in %<br />
|0,392157 <br />
|0<br />
|$00<br />
|geschlossen<br />
|-<br />
|25<br />
|<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
|26<br />
|MAP (Unterdruck am Ansaug)<br />
|0,37<br />
|10,34<br />
|$60<br />
|46kPa<br />
|-<br />
|27<br />
|<br />
|<br />
|<br />
|$53<br />
|<br />
|-<br />
|28<br />
|<br />
|<br />
|<br />
|$B1<br />
|<br />
|-<br />
|29<br />
|Ansauglufttemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$50<br />
|40°C<br />
|-<br />
|30<br />
|<br />
|<br />
|<br />
|$C7<br />
|<br />
|-<br />
|31<br />
|Batteriespannung<br />
|0,1<br />
|0<br />
|$88<br />
|13,6V<br />
|-<br />
|32<br />
|[[ALDL-Protokoll#Byte 32, Zündzeitpunkt|Zündwinkelvorverstellung]]<br />
|0,351565<br />
|0<br />
|$94<br />
|52° (?)<br />
|-<br />
|33<br />
|Zündwinkelvorverstellung (?)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|34<br />
|Zündwinkelvorverstellung (?)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|35(16bit)<br />
|Einspritzdauer<br />
|0,07629<br />
|0<br />
|$00$66<br />
|7,78ms<br />
|-<br />
|37<br />
|SOLL-Verhältnis Luft/Kraftstoff<br />
|0,1<br />
|0<br />
|$87<br />
|13,5<br />
|-<br />
|38<br />
|<br />
|<br />
|<br />
|$70<br />
|<br />
|-<br />
|39<br />
|Motor Laufzeit (wird um 1 erhöht, wenn Bit40 bei 255 angekommen ist) <br />
|0<br />
|255<br />
|$00<br />
|0<br />
|-<br />
|40<br />
|Motor Laufzeit in Sekunden<br />
|0<br />
|1<br />
|$F3<br />
|243Sekunden<br />
|-<br />
|41<br />
|<br />
|<br />
|<br />
|$A7<br />
|<br />
|-<br />
|42<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|43<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|44<br />
|<br />
|<br />
|<br />
|$85<br />
|<br />
|-<br />
|45<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|46<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|47<br />
|<br />
|<br />
|<br />
|$CC<br />
|<br />
|-<br />
|48<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|49<br />
|<br />
|<br />
|<br />
|$20<br />
|<br />
|-<br />
|50<br />
|Modeword1 (Bit1=Fahrzeug bewegt sich, Bit7=Motor läuft)<br />
|<br />
|<br />
|$E9<br />
|Bit1=0 steht; Bit7=1 Motor läuft<br />
|-<br />
|51<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|52<br />
|CLCCMW (Bit3=Schubabschaltung aktiv)<br />
|<br />
|<br />
|$81<br />
|Bit3=0 Schubabschaltung nicht aktiv<br />
|-<br />
|53<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|54<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|55<br />
|<br />
|<br />
|<br />
|$6F<br />
|<br />
|-<br />
|56<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|57<br />
|LCCPMW (Bit0 Motorlüfter aktiv)<br />
|<br />
|<br />
|$00<br />
|Bit0=0 Motorlüfter nicht aktiv<br />
|-<br />
|58<br />
|<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|59<br />
|<br />
|<br />
|<br />
|$A4<br />
|<br />
|-<br />
|60<br />
|<br />
|<br />
|<br />
|$09<br />
|<br />
|-<br />
|61<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|62<br />
|<br />
|<br />
|<br />
|$0A<br />
|<br />
|-<br />
|63<br />
|<br />
|<br />
|<br />
|$44<br />
|<br />
|-<br />
|64<br />
|<br />
|<br />
|<br />
|$13<br />
|<br />
|-<br />
|65<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|66<br />
|Prüfsumme<br />
|<br />
|<br />
|$CB<br />
|<br />
<br />
|}<br />
(Tabelle wird ergänzt, die mit Fragezeichen versehenen Felder sollten besser beschrieben werden bzw. müssen noch verstanden werden)<br />
<br />
==Aktuelle Probleme und Unklarheiten== <br />
===Byte 32, Zündzeitpunkt===<br />
Dieses Byte soll den Wert des Zündzeitpunktes im Bezug auf den OT angeben. Er sollte Werte von 0 bis 40 ($00 bis $72) haben und gibt an, wieviel Grad vor OT gezündet wird. <br />
Wir gehen für die Berechnung von einem Faktor von 0,351565 aus. In unteren Drehzahlbereichen werden aber größere Winkel (teilweise >40°) angezeigt, die weder stimmen können noch mit Werten übereinstimmen, die ein TECH1 zu diesem Zeitpunkt liefert.<br />
Bei höheren Drehzahlen befinden sich die übermittelten Werte in denkbaren Größenordnungen. <br />
Möglicherweise muss auf den Hexadezimalwert zunächst das [http://de.wikipedia.org/wiki/Zweierkomplement Zweierkomplement] oder ähnliche Umrechnungen angewandt werden.<br />
===Aktoren===<br />
Die Zustände aller Aktoren außer des Leerlaufreglers (Lambdasondenheizung, Lüfter, Ventil Aktivkohlefilter, Saugrohrheizung, Benzinpumpe) sind bisher nicht erkennbar. Vermutet wird eine binäre Übertragung in einem Modeword.<br />
<br />
===Löschen der gespeicherten Fehler=== <br />
ALDL-Modus 10 (0x0A)<br />
<br />
In der config-Datei von David Rolston für EFIlive findet sich hier der Initialisierungsstring „$F4,$57,$0A,$20,$8B“, der aber nicht funktioniert. Hier muss geforscht werden. <br />
Wenn man Fehler mit einem TECH1 zurücksetzt wäre es denkbar, dabei den Datenstrom mit einem PC zu beobachten. <br />
Andere mögliche Lösungsansätze um den richtigen Code zu ermitteln wären ein ''Brute-Force-Angriff'' mit allen möglichen Codes oder der Vergleich mit anderen gängigen Codes aus oben genannter Liste anderer GM-Steuergeräte.<br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=ALDL-Protokoll&diff=3576ALDL-Protokoll2014-03-29T02:03:29Z<p>Chris601: /* Der Inhalt der empfangenen Bytes */</p>
<hr />
<div>[[Datei:Efilog.png|200px|thumb|right|ALDL-Kommunikation im Log von EFIlive V4]]<br />
==Allgemein==<br />
ALDL - Assembly Line Data Link<br />
<br />
Das ALDL-Protokoll, welches Lada bei den SPI-Modellen verwendet, orientiert sich an den gängigen GM-Formaten. Leider gibt es kein anderes Fahrzeug, welches exakt den Lada-Code verwendet.<br />
<br />
Die Kommunikation mit dem [[Steuergerät SPI Euro2|Steuergerät]] erfolgt mit 8192 Baud mit TTL-typischer Spannung von 5V. Für die Kommunikation mit einem PC kann ein [[Eigenbau-Interface SPI|Eigenbau-Interface]] genutzt werden.<br />
<br />
==Kommunikation mit dem Steuergerät==<br />
===ALDL Modus 01 auswählen===<br />
Um an die Daten des Steuergerätes zu kommen, die sämtliche Sensorwerte, [[Fehlercode Euro2|gespeicherte Fehler]] und sonstige Fahrzeugdaten enthalten, ist es notwendig das Steuergerät in einem bestimmten Modus ''anzusprechen''. <br />
<br />
Der ALDL-Modus 1 (0x01) ist hierbei der Wichtigste. Angestoßen wird dieser, indem <pre>$F4,$57,$01,$20,$94</pre> zum Steuergerät gesendet wird. <br />
<pre><br />
$F4 = Frame ID <br />
$57 = Message length ($55+Anzahl Datenbytes)<br />
$01 = data byte 1 (hier Mode Number)<br />
$20 = data byte 2 (hier offensichtlich ein Parameter)<br />
$94 = Prüfsumme (die Berechnung dieser ist in der EFIlive-Hilfe erklärt)<br />
</pre><br />
<br />
===Antwort vom Steuergerät===<br />
Auf diesen Initialisierungsstring antwortet das Steuergerät einige Millisekunden später mit einem Datenwort aus 69 <br />
Bytes. Hier eine Beispiel-Kommunikation (Zeilenumbrüche eingefügt):<br />
<pre>gesendet: $F4,$57,$01,$20,$94<br />
empfangen:<br />
$F4,$97,$01,<br />
$19,$6D,$40,$04,$00,$74,$46,$11,$03,$32,<br />
$06,$1D,$00,$00,$19,$56,$FB,$78,$23,$7B,<br />
$06,$06,$50,$00,$F4,$60,$53,$B1,$50,$C7,<br />
$88,$94,$00,$00,$00,$66,$87,$70,$00,$F3,<br />
$A7,$00,$00,$85,$00,$00,$CC,$01,$20,$E9,<br />
$00,$81,$01,$80,$6F,$00,$00,$04,$A4,$09,<br />
$80,$0A,$44,$13,$00,$CB</pre><br />
<br />
==Der Inhalt der empfangenen Bytes== <br />
[[Datei:Eficonfig.jpg|200px|thumb|right|Auszug aus dem Configfile "nivatext.xml" für EFIlive von David Rolston]]<br />
Um die empfangenen Daten deuten zu können, muss man sich mit dem GM-typischen Protokollaufbau anderer GM-Steuerteile befassen. Eine Liste verschiedener Steuerteile und deren Codes findet sich hier: http://www.diy-efi.org/files/gmecm/ALDLstuff.zip<br />
<br />
David Rolston (http://ladaniva.co.uk) hat ein Configfile (http://www.ladaniva.co.uk/nivalive.zip) für [[EFILive V4]] geschrieben, welches einen Großteil der Bytes deuten kann.<br />
Dieses Configfile ist aktuell die vollständigste Zusammenfassung des Lada-ALDL-Protokolles. <br />
<br />
Die empfangenen Bytes sind hier hexadezimaldargestellt. Die meisten Werte müssen zur Weiterverarbeitung in Dezimalzahlen (z.B. Sensorwerte) oder Binärdaten (z.B. Fehlercodes) umgerechnet werden.<br />
<br />
{| border="1"<br />
|Byte<br />
|Bedeutung<br />
|Faktor<br />
|Offset<br />
|Beispiel<br />
|Ergebnis<br />
|-<br />
| <br />
|Initialisierung (Frame-ID)<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
| <br />
|Initialisierung (Länge des Strings)<br />
|<br />
|<br />
|$97<br />
|<br />
|-<br />
| <br />
|ALDL-Modus<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|1(16bit)<br />
|Eprom-ID ($19$6D=Lada 21073, $19$63=Lada 21214)<br />
|<br />
|<br />
|$19$6D<br />
|Lada 21073<br />
|-<br />
|3<br />
|Fehlercodes 1 (Bit0=Fehler Nr.24, Bit1=23, Bit2=22, Bit3=21, Bit4=15, Bit5=14, Bit6=13,Bit7=12)<br />
|<br />
|<br />
|$40<br />
|<br />
|-<br />
|4<br />
|Fehlercodes 2 (Bit0=Fehler Nr.42, Bit1=41, Bit2=35, Bit3=34, Bit4=33, Bit5=32, Bit6=31,Bit7=25)<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|5<br />
|Fehlercodes 3 (Bit0=Fehler Nr.55, Bit1=54, Bit2=53, Bit3=26, Bit4=51, Bit5=45, Bit6=44,Bit7=43)<br />
| <br />
|<br />
|$00<br />
|<br />
|-<br />
|6<br />
|Kühlmitteltemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$74<br />
|47°C<br />
|-<br />
|7<br />
|Startup Coolant Temp (?)<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$46<br />
|12,5°C<br />
|-<br />
|8<br />
|Spannung Drosselklappensensor<br />
|0,019608<br />
|0<br />
|$11<br />
|0,33V<br />
|-<br />
|9<br />
|Drosselklappenöffnung in % <br />
|0,392157<br />
|0<br />
|$03<br />
|1,18%<br />
|-<br />
|10<br />
|Motordrehzahl <br />
|25<br />
|0<br />
|$32<br />
|1250 RPM<br />
|-<br />
|11<br />
|Refpulse MSB (?)<br />
|<br />
|<br />
|$06<br />
|<br />
|-<br />
|12<br />
|Refpulse LSB (?)<br />
|<br />
|<br />
|$1D<br />
|<br />
|-<br />
|13<br />
|Geschwindigkeit <br />
|1 (1,60934 für km/h) <br />
|<br />
|$00<br />
|0MPH<br />
|-<br />
|14<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|15<br />
|Spannung Lambdasonde<br />
|4,44<br />
|0<br />
|$19<br />
|111mV<br />
|-<br />
|16<br />
|O2-Sensor Cross Counts (?)<br />
|<br />
|<br />
|$56<br />
|<br />
|-<br />
|17<br />
|<br />
|<br />
|<br />
|$FB<br />
|<br />
|-<br />
|18<br />
|<br />
|<br />
|<br />
|$78<br />
|<br />
|-<br />
|19<br />
|<br />
|<br />
|<br />
|$23<br />
|<br />
|-<br />
|20<br />
|<br />
|<br />
|<br />
|$7B<br />
|<br />
|-<br />
|21<br />
|IST-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|22<br />
|SOLL-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|23<br />
|Solldrehzahl Leerlauf<br />
|12,5<br />
|0<br />
|$50<br />
|1000RPM<br />
|-<br />
|24<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|25<br />
|<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
|26<br />
|MAP (Unterdruck am Ansaug)<br />
|0,37<br />
|10,34<br />
|$60<br />
|46kPa<br />
|-<br />
|27<br />
|<br />
|<br />
|<br />
|$53<br />
|<br />
|-<br />
|28<br />
|<br />
|<br />
|<br />
|$B1<br />
|<br />
|-<br />
|29<br />
|Ansauglufttemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$50<br />
|40°C<br />
|-<br />
|30<br />
|<br />
|<br />
|<br />
|$C7<br />
|<br />
|-<br />
|31<br />
|Batteriespannung<br />
|0,1<br />
|0<br />
|$88<br />
|13,6V<br />
|-<br />
|32<br />
|[[ALDL-Protokoll#Byte 32, Zündzeitpunkt|Zündwinkelvorverstellung]]<br />
|0,351565<br />
|0<br />
|$94<br />
|52° (?)<br />
|-<br />
|33<br />
|Zündwinkelvorverstellung (?)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|34<br />
|Zündwinkelvorverstellung (?)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|35(16bit)<br />
|Einspritzdauer<br />
|0,07629<br />
|0<br />
|$00$66<br />
|7,78ms<br />
|-<br />
|37<br />
|SOLL-Verhältnis Luft/Kraftstoff<br />
|0,1<br />
|0<br />
|$87<br />
|13,5<br />
|-<br />
|38<br />
|<br />
|<br />
|<br />
|$70<br />
|<br />
|-<br />
|39<br />
|Motor Laufzeit (wird um 1 erhöht, wenn Bit40 bei 255 angekommen ist) <br />
|0<br />
|255<br />
|$00<br />
|0<br />
|-<br />
|40<br />
|Motor Laufzeit in Sekunden<br />
|0<br />
|1<br />
|$F3<br />
|243Sekunden<br />
|-<br />
|41<br />
|<br />
|<br />
|<br />
|$A7<br />
|<br />
|-<br />
|42<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|43<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|44<br />
|<br />
|<br />
|<br />
|$85<br />
|<br />
|-<br />
|45<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|46<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|47<br />
|<br />
|<br />
|<br />
|$CC<br />
|<br />
|-<br />
|48<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|49<br />
|<br />
|<br />
|<br />
|$20<br />
|<br />
|-<br />
|50<br />
|Modeword1 (Bit1=Fahrzeug bewegt sich, Bit7=Motor läuft)<br />
|<br />
|<br />
|$E9<br />
|Bit1=0 steht; Bit7=1 Motor läuft<br />
|-<br />
|51<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|52<br />
|CLCCMW (Bit3=Schubabschaltung aktiv)<br />
|<br />
|<br />
|$81<br />
|Bit3=0 Schubabschaltung nicht aktiv<br />
|-<br />
|53<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|54<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|55<br />
|<br />
|<br />
|<br />
|$6F<br />
|<br />
|-<br />
|56<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|57<br />
|LCCPMW (Bit0 Motorlüfter aktiv)<br />
|<br />
|<br />
|$00<br />
|Bit0=0 Motorlüfter nicht aktiv<br />
|-<br />
|58<br />
|<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|59<br />
|<br />
|<br />
|<br />
|$A4<br />
|<br />
|-<br />
|60<br />
|<br />
|<br />
|<br />
|$09<br />
|<br />
|-<br />
|61<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|62<br />
|<br />
|<br />
|<br />
|$0A<br />
|<br />
|-<br />
|63<br />
|<br />
|<br />
|<br />
|$44<br />
|<br />
|-<br />
|64<br />
|<br />
|<br />
|<br />
|$13<br />
|<br />
|-<br />
|65<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|66<br />
|Prüfsumme<br />
|<br />
|<br />
|$CB<br />
|<br />
<br />
|}<br />
(Tabelle wird ergänzt, die mit Fragezeichen versehenen Felder sollten besser beschrieben werden bzw. müssen noch verstanden werden)<br />
<br />
==Aktuelle Probleme und Unklarheiten== <br />
===Byte 32, Zündzeitpunkt===<br />
Dieses Byte soll den Wert des Zündzeitpunktes im Bezug auf den OT angeben. Er sollte Werte von 0 bis 40 ($00 bis $72) haben und gibt an, wieviel Grad vor OT gezündet wird. <br />
Wir gehen für die Berechnung von einem Faktor von 0,351565 aus. In unteren Drehzahlbereichen werden aber größere Winkel (teilweise >40°) angezeigt, die weder stimmen können noch mit Werten übereinstimmen, die ein TECH1 zu diesem Zeitpunkt liefert.<br />
Bei höheren Drehzahlen befinden sich die übermittelten Werte in denkbaren Größenordnungen. <br />
Möglicherweise muss auf den Hexadezimalwert zunächst das [http://de.wikipedia.org/wiki/Zweierkomplement Zweierkomplement] oder ähnliche Umrechnungen angewandt werden.<br />
===Aktoren===<br />
Die Zustände aller Aktoren außer des Leerlaufreglers (Lambdasondenheizung, Lüfter, Ventil Aktivkohlefilter, Saugrohrheizung, Benzinpumpe) sind bisher nicht erkennbar. Vermutet wird eine binäre Übertragung in einem Modeword.<br />
<br />
===Löschen der gespeicherten Fehler=== <br />
ALDL-Modus 10 (0x0A)<br />
<br />
In der config-Datei von David Rolston für EFIlive findet sich hier der Initialisierungsstring „$F4,$57,$0A,$20,$8B“, der aber nicht funktioniert. Hier muss geforscht werden. <br />
Wenn man Fehler mit einem TECH1 zurücksetzt wäre es denkbar, dabei den Datenstrom mit einem PC zu beobachten. <br />
Andere mögliche Lösungsansätze um den richtigen Code zu ermitteln wären ein ''Brute-Force-Angriff'' mit allen möglichen Codes oder der Vergleich mit anderen gängigen Codes aus oben genannter Liste anderer GM-Steuergeräte.<br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=Diskussion:ALDL-Protokoll&diff=3575Diskussion:ALDL-Protokoll2014-03-29T00:59:22Z<p>Chris601: </p>
<hr />
<div>@Chris: wenn ich dir mit dem Tech1 irgendwie weiter helfen kann .... einfach fragen.--[[Benutzer:Endurofant|sebastian@niva-stammtisch.de]] 07:54, 28. Mär. 2014 (CET)<br />
<br />
@Endurofant: Weiß ich doch :-)</div>Chris601https://ladawiki.de/index.php?title=ALDL-Protokoll&diff=3570ALDL-Protokoll2014-03-27T22:36:36Z<p>Chris601: /* Der Inhalt der empfangenen Bytes */</p>
<hr />
<div>[[Datei:Efilog.png|200px|thumb|right|ALDL-Kommunikation im Log von EFIlive V4]]<br />
==Allgemein==<br />
ALDL - Assembly Line Data Link<br />
<br />
Das ALDL-Protokoll, welches Lada bei den SPI-Modellen verwendet, orientiert sich an den gängigen GM-Formaten. Leider gibt es kein anderes Fahrzeug, welches exakt den Lada-Code verwendet.<br />
<br />
Die Kommunikation mit dem [[Steuergerät SPI Euro2|Steuergerät]] erfolgt mit 8192 Baud mit TTL-typischer Spannung von 5V. Für die Kommunikation mit einem PC kann ein [[Eigenbau-Interface SPI|Eigenbau-Interface]] genutzt werden.<br />
<br />
==Kommunikation mit dem Steuergerät==<br />
===ALDL Modus 01 auswählen===<br />
Um an die Daten des Steuergerätes zu kommen, die sämtliche Sensorwerte, [[Fehlercode Euro2|gespeicherte Fehler]] und sonstige Fahrzeugdaten enthalten, ist es notwendig das Steuergerät in einem bestimmten Modus ''anzusprechen''. <br />
<br />
Der ALDL-Modus 1 (0x01) ist hierbei der Wichtigste. Angestoßen wird dieser, indem <pre>$F4,$57,$01,$20,$94</pre> zum Steuergerät gesendet wird. <br />
<pre><br />
$F4 = Frame ID <br />
$57 = Message length ($55+Anzahl Datenbytes)<br />
$01 = data byte 1 (hier Mode Number)<br />
$20 = data byte 2 (hier offensichtlich ein Parameter)<br />
$94 = Prüfsumme (die Berechnung dieser ist in der EFIlive-Hilfe erklärt)<br />
</pre><br />
<br />
===Antwort vom Steuergerät===<br />
Auf diesen Initialisierungsstring antwortet das Steuergerät einige Millisekunden später mit einem Datenwort aus 69 <br />
Bytes. Hier eine Beispiel-Kommunikation (Zeilenumbrüche eingefügt):<br />
<pre>gesendet: $F4,$57,$01,$20,$94<br />
empfangen:<br />
$F4,$97,$01,<br />
$19,$6D,$40,$04,$00,$74,$46,$11,$03,$32,<br />
$06,$1D,$00,$00,$19,$56,$FB,$78,$23,$7B,<br />
$06,$06,$50,$00,$F4,$60,$53,$B1,$50,$C7,<br />
$88,$94,$00,$00,$00,$66,$87,$70,$00,$F3,<br />
$A7,$00,$00,$85,$00,$00,$CC,$01,$20,$E9,<br />
$00,$81,$01,$80,$6F,$00,$00,$04,$A4,$09,<br />
$80,$0A,$44,$13,$00,$CB</pre><br />
<br />
==Der Inhalt der empfangenen Bytes== <br />
[[Datei:Eficonfig.jpg|200px|thumb|right|Auszug aus dem Configfile "nivatext.xml" für EFIlive von David Rolston]]<br />
Um die empfangenen Daten deuten zu können, muss man sich mit dem GM-typischen Protokollaufbau anderer GM-Steuerteile befassen. Eine Liste verschiedener Steuerteile und deren Codes findet sich hier: http://www.diy-efi.org/files/gmecm/ALDLstuff.zip<br />
<br />
David Rolston (http://ladaniva.co.uk) hat ein Configfile (http://www.ladaniva.co.uk/nivalive.zip) für [[EFILive V4]] geschrieben, welches einen Großteil der Bytes deuten kann.<br />
Dieses Configfile ist aktuell die vollständigste Zusammenfassung des Lada-ALDL-Protokolles. <br />
<br />
Die empfangenen Bytes sind hexadezimal. Die meisten Werte müssen zur Weiterverarbeitung in Dezimalzahlen (z.B. Sensorwerte) oder Binärdaten (z.B. Fehlercodes) umgerechnet werden.<br />
<br />
{| border="1"<br />
|Byte<br />
|Bedeutung<br />
|Faktor<br />
|Offset<br />
|Beispiel<br />
|Ergebnis<br />
|-<br />
| <br />
|Initialisierung (Frame-ID)<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
| <br />
|Initialisierung (Länge des Strings)<br />
|<br />
|<br />
|$97<br />
|<br />
|-<br />
| <br />
|ALDL-Modus<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|1(16bit)<br />
|Eprom-ID ($19$6D=Lada 21073, $19$63=Lada 21214)<br />
|<br />
|<br />
|$19$6D<br />
|Lada 21073<br />
|-<br />
|3<br />
|Fehlercodes 1 (Bit0=Fehler Nr.24, Bit1=23, Bit2=22, Bit3=21, Bit4=15, Bit5=14, Bit6=13,Bit7=12)<br />
|<br />
|<br />
|$40<br />
|<br />
|-<br />
|4<br />
|Fehlercodes 2 (Bit0=Fehler Nr.42, Bit1=41, Bit2=35, Bit3=34, Bit4=33, Bit5=32, Bit6=31,Bit7=25)<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|5<br />
|Fehlercodes 3 (Bit0=Fehler Nr.55, Bit1=54, Bit2=53, Bit3=26, Bit4=51, Bit5=45, Bit6=44,Bit7=43)<br />
| <br />
|<br />
|$00<br />
|<br />
|-<br />
|6<br />
|Kühlmitteltemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$74<br />
|47°C<br />
|-<br />
|7<br />
|Startup Coolant Temp (?)<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$46<br />
|12,5°C<br />
|-<br />
|8<br />
|Spannung Drosselklappensensor<br />
|0,019608<br />
|0<br />
|$11<br />
|0,33V<br />
|-<br />
|9<br />
|Drosselklappenöffnung in % <br />
|0,392157<br />
|0<br />
|$03<br />
|1,18%<br />
|-<br />
|10<br />
|Motordrehzahl <br />
|25<br />
|0<br />
|$32<br />
|1250 RPM<br />
|-<br />
|11<br />
|Refpulse MSB (?)<br />
|<br />
|<br />
|$06<br />
|<br />
|-<br />
|12<br />
|Refpulse LSB (?)<br />
|<br />
|<br />
|$1D<br />
|<br />
|-<br />
|13<br />
|Geschwindigkeit <br />
|1 (1,60934 für km/h) <br />
|<br />
|$00<br />
|0MPH<br />
|-<br />
|14<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|15<br />
|Spannung Lambdasonde<br />
|4,44<br />
|0<br />
|$19<br />
|111mV<br />
|-<br />
|16<br />
|O2-Sensor Cross Counts (?)<br />
|<br />
|<br />
|$56<br />
|<br />
|-<br />
|17<br />
|<br />
|<br />
|<br />
|$FB<br />
|<br />
|-<br />
|18<br />
|<br />
|<br />
|<br />
|$78<br />
|<br />
|-<br />
|19<br />
|<br />
|<br />
|<br />
|$23<br />
|<br />
|-<br />
|20<br />
|<br />
|<br />
|<br />
|$7B<br />
|<br />
|-<br />
|21<br />
|IST-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|22<br />
|SOLL-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|23<br />
|Solldrehzahl Leerlauf<br />
|12,5<br />
|0<br />
|$50<br />
|1000RPM<br />
|-<br />
|24<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|25<br />
|<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
|26<br />
|MAP (Unterdruck am Ansaug)<br />
|0,37<br />
|10,34<br />
|$60<br />
|46kPa<br />
|-<br />
|27<br />
|<br />
|<br />
|<br />
|$53<br />
|<br />
|-<br />
|28<br />
|<br />
|<br />
|<br />
|$B1<br />
|<br />
|-<br />
|29<br />
|Ansauglufttemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$50<br />
|40°C<br />
|-<br />
|30<br />
|<br />
|<br />
|<br />
|$C7<br />
|<br />
|-<br />
|31<br />
|Batteriespannung<br />
|0,1<br />
|0<br />
|$88<br />
|13,6V<br />
|-<br />
|32<br />
|[[ALDL-Protokoll#Byte 32, Zündzeitpunkt|Zündwinkelvorverstellung]]<br />
|0,351565<br />
|0<br />
|$94<br />
|52° (?)<br />
|-<br />
|33<br />
|Zündwinkelvorverstellung (bei Lada möglicherweise ungenutzt)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|34<br />
|Zündwinkelvorverstellung (bei Lada möglicherweise ungenutzt)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|35(16bit)<br />
|Einspritzdauer<br />
|0,07629<br />
|0<br />
|$00$66<br />
|7,78ms<br />
|-<br />
|37<br />
|SOLL-Verhältnis Luft/Kraftstoff<br />
|0,1<br />
|0<br />
|$87<br />
|13,5<br />
|-<br />
|38<br />
|<br />
|<br />
|<br />
|$70<br />
|<br />
|-<br />
|39<br />
|Motor Laufzeit (wird um 1 erhöht, wenn Bit40 bei 255 angekommen ist) <br />
|0<br />
|255<br />
|$00<br />
|0<br />
|-<br />
|40<br />
|Motor Laufzeit in Sekunden<br />
|0<br />
|1<br />
|$F3<br />
|243Sekunden<br />
|-<br />
|41<br />
|<br />
|<br />
|<br />
|$A7<br />
|<br />
|-<br />
|42<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|43<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|44<br />
|<br />
|<br />
|<br />
|$85<br />
|<br />
|-<br />
|45<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|46<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|47<br />
|<br />
|<br />
|<br />
|$CC<br />
|<br />
|-<br />
|48<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|49<br />
|<br />
|<br />
|<br />
|$20<br />
|<br />
|-<br />
|50<br />
|Modeword1 (Bit1=Fahrzeug bewegt sich, Bit7=Motor läuft)<br />
|<br />
|<br />
|$E9<br />
|Bit1=0 steht; Bit7=1 Motor läuft<br />
|-<br />
|51<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|52<br />
|CLCCMW (Bit3=Schubabschaltung aktiv)<br />
|<br />
|<br />
|$81<br />
|Bit3=0 Schubabschaltung nicht aktiv<br />
|-<br />
|53<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|54<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|55<br />
|<br />
|<br />
|<br />
|$6F<br />
|<br />
|-<br />
|56<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|57<br />
|LCCPMW (Bit0 Motorlüfter aktiv)<br />
|<br />
|<br />
|$00<br />
|Bit0=0 Motorlüfter nicht aktiv<br />
|-<br />
|58<br />
|<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|59<br />
|<br />
|<br />
|<br />
|$A4<br />
|<br />
|-<br />
|60<br />
|<br />
|<br />
|<br />
|$09<br />
|<br />
|-<br />
|61<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|62<br />
|<br />
|<br />
|<br />
|$0A<br />
|<br />
|-<br />
|63<br />
|<br />
|<br />
|<br />
|$44<br />
|<br />
|-<br />
|64<br />
|<br />
|<br />
|<br />
|$13<br />
|<br />
|-<br />
|65<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|66<br />
|Prüfsumme<br />
|<br />
|<br />
|$CB<br />
|<br />
<br />
|}<br />
(Tabelle wird ergänzt, die mit Fragezeichen versehenen Felder sollten besser beschrieben werden bzw. müssen noch verstanden werden)<br />
<br />
==Aktuelle Probleme und Unklarheiten== <br />
===Byte 32, Zündzeitpunkt===<br />
Dieses Byte soll den Wert des Zündzeitpunktes im Bezug auf den OT angeben. Er sollte Werte von 0 bis 40 ($00 bis $72) haben und gibt an, wieviel Grad vor OT gezündet wird. <br />
Wir gehen für die Berechnung von einem Faktor von 0,351565 aus. In unteren Drehzahlbereichen werden aber größere Winkel (teilweise >40°) angezeigt, die weder stimmen können noch mit Werten übereinstimmen, die ein TECH1 zu diesem Zeitpunkt liefert.<br />
Bei höheren Drehzahlen befinden sich die übermittelten Werte in denkbaren Größenordnungen. <br />
Möglicherweise muss auf den Hexadezimalwert zunächst das [http://de.wikipedia.org/wiki/Zweierkomplement Zweierkomplement] oder ähnliche Umrechnungen angewandt werden.<br />
===Aktoren===<br />
Die Zustände aller Aktoren außer des Leerlaufreglers (Lambdasondenheizung, Lüfter, Ventil Aktivkohlefilter, Saugrohrheizung, Benzinpumpe) sind bisher nicht erkennbar. Vermutet wird eine binäre Übertragung in einem Modeword.<br />
<br />
===Löschen der gespeicherten Fehler=== <br />
ALDL-Modus 10 (0x0A)<br />
<br />
In der config-Datei von David Rolston für EFIlive findet sich hier der Initialisierungsstring „$F4,$57,$0A,$20,$8B“, der aber nicht funktioniert. Hier muss geforscht werden. <br />
Wenn man Fehler mit einem TECH1 zurücksetzt wäre es denkbar, dabei den Datenstrom mit einem PC zu beobachten. <br />
Andere mögliche Lösungsansätze um den richtigen Code zu ermitteln wären ein ''Brute-Force-Angriff'' mit allen möglichen Codes oder der Vergleich mit anderen gängigen Codes aus oben genannter Liste anderer GM-Steuergeräte.<br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=ALDL-Protokoll&diff=3071ALDL-Protokoll2013-11-03T19:42:51Z<p>Chris601: /* ALDL Modus 01 auswählen */</p>
<hr />
<div>[[Datei:Efilog.png|200px|thumb|right|ALDL-Kommunikation im Log von EFIlive V4]]<br />
==Allgemein==<br />
ALDL - Assembly Line Data Link<br />
<br />
Das ALDL-Protokoll, welches Lada bei den SPI-Modellen verwendet, orientiert sich an den gängigen GM-Formaten. Leider gibt es kein anderes Fahrzeug, welches exakt den Lada-Code verwendet.<br />
<br />
Die Kommunikation mit dem [[Steuergerät SPI Euro2|Steuergerät]] erfolgt mit 8192 Baud mit TTL-typischer Spannung von 5V. Für die Kommunikation mit einem PC kann ein [[Eigenbau-Interface SPI|Eigenbau-Interface]] genutzt werden.<br />
<br />
==Kommunikation mit dem Steuergerät==<br />
===ALDL Modus 01 auswählen===<br />
Um an die Daten des Steuergerätes zu kommen, die sämtliche Sensorwerte, [[Fehlercode Euro2|gespeicherte Fehler]] und sonstige Fahrzeugdaten enthalten, ist es notwendig das Steuergerät in einem bestimmten Modus ''anzusprechen''. <br />
<br />
Der ALDL-Modus 1 (0x01) ist hierbei der Wichtigste. Angestoßen wird dieser, indem <pre>$F4,$57,$01,$20,$94</pre> zum Steuergerät gesendet wird. <br />
<pre><br />
$F4 = Frame ID <br />
$57 = Message length ($55+Anzahl Datenbytes)<br />
$01 = data byte 1 (hier Mode Number)<br />
$20 = data byte 2 (hier offensichtlich ein Parameter)<br />
$94 = Prüfsumme (die Berechnung dieser ist in der EFIlive-Hilfe erklärt)<br />
</pre><br />
<br />
===Antwort vom Steuergerät===<br />
Auf diesen Initialisierungsstring antwortet das Steuergerät einige Millisekunden später mit einem Datenwort aus 69 <br />
Bytes. Hier eine Beispiel-Kommunikation (Zeilenumbrüche eingefügt):<br />
<pre>gesendet: $F4,$57,$01,$20,$94<br />
empfangen:<br />
$F4,$97,$01,<br />
$19,$6D,$40,$04,$00,$74,$46,$11,$03,$32,<br />
$06,$1D,$00,$00,$19,$56,$FB,$78,$23,$7B,<br />
$06,$06,$50,$00,$F4,$60,$53,$B1,$50,$C7,<br />
$88,$94,$00,$00,$00,$66,$87,$70,$00,$F3,<br />
$A7,$00,$00,$85,$00,$00,$CC,$01,$20,$E9,<br />
$00,$81,$01,$80,$6F,$00,$00,$04,$A4,$09,<br />
$80,$0A,$44,$13,$00,$CB</pre><br />
<br />
==Der Inhalt der empfangenen Bytes== <br />
[[Datei:Eficonfig.jpg|200px|thumb|right|Auszug aus dem Configfile "nivatext.xml" für EFIlive von David Rolston]]<br />
Um die empfangenen Daten deuten zu können, muss man sich mit dem GM-typischen Protokollaufbau anderer GM-Steuerteile befassen. Eine Liste verschiedener Steuerteile und deren Codes findet sich hier: http://www.diy-efi.org/files/gmecm/ALDLstuff.zip<br />
<br />
David Rolston (http://ladaniva.co.uk) hat ein Configfile (http://www.ladaniva.co.uk/nivalive.zip) für [[EFILive V4]] geschrieben, welches einen Großteil der Bytes deuten kann.<br />
Dieses Configfile ist aktuell die vollständigste Zusammenfassung des Lada-ALDL-Protokolles. <br />
<br />
Die empfangenen Bytes sind hexadezimal. Die meisten Werte müssen zur Weiterverarbeitung in Dezimalzahlen (z.B. Sensorwerte) oder Binärdaten (z.B. Fehlercodes) umgerechnet werden.<br />
<br />
{| border="1"<br />
|Byte<br />
|Bedeutung<br />
|Faktor<br />
|Offset<br />
|Beispiel<br />
|Ergebnis<br />
|-<br />
| <br />
|Initialisierung (Frame-ID)<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
| <br />
|Initialisierung (Länge des Strings)<br />
|<br />
|<br />
|$97<br />
|<br />
|-<br />
| <br />
|ALDL-Modus<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|1(16bit)<br />
|Eprom-ID ($19$6D=Lada 21073, $19$63=Lada 21214)<br />
|<br />
|<br />
|$19$6D<br />
|Lada 21073<br />
|-<br />
|3<br />
|Fehlercodes 1 (Bit0=Fehler Nr.24, Bit1=23, Bit2=22, Bit3=21, Bit4=15, Bit5=14, Bit6=13,Bit7=12)<br />
|<br />
|<br />
|$40<br />
|<br />
|-<br />
|4<br />
|Fehlercodes 2 (Bit0=Fehler Nr.42, Bit1=41, Bit2=35, Bit3=34, Bit4=33, Bit5=32, Bit6=31,Bit7=25)<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|5<br />
|Fehlercodes 3 (Bit0=Fehler Nr.55, Bit1=54, Bit2=53, Bit3=26, Bit4=51, Bit5=45, Bit6=44,Bit7=43)<br />
| <br />
|<br />
|$00<br />
|<br />
|-<br />
|6<br />
|Kühlmitteltemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$74<br />
|47°C<br />
|-<br />
|7<br />
|Startup Coolant Temp (?)<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$46<br />
|12,5°C<br />
|-<br />
|8<br />
|Spannung Drosselklappensensor<br />
|0,019608<br />
|0<br />
|$11<br />
|0,33V<br />
|-<br />
|9<br />
|Drosselklappenöffnung in % <br />
|0,392157<br />
|0<br />
|$03<br />
|1,18%<br />
|-<br />
|10<br />
|Motordrehzahl <br />
|25<br />
|0<br />
|$32<br />
|1250 RPM<br />
|-<br />
|11<br />
|Refpulse MSB (?)<br />
|<br />
|<br />
|$06<br />
|<br />
|-<br />
|12<br />
|Refpulse LSB (?)<br />
|<br />
|<br />
|$1D<br />
|<br />
|-<br />
|13<br />
|Geschwindigkeit <br />
|1 (1,60934 für km/h) <br />
|<br />
|$00<br />
|0MPH<br />
|-<br />
|14<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|15<br />
|Spannung Lambdasonde<br />
|4,44<br />
|0<br />
|$19<br />
|111mV<br />
|-<br />
|16<br />
|O2-Sensor Cross Counts (?)<br />
|<br />
|<br />
|$56<br />
|<br />
|-<br />
|17<br />
|<br />
|<br />
|<br />
|$FB<br />
|<br />
|-<br />
|18<br />
|<br />
|<br />
|<br />
|$78<br />
|<br />
|-<br />
|19<br />
|<br />
|<br />
|<br />
|$23<br />
|<br />
|-<br />
|20<br />
|<br />
|<br />
|<br />
|$7B<br />
|<br />
|-<br />
|21<br />
|IST-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|22<br />
|SOLL-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|23<br />
|Solldrehzahl Leerlauf<br />
|12,5<br />
|0<br />
|$50<br />
|1000RPM<br />
|-<br />
|24<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|25<br />
|<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
|26<br />
|MAP (Unterdruck am Ansaug)<br />
|0,37<br />
|10,34<br />
|$60<br />
|46kPa<br />
|-<br />
|27<br />
|<br />
|<br />
|<br />
|$53<br />
|<br />
|-<br />
|28<br />
|<br />
|<br />
|<br />
|$B1<br />
|<br />
|-<br />
|29<br />
|Ansauglufttemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$50<br />
|40°C<br />
|-<br />
|30<br />
|<br />
|<br />
|<br />
|$C7<br />
|<br />
|-<br />
|31<br />
|Batteriespannung<br />
|0,1<br />
|0<br />
|$88<br />
|13,6V<br />
|-<br />
|32<br />
|[[ALDL-Protokoll#Byte 32, Zündzeitpunkt|Zündwinkelvorverstellung]]<br />
|0,351565<br />
|0<br />
|$94<br />
|52° (?)<br />
|-<br />
|33<br />
|Zündwinkelvorverstellung (bei Lada möglicherweise ungenutzt)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|34<br />
|Zündwinkelvorverstellung (bei Lada möglicherweise ungenutzt)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|35(16bit)<br />
|Einspritzdauer<br />
|0,07629<br />
|0<br />
|$00$66<br />
|7,78ms<br />
|-<br />
|37<br />
|SOLL-Verhältnis Luft/Kraftstoff<br />
|0,1<br />
|0<br />
|$87<br />
|13,5<br />
|-<br />
|38<br />
|<br />
|<br />
|<br />
|$70<br />
|<br />
|-<br />
|39<br />
|Motor Laufzeit (bei Lada möglicherweise ungenutzt) <br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|40<br />
|Motor Laufzeit LSB<br />
|<br />
|<br />
|$F3<br />
|<br />
|-<br />
|41<br />
|<br />
|<br />
|<br />
|$A7<br />
|<br />
|-<br />
|42<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|43<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|44<br />
|<br />
|<br />
|<br />
|$85<br />
|<br />
|-<br />
|45<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|46<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|47<br />
|<br />
|<br />
|<br />
|$CC<br />
|<br />
|-<br />
|48<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|49<br />
|<br />
|<br />
|<br />
|$20<br />
|<br />
|-<br />
|50<br />
|<br />
|<br />
|<br />
|$E9<br />
|<br />
|-<br />
|51<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|52<br />
|<br />
|<br />
|<br />
|$81<br />
|<br />
|-<br />
|53<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|54<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|55<br />
|<br />
|<br />
|<br />
|$6F<br />
|<br />
|-<br />
|56<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|57<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|58<br />
|<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|59<br />
|<br />
|<br />
|<br />
|$A4<br />
|<br />
|-<br />
|60<br />
|<br />
|<br />
|<br />
|$09<br />
|<br />
|-<br />
|61<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|62<br />
|<br />
|<br />
|<br />
|$0A<br />
|<br />
|-<br />
|63<br />
|<br />
|<br />
|<br />
|$44<br />
|<br />
|-<br />
|64<br />
|<br />
|<br />
|<br />
|$13<br />
|<br />
|-<br />
|65<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|66<br />
|Prüfsumme<br />
|<br />
|<br />
|$CB<br />
|<br />
<br />
|}<br />
(Tabelle wird ergänzt, die mit Fragezeichen versehenen Felder sollten besser beschrieben werden bzw. müssen noch verstanden werden)<br />
<br />
==Aktuelle Probleme und Unklarheiten== <br />
===Byte 32, Zündzeitpunkt===<br />
Dieses Byte soll den Wert des Zündzeitpunktes im Bezug auf den OT angeben. Er sollte Werte von 0 bis 40 ($00 bis $72) haben und gibt an, wieviel Grad vor OT gezündet wird. <br />
Wir gehen für die Berechnung von einem Faktor von 0,351565 aus. In unteren Drehzahlbereichen werden aber größere Winkel (teilweise >40°) angezeigt, die weder stimmen können noch mit Werten übereinstimmen, die ein TECH1 zu diesem Zeitpunkt liefert.<br />
Bei höheren Drehzahlen befinden sich die übermittelten Werte in denkbaren Größenordnungen. <br />
Möglicherweise muss auf den Hexadezimalwert zunächst das [http://de.wikipedia.org/wiki/Zweierkomplement Zweierkomplement] oder ähnliche Umrechnungen angewandt werden.<br />
===Aktoren===<br />
Die Zustände aller Aktoren außer des Leerlaufreglers (Lambdasondenheizung, Lüfter, Ventil Aktivkohlefilter, Saugrohrheizung, Benzinpumpe) sind bisher nicht erkennbar. Vermutet wird eine binäre Übertragung in einem Modeword.<br />
<br />
===Löschen der gespeicherten Fehler=== <br />
ALDL-Modus 10 (0x0A)<br />
<br />
In der config-Datei von David Rolston für EFIlive findet sich hier der Initialisierungsstring „$F4,$57,$0A,$20,$8B“, der aber nicht funktioniert. Hier muss geforscht werden. <br />
Wenn man Fehler mit einem TECH1 zurücksetzt wäre es denkbar, dabei den Datenstrom mit einem PC zu beobachten. <br />
Andere mögliche Lösungsansätze um den richtigen Code zu ermitteln wären ein ''Brute-Force-Angriff'' mit allen möglichen Codes oder der Vergleich mit anderen gängigen Codes aus oben genannter Liste anderer GM-Steuergeräte.<br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=ALDL-Protokoll&diff=3070ALDL-Protokoll2013-11-03T19:33:58Z<p>Chris601: /* Der Inhalt der empfangenen Bytes */</p>
<hr />
<div>[[Datei:Efilog.png|200px|thumb|right|ALDL-Kommunikation im Log von EFIlive V4]]<br />
==Allgemein==<br />
ALDL - Assembly Line Data Link<br />
<br />
Das ALDL-Protokoll, welches Lada bei den SPI-Modellen verwendet, orientiert sich an den gängigen GM-Formaten. Leider gibt es kein anderes Fahrzeug, welches exakt den Lada-Code verwendet.<br />
<br />
Die Kommunikation mit dem [[Steuergerät SPI Euro2|Steuergerät]] erfolgt mit 8192 Baud mit TTL-typischer Spannung von 5V. Für die Kommunikation mit einem PC kann ein [[Eigenbau-Interface SPI|Eigenbau-Interface]] genutzt werden.<br />
<br />
==Kommunikation mit dem Steuergerät==<br />
===ALDL Modus 01 auswählen===<br />
Um an die Daten des Steuergerätes zu kommen, die sämtliche Sensorwerte, [[Fehlercode Euro2|gespeicherte Fehler]] und sonstige Fahrzeugdaten enthalten, ist es notwendig das Steuergerät in einem bestimmten Modus ''anzusprechen''. <br />
<br />
Der ALDL-Modus 1 (0x01) ist hierbei der Wichtigste. Angestoßen wird dieser, indem <pre>$F4,$57,$01,$20,$94</pre> zum Steuergerät gesendet wird. <br />
<pre><br />
$F4 = Frame ID <br />
$57 = Message length ($55+1)<br />
$01 = data byte 1 (hier Mode Number)<br />
$20 = data byte 2 (hier offensichtlich ein Parameter)<br />
$94 = Prüfsumme (die Berechnung dieser ist in der EFIlive-Hilfe erklärt)<br />
</pre><br />
<br />
===Antwort vom Steuergerät===<br />
Auf diesen Initialisierungsstring antwortet das Steuergerät einige Millisekunden später mit einem Datenwort aus 69 <br />
Bytes. Hier eine Beispiel-Kommunikation (Zeilenumbrüche eingefügt):<br />
<pre>gesendet: $F4,$57,$01,$20,$94<br />
empfangen:<br />
$F4,$97,$01,<br />
$19,$6D,$40,$04,$00,$74,$46,$11,$03,$32,<br />
$06,$1D,$00,$00,$19,$56,$FB,$78,$23,$7B,<br />
$06,$06,$50,$00,$F4,$60,$53,$B1,$50,$C7,<br />
$88,$94,$00,$00,$00,$66,$87,$70,$00,$F3,<br />
$A7,$00,$00,$85,$00,$00,$CC,$01,$20,$E9,<br />
$00,$81,$01,$80,$6F,$00,$00,$04,$A4,$09,<br />
$80,$0A,$44,$13,$00,$CB</pre><br />
<br />
==Der Inhalt der empfangenen Bytes== <br />
[[Datei:Eficonfig.jpg|200px|thumb|right|Auszug aus dem Configfile "nivatext.xml" für EFIlive von David Rolston]]<br />
Um die empfangenen Daten deuten zu können, muss man sich mit dem GM-typischen Protokollaufbau anderer GM-Steuerteile befassen. Eine Liste verschiedener Steuerteile und deren Codes findet sich hier: http://www.diy-efi.org/files/gmecm/ALDLstuff.zip<br />
<br />
David Rolston (http://ladaniva.co.uk) hat ein Configfile (http://www.ladaniva.co.uk/nivalive.zip) für [[EFILive V4]] geschrieben, welches einen Großteil der Bytes deuten kann.<br />
Dieses Configfile ist aktuell die vollständigste Zusammenfassung des Lada-ALDL-Protokolles. <br />
<br />
Die empfangenen Bytes sind hexadezimal. Die meisten Werte müssen zur Weiterverarbeitung in Dezimalzahlen (z.B. Sensorwerte) oder Binärdaten (z.B. Fehlercodes) umgerechnet werden.<br />
<br />
{| border="1"<br />
|Byte<br />
|Bedeutung<br />
|Faktor<br />
|Offset<br />
|Beispiel<br />
|Ergebnis<br />
|-<br />
| <br />
|Initialisierung (Frame-ID)<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
| <br />
|Initialisierung (Länge des Strings)<br />
|<br />
|<br />
|$97<br />
|<br />
|-<br />
| <br />
|ALDL-Modus<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|1(16bit)<br />
|Eprom-ID ($19$6D=Lada 21073, $19$63=Lada 21214)<br />
|<br />
|<br />
|$19$6D<br />
|Lada 21073<br />
|-<br />
|3<br />
|Fehlercodes 1 (Bit0=Fehler Nr.24, Bit1=23, Bit2=22, Bit3=21, Bit4=15, Bit5=14, Bit6=13,Bit7=12)<br />
|<br />
|<br />
|$40<br />
|<br />
|-<br />
|4<br />
|Fehlercodes 2 (Bit0=Fehler Nr.42, Bit1=41, Bit2=35, Bit3=34, Bit4=33, Bit5=32, Bit6=31,Bit7=25)<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|5<br />
|Fehlercodes 3 (Bit0=Fehler Nr.55, Bit1=54, Bit2=53, Bit3=26, Bit4=51, Bit5=45, Bit6=44,Bit7=43)<br />
| <br />
|<br />
|$00<br />
|<br />
|-<br />
|6<br />
|Kühlmitteltemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$74<br />
|47°C<br />
|-<br />
|7<br />
|Startup Coolant Temp (?)<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$46<br />
|12,5°C<br />
|-<br />
|8<br />
|Spannung Drosselklappensensor<br />
|0,019608<br />
|0<br />
|$11<br />
|0,33V<br />
|-<br />
|9<br />
|Drosselklappenöffnung in % <br />
|0,392157<br />
|0<br />
|$03<br />
|1,18%<br />
|-<br />
|10<br />
|Motordrehzahl <br />
|25<br />
|0<br />
|$32<br />
|1250 RPM<br />
|-<br />
|11<br />
|Refpulse MSB (?)<br />
|<br />
|<br />
|$06<br />
|<br />
|-<br />
|12<br />
|Refpulse LSB (?)<br />
|<br />
|<br />
|$1D<br />
|<br />
|-<br />
|13<br />
|Geschwindigkeit <br />
|1 (1,60934 für km/h) <br />
|<br />
|$00<br />
|0MPH<br />
|-<br />
|14<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|15<br />
|Spannung Lambdasonde<br />
|4,44<br />
|0<br />
|$19<br />
|111mV<br />
|-<br />
|16<br />
|O2-Sensor Cross Counts (?)<br />
|<br />
|<br />
|$56<br />
|<br />
|-<br />
|17<br />
|<br />
|<br />
|<br />
|$FB<br />
|<br />
|-<br />
|18<br />
|<br />
|<br />
|<br />
|$78<br />
|<br />
|-<br />
|19<br />
|<br />
|<br />
|<br />
|$23<br />
|<br />
|-<br />
|20<br />
|<br />
|<br />
|<br />
|$7B<br />
|<br />
|-<br />
|21<br />
|IST-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|22<br />
|SOLL-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|23<br />
|Solldrehzahl Leerlauf<br />
|12,5<br />
|0<br />
|$50<br />
|1000RPM<br />
|-<br />
|24<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|25<br />
|<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
|26<br />
|MAP (Unterdruck am Ansaug)<br />
|0,37<br />
|10,34<br />
|$60<br />
|46kPa<br />
|-<br />
|27<br />
|<br />
|<br />
|<br />
|$53<br />
|<br />
|-<br />
|28<br />
|<br />
|<br />
|<br />
|$B1<br />
|<br />
|-<br />
|29<br />
|Ansauglufttemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$50<br />
|40°C<br />
|-<br />
|30<br />
|<br />
|<br />
|<br />
|$C7<br />
|<br />
|-<br />
|31<br />
|Batteriespannung<br />
|0,1<br />
|0<br />
|$88<br />
|13,6V<br />
|-<br />
|32<br />
|[[ALDL-Protokoll#Byte 32, Zündzeitpunkt|Zündwinkelvorverstellung]]<br />
|0,351565<br />
|0<br />
|$94<br />
|52° (?)<br />
|-<br />
|33<br />
|Zündwinkelvorverstellung (bei Lada möglicherweise ungenutzt)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|34<br />
|Zündwinkelvorverstellung (bei Lada möglicherweise ungenutzt)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|35(16bit)<br />
|Einspritzdauer<br />
|0,07629<br />
|0<br />
|$00$66<br />
|7,78ms<br />
|-<br />
|37<br />
|SOLL-Verhältnis Luft/Kraftstoff<br />
|0,1<br />
|0<br />
|$87<br />
|13,5<br />
|-<br />
|38<br />
|<br />
|<br />
|<br />
|$70<br />
|<br />
|-<br />
|39<br />
|Motor Laufzeit (bei Lada möglicherweise ungenutzt) <br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|40<br />
|Motor Laufzeit LSB<br />
|<br />
|<br />
|$F3<br />
|<br />
|-<br />
|41<br />
|<br />
|<br />
|<br />
|$A7<br />
|<br />
|-<br />
|42<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|43<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|44<br />
|<br />
|<br />
|<br />
|$85<br />
|<br />
|-<br />
|45<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|46<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|47<br />
|<br />
|<br />
|<br />
|$CC<br />
|<br />
|-<br />
|48<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|49<br />
|<br />
|<br />
|<br />
|$20<br />
|<br />
|-<br />
|50<br />
|<br />
|<br />
|<br />
|$E9<br />
|<br />
|-<br />
|51<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|52<br />
|<br />
|<br />
|<br />
|$81<br />
|<br />
|-<br />
|53<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|54<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|55<br />
|<br />
|<br />
|<br />
|$6F<br />
|<br />
|-<br />
|56<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|57<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|58<br />
|<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|59<br />
|<br />
|<br />
|<br />
|$A4<br />
|<br />
|-<br />
|60<br />
|<br />
|<br />
|<br />
|$09<br />
|<br />
|-<br />
|61<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|62<br />
|<br />
|<br />
|<br />
|$0A<br />
|<br />
|-<br />
|63<br />
|<br />
|<br />
|<br />
|$44<br />
|<br />
|-<br />
|64<br />
|<br />
|<br />
|<br />
|$13<br />
|<br />
|-<br />
|65<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|66<br />
|Prüfsumme<br />
|<br />
|<br />
|$CB<br />
|<br />
<br />
|}<br />
(Tabelle wird ergänzt, die mit Fragezeichen versehenen Felder sollten besser beschrieben werden bzw. müssen noch verstanden werden)<br />
<br />
==Aktuelle Probleme und Unklarheiten== <br />
===Byte 32, Zündzeitpunkt===<br />
Dieses Byte soll den Wert des Zündzeitpunktes im Bezug auf den OT angeben. Er sollte Werte von 0 bis 40 ($00 bis $72) haben und gibt an, wieviel Grad vor OT gezündet wird. <br />
Wir gehen für die Berechnung von einem Faktor von 0,351565 aus. In unteren Drehzahlbereichen werden aber größere Winkel (teilweise >40°) angezeigt, die weder stimmen können noch mit Werten übereinstimmen, die ein TECH1 zu diesem Zeitpunkt liefert.<br />
Bei höheren Drehzahlen befinden sich die übermittelten Werte in denkbaren Größenordnungen. <br />
Möglicherweise muss auf den Hexadezimalwert zunächst das [http://de.wikipedia.org/wiki/Zweierkomplement Zweierkomplement] oder ähnliche Umrechnungen angewandt werden.<br />
===Aktoren===<br />
Die Zustände aller Aktoren außer des Leerlaufreglers (Lambdasondenheizung, Lüfter, Ventil Aktivkohlefilter, Saugrohrheizung, Benzinpumpe) sind bisher nicht erkennbar. Vermutet wird eine binäre Übertragung in einem Modeword.<br />
<br />
===Löschen der gespeicherten Fehler=== <br />
ALDL-Modus 10 (0x0A)<br />
<br />
In der config-Datei von David Rolston für EFIlive findet sich hier der Initialisierungsstring „$F4,$57,$0A,$20,$8B“, der aber nicht funktioniert. Hier muss geforscht werden. <br />
Wenn man Fehler mit einem TECH1 zurücksetzt wäre es denkbar, dabei den Datenstrom mit einem PC zu beobachten. <br />
Andere mögliche Lösungsansätze um den richtigen Code zu ermitteln wären ein ''Brute-Force-Angriff'' mit allen möglichen Codes oder der Vergleich mit anderen gängigen Codes aus oben genannter Liste anderer GM-Steuergeräte.<br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=ALDL-Protokoll&diff=3059ALDL-Protokoll2013-10-23T07:41:08Z<p>Chris601: /* ALDL Modus 01 auswählen */</p>
<hr />
<div>[[Datei:Efilog.png|200px|thumb|right|ALDL-Kommunikation im Log von EFIlive V4]]<br />
==Allgemein==<br />
ALDL - Assembly Line Data Link<br />
<br />
Das ALDL-Protokoll, welches Lada bei den SPI-Modellen verwendet, orientiert sich an den gängigen GM-Formaten. Leider gibt es kein anderes Fahrzeug, welches exakt den Lada-Code verwendet.<br />
<br />
Die Kommunikation mit dem [[Steuergerät SPI Euro2|Steuergerät]] erfolgt mit 8192 Baud mit TTL-typischer Spannung von 5V. Für die Kommunikation mit einem PC kann ein [[Eigenbau-Interface SPI|Eigenbau-Interface]] genutzt werden.<br />
<br />
==Kommunikation mit dem Steuergerät==<br />
===ALDL Modus 01 auswählen===<br />
Um an die Daten des Steuergerätes zu kommen, die sämtliche Sensorwerte, [[Fehlercode Euro2|gespeicherte Fehler]] und sonstige Fahrzeugdaten enthalten, ist es notwendig das Steuergerät in einem bestimmten Modus ''anzusprechen''. <br />
<br />
Der ALDL-Modus 1 (0x01) ist hierbei der Wichtigste. Angestoßen wird dieser, indem <pre>$F4,$57,$01,$20,$94</pre> zum Steuergerät gesendet wird. <br />
<pre><br />
$F4 = Frame ID <br />
$57 = Message length ($55+1)<br />
$01 = data byte 1 (hier Mode Number)<br />
$20 = data byte 2 (hier offensichtlich ein Parameter)<br />
$94 = Prüfsumme (die Berechnung dieser ist in der EFIlive-Hilfe erklärt)<br />
</pre><br />
<br />
===Antwort vom Steuergerät===<br />
Auf diesen Initialisierungsstring antwortet das Steuergerät einige Millisekunden später mit einem Datenwort aus 69 <br />
Bytes. Hier eine Beispiel-Kommunikation (Zeilenumbrüche eingefügt):<br />
<pre>gesendet: $F4,$57,$01,$20,$94<br />
empfangen:<br />
$F4,$97,$01,<br />
$19,$6D,$40,$04,$00,$74,$46,$11,$03,$32,<br />
$06,$1D,$00,$00,$19,$56,$FB,$78,$23,$7B,<br />
$06,$06,$50,$00,$F4,$60,$53,$B1,$50,$C7,<br />
$88,$94,$00,$00,$00,$66,$87,$70,$00,$F3,<br />
$A7,$00,$00,$85,$00,$00,$CC,$01,$20,$E9,<br />
$00,$81,$01,$80,$6F,$00,$00,$04,$A4,$09,<br />
$80,$0A,$44,$13,$00,$CB</pre><br />
<br />
==Der Inhalt der empfangenen Bytes== <br />
[[Datei:Eficonfig.jpg|200px|thumb|right|Auszug aus dem Configfile "nivatext.xml" für EFIlive von David Rolston]]<br />
Um die empfangenen Daten deuten zu können, muss man sich mit dem GM-typischen Protokollaufbau anderer GM-Steuerteile befassen. Eine Liste verschiedener Steuerteile und deren Codes findet sich hier: http://www.diy-efi.org/files/gmecm/ALDLstuff.zip<br />
<br />
David Rolston (http://ladaniva.co.uk) hat ein Configfile (http://www.ladaniva.co.uk/nivalive.zip) für [[EFILive V4]] geschrieben, welches einen Großteil der Bytes deuten kann.<br />
Dieses Configfile ist aktuell die vollständigste Zusammenfassung des Lada-ALDL-Protokolles. <br />
<br />
Die empfangenen Bytes sind hexadezimal. Die meisten Werte müssen zur Weiterverarbeitung in Dezimalzahlen (z.B. Sensorwerte) oder Binärdaten (z.B. Fehlercodes) umgerechnet werden.<br />
<br />
{| border="1"<br />
|Byte<br />
|Bedeutung<br />
|Faktor<br />
|Offset<br />
|Beispiel<br />
|Ergebnis<br />
|-<br />
| <br />
|Initialisierung<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
| <br />
|Initialisierung<br />
|<br />
|<br />
|$97<br />
|<br />
|-<br />
| <br />
|ALDL-Modus<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|1(16bit)<br />
|Eprom-ID<br />
|<br />
|<br />
|$19$6D<br />
|<br />
|-<br />
|3<br />
|Fehlercodes 1<br />
|<br />
|<br />
|$40<br />
|<br />
|-<br />
|4<br />
|Fehlercodes 2<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|5<br />
|Fehlercodes 3<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|6<br />
|Kühlmitteltemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$74<br />
|47°C<br />
|-<br />
|7<br />
|Startup Coolant Temp (?)<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$46<br />
|12,5°C<br />
|-<br />
|8<br />
|Spannung Drosselklappensensor<br />
|0,019608<br />
|0<br />
|$11<br />
|0,33V<br />
|-<br />
|9<br />
|Drosselklappenöffnung in % <br />
|0,392157<br />
|0<br />
|$03<br />
|1,18%<br />
|-<br />
|10<br />
|Motordrehzahl <br />
|25<br />
|0<br />
|$32<br />
|1250 RPM<br />
|-<br />
|11<br />
|Refpulse MSB (?)<br />
|<br />
|<br />
|$06<br />
|<br />
|-<br />
|12<br />
|Refpulse LSB (?)<br />
|<br />
|<br />
|$1D<br />
|<br />
|-<br />
|13<br />
|Geschwindigkeit <br />
|1 (1,60934 für km/h) <br />
|<br />
|$00<br />
|0MPH<br />
|-<br />
|14<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|15<br />
|Spannung Lambdasonde<br />
|4,44<br />
|0<br />
|$19<br />
|111mV<br />
|-<br />
|16<br />
|O2-Sensor Cross Counts (?)<br />
|<br />
|<br />
|$56<br />
|<br />
|-<br />
|17<br />
|<br />
|<br />
|<br />
|$FB<br />
|<br />
|-<br />
|18<br />
|<br />
|<br />
|<br />
|$78<br />
|<br />
|-<br />
|19<br />
|<br />
|<br />
|<br />
|$23<br />
|<br />
|-<br />
|20<br />
|<br />
|<br />
|<br />
|$7B<br />
|<br />
|-<br />
|21<br />
|IST-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|22<br />
|SOLL-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|23<br />
|Solldrehzahl Leerlauf<br />
|12,5<br />
|0<br />
|$50<br />
|1000RPM<br />
|-<br />
|24<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|25<br />
|<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
|26<br />
|MAP (Unterdruck am Ansaug)<br />
|0,37<br />
|10,34<br />
|$60<br />
|46kPa<br />
|-<br />
|27<br />
|<br />
|<br />
|<br />
|$53<br />
|<br />
|-<br />
|28<br />
|<br />
|<br />
|<br />
|$B1<br />
|<br />
|-<br />
|29<br />
|Ansauglufttemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$50<br />
|40°C<br />
|-<br />
|30<br />
|<br />
|<br />
|<br />
|$C7<br />
|<br />
|-<br />
|31<br />
|Batteriespannung<br />
|0,1<br />
|0<br />
|$88<br />
|13,6V<br />
|-<br />
|32<br />
|[[ALDL-Protokoll#Byte 32, Zündzeitpunkt|Zündwinkelvorverstellung]]<br />
|0,351565<br />
|0<br />
|$94<br />
|52° (?)<br />
|-<br />
|33<br />
|Zündwinkelvorverstellung (bei Lada möglicherweise ungenutzt)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|34<br />
|Zündwinkelvorverstellung (bei Lada möglicherweise ungenutzt)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|35(16bit)<br />
|Einspritzdauer<br />
|0,07629<br />
|0<br />
|$00$66<br />
|7,78ms<br />
|-<br />
|37<br />
|SOLL-Verhältnis Luft/Kraftstoff<br />
|0,1<br />
|0<br />
|$87<br />
|13,5<br />
|-<br />
|38<br />
|<br />
|<br />
|<br />
|$70<br />
|<br />
|-<br />
|39<br />
|Motor Laufzeit (bei Lada möglicherweise ungenutzt) <br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|40<br />
|Motor Laufzeit LSB<br />
|<br />
|<br />
|$F3<br />
|<br />
|-<br />
|41<br />
|<br />
|<br />
|<br />
|$A7<br />
|<br />
|-<br />
|42<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|43<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|44<br />
|<br />
|<br />
|<br />
|$85<br />
|<br />
|-<br />
|45<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|46<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|47<br />
|<br />
|<br />
|<br />
|$CC<br />
|<br />
|-<br />
|48<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|49<br />
|<br />
|<br />
|<br />
|$20<br />
|<br />
|-<br />
|50<br />
|<br />
|<br />
|<br />
|$E9<br />
|<br />
|-<br />
|51<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|52<br />
|<br />
|<br />
|<br />
|$81<br />
|<br />
|-<br />
|53<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|54<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|55<br />
|<br />
|<br />
|<br />
|$6F<br />
|<br />
|-<br />
|56<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|57<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|58<br />
|<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|59<br />
|<br />
|<br />
|<br />
|$A4<br />
|<br />
|-<br />
|60<br />
|<br />
|<br />
|<br />
|$09<br />
|<br />
|-<br />
|61<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|62<br />
|<br />
|<br />
|<br />
|$0A<br />
|<br />
|-<br />
|63<br />
|<br />
|<br />
|<br />
|$44<br />
|<br />
|-<br />
|64<br />
|<br />
|<br />
|<br />
|$13<br />
|<br />
|-<br />
|65<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|66<br />
|<br />
|<br />
|<br />
|$CB<br />
|<br />
<br />
|}<br />
(Tabelle wird ergänzt, die mit Fragezeichen versehenen Felder sollten besser beschrieben werden bzw. müssen noch verstanden werden)<br />
<br />
==Aktuelle Probleme und Unklarheiten== <br />
===Byte 32, Zündzeitpunkt===<br />
Dieses Byte soll den Wert des Zündzeitpunktes im Bezug auf den OT angeben. Er sollte Werte von 0 bis 40 ($00 bis $72) haben und gibt an, wieviel Grad vor OT gezündet wird. <br />
Wir gehen für die Berechnung von einem Faktor von 0,351565 aus. In unteren Drehzahlbereichen werden aber größere Winkel (teilweise >40°) angezeigt, die weder stimmen können noch mit Werten übereinstimmen, die ein TECH1 zu diesem Zeitpunkt liefert.<br />
Bei höheren Drehzahlen befinden sich die übermittelten Werte in denkbaren Größenordnungen. <br />
Möglicherweise muss auf den Hexadezimalwert zunächst das [http://de.wikipedia.org/wiki/Zweierkomplement Zweierkomplement] oder ähnliche Umrechnungen angewandt werden.<br />
===Aktoren===<br />
Die Zustände aller Aktoren außer des Leerlaufreglers (Lambdasondenheizung, Lüfter, Ventil Aktivkohlefilter, Saugrohrheizung, Benzinpumpe) sind bisher nicht erkennbar. Vermutet wird eine binäre Übertragung in einem Modeword.<br />
<br />
===Löschen der gespeicherten Fehler=== <br />
ALDL-Modus 10 (0x0A)<br />
<br />
In der config-Datei von David Rolston für EFIlive findet sich hier der Initialisierungsstring „$F4,$57,$0A,$20,$8B“, der aber nicht funktioniert. Hier muss geforscht werden. <br />
Wenn man Fehler mit einem TECH1 zurücksetzt wäre es denkbar, dabei den Datenstrom mit einem PC zu beobachten. <br />
Andere mögliche Lösungsansätze um den richtigen Code zu ermitteln wären ein ''Brute-Force-Angriff'' mit allen möglichen Codes oder der Vergleich mit anderen gängigen Codes aus oben genannter Liste anderer GM-Steuergeräte.<br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=EFILive_V4&diff=3058EFILive V42013-10-23T07:21:19Z<p>Chris601: /* Dashboard(F8) */</p>
<hr />
<div>[[Datei:Efiruhe.png|200px|thumb|right|Das Dashboard von EFIlive V4]]<br />
==Allgemein==<br />
"EFILive" ist eine kommerzielle PC-Software der neuseeländischen Firma "EFILive Limited".<br />
<br />
Die Version 4 (EFILive V4) ist für Fahrzeuge mit [[ALDL-Protokoll|ALDL]]-Steuergeräten geeignet.<br />
<br />
Das Besondere an EFIlive ist, dass der nordirische Niva-Bastler David Rolston eine Niva-Spezifikation für diese Software geschrieben hat und man sie somit zur Diagnose der Fahrzeugdaten und zum Auslesen der gespeicherten Fehlercodes einsetzen kann. <br />
<br />
==Download von Software und der Konfigurationsdatei "nivatest.xml"==<br />
Die EFIlive-Software kann man auf der Herstellerseite http://www.efilive.com als Testversion unter Downloads -> "EFILive V4 OBDI ALDL Scan Tool" kostenfrei herunterladen. Leider fehlen dieser Testversion viele wichtige Funktionen. Eine Lizenz für die Vollversion kostet 199US$.<br />
<br />
Die Lada-Spezifikation findet sich auf Davids Website http://ladaniva.co.uk/ zum Download: http://www.ladaniva.co.uk/nivalive.zip<br />
==Konfigurieren der Software==<br />
===Start und Lizenzdaten===<br />
Beim Start der Software müssen zunächst die Lizenzdaten eingegeben werden. Die Lizenzdaten für die Testversion (evaluation license) gibt es auf dem eingeblendeten Link.<br />
===COM-Port===<br />
Der COM-Port, an den das [[Eigenbau-Interface SPI|Interface]] angeschlossen ist, muss in der Software eingestellt werden. Bei Rechnern, die einen seriellen Anschluss (RS232) schon mitbringen, ist das meist COM1 oder COM2. Verwendet man USB-RS232-Adapter (von denen leider nicht alle mit 8192Baud umgehen können), liegen die Portnummern oft deutlich höher. EFIlive lässt eine Auswahl von COM1-8 zu. Bekommt man von Windows einen höheren Port zugewiesen, muss man in der Systemsteuerung des PCs aufräumen oder Com-Ports tauschen.<br />
In der Software wird der COM-Port unter Edit->Properties im Reiter Comms eingestellt.<br />
<br />
===nivatest.xml===<br />
Unter File -> Select vehicle öffnen wir die nivatest.xml, die wir vorher aus dem ZIP-Archiv entpackt haben. <br />
<br />
Jetzt ist EFIlive V4 einsatzbereit. <br />
<br />
<br />
==Bedienung==<br />
===Protokollierung starten===<br />
Mit einem Mausklick auf den Grünen Punkt (Start aldl) oder der Taste F3 beginnt die ALDL-Protokollierung<br />
===Macros(F6)===<br />
In dieser Ansicht sieht man den ALDL-Datenstrom. Man sieht gesendete und empfangene Bytes im Rohformat. Gibt es Probleme mit der Datenübertragung sieht man sie hier am besten.<br />
===Aldl(F7)===<br />
Hier sieht man die empfangenen Werte in einer Tabelle<br />
===Dashboard(F8)===<br />
Die Hauptansicht. Hier werden alle Sensorwerte und Motordaten grafisch dargestellt.<br />
<br />
Die Angezeigten Instrumente sind:<br />
<br />
*COOLTMP: Kühlwassertemperatur in °C<br />
*DESIDLE: Soll-Leerlaufdrehzahl in U/min<br />
*BPW: Pulsbreite des Einspritzimpulses in ms<br />
*SPRKADV: Zündzeitpunkt in ° vor OT (aktuell stimmen die angezeigten Werte noch nicht)<br />
*RPM: Drehzahl in U/min<br />
*MAT: Lufttemperatur in °C<br />
*VACUUM: Unterdruck im Ansaugtrakt in kPa<br />
*O2 Sensor: Spannung der Lambdasonde in mV<br />
*TPS%: Drosselklappenöffnung in %<br />
*BATTV: Spannung im Bordnetz in V<br />
*MPH: Geschwindigkeit in MPH (kann durch Änderung des Faktors auch in km/h geändert werden)<br />
*IACPRES: IST-Position des Leerlaufreglers in Schritten (0-255)<br />
*IACDES: SOLL-Position des Leerlaufreglers in Schritten (0-255)<br />
*DESAF: Verhältnis Luft/Kraftstoff<br />
<br />
===Charts(F9)===<br />
Die Diagramme. Um den zeitlichen Verlauf einiger Motordaten grafisch darzustellen eignen sich diese Diagramme sehr gut. Um das Zeichnen der Diagramme zu starten ist ein Klick auf das türkise Symbol (Toggle logging on/off) oder das Drücken der Leertaste erforderlich.<br />
===DTC(F10)===<br />
Ansicht der Fehlercodes<br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=Eigenbau-Interface_SPI&diff=3057Eigenbau-Interface SPI2013-10-23T06:30:49Z<p>Chris601: /* Version für den USB-Port */</p>
<hr />
<div>==Allgemein==<br />
Das [[Steuergerät SPI Euro2|Steuergerät]] der Ladas mit Singlepoint-Einspritzung (EURO2) gibt an der Diagnosebuchse auf Anfrage der eingesetzten Software oder Diagnosegeräte sämtliche Sensorwerte und die im Fehlerspeicher hinterlegten Daten aus.<br />
Diese Ausgabe erfolgt unverschlüsselt digital mit einer Geschwindigkeit von 8192 Baud im [[ALDL-Protokoll]]. Als Pegel liegt bei "high" (TTL-typisch) 5V-Spannung an.<br />
<br />
Will man diese Werte am PC beispielsweise mit [[EFILive V4]] auswerten, genügt ein relativ leicht und preiswert aufzubauendes Interface. Herzstück dieser Schaltung ist entweder ein elektronischer Schaltkreis mit der Bezeichnung "MAX232" der zur Pegelanpassung für die serielle Schnittstelle des PC dient oder ein USB-TTL-Adapter um das Interface per USB an den Computer anzuschließen.<br />
<br />
Das Interface funktioniert technisch auch am Lada Samara Baltic, da dieser ebenfalls ALDL mit 8192 Baud nutzt. Der empfangene Datensatz ist allerdings komplett anders und es gibt aktuell vermutlich noch keine Software, die diesen auswerten kann.<br />
<br />
==Version für die serielle Schnittstelle (RS232)==<br />
[[Datei:ALDL-RS232-Interface.png|200px|thumb|right|Schaltplan ALDL-RS232-Interface]]<br />
[[Datei:Fertiger Bausatz.jpg|200px|thumb|right|fertig aufgebauter Bausatz]]<br />
[[Datei:Komplettes Diagnoseinterface.jpg|200px|thumb|right|komplettes RS232-Diagnoseinterface mit USB-Stromversorgung, Diode, Widerstand und Kabel zur Diagnosebuchse]]<br />
[[Datei:Interface im PC.jpg|200px|thumb|right|Interface samt USB-Stromversorgung am PC angesteckt]]<br />
[[Datei:Diagnosebuchse.jpg|200px|thumb|right|Anschluss an der Diagnosebuchse: Weiß ist die Masseleitung an Klemme A, Schwarz ist die Datenleitung an Klemme M und zwischen A und B steckt der "Modeselect"-Widerstand mit 10kOhm]]<br />
Diese Schaltung setzt einen PC mit serieller Schnittstelle (RS232) voraus, die leider an tragbaren Computern selten wird.<br />
<br />
Die Firma Pollin (Elektronikversand) bietet einen preiswerten [http://www.pollin.de/shop/dt/MzY5OTgxOTk-/Bausaetze_Module/Bausaetze/RS232_TTL_Wandler_Bausatz.html Bausatz] an, der für unseren Zweck nur noch durch einen Widerstand (1kOhm) und eine Diode (z.B. 1N4148) ergänzt werden muss. Um am Steuergerät den ALDL-Modus zu wählen ist ein weiterer Widerstand (10kOhm) notwendig.<br />
<br />
Dieser Bausatz benötigt noch eine Stromversorgung von 5V. Man kann hier beispielsweise ein altes USB-Kabel nutzen von dem man die stromführenden Adern herausführt.<br />
<br />
Die Kommunikation zwischen Computer und Motorsteuergerät findet über eine einzelne Leitung in Hin- und Rückrichtung statt. Es wird also die Diode mit der Kathode (in der Regel durch einen Ring gekennzeichnet) in die Klemme "TXD" der Platine geschraubt und der Widerstand in die Klemme "RXD". Die anderen Kontakte der Bauelemente werden verbunden und es wird das Kabel zum Anschluss "M" der Diagnosesteckdose geführt.<br />
Wichtig ist weiterhin der Potentialausgleich zwischen Schaltung und Fahrzeug. Dafür wird ein zweites Kabel von der Masse-Klemme der Platine zu Klemme "A" der Diagnosesteckdose geführt.<br />
Zwischen Klemme "A" und "B" wird ein 10kOhm Widerstand gesteckt und das USB-Kabel wird in eine USB-Dose gesteckt (Da es nur um die Stromversorgung geht, muss es nicht zwingend ein Computer sein. Ein Autoradio oder ein Adapter für den Zigarettenanzünder genügen.). Mit diesem Aufbau ist das Interface betriebsbereit.<br />
<br />
===Vorteile===<br />
* einfache und robuste elektronische Schaltug mit billigen und einfach zu beschaffenden Bauteilen<br />
* der normale serielle Port des PC kann genutzt werden<br />
<br />
===Nachteile===<br />
* viele PCs, besonders Laptops, besitzen serienmäßig keinen seriellen Port mehr<br />
* es wird eine 5V-Spannungsquelle zum Betrieb der Schaltung benötigt<br />
<br />
{{Absatz}}<br />
Der Bausatz:<br />
[[Bild:Bs-spi-interf.JPG|thumb]]<br />
*hochwertige Platine<br />
*wenig Bauteile<br />
*kurze aber ausreichende Anleitung<br />
*kein IC-Sockel dabei<br />
{{Absatz}}<br />
==Version für den USB-Port==<br />
[[Datei:USB-TTL.jpg|200px|thumb|right|USB-TTL-Interface ohne Randbeschaltung]]<br />
[[Datei:Schaltplan-USB.png|200px|thumb|right|Schaltplan]]<br />
[[Datei:USB-ALDL.jpg|200px|thumb|right|fertiges Interface mit Gehäuse, ALDL-Stecker und USB-Verlängerung]]<br />
Es gibt fertige USB-Module, sogenannte USB-TTL-Wandler, die direkt die Signale des Motorsteuergerätes auswerten können ohne den Umweg über die RS232-Schnittstelle zu gehen. Als zweckmäßig haben sich Module mit dem CP2102-Chip herausgestellt.<br />
<br />
Als Randbeschaltung benötigen diese Module auch die Widerstands-Dioden-Kombination am TX und RX-Port wie bei der RS232-Version, den 10kOhm-Widerstand zwischen Port A und B der Diagnosebuchse und die Masseverbindung zur Diagnosebuchse. Eine separate Stromversorgung entfällt.<br />
<br />
Auf dem PC wird ein Treiber für das Interface benötigt. Diesen bezieht man auf der [http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx Herstellerseite].<br />
<br />
Dieser Treiber erzeugt einen virtuellen COM-Port. (z.B. COM7), der dann in der Software auszuwählen ist.<br />
<br />
Im Auslieferungszustand arbeitet das Interface nicht mit 8192Baud. Diese Geschwindigkeit muss per Software gesetzt werden.<br />
Die Software, die dazu benötigt wird, gibt es unter dem Namen "AN205SW.zip" ebenfalls auf der Treiberseite. (Ich hatte unter Windows 7 Probleme mit der dort angebotenen Version 2.2, fand aber im Internet auch eine funktionierende [http://www.4dsystems.com.au/downloads/micro-USB/utilities/AN205SW.zip Version 2.3.])<br />
<br />
===Vorteile===<br />
* es wird kein physikalischer serieller Port benötigt<br />
* es wird keine separate Stromversorgung benötigt<br />
* sehr kompakt, einfach aufzubauen<br />
<br />
===Nachteile===<br />
* aufwändigere Konfiguration durch virtuellen Com-Port und Anpassung der Geschwindigkeit<br />
{{Absatz}}<br />
<br />
==Andere Selbstbaulösungen==<br />
[[Datei:ATmega.jpg|200px|thumb|right|Testaufbau eines Diagnosegerätes]]<br />
Durch die standardisierte serielle Übertragung ist es einfach, auch andere Eigenbau-Elektronik anzuschließen.<br />
Ein Mikroprozessor ATmega8 mit Display, der mit Bascom programmiert wurde, läuft beispielsweise bereits im Test an einem 21073.<br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=Eigenbau-Interface_SPI&diff=3056Eigenbau-Interface SPI2013-10-23T06:21:07Z<p>Chris601: /* Allgemein */</p>
<hr />
<div>==Allgemein==<br />
Das [[Steuergerät SPI Euro2|Steuergerät]] der Ladas mit Singlepoint-Einspritzung (EURO2) gibt an der Diagnosebuchse auf Anfrage der eingesetzten Software oder Diagnosegeräte sämtliche Sensorwerte und die im Fehlerspeicher hinterlegten Daten aus.<br />
Diese Ausgabe erfolgt unverschlüsselt digital mit einer Geschwindigkeit von 8192 Baud im [[ALDL-Protokoll]]. Als Pegel liegt bei "high" (TTL-typisch) 5V-Spannung an.<br />
<br />
Will man diese Werte am PC beispielsweise mit [[EFILive V4]] auswerten, genügt ein relativ leicht und preiswert aufzubauendes Interface. Herzstück dieser Schaltung ist entweder ein elektronischer Schaltkreis mit der Bezeichnung "MAX232" der zur Pegelanpassung für die serielle Schnittstelle des PC dient oder ein USB-TTL-Adapter um das Interface per USB an den Computer anzuschließen.<br />
<br />
Das Interface funktioniert technisch auch am Lada Samara Baltic, da dieser ebenfalls ALDL mit 8192 Baud nutzt. Der empfangene Datensatz ist allerdings komplett anders und es gibt aktuell vermutlich noch keine Software, die diesen auswerten kann.<br />
<br />
==Version für die serielle Schnittstelle (RS232)==<br />
[[Datei:ALDL-RS232-Interface.png|200px|thumb|right|Schaltplan ALDL-RS232-Interface]]<br />
[[Datei:Fertiger Bausatz.jpg|200px|thumb|right|fertig aufgebauter Bausatz]]<br />
[[Datei:Komplettes Diagnoseinterface.jpg|200px|thumb|right|komplettes RS232-Diagnoseinterface mit USB-Stromversorgung, Diode, Widerstand und Kabel zur Diagnosebuchse]]<br />
[[Datei:Interface im PC.jpg|200px|thumb|right|Interface samt USB-Stromversorgung am PC angesteckt]]<br />
[[Datei:Diagnosebuchse.jpg|200px|thumb|right|Anschluss an der Diagnosebuchse: Weiß ist die Masseleitung an Klemme A, Schwarz ist die Datenleitung an Klemme M und zwischen A und B steckt der "Modeselect"-Widerstand mit 10kOhm]]<br />
Diese Schaltung setzt einen PC mit serieller Schnittstelle (RS232) voraus, die leider an tragbaren Computern selten wird.<br />
<br />
Die Firma Pollin (Elektronikversand) bietet einen preiswerten [http://www.pollin.de/shop/dt/MzY5OTgxOTk-/Bausaetze_Module/Bausaetze/RS232_TTL_Wandler_Bausatz.html Bausatz] an, der für unseren Zweck nur noch durch einen Widerstand (1kOhm) und eine Diode (z.B. 1N4148) ergänzt werden muss. Um am Steuergerät den ALDL-Modus zu wählen ist ein weiterer Widerstand (10kOhm) notwendig.<br />
<br />
Dieser Bausatz benötigt noch eine Stromversorgung von 5V. Man kann hier beispielsweise ein altes USB-Kabel nutzen von dem man die stromführenden Adern herausführt.<br />
<br />
Die Kommunikation zwischen Computer und Motorsteuergerät findet über eine einzelne Leitung in Hin- und Rückrichtung statt. Es wird also die Diode mit der Kathode (in der Regel durch einen Ring gekennzeichnet) in die Klemme "TXD" der Platine geschraubt und der Widerstand in die Klemme "RXD". Die anderen Kontakte der Bauelemente werden verbunden und es wird das Kabel zum Anschluss "M" der Diagnosesteckdose geführt.<br />
Wichtig ist weiterhin der Potentialausgleich zwischen Schaltung und Fahrzeug. Dafür wird ein zweites Kabel von der Masse-Klemme der Platine zu Klemme "A" der Diagnosesteckdose geführt.<br />
Zwischen Klemme "A" und "B" wird ein 10kOhm Widerstand gesteckt und das USB-Kabel wird in eine USB-Dose gesteckt (Da es nur um die Stromversorgung geht, muss es nicht zwingend ein Computer sein. Ein Autoradio oder ein Adapter für den Zigarettenanzünder genügen.). Mit diesem Aufbau ist das Interface betriebsbereit.<br />
<br />
===Vorteile===<br />
* einfache und robuste elektronische Schaltug mit billigen und einfach zu beschaffenden Bauteilen<br />
* der normale serielle Port des PC kann genutzt werden<br />
<br />
===Nachteile===<br />
* viele PCs, besonders Laptops, besitzen serienmäßig keinen seriellen Port mehr<br />
* es wird eine 5V-Spannungsquelle zum Betrieb der Schaltung benötigt<br />
<br />
{{Absatz}}<br />
Der Bausatz:<br />
[[Bild:Bs-spi-interf.JPG|thumb]]<br />
*hochwertige Platine<br />
*wenig Bauteile<br />
*kurze aber ausreichende Anleitung<br />
*kein IC-Sockel dabei<br />
{{Absatz}}<br />
==Version für den USB-Port==<br />
[[Datei:USB-TTL.jpg|200px|thumb|right|USB-TTL-Interface ohne Randbeschaltung]]<br />
[[Datei:Schaltplan-USB.png|200px|thumb|right|Schaltplan]]<br />
[[Datei:USB-ALDL.jpg|200px|thumb|right|fertiges Interface mit Gehäuse, ALDL-Stecker und USB-Verlängerung]]<br />
Es gibt fertige USB-Module, sogenannte USB-TTL-Wandler, die direkt die Signale des Motorsteuergerätes auswerten können ohne den Umweg über die RS232-Schnittstelle zu gehen. Als zweckmäßig haben sich Module mit dem CP2102-Chip herausgestellt.<br />
<br />
Als Randbeschaltung benötigen diese Module auch die Widerstands-Dioden-Kombination am TX und RX-Port wie bei der RS232-Version, den 10kOhm-Widerstand zwischen Port A und B der Diagnosebuchse und die Masseverbindung zur Diagnosebuchse. Eine separate Stromversorgung entfällt.<br />
<br />
Auf dem PC wird ein Treiber für das Interface benötigt. Diesen bezieht man auf der [http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx Herstellerseite].<br />
<br />
Dieser Treiber erzeugt einen virtuellen COM-Port. (z.B. COM7), der dann in der Software auszuwählen ist.<br />
<br />
Im Auslieferungszustand arbeitet das Interface nicht mit 8192Baud. Diese Geschwindigkeit muss per Software gesetzt werden.<br />
Die Software, die dazu benötigt wird, gibt es unter dem Namen "an205sw.zip" ebenfalls auf der Treiberseite. (Ich hatte unter Windows 7 Probleme mit der dort angebotenen Version 2.2, fand aber im Internet auch eine funktionierende Version 2.3.)<br />
<br />
===Vorteile===<br />
* es wird kein physikalischer serieller Port benötigt<br />
* es wird keine separate Stromversorgung benötigt<br />
* sehr kompakt, einfach aufzubauen<br />
<br />
===Nachteile===<br />
* aufwändigere Konfiguration durch virtuellen Com-Port und Anpassung der Geschwindigkeit<br />
{{Absatz}}<br />
==Andere Selbstbaulösungen==<br />
[[Datei:ATmega.jpg|200px|thumb|right|Testaufbau eines Diagnosegerätes]]<br />
Durch die standardisierte serielle Übertragung ist es einfach, auch andere Eigenbau-Elektronik anzuschließen.<br />
Ein Mikroprozessor ATmega8 mit Display, der mit Bascom programmiert wurde, läuft beispielsweise bereits im Test an einem 21073.<br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=Eigenbau-Interface_SPI&diff=3048Eigenbau-Interface SPI2013-10-10T01:24:50Z<p>Chris601: </p>
<hr />
<div>==Allgemein==<br />
Das [[Steuergerät SPI Euro2|Steuergerät]] der Ladas mit Singlepoint-Einspritzung (EURO2) gibt an der Diagnosebuchse auf Anfrage der eingesetzten Software oder Diagnosegeräte sämtliche Sensorwerte und die im Fehlerspeicher hinterlegten Daten aus.<br />
Diese Ausgabe erfolgt unverschlüsselt digital mit einer Geschwindigkeit von 8192 Baud im [[ALDL-Protokoll]]. Als Pegel liegt bei "high" (TTL-typisch) 5V-Spannung an.<br />
<br />
Will man diese Werte am PC beispielsweise mit [[EFILive V4]] auswerten, genügt ein relativ leicht und preiswert aufzubauendes Interface. Herzstück dieser Schaltung ist entweder ein elektronischer Schaltkreis mit der Bezeichnung "MAX232" der zur Pegelanpassung für die serielle Schnittstelle des PC dient oder ein USB-TTL-Adapter, um das Interface per USB an den Computer anzuschließen.<br />
<br />
Das Interface funktioniert technisch auch am Lada Samara Baltic, da dieser ebenfalls ALDL nutzt. Der empfangene Datensatz ist allerdings komplett anders und es gibt aktuell noch keine Software, die diesen auswerten kann)<br />
<br />
==Version für die serielle Schnittstelle (RS232)==<br />
[[Datei:ALDL-RS232-Interface.png|200px|thumb|right|Schaltplan ALDL-RS232-Interface]]<br />
[[Datei:Fertiger Bausatz.jpg|200px|thumb|right|fertig aufgebauter Bausatz]]<br />
[[Datei:Komplettes Diagnoseinterface.jpg|200px|thumb|right|komplettes RS232-Diagnoseinterface mit USB-Stromversorgung, Diode, Widerstand und Kabel zur Diagnosebuchse]]<br />
[[Datei:Interface im PC.jpg|200px|thumb|right|Interface samt USB-Stromversorgung am PC angesteckt]]<br />
[[Datei:Diagnosebuchse.jpg|200px|thumb|right|Anschluss an der Diagnosebuchse: Weiß ist die Masseleitung an Klemme A, Schwarz ist die Datenleitung an Klemme M und zwischen A und B steckt der "Modeselect"-Widerstand mit 10kOhm]]<br />
Diese Schaltung setzt einen PC mit serieller Schnittstelle (RS232) voraus, die leider an tragbaren Computern selten wird.<br />
<br />
Die Firma Pollin (Elektronikversand) bietet einen preiswerten [http://www.pollin.de/shop/dt/MzY5OTgxOTk-/Bausaetze_Module/Bausaetze/RS232_TTL_Wandler_Bausatz.html Bausatz] an, der für unseren Zweck nur noch durch einen Widerstand (1kOhm) und eine Diode (z.B. 1N4148) ergänzt werden muss. Um am Steuergerät den ALDL-Modus zu wählen ist ein weiterer Widerstand (10kOhm) notwendig.<br />
<br />
Dieser Bausatz benötigt noch eine Stromversorgung von 5V. Man kann hier beispielsweise ein altes USB-Kabel nutzen von dem man die stromführenden Adern herausführt.<br />
<br />
Die Kommunikation zwischen Computer und Motorsteuergerät findet über eine einzelne Leitung in Hin- und Rückrichtung statt. Es wird also die Diode mit der Kathode (in der Regel durch einen Ring gekennzeichnet) in die Klemme "TXD" der Platine geschraubt und der Widerstand in die Klemme "RXD". Die anderen Kontakte der Bauelemente werden verbunden und es wird das Kabel zum Anschluss "M" der Diagnosesteckdose geführt.<br />
Wichtig ist weiterhin der Potentialausgleich zwischen Schaltung und Fahrzeug. Dafür wird ein zweites Kabel von der Masse-Klemme der Platine zu Klemme "A" der Diagnosesteckdose geführt.<br />
Zwischen Klemme "A" und "B" wird ein 10kOhm Widerstand gesteckt und das USB-Kabel wird in eine USB-Dose gesteckt (Da es nur um die Stromversorgung geht, muss es nicht zwingend ein Computer sein. Ein Autoradio oder ein Adapter für den Zigarettenanzünder genügen.). Mit diesem Aufbau ist das Interface betriebsbereit.<br />
<br />
===Vorteile===<br />
* einfache und robuste elektronische Schaltug mit billigen und einfach zu beschaffenden Bauteilen<br />
* der normale serielle Port des PC kann genutzt werden<br />
<br />
===Nachteile===<br />
* viele PCs, besonders Laptops, besitzen serienmäßig keinen seriellen Port mehr<br />
* es wird eine 5V-Spannungsquelle zum Betrieb der Schaltung benötigt<br />
<br />
{{Absatz}}<br />
Der Bausatz:<br />
[[Bild:Bs-spi-interf.JPG|thumb]]<br />
*hochwertige Platine<br />
*wenig Bauteile<br />
*kurze aber ausreichende Anleitung<br />
*kein IC-Sockel dabei<br />
{{Absatz}}<br />
==Version für den USB-Port==<br />
[[Datei:USB-TTL.jpg|200px|thumb|right|USB-TTL-Interface ohne Randbeschaltung]]<br />
[[Datei:Schaltplan-USB.png|200px|thumb|right|Schaltplan]]<br />
[[Datei:USB-ALDL.jpg|200px|thumb|right|fertiges Interface mit Gehäuse, ALDL-Stecker und USB-Verlängerung]]<br />
Es gibt fertige USB-Module, sogenannte USB-TTL-Wandler, die direkt die Signale des Motorsteuergerätes auswerten können ohne den Umweg über die RS232-Schnittstelle zu gehen. Als zweckmäßig haben sich Module mit dem CP2102-Chip herausgestellt.<br />
<br />
Als Randbeschaltung benötigen diese Module auch die Widerstands-Dioden-Kombination am TX und RX-Port wie bei der RS232-Version, den 10kOhm-Widerstand zwischen Port A und B der Diagnosebuchse und die Masseverbindung zur Diagnosebuchse. Eine separate Stromversorgung entfällt.<br />
<br />
Auf dem PC wird ein Treiber für das Interface benötigt. Diesen bezieht man auf der [http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx Herstellerseite].<br />
<br />
Dieser Treiber erzeugt einen virtuellen COM-Port. (z.B. COM7), der dann in der Software auszuwählen ist.<br />
<br />
Im Auslieferungszustand arbeitet das Interface nicht mit 8192Baud. Diese Geschwindigkeit muss per Software gesetzt werden.<br />
Die Software, die dazu benötigt wird, gibt es unter dem Namen "an205sw.zip" ebenfalls auf der Treiberseite. (Ich hatte unter Windows 7 Probleme mit der dort angebotenen Version 2.2, fand aber im Internet auch eine funktionierende Version 2.3.)<br />
<br />
===Vorteile===<br />
* es wird kein physikalischer serieller Port benötigt<br />
* es wird keine separate Stromversorgung benötigt<br />
* sehr kompakt, einfach aufzubauen<br />
<br />
===Nachteile===<br />
* aufwändigere Konfiguration durch virtuellen Com-Port und Anpassung der Geschwindigkeit<br />
{{Absatz}}<br />
==Andere Selbstbaulösungen==<br />
[[Datei:ATmega.jpg|200px|thumb|right|Testaufbau eines Diagnosegerätes]]<br />
Durch die standardisierte serielle Übertragung ist es einfach, auch andere Eigenbau-Elektronik anzuschließen.<br />
Ein Mikroprozessor ATmega8 mit Display, der mit Bascom programmiert wurde, läuft beispielsweise bereits im Test an einem 21073.<br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=Datei:ATmega.jpg&diff=3047Datei:ATmega.jpg2013-10-10T01:05:45Z<p>Chris601: </p>
<hr />
<div></div>Chris601https://ladawiki.de/index.php?title=Datei:Schaltplan-USB.png&diff=3046Datei:Schaltplan-USB.png2013-10-10T00:52:16Z<p>Chris601: </p>
<hr />
<div></div>Chris601https://ladawiki.de/index.php?title=Datei:USB-ALDL.jpg&diff=3045Datei:USB-ALDL.jpg2013-10-10T00:23:01Z<p>Chris601: </p>
<hr />
<div></div>Chris601https://ladawiki.de/index.php?title=Datei:USB-TTL.jpg&diff=3044Datei:USB-TTL.jpg2013-10-10T00:17:43Z<p>Chris601: </p>
<hr />
<div></div>Chris601https://ladawiki.de/index.php?title=Datei:ALDL-RS232-Interface.png&diff=2972Datei:ALDL-RS232-Interface.png2013-08-29T12:09:38Z<p>Chris601: hat eine neue Version von „Datei:ALDL-RS232-Interface.png“ hochgeladen: Pin "12" am neunpoligen Stecker durch "5" ersetzt.</p>
<hr />
<div></div>Chris601https://ladawiki.de/index.php?title=Diskussion:Lada_Forma_(2109)_Basis&diff=2971Diskussion:Lada Forma (2109) Basis2013-08-29T11:51:09Z<p>Chris601: Die Seite wurde neu angelegt: „Hier stimmt doch was nicht. Der Forma ist doch der 21099, der 2109 ist der 4 türige Samara, oder?“</p>
<hr />
<div>Hier stimmt doch was nicht. Der Forma ist doch der 21099, der 2109 ist der 4 türige Samara, oder?</div>Chris601https://ladawiki.de/index.php?title=EFILive_V4&diff=2901EFILive V42013-06-15T04:08:55Z<p>Chris601: </p>
<hr />
<div>[[Datei:Efiruhe.png|200px|thumb|right|Das Dashboard von EFIlive V4]]<br />
==Allgemein==<br />
"EFILive" ist eine kommerzielle PC-Software der neuseeländischen Firma "EFILive Limited".<br />
<br />
Die Version 4 (EFILive V4) ist für Fahrzeuge mit [[ALDL-Protokoll|ALDL]]-Steuergeräten geeignet.<br />
<br />
Das Besondere an EFIlive ist, dass der nordirische Niva-Bastler David Rolston eine Niva-Spezifikation für diese Software geschrieben hat und man sie somit zur Diagnose der Fahrzeugdaten und zum Auslesen der gespeicherten Fehlercodes einsetzen kann. <br />
<br />
==Download von Software und der Konfigurationsdatei "nivatest.xml"==<br />
Die EFIlive-Software kann man auf der Herstellerseite http://www.efilive.com als Testversion unter Downloads -> "EFILive V4 OBDI ALDL Scan Tool" kostenfrei herunterladen. Leider fehlen dieser Testversion viele wichtige Funktionen. Eine Lizenz für die Vollversion kostet 199US$.<br />
<br />
Die Lada-Spezifikation findet sich auf Davids Website http://ladaniva.co.uk/ zum Download: http://www.ladaniva.co.uk/nivalive.zip<br />
==Konfigurieren der Software==<br />
===Start und Lizenzdaten===<br />
Beim Start der Software müssen zunächst die Lizenzdaten eingegeben werden. Die Lizenzdaten für die Testversion (evaluation license) gibt es auf dem eingeblendeten Link.<br />
===COM-Port===<br />
Der COM-Port, an den das [[Eigenbau-Interface SPI|Interface]] angeschlossen ist, muss in der Software eingestellt werden. Bei Rechnern, die einen seriellen Anschluss (RS232) schon mitbringen, ist das meist COM1 oder COM2. Verwendet man USB-RS232-Adapter (von denen leider nicht alle mit 8192Baud umgehen können), liegen die Portnummern oft deutlich höher. EFIlive lässt eine Auswahl von COM1-8 zu. Bekommt man von Windows einen höheren Port zugewiesen, muss man in der Systemsteuerung des PCs aufräumen oder Com-Ports tauschen.<br />
In der Software wird der COM-Port unter Edit->Properties im Reiter Comms eingestellt.<br />
<br />
===nivatest.xml===<br />
Unter File -> Select vehicle öffnen wir die nivatest.xml, die wir vorher aus dem ZIP-Archiv entpackt haben. <br />
<br />
Jetzt ist EFIlive V4 einsatzbereit. <br />
<br />
<br />
==Bedienung==<br />
===Protokollierung starten===<br />
Mit einem Mausklick auf den Grünen Punkt (Start aldl) oder der Taste F3 beginnt die ALDL-Protokollierung<br />
===Macros(F6)===<br />
In dieser Ansicht sieht man den ALDL-Datenstrom. Man sieht gesendete und empfangene Bytes im Rohformat. Gibt es Probleme mit der Datenübertragung sieht man sie hier am besten.<br />
===Aldl(F7)===<br />
Hier sieht man die empfangenen Werte in einer Tabelle<br />
===Dashboard(F8)===<br />
Die Hauptansicht. Hier werden alle Sensorwerte und Motordaten grafisch dargestellt.<br />
===Charts(F9)===<br />
Die Diagramme. Um den zeitlichen Verlauf einiger Motordaten grafisch darzustellen eignen sich diese Diagramme sehr gut. Um das Zeichnen der Diagramme zu starten ist ein Klick auf das türkise Symbol (Toggle logging on/off) oder das Drücken der Leertaste erforderlich.<br />
===DTC(F10)===<br />
Ansicht der Fehlercodes<br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=EFILive_V4&diff=2900EFILive V42013-06-15T03:58:01Z<p>Chris601: /* COM-Port */</p>
<hr />
<div>[[Datei:Efiruhe.png|200px|thumb|right|Das Dashboard von EFIlive V4]]<br />
==Allgemein==<br />
"EFILive" ist eine kommerzielle PC-Software der neuseeländischen Firma "EFILive Limited".<br />
<br />
Die Version 4 (EFILive V4) ist für Fahrzeuge mit [[ALDL-Protokoll|ALDL]]-Steuergeräten geeignet.<br />
<br />
Das Besondere an EFIlive ist, dass der nordirische Niva-Bastler David Rolston eine Niva-Spezifikation für diese Software geschrieben hat und man sie somit zur Diagnose der Fahrzeugdaten und zum Auslesen der gespeicherten Fehlercodes einsetzen kann. <br />
<br />
==Download von Software und der Konfigurationsdatei "nivatest.xml"==<br />
Die EFIlive-Software kann man auf der Herstellerseite http://www.efilive.com als Testversion unter Downloads -> "EFILive V4 OBDI ALDL Scan Tool" kostenfrei herunterladen. Leider fehlen dieser Testversion viele wichtige Funktionen. Eine Lizenz für die Vollversion kostet 199US$.<br />
<br />
Die Lada-Spezifikation findet sich auf Davids Website http://ladaniva.co.uk/ zum Download: http://www.ladaniva.co.uk/nivalive.zip<br />
==Konfigurieren der Software==<br />
===Start und Lizenzdaten===<br />
Beim Start der Software müssen zunächst die Lizenzdaten eingegeben werden. Die Lizenzdaten für die Testversion (evaluation license) gibt es auf dem eingeblendeten Link.<br />
===COM-Port===<br />
Der COM-Port, an den das [[Eigenbau-Interface SPI|Interface]] angeschlossen ist, muss in der Software eingestellt werden. Bei Rechnern, die einen seriellen Anschluss (RS232) schon mitbringen, ist das meist COM1 oder COM2. Verwendet man USB-RS232-Adapter (von denen leider nicht alle mit 8192Baud umgehen können), liegen die Portnummern oft deutlich höher. EFIlive lässt eine Auswahl von COM1-8 zu. Bekommt man von Windows einen höheren Port zugewiesen, muss man in der Systemsteuerung des PCs aufräumen oder Com-Ports tauschen.<br />
In der Software wird der COM-Port unter Edit->Properties im Reiter Comms eingestellt.<br />
<br />
===nivatest.xml===<br />
Unter File -> Select vehicle öffnen wir die nivatest.xml, die wir vorher aus dem ZIP-Archiv entpackt haben. <br />
<br />
Jetzt ist EFIlive V4 einsatzbereit. <br />
<br />
<br />
==Bedienung==<br />
===Protokollierung starten===<br />
Mit einem Mausklick auf den Grünen Punkt (Start aldl) oder der Taste F3 beginnt die ALDL-Protokollierung<br />
===Macros(F6)===<br />
In dieser Ansicht sieht man den ALDL-Datenstrom. Man sieht gesendete und empfangene Bytes im Rohformat. Gibt es Probleme mit der Datenübertragung sieht man sie hier am besten.<br />
===Aldl(F7)===<br />
Hier sieht man die empfangenen Werte in einer Tabelle<br />
===Dashboard(F8)===<br />
Die Hauptansicht. Hier werden alle Sensorwerte und Motordaten grafisch dargestellt.<br />
===Charts(F9)===<br />
Die Diagramme. Um den zeitlichen Verlauf einiger Motordaten grafisch darzustellen eignen sich diese Diagramme sehr gut. Um das Zeichnen der Diagramme zu starten ist ein Klick auf das türkise Symbol (Toggle logging on/off) oder das Drücken der Leertaste erforderlich.<br />
===DTC(F10)===<br />
Ansicht der Fehlercodes</div>Chris601https://ladawiki.de/index.php?title=EFILive_V4&diff=2899EFILive V42013-06-15T03:54:49Z<p>Chris601: Die Seite wurde neu angelegt: „Das Dashboard von EFIlive V4 ==Allgemein== "EFILive" ist eine kommerzielle PC-Software der neuseeländischen Firma "EFILiv…“</p>
<hr />
<div>[[Datei:Efiruhe.png|200px|thumb|right|Das Dashboard von EFIlive V4]]<br />
==Allgemein==<br />
"EFILive" ist eine kommerzielle PC-Software der neuseeländischen Firma "EFILive Limited".<br />
<br />
Die Version 4 (EFILive V4) ist für Fahrzeuge mit [[ALDL-Protokoll|ALDL]]-Steuergeräten geeignet.<br />
<br />
Das Besondere an EFIlive ist, dass der nordirische Niva-Bastler David Rolston eine Niva-Spezifikation für diese Software geschrieben hat und man sie somit zur Diagnose der Fahrzeugdaten und zum Auslesen der gespeicherten Fehlercodes einsetzen kann. <br />
<br />
==Download von Software und der Konfigurationsdatei "nivatest.xml"==<br />
Die EFIlive-Software kann man auf der Herstellerseite http://www.efilive.com als Testversion unter Downloads -> "EFILive V4 OBDI ALDL Scan Tool" kostenfrei herunterladen. Leider fehlen dieser Testversion viele wichtige Funktionen. Eine Lizenz für die Vollversion kostet 199US$.<br />
<br />
Die Lada-Spezifikation findet sich auf Davids Website http://ladaniva.co.uk/ zum Download: http://www.ladaniva.co.uk/nivalive.zip<br />
==Konfigurieren der Software==<br />
===Start und Lizenzdaten===<br />
Beim Start der Software müssen zunächst die Lizenzdaten eingegeben werden. Die Lizenzdaten für die Testversion (evaluation license) gibt es auf dem eingeblendeten Link.<br />
===COM-Port===<br />
Der verwendete COM-Port muss in der Software eingestellt werden. Bei Rechnern, die einen seriellen Anschluss (RS232) schon mitbringen, ist das meist COM1 oder COM2. Verwendet man USB-RS232-Adapter (von denen leider nicht alle mit 8192Baud umgehen können), liegen die Portnummern oft deutlich höher. EFIlive lässt eine Auswahl von COM1-8 zu. Bekommt man von Windows einen höheren Port zugewiesen, muss man in der Systemsteuerung des PCs aufräumen oder Com-Ports tauschen.<br />
In der Software wird der COM-Port unter Edit->Properties im Reiter Comms eingestellt. <br />
<br />
===nivatest.xml===<br />
Unter File -> Select vehicle öffnen wir die nivatest.xml, die wir vorher aus dem ZIP-Archiv entpackt haben. <br />
<br />
Jetzt ist EFIlive V4 einsatzbereit. <br />
<br />
<br />
==Bedienung==<br />
===Protokollierung starten===<br />
Mit einem Mausklick auf den Grünen Punkt (Start aldl) oder der Taste F3 beginnt die ALDL-Protokollierung<br />
===Macros(F6)===<br />
In dieser Ansicht sieht man den ALDL-Datenstrom. Man sieht gesendete und empfangene Bytes im Rohformat. Gibt es Probleme mit der Datenübertragung sieht man sie hier am besten.<br />
===Aldl(F7)===<br />
Hier sieht man die empfangenen Werte in einer Tabelle<br />
===Dashboard(F8)===<br />
Die Hauptansicht. Hier werden alle Sensorwerte und Motordaten grafisch dargestellt.<br />
===Charts(F9)===<br />
Die Diagramme. Um den zeitlichen Verlauf einiger Motordaten grafisch darzustellen eignen sich diese Diagramme sehr gut. Um das Zeichnen der Diagramme zu starten ist ein Klick auf das türkise Symbol (Toggle logging on/off) oder das Drücken der Leertaste erforderlich.<br />
===DTC(F10)===<br />
Ansicht der Fehlercodes</div>Chris601https://ladawiki.de/index.php?title=ALDL-Protokoll&diff=2898ALDL-Protokoll2013-06-15T03:54:08Z<p>Chris601: </p>
<hr />
<div>[[Datei:Efilog.png|200px|thumb|right|ALDL-Kommunikation im Log von EFIlive V4]]<br />
==Allgemein==<br />
ALDL - Assembly Line Data Link<br />
<br />
Das ALDL-Protokoll, welches Lada bei den SPI-Modellen verwendet, orientiert sich an den gängigen GM-Formaten. Leider gibt es kein anderes Fahrzeug, welches exakt den Lada-Code verwendet.<br />
<br />
Die Kommunikation mit dem [[Steuergerät SPI Euro2|Steuergerät]] erfolgt mit 8192 Baud mit TTL-typischer Spannung von 5V. Für die Kommunikation mit einem PC kann ein [[Eigenbau-Interface SPI|Eigenbau-Interface]] genutzt werden.<br />
<br />
==Kommunikation mit dem Steuergerät==<br />
===ALDL Modus 01 auswählen===<br />
Um an die Daten des Steuergerätes zu kommen, die sämtliche Sensorwerte, [[Fehlercode Euro2|gespeicherte Fehler]] und sonstige Fahrzeugdaten enthalten, ist es notwendig das Steuergerät in einem bestimmten Modus ''anzusprechen''. <br />
<br />
Der ALDL-Modus 1 (0x01) ist hierbei der Wichtigste. Angestoßen wird dieser, indem <pre>$F4,$57,$01,$20,$94</pre> zum Steuergerät gesendet wird. <br />
<pre>$F4 = Message ID, <br />
$57 = Message length, <br />
$01 = Mode Number, <br />
$20 und $94 sind bisher unklar, ein Wert davon ist eine Prüfsumme deren Berechnung noch nicht nachvollzogen wurde.</pre><br />
<br />
===Antwort vom Steuergerät===<br />
Auf diesen Initialisierungsstring antwortet das Steuergerät einige Millisekunden später mit einem Datenwort aus 69 <br />
Bytes. Hier eine Beispiel-Kommunikation (Zeilenumbrüche eingefügt):<br />
<pre>gesendet: $F4,$57,$01,$20,$94<br />
empfangen:<br />
$F4,$97,$01,<br />
$19,$6D,$40,$04,$00,$74,$46,$11,$03,$32,<br />
$06,$1D,$00,$00,$19,$56,$FB,$78,$23,$7B,<br />
$06,$06,$50,$00,$F4,$60,$53,$B1,$50,$C7,<br />
$88,$94,$00,$00,$00,$66,$87,$70,$00,$F3,<br />
$A7,$00,$00,$85,$00,$00,$CC,$01,$20,$E9,<br />
$00,$81,$01,$80,$6F,$00,$00,$04,$A4,$09,<br />
$80,$0A,$44,$13,$00,$CB</pre><br />
<br />
==Der Inhalt der empfangenen Bytes== <br />
[[Datei:Eficonfig.jpg|200px|thumb|right|Auszug aus dem Configfile "nivatext.xml" für EFIlive von David Rolston]]<br />
Um die empfangenen Daten deuten zu können, muss man sich mit dem GM-typischen Protokollaufbau anderer GM-Steuerteile befassen. Eine Liste verschiedener Steuerteile und deren Codes findet sich hier: http://www.diy-efi.org/files/gmecm/ALDLstuff.zip<br />
<br />
David Rolston (http://ladaniva.co.uk) hat ein Configfile (http://www.ladaniva.co.uk/nivalive.zip) für [[EFILive V4]] geschrieben, welches einen Großteil der Bytes deuten kann.<br />
Dieses Configfile ist aktuell die vollständigste Zusammenfassung des Lada-ALDL-Protokolles. <br />
<br />
Die empfangenen Bytes sind hexadezimal. Die meisten Werte müssen zur Weiterverarbeitung in Dezimalzahlen (z.B. Sensorwerte) oder Binärdaten (z.B. Fehlercodes) umgerechnet werden.<br />
<br />
{| border="1"<br />
|Byte<br />
|Bedeutung<br />
|Faktor<br />
|Offset<br />
|Beispiel<br />
|Ergebnis<br />
|-<br />
| <br />
|Initialisierung<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
| <br />
|Initialisierung<br />
|<br />
|<br />
|$97<br />
|<br />
|-<br />
| <br />
|ALDL-Modus<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|1(16bit)<br />
|Eprom-ID<br />
|<br />
|<br />
|$19$6D<br />
|<br />
|-<br />
|3<br />
|Fehlercodes 1<br />
|<br />
|<br />
|$40<br />
|<br />
|-<br />
|4<br />
|Fehlercodes 2<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|5<br />
|Fehlercodes 3<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|6<br />
|Kühlmitteltemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$74<br />
|47°C<br />
|-<br />
|7<br />
|Startup Coolant Temp (?)<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$46<br />
|12,5°C<br />
|-<br />
|8<br />
|Spannung Drosselklappensensor<br />
|0,019608<br />
|0<br />
|$11<br />
|0,33V<br />
|-<br />
|9<br />
|Drosselklappenöffnung in % <br />
|0,392157<br />
|0<br />
|$03<br />
|1,18%<br />
|-<br />
|10<br />
|Motordrehzahl <br />
|25<br />
|0<br />
|$32<br />
|1250 RPM<br />
|-<br />
|11<br />
|Refpulse MSB (?)<br />
|<br />
|<br />
|$06<br />
|<br />
|-<br />
|12<br />
|Refpulse LSB (?)<br />
|<br />
|<br />
|$1D<br />
|<br />
|-<br />
|13<br />
|Geschwindigkeit <br />
|1 (1,60934 für km/h) <br />
|<br />
|$00<br />
|0MPH<br />
|-<br />
|14<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|15<br />
|Spannung Lambdasonde<br />
|4,44<br />
|0<br />
|$19<br />
|111mV<br />
|-<br />
|16<br />
|O2-Sensor Cross Counts (?)<br />
|<br />
|<br />
|$56<br />
|<br />
|-<br />
|17<br />
|<br />
|<br />
|<br />
|$FB<br />
|<br />
|-<br />
|18<br />
|<br />
|<br />
|<br />
|$78<br />
|<br />
|-<br />
|19<br />
|<br />
|<br />
|<br />
|$23<br />
|<br />
|-<br />
|20<br />
|<br />
|<br />
|<br />
|$7B<br />
|<br />
|-<br />
|21<br />
|IST-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|22<br />
|SOLL-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|23<br />
|Solldrehzahl Leerlauf<br />
|12,5<br />
|0<br />
|$50<br />
|1000RPM<br />
|-<br />
|24<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|25<br />
|<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
|26<br />
|MAP (Unterdruck am Ansaug)<br />
|0,37<br />
|10,34<br />
|$60<br />
|46kPa<br />
|-<br />
|27<br />
|<br />
|<br />
|<br />
|$53<br />
|<br />
|-<br />
|28<br />
|<br />
|<br />
|<br />
|$B1<br />
|<br />
|-<br />
|29<br />
|Ansauglufttemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$50<br />
|40°C<br />
|-<br />
|30<br />
|<br />
|<br />
|<br />
|$C7<br />
|<br />
|-<br />
|31<br />
|Batteriespannung<br />
|0,1<br />
|0<br />
|$88<br />
|13,6V<br />
|-<br />
|32<br />
|[[ALDL-Protokoll#Byte 32, Zündzeitpunkt|Zündwinkelvorverstellung]]<br />
|0,351565<br />
|0<br />
|$94<br />
|52° (?)<br />
|-<br />
|33<br />
|Zündwinkelvorverstellung (bei Lada möglicherweise ungenutzt)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|34<br />
|Zündwinkelvorverstellung (bei Lada möglicherweise ungenutzt)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|35(16bit)<br />
|Einspritzdauer<br />
|0,07629<br />
|0<br />
|$00$66<br />
|7,78ms<br />
|-<br />
|37<br />
|SOLL-Verhältnis Luft/Kraftstoff<br />
|0,1<br />
|0<br />
|$87<br />
|13,5<br />
|-<br />
|38<br />
|<br />
|<br />
|<br />
|$70<br />
|<br />
|-<br />
|39<br />
|Motor Laufzeit (bei Lada möglicherweise ungenutzt) <br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|40<br />
|Motor Laufzeit LSB<br />
|<br />
|<br />
|$F3<br />
|<br />
|-<br />
|41<br />
|<br />
|<br />
|<br />
|$A7<br />
|<br />
|-<br />
|42<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|43<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|44<br />
|<br />
|<br />
|<br />
|$85<br />
|<br />
|-<br />
|45<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|46<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|47<br />
|<br />
|<br />
|<br />
|$CC<br />
|<br />
|-<br />
|48<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|49<br />
|<br />
|<br />
|<br />
|$20<br />
|<br />
|-<br />
|50<br />
|<br />
|<br />
|<br />
|$E9<br />
|<br />
|-<br />
|51<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|52<br />
|<br />
|<br />
|<br />
|$81<br />
|<br />
|-<br />
|53<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|54<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|55<br />
|<br />
|<br />
|<br />
|$6F<br />
|<br />
|-<br />
|56<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|57<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|58<br />
|<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|59<br />
|<br />
|<br />
|<br />
|$A4<br />
|<br />
|-<br />
|60<br />
|<br />
|<br />
|<br />
|$09<br />
|<br />
|-<br />
|61<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|62<br />
|<br />
|<br />
|<br />
|$0A<br />
|<br />
|-<br />
|63<br />
|<br />
|<br />
|<br />
|$44<br />
|<br />
|-<br />
|64<br />
|<br />
|<br />
|<br />
|$13<br />
|<br />
|-<br />
|65<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|66<br />
|<br />
|<br />
|<br />
|$CB<br />
|<br />
<br />
|}<br />
(Tabelle wird ergänzt, die mit Fragezeichen versehenen Felder sollten besser beschrieben werden bzw. müssen noch verstanden werden)<br />
<br />
==Aktuelle Probleme und Unklarheiten== <br />
===Byte 32, Zündzeitpunkt===<br />
Dieses Byte soll den Wert des Zündzeitpunktes im Bezug auf den OT angeben. Er sollte Werte von 0 bis 40 ($00 bis $72) haben und gibt an, wieviel Grad vor OT gezündet wird. <br />
Wir gehen für die Berechnung von einem Faktor von 0,351565 aus. In unteren Drehzahlbereichen werden aber größere Winkel (teilweise >40°) angezeigt, die weder stimmen können noch mit Werten übereinstimmen, die ein TECH1 zu diesem Zeitpunkt liefert.<br />
Bei höheren Drehzahlen befinden sich die übermittelten Werte in denkbaren Größenordnungen. <br />
Möglicherweise muss auf den Hexadezimalwert zunächst das [http://de.wikipedia.org/wiki/Zweierkomplement Zweierkomplement] oder ähnliche Umrechnungen angewandt werden.<br />
===Aktoren===<br />
Die Zustände aller Aktoren außer des Leerlaufreglers (Lambdasondenheizung, Lüfter, Ventil Aktivkohlefilter, Saugrohrheizung, Benzinpumpe) sind bisher nicht erkennbar. Vermutet wird eine binäre Übertragung in einem Modeword.<br />
<br />
===Löschen der gespeicherten Fehler=== <br />
ALDL-Modus 10 (0x0A)<br />
<br />
In der config-Datei von David Rolston für EFIlive findet sich hier der Initialisierungsstring „$F4,$57,$0A,$20,$8B“, der aber nicht funktioniert. Hier muss geforscht werden. <br />
Wenn man Fehler mit einem TECH1 zurücksetzt wäre es denkbar, dabei den Datenstrom mit einem PC zu beobachten. <br />
Andere mögliche Lösungsansätze um den richtigen Code zu ermitteln wären ein ''Brute-Force-Angriff'' mit allen möglichen Codes oder der Vergleich mit anderen gängigen Codes aus oben genannter Liste anderer GM-Steuergeräte.<br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=Abk%C3%BCrzungen&diff=2897Abkürzungen2013-06-15T03:45:19Z<p>Chris601: </p>
<hr />
<div><div align="justify"><br />
In der folgenden Tabelle werden Abkürzungen erklärt die im Niva-Wiki verwendet werden.<br />
<br />
<br />
<br />
{| border="1"<br />
|Abk.<br />
|Bedeutung<br />
|Erklärung<br />
|-<br />
|ALDL<br />
|'''A'''ssembly '''L'''ine '''D'''ata '''L'''ink (Connector)<br />
|Schnittstelle (Stecker) zwischen ECM und Diagnosegerät beim TBI-System/[[ALDL-Protokoll|Übertragungsprotokoll]]<br />
|-<br />
|BJ<br />
|'''B'''au'''j'''ahr<br />
|bei Fragen im [http://www.niva-technik.de/forum/ Niva-Technik-Forum] immer angeben<br />
|-<br />
|[[Bremskraftverstärker|BKV]]<br />
|'''B'''rems'''k'''raft'''v'''erstärker<br />
|<br />
|-<br />
|CPSI<br />
|'''C'''ells '''P'''er '''S'''quare '''i'''nch<br />
|Zellen pro Quadratinch, Angabe, die die aktive Oberfläche eines [[Katalysator]]s beschreibt, je grösser die Zahl, desto wirksamer der Kat. Übliche Werte 400 ... 600 cpsi bei Keramikkat, beim Metallkat eher grösser<br />
|-<br />
|DK<br />
|'''D'''iesel'''k'''raftstoff<br />
|<br />
|-<br />
|DKS<br />
|'''D'''rossel'''k'''lappen'''s'''ensor<br />
|damit erfasst das [[Steuergerät]] den Öffnungswinkel der Drosselklappe<br />
|-<br />
|DST-2<br />
|<br />
|spezielles Lada-ODBII Lesegerät für die Einspritzsysteme <br />
|-<br />
|DZM<br />
|'''D'''reh'''z'''ahl'''m'''esser<br />
|<br />
|-<br />
|ECM<br />
|'''E'''lectronic '''C'''ontrol '''M'''odule<br />
|[[Steuergerät SPI Euro2|Steuergerät]] für die TBI-Einspritzung<br />
|-<br />
|ECU<br />
|'''E'''lectronic '''C'''ontrol '''U'''nit<br />
|[[Steuergerät MPI|Steuergerät]] für das MPI-System<br />
|-<br />
|ESD<br />
|'''E'''nd'''S'''chall'''D'''ämpfer<br />
|hängt quer hinter der HA unterm Niva |<br />
|-<br />
|ETK<br />
|'''E'''rsatz'''t'''eil'''k'''atalog<br />
|<br />
|-<br />
|[[Fahrgestellnummer|FIN]]<br />
|'''F'''ahrzeug'''I'''dentifizierungs'''n'''ummer<br />
|Fahrgestellnummer<br />
|-<br />
|GS<br />
|'''G'''eschwindigkeits'''s'''ensor<br />
|auch Speed-Sensor genannt<br />
|-<br />
|HA<br />
|'''H'''inter'''a'''chse<br />
|<br />
|-<br />
|HBZ<br />
|'''H'''aupt'''b'''rems'''z'''ylinder<br />
|erzeugt den nötigen Druck in den Bremsleitungen<br />
|-<br />
|HLM<br />
|'''H'''itzedraht '''L'''uftmassen'''m'''esser<br />
|siehe LMM<br />
|-<br />
|[[Katalysator|KAT]]<br />
|'''Kat'''alysator<br />
|zum Nachbehandeln der Abgase<br />
|-<br />
|KS<br />
|'''K'''lopf'''s'''ensor<br />
|ab BJ 2000 MPI<br />
|-<br />
|KTF<br />
|'''K'''ühlmittel'''t'''emperatur'''f'''ühler<br />
|damit erfasst das [[Steuergerät]] die Motortemperatur<br />
|-<br />
|KW<br />
|'''K'''urbel'''w'''elle<br />
|leite die vom Kolben auf die Pleuelstange(n) übertragene Kraft als Drehmoment an das Schwungrad bzw. die Kupplung weiter<br />
|-<br />
|KWS<br />
|'''K'''urbel'''w'''ellen'''s'''ensor<br />
|damit erfasst das [[Steuergerät]] die Stellung der Kurbelwelle<br />
|-<br />
|LAD<br />
|'''L'''ast'''a'''bhäniger '''D'''ruckregler<br />
|passt die Bremsleistung der Hinterachse an die Kofferraumbeladung an<br />
|-<br />
|LLR<br />
|'''L'''eer'''l'''auf'''r'''egler<br />
|dosierte die Nebenluft bei geschlossener Drosselklappe<br />
|-<br />
|LMM<br />
|'''L'''uft'''m'''assen'''m'''esser<br />
|damit erfasst das [[Steuergerät]] die Größe des Ansaugluftstromes<br />
|-<br />
|LS1<br />
|'''L'''ambda'''s'''onde vor KAT<br />
|leitete die Zusammensetzung des Abgases an das Steuergerät weiter<br />
|-<br />
|LS2<br />
|'''L'''ambda'''s'''onde nach KAT<br />
|<br />
|-<br />
|LTF<br />
|'''L'''uft'''t'''emperatur'''f'''ühler<br />
|damit erfasst das [[Steuergerät]] die Temperatur der angesaugten Luft<br />
|-<br />
|MAP<br />
|'''M'''anifold '''A'''bsolut '''P'''ressure<br />
|Saugrohr Absolutdruck (wird mit einem Druck-Sensor gemessen)<br />
|-<br />
|MIL<br />
|'''M'''alfunction '''I'''ndication '''L'''amp<br />
|siehe Motorkontrollleuchte<br />
|-<br />
|MKL<br />
|'''M'''otor '''K'''ontroll'''l'''euchte<br />
|[[CheckEngine]] / Anzeige der On-Board-Diagnose<br />
|-<br />
|MPI<br />
|'''M'''ulti'''P'''oint'''I'''njecktion<br />
|Gemischaufbereitung mittels einer Düse pro Zylinder<br />
|-<br />
|MS <br />
|'''M'''ike '''S'''anders<br />
|[[Hohlraumversiegelung|Korrossionsschutzfett]]<br />
|-<br />
|MS <br />
|'''M'''aster '''S'''port<br />
|[[Alternative Ersatzteile|Ersatzteilhersteller]]<br />
|-<br />
|MSD<br />
|'''M'''ittel'''S'''chall'''D'''ämpfer<br />
|hängt längs auf der rechten Seite vor der HA unter dem Niva<br />
|- <br />
|NW<br />
|'''N'''ocken'''w'''elle<br />
|betätigt die Ventile zur richtigen Zeit, mit exakten Hub in einer genau festgelegten Reihenfolge<br />
|-<br />
|NWS<br />
|'''N'''ocken'''w'''ellen'''s'''ensor<br />
|damit erfasst das [[Steuergerät]] die Stellung der Nockenwelle<br />
|-<br />
|OBD2<br />
|'''O'''n '''B'''oard '''D'''iagnostics 2 <br />
|Fahrzeugdiagnose der 2. Generation im US Standard<br />
|-<br />
|OME<br />
|'''O'''ld '''M'''an '''E'''mu <br />
|Höherlegungsfahrwerk<br />
|-<br />
|RBZ<br />
|'''R'''ad'''b'''rems'''z'''ylinder<br />
|drückt die Bremsbeläge an die Bremsscheibe/Bremstrommel<br />
|-<br />
|[[Simmerring|SIRI]]<br />
|'''Si'''mmer'''Ri'''ng'''<br />
|auch Wellendichtring genannt. [http://de.wikipedia.org/wiki/Wellendichtring]<br />
|-<br />
|SPI<br />
|'''S'''ingle'''P'''oint'''I'''njektion<br />
|Gemischaufbereitung mittels einer zentralen Einspritzdüse im Drosselkörper<br />
|-<br />
|StVO<br />
|Straßenverkehrs-Ordnung<br />
|-<br />
|StVZO<br />
|Straßenverkehrs-Zulassungs-Ordnung<br />
|-<br />
|TBI<br />
|'''T'''hrottle '''B'''ody '''I'''njection<br />
|Drosselklappen-Einspritzsystem (=SPI)<br />
|-<br />
|VA<br />
|'''V'''order'''a'''chse<br />
|<br />
|-<br />
|VK<br />
|'''V'''ergaser'''k'''raftstoff<br />
|allgemein auch als Benzin bekannt<br />
|-<br />
|VTG<br />
|'''V'''er'''t'''eiler'''g'''etriebe<br />
|<br />
|-<br />
|[[Wasserpumpe|WAPU]]<br />
|'''Wa'''sser'''pu'''mpe<br />
|wälzt das Kühlwasser im Motor um<br />
|-<br />
|WAS (VAZ)<br />
|'''W'''olschskij '''A'''wtomobilnij '''S'''awod - Ladawerk an der Wolga<br />
|-<br />
|WFS<br />
|'''W'''eg'''f'''ahr'''s'''perre<br />
|<br />
|-<br />
|WHB<br />
|'''W'''erkstatt'''h'''and'''b'''uch<br />
|<br />
|-<br />
|ZKD<br />
|'''Z'''ylinder'''k'''opf'''d'''ichtung<br />
|<br />
|-<br />
|ZZP<br />
|'''Z'''ünd'''z'''eit'''p'''unkt<br />
|<br />
|-}<br />
<br />
</div><br />
[[Kategorie:!Hauptkategorie]]</div>Chris601https://ladawiki.de/index.php?title=Datei:Efiruhe.png&diff=2896Datei:Efiruhe.png2013-06-15T03:31:42Z<p>Chris601: Das Dashboard von EFIlive V4</p>
<hr />
<div>Das Dashboard von EFIlive V4</div>Chris601https://ladawiki.de/index.php?title=ALDL-Protokoll&diff=2895ALDL-Protokoll2013-06-15T00:45:30Z<p>Chris601: </p>
<hr />
<div>[[Datei:Efilog.png|200px|thumb|right|ALDL-Kommunikation im Log von EFIlive V4]]<br />
==Allgemein==<br />
<br />
Das ALDL-Protokoll, welches Lada bei den SPI-Modellen verwendet, orientiert sich an den gängigen GM-Formaten. Leider gibt es kein anderes Fahrzeug, welches exakt den Lada-Code verwendet.<br />
<br />
Die Kommunikation mit dem [[Steuergerät SPI Euro2|Steuergerät]] erfolgt mit 8192 Baud mit TTL-typischer Spannung von 5V. Für die Kommunikation mit einem PC kann ein [[Eigenbau-Interface SPI|Eigenbau-Interface]] genutzt werden.<br />
<br />
==Kommunikation mit dem Steuergerät==<br />
===ALDL Modus 01 auswählen===<br />
Um an die Daten des Steuergerätes zu kommen, die sämtliche Sensorwerte, [[Fehlercode Euro2|gespeicherte Fehler]] und sonstige Fahrzeugdaten enthalten, ist es notwendig das Steuergerät in einem bestimmten Modus ''anzusprechen''. <br />
<br />
Der ALDL-Modus 1 (0x01) ist hierbei der Wichtigste. Angestoßen wird dieser, indem <pre>$F4,$57,$01,$20,$94</pre> zum Steuergerät gesendet wird. <br />
<pre>$F4 = Message ID, <br />
$57 = Message length, <br />
$01 = Mode Number, <br />
$20 und $94 sind bisher unklar, ein Wert davon ist eine Prüfsumme deren Berechnung noch nicht nachvollzogen wurde.</pre><br />
<br />
===Antwort vom Steuergerät===<br />
Auf diesen Initialisierungsstring antwortet das Steuergerät einige Millisekunden später mit einem Datenwort aus 69 <br />
Bytes. Hier eine Beispiel-Kommunikation (Zeilenumbrüche eingefügt):<br />
<pre>gesendet: $F4,$57,$01,$20,$94<br />
empfangen:<br />
$F4,$97,$01,<br />
$19,$6D,$40,$04,$00,$74,$46,$11,$03,$32,<br />
$06,$1D,$00,$00,$19,$56,$FB,$78,$23,$7B,<br />
$06,$06,$50,$00,$F4,$60,$53,$B1,$50,$C7,<br />
$88,$94,$00,$00,$00,$66,$87,$70,$00,$F3,<br />
$A7,$00,$00,$85,$00,$00,$CC,$01,$20,$E9,<br />
$00,$81,$01,$80,$6F,$00,$00,$04,$A4,$09,<br />
$80,$0A,$44,$13,$00,$CB</pre><br />
<br />
==Der Inhalt der empfangenen Bytes== <br />
[[Datei:Eficonfig.jpg|200px|thumb|right|Auszug aus dem Configfile "nivatext.xml" für EFIlive von David Rolston]]<br />
Um die empfangenen Daten deuten zu können, muss man sich mit dem GM-typischen Protokollaufbau anderer GM-Steuerteile befassen. Eine Liste verschiedener Steuerteile und deren Codes findet sich hier: http://www.diy-efi.org/files/gmecm/ALDLstuff.zip<br />
<br />
David Rolston (http://ladaniva.co.uk) hat ein Configfile (http://www.ladaniva.co.uk/nivalive.zip) für [[EFILive V4]] geschrieben, welches einen Großteil der Bytes deuten kann.<br />
Dieses Configfile ist aktuell die vollständigste Zusammenfassung des Lada-ALDL-Protokolles. <br />
<br />
Die empfangenen Bytes sind hexadezimal. Die meisten Werte müssen zur Weiterverarbeitung in Dezimalzahlen (z.B. Sensorwerte) oder Binärdaten (z.B. Fehlercodes) umgerechnet werden.<br />
<br />
{| border="1"<br />
|Byte<br />
|Bedeutung<br />
|Faktor<br />
|Offset<br />
|Beispiel<br />
|Ergebnis<br />
|-<br />
| <br />
|Initialisierung<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
| <br />
|Initialisierung<br />
|<br />
|<br />
|$97<br />
|<br />
|-<br />
| <br />
|ALDL-Modus<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|1(16bit)<br />
|Eprom-ID<br />
|<br />
|<br />
|$19$6D<br />
|<br />
|-<br />
|3<br />
|Fehlercodes 1<br />
|<br />
|<br />
|$40<br />
|<br />
|-<br />
|4<br />
|Fehlercodes 2<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|5<br />
|Fehlercodes 3<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|6<br />
|Kühlmitteltemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$74<br />
|47°C<br />
|-<br />
|7<br />
|Startup Coolant Temp (?)<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$46<br />
|12,5°C<br />
|-<br />
|8<br />
|Spannung Drosselklappensensor<br />
|0,019608<br />
|0<br />
|$11<br />
|0,33V<br />
|-<br />
|9<br />
|Drosselklappenöffnung in % <br />
|0,392157<br />
|0<br />
|$03<br />
|1,18%<br />
|-<br />
|10<br />
|Motordrehzahl <br />
|25<br />
|0<br />
|$32<br />
|1250 RPM<br />
|-<br />
|11<br />
|Refpulse MSB (?)<br />
|<br />
|<br />
|$06<br />
|<br />
|-<br />
|12<br />
|Refpulse LSB (?)<br />
|<br />
|<br />
|$1D<br />
|<br />
|-<br />
|13<br />
|Geschwindigkeit <br />
|1 (1,60934 für km/h) <br />
|<br />
|$00<br />
|0MPH<br />
|-<br />
|14<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|15<br />
|Spannung Lambdasonde<br />
|4,44<br />
|0<br />
|$19<br />
|111mV<br />
|-<br />
|16<br />
|O2-Sensor Cross Counts (?)<br />
|<br />
|<br />
|$56<br />
|<br />
|-<br />
|17<br />
|<br />
|<br />
|<br />
|$FB<br />
|<br />
|-<br />
|18<br />
|<br />
|<br />
|<br />
|$78<br />
|<br />
|-<br />
|19<br />
|<br />
|<br />
|<br />
|$23<br />
|<br />
|-<br />
|20<br />
|<br />
|<br />
|<br />
|$7B<br />
|<br />
|-<br />
|21<br />
|IST-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|22<br />
|SOLL-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|23<br />
|Solldrehzahl Leerlauf<br />
|12,5<br />
|0<br />
|$50<br />
|1000RPM<br />
|-<br />
|24<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|25<br />
|<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
|26<br />
|MAP (Unterdruck am Ansaug)<br />
|0,37<br />
|10,34<br />
|$60<br />
|46kPa<br />
|-<br />
|27<br />
|<br />
|<br />
|<br />
|$53<br />
|<br />
|-<br />
|28<br />
|<br />
|<br />
|<br />
|$B1<br />
|<br />
|-<br />
|29<br />
|Ansauglufttemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$50<br />
|40°C<br />
|-<br />
|30<br />
|<br />
|<br />
|<br />
|$C7<br />
|<br />
|-<br />
|31<br />
|Batteriespannung<br />
|0,1<br />
|0<br />
|$88<br />
|13,6V<br />
|-<br />
|32<br />
|[[ALDL-Protokoll#Byte 32, Zündzeitpunkt|Zündwinkelvorverstellung]]<br />
|0,351565<br />
|0<br />
|$94<br />
|52° (?)<br />
|-<br />
|33<br />
|Zündwinkelvorverstellung (bei Lada möglicherweise ungenutzt)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|34<br />
|Zündwinkelvorverstellung (bei Lada möglicherweise ungenutzt)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|35(16bit)<br />
|Einspritzdauer<br />
|0,07629<br />
|0<br />
|$00$66<br />
|7,78ms<br />
|-<br />
|37<br />
|SOLL-Verhältnis Luft/Kraftstoff<br />
|0,1<br />
|0<br />
|$87<br />
|13,5<br />
|-<br />
|38<br />
|<br />
|<br />
|<br />
|$70<br />
|<br />
|-<br />
|39<br />
|Motor Laufzeit (bei Lada möglicherweise ungenutzt) <br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|40<br />
|Motor Laufzeit LSB<br />
|<br />
|<br />
|$F3<br />
|<br />
|-<br />
|41<br />
|<br />
|<br />
|<br />
|$A7<br />
|<br />
|-<br />
|42<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|43<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|44<br />
|<br />
|<br />
|<br />
|$85<br />
|<br />
|-<br />
|45<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|46<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|47<br />
|<br />
|<br />
|<br />
|$CC<br />
|<br />
|-<br />
|48<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|49<br />
|<br />
|<br />
|<br />
|$20<br />
|<br />
|-<br />
|50<br />
|<br />
|<br />
|<br />
|$E9<br />
|<br />
|-<br />
|51<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|52<br />
|<br />
|<br />
|<br />
|$81<br />
|<br />
|-<br />
|53<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|54<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|55<br />
|<br />
|<br />
|<br />
|$6F<br />
|<br />
|-<br />
|56<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|57<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|58<br />
|<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|59<br />
|<br />
|<br />
|<br />
|$A4<br />
|<br />
|-<br />
|60<br />
|<br />
|<br />
|<br />
|$09<br />
|<br />
|-<br />
|61<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|62<br />
|<br />
|<br />
|<br />
|$0A<br />
|<br />
|-<br />
|63<br />
|<br />
|<br />
|<br />
|$44<br />
|<br />
|-<br />
|64<br />
|<br />
|<br />
|<br />
|$13<br />
|<br />
|-<br />
|65<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|66<br />
|<br />
|<br />
|<br />
|$CB<br />
|<br />
<br />
|}<br />
(Tabelle wird ergänzt, die mit Fragezeichen versehenen Felder sollten besser beschrieben werden bzw. müssen noch verstanden werden)<br />
<br />
==Aktuelle Probleme und Unklarheiten== <br />
===Byte 32, Zündzeitpunkt===<br />
Dieses Byte soll den Wert des Zündzeitpunktes im Bezug auf den OT angeben. Er sollte Werte von 0 bis 40 ($00 bis $72) haben und gibt an, wieviel Grad vor OT gezündet wird. <br />
Wir gehen für die Berechnung von einem Faktor von 0,351565 aus. In unteren Drehzahlbereichen werden aber größere Winkel (teilweise >40°) angezeigt, die weder stimmen können noch mit Werten übereinstimmen, die ein TECH1 zu diesem Zeitpunkt liefert.<br />
Bei höheren Drehzahlen befinden sich die übermittelten Werte in denkbaren Größenordnungen. <br />
Möglicherweise muss auf den Hexadezimalwert zunächst das [http://de.wikipedia.org/wiki/Zweierkomplement Zweierkomplement] oder ähnliche Umrechnungen angewandt werden.<br />
===Aktoren===<br />
Die Zustände aller Aktoren außer des Leerlaufreglers (Lambdasondenheizung, Lüfter, Ventil Aktivkohlefilter, Saugrohrheizung, Benzinpumpe) sind bisher nicht erkennbar. Vermutet wird eine binäre Übertragung in einem Modeword.<br />
<br />
===Löschen der gespeicherten Fehler=== <br />
ALDL-Modus 10 (0x0A)<br />
<br />
In der config-Datei von David Rolston für EFIlive findet sich hier der Initialisierungsstring „$F4,$57,$0A,$20,$8B“, der aber nicht funktioniert. Hier muss geforscht werden. <br />
Wenn man Fehler mit einem TECH1 zurücksetzt wäre es denkbar, dabei den Datenstrom mit einem PC zu beobachten. <br />
Andere mögliche Lösungsansätze um den richtigen Code zu ermitteln wären ein ''Brute-Force-Angriff'' mit allen möglichen Codes oder der Vergleich mit anderen gängigen Codes aus oben genannter Liste anderer GM-Steuergeräte.<br />
<br />
[[Kategorie:Motorsteuerung Euro2]]</div>Chris601https://ladawiki.de/index.php?title=ALDL-Protokoll&diff=2894ALDL-Protokoll2013-06-15T00:10:32Z<p>Chris601: Die Seite wurde neu angelegt: „ALDL-Kommunikation im Log von EFIlive V4 ==Allgemein== Das ALDL-Protokoll, welches Lada bei den SPI-Modellen verwendet, or…“</p>
<hr />
<div>[[Datei:Efilog.png|200px|thumb|right|ALDL-Kommunikation im Log von EFIlive V4]]<br />
==Allgemein==<br />
<br />
Das ALDL-Protokoll, welches Lada bei den SPI-Modellen verwendet, orientiert sich an den gängigen GM-Formaten. Leider gibt es kein anderes Fahrzeug, welches exakt den Lada-Code verwendet.<br />
<br />
Die Kommunikation mit dem [[Steuergerät SPI Euro2|Steuergerät]] erfolgt mit 8192 Baud mit TTL-typischer Spannung von 5V.<br />
<br />
==Kommunikation mit dem Steuergerät==<br />
===ALDL Modus 01 auswählen===<br />
Um an die Daten des Steuergerätes zu kommen, die sämtliche Sensorwerte, gespeicherte Fehler und sonstige Fahrzeugdaten enthalten, ist es notwendig das Steuergerät in einem bestimmten Modus ''anzusprechen''. <br />
<br />
Der ALDL-Modus 1 (0x01) ist hierbei der Wichtigste. Angestoßen wird dieser, indem <pre>$F4,$57,$01,$20,$94</pre> zum Steuergerät gesendet wird. <br />
<pre>$F4 = Message ID, <br />
$57 = Message length, <br />
$01 = Mode Number, <br />
$20 und $94 sind bisher unklar, ein Wert davon ist eine Prüfsumme deren Berechnung noch nicht nachvollzogen wurde.</pre><br />
<br />
===Antwort vom Steuergerät===<br />
Auf diesen Initialisierungsstring antwortet das Steuergerät einige Millisekunden später mit einem Datenwort aus 69 <br />
Bytes. Hier eine Beispiel-Kommunikation (Zeilenumbrüche eingefügt):<br />
<pre>gesendet: $F4,$57,$01,$20,$94<br />
empfangen:<br />
$F4,$97,$01,<br />
$19,$6D,$40,$04,$00,$74,$46,$11,$03,$32,<br />
$06,$1D,$00,$00,$19,$56,$FB,$78,$23,$7B,<br />
$06,$06,$50,$00,$F4,$60,$53,$B1,$50,$C7,<br />
$88,$94,$00,$00,$00,$66,$87,$70,$00,$F3,<br />
$A7,$00,$00,$85,$00,$00,$CC,$01,$20,$E9,<br />
$00,$81,$01,$80,$6F,$00,$00,$04,$A4,$09,<br />
$80,$0A,$44,$13,$00,$CB</pre><br />
<br />
==Der Inhalt der empfangenen Bytes== <br />
[[Datei:Eficonfig.jpg|200px|thumb|right|Auszug aus dem Configfile "nivatext.xml" für EFIlive von David Rolston]]<br />
Um die empfangenen Daten deuten zu können, muss man sich mit dem GM-typischen Protokollaufbau anderer GM-Steuerteile befassen. Eine Liste verschiedener Steuerteile und deren Codes findet sich hier: http://www.diy-efi.org/files/gmecm/ALDLstuff.zip<br />
<br />
David Rolston (http://ladaniva.co.uk) hat ein Configfile (http://www.ladaniva.co.uk/nivalive.zip) für [[EFILive V4]] geschrieben, welches einen Großteil der Bytes deuten kann.<br />
Dieses Configfile ist aktuell die vollständigste Zusammenfassung des Lada-ALDL-Protokolles. <br />
<br />
Die empfangenen Bytes sind hexadezimal. Die meisten Werte müssen zur Weiterverarbeitung in Dezimalzahlen (z.B. Sensorwerte) oder Binärdaten (z.B. Fehlercodes) umgerechnet werden.<br />
<br />
{| border="1"<br />
|Byte<br />
|Bedeutung<br />
|Faktor<br />
|Offset<br />
|Beispiel<br />
|Ergebnis<br />
|-<br />
| <br />
|Initialisierung<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
| <br />
|Initialisierung<br />
|<br />
|<br />
|$97<br />
|<br />
|-<br />
| <br />
|ALDL-Modus<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|1(16bit)<br />
|Eprom-ID<br />
|<br />
|<br />
|$19$6D<br />
|<br />
|-<br />
|3<br />
|Fehlercodes 1<br />
|<br />
|<br />
|$40<br />
|<br />
|-<br />
|4<br />
|Fehlercodes 2<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|5<br />
|Fehlercodes 3<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|6<br />
|Kühlmitteltemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$74<br />
|47°C<br />
|-<br />
|7<br />
|Startup Coolant Temp (?)<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$46<br />
|12,5°C<br />
|-<br />
|8<br />
|Spannung Drosselklappensensor<br />
|0,019608<br />
|0<br />
|$11<br />
|0,33V<br />
|-<br />
|9<br />
|Drosselklappenöffnung in % <br />
|0,392157<br />
|0<br />
|$03<br />
|1,18%<br />
|-<br />
|10<br />
|Motordrehzahl <br />
|25<br />
|0<br />
|$32<br />
|1250 RPM<br />
|-<br />
|11<br />
|Refpulse MSB (?)<br />
|<br />
|<br />
|$06<br />
|<br />
|-<br />
|12<br />
|Refpulse LSB (?)<br />
|<br />
|<br />
|$1D<br />
|<br />
|-<br />
|13<br />
|Geschwindigkeit <br />
|1 (1,60934 für km/h) <br />
|<br />
|$00<br />
|0MPH<br />
|-<br />
|14<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|15<br />
|Spannung Lambdasonde<br />
|4,44<br />
|0<br />
|$19<br />
|111mV<br />
|-<br />
|16<br />
|O2-Sensor Cross Counts (?)<br />
|<br />
|<br />
|$56<br />
|<br />
|-<br />
|17<br />
|<br />
|<br />
|<br />
|$FB<br />
|<br />
|-<br />
|18<br />
|<br />
|<br />
|<br />
|$78<br />
|<br />
|-<br />
|19<br />
|<br />
|<br />
|<br />
|$23<br />
|<br />
|-<br />
|20<br />
|<br />
|<br />
|<br />
|$7B<br />
|<br />
|-<br />
|21<br />
|IST-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|22<br />
|SOLL-Position Leerlaufregler<br />
|1<br />
|0<br />
|$06<br />
|6 (0 geschlossen, 255 offen)<br />
|-<br />
|23<br />
|Solldrehzahl Leerlauf<br />
|12,5<br />
|0<br />
|$50<br />
|1000RPM<br />
|-<br />
|24<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|25<br />
|<br />
|<br />
|<br />
|$F4<br />
|<br />
|-<br />
|26<br />
|MAP (Unterdruck am Ansaug)<br />
|0,37<br />
|10,34<br />
|$60<br />
|46kPa<br />
|-<br />
|27<br />
|<br />
|<br />
|<br />
|$53<br />
|<br />
|-<br />
|28<br />
|<br />
|<br />
|<br />
|$B1<br />
|<br />
|-<br />
|29<br />
|Ansauglufttemperatur<br />
|0,75<br />
|<nowiki>-40</nowiki><br />
|$50<br />
|40°C<br />
|-<br />
|30<br />
|<br />
|<br />
|<br />
|$C7<br />
|<br />
|-<br />
|31<br />
|Batteriespannung<br />
|0,1<br />
|0<br />
|$88<br />
|13,6V<br />
|-<br />
|32<br />
|[[ALDL-Protokoll#Byte 32, Zündzeitpunkt|Zündwinkelvorverstellung]]<br />
|0,351565<br />
|0<br />
|$94<br />
|52° (?)<br />
|-<br />
|33<br />
|Zündwinkelvorverstellung (bei Lada möglicherweise ungenutzt)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|34<br />
|Zündwinkelvorverstellung (bei Lada möglicherweise ungenutzt)<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|35(16bit)<br />
|Einspritzdauer<br />
|0,07629<br />
|0<br />
|$00$66<br />
|7,78ms<br />
|-<br />
|37<br />
|SOLL-Verhältnis Luft/Kraftstoff<br />
|0,1<br />
|0<br />
|$87<br />
|13,5<br />
|-<br />
|38<br />
|<br />
|<br />
|<br />
|$70<br />
|<br />
|-<br />
|39<br />
|Motor Laufzeit (bei Lada möglicherweise ungenutzt) <br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|40<br />
|Motor Laufzeit LSB<br />
|<br />
|<br />
|$F3<br />
|<br />
|-<br />
|41<br />
|<br />
|<br />
|<br />
|$A7<br />
|<br />
|-<br />
|42<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|43<br />
|ungenutzt<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|44<br />
|<br />
|<br />
|<br />
|$85<br />
|<br />
|-<br />
|45<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|46<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|47<br />
|<br />
|<br />
|<br />
|$CC<br />
|<br />
|-<br />
|48<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|49<br />
|<br />
|<br />
|<br />
|$20<br />
|<br />
|-<br />
|50<br />
|<br />
|<br />
|<br />
|$E9<br />
|<br />
|-<br />
|51<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|52<br />
|<br />
|<br />
|<br />
|$81<br />
|<br />
|-<br />
|53<br />
|<br />
|<br />
|<br />
|$01<br />
|<br />
|-<br />
|54<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|55<br />
|<br />
|<br />
|<br />
|$6F<br />
|<br />
|-<br />
|56<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|57<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|58<br />
|<br />
|<br />
|<br />
|$04<br />
|<br />
|-<br />
|59<br />
|<br />
|<br />
|<br />
|$A4<br />
|<br />
|-<br />
|60<br />
|<br />
|<br />
|<br />
|$09<br />
|<br />
|-<br />
|61<br />
|<br />
|<br />
|<br />
|$80<br />
|<br />
|-<br />
|62<br />
|<br />
|<br />
|<br />
|$0A<br />
|<br />
|-<br />
|63<br />
|<br />
|<br />
|<br />
|$44<br />
|<br />
|-<br />
|64<br />
|<br />
|<br />
|<br />
|$13<br />
|<br />
|-<br />
|65<br />
|<br />
|<br />
|<br />
|$00<br />
|<br />
|-<br />
|66<br />
|<br />
|<br />
|<br />
|$CB<br />
|<br />
<br />
|}<br />
(Tabelle wird ergänzt, die mit Fragezeichen versehenen Felder sollten besser beschrieben werden bzw. müssen noch verstanden werden)<br />
<br />
==Aktuelle Probleme und Unklarheiten== <br />
===Byte 32, Zündzeitpunkt===<br />
Dieses Byte soll den Wert des Zündzeitpunktes im Bezug auf den OT angeben. Er sollte Werte von 0 bis 40 ($00 bis $72) haben und gibt an, wieviel Grad vor OT gezündet wird. <br />
Wir gehen für die Berechnung von einem Faktor von 0,351565 aus. In unteren Drehzahlbereichen werden aber größere Winkel (teilweise >40°) angezeigt, die weder stimmen können noch mit Werten übereinstimmen, die ein TECH1 zu diesem Zeitpunkt liefert.<br />
Bei höheren Drehzahlen befinden sich die übermittelten Werte in denkbaren Größenordnungen. <br />
Möglicherweise muss auf den Hexadezimalwert zunächst das [http://de.wikipedia.org/wiki/Zweierkomplement Zweierkomplement] oder ähnliche Umrechnungen angewandt werden.<br />
===Aktoren===<br />
Die Zustände aller Aktoren außer des Leerlaufreglers (Lambdasondenheizung, Lüfter, Ventil Aktivkohlefilter, Saugrohrheizung, Benzinpumpe) sind bisher nicht erkennbar. Vermutet wird eine binäre Übertragung in einem Modeword.<br />
<br />
===Löschen der gespeicherten Fehler===<br />
ALDL-Modus 10 (0x0A)<br />
In der config-Datei von David Rolston für EFIlive findet sich hier der Initialisierungsstring „$F4,$57,$0A,$20,$8B“, der aber nicht funktioniert. Hier muss geforscht werden. <br />
Wenn man Fehler mit einem TECH1 zurücksetzt wäre es denkbar, dabei den Datenstrom mit einem PC zu beobachten. <br />
Andere mögliche Lösungsansätze um den richtigen Code zu ermitteln wären ein „Brute-Force“-Angriff mit allen möglichen Codes oder der Vergleich mit anderen gängigen Codes aus oben genannter Liste anderer GM-Steuergeräte.</div>Chris601https://ladawiki.de/index.php?title=Datei:Efilog.png&diff=2893Datei:Efilog.png2013-06-14T23:59:42Z<p>Chris601: Ansicht der ALDL-Kommunikation im Log von EFIlive</p>
<hr />
<div>Ansicht der ALDL-Kommunikation im Log von EFIlive</div>Chris601https://ladawiki.de/index.php?title=Datei:Eficonfig.jpg&diff=2892Datei:Eficonfig.jpg2013-06-14T23:58:16Z<p>Chris601: Ein Blick auf die Lada-ALDL-Spezifikation in EFIlive V4</p>
<hr />
<div>Ein Blick auf die Lada-ALDL-Spezifikation in EFIlive V4</div>Chris601https://ladawiki.de/index.php?title=Datei:Diagnosebuchse.jpg&diff=2569Datei:Diagnosebuchse.jpg2013-04-06T16:47:07Z<p>Chris601: hat eine neue Version von „Datei:Diagnosebuchse.jpg“ hochgeladen</p>
<hr />
<div>Anschluss ALDL-Interface und Modeselect-Widerstand</div>Chris601https://ladawiki.de/index.php?title=Eigenbau-Interface_SPI&diff=2568Eigenbau-Interface SPI2013-04-06T15:55:50Z<p>Chris601: </p>
<hr />
<div>[[Datei:ALDL-RS232-Interface.png|200px|thumb|right|Schaltplan ALDL-RS232-Interface]]<br />
[[Datei:Fertiger Bausatz.jpg|200px|thumb|right|fertig aufgebauter Bausatz]]<br />
[[Datei:Komplettes Diagnoseinterface.jpg|200px|thumb|right|komplettes RS232-Diagnoseinterface mit USB-Stromversorgung, Diode, Widerstand und Kabel zur Diagnosebuchse]]<br />
[[Datei:Interface im PC.jpg|200px|thumb|right|Interface samt USB-Stromversorgung am PC angesteckt]]<br />
[[Datei:Diagnosebuchse.jpg|200px|thumb|right|Anschluss an der Diagnosebuchse: Weiß ist die Masseleitung an Klemme A, Schwarz ist die Datenleitung an Klemme M und zwischen A und B steckt der "Modeselect"-Widerstand mit 10kOhm]]<br />
<br />
Das [[Steuergerät]] der Ladas mit Singlepoint-Einspritzung (EURO2) gibt an der Diagnosebuchse auf Anfrage der eingesetzten Software oder Diagnosegeräte sämtliche Sensorwerte und die im Fehlerspeicher hinterlegten Daten aus.<br />
Diese Ausgabe erfolgt unverschlüsselt digital mit einer Geschwindigkeit von 8192 Baud im [[ALDL-Protokoll]]. Als Pegel liegt bei "high" (TTL-typisch) 5V-Spannung an.<br />
<br />
Will man diese Werte am PC beispielsweise mit [[EFILive V4]] auswerten, genügt ein relativ leicht und preiswert aufzubauendes Interface. Herzstück dieser Schaltung ist ein elektronischer Schaltkreis mit der Bezeichnung "MAX232" der zur Pegelanpassung dient.<br />
<br />
Diese Schaltung setzt einen PC mit serieller Schnittstelle (RS232) voraus, die leider an tragbaren Computern selten wird.<br />
<br />
Die Firma Pollin (Elektronikversand) bietet einen preiswerten [http://www.pollin.de/shop/dt/MzY5OTgxOTk-/Bausaetze_Module/Bausaetze/RS232_TTL_Wandler_Bausatz.html Bausatz] an, der für unseren Zweck nur noch durch einen Widerstand (1kOhm) und eine Diode (z.B. 1N4148) ergänzt werden muss. Um am Steuergerät den ALDL-Modus zu wählen ist ein weiterer Widerstand (10kOhm) notwendig.<br />
<br />
Dieser Bausatz benötigt noch eine Stromversorgung von 5V. Man kann hier beispielsweise ein altes USB-Kabel nutzen von dem man die stromführenden Adern herausführt.<br />
<br />
Die Kommunikation zwischen Computer und Motorsteuergerät findet über eine einzelne Leitung in Hin- und Rückrichtung statt. Es wird also die Diode mit der Kathode (in der Regel durch einen Ring gekennzeichnet) in die Klemme "TXD" der Platine geschraubt und der Widerstand in die Klemme "RXD". Die anderen Kontakte der Bauelemente werden verbunden und es wird das Kabel zum Anschluss "M" der Diagnosesteckdose geführt.<br />
Wichtig ist weiterhin der Potentialausgleich zwischen Schaltung und Fahrzeug. Dafür wird ein zweites Kabel von der Masse-Klemme der Platine zu Klemme "A" der Diagnosesteckdose geführt.<br />
Zwischen Klemme "A" und "B" wird ein 10kOhm Widerstand gesteckt und das USB-Kabel wird in eine USB-Dose gesteckt (Da es nur um die Stromversorgung geht, muss es nicht zwingend ein Computer sein. Ein Autoradio oder ein Adapter für den Zigarettenanzünder genügen.). Mit diesem Aufbau ist das Interface betriebsbereit.<br />
Anders als beim [[Fehlercode ausblinken SPI|Ausblinken]] kann der Motor mit aktivem Interface gestartet werden und man kann auch normal fahren.<br />
<br />
Falls der PC keinen RS232-Port besitzt kann man günstige USB-RS232-Adapter kaufen. Hierbei ist zu beachten, dass entsprechende Treiber dafür benötigt werden und wahrscheinlich ein eher untypischer Com-Port (z.B. COM5) Verwendung findet, der dann in der verwendeten Software noch einzustellen ist.<br />
<br />
<br />
Eine weitere Möglichkeit um ein Eigenbau-Interface aufzubauen, könnten sogenannte TTL-USB-Adapter darstellen. <br />
Auch besteht prinzipiell die Möglichkeit die Daten direkt mit einem Mikroprozessor, wie z.B. dem ATmega, auszulesen und darzustellen. Das wurde beispielsweise auf [http://lukeskaff.com/?page_id=305 dieser Internetseite] realisiert (allerdings nicht für Lada).<br />
<br />
[[Kategorie:Motorsteuerung]]</div>Chris601https://ladawiki.de/index.php?title=Benutzer:Chris601&diff=2566Benutzer:Chris6012013-04-05T20:55:35Z<p>Chris601: Die Seite wurde neu angelegt: „21073 BJ 1996 1700er SPI Webmaster [http://www.OMoMa.de OMoMa.de] Webmaster [http://www.2takter.de 2takter.de] Kontakt bitte über diese Webseiten.“</p>
<hr />
<div>21073 BJ 1996 <br />
1700er SPI<br />
<br />
Webmaster [http://www.OMoMa.de OMoMa.de]<br />
<br />
Webmaster [http://www.2takter.de 2takter.de]<br />
<br />
Kontakt bitte über diese Webseiten.</div>Chris601https://ladawiki.de/index.php?title=Datei:ALDL-RS232-Interface.png&diff=2565Datei:ALDL-RS232-Interface.png2013-04-05T19:53:51Z<p>Chris601: hat eine neue Version von „Datei:ALDL-RS232-Interface.png“ hochgeladen</p>
<hr />
<div></div>Chris601https://ladawiki.de/index.php?title=Eigenbau-Interface_SPI&diff=2564Eigenbau-Interface SPI2013-04-05T19:48:37Z<p>Chris601: </p>
<hr />
<div>[[Datei:ALDL-RS232-Interface.png|200px|thumb|right|Schaltplan ALDL-RS232-Interface]]<br />
[[Datei:Fertiger Bausatz.jpg|200px|thumb|right|fertig aufgebauter Bausatz]]<br />
[[Datei:Komplettes Diagnoseinterface.jpg|200px|thumb|right|komplettes RS232-Diagnoseinterface mit USB-Stromversorgung, Diode, Widerstand und Kabel zur Diagnosebuchse]]<br />
[[Datei:Interface im PC.jpg|200px|thumb|right|Interface samt USB-Stromversorgung am PC angesteckt]]<br />
[[Datei:Diagnosebuchse.jpg|200px|thumb|right|Anschluss an der Diagnosebuchse: Schwarz ist die Masseleitung an Klemme A, Weiß ist die Datenleitung an Klemme M und zwischen A und B steckt der "Modeselect"-Widerstand mit 10kOhm]]<br />
<br />
Das [[Steuergerät]] der Ladas mit Singlepoint-Einspritzung (EURO2) gibt an der Diagnosebuchse auf Anfrage der eingesetzten Software oder Diagnosegeräte sämtliche Sensorwerte und die im Fehlerspeicher hinterlegten Daten aus.<br />
Diese Ausgabe erfolgt unverschlüsselt digital mit einer Geschwindigkeit von 8192 Baud im [[ALDL-Protokoll]]. Als Pegel liegt bei "high" (TTL-typisch) 5V-Spannung an.<br />
<br />
Will man diese Werte am PC beispielsweise mit [[EFILive V4]] auswerten, genügt ein relativ leicht und preiswert aufzubauendes Interface. Herzstück dieser Schaltung ist ein elektronischer Schaltkreis mit der Bezeichnung "MAX232" der zur Pegelanpassung dient.<br />
<br />
Diese Schaltung setzt einen PC mit serieller Schnittstelle (RS232) voraus, die leider an tragbaren Computern selten wird.<br />
<br />
Die Firma Pollin (Elektronikversand) bietet einen preiswerten [http://www.pollin.de/shop/dt/MzY5OTgxOTk-/Bausaetze_Module/Bausaetze/RS232_TTL_Wandler_Bausatz.html Bausatz] an, der für unseren Zweck nur noch durch einen Widerstand (1kOhm) und eine Diode (z.B. 1N4148) ergänzt werden muss. Um am Steuergerät den ALDL-Modus zu wählen ist ein weiterer Widerstand (10kOhm) notwendig.<br />
<br />
Dieser Bausatz benötigt noch eine Stromversorgung von 5V. Man kann hier beispielsweise ein altes USB-Kabel nutzen von dem man die stromführenden Adern herausführt.<br />
<br />
Die Kommunikation zwischen Computer und Motorsteuergerät findet über eine einzelne Leitung in Hin- und Rückrichtung statt. Es wird also die Diode mit der Kathode (in der Regel durch einen Ring gekennzeichnet) in die Klemme "TXD" der Platine geschraubt und der Widerstand in die Klemme "RXD". Die anderen Kontakte der Bauelemente werden verbunden und es wird das Kabel zum Anschluss "M" der Diagnosesteckdose geführt.<br />
Wichtig ist weiterhin der Potentialausgleich zwischen Schaltung und Fahrzeug. Dafür wird ein zweites Kabel von der Masse-Klemme der Platine zu Klemme "A" der Diagnosesteckdose geführt.<br />
Zwischen Klemme "A" und "B" wird ein 10kOhm Widerstand gesteckt und das USB-Kabel wird in eine USB-Dose gesteckt (Da es nur um die Stromversorgung geht, muss es nicht zwingend ein Computer sein. Ein Autoradio oder ein Adapter für den Zigarettenanzünder genügen.). Mit diesem Aufbau ist das Interface betriebsbereit.<br />
Anders als beim [[Fehlercode ausblinken SPI|Ausblinken]] kann der Motor mit aktivem Interface gestartet werden und man kann auch normal fahren.<br />
<br />
Falls der PC keinen RS232-Port besitzt kann man günstige USB-RS232-Adapter kaufen. Hierbei ist zu beachten, dass entsprechende Treiber dafür benötigt werden und wahrscheinlich ein eher untypischer Com-Port (z.B. COM5) Verwendung findet, der dann in der verwendeten Software noch einzustellen ist.<br />
<br />
<br />
Eine weitere Möglichkeit um ein Eigenbau-Interface aufzubauen, könnten sogenannte TTL-USB-Adapter darstellen. <br />
Auch besteht prinzipiell die Möglichkeit die Daten direkt mit einem Mikroprozessor, wie z.B. dem ATmega, auszulesen und darzustellen. Das wurde beispielsweise auf [http://lukeskaff.com/?page_id=305 dieser Internetseite] realisiert (allerdings nicht für Lada).<br />
<br />
[[Kategorie:Motorsteuerung]]</div>Chris601https://ladawiki.de/index.php?title=Datei:ALDL-RS232-Interface.png&diff=2563Datei:ALDL-RS232-Interface.png2013-04-05T19:46:30Z<p>Chris601: </p>
<hr />
<div></div>Chris601https://ladawiki.de/index.php?title=Diskussion:Eigenbau-Interface_SPI&diff=2562Diskussion:Eigenbau-Interface SPI2013-04-05T12:35:23Z<p>Chris601: </p>
<hr />
<div>"Anders als beim Ausblinken kann der Motor mit aktivem Interface gestartet werden und man kann auch normal fahren. "<br />
<br />
Ist dem wirklich so? Man kann VAZ auch den laufenden Motor mit Prüfbrücke diagnostizieren. Dort werden aber keine Fehlercode ausgegeben sondern der Zustand des L-Signals dargestellt.--[[Benutzer:Endurofant|Endurofant]] 09:44, 5. Apr. 2013 (CEST)<br />
<br />
----<br />
<br />
Okay, das ist mir neu. Ich habe überall immer bloß gelesen, dass man zum Ausblinken der Fehler niemalnicht den Motor starten darf und habe es deshalb auch nie gemacht.<br />
<br />
Vielleicht sollte der Hinweis auch in den Beitrag übers ausblinken.<br />
<br />
Sollte man das hier auch anders formulieren?</div>Chris601https://ladawiki.de/index.php?title=Eigenbau-Interface_SPI&diff=2558Eigenbau-Interface SPI2013-04-05T01:13:58Z<p>Chris601: </p>
<hr />
<div>[[Datei:Fertiger Bausatz.jpg|200px|thumb|right|fertig aufgebauter Bausatz]]<br />
[[Datei:Komplettes Diagnoseinterface.jpg|200px|thumb|right|komplettes RS232-Diagnoseinterface mit USB-Stromversorgung, Diode, Widerstand und Kabel zur Diagnosebuchse]]<br />
[[Datei:Interface im PC.jpg|200px|thumb|right|Interface samt USB-Stromversorgung am PC angesteckt]]<br />
[[Datei:Diagnosebuchse.jpg|200px|thumb|right|Anschluss an der Diagnosebuchse: Schwarz ist die Masseleitung an Klemme A, Weiß ist die Datenleitung an Klemme M und zwischen A und B steckt der "Modeselect"-Widerstand mit 10kOhm]]<br />
<br />
Das [[Steuergerät]] der Ladas mit Singlepoint-Einspritzung (EURO2) gibt an der Diagnosebuchse auf Anfrage der eingesetzten Software oder Diagnosegeräte sämtliche Sensorwerte und die im Fehlerspeicher hinterlegten Daten aus.<br />
Diese Ausgabe erfolgt unverschlüsselt digital mit einer Geschwindigkeit von 8192 Baud im [[ALDL-Protokoll]]. Als Pegel liegt bei "high" (TTL-typisch) 5V-Spannung an.<br />
<br />
Will man diese Werte am PC beispielsweise mit [[EFILive V4]] auswerten, genügt ein relativ leicht und preiswert aufzubauendes Interface. Herzstück dieser Schaltung ist ein elektronischer Schaltkreis mit der Bezeichnung "MAX232" der zur Pegelanpassung dient.<br />
<br />
Das vollständige ALDL-Interface mit diesem Schaltkreis ist auf [http://www.techedge.com.au/vehicle/aldl8192/8192hw.htm dieser Internetseite] beschrieben.<br />
<br />
Diese Schaltung setzt einen PC mit serieller Schnittstelle (RS232) voraus, die leider an tragbaren Computern selten wird.<br />
<br />
Die Firma Pollin (Elektronikversand) bietet einen preiswerten [http://www.pollin.de/shop/dt/MzY5OTgxOTk-/Bausaetze_Module/Bausaetze/RS232_TTL_Wandler_Bausatz.html Bausatz] an, der für unseren Zweck nur noch durch einen Widerstand (1kOhm) und eine Diode (z.B. 1N4148) ergänzt werden muss. Um am Steuergerät den ALDL-Modus zu wählen ist ein weiterer Widerstand (10kOhm) notwendig.<br />
<br />
Dieser Bausatz benötigt noch eine Stromversorgung von 5V. Man kann hier beispielsweise ein altes USB-Kabel nutzen von dem man die Stromführenden Adern herausführt.<br />
<br />
Die Kommunikation zwischen Computer und Motorsteuergerät findet über eine einzelne Leitung in Hin- und Rückrichtung statt. Es wird also die Diode mit der Kathode (in der Regel durch einen Ring gekennzeichnet) in die Klemme "TXD" der Platine geschraubt und der Widerstand in die Klemme "RXD". Die anderen Kontakte der Bauelemente werden verbunden und es wird das Kabel zum Anschluss "M" der Diagnosesteckdose geführt.<br />
Wichtig ist weiterhin der Potentialausgleich zwischen Schaltung und Fahrzeug. Dafür wird ein zweites Kabel von der Masse-Klemme der Platine zu Klemme "A" der Diagnosesteckdose geführt.<br />
Zwischen Klemme "A" und "B" wird ein 10kOhm Widerstand gesteckt und das USB-Kabel wird in eine USB-Dose gesteckt (Da es nur um die Stromversorgung geht, muss es nicht zwingend ein Computer sein. Ein Autoradio oder ein Adapter für den Zigarettenanzünder genügen.). Mit diesem Aufbau ist das Interface betriebsbereit.<br />
Anders als beim [[Fehlercode ausblinken SPI|Ausblinken]] kann der Motor mit aktivem Interface gestartet werden und man kann auch normal fahren.<br />
<br />
Falls der PC keinen RS232-Port besitzt kann man günstige USB-RS232-Adapter kaufen. Hierbei ist zu beachten, dass entsprechende Treiber dafür benötigt werden und wahrscheinlich ein eher untypischer Com-Port (z.B. COM5) Verwendung findet, der dann in der verwendeten Software noch einzustellen ist.<br />
<br />
<br />
Eine weitere Möglichkeit um ein Eigenbau-Interface aufzubauen könnten sogenannte TTL-USB-Adapter darstellen. <br />
Auch besteht prinzipiell die Möglichkeit die Daten direkt mit einem Mikroprozessor, wie z.B. dem ATmega, auszulesen und darzustellen. Das wurde beispielsweise auf [http://lukeskaff.com/?page_id=305 dieser Internetseite] realisiert (allerdings nicht für Lada).</div>Chris601https://ladawiki.de/index.php?title=Datei:Diagnosebuchse.jpg&diff=2557Datei:Diagnosebuchse.jpg2013-04-05T01:10:10Z<p>Chris601: Anschluss ALDL-Interface und Modeselect-Widerstand</p>
<hr />
<div>Anschluss ALDL-Interface und Modeselect-Widerstand</div>Chris601https://ladawiki.de/index.php?title=Eigenbau-Interface_SPI&diff=2556Eigenbau-Interface SPI2013-04-05T01:06:16Z<p>Chris601: </p>
<hr />
<div>[[Datei:Fertiger Bausatz.jpg|200px|thumb|right|fertig aufgebauter Bausatz]]<br />
[[Datei:Komplettes Diagnoseinterface.jpg|200px|thumb|right|komplettes RS232-Diagnoseinterface mit USB-Stromversorgung, Diode, Widerstand und Kabel zur Diagnosebuchse]]<br />
[[Datei:Interface im PC.jpg|200px|thumb|right|Interface samt USB-Stromversorgung am PC angesteckt]]<br />
<br />
Das [[Steuergerät]] der Ladas mit Singlepoint-Einspritzung (EURO2) gibt an der Diagnosebuchse auf Anfrage der eingesetzten Software oder Diagnosegeräte sämtliche Sensorwerte und die im Fehlerspeicher hinterlegten Daten aus.<br />
Diese Ausgabe erfolgt unverschlüsselt digital mit einer Geschwindigkeit von 8192 Baud im [[ALDL-Protokoll]]. Als Pegel liegt bei "high" (TTL-typisch) 5V-Spannung an.<br />
<br />
Will man diese Werte am PC beispielsweise mit [[EFILive V4]] auswerten, genügt ein relativ leicht und preiswert aufzubauendes Interface. Herzstück dieser Schaltung ist ein elektronischer Schaltkreis mit der Bezeichnung "MAX232" der zur Pegelanpassung dient.<br />
<br />
Das vollständige ALDL-Interface mit diesem Schaltkreis ist auf [http://www.techedge.com.au/vehicle/aldl8192/8192hw.htm dieser Internetseite] beschrieben.<br />
<br />
Diese Schaltung setzt einen PC mit serieller Schnittstelle (RS232) voraus, die leider an tragbaren Computern selten wird.<br />
<br />
Die Firma Pollin (Elektronikversand) bietet einen preiswerten [http://www.pollin.de/shop/dt/MzY5OTgxOTk-/Bausaetze_Module/Bausaetze/RS232_TTL_Wandler_Bausatz.html Bausatz] an, der für unseren Zweck nur noch durch einen Widerstand (1kOhm) und eine Diode (z.B. 1N4148) ergänzt werden muss. Um am Steuergerät den ALDL-Modus zu wählen ist ein weiterer Widerstand (10kOhm) notwendig.<br />
<br />
Dieser Bausatz benötigt noch eine Stromversorgung von 5V. Man kann hier beispielsweise ein altes USB-Kabel nutzen von dem man die Stromführenden Adern herausführt.<br />
<br />
Die Kommunikation zwischen Computer und Motorsteuergerät findet über eine einzelne Leitung in Hin- und Rückrichtung statt. Es wird also die Diode mit der Kathode (in der Regel durch einen Ring gekennzeichnet) in die Klemme "TXD" der Platine geschraubt und der Widerstand in die Klemme "RXD". Die anderen Kontakte der Bauelemente werden verbunden und es wird das Kabel zum Anschluss "M" der Diagnosesteckdose geführt.<br />
Wichtig ist weiterhin der Potentialausgleich zwischen Schaltung und Fahrzeug. Dafür wird ein zweites Kabel von der Masse-Klemme der Platine zu Klemme "A" der Diagnosesteckdose geführt.<br />
Zwischen Klemme "A" und "B" wird ein 10kOhm Widerstand gesteckt und das USB-Kabel wird in eine USB-Dose gesteckt (Da es nur um die Stromversorgung geht, muss es nicht zwingend ein Computer sein. Ein Autoradio oder ein Adapter für den Zigarettenanzünder genügen.). Mit diesem Aufbau ist das Interface betriebsbereit.<br />
Anders als beim [[Fehlercode ausblinken SPI|Ausblinken]] kann der Motor mit aktivem Interface gestartet werden und man kann auch normal fahren.<br />
<br />
Falls der PC keinen RS232-Port besitzt kann man günstige USB-RS232-Adapter kaufen. Hierbei ist zu beachten, dass entsprechende Treiber dafür benötigt werden und wahrscheinlich ein eher untypischer Com-Port (z.B. COM5) Verwendung findet, der dann in der verwendeten Software noch einzustellen ist.<br />
<br />
<br />
Eine weitere Möglichkeit um ein Eigenbau-Interface aufzubauen könnten sogenannte TTL-USB-Adapter darstellen. <br />
Auch besteht prinzipiell die Möglichkeit die Daten direkt mit einem Mikroprozessor, wie z.B. dem ATmega, auszulesen und darzustellen. Das wurde beispielsweise auf [http://lukeskaff.com/?page_id=305 dieser Internetseite] realisiert (allerdings nicht für Lada).</div>Chris601