-
Querverweis auf verwandte
Anmeldung
-
Die
vorliegende Anmeldung basiert auf der
japanischen Patentanmeldung Nr. 2002-250472 ,
eingereicht am 29. August 2002.
-
HINTERGRUND DER ERFINDUNG
-
A) GEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich auf eine Technik zur Herstellung
einer Befehlssynchronisation, bei der ein Befehl zur einer Zeit
ausgeführt werden
kann, die von einem Zeitstempel bezeichnet wird, der dem Befehl
hinzugefügt
wird, wenn der Befehl von einem Controller über ein Kommunikationsnetz
an ein Zielgerät übertragen
wird.
-
B) BESCHREIBUNG DES STANDES DER TECHNIK
-
Der
Standard IEEE 1394 ist als ein neuerer Standard für eine serielle
Schnittstelle bekannt. Bei diesem Standard werden Daten durch isochrone Übertragung
in Echtzeit übertragen,
wobei jedem Knoten ein Recht zum sicheren Übertragen von Daten in einem
festen Zyklus verliehen wird. Dies ist geeignet zum Übertragen
von Daten, die insbesondere in Echtzeit zu übertragen sind, wie zum Beispiel
Bilder und Klang. Allgemein sendet und empfängt in dem Netzwerk, das diesen
Standard verwendet, durch Einsatz eines durch IEC61883-1 bestimmten Befehlformats
ein Audio und Video verarbeitendes Gerät Informationen durch eine
asynchronen Transaktion (einen asynchronen Befehl), der nach einem isochronen
Bereich übertragen
wird. Zum Beispiel wurde herkömmlicherweise
so vorgegangen, dass ein Befehl asynchron von einem PC an ein Audiogerät übertragen
wird, wobei die Übertragung
vom PC gesteuert wird, wodurch der PC die Rolle eines Controllers
und das Audiogerät
die Rolle eines Zielgeräts übernimmt.
-
In
dem auf dem Standard IEEE 1394 basierenden Netzwerk wird davon ausgegangen,
dass ein isochrones Paket mit Sicherheit während eines Übertragungszyklus übertragen
wird, der durch ein Zyklussignal gestartet wird, der gemäß einem
Zeitsignal eines Zyklus von 125 Mikrosekunden erzeugt wird. Dann
wird in einer Sendestation das isochrone Paket, dem ein Zeitstempel
hinzugefügt
wurde, der einer Zeitdifferenz des oben beschriebenen Zeitsignals und
der Abtastzeit an den Daten entspricht, die von einem analogen Signal
zur einer vorbestimmten Abtastzeit abgetastet wurde, zur Übertragung
erzeugt. In einer Empfangsstation wird ein System in Betracht gezogen,
das die Daten auf der Grundlage des schon beschriebenen Zeitstempels
auf der Zeitachse rekonstruiert (siehe
Japanische Patent Anmeldungsoffenlegungsschrift
Nummer Hei-10-32606 ).
-
In
dem auf dem oben beschriebenen Standard IEEE 1394 basierenden Netzwerk
werden, wenn Empfangszeiten für
eine Vielzahl von Empfangsgeräten
miteinander in Übereinstimmung
zu bringen sind, diese durch den oben beschriebenen Befehl gesteuert,
auch wenn es nicht leicht ist, diese Zeiten in Übereinstimmung zu bringen.
Zum Beispiel war es in einem Fall, bei dem jeder Befehl vom Controller
an das erste und das zweite Zielgerät gesendet wird, um diese Zielgeräte zu steuern,
schwierig, eine Synchronisation herzustellen, das heißt, Betriebszeiten
der Zielgeräte
miteinander in Übereinstimmung zu
bringen. Außerdem
wird ein Fall in Betracht gezogen, bei dem ein Befehl von einem
anderen Controller kommend empfangen wird, der in einem Zielgerät auszuführen ist,
und es war nicht möglich,
den gewünschten
Befehl immer zur selben Zeit auszuführen. Darüber hinaus kann sich in einem
anderen Typ des Zielgerätes,
da die Ausführungsgeschwindigkeit sich
nach dem Typ der Geräte
unterscheidet, die Zeit auch verschieben.
-
Außerdem wird
in dem auf dem Standard IEEE 1394 basierenden Netzwerk, wenn ein
isochroner Übertragungsbereich
groß ist,
ein asynchroner Übertragungsbereich
verkleinert, und es tritt häufig ein
Fall auf, bei dem der im asynchronen Übertragungsbereich übertragende
Befehl im nächsten
Zyklus übertragen
wird. Hierdurch wird die Befehlsübertragung
verzögert
und kann sich die Steuerungszeit zwischen der Vielzahl von Zielgeräten verschieben.
-
Die
in
JP-A Heil 0-32606 offenbarte
Technik verwendet den Zeitstempel zum rekonstruieren von Wellenformdaten
usw., die durch isochrone Pakete zu übertragen sind, auf einer Zeitachse,
und es handelt sich nicht um eine Technik zum Einsatz zu einer Zeit,
bei der der Befehl durch ein asynchrones Paket zu übertragen
ist.
-
Die
Patentanmeldungsveröffentlichung
US 2002/064185 A1 offenbart eine Technik zum Kompensieren einer
Zeitgeberverzögerung
in einem IEEE-1394-Bussystem,
bei dem ein Zeitstempel verwendet wird, in dem ein Controller eine
Zeitgeberverzögerung
nur einmal misst, den gemessenen Wert speichert, einen Zeitstempel
erzeugt und den Zeitstempel an ein ausführendes Gerät überträgt, um die Zeitgeberverzögerung zu
kompensieren.
-
Die
Patentanmeldungsveröffentlichung
US 2002/046311 A1 offenbart eine Technik zum Löschen eines Befehls, wenn nach Übertragung
des Befehls eine vorbestimmte Zeit ohne Antwort verstrichen ist, wobei
eine Zielvorrichtung einem Controller mitteilt, dass ein NOTIFY-Befehl
aufgrund eines Zeitablaufs leer geworden ist.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Es
ist eine Aufgabe der vorliegenden Erfindung, ein Befehlssynchronisationssystem
vorzusehen, das eine Synchronisation von Zeitsteuerungen von Steuerungen
zwischen Zielgeräten
durch einen Befehl herstellen kann, der von einem Controller an die
Zielgeräte
in einem Netzwerk übertragen
wird, das eine Struktur zum Übertragen
von Wellendaten usw. durch die isochrone Übertragung in Echtzeit und eine
Struktur zum Übertragen
eines Befehls durch asynchrone Übertragung
aufweist. Außerdem
ist es eine Aufgabe der vorliegenden Erfindung, ein Befehlssynchronisationsverfahren,
einen Controller für ein
Befehlssynchronisationssystem und ein Zielgerät für ein Befehlssynchronisationssystem
vorzusehen.
-
Nach
einem Aspekt der vorliegenden Erfindung ist ein Befehlssynchronisationssystem
vorgesehen, das ein Netzwerk verwendet, in dem Daten durch eine
isochrone Übertragung übertragen
werden, ein Befehl durch eine asynchrone Übertragung übertragen wird, und eine synchronisierte
Uhr von an das Netzwerk angeschlossenen Geräten geteilt (gemeinsam genutzt)
wird, wobei das System aufweist: einen mit dem Netzwerk verbundenen
Controller und ein mit dem Netzwerk verbundenes Zielgerät, wobei der
Controller Mittel zum Senden eines Befehls einschließlich eines
Zeitstempels an das Zielgerät
unter der Verwendung der asynchronen Übertragung aufweist, und das
Zielgerät
Mittel zum Empfangen des Befehls, Mittel zum temporären Speichern
des empfangenen Befehls, um den empfangenen Befehl nicht sofort
auszuführen,
und Mittel zum Ausführen
des empfangenen Befehls gemäß dem im
auszuführenden
Befehl enthaltenden Zeitstempel aufweist, dadurch gekennzeichnet,
dass das Zielgerät
ferner Mittel zum Senden einer ersten Antwort an den Controller
aufweist, wenn der Befehl von dem Zielgerät empfangen wird, und zum Senden
einer zweiten Antwort an den Controller, welche anzeigt, dass der
vom Zielgerät
empfangene Befehl gemäß dem Zeitstempel ausgeführt wird.
-
Gemäß der vorliegenden
Erfindung kann eine Synchronisation der Prozesse, die dem Befehl entsprechen,
der durch die asynchrone Übertragung übertragen
wurde, in den Zielgeräten
hergestellt werden. Zum Beispiel können Audiowellendaten zu dieser
Zeit empfangen werden, indem der Befehl zu einem Empfangsstartbefehl
der Audiowellendaten (eine logische Verbindung zur Übertragung)
wird und indem im Befehl eine Empfangszeit bezeichnet wird.
-
Außerdem wird
durch Zuweisen von Szeneneinstellungsveränderungen von Mischern und Parameteränderungen
von Effektoren zu den Befehlen, eine synchronisierte Fernsteuerung
eines jeden Gerätes
möglich.
Außerdem
kann entweder ein Verfahren zum unmittelbaren Ausführen des
Befehls oder ein Verfahren zum Ausführen des Befehls zu einer Zeit
des Zeitstempels vorgesehen werden.
-
Durch
Verwenden eines Teils des Bereichs für die Zeitstempeldaten, die
eine Zeit als ein Flag für die
Bezeichnung repräsentieren,
können
die Befehlsdaten übertragen
werden, ohne dass eine Gesamtmenge der Befehlsdaten vergrößert wird.
-
Darüber hinaus
kann die Synchronisation unter Geräten unterschiedlicher Versionen
perfekt hergestellt werden, indem eine Befehlsausführungsendzeit
bezeichnet wird.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Es
zeigt:
-
1A und 1B Diagramme,
die Beispiele einer Netzwerkstruktur gemäß einer Ausführungsform
der vorliegenden Erfindung darstellen;
-
2 ein
Diagramm, das ein Beispiel einer Paketanordnung auf dem Bus in einer
isochronen Übertragungsbetriebsart
darstellt;
-
3A und 3B Befehlsflussdiagramme zwischen
dem Controller und dem Zielgerät;
-
4A und 4B Diagramme,
die einen Registerraum des Zielgeräts darstellen;
-
5A bis 5C Diagramme,
die ein Beispiel eines Befehlspakets darstellen;
-
6 ein
Zeitdiagramm, das einen Fortschritt des Betriebs in jedem Gerät des Systems
darstellt;
-
7A und 7B Fließdiagramme
eines Prozesses in einem Zielgerät.
-
DETAILLIERTE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Die 1A und 1B zeigen
Beispiele einer Netzwerkstruktur gemäß einer Ausführungsform der
vorliegenden Erfindung. 1A ist
ein Blockdiagramm, das einen Hardwareaufbau des Netzwerks zeigt,
und 1B zeigt ein Beispiel für einen Hardwareaufbau, der
dem im 1A dargestellten Aufbau entspricht.
Wie in 1B gezeigt, sind ein PC 101,
ein Mischer 102, ein Effektor 103, ein Analog-Digital-Wandler 104,
ein Aufzeichnungsgerät 105 und ein
Lautsprecher 106 physisch mit dem auf dem Standard IEEE
1394 basierenden Netzwerk verbunden. Der in 1B gezeigte
Hardwareaufbau kann logisch als die in 1A gezeigte
Struktur betrachtet werden. Ein Bus 110 ist ein virtueller
Bus (serieller Bus) zum Durchführen
einer Datenübertragung
zwischen den Geräten 101 bis 106.
Jedes an diesen Bus 110 angeschlossene Gerät wird als
ein Knoten bezeichnet.
-
In
der Ausführungsform
der vorliegenden Erfindung betreibt die Netzwerkstruktur eine Datenübertragung
als ein auf dem Standard IEEE 1394 basierendes System. Insbesondere
sendet der PC 101 Befehle an die Geräte 102 bis 106 als
ein Controller zum Steuern der Geräte. Jedes der anderen Geräte empfängt die
Steuerbefehle, die vom Controller (PC 101) gesendet wurden,
als ein Zielgerät
und führt
einen Prozess gemäß der Anwendung
eines jeden Befehls aus. In der vorliegenden Beschreibung ist der Controller
ein Gerät
zum Senden eines Befehls und das Zielgerät ein Gerät zum Empfangen des Befehls.
-
Der
Mischer 102 führt
in zugeteilter Weise ein Mischen digitaler Klangsignale einer Vielzahl
von Eingangskanälen
aus und gibt ein gemischtes Signal (oder gemischte Signale) an zugeteilte
Ausgangskanäle
aus. Der Mischer 102 ist mit einer Vielzahl von Überblendreglern
ausgerüstet
und kann jeden Kanalpegel mit dem Überblendregler einstellen.
Außerdem hat
der Mischer 102 eine Szeneneinstellfunktion. Die Szene
gibt einen Mischstatus und einen Verbindungsstatus an einem bestimmten
Zeitpunkt an. Die Einstellungsstatus werden als eine Szene abgespeichert,
und die Einstellungsstatus können
durch Aufrufen der gespeicherten Szene ganz einfach rekonstruiert
werden. Der Effektor 103 ist ein Gerät, das dem digitalen Klangsignal
verschiedene Effekte verleiht. Der Analog-Digital-Wandler ist ein
Gerät,
das das eingegebene analoge Klangsignal in ein digitales Klangsignal
umwandelt. Das Aufzeichnungsgerät 106 ist
ein Klangsystem, das das von den digitalen Musikdaten umgewandelte
analoge Klangsignal wiedergibt. Ein Verdrahtungszustand eines jeweiligen Geräts kann
zum Beispiel vom PC 101 in zugeteilter Weise eingestellt
werden.
-
2 ist
ein Diagramm, in dem ein Beispiel für eine Paketanordnung auf dem
Bus in einer isochronen Übertragungsbetriebart
dargestellt ist. Drei Typen von Paketen, ein Zyklusstartpaket 201,
ein isochrones Paket 202 und ein asynchrones Paket 203 sind
auf der Zeitachse angeordnet. Pfeile 211 und 212 geben
ein Zeitsignal (Zyklus-sync) an, das im vorliegenden System als
eine Standardzeit betrachtet wird. Dieses Zeitsignal ist ein Signal
in einem Zyklus von einer Mikrosekunde (8 kHz).
-
Das
Zyklusstartpaket 201 ist ein Paket, das von einem Knoten
gesendet wird, der als Zyklusmaster bezeichnet wird, bei dem es
sich um einem der an diesen Bus angeschlossenen Knoten handelt.
Ein neuer Übertragungszyklus
wird durch das Zyklusstartpaket gestartet. Der Zyklusmaster hat
einen präzisen
Taktgenerator und versucht, das Zyklusstartsignal mit einem Zeitintervall
des oben beschriebenen Zeitsignals zu senden. Wenn jedoch die Übertragung eines
anderen Pakets im Gange ist, wird mit der Übertragung des oben beschriebenen
Zyklusstartpakets gewartet, bis die Übertragung abgeschlossen ist.
Ein Bezugszeichen 214 gibt eine Verzögerungszeit (Startverzögerung)
an, und diese Verzögerungszeit
wird in dem oben beschriebenen Zyklusstartpaket codiert und an jeden
Knoten übertragen.
Außerdem
wird garantiert, dass das von dem oben beschriebenen Knoten gesendete
Paket vom anderen Knoten in derselben Taktperiode empfangen wird.
-
Jeder
Knoten ist mit einem Zykluszeitregister von 32 Bits ausgerüstet. Durch
die Verwendung der niederwertigen 12 Bits, zählt jedes Zykluszeitregister ein
Taktsignal mit 24,576 MHz (einem Zyklus von 40,7 ns) durch Teilen
durch 3072 als ein Teiler und zählt
einen Standardzyklus mit den oben genannten 8 kHz durch die höherwertigen
13 Bits.
-
Dann
werden mit den höhenwertigen
7 Bits Sekunden gezählt
(4A und 4B). Dann
veranlasst der oben beschriebene Zyklusmaster, dass die Zykluszeitregister
aller anderen Knoten den Inhalt seines Zykluszeitregisters kopieren,
wodurch alle Knoten innerhalb einer spezifischen Phasendifferenz synchronisiert
werden. Hierdurch wird im vorliegenden Netzwerk eine gemeinsame
Startzeit garantiert.
-
Das
isochrone Paket 202 ist ein Kanal, der zum Übertragen
derjenigen Daten verwendet wird, die eine präzise Zeitreferenz benötigen, wie
zum Beispiel digitaler Klang, digitales Video sowie Musikspieldaten.
Diese isochronen Pakete 202 werden garantiert im jeweiligen Übertragungszyklus übertragen.
Außerdem
handelt es sich bei dem oben beschriebenen asynchronen Paket 203 um
ein Paket, das asynchron übertragen
wird, wenn es in dem Übertragungszyklus
nach Abschluss der Übertragung
des oben beschriebenen isochronen Pakets 202 eine leere
Zeit gibt. In der Ausführungsform
der vorliegenden Erfindung wird unter der Verwendung dieses asynchronen
Pakets 203 zur Steuerung des jeweiligen Zielgeräts ein Befehl
vom PC 101 an jedes der Zielgeräte 102–106 gesendet.
-
Die 3A und 3B sind
Fließdiagramme
für Befehlsflüsse zwischen
dem Controller und dem Zielgerät.
Wenn der Befehl unter der Verwendung des asynchronen Pakets, wie
durch den Pfeil 301 gezeigt, vom Controller zum Zielgerät übertragen
wird, führt
das Zielgerät
den Befehl aus und gibt innerhalb von 100 Millisekunden eine Abschlussantwort 302 an
den Controller zurück,
um anzuzeigen, dass der Befehl ausgeführt wurde. Es ist schwierig,
lediglich durch das Verfahren eine Synchronisation der Operationen
unter der Vielzahl von Geräten
herzustellen.
-
3B zeigt
einen Befehlsfluss zwischen dem Controller und dem Zielgerät in dem
System der Ausführungsform
der in der 1A und 1B dargestellten
vorliegenden Erfindung. Ein Befehl 311 wird vom Controller
an das Zielgerät übertragen.
Dieser Befehl 311 enthält
einen Zeitstempel T_res. Der Zeitstempel T_res besteht aus Daten,
um eine Zeit zum Ausführen
des Befehls zu bezeichnen. Das Zielgerät, das den Befehl 311 empfangen
hat, sendet innerhalb von 100 Millisekunden eine Zwischenantwort 312 an
den Controller. Die Zwischenantwort 312 ist eine Antwort,
die anzeigt, dass der empfangene Befehl in einem Empfangszustand
ist. Wenn eine Zykluszeit, die die aktuelle Zeit repräsentiert,
die Zeit erreicht, die vom Zeitstempel T_res repräsentiert
wird, wird der Befehl ausgeführt
und eine Abschlussantwort 313 an den Controller gesendet.
Da in 3B die Zeit zum Ausführen des
Befehls von jedem Zielgerät
bezeichnet werden kann, kann eine Synchronisation der Operationen
unter der Vielzahl der Zielgeräte
hergestellt werden.
-
4A zeigt
einen Registerraum des Zielgeräts
in der Ausführungsform
der vorliegenden Erfindung. Wie in 4B gezeigt,
besteht ein Zykluszeitregister 401 aus einem zweiten Zähler (Second_count) 411 von
7 Bits, einem Zykluszähler (Cycle_count) 412 aus
13 Bits und einem Zyklus-Offset (Cycle_offset) 413 von
12 Bits. Der zweite Zähler 411 zählt in Einheiten
von Sekunden. Der Zykluszähler 412 zählt in Einheiten
von Zyklen von 125 Mikrosekunden). Der Zyklus-Offset 413 ist
ein Zähler
zum Zählen
des Standardtaktes (24,576 MHz, Zyklus von 40,7 ns) des Systems
durch Teilen durch 3072 als Teiler. Der Wert des Zyklus-Offsets 413 beträgt zwischen
0 und 3071. Daher geschieht es selten, dass alle 12 Bits des Zyklus-Offsets 413 dann
1 sind (0xFFF in einer hexadezimalen Skala; 0x repräsentiert
eine hexadezimale Skala). Das Befehlsregister 402 ist ein
Bereich, der vom Befehl einzustellen ist, der vom Controller gesendet
wird.
-
Jedes
Zielgerät
hat einen derartigen Registerraum. Wenn der Controller das übertragene
Zyklusstartpaket empfängt,
wird die im Zyklusstartpaket enthaltene Zykluszeit in das Zykluszeitregister 401 der
jeweiligen Vorrichtung eingeschrieben. Hierdurch kann die Synchronisation
unter allen an das Netzwerk angeschlossenen Geräten hergestellt werden.
-
5a zeigt
ein Beispiel für
ein Befehlspaket, das in der Ausführungsform der vorliegenden
Erfindung vom Controller an das Zielgerät gesendet wird. Das Befehlspaket
enthält
feste Kopfinformationen (AV/C-Header, Type, Bender-ID). Nach den Kopfinformationen
sind Zeitstempelbereiche 501 und 502 vorgesehen,
und sind auch Befehlsbereiche 503 und 504 vorgesehen.
Formate der Zeitstempel 501 und 502 sind dieselben
wie diejenigen der anhand von 4B erläuterten
Zykluszeit. Diese Zeitstempel 501 und 502 sind
die Befehlsausführzeit
T_res, die anhand von 3B erläutert wurde.
-
Insbesondere
wird in der vorliegenden Ausführungsform
der Zyklus-Offset 413 als ein Flag verwendet, weil der
Zyklus-Offset normalerweise nicht 0xFFF wird, damit, wie in 3A oder
wie in 3B gezeigt, eine Auswahl (Bezeichnung)
der Ausführung des
Prozesses erfolgt. Das heißt,
dass der Befehl, wenn der Zyklus-Offset
des Zeitstempels 501 und 502 in dem vom Controller
gesendeten Befehl 0xFFF ist, wie in 3B unmittelbar
ausgeführt
wird. Wenn der Zyklus-Offset des Zeitstempels 501 und 502 in dem
vom Controller gesendeten Befehl nicht 0xFFF ist, wird der Befehl
wie in 3B nach der Zeit ausgeführt, die
durch die Zeitstempel 501 und 502 repräsentiert
wird.
-
6 ist
ein Zeitdiagram, das eine fortschreitende Operation in jedem Gerät des Systems
in den 1A und 1B zeigt.
Wie durch die Bezugszeichen 601 bis 606 angegeben,
sendet der PC 101 die Befehle A, B, C, D und B' an den Mischer 102,
das Aufzeichnungsgerät 105,
den Effektor 103, den Analog-Digital-Wandler 104 und
ein Aufzeichnungsgerät 2 (das
in den 1A und 1B nicht gezeigt
ist). Die Zeiten t_A, t_B, t_C, t_D und t_E repräsentieren Zeitstempel, die
in den Befehlen A, B, C, D und E gespeichert sind. Der im Befehl
B' registrierte
Zeitstempel ist „t_B", genau so wie im
Befehl B. Die Reihenfolge vom Beginn zum Ende ist wie folgt: t_D,
t_B, t_A, t_E und t_C.
-
Zuerst
wird der Befehl D zur Zeit t_D im Analog-Digital-Wandler 104 ausgeführt. Dies
geschieht zum Ausführen
des Prozesses der Audio-Eingabeanschlusseinstellung,
wie durch das Bezugszeichen 615 angegeben. Als Nächstes werden
der Befehl B im Aufzeichnungsgerät 105 und
der Befehl B' im
Aufzeichnungsgerät 2 zur
Zeit t_B ausgeführt.
Dies geschieht zum Ausführen
eines Aufzeichnungsstartprozesses, wie durch die Bezugszeichen 613 und 616 angegeben.
Da die Zeitstempel der Befehle B und B' dieselben, nämlich t_B, sind, sind die Aufzeichnungsstartzeiten
in beiden Aufzeichnungsgeräten
synchronisiert. Als Nächstes
wird der Befehl A im Mischer 102 zur Zeit t_A ausgeführt, und
wird, wie durch das Bezugszeichen 611 angegeben, ein Szeneneinstellprozess
ausgeführt.
Hiernach wird zur Zeit t_E im Mischer 102 der Befehl E
ausgeführt,
und, wie durch das Bezugszeichen 612 angegeben, ein Änderungsprozess
eines Überblendwertes
ausgeführt.
Darüber hinaus
wird zur Zeit t_C im Effektor 103 der Befehl C ausgeführt und,
wie durch das Bezugszeichen 614 angegeben, ein Effekteinstellprozess
ausgeführt.
-
Wie
oben beschrieben, kann jedes Gerät
zur durch den jeweiligen Zeitstempel repräsentierten Zeit, die im Voraus
bestimmt wird, gesteuert werden und insgesamt ein Synchronisationsvorgang
umgesetzt werden.
-
Die 7A und 7B sind
Fließdiagramme
des Befehlsempfangs-Ereignisprozesses
im Zielgerät
der Ausführungsform
der vorliegenden Erfindung. Der Zeitstempel des empfangenen Befehls wird
in einem Arbeitsregister OST bei Schritt S701 eingestellt. Es wird
bei Schritt 702 beurteilt, ob die niederwertigen 12 Bits
von OST OxFFF sind oder nicht. Wenn die niederwertigen 12 Bits von
OST OxFFF sind, wird bei Schritt 705 der empfangene Befehl
unmittelbar ausgeführt.
Dann wird bei Schritt 706 eine Antwort gesendet, und der
Prozess wird abgeschlossen. Wenn die niederwertigen 12 Bits von
OST nicht OxFFF sind, wird bei Schritt 703 ein Synchronisationsbefehlsereignis,
das dem empfangenen Befehl entspricht, eingestellt. Dann wird bei
Schritt 704 eine Zwischenantwort gesendet, und der Prozess wird
abgeschlossen.
-
7B zeigt
ein Fließdiagramm
des Synthetisierungsbefehlsereignisses bei Schritt 703.
Bei Schritt 711 wird ein Wert des Zyklusregisters, der
die aktuelle Zeit repräsentiert,
in ein Register CT eingeschrieben, und es wird bei Schritt 712 beurteilt, ob
CT größer oder
gleich OST wird oder nicht. Schritt 711 und Schritt 712 werden
wiederholt, damit der Prozess wartet, bis das Register im Ergebnis
größer oder gleich
das Register OST wird (CT ≥ OST).
Wenn CT größer oder
gleich OST wird, wird der empfangene Befehl bei Schritt 713 verarbeitet,
die Antwort bei Schritt 714 gesendet und der Prozess abgeschlossen.
-
Darüber hinaus
kann der Befehl auch im Voraus abgearbeitet werden, anstelle dass
der Prozess bei Schritt 712 wartet, und kann das Ergebnis
des Prozesses ausgewertet werden, wenn das Register CT größer oder
gleich dem Register OST wird (CT ≥ OST).
Das bedeutet, dass der Befehl abgeschlossen werden kann, bevor das
Register größer oder
gleich dem Register OST wird (CT ≥ OST),
und der Prozess zur Zeit, wo CT größer gleich OST ist, ausgewertet werden
kann, indem lediglich ein Auslöser
hinzugefügt
wird. In diesem Fall bedeutet der Zeitstempelwert OST im Befehl
eine Zeit, zu der die Ausführung des
Befehls abgeschlossen ist, anstelle der Zeit, zu der der Befehl
ausgeführt
wird.
-
Das
Verarbeitungsverfahren des Befehls (3A oder 3B)
beinhaltet jedoch die Entscheidung, ob das Flag, das im Zyklus-Offsetbereich in
den Zeitstempeln 501 und 502 in 5A ist, OxFFF
ist oder nicht, doch ist der als das Flag verwendete Bereich nicht
auf den Zyklus-Offsetbereich eingeschränkt. Zum Beispiel kann, wie
in 5B gezeigt, auch ein anderer Bereich 511 im
Befehl als ein Bereich für
das Flag verwendet werden.
-
Außerdem sind
die Zeitstempel 501 und 502 zwar als dasselbe
Format wie das Zykluszeitregister definiert, doch ist das Format
des Zeitstempels im Befehl nicht nur auf das oben Angegebene eingeschränkt. Als
ein Zeitstempel kann im Befehl auch ein Teil (zum Beispiel nur der
Zykluszähler
und der Zyklus-Offset) des Zykluszeitregisters verwendet werden.
Außerdem
kann der Sekundenzähler
nicht mehr als 127 Sekunden darstellen, insofern das Format dasselbe
wie beim Zykluszeitregister ist, weil der Bereich für den Sekundenzähler 7 Bits
ist. Dann sind, wie in 5C gezeigt, Bereiche der Zeitstempel 521 und 522 so
definiert, dass sie im Format von 4B sind,
das dasselbe wie in 5A ist, und ein Bereich des
Zeitstempels 523 ist als ein Bereich zum Bezeichnen einer
Zeit in Einheiten von 128 Sekunden definiert. Hierdurch kann auch
eine Zeit über
128 Sekunden oder mehr bezeichnet werden. In diesem Fall ist es
notwendig, dass auf der Seite des Zielgerätes neben dem in 4 gezeigten Zykluszeitregister ebenfalls
ein Register vorhanden ist, das eine Zeit darstellen kann, die länger als
128 Sekunden ist.
-
Auch
wenn in der oben beschriebenen Ausführungsform das Beispiel zum
Steuern des jeweiligen Gerätes
vom PC als ein Controller erläutert
wurde, kann die vorliegende Erfindung auch auf einen beliebigen
Fall zum Herstellen einer Synchronisation des Betriebs jedes Gerätes angewendet
werden. Zum Beispiel liest, wenn die Klanganweisungsbefehle an eine
Vielzahl von Zielgeräten
gesendet werden, um sie zum Erklingen zu bringen, der Sequenzer
die automatischen Spieldaten im Voraus aus und wird jeder Klanganweisungsbefehl
im Voraus an jedes Zielgerät übertragen,
wobei der Zeitstempel eine Zeit zum Erklingen repräsentiert.
Hierdurch können
Erklingenszeiten an der Vielzahl von Zielgeräten synchronisiert werden.
-
Außerdem kann
ein Zuteilungsgerät
gemäß der Ausführungsform
der vorliegenden Erfindung der Controller oder das Zielgerät sein.
Außerdem
kann ein Gerät
die Funktionen sowohl des Controllers als auch der Zielgeräte haben.
-
Auch
wenn als Beispiel in der oben beschriebenen Ausführungsform ein Netzwerk beschrieben wurde,
das auf dem Standard IEEE 1394 basiert, kann die vorliegende Erfindung
auch auf ein beliebiges Kommunikationssystem angewendet werden, sofern
es eine Struktur zum Übertragen
eines Befehls in einer asynchronen Übertragungsbetriebsart, eine
Struktur zum Übertragen
von Wellendaten, wie zum Beispiel Audiodaten usw., in der isochronen Übertragungsbetriebsart
und eine Struktur zum Herstellen einer Synchronisation unter Geräten, die
eine gemeinsame Zykluszeit (Takt) haben, aufweist.
-
Die
vorliegende Erfindung wurde anhand der bevorzugten Ausführungsformen
beschrieben. Die Erfindung ist nicht nur auf die oben angegebenen Ausführungsformen
eingeschränkt.
Es versteht sich, dass vom Fachmann verschiedene Modifikationen, Verbesserungen,
Kombinationen und dergleichen vorgenommen werden können.