Nehmen wir mal der geber ist zur nockenwelle 1:1 übersetzt was i.A. so ist. und der dreht mit halber Kurbelwellendrehzahl.
vielleicht besser wieder mal 2 weil wir rechnen ja mit Grad / Kurbelwellenumdrehung
Damit haben wir bei
Drehzahl Motor,Drehzahl Geber, Zeit pro Umdrehung, Zeit pro Grad
3000 U/min 1500 U/min 0,666ms 3,704 µs
6000 U/min 3000 U/min 0,333ms 1,852 µs
zünden wollen wir ja 10° vor OT oder vielleicht auch früher mit dynamischer Zündzeitpunktverstellung. Bei hohen Drehzahlen eher früher. Die 10° die wir einstellen sind ja statisch im Leerlauf.
wenn der Impuls vom Geber sagen wir mal 12° vor OT käme hätte man bei 6000 Umdrehungen genau 3,704µs Zeit bis zum Zündzeitpunkt 10 vor OT, bei beispielsweise 58° aber schon 89µs ( (58°-10°)*1,852 ).
Ich schätze mal viel schneller als 20MHz wird die ECU nicht haben. Vielleicht weniger weil ja schon etwas älter. Gibt ne Zykluszeit von 0,05µs. In den 3,7µs würde die CPU 74 Befehlsschritte abarbeiten können (nicht Befehle, die brauchen zum Teil mehrere Schritte wenn´s nicht grad eine RISC CPU ist). Viel zu wenig für die Vielzahl der zu berechnenden Sachen.
Im Detail wird das natürlich etwas anders gemacht, nicht alles wird bei jeder Umdrehung berechnet. Aber da kommen ja noch ein paar Sachen dazu, die Klopferkennung wirkt recht zeitnah auf die Zündzeitpunktverstellung (die nun wirklich bei jeder Umdrehung berechnet werden muß). Anfettung bei kaltem Motor zum Beispiel wird nicht laufend berechnet, da reichts ja wenn das schleichend über mehrere Umdrehungen passiert. Nagelt mich jetzt nicht auf die Zahlenwerte fest aber das Prinzip sollte klar sein.
Geändert von bitsnake (16.12.2005 um 11:49 Uhr).
|