-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf ein Datenkommunikationssystem,
ein Datenkommunikationsverfahren, eine Datenkommunikationsvorrichtung
und eine digitale Schnittstelle. Insbesondere bezieht sich die vorliegende
Erfindung auf ein Netz zum Übertragen
von Kommunikationsdaten (die Bilddaten enthalten) und von Befehlsdaten
zusammen mit hoher Geschwindigkeit, und ein Kommunikationsprotokoll,
das für
das Netz angewendet werden kann.
-
Verwandter Stand der Technik
-
Herkömmlich sind
Festplatten und Drucker die Peripheriegeräte, die bei Personalcomputern (PCs)
am Häufigsten
verwendet werden. Eines dieser Peripheriegeräte ist über eine spezielle Eingangs-/Ausgangsschnittstelle
oder eine digitale Universalschnittstelle wie SCSI (eine kleine
Computersystemschnittstelle) mit einem PC verbunden.
-
Seit
kurzem sind allerdings AV-(Audio-/visuelle) Geräte wie Digitalkameras und digitale
Videokameras populär,
die zusammen einen anderen Peripheriegerätetyp bilden, der mit einem
PC Anwendung findet. Ein derartiges AV-(Audio-/visuelles) Gerät kann über eine Schnittstelle mit
einem PC verbunden werden.
-
1 zeigt
eine Darstellung eines herkömmlichen
Kommunikationssystems, das einen PC und eine AV-Einrichtung umfasst.
-
In 1 bezeichnet 101 eine
AV-Einrichtung (eine Digitalkamera), 102 einen PC und 103 einen Drucker.
-
Die
Digitalkamera 101 umfasst einen Speicher 104,
in dem Bilddaten komprimiert und aufgezeichnet sind, einen Dekoder 105 zum
Expandieren der im Speicher 104 gespeicherten komprimierten Bilddaten
zu deren Dekodierung, eine Bildverarbeitungseinheit 106,
einen D/A-Wandler 107, eine Anzeigeeinheit 108,
die einen EVF enthält,
und eine spezielle digitale I/O-Einheit 109 zum Verbinden
der Digitalkamera 101 und des PC 102.
-
Der
PC 102 umfasst eine spezielle digitale I/O-Einheit 110 zum
Verbinden des PC 102 mit der Digitalkamera 101,
eine Bedieneinheit 111 mit einer Tastatur und einer Maus,
einen Dekoder 112 zum Expandieren der komprimierten Bilddaten
zu deren Dekodierung, eine Anzeigeeinheit 113, eine Festplatte 114,
einen Speicher 115, wie ein RAM, eine MPU 116,
einen PCI-Bus 117 und eine SCSI-Schnittstelle zum Verbinden des PC 102 mit
dem Drucker 103.
-
Der
Drucker 103 umfasst eine SCSI-Schnittstelle 119 zum
Verbinden des Druckers 103 mit dem PC 102, einen
Speicher 120, einen Druckkopf 121, eine Druckersteuereinrichtung
zum Steuern des Betriebs des Druckers 103 und einen Treiber 123.
-
Bei
einem herkömmlichen
Kommunikationssystem sind die spezielle digitale Schnittstelle (digitale
I/O-Einheit) 109 der Digitalkamera 101 und die
digitale Schnittstelle (SCSI-Schnittstelle) 119 des Druckers 103 nicht
kompatibel, und die eine kann mit der anderen nicht direkt verbunden
werden. Soll die Digitalkamera 103 ein Stehbild zum Drucker 103 übertragen,
muss der PC daher als Weitergabeeinrichtung fungieren.
-
Die
herkömmliche
spezielle digitale Schnittstelle 109 und die herkömmliche
SCSI-Schnittstelle 119 haben viele Mankos: ihre Datenübertragungsraten
sind niedrig, insbesondere wenn es für ein Stehbild oder ein Bewegtbild
eine große
Menge an von einer AV-Einrichtung zu übertragende Daten gibt, dicke Kabel
werden für
eine parallele Kommunikation verwendet, lediglich eine kleine Anzahl
und wenige Typen von Peripheriegeräten können verbunden werden, das
Verbindungssystem ist beschränkt,
und Datenübertragungen
können
nicht in Echtzeit durchgeführt
werden.
-
Eine
schnelle digitale Schnittstelle der nächsten Generation mit hoher
Leistung, die die vorstehend angeführten Mankos lösen kann,
ist eine, die dem bekannten IEEE (Institute of Electrical and Electronics
Engineering, Inc.) 1394-1995 Schnittstellenstandard entspricht.
-
Eine
digitale Schnittstelle, die dem IEEE 1394-1995 Schnittstellenstandard
entspricht (der nachstehend als 1394-Schnittstelle bezeichnet wird) weist
die folgenden Merkmale auf.
- (1) Die Datenübertragungsgeschwindigkeit
ist hoch.
- (2) Es werden ein Echtzeit-Datenübertragungssystem, d.h., das
isochrone Übertragungssystem, und
das asynchrone Übertragungssystem
unterstützt.
- (3) Es kann eine Verbindungskonfiguration (Topologie) mit einem
hohen Freiheitsgrad erhalten werden.
- (4) Es werden die Sofort-Betriebsbereit-Funktion und die aktive
Leitungstrennfunktion unterstützt.
-
Während im
IEEE 1394-1995 Standard die physikalischen und elektrischen Verbindungen
für eine
Verbindungseinrichtung und die grundlegendsten Datenübertragungssysteme
definiert sind, sind allerdings ein Datentyp, ein Datenformat und
ein Kommunikationsprotokoll, die für den Austausch von Daten anzuwenden
sind, nicht definiert.
-
Da
gemäß dem IEEE
1394-1995 Standard eine Antwort auf den Empfang eines Pakets für das isochrone Übertragungssystem
nicht definiert ist, gibt es keine Möglichkeit, sicherzustellen,
dass ein einzelnes isochrones Paket empfangen wurde. Daher kann
das isochrone Übertragungssystem
nicht angewendet werden, wenn eine Vielzahl von Sätzen aufeinanderfolgender
Daten zu übertragen
ist, oder wenn Daten in einer Datei durch Teilen der Daten in eine
Vielzahl von Datensätzen
zu übertragen
sind.
-
Bei
dem isochronen Übertragungssystem gemäß dem IEEE
1394-1995 Standard ist die Gesamtanzahl von Kommunikationen auf
64 begrenzt, obwohl es noch einen freien Platz im Übertragungsband
gibt. Daher ist das isochrone Übertragungssystem
für eine
Vielzahl von Kommunikationen nicht geeignet, die von einem kleinen Übertragungsband
getragen werden.
-
Gemäß dem IEEE
1394-1995 Standard muss die Übertragung
von Daten gestoppt werden, wenn ein Bus rückgesetzt wird, weil die Energieversorgung
eines Knotens ein- oder ausgeschaltet wird, oder wenn die Verbindung
oder Trennung des Knotens errichtet wird. Wenn aber entsprechend
dem IEEE 1394-1995 Standard die Datenübertragung aufgrund des Rücksetzens
eines Bus oder aufgrund eines Fehlers, der bei der Übertragung
aufgetreten ist, angehalten (gestoppt) wird, können die Inhalte der Daten,
die verloren gegangen sind, nicht identifiziert werden. Des Weiteren
muss eine sehr komplizierte Kommunikationsverarbeitung zum Wiederaufnehmen
der Übertragung
durchgeführt
werden.
-
Die
Bus-Rücksetzfunktion
ist eine Funktion zum automatischen Identifizieren einer neuen Topologie
und zum Einstellen einer Adresse (Knoten-ID), die dem Knoten zugeordnet
ist. Mit dieser Funktion können
die Sofort-Betriebsbereit-Funktion
und die aktive Leitungstrennfunktion durch Anwenden des IEEE 1394-1995
Standards bereitgestellt werden.
-
Für ein Kommunikationssystem
gemäß dem IEEE
1394-1995 Standard ist keine Echtzeitverarbeitung erforderlich,
und es wurde kein spezielles Kommunikationsprotokoll vorgeschlagen,
das zum Teilen einer vergleichsweise großen Menge von Objektdaten,
die zuverlässig
sein müssen
(beispielsweise Stehbilddaten, Graphikdaten, Textdaten, Dateidaten oder
Programmdaten), in mehr als ein Datensegment und zur aufeinanderfolgenden Übertragung
der Datensegmente verwendet werden kann.
-
Ferner
wurde für
ein Kommunikationssystem gemäß dem IEEE
1394-1995 Standard kein bestimmtes Kommunikationsprotokoll vorgeschlagen, das
zum Implementieren von Datenkommunikationen unter einer Vielzahl
von Einrichtungen durch Verwenden eines Kommunikationsverfahrens
für die asynchrone
Rundsendung von Daten verwendet werden kann.
-
Kurzzusammenfassung der Erfindung
-
Eine
Aufgabe der Erfindung besteht in der Lösung der vorstehend beschriebenen
Probleme. Insbesondere soll eine Datenübertragung durch einen einfachen
Ablauf angehalten werden.
-
Die
WO97/38513A von Sony Corporation
offenbart eine Kommunikationssteuereinrichtung und ein Verfahren
zum Steuern einer Kommunikation zwischen Knoten. Bei dem in der
Beschreibung offenbarten System werden Daten gemäß dem ATM-Standard, die einem
ATM/I394-Verstärker
zugeführt
werden, in Daten gemäß dem IEEE
1394-Standard mittels ASEL umgewandelt und zu einem 1394-Endgerät gesendet.
Die Daten gemäß dem IEEE 1394-Standard,
die zu diesem 1394-Endgerät gesendet
werden, werden mittels eines weiteren ASEL in Daten gemäß dem ATM-Standard
umgewandelt.
-
Die
EP-A-0766428 offenbart ein
lokales Netzwerk zum Übertragen
von Daten unter Verwendung isochroner und asynchroner Kanäle. In dem Netzwerk
kommuniziert eine Vielzahl von Knoten miteinander, so dass Informationen
ausgetauscht und Daten übertragen
werden können.
Ein Bus verbindet die Knoten mit jedem Knoten mit zumindest einem Anschluss,
der zum Zugreifen auf den Bus zugewiesen ist, und in vier Typen
eines isochronen Senders und isochronen Empfängers, Multicast-Senders und Multicast-Empfängers klassifiziert
ist.
-
Die
EP-A-0682430 offenbart ein
Datenübertragungssystem
und ein Verfahren, das das IEEE 1394-Protokoll verwendet. Ein den
Sendeknoten identifizierender Knotenidentifizierer ist zum Datenheader
eines gesendeten isochronen Pakets hinzugefügt, so dass der Empfängerknoten
sofort den Sendeknoten identifizieren kann und dadurch vom Sendeknoten
die Aufrechterhaltung der Übertragung fordern
kann. Außerdem
ist ein Rundsendekanal als Vorgabekanal vorgesehen, der für eine isochrone Paketübertragung
verwendet wird, wenn nicht eine andere Kanalnummer alternativ bestimmt
ist.
-
Ausgestaltungen
der Erfindung stellen einen Zielknoten nach Patentanspruch 1 und
ein Datenkommunikationssystem nach Patentanspruch 5 bereit.
-
Weitere
Ausgestaltungen der Erfindung stellen ein Verfahren zum Steuern
eines Zielknotens nach Patentanspruch 6 und ein Verfahren zum Betreiben
eines Kommunikationssystems nach Patentanspruch 10 bereit.
-
Zum
Verständnis
der Erfindung werden nachstehend Ausführungsbeispiele unter Bezugnahme
auf die beiliegende Zeichnung beschrieben. Es zeigen:
-
1 eine
Darstellung eines herkömmlichen Systems,
-
2 ein
Blockschaltbild einer Beispielanordnung für ein Kommunikationssystem
gemäß einem
ersten Ausführungsbeispiel
der Erfindung,
-
3 eine
schematische Darstellung zur Beschreibung der Basisstruktur eines
Kommunikationsprotokolls gemäß dem ersten
Ausführungsbeispiel
der Erfindung,
-
4A, 4B und 4C Ablaufdiagramme
zum Beschreiben des Basiskommunikationsablaufs, der durch das Kommunikationsprotokoll
gemäß dem ersten
Ausführungsbeispiel
der Erfindung abgedeckt ist,
-
5 eine
Darstellung des Aufbaus eines asynchronen Rundsendepakets gemäß dem ersten Ausführungsbeispiel,
-
6A und 6B Darstellungen
zur Beschreibung eines Adressraums in jedem Knoten,
-
7 eine
Darstellung zur Beschreibung eines Übertragungsmodells für Objektdaten,
-
8 eine
Darstellung zur Beschreibung des Aufbaus einer 1394-Schnittstelle
gemäß dem ersten
Ausführungsbeispiel,
-
9 ein
Ablaufdiagramm zur Beschreibung des Kommunikationsablaufs, der durch
ein Kommunikationsprotokoll gemäß einem
zweiten Ausführungsbeispiel
der Erfindung abgedeckt ist, und
-
10A bis 10C Ablaufdiagramme
zur Beschreibung des Kommunikationsablaufs, der durch ein Kommunikationsprotokoll
gemäß einem dritten
Ausführungsbeispiel
der Erfindung abgedeckt ist.
-
Ausführliche
Beschreibung der bevorzugten Ausführungsbeispiele
-
Die
bevorzugten Ausführungsbeispiele
der Erfindung werden nachstehend unter Bezugnahme auf die beiliegenden
Zeichnungen näher
beschrieben.
-
2 zeigt
eine Darstellung einer Beispielanordnung eines Datenkommunikationssystems
gemäß einem
ersten Ausführungsbeispiel
der Erfindung. Gemäß 2 umfasst
das Datenkommunikationssystem einen Computer 10, einen
digitalen Videorekorder mit eingebauter Kamera 28 und einen
Drucker 60.
-
Die
Anordnung des Computers 10 wird zuerst beschrieben. Eine
MPU 12 steuert den Betrieb des Computers 10. Eine
1394-Schnittstelle 14 enthält eine Funktion, die dem IEEE
1394-1995 Standard entspricht und eine Funktion, die mit einem Kommunikationsprotokoll
verbunden ist, das in diesem Ausführungsbeispiel bestimmt wird.
Eine Bedieneinheit 16 enthält eine Tastatur und eine Maus.
Ein Dekoder 18 dekodiert komprimierte und kodierte digitale
Daten (Bewegtbilddaten, Stehbilddaten, Audiodaten, usw.). Eine Anzeige 21 enthält eine
Anzeigeeinrichtung wie eine CRT-Anzeige oder ein Flüssigkristallfeld.
Eine Festplatte (HD) 22 wird zur Speicherung verschiedener
Typen digitaler Daten verwendet (Bewegtbilddaten, Stehbilddaten,
Audiodaten, Grafikdaten, Textdaten, Programmdaten, usw.), und es
ist auch ein interner Speicher 24 wie ein Speichermedium
vorgesehen. Ein interner Bus 26 ist beispielsweise ein
PCI-Bus, der die einzelnen Abschnitte des Computers 10 verbindet.
-
Nun
wird die Anordnung des digitalen Videorekorders mit eingebauter
Kamera (der nachstehend als DVCR bezeichnet wird) 28 beschrieben.
Eine Bildaufnahmeeinheit (opt) 30 wandelt ein optisches Bild
eines Objekts in ein elektrisches Signal und wandelt das Signal
in ein analoges Signal, und ein Analog-/Digital (A/D-)Wandler 32 wandelt
das analoge Signal in ein digitales Signal. Eine Bildverarbeitungseinheit 34 ändert digitale
Bewegtbild- oder
Stehbilddaten in digitale Bilddaten mit einem vorbestimmten Format.
Eine Kompressions-/Expansionseinheit 36 enthält eine
Funktion zum Dekodieren von komprimiertem und kodiertem digitalen
Code (Bewegtbilddaten, Stehbilddaten, Audiodaten, usw.) und eine Funktion
zur Durchführung
der Hochleistungskodierung digitaler Bilddaten (wie beispielsweise
das MPEG- oder DV-Verfahren, das digitale Bild wird vertikal gewandelt,
um ein vorbestimmtes Einheitsbild variabler Länge bereitzustellen, das dann
quantisiert und kodiert wird). Ein Speicher 38 wird zum
vorübergehenden
Speichern von digitalen Bilddaten verwendet, für die die Hochleistungskodierung
durchgeführt wurde,
und ein Speicher 40 wird zum vorübergehenden Speichern digitaler
Bilddaten verwendet, für
die keine Hochleistungskodierung durchgeführt wurde. Eine Datenauswähleinrichtung 32 wählt entweder den
Speicher 38 oder den Speicher 40 aus. Eine 1394-Schnittstelle 44 enthält eine
Funktion, die dem IEEE 1394-1995 Standard entspricht, und eine Funktion,
die mit dem Kommunikationsprotokoll verbunden ist, das in diesem
Ausführungsbeispiel
bestimmt wird. Speichersteuereinrichtungen 46 und 48 steuern die
Schreib- und Lesevorgänge
für die
Speicher 38 und 40. Eine Systemsteuereinrichtung 50,
die einen Mikrocomputer enthält,
steuert den Betrieb des DVCR 28. Eine Bedieneinheit 52 enthält eine
Fernsteuereinrichtung und ein Bedienfeld. Ein elektronischer Bildsucher
(EVF) 54 wird zum Anzeigen eines analogen Bildsignals verwendet.
Ein D/A-Wandler 56 wandelt ein digitales Signal in ein
analoges Signal. Eine Aufzeichnungs-/Wiedergabeeinrichtung 58 ist ein
Aufzeichnungsmedium, wie ein Magnetband, eine Magnetplatte oder
eine magnetooptische Platte, und wird zum Aufzeichnen oder zur Wiedergabe
verschiedener Typen digitaler Daten verwendet (Bewegtbilddaten,
Stehbilddaten oder Audiodaten usw.).
-
Nun
wird die Anordnung des Druckers 60 beschrieben. Eine 1394-Schnittstelle 62 enthält eine Funktion
entsprechend dem IEEE 1394-1995 Standard und eine Funktion, die
mit einem Kommunikationsprotokoll verbunden ist, das in diesem Ausführungsbeispiel
bestimmt wird. 64 bezeichnet eine Datenauswähleinrichtung.
Eine Bedieneinheit 66 enthält eine Bedientaste und ein
Berührungsfeld,
usw. Eine Druckersteuereinrichtung 68 steuert den Betrieb
des Druckers 60. 70 bezeichnet einen Dekoder und 72 bezeichnet
einen internen Speicher. Eine Bildverarbeitungseinheit 74 verarbeitet
Stehbilddaten, Textdaten oder Grafikdaten, die sie über eine
1394-Schnittstelle
empfängt. 76 bezeichnet
einen Treiber, und ein Druckkopf 78 führt das Drucken durch.
-
Wie
in 2 gezeigt sind die einzelnen Kommunikationseinrichtungen
(die nachstehend als Knoten bezeichnet werden) des Computers 10,
des DVCR 28 und des Druckers 60 über 1394-Schnittstellen 14, 44 und 62 verbunden.
Nachstehend wird ein durch die 1394-Schnittstellen gebildetes Netz als serieller
1394-Bus bezeichnet. Da ein vorbestimmtes Kommunikationsprotokoll
definiert ist, können
die Knoten verschiedene Objektdaten (beispielsweise Bewegtbilddaten,
Stehbilddaten, Audiodaten, Grafikdaten, Textdaten, Programmdaten
usw.) austauschen, und Befehlsdaten können zur Fernsteuerung der
Knoten verwendet werden. In diesem Ausführungsbeispiel wird das Kommunikationsprotokoll
für die
Anwendung des asynchronen Übertragungssystems
definiert.
-
Nachstehend
werden die Arbeitsweisen unter Bezugnahme auf 2 beschrieben,
die von den einzelnen Knoten durchgeführt werden, die das Kommunikationssystem
bei diesem Ausführungsbeispiel bilden.
-
Zuerst
werden die Funktionen und die Arbeitsabläufe beschrieben, die von den
einzelnen Einheiten des Computers 10 durchgeführt werden.
-
In
diesem Ausführungsbeispiel
wird der Computer 10 beispielsweise als Steuereinrichtung zur
Steuerung des Austauschs von Bilddaten zwischen dem DVCR 28 und
dem Drucker 60 oder als Steuereinrichtung zur Fernsteuerung
des DVCR 28 und des Druckers 60 betrieben.
-
Die
MPU 12 führt
auf der Festplatte 22 aufgezeichnete Software aus und bewegt
verschiedene Daten in den internen Speicher 24. Die MPU 12 stellt auch
eine Arbitrierfunktion für
die einzelnen Einheiten bereit, die durch den internen Bus 26 verbunden sind.
-
Die
1394-Schnittstelle 14 kann Bilddaten vom seriellen 1394-Bus
empfangen, und kann zu dem seriellen 1394-Bus Bilddaten übertragen,
die von der Festplatte 22 oder vom internen Speicher 24 empfangen
werden. Die 1394-Schnittstelle 14 kann auch
Befehlsdaten zum Ausüben
einer Fernsteuerung der anderen Knoten entlang des seriellen 1394-Bus
weitergeben. Des Weiteren hat die 1394-Schnittstelle 14 eine Funktion
zum Übertragen eines
Signals zu einem anderen Knoten, das über den seriellen 1394-Bus
empfangen wird.
-
Ein
Benutzer wählt
die gewünschte
Software durch die Verwendung der Bedieneinheit 16 zum
Anweisen der MPU 12 zum Ausführen einer auf der Festplatte 22 aufgezeichneten
Software aus. Informationen hinsichtlich der Software werden dem
Benutzer durch die Anzeigeeinheit 20 mitgeteilt. Entsprechend
der Software dekodiert der Dekoder 18 über den seriellen 1394-Bus
empfangene Bilddaten. Die dekodierten Bilddaten werden für den Benutzer durch
die Anzeigeeinheit 20 bereitgestellt.
-
Die
Funktionen und Arbeitsabläufe
der einzelnen Einheiten des DVCR 28 werden nun beschrieben.
-
Bei
diesem Ausführungsbeispiel
wird der DVCR 28 beispielsweise als Bildfinder (Quellenknoten)
zum asynchronen Übertragen
von Bilddaten beruhend auf dem Kommunikationsprotokoll für dieses Ausführungsbeispiel
betrieben.
-
Die
Bildaufnahmeeinheit 30 wandelt das optische Bild eines
Objekts in ein elektrisches Signal aus einem Luminanzsignal (Y)
und einem Farbsignal (C) um und führt das elektrische Signal
dem A/D-Wandler 32 zu. Der A/D-Wandler 32 wandelt das elektrische
Signal dann in ein digitales Signal um.
-
Die
Bildverarbeitungseinheit 34 führt eine vorbestimmte Bildverarbeitung
für das
digitale Luminanzsignal und das digitale Farbsignal durch und multiplext
die sich ergebenden digitalen Signale. Danach komprimiert die Kompressions-/Expansionseinheit 36 das
digitale Luminanzsignal und das digitale Farbsignal. Die Kompressions-/Expansionseinheit 36 kann
eine separate Kompressionsschaltung anwenden und das Luminanzsignal
und das Farbsignal parallel verarbeiten, oder sie kann einen Zeitmultiplexbetrieb
anwenden und die zwei Signale unter Verwendung einer Kompressionsschaltung
verarbeiten, die gemeinsam verwendet wird.
-
Die
Kompressions-/Expansionseinheit 36 mischt die komprimierten
Bilddaten zur Bereitstellung eines Mittels gegen Übertragungswegfehler.
Daher können
sequenzielle Codefehler, d.h., aufeinander folgende Fehler, in verstreute
Fehler, d.h., zufällige Fehler
geändert
werden, die leicht korrigiert oder interpoliert werden können. Soll
eine Datenmenge, die sich aufgrund der Dichte der auf einen Bildschirm projizierten
Bilder schwankt, einheitlich gemacht werden, sollte dieser Vorgang
vor der Kompression durchgeführt
werden, so dass eine variable Längenkodierung,
wie eine Lauflängenkodierung
durchgeführt
werden kann.
-
Die
Kompressions-/Expansionseinheit 36 fügt zu den komprimierten Bilddaten
Datenidentifizierungsinformationen (ID) zum Wiederherstellen aus der
Vermischung hinzu. Außerdem
fügt die
Kompressions-/Expansionseinheit 36 einen Fehlerkorrekturcode
(ECC) zu den komprimierten Bilddaten zum Verringern der Anzahl von
Fehlern hinzu, die während
der Aufzeichnung und Wiedergabe auftreten.
-
Die
durch die Kompressions-/Expansionseinheit 36 komprimierten
Bilddaten werden zu dem Speicher 38 und zu der Aufzeichnungs-/Wiedergabeeinrichtung 58 übertragen.
Die Aufzeichnungs-/Wiedergabeeinrichtung 48 fügt die ID
und den ECC zu den komprimierten Bilddaten hinzu und zeichnet sie auf
einem Aufzeichnungsmedium wie einem Magnetband auf. Die komprimierten
Bilddaten werden in einem anderen Aufzeichnungsbereich als die Audiodaten
gespeichert.
-
Der
D/A-Wandler 56 wandelt die von der Bildverarbeitungseinheit 34 empfangenen
Bilddaten in ein analoges Bildsignal um, und der EVF 54 zeigt das
analoge Bildsignal an, das er vom D/A-Wandler 56 empfängt. Die
durch die Bildverarbeitungseinheit 34 verarbeiteten Bilddaten
werden auch zum Speicher 40 übertragen. In diesem Fall werden
nicht komprimierte Bilddaten zum Speicher 40 übertragen.
-
Die
Datenauswähleinrichtung 42 wählt den Speicher 38 oder
den Speicher 40 entsprechend einer vom Benutzer gegebenen
Anweisung aus und überträgt entweder
die komprimierten Bilddaten oder die nicht komprimierten Bilddaten
zu der 1394-Schnittstelle 44. Die Datenauswähleinrichtung 42 überträgt die von
der 1394-Schnittstelle 44 empfangenen Bilddaten entweder
zum Speicher 38 oder zum Speicher 40.
-
Beruhend
auf dem nachstehend beschriebenen Kommunikationsprotokoll überträgt die 1394-Schnittstelle 44 die
komprimierten Bilddaten oder die nicht komprimierten Bilddaten asynchron. Ferner
empfängt
die 1394-Schnittstelle 44 über den seriellen 1394-Bus
einen Steuerbefehl zum Ausführen
einer Steuerung des DVCR 28. Der empfangene Steuerbefehl
wird über
die Datenauswähleinrichtung 42 zu
der Steuereinrichtung 50 übertragen. Die 1394-Schnittstelle 44 gibt
eine den Empfang des Steuerbefehls bestätigende Antwort aus.
-
Nachstehend
werden die Funktionen und die Betriebsweisen der einzelnen Einheiten
des Druckers 60 beschrieben.
-
Bei
diesem Ausführungsbeispiel
wird der Drucker 60 beispielsweise als Bildempfangseinrichtung
(Zielknoten) zum Empfangen von Bilddaten, die asynchron übertragen
werden, beruhend auf dem Kommunikationsprotokoll für dieses
Ausführungsbeispiel
und zum Drucken der empfangenen Bilddaten betrieben.
-
Die
1394-Schnittstelle 62 empfängt Bilddaten und einen Steuerbefehl über den
seriellen 1394-Bus, die asynchron übertragen wurden. Danach gibt
die 1394-Schnittstelle 62 eine den Empfang des Steuerbefehls
bestätigende
Antwort aus.
-
Die
empfangenen Bilddaten werden über
die Datenauswähleinrichtung 64 zum
Dekoder 70 übertragen.
Der Dekoder 70 dekodiert die Bilddaten und gibt die Ergebnisse
zur Bildverarbeitungseinheit 74 aus. Die Bildverarbeitungseinheit 74 speichert
die dekodierten Bilddaten vorübergehend
im Speicher 72.
-
Die
Bildverarbeitungseinheit 74 wandelt die vorübergehend
im Speicher 72 gespeicherten Bilddaten in Druckdaten um
und überträgt die Druckdaten
zum Druckkopf 78. Der Druckkopf 78 führt einen Druckvorgang
unter der Steuerung der Druckersteuereinrichtung 68 aus.
-
Der
empfangene Steuerbefehl wird über
die Datenauswähleinrichtung 64 zu
der Druckersteuereinrichtung 68 übertragen. Die Druckersteuereinrichtung 68 verwendet
die Steuerdaten zur Steuerung verschiedener auf das Drucken bezogener
Abläufe.
-
Beispielsweise
steuert die Druckersteuereinrichtung 68 den Treiber 76,
der Papier zuführt,
und die Position des Druckkopfes 78 einstellt.
-
Der
Aufbau der 1394-Schnittstellen 14, 44 und 62 bei
diesem Ausführungsbeispiel
wird nachstehend unter Bezugnahme auf 8 beschrieben.
-
Die
1394-Schnittstelle ist funktional durch eine Vielzahl von Schichten
ausgebildet. Gemäß 8 ist
die 1394-Schnittstelle
mit der 1394-Schnittstelle eines anderen Knotens über ein
Kommunikationskabel 801 verbunden, das dem IEEE 1394-1995 Standard
entspricht. Die 1394-Schnittstelle
hat einen oder mehrere Kommunikationsanschlüsse 802, die jeweils
mit einer physikalischen Schicht 803 verbunden sind, die
im Hardwareabschnitt enthalten ist.
-
Gemäß 8 enthält der Hardwareabschnitt die
physikalische Schicht 803 und eine Verbindungsschicht 804.
Die physikalische Schicht 803 dient als physikalische und
elektrische Schnittstelle mit einem anderen Knoten, erfasst das
Rücksetzen
eines Bus und führt
verbundene Vorgänge
durch, kodiert/dekodiert ein Eingabe-/Ausgabesignal und stellt eine
Arbitrierfunktion zum Beilegen von Konflikten hinsichtlich des Verwendungsrechts
eines Bus bereit. Die Verbindungsschicht 804 erzeugt ein
Kommunikationspaket, tauscht verschiedene Kommunikationspakettypen aus
und steuert einen Zykluszeitgeber. Außerdem hat die Verbindungsschicht 804 eine
Funktion zur Erzeugung von asynchronen Rundsendepaketen und eine
Funktion zum Austauschen dieser Pakete, was nachstehend näher beschrieben
wird.
-
Gemäß 8 enthält der Firmware-Abschnitt
eine Transaktionsschicht 804 und einen seriellen Busverwaltungsabschnitt 806.
Die Transaktionsschicht 804 verwaltet das asynchrone Übertragungssystem
und stellt verschiedene Transaktionstypen bereit (lesen, schreiben
und sperren). Die Transaktionsschicht 805 stellt auch eine
asynchrone Rundesendetransaktionsfunktion bereit, die nachstehend beschrieben
wird. Der serielle Busverwaltungsabschnitt 806 stellt eine
Funktion zur Steuerung des Knotens beruhend auf dem nachstehend
beschriebenen IEEE 1212 CSR Standard, zu dem er gehört, zum
Verwalten des Verbindungszustands des Knotens, Verwalten der ID-Informationen
des Knotens und Verwalten der Ressourcen des seriellen Busnetzes
bereit.
-
Der
Hardwareabschnitt und der Firmware-Abschnitt in 8 bilden
im Wesentlichen die 1394-Schnittstelle, und deren Basisaufbau ist
im IEEE 1394-1995 Standard spezifiziert.
-
Die
Funktionen einer Anwendungsschicht 803, die in einem Softwareabschnitt
enthalten ist und Objektdaten bestimmt, und das Verfahren, das für ihre Übertragung
zu verwenden ist, variieren entsprechend der zu verwendenden Anwendungssoftware.
-
Das
Kommunikationsprotokoll gemäß diesem
Ausführungsbeispiel
expandiert die Funktionen des Hardwareabschnitts und des Firmware-Abschnitts
der 1394-Schnittstelle
und stellt eine innovative Übertragungsverarbeitung
für den
Softwareabschnitt bereit.
-
Der
Basisaufbau des in diesem Ausführungsbeispiel
definierten Kommunikationsprotokolls wird nun anhand von 3 beschrieben.
-
Gemäß 3 umfasst
der Basisaufbau eine Steuereinrichtung 300, einen Quellenknoten 302,
n (n ≥ 1)
Zielknoten 304, eine Untereinheit 306 im Quellenknoten 302 und
Objektdaten 308, wie Stehbilddaten, Grafikdaten, Textdaten,
Dateidaten oder Programmdaten.
-
Ein
erster Speicherraum 310 ist im Zielknoten 304 durch
Anwenden einer vorbestimmten Zielverschiebung (destination offset
#0) definiert. Eine erste Verbindung 312 stellt ein logisches
Verbindungsverhältnis
zwischen dem Quellenknoten 302 und dem Zielknoten 304 dar.
Die Zielverschiebung ist eine Adresse, durch die gemeinsam Speicherräume in n
Zielknoten 304 bestimmt werden.
-
Ein
n-ter Speicherraum 314 ist im Zielknoten 304 durch
eine vorbestimmte Zielverschiebung (destination Offset #n) definiert.
Eine n-te Verbindung 316 stellt das logische Verbindungsverhältnis zwischen dem
Quellenknoten 302 und dem Zielknoten 304 dar.
-
Bei
diesem Ausführungsbeispiel
verwalten die einzelnen Knoten den ersten bis n-ten Speicherraum 310 bis 314 durch
die Verwendung von 64-Bit-Adressräumen, die dem IEEE 1212 CSR (Control
and Status Register Architecture) Standard (oder dem ISO/IEC 13213:
1994 Standard) entsprechen. Der IEEE 1212 CSR Standard dient zum
Bestimmen des Protokolls, der Verwaltung und der Adresszuordnung
für den
seriellen Bus.
-
Die 6A und 6B zeigen
Darstellungen zur Beschreibung des in jedem Knoten enthaltenen Adressraums. 6A zeigt
einen logischen Speicherraum, der durch eine 64 Bit-Adresse dargestellt
ist. In 6B ist ein Teil des in 6A gezeigten
Adressraums gezeigt, wobei die oberen 16 Bits FFFF16 darstellen.
Der erste Speicherraum 310 bis n-te Speicherraum 314 in 3 verwenden
einen Teil des Speicherraums in 6B, und
in den unteren 48 Bits einer Adresse ist eine Zielverschiebungsadresse
für jeden
von diesen enthalten.
-
In 6B definieren
beispielsweise 00000000000016 bis 0000000003FF16 einen reservierten Bereich, während die
Objektdaten 308 tatsächlich
in einen Bereich geschrieben sind, für den die Startadresse in den
unteren 46 Bits FFFFF000040016 ist.
-
In 3 ist
der Quellenknoten 302 ein Knoten, der eine Funktion zum Übertragen
der Objektdaten 308 entsprechend dem nachstehend beschriebenen
Kommunikationsprotokoll enthält.
Der Zielknoten 304 ist ein Knoten, der eine Funktion zum
Empfangen der Objektdaten 308 vom Quellenknoten 302 enthält. Die
Steuereinrichtung 300 ist ein Knoten zum Errichten eines
logischen Verbindungsverhältnisses zwischen
dem Quellenknoten 302 und einem oder mehreren Zielknoten 304 entsprechend
dem nachstehend beschriebenen Kommunikationsprotokoll und zum Verwalten
des logischen Verbindungsverhältnisses.
-
Als
Steuereinrichtung 300, Quellenknoten 302 und Zielknoten 304 können separate
Knoten vorgesehen sein. Ein einzelner Knoten kann als Steuereinrichtung 300 und
Quellenknoten 302 vorgesehen sein, und ein einzelner Knoten
kann als Steuereinrichtung 300 und Zielknoten 304 vorgesehen
sein. In diesem Fall muss keine Transaktion zwischen der Steuereinrichtung 300 und
dem Quellenknoten 302 oder dem Zielknoten 304 bewirkt
werden, und die Verarbeitung ist vereinfacht.
-
Bei
diesem Ausführungsbeispiel
sind separate Knoten als Steuereinrichtung 300, Quellenknoten 302 und
Zielknoten 304 vorgesehen. Der Computer 10, der
die 1394-Schnittstelle 14 enthält, dient
als Steuereinrichtung 300, der DVCR 28, der die 1394-Schnittstelle 44 enthält, dient
als Quellenknoten 302, und der Drucker 60, der
die 1394-Schnittstelle 62 enthält, dient als Zielknoten 304.
-
Wie
in 3 gezeigt kann eine oder können mehrere Verbindungen zwischen
dem Quellenknoten 302 und einem oder mehreren Zielknoten 304 errichtet
werden. Wenn eine Anforderung zur Übertragung bestimmter Objektdaten ausgegeben
wird, errichtet einer oder errichten mehrere Steuereinrichtungen 300 diese
Verbindungen entsprechend dem nachstehend beschriebenen Kommunikationsprotokoll.
-
Bei
diesem Ausführungsbeispiel
kann eine oder können
mehrere Zielverschiebungen eingestellt werden, die für eine Verbindung
verwendet werden können.
Der Wert der Zielverschiebung kann entweder ein Wert sein, der zuvor
eingestellt ist, oder ein variabler Wert, den die Steuereinrichtung 300 oder der
Quellenknoten 302 einstellt. Die Beziehung zwischen der
Verbindung und der Zielverschiebung wird entsprechend dem nachstehend
beschriebenen Kommunikationsprotokoll eingestellt.
-
Sind
für eine
Verbindung eine Vielzahl von Zielverschiebungen einzustellen, kann
eine Datenkommunikation mit einer Vielzahl von Formen mit einer
einzigen Verbindung bereitgestellt werden. Sind beispielsweise verschiedene
Verschiebungsadressen verschiedenen Formen von Datenkommunikationen
zugeordnet, können
eine 1-zu-1-Kommunikation, eine 1-zu-N-Kommunikation und eine N-zu-N-Kommunikation
gleichzeitig durch eine einzige Verbindung implementiert werden.
-
Bei
diesem Ausführungsbeispiel
kann der Computer 10, der als Steuereinrichtung 300 dient,
als Zielknoten 304 agieren. In diesem Fall wird eine Verbindung
zwischen dem Quellenknoten 302 und zwei Zielknoten 304 errichtet,
und die Objektdaten 308 werden übertragen.
-
Bei
diesem Ausführungsbeispiel
dient der Computer 10 als Steuereinrichtung 300,
er muss aber nicht unbedingt als Steuereinrichtung 300 festgelegt
werden. Der DVCR 28 oder der Drucker 60 können auch
als Steuereinrichtung 300 agieren.
-
Nachstehend
wird die grundlegende Übertragungsverarbeitung
gemäß dem in
diesem Ausführungsbeispiel
definierten Kommunikationsprotokoll beschrieben.
-
Die 4A, 4B und 4C zeigen
Ablaufdiagramme der für
die Übertragung
eines Satzes von Objektdaten durchgeführten Verarbeitung. 4B zeigt
ein Ablaufdiagramm der durchgeführten
Verarbeitung, wenn ein Bus rückgesetzt
wird, oder ein Übertragungsfehler
während
der Übertragung
eines Satzes von Objektdaten auftritt.
-
Gemäß dem Kommunikationsprotokoll
in diesem Ausführungsbeispiel überträgt die Steuereinrichtung 300 einen
Satz von Objektdaten, wenn sie die vorstehend beschriebene Verbindung
errichtet hat, indem eine oder mehrere asynchrone Rundsendetransaktionen
durchgeführt
werden. Die ausführliche
asynchrone Rundsendetransaktionsverarbeitung wird unter Bezugnahme
auf die 4A bis 4C beschrieben.
Ein für
eine asynchrone Rundsendetransaktion verwendetes Paket (das nachstehend
als asynchrones Rundsendepaket bezeichnet wird) wird unter Bezugnahme
auf 5 beschrieben.
-
Die
asynchrone Rundsendetransaktion und das asynchrone Rundesendepaket
stellen einen innovativen Vorgang und eine innovatives Paketformat dar,
die durch das Kommunikationsprotokoll in diesem Ausführungsbeispiel
bestimmt sind.
-
Die
grundlegende Übertragungsverarbeitung gemäß dem Kommunikationsprotokoll
in diesem Ausführungsbeispiel
wird nun unter Bezugnahme auf die 4A und 4C beschrieben. 4A zeigt ein
Ablaufdiagramm zur Beschreibung, wie eine Datenkommunikation durchzuführen ist,
wenn eine Verbindung mit nur einem Zielknoten 304 errichtet
ist. 4C zeigt ein Ablaufdiagramm zur Beschreibung, wie
eine Datenkommunikation durchgeführt
wird, wenn eine einzelne Verbindung für drei Zielknoten 304 angewendet
wird.
-
Die
Steuereinrichtung 300 errichtet eine Verbindungs-ID zum
Identifizieren des logischen Verbindungsverhältnisses, das zwischen dem
Quellenknoten 302 und einem oder mehreren Zielknoten 304 vorhanden
ist. Die Steuereinrichtung 300 benachrichtigt dann die
einzelnen Knoten über
die Verbindungs-ID, die zu verwenden ist, und errichtet eine einzelne
Verbindung (401 und 402 in den 4A und 4C).
-
Nach
der Weitergabe der Verbindungs-ID-Benachrichtigung weist die Steuereinrichtung 300 den
Quellenknoten 302 zum Initiieren der Übertragung der Objektdaten 308 an
(403 in den 4A und 4C).
-
Beim
Empfang der Anweisung beginnt der Quellenknoten 302 mit
Verhandlungen mit einem oder mehreren Zielknoten 304 und
führt den
Anfangsaufbau für
die asynchrone Rundsendetransaktion durch (404 und 405 in
den 4A und 4C).
-
Nach
der Durchführung
des Anfangsaufbaus führt
der Quellenknoten 302 die asynchrone Rundsendetransaktion
durch und sendet sequenziell die Objektdaten 308 rund,
die aus einem oder mehreren Datensegmenten bestehen (406 bis 409 in
den 4A und 4C).
-
Ein Übertragungsmodell
für die
Objektdaten 308 bei diesem Ausführungsbeispiel wird nun unter Bezugnahme
auf die
-
7 beschrieben.
Die Objektdaten 308 in 7 sind Stehbilddaten
von beispielsweise 128 KByte.
-
Der
Quellenknoten 302 teilt die Objektdaten 308 beispielsweise
in 500 Datensegmente (ein Datensegment umfasst 256 Byte) entsprechend
den Empfangsmöglichkeiten
der einzelnen Zielknoten 304, die während des Anfangsaufbauprozesses identifiziert
werden. Die Größe eines
Datensegments wird variabel durch den Quellenknoten 30 durch
Bezugnahme auf die Größe des internen
Puffers an jedem der Zielknoten 304 bestimmt. 7 zeigt
einen Fall, in dem interne Puffer mit derselben Datengröße wie der
der Objektdaten 308 verfügbar sind.
-
Der
Quellenknoten 302 überträgt eines
oder mehrere Datensegmente durch die Durchführung zumindest einer asynchronen
Rundsendetransaktion. In 7 wird ein Datensegment durch
die Durchführung
einer asynchronen Rundsendetransaktion übertragen.
-
Sind
alle Datensegmente übertragen,
beendet der Quellenknoten 302 die Datenkommunikationsverbindung
mit einem oder mehreren Zielknoten 304 (410 und 411 in
den 4A und 4C).
-
Nun
wird die Arbeitsweise der Steuereinrichtung 300 ausführlich unter
Bezugnahme auf die 4A und 4C beschrieben.
-
Die
Steuereinrichtung 300 überträgt asynchron
ein Paket zum Errichten einer Verbindung (das nachstehend als Verbindungsanforderungspaket
bezeichnet wird) zu dem Quellenknoten 302, der vom Benutzer
ausgewählt
wurde, und zu einem oder mehreren Zielknoten 304 (401 und 402 in
den 4A und 4C). Eine
Verbindungs-ID ist in der Nutzlast des Pakets zum Identifizieren
der zwischen dem Quellenknoten 302 und dem Zielknoten 304 errichteten
Verbindung gespeichert.
-
Die
Verbindung zwischen dem Quellenknoten 302 und einem oder
mehreren Zielknoten 304 wird durch die Steuereinrichtung 300 entsprechend der
zuvor für
den Quellenknoten 302 zugewiesenen Verbindungs-ID und der
zuvor für
jeden der Zielknoten 304 zugewiesenen Verbindungs-ID errichtet.
-
Die
Steuereinrichtung 300 überträgt asynchron
ein Transaktionsbefehlspaket zum Quellenknoten 302 (403 in
den 4A und 4C).
-
Beim
Empfang des Transaktionsbefehlspakets führt der Quellenknoten 302 den
Anfangsaufbau entsprechend der von der Steuereinrichtung 300 empfangenen
Verbindungs-ID durch, und führt
eine asynchrone Rundsendetransaktion aus (404 bis 409 in
den 4A und 4C). Durch
die Ausführung der
asynchronen Rundsendetransaktion kann der Quellenknoten 302 die
Objektdaten 308 sequenziell übertragen, die aus einem oder
mehreren Datensegmenten bestehen.
-
Bei
dem Kommunikationsprotokoll in diesem Ausführungsbeispiel stellt die Steuereinrichtung 300 eine
Funktion zum Verwalten der Verbindung und der Trennung von Knoten
bereit. Daher wird nach der Errichtung der Verbindung die Übertragung
der Objektdaten 308 durch Verhandlungen initiiert, die
zwischen dem Quellenknoten 302 und den Zielknoten 304 durchgeführt werden.
-
Ist
eine Folge von asynchronen Rundsendetransaktionen abgeschlossen,
gibt der Quellenknoten 302 ein asynchrones Rundsendepaket
aus, das das Ende des Segments angibt (das nachstehend als Segmentendepaket
bezeichnet wird) (410 in den 4A und 4C).
-
Beim
Empfang des Segmentendepakets vom Quellenknoten 302 trennt
die Steuereinrichtung 300 die Knoten und beendet den Datenübertragungsvorgang
(411 in den 4A und 4C).
-
Da
das Segmentendepaket rundgesendet wird, können die Inhalte des Pakets
auch durch einen Zielknoten 304 erfasst werden. Daher kann
der Zielknoten 304 anstelle der Steuereinrichtung 300 den Quellenknoten 302 trennen.
-
Nachstehend
wird die Arbeitsweise des Quellenknotens 302 ausführlich unter
Bezugnahme auf die 4A und 4C beschrieben.
-
Empfängt der
Quellenknoten 302 das Verbindungsanforderungspaket und
das Transaktionsbefehlspaket von der Steuereinrichtung 300, überträgt der Quellenknoten 302 ein
asynchrones Rundsendepaket zu einem Zielknoten 304, das
die Übertragung
einer Datenübertragungsanforderung
anfordert (das nachstehend als Sendeanforderungspaket bezeichnet
wird) (404 in den 4A und 4C).
-
Das
Sendeanforderungspaket ist ein Paket, das zum Erhalten der Anfangsinformationen
verwendet wird, die für
eine asynchrone Rundsendetransaktion für die Objektdaten 308 erforderlich
sind. Eine durch die Steuereinrichtung 300 bestimmte Verbindungs-ID
ist in das Paket geschrieben.
-
Der
Zielknoten 304 sendet ein asynchrones Rundsendepaket rund
(das nachstehend als Bestätigungsantwortpaket bezeichnet
wird), das eine Antwort auf das Sendeanforderungspaket bildet (405 in den 4A und 4B).
Dieselbe Verbindungs-ID, wie die für ein Sendeanforderungspaket
verwendete, wird in das Bestätigungsantwortpaket
geschrieben. Daher kann der Quellenknoten 302 die Verbindungs-ID
in dem Bestätigungsantwortpaket
untersuchen, das empfangen wird, und kann die Verbindung identifizieren, über die
das Paket übertragen
wurde.
-
In
dem Bestätigungsantwortpaket
sind die Größe des am
Zielknoten 304 verfügbaren
internen Puffers und die Verschiebungsadresse für einen bestimmten Speicherraum
gespeichert. Beim Empfang des Bestätigungsantwortpakets stellt
der Quellenknoten 302 die Zielverschiebung dafür ein, die
gemeinsam die Speicherräume
in den Zielknoten 304 bestimmt, und beginnt die asynchrone
Rundsendetransaktion. Die Zielverschiebung wird unter Verwendung
der Verschiebungsadresse bestimmt, die in dem von jedem Zielknoten 304 empfangenen
Bestätigungsantwortpaket
enthalten ist.
-
Bei
diesem Ausführungsbeispiel
wird die für die
asynchrone Rundsendetransaktion verwendete Zielverschiebung unter
Verwendung der in dem Bestätigungsantwortpaket
enthaltenen Verschiebungsadresse eingestellt. Allerdings kann die
Zielverschiebung auch auf andere Art und Weise eingestellt werden.
Beispielsweise kann die Steuereinrichtung 300 eine Funktion
zum Verwalten der für
einzelne Verbindungen verwendeten Zielverschiebungen aufweisen, und
kann Zielverschiebungen einstellen, die den Verbindungs-IDs entsprechen.
In diesem Fall werden den Verbindungen entsprechende Zielverschiebungen
durch die Steuereinrichtung 300 zu dem Quellenknoten 302 übertragen.
-
Der
Quellenknoten 302 schreibt das erste asynchrone Rundesendepaket
in den durch die Zielverschiebung angegebenen Speicherraum (406 in den 4A und 4C).
Die Verbindungs-ID und die Sequenznummer eines Datenpakets sind
im Paket gespeichert.
-
Nach
der Übertragung
des ersten asynchronen Rundsendepakets wartet der Quellenknoten 302 auf
ein Antwortpaket vom Zielknoten 304. Der Zielknoten 304 überträgt als Antwortpaket
ein asynchrones Rundsendepaket, in dem seine Verbindungs-ID und
die Sequenznummer gespeichert sind. Beim Empfang des Antwortpakets
inkrementiert der Quellenknoten 302 die Sequenznummer und überträgt ein weiteres
asynchrones Rundsendepaket, das die Sequenznummer des nächsten Datensegments
enthält (407 in
den 4A und 4C).
-
Durch
Wiederholen des vorstehenden Vorgangs führt der Quellenknoten 302 sequenziell
die asynchronen Rundsendetransaktionen durch (408 und 409 in
den 4A und 4C). Die
maximale Wartezeit auf eine Antwort von einem Zielknoten 304 wird
zuvor bestimmt. Wird keine Antwort gesendet, bevor die maximale
Wartezeit abgelaufen ist, wird die gleiche Sequenznummer zum erneuten
Senden desselben Datensegments angewendet.
-
Wir
ein eine Neuübertragung
anforderndes Antwortpaket durch einen Zielknoten 304 ausgegeben,
kann der Quellenknoten 302 die Daten rundsenden, die der
bestimmten Sequenznummer entsprechen.
-
Wurden
alle Objektdaten 308 mittels der asynchronen Rundesendetransaktionen übertragen, sendet
der Quellenknoten 302 das Segmentendepaket rund und beendet
die Datenübertragung
(410 und 411 in den 4A und 4C).
-
Wie
vorstehend beschrieben teilt der Quellenknoten 302 die
Objektdaten 308 nach Bedarf in eines oder mehrere Segmente
ein. Daher geschieht die Übertragung
des vorstehend angeführten
Antwortpakets in Verbindung mit der asynchronen Rundsendeübertragung
der Datensegmente. Ein Datensegment wird für jede durchgeführte asynchrone Rundsendetransaktion übertragen.
Der Zielknoten 304 enthält
einen Puffer mit der vorstehend beschriebenen Kapazität.
-
Bei
diesem Ausführungsbeispiel
wird ein Antwortpaket in Verbindung mit der asynchronen Rundsendetransaktion
eines Datensegments gesendet. Allerdings kann ein Zielknoten 304 ein
Antwortpaket übertragen,
nachdem der Datenpuffer am Zielknoten 304 mit einer Vielzahl
sequenzieller Datensegmente gefüllt
wurde.
-
Nachstehend
wird die Arbeitsweise des Zielknotens 304 ausführlich unter
Bezugnahme auf die 4A und 4C beschrieben.
-
Wird
ein Verbindungsanforderungspaket von der Steuereinrichtung 300 empfangen,
wartet der Zielknoten 304 auf das Sendeanforderungspaket vom
Quellenknoten 302 (404 in den 4A und 4C).
-
Beim
Empfang des Sendeanforderungspakets vergleicht der Zielknoten 304 die
in das Paket geschriebene Verbindungs-ID mit der von der Steuereinrichtung 300 empfangenen Verbindungs-ID
und bestimmt, ob das empfangene Paket seinen Ursprung am Quellenknoten 302 hat.
-
Ist
das empfangene Sendeanforderungspaket vom Quellenknoten 302,
sendet der Zielknoten 304 das Bestätigungsantwortpaket rund, in
das die Verbindungs-ID, die Größe des verfügbaren internen Puffers
und die Verschiebungsadresse für
den bestimmten Speicherraum geschrieben sind (405 in den 4A und 4C).
-
Wird
ein vom Quellenknoten 302 empfangenes asynchrones Rundsendepaket
in den Speicherraum geschrieben, inspiziert der Zielknoten 304 die
in dem Paket enthaltene Verbindungs-ID. Stimmt die in dem Paket
gespeicherte Verbindungs-ID mit der Verbindungs-ID des Zielknotens 304 überein,
sendet der Zielknoten 304 ein Antwortpaket rund, in dem
die in dem empfangenen Paket enthaltene Verbindungs-ID und die Sequenznummer
gespeichert sind (406 und 409 in den 4A und 4C).
In diesem Fall wird das in dem empfangenen asynchronen Rundesendepaket
enthaltene Datensegment im internen Puffer gespeichert. Unterscheidet
sich die in dem empfangenen Paket enthaltene Verbindungs-ID von
der Verbindungs-ID des Zielknotens 304, verwirft der Zielknoten 304 das
empfangene Paket.
-
Bestimmt
der Zielknoten 304, dass die Sequenznummer des empfangenen
Pakets nicht passt, kann er ein Antwortpaket zum Anfordern einer
Neuübertragung
senden. In diesem Fall teilt der Zielknoten 304 dem Quellenknoten 302 die
Sequenznummer mit, für
die die Neuübertragung
angefordert wird.
-
Sind
alle asynchronen Rundsendetransaktionen abgeschlossen, sendet der
Quellenknoten 302 das Segmentendepaket rund. Beim Empfang
dieses Pakets beendet der Zielknoten 304 die Datenübertragungsverarbeitung
(410 in den 4A und 4C).
-
Nach
Empfangen des Segmentendepakets sendet der Zielknoten 304 ein
Antwortpaket rund, das angibt, dass er das Segmentendepaket empfangen hat
(411 in den 4A und 4C).
-
Wie
vorstehend beschrieben kann das Kommunikationssystem gemäß diesem
Ausführungsbeispiel
die Nachteile eines herkömmlichen
Kommunikationssystems lösen.
Außerdem
kann das Kommunikationssystem gemäß diesem Ausführungsbeispiel die Übertragung
von Daten selbst dann einfach und schnell durchführen, wenn keine Echtzeitverarbeitung
erforderlich ist.
-
Da
beim Errichten der Verbindung durch die Steuereinrichtung die Objektdaten
zwischen dem Quellenknoten und den Zielknoten ausgetauscht werden,
muss die Steuereinrichtung nicht für die Übertragung verwendet werden,
und die Datenübertragung
kann einfach durchgeführt
werden, ohne dass eine komplizierte Verarbeitung erforderlich ist.
-
Da
ein Zielknoten immer ein Antwortpaket für jede Rundsendetransaktion
sendet, kann ein zufrieden stellendes Kommunikationsprotokoll bereitgestellt
werden.
-
Zum
Implementieren einer zufrieden stellenderen Datenübertragung
muss die Datenübertragung schnell
wieder aufgenommen werden, ohne dass Daten verloren gehen, selbst
wenn die Datenübertragung
aufgrund des Rücksetzens
eines Bus oder des Auftretens eines Übertragungsfehlers angehalten wird.
Nachstehend wird die Wiederaufnahmeverarbeitung unter Bezugnahme
auf 4B beschrieben, die gemäß dem Kommunikationsprotokoll
in diesem Ausführungsbeispiel
bestimmt ist.
-
Es
wird angenommen, dass ein Busrücksetzen
nach dem Empfang eines asynchronen Rundesendepakets mit einer Sequenznummer
i auftritt. Jeder der Knoten stoppt die Übertragung und initialisiert den
Bus, identifiziert die Verbindungskonfiguration und stellt die Knoten-ID
entsprechend den im IEEE 1394-1995 Standard definierten Abläufen ein
(420 und 421 in 4B).
-
Wurde
der Bus neu aufgebaut, sendet der Zielknoten 304 ein Wiederaufnahmeanforderungspaket
rund (Neusendeanforderungspaket), in dem die Verbindungs-ID und
die Sequenznummer i gespeichert sind (422 in 4B).
-
Kann
die asynchrone Rundsendetransaktion wieder aufgenommen werden, identifiziert
der Quellenknoten 302 die in einem empfangenen Neusendeanforderungspaket
enthaltene Verbindungs-ID und sendet ein Bestätigungsantwortpaket rund, in
dem diese Verbindungs-ID
gespeichert ist (423 in 4B).
-
Dann
beginnt der Quellenknoten 302 beginnend mit der Sequenznummer,
die durch das Neusendeanforderungspaket angefordert wurde, mit dem
sequenziellen Rundsenden von Datensegmenten, d.h., Datensegmenten,
die mit der Sequenznummer (i + 1) beginnen (424 in 4B).
-
Bei
der vorstehend beschriebenen Verarbeitung können die Steuereinrichtung 300,
der Quellenknoten 302 und die Zielknoten 304 selbst
dann, wenn die Datenübertragung
angehalten wurde, die Übertragung
von Daten leicht und zufrieden stellend wiederaufnehmen, ohne ihre
Knoten-ID zu berücksichtigen.
-
Wie
vorstehend beschrieben kann der durch die Steuereinrichtung 300 durchgeführte Steuervorgang
bei diesem Ausführungsbeispiel
vereinfacht werden, selbst wenn die Datenübertragung angehalten wurde.
-
Der
Aufbau des in diesem Ausführungsbeispiel
bestimmten asynchronen Rundsendepakets wird nachstehend unter Bezugnahme
auf 5 beschrieben. Das asynchrone Rundsendepaket ist
ein Datenpaket mit einem Quadlet (4 Byte=32 Bit) als eine Einheit.
-
Zuerst
wird der Aufbau eines Paketheader 521 beschrieben.
-
In 5 stellt
ein Feld 501 (16 Bit) eine destination_ID dar, was eine
Knoten-ID eines Empfängers
ist, d.h., eines Zielknotens 304. Da eine asynchrone Rundsendetransaktion
der Objektdaten 308 entsprechend dem Kommunikationsprotokoll dieses
Ausführungsbeispiels
implementiert ist, wird der Wert des Feldes 501 als Rundsende-ID
angewendet, d.h., FFFF16.
-
Ein
Feld 502 (6 Bit) stellt eine Transaktionsstufe (t1) dar
und ist eine jeder Transaktion inhärente Markierung bzw. „Tag".
-
Ein
Feld 503 stellt einen Neuversuch-(rt) Code zum Bestimmen
eines Neuversuchs des Pakets dar.
-
Ein
Feld 504 (4 Bit) stellt einen Transaktionscode (tcode)
dar. Der Transaktionscode tcode bestimmt ein Paketformat und den
Typ der Transaktion, die durchgeführt werden muss. Bei diesem
Ausführungsbeispiel
wird der Wert des Feldes beispielsweise auf 00012 eingestellt,
und fordert einen Vorgang (d.h. eine Schreibtransaktion) zum Schreiben
eines Datenblocks 522 dieses Pakets in den durch ein destination
offset-Feld 507 definierten Speicherraum an.
-
Ein
Feld 505 (4 Bit) stellt eine Priorität (pri) dar und bestimmt die
Prioritätsreihenfolge.
In diesem Ausführungsbeispiel
ist der Wert dieses Feldes auf 00002 eingestellt.
-
Ein
Feld 506 (16 Bit) stellt eine Variable source ID dar, die
die Knoten-ID der Sendeseite, d.h., des Quellenknotens 302 ist.
-
Das
Feld 507 (48 Bit) stellt eine Variable destination_offset
dar und bestimmt gemeinsam die unteren 48 Bit der in den einzelnen
Zielknoten 304 enthaltenen Adressräume. Derselbe destination offset-Wert
kann für
alle Verbindungen eingestellt werden, oder es kann ein verschiedener destination_offset-Wert
für jede
Verbindung eingestellt werden. Allerdings ist es effektiv, einen
verschiedenen destination_offset-Wert einzustellen, da so die asynchronen
Rundsendepakete von einer Vielzahl von Verbindungen parallel verarbeitet
werden können.
-
Ein
Feld 508 (16 Bit) stellt eine Variable data_length dar
und verwendet Bytes zum Angeben der Länge eines Datenfeldes, was
nachstehend beschrieben wird.
-
Ein
Feld 507 (16 Bit) stellt eine Variable extendend_tcode
dar. Bei diesem Ausführungsbeispiel
ist der Wert dieses Feldes auf 000016 eingestellt.
-
Ein
Feld 510 (32 Bit) stellt eine Variable header_CRC dar,
in der ein den Feldern 501 bis 509 entsprechender
Fehlererfassungscode gespeichert ist.
-
Nachstehend
wird ein Datenblock 522 beschrieben. Bei diesem Ausführungsbeispiel
umfasst der Datenblock 522 Headerinformationen 523 und ein
Datenfeld 524.
-
Eine
Verbindungs-ID zum Identifizieren des logischen Verbindungsverhältnisses
zwischen den Knoten ist in den Headerinformationen 523 enthalten.
Der Aufbau der Headerinformationen 513 variiert entsprechend
dem Zweck deren Verwendung.
-
Das
Datenfeld 524 ist ein Feld mit einer variablen Länge, und
die Datensegmente sind darin gespeichert. Ist ein in dem Datenfeld 524 gespeichertes Datensegment
kein Vielfaches des Quadlet, wird 0 in einen Abschnitt eingegeben,
der das Quadlet nicht erreicht.
-
Ein
Feld 511 (16 Bit) stellt eine Variable connection_ID dar,
und die Verbindungs-ID in diesem Ausführungsbeispiel ist darin gespeichert.
Die 1394-Schnittstelle dieses Ausführungsbeispiels wendet die
in diesem Feld 511 gespeicherte Verbindungs-ID zum Identifizieren
einer Verbindung an, die zwischen dem Quellenknoten 302 und
einem oder mehreren Zielknoten 304 errichtet ist. In diesem
Ausführungsbeispiel
können
216*(Anzahl der Knoten) Verbindungen errichtet
werden. Daher kann eine Vielzahl von Verbindungen errichtet werden,
bevor alle durch die Verbindungen verwendeten Kommunikationsbänder die
Kapazitätsgrenze
für den Übertragungsweg
erreichen.
-
Ein
Feld 512 (8 Bit) stellt eine Variable protocol_type dar
und gibt die Kommunikationsverarbeitung (d.h., den Kommunikationsprotokolltyp)
an, der auf den Headerinformationen 523 beruht. Ist das Kommunikationsprotokoll
dieses Ausführungsbeispiels
angegeben, ist der Wert des Feldes beispielsweise 0116.
-
Ein
Feld 513 (8 Bit) stellt eine Variable control_flags dar,
und vorbestimmte Steuerdaten sind darin zur Steuerung der Kommunikationsreihenfolge
gemäß dem Kommunikationsprotokoll
dieses Ausführungsbeispiels
eingestellt. Das höchstwertige Bit
in diesem Feld 513 wird beispielsweise als Neuübertragungsanforderungs(resend_request)
Flag angewendet. Ist der Wert des höchstwertigen Bit in diesem
Feld 1, wird angenommen, dass eine Neuübertragung entsprechend dem
Kommunikationsprotokoll dieses Ausführungsbeispiels angefordert
wurde.
-
Ein
Feld 514 (16 Bit) stellt eine Variable sequence_number
dar. Ein sequenzieller Wert, d.h., eine Sequenznummer, wird für ein Paket
eingestellt, das entsprechend einer bestimmten Verbindungs-ID (der
in dem Feld 511 bestimmten Verbindungs-ID) übertragen
wird. Mit der Sequenznummer kann der Zielknoten 304 die
Kontinuität
der Datensegmente überwachen,
die sequenziell durch die asynchronen Rundsendetransaktionen übertragen
werden. Passen die Sequenznummer und das Datensegment nicht zusammen,
kann der Zielknoten 304 beruhend auf der Sequenznummer
eine Neuübertragung
anfordern.
-
Ein
Feld 515 ((16 Bit) stellt eine Variable reconfirmation_number
dar. In diesem Ausführungsbeispiel
hat dieses Feld nur dann Bedeutung, wenn das Neuübertragungsanforderungsflag
auf einen Wert 1 gesetzt ist. In diesem Fall wird die Sequenznummer
des Pakets, für
das die Neuübertragung
angefordert ist, in dem Feld 515 eingestellt.
-
Ein
Feld 516 (16 Bit) stellt eine Variable buffer_size dar.
Die Puffergröße für den Zielknoten 304 ist
in diesem Feld 516 eingestellt.
-
Ein
Feld 517 (48 Bit) stellt eine Variable Offset_address dar.
Die unteren 48 Bit in dem im Zielknoten 304 enthaltenen
Adressraum sind in diesem Feld 517 gespeichert. Mit diesem
Feld wird einer der ersten Speicherräume 310 im n-ten Speicherraum 314 in 3 bestimmt.
-
Ein
Feld 518 (32 Bit) stellt eine Variable data_CRC dar. Ein
Fehlererfassungscode für
die Felder 511 bis 517 (einschließlich der
Headerinformationen 523 und des Datenfeldes 524)
ist in der Variable data_CRC sowie in der Variable header_CRC wie vorstehend
beschrieben gespeichert.
-
Nachstehen
wird die durch das Kommunikationsprotokoll dieses Ausführungsbeispiels
bestimmte Kommunikationsverarbeitung unter Bezugnahme auf die 8 und 9 ausführlich beschrieben.
-
Insbesondere
wird in diesem Ausführungsbeispiel
die Verarbeitung zum Beenden einer Folge von asynchronen Rundsendetransaktionen
während einer Übertragungsperiode
beschrieben, die zwischen dem Quellenknoten 302 und dem
Zielknoten 304 durchgeführt
werden.
-
9 zeigt
ein Ablaufdiagramm eines Beispiels, in dem die Übertragung durch den Quellenknoten 302 und
den Zielknoten 304 einfach angehalten wird. In 9 wird für eine einfachere
Beschreibung die asynchrone Rundsendetransaktion zwischen dem Quellenknoten 302 und
einem Zielknoten 304 durchgeführt. Allerdings kann die gleiche
Verarbeitung für
die Transaktion mit n Zielknoten 304 durchgeführt werden.
-
Gemäß 9 kann
der Zielknoten 304 die Übertragung
von Daten zum Quellenknoten 302 anhalten, indem er kein
Antwortpaket sendet. In dem Beispiel in 9 sendet
der Zielknoten 304 kein Antwortpaket auf die n-te asynchrone
Rundsendetransaktion (901 in 9).
-
Wird
kein Antwortpaket vom Zielknoten 304 innerhalb eines Zeitabschnitts
(Antwortzeitablauf 901) empfangen, der zuvor bestimmt ist,
sendet der Quellenknoten 302 in diesem Fall automatisch
das Datensegment mit derselben Sequenznummer wie der des vorgehenden
asynchronen Rundsendepakets erneut (903 in 9).
-
Wird
das Antwortpaket nicht empfangen, obwohl der vorstehende Vorgang
eine vorbestimmte Anzahl oft wiederholt wurde (904 in 9),
nimmt der Quellenknoten 302 an, dass der Zielknoten 304 die
Datenübertragung
angehalten hat, und sendet ein Abbruchpaket (905 in 9).
Das Abbruchpaket ist ein Paket zum Anhalten einer Folge von zwischen dem
Quellenknoten 302 und dem Zielknoten 304 durchgeführten asynchronen
Rundsendetransaktionen.
-
Mit
dem Abbruchpaket werden die Steuereinrichtung 300 und der
Zielknoten 304 über
das Ende der Übertragung
informiert, und der Quellenknoten 302 beendet die Datenübertragung.
Die Steuereinrichtung 300 trennt den dem Abbruchpaket entsprechenden
Knoten.
-
Gemäß dem Kommunikationsprotokoll
dieses Ausführungsbeispiels
kann der Zielknoten 304 durch die vorstehende Verarbeitung
die Datenübertragung
leicht anhalten, ohne eine bestimmte Verarbeitung durchzuführen, und
die Steuereinrichtung 300 kann die Trennung durchführen.
-
Wie
in den 10A bis 10C gezeigt, kann
eine Folge asynchroner Rundsendetransaktionen auch angehalten werden,
wenn die Steuereinrichtung 300, der Quellenknoten 302 oder
der Zielknoten 304 ein Abbruchpaket rundsendet, das den Halt
der Übertragung
anfordert.
-
10A zeigt ein Beispiel, in dem der Quellenknoten 302 eine
Halteanforderung ausgibt. 10B zeigt
ein Beispiel, in dem der Zielknoten 304 eine Halteanforderung
ausgibt. 10C zeigt ein Beispiel, in dem
die Steuereinrichtung 300 eine Halteanforderung ausgibt.
In den 10A bis 10C wird
die asynchrone Rundsendetransaktion für eine einfachere Beschreibung
zwischen einem Quellenknoten 302 und einem Zielknoten 304 angewendet. Allerdings
kann der gleiche Vorgang für
n Zielknoten 304 durchgeführt werden.
-
Ein
Knoten, der die asynchrone Rundsendetransaktion anhalten möchte, sendet
ein Abbruchpaket während
der Datenübertragungsperiode
rund. Beim Empfang des Abbruchpakets hält der Quellenknoten 302 oder
der Zielknoten 304 die Datenübertragung entsprechend den
vorbestimmten Abläufen an,
und die Steuereinrichtung trennt den Knoten.
-
In 10A sendet der Quellenknoten 302 das
Abbruchpaket, nachdem die n-te asynchrone Rundsendetransaktion abgeschlossen
ist (1001 in den
-
10A bis 10C).
In 10B sendet der Zielknoten 304 das Abbruchpaket
rund, nachdem die n-te asynchrone Rundsendetransaktion abgeschlossen
ist (1002 in den 10A bis 10C).
In 10C sendet die Steuereinrichtung 300 das
Abbruchpaket rund, nachdem die n-te asynchrone Rundsendetransaktion
abgeschlossen ist (1003 in den 10A bis 10C).
-
Durch
die vorstehende Verarbeitung stellen die Steuereinrichtung 300,
der Quellenknoten 302 und der Zielknoten 304 das
Anhalten der Datenübertragung
durch die Durchführung
einfacher Abläufe
sicher und können
die anderen Knoten trennen.
-
Wie
vorstehend beschrieben kann entsprechend den einzelnen Ausführungsbeispielen
ein logisches Verbindungsverhältnis
in einem Busnetz gemäß dem IEEE
1394-1995 Standard gebildet werden, das nicht von der physikalischen
Verbindungsform abhängt.
-
In
diesen Ausführungsbeispielen
kann ein innovatives Kommunikationsprotokoll für das Kommunikationssystem
gemäß dem IEEE
1394-1995 Standard bereitgestellt werden, gemäß dem eine vergleichsweise
große
Menge an Objektdaten (beispielsweise Stehbilddaten, Graphikdaten,
Textdaten, Dateidaten, Programmdaten, usw.), für die Zuverlässigkeit
gefordert ist, selbst wenn keine Echtzeitverarbeitung erforderlich
ist, in ein oder mehrere Datensegmente eingeteilt und die Datensegmente
sequenziell übertragen
werden können.
-
Außerdem kann
mit den vorstehenden Ausführungsbeispielen
ein innovatives Kommunikationsprotokoll für ein Kommunikationssystem
gemäß dem IEEE
1394-1995 Standard bereitgestellt werden, mit dem eine Datenkommunikation zwischen
einer Vielzahl von Einrichtungen unter Verwendung eines Kommunikationsverfahrens
für die
asynchrone Rundsendung von Daten implementiert werden kann.
-
Des
Weiteren kann eine Vielzahl von Sätzen kontinuierlicher Daten
gemäß den vorstehenden Ausführungsbeispielen
zufrieden stellend übertragen werden,
ohne dass das isochrone Übertragungsverfahren
erforderlich wäre,
das dem IEEE 1394-1995 Standard entspricht. Ein Satz Objektdaten
kann in eine Vielzahl von Datensegmenten unterteilt werden, die
einzeln übertragen
werden können.
-
Da
eine Kommunikation unter einer Vielzahl von Einrichtungen gemäß den vorstehenden
Ausführungsbeispielen
in einer Verbindung verwaltet wird, können viele Kommunikationen,
die kein sehr großes Kommunikationsband
erfordern, gleichzeitig durchgeführt
werden.
-
Eine
Vielzahl von Kommunikationen kann in einem Übertragungsband durchgeführt werden,
wobei lediglich wenige Knoten verwendet werden.
-
Selbst
wenn die Datenübertragung
in den vorstehenden Ausführungsbeispielen
aufgrund eines Busrücksetzens
oder eines Übertragungsfehlers
angehalten wird, können
Informationen über
die Inhalte von Daten übertragen
werden, die verloren gegangen sind, und die Übertragung kann wieder aufgenommen
werden, ohne dass eine sehr komplizierte Verarbeitung erforderlich
ist.
-
(Weiteres Ausführungsbeispiel)
-
Die
Kommunikationsprotokolle in den vorstehenden Ausführungsbeispielen
und die verschiedenen Arbeitsweisen, die zu deren Implementierung
erforderlich sind, können
mittels Software erreicht werden.
-
Beispielsweise
wird ein Speichermedium, auf dem Programmcode zum Implementieren
der Funktionen des ersten bis fünften
Ausführungsbeispiels
gespeichert ist, den Steuereinrichtungen (der MPU 12, der
Systemsteuereinrichtung 50 und der Druckersteuereinrichtung 68 in 2)
der Geräte
zugeführt,
die das Kommunikationssystem in den einzelnen Ausführungsbeispielen
bilden. Die Steuereinrichtungen erlauben dem Kommunikationssystem oder
den Geräten
das Lesen des Programmcodes aus dem Speichermedium und das Implementieren der
Funktionen der Ausführungsbeispiele
entsprechend dem Programmcode, so dass die vorstehenden Ausführungsbeispiele
implementiert werden können.
-
Ferner
wird ein Speichermedium, auf dem der Programmcode zum Implementieren
der Funktionen gemäß dem ersten
bis fünften
Ausführungsbeispiel
gespeichert ist, den 1394-Schnittstellen 14, 44 und 62 der
Geräte
zugeführt.
Die Steuereinrichtung (beispielsweise die serielle Busverwaltungseinheit 806 in 8)
ermöglicht
den 1394-Schnittstellen 14, 44 und 62 das
Implementieren der Funktionen der Ausführungsbeispiele entsprechend
dem im Speichermedium gespeicherten Programmcode, so dass die vorstehenden
Ausführungsbeispiele
implementiert werden können.
-
In
diesem Fall wird der aus dem Speichermedium gelesene Programmcode
zum Implementieren der Funktionen der vorstehend beschriebenen Ausführungsbeispiele
verwendet. Der Programmcode oder das Mittel (beispielsweise das Speichermedium),
auf dem der Programmcode gespeichert ist, bildet die Erfindung.
-
Ein
Speichermedium zum Zuführen
dieses Programmcodes kann beispielsweise eine Diskette, Festplatte,
optische Platte, magnetooptische Platte, CD-ROM, ein Magnetband,
eine nicht flüchtige
Speicherkarte oder ein ROM sein.
-
Außerdem umfasst
der Schutzbereich der Erfindung einen Fall, in dem die Funktionen
des ersten bis fünften
Ausführungsbeispiels
implementiert werden können,
wenn der Programmcode aus dem Speichermedium gelesen und in einem
Speicher gespeichert wird, der in einer Funktionserweiterungseinheit
enthalten ist, die mit der vorstehend angeführten Steuereinrichtung verbunden
ist, wobei die Steuereinrichtung in der Funktionserweiterungseinheit
einen Teil oder die gesamte tatsächliche
Verarbeitung entsprechend dem im Speicher gespeicherten Programmcode
durchführt.
-
Die
vorliegende Erfindung kann in anderen speziellen Formen ausgeführt werden,
ohne von den Eigenschaften der Erfindung abzuweichen.
-
Beispielsweise
wurde in den vorstehenden Ausführungsbeispielen
ein Kommunikationsprotokoll beschrieben, das bei einem Netz angewendet
werden kann, das IEEE 1394-1995 entspricht. Allerdings kann das
Kommunikationsprotokoll in diesen Ausführungsbeispielen bei einem
Busnetz angewendet werden, das dem IEEE 1394-1995 Standard entspricht, und ein Netz
kann virtuell ein Busnetz bilden.
-
Daher
sind die vorstehend beschriebenen Ausführungsbeispiele in jeder Hinsicht
lediglich Beispiele, und beschränken
die Erfindung nicht auf diese Beispiele.
-
Der
Schutzbereich der Erfindung ist durch den Schutzbereich der beigefügten Patentansprüche definiert,
und ist nicht durch die Beschreibung beschränkt. Des Weiteren fallen alle
Modifikationen und Änderungen,
die zu Äquivalenten
der Patentansprüche
gehören,
in den Schutzbereich der Erfindung.