-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung betrifft ein Verfahren zur Steuerung eines Bremssystems eines Kraftfahrzeugs, insbesondere eines ABS enthaltenden Bremssystems. Die vorliegende Erfindung betrifft ferner ein Bremssystem.
-
TECHNISCHER HINTERGRUND
-
Die vorliegende Erfindung befindet sich im Umfeld der Bremssysteme in einem Kraftfahrzeug. Bei modernen Kraftfahrzeugen sind diese Bremssysteme Bestandteil mehr oder weniger komplexer Kraftfahrzeugregelungs- und Assistenzsysteme, welche den Fahrer in verschiedenen Fahrsituationen unterstützen sollen. Derartige Kraftfahrzeugregelungssysteme vereinen typischerweise mehrere Funktionen, wie etwa Antiblockierschutz (ABS), Anfahrschlupfregelung (ASR), Fahrstabilitätsregelung (ESP), Bremsassistent und dergleichen.
-
Zur Steuerung dieser Funktionen ist ein Steuergerät vorgesehen, welches entsprechend einem vorgegebenen Programmablauf und nach Maßgabe von Sensorinformationen die einzelnen Funktionen und Systemkomponenten steuert. Im Falle eines Bremssystems erfolgt die Steuerung in entsprechenden Programmschleifen oder Loops, die innerhalb des Programmablaufs zyklisch nacheinander ausgeführt werden. Diese Programmschleifen haben typischerweise einen fest vorgegebenen Rahmen. Der Programmablauf sieht vor, dass zu Beginn einer Programmschleife Sensorinformationen eingelesen, ausgewertet und weiterverarbeitet werden, um daraus die entsprechenden Steuerinformationen zur Steuerung des Bremssystems zu generieren. Diese Steuerinformationen, beispielsweise die Ansteuerung der Bremsaktuatoren, stehen somit zu Beginn der nachfolgenden Programmschleife zur Verfügung. Die Dauer einer solchen Programmschleife ist fest vorgegeben und derart gewählt, dass einerseits eine ausreichende Dynamik insbesondere für sicherheitskritische Funktionen vorhanden ist. Andererseits sollen innerhalb der Programmschleife möglichst viele unterschiedliche Funktionen ausgeführt werden.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Vor diesem Hintergrund liegt der vorliegenden Erfindung die Aufgabe zugrunde, eine verbesserte Steuerung eines Bremssystems zu ermöglichen.
-
Erfindungsgemäß wird diese Aufgabe durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 und/oder durch ein Bremssystem mit den Merkmalen des Patentanspruches 16 gelöst.
-
Demgemäß ist vorgesehen:
-
- – Ein Verfahren zur Steuerung eines Bremssystems eines Kraftfahrzeugs, insbesondere eines ABS enthaltenden Bremssystems, bei dem für die Steuerung des Bremssystems eine erste Funktionstask und zumindest eine zweite Funktionstask vorgesehen sind, die innerhalb einer Programmschleife vorgegebener Zyklusdauer derart integriert sind, dass sequentiell innerhalb derselben Programmschleife die zweite Funktionstask einmal und die erste Funktionstask mindestens zweimal durchlaufen wird.
- – Ein Bremssystem in oder für ein Kraftfahrzeug, mit einer Messeinrichtung, welche dazu ausgebildet ist, Sensorinformationen bereitzustellen und mit einer Steuereinrichtung, welche dazu ausgebildet ist, das Bremssystem unter Verwendung eines erfindungsgemäßen Verfahrens zu steuern.
-
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass zur Steuerung eines Bremssystems Funktionen mit unterschiedlichen zeitlichen Anforderungen existieren, d.h. es existieren eher zeitkritische und weniger zeitkritische Funktionen. Bei den zeitkritischeren Funktionen besteht der Bedarf, dass sie in möglichst kurzen Zeitintervallen abgearbeitet werden. Bei den demgegenüber weniger zeitkritischen Funktionen reicht es aus, wenn diese irgendwann und auch nur einmal innerhalb einer vorgegebenen Zeitdauer abgearbeitet werden. Eine weitere Erkenntnis der vorliegenden Erfindung besteht darin, dass eine echtzeit- und prioritätsgesteuerte und damit quasi-parallele Abarbeitung von Funktionstasks aufgrund der notwendigen Datenkonsistenz schwierig zu handhaben ist.
-
Vor diesem Hintergrund ist es eine Idee der vorliegenden Erfindung, unterschiedliche Zykluszeiten für unterschiedliche Funktionen bereitzustellen. Hierzu werden für Funktionstasks mit unterschiedlichen zeitlichen Anforderungen die zweite Funktionstask innerhalb der Programmschleife einmal und die andere Funktionstask innerhalb der Programmschleife mindestens zweimal abgearbeitet, wobei diese Abarbeitung vorzugsweise in einer starren Aufrufreihenfolge erfolgt. Die erste Funktionstask umfasst dabei die zeitkritischere Funktion und die zweite Funktionstask umfasst die demgegenüber weniger zeitkritischere Funktion. Dabei ist sicherzustellen, dass die erste Abarbeitung der ersten Funktionstask innerhalb einer vorgegebenen Zeit abgeschlossen wird und die Abarbeitung der ersten Funktionstask nicht zu früh begonnen wird.
-
Im Falle von zwei Funktionstasks, bei denen die ersten Funktionstask z.B. mit der halben Zykluszeit der zweiten Funktionstask abgearbeitet werden soll, bedeutet dies, dass die beiden Funktionstasks so innerhalb der Programmschleife zu platzieren sind,
- – dass die zweite (weniger zeitkritische) Funktionstask einmal und die erste (zeitkritische) Funktionstask zweimal durchlaufen wird,
- – dass eine erste Abarbeitung der ersten Funktionstask innerhalb einer ersten halben Zykluszeit abgeschlossen wird und
- – dass eine nachfolgende zweite Abarbeitung der ersten Funktionstask nicht vor Ablauf der ersten halben Zykluszeit gestartet wird.
-
Die Funktionstasks laufen dabei sequentiell in einer festen Aufrufreihenfolge ab. Dadurch kann Datenkonsistenz zwischen diesen Funktionstasks in einfacher Weise sichergestellt werden. Zudem hat dies den Vorteil, dass bei dem zweiten Ausführen der ersten Funktionstask innerhalb derselben Programmschleife Ergebnisse, die im Rahmen der Ausführung der zweiten Funktionstask gewonnen werden, mitberücksichtigt werden.
-
Unter einer Funktionstask ist im Kontext der vorliegenden Patentanmeldung eine Funktion mit unterschiedlichen Zykluszeiten zu verstehen. D.h. unter einer Funktionstask ist jedenfalls keine Prozessortask zu verstehen, da ein wesentlicher Aspekt der vorliegenden Erfindung gerade darin besteht, Funktionen oder Funktionalitäten in derselben Prozessortask ablaufen zu lassen.
-
Vorteilhafte Ausgestaltungen und Weiterbildungen ergeben sich aus den weiteren Unteransprüchen sowie aus der Beschreibung unter Bezugnahme auf die Figuren der Zeichnung.
-
Typischerweise umfasst ein Programmablauf eine zyklisch unmittelbar aufeinanderfolgende Abfolge von Programmschleifen mit vorgegebener, identischer Zyklusdauer. Dabei ist jede Programmschleife in mindestens zwei Abschnitte unterteilt, vorzugsweise in zwei gleich große Abschnitte. Zu Beginn eines jeweiligen Abschnitts werden zumindest für die erste Funktionstask aktualisierte Sensorinformationen bereitgestellt. Vorzugsweise werden zu Beginn einer Programmschleife auch Sensorinformationen für die zweite Funktionstask bereitgestellt.
-
In einer bevorzugten Ausgestaltung erfolgt das sequenzielle Ausführen der ersten und zweiten Funktionstasks innerhalb einer jeweiligen Programmschleife dadurch, dass auf der Basis der ermittelten Sensorinformationen zunächst die erste Funktionstask und anschließend die zweite Funktionstask ausgeführt werden. Anschließend wird auf der Basis von aktualisierten Sensorinformationen und der aus der Ausführung der zweiten Funktionstask ermittelten Ergebnisse die erste Funktionstask erneut ausgeführt. Damit wird sichergestellt, dass die erste Funktionstask innerhalb einer jeweiligen Programmschleife stets aktualisierte Informationen, dabei insbesondere aktualisierte Sensorinformationen sowie die Ergebnisse aus der Ausführung der zweiten Funktionstask, erhält.
-
Die Sensorinformationen können Radinformationen, wie etwa Informationen des Bremsdrucks, der Radgeschwindigkeit, etc., enthalten. Zusätzlich oder alternativ können die Sensorinformationen auch Steuerinformationen, beispielsweise des Steuergerätes, Stellinformationen, welche aus der Stellung des Bremspedals abgeleitet werden, Stellinformationen, welche aus der aktuellen Position des Bremsaktuators abgeleitet werden, etc., sein. Darüber hinaus können auch andere Informationen, beispielsweise von anderen Assistenzsystemen, wie etwa dem Bremsassistent, der Antischlupfregelung und dergleichen, als Eingangsdaten verwendet werden.
-
In einer besonders bevorzugten Ausgestaltung umfasst die erste Funktionstask eine ABS-Funktion. Zusätzlich oder alternativ beinhaltet die zweite Funktionstask eine ESP-Funktion, eine ACC-Funktion und/oder eine TCS-Funktion. TCS (Traction Control System) bezeichnet dabei die Antischlupfregelung, ACC (Adaptive Cruise Control) bezeichnet einen Abstandsregeltempomat. Unter ESP (Electronic Stability Control) ist ein elektronisches Stabilitätsprogramm für Kraftfahrzeuge bezeichnet, welches u.a. der Fahrdynamikregelung dient. Es handelt sich dabei um die aktive Beeinflussung des Gierwinkels bzw. der Gierwinkelgeschwindigkeit von Kraftfahrzeugen. Mit einem ESP-System kann man also die Räder eines Kraftfahrzeuges zusätzlich lenken, indem man die Antriebsmomente gezielt verteilt.
-
Eine typische Ausgestaltung sieht vor, dass die Dauer einer Programmschleife 10 msec beträgt. Vorzugsweise weist diese Programmschleife zwei gleich große Abschnitte mit einer Dauer von jeweils 5 msec auf. Denkbar wäre auch, je nach Herstellervorgabe und Anforderungen der Funktionstasks, längere oder kürzere Programmschleifen bzw. unterschiedliche Partitionierungen der Abschnitte innerhalb einer Programmschleife zu verwenden.
-
In einer besonders bevorzugten Ausgestaltung ist die Dauer, die für das sequenzielle Ausführen sämtlicher Funktionstasks innerhalb einer Programmschleife erforderlich ist, also für das Ausführen der ersten Funktionstask, für das anschließende Ausführen der zweiten Funktionstask und für das abschließende nochmalige Ausführen der ersten Funktionstask, geringer als die gesamte Dauer der jeweiligen Programmschleife. Damit wird gewährleistet, dass sämtliche Funktionstasks und dabei insbesondere zweimal die erste Funktionstask innerhalb derselben Programmschleife vollständig ausgeführt werden.
-
Typischerweise ist die Dauer, die für das Ausführen der ersten Funktionstask erforderlich ist, geringer als die Dauer des kürzesten Abschnitts einer Programmschleife. Damit wird gewährleistet, dass die erste Funktionstask stets vollständig innerhalb eines jeweiligen Abschnitts der Programmschleife ausgeführt wird, sodass diese erste Funktionstask auch zumindest zweimal innerhalb einer Programmschleife vollständig ausgeführt werden kann. Dabei beginnt und endet eine jeweilige erste Funktionstask stets innerhalb desselben Abschnitts einer Programmschleife, d.h. eine erste Funktionstask endet immer in demselben Abschnitt einer Programmschleife, in welchem sie begonnen hat. Damit bleibt für das Ausführen einer nachfolgenden ersten Funktionstask in einem nachfolgenden Abschnitt immer ausreichend Zeit.
-
In einer Ausgestaltung beginnt die zweite Funktionstask in dem ersten Abschnitt einer Programmschleife und endet auch dort. Nachdem somit die Ergebnisse der zweiten Funktionstask noch innerhalb des ersten Abschnitts vorhanden sind, können diese Ergebnisse für das Ausführen der nachfolgenden ersten Funktionstask mitverwendet werden und stehen also zu Beginn des nachfolgenden, zweiten Abschnitts innerhalb derselben Programmschleife zur Verfügung. Alternativ wäre aber auch denkbar, dass die zweite Funktionstask in dem ersten Abschnitt einer Programmschleife beginnt und erst in einem nachfolgenden, z.B. zweiten Abschnitt derselben Programmschleife endet.
-
In einer besonders bevorzugten Ausgestaltung ist die Dauer (bzw. Zykluszeit) einer Programmschleife ein ganzzahliges Vielfaches der Dauer des ersten Abschnitts und/oder zweiten Abschnitts.
-
In einer bevorzugten Ausgestaltung umfasst die erste und zweite Funktionstask mehrere Unterfunktionen. Innerhalb desselben Abschnitts einer Programschleife wird dabei zwischen den Unterfunktionen der ersten und zweiten Funktionstask gewechselt.
-
In einer bevorzugten Ausgestaltung werden die im Rahmen des Ausführens der ersten Funktionstask gewonnenen Ergebnisse unmittelbar nach Ablauf eines jeweiligen Abschnitts ausgegeben. Zusätzlich oder alternativ wäre denkbar, dass diese Ergebnisse für einen nachfolgenden Abschnitt derselben oder einer nachfolgenden Programmschleife bereitgestellt werden.
-
Eine weitere Ausgestaltung der Erfindung sieht vor, dass die im Rahmen des Ausführens der zweiten Funktionstask gewonnenen Ergebnisse unmittelbar nach Ablauf der jeweiligen Programmschleife ausgegeben werden und/oder für eine nachfolgende Programmschleife bereitgestellt werden. Zusätzlich wäre auch denkbar, dass diese Ergebnisse der zweiten Funktionstask, sofern diese vor einem neuen Abschnitt innerhalb derselben Programmschleife vorhanden sind, einer nachfolgenden ersten Funktionstask zur Verfügung gestellt werden.
-
Die obigen Ausgestaltungen und Weiterbildungen lassen sich, sofern sinnvoll, beliebig miteinander kombinieren. Weitere mögliche Ausgestaltungen, Weiterbildungen und Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale der Erfindung. Insbesondere wird dabei der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der vorliegenden Erfindung hinzufügen.
-
INHALTSANGABE DER ZEICHNUNG
-
Die vorliegende Erfindung wird nachfolgend anhand der in den schematischen Figuren der Zeichnungen angegebenen Ausführungsbeispiele näher erläutert. Es zeigen dabei:
-
1 ein Blockschaltbild eines erfindungsgemäßen Bremssystems in einem Kraftfahrzeug;
-
2 ein Ablaufdiagramm zur Erläuterung des erfindungsgemäßes Verfahrens zur Steuerung eines Bremssystems;
-
3 ein weiteres Ablaufdiagramm zur Erläuterung des erfindungsgemäßes Verfahrens zur Steuerung eines Bremssystems;
-
4 ein weiteres Ablaufdiagramm zur Erläuterung des erfindungsgemäßes Verfahrens zur Steuerung eines Bremssystems.
-
Die beiliegenden Zeichnungen sollen ein weiteres Verständnis der Ausführungsformen der Erfindung vermitteln. Sie veranschaulichen Ausführungsformen und dienen im Zusammenhang mit der Beschreibung der Erklärung von Prinzipien und Konzepten der Erfindung. Andere Ausführungsformen und viele der genannten Vorteile ergeben sich im Hinblick auf die Zeichnungen. Die Elemente der Zeichnungen sind nicht notwendigerweise maßstabsgetreu zueinander gezeigt.
-
In den Figuren der Zeichnung sind gleiche, funktionsgleiche und gleich wirkende Elemente, Merkmale und Signale – sofern nichts Anderes ausführt ist – jeweils mit denselben Bezugszeichen versehen.
-
BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
-
1 zeigt ein Blockschaltbild eines erfindungsgemäßen Bremssystems in einem Kraftfahrzeug. Das Kraftfahrzeug, das hier mit Bezugszeichen 10 bezeichnet ist, umfasst vier Räder 11, wobei jeweils zwei Räder 11 an der gelenkten Vorderachse 12 und jeweils zwei Räder 11 an der ungelenkten Hinterachse 13 befestigt sind. Mit VL und VR sind die Vorderräder links bzw. rechts und mit HL und HR sind die jeweiligen Räder an der Hinterachse links bzw. rechts bezeichnet. Die verschiedenen Räder 11 werden über zumindest eine der Achsen 12, 13 angetrieben und über jeweilige (hier nicht dargestellte) Bremseinrichtungen abgebremst. Jedem der Räder 11 ist ferner ein (hier nicht dargestellter) Drehzahlsensor zugeordnet, welcher die Drehzahl und somit die jeweilige Radgeschwindigkeit des entsprechenden Rades 11 ermittelt. Während der Fahrt überwachen diese Drehzahlsensoren fortwährend die Radgeschwindigkeiten.
-
Diese Bremseinrichtungen sind Bestandteil eines Bremssystems, beispielsweise eines ABS-Bremssystems 14. Dieses ABS-Bremssystem 14 enthält eine Steuereinrichtung 15, welche der Steuerung der verschiedenen Bremseinrichtungen dient. Ferner ist eine Fahrdynamikregeleinrichtung 16 vorgesehen, welche neben dem ABS-Bremssystem 14 und der Steuereinrichtung 15 noch weitere Fahrerassistenzsysteme umfasst, wie etwa ein ESP-System 17, eine Antriebsschlupfregelung 18 sowie ein TCS-System 19.
-
Die 2 und 3 zeigen anhand einer Zeitachse jeweils einen Ausschnitt eines Programmablaufs, welche zur Steuerung eines erfindungsgemäßen Bremssystems vorgesehen sind. Dieser Programmablauf umfasst eine Vielzahl von nacheinander ausgeführten Programmschleifen, die auch als Loop bezeichnet werden. In den 2 und 3 ist lediglich eine einzige vollständige Programmschleife N dargestellt. Diese beginnt zum Zeitpunkt t0 und endet zum Zeitpunkt t2. Die unmittelbar nachfolgende Programmschleife N + 1 beginnt unmittelbar anschließend zum Zeitpunkt t2. Die Dauer dieser übergeordneten Programmschleife N, das heißt der so genannten Hauptzykluszeit, beträgt somit t2 – t0.
-
Innerhalb einer jeweiligen übergeordneten Programmschleife N, N + 1 sind mehrere Funktionstasks 20, 21 integriert. Unter einer Funktionstask ist eine Funktion eines Programms zu verstehen, die anhand von Eingangsinformationen ein Ergebnis liefert, welches der Steuerung, beispielsweise des Bremssystems, dient. Insbesondere bezeichnet eine Funktionstask Funktionen mit unterschiedlichen Zykluszeiten. Es sei angenommen, dass die beiden Funktionstasks 20, 21 unterschiedliche zeitliche Anforderungen innerhalb einer Programmschleife aufweisen und demnach Zykluszeiten für unterschiedliche Funktionen zugewiesen sind. Dabei umfasst die Funktionstask 20 zeitkritischere Funktionen, während die Funktionstask 21 weniger zeitkritischere Funktionen umfasst.
-
Die beiden Funktionstasks 20, 21 können innerhalb derselben Programmschleife N sequenziell, also nacheinander, ausgeführt, wobei dies nicht zwingend erforderlich ist, wie anhand von 4 noch erläutert wird. Im vorliegenden Fall ist eine jeweilige Programmschleife N, N + 1 in zwei Abschnitte N1, N2 gleicher Dauer bzw. Zykluszeit unterteilt. Der erste Abschnitt N1 beginnt in der Programmschleife N zum Zeitpunkt t0 und endet zum Zeitpunkt t1, während der zweite Abschnitt N2 zum Zeitpunkt t1 beginnt und zum Zeitpunkt t2 endet. Die beiden Abschnitte N1 und N2 sind gleich lang, d.h. es gilt t2 – t1 = t1 – t0.
-
Vorzugsweise sind die Zykluszeiten t2 – t1 bzw. t1 – t0 der Abschnitte N1, N2 ganzzahlige Vielfache der Hauptzykluszeit t2 – t0 der übergeordneten Programmschleife N.
-
2 zeigt nun ein Ablaufdiagramm zur Erläuterung des erfindungsgemäßen Verfahrens. Hier erfolgt in den Abschnitten 29, 30 zu Beginn eines jeweiligen Abschnitts N1, N2 eine Signalaufbereitung. Die Signalaufbereitung 29, 30 umfasst eine Messsignalerfassung mittels geeigneter Sensoren. Die Signalerfassung 29, 30 ist hoch-prioritär und erfolgt stets zu Beginn eines jeweiligen Abschnitts N1, N2 und zu einer fest vorgegebenen Zeit. Als Ergebnis der Signalaufbereitung 29, 30, die typischerweise relativ kurz ist, werden Sensorinformationen 22, 25 bereitgestellt. Diese Sensorinformationen 22, 25 beinhalten z.B. Informationen, die für den Betrieb des Bremssystems erforderlich sind, wie etwa eine aktuelle Radgeschwindigkeit, Bremsdruck, Aktuatorstellung, Bremspedalstellung, etc.
-
Die Sensorinformationen 22 werden zum Zeitpunkt t0 der ersten Funktionstask 20 zugeführt. Die erste Funktionstask 20 wird anhand dieser Sensorinformationen 22 und seiner Programmroutine ausgeführt und liefert Ausgangsdaten 23. Anschließend wird – noch innerhalb des ersten Abschnitts N1 und somit vor dem Zeitpunkt t1 – die zweite Funktionstask 21 aufgerufen und ausgeführt, beispielsweise unter Verwendung der von der ersten Funktionstask 20 gelieferten Daten 23. Das Ausführen der zweiten Funktionstask 21 dauert bis in den zweiten Abschnitt N2 hinein. Das Ausführen der zweiten Funktionstask 21 liefert ausgangsseitig Daten 24.
-
Im Anschluss daran, d.h. noch innerhalb des zweiten Abschnitts N2, wird erneut die erste Funktionstask 20 aufgerufen. Die erste Funktionstask 20 wird nach Maßgabe von aktualisierten Sensorinformationen 25, die zum Zeitpunkt t1 vorliegen, sowie unter Berücksichtigung der Daten 24, die als Ergebnis des Ausführens der zweiten Funktionstask 21 geliefert werden, ausgeführt. Die erste Funktionstask 20 innerhalb des zweiten Abschnitts N2 endet noch im selben Abschnitt N2, d.h. vor dem Zeitpunkt t2. Die von der ersten Funktionstask 20 gelieferten Daten 26 stehen dann für die unmittelbar nachfolgende Programmschleife N + 1 zur Verfügung.
-
Die von den ersten Funktionstasks 20 gelieferten Ausgangsdaten 23, 26 können zusätzlich auch anderen Anwendungen zur Verfügung gestellt werden, was durch die Pfeile 23', 26' in 2 angedeutet ist. Insbesondere können diese Daten 23', 26' unmittelbar einem nachfolgenden Abschnitt N2 derselben Programmschleife N oder einer nachfolgenden Programmschleife N + 1 zur Verfügung gestellt werden. Auf diese Weise ist eine Aktualisierung der seitens der ersten Funktionstasks 20 bereitgestellten Daten möglich.
-
Im Unterschied zu dem Ausführungsbeispiel in 2 wird in dem Ausführungsbeispiel entsprechend 3 die zweite Funktionstask vollständig im ersten Abschnitt N1 ausgeführt. Hier beginnt also die zweite Funktionstask 21, die unmittelbar nach der ersten Funktionstask 20 ausgeführt wird, im ersten Abschnitt N1 und endet auch im ersten Abschnitt N1. Die nachfolgende erste Funktionstask 20 innerhalb des zweiten Abschnitts ist damit in der Lage, sowohl die Daten 23 der zweiten Funktionstask 21 und der entsprechend aktuellen Sensorinformationen zu berücksichtigen. Sicherzustellen ist, dass die zweite Abarbeitung der ersten Funktionstask 20 nicht vor dem Zeitpunkt t1 gestartet wird.
-
4 zeigt ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens. 4 zeigt drei Zeitstränge, einen für die Signalerfassung (4 oben), einen für die Funktionstask mit der längeren Zykluszeit (4 Mitte) und einen für die Funktionstask mit der kürzeren Zykluszeit (4 unten).
-
Die Signalerfassung 29, 30 erfolgt immer zu einem festen Zeitpunkt (hier alle 5 msec), vorzugsweise unmittelbar zu Beginn eines Abschnitts. Für die Signalerfassung 29, 30 wird daher eine Prozessortask mit hoher Priorität verwendet, da diese die anderen Funktionstasks 20, 21 unterbrechen soll, sofern dies erforderlich ist. Den beiden Funktionstasks 20, 21 sind demgegenüber typischerweise niedrigere Prioritäten zugewiesen.
-
Bei jeder der Funktionstasks 20, 21 ist es wichtig, dass sie innerhalb des ihr zugeordneten Zeitrasters jeweils einmal komplett abgearbeitet wird, was in der 4 durch die geschwungene Klammer angedeutet ist. Im gezeigten Beispiel muss die Abarbeitung der 10 msec-Funktionstask, also der Funktionstask 21, bis zum Zeitpunkt t2 = 10 msec abgeschlossen sein. Die erste Abarbeitung der 5 msec-Funktionstask, also der Funktionstask 20, muss vor Ablauf der ersten 5 msec abgeschlossen sein. Die zweite Abarbeitung der 5 msec-Funktionstask darf nicht vor Ablauf der ersten 5 msec (also zum Zeitpunkt t1) begonnen werden und muss vor Ablauf der 10 msec abgeschlossen sein (also zum Zeitpunkt t2).
-
Außerdem zeigt 4, dass zwischen den Funktionstasks 20, 21 mehrfach hin- und hergewechselt werden kann, was durch die Pfeile 28 angedeutet ist. Z.B. ist es denkbar, dass innerhalb der 10 msec-Funktionstask 21 zuerst eine Aufbereitung von Signalen stattfindet, die später von beiden Funktionstasks 20, 21 benutzt werden, und dass unmittelbar in die andere, also die 5 msec-Funktionstask 20 gewechselt wird, usw.
-
Besonders vorteilhaft ist es, wenn diese Wechsel zwischen den beiden Funktionstasks 20, 21 nicht zeitgesteuert erfolgen, sondern immer an den gleichen Stellen innerhalb der jeweiligen Programmschleife bzw. innerhalb des jeweiligen Programmablaufs. Dies ist in 4 dargestellt. Dadurch ist für die 5 msec-Funktionstask 20 sichergestellt, dass bestimmte Signale vorher in der jeweils anderen Funktionstask 21, also der 10 msec-Funktionstask, berechnet wurden.
-
Besonders vorteilhaft ist es, wenn Absicherungsmaßnahmen bereitgestellt werden, damit die eben genannten zeitlichen Anforderungen stets sicher eingehalten werden. Hierzu gehört eine Überwachungseinrichtung, die ermittelt, dass eine Funktionstask bis zu einem bestimmten Zeitpunkt vollständig abgearbeitet wurde. Diese Überwachungseinrichtung ist zusätzlich dazu ausgebildet sicherstellen, dass die zweite Abarbeitung der 5 msec-Funktionstask nicht zu früh begonnen wird.
-
Durch die oben erwähnte feste Abarbeitungsreihenfolge kann es passieren, dass der erste Aufruf der ersten Funktionstask 20 innerhalb einer Programmschleife mit allem, was vor dem zweiten Starten der ersten Funktionstask 20 abgearbeitet werden soll, schon fertig ist, bevor die erste Funktionstask 20 innerhalb derselben Programmschleife erneut gestartet werden darf. In diesem Fall ist es vorteilhaft, wenn ein Warteschritt 31 vorhanden ist. Während dieses Warteschrittes 31 ist weder die erste noch die zweite Funktionstask 20, 21 aktiv.
-
Besonders vorteilhaft ist es, wenn der Prozessor während dieses Warteschritts 31 für andere, z.B. niederprioritäre Funktionstasks genutzt wird.
-
Bezugszeichenliste
-
- 10
- Kraftfahrzeug
- 11
- Räder
- 12
- Vorderachse
- 13
- Hinterachse
- 14
- Antiblockiersystem, ABS
- 15
- Steuereinrichtung
- 16
- Fahrdynamik-Regelungseinrichtung
- 17
- Fahrstabilitätsregelung, ESP
- 18
- Antriebsschlupfregelung, ASR
- 19
- Antischlupfregelung, TCS
- 20
- erste/zeitkritischere Funktionstask
- 21
- zweite/weniger zeitkritische Funktionstask
- 22
- Sensorinformationen
- 23, 23'
- Ausgangsdaten
- 24
- Ausgangsdaten, Daten
- 25
- aktualisierte Sensorinformationen
- 26, 26'
- Ausgangsdaten, Daten
- 28
- Wechsel zwischen Funktionstasks
- 29
- Signalaufbereitung
- 30
- Signalaufbereitung
- 31
- Warteschritt
- N, N + 1
- Programmschleife
- N1, N2
- Abschnitte
- t
- Zeitachse
- t0–t2
- Zeitpunkte
- HL, HR
- Hinterräder links bzw. rechts
- VL, VR
- Vorderräder links bzw. rechts