DE102012219180A1 - Recheneinheit für ein Steuergerät und Betriebsverfahren hierfür - Google Patents

Recheneinheit für ein Steuergerät und Betriebsverfahren hierfür Download PDF

Info

Publication number
DE102012219180A1
DE102012219180A1 DE102012219180.1A DE102012219180A DE102012219180A1 DE 102012219180 A1 DE102012219180 A1 DE 102012219180A1 DE 102012219180 A DE102012219180 A DE 102012219180A DE 102012219180 A1 DE102012219180 A1 DE 102012219180A1
Authority
DE
Germany
Prior art keywords
bus system
data
arithmetic unit
primary process
primary
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.)
Pending
Application number
DE102012219180.1A
Other languages
English (en)
Inventor
Almir Kaiser
Alexander Lang
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 DE102012219180.1A priority Critical patent/DE102012219180A1/de
Priority to KR1020130124133A priority patent/KR102046510B1/ko
Priority to CN201310757271.7A priority patent/CN103778021B/zh
Priority to FR1360276A priority patent/FR2997206A1/fr
Publication of DE102012219180A1 publication Critical patent/DE102012219180A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Betreiben einer Recheneinheit (110) eines Steuergeräts (100), das in Datenverbindung mit einem Bussystem (200) steht, dadurch gekennzeichnet, dass sich die Recheneinheit (110), insbesondere ein auf der Recheneinheit (110) ablaufendes Betriebssystem (OS), mit dem Bussystem (200) synchronisiert (300), und dass ein auf der Recheneinheit (110) ablaufender primärer Prozess (T1) vorgesehen ist, der a) periodisch Daten von dem Bussystem (200) entgegennimmt (310) und die entgegengenommenen Daten mindestens einem weiteren ebenfalls auf der Recheneinheit (110) ablaufenden Prozess (T2a, T2b, T2c) zur Verfügung stellt (320) und/oder b) von der Recheneinheit (110) an das Bussystem (200) zu sendende Daten von mindestens einem Prozess (T3) abholt (350) und an das Bussystem (200) übergibt (360).

Description

  • Stand der Technik
  • Die Erfindung betrifft ein Verfahren zum Betreiben einer Recheneinheit eines Steuergeräts, das in Datenverbindung mit einem Bussystem steht.
  • Die Erfindung betrifft ferner eine Recheneinheit für ein derartiges Steuergerät.
  • Bekannte Steuergeräte bzw. ihre Recheneinheiten lesen Daten typischerweise von einem Bussystem bzw. Netzwerk (bspw. CAN (Controller Area Network), LIN (Local Interconnect Network), FlexRay, Ethernet) oder Sensor (bspw. Drucksensor im Brennraum einer Brennkraftmaschine, Drehzahlsensor) ein, verarbeiten diese intern und senden sie dann wieder aus, z.B. an direkt an das Steuergerät angekoppelte Aktuatoren (z.B. Einspritzventil bei einem Motor), oder über das Bussystem an andere Steuergeräte. Die mit den (Sensor-)Daten zusammenhängenden Signallaufzeiten und Systemreaktionszeiten sind nachteilig für viele Szenarien nicht deterministisch (= von bekannter, vorhersagbarer Dauer), weil Bussysteme wie bspw. FlexRay eine eigene, von der Steuergerätezeit unabhängige Zeitbasis aufweisen, die gegenüber einer Zeitbasis der Recheneinheit abweicht. D.h., dass beispielsweise 1 ms für das FlexRay-Bussystem nicht notwendig exakt gleich lange dauert wie für seine Busteilnehmer, also z.B. Steuergeräte. Üblicherweise läuft die Zeit für die Busteilnehmer ein wenig langsamer oder schneller als die FlexRay-Zeit. Dies führt dazu, dass die Prozesse eines Betriebssystems der Recheneinheit und somit die Signalverarbeitung im die Recheneinheit aufweisenden Steuergerät relativ zu dem FlexRay-Bus und hierdurch vorgesehenen Empfangs- und Sendezeitschlitze („slots“) driften und somit der Verarbeitungszeitpunkt sowie die Verarbeitungsdauer schwankt.
  • Ferner schwankt ein Startzeitpunkt der Betriebssystem-Tasks und deren Ausführungsdauer prinzipbedingt. Dies wird auch als „Jitter“ bzgl. Taskstart und Taskausführungsdauer bezeichnet. Die Busdrift, der Jitter der Task- bzw. Prozessstartzeitpunkte und die Task- bzw. Prozessunterbrechungen verstärken sich bei der nachteiligen Beeinflussung des Verarbeitungszeitpunktes und der Dauer. Eine nachteilige Folge hiervon ist, dass auf Empfangsseite Signale „verlorengehen“ können, da sie a) nicht rechtzeitig vom Bus abgeholt werden oder b) einem verarbeitenden Prozess nicht rechtzeitig zur Verfügung gestellt werden. Aus den gleichen Gründen können Signalwerte auf einer Sendeseite „verlorengehen“, weil bspw. der Sendeslot auf dem Flexraybus verpasst wird.
  • Offenbarung der Erfindung
  • Demgemäß ist es Aufgabe der vorliegenden Erfindung, ein Verfahren und ein Steuergerät der eingangs genannten Art dahingehend zu verbessern, dass die vorstehend genannten Nachteile des Stands der Technik vermieden werden.
  • Diese Aufgabe wird bei dem Verfahren der eingangs genannten Art dadurch gelöst, dass sich die Recheneinheit, insbesondere ein auf der Recheneinheit ablaufendes Betriebssystem, mit dem Bussystem synchronisiert, und dass ein auf der Recheneinheit ablaufender primärer Prozess vorgesehen ist, der a) periodisch Daten von dem Bussystem entgegennimmt und die entgegengenommenen Daten mindestens einem weiteren ebenfalls auf der Recheneinheit ablaufenden Prozess zur Verfügung stellt und/oder b) von der Recheneinheit an das Bussystem zu sendende Daten von mindestens einem Prozess abholt und an das Bussystem übergibt. Dies hat den Vorteil, dass das Betriebssystem der Recheneinheit mit derselben Zeitbasis arbeitet wie das Bussystem, an das die Recheneinheit angeschlossen ist. Dadurch werden die eingangs genannten Drifteffekte vermieden. Ferner wird vermieden, dass empfangs- sowie sendeseitig Signalwerte verloren gehen.
  • Ferner ermöglicht die Erfindung vorteilhaft, den „Jitter“ bzgl. Taskstart und Taskausführungsdauer bzw. deren Störeinfluss auf die Verarbeitung von Daten zu verringern. Beispielsweise kann der primäre Prozess eine im Vergleich zu den weiteren, die (Sensor-)Daten verarbeitenden Prozessen, erhöhte Priorität und/oder Ausführungsfrequenz aufweisen, so dass sichergestellt ist, dass der primäre Prozess in der Recheneinheit zu empfangende Sensordaten rechtzeitig von dem Bussystem abholen kann, beispielsweise durch Auslesen aus einem Eingangsstapelspeicher, in den von dem Bussystem empfangene Daten in an sich bekannter Weise geschrieben werden.
  • Wenn der primäre Prozess eine im Vergleich zu den weiteren, die (Sensor-)Daten verarbeitenden Prozessen, erhöhte Priorität und/oder Ausführungsfrequenz aufweist, ist i.d.R. auch sichergestellt, dass der primäre Prozess die Daten den weiteren Prozessen zeitgerecht zur Verfügung stellen kann, diese mithin stets mit aktuellen Daten arbeiten können bzw. nicht auf aktuelle Daten warten müssen.
  • Bei einer bevorzugten Ausführungsform ist vorgesehen, dass der primäre Prozess die Daten von dem Bussystem in mit dem Bussystem synchronisierter Weise entgegennimmt, insbesondere mindestens mit einer Frequenz, mit der die Daten von dem Bussystem in der Recheneinheit eintreffen, so dass Situationen vermieden werden, in denen empfangene Daten verlorengehen, weil sie nicht rechtzeitig von dem primären Prozess aus z.B. dem Eingangsstapelspeicher gelesen werden, so dass die dort vorliegenden Daten ggf. wieder durch bereits nachfolgende Daten überschrieben werden.
  • Der erfindungsgemäße primäre Prozess ist vermöge seiner Synchronisierung bzw. der Synchronisierung des Betriebssystems und seiner Priorität zeitlich präzise und „schnell“ genug, um alle eingehenden Daten von dem Bussystem entgegenzunehmen.
  • Bei einer bevorzugten Ausführungsform ist vorgesehen, dass der primäre Prozess die entgegengenommenen Daten dem mindestens einen weiteren Prozess so zur Verfügung stellt, dass sie zu einem vorgebbaren Zeitpunkt bezogen auf den Ablauf des weiteren Prozesses, insbesondere vor dem nächsten Start des weiteren Prozesses, vorliegen. Hierzu kann der primäre Prozess über Informationen der Prozessplanung („scheduling“) der Recheneinheit bzw. des Betriebssystems verfügen. Bei dieser Ausführungsform ist vorteilhaft sichergestellt, dass der primäre Prozess die entgegengenommenen Daten in deterministischer Art und Weise an die weiteren Prozesse weiterleiten kann, diese weiteren Prozesse mithin regelmäßig und rechtzeitig mit stets aktuellen Daten versorgt werden. Dadurch wird u.a. vorteilhaft vermieden, dass ein z.B. Sensordaten verarbeitender Prozess zweimal nacheinander mit denselben, bei dem zweiten Ablauf nicht mehr aktuellen, Sensordaten arbeiten muss.
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass der primäre Prozess eine Priorität und/oder Periodendauer der Ausführung des mindestens einen weiteren Prozesses berücksichtigt, um dem mindestens einen weiteren Prozess die Daten zur Verfügung zu stellen. Ebenso kann der primäre Prozess seine eigenen scheduling-Parameter (Priorität und/oder Periodendauer) sowie ggf. die weiterer Prozesse, die auf der Recheneinheit ablaufen, berücksichtigen.
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass der primäre Prozess die von einem anderen Prozess an das Bussystem zu sendenden Daten zu einem vorgebbaren Zeitpunkt bezogen auf den Ablauf des weiteren Prozesses abholt. Damit ist sichergestellt, dass die an das Bussystem zu sendenden Daten stets aktuell sind.
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass der primäre Prozess die von dem Prozess an das Bussystem zu sendenden Daten in mit dem Bussystem synchronisierter Weise an das Bussystem übergibt.
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass der primäre Prozess einen durch den primären Prozess und die weiteren Prozesse gemeinsam nutzbaren Speicherbereich der Recheneinheit nutzt, um Daten mit den weiteren Prozessen auszutauschen. Der gemeinsam nutzbare Speicherbereich kann beispielsweise in Form einer sog. globalen Variablen einer Programmiersprache realisiert werden, mittels der die Recheneinheit programmiert ist.
  • Als eine weitere Lösung der Aufgabe der vorliegenden Erfindung ist eine Recheneinheit für ein Steuergerät angegeben, das in Datenverbindung mit einem Bussystem steht. Die Recheneinheit, insbesondere ein auf der Recheneinheit ablaufendes Betriebssystem, ist dazu ausgebildet, sich mit dem Bussystem zu synchronisieren, und ein auf der Recheneinheit ablaufender primärer Prozess a) nimmt periodisch Daten von dem Bussystem entgegen und stellt die entgegengenommenen Daten mindestens einem weiteren ebenfalls auf der Recheneinheit ablaufenden Prozess zur Verfügung, und/oder b) von der Recheneinheit an das Bussystem zu sendende Daten werden von mindestens einem Prozess abgeholt und an das Bussystem übergeben.
  • Bei einer weiteren Ausführungsform ist vorgesehen, dass die Recheneinheit als Mikrocontroller oder Digitaler Signalprozessor (DSP) oder anwendungsspezifischer integrierter Schaltkreis (ASIC) oder programmierbarer Logikbaustein (z.B. FPGA, field programmable gate array) ausgebildet ist, und wobei das Betriebssystem der Recheneinheit für einen Mehrprozessbetrieb, multitasking, ausgelegt ist.
  • Besonders vorteilhaft ist die Recheneinheit einer weiteren Ausführungsform zufolge zur Ausführung des erfindungsgemäßen Verfahrens ausgebildet.
  • Nachfolgend werden beispielhafte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnung erläutert. In der Zeichnung zeigt:
  • 1 schematisch ein Blockdiagramm einer Ausführungsform einer erfindungsgemäßen Recheneinheit,
  • 2 schematisch ein Blockdiagramm einer Ausführungsform eines Betriebssystems einer erfindungsgemäßen Recheneinheit,
  • 3, 4 schematisch jeweils ein vereinfachtes Flussdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens.
  • 1 zeigt schematisch ein Blockdiagramm einer Ausführungsform eines erfindungsgemäßen Steuergeräts 100 beispielsweise eines Kraftfahrzeugs. An das Steuergerät 100 ist ein Sensor S (beispielsweise Drehzahlsensor für eine Drehzahl einer Kurbelwelle einer Brennkraftmaschine des Kraftfahrzeugs) angeschlossen, der Sensordaten bereitstellt. Die Sensordaten können in dem Steuergerät 100 verarbeitet werden. Ebenfalls an das Steuergerät 100 angeschlossen ist ein Aktor bzw. Aktuator A, der z.B. ein Einspritzventil betätigt.
  • Das Steuergerät 100 ist ferner mit einem Bussystem 200 verbunden, das i.d.R. eine bidirektionale Kommunikation mit anderen an das Bussystem 200 angeschlossenen Geräten (nicht gezeigt), z.B. weiteren Steuergeräten usw., ermöglicht. Bei dem Bussystem kann es sich z.B. um einen FlexRay/CAN/LIN- oder sonstigen Datenbus handeln.
  • Zur Verarbeitung der Sensordaten und zur Ansteuerung des Aktors A z.B. in Abhängigkeit der Sensordaten weist das Steuergerät 100 eine Recheneinheit 110 auf, bei der es sich beispielsweise um einen Mikrocontroller oder DSP handeln kann. Andere Realisierungen (ASIC, FPGA, usw.) sind ebenfalls denkbar. Auf der Recheneinheit 110 können Computerprogramme ablaufen, die z.B. eine Funktionalität zur Verarbeitung der Sensordaten und/oder Ansteuerung des Aktors A zum Gegenstand haben.
  • Die Recheneinheit 110 verfügt über ein Betriebssystem OS, das die Abläufe in der Recheneinheit in an sich bekannter Weise steuert. Beispielsweise ermöglicht das Betriebssystem OS, bei einer Ausbildung als sog. multitasking Betriebssystem, die Erstellung und den Ablauf mehrerer Prozesse, die unterschiedliche Aufgaben wie z.B. Sensordatenverarbeitung, Ausführung von Regelungsalgorithmen usw. wahrnehmen.
  • Um eine zeitlich besonders präzise Verarbeitung von Sensordaten des Sensors S und Ansteuerung des Aktors A zu ermöglichen, ist die Recheneinheit 110 bzw. ihr Betriebssystem OS dazu ausgebildet, sich mit dem Bussystem 200 zu synchronisieren. Dies kann beispielsweise dadurch erfolgen, dass das Betriebssystem OS bzw. ein entsprechender Prozess Zeitstempel oder sonstige eine Synchronisation ermöglichende Informationen von dem Bussystem 200 einliest und eine interne Uhr bzw. einen Zähler der Recheneinheit 110 entsprechend einstellt. Die erfindungsgemäße Synchronisation kann bevorzugt auch periodisch erfolgen, um Drifteffekten zwischen Buszeit und der internen Uhr vorzubeugen.
  • Das Flussdiagramm aus 3 zeigt den vorstehend beschriebenen Schritt der Synchronisation der Recheneinheit 110 mit dem Bussystem 200 als Schritt 300.
  • Weiter erfindungsgemäß ist ein auf der Recheneinheit 110 ablaufender primärer Prozess T1 vorgesehen, vgl. 2, der periodisch Daten von dem Bussystem 200 entgegennimmt und die entgegengenommenen Daten mindestens einem weiteren ebenfalls auf der Recheneinheit 110 ablaufenden Prozess T2a, T2b, T2c zur Verfügung stellt. Bei den weiteren Prozessen T2a, T2b, T2c kann es sich z.B. um Prozesse handeln, die die Sensordaten von dem Sensor S, die sie von dem primären Prozess T1 erhalten haben, verarbeiten.
  • Die Datenübergabe zwischen den Prozessen T1, T2a, T2b, T2c kann z.B. unter Verwendung von sog. globalen Variablen einer Programmiersprache realisiert werden, mittels der die Recheneinheit 110 programmiert ist.
  • Die Entgegennahme der Daten von dem Bussystem 200 durch den primären Prozess T1 ist in 3 mit dem Schritt 310 bezeichnet, und der nachfolgende Schritt 320 repräsentiert die Weitergabe der Daten durch den primären Prozess T1 an die weiteren Prozesse T2a, T2b, T2c.
  • Bei einer bevorzugten Ausführungsform nimmt der primäre Prozess T1 nicht bereits selbst eine Verarbeitung der Sensordaten oder sonstiger von dem Bussystem 200 erhaltener Daten vor, sondern gibt diese vielmehr „nur“ zeitgerecht, insbesondere deterministisch, an die weiteren Prozesse T2a, T2b, T2c weiter. Der primäre Prozess T1 kann somit als Verteilprozess angesehen werden, der bei der Recheneinheit 110 eingehende Daten zeitgerecht entgegennimmt, insbesondere bevor diese durch neuere, nachfolgend eingehende Daten überschrieben werden, und der diese entgegengenommenen Daten den weiteren Prozessen T2a, T2b, T2c zur eigentlichen Verarbeitung zuleitet.
  • Ferner ermöglicht die Erfindung vorteilhaft, einen „Jitter“ bzgl. Taskstart und Taskausführungsdauer bzw. deren Störeinfluss auf die Verarbeitung von Daten zu verringern. Beispielsweise kann der primäre Prozess T1 eine im Vergleich zu den weiteren, die (Sensor-)Daten verarbeitenden Prozessen T2a, T2b, T2c, erhöhte Priorität und/oder Ausführungsfrequenz aufweisen, so dass sichergestellt ist, dass der primäre Prozess T1 in der Recheneinheit 110 zu empfangende Sensordaten rechtzeitig von dem Bussystem 200 abholen kann, beispielsweise durch Auslesen aus einem Eingangsstapelspeicher (nicht gezeigt), in den von dem Bussystem 200 empfangene Daten in an sich bekannter Weise geschrieben werden.
  • Wenn der primäre Prozess T1 eine im Vergleich zu den weiteren, die (Sensor-)Daten verarbeitenden Prozessen, erhöhte Priorität und/oder Ausführungsfrequenz aufweist, ist i.d.R. auch sichergestellt, dass der primäre Prozess T1 die Daten den weiteren Prozessen T2a, T2b, T2c zeitgerecht zur Verfügung stellen kann, diese mithin stets mit aktuellen Daten arbeiten können bzw. nicht auf aktuelle Daten warten müssen.
  • Demgegenüber kann es bei herkömmlichen Systemen zu erheblichem „Jitter“ bzgl. Taskstart und Taskausführungsdauer kommen, weil dort die einzelnen Sensordaten verarbeitenden Prozesse die Eingangsdaten selbst von dem Bussystem 200 abholen müssen.
  • Bei einer bevorzugten Ausführungsform der Erfindung ist vorgesehen, dass der primäre Prozess T1 die Daten von dem Bussystem 200 in mit dem Bussystem 200 synchronisierter Weise entgegennimmt, insbesondere mindestens mit einer Frequenz, mit der die Daten von dem Bussystem 200 in der Recheneinheit 110 eintreffen, so dass Situationen vermieden werden, in denen empfangene Daten verlorengehen, weil sie nicht rechtzeitig von dem primären Prozess T1 aus z.B. dem Eingangsstapelspeicher gelesen werden, so dass die dort vorliegenden Daten ggf. wieder durch bereits nachfolgende Daten überschrieben werden.
  • Der erfindungsgemäße primäre Prozess T1 ist vermöge seiner Synchronisierung bzw. der Synchronisierung des Betriebssystems OS und seiner Priorität zeitlich präzise und „schnell“ genug, um alle eingehenden Daten von dem Bussystem 200 entgegenzunehmen und für die anderen Prozesse vorzuhalten.
  • Bei einer bevorzugten Ausführungsform ist vorgesehen, dass der primäre Prozess T1 die entgegengenommenen Daten dem mindestens einen weiteren Prozess T2a so zur Verfügung stellt, dass sie zu einem vorgebbaren Zeitpunkt bezogen auf den Ablauf des weiteren Prozesses T2a, insbesondere vor dem nächsten Start des weiteren Prozesses, vorliegen. Hierzu kann der primäre Prozess T1 über Informationen der Prozessplanung („scheduling“) der Recheneinheit 110 bzw. des Betriebssystems OS verfügen. Bei dieser Ausführungsform ist vorteilhaft sichergestellt, dass der der primäre Prozess T1 die entgegengenommenen Daten in deterministischer Art und Weise an die weiteren Prozesse T2a, T2b, T2c weiterleiten kann, diese weiteren Prozesse T2a, T2b, T2c mithin regelmäßig und rechtzeitig mit stets aktuellen Daten versorgt werden. Dadurch wird u.a. vorteilhaft vermieden, dass ein z.B. Sensordaten verarbeitender Prozess zweimal nacheinander mit denselben, bei dem zweiten Ablauf nicht mehr aktuellen, Sensordaten arbeiten muss.
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass der primäre Prozess T1 die von einem anderen Prozess T3 des Betriebssystems OS (2) an das Bussystem 200 zu sendenden Daten zu einem vorgebbaren Zeitpunkt bezogen auf den Ablauf des weiteren Prozesses T3 abholt, beispielsweise exakt zu dem Moment, in dem die zu sendenden Daten von dem Prozess T3 bereitgestellt worden sind bzw. kurz danach. Damit ist sichergestellt, dass die an das Bussystem 200 zu sendenden Daten stets aktuell sind.
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass der primäre Prozess T1 die von dem weiteren Prozess T3 an das Bussystem 200 zu sendenden Daten in mit dem Bussystem 200 synchronisierter Weise an das Bussystem 200 übergibt.
  • 4 veranschaulicht einer weitere Ausführungsform der Erfindung. In Schritt 350 holt der primäre Prozess T1 die von dem Prozess T3 des an das Bussystem 200 zu sendenden Daten zu einem vorgebbaren Zeitpunkt bezogen auf den Ablauf des weiteren Prozesses T3 ab. In Schritt 360 übergibt der primäre Prozess T1 die von dem weiteren Prozess T3 an das Bussystem 200 zu sendenden Daten, vorzugsweise in mit dem Bussystem 200 synchronisierter Weise, an das Bussystem 200.
  • Die Erfindung ermöglicht vorteilhaft, dass sich die Signallaufzeiten und Systemreaktionszeiten in dem Steuergerät 100 hinsichtlich der durch den primären Prozess T1 gehandhabten Daten (von dem Bussystem 200 empfangen und an die anderen Prozesse T2a, T2b, T2c weiterleiten sowie von einem weiteren Prozess T3 entgegennehmen und an das Bussystem 200 ausgeben) immer gleich darstellen und sich deterministisch verhalten. Bei geeigneter Ausplanung des Synchronisationszeitpunktes der Recheneinheit 110 mit dem Betriebssystem 200 und der einzelnen Prozesse untereinander sind Verluste von Signalwerten oder das doppelte Verarbeiten desselben Signalwertes mit gleichem Zeitstempel usw. nicht mehr möglich.
  • Bei einer bevorzugten Ausführungsform wird der primäre Prozess T1 etwa alle 5 ms (Millisekunden) ausgeführt, während die Prozesse T2a, T2b, T2c, T3 etwa alle 20 ms ausgeführt werden.
  • Die Prozesse T2a, T2b, T2c können auch unterschiedliche Ausführungsfrequenzen haben, z.B. 10 ms, 20 ms, 40 ms.

Claims (10)

  1. Verfahren zum Betreiben einer Recheneinheit (110) eines Steuergeräts (100), das in Datenverbindung mit einem Bussystem (200) steht, dadurch gekennzeichnet, dass sich die Recheneinheit (110), insbesondere ein auf der Recheneinheit (110) ablaufendes Betriebssystem (OS), mit dem Bussystem (200) synchronisiert (300), und dass ein auf der Recheneinheit (110) ablaufender primärer Prozess (T1) vorgesehen ist, der a) periodisch Daten von dem Bussystem (200) entgegennimmt (310) und die entgegengenommenen Daten mindestens einem weiteren ebenfalls auf der Recheneinheit (110) ablaufenden Prozess (T2a, T2b, T2c) zur Verfügung stellt (320) und/oder b) von der Recheneinheit (110) an das Bussystem (200) zu sendende Daten von mindestens einem Prozess (T3) abholt (350) und an das Bussystem (200) übergibt (360).
  2. Verfahren nach Anspruch 1, wobei der primäre Prozess (T1) die Daten von dem Bussystem (200) in mit dem Bussystem synchronisierter Weise entgegennimmt, insbesondere mindestens mit einer Frequenz, mit der die Daten von dem Bussystem (200) in der Recheneinheit (110) eintreffen.
  3. Verfahren nach einem der vorstehenden Ansprüche, wobei der primäre Prozess (T1) die entgegengenommenen Daten dem mindestens einen weiteren Prozess (T2a) so zur Verfügung stellt, dass sie zu einem vorgebbaren Zeitpunkt bezogen auf den Ablauf des weiteren Prozesses (T2a), insbesondere vor dem nächsten Start des weiteren Prozesses, vorliegen.
  4. Verfahren nach Anspruch 3, wobei der primäre Prozess (T1) eine Priorität und/oder Periodendauer der Ausführung des mindestens einen weiteren Prozesses (T2a) berücksichtigt, um dem mindestens einen weiteren Prozess die Daten zur Verfügung zu stellen.
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei der primäre Prozess (T1) die von dem Prozess (T3) an das Bussystem (200) zu sendenden Daten zu einem vorgebbaren Zeitpunkt bezogen auf den Ablauf des weiteren Prozesses (T3) abholt (350).
  6. Verfahren nach Anspruch 5, wobei der primäre Prozess (T1) die von dem Prozess (T3) an das Bussystem (200) zu sendenden Daten in mit dem Bussystem synchronisierter Weise an das Bussystem (200) übergibt.
  7. Verfahren nach einem der vorstehenden Ansprüche, wobei der primäre Prozess (T1) einen durch den primären Prozess (T1) und die weiteren Prozesse (T2a, T3) gemeinsam nutzbaren Speicherbereich der Recheneinheit (110) nutzt, um Daten mit den weiteren Prozessen (T2a, T3) auszutauschen.
  8. Recheneinheit (110) für ein Steuergerät (100), das in Datenverbindung mit einem Bussystem (200) steht, dadurch gekennzeichnet, dass die Recheneinheit (110), insbesondere ein auf der Recheneinheit (110) ablaufendes Betriebssystem (OS), dazu ausgebildet ist, sich mit dem Bussystem (200) zu synchronisieren (300), und dass ein auf der Recheneinheit (110) ablaufender primärer Prozess (T1) a) periodisch Daten von dem Bussystem (200) entgegennimmt (310) und die entgegengenommenen Daten mindestens einem weiteren ebenfalls auf der Recheneinheit (110) ablaufenden Prozess (T2a, T2b, T2c) zur Verfügung stellt (320) und/oder b) von der Recheneinheit (110) an das Bussystem (200) zu sendende Daten von mindestens einem Prozess (T3) abholt (350) und an das Bussystem (200) übergibt (360).
  9. Recheneinheit (110) nach Anspruch 8, wobei die Recheneinheit als Mikrocontroller oder Digitaler Signalprozessor oder anwendungsspezifischer integrierter Schaltkreis oder programmierbarer Logikbaustein ausgebildet ist, und wobei das Betriebssystem (OS) der Recheneinheit (110) für einen Mehrprozessbetrieb, multitasking, ausgelegt ist.
  10. Recheneinheit (110) nach einem der Ansprüche 8 bis 9, wobei die Recheneinheit (110) zur Ausführung des Verfahrens nach einem der Ansprüche 2 bis 7 ausgebildet ist.
DE102012219180.1A 2012-10-22 2012-10-22 Recheneinheit für ein Steuergerät und Betriebsverfahren hierfür Pending DE102012219180A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102012219180.1A DE102012219180A1 (de) 2012-10-22 2012-10-22 Recheneinheit für ein Steuergerät und Betriebsverfahren hierfür
KR1020130124133A KR102046510B1 (ko) 2012-10-22 2013-10-17 제어 장치용 컴퓨터 유닛 및 이의 운영 방법
CN201310757271.7A CN103778021B (zh) 2012-10-22 2013-10-21 用于控制器的计算单元及其操作方法
FR1360276A FR2997206A1 (fr) 2012-10-22 2013-10-22 Unite de calcul d'un appareil de commande et son procede de gestion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102012219180.1A DE102012219180A1 (de) 2012-10-22 2012-10-22 Recheneinheit für ein Steuergerät und Betriebsverfahren hierfür

Publications (1)

Publication Number Publication Date
DE102012219180A1 true DE102012219180A1 (de) 2014-05-08

Family

ID=50443150

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012219180.1A Pending DE102012219180A1 (de) 2012-10-22 2012-10-22 Recheneinheit für ein Steuergerät und Betriebsverfahren hierfür

Country Status (4)

Country Link
KR (1) KR102046510B1 (de)
CN (1) CN103778021B (de)
DE (1) DE102012219180A1 (de)
FR (1) FR2997206A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015214385A1 (de) * 2015-07-29 2017-02-02 Robert Bosch Gmbh Verfahren und Vorrichtung zum Absichern der Anwendungsprogrammierschnittstelle eines Hypervisors
EP3156904A1 (de) * 2015-10-13 2017-04-19 Autoliv Development AB Elektronisches fahrzeugsicherheitssteuerungssystem
CN109871291B (zh) * 2019-03-19 2023-07-04 广州华多网络科技有限公司 数据处理方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8622941D0 (en) * 1986-09-24 1986-10-29 Gen Electric Co Plc Computer system
GB8814633D0 (en) * 1987-11-18 1988-07-27 Ibm Bus flow control mechanism
KR0142289B1 (ko) * 1994-12-14 1998-07-01 박성규 다중 프로세스 시스템에 있어서 시스템버스 전송제어장치
US6111888A (en) * 1997-05-27 2000-08-29 Micro Motion, Inc. Deterministic serial bus communication system
DE10037360A1 (de) * 2000-07-31 2002-03-14 Siemens Ag Verfahren zum Betreiben eines Teilnehmers in einem Netzwerk sowie Teilnehmer für ein Netzwerk und Speichermedium mit einem Programm für einen derartigen Teilnehmer
JP3982353B2 (ja) * 2002-07-12 2007-09-26 日本電気株式会社 フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
DE102006013640A1 (de) * 2006-03-22 2007-09-27 Robert Bosch Gmbh Verfahren und Datenübertragungssystem zur Übergabe von Daten zwischen dem Datenübertragungssystem und einem Host-Prozessor eines Teilnehmers eines Datenübertragungssystems
CN100470488C (zh) * 2007-06-26 2009-03-18 北京邮电大学 各组件进程之间统一通信的通用消息总线的实现方法
US20090158299A1 (en) * 2007-10-31 2009-06-18 Carter Ernst B System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed
CN102375763B (zh) * 2010-08-20 2013-06-19 ***通信集团公司 一种用于实现进程间通信的***和方法

Also Published As

Publication number Publication date
CN103778021A (zh) 2014-05-07
KR20140051080A (ko) 2014-04-30
FR2997206A1 (fr) 2014-04-25
CN103778021B (zh) 2020-02-18
KR102046510B1 (ko) 2019-11-19

Similar Documents

Publication Publication Date Title
DE10211281B4 (de) Verfahren und Vorrichtung zur Synchronisation der Zykluszeit von mehreren Bussen sowie entsprechendes Bussystem
DE102010004298B4 (de) Verhinderung eines Nachrichtenverlustes in CAN-Systemen
DE102011111268A1 (de) Steuerungseinheit und Kommunikationssteuerungssystem
DE102014108457B3 (de) Netzwerkverteiler
DE102017006876B4 (de) Server, Verfahren, Programm, Aufzeichnungsmedium und System zur Wahrung der zeitlichen Genauigkeit
DE102010029349A1 (de) Steuereinheit zum Austausch von Daten mit einer Peripherieeinheit, Peripherieeinheit, und Verfahren zum Datenaustausch
WO2007101590A1 (de) Verfahren zur erstellung eines optimierten ablaufplans für ein zeitgesteuertes verteiltes rechnersystem
DE10317390A1 (de) Datenübertragungseinrichtung und elektronische Steuereinheit
EP3454234A1 (de) Verfahren zum bereitstellen einer echtzeitfähigen simulation für die steuergerätentwicklung und simulationsvorrichtung für die steuergerätentwicklung
EP3814856B1 (de) Echtzeit-automatisierungseinrichtung mit einem echtzeit-datenbus
DE102012219180A1 (de) Recheneinheit für ein Steuergerät und Betriebsverfahren hierfür
EP1639758A2 (de) Verfahren, vorrichtung und system zum austausch von daten über ein bussystem
DE102016011493B4 (de) Numerisches Steuersystem mit synchroner Steuerfunktion zwischen Einheiten
EP3072250B1 (de) Kommunikationseinrichtung, kommunikationssystem und verfahren zum synchronisierten senden von telegrammen
DE102012204536A1 (de) Netzwerk und Verfahren zur Übertragung von Daten über ein gemeinsames Übertragungsmedium
DE102010029839B4 (de) Steuersystem
DE102022204535A1 (de) Genaue zeitstempelkorrektur
DE102009000581A1 (de) Synchronisierung zweier Kommunikationsnetzwerke eines elektronischen Datenverarbeitungssystems
DE102008019287B4 (de) Verfahren zum automatischen Erzeugen eines Zeitschemas für über einen zeitgesteuerten gemeinsamen Datenbus kommunizierende verteilte Anwendungen oder Prozesse eines digitalen Netzwerks
WO2014090657A1 (de) Zuweisen von zeitstempeln zu empfangenen datenpaketen
DE102009000584A1 (de) Diagnose der Synchronisation zweier Kommunikationsnetzwerke eines elektronischen Datenverarbeitungssystems
WO2007074069A1 (de) Mikrocontrollersystem mit peripherieeinheiten
DE10342561B4 (de) Elektronisches Nockensteuerwerk sowie Verfahren zur Generierung einer Nocke
EP4179425A1 (de) Verfahren zum übertragen einer software-applikation von einer ersten zu einer zweiten datenverarbeitungseinrichtung
DE102017120450A1 (de) Verfahren zum Bereitstellen einer echtzeitfähigen Simulation für die Steuergerätentwicklung und Simulationsvorrichtung für die Steuergerätentwicklung

Legal Events

Date Code Title Description
R012 Request for examination validly filed