-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft
ein System zum Übertragen
von Audiosignalen und/oder Videosignalen als ein Digitalsignal in
solchen Anwendungen wie einem digitalen Video-Kassettenrecorder (VCR),
wobei Audiosignale und/oder Videosignale als digitale Signale aufgezeichnet
und wiedergegeben werden, und ebenfalls ein Verfahren dafür.
-
2. Beschreibung des Standes
der Technik
-
Geräte zum Übertragen von Audiosignalen und/oder
Videosignalen durch einen Digitalsignal-Übertragungsweg werden fortlaufend
entwickelt. Das Übertragen
von Audiosignalen und/oder Videosignalen als ein Digitalsignal erfordert
jedoch, das Senden und Empfangen mit der Bearbeitungsgeschwindigkeit
der Vorrichtung synchronisiert sind, und erfordert daher einen zur
isochronen Übertragung
fähigen Übertragungsweg.
Eine Busverbindung wird mehr bevorzugt hinsichtlich des für eine Zweiwege-Kommunikation auf
einem einzelnen Übertragungsweg erforderliche
Potentiales, wobei mehrere Geräte
ein von einem einzelnen Gerät
gesendetes Signal empfangen können.
-
Das Institute of Electrical and Electronic
Engineers, Inc. (IEEE) untersucht gegenwärtig ein serielles Hochgeschwindigkeits-Busprotokoll
der nächsten
Generation unter dem Titel P1394 (siehe "High Performance Serial Bus"). Unter dem vorgeschlagenen
IEEE P1394-Standard können
isochrone Übertragungsdaten
einschließlich
Audiosignalen, Videosignalen und anderen Echtzeitdaten durch isochrone Übertragung
unter Verwendung isochroner Pakete übertragen werden, welche alle
125 μs (=
1 Zyklus) gesendet und empfangen werden, um eine isochrone Übertragung
zu verwirklichen, siehe Teener M: "A Bus on a diet – the serial bus alternative – an introduction
to the P1394 high performance serial bus" intellectual leverage, San Francisco,
24.–28.
Feb. 1992, Konferenz Nr. 37, 24. Februar 1992, Seite 316–321, XP000340753
Institute of Electrical and Electronic Engineers.
-
Das isochrone Übertragungs-Steuerungsverfahren
der IEEE P1394 wird als Nächstes
beschrieben. Wenn der Bus gemäß IEEE P1394
initialisiert ist, wird automatisch ein Knoten-Identifizierer zu jedem
an den Bus angeschlossenen Gerät
zugeordnet (jedem "Knoten") als eine Einrichtung
zum Identifizieren jedes Knotens. Ein Maximum von 64 isochronen
Paketen pro Zyklus kann ebenfalls über den Bus gesendet werden.
Als ein Ergebnis ist jedem isochronen Paket ebenfalls eine Kanalnummer
zugeordnet, die im Wert von 0 bis 63 reicht, um jedes isochrone Paket
zu identifizieren. Um eine isochrone Übertragung auf mehreren Kanälen zu verwirklichen,
wird einer der mehreren an den Bus angeschlossenen Knoten zur Verwaltung
der isochronen Übertragung
verwendet; dieser Knoten wird nachfolgend als "Bus-Manager" bezeichnet.
-
Der Bus-Manager verwaltet die zur
isochronen Übertragung
verwendeten Kanalnummern und die in jedem Zyklus zur isochronen Übertragung
verwendbare, verbleibende Zeit. Die Zeitteilungsrate, oder die Zeitschlitzbreite,
die für
jeden Knoten erforderlich ist, um ein isochrones Paket in einen
Zyklus zu übertragen,
wird unten als eine Bandbreite bezeichnet. Um eine isochrone Übertragung
zu verwirklichen, muss der Bus-Manager die Kanalnummer und die Bandbreite,
die zu verwenden sind, reservieren. Es ist anzumerken, dass. Kommunikation,
die für
isochrone Übertragung
nicht wesentlich ist, und Information, die nicht isochrone Übertragung
erfordert, durch asynchrone Übertragung
unter Verwendung asynchroner Pakete übertragen werden. Eine asynchrone
Kommunikation wird verwirklicht unter Verwendung von Zykluszeiten,
die nicht für
isochrone Übertragung
verwendet werden.
-
Der Bus wird ebenfalls sofort reinitialisiert, wenn
ein Knoten an den Bus angeschlossen oder davon getrennt wird, oder
wenn ein Knoten auf dem Bus ausgeschaltet wird, um eine aktive Buskonfiguration zu
ermöglichen.
-
Die Veröffentlichung "The Broadband LAN as
a Metropolitan Area Network" von
Pitt D et al in Computer Communications, Ausgabe 16, Nr. 2, 1. Februar
1993, Seite 69-76,
XP000334809, betrifft eine Datenübertragung,
bei welcher der Rahmen mit Daten veränderlicher Länge in zu übertragende
Pakete, das heißt
Schlitze und Zellen, aufgeteilt wird.
-
Das von der vorliegenden Erfindung
angesprochene Problem wird als Nächstes
beschrieben.
-
Wenn der IEEE P1394 serielle Hochleistungsbus
auf eine isochrone Übertragung
zwischen Verbraucher-Ton-Bild-(A/V)-Geräten unter Verwendung des oben
beschriebenen, konventionellen, isochronen Paketes angewendet wird,
ist es für
den das isochrone Paket empfangenden Knoten nicht möglich, den
das isochrone Paket sendenden Knoten zu identifizieren.
-
Wegen dieses Knoten-Identifizierungsproblems
kann der das isochrone Paket empfangende Knoten den das isochrone
Paket sendende Knoten nicht auffordern, die Übertragung isochroner Pakete fortzusetzen,
wenn es erforderlich ist, um eine Unterbrechung der isochronen Übertragung
infolge einer unerwarteten Benutzer-Handlung zu verhindern, und daher
ist es nicht möglich,
den Sendeknoten in einen Schutzzustand zu versetzen.
-
Dies wird unten anhand eines Systems
mit Knoten A, B und C beschrieben, wobei der Knoten B als die von
Knoten A gesendeten isochronen Pakete empfangend und aufzeichnend
angenommen wird. Wenn ein Benutzer dann einen Vorgang ausführt, der bewirkt,
dass der Knoten C ein isochrones Paket sendet, muss der Knoten C
von dem Knoten A fordern, die Übertragung
des isochronen Paketes anzuhalten. Wenn der Knoten A durch Anhalten
der Übertragung auf
diese Anforderung reagiert, wird der Aufzeichnungsvorgang von Knoten
B unterbrochen. Daher ist es bei diesem konventionellen Datenübertragungsvertahren
möglich,
die Übertragung
isochroner Pakete zwischen kommunizierenden Knoten zu unterbrechen,
wenn ein nicht an der Übertragung
der isochronen Pakete beteiligter Knoten irrtümlich oder fälschlicherweise
betrieben wird.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Um das obige Problem zu lösen, gibt
die Erfindung eine Datenübertragungseinrichtung
an zur Übertragung
von Daten, welche eine Echtzeitverarbeitung erfordern, durch isochrone
Pakete über
einen Bus, wobei eine Mehrzahl von Knoten an den Bus angeschlossen
ist und wobei ein Knoten-Identifizierer zu jedem an den Bus angeschlossenen
Knoten zugeordnet ist, wenn ein Bus-Zurücksetzen auftritt, wobei die
Datenübertragungseinrichtung
umfasst:
einen Übertragungsknoten
zum Übertragen
von Daten zu einer Datenempfangseinrichtung mit einem Empfangs-Knoten,
eine
Einrichtung zum Hinzufügen
eines Knoten-Identifizierers, welcher dem Übertragungsknoten zugeordnet
ist, zu den durch den Übertragungsknoten
gesendeten isochronen Paketen zur Detektion durch den Empfangsknoten,
eine
Einrichtung zum Setzen des Übertragungsknotens
in einen Schutzzustand als Reaktion auf eine Erzeugung eines Fortsetzungsbefehls
durch den Empfangsknoten, um einen vorbestimmten Vorgang des Übertragungsknotens
vor einer Unterbrechung zu schützen,
und
eine Einrichtung zum Freigeben des Schutzzustands als Reaktion
auf eine Erzeugung eines Freigabebefehls durch den Empfangsknoten.
-
Daher wird bei einer erfindungsgemäßen Datenübertragungseinrichtung
zum Lösen
des oben beschriebenen ersten Problems ein den das isochrone Paket
sendenden Knoten identifizierender Knotenidentifizierer zu jedem
isochronen Paket hinzugefügt.
-
Um Anforderungen zum Fortsetzen der Übertragung
von einer Mehrzahl von Empfängerknoten
zu handhaben, tritt der Sendeknoten in einen Schutzzustand ein,
wenn eine oder mehrere Fortsetzungsanforderungen von einem oder
mehreren Empfängerknoten
empfangen werden, und hebt diesen Schutzzustand auf, wenn die Anzahl
empfangener "Stop
Enable"-Flags wenigstens
gleich der Anzahl von empfangenen Fortsetzungs-Anforderungen ist.
-
Durch eine solche Datenübertragungseinrichtung
kann der Empfängerknoten
sofort den isochrone Pakete sendenden Knoten identifizieren durch
einfaches Lesen des Knoten-Identifizierers des Sendeknotens, der
in jedem empfangenen, isochronen Paket enthalten ist.
-
Zusätzlich kann durch Identifizieren
des Sendeknotens der Empfängerknoten
eine Fortsetzungs-Anforderung zu dem Sendeknoten senden, wenn dies
erforderlich ist, und kann ein Stop-Enable-Flag senden, wenn es
nicht länger
erforderlich ist, die Übertragung
fortzusetzen. Jedes Mal, wenn der Sendeknoten eine Fortsetzungs-Anforderung empfängt, erhöht der Sendeknoten
einen Schutzzähler und
verringert den Schutzzähler
jedes Mal, wenn ein Stop-Enable-Flag empfangen wird. Wenn der Wert des
Schutzzählers
nicht Null ist, kann der Sendeknoten die Unterbrechung der isochronen
Sendung infolge eines unerwarteten Benutzer-Vorgangs durch Zurück weisen
jeder von einem anderen Knoten empfangenen Übertragungs-Anhalte-Anforderung verhindern.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die vorliegende Erfindung ist besser
zu verstehen aus der nachfolgend gegebenen detaillierten Beschreibung
und den beigefügten
Zeichnungen. Dabei zeigen:
-
1 ein
Blockschaltbild mehrerer Ton/Bild-Geräte, die gemäß dem IEEE P1394-Protokoll
an einen Bus angeschlossen sind;
-
2 ein
Blockschaltbild des internen Aufbaus jedes in 1 gezeigten Ton/Bild-Gerätes;
-
3 das
durch IEEE P1394 definierte Format des isochronen Paketes;
-
4 das
Format des durch IEEE P1394 definierten Paket-Headers des isochronen
Paketes;
-
5 das
durch IEEE P1394 definierte Format des asynchronen Paketes;
-
6 das
Format des durch IEEE P1394 definierte Format des Paket-Headers
des asynchronen Paketes;
-
7 das
Format des asynchronen Paketes gemäß der ersten Ausführungsform
der vorliegenden Erfindung;
-
8 ein
Blockschaltbild eines VCR-Anschlusses gemäß der zweiten Ausführungsform
der vorliegenden Endung;
-
9 ein
Flussdiagramm des Wiedergabevorganges eines VCR gemäß der zweiten
Ausführungsform
der vorliegenden Erfindung;
-
10 ein
Flussdiagramm des Aufzeichnungsvorganges eines VCR gemäß der zweiten
Ausführungsform
der vorliegenden Erfindung;
-
11 ein
Blockschaltbild des Steuerungsblockes in der zweiten, dritten und
vierten Ausführungsform
der vorliegenden Erfindung;
-
12 ein
Flussdiagramm des Kommunikations-Verwaltungsblockes, wenn eine Übertragung durch
die zweite Ausführungsform
der Erfindung beginnt;
-
13 ein
Flussdiagramm des Kommunikations-Verwaltungsblockes, wenn der Empfang
durch die zweite Ausführungsform
der vorliegenden Erfindung beginnt;
-
14 zeigt
das Format des Datenblockes in dem isochronen Paket gemäß der dritten
und vierten Ausführungsform
der vorliegenden Erfindung;
-
15 ein
Flussdiagramm des Kommunikations-Verwaltungsblockes, wenn eine Übertragung durch
die dritte Ausführungsform
der Erfindung beginnt;
-
16 ein
Flussdiagramm des Kommunikations-Verwaltungsblockes, wenn eine Übertragung durch
die dritte Ausführungsform
der Erfindung angehalten wird;
-
17 ein
Flussdiagramm des Kommunikations-Verwaltungsblockes, wenn eine Übertragung durch
die vierte Ausführungsform
der Erfindung beginnt;
-
18 ein
Flussdiagramm des Kommunikations-Venwaltungsblockes, wenn eine Übertragung durch
die vierte Ausführungsform
der Erfindung angehalten wird;
-
19 ein
Flussdiagramm des Kommunikations-Verwaltungsblockes, wenn eine isochrone Übertragung
zu einem anderen Knoten durch die fünfte Ausführungsform der Erfindung angewiesen wird;
und
-
20 und 21 Flussdiagramme des Kommunikations-Verwaltungsblockes,
wenn eine isochrone Übertragung
durch einen anderen Knoten gemäß der fünften Ausführungsform
der Erfindung angewiesen wird.
-
BESCHREIBUNG BEVORZUGTER
AUSFÜHRUNGSFORMEN
-
Die vorliegende Erfindung betrifft
ein Übertragungsverfahren
zum Übertragen
von Echtzeitdaten wie Ton/Bild-Daten unter Verwendung des P1394-Protokolls,
welches gegenwärtig
durch das Institute of Electrical and Electronic Engineers, Inc. beraten
wird. 1 zeigt eine Mehrzahl
von gemäß dem IEEE
P1394-Protokoll an einen Bus angeschlossenen Ton/Bild-Geräten. In
diesem Beispiel sind vier Ton/Bild-Geräte an einen gemeinsamen Bus angeschlossen
und die Geräte
werden als Knoten bezeichnet. A/V-Geräte 101, 102, 103 und 104 sind durch
ein Kabel 105 verbunden, welches als eine Bus-Struktur
dient.
-
Die A/V-Geräte 101–104 weisen
eine vergleichbare Steuerungsanordnung auf, welche in 2 beispielhaft für das A/V-Gerät 102 gezeigt
ist. Jedes A/V-Gerät
umfasst einen Schnittstellenblock 201, einen A/V-Signal-Verarbeitungsblock 202 und einen
Steuerungsblock 203. Signale von den anderen Knoten werden
durch den Schnittstellenblock 201 in ein A/V-Gerät 102 eingegeben.
In dem Schnittstellenblock 201 wird die Wellenform des
Eingangssignals ausgebildet und die Wellenform-ausgebildeten Signale
werden zu dem nächsten
A/V-Gerät 103 ausgegeben.
Der Schnittstellenblock
201 ist in der Lage, die Ausgangssignale
von jedem anderen A/V-Gerät zu übertragen,
das heißt,
jedem anderen Knoten, wenn er gemäß dem IEEE P1394-Protokoll
angeschlossen ist, wie in 1 gezeigt,
zu allen anderen A/V-Geräten
(Knoten).
-
In dem IEEE P1394-Protokoll werden
Echtzeitdaten unter Verwendung isochroner Pakete übertragen,
deren Format in 3 gezeigt
ist, wie durch IEEE P1394 definiert.
-
Jedes isochrone Paket umfasst einen 4-Byte-Paket-Header 301;
eine 4-Byte-Header CRC 302 zum Prüfen von Übertragungsfehlern in dem Paket-Header 301;
einen Datenblock 303; und eine 4-Byte-Daten-CRC 304 zum
Prüfen
von Übertragungsfehlern
in den Echtzeitdaten.
-
Das Format des Paket-Headers 301 ist
in 4 gezeigt. Wie in 4 gezeigt, beinhaltet der Paket-Header 301 die
Kanalnummer 401. Gemäß dem IEEE
P1394-Protokoll
können
mehrere A/V-Geräte
(Knoten) mehrere isochrone Pakete auf einer zeitteiligen Basis etwa
alle 125 μs
(= ein Zyklus) übertragen.
Die Kanalnummer 401 wird zum Identifizieren jedes Paketes,
das während
des gleichen Zyklus übertragen
wird, zu den isochronen Paketen hinzugefügt.
-
Beim Übertragen von Echtzeitdaten
weist der Steuerungsblock 203 den A/V-Signalverarbeitungsblock 202 an,
die Echtzeitdaten auszugeben, einschließlich der Ton/Bild-Daten. Basierend
auf den Anweisungen von dem Steuerungsblock 203 gibt daher
der A/V-Signalverarbeitungsblock 202 die Echtzeitdaten
aus. Der Steuerungsblock 203 fügt ebenfalls die verwendete
Kanalnummer und weitere Information hinzu und steuert die Ausgabe
des isochronen Paketes zu dem Schnittstellenblock 201.
-
Basierend auf den Anweisungen von
dem Steuerungsblock 203 paketiert der Schnittstellenblock 201 die
Echtzeitdaten von dem A/V-Signalverarbeitungsblock 202 als
der in 3 gezeigte Datenblock 303 gemäß dem ebenfalls
in 3 gezeigten Paketformat.
Der Schnittstellenblock 201 gibt dann das isochrone Paket
zu den anderen Knoten (A/V-Geräten)
aus.
-
Beim Empfangen von Echtzeitdaten
teilt der Steuerungsblock 203 dem Schnittstellenblock 201 die
Kanalnummer des zu empfangenden isochronen Paketes mit. Der Schnittstellenblock 201 erfasst dann
die Kanalnummer jedes isochronen Paketes aus dem Paket-Header. Wenn
die erfasste Kanalnummer die angegebene Kanalnummer ist, gibt der Schnittstellenblock 201 die
in dem Datenblock 303 des in 3 gezeigten
isochronen Paketes enthaltenen Echtzeitdaten zu dem A/V-Signalverarbeitungsblock 202 aus.
Der Steuerungsblock 203 steuert ebenfalls die Eingabe der
Echtzeitdaten in den A/V-Signalverarbeitungsblock 202,
welcher die eingegebenen Daten Signalverarbeitet.
-
Daher ist es für mehrere Knoten durch das IEEE
P1394-Protokoll möglich,
mehrere isochrone Pakete während
des gleichen Zyklus zu übertragen, wie
oben beschrieben, das heißt,
mehrere isochrone Übertragungen
zwischen mehreren Knoten können in
einer anscheinend gleichzeitigen Weise verwirklicht werden. Es ist
jedoch erforderlich, ausreichende Bandbreite für die interne Verarbeitungsgeschwindigkeit
jedes Knotens bei jeder isochronen Übertragung bereitzustellen.
Bandbreite bedeutet hier eine Breite eines reservierten Zeitschlitzes
in jedem Zyklus von 125 μs
und verschiedene Zeitschlitze in jedem Zyklus werden durch unterschiedliche
Kanalnummern unterschieden. Gemäß dem IEEE
P1394-Protokoll ist es möglich,
maximal 64 verschiedene Kanalnummern, von 0 bis 63, zu verwenden.
Da die maximal übertragbare
Bandbreite begrenzt ist (offensichtlich weniger als 125 μs), ist es
erforderlich, die von jedem Knoten verwendete Bandbreite zu verwalten.
Zusätzlich wird
eine Kanalnummer zu jedem isochronen Paket hinzugefügt, um jedes
isochrone Paket zu identifizieren und dadurch eine isochrone Übertragung
von Daten auf mehreren Kanälen
zu ermöglichen.
Eine Verwaltung der von jedem Knoten verwendeten Kanalnummern ist
erforderlich, um zu verhindern, dass die gleiche Kanalnummer Paketen
unterschiedlicher Kanäle
zugeordnet wird, wenn mehrere Knoten gleichzeitig isochrone Pakete
ausgeben. Diese Kanalnummern-Duplizierung wird in dem IEEE P1394-Protokoll verhindert
durch Reservieren eines Knotens als Bus-Manager zur zentralen Steuerung
von Bandbreite und Kanalnummern. A/V-Geräte oder andere Knoten-Geräte, welche
eine isochrone Übertragung
ausführen,
müssen
von dem Bus-Manager die bestimmte Bandbreite und die Kanalnummer
empfangen, die von dem Knoten zur isochronen Übertragung verwendet werden.
Es ist anzumerken, dass "verwendete
Bandbreite" den
Zeitbetrag in jedem Zyklus bestimmt, für den der das isochrone Paket
ausgebende Knoten den Bus zum Senden des isochronen Paketes monopolisieren
kann.
-
Andere Kommunikation als die oben
beschriebene isochrone Übertragung,
zum Beispiel die Kommunikation zum Erhalten der verwendeten Bandbreite
und Kanalnum mer, werden durch asynchrone Übertragung unter Verwendung
asynchroner Pakete ausgeführt.
Eine asynchrone Übertragung wird
verwirklicht unter Verwendung der Zykluszeit, die übrig bleibt,
nachdem die isochrone Übertragung in
jedem Zyklus beendet ist. 5 zeigt
das durch IEEE P1394 definierte, asynchrone Paketformat.
-
Jedes asynchrone Paket umfasst einen 16-Byte-Paket-Header 501;
eine 4-Byte-Header-CRC 502 zum
Prüfen
auf Übertragungsfehler
in dem Paket-Header 501; einen asynchronen Datenkörper 503;
und eine 4-Byte-Daten-CRC 504 zum Prüfen auf Datenfehler in den
asynchronen Übertragungsdaten.
Der Paket-Header 501 umfasst einen Empfängerknotenidentifizierer 601,
welcher der Identifizierer des Knotens ist, an welchen das gesendete, asynchrone
Paket adressiert ist, und einen Sendeknotenidentifizierer 602,
welcher der Identifizierer des das Paket sendenden Knotens ist.
Der Empfängerknotenidentifizierer 601 und
der Sendeknotenidentifizierer 602 in dem Paket-Header sind
jeder zwei Byte lang. Der Empfängerknoten
empfängt
sämtliche asynchronen
Pakete, in welchen der Wert des Empfängerknotenidentifizierers 601 gleich
dem Knotenidentifizierer des Empfängerknotens ist. Der Empfängerknoten
kann ebenfalls durch den Sendeknotenidentifizierer 602 in
den empfangenen asynchronen Paketen durch Lesen des Sendeknotenidentifizierer 602 bestimmen,
welcher Knoten die asynchronen Pakete sendet.
-
Das Verfahren zur asynchronen Übertragung wird
als Nächstes
beschrieben. Um ein asynchrones Paket zu senden, weist der Steuerungsblock 203 den Schnittstellenblock 201 an,
die asynchronen Übertragungsdaten
nach Anfügen
des Empfängerknoten-identifizierers,
welcher den angesprochenen Knoten identifiziert, asynchron zu übertragen.
Der Schnittstellenblock 201 erzeugt die asynchronen Pakete
aus den asynchronen Daten, Empfängerknotenidentifizierer
und anderen von dem Steuerungsblock 203 eingegebenen Informationen
und gibt sie aus. Wenn ein asynchrones Paket empfangen wird, identifiziert
der Schnittstellenblock 201 das an diesen Knoten adressierte
asynchrone Paket durch Bewerten des Empfängerknotenidentifizierers 601,
der in dem Paket-Header 501 enthalten ist, und gibt die asynchronen
Daten 503 und den Sendeknotenidentifizierer 602 von
dem empfangenen asynchronen Paket zu dem Steuerungsblock 203 aus.
Der Steuerungsblock 203 führt dann die erforderliche
Verarbeitung basierend auf den darin eingegebenen asynchronen Daten
aus.
-
Anhand der 7 bis 10 wird
nachfolgend die erste Ausführungsform
der vorliegenden Erfindung beschrieben. Es ist anzumerken, dass
die erste Ausführungsform
mit der besonderen Anwendung bei einem Videokassettenrecorder (VCR)
als ein A/V-Gerät beschrieben
wird.
-
7 zeigt
das Format eines isochronen Paketes, das während einer isochronen Übertragung durch
die erste Ausführungsform
der Erfindung übertragen
wird.
-
In 7 wird
ein Datenblock 303 verwendet, um Daten zu kommunizieren,
die der Benutzer kommunizieren möchte,
und umfasst einen Daten-Header 702, welcher die Art der
in dem isochronen Paket übertragenen
Daten bezeichnet, und die A/V-Daten 703 werden tatsächlich übertragen.
Der Daten-Header 702 umfasst den Knotenidentifizierer 1101,
welcher den Knoten identifiziert, der das isochrone Paket sendet,
und andere Header-Daten. Somit ist es durch Erfassen und Lesen des
Knotenidentifizierers 1101 an dem Empfängerknoten möglich, zu
erfassen, welcher der Sendeknoten ist.
-
Wenn ein neuer Knoten angeschlossen
ist und ein Bus-Zurücksetzen
gemäß dem IEEE P1394-Protokoll
ausgelöst
ist, wird ein neuer Knotenidentifizierer automatisch dem neu angeschlossenen
Knoten zugeordnet. Als Ergebnis schreibt der das isochrone Paket übertragende
Knoten den zugeordneten Knotenidentifizierer in den Daten-Header 702 entsprechend
dem in 7 gezeigten Format und überträgt dann
das isochrone Paket.
-
8 zeigt,
wie fünf
VCR zum Synchronisieren von A/V-Daten verbunden sein können. Die
Wirkungsweise von jedem der fünf
VCR 1201–1205 wird gesteuert
durch den Steuerungsblock 203, der in jedem VCR eingebaut
ist. Es ist anzumerken, dass der Steuerungsblock 203 der
vorliegenden Erfindung durch einen Mikrocomputer verwirklicht wird.
Die VCR 1201–1205 sind
durch Verbindungskabel 1205 verbunden. Jedesmal, wenn ein
Kabel angeschlossen wird, wird ein "Bus-Zurücksetzen"-Befehl erzeugt, um die Knotenidentifizierer
zu den VCR 1201–1205 zuzuordnen.
Knotenidentifizierer (NODE_ID) 0–4 werden den VCR 1201–1205 entsprechend
wie beispielhaft in der folgenden Beschreibung zugeordnet.
-
Wie oben angemerkt, wird ein Paket
senden und empfangen in einem 125 μs-Zyklus gemäß dem IEEE P1394-Protokoll
ausgeführt
und die erste Hälfte jedes
Zyklus kann einem Prioritäts-Zeitband
zur isochronen Übertragung
zugeordnet sein. Daher ist es erforderlich, die innerhalb des endlichen
Prioritätszeitbandes
für die
isochrone Übertragung
erforderliche Bandbreite zu reservieren. Insbesondere ist es erforderlich,
zuerst zu bestimmen, welcher Kommunikationskanal für welche
Zeitdauer für
eine isochrone Paketübertragung
zu verwenden ist. Ein Verwalten dieses Prioritätszeitbandes wird ebenso durch den
Knoten gehandhabt, der als der Bus-Manager-Knoten 1204 verwendet
wird.
-
In der folgenden Beschreibung wird
angenommen, dass durch den ersten VCR 1201 wiedergegebene
A/V-Daten durch die VCR 1202 und 1203 synchronisiert
werden und dass der VCR 1204 der Bus-Manager-Knoten ist,
welcher das Prioritätszeitband
verwaltet (der VCR 1205 wird für die Beschreibung der zweiten
Ausführungsform
verwendet). Die Ausführung
dieser vorliegenden Ausführungsform wird
unten durch diese drei Funktionsblöcke beschrieben. Andere Daten
als die in der folgenden Beschreibung verwendeten A/V-Daten, zum
Beispiel Fortsetzungsanforderungen und Anhalte-Freigabe-Flags, die
von dem Empfängerknoten
zu dem Sendeknoten gesendet werden, werden unter Verwendung asynchroner
Pakete kommuniziert. In dem Steuerungsblock 203 des als
Wiedergabegerät
dienenden VCR 1201 ist ein Zähler 1201a vorgesehen. In
dem Steuerungsblock 203 der VCR 1202 und 1203,
die jeder als Aufzeichnungsgerät
dienen, sind Aufwärts/Abwärts-Befehlsgeneratoren 1202a und 1203a vorgesehen.
Der Aufwärts/Abwärts-Befehlsgenerator 1202a oder 1203a erzeugt
einen Aufwärtsbefehl,
das heißt,
dass der VCR 1202 oder 1203 in dem Aufzeichnungsmodus
bleibt, und wenn er einen Abwärtsbefehl
erzeugt, bedeutet das, dass der VCR 1202 oder 1203 aus
dem Aufzeichnungsmodus freigegeben wird. Wenn zum Beispiel der Aufwärts/Abwärts-Befehlsgenerator 1202a einen
Aufwärtsbefehl erzeugt,
wird der Zähler 1201a,
welcher vorher in einem Aufwärtszustand
war, von "0" auf "1" inkrementiert und gibt an, dass ein
VCR vorhanden ist, welcher die Aufzeichnung der von diesem Wiedergabegerät 1201 gesendeten
Daten fortsetzt. Danach, wenn der Aufwärts/Abwärts-Befehlsgenerator 1203a
einen Aufwärtsbefehl
erzeugt, wird der Zähler 1201a,
der jetzt eine "1" enthält, auf "2" inkrementiert, und gibt an, dass zwei
VCR die Aufzeichnung der von diesem Wiedergabegerät 1201 gesendeten
Daten fortsetzen werden. Danach, wenn der Aufwärts/Abwärts-Befehlsgenerator 1203a einen
Abwärtsbefehl
erzeugt, wird der jetzt "2" enthaltende Zähler 1201a auf "1" dekrementiert, um anzugeben, dass ein
VCR vorhanden ist, welcher die Aufzeichnung der von diesem Wiedergabegerät 1201 gesendeten
Daten fortsetzen wird. Wenn der Zähler 1201a eine andere
Zahl als "0", wie "1" oder "2" enthält, tritt
das Wiedergabegerät in
einen geschützten
Modus, so dass der Wiedergabemodus nicht durch einen inneren Anhaltebefehl angehalten
wird, sondern nur durch einen externen Anhaltebefehl anhält. Der
interne Anhaltebefehl ist hier ein Befehl, der von einem anderen
VCR entlang des Busses gesendet wird; und der externe Anhaltebefehl
ist ein direkt per Hand in den VCR eingegebener Befehl, wie durch
Drücken
einer Stop-Taste (nicht dargestellt), oder durch das Abschalten
der Energie. Der Aufwärtsbefehl
kann betrachtet werden als eine Fortsetzungsanforderung zum Fortsetzen
des Wiedergabemodus des Wiedergabegerätes, oder eine Schutz-Übertragungsanforderung zum
Schützen
der Übertragung
der Wiedergabe, bis sämtliche
aufzeichnenden VCR die Aufzeichnung anhalten.
-
9 ist
ein Flussdiagramm des durch den Steuerungsblock 203 in
dem ersten Wiedergabe-VCR 1201 während des Wiedergabevorganges ausgeführten Ablaufes,
wobei der VCR 1201: die A/V-Daten wiedergibt; von dem Bus-Manager 1204 die
zur isochronen Übertragung
erforderliche Bandbreite anfordert; eine Erlaubnis zur Übertragung empfängt; und
dann schließlich
das isochrone Paket überträgt. Es ist
ebenfalls anzumerken, dass der wiedergebende VCR 1201,
der als Sendeknoten dient, zuerst den zugeordneten Knotenidentifizierer "0" in den Knotenidentifizierer 1101 des
Daten-Headers 702 entsprechend dem in 7 gezeigten Format des isochronen Paketes
schreibt, vor dem Beginn der isochronen Paketübertragung.
-
In dem ersten Schritt 1301 bestimmt
der Knoten, der zu senden versucht, ob ein Aufwärtsbefehl (eine Fortsetzungs-Anforderung)
von einem der anderen Knoten empfangen wurde. Wenn ein Aufwärtsbefehl
empfangen wurde, wird der Schutz-Zähler 1201a, welcher
ein in dem Speicher gesetzter 6-Bit-Zähler ist, inkrementiert (Schritt
1302); wenn ein Aufwärtsbefehl
nicht empfangen wurde, geht die Steuerung über zu dem Schritt 1303.
-
Es ist anzumerken, dass der Schutz-Zähler 1201a auf "0" zurückgesetzt
wird, unmittelbar bevor die isochrone Paketübertragung beginnt. Als Ergebnis
hat der Schutz-Zähler 1201a in
dem ersten VCR 1201 einen Wert von "2",
wenn ein Aufwärtsbefehl von
jedem der anderen zwei VCR 1202 und 1203 empfangen
wird, nachdem der erste VCR 1201 mit der Übertragung
des isochronen Paketes beginnt.
-
In Schritt 1303 wird bestimmt, ob
ein Abwärtsbefehl
(ein Anhalte-Freigabe-Flag) von einem der anderen Knoten empfangen
wurde. Wenn ein Abwärtsbefehl
empfangen wurde, wird der Schutz-Zähler 1201a dekrementiert
(Schritt 1304); wird er nicht empfangen, geht die Steuerung über zu dem
nächsten
Schritt 1305.
-
Wenn zum Beispiel ein Aufwärtsbefehl
von den anderen beiden VCR 1202 und 1203 empfangen wurde,
und der Schutz-Zähler 1201a in
dem sendenden VCR 1201"2" ist, wird der Schutz-Zähler nicht
erneut auf "0" zurückgesetzt,
bis die beiden anderen VCR 1202 und 1203 einen
Abwärtsbefehl
für den sendenden
VCR 1201 erzeugen.
-
Es ist ebenfalls anzumerken, dass
der Schutz-Zähler
in Schritt 1304 nicht dekrementiert wird, auch wenn ein Abwärtsbefehl
empfangen wird, wenn der Wert des Schutz-Zählers
bereits "0" ist.
-
In Schritt 1305 wird bestimmt, ob
ein Bus-Zurücksetzen
erzeugt wurde; wenn dies der Fall ist, wird der Schutz-Zähler auf "0" zurückgesetzt
(Schritt 1306), und die Steuerung geht zurück zu Schritt 1301. Wenn ein
Bus-Zurücksetzen
nicht erzeugt wurde, geht die Steuerung über zu Schritt 1307.
-
Die isochrone Paketübertragung
wird vorübergehend
unterbrochen, wenn ein Bus-Zurücksetzen
auftritt, aber der sendende VCR 1201 nimmt die isochrone
Paketausgabe sofort nach der Wiederherstellung von dem Bus-Rücksetzvorgang
wieder auf.
-
Bus-Zurücksetzen kann auftreten, wenn
ein Anschlussstecker angeschlossen oder gelöst wird, oder wenn die Stromversorgung
für eines
der Busgeräte
unterbrochen wird. Als Ergebnis wird jeder Knoten, der einen Aufwärtsbefehl
sendete, bevor das Bus-Zurücksetzen
auftrat, für
das Senden des Abwärtsbefehles
gesperrt, sobald ein Bus-Zurücksetzen
auftritt. In diesem Fall kann der sendende VCR 1201 den
geschützten
Zustand nicht wieder herstellen. Daher ist es erforderlich, den
Schutz-Zähler zurückzusetzen,
wann immer ein Bus-Zurücksetzen auftritt.
-
In Schritt 1307 wird bestimmt, ob
eine asynchrone Paketübertragung
mit einem inneren Anhaltebefehl von einem Knoten, zum Beispiel dem
Bus-Manager-Knoten 1204, empfangen wurde. Wenn dies der
Fall ist, wird bestimmt, ob der Schutz-Zähler 1201a 0" ist (Schritt 1308).
-
Wenn der Schutz-Zähler zu diesem Zeitpunkt jeden
anderen Wert als "0" hat, ist die Übertragung
geschützt,
der interne Anhaltebefehl wird daher nicht angenommen (Schritt 1309),
eine interne Anhaltebefehls-Zurückweisungs-Mitteilung
wird zu dem Knoten 1204 ausgegeben, der den internen Anhaltebefehl
gesendet hat, und die Steuerung geht zurück zu Schritt 1301.
-
Wenn der Schutz-Zähler-Wert "0" ist,
ist die Übertragung
nicht geschützt,
der interne Anhaltebefehl wird akzeptiert, die isochrone Paketübertragung wird
angehalten (Schritt 1310) und die Verarbeitung endet.
-
Wenn eine asynchrone Paketverarbeitung mit
einem internen Anhaltebefehl in Schritt 1307 nicht empfangen wurde,
wird bestimmt, ob ein externer Anhaltebefehl direkt von einer externen
Quelle empfangen wurde (Schritt 1311), ohne Kommunikation über den
Bus. Beispiele des direkt von einer externen Quelle empfangenen,
externen Anhaltebefehls beinhalten die Benutzer-Betätigung eines
auf dem VCR 1201 vorgesehenen STOP SENDE-Funktionsknopfes,
und Drücken
eines Einschalters zum Ausschalten des Gerätes.
-
Wenn ein externer Anhaltebefehl in
Schritt 1311 empfangen wird, wird der Schutz-Zähler 1201a ungeachtet
des gegenwärtigen
Zähler-Wertes
sofort auf 0 zurückgesetzt
(Schritt 1312) und die isochrone Paketübertragung wird angehalten
(Schritt 1310). Mit anderen Worten, einer direkten Benutzer-Betätigung des
Gerätes
wird Priorität
gegeben.
-
Bei einer Übertragungsvorrichtung mit
einem digitalen Ausgabe-Knopf, welcher Freigabe und Blockade der
Ausgabe von Daten an den Bus steuert, kann ein direkter externer
Anhaltebefehl ebenfalls erzeugt werden, indem der Benutzer den digitalen
Ausgabe-Knopf während
der isochronen Paketübertragung
betätigt,
um die Datenausgabe zu blockieren.
-
Bei einem reservierten Wiedergabegerät, bei welchem
eine Digitalsignalausgabe anhält,
wenn die Wiedergabe anhält,
da kein eingebauter Fernseh-Tuner vorhanden ist, kann ein direkter,
externer Anhaltebefehl ebenso erzeugt werden durch Drücken der Anhalte-Taste
zum Anhalten der Wiedergabe und Eintreten in den Anhalte-Modus.
-
Wenn ein direkter externer Anhaltebefehl
in Schritt 1311 nicht empfangen wird, geht die Steuerung zurück zu dem
Schritt 1301 und der ganze Vorgang wird wiederholt.
-
10 ist
ein Flussdiagramm des durch den Steuerungsblock 203 der
empfangenden VCR 1202 und 1203 ausgeführten Vorganges,
nachdem das Aufzeichnen der isochronen A/V-Paketdaten, die tatsächlich von
dem sendenden VCR 1201 empfangen werden, beginnt.
-
Es wird in der Beschreibung der vorliegenden
Erfindung unten angenommen, dass der Bus-Manager-Knoten 1204 während der
Synchronisierung durch die empfangenden VCR 1202 und 1203 der
durch den ersten VCR 1201 wiedergegebenen A/V-Daten durch einen
Benutzervorgang irrtümlich
in den Wiedergabemodus versetzt wird. In diesem Fall, wenn der Bus-Manager-Knoten 1204 das isochrone
Paket nicht ausgeben kann, sendet er einen internen Anhaltebefehl
und fordert den sendenden VCR 1201 auf, die Ausgabe der
isochronen Pakete anzuhalten.
-
Auch in einer solchen Bedingung,
wie oben erläutert,
setzen die A/V-Daten aufzeichnenden VCR 1202 und 1203 entsprechend
der ersten Ausführungsform
die korrekte Synchronisierung der empfangenen A/V-Daten fort, ohne
dass deren Übertragung
von dem ersten VCR 1201 unterbrochen wird. Mit anderen
Worten, als Reaktion auf den Empfang des isochronen Paketes von
dem sendenden VCR 1201 senden die aufzeichnenden VCR 1202 und 1203 einen
Aufwärtsbefehl
zu dem VCR 1201 zum Erhöhen
des Zählers
und schließlich
Beginnen des Unterbrechungs-Schutz-Zustandes. Zusätzlich ist anzumerken, dass
die aufzeichnenden VCR 1202 und 1203 den gleichen
Vorgang in dieser Ausführungsform
ausführen,
und nur der durch einen VCR 1202 ausgeführte Vorgang wird unten beschrieben.
-
In 10 wird
der Knotenidentifizierer "0" des Sendeknotens 1201,
welcher in den Daten-Header 702 des empfangenen isochronen
Paketes geschrieben wird, wie oben beschrieben, in Schritt 1401 gelesen
und ein Aufwärtsbefehl
wird zu dem durch den Knotenidentifizierer "0" identifizierten
Knoten gesendet, das heißt,
zu dem Sendeknoten 1201. Die Steuerung geht dann weiter
zu dem Schritt 1402.
-
In dem Schritt 1402 wird bestimmt,
ob ein Bus-Zurücksetzen
erzeugt wurde; wenn dies der Fall ist, geht die Steuerung zurück zu dem
Schritt 1401 zum Neu-Anfordern eines Übertragungs-Schutzes.
-
Wenn ein Bus-Zurücksetzen nicht aufgetreten
ist, wird bestimmt, ob der isochrone Paketempfang normal ist (Schritt
1403). Da der wiedergebende VCR 1201 in den Übertragungs-Anhalte-Zustand
gesetzt ist (Schritt 1310), kann zum Beispiel bestimmt werden, ob
der isochrone Paketempfang unterbrochen ist.
-
Wenn der isochrone Paketempfang normal ist,
geht die Steuerung über
zu dem nächsten
Schritt 1404, wenn aber der Empfang nicht normal ist, wird der Vorgang
beendet.
-
In dem Schritt 1404 wird bestimmt,
ob eine "Aufzeichnung
anhalten"-Anweisung
empfangen wurde; wenn dies nicht der Fall ist, geht die Steuerung
zurück
zu dem Schritt 1402 und die Schleife wird wiederholt, um alle Bus-Zurücksetz-Anweisungen
zu überwachen,
bis eine "Aufzeichnung
anhalten"-Anweisung
empfangen wird.
-
Wenn die "Aufzeichnung anhalten"-Anweisung empfangen
wird, wird der in den Daten-Header 702 des empfangenen
isochronen Paketes wie oben beschrieben geschriebene Knoten-Identifizierer 1101 des
Sendeknotens 1201 erneut gelesen und ein Abwärtsbefehl
wird zu dem durch den Knoten-Identifizierer 1101 identifizierten
Sendeknoten in Schritt 1405 gesendet, um den Vorgang zu beenden.
-
Wie bei der ersten Ausführungsform
oben beschrieben, schreibt und überträgt der Sendeknoten 1201 den
ihm selbst zugeordneten Knoten-Identifizierer in dem Daten-Header 702 des
gesendeten isochronen Paketes, um dadurch dem dieses isochrone Paket
empfangenden Knoten 1202 und 1203 zu ermöglichen,
den Knoten 1201, der das Paket sendet, sofort zu identifizieren.
-
Weiterhin inkrementiert der Sendeknoten 1201 den
Schutz-Zähler
an dem Punkt, an dem ein Aufwärtsbefehl
zum Beispiel von dem Empfängerknoten 1202 oder 1203 empfangen
wird; dekrementiert den Schutz-Zähler,
wenn ein Abwärtsbefehl empfangen
wird; und befindet sich in einem Schutz-Zustand, wenn dieser Schutz-Zähler jeden anderen
Wert als "0" aufweist. Wenn der
Sendeknoten 1201 geschützt
ist, weist er alle von anderen Knoten empfangenen Übertragungs-Anhalte-Anforderungen
zurück,
zum Beispiel von dem Bus-Manager-Knoten 1204, und setzt
die Übertragung
fort. Als Ergebnis wird, auch wenn der Bus-Manager-Knoten 1204 während einer
Synchronisierung der durch den ersten VCR 1201 wiedergegebenen
A/V-Daten durch die empfangenden VCR 1202 und 1203 durch
einen Benutzervorgang irrtümlich
in den Wiedergabemodus gesetzt wird, die Synchronisierung normal
fortgesetzt, ohne dass die Übertragung
der isochronen Pakete von dem ersten VCR 1201 zu den A/V-Daten aufzeichnenden
VCR 1202 und 1203 unterbrochen wird.
-
Zusätzlich ist es durch Zurücksetzen
des Schutz-Zählers,
wenn ein Bus-Zurücksetzen
auftritt, möglich,
auch wenn ein Bus-Zurücksetzen
auftritt, den Sendeknoten 1201 davor zu schützen, nicht
in der Lage zu sein, den Schutz-Zustand wieder herzustellen, eine
Situation, welche anderenfalls auftreten kann, da jeder Knoten,
der eine Fortsetzungs-Anforderung überträgt, bevor das Bus-Zurücksetzen
auftritt, durch das Bus-Zurücksetzen
an der Ausgabe des Anhalte-Freigabe-Flags gehindert wird.
-
Es ist anzumerken, dass der einen
Aufwärtsbefehl
zu dem Sendeknoten in der oben beschriebenen Ausführungsform
sendende Empfängerknoten nicht
der Knoten sein muss, welcher die isochronen Pakete von dem Sendeknoten
aufzeichnet. Zum Beispiel können
ein Fernseh-Monitor ("TV" nachfolgend) und
ein Laserdisc-Wiedergabegerät ("LD-Spieler" nachfolgend) an
den Bus angeschlossen sein, wobei das wiedergegebene Bild von dem
LD-Spieler auf dem TV betrachtet wird. In diesem Fall kann der Benutzer
den Knopf/Knöpfe
an dem TV betätigen,
welcher) bei dieser Anwendung der Empfängerknoten ist, um einen Aufwärtsbefehl
zu dem LD-Spieler zu senden, welcher in dieser Anwendung der Sendeknoten
ist, um die Wiedergabe-Bild-Übertragung
von dem LD-Spieler zu dem TV beizubehalten und zu verhindern, dass
Wiedergabebilder von anderen an den gleichen Bus angeschlossenen
Geräten
irrtümlich
auf dem TV angezeigt werden.
-
In der obigen Ausführungsform
wird der Sendeknoten ebenfalls in einen Schutz-Zustand versetzt, wenn ein Aufwärtsbefehl
von einem Empfängerknoten
empfangen wird, es ist aber anzumerken, dass dieser Schutz-Zustand
ebenfalls gesetzt werden kann durch Eingeben einer "Übertragungs-Forfsetzungs"-Anweisung direkt
von einem externen Gerät statt
durch das Bus-System. In dem obigen TV- und LD-Spieler-Beispiel kann zum
Beispiel ein SCHUTZ-Funktions-Knopf an den LD-Spieler (Sendeknoten)
vorgesehen sein zum Versetzen des LD-Spielers in den Schutz-Zustand
durch einfaches Betätigen
dieses SCHUTZ-Knopfes.
-
Zusätzlich wird ein im Speicher
vorgesehener Zähler
als Einrichtung zum Bestimmen verwendet, ob der Sendeknoten in dem
geschützten
oder Schutz-aufgehobenen Zustand ist, aber jede andere Einrichtung
zum Bestimmen, ob der Sendeknoten in dem geschützten oder Schutz-aufgehobenen
Zustand ist, kann alternativ verwendet werden. Zum Beispiel ist
es alternativ möglich,
ein Register zu verwenden, das nur so viele Bits hat wie die Anzahl
anschließbarer
Knoten.
-
Durch das Datenübertragungsvertahren der vorliegenden
Erfindung, wie oben beschrieben, wenn A/V-Daten, welche eine Echtzeitverarbeitung
erfordern, durch isochrone Pakete unter Verwendung eines Bus-Systems übertragen
werden, wobei ein Knoten-Identifizierer automatisch zu jedem an
dem Bus angeschlossenen Knoten zugeordnet wird, jedes Mal, wenn
ein Bus-Zurücksetzen
auftritt, ist es durch Hinzufügen
des Knoten-Identifizierers des Sendeknotens zu den isochronen Paketen
vor der Übertragung
für den
Empfängerknoten
möglich,
sofort zu bestimmen, welcher Knoten die empfangenen isochronen Pakete
sendet; dies kann verwirklicht werden durch einfaches Lesen des
in den empfangenen isochronen Paketen enthaltenen Sendeknoten-Identifizierers.
-
Weiterhin kann durch Identifizieren
des Sendeknotens der Empfängerknoten
aufgefordert werden, einen die Übertragung
der isochronen Pakete beizubehalten anfordernden Aufwärtsbefehl
zu dem Sendeknoten zu senden; und einen die Aufhebung des Aufwärtsbefehls
anfordernden Abwärtsbefehl
zu senden, wenn es nicht länger
erforderlich ist, die Übertragung
fortzusetzen. Der die isochronen Pakete sendende Knoten wird somit
in einen Schutz-Zustand versetzt, wenn ein oder mehrere Aufwärtsbefehle
empfangen werden, und hebt den Schutz-Zustand auf, wenn die Anzahl
der durch den Sendeknoten empfangenen Abwärtsbefehle die Anzahl der empfangenen
Aufwärtsbefehle überschreitet.
-
Wenn der Sendeknoten in dem Schutz-Zustand
ist, werden von jedem anderen Knoten empfangene interne Anhaltebefehle
zurückgewiesen
und die Übertragung
isochroner Pakete wird nicht angehalten (wird fortgesetzt). Als
Ergebnis kann eine Unterbrechung der isochronen Übertragung infolge einer irrtümlichen
oder fehlerhaften Bedienung durch den Benutzer verhindert werden.
-
Insbesondere ist es möglich, eine
Unterbrechung einer isochronen Paketübertragung zwischen gegebenen
Knoten als Ergebnis einer Fehlbedienung jedes Knotens, der nicht
direkt an dem isochronen Paketübertragungsvorgang
beteiligt ist, zu verhindern. Dies ist insbesondere wirksam während der Synchronisierung
und anderer isochroner Übertragungsvorgänge, während welcher
eine Kommunikation für
einen relativ langen Zeitabschnitt beibehalten werden kann.
-
Zusätzlich ist es durch automatisches
Zurücksetzen
jedes Schutz-Zustand-Sendeknotens
in den Schutz-aufgehobenen Zustand, wenn ein Bus-Zurücksetzen
auftritt, möglich,
auch wenn ein Bus-Zurücksetzen
auftritt, den Sendeknoten davor zu schützen, nicht in der Lage zu
sein, den Schutz-Zustand wieder herzustellen; eine Situation, welche
anderenfalls auftreten kann, da jeder Knoten, der einen Aufwärtsbefehl überträgt, bevor
das Bus-Zurücksetzen
auftritt, durch das Bus-Zurücksetzen
daran gehindert wird, den Abwärtsbefehl
auszugeben.
-
Die zweite Ausführungsform eines erfindungsgemäßen Datenübertragungsverfahrens
wird unten beschrieben.
-
Bei konventionellen Datenübertragungsverfahren
für isochrone Übertragung
unter Verwendung des IEEE P1394-Protokolls wählt der Sendeknoten eine ungenutzte
Kanalnummer in dem Bereich von 0–63 einschließlich, und
fügt die
ausgewählte
Kanalnummer zu dem Paket-Header in dem isochronen Paket vor der Übertragung
hinzu. Der Sendeknoten muss ebenfalls gleichzeitig den Benutzer über die
zur Übertragung
verwendete Kanalnummer informieren. Da mehrere isochrone Pakete
auf unterschiedlichen Kanälen übertragen
werden können,
muss der Benutzer den Empfängerknoten über die
Kanalnummer der zu empfangenden isochronen Pakete informieren. Isochrone
Paketübertragungen
nach dem bekannten Verfahren erfordern somit Benutzereingriffe zum
Anpassen der durch die Sende- und Empfängerknoten verwendeten Kanalnummer
und erhöhen
beträchtlich
die Benutzer-Belastung.
-
Die Aufgabe der zweiten Ausführungsform der
vorliegenden Erfindung ist es, eine Paketübertragung unter Verwendung
eines Mitteilungs-Kanals zu ermöglichen,
das heißt,
eines vorausgewählten
Kanals mit einer vorbestimmten Kanalnummer N (N ist eine ganze Zahl
zwischen 0 und 63 einschließlich), sofern
der Sendeknoten nicht die Verwendung einer anderen Kanalnummer angibt.
Der Mitteilungs-Kanal wird ebenfalls als Vorgabe-Kanal bezeichnet.
-
Ein Blockschaltbild des in dieser
Ausführungsform
verwendeten Steuerungsblockes 203 ist in 11 gezeigt. Der Befehls-Interpreter 1501 interpretiert
empfangene Betriebs-Befehle als Ergebnis der direkten Benutzer-Steuerung
oder asynchroner Übertragung
von anderen Knoten und weist den Kommunikations-Manager 1502 an,
isochrone und asynchrone Übertragung
zu beginnen und zu beenden.
-
Die Eingabe in den Kommunikations-Manager 1502 beinhaltet
Anweisungen von dem Befehls-Interpreter 1501 und Informationseingabe durch
asynchrone Übertragung
von anderen Knoten und ist zur Kommunikations-Verwaltung erforderlich. Basierend
auf der eingegebenen Information weist der Kommunikations-Manager 1502 den
Schnittstellenblock 201 und den A/V-Signalverarbeitungsblock 202 an,
wann die isochrone Übertragung
beginnt und endet; gibt die zur Kommunikations-Verwaltung der anderen
Knoten benötigte
Information als asynchrone Daten zu dem Schnittstellenblock 201 aus;
und weist gleichzeitig den Schnittstellenblock 201 an,
diese Information durch asynchrone Übertragung auszugeben.
-
Der Vorgang, durch welchen der Sendeknoten
mit der isochronen Paketübertragung
durch das erfindungsgemäße Übertragungsverfahren
gemäß dieser
zweiten Ausführungsform
beginnt, wird als Nächstes
beschrieben.
-
Der Benutzer weist zuerst das A/V-Gerät durch
den Benutzer-Vorgang an, das der Sendeknoten ist, die A/V-Daten
auszugeben. Diese Anweisung wird in den Befehls-Interpreter 1501 des Steuerungsblockes 203 eingegeben;
die die Ausgabe von Echtzeitdaten auf dem Mitteilungskanal anweisende
Information wird durch den Befehls-Interpreter 1501 aus der eingegebenen
Anweisung extrahiert; und die extrahierte Information wird in den
Kommunikations-Manager 1502 eingegeben. Der Kommunikations-Manager 1502 führt dann
die Steuerung zum Beginn der Ausgabe der Echtzeitdaten unter Verwendung
des Mitteilungskanals aus.
-
12 ist
ein Flussdiagramm des Vorganges des Kommunikations-Manager-Blockes
in dem Sendeknoten. Der Kommunikations-Manager 1502 führt den
Schritt 1601 aus, wenn eine Echtzeitdaten-Ausgabe unter Verwendung
des Mitteilungskanals durch den Befehls-Interpreter 1501 angewiesen ist.
In dem Schritt 1601 weist der Kommunikations-Manager 1502 den
Schnittstellen-Block 201 an, von dem Bus-Manager den Mitteilungskanal
und dessen nutzbare Bandbreite zu erhalten oder zu reservieren.
Basierend auf dieser Anweisung verhandelt der Schnittstellen-Block 201 mit
dem Bus-Manager 1204 unter Verwendung asynchroner Übertragung
zum Erhalten einer Zustimmung für
die Reservierung der erforderlichen Bandbreite und des Mitteilungskanals.
Der Schnittstellen-Block 201 teilt dem Kommunikations-Manager 1502 in
dem Steuerungs-Block 203 mit, ob der Mitteilungskanal und
die angeforderte Bandbreite erhalten wurden.
-
Nach der Ausführung von Schritt 1601 geht der
Kommunikations-Manager 1502 zu Schritt 1602 über, um
aus der von dem Schnittstellen-Block 201 eingegebenen Information
zu bestimmen, ob der Mitteilungskanal und die angeforderte Bandbreite
reserviert wurden. Wenn die Reservierungen von dem Bus-Manager 1204 akzeptiert
wurden, geht die Steuerung über
zu dem Schritt 1603; wenn nicht, kehrt die Steuerung zurück vor Schritt
1601 und der Kommunikations-Manager 1502 versucht erneut,
den Mitteilungskanal und die benötigte
Bandbreite zu reservieren.
-
In Schritt 1603 weist der Kommunikations-Manager 1502 den
A/V-Signalverarbeitungsblock 202 an,
die A/V-Daten und andere Echtzeitdaten zu dem Schnittstellen-Block 201 auszugeben. Der
A/V-Signalverarbeitungsblock 202 gibt dann diese Echtzeitdaten zu
dem Schnittstellenblock 201 aus. Der Kommunikations-Manager 1502 weist
den Schnittstellenblock 201 ebenfalls an, die von dem A/V-Signalverarbeitungsblock 202 eingegebenen Echtzeitdaten
durch isochrone Pakete unter Verwendung des Mitteilungskanals auszugeben.
Der Schnittstellenblock 201 gibt somit die isochronen Pakete
aus, wie durch die Kommunikationsverwaltung 1502 angewiesen.
-
Das Verfahren, durch welches der
Empfängerknoten
das Empfangen isochroner Pakete durch das Datenübertragungsverfahren gemäß dieser
dritten Ausführungsform
beginnt, wird als Nächstes
beschrieben.
-
Der Benutzer weist zuerst das A/V-Gerät an, das
der Empfängerknoten
ist, die A/V-Daten
zu empfangen. Diese Anweisung wird in den Befehls-Interpreter 1501 des
Steuerungsblockes 203 eingegeben, die Information, welche
die Eingabe der Echtzeitdaten auf dem Mitteilungskanal anweist,
wird durch den Befehls-Interpreter 1501 von der Eingabe-Anweisung
extrahiert und die extrahierte Information wird in den Kommunikations-Manager 1502 eingegeben. Der
Kommunikations-Manager 1502 führt dann Steuerungen zum Empfangen
der Echtzeitdaten unter Verwendung des Mitteilungskanals aus.
-
13 ist
ein Flussdiagramm des Betriebes des Kommunikations-Manager-Blockes
in dem Empfängerknoten.
Der Kommunikations-Manager 1502 führt den Schritt 1701 aus, wenn
ein Echtzeitdaten-Empfang unter Verwendung des Mitteilungskanals
durch den Befehls-Interpreter 1501 angewiesen wird. In
dem Schritt 1701 weist der Kommunikations-Manager 1502 den
Schnittstellenblock 201 an, die isochronen Pakete aus dem
Mitteilungskanal zu empfangen.
-
Basierend auf diesen Anweisungen
empfängt
der Schnittstellenblock 201 die isochronen Pakete, welchen
der Mitteilungskanal zugeordnet wurde, und gibt die Echtzeitdaten
zu dem A/V-Signalverarbeitungsblock 202 aus. In dem Schritt 1701
weist der Kommunikations-Manager 1502 ebenfalls den A/V-Signalverarbeitungsblock 202 an,
die Echtzeitdaten von dem Schnittstellenblock 201 zu empfangen
und die geeignete Signalverarbeitung auszuführen. Der A/V-Signalverarbeitungsblock 202 empfängt daher
die Echtzeitdaten von dem Schnittstellenblock 201 und führt die
Signalverarbeitung aus, wie durch den Kommunikations-Manager 1502 angewiesen.
-
Daher ist es durch diese zweite Ausführungsform
eines erfindungsgemäßen Datenübertragungsverfahrens
möglich,
eine isochrone Übertragung
zu verwirklichen, wobei der Benutzer einfach den Sendeknoten und
den Empfängerknoten
anweist, auszugeben und einzugeben. Daher ist es für den Benutzer
nicht erforderlich, den Empfängerknoten über die
verwendete Kanalnummer zu informieren und ein benutzerfreundlicheres
System, das die Belastungen für
den Benutzer verringert, kann verwirklicht werden.
-
Die dritte Ausführungsform eines erfindungsgemäßen Datenübertragungsverfahrens
betrifft die durch die Knoten A und B ausgeführten isochronen Übertragungs-Anfangs- und Anhalte-Prozeduren, wenn
Knoten A durch isochrone Übertragung
sendet und Knoten B den Knoten A ersetzt, um die Übertragung
durch isochrone Übertragung
fortzusetzen, wie beim Verarbeiten von zwei Bändern zu einem Band.
-
Der folgende Ablauf wird typisch
ausgeführt, um
den Sendeknoten im Datenübertragungsverfahren
entsprechend dem Stand dem Technik zu ändern. Um die Übertragung
durch den Knoten A während
der isochronen Übertragung
durch den Knoten A anzuhalten, bedient der Benutzer den Knoten A zum
Anhalten der Übertragung.
Wenn der Knoten A somit eine "Übertragung
anhalten"-Anweisung
von dem Benutzer empfängt,
hält der
Knoten A das Ausgeben isochroner Pakete an und gibt die Kanalnummer
und die verwendete Bandbreite für
den Bus-Manager frei. Der Benutzer weist dann den Knoten B an, einen
Kanal zu erfassen und die Ausgabe unter Verwendung des erfassten
Kanals fortzusetzen. In diesem Fall muss der Knoten B mit dem Bus-Manager kommunizieren,
um eine Akzeptanz von dem Bus-Manager zum Verwenden eines neuen
Kanals und einer Bandbreite zu erhalten, bevor die isochrone Übertragung
beginnt, welche die der isochronen Übertragung des Knotens A folgende
ist. Wie oben beschrieben, ist es für den Benutzer erforderlich,
beide Knoten A und B getrennt zu betreiben. Zusätzlich müssen beide Knoten A und B separat
asynchron mit dem Bus-Manager kommunizieren und erhöhen somit
die Bus-Belastung.
-
Das Datenübertragungsverfahren der dritten Ausführungsform
der vorliegenden Erfindung löst dieses
Problem wie folgt. Wenn ein Knoten A, wie ein Wiedergabegerät 1201 in 8, durch isochrone Übertragung
unter Verwendung des oben beschriebenen Mitteilungskanals überträgt, steuert
die vorliegende Ausführungsform
den Knoten B, wie als Wiedergabegerät 1205 in 8, um die isochrone Paketübertragung
unter Verwendung des Mitteilungskanals anstelle von Knoten A zu
beginnen. Gemäß der dritten
Ausführungsform
wird der Knotenidentifizierer des Sendeknotens in jedes isochrone
Paket geschrieben, bevor das Paket ausgegeben wird, so dass der
die isochronen Pakete übertragende
Knoten bestimmt werden kann durch einfaches Empfangen des isochronen
Paketes. Ein Beispiel des Datenformates in dem Datenblock 303 des
isochronen Paketes gemäß dieser
Ausführungsform
ist in 14 gezeigt.
-
Der Sendeknoten-Identifizierer 1801,
welcher einfach der Knotenidentifizierer des Sendeknotens ist, wird
zu dem Datenblock 303 addiert. In diesem Beispiel werden
die Echtzeitdaten 1802 nach dem Sendeknotenidentifizierer 1801 hinzugefügt. Es ist
ebenfalls möglich,
einen Daten-Header 702 am Beginn des Datenblockes 303 anzuordnen,
wie in 7 gezeigt, und
den Knotenidentifizierer 1101 in diesen Daten-Header zu schreiben.
Die Echtzeitdaten 1802 werden eingegeben von oder ausgegeben zu
dem A/V-Signalverarbeitungsblock 202.
-
Das Verfahren, bei welchem der Knoten
B eine isochrone Übertragung
gemäß dieser
Ausführungsform
beginnt, ist unten beschrieben.
-
15 ist
ein Flussdiagramm der Wirkungsweise des Kommunikations-Managers 1502 in
dem Steuerungsblock 203 des Knotens B. Wenn der Benutzer
den Knoten B anweist, eine isochrone Übertragung durch Betreiben
entweder des Knotens B oder eines anderen Knotens zu beginnen, wird
die Benutzer-Anweisung zu dem Kommunikations-Manager 1502 über den
Befehls-Interpreter 1501 in dem Steuerungsblock 203 des
Knotens B weitergegeben. Wenn der Kommunikations-Manager 1502 die
Benutzer-Anweisung empfängt,
weist er den Schnittstellenblock 201 an, isochrone Pakete
von dem Mitteilungskanal zu empfangen (Schritt 1901). Wenn der Schnittstellenblock 201 ein
isochrones Paket des Mitteilungskanals empfängt, erfasst er den zu dem
empfangenen Paket hinzugefügten
Sendeknotenidentifizierer 1801 und berichtet den erfassten
Knotenidentifizierer an den Kommunikations-Manager 1502 in dem
Steuerungsblock 203 (Schritt 1902).
-
Weiterhin wird in Schritt 1902 der
Knotenidentifizierer des Knotens, welcher die isochronen Pakete
auf den Mitteilungskanal überträgt, von
dem Schnittstellenblock 201 eingegeben, der Knoten B erkennt,
dass isochrone Pakete von dem Knoten A durch den Mitteilungskanal übertragen
wurden und die Steuerung geht über
zu dem Schritt 1903.
-
In dem Schritt 1903 wird der Schnittstellenblock 201 durch
den Kommunikations-Manager 1502 angewiesen,
eine "Ausgabe-Anhalte-Anforderung" zu Knoten A zu senden
und der Schnittstellenblock 201 sendet daher eine "Ausgabe-Anhalte-Anforderung" zu dem Knoten A
unter Verwendung einer asynchronen Paketübertragung. In dem Schritt 1903', wird erfasst, ob
der Knoten A die "Ausgabe-Anhalte-Anforderung" zurückgewiesen
hat oder nicht. Wenn die Ausgabe von dem Knoten A nicht abgeschlossen
ist, wird dem Knoten B mitgeteilt, dass der Knoten A die "Ausga be-Anhalte-Anforderung" zurückgewiesen
hat (Schritt 2005). Wenn dies der Fall ist, endet die Steuerung,
wenn nicht, geht die Steuerung über
zu Schritt 1904.
-
In Schritt 1904 wird bestimmt, ob
eine "verwendete
Bandbreite", verwendet
durch Knoten A, empfangen wurde oder nicht. Wenn Knoten A die Ausgabe
beginnt, wird dem Knoten B die von dem Knoten A verwendete Bandbreite
mitgeteilt, nachdem die Übertragung
endet (Schritt 2004).
-
Wenn der Schnittstellenblock 201 von
Knoten B ein asynchrones Paket empfängt, mit entweder der "verwendeten Bandbreite" des Knotens A oder
einer Zurückweisungs-Mitteilung der "Ausgabe-Anhalte-Anforderung", informiert er den
Kommunikations-Manager 1502 über die
empfangene Information. Wenn der Kommunikations-Manager 1502 des Knotens B
durch den Schnittstellenblock 201 über die verwendete Bandbreite
informiert ist, geht die Steuerung über zu Schritt 1905.
-
In dem Schritt 1905 wird bestimmt,
ob die verwendete Bandbreite des Knotens A und die zur Verwendung
durch den Knoten B eingeplante Bandbreite gleich sind. Wenn sie
es sind, geht die Steuerung über
zu dem Schritt 1906.
-
In dem Schritt 1906 werden der A/V-Signalverarbeitungsblock
202 und der Schnittstellenblock 201 gesteuert, um die Echtzeitdaten
durch isochrone Pakete im Mitteilungskanal auszugeben. Der A/V-Signalverarbeitungsblock 202 gibt
somit die Echtzeitdaten zu dem Schnittstellenblock 201 aus
und der Schnittstellenblock 201 gibt die isochronen Pakete aus,
wie durch den Kommunikations-Manager 1502 angewiesen.
-
Wenn in Schritt 1905 die verwendete
Bandbreite des Knotens A und die zur Verwendung durch den Knoten
B eingeplante Bandbreite als nicht gleich bestimmt werden, verzweigt
der Kommunikations-Manager 1502 zu dem Schritt 1907 und
weist den Schnittstellenblock 201 an, den Bus-Manager aufzufordern,
die Bandbreite zu ändern.
Der Schnittstellenblock 201 verhandelt daher mit dem Bus-Manager 1204 unter
Verwendung asynchroner Übertragung über das Ändern der
verwendeten Bandbreite und informiert den Kommunikations-Manager 1502, ob
die verwendete Bandbreite erfolgreich verändert wurde.
-
In dem Schritt 1908 bestimmt der
Kommunikations-Manager 1502, ob die verwendete Bandbreite
erfolgreich geändert
wurde; wenn dies nicht der Fall ist, wird der Schnittstellenblock 201 angewiesen, den
Mitteilungskanal und die von dem Knoten A verwendete Bandbreite
für den
Bus-Manager freizugeben (Schritt 1910). Wenn die verwendete Bandbreite erfolgreich
geändert
wurde (Schritt 1908), werden der A/V-Signalverarbeitungsblock 202 und
der Schnittstellenblock 201 angewiesen, die Echtzeitdaten
unter Verwendung isochroner Pakete auf dem zugeordneten Mitteilungskanal
auszugeben (Schritt 1909). Den Anweisungen des Kommunikations-Managers 1502 folgend
gibt der A/V-Signalverarbeitungsblock 202 die Echtzeitdaten
zu dem Schnittstellenblock 201 aus, welcher dann die isochronen
Pakete ausgibt, wie ebenfalls angewiesen durch den Kommunikations-Manager 1502.
-
Das Verfahren in Knoten A zum Anhalten
der isochronen Übertragung
wird als Nächstes
beschrieben. 16 ist
ein Flussdiagramm des Ablaufes des Kommunikations-Managers 1502 in
dem Steuerungsblock 203 in Knoten A. Wenn der Knoten A durch
isochrone Übertragung
sendet, überwacht
der Kommunikations-Manager 1502 in dem Steuerungsblock 203 in
Knoten A, ob eine Ausgabe-Anhalte-Anforderung von einem anderen
Knoten empfangen wurde (Schritt 2001), wie von dem Knoten B. Wenn der
Schnittstellenblock 201 des Knotens A von einem anderen
Knoten (in diesem Beispiel Knoten B) durch asynchrone Übertragung
ein asynchrones Paket mit einer Ausgabe-Anhalte-Anforderung empfängt, teilt er
dem Kommunikations-Manager 1502 mit, dass eine Ausgabe-Anhalte-Anforderung
von dem Knoten B empfangen wurde.
-
Wenn der Kommunikations-Manager 1502 somit
in dem Schritt 2001 bestimmt, dass eine "Ausgabe-Anhalte-Anforderung" empfangen wurde,
bestimmt er in dem Schritt 2002, ob die Ausgabe angehalten werden
kann. Diese Bestimmung kann dem Benutzer überlassen werden, es ist, aber
normalerweise auch möglich,
diese Bestimmung vorzunehmen durch Bestimmen, ob ein Gerät vorhanden
ist, das die A/V-Daten aufnimmt, die durch den Knoten A ausgegeben
werden. Um dieses zu ermöglichen,
ist es für
alle Knoten, in die AV-Daten von anderen Knoten eingegeben werden,
erforderlich, den die A/V-Daten ausgebenden Knoten aufzufordern,
die A/V-Daten-Ausgabe nicht anzuhalten. Wenn in dem Schritt 2002
bestimmt ist, dass die Ausgabe nicht angehalten werden kann, weist
der Kommunikations-Manager 1502 den Schnittstellenblock 201 an,
dem Knoten B mitzuteilen, dass die Ausgabe-Anhalte-Aufforderung zurückgewiesen
ist (Schritt 2005), und der Schnittstellenblock 201 teilt
dies dem Knoten B durch asynchrone Übertragung mit. Der Knoten
A hält
daher die Ausgabe nicht an.
-
Wenn jedoch in dem Schritt 2002 bestimmt wird,
dass die Ausgabe angehalten werden kann, werden der Schnittstellenblock 201 und
der A/V-Signalverarbeitungsblock 202 angewiesen, die isochrone Übertragung
zu beenden. Der Schnittstellenblock 201 hält dann
die isochrone Paketausgabe an, wie durch den Kommunikations-Manager 1502 angewiesen,
und der A/V-Signalverarbeitungsblock 202 hält das Ausgeben
der Echtzeitdaten zu dem Schnittstellenblock 201 an, wie
ebenfalls angewiesen (Schritt 2003).
-
Der Kommunikations-Manager 1502 weist dann
den Schnittstellenblock 201 an, dem Knoten B die von dem
Knoten A verwendete Bandbreite mitzuteilen (Schritt 2004) und der
Schnittstellenblock 201 teilt dies dem Knoten B durch asynchrone Übertragung
mit.
-
Daher ist es durch die vorliegende
Erfindung möglich,
den Sendeknoten von einem Knoten (A) zu einem anderen Knoten (B)
dadurch zu wechseln, dass der Benutzer lediglich den Knoten B bedient, und
wenn die durch die Knoten A und B verwendete Bandbreite die gleiche
ist, ist es für
die Knoten A und B nicht erforderlich, mit dem Kommunikations-Manager
zu kommunizieren, um dadurch den Verkehr auf dem Bus zu verringern.
-
Ein Datenübertragungsverfahren gemäß der vierten
Ausführungsform
der vorliegenden Erfindung wird unten beschrieben. Die vierte Ausführungsform eines
Datenübertragungsverfahrens
gemäß der vorliegenden
Erfindung betrifft eine Einrichtung zum Umschalten des isochronen
Sendeknotens von Knoten A zu Knoten B. Wenn eine isochrone Übertragung
fortgesetzt wird, wobei der Knoten B für den Knoten A eingesetzt ist,
ist es durch das Verfahren der dritten Ausführungsform oben erforderlich,
für Knoten
B, eine "Ausgabe-Anhalte-Anforderung" zu Knoten A zu senden.
Wenn bestimmt wird, dass der Knoten A nicht in der Lage ist, die
Ausgabe anzuhalten, weist der Knoten A die Ausgabe-Anhalte-Anforderung
von dem Knoten B zurück
und setzt die Datenausgabe fort.
-
Durch die dritte Ausführungsform
der Erfindung ist es für
den Benutzer möglich,
den Knoten A zu zwingen, die Datenausgabe anzuhalten und den Knoten
B anzuweisen, mit der Ausgabe zu beginnen, wenn es für den Benutzer
erforderlich ist, den Sendeknoten von dem Knoten A auf den Knoten
B zu wechseln. Wenn der Knoten A somit einen Ausgabe-Anhalte-Befehl
von dem Benutzer empfängt,
muss der Knoten A den Mitteilungskanal und die verwendete Bandbreite
durch asynchrone Übertragung
mit dem Bus-Manager freigeben. Für
den Knoten B ist es ebenfalls erforderlich, von dem Bus-Manager
durch asynchrone Übertragung
den Mitteilungskanal und die zu verwendende Bandbreite für Knoten
B zu erhalten, wie durch den Benutzer angewiesen.
-
Als Ergebnis muss, wenn der Knoten
A eine Ausgabe-Anhalte-Zurückweisungs-Mitteilung zu dem
Knoten B sendet, der Benutzer Knoten A und Knoten B bedienen und
Knoten A und Knoten B müssen
durch asynchrone Übertragung
mit dem Bus-Manager
kommunizieren.
-
Die vierte Ausführungsform der Erfindung wird
unten beschrieben anhand des ersten Verfahrens, wodurch der Knoten
B eine isochrone Übertragung
beginnt.
-
17 ist
ein Flussdiagramm der Wirkungsweise des Kommunikations-Managers 1502 in
dem Steuerungsblock 203 des Knotens B. Dieses Flussdiagramm
unterscheidet sich von demjenigen der dritten Ausführungsform,
gezeigt in 15, indem
zusätzlich
die Schritte 2101 und 2102 hinzugefügt sind, welche für den Ablauf
verwendet werden, wenn eine Anhalte-Anforderungs-Zurückweisung
von dem Knoten A in Schritt 1904 empfangen wird. Wenn eine Anhalte-Anforderungs-Zurückweisung
von dem Knoten B empfangen wird oder wenn die "verwendete Bandbreite" nicht von dem Knoten
B empfangen wird, wird in Schritt 2101 bestimmt, ob die Ausgabe
von dem Knoten A zwangsweise angehalten wird. Diese Bestimmung wird
durch den Benutzer vorgenommen und wird dem Kommunikations-Manager 1502 über den
Befehls-Interpreter 1501 mitgeteilt.
Wenn in Schritt 2101 nicht entschieden ist, dass die Ausgabe des
Knotens A zwangsweise angehalten wird, tritt eine Ausgabe durch
den Knoten B unter Verwendung des Mitteilungskanals nicht auf.
-
Wenn in Schritt 2101 bestimmt wird,
die Ausgabe des Knotens A zwangsweise anzuhalten, weist der Kommunikations-Manager 1502 den
Schnittstellenblock 201 an, einen "Ausgabe-Anhalte-Befehl" zu dem Knoten A
zu senden (Schritt 2102). Es ist an zumerken, dass der Ausgabe-Anhalte-Befehl
innerhalb einer vorbestimmten Periode ausgegeben werden muss, nachdem
die Ausgabe-Anhalte-Zurückweisung
empfangen wurde. Wenn der Knoten A den Ausgabe-Anhalte-Befehl empfängt, hält er die
Ausgabe an und teilt dem Knoten B die zur Ausgabe des Knotens A
verwendete Bandbreite mit. Der Schnittstellenblock 201 des
Knotens B empfängt
dann ein asynchrones Paket mit der verwendeten Bandbreite von dem
Knoten A und reicht diese Information zu dem Kommunikations-Manager 1502 des
Knotens B weiter. Nach Ausführen
von Schritt 2102 kehrt der Kommunikations-Manager 1502 des
Knotens B zu dem Schritt 1904 zurück, von welchem die Steuerung übergeht
zu Schritt 1905, da die verwendete Bandbreite von dem Knoten A empfangen
wurde; die Wirkungsweise danach ist die gleiche wie oben für die dritte
Ausführungsform
beschrieben.
-
Der Ablauf in dem Knoten A zum Anhalten der
isochronen Übertragung
in dieser vierten Ausführungsform
wird als Nächstes
beschrieben. 18 ist ein
Flussdiagramm der Wirkungsweise des Kommunikations-Managers 1502 in
dem Steuerungsblock 203 in Knoten A. Dieses Flussdiagramm
unterscheidet sich von demjenigen der dritten Ausführungsform,
das oben beschrieben wurde (16),
indem weiterhin der Schritt 2201 eingefügt ist, das heißt, der verwendete
Ablauf, nachdem dem Knoten B in Schritt 2005 mitgeteilt wurde, dass
die Ausgabe-Anhalte-Anforderung zurückgewiesen wurde.
-
In dem Schritt 2005 weist der Kommunikations-Manager 1502 des
Knotens A den Schnittstellenblock 201 an, dem Knoten B
mitzuteilen, dass die Ausgabe-Anhalte-Anforderung zurückgewiesen ist (Schritt 2005),
und der Schnittstellenblock 201 informiert den Knoten B
so durch asynchrone Übertragung.
Der Kommunikations-Manager 1502 überwacht
dann für
einen vorbestimmten Zeitabschnitt in Schritt 2201, ob ein Ausgabe-Anhalte-Befehl
von Knoten B empfangen wird. Wenn der Knoten B eine Ausgabe-Anhalte-Zurückweisung
von dem Knoten A empfängt
und bestimmt, dass die Ausgabe des Knotens A zwangsweise angehalten
werden soll, gibt der Knoten B den Ausgabe-Anhalte-Befehl zu dem
Knoten A innerhalb eines vorbestimmten Zeitabschnittes nach dem
Empfang der Ausgabe-Anhalte-Zurückweisung
aus. Der Schnittstellenblock 201 des Knotens A empfängt somit
von dem Knoten B ein asynchrones Paket mit dem Anhalte-Ausgabe-Befehl
und teilt dem Kommunikations-Manager 1502 davon
mit, dass der Anhalte-Ausgabe-Befehl von dem Knoten B empfangen
wurde.
-
Der Kommunikations-Manager 1502 bestimmt
somit in Schritt 2201, dass ein "Ausgabe-Anhalte-Befehl" empfangen wurde
und übergibt
die Steuerung zu dem Schritt 2003; der Ablauf danach ist der gleiche,
wie oben für
die dritte Ausführungsform beschrieben.
-
Wenn der Knoten B bestimmt, dass
die Ausgabe des Knotens A nicht zwangsweise angehalten werden soll,
wird der Ausgabe-Anhalte-Befehl nicht innerhalb des vorbestimmten
Zeitabschnittes, nachdem die Ausgabe-Anhalte-Zurückweisung empfangen wurde,
ausgegeben, der Kommunikations-Manager 1502 bestimmt in
Schritt 2201, dass der Ausgabe-Anhalte-Befehl daher nicht empfangen
wurde, und die isochrone Übertragung
des Knotens A wird fortgesetzt.
-
Durch die so beschriebene vierte
Ausführungsform
ist der Benutzer in der Lage, die Ausgabe von dem Knoten A lediglich
durch Bedienen von Knoten B anzuhalten, und Nichtbedienen von Knoten
A, wenn der isochrone Sendeknoten von Knoten A zu Knoten B wechselt,
auch wenn der Knoten A die Ausgabe-Anhalte-Anforderung von Knoten
B zurückweist.
-
Die fünfte Ausführungsform der vorliegenden Erfindung
wird unten beschrieben. Die fünfte
Ausführungsform
betrifft ein Verfahren, bei welchem: Knoten A, wie eine zentrale
Steuerungsvorrichtung, dem Knoten B, wie einem Wiedergabe-Gerät, die zu
verwendende Kanalnummer mitteilt, und weist Knoten B an, die isochrone Übertragung
unter Verwendung der zugeordneten Kanalnummer auszuführen; und
Knoten A teilt Knoten C, wie einem Überwachungs-Gerät, die zu
verwendende Kanalnummer mit und weist den Knoten C an, isochrone
Pakete unter Verwendung der zugeordneten Kanalnummer von dem Knoten
B zu empfangen.
-
Wenn diese Ausführungsform nicht verwendet
wird, ergibt sich eine Zunahme des Bus-Verkehrs, wie erläutert. Wenn
der Knoten A dem Knoten B die zwischen den Knoten B und C zu verwendende
Kanalnummer mitteilt und den Knoten B anweist, eine isochrone Übertragung
zwischen den Knoten B und C auszuführen, verhandelt der Knoten
B mit dem Bus-Manager über
eine asynchrone Übertragung zum
Erhalten der bestimmten Kanalnummer und der zu verwendenden Bandbreite.
Wenn der Knoten B die Bandbreite und die Kanalnummer erfolgreich
erhält,
beginnt der Knoten B sofort mit der Ausgabe. Wenn der Knoten B zum
Beispiel nicht in der Lage ist, die durch den Knoten A bestimmte
Kanalnummer zu erhalten, muss eine Änderung der Kanalnummer von dem
Knoten A angefordert werden, und der Bus-Verkehr steigt in Folge
der Kommunikation zwischen den Knoten A und B an.
-
Der Ablauf in Knoten A zum Bestimmen
der Kanalnummer und Ausgeben eines Ausgabebefehles zu dem Knoten
B gemäß dieser
Ausführungsform der
Erfindung wird unten beschrieben. Der Knoten A gibt einen Ausgabebefehl
zu dem Knoten B als Reaktion auf die Benutzer-Bedienung von Knoten
A aus. Der Benutzer-Befehl wird durch den Befehls-Interpreter 1501 zu
dem Kommunikations-Manager 1502 weitergeleitet.
-
19 ist
ein Flussdiagramm der Wirkungsweise des Kommunikations-Managers 1502 des Knotens
A, wenn der Knoten A die zwischen den Knoten B und C zu verwendende
Kanalnummer festlegt.
-
Der Kommunikations-Manager 1502 in Schritt
2301 weist den Schnittstellenblock 201 an, eine andere
Kanalnummer als den Mitteilungskanal und seine Bandbreite zu reservieren.
Insbesondere kommuniziert der Schnittstellenblock 201 asynchron mit
dem Bus-Manager, wie durch den Kommunikations-Manager 1502 angewiesen,
um eine offene Kanalnummer, die von dem Mitteilungskanal verschieden
ist, und die zu verwendende Bandbreite zu reservieren und berichtet
die reservierte Kanalnummer und Bandbreite zu dem Kommunikations-Manager 1502.
-
Der Kommunikations-Manager 1502 bestimmt
dann in Schritt 2302, ob die Kanalnummer und die Bandbreite erfolgreich
reserviert wurden; wenn sie erhalten wurden, geht die Steuerung über zu Schritt
2303.
-
Der Kommunikations-Manager 1502 gibt dann
einen Ausgabebefehl zu dem Schnittstellenblock 201 aus,
um den Knoten B zu veranlassen, die Übertragung von Daten durch
die reservierte Kanalnummer zu beginnen (Schritt 2303). Der Schnittstellenblock 201 sendet
somit den Ausgabebefehl und die zu verwendende Kanalnummer für den Knoten
B über
eine asynchrone Übertragung,
wie durch den Kommunikations-Manager 1502 angewiesen.
-
Ebenso gibt der Kommunikations-Manager 1502 dann
einen Empfangs-Befehl zu dem Schnittstellenblock 201 aus,
um den Knoten C zu veranlassen, mit dem Empfang von Daten durch
diese reservierte Kanalnummer zu beginnen (Schritt 2304). Der Schnittstellenblock 201 sendet
somit den Empfangsbefehl und die zu verwendende Kanalnummer über eine
asynchrone Übertragung
zu dem Knoten C, wie durch den Kommunikations-Manager 1502 angewiesen.
Das Verfahren in dem Knoten B zum Übertragen von Daten durch die
durch Knoten A bestimmte, reservierte Kanalnummer mit isochroner Übertragung wird
als Nächstes
beschrieben.
-
Der Schnittstellenblock 201 des
Knotens B empfängt
ein asynchrones Paket mit dem Ausgabebefehl und der zwischen den
Knoten B und C zu verwendenden Kanalnummer. Das Vorhandensein des Ausgabebefehls
und die zu verwendende Kanalnummer werden dann zu dem Kommunikations-Manager 1502 des
Knotens B weitergeleitet.
-
20 ist
ein Flussdiagramm der Wirkungsweise des Kommunikations-Managers 1502 des Knotens
B während
dieses Vorganges.
-
Der Kommunikations-Manager 1502 erfasst den
Ausgabebefehl von dem Knoten A in Schritt 2401 und übergibt
die Steuerung zu Schritt 2402, wenn der Ausgabebefehl erfasst wird.
-
In Schritt 2402 weist der Kommunikations-Manager 1502 den
A/V-Signalverarbeitungsblock 202 an,
die Echtzeitdaten zu dem Schnittstellenblock 201 auszugeben.
Der Kommunikations-Manager 1502 weist dann den Schnittstellenblock 201 an,
die isochrone Übertragung
von dem Knoten B zu dem Knoten C unter Verwendung der durch den
Knoten A bestimmten, reservierten Kanalnummer auszuführen. Der
A/V-Signalverarbeitungsblock 202 gibt daher die Echtzeitdaten
zu dem Schnittstellenblock 201 aus, welcher somit die in
den A/V-Signalverarbeitungsblock 202 eingegebenen Echtzeitdaten
unter Verwendung isochroner Pakete, welche der durch Knoten A bestimmten
Kanalnummer zugeordnet sind, gemäß den Anweisungen
von dem Kommunikations-Manager 1502 überträgt.
-
Der Ablauf in Knoten C zum Empfangen
von Daten durch die durch den Knoten A bestimmte, reservierte Kanalnummer
unter isochroner Übertragung
wird als Nächstes
beschrieben.
-
Der Schnittstellenblock 201 des
Knotens C empfängt
ein asynchrones Paket mit dem Empfangsbefehl und der zwischen den
Knoten B und C zu verwendenden Kanalnummer. Das Vorhandensein des Empfangsbefehls
und der zu verwendenden Kanalnummer werden dann zu dem Kommunikations-Manager 1502 des
Knotens C weitergeleitet.
-
21 ist
ein Flussdiagramm der Wirkungsweise des Kommunikations-Managers 1502 des Knotens
C während
dieses Vorganges.
-
Der Kommunikations-Manager 1502 erfasst den
Empfangsbefehl von dem Knoten A in Schritt 2501 und übergibt
die Steuerung zu dem Schritt 2502, wenn der Empfangsbefehl erfasst
wird.
-
In dem Schritt 2502 weist der Kommunikations-Manager 1502 den
A/V-Signalverarbeitungsblock 202 an,
die Echtzeitdaten mit dem Schnittstellenblock 201 zu empfangen.
Der Kommunikations-Manager 1502 weist dann den Schnittstellenblock 201 an,
eine isochrone Übertragung
von dem Knoten B zu dem Knoten C unter Verwendung der durch den
Knoten A festgelegten, reservierten Kanalnummer auszuführen. Der
A/V-Signalverarbeitungsblock 202 empfängt daher die Echtzeitdaten
von dem Schnittstellenblock 201.
-
Durch diese somit beschriebene Ausführungsform
reserviert der den Ausgabebefehl und den Empfangsbefehl ausgebende
Knoten (Knoten A in der vorliegenden Ausführungsform) die Bandbreite und
die zwischen den Knoten B und C zu verwendende Kanalnummer.
-
Als Ergebnis tritt, wenn die Kanalnummer und
die Bandbreite nicht reserviert werden können, eine asynchrone Übertragung
zwischen den Knoten A und B nicht auf.
-
Wenn die Kanalnummer für einen
anderen Knoten festgelegt ist, wird erfindungsgemäß weiterhin
die reservierte Kanalnummer nicht der Mitteilungskanal. Als Ergebnis können andere
Knoten als die Knoten A, B und C eine isochrone Übertragung unter Verwendung
des Mitteilungskanals ausführen, wie
bei der zweiten Ausführungsform
der Erfindung oben beschrieben.