DE102013215239A1 - Betriebssystem und Fahrzeugsteuergerät mit winkelsynchronem Raster für Programmaufrufe - Google Patents

Betriebssystem und Fahrzeugsteuergerät mit winkelsynchronem Raster für Programmaufrufe Download PDF

Info

Publication number
DE102013215239A1
DE102013215239A1 DE102013215239.6A DE102013215239A DE102013215239A1 DE 102013215239 A1 DE102013215239 A1 DE 102013215239A1 DE 102013215239 A DE102013215239 A DE 102013215239A DE 102013215239 A1 DE102013215239 A1 DE 102013215239A1
Authority
DE
Germany
Prior art keywords
operating system
angle
control unit
difference
vehicle control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102013215239.6A
Other languages
English (en)
Inventor
Ulrich-Michael Nefzer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102013215239.6A priority Critical patent/DE102013215239A1/de
Publication of DE102013215239A1 publication Critical patent/DE102013215239A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/009Electrical control of supply of combustible mixture or its constituents using means for generating position or synchronisation signals
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D2250/00Engine control related to specific problems or objectives
    • F02D2250/12Timing of calculation, i.e. specific timing aspects when calculation or updating of engine parameter is performed

Abstract

Die Erfindung betrifft ein Betriebssystem, das ein Fahrzeugsteuergerät veranlasst, den Ablauf von Anwenderprogrammen zur Steuerung oder Regelung von Betriebsabläufen eines Verbrennungsmotors zu kontrollieren, wenn es auf dem Fahrzeugsteuergerät ausgeführt wird, wobei das Betriebssystem eine elektronische Winkeluhr mit einem Winkelwert für die Anwenderprogramme bereitstellt, wobei der Winkelwert einer Winkeldrehstellung einer Antriebswelle des Verbrennungsmotors entspricht, wobei das Betriebssystem eine Winkeldifferenz-Aufruftabelle für die Anwenderprogramme bereitstellt, wobei wenigstens einem Anwenderprogramm eine Winkeldifferenz zugeordnet werden kann, so dass das Anwenderprogramm durch das Betriebssystem nach Verstreichen der Winkeldifferenz aufgerufen wird.

Description

  • Die vorliegende Erfindung betrifft ein Betriebssystem für ein Fahrzeugsteuergerät und ein Fahrzeugsteuergerät, auf dem ein solches Betriebssystem ausgeführt wird.
  • Stand der Technik
  • Die vorliegende Erfindung beschäftigt sich mit dem Betrieb von Recheneinheiten bzw. Steuergeräten zur Steuerung von Fahrzeugfunktionen. Wenngleich die Erfindung nachfolgend im Wesentlichen unter Bezugnahme auf Kraftfahrzeugsteuergeräte beschrieben wird, ist sie nicht auf diesen Einsatzzweck beschränkt, sondern bei allen Arten von Fahrzeugen (Land-, Wasser- oder Luftfahrzeug) verwendbar, die von einer Kraftmaschine mit einer rotierenden Antriebswelle angetrieben werden.
  • Bei Regelungs- oder Steuerungsaufgaben in einem Fahrzeug werden verschiedene Funktionen typischerweise mittels unterschiedlicher Vorrichtungen, welche jeweils den Funktionen individuell angepasste Steuereinheiten aufweisen, durchgeführt. Als Beispiele dafür seien Fahrwerksfunktionen steuernde Vorrichtungen für Antiblockiersystem, Antriebsschlupfregelung, Fahrdynamikregelung oder sonstige die Raddrehzahl beeinflussende, insbesondere die Fahrstabilität und/oder die Sicherheit erhöhende Systeme ebenso genannt wie Antriebs- oder Getriebesteuerung. Dabei werden entsprechend der jeweiligen Anwendung, also der durchzuführenden Steuerungs- oder Regelungsfunktionen, unterschiedliche Steuergeräte, wie Bremsensteuergerät, Motorsteuergerät oder Getriebesteuergerät eingesetzt, welche häufig über einen fahrzeuginternes Kommunikationssystem, insbesondere ein Bussystem wie CAN oder TTP/C, verbunden sind. Jedes Steuergerät verfügt dazu über ein Betriebssystem, das den Ablauf von einem oder mehreren Anwenderprogramme steuert.
  • Solche Betriebssysteme verwalten typischerweise asynchrone Ereignisse (Unterbrechungen, engl. Interrupts) und stellen für periodisch wiederkehrende Ereignisse eine Zeittabelle zur Verfügung. Alle Unterbrechungen werden in unterschiedlichen Tasks abgearbeitet. Je nach Priorität können sich die einzelnen Tasks gegenseitig unterbrechen. Die Zeittabelle wird vom Betriebssystem verwaltet und bezieht sich in der Regel auf einen Taktgeber des Prozessors (Timer) und die Tasks werden zyklisch aktiviert und abgearbeitet. Die Bearbeitung in einem rein zeitbasierten Betriebssystem ist berechenbar und ein System kann in der Regel so ausgelegt werden, dass sich eine Überlastsituation nicht ergibt.
  • Die Interrupts treten in der Regel nicht zyklisch oder sicher bestimmbar auf. Auslöser dieser Interrupts sind zum Beispiel die Beendigung einer Datenübertragung, das Erkennen eines Impulses an einer Leitung, ein Fehler eines Bausteins, etc. Eine Systemauslastung kann nicht sicher bestimmt werden, im ungünstigsten Fall kann es dazu kommen, dass bestimmte Aufgaben nicht mehr in der erwarteten Reaktionszeit abgearbeitet werden können. Dies kann insbesondere bei Fahrzeugen sicherheitsrelevant sein und soll deshalb vermieden werden.
  • Es ist daher wünschenswert, ein Fahrzeugsteuergerät so zu betreiben, dass Überlastsituationen nicht auftreten.
  • Offenbarung der Erfindung
  • Erfindungsgemäß werden ein Betriebssystem für ein Fahrzeugsteuergerät und ein Fahrzeugsteuergerät, auf dem ein solches Betriebssystem ausgeführt wird, mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
  • Vorteile der Erfindung
  • Im Rahmen der Erfindung wird ein Fahrzeugsteuergerät programmtechnisch so eingerichtet, dass es ein antriebswellenwinkelsynchrones (bei einem Kraftfahrzeug also KW-synchrones) Raster bereitstellt, das für winkelperiodisch wiederkehrende Ereignisse eine Aufruftabelle zur Verfügung stellt. Diese wird vom Steuergerät bzw. von dessen Betriebssystem verwaltet. Dazu wird zweckmäßigerweise ein weiterer Taktgeber (auch als Winkeluhr bekannt) synchron zur Antriebswellendrehzahl betrieben. Dieser Takt kann beispielsweise bei der Kurbelwelle eines Verbrennungsmotors aus dem Eingangssignal eines Kurbelwellengeberrads abgeleitet werden. Ausgehend vom eingehenden Signal wird dann eine Frequenzvervielfachung durchgeführt. Dieses aufbereitete Signal betreibt den Taktgeber, der damit winkelsynchron läuft. Analog zur bekannten Zeittabelle kann nun eine Winkeltabelle aufgesetzt werden.
  • Bei Verbrennungsmotoren ist eine Vielzahl der bisherigen asynchronen Ereignisse auf die Motor- bzw. Antriebswellenposition zurückzuführen. So werden Einspritzungen, Zündungen und drehzahlbasierte Funktionen immer an definierten Positionen bezogen zum oberen Totpunkt berechnet. Je nach Art der Anforderung und der Funktion kann es zwar möglich sein, diese Ereignisse auf wenige Interrupts pro Zylinder zu reduzieren. Durch steigende Anforderungen an die Genauigkeit einzelner Funktionen und durch neue Funktionalitäten wird es jedoch teilweise nötig, Ereignisse häufiger (oder seltener) und zu anderen Positionen auszulösen.
  • Die Erfindung ist relativ leicht implementierbar, da in herkömmlichen Fahrzeugsteuergeräten bereits ohnehin eine sog. Winkeluhr aus der Motorpositionserfassung (EPM – Engine Position Management) vorhanden ist. Insbesondere basierend auf der Winkeluhr kann das Betriebssystem eine Winkeltabelle bereitstellen.
  • Die Erfindung stellt nun auch für winkelsynchrone Ereignisse Betriebssystemaufrufe zur Verfügung, so dass ein Auslösen über Interrupts entfallen kann. Somit werden nun zeitsynchrone und winkelsynchrone Programmaufrufe vom Betriebssystem verwaltet, so dass auch eine Optimierung hinsichtlich Auslastung erfolgen kann. Es ist möglich, die maximale Auslastung des Systems als Funktion der Zeit und der Drehzahl zu bestimmen.
  • Je nach Systemauslegung und entsprechender Last in den unterschiedlichen Drehzahlbereichen kann anhand dieser zentralen Betrachtung und Kenntnis über die Aktivierungshäufigkeit und Laufzeiten der einzelnen Tasks die Systemauslegung optimiert werden. So können sich auch zur optimalen Systemauslegung die Prioritäten von Winkel- und Zeittabelle vermischen oder bei Multicore-Systemen die Aufteilung der Tasks auf die Prozessoren flexibel verteilt werden.
  • Das Steuergerät ist dazu eingerichtet, zeit- und winkelsynchrone Anwendungsprogramme so auszuführen, dass keine Überlastsituation auftritt. Insbesondere werden dabei Prioritäten der Anwendungsprogramme berücksichtigt, so dass Anwendungsprogramme mit höherer Priorität (d.h. wichtiger) nötigenfalls Anwendungsprogramme mit niedrigerer Priorität (d.h. weniger wichtig) unterbrechen können.
  • Weitere Vorteile bieten sich bei diesem System im Bereich der Periode. Winkelereignisse können mit einer Periode von 720°KW (Kurbelwelle) (ein Arbeitsspiel des Verbrennungsmotors) und ganzzahligen (geraden und/oder ungeraden) Teilungsfaktoren dargestellt werden. Bevorzugte Winkelraster sind insbesondere 720°KW, 360°KW, 270°KW, 180°KW, 120°KW, 90°KW, 60°KW, 45°KW, 30°KW, 6°KW und 1°KW. Zweckmäßigerweise sind bereits mehrere unterschiedliche Winkelraster fest implementiert. Daneben kann möglich sein, dass ein zusätzliches Winkelraster vom Programmierer vorgebbar ist.
  • Das Bereitstellen unterschiedlicher Winkelraster, insbesondere mit ungeraden Teilungsfaktoren, ist besonders vorteilhaft, wenn am Verbrennungsmotor Komponenten mit einem ungeraden Übersetzungsverhältnis angebaut werden. Dies kann beispielsweise für Hochdruckpumpen von Kraftstoffzumesssystemen der Fall sein. Auch solche Ereignisse müssen im Rahmen der Erfindung nicht mehr durch eigene Interrupts ausgelöst und dann in einer Interruptserviceroutine abgearbeitet werden.
  • Weiter vorzugsweise kann das Winkelraster von anderen Betriebsgrößen abhängig gemacht werden. Diese Ausgestaltung ist beispielsweise bei der Steuerung beweglicher Systeme (z.B. Nockenwellenregelung) vorteilhaft, wo die Nockenstellung die Betriebsgröße darstellt. Eine weitere vorteilhafte Betriebsgröße ist die Drehzahl, so dass Funktionen, die zwar winkelsynchron berechnet werden müssen, aber deren Aktivierungshäufigkeit von der Drehzahl abhängt (zum Beispiel wird die Einspritzmenge bei höheren Drehzahlen seltener berechnet als bei niedrigen Drehzahlen), optimal vom Steuergerät durchgeführt werden können. Dadurch kann die benötigte Rechenleistung für unterschiedliche Drehzahlbereiche bestimmt und optimiert werden
  • Diese Winkeluhr existiert in allen Motorsteuergeräten mit unterschiedlicher Auflösung. Unabhängig von dieser Auflösung werden nun die benötigen Perioden anstatt in ms in °KW angegeben. Während die Zeittabelle bei der Initialisierung des Motors gestartet wird, erfolgt das Starten der Winkeltabelle erst nach erfolgreich erkannter Positionserkennung des Motors. Sobald der Motor die Synchronisation verliert (Abstellen oder gestörtes Eingangssignal) wird auch die Abarbeitung der Winkeltabelle unterbrochen.
  • Auch die Implementierung der Erfindung in Form von Software (Betriebssystem) ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere Disketten, Festplatten, Flash-Speicher, EEPROMs, CD-ROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
  • Es versteht sich, dass die vorstehend genannten und die nachfolgend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
  • Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt schematisch eine Zeittabelle mit Programmaufrufen in einem Fahrzeugsteuergerät.
  • 2 zeigt schematisch eine Kombination aus Zeittabelle und Winkeltabelle mit Programmaufrufen in einem erfindungsgemäßen Fahrzeugsteuergerät.
  • 3 zeigt in einem Blockdiagramm eine bevorzugte Ausführungsform eines erfindungsgemäßen Fahrzeugsteuergeräts.
  • Ausführungsform(en) der Erfindung
  • In 1 ist schematisch dargestellt, wie in einem herkömmlichen Fahrzeugsteuergerät durch das Betriebssystem mehrere Zeitraster (auch als Abtastraten bezeichnet) bereitgestellt werden, die vom Anwender bzw. Programmierer für eigene Funktionsaufrufe genutzt werden können. In 1 sind ein 1 ms-, 5 ms- und 10 ms-Raster abgebildet. In diesen Rastern werden durch Blöcke dargestellte Funktionen bzw. Anwendungsprogramme vom Betriebssystem ausgeführt. Der Programmierer muss in diesem Fall lediglich das erwünschte Raster und eine Priorität vorgeben, die eigentliche Durchführung und ggf. Unterbrechung wird vom Betriebssystem selbst bewerkstelligt.
  • Die verschiedenen Abtastraten werden in der Regel durch ein Echtzeitbetriebssystem zur Verfügung gestellt. Die Prozesse werden prioritätsgesteuert abgearbeitet, wobei ein präemptiver Schedulingmechanismus dafür sorgt, dass Prozesse mit höherer Abtastrate oder höherer Priorität zeitnah verarbeitet werden.
  • In 1 sind im 1 ms-Raster T_1 ms Funktionen mit hoher Priorität, im 5 ms-Raster T_5 ms Funktionen mit mittlerer Priorität und im 10 ms-Raster T_10 ms Funktionen mit niedriger Priorität vorhanden. Dem Betriebssystem sind weiterhin die notwendigen Laufzeiten der Funktionen (dargestellt durch die Breite der Blöcke) bekannt, so dass das Betriebssystem die Funktionen so aufrufen kann, dass möglichst wenig Unterbrechungen stattfinden. Insbesondere können die Funktionen des 5 ms-Rasters zwischen den Funktionen des 1 ms-Raster ohne Unterbrechung ausgeführt werden. Jedoch müssen die Funktionen des 10 ms-Rasters jeweils einmalig (durch den vertikalen Pfeil angedeutet) von der Funktion des 1 ms-Rasters unterbrochen werden.
  • In dem hochfrequenten 1 ms-Raster erfolgt bei der Steuerung eines Verbrennungsmotors die Erfassung, Digitalisierung und Vorverarbeitung von Prozessgrößen (wie zum Beispiel die angesaugte Luftmenge oder der Pumpenstrom der Lambdasonde, welcher der Bestimmung des Gemischverhältnisses dient), um den langsameren Rastern (zum Beispiel Regelungen) stets zeitnahe Messwerte zu liefern. Auch der Drosselklappenlageregler wird in diesem Raster berechnet.
  • Die Berechnung der notwendigen Luftmenge im Zylinder für den aktuell geforderten Arbeitspunkt, die letztendlich ausschlaggebend für die Momentengenerierung an der Kurbelwelle ist, oder die Ermittlung des Sollwertes für die Drosselklappenlageregelung, werden im 10 ms-Raster gerechnet. Dieses Raster nimmt im Steuergerät einen hohen Stellenwert hinsichtlich der Gesamtrechenzeit ein.
  • Einige Funktionen (zum Beispiel Diagnosefunktionen oder die Temperaturmodellierung) sind für die Momentenregelung nicht von entscheidender Bedeutung und erfordern daher keine hohen Abtastraten. Sie können in höheren Abtastrastern, wie z.B. 100 ms-Raster aufgerufen werden.
  • Oberhalb der Zeittabelle sind asynchrone, durch Interrupts ausgelöste Funktionsaufrufe dargestellt und mit I bezeichnet. Diese haben üblicherweise eine höhere Priorität als zeitsynchron aufgerufene Funktionen, so dass sie diese nötigenfalls unterbrechen. Herkömmlicherweise können hier auch die Funktionsauf-rufe implementiert werden, die winkelsynchron ablaufen sollen, wie z.B. die Größen des Zündwinkelpfades.
  • Zusätzlich zu den bereits unter Bezugnahme auf 1 beschriebenen Elementen ist in 2 auch eine Winkeltabelle mit unterschiedlichen Winkelrastern dargestellt, wie sie in einer Ausführungsform eines erfindungsgemäßen Steuergeräts bereitgestellt sind. In 2 sind Aufrufe in einem 90°-Raster Phi_90 und in einem 45°-Raster Phi_45 dargestellt. Wiederum ist das Steuergerät dazu eingerichtet, eine Task mit niedrigerer Priorität durch eine Task mit höherer Priorität zu unterbrechen. Das Winkelraster wird vom Steuergerät unter Verwendung der steuergeräteeigenen Winkeluhr bereitgestellt.
  • Am Beispiel eines 4-Zylinder-Motors mit einem 60-2-Kurbelwellengeberrad (Zahnrad mit 58 Zähnen in einem Abstand von 6°) soll das Winkelraster nun erläutert werden.
  • Im 1°-Raster sind winkelsynchrone Abtastungen für eine Zylinderdruckerfassung möglich (ohne Überabtastung). Durch die hinterlegte Winkeluhr ist eine Aktivierung im 1°-Raster überhaupt erst möglich, da das Rohsignal (Zahnflankensignal) nur alle 6° eine Information enthält.
  • Im 6°-Raster, welches zahnsynchron zum Kurbelwellensignal ist, können Systeme gerechnet werden, die sich auf das Kurbelwellensignal beziehen. Dies sind in der Regel Funktionen, die das Verhalten der Winkeluhr beeinflussen. Da die Winkeluhr höher aufgelöst wird als das Eingangssignal, handelt es sich immer um eine Interpolation des Signals. Im 6°-Raster können nun Fehler aus dem vergangen Zahn korrigiert und Optimierungen für den nächsten Zahn vorgegeben werden.
  • Ein 45°-Raster eignet sich für Regelungen, die je Zylinder viermal je Arbeitsspiel aufgerufen werden sollen. Dazu gehören beispielsweise drehzahlbasierte Funktionen wie Aussetzererkennungen oder Analysefunktionen, mit denen das erfasste Signal zur Laufzeit analysiert wird.
  • Ein 90°-Raster eignet sich für die Momentenberechnung, für Einspritzfreigaben und für eine Positionsberechnung von Einspritzungen. Weiterhin eignet sich dieses Raster für Regelungen, die je Takt zweimal aufgerufen werden sollen. Dazu gehören beispielsweise Positionsberechnungen der Einspritzungen. Bei der ersten Aktivierung werden die Lagen der Voreinspritzungen berechnet, bei der zweiten Aktivierung die Lagen der Haupt- und Nacheinspritzungen.
  • Ein 180°-Raster ist OT-synchron. Es eignet sich für Berechnungen, die pro Zylinder nur einmal je Arbeitsspiel aufgerufen werden müssen. Dazu gehören beispielsweise Lernfunktionen zum genauen Bestimmen der OT-Lage.
  • Ein 720°-Raster eignet sich für Berechnungen, die nur einmal pro Arbeitsspiel aufgerufen werden müssen, wie z.B. Diagnosen.
  • Im Steuergerät können die unterschiedlichen Winkelraster gemäß nachfolgend beschriebener bevorzugter Ausgestaltung implementiert werden. Herkömmliche Mikroprozessoren weisen mehrere Taktgeber (Timer bzw. Timerunits) auf. Meist sind mehrere Timer mit unterschiedlichen Funktionen im Prozessor vorhanden. Über Register wird die Taktrate der Timer, also die Zeiteinheit pro Bit, eingestellt und das zugehörige Timer-Register mit einem Ziel-Zählerwert vorbelegt. Nach dem Start des Timers wird, je nach Einstellung, zu jedem Takt ein Zählerwert um "1" inkrementiert oder dekrementiert. Beim Erreichen des eingestellten Zählerstandes können unterschiedliche Aktionen ausgeführt werden. Man kann z.B. einen periodischen Ablauf von Software-Routinen durch Einsatz eines sogenannten Programmable Interrupt Timers (PIT) erzwingen. Hierbei wird bei jedem Erreichen des Ziel-Zählerwertes ein interner Interrupt (siehe unten) ausgelöst, der einen vordefinierten Programmteil startet.
  • Für die Erfindung wird das Ereignis "Auslösen eines Interrupts" verwendet. Zweckmäßigerweise wird ein Timer mit der höchsten Abtastrate programmiert (in den Beispielen also im 1°-Raster). Weiterhin werden für alle anderen Winkelraster Zähler zur Verfügung gestellt, deren Initialwert dem Abtastwinkel entspricht. Mit jeder Aktivierung des Interrupts werden die Zähler um jeweils 1 dekrementiert. Erreicht ein Zähler den Wert 0, wird der entsprechende Programmteil (Task) ausgelöst und der Zählerwert wieder auf seinen Initialwert gestellt. Da in diesem Fall mehrere oder alle 720°-, 360°-, 180°-, 90°-, 6°- und 1°-Tasks von Zeit zu Zeit zusammenfallen, wird vorzugsweise bei einer erstmaligen Aktivierung ein Offset addiert, um einen Winkelversatz zu implementieren. So kann zum Beispiel die 90°-Task 3° später gestartet werden als die 6°-Task. In diesem Fall werden diese beiden Tasks nie zeitgleich aktiviert und eine bessere Systemauslastung kann erreicht werden. Dies gilt analog für die anderen Tasks.
  • Nachdem das Betriebssystem bestimmt hat, welche Tasks zum aktuellen Zeitpunkt zu aktivieren sind, beginnt die eigentliche Aktivierung der winkelsynchronen Tasks. Die Aktivierung erfolgt vorzugsweise anhand vergebener Prioritäten (höchste Abtastrate – höchste Priorität). Wurde die entsprechende Task abgearbeitet, aktiviert das Betriebssystem die Abarbeitung der nächst niederprioren Task. Dies geschieht solange, bis alle Tasks abgearbeitet wurden. Während der Abarbeitung kann es zu einer weiteren Anforderung kommen, neue Tasks werden ggf. aktiviert. In dem Fall werden die neuen hochprioren Tasks, die noch nicht vollständig abgearbeiteten niederprioren Tasks unterbrechen und entsprechend verzögern.
  • Die Erfindung führt dazu, dass ein Programmierer keine eigenen Timerinterrupts mehr in der Hardware programmieren muss. Er muss jetzt nur noch seine eigentliche Funktionalität programmieren und muss keine Kenntnis mehr über die speziellen Prozessoreigenschaften und vor allem Timerunits haben. Die Verwaltung erfolgt über das Betriebssystem.
  • In 3 ist eine bevorzugte Ausführungsform eines erfindungsgemäßen Fahrzeugsteuergeräts 100 eines Verbrennungsmotors 200 als Blockschaltbild dargestellt. Der Verbrennungsmotor weist eine rotierende Kurbelwelle 201 mit einem daran angebrachten Geberrad 202 auf, welches von einem Sensor 203 abgetastet wird. Ein typisches Geberrad 202 kann 60-2 Zähne aufweisen, die in einem Abstand von 6° angeordnet sind, wobei eine Lücke von zwei Zähnen besteht, um eine Absolutposition der Kurbelwelle zu kennzeichnen. Das auf diese Weise erfasste Rechtecksignal wird einer Schnittstelle I/O des Steuergeräts 100 zugeführt.
  • In dem Steuergerät ist ein Mikroprozessor bzw. Mikrocontroller CPU vorhanden, der über einen Datenverbindung BUS mit anderen Komponenten des Steuergeräts, wie z. B. einem Arbeitsspeicher RAM, einem Festspeicher ROM und der Schnittstelleneinheit I/O verbunden ist.
  • Der Mikroprozessor CPU weist hier beispielsweise zwei Timereinheiten TIMER0 und TIMER1 auf, an die mehrere Timerzellen LTC angeschlossen sind. Insbesondere werden hier Timerwerte definiert, die zu einer Funktionalitätsauslösung, wie z.B. einer Interrupt-Auslösung, verwendet werden können. Timereinheiten mit Timerzellen sind im Stand der Technik bekannt. Hinsichtlich einer möglichen Ausgestaltung von Timereinheiten wird auf die WO 2009/040179 A2 verwiesen.
  • Das Steuergerät 100 bzw. das Betriebssystem ist programmtechnisch dazu eingerichtet, den Takt eines Timers, beispielsweise des TIMER0, auf Grundlage des empfangenen Messsignals des Sensors 203, welches einer Drehzahl der Kurbelwelle 201 entspricht, so zu modifizieren, dass der Timer proportional zur Drehzahl zählt und somit eine Winkeluhr darstellt. Diese Funktionsweise ist im Stand der Technik bei Motorsteuergeräten grundsätzlich bekannt.
  • Im Rahmen der Erfindung wird nun insbesondere eine Timerzelle von LTC mit einem kleinsten Winkelraster, hier beispielsweise 1°, in Abhängigkeit von der Winkeluhr betrieben, so dass winkelsynchron, hier bei 1°-Schritten, Interrupts ausgelöst werden. Diese Interrupts werden dann, wie oben beschrieben, für den weiteren Betrieb des Steuergeräts verwendet. Andere Winkelraster können in anderen der Timerzellen LTC programmiert werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • WO 2009/040179 A2 [0046]

Claims (9)

  1. Betriebssystem, das ein Fahrzeugsteuergerät (100) veranlasst, den Ablauf von Anwenderprogrammen zur Steuerung oder Regelung von Betriebsabläufen eines Verbrennungsmotors (200) zu kontrollieren, wenn es auf dem Fahrzeugsteuergerät (100) ausgeführt wird, wobei das Betriebssystem eine elektronische Winkeluhr mit einem Winkelwert für die Anwenderprogramme bereitstellt, wobei der Winkelwert einer Winkeldrehstellung einer Antriebswelle (201) des Verbrennungsmotors (200) entspricht, wobei das Betriebssystem eine Winkeldifferenz-Aufruftabelle für die Anwenderprogramme bereitstellt, wobei wenigstens einem Anwenderprogramm eine Winkeldifferenz zugeordnet werden kann, so dass das Anwenderprogramm durch das Betriebssystem nach Verstreichen der Winkeldifferenz aufgerufen wird.
  2. Betriebssystem nach Anspruch 1, wobei dem wenigstens einen Anwenderprogramm eine von mehreren vorgegebenen Winkeldifferenzen zugeordnet werden kann.
  3. Betriebssystem nach Anspruch 2, wobei die mehreren vorgegebenen Winkeldifferenzen wenigstens zwei Winkeldifferenzen umfassen aus der Gruppe aus 720°, 360°, 270°, 180°, 120°, 90°, 60°, 45°, 30°, 6° und 1°.
  4. Betriebssystem nach einem der vorsehenden Ansprüche, wobei dem wenigstens einen Anwenderprogramm eine extern vorgebbare Winkeldifferenz zugeordnet werden kann.
  5. Betriebssystem nach einem der vorsehenden Ansprüche, das mehrere den Winkeldifferenzen zugeordnete Anwenderprogramm nach Verstreichen der Winkeldifferenz so aufruft, dass dadurch eine Belastungsschwelle des das Betriebssystem ausführenden Steuergeräts (100) nicht überschritten wird.
  6. Betriebssystem nach einem der vorsehenden Ansprüche, das eine Zeitdifferenz-Aufruftabelle für die Anwenderprogramme bereitstellt, wobei wenigstens einem Anwenderprogramm eine Zeitdifferenz zugeordnet werden kann, so dass das Anwenderprogramm durch das Betriebssystem nach Verstreichen der Zeitdifferenz aufgerufen wird.
  7. Betriebssystem nach Anspruch 6, das das wenigstens eine einer Winkeldifferenz zugeordnete Anwenderprogramm nach Verstreichen der Winkeldifferenz und das das wenigstens eine einer Zeitdifferenz zugeordnete Anwenderprogramm nach Verstreichen der Zeitdifferenz so aufruft, dass dadurch eine Belastungsschwelle des das Betriebssystem ausführenden Steuergeräts (100) nicht überschritten wird.
  8. Fahrzeugsteuergerät (100), auf dem ein Betriebssystem nach einem der vorstehenden Ansprüche ausgeführt wird.
  9. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Betriebssystem nach einem der Ansprüche 1 bis 7.
DE102013215239.6A 2013-08-02 2013-08-02 Betriebssystem und Fahrzeugsteuergerät mit winkelsynchronem Raster für Programmaufrufe Withdrawn DE102013215239A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102013215239.6A DE102013215239A1 (de) 2013-08-02 2013-08-02 Betriebssystem und Fahrzeugsteuergerät mit winkelsynchronem Raster für Programmaufrufe

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102013215239.6A DE102013215239A1 (de) 2013-08-02 2013-08-02 Betriebssystem und Fahrzeugsteuergerät mit winkelsynchronem Raster für Programmaufrufe

Publications (1)

Publication Number Publication Date
DE102013215239A1 true DE102013215239A1 (de) 2015-02-05

Family

ID=52341965

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013215239.6A Withdrawn DE102013215239A1 (de) 2013-08-02 2013-08-02 Betriebssystem und Fahrzeugsteuergerät mit winkelsynchronem Raster für Programmaufrufe

Country Status (1)

Country Link
DE (1) DE102013215239A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009040179A2 (de) 2007-09-20 2009-04-02 Robert Bosch Gmbh Schaltungsanordnung zur signalaufnahme und -erzeugung sowie verfahren zum betreiben dieser schaltungsanordnung

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009040179A2 (de) 2007-09-20 2009-04-02 Robert Bosch Gmbh Schaltungsanordnung zur signalaufnahme und -erzeugung sowie verfahren zum betreiben dieser schaltungsanordnung

Similar Documents

Publication Publication Date Title
EP0483166B1 (de) Sequentielles kraftstoffeinspritzverfahren
DE4141714A1 (de) Steuersystem fuer eine brennkraftmaschine
DE102010043989B4 (de) Adaptionsverfahren eines Injektors einer Brennkraftmaschine
DE102010038351B4 (de) Verfahren und Vorrichtung zum Betreiben eines hybriden Antriebssystems
EP0755483B1 (de) System zur steuerung einer brennkraftmaschine
DE3144638A1 (de) Einrichtung zum steuern der brennstoff-zufuhr zu einem brennkraftmotor
EP0097826B1 (de) Verfahren zur Steuerung eines Mikrorechners
DE10104273B4 (de) Impulse verschiedener Frequenzen verwendende Kraftmaschinen-Steuereinheit
DE10102348B4 (de) Motorsteuerungseinheit mit Frequenzvervielfachungssignalerzeugungsfunktion
DE102013202774A1 (de) Vorrichtung, Verfahren und System zum Steuern eines Prozessors
EP0647290A1 (de) Maschinensteuerverfahren mit ersatzfunktion für ein fehlerhaftes wellenwinkelsignal
DE102010003532A1 (de) Timermodul und Verfahren zur Überprüfung eines Ausgangssignals
EP1005609B1 (de) Verfahren zur steuerung der abgasrückführung bei einer brennkraftmaschine
EP1165962A1 (de) Zündsteuervorrichtung und -verfahren
DE3012424C2 (de) Kraftstoffeinspritzsteuereinrichtung für eine Brennkraftmaschine
DE102013217031A1 (de) Steuerungsvorrichtung für eine Verbrennungskraftmaschine
DE102013215239A1 (de) Betriebssystem und Fahrzeugsteuergerät mit winkelsynchronem Raster für Programmaufrufe
EP1313947A1 (de) Verfahren zum betreiben einer brennkraftmaschine und entsprechende vorrichtung
EP1914414A2 (de) Einspritzsystem und Verfahren zum Betreiben eines Einspritzsystems
DE102009035181B4 (de) Motorsteuervorrichtung
EP2387660B1 (de) Verfahren zum durchführen einer anzahl einspritzungen
DE102008001068A1 (de) Verfahren und Steuergerät zum Betreiben einer Kraftstoffeinspritzanlage
DE102019214144A1 (de) Verfahren zur Steuerung des Auslaufverhaltens einer Brennkraftmaschine
DE102015218774B4 (de) Elektronische Steuervorrichtung
EP1751630B1 (de) Mikrocontrollersystem und betriebsverfahren dafür

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee