DE3638947C2 - Verfahren zur Synchronisation von Rechnern eines Mehrrechnersystems und Mehrrechnersystem - Google Patents

Verfahren zur Synchronisation von Rechnern eines Mehrrechnersystems und Mehrrechnersystem

Info

Publication number
DE3638947C2
DE3638947C2 DE3638947A DE3638947A DE3638947C2 DE 3638947 C2 DE3638947 C2 DE 3638947C2 DE 3638947 A DE3638947 A DE 3638947A DE 3638947 A DE3638947 A DE 3638947A DE 3638947 C2 DE3638947 C2 DE 3638947C2
Authority
DE
Germany
Prior art keywords
computers
time
time stamp
computer
computer system
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.)
Expired - Fee Related
Application number
DE3638947A
Other languages
English (en)
Other versions
DE3638947A1 (de
Inventor
Hugo Weller
Wolfgang Dipl Ing Drobny
Peter Taufer
Werner Nitschke
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 DE3638947A priority Critical patent/DE3638947C2/de
Priority to JP62281183A priority patent/JPS63136247A/ja
Publication of DE3638947A1 publication Critical patent/DE3638947A1/de
Priority to US07/402,979 priority patent/US4945486A/en
Application granted granted Critical
Publication of DE3638947C2 publication Critical patent/DE3638947C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

Die Erfindung betrifft ein Verfahren zur Synchronisation von Rechnern eines Mehrrechnersystems, insbesondere für Sicherheitseinrichtungen in Kraftfahrzeugen (z. B. Anti­ blockiersysteme, Airbags oder Gurtstrammer) wobei die Rechner eigene Zeitmarkengeber enthalten und durch Daten- und/oder Steuerleitungen untereinander verbunden sind.
Mehrrechnersysteme werden bei der schnellen Verarbeitung großer Datenmengen in kurzer Zeit benötigt, wie sie bei der Überwachung, Steuerung und Regelung von Prozessen oder beim Datenabruf aus umfangreichen Dateien auftre­ ten. Dabei werden mehrere Rechner zur Ausführung einer gemeinsamen Aufgabe zusammengeschlossen, indem zwischen ihnen ein gegenseitiger Datenaustausch vorgenommen wird.
Ein Anwendungsbereich für derartige Mehrrechnersysteme ist die Steuerung von Sicherheitssystemen in Kraftfahr­ zeugen, wie Antiblockiersysteme oder passive Rückhalte­ systeme, z. B. aufblasbare Gaskissen (Airbags), die beim Aufprall des Fahrzeugs auf ein Hindernis automatisch wirksam werden, oder Sicherheitsgurte, die im Moment des Aufpralls gespannt werden (Gurtstrammer). Weitere Anwendungsgebiete sind insbesondere die Zündung, die Ein­ spritzung und komplexe Navigationssysteme. Die Notwendig­ keit für die Verarbeitung großer Datenmengen ergibt sich z. B. bei dem massiven Rückhaltesystemen daraus, daß beim Aufprall des Fahrzeugs auf ein Hindernis die Verzögerungs­ werte in Form einer Maxima und Minima aufweisenden Kurve (Crash Kurve) verlaufen und der Auslösezeitpunkt für die Rückhaltesysteme in einem durch Versuche vorher be­ stimmten exakten Zeitpunkt erfolgen muß.
Die weitere Notwendigkeit der Datenverarbeitung in mög­ lichst kurzer Zeit folgt aus der kurzen Zeitspanne zwischen dem Aufprall des Fahrzeugs auf das Hindernis und der Verletzungsmöglichkeit der Fahrzeuginsassen. In diesem kurzen Zeitraum ist eine lückenlose Erfassung des Verlaufs der Verzögerungskurve erforderlich.
Der Forderung nach einem wirksamen Ansprechen der Rück­ haltesysteme steht mit gleicher Gewichtung der sichere Schutz vor einer fehlerhaften Auslösung gegenüber. Han­ delt es sich bei dem Rückhaltesystem um aufblasbare Gas­ kissen, so kann deren Fehlauslösung bei hohen Geschwin­ digkeiten in Folge einer Sichtbehinderung und Erschre­ cken des Fahrers erhebliche Folgeschäden hervorrufen. Um Fehlauslösungen zu verhindern, müssen die von den Rechnern ausgewerteten Daten ständig überwacht werden, damit eine sich anbahnende Fehlauslösung korrigiert wer­ den kann.
Bisherige Mehrrechnersysteme arbeiteten entweder asyn­ chron oder wurden durch eine externe Synchronisations- und Überwachungsschaltung synchronisiert. Bei dem erst­ genannten Konzept gelangen die für einen Datenaustausch vorgesehenen Daten zunächst in einen Pufferspeicher der Rechner (Mailbox) in der sie solange verbleiben, bis der betreffende Rechner seine gerade laufenden Rechner­ routinen abgearbeitet hat und Zeit findet, die im Puf­ ferspeicher vorhandenen Daten auszuwerten. Dabei sind auch Fallgestaltungen möglich, in denen es beim Daten­ austausch zu erheblichen Verzögerungen kommt.
Bei einer externen Synchronisationsschaltung ist der zusätzliche Schaltungsaufwand erheblich, außerdem entsteht ein insgesamt größerer Raumbedarf, wodurch diese Lösung die Anwendung von Mehrrechnersystemen in bestimmten Anwendungsfällen erschwert oder gar unmöglich macht.
Aus der DE-AS 21 55 159 ist eine Anordnung zum synchronisieren der Rechner in einem Mehrrechnersystem bekannt. Dabei weist jeder Rechner einen Taktoszillator auf, der Zählimpulse erzeugt die in einem Zähler des Rechners gezählt werden. Eine Synchronisierung der Rechner wird dadurch erreicht, daß jeder Rechner ein Synchronisiersignal an die weiteren Rechner über eine gemeinsame Leitung abgibt, wenn sein Zähler eine bestimmte Zählstellung erreicht. Durch das Synchronisiersignal werden die Zähler in den anderen Rechnern nach einer gewissen Zeitverzögerung auf denselben Anfangswert gesetzt, wie der Zähler des Rechners, der den Synchronisierimpuls abgegeben hat. Gleichzeitig wird der schnellere Zähler quasi für eine gewisse Zeit angehalten, so daß die Zähler nachfolgend vom gleichen Startwert ohne große Zeitdifferenz weiterlaufen.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Synchronisation von Rechnern eines Mehrrechnersystems und ein Mehrrechnersystem zu schaffen, das ermöglicht, einen Datenaustausch zwischen den einzelnen Rechnern zu bestimmten Zeiten vorzunehmen und dadurch die Datenverarbeitung zu beschleunigen und/oder zum gleichen Zeitpunkt Eingangssignale abzutasten um die gegenseitige Überwachung zu erleichtern, ohne daß hierzu die Erzeugung externer Synchronisiersignale erforderlich ist.
Diese Aufgabe wird bei einem Verfahren nach dem Oberbegriff des Anspruchs 1 durch die im kennzeichnenden Teil angegebenen Merkmale gelöst.
Die Synchronisation im stationären Zustand erfolgt dabei durch die Erzeugung von Synchronsignalen in Abhängigkeit der im Rechner erzeugten Zeitmarken. Dabei lassen sich Schaltungsteile mit verwenden, die für die Daten­ verarbeitung ohnehin erforderlich sind. Dadurch, daß jeder Rechner aufgrund der empfangenen Synchronsignale in der Lage ist, seine eigenen Zeitmarkenfolge anzupas­ sen, sind keine besonders hohen Anforderungen an die Präzision einer Zeitbasis zu stellen. Allein der Um­ stand, daß ein Gleichlauf unter den Rechnern erzielt werden kann, ermöglicht, den Datenaustausch zu be­ stimmten festgelegten Zeiten, sogenannten Zeitfenstern, durchzuführen. Dadurch ist dann gewährleistet, daß die Daten sofort weiterverarbeitet werden können und so in der gleichen Zeiteinheit eine größere Datenmenge analy­ siert werden kann.
Das erfindungsgemäße Verfahren ermöglicht zudem, den Gleichlaufzustand zwischen den Rechnern nach dem Ein­ schalten oder einem Zurücksetzen in Folge von Störun­ gen sehr schnell herbeizuführen. Da das Anlaufen der Rechner bei einem solchen Ereignis nie exakt zum glei­ chen Zeitpunkt erfolgt, sondern mit mehr oder minder großen zeitlichen Verschiebungen, ist der Gleichlauf nicht von Anfang an gegeben.
Würde jeder Rechner sofort mit der Synchronisation be­ ginnen, so würde sich der Gleichlauf durch einen Regel­ vorgang nach einiger Zeit selbst einstellen. In der Zwischenzeit wäre aber ein gegenseitiger Datenaustausch nicht möglich. Diese Zeitspanne kann dann kritisch wer­ den, wenn die Rechner in Folge eines kurzen Störimpul­ ses zurückgesetzt werden müssen, ihnen aber in dieser Phase die Verarbeitung einer großen Datenmenge abver­ langt wird. Indem das Startsignal des zuletzt anlaufen­ den Rechners als Kriterium für die Erzeugung von Zeit­ marken und damit von Synchronpulsen ausgenutzt wird, ist beim erfindungsgemäßen Verfahren jedoch der Gleich­ lauf der Rechner zum frühest möglichen Zeitpunkt sicher­ gestellt und zwar unter Vermeidung eines Einschwingvor­ ganges.
Auch im stationären Zustand kann die Synchronisation der Rechner bei plötzlichen Abweichungen wieder sehr schnell durchgeführt werden. Dies gelingt durch den fortlaufenden Vergleich der empfangenen Synchronsigna­ le mit den eigenen Zeitmarken. Indem das Maß der Abwei­ chung hier quantitativ ermittelt werden kann, besteht die Möglichkeit, eine Korrektur der Zeitmarkenfolge ge­ nau um den Betrag herbeizuführen, die der zeitlichen Verschiebung entspricht. Ist die zeitliche Verschiebung nicht übermäßig groß, kann der Gleichlauf dann sogar innerhalb der nächsten Periode der Zeitmarkenfolge, d. h. in dem Zeitraum zwischen zwei aufeinanderfolgenden Zeit­ marken erreicht werden. Wenn durch die zeitliche Ver­ schiebung ein Datenaustausch verhindert worden ist, kann dieser dann bereits während der nachfolgenden Periode der Zeitmarkenfolge nachgeholt werden.
Durch die Aussendung der Synchronsignale von jedem be­ teiligten Rechner besteht außerdem die Möglichkeit der gegenseitigen Überwachung der Funktion und Synchronisa­ tion. Durch Synchronisationsfehler bedingte Störungen lassen sich auf diese Weise früher erkennen als z. B. über den Umweg einer Analyse der verarbeiteten Daten.
Dadurch können auch früher Gegenmaßnahmen eingeleitet werden, wodurch die Funktionssicherheit des Mehrrech­ nersystems wesentlich erhöht wird.
Bei einer Weiterbildung des erfindungsgemäßen Verfah­ rens wird die Zeitmarkenfolge bei allen Rechnern ein­ heitlich entweder verzögert oder beschleunigt.
Hierdurch wird sichergestellt, daß die Synchronisation der Rechner schnell einen stationären Zustand erreicht und nicht durch gegenläufige Veränderungen der Zeit­ marken in Regelschwingungen gerät.
Alternativ kann das Startsignal durch eine pulsförmige oder durch eine statische Zustandsänderung dargestellt werden. Dabei ist es zweckmäßig, als Startsignal die Flanke der pulsförmigen oder statischen Zustandsände­ rung auszunutzen.
Auf diese Weise läßt sich der Startzeitpunkt sehr genau festlegen, was auch den anfänglichen Gleichlauf der Rech­ ner bei dem Synchronisationsbeginn verbessert.
In Weiterbildung der Erfindung sind die Synchronsignale durch pulsförmige Zustandsänderungen dargestellt. Dabei ist es zweckmäßig, daß jeder Rechner bei Eintreffen ei­ ner Zeitmarke seines eigenen Zeitmarkengebers eine erste Flanke des Synchronpulses erzeugt und überträgt.
Diese Maßnahme wirkt sich in gleichem Sinne auf die nach­ folgenden Synchronpulse aus, wie sie im Zusammenhang mit den Startsignalen für den anfänglichen Gleichlauf der Rechner bei Beginn der Synchronisation beschrieben ist.
Darüber hinaus ermöglicht diese Zuordnung auch eine ein­ fache und sehr präzise quantitative Bestimmung der zeit­ lichen Verschiebung zwischen der Flanke des Synchron­ pulses und der eigenen Zeitmarke im Falle von Gleich­ laufabweichungen zwischen den Rechnern. Dies kommt wiederum einer schnellen und präzisen Wiederherstellung des Gleichlaufs entgegen.
Bei einer vorteilhaften Ausführungsform wird nach Em­ pfang der ersten Flanke des jeweils ersten Synchronpul­ ses bei allen übrigen Rechnern die zeitliche Verschie­ bung ΔT zwischen dieser Flanke und ihrer eigenen Zeit­ marke verglichen und in Abhängigkeit der Verschiebung wird die Zeitmarkenfolge beschleunigt. Bei diesen Ver­ fahrensschritten wird die Flanke des Synchronpulses des schnellsten Rechners als Bezugsgröße verwendet, worauf­ hin sich alle anderen Rechner mit der Zeitmarkenfolge ihres Zeitmarkengebers auf diesen Rechner einstellen müs­ sen. Im Gegensatz zu einer an sich möglichen Bezugnahme auf den langsamsten Rechner trägt diese Maßnahme zu ei­ ner Beschleunigung der Rechengeschwindigkeit bei.
Vorzugsweise erfolgt die Beschleunigung der Zeitmarken­ folge durch vorzeitiges Auslösen der nächsten Zeitmarke.
Diese Art der Beeinflussung der Zeitmarkenfolge läßt sich besonders einfach bei konkret verkörperten Zeit­ markengebern durchführen und schafft eine Korrektur der Zeitmarkenfolge innerhalb des Zeitraums zwischen zwei aufeinanderfolgenden Zeitmarken.
Bei einer praktischen Ausführungsform der Erfindung er­ zeugen und übertragen nach Empfang der ersten Flanke des jeweils letzten Synchronpulses alle Rechner eine z-weite Flanke ihrer Synchronpulse. Hierdurch wird der ohnehin erforderliche Rücksprung des Signalpegels bei den Synchronpulsen in Form eines Quittungssignals für die gegenseitige Überwachung der Rechner ausgenutzt.
In Weiterbildung der Erfindung werden bei Abweichen ei­ nes oder mehrerer Synchronsignale von einem mittleren Zeitraster um eine vorgegebene Zeitspanne alle Rechner zurückgesetzt.
Da in diesem Falle wegen des begrenzten Variationsbe­ reichs der Zeitmarkenfolge eine Synchronisation erst nach mehreren Perioden erfolgen wird, bietet die vor­ geschlagene Maßnahme die Möglichkeit, den Gleichlauf auf andere Weise schneller herbeizuführen. Dabei wer­ den auch gleich solche Störungen erfaßt, die neben einer Beseitigung des Gleichlaufs auch den internen Programmablauf des betreffenden Rechners beeinflussen könnten.
Die Erfindung betrifft ferner ein Mehrrechnersystem, bestehend aus wenigstens zwei Daten- und/oder Steuerleitungen untereinander verbundenen Rechnern, insbesondere für Sicherheitseinrichtungen in Kraftfahrzeugen (z. B. Antiblockiersysteme, Airbags oder Gurtstrammer).
Die dem Anmeldungsgegenstand zugrundeliegende Aufgabe wird bei einem Mehrrechnersystem nach dem Oberbegriff des Anspruchs 11 durch die im kennzeichnenden Teil angegebenen Merkmale gelöst.
Durch die Ausstattung der Rechner mit eigenen steuerbaren Zeitmarkengebern und der Ausbildung der Rechner als Synchronsignalgeneratoren sowie als Steuer- und Vergleichs­ schaltungen gelingt es, eine Synchronisation der Rech­ ner oder einen externen Synchrongenerator herbeizufüh­ ren. Der Gleichlauf der Rechner gestattet dann, im Pro­ grammablauf Zeitfenster vorzusehen, bei denen ein Da­ tenaustausch stattfinden kann und die Daten dann einer sofortigen Verarbeitung zugeführt werden.
Da alle Rechner im Bezug auf die Synchronisation gleich­ artig ausgestattet sind, gelingt auch eine gegenseitige Überwachung, ohne daß es dazu einer externen Überwachungs­ schaltung (Watchdog) bedarf.
Die Einbeziehung von Baugruppen, die bei den Rechnern ohnehin vorhanden sind, hilft auch den Kosten- und Raum­ bedarf gegenüber einem externen Synchrongenerator zu vermindern. Dieser Umstand erleichtert den Einsatz des Mehrrechnersystems in bekannten Anwendungsfällen und eröffnet neue Anwendungsmöglichkeiten.
In Weiterbildung der Erfindung sind die Zeitmarkenge­ ber der Rechner als Sägezahngeneratoren ausgebildet. Das von einem solchen Generator gelieferte Signal lie­ fert mit seiner steilen Flanke eine exakte Zeitmarke und gestattet durch den linearen Verlauf der anderen Flanke eine sehr genau dosierbare Veränderung der Zeit­ markenfolge. Die Ausführung ermöglicht daher, erforder­ liche Korrekturen der Zeitmarkenfolge gezielt innerhalb einer Periode von Zeitmarken durchzuführen.
Bei einer abgewandelten Ausführungsform sind logische Verknüpfungsschaltungen vorgesehen, durch die Synchron­ signalausgänge anderer Rechner zu jeweils einer Steuer­ leitung zusammengefaßt werden.
Bei einer abgewandelten Ausführung sind die Rechner durch bidirektionale Steuerleitungen verbunden. Bei einer wei­ teren abgewandelten Ausführung sind die Steuer- und Da­ tenleitungen als gemeinsame Leitungen ausgebildet.
Diese Maßnahmen tragen durch Verminderung des Leitungs­ bedarfs zwischen den einzelnen Rechnern zu einer Ver­ minderung der Baugröße und der Störanfälligkeit bei.
Weiterbildungen und vorteilhafte Ausführungen der Er­ findung ergeben sich aus den Ansprüchen, der weiteren Beschreibung und der Zeichnung, anhand der das erfin­ dungsgemäße Verfahren sowie das Mehrrechnersystem er­ läutert wird.
In der Zeichnung zeigen:
Fig. 1 ein Bockschaltbild eines Mehr­ rechnersystems aus drei Rech­ nern,
Fig. 2 und 3 abgewandelte Ausführungsformen der Erfindung,
Fig. 4 und 5 den zeitlichen Verlauf von Start- und Synchronsignalen, wie sie bei dem erfindungsge­ mäßen Verfahren auftreten, und
Fig. 6 den zeitlichen Verlauf von Zeitmarkenfolgen und Synchron­ pulsfolgen bei einem Mehrrech­ nersystem aus zwei Rechnern.
Die in Fig. 1 dargestellten Rechner A, B, C eines Mehr­ rechnersystems sind durch Steuerleitungen 44, 46, 48 untereinander verbunden. In den gestrichelten Umrahmun­ gen sind die für die Synchronisationsfunktion wirksamen Funktionsgruppen durch untereinander verbundene Blöcke symbolisiert. Diese Blöcke können in der Praxis sowohl als diskrete Baugruppen als auch durch den Rechner in Form eines Rechenprogramms realisiert sein.
Die Funktionsblöcke sind in allen drei Rechnern A, B, C gleich, so daß darauf verzichtet wurde, sie auch in dem dritten Rechner C noch einmal zu wiederholen.
Es wird zunächst vorausgesetzt, daß die Rechner des Mehr­ rechnersystems gerade eingeschaltet oder zurückgesetzt wurden. Nachdem jeder Rechner A, B, C angelaufen ist, erzeugt ein Generator 52 für Startsignale in jedem Rech­ ner ein Startsignal. Die Startsignale gelangen jeweils über eine Verknüpfungsschaltung 64 zu den Eingängen der anderen Rechner, wo sie ebenfalls über eine Verknüpfungs­ schaltung 62 zu einem Zähler 56 gelangen.
Da die Rechner durch Bauteiletoleranzen, Signallaufzeit­ unterschiede und durch zufällige Schaltzustände nicht gleichzeitig anlaufen, treffen die einzelnen Startsig­ nale zu unterschiedlichen Zeitpunkten ein. Die Start­ signale werden deshalb in jedem Rechner A, B, G geson­ dert überwacht, wobei die Überwachung durch Zählen der Startsignale erfolgen kann. Nachdem soviele Startsignale gezählt wurden, wie Rechner vorhanden sind, wird mit dem Eintreffen des letzten Startsignals ein Zeitmarken­ geber 50 gestartet. Der Zeitmarkengeber 50 beginnt da­ raufhin, Zeitmarken zu erzeugen, die einen Generator 54 für Synchronsignale steuern. Die Synchronsignale ge­ langen dann über die bereits erwähnte Verknüpfungsschal­ tung 64 zu den Steuerleitungen 44, 46 und 48 und von dort zu den Steuereingängen der übrigen Rechner A, B, C.
Nachdem die Synchronpulse über die Verknüpfungsschal­ tung 62 jeden Rechners A, B, C zu einer Vergleichsschal­ tung 60 gelangt sind, werden sie dort mit den internen Zeitmarken, die vom Zeitmarkengeber 50 erzeugt werden, verglichen. Bei Zeitdifferenzen wird ein Steuersignal an die Steuerschaltung 58 weitergeleitet, woraufhin die­ se die Zeitmarkenfolge des Zeitmarkengebers 50 verändert.
Der Zeitmarkengeber 50, der auch die internen Programm­ abläufe der Rechner A, B, C steuert, wird in der Weise korrigiert, daß ein Gleichlauf der Zeitmarkenfolgen zwischen den Rechnern A, B, C wieder hergestellt wird.
Aus der Gleichartigkeit der Funktionsblöcke in den Rech­ nern A und B ergibt sich, daß jeder Rechner in der La­ ge ist, eine Veränderung seiner eigenen Zeitmarkenfolge herbeizuführen und sich so mit den anderen Rechnern zu synchronisieren.
Während bei dieser Ausführungsform noch getrennte Steuer­ leitungen zwischen den Ausgängen und Eingängen der Rech­ ner vorgesehen sind, zeigt Fig. 2 eine Abwandlung der Erfindung, bei der durch externe Verknüpfungsschaltun­ gen 62, 64, 66 die Zahl der zu den Eingängen führenden Steuerleitungen auf jeweils eine Steuerleitung 68 redu­ ziert werden kann.
Eine weitere Reduzierung der Steuerleitungen ist in Fig. 3 veranschaulicht, wo die Steuerleitungen 70 als bidirek­ tionale Leitungen ausgeführt sind. Der Datenaustausch erfolgt bei dieser Ausführung durch bidirektionale Da­ tenleitungen 72.
Zur Erläuterung des Startvorganges der Synchronisation bei Einschalten oder Zurücksetzen der Rechner wird auf die Fig. 4 und 5 Bezug genommen. Die Darstellungen zeigen den Signalverlauf der Startsignale der einzelnen Rechner A, B, C sowie der Synchronsignale. Der Einschalt- oder Rücksetzzeitpunkt wird bei der Ordinate angenommen. Zuerst erzeugt der Rechner A in Fig. 4 ein Startsignal, das hier als pulsförmiges Startsignal 10 dargestellt ist.
Schließt sich der Rechner B mit einem pulsförmigen Start­ signal 12 an, ist schließlich der letzte Rechner C mit seinem pulsförmigen Startsignal 14 den Zeitpunkt bestimmt, in welchem mit der Erzeugung von Zeitmarken und damit Synchronpulsen begonnen wird.
Wegen der besseren Übersichtlichkeit sind die ersten Syn­ chronpulse weggelassen. Nach Ablauf einer und jeder wei­ teren Zeitmarkenperiode werden dann Synchronpulse 22, 24, 26 erzeugt und übertragen, die im Normalbetrieb prak­ tisch gleichzeitig eintreffen. Um einen genauen Zeitpunkt festzulegen, von dem ab mit der Erzeugung von Zeitmarken begonnen wird, ist es zweckmäßig, hierfür eine der Flan­ ken der Startsignale auszunutzen. Im Beispiel dient hier­ zu die vordere Flanke 28 des pulsförmigen Startsignals 14.
Die Darstellung in Fig. 5 unterscheidet sich von derje­ nigen in Fig. 4 darin, daß statt pulsförmiger Startsig­ nale statische Startsignale 16, 18, 20 verwendet werden.
Als Startzeitpunkt gilt der durch eine Flanke 30 darge­ stellte Potentialsprung des Startsignals 18.
Nachdem nun der Start erfolgt ist, kommt es darauf an, den Gleichlauf der einzelnen Rechner zu erhalten und eventuelle Abweichungen zu korrigieren. Zur Erläuterung dieses Vorganges wird auf Fig. 6 Bezug genommen, bei der aus Gründen der Übersichtlichkeit jedoch nur die Signale zweier Rechner dargestellt sind.
Die Darstellung der zeitlichen Verläufe der Zeitmarken- und Synchronsignale gibt die Verhältnisse sehr übertrie­ ben wieder, was aber für die Veranschaulichung der Funk­ tionsweise zweckmäßig erscheint. Im oberen Teil der Zeichnung sind die Verläufe der Zeitmarken und darunter die der Synchronpulse des Rechners A dargestellt. Der untere Teil enthält die zeitlichen Verläufe der Zeitmar­ ken und Synchronpulse des Rechners B.
Für die Darstellung ist ein einheitlicher Zeitmaßstab angenommen. Die Betrachtung erfolgt in Zeitpunkten 1, 2, 3, 4 und 5 die oberhalb der Darstellung markiert sind.
Im Zeitpunkt 1 liegt zwischen den Rechnern A und B eine erhebliche Gleichlaufstörung vor. Dies ergibt sich da­ raus, daß die Zeitmarke 34 des Rechners B um die zeit­ liche Verschiebung T gegenüber der Zeitmarke 32 des Rechners A verzögert ist.
Beginnend im Zeitpunkt 1 erzeugt der Rechner A mit der Zeitmarke 32 eine erste Flanke 36 seines Synchronpulses 22. Der Rechner B empfängt die erste Flanke 36 des Syn­ chronpulses 22 und wartet auf seine eigene Zeitmarke 34. Sobald diese eintrifft, erzeugt auch er seine erste Flan­ ke 38 seines Synchronpulses 24. Diese erste Flanke 38 em­ pfängt der Rechner A und erzeugt eine zweite Flanke 40 seines Synchronpulses 22.
Im Rechner B wird nun die Zeitmarkenfolge des Zeitmar­ kengebers beschleunigt, indem der Auslösezeitpunkt der nächstfolgenden Zeitmarke vorverlegt wird. Nachdem die­ ser Steuervorgang abgeschlossen ist, erzeugt der Rech­ ner B die zweite Flanke 42 seines Synchronpulses 24.
Dieser Vorgang hat zwar schon dazu beigetragen, den Gleich­ lauf der beiden Rechner A und B einander anzunähern, aufgrund der in der Praxis unüblichen hier stark über­ triebenen Darstellung ist jedoch noch kein vollständiger Gleichlauf hergestellt worden. Somit erhält im Zeitpunkt 2 der Rechner A seine Zeitmarke 32 wiederum früher als der Rechner B.
In analoger Weise, wie beim Zeitpunkt 1 beschrieben, erfolgt eine abermalige Korrektur der Zeitmarkenfolge des Rechners B.
Wie die Darstellung in Fig. 6 zeigt, wird die Perioden­ dauer TB des Zeitmarkengebers des Rechners B um eine korrigierte Periodendauer TKorr vermindert. Bei sehr starken Zeitverschiebungen ΔT kann es sein, daß die korrigierte Periodendauer TKorr kleiner ist als die Zeitverschiebung ΔT. In diesem Falle wird keine Syn­ chronisation während dieser Periodendauer herbeigeführt. Ist dagegen der maximale Wert der korrigierbaren Peri­ odendauer TKorr größer als die Zeitverschiebung ΔT, dann kann die Synchronisation der Rechner erfolgen.
Im Zeitpunkt 3 ist dies der Fall und die Zeitmarken 32 und 34 wie die Synchronpulse 22 und 24 treten gleichzei­ tig auf. Wenn keine Korrektur erforderlich ist, folgt die zweite Flanke der Synchronpulse in kurzer Zeit auf die erste Flanke.
Im Zeitpunkt 4 liegt wiederum eine Gleichlaufstörung vor. Diesmal erhält jedoch der Rechner B zuerst seine Zeitmarke 34. Er erzeugt daraufhin eine erste Flanke 38 seines Synchronpulses 24. Der Rechner A empfängt diese erste Flanke 38 und wartet auf seine eigenen Zeit­ marke 32. Nachdem er diese erhalten hat, erzeugt er ei­ ne erste Flanke 36 seines Synchronpulses 22, woraufhin der Rechner B, der diese Flanke empfängt, eine zweite Flanke 42 seines Synchronpulses 24 erzeugt.
Der Rechner A korrigiert nun seine eigene Zeitmarken­ folge und erzeugt anschließend eine zweite Flanke 40 seines Synchronpulses 22. Die Periodendauer TA des, Zeit­ markengebers des Rechners A wird hierbei um die korri­ gierte Periodendauer TKorr vermindert. Im folgenden Zeit­ punkt 5 sind die Rechner wieder synchronisiert, wie an dem gleichzeitigen Auftreten der Zeitmarken 32, 34 er­ sichtlich ist.

Claims (15)

1. Verfahren zur Synchronisation von Rechnern eines Mehrrechnersystems, insbesondere für Sicherheits­ einrichtungen in Kraftfahrzeugen, z. B. Antiblockiersysteme Airbags oder Gurtstrammer, wobei die Rechner eigene Zeit­ markengeber enthalten und durch Daten- und/oder Steuer­ leitungen untereinander verbunden sind, dadurch gekenn­ zeichnet, daß nach dem Einschalten oder Zurücksetzen der Rechner diese jeweils ein Startsignal (10, 12, 14; 16, 18, 20) erzeugen, welches zu den übrigen Rechnern über­ tragen und von diesen empfangen und ausgewertet wird, daß nach Eintreffen des zeitlich letzten Startsignals (14; 18) die Zeitmarkengeber der Rechner gleichzeitig mit der Erzeugung von Zeitmarken (32, 34) beginnen, daß die Rechner in Abhängigkeit der Zeitmarken (32, 34) Syn­ chronsignale (22, 24, 26) erzeugen, die zu den übrigen Rechnern übertragen und von diesen empfangen werden, daß die Synchronsignale (22, 24, 26) fortlaufend mit den eigenen Zeitmarken (32, 34) verglichen werden und daß bei zeitlichen Verschiebungen zwischen den Synchron­ signalen (22, 24, 26) und den eigenen Zeitmarken (32, 34) die Zeitmarkenfolge des eigenen Zeitmarkenge­ bers verändert wird.
2. Verfahren nach Anspruch 1, dadurch gekenn­ zeichnet, daß die Zeitmarkenfolge bei allen Rechnern einheitlich entweder verzögert oder beschleunigt wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das Startsignal durch eine puls­ förmige (10, 12, 14) oder durch eine statische (16, 18, 20) Zustandsänderung dargestellt wird.
4. Verfahren nach Anspruch 3, dadurch gekenn­ zeichnet, daß das Startsignal durch eine Flanke (28; 30) der pulsförmigen oder statischen Zustandsänderung dargestellt wird.
5. Verfahren nach einem der vorhergehenden An­ sprüche 1-4, dadurch gekennzeichnet, daß die Synchron­ signale durch pulsförmige Zustandsänderungen (22, 24, 26) dargestellt werden.
6. Verfahren nach Anspruch 5, dadurch gekenn­ zeichnet, daß jeder Rechner bei Eintreffen einer Zeit­ marke (32, 34) seines eigenen Zeitmarkengebers eine erste Flanke (36, 38) des Synchronpulses (22, 24) erzeugt und überträgt.
7. Verfahren nach Anspruch 5 oder 6, dadurch ge­ kennzeichnet, daß nach Empfang der ersten Flanke (36) des jeweils ersten Synchronpulses (22) bei allen übri­ gen Rechnern die zeitliche Verschiebung ΔT zwischen dieser Flanke (36) und ihren eigenen Zeitmarken (34) verglichen wird und in Abhängigkeit der Verschiebung ΔT die Zeitmarkenfolge beschleunigt wird.
8. Verfahren nach Anspruch 7, dadurch gekenn­ zeichnet, daß die Beschleunigung der Zeitmarkenfolge durch vorzeitiges Auslösen der nächsten Zeitmarke (34) erfolgt.
9. Verfahren nach einem der vorhergehenden An­ sprüche 6-8, dadurch gekennzeichnet, daß nach Empfang der ersten Flanke (38) des jeweils letzten Synchronpul­ ses (24) alle Rechner eine zweite Flanke (40, 42) ihrer Synchronpulse (22, 24) erzeugen und übertragen.
10. Verfahren nach einem der vorhergehenden An­ sprüche 1-9, dadurch gekennzeichnet, daß bei Abweichen eines oder mehrerer Synchronsignale von einem mittleren Zeitraster um eine vorgegebene Zeitspanne alle Rechner zurückgesetzt werden.
11. Mehrrechnersystem, bestehend aus wenigstens zwei durch Daten- und/oder Steuerleitungen (44, 46, 48) untereinander verbundenen Rechnern (A, B, C), insbeson­ dere für Sicherheitseinrichtungen in Kraftfahrzeugen (z. B. Antiblockiersysteme, Airbags oder Gurtstrammer), dadurch gekennzeichnet, daß jeder der beteiligten Rech­ ner (A, B, C) einen eigenen steuerbaren Zeitmarkengeber (50) umfaßt und daß die Rechner (A, B, C) jeweils als Generator (52; 54) für ein Startsignal und für ein Syn­ chronsignal, als Zähler (56) für die von den anderen Rechnern (A, B, C) erzeugten Startsignale, als Steuer­ schaltung (58) für den Start und die Veränderung der Zeitmarkenfolgen des Zeitmarkengebers (50) und als Ver­ gleichsschaltung (60) für die zeitliche Verschiebung zwischen Synchronsignalen anderer Rechner und den ei­ genen Zeitmarken ausgebildet sind.
12. Mehrrechnersystem nach Anspruch 11, dadurch­ gekennzeichnet, daß die Zeitmarkengeber als Sägezahnge­ nerator (50) ausgebildet sind.
13. Mehrrechnersystem nach Anspruch 11 oder 12, dadurch gekennzeichnet, daß logische Verknüpfungsschal­ tungen (62, 64, 66) vorgesehen sind, durch die Steuerausgänge anderer Rechner zu jeweils einer Steuerleitung (68) zu­ sammengefaßt sind.
14. Mehrrechnersystem nach einem der vorhergehen­ den Ansprüche 11 oder 12, dadurch gekennzeichnet, daß die Rechner durch bidirektionale Steuerleitungen (70) verbunden sind.
15. Mehrrechnersystem nach Anspruch 11 oder 12, dadurch gekennzeichnet, daß die Rechner für die Steuer­ signale und/oder Datenkommunikation durch gemeinsame Leitungen verbunden sind.
DE3638947A 1986-11-14 1986-11-14 Verfahren zur Synchronisation von Rechnern eines Mehrrechnersystems und Mehrrechnersystem Expired - Fee Related DE3638947C2 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE3638947A DE3638947C2 (de) 1986-11-14 1986-11-14 Verfahren zur Synchronisation von Rechnern eines Mehrrechnersystems und Mehrrechnersystem
JP62281183A JPS63136247A (ja) 1986-11-14 1987-11-09 複合計算機装置の計算機および複合計算機装置の計算機の同期方法
US07/402,979 US4945486A (en) 1986-11-14 1989-09-01 Multi-computer synchronization system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE3638947A DE3638947C2 (de) 1986-11-14 1986-11-14 Verfahren zur Synchronisation von Rechnern eines Mehrrechnersystems und Mehrrechnersystem

Publications (2)

Publication Number Publication Date
DE3638947A1 DE3638947A1 (de) 1988-05-26
DE3638947C2 true DE3638947C2 (de) 1995-08-31

Family

ID=6313950

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3638947A Expired - Fee Related DE3638947C2 (de) 1986-11-14 1986-11-14 Verfahren zur Synchronisation von Rechnern eines Mehrrechnersystems und Mehrrechnersystem

Country Status (3)

Country Link
US (1) US4945486A (de)
JP (1) JPS63136247A (de)
DE (1) DE3638947C2 (de)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
CA2003338A1 (en) * 1987-11-09 1990-06-09 Richard W. Cutts, Jr. Synchronization of fault-tolerant computer system having multiple processors
US5448480A (en) * 1988-05-11 1995-09-05 Siemens Aktiengesellschaft Fail-safe operation via controller redundancy for steering the back wheels of a road vehicle
JPH0630094B2 (ja) * 1989-03-13 1994-04-20 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセツサ・システム
US5293374A (en) * 1989-03-29 1994-03-08 Hewlett-Packard Company Measurement system control using real-time clocks and data buffers
JP2915080B2 (ja) * 1990-05-25 1999-07-05 株式会社日立製作所 マルチプロセッサシステムにおけるデータ処理方法
EP0459035B1 (de) * 1990-06-01 1995-09-06 ALCATEL BELL Naamloze Vennootschap Verfahren zum Modifizieren eines fehlertoleranten Datenverarbeitungssystems
US5175847A (en) * 1990-09-20 1992-12-29 Logicon Incorporated Computer system capable of program execution recovery
US5222017A (en) * 1990-11-23 1993-06-22 The University Of British Columbia Control system to synchronize slave computers
US5226152A (en) * 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
US5774377A (en) * 1991-07-30 1998-06-30 Hewlett-Packard Company Method and apparatus for monitoring a subsystem within a distributed system for providing an archive of events within a certain time of a trap condition
US5420801A (en) * 1992-11-13 1995-05-30 International Business Machines Corporation System and method for synchronization of multimedia streams
US6157967A (en) * 1992-12-17 2000-12-05 Tandem Computer Incorporated Method of data communication flow control in a data processing system using busy/ready commands
US5689689A (en) * 1992-12-17 1997-11-18 Tandem Computers Incorporated Clock circuits for synchronized processor systems having clock generator circuit with a voltage control oscillator producing a clock signal synchronous with a master clock signal
JPH06236352A (ja) * 1993-02-09 1994-08-23 Nippondenso Co Ltd データ通信装置
US5526512A (en) * 1993-09-20 1996-06-11 International Business Machines Corporation Dynamic management of snoop granularity for a coherent asynchronous DMA cache
KR100202706B1 (ko) * 1996-10-05 1999-06-15 이종수 피엘씨 리모트 시스템의 기동시간 동기화 및 비상상태 출력 제어방법
JP3791139B2 (ja) * 1997-07-30 2006-06-28 株式会社デンソー 車両用制御装置
DE19840484A1 (de) * 1998-09-04 2000-03-09 Bosch Gmbh Robert Fahrzeugrechneranordnung
US6278710B1 (en) * 1998-09-10 2001-08-21 Agilent Technologies, Inc. Enhancements to time synchronization in distributed systems
DE19845220A1 (de) 1998-10-01 2000-04-13 Bosch Gmbh Robert Verfahren und Vorrichtung zur Synchronisation und Überprüfung von Prozessor und Überwachungsschaltung
DE29819806U1 (de) * 1998-11-05 2000-03-16 Siemens Ag Netzwerkteilnehmer
DE29820339U1 (de) 1998-11-13 2000-01-20 Siemens Ag Netzwerkteilnehmer
JP2000156685A (ja) * 1998-11-18 2000-06-06 Fuji Heavy Ind Ltd 車両制御システムの異常監視装置
DE29820820U1 (de) * 1998-11-20 2000-02-10 Siemens Ag Netzwerkteilnehmer
US6512990B1 (en) * 2000-01-05 2003-01-28 Agilent Technologies, Inc. Distributed trigger node
US6931307B2 (en) * 2001-02-16 2005-08-16 Visteon Global Technologies, Inc. Technique for data synchronization in a multiple system vehicle architecture
US6633825B2 (en) 2001-06-29 2003-10-14 Siemens Power Transmission & Distribution, Inc. Automatic calibration of time keeping for utility meters
US6859742B2 (en) 2001-07-12 2005-02-22 Landis+Gyr Inc. Redundant precision time keeping for utility meters
US6859866B2 (en) * 2001-10-01 2005-02-22 International Business Machines Corporation Synchronizing processing of commands invoked against duplexed coupling facility structures
JP4100108B2 (ja) * 2002-09-12 2008-06-11 株式会社デンソー 制御システム
DE10243713B4 (de) * 2002-09-20 2006-10-05 Daimlerchrysler Ag Redundante Steuergeräteanordnung
DE10311524A1 (de) * 2003-03-17 2004-09-30 Robert Bosch Gmbh Verfahren zur Auslösung von Rückhaltemitteln
JP4222154B2 (ja) * 2003-08-28 2009-02-12 株式会社デンソー 車両制御システム
US9442158B2 (en) * 2007-06-13 2016-09-13 Keysight Technologies, Inc. Method and a system for determining between devices a reference time for execution of a task thereon
DE602007008569D1 (de) 2007-09-11 2010-09-30 Alcatel Lucent Usa Inc System und Verfahren zur Überwachung mehrer Oszillatoren in einem Netzwerk
JP4934113B2 (ja) * 2008-08-01 2012-05-16 株式会社オートネットワーク技術研究所 制御装置及びコンピュータプログラム
US8193481B2 (en) * 2009-01-26 2012-06-05 Centre De Recherche Industrielle De Quebec Method and apparatus for assembling sensor output data with data representing a sensed location on a moving article

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE347826B (de) * 1970-11-20 1972-08-14 Ericsson Telefon Ab L M
CA1026850A (en) * 1973-09-24 1978-02-21 Smiths Industries Limited Dual, simultaneously operating control system with fault detection
US4295363A (en) * 1977-03-25 1981-10-20 Harris Corporation Apparatus for diagnosing faults in individual cylinders in an internal combustion engine
FR2504474A1 (fr) * 1981-04-28 1982-10-29 Renault Procede et systeme de detection de collision et de commande de dispositifs de securite
JPS593677A (ja) * 1982-06-30 1984-01-10 Hitachi Zosen Corp 並列同期動作制御方法
DE3236302A1 (de) * 1982-09-30 1984-04-05 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
NL8203921A (nl) * 1982-10-11 1984-05-01 Philips Nv Multipel redundant kloksysteem, bevattende een aantal onderling synchroniserende klokken, en klokschakeling voor gebruik in zo een kloksysteem.
DE3514438C1 (de) * 1985-04-20 1986-09-18 Porsche Ag Zentrale Bedienungsein- und Informationsausgabe fuer Zusatzgeraete von Fahrzeugen

Also Published As

Publication number Publication date
US4945486A (en) 1990-07-31
JPS63136247A (ja) 1988-06-08
DE3638947A1 (de) 1988-05-26

Similar Documents

Publication Publication Date Title
DE3638947C2 (de) Verfahren zur Synchronisation von Rechnern eines Mehrrechnersystems und Mehrrechnersystem
DE2946081C2 (de)
DE3639055C2 (de) Verfahren zur Betriebsüberwachung und Fehlerkorrektur von Rechnern eines Mehrrechnersystems und Mehrrechnersystem
DE2534141A1 (de) Computer-schnittstellensystem
DE4111072C3 (de) Verfahren zum Feststellen einer Störung in einem Mikrocomputersystem
EP0810129B1 (de) Auslöseverfahren für passive Sicherheitseinrichtungen in Fahrzeugen
CH637255A5 (de) Verfahren und vorrichtung zur extrahierung von taktsignalen aus einem synchronisierzeichen eines pcm-signals.
DE3643384A1 (de) Schaltung zum resynchronisieren von impulssignalen, insbesondere fuer die peripherie eines mikroprozessors
DE102010004298A1 (de) Verhinderung eines Nachrichtenverlustes in CAN-Systemen
DE10059270B4 (de) Vorrichtung und Verfahren zur Synchronisation von an mehreren Einheiten ablaufende Prozesse
DE2461091C3 (de) Gerät zur Erfassung und Weitergabe der Anzahl von ein bestimmtes Ereignis repräsentierenden Signalen
EP0564923B1 (de) Verfahren und Vorrichtung zur Phasenmessung
DE2655443A1 (de) Vervielfachte zeitsteuerung zum erzeugen von zeitsignalen fuer installationen mit signalverarbeitenden schaltungen
DE2725922C2 (de) Mehrrechnersystem zur Steuerung von trassengebundenen Verkehrsmitteln
DE19535007C2 (de) Zählschaltung mit Ladefunktion
DE3201864C2 (de)
DE2935353C2 (de)
EP0410212A2 (de) Redundante Taktgeberanordnung
EP1157468B1 (de) Anordnung und verfahren zum ermitteln, ob der zählstand eines zählers einen vorbestimmten zählstand erreicht hat oder nicht
DE3009782A1 (de) Steuersystem fuer druckmaschinen
DE2619238B2 (de) Verfahren und Anordnung zur zeitlichen Einordnung von unabhängigen Operationen, die in einem elektronischen Schaltungssystem ablaufen
DE1263875B (de) Sekundaer-Radaranlage mit einer Einrichtung zur Unterdrueckung von Stoersignalen undvon mit den Abfragesignalen nicht synchronisierten Antwortimpulsgruppen
DE2851986A1 (de) Verfahren zum erzeugen von ausloeseimpulsen waehrend eines periodisch ablaufenden bewegungsvorganges
EP0766420B1 (de) Verfahren zur Synchronisation auf eine Folge von digitalen Datenwerten und Schaltungsanordnung zur Durchführung des Verfahrens
DE2323653B2 (de) Steuereinrichtung für eine Verkehrssignalanlage

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