Schema Motorelektronik, Geber u. Stellglieder
Schema Mitorelektronik - Beispiel
Dein Auto - das unbekannte Wesen?
Ein Versuch, die heutige digitale Technik zu erklären.
Grundlagen
Grundlagen, Grundlagen, Grundlagen und nochmal Grundlagen.
Es kann nicht oft genug wiederholt werden: Fehlendes Grundlagenwissen ist die Ursache vieler Falschinformationen, falscher Schlußfolgerungen und blindem Vertrauen auf schlichtweg falsche Aussagen von Pseudofachleuten. Aber wo fängt man an? Im Folgenden soll versucht werden, das möglichst einfach zu vermitteln. Der Fachmann möge daher bitte hier abbrechen.
Analog - Digital
Eine mechanische Uhr mit Zeigern zeigt die aktuelle Zeit analog an, d.h., die Zeiger bewegen sich mit fortschreitender Zeit (also analog zum Verstreichen der Zeit) weiter. Eine Digital-Uhr oder Digital-Anzeige zeigt die aktuelle Zeit mit weiterspringenden Zahlen an. Viele Sensoren im Auto liefern nur analoge Werte, diese werden zur weiteren Verarbeitung digitalisiert mit sogenannten Analog/Digital-Wandlern (A/D-Wandler). Ein Bit, die kleinste Einheit in der digitalen Welt, kann nur den Zustand "0" oder "1" annehmen. Um größere Werte digital darzustellen, werden die Bits aneinander gereiht. Üblich sind 4 Bit, 8 Bit, 16 Bit, 32 Bit oder 64 Bit. Auch die Darstellung von Buchstaben und arabischen Zahlen basiert daher auf Bits. Mit dem älteren 7 Bit Standard dafür konnten die Zeichen des Alphabets, Zahlen und einige Sonderzeichen ohne die Sonderzeichen verschiedener Sprachen (wie unsere ä, ö, ü oder ß) dargestellt werden. Das heutige Byte ist die Bezeichnung für 8 Bits aneinander gereiht und kann mit diesem um ein Bit erweiterten Umfang einen größeren Umfang an Zeichen darstellen einschließlich der Sonderzeichen verschiedener Sprachen.
Ein Computer, wie ihn die meisten heute kennen, kann nur Bits verarbeiten. Er besteht immer aus der eigentlichen Verarbeitungseinheit, dem Prozessor (CPU = Central Process Unit) zur Verarbeitung der Daten (Bits), dem Speicher, der die Daten (Bits) der CPU liefert und nach Bearbeitung wieder speichert, und verschiedenen Anschlüssen (I/O) zur Ein- und Ausgabe. Der Prozessor (CPU) ist meist das teuerste Teil eines Computers. Seine Arbeitsleistung hängt zum einen von der Bit-Breite ab, die er mit einem (Assembler)-Befehl bearbeiten kann - heutige moderne Computer haben 32-Bit oder sogar schon 64-Bit -, und von Frequenz der Befehlsarbeitung - heute bereits im Giga-Hertz-Bereich. Fahrzeug-Computer (etwas anderes ist ein Steuergerät nicht) haben meist noch 8-Bit oder 16-Bit, erst langsam werden für Steuergeräte jetzt auch 32-Bit CPUs verwendet.
Computer
Da oben behauptet wird, ein Fahrzeug-Steuergerät wäre nichts anderes als ein normaler Computer, gilt das Folgende für den bekannten Windows-Computer, ein Android Smartphone, einen PocketPC (als Beispiele) oder eben auch für das Fahrzeug-Steuergerät. Beim Einschalten der Spannung fährt der Computer hoch, er startet. Und zwar holt er sich die dazu notwendigen Befehle oder Anweisungen aus einem nicht flüchtigen Datenspeicher, dessen Daten auch bei abgeschalteter Spannung erhalten bleiben, oder dieser Speicher wird gegen Verlust der Daten mit einem kleinen Akku auf der Platine gestützt (Bios). Auf die verschiedenen Bezeichnungen oder Abkürzungen der Komponenten, die solche Daten speichern können (ROM, RAM, EPROM, EEPROM etc.) soll hier nicht näher eingegangen werden. Es könnte selbst die Kassette eines Tonband-Kassettenrecorders sein, falls jemand noch so etwas kennt (C64er Zeiten). Nach dem Start mit der Initialierung der Ein- und Ausgänge wird der Prozessor (CPU) mit weiteren Daten beschickt, den Programmen zur Ausführung der vorgesehen Aufgaben, beim Motor-Steuergerät also dem optimalen Lauf des Motors in seinen verschiedenen Lastzuständen vom Leerlauf bis zur Vollast.
Steuergerät
Gut, aber ein üblicher Computer hat eine Festplatte, einen Bildschirm, Maus und Tastatur sowie andere Dinge wie CD-ROM Laufwerk usw.
Und das Steuergerät im Fahrzeug?
All das wird beim Fahrzeug-Computer nicht benötigt. Die Programme sind so klein, daß sie nicht erst auf einer Festplatte gelagert werden müssen und erst bei Bedarf in den Arbeitsspeicher geladen werden. Bildschirm, Maus und Tastatur sind allenfalls für Anzeige einzelner Werte wie Drehzahl, Temperatur, Geschwindigkeit im Armaturenbrett im übertragenen Sinne vorhanden und vielleicht sind dort noch irgendwelche Tasten bedienbar zum Rücksetzen von Service-Intervallen oder dergleichen. Das Steuergerät hat aber - wie der normale Computer auch mit seinen Steckern - Ein- und Ausgabe-Kanäle für Daten. Die Eingaben kommen von den verschiedenen Sensoren für Lambda, Druck, Temperatur, Drehzahl usw. und die Ausgaben steuern z.B. die Zündung, die Einspritzventile und weitere Stellglieder. Außerdem gibt es einen Diagnosestecker für Eingaben und Ausgaben. In vielen modernen Fahrzeugen ist zudem nicht mehr nur ein Steuergerät vorhanden, sondern es können über 30 verschiedene Steuergeräte sein. Da die verschiedenen Steuergeräte oftmals auf die Daten der gleichen Sensoren zugreifen, verwendet man im Fahrzeug ein Datenbussystem, verbindet also die einzelnen Steuergeräte miteinander, ähnlich wie es vom Internet oder einem Computer-Netzwerk bekannt ist. An dieses Datenbussystem ist dann auch der Diagnosestecker angeschlossen. Damit es nicht zu einfach wird, kann es in einem Fahrzeug auch unterschiedliche Datenbussysteme geben, die über ein sogenanntes Gateway als Übersetzer zwischen den verschiedenen Datenbussystemen verbunden sind. Ein an den Diagnosestecker angeschlossener Diagnosetester verhält sich wie ein weiteres Steuergerät im Bussystem und ihm wird in der Regel eine dafür reservierte Knotennummer zugewiesen (F0 bis FD in den OBD-2 Normen).
Bits, Bytes und Hexadezimal
Und hier muß mal ein Einschub zur Maschinensprache erlaubt sein. Die oben genannten Knotennummern F0 bis FD sind eine hexadezimale Schreibweise. Der Prozessor verarbeitet zwar nur binäre Zeichen (Bits mit 0 oder 1), aber für den Programmierer ist es lästig, jedesmal für ein Byte mit 8 Bits z.B. 01101100 schreiben zu müssen. Auch die maschinennahe Programmiersprache Assembler ist schon lange aus der Mode gekommen. Für das Beispiel oben wird hexadezimal "6C" verwendet, was in dezimaler Schreibweise "108" entspricht oder in der ASCII Zeichensatz-Tabelle dem kleinen lateinischen "l" Buchstaben. Das ist insbesondere für den Anwender von Bedeutung, der sich näher mit den Daten der Steuergeräte beschäftigen möchte. Wird hierzu z.B. ein Terminal Programm verwendet anstatt einer fertigen Anwendung, die diese Übersetzungen in ein lesbares Format bereits macht, so erfolgt im Terminal die Eingabe und Ausgabe in hexadezimaler Schreibweise. Logdateien, die von einer fertigen Anwendung wie ScanMaster-ELM über eine Diagnosesitzung geschrieben werden können und die der Programmierer anfordert, wenn Ungereimtheiten auftreten, enthalten die Daten ebenfalls in hexadezimaler Schreibweise.
Und was sind diese verschiedenen Protokolle beim Auto?
Protokolle werden benötigt, um einen einheitlichen Datenstrom mit möglichst noch einer Fehlerkontrolle zu bewerkstelligen. Es geht also um die Übertragung der Daten nach einem festgelegten Schema. Ohne solche Festlegungen wäre z.B. auch dieser Text hier nur schlecht oder sogar gar nicht lesbar. Der übliche Computer hat dabei andere Protokolle als ein Fahrzeug-Steuergerät, obwohl das ja auch ein Computer ist. Um also einen handelsüblichen Computer mit den Steuergeräten eines Fahrzeugs verbinden zu können, muß ein Interface als Brücke zwischen den verschiedenen Welten (Protokollen) dazwischen geschaltet sein. Im Verlauf der Entwicklung der Fahrzeug-Elektronik wurden zudem verschiedene Protokolle für Steuergeräte verwendet. Das Interface sollte also tunlichst die Übersetzung aller Protokolle beherrschen. Das ist allerdings erst die halbe Miete, wenn auch ein entscheidender Punkt, um überhaupt einen normalen Computer mit den Steuergeräten des Fahrzeugs verbinden zu können. Die nächste Hürde ist die "Sprache", wenn man das mal so bezeichnen darf. Fragen Sie einen Chinesen auf deutsch nach der Uhrzeit, wird er erstmal Bahnhof verstehen, wenn er kein deutsch kann. So ist es mit dem Steuergerät auch. Schlimmer noch: Viele ältere Steuergeräte verstehen gar keine Sprache in dem Sinne und antworten (senden) einen bestimmten Wert z.B. für Drehzahl nur, wenn man die genaue Stelle in seinem Speicher abfragt. Diese genaue Stelle kann man sich als Strasse und Hausnummer in der "Speicherstadt" vorstellen. Man muß also diese Adresse kennen, die bei jedem Steuergerät anders sein kann. Das läßt sich nur vermeiden, wenn man hierzu eine Norm einführt, die für alle Steuergeräte gilt.
Eine Norm für alle Steuergeräte
Diese Norm wurde Anfang der 90ziger Jahre in den USA geschaffen und ab 1996 für praktisch alle Fahrzeuge in den USA für verbindlich erklärt. Ab 2000 wurde dann diese als OBD-2 bezeichnete Normung schrittweise für die verschiedenen Fahrzeugtypen von der EU übernommen, jedoch hier nur für Motorsteuergeräte. Andere Steuergeräte blieben außen vor, der Kampf um die sogenannte Freistellungsverordnung zwischen den Herstellern und Brüssel tobt bis zum heutigen Tag.
Was wird nun mit dieser Normung erreicht?
Wie oben geschildert, muß ein Programmierer einer Diagnose-Software eine bestimmte Speicheradresse in einem Steuergerät abfragen, um den verlangten Wert zu erhalten. Man nennt das daher auch physikalische Adressierung. Das Problem dabei ist für den Programmierer, der nicht selbst auch das Steuergerät entwickelt hat oder entsprechende Unterlagen hat, diese immer unterschiedlichen Speicheradressen zu kennen. Die Norm bestimmt jedoch, daß der verlangte Wert mit einer Funktion abgefragt werden kann, die für alle Steuergeräte gleich ist. Der Fachmann spricht hier von funktionaler Adressierung. Im Klartext bedeutet das, daß ein bestimmter Funktionsbefehl z.B. die Drehzahl abfragt und dieser Funktionsbefehl bei allen genormten Steuergeräten gleich ist. Das Steuergerät führt also eine Liste mit den genormten Funktionsbefehlen und den zugehöhrigen Speicheradressen. Erhält es einen Funktionsbefehl, schaut es in seiner Liste nach, ruft den Wert aus der in der Liste gefundenen Speicheradresse ab und versendet ihn.
Man kann sich etwas ähnliches bei einer Festplatte vielleicht vorstellen: Der Speicherbereich einer Festplatte ist eingeteilt in Zylinder und Sektoren, die bei der Formatierung der Platte festgelegt werden. Es wäre jetzt für den Anwender unmöglich zum Laden oder Speichern einer Datei die Zylinder- oder Sektornummer der Datei anzugeben. Das Betriebssystem führt vielmehr eine Liste, die aus diesen Speicheradress-Nummern und den Dateinamen besteht. Eine Datei kann sich zudem je nach ihrer Größe über mehrere Sektoren erstrecken, was in den verketteten Listen festgehalten ist.
Die Interessenlagen rund um die Wartung und Diagnose von Fahrzeugen sind nun sehr unterschiedlich, je nach dem auf welcher Seite man gerade steht.
- Die Fahrzeug-Hersteller sind bestrebt, ihre Fachhändler und Fachwerkstätten zu schützen.
- Die freie Werkstatt möchte und kann nicht für jede Marke ein teures Diagnosesystem kaufen.
- Diesen beiden ist aber auch nicht wohl dabei, wenn der Privatmann selbst Hand anlegen kann.
- Schließlich gibt es auch noch eine dritte Gruppe: Freie Programmierer, die teilweise jahrelang getüftelt haben und auf die harte Tour die Steuergeräte erforscht haben, um an die physikalische Adressierung zu kommen und eigene Diagnosesysteme für bestimmte Marken zu erstellen.
Diese Gruppen stehen also der Normung sehr skeptisch gegenüber und äußern das auch. Man muß sich daher nicht wundern, wenn abfällige Urteile über die OBD-2 Normung zu hören sind.
Die schleppende Durchsetzung des OBD-2 Standards
Nicht nur aus den oben genannten Gründen sondern auch aus anderen Gründen wurde dem Standard Schaden zugefügt. Wie aus der Übersichtsgrafik ersichtlich, zog sich die Einführung des Standards über 7 Jahre lang hin. Erst seit 2007 müssen alle Fahrzeugtypen diesen Standard haben. Darüber hinaus gab es von 1996 bis 2000 viele Fahrzeuge, die zwar schon den Normstecker hatten, aber noch kein OBD-2 fähiges Steuergerät. Grund war, daß für Exporte zwar die etwas teuereren OBD-2 Steuergeräte eingebaut werden mußten, für den hiesigen Markt aber weiterhin die alten Steuergeräte verwendet wurden und der Innenraum aus Kostengrüden mit den Normstecker gleich gestaltet wurde. Das trug erheblich zur Unsicherheit bei, ob ein Fahrzeug nun OBD-2 hat oder nicht.