DE4129809A1 - Mehrrechnersystem - Google Patents

Mehrrechnersystem

Info

Publication number
DE4129809A1
DE4129809A1 DE4129809A DE4129809A DE4129809A1 DE 4129809 A1 DE4129809 A1 DE 4129809A1 DE 4129809 A DE4129809 A DE 4129809A DE 4129809 A DE4129809 A DE 4129809A DE 4129809 A1 DE4129809 A1 DE 4129809A1
Authority
DE
Germany
Prior art keywords
computer
memory
computers
computer system
master
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.)
Granted
Application number
DE4129809A
Other languages
English (en)
Other versions
DE4129809C2 (de
Inventor
Rolf Dipl Ing Kraemer
Herbert Dipl Ing Graf
Juergen Bauer
Franz Ing Grad Eidler
Gerhard Dipl Phys Wagner
Frank Dipl Phys Hirsekorn
Thomas Dipl Ing Rueping
Thomas Dipl Ing Baehren
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 DE4129809A priority Critical patent/DE4129809C2/de
Priority to FR9116408A priority patent/FR2672140B1/fr
Priority to JP00526992A priority patent/JP3452324B2/ja
Publication of DE4129809A1 publication Critical patent/DE4129809A1/de
Priority to US08/222,505 priority patent/US5454095A/en
Application granted granted Critical
Publication of DE4129809C2 publication Critical patent/DE4129809C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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
    • F02D41/266Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor the computer being backed-up or assisted by another circuit, e.g. analogue
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Multi Processors (AREA)

Description

Stand der Technik
Die Erfindung betrifft ein Mehrrechnersystem gemäß dem Oberbegriff des Anspruchs 1. Bei der Steuerung und Regelung von Kraftfahrzeugen werden die verschiedenen Regel- und Steueraufgaben üblicherweise auf mehrere Rechner aufgeteilt. Dabei kann vorgesehen sein, daß wenig­ stens zwei Rechner gemeinsam auf den gleichen Speicher zugreifen. Bei diesen Einrichtungen treten Schwierigkeiten auf, wenn beide Rechner gleichzeitig auf die Speicherzelle zugreifen. Um dies zu verhindern, sind aufwendige Maßnahmen erforderlich, die sicherstel­ len, daß nicht mehrere Rechner gleichzeitig auf die gleiche Spei­ cherzelle zugreifen.
Aufgabe der Erfindung
Der Erfindung liegt die Aufgabe zugrunde, bei einem System mit meh­ reren Rechnern die Sicherheit der Datenübertragung zu gewährleisten, die Verzögerungen durch den Datenaustausch zwischen den Rechnern zu minimieren und die Laufzeitbelastung der einzelnen Rechner sowie des Gesamtsystems zu optimieren.
Vorteile der Erfindung
Das erfindungsgemäße Mehrrechnersystem hat den Vorteil, daß keine Zugriffsregelung nötig ist. Es sind keinerlei Maßnahmen erforder­ lich, die den Zugriff der einzelnen Rechner auf die Speichermittel regeln. Durch die Synchronisation der Rechner ist jeder Rechner darüber informiert, welche Funktionen der andere Rechner gerade ausübt. Desweiteren ergibt sich der Vorteil, daß die einzelnen Be­ rechnungen in jedem beliebigen Rechner erfolgen können. Alle Daten stehen allen Rechnern nahezu gleichzeitig zur Verfügung. So ist es nicht notwendig, daß derjenige Rechner, der mit dem Sensor verbunden ist, dessen Signale auch auswertet. Diese Auswertung kann von einem anderen Rechner übernommen werden. Dadurch wird gewährleistet, daß alle Rechner gleichmäßig ausgelastet sind.
Vorteilhafte und zweckmäßige Ausgestaltungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Zeichnung
Die Erfindung wird nachstehend anhand der in der Zeichnung darge­ stellten Ausführungsformen erläutert. So zeigt die Fig. 1 ein Blockdiagramm eines Mehrrechnersystems mit zwei und die Fig. 2 ein Blockdiagramm eines Mehrrechnersystems mit drei Rechnern. Die Fig. 3 enthält ein Zeitdiagramm der einzelnen Funktionen des Ausführungs­ beispiels mit zwei Rechnern, die Fig. 4 enthält ein entsprechendes Diagramm für die Version mit drei Rechnern. Die Fig. 5 zeigt eine Ausgestaltung, bei der für den Datenaustausch nicht benötigte Speicherbereiche andersweitig genutzt werden.
Die Fig. 1 zeigt ein Blockdiagramm eines Mehrrechnersystems mit zwei Rechnern. Der erste Rechner 100 erhält von verschiedenen Senso­ ren 120 Signale zugeführt und gibt seinerseits Signale an verschiedene Stellwerke 130 ab. Der zweite Rechner 110 erhält ebenfalls Signale von verschiedenen Sensoren 140 und gibt Stellsignale an verschiedene Stellwerke 150 ab. Die beiden Rechner 100 und 110 stehen über ein Speichermittel 160 miteinander in Verbindung. Dieser Speicher ist in zwei Bereiche 161 und 162 unterteilt. Der erste Bereich 161 dient zum Datentransfer vom ersten Rechner 100 in den zweiten Rechner 110. Der zweite Bereich 162 dient zum Datentransfer vom zweiten Rechner 110 in den ersten Rechner 100.
Der erste Rechner 100 kann als Master-Rechner bezeichnet werden. Bei einer selbstzündenden Brennkraftmaschine berechnet er vorzugsweise ein Signal, das die einzuspritzende Kraftstoffmenge kennzeichnet. Er gibt dabei ein entsprechendes Steuersignal (Kraftstoffmengensignal) an das mengenbestimmende Stellwerk ab. Die Berechnung der einzu­ spritzenden Kraftstoffmenge erfolgt abhängig vom Ausgangssignal ei­ nes Drehzahlsensors und weiteren Sensoren.
Der zweite Rechner 110 übernimmt in diesem Fall die Berechnung des Einspritzbeginns. Hierzu gibt er ein Spritzbeginnsignal an ein ent­ sprechendes Stellwerk 150 ab. In diesem Fall verarbeitet auch der zweite Rechner 110 wenigstens das Ausgangssignal eines Drehzahlsen­ sors.
Die Erfindung ist nicht auf die Steuerung von Dieselbrennkraftma­ schinen beschränkt, sie läßt sich auch auf andere Steuer- und Rege­ lungsvorgänge übertragen. Bei einer fremdgezündeten Brennkraftma­ schine kann ein Rechner zum Beispiel die Bestimmung der Ansteuer­ signale für den Drosselklappensteller und ein andere die Bestimmung des Zündzeitpunkts oder der Einspritzmenge übernehmen. Desweiteren ist es vorstellbar, daß die Rechner zum Beispiel Funktionen wie Ge­ triebesteuerung, Antiblockierschutz, Abgasrückführung oder Lade­ druckregelung ausüben.
Bei Ausfall des zweiten Rechners 110 übernimmt der erste Rechner 100 teilweise dessen Funktion. In diesem Fall wird der Funktionsumfang der Mengen- und der Spritzbeginnberechnung eingeschränkt. Dadurch ist ein, wenn auch nicht so komfortabler, Notfahrbetrieb möglich. Bei Ausfall des ersten Rechners 100 übernimmt der zweite Rechner 110 ebenfalls im eingeschränkten Umfang, die Funktionen des ersten Rech­ ners. Hierzu ist es notwendig, daß jeweils beide Rechner auf beide Stellwerke zugreifen können.
Das erfindungsgemäße Verfahren ist aber nicht nur auf ein solches Ausführungsbeispiel beschränkt. Es kann auch vorgesehen sein, daß der eine Rechner nur mit Sensoren verbunden ist, und dieser Rechner die von diesen Sensoren gelieferten Signale entsprechend auswertet. Der andere Rechner ist dann mit den Stellwerken verbunden und be­ rechnet ausgehend von den Werten des ersten Rechners die Ansteuer­ signale für die Stellwerke.
Zur Datenübertragung sind die beiden Rechner mit einem Speichermit­ tel 160 verbunden. Besonders vorteilhaft wird hierzu ein DPRAM (Dual Port RAM) verwendet. Ein solcher DPRAM besitzt zwei Anschlüsse bzw. Bus-Verbindungen. Er kann also mit zwei Rechnern verbunden werden. Dadurch wird ermöglicht, daß zwei Rechner auf ihn zugreifen.
Erfindungsgemäß wird der Speicher 160 in zwei Bereiche 161 und 162 aufgeteilt. Auf den ersten Bereich 161 kann der erste Rechner nur schreibend zugreifen. In diesen Bereich kann der erste Rechner 100 also nur Werte einschreiben. Der zweite Rechner 110 dagegen kann auf diesen Bereich 161 nur lesend zugreifen. Der zweite Rechner 110 kann also aus diesem Bereich 161 Daten nur auslesen. Der Bereich 161 dient also zum Datentransfer vom ersten Rechner 100 zum zweiten Rechner 120. Der zweite Bereich 162 dient dagegen zum Datentransfer vom zweiten Rechner 110 zum ersten Rechner 100. Der erste Rechner 100 kann also auf den zweiten Bereich 162 nur lesend und der zweite Rechner 110 nur schreibend zugreifen.
Dabei muß sichergestellt werden, daß auf eine Speicherzelle nicht gleichzeitig von beiden Rechnern zugegriffen wird. Bei den bekannten Systemen wird dies durch umfangreiche schaltungstechnische Maßnahmen bzw. durch aufwendige Verfahren sichergestellt.
Das erfindungsgemäße Mehrrechnersystem löst dies dadurch, daß wie folgt vorgegangen wird. Beide Rechner arbeiten synchron, das heißt beide Rechner führen entsprechende Funktionen gleichzeitig aus. Dies bedeutet, daß beide Rechner zum Beispiel gleichzeitig lesend auf den Speicher 160 zugreifen. Da der erste Rechner nur Werte aus dem zwei­ ten Bereich 162 ausliest und der zweite Rechner 110 nur Werte aus dem ersten Bereich 161 ausliest, ergeben sich keine Zugriffsproble­ me. Entsprechendes gilt auch für den schreibenden Zugriff.
Der Ablauf der einzelnen Funktionen wird anhand des Diagramms der Fig. 3 erläutert. Üblicherweise wird ein Rechner als Masterrechner bezeichnet. In diesem Ausführungsbeispiel ist dies der erste Rechner R1. Nachdem von außen ein Interrupt den ersten Rechner R1 erreicht, startet dieser mit einer vorbestimmten Funktionsabfolge. Gleichzei­ tig gibt er einen Interrupt DPI an den zweiten Rechner R2. Auf die­ sen Interrupt hin, startet auch der zweite Rechner R2 mit einer be­ stimmten Funktionsabfolge. Der Interrupt, der den Rechner R1 star­ tet, kann zum einen zeitorientiert oder ereignisorientiert sein. So kann dieser Interrupt durch eine vorgegebene Taktfrequenz immer in gleichen Zeitabständen ausgelöst werden. Andererseits ist es aber auch vorteilhaft, daß dieser ereignisorient ausgelöst wird. Dies besagt, daß bei Vorliegen eines bestimmten Ereignisses der Interrupt ausgelöst wird. Ein solches Ereignis ist zum Beispiel das Auftreten eines Drehzahlimpulses.
Nach Auftreten eines Interrupts starten beide Rechner mit der glei­ chen vorgegebenen Funktionsabfolge. In einem ersten Zeitraum E wer­ den die Daten aus dem Speicher 160 in den jeweiligen Rechner einge­ lesen (Funktion Einlesen). In einem zweiten Zeitraum R berechnen die Rechner ausgehend von diesen Daten bestimmte Werte (Funktion Rech­ nen). In einem sich daran anschließenden Zeitraum S werden Sensor­ signale erfaßt. Anschließend daran werden im Zeitraum A die berech­ neten Werte und die erfaßten Sensorsignale in den Speicher 160 aus­ gelesen (Funktion Auslesen).
Nach einer gewissen Zeitspanne erfolgt dann ein erneuter Interrupt für den Rechner 1, auf den hin dieser wieder einen Interrupt DPI an den Rechner 2 weitergibt. Daraufhin arbeiten die beiden Rechner wie­ der die einzelnen Funktionen ab.
Wie das Diagramm zeigt, greifen die beiden Rechner R1 und R2 in ei­ nen ersten Zeitraum E nur lesend auf den Speicher 160 zu. Erst in einem späteren Zeitraum S greifen die beiden Rechner schreibend auf den Speicher zu. Die beiden Funktionen Einlesen und Auslesen sind durch die Funktion Rechnen getrennt. Dadurch ist gewährleistet, daß nicht gleichzeitig schreibend und lesend auf einen Speicher zuge­ griffen wird.
Durch das Erfassen der Sensorwerte kurz vor Ausgabe der Werte in den Speicher, stehen diese Werte in beiden Rechnern zur Verfügung. Da­ durch ist sichergestellt, daß einem Rechner auch Werte von einem Sensor zur Verfügung stehen, mit dem er nicht unmittelbar verbunden ist. Dem ersten Rechner 100 stehen also auch die Werte der Sensoren 140 zur Verfügung.
Bei jedem Interrupt stehen allen Rechnern nach Einlesen des Spei­ cherinhalts die gleichen Werte zur Verfügung. Dadurch wird ermög­ licht, daß die einzelnen Berechnungen gleichmäßig auf die Rechner aufgeteilt werden können. So kann der Rechner 1, der eigentlich nur die Kraftstoffmenge berechnet, noch Aufgaben des Rechners 2 überneh­ men. Dadurch ist eine gleichmäßige Auslastung der beiden Rechner gewährleistet. Die einzelnen Berechnungen können in jedem beliebigen Rechner durchgeführt werden. Der Rechner 1 kann zum Beispiel ausge­ hend von den Werten der Sensoren 140 Signale zur Ansteuerung des Stellwerks 150, die eigentlich dem zweiten Rechner zugeordnet sind, ausführen. Dies bietet unter anderem den Vorteil, daß Rechner mit guten mathematischen Eigenschaften mit Rechnern, die ein gutes Ein- Ausgangsverhalten aufweisen, gekoppelt werden können.
Die Fig. 2 zeigt ein Blockdiagramm für ein Dreirechnersystem. Der erste Rechner 200 erfaßt Eingangssignale verschiedener Sensoren 202 und gibt Steuersignale an verschiedene Stellwerke 204 ab. Der zweite Rechner 300 erfaßt Sensorsignale der Sensoren 302 und gibt Stell­ signale an die Stellwerke 304 ab. Der dritte Rechner 400 erfaßt Signale der Sensoren 402 und gibt Stellsignale an die Stellwerke 404 ab.
Der erste und der zweite Rechner sind jeweils mit dem Speicher 350 verbunden. Dies ist vorzugsweise in drei Bereiche aufgeteilt. Auf den ersten Bereich 351 und den zweiten Bereich 352 kann der zweite Rechner nur lesend zugreifen. Auf den dritten Speicherbereich 353 kann er dagegen nur schreibend zugreifen. Auf den ersten und zweiten Speicherbereich greift der erste Rechner nur schreibend und auf den dritten Speicherbereich 353 nur lesend zu.
Der erste und der dritte Rechner sind jeweils mit dem Speicher 450 verbunden. Dies ist vorzugsweise in drei Bereiche aufgeteilt. Auf den ersten Speicherbereich 451 des Speichers 450 greift der dritte Rechner nur schreibend und der erste Rechner nur lesend zu. Auf den zweiten und dritten Speicherbereich 452, 453 des Speichers 450 greift der erste Rechner nur schreibend und der dritte Rechner 400 nur lesend zu.
Durch die strichpunktierten Linien ist angedeutet, daß in dem ersten Speicherbereich 351 des Speichers 350 vom ersten Rechner 200 die Daten eingelesen werden, die er vom dritten Rechner 400 erhalten hat. Desweiteren ist gestrichelt angedeutet, daß in den dritten Speicher 453 des Speichers 450 der erste Rechner 200 die Daten ein­ liest, die er vom zweiten Rechner 300 erhalten hat.
Eine besonders vorteilhafte Ausgestaltung der Erfindung bei dem Dreirechnersystem ergibt sich, wenn der erste Rechner 200 lediglich die Berechnung der Ansteuersignale für die Stellwerke übernimmt. Der zweite Rechner 300 übernimmt dann die Berechnung der Grunddaten (Kraftstoffmengensignal, Spritzbeginnsignal) für den ersten Rechner 200. Der dritte Rechner 400 ist mit der Ein- und Ausgabe verschie­ dener Werte von verschiedenen Sensoren ausgelastet.
In Fig. 4 ist ein Ablaufdiagramm der verschiedenen Funktionsabfol­ gen eingezeichnet. Bei diesem Ausführungsbeispiel ist der erste Rechner 200 der Masterrechner. Erhält dieser von außen einen ereig­ nis- bzw. zeitorientierten Triggerimpuls, so gibt dieser ein Inter­ ruptsignal an den zweiten Rechner 300 und den dritten Rechner 400 weiter. Nach dem Interrupt starten alle drei Rechner mit der Funk­ tion Einlesen E der Daten aus dem DPRAM-Speicher. Nach dem Einlesen der Daten werden ausgehend von diesen Daten verschiedene Werte be­ rechnet. Dies ist in dem Diagramm mit R bezeichnet. Daran an­ schließend werden in einem weiteren Schritt S die Werte von ver­ schiedenen Sensoren eingelesen. Die einzelnen Rechner lesen die Werte der mit ihnen direkt verbundenen Sensoren ein. Dabei ist es nicht zwingend, daß alle Rechner mit Sensoren verbunden sind. Es ist durchaus denkbar, daß nur ein Rechner, zum Beispiel der dritte Rech­ ner 400 mit Sensoren in Verbindung steht. In diesem Fall entfällt bei den übrigen Rechnern diese Funktion. Anschließend werden die Daten für den Speicher DPRAM ausgelesen (Funktion A). Dies bedeutet, die Daten werden in den DPRAM geschrieben.
Der erste Rechner 200 liest (Funktion E) die Daten aus dem Speicher­ bereich 353 des Speichers 350 und dem Speicherbereich 451 des Spei­ chers 450. Der zweite Rechner 300 liest die Daten aus den Speicher­ bereichen 351, 352 und der dritte Rechner 400 liest die Daten aus dem Speicherbereich 453 und 452. Während der Funktion Einlesen E greifen also alle Rechner auf unterschiedliche Speicherbereiche zu. Auf jeden Speicherbereich wird nur von einem Rechner zugegriffen. Während der Funktion A (Schreiben in die Speicher), bei dem die einzelnen Speicherbereiche beschrieben werden, beschreibt der erste Rechner 200 den Speicherbereich 352 und den Speicherbereich 452. Der dritte Rechner beschreibt den Speicherbereich 451 und der zweite Rechner 300 beschreibt den Speicherbereich 353.
An diesen Funktionsablauf schließt sich nochmals ein weiterer Funk­ tionsablauf an, bei dem lediglich der Masterrechner (erster Rechner 200) aktiv ist. Es stehen nun die Daten, die der zweite Rechner in den Speicher eingelesen hat, nur dem zweiten und dem ersten Rechner zur Verfügung. Der dritte Rechner kann auf die Daten des zweiten Rechners und umgekehrt noch nicht zugreifen. Daher ist es erforder­ lich, daß der erste Rechner in einem weiteren Funktionsablauf die Daten des zweiten Rechners in den Speicher 450 und die Daten des dritten Rechners in den Speicher 350 einschreibt.
Der erste Rechner 200 liest aus dem Speicher 353 und dem Speicher 451 Werte ein. Es erfolgt also ein lesender Zugriff auf den DPRAM. Nach einem möglichen Rechenschritt liest er die Daten, die er aus dem Speicher 350 eingelesen hat, in den Speicherbereich 453 aus. Die Werte, die er als Speicherbereich 451 eingelesen hat, liest er in den Speicherbereich 351 aus. Auf den Speicher DPRAM 351 wird also schreibend zugegriffen. Durch diese Vorgehensweise ist gewährlei­ stet, daß nach dem nächsten Einlesen der Daten in die Rechner alle Daten allen Rechnern zur Verfügung stehen.
Die beschriebene Vorgehensweise ist nicht nur auf zwei und drei Rechnersysteme begrenzt. Besonders vorteilhaft kann diese Vorgehens­ weise auch auf Rechnersysteme mit mehr als drei Rechnern ausgedehnt werden. Die Funktionsabfolge, daß die Rechner zuerst lesend und dann schreibend auf den Speicher zugreifen ist nicht zwingend erforder­ lich. Vorteilhaft kann auch zuerst schreibend und dann lesend auf den Speicher zugegriffen werden.
Üblicherweise werden als Dual Port RAM Speicherbausteine verwendet, die eine Speicherkapazität von mehr als 2 kByte aufweisen. Für die im vorhergehenden Text beschriebenen Aufgabe bzgl. des Datenaustau­ sches wird lediglich ein halbes kByte Speicherkapazität benötigt. Erfindungsgemäß wird daher vorgeschlagen, daß die nicht zum Daten­ austausch benötigten Speicherbereiche des Dual Fort RAMS als exter­ nes RAM für die Mikrorechner verwendet werden. Die Vorgehensweise bietet den Vorteil, daß externe RAM Bausteine eingespart werden kön­ nen. Dadurch können Kosten und Leiterplattenfläche gespart werden. Weiterhin ist die Zuverlässigkeit höher und die Störanfälligkeit geringer, da die Anzahl von Bausteinen und Verbindungsstellen gerin­ ger ist.
Anhand der Fig. 5 soll der Aufbau eines solchen erfindungsgemäßen Systems näher erläutert werden. Das System gemäß Fig. 5 entspricht im wesentlichen dem Ausführungsbeispiel nach Fig. 2. So sind auch entsprechende Bauteile mit den gleichen Bezugsziffern gekennzeich­ net. Die Sensoren 402, 202 und 302 sowie die Stellwerke 304, 204 und 404 sind um die Übersichtlichkeit zu erhöhen, weggelassen worden.
Der erste Rechner 200 steht über den Speicher 350 mit dem zweiten Rechner 300 in Verbindung. Desweiteren steht der erste Rechner 200 über den Speicher 450 mit dem dritten Rechner 400 in Verbindung. Der Speicher 350 ist in drei Bereiche aufgeteilt. Der erste Bereich ent­ spricht den in Fig. 2 beschriebenen Bereichen 351, 352 und 353, die für den Datenaustausch zwischen den Rechnern benötigt werden. Der nicht für den Datenaustausch benötigte Speicherbereich ist in zwei weitere Teile 525 und 530 aufgeteilt. Auf den Speicherbereich 530 greift lediglich der zweite Rechner 300 zu. Hierzu erzeugt ein erster Decoder 535 ein entsprechendes Ansteuersignal. Auf ein weite­ res Speicherelement 550 kann ebenfalls der erste Decoder 535 zugrei­ fen. Aus dem Speicherbereich 530 und dem Speicherelement 550 werden abhängig von den Ausgangssignalen des Decoders 535 Daten ausgelesen bzw. eingelesen.
Der zweite Teil 525 des Speichers 350 kann von einem zweiten Decoder 520 angesprochen werden. Der Decoder 520 wird von dem ersten Rechner 200 mit entsprechenden Signalen beaufschlagt. Desweiteren kann der Decoder 520 auch den Speicherbereich 510 des Speichers 450 ansteu­ ern. Ferner steuert der zweite Decoder 520 einen externen Speicher 545 an. Aus dem Speicherbereich 525, dem Speicherbereich 510 und dem Speicherelement 550 kann der Rechner 200 abhängig von den Ausgangs­ signalen des Decoders 535 Daten auslesen bzw. einlesen.
Ein dritter Decoder, der von dem dritten Rechner 400 mit Signalen beaufschlagt wird steuert den Speicherbereich 505 des Speichers 450 sowie den externen Speicher 540 an. Aus dem Speicherbereich 505 und dem Speicherelement 540 werden durch den Rechner 400 abhängig von den Ausgangssignalen des Decoders 515 Daten ausgelesen bzw. einge­ lesen.
Wie dieses Ausführungsbeispiel zeigt, ist jedem Rechner ein externer Speicher 540, 545 und 550 zugeordnet. Desweiteren kann der zweite Rechner 300 auf den Speicherbereich 530 des Speichers 350, der erste Rechner 200 auf den Speicherbereich 520 des Speichers 350 und auf den Speicherbereich 510 des Speichers 450 zugreifen. Der dritte Rechner 400 kann auf den Speicherbereich 505 des Speichers 450 zugreifen.
Besonders vorteilhafte Abwandlungen sehen vor, daß auf externe Spei­ cher 540, 545 oder 550 eventuell ganz verzichtet werden kann. Es kann auch vorgesehen werden, daß nur jeweils ein Rechner auf einen Speicher zugreift, so ist es zum Beispiel vorstellbar, daß der zwei­ te Rechner 300 auf den nicht benötigten Speicherplatz des Speicher 350 zugreift. In diesem Fall hat der erste Rechner nur Zugriff auf den Speicher 545 bzw. den Speicherbereich 510 des Speichers 450. In diesem Fall ist es denkbar, daß das Speicherelement 550 völlig ein­ gespart werden kann.

Claims (9)

1. Mehrrechnersystem insbesondere zur Steuerung von Vorgängen in Kraftfahrzeugen, wobei wenigstens zwei Rechner gemeinsam auf ein Speichermittel zugreifen, dadurch gekennzeichnet, daß das Speicher­ mittel in wenigstens zwei Bereiche unterteilt ist, daß auf einen Speicherbereich ein erster Rechner nur lesend und ein zweiter Rech­ ner nur schreibend zugreift, und daß auf einen weiteren Speicherbe­ reich der zweite Rechner nur lesend und der erste Rechner nur schreibend zugreift, wobei die Rechner so synchronisiert werden, daß die Rechner zum gleichen Zeitpunkt in der gleichen Weise auf das Speichermittel zugreifen.
2. Mehrrechnersystem nach Anspruch 1, dadurch gekennzeichnet, daß alle Rechner jeweils gleiche Funktionsabfolgen (Lesen, Rechnen, Schreiben) ausführen.
3. Mehrrechnersystem nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß ein Master-Rechner einen Interrupt an wenigstens einen Slave-Rechner abgibt auf den hin alle Rechner mit der gleichen Funktionsabfolge starten.
4. Mehrrechnersystem nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß anschließend an den Interrupt die Rechner zuerst lesend und danach schreibend auf das Speichermittel zugreifen.
5. Mehrrechnersystem nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß der Slave-Rechner bei Ausfall des Master-Rech­ ners einen Notbetrieb ermöglicht, indem er dessen Funktion teilweise übernimmt.
6. Mehrrechnersystem nach wenigstens einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß daß der Master-Rechner bei Ausfall des Slave-Rechners einen Notbetrieb ermöglicht, indem er dessen Funktion teilweise übernimmt.
7. Mehrrechnersystem nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß der Master-Rechner, ein Kraftstoffmengensignal und der Slave-Rechner ein Spritzbeginnsignal berechnet.
8. Mehrrechnersystem nach einem der Ansprüche 1 bis 6, dadurch ge­ kennzeichnet, daß der Master-Rechner Ansteuersignale berechnet, und der Slave-Rechner das Kraftstoffmengensignal und das Spritzbeginn­ signal berechnet, sowie ein weiterer Slave-Rechner die Ein- und Aus­ gabe von Daten übernimmt.
9. Mehrrechnersystem nach einem der Ansprüche 1 bis 8, dadurch ge­ kennzeichnet, daß die nicht zum Datenaustausch benötigten Speicher­ bereiche der Speichermittel als externer Speicher für die Mikrorech­ ner verwendet werden.
DE4129809A 1991-01-28 1991-09-07 Mehrrechnersystem Expired - Fee Related DE4129809C2 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE4129809A DE4129809C2 (de) 1991-01-28 1991-09-07 Mehrrechnersystem
FR9116408A FR2672140B1 (fr) 1991-01-28 1991-12-31 Systeme a multicalculateur.
JP00526992A JP3452324B2 (ja) 1991-01-28 1992-01-16 マルチコンピュータ装置
US08/222,505 US5454095A (en) 1991-01-28 1994-04-05 Multi-processor system in which at least two processors access the same memory

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE4102390 1991-01-28
DE4129809A DE4129809C2 (de) 1991-01-28 1991-09-07 Mehrrechnersystem

Publications (2)

Publication Number Publication Date
DE4129809A1 true DE4129809A1 (de) 1992-07-30
DE4129809C2 DE4129809C2 (de) 2000-08-17

Family

ID=6423818

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4129809A Expired - Fee Related DE4129809C2 (de) 1991-01-28 1991-09-07 Mehrrechnersystem

Country Status (2)

Country Link
US (1) US5454095A (de)
DE (1) DE4129809C2 (de)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995010811A1 (en) * 1993-10-13 1995-04-20 Nokia Telecommunications Oy Method and system for transferring data between processors
WO1996007819A1 (en) * 1994-09-11 1996-03-14 Mecel Ab Arrangement and method for configuration of distributed computer networks implemented in multi cylinder combustion engines
DE19736231A1 (de) * 1997-08-20 1999-02-25 Siemens Ag Verfahren zum Ändern von Daten eines Steuergeräts für ein Kraftfahrzeug
EP1074901A2 (de) * 1999-08-03 2001-02-07 Lorenzo Ancona Programmierbare und computerisierte Systemeinheit für eine zentralisierte Verwaltung von Befehls- und Antriebsvorrichtungen in elektrischen Betriebseinrichtungen
EP1093037A2 (de) * 1999-10-11 2001-04-18 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung von Vorgängen in einem Fahrzeug
EP2177413A3 (de) * 2004-07-15 2011-02-16 Hitachi Ltd. Fahrzeugsteuerungssystem

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69316559T2 (de) * 1992-12-03 1998-09-10 Advanced Micro Devices Inc Servoregelkreissteuerung
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
US5574863A (en) * 1994-10-25 1996-11-12 Hewlett-Packard Company System for using mirrored memory as a robust communication path between dual disk storage controllers
US5774745A (en) * 1995-03-31 1998-06-30 Cirrus Logic, Inc. Method and apparatus for writing and reading entries in an event status queue of a host memory
US5687091A (en) * 1995-06-08 1997-11-11 Automatic Control Technologies Integrated arrangement for monitoring without interrupt process flow by novel sensor arrangement with unique data processing system
US5845322A (en) * 1996-09-17 1998-12-01 Vlsi Technology, Inc. Modular scalable multi-processor architecture
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6233659B1 (en) 1998-03-05 2001-05-15 Micron Technology, Inc. Multi-port memory device with multiple modes of operation and improved expansion characteristics
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6119244A (en) * 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
US6961749B1 (en) 1999-08-25 2005-11-01 Network Appliance, Inc. Scalable file server with highly available pairs
US6668264B1 (en) 2001-04-03 2003-12-23 Network Appliance, Inc. Resynchronization of a target volume with a source volume
US7694302B1 (en) 2001-04-05 2010-04-06 Network Appliance, Inc. Symmetric multiprocessor synchronization using migrating scheduling domains
US7178137B1 (en) 2001-04-05 2007-02-13 Network Appliance, Inc. Automatic verification of scheduling domain consistency
ITBO20030256A1 (it) * 2003-04-30 2004-11-01 Magneti Marelli Powertrain Spa Sistema di controllo con architettura multiprocessore per
US7373640B1 (en) 2003-07-31 2008-05-13 Network Appliance, Inc. Technique for dynamically restricting thread concurrency without rewriting thread code
US8171480B2 (en) * 2004-01-27 2012-05-01 Network Appliance, Inc. Method and apparatus for allocating shared resources to process domains according to current processor utilization in a shared resource processor
US8799706B2 (en) * 2004-03-30 2014-08-05 Hewlett-Packard Development Company, L.P. Method and system of exchanging information between processors
US7889645B2 (en) * 2004-06-17 2011-02-15 Qualcomm Incorporated Hybrid coordination function implementation
KR100609265B1 (ko) * 2004-11-10 2006-08-09 삼성전자주식회사 메모리 장치 및 메모리 장치의 듀얼 포트 동작 방법
US8347293B2 (en) * 2005-10-20 2013-01-01 Network Appliance, Inc. Mutual exclusion domains to perform file system processes on stripes
GB2435939A (en) * 2006-01-23 2007-09-12 John Phillip Chevalier Electronic control system for safety or security critical devices or systems in a vehicle
US8089516B2 (en) * 2006-06-20 2012-01-03 Hewlett-Packard Development Company, L.P. Event management for camera systems
KR20090039761A (ko) * 2006-07-14 2009-04-22 인터디지탈 테크날러지 코포레이션 심볼 레이트 하드웨어 가속기
US8209470B2 (en) * 2009-04-10 2012-06-26 Honeywell International Inc. CPU data bus PLD/FPGA interface using dual port RAM structure built in PLD
US8347044B2 (en) * 2009-09-30 2013-01-01 General Electric Company Multi-processor based programmable logic controller and method for operating the same
US8473818B2 (en) * 2009-10-12 2013-06-25 Empire Technology Development Llc Reliable communications in on-chip networks
US8627331B1 (en) 2010-04-30 2014-01-07 Netapp, Inc. Multi-level parallelism of process execution in a mutual exclusion domain of a processing system
CN102540953A (zh) * 2010-12-24 2012-07-04 深圳市合信自动化技术有限公司 可编程逻辑控制器的数据处理方法及可编程逻辑控制器
US11836547B2 (en) * 2017-09-27 2023-12-05 Hitachi Astemo, Ltd. Data transmission device including shared memory having exclusive bank memories for writing and reading

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4164787A (en) * 1977-11-09 1979-08-14 Bell Telephone Laboratories, Incorporated Multiple microprocessor intercommunication arrangement
JPS5797133A (en) * 1980-12-05 1982-06-16 Minolta Camera Co Ltd Control system of data transfer
US4443846A (en) * 1980-12-29 1984-04-17 Sperry Corporation Dual port exchange memory between multiple microprocessors
SE445572B (sv) * 1981-06-29 1986-06-30 Volvo Ab Hjulspinnreglersystem for motorfordon
US5010476A (en) * 1986-06-20 1991-04-23 International Business Machines Corporation Time multiplexed system for tightly coupling pipelined processors to separate shared instruction and data storage units
US4894797A (en) * 1986-11-17 1990-01-16 Amp Incorporated FIFO data storage system using PLA controlled multiplexer for concurrent reading and writing of registers by different controllers
US4875157A (en) * 1987-03-18 1989-10-17 International Telesystems Corporation Alternate memory addressing for information storage and retrieval
US4876664A (en) * 1987-08-26 1989-10-24 Allen-Bradley Company, Inc. Programmable controller with a dual intermodule message system
GB2217056A (en) * 1988-03-23 1989-10-18 Benchmark Technologies Double buffering in multi-processor
US5014247A (en) * 1988-12-19 1991-05-07 Advanced Micro Devices, Inc. System for accessing the same memory location by two different devices

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4497671B4 (de) * 1993-10-13 2004-02-05 Nokia Telecommunications Oy Verfahren und System zur Übertragung von Daten zwischen Prozessoren
GB2298064A (en) * 1993-10-13 1996-08-21 Nokia Telecommunications Oy Transferring data between processors
GB2298064B (en) * 1993-10-13 1998-01-14 Nokia Telecommunications Oy Method and system for transferring data between processors
WO1995010811A1 (en) * 1993-10-13 1995-04-20 Nokia Telecommunications Oy Method and system for transferring data between processors
WO1996007819A1 (en) * 1994-09-11 1996-03-14 Mecel Ab Arrangement and method for configuration of distributed computer networks implemented in multi cylinder combustion engines
DE19736231A1 (de) * 1997-08-20 1999-02-25 Siemens Ag Verfahren zum Ändern von Daten eines Steuergeräts für ein Kraftfahrzeug
DE19736231C2 (de) * 1997-08-20 2000-03-02 Siemens Ag Verfahren zum Ändern von Daten eines Steuergeräts für ein Kraftfahrzeug
EP1074901A2 (de) * 1999-08-03 2001-02-07 Lorenzo Ancona Programmierbare und computerisierte Systemeinheit für eine zentralisierte Verwaltung von Befehls- und Antriebsvorrichtungen in elektrischen Betriebseinrichtungen
EP1074901A3 (de) * 1999-08-03 2004-01-07 Lorenzo Ancona Programmierbare und computerisierte Systemeinheit für eine zentralisierte Verwaltung von Befehls- und Antriebsvorrichtungen in elektrischen Betriebseinrichtungen
EP1093037A3 (de) * 1999-10-11 2004-01-21 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung von Vorgängen in einem Fahrzeug
EP1093037A2 (de) * 1999-10-11 2001-04-18 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung von Vorgängen in einem Fahrzeug
EP2177413A3 (de) * 2004-07-15 2011-02-16 Hitachi Ltd. Fahrzeugsteuerungssystem
US8645022B2 (en) 2004-07-15 2014-02-04 Hitachi, Ltd. Vehicle control system
US9650038B2 (en) 2004-07-15 2017-05-16 Hitachi, Ltd. Vehicle control system

Also Published As

Publication number Publication date
US5454095A (en) 1995-09-26
DE4129809C2 (de) 2000-08-17

Similar Documents

Publication Publication Date Title
DE4129809C2 (de) Mehrrechnersystem
DE69428633T2 (de) Fahrzeugsdiagnosesystem
DE4410775C2 (de) Steuergerät und Arbeitsverfahren eines Betriebssystems für dieses Steuergerät
DE2953861C2 (de)
EP0512240A1 (de) System zur Steuerung eines Kraftfahrzeuges
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE4003507A1 (de) Digitales steuergeraet, insbesondere zuend- und/oder einspritzsteuergeraet fuer kraftfahrzeuge
DE102006019305A1 (de) Verfahren zur Datenübertragung von und zu einem Steuergerät
DE68922545T2 (de) Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen.
EP0886823B1 (de) Verfahren zur überprüfung der funktionsfähigkeit einer recheneinheit
DE4005042C2 (de) Mehrrechnersystem zur Durchführung von Bewegungssteuerungen
DE3543996C2 (de) Verfahren und Vorrichtung zur Anpassung eines Mehrrechnersystems an verschiedene Anwendungsbedingungen
EP1565825A2 (de) Einrichtung und verfahren zur analyse von eingebetteten systemen
DE3501194C2 (de) Verfahren und Vorrichtung zum Datenaustausch zwischen Mikroprozessoren
EP1093037B1 (de) Verfahren und Vorrichtung zur Steuerung von Vorgängen in einem Fahrzeug
EP0207051B1 (de) Mikrorechnersystem
DE69411096T2 (de) Entwicklungsunterstützungssystem für einen Mikrocomputer mit internem Cachespeicher
EP3736688B1 (de) Virtuelles steuergerät
DE69232371T2 (de) Programmierbares Steuergerät
DE19607101A1 (de) Elektronisches Gerät und Einrichtung zur Datenübertragung zwischen zwei gleichartig aufgebauten elektronischen Geräten
DE19755311B4 (de) Verfahren und Vorrichtung zur Informationsübertragung in Kraftfahrzeugen
EP0677147B1 (de) Controller in einem rechenwerk
DE19903302B4 (de) Verfahren und Vorrichtung zur Überprüfung der Funktion eines Rechners
DE10200242A1 (de) Verfahren zur Funktionsüberwachung eines Steuergeräts
EP0562151A1 (de) Integrierter Mikroprozessor

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee