WO2000043857A1 - Optimierung der nutzdatenrate in einem verteilten zeitgesteuerten multicluster-echtzeitsystem - Google Patents

Optimierung der nutzdatenrate in einem verteilten zeitgesteuerten multicluster-echtzeitsystem Download PDF

Info

Publication number
WO2000043857A1
WO2000043857A1 PCT/AT2000/000011 AT0000011W WO0043857A1 WO 2000043857 A1 WO2000043857 A1 WO 2000043857A1 AT 0000011 W AT0000011 W AT 0000011W WO 0043857 A1 WO0043857 A1 WO 0043857A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
slave
node
global
communication
Prior art date
Application number
PCT/AT2000/000011
Other languages
English (en)
French (fr)
Inventor
Hermann Kopetz
Georg Kopetz
Original Assignee
Fts Computertechnik Ges.Mbh
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
Priority to ATA74/99 priority Critical
Priority to AT7499 priority
Priority to AT167499 priority
Priority to ATA1674/99 priority
Application filed by Fts Computertechnik Ges.Mbh filed Critical Fts Computertechnik Ges.Mbh
Publication of WO2000043857A1 publication Critical patent/WO2000043857A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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

Abstract

Ein Verfahren zum Aufbau einer globalen Zeit zwischen Clustern eines verteilten Echtzeit-Computersystems, wobei eine Vielzahl von Knoten in ein oder mehrere Cluster strukturiert sind, jedes Cluster über ein eigenes Kommunikationssystem verfügt und in jedem System mindestens ein Knoten, der Time-Start-up-Knoten (116, 114, 115), direkt oder transitiv Zugriff auf eine globale externe Zeit hat. Dazu sind in den Zeit-Slave-Clustern je ein oder mehrere Time-Start-up-Knoten (114) vorhanden, welche direkt oder transitiv Zugriff auf die globale Zeit haben und vor dem Einschalten eines Slavekommunikationskontrollers zum noch nicht synchronisierten Zeit-Slave-Cluster der zukünftige globale Zeitpunkt des Einschaltens in ein Time-Start-up-Register des Slavekommunikationskontrollers eingetragen wird und dieser unmittelbar nach dem zum festgelegten Zeitpunkt erfolgten Einschalten diese globale Zeit in dem Zeitregister weiterzählt und die Start-up-Prozedur des Zeit-Slave-Clusters mit dieser globalen Zeit realisiert.

Description


  
 



   OPTIMIERUNG DER NUTZDATENRATE IN EINEM VERTEILTEN   ZEITGESTEUERTEN   
MULTICLUSTER-ECHTZEITSYSTEM Die Erfindung bezieht sich auf ein Verfahren zum Aufbau einer globalen Zeit zwischen Clustern eines verteilten Echtzeit-Computersystems, wobei eine Vielzahl von Knoten in ein oder mehrere Cluster strukturiert sind, jedes Cluster   über    ein eigenes Kommunikationssystem   verfügt    und in jedem System mindestens ein Knoten,   der Time-Start-up    Knoten, direkt oder transitiv Zugriff auf eine globale externe Zeit hat, Die technologischen Fortschritte auf dem Gebiet der Halbleitertechnik ermöglichen es, ein Transducerelement zur Messung einer physikalischen Grösse (z. B.

   Temperatur), einen Microcontroller und einen Kommunikationscontroller auf einem einzigen Chip zu integrieren und damit einen kompakten Transducerknoten zu realisieren. In einem verteilten Echtzeitsystem   müssen    diese Transducerknoten   über    ein Echtzeitkommunikationssystem, z. B. einem Feldbus, mit anderen Transducerknoten und Verarbeitungsknoten verbunden werden, um Beobachtungen auszutauschen. Eine Beobachtung ist ein atomares Tripel, bestehend aus dem Zeitpunkt der Beobachtung, dem Namen der beobachteten   Zustandsgrösse    (RT-entity), und den Wert der Be obachtung (Kopetz, H. 1997,   Real-Tinie Systenis, Design Principlesfor Distributed E, nibedded    Applications ;   ISBN : 0-7923-9894-7    Boston, Kluwer Academic Publishers, im folgenden zitiert mit"Kopetz", S. 99).

   Um einen Informationsaustausch   über    eine Schnittstelle zwischen Sub systemen realisieren zu können   müssen    in allen Subsystemen eine global synchronisierte Zeit und ein gemeinsamer Namensraum für RT-entities aufgebaut werden und die gleichen Codie rungsvorschriften bzw.   Decodierungsvorschriften      für    die zu übertragenden Werte angewendet werden.



   Bestehende Systeme übertragen die Zeit entweder explizit mit den Daten, was zusätzliche
Bandbreite beansprucht, oder übernehmen die Zeit implizit aus dem Empfangszeitpunkt der
Daten, wobei jedoch der Jitter des Kommunikationssystems den Zeitpunkt der Datenerfassung ungenau werden lässt. Bei einigen technischen Anwendungen ist es erforderlich,   räumlich    ver teilte Daten zu exakt gleichen Zeitpunkten zu messen und die Messergebnisse   möglichst    rasch an einen Rechnerknoten zur Auswertung zu   übertragen..    Mit dem bisher bekannten Verfahren lässt sich dies jedoch nur mit sehr hohem technischem Aufwand erreichen.  



  Eine Aufgabe der Erfindung besteht darin, in einem verteilten Multicluster-Echtzeitsystem eine globale Zeit, die mehrere Cluster   umfassen    soll, aufzubauen und unter Nutzung dieser globalen Zeit die oben beschriebenen Unzulänglichkeiten nach dem Stand der Technik zu reduzieren.



  Die Aufgabe lässt sich mit einem Verfahren der eingangs genannten Art erreichen, bei welchem   erfindungsgemäss    in den   Zeit-Slave-Clustern    je ein oder mehrere Time-Start-up-Knoten vorhanden sind, wobei jeder Time-Start-up-Knoten ein Gateway-Knoten mit einem Kommunikationsinterface zu einem Zeitmaster und einem Slavekommunikationskontroller zu   Zeit-Slave-    Clustern ist, jeder Time-Start-up-Knoten direkt oder transitiv Zugriff auf die globale Zeit hat, und der   Kaltstart    eines Zeit-Slave-Clusters durch einen bereits global synchronisierten Time Start-up-Knoten dadurch vollzogen wird,

   dass vor dem Einschalten des Slavekommunikationskontrollers zum noch nicht synchronisierten   Zeit-Slave-Cluster    der   zukünftige    globale Zeitpunkt des Einschaltens in das   Time-Startup-Register    des Slavekommunikationskontrollers eingetragen wird und dieser Slavekommunikationskontroller unmittelbar nach dem zum festgelegten Zeitpunkt erfolgten Einschalten diese globale Zeit in dem Zeitregister weiterzählt und die Start-Up-Prozedur des Zeit-Slave-Clusters mit dieser globalen Zeit realisiert.



  Weitere zweckmässige   Ausführungen    und Varianten der Erfindung sind in den abhängigen Unteransprüchen gekennzeichnet.



  Das vorab beschriebene Ziel und andere neue Eigenschaften der vorliegenden Erfindung werden anhand eines konkreten Beispiels in der Zeichnung   erläutert.    In dieser zeigen : Fig.   1    die Struktur eines verteilten Computersystems, bestehend aus einem Verarbeitungs cluster und zwei Transducercluster, Fig. 2 zwei Transducerknoten mit jeweils drei Interfacefiles, Fig. 3 die Struktur eines Interfacefiles, Fig. 4 den Aufbau einer Multipartnerrunde und
Fig. 5 die Struktur eines Time-startup-knotenrechners.



   Im folgenden Abschnitt wird eine   mögliche    Realisierung des neuen Verfahrens gezeigt. Die
Objekte in den Abbildungen sind so nummeriert, dass die erste der dreistelligen   Objektziffern    immer die Bildnummer angibt. Eine in Klammer gesetzte Nummer weist auf das gleiche Objekt in einer anderen Abbildung hin.  



  Fig.   1    zeigt die Struktur eines verteilten Echtzeitsystems, bestehend aus zwei Knotenarten, den Verarbeitungsknoten   111    bis 115, dargestellt durch   Rechtecke,    und den Transducerknoten   121,    dargestellt durch Kreise. Die Verarbeitungsknoten sind   leistungsfähige    Knotenrechner, deren Aufbau am Beispiel des Knotenrechners 114 in Fig. 5 dargestellt ist. Die Transducerknoten 121 sind low-cost Einchip-Microcomputer von vergleichsweise geringer   Leistungsfähigkeit    die   über    einen Feldbus 101 bzw. 102 verbunden sind.

   Um Kosten   für    einen externen Oszillator zu sparen, kann der Oszillator eines Transducerknoten direkt im Silizium realisiert sein und muss   über    keinen stabilen Gang   verfügen.    Ein solcher on-chip Oszillator kann sehr ungenau sein und muss daher von einem Zeitmaster periodisch resynchronisiert werden. Ohne Synchronisation durch einen Master   könnte    ein solcher Transducerknoten nicht einmal ein einfaches UART Protokoll ausführen.



  Die Verarbeitungsknoten 111,112,113,114, und 115 sind über einen   leistungsfähigen    logischen Echtzeitbus   110,    der zum Beispiel mittels des TTP/C Protokolls (siehe Kopetz, S. 175) gesteuert werden kann, verbunden und bilden somit ein Cluster des Multiclustersystems, das eine globale Zeitbasis verteilt und fehlertolerant aufbauen kann. Der logische Echtzeitbus kann physikalisch als Bus, Ring oder als Stern ausgebildet sein. Die Verarbeitungsknoten   111,114,    und 115 sind Time-startup-knoten. Der Time-startup-knoten   111    kann gegebenenfalls mit einem externen Zeitmaster 116 verbunden sein. Der Time-startup-knoten 114 ist der Master des einfachen Transducerbus 101, der z. B. mittels des zeitgesteuerten TTP/A Protokolls (Kopetz,
S. 185) gesteuert wird.

   Der Time-startup-knoten 115 ist der Master des Transducerbus 102.



  Fig. 2   stellt    einen Ausschnitt aus Fig.   1    genauer dar. Die beiden Transducerknoten 210 und 220 sind   über    den Feldbus 201 miteinander verbunden. Der globale Namensraum, der   für    die Kom munikation zwischen Subsystemen erforderlich ist, wird von einem clusterweiten verteilten In terfacefilesystem (Interfacefilesystem) aufgebaut. Das Interfacefilesystem besteht aus einer An zahl von Files, die in den Transducerknoten eines Clusters gespeichert sind. Der Transdu cerknoten 210 beinhaltet die Interfacefiles 211,212 und 213. Der Transducerknoten 220 bein haltet die Interfacefiles 221,222 und 223.

   Der Prozessor eines Transducerknotens schreibt sei ne   für    die Kommunikation vorgesehenen Daten in den vereinbarten Satz eines knotenlokalen
Files des Interfacefilesystem. Das zeitgesteuerte Kommunikationssystem liest diese Daten aus den knotenlokalen Files, bzw. schreibt sie in die knotenlokalen Files des Interfacefilesystem.



   Fig. 3 zeigt eine mögliche Struktur eines Files des Interfacefilesystem. Im Beispiel der Fig. 3 wird ein indexsequentieller Fileaufbau mit konstanter Datensatzlänge dargestellt. Jeder Daten satz 310 hat als letztes Feld ein horizontales Checkfeld 311, das als Inhalt z. B. das Ergebnis einer XOR Verknüpfung oder einer CRC Berechnung über alle vorangegangenen Datenfelder  des Satzes enthält. Dabei soll das Checkfeld 311 auch als Teil einer Nachricht übertragen werden, um beim   Empfänger    Fehler in der Datenübertragung erkennen zu können. Die Verwendung desgleichen Checkfeldes 311   für    die Datenspeicherung im Interfacefilesystem und   für    die Datenübertragung im Kommunikationssystem hilft   Rechenzeit    einzusparen.

   Der letzte Satz eines Files des Interfacefilesystem ist ein vertikaler Checksatz 390, der als Inhalt z. B. das Ergebnis einer XOR   Verknüpfung    oder einer CRC Berechnung über alle vorangegangenen   Sätze    enthält. Somit ist es   möglich,    einen Bitfehler in einem File des Interfacefilesystem durch Über  prüfung    der Checkfelder bzw. des Checksatzes nach bekannten Methoden zu erkennen und zu korrigieren.



  Ein Interfacefile kann beschrieben, gelesen und/oder   ausgeführt    werden. Die Art der Fileoperation wird durch einen Operationscode   (Op-Code)    festgelegt. Es gibt drei verschiedene Fileoperationen : read, write, und execute.



  Jedes File des Interfacefilesystems hat einen eindeutigen knotenlokalen Filenamen. Wenn in verschiedenen Knoten der gleiche Filename verwendet wird, so bedeuted dies, dass diese Files zusammengehören und ein verteiltes Filesystem bilden. Ein Satz im Interfacefilesystem kann durch folgende Adresse innerhalb eines Clusters angesprochen werden :  < Filename >  < Knotenname >  < Satznummer >  Durch Lese-und Schreiboperationen mit der Adresse eines Interfacefilesystem Satzes lässt sich ein Satz im Interfacefilesystem lesen und schreiben. Wenn der   Op-Code"ausführen"angibt,    so wird der File als   ausführbarer    Programmmodul (z. B. ein JAVA Applet) interpretiert. Die Irnplementierung muss sicherstellen, dass die Summe der Teiloperationen der Schreiboperation  (z. B. Ändern des Checkfeldes und des Checksatzes) atomar ausgeführt wird.

   Ein ausgewähltes File des Interfacefilesystems bildet den Endpunkt der Kommunikation mit einem Transdu cerknoten. Die innerhalb eines Clusters ausgetauschten Daten werden aus dem   Interfacefile-    system gelesen bzw. in das Interfacefilesystem geschrieben.



   In einem zeitgesteuerten Protokoll werden Echtzeitdaten in Runden übertragen (Fig. 4). z. B. beginnt im zeitgesteuerten Protokoll TTP/A (Kopetz, S. 185) jede Runde mit einem Frame 410, der Synchronisationsinformation und den Rundennamen   enthält,    aber auch Daten enthalten kann. Dieser erste Frame wird"Fireworksframe"genannt. Es ist eine wesentliche Eigenschaft dieser Erfindung, dass den periodisch wiederkehrenden bekannten Sende-und Empfangszeit punkten der Echtzeitdaten in einer Runde a priori die Fileoperation und die Adressen des In terfacefilesystem derart zugewiesen werden, dass aus den Zeitpunkten der Datenübertragung die Art und Adresse der zu tätigenden Fileoperation abgeleitet werden kann.

   Wenn die Fileope  ration   aMsführen angibt,    so muss in dem adressierten File ein   ausffihrbarer Programmmodul    vorhanden sein. In diesem Fall können die in der Runde übertragenen Daten die Parameter der   Ausführung      darstellen.    Durch die a   priori Spezifikation    der zu einem Zeitpunkt   durchzuführen-    den Fileoperationen und Fileadressen erspart man sich die Angabe der Adresse der Echtzeitdaten während der   Übertragung.    Da viele Echtzeitdaten oft sehr kompakt sind, z. B. kann eine binäre Schalterstellung in ein einziges Bit codiert werden, ist diese Verkürzung der Echtzeitnachrichten (Wegfall der Adresse) von grosser wirtschaftlicher Bedeutung.



  Die a priori Zuordnung der Adressen zu den Echtzeitdaten einer Runde erfolgt in einem speziellen verteilten System des Interfacefilesystems, den RODL (Round Descriptor List) Files.



  Jeder Transducerknoten, der an einer Runde teilnimmt, muss   über    ein lokales RODL File mit dem Rundennamen   verfügen.   



  Ein Satz eines RODL Files kann folgende Struktur haben :    < StellungsidentiEkationXOp-codexFilenamexLängexSatznummer    im lokalen   Interfacefilesystem >     Die Stellungsidentifikation spezifiziert direkt oder indirekt, an welcher zeitlichen Stelle dieser Runde ein Frame zu finden ist. Der Op-code gibt an, welche Operation (read, write, execute)   auszuführen    ist. Die Lange gibt an, wie lange der Frame ist. Die Satznummer gibt an, welcher
Satz des ausgewählten lokalen Files angesprochen wird.



  Fig. 4 zeigt den Aufbau einer Multipartner Runde. Der Pfeil 400 zeigt das Fortschreiten der Zeit. Der Zeitpunkt 411, zu dem der aktive Master 114 die Runde mit einem Fireworksframe
410 beginnt, ist gleichzeitig das Synchronisationssignal für alle Transducerknoten 121. Das
Fireworksframe 410   enthält    neben anderer Information den Namen des verteilten RODL Files, der in dieser Runde zur Anwendung gelangt. Dieser ausgewählte RODL File wird im folgenden als aktiver RODL File dieser Runde bezeichnet. Nach dem Fireworksframe 410 und einem de finierten Interframegap 419 beginnt zum Zeitpunkt 421 der a priori im aktiven RODL File spezifizierte Knoten mit dem Senden seines Frames 420.

   Alle Knoten, die in ihrem aktiven
RODL File angegeben haben dass der zum Zeitpunkt 421 übertragene Frame 420 lokal zu empfangen ist, schreiben diese Nachricht 420 in die aus dem aktiven RODL File entnommene
Satzadresse ihres Interfacefilesystem. Entsprechend dem Inhalt des aktiven RODL Files beginnt dann der zum Sendezeitpunkt 431 bestimmte Knoten nach einem weiteren Interframegap 429 mit dem Senden des Frame 430 und anschliessend, wiederum nach einem Interfacegap 439, der zum Sendezeitpunkt 441 bestimmte Knoten mit dem Senden des Frame 440. Wenn das aktive
RODL File abgearbeitet ist, warten alle Knoten bis der Master das   nächste    Fireworksframe sendet und damit ein neues RODL File aktiviert.  



  Soll das Lesen und Schreiben von Frames in einem Multiclustersystem synchron zu einem externen Zeitsignal erfolgen zu können, muss der vorhin erwähnte externe Zeitmaster 116 das Cluster   110    extern synchronisieren und der Masterknoten 114 den Feldbus   101,    sowie der Masterknoten 115 den Feldbus 102 extern synchronisieren. Die externe Synchronisation wird von einem Time-startup-knoten, wie er in Fig. 5 dargestellt ist, realisiert. Falls kein externer Zeitmaster vorhanden ist (oder wenn er   ausfällt),    können die Knoten   111,112,113,114    und 115 eine fehlertolerante globale Uhrensynchronisation intern aufbauen.



  Der Aufbau einer globalen Zeit innerhalb eines Clusters ist im Europäischen Patent 0   658    257 (H. Kopetz) sowie in den US Patenten 4,866,606 (H. Kopetz) und 5,694,542 (H. Kopetz) beschrieben. Ein Protokoll das die clusterinterne Uhrensynchronisation   enthält    ist unter dem Namen"Time-Triggered Protokoll (TTP)"bekannt geworden. TTP baut auf einem Verfahren zur fehlertoleranten Uhrensynchronisation auf, wie es in den drei soeben genannten Patenten geoffenbart wurde.



  Fig. 5 zeigt den Aufbau eines Time-startup-knotens, z. B. des Knotens 114. Jeder Timestartup-knoten   verfügt      über    ein Interface 502 zum Zeitmaster, der auf Bus 500 sendet und auch Communication Interface genannt wird, über einen autonomen Hostcomputer   510    mit eigener CPU und Speicher, und   über    einen Kommunikationskontroller 522 zum Zeitslave (der auf Bus 520   empfängt).    Das CNI 502 zum Zeitmaster muss   über    ein globales Zeitregister 504 das die globale Zeit enthält,   verfügen.    Das CNI zu einem Zeit-Slave-Cluster muss neben einem globalen Zeitregister 524 und einem Controller-ON Register 529 ein Time-Startup-Register 525 enthalten.



   Das Time-Startup-Register 525 muss vor dem Einschalten des Kommunikationskontroller 522 vom Hostcomputer   510    mit dem   zukünftigen    Zeitpunkt geladen werden, zu dem der Kommu    nikationskontroller    522 zum Zeit-Slave-Cluster mittels des ON-Registers 529 vom Hostcom puter   510    eingeschaltet werden wird. Zu diesem Zweck liest der Hostcomputer   510    die globale
Zeit aus dem Zeitregister 504 des Zeitmasters, addiert ein ihm bekanntes Verzögerungsintervall bis zum Einschalten des Kontrollers 522 und legt diesen   zukünftigen    Einschaltzeitpunkt in das
Time-Startup-Register 525. Zum Einschaltzeitpunkt schaltet der Hostcomputer 510 den Kon troller 522 mittels des Controller-ON Register 529 ein.

   Der Kontroller 522 übernimmt nach dem Einschalten die Zeit des Startup-Registers 525 in das Zeitregister 524 und zählt die nun synchronierte Zeit weiter. Der Kontroller 522   führt    mit dieser synchronisierten Zeit in dem
Zeitregister 524 die Startup Prozedur des ihm zugeordneten   Zeit-Slave-Clusters    durch. Wenn der Controller 522 kein Time-Start-up-Register 525 besitzt sondern beim Einschalten die Zeit des Registers   524    mit Null initialisiert, so muss der Hostcomputer   510    den Controller genau zu  dem Zeitpunkt einschalten, zu dem die Bitstellen des Zeitmasters im globalen Register 504, die den Bitstellen des Zeitregisters 524 entsprechen, Null sind.



  Die Einführung des Time-Start-up-Register 525 fuhrt zu einer signifikanten Reduktion der
Start-up Dauer eines Multicluster Echtzeitsystems. Wenn, z. B. für die Zeitdarstellung in dem
Register 524 ein 32 Bit-Format mit Mikrosekundengranularität vorgesehen ist, so muss im längsten Fall der Hostcomputer   510    mit dem Einschalten   212    Sekunden warten bis die Nullstel lung des Zeitregisters 524 gegeben ist. Durch die   Einführung    des Time-Start-up-Register 525 wird diese Zeit auf wenige   psec    herabgesetzt.

   Selbst bei einer 16-Bit Zeitdarstellung reduziert sich die Wartezeit beim Einschalten noch um einen Faktor grösser als   1000.    In vielen techni schen Anwendungen ist eine kurze Wiedereinschaltdauer nach einem transienten Fehler von    grosser    sicherheitstechnischer Bedeutung. Das Time-Start-up-Register 525 darf nach dem Ein schalten des Controllers 522 nicht initialisiert werden, da sonst der vom Hostcomputer einge tragene Zeitwert   verloren    ginge.



   Der Time-startup-knoten 114, der der Master des Transducerbusses 101 ist, kann Transdu cerknoten 121, die nur über einen on-chip Oszillator   verfügen,    durch das Senden eines   regulä-    ren Bitmusters synchronisieren. Ein Transducerknoten 121 nimmt die Flanken eines solchen regulären Bitmusters auf einem Digitaleingang wahr und zählt die Anzahl der Schwingungen seines lokalen Oszillators zwischen den Flanken, die vom Time-startup-knoten 114 gesendet werden. Auf diese Weise   erfährt    der Transducerknoten, wie viele lokale Oszillatorschwingun gen dem a priori bekannten Zeitintervall zwischen den vom Time-startup-knoten 114 gesende ten Flanken entsprechen.



   Im folgenden Abschnitt wird an einem Beispiel gezeigt, wie die Namen und Adressen des be schriebenen Interfacefilesystems in einer 8-bit Architektur eines Microcontrollers effizient co diert werden können :
Fileoperationen : Die ersten beiden Bits eines Bytes  (erlaubt die Codierung der drei Operation read, write, execute)
Filename :

   Die letzten 6 Bits eines Bytes    (ermöglicht    die Unterscheidung von 64 Files)
Opcode + Filename :   1    Byte (2 bit Fileoperation, 6 bit Filename)   Knotenname    :   1    Byte   (ermöglicht    die Unterscheidung von 256 Knoten in einem Cluster)
Satznummer :   1    Byte (erlaubt bis zu 256   Sätze    pro File)    Satzadresse im dusterweitcn    Byte(1ByteFilename,1ByteKnotenname,1ByteSatz-Interfacefilesystem:3 nummer)   Satzadresse    im lokalen Byte(1ByteFilename,Knotennameentfallt,daimplizitge-Interfacefilesystem:2    geben, 1 Byte Satznummer)    RODL Eintrag:

   4 Byte (1 Byte Stellungsidentifikation, 1 Byte OpCode und
Filename, I Byte Länge des Frames, 1 Byte   Satzadresse    im lo kalenInterfacefilesystem) RODL Ausfuhrung: 1 Byte (OpCode und Filename)    Satzlänge : 5 Byte (4 Byte Daten, 1 Byte horizontales Check Feld) File Schreiboperation : 8 Byte Nachricht     (1 +Filename,1ByteNodeName,1ByteFileoperation
Satznummer, 4 Datenbytes, I horizontales Check Byte) Die   experimentelle    Implementierung des Interfacefilesystem in einem 8-bit   Microcontroller hat    gezeigt, dass das Interfacefilesystem mit einem   Aufwand    von ca. 2 kByte Code implementiert werden kann. Diese   Codegrösse    lässt sich selbst in kleinen   Ein-Chip    Microcontroller unterbringen.



  Natürlich   dasInterfacefilesystemauchineinemgrö#erenComputerrealisieren,wobeisich      andere,    auf die Architektur Rücksicht nehmende Codierungsvorschriften zur Anwendung gelangen werden.



  Die Anwendung des hier beschriebenen Verfahrens ist nicht auf das zeitgesteuerte TTP/A Pro  tokoll beschränkt sondern    kann in jedem anderen Kommunikationssystem   (z.    B. CAN oder   ETHERNET),    das   zeitgesteuert    betrieben wird,   vorgenommen    werden.   

Claims

PATENTANSPRÜCHE 1. Verfahren zum Aufbau einer globalen Zeit zwischen Clustern eines verteilten Echtzeit Computersystems, wobei eine Vielzahl von Knoten in ein oder mehrere Cluster strukturiert sind, jedes Cluster über ein eigenes Kommunikationssystem verfügt und in jedem System mindestens ein Knoten, der Time-Start-up Knoten (116,114,115), direkt oder transitiv Zugriff auf eine globale externe Zeit hat, dadurch gekennzeichnet, dass in den Zeit-Slave-Clustern je ein oder mehrere Time Start-up-Knoten (114) vorhanden sind, wobei jeder Time-Start-up-Knoten (114) ein Ga teway-Knoten mit einem Kommunikationsinterface (502) zu einem Zeitmaster und einem Slavekommunikationskontroller (522) zu Zeit-Slave-Clustern ist, jeder Time-Start-up Knoten direkt oder transitiv Zugriff auf die globale Zeit hat,
und der Kaltstart eines Zeit Slave-Clusters durch einen bereits global synchronisierten Time-Start-up-Knoten dadurch vollzogen wird, dass vor dem Einschalten des Slavekommunikationskontrollers zum noch nicht synchronisierten Zeit-Slave-Cluster der zukünftige globale Zeitpunkt des Einschal tens in das Time-Startup-Register (525) des Slavekommunikationskontrollers (522) ein getragen wird und dieser Slavekommunikationskontroller unmittelbar nach dem zum fest gelegten Zeitpunkt erfolgten Einschalten diese globale Zeit in dem Zeitregister (524) wei terzählt und die Start-Up-Prozedur des Zeit-Slave-Clusters mit dieser globalen Zeit reali siert.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Slavekommunikati onskontroller (522) über ein Time-Startup-Register (525) verfügt, in das vor dem Ein schalten des Kommunikationskontrollers der zukünftige globale Zeitpunkt des Einschaltens eingetragen werden kann und in dem vom Zeitpunkt des Einschaltens des Kommunikati onskontrollers diese globale Zeit weitergezählt und die Start-Up-Prozedur des Zeit-Slave Clusters mit dieser globalen Zeit realisiert wird.
3. Verfahren zur Übertragung von Daten von/zu einem Interface File System mit einem zeit gesteuerten Kommunikationsprotokoll, das die Kommunikation in einem Cluster eines verteilten Computersystems realisiert, wobei in jedem Cluster eine Vielzahl von Slavekno ten (121) und ein oder mehrere Masterknoten (114) über einen oder mehrere logische Busse (101) verbunden sind und jeder Knotenrechner über mindestens eine Kommunikati onskontrolleinheit mit den entsprechenden Anschlüssen an die Busse verfügt und der Zugriff auf die Kommunikationskanäle entsprechend dem Kommunikationsprotokoll, das zeitgesteuert betrieben wird, erfolgt und alle Knoten über eine global,
nach Anspruch 1 o- der 2 synchronisierte Zeit verfügen, dadurch gekennzeichnet, dass der für die Kommu nikation erforderliche gemeinsame Namensraum durch ein auf die Slaveknoten (121) ver teiltes Interfacefilesystem erzeugt wird und die in einer von einem aktiven Masterknoten ausgewählten Kommunikationsrunde auftretenden Fileoperationen und Fileadressen dieses Filesystems a priori der global synchronisierten Zeit derart zugewiesen werden, dass die Sende-und Empfangszeitpunkte eines Knotens die Fileoperationen und die Fileadressen der zu übertragenen Daten bestimmen und die zum festgelegten Zeitpunkt ohne Adressen übertragenen Daten beim Senden direkt von diesen a priori spezifizierten Files gelesen werden, beim Empfangen direkt in diese a priori spezifizierten Files abgelegt werden,
und beim Ausführen diese a priori spezifierten Files ausgeführt werden, wobei die übertrage- nen Daten die Parameter der Ausführung sind.
4. Verfahren nach Anspruch 3 dadurch gekennzeichnet, dass die in den Knoten (121) not wendigen Datenstrukturen, welche die a priori Zuweisung der Fileoperationen und Fi leadressen einer Kommunikation zu den Zeitpunkten der Übertragung vornehmen, in dem gleichen verteilten Interface Filesystem (211) abgelegt werden, das die adresslosen Daten speichert.
5. Verfahren nach Anspruch 3 oder 4 dadurch gekennzeichnet, dass der gemeinsame Be zugszeitpunkt für die globale Zeit am Anfang einer Runde durch den Sendezeitpunkt des aktiven Masters (411) bestimmt wird.
6. Verfahren nach einem der Ansprüche 3 bis 5 dadurch gekennzeichnet, dass die Sla- veknoten (121) autonom die Driftrate ihrer Oszillatoren durch den a priori bekannten zeit lichen Abstand zwischen chrakterischen Flanken, die vom Master (114) gesendet werden, bestimmen.
7. Verfahren nach einem der Ansprüche 3 bis 6 dadurch gekennzeichnet, dass das Interfa cefilesystem als indexsequentielles Filesystem mit konstanter Lange der Sätze (310) orga nisiert ist und jeder Satz über ein horizontales Checkfeld (311) und jeder File als Ganzes über einen vertikalen Checksatz (390) verfügen, sodass ein Fehler im Interfacefilesystem erkannt und korrigiert werden kann.
8. Verfahren nach einem der Ansprüche 3 bis 7, dadurch gekennzeichnet, dass zum Erken nen von Fehlern in der Datenkommunikation ohne Berechnung eines neuen Checkfeldes das horizontale Checkfeld (311) eines Satzes des lnterfacefilesystems gemeinsam mit den Daten des Satzes übertragen wird.
9. Verfahren nach Anspruch 3 bis 8, dadurch gekennzeichnet, dass ein bereits vorhandenes, an sich nicht zeitgesteuertes Übertragungsprotokoll (z. B. CAN oder ETHERNET) zeitge steuert verwendet wird und mit dem Interfacefilesystem integriert wird.
PCT/AT2000/000011 1999-01-20 2000-01-18 Optimierung der nutzdatenrate in einem verteilten zeitgesteuerten multicluster-echtzeitsystem WO2000043857A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
ATA74/99 1999-01-20
AT7499 1999-01-20
AT167499 1999-09-30
ATA1674/99 1999-09-30

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU30259/00A AU3025900A (en) 1999-01-20 2000-01-18 Optimization of user data rate in a distributed time-controlled multicluster real-time system
DE10080127T DE10080127D2 (de) 1999-01-20 2000-01-18 Optimierung der Nutzdatenrate in einem verteilten zeitgesteuerten Multicluster-Echtzeitsystem

Publications (1)

Publication Number Publication Date
WO2000043857A1 true WO2000043857A1 (de) 2000-07-27

Family

ID=25591353

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AT2000/000011 WO2000043857A1 (de) 1999-01-20 2000-01-18 Optimierung der nutzdatenrate in einem verteilten zeitgesteuerten multicluster-echtzeitsystem

Country Status (3)

Country Link
AU (1) AU3025900A (de)
DE (1) DE10080127D2 (de)
WO (1) WO2000043857A1 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004063913A1 (en) * 2003-01-10 2004-07-29 Coppe/Ufrj - Coordenação Dos Programas De Pós Graduação De Engenharia Da Universidade Federal Do Rio De Janeiro Distributed global clock for clusters of computers
AT412592B (de) * 2003-05-30 2005-04-25 Fts Computertechnik Gmbh Virtuelle netzwerke in einem zeitgesteuerten multicluster echtzeitsystem
EP1553732A2 (de) * 2003-12-09 2005-07-13 Volkswagen AG Verfahren und Vorrichtung zum Hochfahren eines Knotens eines Kommunikationssystems
WO2008029317A2 (en) * 2006-09-06 2008-03-13 Nxp B.V. Cluster coupler in a time triggered network
WO2008029318A2 (en) * 2006-09-06 2008-03-13 Nxp B.V. Cluster coupler in a time triggered network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4866606A (en) * 1984-06-22 1989-09-12 Austria Miktosystem International Gmbh Loosely coupled distributed computer system with node synchronization for precision in real time applications
WO1998056135A2 (en) * 1997-06-03 1998-12-10 Abb Research Ltd. Method for providing time synchronization in a network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4866606A (en) * 1984-06-22 1989-09-12 Austria Miktosystem International Gmbh Loosely coupled distributed computer system with node synchronization for precision in real time applications
WO1998056135A2 (en) * 1997-06-03 1998-12-10 Abb Research Ltd. Method for providing time synchronization in a network

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004063913A1 (en) * 2003-01-10 2004-07-29 Coppe/Ufrj - Coordenação Dos Programas De Pós Graduação De Engenharia Da Universidade Federal Do Rio De Janeiro Distributed global clock for clusters of computers
AT412592B (de) * 2003-05-30 2005-04-25 Fts Computertechnik Gmbh Virtuelle netzwerke in einem zeitgesteuerten multicluster echtzeitsystem
EP1553732A2 (de) * 2003-12-09 2005-07-13 Volkswagen AG Verfahren und Vorrichtung zum Hochfahren eines Knotens eines Kommunikationssystems
EP1553732B1 (de) * 2003-12-09 2016-10-05 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Hochfahren eines Knotens eines Kommunikationssystems
WO2008029317A2 (en) * 2006-09-06 2008-03-13 Nxp B.V. Cluster coupler in a time triggered network
WO2008029318A2 (en) * 2006-09-06 2008-03-13 Nxp B.V. Cluster coupler in a time triggered network
WO2008029317A3 (en) * 2006-09-06 2008-05-15 Nxp Bv Cluster coupler in a time triggered network
WO2008029318A3 (en) * 2006-09-06 2008-08-21 Nxp Bv Cluster coupler in a time triggered network
US9137042B2 (en) 2006-09-06 2015-09-15 Nxp, B.V. Cluster coupler in a time triggered network

Also Published As

Publication number Publication date
DE10080127D2 (de) 2001-04-12
AU3025900A (en) 2000-08-07

Similar Documents

Publication Publication Date Title
DE69821050T2 (de) Datenstromdifferenzierungssystem für Endgerätemulator
DE3725343C2 (de) Vielzweck-Kanalsteuersystem
AT407582B (de) Nachrichtenverteilereinheit mit integriertem guardian zur verhinderung von &#39;&#39;babbling idiot&#39;&#39; fehlern
DE69931218T2 (de) Verfahren zur synchronisierung von netzwerkknoten
DE3506118C2 (de)
DE69731421T2 (de) Verfahren zum Verknüpfen eines Datenpaketes mit einem Kanal in einem IEEE1394-Datenübertragungssystem
DE60117150T2 (de) Verfahren und computerprogramm zum übertragen von inhalt aus einer quellendatenbank zu einer zieldatenbank
DE60215007T2 (de) Multiprozessorsystem und verfahren zum betrieb eines multiprozessorsystems
DE2209136B2 (de) Steuer- und Anpassungsschaltung für Datenverarbeitungsanlagen
DE10259327A1 (de) USB-Verbundgerät und Verfahren zum Realisieren desselben
DE2806024A1 (de) Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit
EP0807883B1 (de) Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen
DE19900245A1 (de) Vorrichtung und Verfahren zum Senden und Empfangen von USB-Isochrondaten
EP2619935B1 (de) Vorrichtung und verfahren zur bereitstellung einer globalen zeitinformation in ereignisgesteuerter buskommunikation
DE4307449A1 (de)
EP1428084B1 (de) Verfahren und vorrichtung zur zeitbestimmung in einem bussystem und bussystem
DE10306285A1 (de) Mikrocomputersystem
DE60038703T2 (de) Asynchrone Datenübertragung
DE19900251B4 (de) Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals
DE102014103347A1 (de) Bedingte Verkettungsglieder für Direct-Memory-Access-Controller
WO2000043857A1 (de) Optimierung der nutzdatenrate in einem verteilten zeitgesteuerten multicluster-echtzeitsystem
DE4326740C1 (de) Architektur für eine Rechenanlage
DE102009001898A1 (de) Schaltungsanordnungen und Verfahren zur Steuerung eines Datenaustauschs in einer Schaltungsanordnung
AT410491B (de) Kommunikationsverfahren zur realisierung von ereigniskanälen in einem zeitgesteuerten kommunikationssystem
DE10216674A1 (de) Verfahren und Vorrichtung zur Übertragung von Nachrichten auf einem Bussystem und Bussystem

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REF Corresponds to

Ref document number: 10080127

Country of ref document: DE

Date of ref document: 20010412

WWE Wipo information: entry into national phase

Ref document number: 10080127

Country of ref document: DE

122 Ep: pct application non-entry in european phase