-
HINTERGRUND
DER ERFINDUNG
-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung bezieht sich auf ein/e Datenübertragungsvorrichtung,
-system und -verfahren, und auf eine Bildverarbeitungsvorrichtung,
und insbesondere auf ein/e Datenübertragungsvorrichtung, -system
und -verfahren und eine Bildverarbeitungsvorrichtung in einem Fall,
in welchem eine Bildbereitstellungsvorrichtung, wie eine digitale
Kamera, über
eine serielle Schnittstelle auf der Grundlage der z.B. IEEE-1394-Standards
direkt mit einer Bildverarbeitungsvorrichtung, wie einem Drucker,
verbunden ist.
-
Beschreibung
des verwandten Standes der Technik
-
Es
sind unterschiedliche Arten von Systemen bekannt, die Daten zu einem
Drucker über
einen Bus übermitteln.
Beispielsweise besteht eine bekannte Technik im Ausgeben von Daten
aus einem Computer zu dem Drucker unter Verwendung einer Norm-Standard-Schnittstelle,
wie einer SCSI-(Kleincomputersystem-Schnittstelle, "Small Computer System
Interface") oder
einer Centronics-Schnittstelle.
-
Der
Drucker ist mit anderen Worten mit einem Personal-Computer (PC) als
eine Host-Vorrichtung über eine
parallele oder serielle Schnittstelle verbunden, wie eine Centronics-
oder RS232C-Schnittstelle.
-
Es
ist ebenso eine digitale Vorrichtung als eine Bildbereitstellungseinrichtung,
wie ein Abtaster, eine digitale Stehbildkamera und eine digitale
Videokamera, mit dem PC verbunden. Durch die jeweiligen digitalen Vorrichtungen
eingegebene Bilddaten werden zeitweise auf einer Festplatte oder
dergleichen auf dem PC gespeichert, dann durch ein Anwendungs-Softwareprogramm
oder dergleichen auf dem PC verarbeitet und in Druckdaten für den Drucker
umgewandelt, und über
die vorstehend beschriebene Schnittstelle zu dem Drucker übermittelt.
-
In
dem vorstehend beschriebenen System weist der PC Treibersoftwareprogramme
jeweils zum Steuern der digitalen Vorrichtungen und des Druckers
auf. Die durch die digitalen Vorrichtungen ausgegebenen Bilddaten
werden als Formatdaten, die auf dem PC leicht verwaltet und angezeigt
werden können,
durch diese Treibersoftwareprogramme gehalten. Die gespeicherten
Daten werden durch ein Bildverarbeitungsverfahren in Anbetracht
von Bildeigenschaften der Eingabevorrichtungen und der Biteigenschaften
der Ausgabevorrichtungen in die Druckdaten umgewandelt.
-
Aktuell
ist es für
eine neue Schnittstelle, wie eine Schnittstelle auf der Grundlage
der IEEE-1394-Standards, möglich
(nachstehend als "1394-Seriell-Bus" bezeichnet), eine
Bildbereitstellungsvorrichtung und einen Drucker direkt zu verbinden.
In einem Fall, in welchem die Bildbereitstellungsvorrichtung direkt
durch den 1394-Seriell-Bus mit dem Drucker verbunden ist, kann ein
FCP-(Funktionssteuerprotokoll, "Function
Control Protocol")-Operand
Druckdaten enthalten. Ferner kann in dem 1394-Seriell-Bus ein Registerbereich
bereitgestellt sein, so dass ein Datenübermittlung durch Schreiben
von Daten in den Registerbereich durchgeführt wird.
-
Da
der 1394-Seriell-Bus ferner eine Vielzahl von Datenübermittlungssteuerprozeduren
aufweist, kann eine Datenübermittlung
in Verfahren durchgeführt
werden, die für
die jeweiligen Vorrichtungen geeignet sind.
-
Ferner
kann ein eine Bildabtastfunktion aufweisender Drucker ein Drucken
und ein Bildabtasten durch Auswählen
einer der Drucker- und Abtastfunktionen durchführen. Beim Drucken empfängt der
Drucker Druckdaten von einer Bildbereitstellungsvorrichtung, während er
beim Abtasten Bilddaten, als eine Bildbereitstellungsvorrichtung,
zu einem Host-Computer sendet. Das heißt, dieser Drucker ändert eine
Datenübermittlungsrichtung
gemäß seiner
ausgewählten
Funktion.
-
Der
die vorstehend beschriebene Bildabtasterfunktion aufweisende Drucker
muss eine bidirektionale Datenübermittlung
verwalten, d.h. Empfang und Übertragung
von Bilddaten. Zu diesem Zweck weist der Drucker zwei Datenübermittlungsverfahren
und eine Funktion für
bidirektionale Datenübermittlung
auf. In einer derartigen Vorrichtung ist die Art und Weise wichtig,
wie die Datenübermittlungsrichtung
zu ändern
ist.
-
Die
Druckschrift EP-A-0 317 466 beschreibt eine Übermittlung von Daten zwischen
einer Master- und einer Slave-Einheit unter einer Steuerung der
Master-Einheit.
-
KURZFASSUNG
DER ERFINDUNG
-
Die
Erfindung wurde entwickelt, um das vorstehend beschriebene Problem
zu lösen,
und ihre Aufgabe liegt im Bereitstellen einer/eines Datenübertragungsvorrichtung,
-systems und -verfahrens und einer Bildverarbeitungsvorrichtung,
bei denen die Richtung der Datenübermittlungen
gemäß Befehlen
geändert
werden kann.
-
Gemäß Ausgestaltungen
der Erfindung ist ein wie in Patentanspruch 1 dargelegtes Datenübertragungsverfahren,
wie in Patentansprüchen
12 und 14 dargelegte Datenübertragungsvorrichtungen
und ein wie in Patentanspruch 16 dargelegtes Datenübertragungssystem
bereitgestellt.
-
Andere
Merkmale und Vorteile der Erfindung werden aus der nachstehenden
Beschreibung in Verbindung mit den beiliegenden Zeichnungen offensichtlich,
in welchen gleiche Bezugszeichen die gleichnamigen oder ähnliche
Teile durch die Figuren hindurch bezeichnen.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Die
beiliegenden Zeichnungen zeigen Ausführungsbeispiele der Erfindung
und dienen zusammen mit der Beschreibung zur Erklärung der
Prinzipien der Erfindung. Es zeigen:
-
1A eine beschreibende Ansicht eines allgemeinen
Aufbaus eines Systems, bei dem die Erfindung angewendet ist,
-
1B eine Blockdarstellung eines Beispiels eines
Netzwerksystems, das mit einer IEEE-1394-Seriell-Schnittstelle versehen
ist,
-
2 eine
Blockdarstellung des Aufbaus der IEEE-1394-Seriell-Schnittstelle,
-
3 eine
beschreibende Ansicht eines Adressraumes der IEEE-1394-Seriell-Schnittstelle,
-
4 eine
Querschnittsansicht eines Kabels für die IEEE-1394-Seriell-Schnittstelle,
-
5 ein
Zeitgabediagramm, das ein Daten/Abtastanbindungsverfahren beschreibt,
-
6 bis 8 Ablaufdiagramme
einer Prozedur des Netzwerkaufbaus in der IEEE-1394-Seriell-Schnittstelle,
-
9 eine
Blockdarstellung eines Beispiels des Netzwerkes,
-
10A und 10B Blockdarstellungen,
die eine Busentscheidung beschreiben,
-
11 ein Ablaufdiagramm einer Prozedur der Busentscheidung,
-
12 ein Zeitgabediagramm von Übergangszuständen bei
einer asynchronen Datenübermittlung,
-
13 eine Darstellung eines Paketformates für die asynchronen Übermittlung,
-
14 ein Zeitgabediagramm von Übergangszuständen bei
einer isochronen Datenübermittlung,
-
15A ein Beispiel eines Paketformates für die isochrone Übermittlung,
-
15B eine Tabelle der Einzelheiten des Paketformatfeldes
für die
isochrone Übermittlung
in einem 1394-Seriell-Bus,
-
16 ein Zeitgabediagramm von Übergangszuständen bei
einer Datenübermittlung
auf dem Bus, wenn die isochrone Übermittlung
und die asynchrone Übermittlung
gemischt durchgeführt
sind,
-
17 eine schematische Ansicht der IEEE-1394-Seriell-Schnittstelle
im Vergleich zu einem OSI-Modell,
-
18 eine beschreibende Ansicht des Grundbetriebes
eines LOGIN-Protokolls,
-
19 eine beschreibende Ansicht des Verbindungszustandes
bzw. -status in der IEEE-1394-Seriell-Schnittstelle,
-
20 ein Zeitgabediagramm des Ablaufs des LOGIN-Vorgangs,
-
21 eine schematische Ansicht einer CSR, die jeweilige
Vorrichtungen ausbildet,
-
22 ein Ablaufdiagramm einer LOGIN-Verarbeitung in einer
Host-Vorrichtung,
-
23 ein Ablaufdiagramm einer LOGIN-Verarbeitung in einer
Ziel-Vorrichtung,
-
24 eine beschreibende Ansicht eines Falles in
Anbetracht einer Vorrichtung ohne das LOGIN-Protokoll,
-
25 eine schematische Ansicht der IEEE-1394-Seriell-Schnittstelle
im Vergleich zu einem OSI-Modell in dem zweiten Ausführungsbeispiel,
-
26A eine Tabelle von Funktionen einer CSR-Architektur
des 1394-Seriell-Busses,
-
26B eine Tabelle von Registern für den 1394-Seriell-Bus,
-
26C eine Tabelle von Registern für Knotenressourcen
des 1394-Seriell-Busses,
-
26D ein Beispiel eines Minimalformates eines Konfigurations-ROM
des 1394-Seriell-Busses,
-
26E ein Beispiel eines allgemeinen Formates des
Konfigurations-ROM des 1394-Seriell-Busses,
-
27A eine Zeitgabetabelle eines Anforderungs-Antwort-Protokolls
mit Lese-, Schreib- und Belegbefehlen auf der Grundlage der CSR-Architektur
in einer Vermittlungsschicht,
-
27B ein Zeitgabediagramm von Diensten in einer
Anbindungsschicht,
-
28A ein Zeitgabediagramm eines Betriebsbeispieles
einer geteilten Vermittlung,
-
28B eine beschreibende Ansicht von Übergangszuständen der Übermittlung
durch die geteilte Vermittlung,
-
29 eine beschreibende Ansicht einer AV/C-Vermittlung
in dem 1394-Seriell-Bus,
-
30 ein Beispiel des Paketformates für die asynchrone Übermittlung
einschließlich
eines FCP-Paketrahmens,
-
31 ein Beispiel der Struktur eines AV/C-Befehlsrahmens,
-
32 ein Beispiel der Struktur eines AV/C-Antwortrahmens,
-
33 eine schematische Ansicht eines Registerkennfeldes,
-
34 eine beschreibende Ansicht des Rahmenflusses
bzw. (ab-) -laufs von einer Bildbereitstellungsvorrichtung zu dem
Drucker,
-
35 eine beschreibende Ansicht des Aufbaus eines
Formatregisters,
-
36 eine beschreibende Ansicht des detaillierten
Aufbaus eines Zustandsregisters einer gemeinsamen Registergruppe,
-
37 eine beschreibende Ansicht der Einzelheiten
von Informationen, die in einem Register GLOBAL einer gemeinsamen
Registergruppe gehalten sind,
-
38 eine beschreibende Ansicht der Einzelheiten
von Informationen, die in einem Register LOKAL der gemeinsamen Registergruppe
gehalten sind,
-
39 eine beschreibende Ansicht der Einzelheiten
von Informationen, die in einem Register format[1] gehalten sind,
-
40 eine beschreibende Ansicht der Einzelheiten
von Informationen, die in einem Register format[2] gehalten sind,
-
41 eine Tabelle von Befehlen und Antworten auf
die Befehle,
-
42 ein Beispiel von Bilddatenformaten, die durch
das DPP-Protokoll unterstützt
sind,
-
43 ein Zeitgabediagramm des Ablaufs der Formatsetzverarbeitung,
-
44 ein Zeitgabediagramm des Ablaufs der Datenübermittlungsverfahrenssetzverar
beitung,
-
45 eine beschreibende Ansicht eines Registerkennfeldes
von Registern, die für
ein Übermittlungsverfahren
1 und ein Übermittlungsverfahren
2 erforderlich ist, in einem Adressraum des 1394-Seriell-Busses,
-
46 ein Beispiel eines Datenpaketrahmens,
-
47 ein Beispiel der Struktur eines Daten-Headers,
-
48 eine beschreibende Ansicht einer Datenpaketrahmenverarbeitung
in dem Drucker bei einer Blockübermittlung,
-
49 ein Zeitgabediagramm von Befehlen und Antworten
BlockFreimachen in dem Übermittlungsverfahren
1,
-
50 ein Zeitgabediagramm des Ablaufs der Datenübermittlung
in dem Übermittlungsverfahren
1,
-
51 ein Zeitgabediagramm des Ablaufs der Datenübermittlung
in dem Übermittlungsverfahren
2,
-
52 ein Zeitgabediagramm der Befehle und Antworten
BlockFreimachen in dem Übermittlungsverfahren
1 ausführlich,
-
53 ein Zeitgabediagramm von Befehlen und Antworten
BlockSchreiben in dem Übermittlungsverfahren
1 und dem Übermittlungsverfahren
2,
-
54 ein Zeitgabediagramm der Befehle und Antworten
BlockSchreiben in dem Übermittlungsverfahren
1 und dem Übermittlungsverfahren
2 ausführlich,
-
55 ein Zeitgabediagramm des Ablaufs der BlockSchreiben-Fehlerverarbeitung
bei Auftreten eines Bus-Rücksetzens,
-
56 eine beschreibende Ansicht des Aufbaus von
Befehlsregistern, Antwortregistern und Datenregistern der Bildbereitstellungsvorrichtung
und des Druckers in einem PUSH-Großpuffermodell,
-
57 ein Zeitgabediagramm des Betriebsablaufes in
einem PUSH-Puf fermodell zwischen der Bildbereitstellungsvorrichtung
und dem Drucker,
-
58 ein Beispiel eines Datenpaketes in einem Datenrahmen,
-
59 eine beschreibende Ansicht der Relation zwischen
dem Datenregister und dem Puffer des Druckers,
-
60 eine beschreibende Ansicht des Aufbaus der
Befehlsregister, Antwortregister und der Datenregister der Bildbereitstellungsvorrichtung
und des Druckers in einem PULL-Puffermodell,
-
61 ein Zeitgabediagramm des Betriebsablaufes in
dem PULL-Puffermodell zwischen der Bildbereitstellungsvorrichtung
und dem Drucker,
-
62 eine beschreibende Ansicht der Relation zwischen
dem Datenregister und dem Puffer der Bildbereitstellungsvorrichtung,
-
63 eine beschreibende Ansicht der Speicherzuweisung
für Befehlsregister
und Antwortregister zur Fluss- bzw. (Ab-)Laufsteuerung, und
-
64 ein Zeitgabediagramm des Ablaufs der Druckverarbeitung,
-
65 eine Tabelle von Befehlen und Antworten auf
die Befehle in einem zweiten Ausführungsbeispiel,
-
66 ein Zeitgabediagramm eines Beispiels, in welchem
ein Host-Computer sich in einen Abtaster einlogt und die Steuereinrichtung
zur Flusssteuerung ändert
[umkehrt],
-
67 ein Zeitgabediagramm eines Beispiels, in welchem
der Abtaster Daten zu dem Host-Computer gemäß einem Datenanforderungsbefehl übermittelt,
der von dem Host-Computer als die Steuereinrichtung der Flusssteuerung
erteilt ist, und
-
68 ein Zeitgabediagramm einer Prozedur in einem
Fall, in welchem der Abtaster sich in den Host-Computer einloggt
und eine Datenübermittlung
als die Steuereinrichtung der Flussteuerung anstelle des Host-Computers
durchführt.
-
AUSFÜHRLICHE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
-
Nachstehend
ist ein Datenübermittlungsverfahren
gemäß einem
Ausführungsbeispiel
der Erfindung ausführlich
gemäß den beiliegenden
Zeichnungen beschrieben.
-
[Erstes Ausführungsbeispiel]
-
1A zeigt ein Beispiel eines allgemeinen Aufbaus
eines Systems, bei dem die Erfindung angewendet ist, wobei ein PC 103,
ein Drucker 102 und eine digitale Videokamera (DVC) 101 über einen
1394-Seriell-Bus verbunden sind. Dann ist die Gliederung des 1394-Seriell-Busses
nachstehend beschrieben.
-
[Gliederung des 1394-Seriell-Busses]
-
Mit
dem Aufkommen von allgemeinen Digital-Videokamera-Aufzeichnungseinrichtungen
(VCR) und von digitalen Videoplatten-(DVD)-Spielern besteht ein
Bedarf an einer Echtzeitübermittlung
einer großen
Datenmenge, wie Videodaten und Audiodaten (nachstehend "AV-Daten" genannt). Es ist
eine Schnittstelle erforderlich, die zu einer Hochgeschwindigkeitsdatenübermittlung
in der Lage ist, um AV-Daten in Echtzeit zu einem Personal-Computer
(PC) oder anderen digitalen Vorrichtungen zu übermitteln. Der 1394-Seriell-Bus
wurde unter dem vorstehend beschriebenen Gesichtspunkt entwickelt.
-
1B zeigt ein Beispiel eines Netzwerksystems, das
mit einem 1394-Seriell-Bus versehen ist. Dieses System umfasst Vorrichtungen
A bis H, und die Vorrichtungen A und B, die Vorrichtungen A und
C, die Vorrichtungen B und D, die Vorrichtungen D und E, die Vorrichtungen
C und F, die Vorrichtungen C und G und die Vorrichtung C und H sind
jeweils durch ein verdrehtes Paarkabel für den 1394-Seriell-Bus verbunden.
Diese Vorrichtungen A bis H können
Computer, wie ein Personal-Computer, oder die meisten Computer-Peripherievorrichtungen
sein, wie ein digitaler VCR, ein DVD-Spieler, eine digitale Stehbildkamera,
eine Speichervorrichtung unter Verwendung eines Speichermediums,
wie einer Festplatte oder einer optische Platte, ein Monitor wie
ein CRT oder ein LDC, ein Tuner, ein Bildab taster, ein Filmabtaster,
ein Drucker, ein MODEM und ein Endgerätadapter (TA, "terminal adapter").
-
Es
sei darauf hingewiesen, dass das Druckverfahren des Druckers jedwedes
Verfahren sein kann, z.B. ein Laserstrahldrucken, ein elektrofotografisches
Verfahren unter Verwendung einer LED, ein Tintenstrahlverfahren,
ein Thermoübermittlungverfahren
des Tintenschmelz- oder Tintensublimierungstyps und ein thermosensitives
Druckverfahren.
-
Die
Verbindung zwischen den Vorrichtungen kann unter Verwendung eines
In-Reihe-Verfahrens und eines Knotenverästungsverfahrens gemischt gestaltet
werden, wobei ein hoher Freiheitsgrad an Verbindung realisiert wird.
-
Die
jeweiligen Vorrichtungen weisen eine ID auf, und sie bilden ein
Netzwerk durch Identifizieren einer jeden ID innerhalb eines Bereiches,
der durch den 1394-Seriell-Bus
verbunden ist. Die Vorrichtungen übernehmen beispielsweise eine
Weiterleitungsrolle lediglich durch In-Reihe-Verbinden der Vorrichtungen mit
Kabeln für
den 1394-Seriell-Bus, wodurch ein Netzwerk aufgebaut wird.
-
Da
der 1394-Seriell-Bus einer Plug- und Play-Funktion entspricht, erkennt
er automatisch eine mit dem Kabel verbundene Vorrichtung, wodurch
er einen Verbindungszustand erkennt. In dem wie in 1B gezeigten System wird, wenn eine Vorrichtung
von dem Netzwerk entfernt wird oder eine neue Vorrichtung zu dem Netzwerk
hinzugefügt
wird, der Bus automatisch rückgesetzt
(d.h. die momentanen Netzwerkaufbauinformationen werden rückgesetzt),
und ein neues Netzwerk wird aufgebaut. Diese Funktion ermöglicht ein
Realzeitsetzen und -erkennen des Netzwerkaufbaus.
-
Der
1394-Seriell-Bus weist eine Datenübermittlungsgeschwindigkeit
auf, die als 100/200/400 Mbps definiert ist. Eine eine hohe Übermittlungsgeschwindigkeit
aufweisende Vorrichtung unterstützt
eine geringere Übermittlungsgeschwindigkeit,
wodurch Kompatibilität
aufrechterhalten wird. Als Datenübermittlungsbetriebsarten
stehen eine asynchrone Übermittlungsbetriebsart
(ATM, "asynchronous übermittlung
mode") zum Übermitteln
von asynchronen Daten wie einem Steuersignal, eine isochrone Übermittlungsbetriebsart
zum Übermitteln
von isochronen Daten, wie Echtzeit-AV-Daten, bereit. Bei einer Datenübermittlung
wird innerhalb eines jeden Zyklus (im Allgemeinen 125 μs/Zyklus)
ein den Start des Zyklus anzeigendes Zyklusstartpaket (CSP, "cycle start packet") übermittelt,
und dann werden asynchrone und isochrone Daten gemischt übermittelt,
so dass die isochrone Datenübermittlung
vor den asynchronen Daten übermittelt
wird.
-
2 zeigt
den Aufbau des 1394-Seriell-Busses als eine Schichtstruktur. Wie
gemäß 2 gezeigt, ist
ein Verbindungsanschluss 810 mit einem Verbinder an dem
Ende eines Kabels 813 für
den 1394-Seriell-Bus verbunden. Eine physikalische Schicht 811 und
eine Anbindungsschicht 812 in einer Hardwareeinheit 800 sind als
obere Schichten hinsichtlich des Verbindungsanschlusses 810 positioniert.
Die Hardwareeinheit 800 umfasst Schnittstellenchips. Die
physikalische Schicht 811 führt eine Codierung, verbindungsbezogene
Steuerung und dergleichen durch, und die Anbindungsschicht 812 führt eine
Paketübermittlung,
Zykluszeitsteuerung und dergleichen durch.
-
In
einer Firmwareeinheit 801 verwaltet eine Vermittlungsschicht 814 zu übermittelnde
Daten (Vermittlungsdaten) und gibt Befehle Lese, Schreibe und Belege
aus. Eine Verwaltungsschicht 815 in der Firmwareeinheit 801 verwaltet
Verbindungszustände
und IDs der jeweiligen mit dem 1394-Seriell-Bus verbundenen Vorrichtungen,
wodurch der Netzwerkaufbau verwaltet wird. Die vorstehend beschriebenen
Hardware- und Firmewareeinheiten bauen im Wesentlichen den 1394-Seriell-Bus
auf.
-
In
einer Softwareeinheit 802 weicht eine Anwendungsschicht 816 hinsichtlich
der durch das System verwendeten Software ab, und das Datenübermittlungsprotokoll,
das die Art und Weise angibt, wie Daten auf der Schnittstelle zu übermitteln
sind, ist durch ein Protokoll definiert, wie ein Druckerprotokoll
oder ein AVD-Protokoll.
-
3 zeigt
einen Adressraum des 1394-Seriell-Busses. Alle mit dem 1394-Seriell-Bus
verbundenen Vorrichtungen (Knoten) weisen eine eindeutige 64-Bit-Adresse
auf. Die 64-Bit-Adresse ist in einem Speicher der Vorrichtungen
gespeichert. Datenkommunikation mit einer ausgewiesenen Ziel-Vorrichtung
kann durch immerwährendes
Erkennen der Knotenadressen des übertragungs-
und empfangsseitigen Knotens durchgeführt werden.
-
Eine
Adressierung des 1394-Seriell-Busses ist auf den IEEE-1212-Standards
basierend gestaltet, so dass erste 10 Bits zum Ausweisen einer Busnummer
zugewiesen sind, und dann nächste
6 Bits zum Ausweisen einer Knoten-ID zugewiesen sind.
-
Eine
in den jeweiligen Vorrichtungen verwendete 48-Bit-Adresse sind in 20
Bits und 28 Bits unterteilt und sind in der Einheit von 256 Mbytes
verwendet. In dem initialen 20-Bit-Adressraum ist "0" bis "0xFFFFD" ein Speicherbereich genannt; ist "0xFFFFE" ein privater Bereich
genannt; und ist "0xFFFFF" ein Registerbereich
genannt. Der private Bereich ist eine frei in der Vorrichtung verwendete
Adresse. Der Registerbereich, der Informationen erhält, die
den mit dem Bus verwendeten Vorrichtungen gemein sind, ist zur Kommunikation unter
den jeweiligen Vorrichtungen verwendet.
-
In
dem Registerbereich sind die initialen 512 Bytes einem Registerkern
(CSR-Kern) als ein Kern einer Befehls/Zustandsregister- (CSR, "Command/Status Register") – Architektur
zugewiesen; sind die nächsten 512
Bytes einem Register des Seriell-Busses zugewiesen; sind die nächsten 1024
Bytes einem Konfigurations-ROM zugewiesen; und sind die verbleibenden
Bytes einem Register zugewiesen, das für die Vorrichtung in einem
Einheitsbereich eindeutig ist.
-
Im
Allgemeinen ist es um der Vereinfachung des Bussystementwurfs für unterschiedliche
Knotentypen Willen bevorzugt, das lediglich die initialen 2048 Bytes
für die
Knoten verwendet sind, und im Ergebnis sind insgesamt 4096 Bytes
einschließlich
der initialen 2048 Bytes für
den CSR-Kern, das Register des Seriell-Busses, der Konfigurations-ROM
und der Einheitsbereich verwendet.
-
Der
1394-Seriell-Bus weist den vorstehend beschriebenen Aufbau auf.
Als Nächstes
sind die Merkmale des 1394-Seriell-Busses ausführlicher beschrieben.
-
[Elektrische Spezifikation
des 1394-Seriell-Busses]
-
4 zeigt
einen Querschnitt des Kabels des 1394-Seriell-Busses. Das 1394-Seriell-Kabel
umfasst zwei Sätze
von verdrillten Paarsignalleitungen und zwei Energiequellenleitungen.
Dieser Aufbau ermöglicht eine
Energieversorgung zu einer Vorrichtung, der eine Energie versorgung
fehlt, oder einer Vorrichtung, in welcher eine Spannung aufgrund
eines Ausfalls oder dergleichen herabgemindert ist. Die durch die
Energiequellenleitungen zugeführte
Direktstromspannung beträgt
zwischen 8 und 40 V; der Strom beträgt maximal 1,5 A. Es sei darauf
hingewiesen, dass in den Standards für ein so genanntes DV-Kabel
vier Leitungen mit Ausnahme der Energieversorgungsleitung das Kabel
aufbauen.
-
[DS-Anbindung]
-
5 zeigt
ein Zeitgabediagramm, das ein DS-Anbindungs-(Daten-/Abtastanbindung, "Data/Strobe-Link")-verfahren als ein Datenübermittlungsverfahren
beschreibt.
-
Das
DS-Anbindungsverfahren, das zur Hochgeschwindigkeits-Seriell-Datenkommunikation
geeignet ist, erfordert zwei Sätze
von Signalleitungen. Das heißt,
einer der beiden Sätze
von verdrillten Paarsignalleitungen ist zum Senden eines Datensignals
verwendet, und der andere Satz von verdrillten Paarsignalleitungen ist
zum Senden eines Abtastsignals verwendet. Auf der Empfangsseite
wird ein EXKLUSIV-ODER zwischen dem Datensignal und dem Abtastsignal
erhalten, um ein Taktsignal zu erzeugen. Bei der DS-Anbindungsübermittlung
ist es nicht erforderlich, ein Taktsignal in ein Datensignal zu
mischen, wodurch die Übermittlungseffizienz
höher als
jene in anderen Seriell-Daten-Übermittlungsverfahren
ist. Da ferner ein Taktsignal aus dem Datensignal und dem Abtastsignal
erzeugt wird, kann eine Phasenregelschleifen-(PLL, "phase locked loop")-Schaltung ausgelassen
werden, was zu einer Größenminderung
des Ausmaßes
einer Steuereinrichtungs-LSI
führt.
Ferner ist es bei der DS-Anbindungsübermittlung nicht erforderlich,
einen Untätigkeitszustand anzeigende
Informationen zu senden, wenn keine zu über mittelnden Daten vorliegen,
wodurch ein Sendeempfänger
einer jeden Vorrichtung in einen Schlafzustand gesetzt werden kann,
was den elektrischen Verbrauch verringert.
-
[Bus-Rücksetzabfolge]
-
Die
jeweiligen mit dem 1394-Seriell-Bus verbundenen Vorrichtungen (Knoten)
sind mit einer Knoten-ID versehen und werden als das Netzwerk aufbauende
Knoten erkannt. Beispielsweise bei Erhöhung/Verringerung der Anzahl
von Knoten aufgrund von Verbindung/Verbindungsabbau oder des Energie-EIN/AUS-Zustandes
von Netzwerkvorrichtungen, d.h. der Netzwerkaufbau ändert sich
ein Erkennen eines neuen Netzwerkaufbaus ist erforderlich, erfassen
die jeweiligen Knoten die Änderung
des Netzwerkaufbaus, senden ein Bus-Rücksetzsignal auf den Bus und
treten in eine Betriebsart zum Erkennen des neuen Netzwerkaufbaus
ein. Die Erfassung der Änderung
des Netzwerkaufbaus wird durch Erfassen einer Änderung einer Versatzspannung
bei dem Verbindungsanschluss 810 gestaltet.
-
Wird
das Bus-Rücksetzsignal
von einem Knoten gesendet, dann empfängt die physikalische Schicht 811 der
jeweiligen Knoten das Bus-Rücksetzsignal,
und benachrichtigt zur selben Zeit die Anbindungsschicht 812 bezüglich des
Auftretens des Bus-Rücksetzens
und leitet das Bus-Rücksetzsignal
zu den anderen Knoten weiter. Haben alle Knoten das Bus-Rücksetzsignal
empfangen, dann wird eine Bus-Rücksetzabfolge
gestartet. Es sei darauf hingewiesen, dass die Bus-Rücksetzabfolge
gestartet wird, wenn das Kabel eingeklinkt/ausgeklinkt wird, oder
die Hardwareeinheit 800 eine Netzwerkanomalie oder dergleichen
erfasst hat. Ferner wird die Bus-Rücksetzabfolge ebenso durch
eine direkte Anweisung an die physikalische Schicht 811 gestartet,
wie eine Host-Steuerung durch ein Proto koll. Ist die Bus-Rücksetzabfolge
gestartet, dann wird die Datenübermittlung
während
des Bus-Rücksetzens
ausgesetzt, und nach dem Bus-Rücksetzen
wird die Datenübermittlung
in dem neuen Netzwerkaufbau wieder gestartet.
-
[Knoten-ID-Bestimmungsabfolge]
-
Nach
dem Bus-Rücksetzen
beginnen die jeweiligen Knoten, eine Knoten-ID zu gewinnen, um einen neuen
Netzwerkaufbau aufzubauen. Eine allgemeine Abfolge von dem Bus-Rücksetzen hin zu der Knoten-ID-Bestimmung
ist nachstehend unter Bezugnahme auf die Ablaufdiagramme gemäß 6 bis 8 beschrieben.
-
6 zeigt
ein Ablaufdiagramm einer Abfolge des Auftretens des Bus-Rücksetzsignals
bis hin zur Knoten-ID-Bestimmung
und der Datenübermittlung.
Bei Schritt S101 überwachen
die jeweiligen Knoten immer ein Auftreten des Bus-Rücksetzsignals.
Trat das Bus-Rücksetzsignal
auf, dann geht der Prozess zu Schritt S102 über, bei welchem eine Eltern-Kind-Beziehung
zwischen miteinander verbundenen Knoten ausgewiesen wird, um einen
neuen Netzwerkaufbau in einem Zustand zu erhalten, in dem der Netzwerkaufbau
rückgesetzt wurde.
Schritt S102 wird wiederholt, bis bei Schritt S103 bestimmt wird,
dass die Eltern-Kind-Beziehung
zwischen allen Knoten bestimmt wurde.
-
Ist
die Eltern-Kind-Beziehung bestimmt, dann geht der Prozess zu Schritt
S104 über,
bei dem ein(e) "Wurzel
(-Knoten)" bestimmt
wird. Bei Schritt S105 wird ein Knoten-ID-Setzen durchgeführt, um die jeweiligen Knoten
mit einer ID zu versehen. Das Knoten-ID-Setzen wird in einer vorbestimmten
Reihenfolge der Knoten durchgeführt.
Schritt S105 wird wiederholt, bis bei Schritt S106 bestimmt wird,
dass die IDs allen Knoten vermittelt worden sind.
-
Wurde
das Knoten-ID-Setzen vollendet, ist eine Datenübermittlung unter den Knoten
möglich,
da der neue Netzwerkaufbau durch alle Knoten erkannt wurde. Bei
Schritt S107 wird die Datenübermittlung
gestartet, und der Prozess kehrt zu Schritt S101 zurück, bei
dem wieder das Auftreten des Bus-Rücksetzsignals überwacht
wird.
-
7 zeigt
ein Ablaufdiagramm der Abfolge von der Überwachung des Bus-Rücksetzsignals
(S101) hin zu der Wurzelbestimmung (S104) ausführlich. 8 zeigt
ein Ablaufdiagramm des Knoten-ID-Setzens (S105 und S106) ausführlich.
-
Gemäß 7 wird
bei Schritt S201 das Auftreten des Bus-Rücksetzsignals überwacht,
und wenn das Bus-Rücksetzsignal
auftrat, wird der Netzwerkaufbau rückgesetzt. Als Nächstes setzen
bei Schritt S202 als ein erster Schritt zum Wiedererkennen des rückgesetzten
Netzwerkaufbaus die jeweiligen Vorrichtungen ihre Kennung FL mit
Daten rück,
die ein(en) "Blatt
(-Knoten)" anzeigen.
Bei Schritt S203 untersuchen die jeweiligen Vorrichtungen die Anzahl
von Anschlüssen,
d.h. die Anzahl von weiteren mit ihnen verbundenen Knoten. Bei Schritt
S204 untersuchen die Vorrichtungen auf der Grundlage des Ergebnisses
der Prüfung
bei Schritt S203 die Anzahl von nicht definierten (d.h. Eltern-Kind-Beziehung
wurde nicht bestimmt) Anschlüssen.
Die Anzahl von nicht definierten Anschlüssen ist gleich jener der Anschlüsse unmittelbar
nach dem Bus-Rücksetzen,
jedoch verringert sich mit dem Voranschreiten der Bestimmung der
Eltern-Kind-Beziehung die Anzahl von nicht definierten Anschlüssen, die
bei Schritt S204 erfasst sind.
-
Lediglich
ein tatsächliches
Blatt (oder tatsächliche
Blätter)
kann (können)
eine Eltern-Kind-Beziehung unmittelbar nach dem Bus-Rücksetzen
ausweisen. Ob der Knoten ein Blatt ist, oder nicht, wird aus der
Anzahl von bei Schritt S203 geprüften
Anschlüssen
erfasst; d.h. beträgt
die Anzahl von Anschlüssen "1", dann ist der Knoten ein Blatt. Das
Blatt weist aus, dass "dieser
Knoten ein Kind ist, und dass der verbundene Knoten ein Elternteil
ist" bei Schritt
S205, und beendet dann den Betrieb.
-
Demgegenüber ist
ein Knoten, der bei Schritt S203 erfasst hat, dass die Anzahl von
Anschlüssen "2 oder mehr" beträgt, ein "Ast". Unmittelbar nach
dem Bus-Rücksetzen
gent, solange "undefinierte
Anschlüsse > 1" Bestand hat, der Prozess zu Schritt
S206 über,
bei welchem die Kennung FL mit Daten gesetzt wird, die einen "Ast" anzeigen, und dann
wird bei Schritt S207 auf eine Ausweisung einer Eltern-Kind-Beziehung
von einem anderen Knoten gewartet. Wird die Eltern-Kind-Beziehung
von einem anderen Knoten ausgewiesen, dann kehrt der Prozess zu
Schritt S204 zurück,
bei welchem der Ast die Anzahl von nicht definierten Anschlüssen prüft. Beträgt die Anzahl
von nicht definierten Anschlüssen "1", dann kann der Ast bei Schritt S205
zu dem an dem verbleibenden Anschluss verbundenen Knoten ausweisen,
dass "dieser Knoten
ein Kind ist, und dass der verbundene Knoten ein Elternteil ist". Beträgt die Anzahl
von nicht definierten Anschlüssen
noch immer "2 oder
mehr", dann wartet
der Ast auf eine Ausweisung einer Eltern-Kind-Beziehung von einem
anderen Knoten bei Schritt S207.
-
Erfasst
irgendeiner der Äste
(oder in Ausnahmefällen
ein Blatt (oder Blätter),
der/das (die) ein Ausweisen eines Kindes verzögert(en), dass die Anzahl von
nicht definierten Anschlüssen "0" beträgt, dann ist die Eltern-Kind-Ausweisung des Gesamt-Netzwerkes
vollendet. Der einzige Knoten, der "0" nicht
definierte Anschlüsse
aufweist, d.h. das Elternteil aller Knoten, setzt bei Schritt S208
die Kennung FL mit Daten, die eine "Wurzel" anzeigen. Dann wird bei Schritt S209
der Knoten als eine Wurzel erkannt.
-
Auf
diese Weise endet die Prozedur von dem Bus-Rücksetzen hin zu der Eltern-Kind-Ausweisung
unter allen Knoten in dem Netzwerk.
-
Als
Nächstes
ist nachstehend eine Prozedur des Versehens eines jeden Knotens
mit einer ID beschrieben. Zuerst wird das ID-Setzen bei den Blättern durchgeführt. Dann
werden IDs in numerischer Reihenfolge (von Knoten Nr.: 0) von Blättern → Ästen → Wurzel
gesetzt.
-
In 8 teilt
sich der Prozess bei Schritt S301 gemäß dem Knotentyp, d.h. Blatt,
Ast oder Wurzel auf der Grundlage der bei den Kennungen FL gesetzten
Daten auf.
-
Im
Falle eines Blattes wird bei Schritt S203 die Anzahl von Blättern (natürliche Zahl)
in dem Netzwerk auf eine Variable N gesetzt. Bei Schritt S303 fordern
die jeweiligen Blätter
eine Knotennummer von der Wurzel an. Wurde eine Vielzahl von Anforderungen
durchgeführt,
dann führt
die Wurzel bei Schritt S304 eine Entscheidung durch und stellt bei
Schritt S305 einem Knoten eine Knotennummer bereit, während sie
die anderen Knoten bezüglich
des Ergebnisses des Erhaltens einer Knotennummer benachrichtigt,
was anzeigt, dass die Knotennummer verweigert wurde.
-
Ein
Blatt, das keine Knotennummer erhielt (NEIN bei Schritt S306) wiederholt
bei Schritt S303 die Anforderung nach einer Knotennummer. Demgegenüber benachrichtigt
ein Blatt, das eine Knotennummer erhielt, alle Knoten bezüglich der
erhaltenen Knotennummer durch Rundsenden von ID-Informationen, die die Knotennummer
enthalten. Wurde das Rundsenden der ID-Informationen vollendet,
dann wird bei Schritt S308 die die Anzahl von Blättern angebende Variable N
dekrementiert. Dann wird von der Bestimmung bei Schritt S309 an
die Prozedur von Schritt S303 bis zu Schritt S308 wiederholt, bis
die Variable N bei der Bestimmung bei Schritt S309 "0" wird. Wurden ID-Informationen bezüglich aller
Blätter
rundgesendet, dann geht der Prozess zu Schritt S310 über, um
die IDs der Äste
zu setzen.
-
Das
ID-Setzen für Äste wird
im Wesentlichen auf ähnliche
Weise durchgeführt
wie das ID-Setzen für die
Blätter.
Zuerst wird bei Schritt S310 die Anzahl von Ästen (natürliche Zahl) auf eine Variable
M gesetzt. Bei Schritt S311 fordern die jeweiligen Äste bei
der Wurzel eine Knotennummer an. Als Antwort auf die Anforderungen
führt die
Wurzel bei Schritt S312 eine Entscheidung durch und stellt bei Schritt
S313 einem Ast eine Knotennummer bereit, die der letzten Blattknotennummer
nachfolgt, während
sie den anderen Ästen
das Ergebnis des Erhaltens der Knotennummer mitteilt, was angibt,
dass die Knotennummer verweigert wurde.
-
Ein
Ast, der keine Knotennummer erhielt (NEIN bei Schritt S314), wiederholt
bei Schritt S315 die Anforderung nach einer Knotennummer. Demgegenüber benachrichtigt
ein Ast, der eine Knotennummer erhielt, alle Knoten bezüglich der
erhaltenen Knotennummer durch Rundsenden von ID-Informationen, die
die Knotennummer enthalten. Wurde das Rund senden der ID-Informationen
vollendet, dann wird die die Anzahl von Ästen angebende Variable M bei
Schritt S316 dekrementiert. Dann wird von der Bestimmung bei Schritt
S317 an die Prozedur von Schritt S311 bis hin zu Schritt S316 wiederholt,
bis die Variable M bei der Bestimmung bei Schritt S317 "0" wird. Wurden ID-Informationen bezüglich aller
Blätter
rundgesendet, dann geht der Prozess zu Schritt S318 über, um
die ID der Wurzel zu setzen.
-
Zu
diesem Zeitpunkt ist es lediglich die Wurzel, die keine Knoten-ID
erhielt. Bei Schritt S318 erhält
die Wurzel die kleinste Nummer, die keinem anderen Knoten bereitgestellt
wurde, als die Knoten-ID der Wurzel, und sendet bei Schritt S319
ID-Informationen bezüglich
der Wurzel rund.
-
Wie
vorstehend beschrieben, endet die Prozedur, bis die Knoten-IDs für alle Knoten
gesetzt wurden. Als Nächstes
ist nachstehend die Abfolge der Knoten-ID-Bestimmung unter Bezugnahme
auf das gemäß 9 gezeigte
Netzwerkbeispiel beschrieben.
-
In
dem Netzwerk gemäß 9 ist
ein Knoten B als eine Wurzel direkt mit dessen niedrigeren Knoten A
und C verbunden; ist der Knoten C direkt mit dessen niedrigerem
Knoten D verbunden; und ist der Knoten D direkt mit dessen niedrigeren
Knoten E und F verbunden. Die Prozedur des Bestimmens dieser hierarchischen
Struktur, des Wurzelknotens und der Knoten-IDs ist nachstehend beschrieben.
-
Nachdem
das Bus-Rücksetzen
auftrat, wird zum Erkennen von Verbindungszuständen der jeweiligen Knoten
eine Eltern-Kind-Beziehung zwischen Anschlüssen von direkt verbundenen
Knoten ausgewiesen. "Elternteil" bezieht sich auf
einen Knoten auf einer höhergelegenen
Ebene, und "Kind" bezieht sich auf
einen Knoten bei einer niedrigeren Ebene in der hierarchischen Struktur.
Gemäß 9 ist
der Knoten, der zuerst eine Eltern-Kind-Beziehung nach dem Bus-Rücksetzen
auswies, der Knoten A. Wie vorstehend beschrieben, können Knoten
(Blätter),
bei denen lediglich ein Anschluss verbunden ist, eine Ausweisung
der Eltern-Kind-Beziehung starten. Das heißt, falls die Anzahl von Anschlüssen "1" beträgt, wird erkannt, dass sich
der Knoten am Ende des Netzwerkbaums befindet, d.h. ein Blatt ist.
Die Ausweisung der Eltern-Kind-Beziehung
wird bei dem Blatt begonnen, das zuerst unter diesen Blättern Maßnahmen
ergriff. Somit wird ein Anschluss des Blattknotens als ein "Kind" gesetzt, während der
Anschluss eines anderen mit dem Blattknoten verbundenen Knotens als
ein "Elternteil" gesetzt wird. Auf
diese Weise wird eine "Eltern-Kind"-Beziehung sequenziell
zwischen den Knoten A und B, zwischen den Knoten E und D und zwischen
den Knoten F und D gesetzt.
-
Ferner
wird unter höher
gelegenen Knoten, die eine Vielzahl von Anschlüssen aufweisen, d.h. Ästen, eine
Eltern-Kind-Beziehung sequenziell hinsichtlich des (der) höhergelegenen
Knoten(s) von dem Knoten ausgewiesen, der zuerst eine Ausweisung
der Eltern-Kind-Beziehung von dem Blatt empfing. Gemäß 9 wird eine
erste Eltern-Kind-Beziehung zwischen den Knoten D und E und zwischen
den Knoten D und F bestimmt. Dann weist der Knoten D eine Eltern-Kind-Beziehung
hinsichtlich des Knotens C aus, und im Ergebnis wird eine Beziehung "Eltern-Kind" zwischen den Knoten
D und C gesetzt. Der Knoten C, der die Ausweisung der Eltern-Kind-Beziehung
von dem Knoten D empfing, weist eine Eltern-Kind-Beziehung hinsichtlich des Knotens D
aus, der mit dem anderen Anschluss verbunden ist, wodurch eine "Eltern-Kind"-Beziehung zwischen
den Knoten C und B gesetzt wird.
-
Auf
diese Weise wird die wie gemäß 9 gezeigte
hierarchische Struktur aufgebaut. Der Knoten B, der schließlich das
Elternteil aller Anschlüsse
wurde, wird als eine Wurzel bestimmt. Es sei darauf hingewiesen,
dass das Netzwerk lediglich eine Wurzel aufweist. In einem Fall,
in welchem der Knoten B, der eine Ausweisung der Eltern-Kind-Beziehung
von dem Knoten A empfing, unmittelbar eine Eltern-Kind-Beziehung
hinsichtlich eines anderen Knotens ausweist, kann der andere Knoten,
z.B. der Knoten C, der Wurzelknoten sein. Das heißt, jedweder
Knoten kann eine Wurzel sein, abhängig von einer Zeitgabe des Übertragens
der Ausweisung der Eltern-Kind-Beziehung, und ferner wird ein bestimmter
Knoten nicht immer eine Wurzel, selbst wenn ein Netzwerk denselben
Aufbau beibehält.
-
Wenn
die Wurzel bestimmt ist, dann wird die Abfolge des Bestimmens der
jeweiligen Knoten-IDs gestartet. Ein jeder Knoten weist eine Rundsendefunktion
zum Mitteilen seiner ID-Informationen zu allen anderen Knoten auf.
ID-Informationen
enthalten eine Knotennummer, Informationen bezüglich einer verbundenen Position,
die Anzahl von Anschlüssen,
die Anzahl von mit anderen Knoten verbundenen Anschlüssen, Information
bezüglich
einer Eltern-Kind-Beziehung
auf den jeweiligen Anschlüssen
und dergleichen.
-
Wie
vorstehend beschrieben, wird die Zuweisung der Knotennummern von
den Blättern
gestartet. In numerischer Reihenfolge wird die Knotennummer = 0,
1, 2, ... zugewie sen. Dann wird durch das Rundsenden der ID-Informationen
erkannt, dass die Knotennummer zugewiesen wurde.
-
Haben
alle Blätter
eine Knotennummer erhalten, dann werden den Ästen Knotennummern zugewiesen. Ähnlich der
Zuweisung der Knotennummer zu den Blättern werden ID-Informationen von
dem Ast rundgesendet, der eine Knotennummer empfing, und schließlich sendet
die Wurzel ihre ID-Informationen rund. Demgemäß weist die Wurzel immer die
größte Knotennummer
auf.
-
Somit
ist, wenn das ID-Setzen der gesamten hierarchischen Struktur vollendet
ist und das Netzwerk aufgebaut wurde, dann die Bus-Initialisierung
vollendet.
-
[Steuerinformationen zur
Knotenverwaltung]
-
Der
wie gemäß 3 gezeigte
CSR-Kern existiert in dem Register als eine Grundfunktion der CSR-Architektur
zur Knotenverwaltung. 26A zeigt
die Positionen und Funktionen der Register. Gemäß 26A ist
der Versatz eine relative Position von "0xFFFFF0000000".
-
In
der CSR-Architektur ist das Register für den Seriell-Bus von "0xFFFFF0000200" an angeordnet. 26B zeigt die Positionen und Funktionen der Register.
-
Ferner
sind Informationen bezüglich
Knotenressourcen des Seriell-Busses von "0xFFFFF0000800" an angeordnet. 26C zeigt
die Positionen und Funktionen der Register.
-
Die
CSR-Architektur weist einen Konfigurations-ROM zum Darstellen von
Funktionen der jeweiligen Knoten auf. Der Konfigurations-ROM weist
ein Minimalformat und ein allgemeines Format auf, die von "0xFFFFF0000400" an angeordnet sind.
Wie gemäß 26D gezeigt, zeigt der Minimalformat-Konfigurations-ROM
lediglich eine Anbieter-ID, die ein durch 24 Bits dargestellter
eindeutiger numerischer Wert ist.
-
Wie
gemäß 26E gezeigt, weist der Konfigurations-ROM von
allgemeinem Format Informationen bezüglich eines Knotens auf. In
diesem Fall ist die Anbieter-ID in diesem Format in einem "Wurzel Verzeichnis" enthalten. Ferner
enthalten "Bus Info
Block" und "Wurzel&Einheit Blätter" eindeutige Vorrichtungsnummern, die
die Anbieter-ID enthalten und durch 64 Bit dargestellt sind. Die
Vorrichtungsnummer wird nach einem Netzwerk-Wiederaufbau für den Bus-Rücksetzvorgang
verwendet, um die Erkennung des Knotens fortzusetzen.
-
[Seriell-Bus-Verwaltung]
-
Wie
gemäß 2 gezeigt,
umfasst das Protokoll des 1394-Seriell-Busses
eine physikalische Schicht 811, eine Anbindungsschicht 812 und
eine Vermittlungsschicht 814. Dies stellt als die Seriell-Bus-Verwaltung eine
Grundfunktion zur Knotenverwaltung und Bus-Ressourcen-Verwaltung auf der
Grundlage der CSR-Architektur bereit.
-
Lediglich
ein Knoten, der eine Bus-Verwaltung durchführt (nachstehend "Bus-Verwaltungsknoten" genannt), existiert
auf dem gleichen Bus und versieht die anderen Knoten auf dem seriellen
Bus mit einer Verwaltungsfunktion, die eine Zyklus-Master-Steuerung,
Leistungsoptimierung, Energiequellenverwaltung, Übertragungsgeschwindigkeitsverwaltung,
Aufbauverwaltung und dergleichen enthält.
-
Kurz
gesprochen ist die Bus-Verwaltungsfunktion in einen Bus-Verwalter,
einen Verwalter für
isochrone Ressourcen und eine Knotensteuerfunktion unterteilt. Die
Knotensteuerung ist eine Verwaltungsfunktion, die eine Kommunikation
unter den Knoten in der physikalischen Schicht 811, der
Anbindungsschicht 812, der Anbindungsschicht 812,
der Vermittlungsschicht 814 und einem Anwendungsprogramm
durch die CSR ermöglicht.
Der Verwalter für
isochrone Ressourcen, der eine Verwaltungsfunktion ist, der zur
Datenübermittlung
vom isochronen Typ auf dem Seriellbus erforderlich ist, verwaltet
eine Zuweisung der Übermittlungsbandbreite
und eine Kanalnummer an isochrone Daten. Für diese Verwaltung ist der
Bus-Verwaltungsknoten nach der Bus-Initialisierung dynamisch aus
Knoten ausgewählt,
die die isochrone Ressourcenverwalterfunktion aufweisen.
-
Ferner
führt in
einem Aufbau ohne einen Bus-Verwaltungsknoten auf dem Bus ein Knoten,
der die isochrone Ressourcenverwalterfunktion aufweist, einen Teil
der Bus-Verwaltung
durch, wie die Energiequellenverwaltung und die Zyklus-Master-Steuerung.
Ferner ist die Bus-Verwaltung
eine Verwaltungsfunktion als Dienst zum Bereitstellen einer Bus-Steuerschnittstelle
für ein
Anwendungsprogramm. Die Steuerschnittstelle verwendet eine Seriell-Bus-Steueranforderung
(SB_STEUER.Anforderung), eine Seriell-Bus-Ereignissteuerbestätigung (SB_STEUER.bestätigung)
und eine Seriell-Bus-Ereignisanzeige
(SB_EREIGNIS.anzeige).
-
Die
Seriell-Bus-Steueranforderung wird verwendet, wenn ein Anwendungsprogramm
von dem Bus-Verwaltungsknoten erfordert, ein Bus-Rücksetzen,
eine Bus-Initialisierung, eine Darstellung von Bus-Zustandsinformationen
und dergleichen durchzuführen.
Die Seriell-Bus-Ereignissteuerbestätigung ist das Ergebnis der
Seriell-Bus-Steueranforderung
und wird von dem Bus-Verwaltungsknoten zu der Anwendung zur Bestätigung mitgeteilt.
Die Seriell- Bus-Ereignissteuerbestätigung ist
als eine Mitteilung eines asynchron ausgelösten Ereignisses von dem Bus-Verwaltungsknoten
zu der Anwendung gestaltet.
-
[Datenübermittlungsprotokoll]
-
Die
Datenübermittlung
unter Verwendung des 1394-Seriell-Busses sendet simultan isochrone Daten (isochrones
Paket), die periodisch übermittelt
werden müssen,
und asynchrone Daten (asynchrones Paket), die bei einer beliebigen
Zeitgabe gesendet/empfangen werden können, und stellt ferner eine
Echtzeitübertragung
von isochronen Daten sicher. Bei der Datenübermittlung wird ein Busverwendungsrecht
vor einer Übermittlung
angefordert, und wird eine Bus-Entscheidung zum Erhalten einer Bus-Verwendungszulassung
durchgeführt.
-
Bei
der asynchronen Übermittlung
werden eine Übertragungsknoten-ID
und eine Empfangsknoten-ID mit den Übermittlungsdaten als Paketdaten
gesendet. Der Empfangsknoten bestätigt die Empfangsknoten-ID, d.h.
dessen Knoten-ID, empfängt
das Paket und gibt ein Kenntnisnahmesignal zu dem übertragenden
Knoten zurück.
Somit ist eine Vermittlung vollendet.
-
Bei
der isochronen Übermittlung
erfordert ein übertragender
Knoten einen isochronen Kanal mit einer Übertragungsgeschwindigkeit,
und eine Kanal-ID wird mit Übermittlungsdaten
als Paketdaten gesendet. Ein Empfangsknoten bestätigt eine gewünschte Kanal-ID
und empfängt
das Datenpaket. Die erforderliche Kanalnummer und Übertragungsgeschwindigkeit
werden durch die Anwendungsschicht 816 bestimmt.
-
Diese Übermittlungsprotokolle
sind durch die physikalische Schicht 811, die Anbindungsschicht 812 und
die Vermittlungsschicht 813 bestimmt. Die physikalische
Schicht 811 führt
eine physikalische und elektrische Schnittstellenbindung mit dem
Bus, eine automatische Erkennung der Knotenverbindung, eine Bus-Entscheidung
für ein
Bus-Verwendungsrecht unter Knoten und dergleichen durch. Die Anbindungsschicht 812 führt eine
Adressierung, Datenprüfung,
Paketübertragung/-empfang
und eine Zyklussteuerung für
eine isochrone Übermittlung
durch. Die Vermittlungsschicht 814 führt eine Verarbeitung durch,
die sich auf asynchrone Daten bezieht. Nachstehend sind die Verarbeitungen
in den jeweiligen Schichten beschrieben.
-
[Physikalische Schicht]
-
Die
Bus-Entscheidung in der physikalischen Schicht 811 ist
nachstehend beschrieben.
-
Der
1394-Seriell-Bus führt
immer eine Entscheidung des Bus-Verwendungsrechtes vor der Datenübermittlung
durch. Die mit dem 1394-Seriell-Bus verbundenen Vorrichtungen leiten
jeweils ein auf dem Netzwerk übermitteltes
Signal weiter, wodurch ein Netzwerk vom Typ logischer Bus aufgebaut
wird, das das Signal zu allen Vorrichtungen innerhalb des Netzwerks übermittelt.
Dies erfordert eine Bus-Entscheidung,
um einen Paketkonflikt zu vermeiden. Als Ergebnis der Bus-Entscheidung
kann ein Knoten Daten während
einer bestimmten Spanne übermitteln.
-
10A und 10B zeigen
Blockdarstellungen der Bus-Entscheidung. 10A zeigt
einen Vorgang zum Anfordern eines Bus-Verwendungsrechtes; und 10B einen Vorgang zum Zulassen eines Verwendens
des Busses.
-
Wird
die Bus-Entscheidung gestartet, dann fordert ein einzelner oder
eine Vielzahl von Knoten jeweils ein Bus-Verwendungsrecht zum Verwenden des Busses
von dessen oder deren Elternknoten an. Gemäß 10A fordern
die Knoten C und F ein Bus-Verwendungsrecht an. Der Elternknoten
(Knoten A gemäß 10A), der die Anforderung empfing, leitet die
Anforderung durch weiteres Anfordern eines Bus-Verwendungsrechtes
an dessen Elternknoten weiter. Die Anforderung wird zu einer Wurzel
(Knoten B gemäß 10A) weitergeleitet, die schließlich die
Entscheidung durchführt.
-
Die
Wurzel, die die Anforderung zum Bus-Verwendungsrecht empfing, bestimmt
einen Knoten, der mit dem Bus-Verwendungsrecht zu versehen ist.
Die Entscheidung kann lediglich durch die Wurzel durchgeführt werden.
Der Knoten, der in der Entscheidung dominiert, wird mit dem Bus-Verwendungsrecht
versehen. 10B zeigt, dass der Knoten
C das Bus-Verwendungsrecht erhielt und dass die Anforderung von
dem Knoten F zurückgewiesen
wurde.
-
Die
Wurzel sendet ein DP-(Daten-Präfix)-Paket
zu Knoten, die in der Bus-Entscheidung verloren haben, um mitzuteilen,
dass ihre Anforderungen zurückgewiesen
wurden. Die Anforderungen von jenen Knoten werden durch die nächste Bus-Entscheidung
gehalten.
-
Somit
beginnt der Knoten mit einer Datenübermittlung, der die Bus-Verwendungszulassung
erhielt.
-
Die
Abfolge der Bus-Entscheidung ist nachstehend unter Bezugnahme auf
das Ablaufdiagramm gemäß 11 beschrieben.
-
Um
die Datenübermittlung
durch einen Knoten zu starten, muss sich der Bus in einem untätigen Zustand
befinden. Um zu bestätigen,
dass eine Datenübermittlung
vollendet wurde und sich der Bus momentan in einem untätigen Zustand
befindet, erfasst jeder Knoten eine Lückenlänge der vorbestimmten Untätigkeitsspanne
(z.B. Unteraktionslücke),
die in jeder Übermittlungsbetriebsart
gesetzt ist, und bestimmt, ob sich der Bus momentan in einem untätigen Zustand
befindet, oder nicht, auf der Grundlage des Erfassungsergebnisses.
-
Bei
Schritt S401 bestimmt der Knoten, ob eine vorbestimmte Lückenlänge erfasst
wurde, oder nicht, die asynchronen Daten oder isochronen Daten entspricht,
die zu übermitteln
sind. Solange der Knoten die vorbestimmte Lückenlänge nicht erfasste, kann er
kein Bus-Verwendungsrecht zum Starten einer Datenübermittlung
anfordern, demgemäß wartet
der Knoten, bis die vorbestimmte Lückenlänge erfasst wurde.
-
Wurde
die vorbestimmte Lückenlänge bei
Schritt S401 erfasst, dann bestimmt der Knoten bei Schritt S402,
ob zu übermittelnde
Daten vorliegen, oder nicht. Falls JA, dann gibt er bei Schritt
S403 ein ein Bus-Verwendungsrecht anforderndes Signal zu der Wurzel
aus. Wie gemäß 10A gezeigt, wird dieses das Bus-Verwendungsrecht
anfordernde Signal durch jeweilige Vorrichtungen in dem Netzwerk
weitergeleitet und zu der Wurzel weitergeleitet. Wird bei Schritt 402 bestimmt,
dass keine zu übermittelnden
Daten vorliegen, dann kehrt der Prozess zu Schritt S401 zurück.
-
Empfing
bei Schritt S404 die Wurzel ein einzelnes oder eine Vielzahl von
Anforderungssignalen für
das Bus-Verwendungsrecht,
dann prüft
sie bei Schritt S405 die Anzahl von das Bus-Verwendungsrecht anfordernden
Knoten. Aus der Bestimmung des Schritts S405 wird, falls die Anzahl
der das Bus-Verwendungsrecht anfordernden Knoten eins beträgt, dieser
Knoten mit einer Bus-Verwendungszulassung unmittelbar nach der Anforderung
versehen. Beträgt
demgegenüber
die Anzahl der Knoten mehr als eins, dann wird eine Entscheidung
durchgeführt,
um einen Knoten zu bestimmen, der unmittelbar nach der Anforderung
mit dem Bus-Verwendungsrecht zu versehen ist. Die Entscheidung versieht
nicht immer den gleichen Knoten mit einem Bus-Verwendungsrecht,
sondern versieht die jeweiligen Knoten gleichmäßig mit einem Bus-Verwendungsrecht
(faire Entscheidung).
-
Die
Verarbeitung verzweigt sich bei der Wurzel bei Schritt S407 in eine
Verarbeitung für
den Knoten, der die Entscheidung bei Schritt S406 dominierte, und
eine Verarbeitung für
die anderen Knoten, die bei der Entscheidung verloren haben. In
einem Fall, in welchem ein Knoten vorliegt, der das Bus-Verwendungsrecht anforderte,
oder ein Knoten die Entscheidung dominierte, wird der Knoten bei
Schritt S408 mit einem Zulassungssignal versehen, das die Bus-Verwendungszulassung
anzeigt. Der Knoten startet eine Daten-(Paket-)-Übermittlung unmittelbar nachdem
er das Zulassungssignal empfängt
(Schritt S410). Demgegenüber empfangen
die Knoten, die bei der Entscheidung verloren haben, bei Schritt
S409 ein DP-(Daten-Präfix)-Paket,
das die Zurückweisung
der Bus-Verwendungsanforderung
anzeigt. Die Verarbeitung für
den Knoten, der das DP-Paket empfängt, kehrt zu Schritt S401
zurück,
um wieder ein Bus-Verwendungsrecht anzufordern. Ebenso kehrt die
Verarbeitung für
den Knoten, der bei Schritt S410 eine Datenübermittlung vollendete, zu Schritt
S401 zurück.
-
[Vermittlungsschicht]
-
Die
Vermittlungsschicht enthält
eine Lesevermittlung, eine Schreibvermittlung und eine Belegevermittlung.
-
Bei
einer Lesevermittlung liest ein Initiator (anfordernder Knoten)
Daten von einer spezifischen Adresse in den Speicher eines Ziels
(Antwortknoten). Bei einer Schreibvermittlung schreibt der Initiator
Daten in eine spezifische Adresse des Speichers des Ziels. Bei einer
Belegevermittlung übermittelt
der Initiator Referenzdaten und Aktualisierungsdaten zu dem Ziel.
Die Referenzdaten sind mit Daten der Adresse des Ziels in eine Ausweisungsadresse
kombiniert, um eine spezifische Adresse des Ziels zu spezifizieren.
Daten bei der Ausweisungsadresse werden durch die Aktualisierungsdaten
aktualisiert.
-
27A zeigt ein Anforderungs-Antwort-Protokoll mit
Lese-, Schreib- und Belegebefehlen auf der Grundlage der CSR-Architektur
in der Vermittlungsschicht. Gemäß 27A sind die Anforderung, Mitteilung, Antwort
und Bestätigung
Diensteinheiten in der Vermittlungsschicht 814.
-
Eine
Vermittlungsanforderung (TR_DATEN.anforderung) ist eine Paketübermittlung
zu einem Antwortknoten; die Vermittlungsanzeige (TR_DATEN.anzeige)
ist eine Mitteilung der Ankunft der Anforderung an den Antwortknoten;
eine Vermittlungsantwort (TR_DATEN.antwort) ist eine Übertragung
einer Zurkenntnisnahme; und eine Vermittlungsbestätigung (TR_DATEN.bestätigung)
ist ein Empfang einer Zurkenntnisnahme.
-
[Anbindungsschicht]
-
27B zeigt Dienste in der Anbindungsschicht 812.
Die Dienste sind in Diensteinheiten einer Anbindungsanforderung
(LK_DATEN.anforderung), um eine Paketübermittlung von dem Antwortknoten
anzufordern, eine Anbindungsanzeige (LK_DATEN.anzeige), die einen
Paketempfang bei dem Antwortknoten anzeigt, eine Anbindungsantwort
(LK_DATEN.antwort) als Zurkenntnisnahme, die von dem Antwortknoten übertragen
ist, eine Anbindungsbestätigung
(LK_DATEN.bestätigung)
als Bestätigung
der Zurkenntnisnahme, die von dem Antwortknoten gesendet ist. Ein
Paketübermittlungsprozess
wird als Unteraktion einschließlich
einer asynchronen Unteraktion und einer isochronen Unteraktion bezeichnet.
Nachstehend sind die jeweiligen Vorgänge der Unteraktionen beschrieben.
-
[Asynchrone Unteraktion]
-
Die
asynchrone Unteraktion ist eine asynchrone Datenübermittlung.
-
12 zeigt einen Übergang bei der asynchronen Übermittlung.
Gemäß 12 stellt die erste Unteraktionslücke den
untätigen
Zustand des Busses dar. Zu einem Zeitpunkt, bei dem die Untätigkeitszeit
ein vorbestimmter Wert wurde, fordert ein Knoten, der eine Datenübermittlung
durchzuführen
hat, ein Bus-Verwendungsrecht an, und dann wird eine Bus-Entscheidung
ausgeführt.
-
Wurde
die Verwendung des Busses durch die Entscheidung zugelassen, dann
werden Daten in Paketform übermittelt,
und ein Knoten, der die Daten empfängt, sendet einen Empfangs-zur-Kenntnisnahme-Code
ACK als eine Antwort oder sendet ein Antwortpaket nach einer kurzen
Lücke,
die ACK-Lücke
genannt wird, wodurch die Datenübermittlung
vollendet ist. Der Code ACK umfasst 4-Bit-Informationen und eine
4-Bit-Prüfsumme.
Der Code ACK, der Informationen enthält, die einen erfolgreichen,
belegten oder In-Bearbeitung-Zustand
anzeigen, wird unmittelbar zu dem Datensenderknoten gesendet.
-
13 zeigt ein Paketformat zur asynchronen Übermittlung.
Das Paket weist einen Datenbereich, einen Daten-CRC-Bereich zur Fehlerkorrektur und
einen Header-Bereich
auf, in welchem eine Zielknoten-ID, eine Quellknoten-ID, eine Übermittlungsdatenlänge und
verschiedene Codes geschrieben sind.
-
Die
asynchrone Übermittlung
ist eine Eins-zu-eins-Kommunikation
von einem Senderknoten zu einem Empfängerknoten. Ein von dem Sender
gesendetes Paket wird durch die jeweiligen Knoten in dem Netzwerk weitergeleitet,
da jedoch diese Knoten nicht als die Empfänger des Pakets ausgewiesen
sind, ignorieren diese das Paket, und lediglich der durch den Senderknoten
ausgewiesene Empfängerknoten
empfängt
dann das Paket.
-
[Geteilte Vermittlung]
-
Die
Dienste in der Vermittlungsschicht 814 werden als ein Satz
von Vermittlungsanforderung und Vermittlungsantwort durchgeführt, wie
gemäß 27A gezeigt. Werden die Verarbeitungen in der
Anbindungsschicht 812 und der Vermittlungsschicht 814 des
Ziels (Antwortknotens) bei hinreichend hoher Geschwindigkeit durchgeführt, dann
werden die Anforderung und die Antwort nicht als unabhängige Unteraktionen
durchgeführt,
sondern als eine Unteraktion in der Anbindungsschicht 812.
Ist jedoch die Verarbeitungsgeschwindigkeit des Ziels gering, dann
müssen
die Anforderung und die Antwort durch unabhängige Unteraktionen verarbeitet
werden. Dies wird geteilte Vermittlung genannt.
-
28A zeigt ein Vorgangsbeispiel der geteilten Vermittlung.
Gemäß 28A gibt ein Ziel ein "in Bearbeitung" als Antwort auf eine Schreibanforderung
von einer Steuereinrichtung als ein Initiator (anfordernder Knoten)
aus. Das Ziel gibt Bestätigungsinformationen
auf die Schreibanforderung von der Steuereinrichtung zurück, wodurch
sie Zeit zur Datenverarbeitung gewinnt. Ist eine hinreichende Spanne
für die
Datenverarbeitung abgelaufen, dann sendet das Ziel eine Schreibantwort
zu der Steuereinrichtung, wodurch sie die Schreibvermittlung vollendet.
Es sei darauf hingewiesen, dass ein anderer Knoten den Betrieb der
Anbindungsschicht 812 zwischen der Anforderungs- und Antwort-Unteraktion
durchführen
kann.
-
28B zeigt Übergangszustände der Übermittlung
in einem Fall der geteilten Vermittlung. Gemäß 28B stellt
eine Unteraktion 1 die Anforderungsunteraktion dar; und stellt eine
Unteraktion 2 die Antwortunteraktion dar.
-
In
der Unteraktion 1 sendet der Initiator ein Datenpaket, das die Schreibanforderung
anzeigt, zu dem Ziel, und das Ziel empfängt das Datenpaket, gibt ein "in Bearbeitung", das die Bestätigung der
vorstehend beschriebenen Informationen anzeigt, als ein Zur-Kenntnisnahme-Paket
zurück.
Dann ist die Anforderungsunteraktion vollendet.
-
Dann
sendet, wenn eine Unteraktionslücke
eingefügt
wurde, das Ziel eine Schreibanforderung als ein Datenpaket ohne
Daten in der Unteraktion 2. Der Initiator empfängt das Datenpaket, gibt eine "vollendet"-Antwort als ein
Zur- Kenntnisnahme-Paket
zurück.
Dann ist die Antwortunteraktion vollendet.
-
Es
sei darauf hingewiesen, dass die Spanne von der Vollendung der Unteraktion
1 zu dem Beginn der Unteraktion 2 auf eine Spanne minimiert werden
kann, die der Unteraktionslücke
entspricht, während
sie zu einer Spanne maximiert werden kann, die einer maximalen Wartespanne
entspricht, die in den Knoten gesetzt ist.
-
[Isochrone Unteraktion]
-
Eine
isochrone Übermittlung,
die als das bedeutsamste Merkmal des 1394-Seriell-Busses angesehen werden
kann, ist zu einer Multimedia-Datenübermittlung geeignet, die eine
Echtzeitübermittlung
insbesondere von AV-Daten erfordert.
-
Ferner
ist die asynchrone Übermittlung
eine Eins-zueins-Übermittlung,
wohingegen die isochrone Übermittlung
eine Rundsendungsübermittlung
von einem Senderknoten zu allen anderen Knoten ist.
-
14 zeigt einen Übergang bei der isochronen Übermittlung.
Die isochrone Übermittlung
ist auf dem Bus in einem vorbestimmten Zyklus ausgeführt, der "isochroner Zyklus" genannt ist. Die
Spanne des isochronen Zyklus beträgt 125 μs. Ein Zyklusstartpaket (CSP)
zeigt den Start des isochronen Zyklus zur Synchronisation der Vorgänge der
jeweiligen Knoten an. Wurde die Datenübermittlung in einen Zyklus
vollendet und lief eine vorbestimmte Untätigkeitsspanne (Unteraktionslücke) ab,
dann sendet ein Knoten, der "Zyklusmaster" genannt ist, das
den Start des nächsten
Zyklus anzeigende CSP. Das heißt,
dieses Intervall zwischen dem Absetzen der CSPs beträgt 125 μs.
-
Als
Kanal A, Kanal B und Kanal C gemäß 14 sind die jeweiligen Pakete mit einer Kanal-ID
versehen, so dass eine Mehrzahl von Paketarten unabhängig innerhalb
eines isochronen Zyklus übermittelt
werden kann. Dies ermöglicht
eine im Wesentlichen echtzeitige Übertragung unter der Mehrzahl
von Knoten. Der Empfängerknoten
kann lediglich Daten mit einer vorbestimmten Kanal-ID empfangen.
Die Kanal-ID zeigt nicht die Adresse des Empfangsknotens an, sondern
zeigt lediglich eine logische Nummer hinsichtlich der Daten an. Demgemäß wird ein
von einem Senderknoten gesendetes Paket zu allen anderen Knoten übermittelt,
d.h. rundgesendet.
-
Ähnlich der
asynchronen Übermittlung
wird eine Bus-Entscheidung vor dem Paketrundsenden bei der isochronen Übermittlung
durchgeführt.
Da jedoch die synchrone Übermittlung
keine Eins-zu-eins-Kommunikation wie die asynchrone Übermittlung
ist, wird der Empfang-zur-Kenntnisnahme-Code
ACK, der als eine Antwort bei der asynchronen Übermittlung verwendet ist,
bei der isochronen Übermittlung
nicht verwendet.
-
Ferner
stellt eine isochrone Lücke
(iso gap) gemäß 14 eine Untätigkeitsspanne
an, die zur Bestätigung
vor der isochronen Übermittlung
erforderlich ist, dass sich der Bus in einem untätigen Zustand befindet. Ist
die vorbestimmte Untätigkeitsspanne
abgelaufen, dann wird eine Bus-Entscheidung hinsichtlich des (der) Knoten(s)
durchgeführt,
die (der) eine isochrone Übermittlung
(wünscht)
wünschen.
-
15A zeigt ein Paketformat zur isochronen Übermittlung.
Verschiedene, in Kanäle
unterteilte Pakete, weisen jeweils ein Datenfeld, ein Daten-CRC-Feld
zur Fehler korrektur und ein Header-Feld auf, das Informationen,
wie eine Übermittlungsdatenlänge, eine
Kanal-Nr., verschiedene Codes und einen Fehlerkorrektur-Header-CRC
enthält,
wie gemäß 15B gezeigt.
-
[Bus-Zyklus]
-
In
der Praxis können
sowohl die isochrone Übermittlung
als auch die asynchrone Übermittlung
auf dem 1394-Seriell-Bus
gemischt durchgeführt
werden. 16 zeigt einen Übergang
bei der isochronen Übermittlung
und der asynchronen Übermittlung,
die auf dem 1394-Seriell-Bus gemischt durchgeführt sind.
-
Die
isochrone Übermittlung
wird aufgrund des CSP vor der asynchronen Übermittlung durchgeführt, wobei
die isochrone Übermittlung
mit einer Lücke
(isochronen Lücke)
begonnen werden kann, die kürzer
als die Untätigkeitsspanne
ist, die zum Starten der synchronen Übermittlung erforderlich ist.
Demgemäß weist
die isochrone Übermittlung
eine Priorität über die
asynchrone Übermittlung
auf.
-
In
dem gemäß 16 gezeigten typischen Bus-Zyklus wird beim Starten
des Zyklus #m ein CSP von dem Zyklusmaster zu den jeweiligen Knoten übermittelt.
Die Betriebe der jeweiligen Knoten sind durch dieses CSP synchronisiert,
und (ein) Knoten, der (die) für
eine vorbestimmte Untätigkeitslücke (isochrone
Lücke)
wartet (warten), um eine isochrone Übermittlung durchzuführen, nimmt
(nehmen) an der Bus-Entscheidung teil und startet (starten) dann
eine Paketübermittlung.
Gemäß 16 sind ein Kanal e, ein Kanal s und ein Kanal k
durch die isochrone Übermittlung übermittelt.
-
Der
Betrieb von der Bus-Entscheidung hin zu der Paketübermittlung
wird für
die gegebenen Kanäle wiederholt,
und ist die isochrone Übermittlung
in den Zyklus #m vollendet, dann kann die asynchrone Übermittlung
durchgeführt
werden. Das heißt,
hat die Untätigkeitsspanne
die Unteraktionslücke
für die
asynchrone Übermittlung
erreicht, dann nimmt (nehmen) (ein) Knoten, der (die) die asynchrone Übermittlung
durchzuführen
hat (haben), bei der Bus-Entscheidung teil. Es sei darauf hingewiesen,
dass lediglich wenn die Unteraktionslücke zum Starten der asynchronen Übermittlung
nach der Vollendung der isochronen Übermittlung und vor der nächsten Zeitgabe
zur Übermittlung
des CSP (Zyklus-sync) erfasst ist, dann die asynchrone Übermittlung
durchgeführt
werden kann.
-
In
dem Zyklus #m gemäß 16 wird die isochrone Übermittlung für drei Kanäle durchgeführt, und dann
werden zwei Pakete (Paket 1 und Paket 2), die eine ACK enthalten,
durch die asynchrone Übermittlung übermittelt.
Wurde das asynchrone Paket übermittelt,
wenn der nächste
Zyklus-Sync-Punkt zum Starten des nachfolgenden Zyklus m+1 kommt,
dann endet die Übermittlung
in dem Zyklus #m. Es sei darauf hingewiesen, dass während der
asynchronen oder isochronen Übermittlung,
falls der nächste
Zyklus-Sync-Punkt
zum Übermitteln
des nächsten
CSP gekommen ist, die Übermittlung
nicht gewaltsam angehalten, sondern fortgesetzt wird. Nachdem die Übermittlung
vollendet ist, wird ein CSP für
den nächsten
Zyklus nach einer vorbestimmten Untätigkeitsspanne übermittelt.
Das heißt,
wird ein isochroner Zyklus für
mehr als 125 μs
fortgesetzt, dann wird der nächste
isochrone Zyklus kürzer
als die Referenzspanne 125 μs.
Auf diese Weise kann der isochrone Zyklus auf der Grundlage der
Referenzspanne von 125 μs
verlängert
oder verkürzt
werden.
-
Es
kann jedoch dafür
gesorgt werden, dass die isochrone Übermittlung in jedem Zyklus
durchgeführt wird,
während
die asynchrone Übermittlung
manchmal bis zum nächsten
Zyklus oder dem Zyklus, der dem nächsten Zyklus weiter nachfolgt,
verzögert
werden, um eine Echtzeitübermittlung
aufrecht zu erhalten. Der Zyklusmaster verwaltet ebenso Informationen
bezüglich
einer derartigen Verzögerung.
-
[FCP]
-
In
einem AV/C-Protokoll ist ein Funktionssteuerprotokoll (FCP, "Function Control
Protocol") zum Steuern
von Vorrichtungen auf dem 1394-Seriell-Bus bereitgestellt. Zur Übertragung
von Steuerbefehlen und -antworten in dem FCP-Protokoll wird ein
durch die IEEE-1394-Standards definiertes asynchrones Paket verwendet.
In dem FCP-Protokoll
wird ein Knoten auf der Steuerseite eine Steuereinrichtung genannt
und wird ein Knoten auf der gesteuerten Seite ein Ziel genannt.
Ein von der Steuereinrichtung zu dem Ziel gesendeter FCP-Paketrahmen
wird AV/C-Befehlsrahmen genannt; ein von dem Ziel zu der Steuereinrichtung
zurückgegebener
FCP-Paketrahmen wird ein AV/C-Antwortrahmen genannt.
-
29 zeigt einen Fall, in welchem ein Knoten A eine
Steuereinrichtung ist und ein Knoten B ein Ziel ist. In der für die jeweiligen
Knoten bereitgestellten Registeradresse sind 512 Bits von "0x0000B00" einem Befehlsregister
zugewiesen; und sind 512 Bytes von "0x0000D00" einem Antwortregister zugewiesen. Daten werden
in ein Register einer ausgewiesenen Adresse durch einen Paketrahmen
unter Verwendung der asynchronen Übermittlung geschrieben. Die
Beziehung zwischen der Übertragung
des AV/C-Befehlsrahmens durch die Steuereinrichtung und der Antwort
mit dem AV/C-Antwortrahmen durch das Ziel wird AV/C-Vermittlung genannt.
In einer allgemeinen AV/C-Vermittlung muss ein Ziel, das einen Befehlsrahmen
empfing, einen Antwortrahmen innerhalb von 100 ms zu einer Steuereinrichtung
senden.
-
30 zeigt das Paketformat für die asynchrone Übermittlung
einschließlich
eines FCP-Paketrahmens. Ein Befehlsrahmen oder ein Antwortrahmen
wird in einem Datenbereich des asynchronen Datenpakets eingefügt, wie
gemäß 15A gezeigt, und die AV/C-Vermittlung wird durchgeführt.
-
31 zeigt die Struktur des AV/C-Befehlsrahmens. 32 zeigt die Struktur des AV/C-Antwortrahmens.
Der FCP-Paketrahmen
wird ein FCP-Datenabschnitt nach "ctyp", "Antwort", "Untereinheit typ" und "Untereinheit ID" in dem Header angeordnet.
-
"ctyp" zeigt einen Befehlstyp
in dem Befehlsrahmen mit einem Zustand "STEUERN", "STATUS", "ABFRAGE" oder "MITTEILEN" an.
-
"Antwort" zeigt einen Antwort-Code
in dem Antwortrahmen mit einem Status "AKZEPTIERT", "ZURÜCKGEWIESEN", "IM-ÜBERGANG", "IMPLEMENTIERT", "GEÄNDERT" oder "INTERMEDIÄR" an.
-
Ferner
gibt "Untereinheit
Typ" die Klassifikation
einer Vorrichtung an, und die "Untereinheit
ID" eine Instanznummer
an.
-
Der
FCP-Datenteil weist eine Struktur auf: Operationscode (opcode) +
Operand (oprand). Das Ziel wird gesteuert und die RV/C-Antwort wird
unter Verwendung verschiedener AV/C-Befehle durchgeführt.
-
Der
Operations-Code (opcode) in dem Befehlsrahmen ist wie gemäß 31 gezeigt, einer von Befehlen, wie gemäß 41 gezeigt. Die jeweiligen Befehle werden mit
Inhalten gemäß den Befehlsarten
durchgeführt,
die bei dem "ctyp" gesetzt sind.
-
Ein
Befehl, in welchem der "ctyp" den Zustand "Steuern" ausweist, ist. ein
Steuerbefehl, der zum Steuern der Ziel-Vorrichtung oder zum Setzen des Ziels
auf den Inhalt verwendet wird, der nach dem Operanden (oprand) gesetzt
ist. Ein Befehl, in welchem der "ctyp" den Zustand "Status" ausweist, wird zum
Erhalten eines Zustandes verwendet, der dem Befehl entspricht. Ein
Befehl, in welchem der "ctyp" den Zustand "ABFRAGE" aufweist, wird zur
Abfrage bezüglich
Inhalten verwendet, die durch den Befehl gesetzt werden können. Ein
Befehl, in welchem die "ctyp" den Zustand "MITTEILEN" ausweist, wird zum
Durchführen
einer Bestätigung
des Befehls verwendet.
-
In
jedem Befehl wird ein notwendiger Inhalt bei dem Operanden gesetzt,
und wird der Befehl in den Befehlsrahmen geschrieben.
-
In
dem Betriebscode des Antwortrahmens ist einer der Antwortcodes,
wie gemäß 41 gezeigt, gesetzt. Eine jede Antwort weist einen
Operanden auf, der der Antwort entspricht. Wenn Informationen, die
anzeigen, ob die Ausführung
des Befehls normal vollendet oder mit Fehler beendet wurde, bei
dem Operanden gesetzt sind, dann kann eine Fehlerverarbeitung gemäß dem Operanden
durchgeführt
werden.
-
[Kommunikation unter Verwendung
des LOGIN-Protokolls]
-
17 zeigt die Schnittstelle des 1394-Seriell-Busses
im Vergleich zu jeweiligen Schichten eines OSI-Modells, das oft
in einem LAN verwendet wird. In dem OSI-Modell entsprechen eine
physikalische Schicht 1 und eine Sicherungsschicht 2 jeweils
einer physikalischen Schicht 811 und einer Anbindungsschicht 812 (beide
gemäß 2 gezeigt)
in einer niedrigeren Schicht 4 der 1394-Seriell-Bus-Schnittstelle.
In der 1394-Seriell-Bus-Schnittstelle
entsprechen eine Transportprotokollschicht 5 und eine Darstellungsschicht 6 als
höhergelegene
Schichten einer höhergelegenen
Schicht 3 des OSI-Modells einschließlich einer Netzwerkschicht,
einer Transportschicht, einer Sitzungsschicht und einer Darstellungsschicht.
Ferner läuft
eine LOGIN-Protokoll 7 zwischen der niedrigeren Schicht 4 und
der Transportprotokollschicht 5 der 1394-Seriell-Bus-Schnittstelle.
-
In
Beispiel 1 gemäß 17 verwendet die Peripherievorrichtung durch Bereitstellen
des LOGIN-Protokolls 7 für eine Vorrichtung auf der
Grundlage eines Seriell-Bus-Protokolls
(SBP-2) 8 für
eine Peripherievorrichtung, wie einen Drucker, ein Protokoll auf
der Grundlage des Protokolls SBP-2 zum Mitteilen bezüglich einer
Datenübermittlung
mit der Ziel-Vorrichtung an eine Ziel-Vorrichtung. In Beispiel 2
können
die Vorrichtungen hinsichtlich eines Vorrichtungsprotokolls 9,
das auf die 1394-Seriell-Bus-Schnittstelle
spezialisiert ist, durch Bereitstellen des LOGIN-Protokolls 7 für die jeweiligen
Vorrichtungen miteinander bestimmen, ob die Ziel-Vorrichtung ihr
Protokoll unterstützt
oder nicht.
-
18 zeigt den Grundbetrieb des LOGIN-Protokolls.
Führt eine
Druckervorrichtung einen Druck-Task 10 von einer Host-Vorrichtung
aus, dann wählt
die Druckervorrichtung zuerst eines der Druckerprotokolle A bis
C zur Datenkommunikation auf der Grundlage einer Kommunikation durch
das LOGIN-Protokoll 7 aus. Danach führt die Druckervorrichtung
eine Druckdatenübermittlung
gemäß dem ausgewählten Druckerprotokoll
durch. Das heißt,
bei Verbindung zwischen der Druckervorrichtung, die eine Vielzahl
von Druckerprotokollen unterstützt,
und einer Host-Vorrichtung beurteilt die Druckervorrichtung zuerst
das Transportprotokoll 5 der Host-Vorrichtung auf der Grundlage
des LOGIN-Protokolls 7, wählt ein Druckerprotokoll aus, das
dem Transportprotokoll 5 der Host-Vorrichtung entspricht, und führt eine/n Übermittlung/Empfang
von Druckdaten oder Befehlen gemäß dem ausgewählten Druckerprotokoll
durch, wodurch sie die Druck-Task 10 durchführt.
-
19 zeigt einen Verbindungszustand in dem 1394-Seriell-Bus,
wobei die Vorrichtung (PC 12, Abtaster 13 und
VCR 14 usw.) anhand des LOGIN-Protokolls 7 mit
einem Drucker 11 verbunden sind, was einer Vielzahl von
Druckerprotokollen entspricht. Der Drucker 11 kann Druck-Tasks von den jeweiligen
Vorrichtungen durch Ändern
des Druckerprotokolls gemäß dem Transportprotokoll 5 einer
Vorrichtung verarbeiten, die eine Verbindung mit der Druckervorrichtung
anfordert.
-
20 zeigt den Ablauf des Log-in-Vorgangs.
- Bei
SCHRITT 1:
• Die
Host-Vorrichtung belegt eine Ziel-Vorrichtung (in diesem Fall einen
Mehr-Protokoll-Drucker).
• Die
Ziel-Vorrichtung prüft
die Fähigkeit
der Host-Vorrichtung
(einschließlich
des Transportprotokolls). Es sei darauf hingewiesen, dass die Fähigkeit
in einem Fähigkeitsregister 503 (das
nachstehend beschrieben ist) der Host-Vorrichtung gespeichert sind.
• Die Ziel-Vorrichtung
setzt die Fähigkeit
(einschließlich
des Transportprotokolls) der Host-Vorrichtung.
- Bei SCHRITT 2:
• Druckdaten
werden durch das bei dem SCHRITT 1 bestimmte Protokoll übermittelt.
- Bei SCHRITT 3.
• Die
Host-Vorrichtung führt
einen Verbindungsabbau bei der Verbindung mit der Ziel-Vorrichtung
durch.
-
21 zeigt ein Steuer-/Zustandsregister (CSR), das
durch einen Drucker als eine Ziel-Vorrichtung ausgebildet ist, so
dass das LOGIN-Protokoll installiert ist, und das ein Belegeregister 501,
ein Protokollregister 502 und das Fähigkeitsregister 503 enthält. Diese
Register sind in vorbestimmten Adressen in einem initialen Einheitsbereich
in dem Adressraum des 1394-Seriell-Busses bereitgestellt. Das heißt, wie
gemäß 3 gezeigt,
innerhalb des den Vorrichtungen bereitgestellten 48-Bit-Adressbereiches wird "0xFFFFF" in den ersten 20
Bits "Registerbereich" genannt, wobei ein
Register (CSR-Kern) als der Kern der CSR-Architektur in den ersten
512 Bytes angeordnet ist. Es sei darauf hingewiesen, dass Informationen,
die den über
den Bus verbundenen Vorrichtungen gemein sind, in diesem Registerbereich
bereitgestellt sind. Ferner wird "0-0xFFFFD" "Speicherbereich" genannt und wird "0xFFFFE" "privater Bereich" genannt. Der private Bereich ist eine
Adresse, die in der Vorrichtung frei für eine Kommunikation unter
den Vorrichtungen verwendet werden kann.
-
Das
Belegeregister 501 gibt einen belegten Zustand einer Ressource
mit einem Wert "0", der einen log-in-fähigen Zustand
anzeigt, und mit jedwedem anderem Wert außer "0" einen
bereits eingeloggten und belegten Zustand an. Das Fähigkeitsregister 503 gibt
ein Protokoll an, wobei ein jedes Bit ein Protokoll darstellt, wobei
ein Wert "1"-Bit angibt, dass ein entsprechendes
Protokoll gesetzt werden kann, während
ein Wert "0"-Bit angibt, dass
ein entsprechendes Protokoll nicht gesetzt werden kann. Das Protokollregister 502 gibt
ein momentan gesetztes Protokoll an. Das heißt, ein jedes Bit des Protokollregisters 502 entspricht
einem jeden Bit des Fähigkeitsregisters 503,
und der Wert eines Bits des dem gesetzten Protokolls entsprechenden
Protokollregisters 502 ist "1".
-
22 zeigt ein Ablaufdiagramm der LOGIN-Verarbeitung
in der Host-Vorrichtung.
-
Zum
Starten der LOGIN-Verarbeitung werden zuerst die Daten des Belegeregisters 501,
des Protokollregisters 502 und des Fähigkeitsregisters 503 einer
Ziel-Vorrichtung, z.B. eines Druckers, der einzuloggen ist, durch
eine Lesevermittlung geprüft.
Zu diesem Zeitpunkt wird aus den Daten des Fähigkeitsregisters 503 geprüft, ob die
Ziel-Vorrichtung
ein Protokoll unterstützt,
oder nicht, das durch die Host-Vorrichtung zur Kommunikation verwendet
ist (Schritt S601). Unterstützt
die Ziel-Vorrichtung das Protokoll der Host-Vorrichtung nicht, dann
ist die LOGIN-Verarbeitung bei Schritt S602 beendet.
-
Ist
der Datenwert des Belegeregisters 501 ferner nicht "0", dann wird bestimmt, dass sich eine
andere Vorrich tung in dem eingeloggten Zustand befindet, und die
LOGIN-Verarbeitung
wird beendet. Ist der Datenwert des Belegeregisters 501 "0", dann wird bestimmt, dass ein Log-
in momentan möglich
ist (Schritt S602).
-
Im
Fall des log-in-fähigen
Zustands geht der Prozess zu einer Ressourcen-Belegeverarbeitung über, wobei
der Login durch ein Schreiben von "1" in
das Belegeregister 501 des Druckers unter Verwendung einer Belegevermittlung
gesetzt wird (Schritt S603). Die Ziel-Vorrichtung wird in diesem
Zustand belegt, und sie ist von anderen Vorrichtungen nicht steuerbar,
und die Registerwerte können
nicht geändert
werden.
-
Wie
vorstehend beschrieben wird in dem Zustand, in welchem die Ressource
der Ziel-Vorrichtung belegt ist, ein Protokollsetzen als Nächstes durchgeführt. Wenn
der Drucker als eine Ziel-Vorrichtung des Ausführungsbeispiels eine Vielzahl
von Druckerprotokollen unterstützt,
dann muss der Drucker bezüglich
des Protokolls informiert werden, das durch die Host-Vorrichtung
verwendet werden kann, bevor er Druckdaten empfängt. In dem Ausführungsbeispiel
wird das zu verwendende Protokoll dem Drucker durch Setzen des entsprechenden
Bits des Protokollregisters 502 des Druckers durch eine
Schreibvermittlung mitgeteilt (Schritt S604).
-
Zu
diesem Zeitpunkt führt,
da das durch die Host-Vorrichtung
zur Kommunikation verwendete Protokoll der Ziel-Vorrichtung mitgeteilt
wurde und sich die Ziel-Vorrichtung
in dem belegten Zustand befindet, die Host-Vorrichtung, die momentan in der Ziel-Vorrichtung
eingeloggt ist, eine Datenübermittlung
(in diesem Fall Druckdaten) durch (Schritt S605).
-
Wenn
die Datenübermittlung
vollendet wurde, dann logt sich die Host-Vorrichtung aus dem Drucker durch
Löschen
des Belegeregisters 501 und des Fähigkeitsregisters 501 der
Ziel-Vorrichtung aus (Schritt S606).
-
23 zeigt ein Ablaufdiagramm der LOGIN-Verarbeitung
in dem Drucker als die Ziel-Vorrichtung.
-
Der
Drucker wartet im Allgemeinen auf ein Log-in von einer Host-Vorrichtung.
Wird eine Druckanforderung von einer Host-Vorrichtung durch Lesen
von Datenwerten aus dem Belegeregister 501, dem Protokollregister 502 und
dem Fähigkeitsregister 503 des
Druckers gestartet, dann müssen
sich die Register in einem lesefähigen
Zustand befinden. Diese Verarbeitung ist unter der Annahme beschrieben,
dass eine Host-Vorrichtung, die einen Ausdruck durchzuführen hat,
den Drucker belegt hat (Schritt S701).
-
Der
Drucker wartet auf eine Mitteilung bezüglich eines zur Verfügung stehenden
Protokolls von der Host-Vorrichtung (Schritt S702). Der Drucker
empfängt
die Mitteilung bezüglich
eines zur Verfügung
stehenden Protokolls in einem belegten Zustand, um das Protokollregister 502 durch
eine Anforderung einer anderen Vorrichtung inmitten der log-in-Verarbeitung
unverändert
beizubehalten.
-
Wurde
das zur Verfügung
stehende Protokoll zugewiesen (Schritt S703), dann schaltet der
Drucker sein eigenes Protokoll auf das mitgeteilte Protokoll (Schritte
S704, S706 und S708) und führt
eine Kommunikation gemäß dem Protokoll
der Host-Vorrichtung durch (Schritte S705, S707 und S709).
-
Wurde
die Kommunikation vollendet, dann bestätigt der Drucker, dass das
Belegeregister 501 und das Fähigkeitsregister 503 gelöscht wurden
(Schritt S710), und kehrt zu dem log-in-Wartezustand zurück (Schritt S701).
-
[Beispiel in Anbetracht
einer Vorrichtung ohne LOGIN-Protokoll]
-
24 zeigt eine beschreibende Ansicht eines Falles
in Anbetracht einer Vorrichtung ohne das LOGIN-Protokoll 7.
Verglichen mit dem ersten, wie gemäß 18 gezeigten
Beispiel ist dieses Beispiel bei einer Vorrichtung anwendbar, die
ein Protokoll D aufweist, in welchem das LOGIN-Protokoll 7 nicht
installiert ist. Das heißt,
um der Vorrichtung, die lediglich dem konventionellen Protokoll
D (z.B. AV/C-Protokoll) entspricht, sowie den das LOGIN-Protokoll 7 aufweisenden
Vorrichtungen einen Druckbetrieb zu versichern, weist die Druckerseite
das Protokoll D auf.
-
Erkennt
in diesem Falle der Drucker durch eine bei dem Beginn der Verbindung
durchgeführte Druckanforderung,
dass die Host-Vorrichtung nicht dem LOGIN-Protokoll 7 entspricht,
dann versucht der Drucker eine Kommunikation mit der Host-Vorrichtung
unter Verwendung des Protokolls D, und falls die Kommunikation eingerichtet
werden kann, führt
der Drucker die Druck-Task 10 gemäß dem Protokoll D aus.
-
25 zeigt die IEEE-1394-Seriell-Schnittstelle gemäß diesem
Beispiel im Vergleich zu dem OSI-Modell. Beispiel 3 verwendet als
ein Modell eine AV-Vorrichtung 15 auf der Grundlage des
AV/C-Protokolls. In der AV-Vorrichtung 15 ist
das LOGIN-Protokoll 7 nicht instal liert. Beispiel 4 verwendet
als ein Modell einen Abtaster 16, in welchem das LOGIN-Protokoll 7 nicht
installiert ist, aber ein Nicht-Standard-Protokoll für Abtaster
installiert ist.
-
Das
heißt,
in Anbetracht einer Vorrichtung, in welcher das LOGIN-Protokoll 7 nicht
installiert ist, kann der Drucker, falls der Drucker eine Kommunikation
unter Verwendung des Protokolls der Vorrichtung durchführen kann,
eine Druck-Task von der Vorrichtung ausführen. Dies erhöht die Arten
von Vorrichtungen, die den Drucker verwenden können.
-
[Direkte Drucksteuerung]
-
Nachstehend
sind Druckprozeduren in dem Drucker und der Bildbereitstellungsvorrichtung
beschrieben. In diesem Fall wird ein Direktdruckprotokoll (DPP, "Direct Print Protocol") als ein Protokoll
verwendet, um den Drucker und die Bildbereitstellungsvorrichtung
direkt zu verbinden und um den Drucker in die Lage zu versetzen,
ein Bild auf der Grundlage von von der Bildbereitstellungsvorrichtung
bereitgestellten Bilddaten zu erstellen.
-
Das
DPP-Protokoll umfasst grundlegend ein Befehlsregister (Befehl) zum
Schreiben eines Befehls in den initialen Einheitsbereich (der Einheitsbereich
gemäß 3),
ein Antwortregister (Antwort) zum Schreiben einer Antwort auf den
Befehl, ein Datenregister (Daten) zum Schreiben von Übermittlungsdaten
und ein Formatregister (Format) zum Verwalten von Formatinformationen,
die dem Datenformat entsprechen, für alle Übermittlungdaten.
-
33 zeigt ein Registerkennfeld, in welchem das
Befehlsregister und das Antwortregister die gleichen wie jene gemäß 29 Beschriebenen sind. In der nachstehenden Beschreibung
stellt die Bildbereitstellungsvorrichtung als eine Steuereinrichtung
dem Drucker als ein Ziel Bilddaten bereit, und ein Bild wird auf
der Grundlage der Bilddaten gedruckt.
-
Ein
Befehlsregister 42-1, das von einer festen Adresse "0xFFFFF0000B00" an auf der Druckerseite angeordnet
ist, weist einen 512-Byte-Speicherbereich auf, in welchen die Bildbereitstellungsvorrichtung
verschiedene Befehle für
den Drucker schreibt. Weist die Bildbereitstellungsvorrichtungsseite
ebenso ein Befehlsregister auf, dann kann der Drucker Befehle in
das Register schreiben. Der in das Befehlsregister geschriebene
Befehl wird Befehlsrahmen genannt.
-
Ein
Antwortregister 42-2, das von einer festen Adresse "0xFFFFF0000D00" an angeordnet ist,
weist einen 512-Byte-Speicherbereich
auf, in welchen eine Antwort hinsichtlich der verschiedenen Befehle
geschrieben wird, die von der Bildbereitstellungsvorrichtung zu
dem Drucker geschrieben sind. Weist die Druckerseite ebenso ein
Antwortregister auf, dann kann die Bildbereitstellungsvorrichtung
eine Antwort in das Register schreiben. Die in das Antwortregister 42-2 geschriebene
Antwort wird Antwortrahmen genannt. Es sei darauf hingewiesen, dass
gemäß 29 der höher
gelegene Adressenabschnitt "0xFFFF" ausgelassen ist.
-
Ein
Datenregister 42-3, das eine voreingestellte Adresse "FFFF0003000h" aufweist, ist bei
einer beliebigen effektiven Adresse durch Befehle "BlockAdresse" und "PufferKonfig" (Befehle zum Definieren
der Adresse des Datenregisters) gesetzt. Der Speicherbereich des
Datenregisters 42-3 ist mit einem Bereich gesetzt, der
durch Befehle "BlockGröße" und "PufferKonfig" (Befehle zum Definieren
des Speicherbereichs des Datenregisters) vorbestimmt ist. Das Datenregister 42-3 wird
zur Datenübermittlung
zwischen der Bildbereitstellungsvorrichtung und dem Drucker verwendet.
Beim Drucken schreibt die Bildbereitstellungsvorrichtung Druckdaten
für den
Drucker in dieses Register. Die Druckdaten basieren auf einem voreingestellten
Bildformat. Die in das Datenregister 42-3 geschriebenen Daten werden Datenrahmen
genannt.
-
Ein
Formatregister 42-2 ist ein Satz von Registern, die verschiedenen
nachstehend beschriebenen Datenformaten entsprechen. Die jeweiligen
Register sind zum Setzen von Formatinformationen verwendet, die für die jeweiligen
Datenformate erforderlich sind. Das heißt, das Formatregister 42-2 ist
zum Schreiben der Formatinformationen für den Drucker von der Bildbereitstellungsvorrichtung
verwendet. Die in das Formatregister 42-2 geschriebenen
Formatinformationen werden Formatrahmen genannt.
-
34 zeigt den Ablauf von Rahmen von der Bildbereitstellungsvorrichtung
zu dem Drucker, d.h. zeigt den Ablauf des Befehlsrahmens, des Antwortrahmens,
des Datenrahmens und des Formatrahmens. Der Drucker führt ein
Drucken gemäß den von
der Bildbereitstellungsvorrichtung ausgegebenen Rahmen durch.
-
Ein
von der Bildbereitstellungsvorrichtung zu dem Drucker gesendeter
Befehl wird als ein Befehlsrahmen in ein Befehlsregister 43-4 des
Druckers geschrieben. Der Befehl wird zum Drucken wie gemäß 41 gezeigt verwendet. Eine Antwort auf diesen
Befehl wird durch den Drucker in ein Antwortregister 43-2 der
Bildbereitstellungsvorrichtung geschrieben. Die Antwort enthält Informationen,
die angeben, ob der Befehl geeignet ausgeführt wurde, oder nicht, einen
Rückgabewert
auf den Befehl und dergleichen. Von der Bildbereitstellungsvorrichtung
zu dem Drucker gesendete Druckdaten werden in ein Datenregister 43-6 des
Druckers geschrieben. Von der Bildbereitstellungsvorrichtung zu
dem Drucker gesendete Formatinformationen werden als ein Formatrahmen
in ein Formatregister 43-7 des Druckers geschrieben.
-
35 zeigt den Aufbau des Formatregisters 43-7.
Das Formatregister 43-7 enthält ein Nur-Lese-Register AB-FRAGE 44-1 zur
Abfrage und ein Lese-/Schreibregister STEUERUNG/STATUS 42-2 zum
Setzen und zur Informationsgewinnung. Die Register ABFRAGE 44-1 und
STEUERUNG/STATUS 44-2 umfassen Registergruppen der gleichen
Struktur. Das heißt,
ABFRAGE 44-1 weist Register 44-3 bis 44-7 auf,
während
das STEUERUNG/STATUS 44-2 Register 44-9 bis 44-13 aufweist.
-
Die
Formatregistergruppe enthält
genauer gesagt die Register 44-3 und 44-4 (44-9 und 44-10),
die eine Drucker-gemeinsamen Registergruppe bilden, und die Register 44-5 bis 44-7 (44-11 bis 44-13),
die eine Druckerformatregistergruppe bilden.
-
Die
gemeinsame Registergruppe, die eine Gruppe von Registern ist, die
allen Datenformaten gemein ist, weist das Register GLOBAL 44-3 (44-9),
das allen Druckern gemein ist, und das Register LOKAL 44-4 (44-10)
auf, das für
jeden Drucker eindeutig ist.
-
Die
Druckerformatregistergruppe ist eine Gruppe von n Registern, die
für die
jeweiligen Datenformate eindeutig sind, d.h. das Register format[1] 44-5 (44-11)
bis zu dem Register format[n] 44-7 (44-13). Die
Register format[1] bis format[n] entsprechen Datenformaten, die nachstehend
beschrieben sind. Eines aus der Druckerformatregistergruppe wird
jedem installierten Datenformat zugewiesen.
-
Es
sei darauf hingewiesen, dass die Adresse eines jeden Formatregisters
der Bildberechnungsvorrichtung als eine Antwort auf einen Befehl
zum Setzen eines Datenformats bereitgestellt wird.
-
36 zeigt den ausführlichen Aufbau des Statusregisters
44-8 der
gemeinsamen Registergruppe. Das Statusregister
44-8 umfasst
ein 32-Bit-gemeinsam-Statusregister
45-1, das einen Status
hält, der
dem jeweiligen Anbieterdrucker gemein ist, und eine 32-Bit-Anbieterspezifisches
Statusregister
45-2, das einen Status hält, der durch jeden Anbieter
definiert ist. Ferner ist die Erweiterung des anbieterspezifischen
Statusregisters
45-2 wie
folgt durch eine v-Kennung (Anbieterstatus-Verfügbar-Kennung)
bei dem 31ten Bit des gemeinsamen Statusregisters
45-5 definiert:
v-Kennung: | "0" = nicht verfügbar |
| "1" = verfügbar |
-
Ferner
liegen in dem gemeinsamen Statusregister
45-1 gehaltene
Informationen wie folgt vor:
Fehler.Warnung: | Status
eines Fehlers, Warnung und dergleichen |
Papierzustand: | Status
bezüglich
eines Druckblattes |
Druckzustand: | Status
bezüglich
einer Drucksituation |
-
37 zeigt die Einzelheiten von Informationen, die
in dem Register GLOBAL 44-3 (44-9) der gemeinsamen
Registergruppe gehalten sind. Das Register GLOBAL 44-3 (44-9) hält Informationen,
die allen Druckern gemein sind, die das DPP (Direkt-Druck-Protokoll)
aufweisen, d.h. Informationen, die sich hinsichtlich des Druckertyps
nicht unterscheiden. 37 zeigt ein Beispiel der Informationen,
die eine Medienart 46-1, die die Art des Druckmediums anzeigt,
Papiergröße 46-2,
die eine Druckblattgröße anzeigt,
Seitenrand 46-3, die einen Seitenrandwert anzeigt, Papierlänge 46-4,
die eine Seitenlänge
angibt, Seitenversatz 46-5, die einen Seitenversatz angibt,
Druckeinheit 46-6, die Druckereinheitsinformationen anzeigen,
Farbart 46-7, die die Farbart des Druckers anzeigt, Bitreihenfolge 46-8,
die die Bitreihenfolge der Daten angibt, und dergleichen enthalten.
-
38 zeigt die Einzelheiten von Informationen, die
in dem Register LOKAL 44-4 (44-10) der gemeinsamen
Registergruppe gehalten sind. Das Register LOKAL 44-4 (44-10) hält Informationen,
die für
jeden der das DPP-Protokoll
aufweisenden Drucker eindeutig sind, d.h. Informationen, die sich
hinsichtlich des Druckertyps unterscheiden. 38 zeigt
ein Beispiel der Informationen, die Papier 47-1, das die
Art des Druckblattes eines Druckers anzeigt, CMS 47-2,
die ein Farbabgleichverfahren anzeigt, Tinte 47-3, die
eine Tintenart des Druckers anzeigt, z.B. einen Tintenstrahldrucker,
enthalten.
-
39 zeigt die Einzelheiten von Informationen, die
in dem Register format[1] 44-5 gehalten sind. Gemäß 39 werden Informationen bezüglich EXIF (Format für austauschbare
Bilddateien, "Exchangeable Image
File Format") als
ein Bilddatenformat gehalten. Die Informationen enthalten inX-Rate 48-1,
die die Rate einer Eingabe in X-Richtung anzeigt, inY-Rate 48-2,
die die Rate der Eingabe in Y-Richtung anzeigt, outX-Rate 48-3, die die Rate
der Ausgabe in X-Richtung anzeigt und outY-Rate 48-4, die
die Rate einer Ausgabe in Y-Richtung
anzeigt. In diesem Fall wird ein Drucken durch Vergrößern/Verringern
von gegebenen EXIF-Bilddaten in den XY-Richtungen gemäß den jeweiligen
Inhalten des Registers durchgeführt.
-
40 zeigt die Einzelheiten von Informationen, die
in dem Register format[2] 44-6 gehalten sind. Gemäß 40 sind Informationen bezüglich Roh-RGB als ein Bildformat
gehalten. Das Roh-RGB-Format weist eine Struktur zum Darstellen
eines jeden Pixels durch R-(rot)-, G-(grün) -und B-(blau)-Daten auf.
Die Informationen enthalten inX-Rate 49-1, die die Rate
einer Eingabe in X-Richtung anzeigt, inY-Rate 49-2, die
die Rate einer Eingabe in Y-Richtung anzeigt, outX-Rate 49-3,
die die Rate einer Ausgabe in X-Richtung anzeigt, outY-Rate 49-4,
die die Rate einer Ausgabe in Y-Richtung anzeigt, XY-Größe 49-5,
die eine feste Bildelementgröße in XY-Richtung anzeigt,
Bit-Bildelement 49-6, das die Anzahl von Bits pro Bildelement
anzeigt, X-Größe 49-7,
die die Anzahl von Bildelementen in der X-Richtung anzeigt, Y-Größe 49-8,
die die Anzahl von Bildelementen in der Y-Richtung anzeigt, Ebene 49-9,
die die Anzahl von Farbebenen anzeigt, X-Auflösung 49-10, die eine
Auflösung
in X-Richtung anzeigt, Y-Auflösung 49-11,
die eine Auflösung
in Y-Richtung anzeigt, Bildelementformat 49-12, das die Bildelementart anzeigt,
und dergleichen. In diesem Fall wird ein Drucken durch Vergrößern/Verringern
von gegebenen Roh-RGB-Formatbilddaten und/oder durch Ändern der
Auflösungen
in den XY-Richtungen gemäß den jeweiligen
Inhalten des Registers und ferner durch Verarbeitung der Bilddaten auf
der Grundlage von Bildgrößeninformationen
und dergleichen durchgeführt.
-
41 zeigt Befehle und Antworten auf die Befehle.
Die Befehle sind auf der Grundlage von mehreren Arten klassifiziert,
d.h. "Status"-Art-Befehle, die
sich auf den Status beziehen, "Steuerung"-Art-Befehle zur Druckersteuerung, "Block/Puffer"-Art-Befehle zum
Datenübermittlungssetzen, "Kanal"-Art-Befehle zum
Kanalsetzen, "Vermittlung"-Art-Befehle, die
sich auf ein Übermittlungsverfahren
beziehen, "Format"-Art-Befehle, die sich
auf ein Formatsetzen beziehen, "Login"-Art-Befehle, die
sich auf einen Log-in beziehen, "Daten"-Art-Befehle, die
sich auf eine Datenübermittlung
beziehen, und dergleichen. Es sei darauf hingewiesen, dass der Log-in, "Login"-Art-Befehle, wie
vorstehend beschrieben, und ein Befehl-Login, eine Antwort LoginAntwort,
ein Befehl Logout und eine Antwort LogoutAntwort, die nachstehend
beschrieben sind, nicht in Bezug zu dem vorstehend beschriebenen
LOGIN-Protokoll stehen.
-
Die "Status"-Art-Befehle enthalten
genauer gesagt einen Befehl StatusHolen zum Erhalten des Status eines
Druckers und dessen Antwort StatusHolenAntwort 50-1 und
dergleichen.
-
Die "Steuerung"-Art-Befehle enthalten
einen Befehl DruckRücksetzen
zum Rücksetzen
des Druckers und dessen Antwort DruckRücksetzenAntwort 50-2,
einen Befehl DruckStarten zum Anweisen zum Starten des Druckens
und dessen Antwort DruckStartenAntwort 50-3, einen Befehl
DruckAnhalten zum Anweisen zum Anhalten des Druckens und dessen
Antwort DruckenAnhaltenAntwort 50-4, einen Befehl PapierEinlegen
zum Anweisen zum Zuführen
eines Druckblattes und dessen Antwort PapierEinlegenAntwort 50-5,
einen Befehl PapierAuswerfen zum Anweisen zum Auswerfen eines Papierblattes
und dessen Antwort PapierAuswerfenAntwort 50-6, einen Befehl
KopierenStarten zum Anweisen zum Starten des Kopierens von Bilddaten
und dessen Antwort KopierenStartenAntwort 50-7, einen Befehl
KopierenAnhalten zum Anweisen zum Beenden des Kopierens von Bilddaten
und dessen Antwort KopierenAnhaltenAntwort 50-8, und dergleichen.
-
Die "Block/Puffer"-Art-Befehle enthalten
einen Befehl BlockGröße zum Ausweisen
einer Blockgröße und dessen
Antwort BlockGrößeAntwort 50-9,
einen Befehl BlockAdresse zum Ausweisen einer Blockadresse und dessen
Antwort BlockAdresseAntwort 50-10, einen Befehl BlockFreimachen
zum Erhalten der Anzahl von zur Verfügung stehenden Blöcken und
dessen Antwort BlockFreimachenAntwort 50-11, einen Befehl
BlöckeSchreiben
zum Anweisen zum Schreiben von Daten in Blöcke und dessen Antwort BlöckeSchreibenAntwort 50-12,
einen Befehl PufferKonfig zum Ausweisen von Pufferinformationen
und dessen Antwort PufferKonfigAntwort 50-13, einen Befehl
PufferSetzen zum Ausweisen zum Starten zum Erhalten von Daten aus
einem Puffer und dessen Antwort PufferSetzenAntwort 50-14,
und dergleichen.
-
Die "Kanal"-Art-Befehle enthalten
einen Befehl KanalÖffnen
zum Öffnen
eines Kanals und dessen Antwort KanalÖffnen-Antwort 50-15,
einen Befehl KanalSchließen
zum Schließen
des Kanals und dessen Antwort KanalSchließenAntwort 50-16,
und dergleichen.
-
Die "Vermittlung"-Art-Befehle enthalten
einen Befehl Vermittlungsverfahren zum Ausweisen eines Datenübermittlungsverfahrens
und dessen Antwort VermittlungsVerfahren-Antwort 50-17 und dergleichen.
-
Die "Format"-Art-Befehle enthalten
einen Befehl Format-Setzen
zum Setzen eines Formats und dessen Antwort FormatSetzenAntwort 50-18 und
dergleichen.
-
Die "Login"-Art-Befehle enthalten
einen Befehl Login zum Durchführen
eines Login und dessen Antwort LoginAntwort 50-19, einen
Befehl Lougout zum Durchführen
eines Logout und dessen Antwort LogoutAntwort 50-20, einen
Befehl Wiederverbinden zum Durchführen einer Wiederverbindung
und dessen Antwort WiederverbindenAntwort 50-21, und dergleichen.
-
Diese
Befehle werden in einen Befehlsrahmen geschrieben.
-
Ferner
enthalten die "Daten"-Art-Befehle Befehle
Block-Schreiben 50-22 und
Pufferschreiben 50-23 zum Schreiben von Daten, einen Befehl
Pufferpullen 50-24 zum Lesen von Daten, und dergleichen.
Diese Befehle werden hinsichtlich eines Datenrahmens geschrieben/gelesen,
und es existieren keine diesen Befehlen entsprechenden Antworten.
-
Die
Bildbereitstellungsvorrichtung setzt einen Wert, der jedem der verschiedenen
Befehle, wie gemäß 41 gezeigt, entspricht, bei dem Operationscode
(opcode) und schreibt den Befehl in das Befehlsregister 43-4 des
Druckers. Somit wird der Befehl durch den Drucker ausgeführt. Die
Antwort auf den Befehl weist den gleichen Wert wie jene des Befehls
auf. Der Drucker setzt die Antwort bei dem Operationscode des Antwortrahmens,
wie gemäß 32 gezeigt, und schreibt den Rahmen in das Antwortregister 43-2 der
Bildbereitstellungsvorrichtung. Durch die Antwort empfängt die
Bildbereitstellungsvorrichtung das Ergebnis der Ausführung des
Befehls.
-
42 zeigt die durch das DPP-Protokoll unterstützten Bilddatenformate.
Der Drucker muss Rohbilddaten von zumindest einem dieser Formate
unterstützen.
Ferner kann der Drucker eine Mehrzahl von anderen Formaten als optionale
Formate unterstützen.
-
43 zeigt den Ablauf der Formatsetzverarbeitung.
Zuerst sendet die Bildbereitstellungsvorrichtung bei Schritt S500
den Befehl FormatSetzen (ABFRAGEN) zu dem Drucker, und der Drucker
gibt bei Schritt S501 die FormatSetzenAntwort zurück. Die
Bildbereitstellungsvorrichtung erhält die Adresse des ABFRAGE-Registers
des Druckers durch die zurückgegebene
Antwort.
-
Als
Nächstes
sendet bei Schritt S502 die Bildbereitstellungsvorrichtung den Befehl
FormatSetzen (STEUERUNG/STATUS) zu dem Drucker, und der Drucker
gibt bei Schritt S503 die FormatSetzenAntwort zurück. Die
Bildbereitstellungsvorrichtung erhält die Adresse des STEUE-RUNG/STATUS-Registers
des Druckers durch die zurückgegebene
Antwort.
-
Die
Bildbereitstellungsvorrichtung liest bei Schritten S504-1 bis S504-m
das ABFRAGE-Register des Druckers und erhält das durch den Drucker unterstützte Format
und gesetzte Einzelheiten des Formats. Als Nächstes liest die Bildbereitstellungsvorrichtung
bei Schritten S505-1 bis S505-n das STATUS/STEUERUNG-Register des
Druckers, erhält
die gesetzten Werte des Formats und schreibt dann Daten in das STATUS/STEUERUNG-Register
des Druckers, und setzt somit das Format.
-
Die
Datenübermittlung
in dem DPP-Protokoll verwendet die nachstehenden zwei Pakete.
- – Steuerbefehlspaket
zur Flusssteuerung
- – Paket
zur Datenübertragung
-
In
dem Ausführungsbeispiel
sind die nachstehenden fünf
Arten von Datenübermittlungsverfahren
gemäß dem Unterschied
unter Datenübertragungsverfahren
und Flusssteuerungen verwendet. In jedwedem Verfahren basieren Steuerbefehle
für die
Flusssteuerung auf dem FCP-Protokoll. Die Steuerbefehle sind jedoch nicht
auf das FCP-Protokoll beschränkt.
- Übermittlungsverfahren
1: Antwort-Modell
- Übermittlungsverfahren
2: vereinfachtes Antwort-Modell
- Übermittlungsverfahren
3: Großer-Puffer-PUSH-Modell
- Übermittlungsverfahren
4: Puffer-PULL-Modell
- Übermittlungsverfahren
5: isochrones Modell
-
Bei
einer tatsächlichen Übermittlung
wird eines der vorstehenden Verfahren ausgewählt und in einer Prozedur gesetzt,
die der wie gemäß 43 gezeigten Formatsetzprozedur ähnlich ist.
Es sei darauf hingewiesen, dass wie gemäß 44 gezeigt,
der Befehl Vermittlungsverfahren und die Antwort VermittlungsVerfahrenAntwort
verwendet werden.
-
44 zeigt den Ablauf der Datenübermittlungsverfahren-Setzverarbeitung.
Die Bildbereitstellungsvorrichtung erhält ein momentan zur Verfügung stehendes
Datenübermittlungsverfahren
des Druckers durch den Befehl VermittlungsVerfahren und die Antwort
VermittlungsVerfahrenAntwort in dem Befehlstyp ABFRAGE (Schritte
S600-1 und S600-2), und erhält
und setzt ein Datenübermittlungsverfahren,
das momentan bei dem Drucker gesetzt ist, durch den Befehl VermittlungsVerfahren
und die Antwort Vermitt lungsVerfahrenAntwort des Befehl-Typs STEUERUNG/STATUS
(Schritte S600-3 und S600-4).
-
In
jedwedem der vorstehenden fünf
Arten von Übermittlungsverfahren
basieren die Steuerbefehle zur Flusssteuerung auf dem FCP-Protokoll
als ein Protokoll zum Steuern einer Vorrichtung auf dem 1394-Seriell-Bus.
Der Steuerungsübermittlungbefehl
durch das FCP-Protokoll wird immer durch eine asynchrone Schreibvermittlung
sowohl bei der Übertragung
als auch bei der Antwort durchgeführt.
-
45 zeigt ein Registerkennfeld von Registern, die
für das Übermittlungsverfahren
1 und das Übermittlungsverfahren
2 erforderlich sind, in einem Adressraum des 1394-Seriell-Busses. In
dem Ausführungsbeispiel
ist ein Knoten auf der Steuerungsseite die Bildbereitstellungsvorrichtung
(Steuereinrichtung in dem FCP-Protokoll) und ein Knoten auf der
gesteuerten Seite ist der Drucker (Ziel in dem FCP-Protokoll).
-
Sowohl
die Bildbereitstellungsvorrichtung als auch der Drucker weisen ein
Befehlsregister (601-1 und 601-7) mit einem Versatz
von 512 Bytes von "0x0B00" und ein Antwortregister
(601-2 und 601-8) mit einem Versatz von 512 Bytes
von "0x0D00" in dem Registerbereich
auf. Diese Register basieren auf dem FCP-Protokoll und den AV/C-Befehlen.
-
Die
Flusssteuerung wird durch Schreiben des Befehlsrahmens 601-4 bzw.
des Antwortrahmens 601-5 in das Befehlsregister (601-1 und 601-7)
bzw. das Antwortregister (601-2 und 601-8) gestaltet.
Ferner ist für eine
Druckdatenübermittlung
ein eigener Datenrahmen definiert. Das heißt, ein Datenregister (601-3 und 601-9)
für eine Blockgröße ist von
einem Versatz "0x3000" in dem Registerbereich
bereitgestellt, und Druckdaten werden durch Schreiben eines Datenrahmens 601-6 in
das Datenregister (601-3 und 601-9) übermittelt. Es
sei darauf hingewiesen, dass die Blockgröße beispielsweise 512 Bytes
beträgt.
-
46 zeigt einen Datenpaketrahmen, der einen Daten-Header 602-1,
eine Datennutzlast 602-2 und dergleichen umfasst.
-
47 zeigt die Struktur des Daten-Headers 602-1.
In dem Daten-Header 602-1 sind die oberen 8 Bits einem
Blockzählbereich 603-1 und
sind die niederen 8 Bits einem zur zukünftigen Verwendung reservierten
Bereich 603-2 zugewiesen. Der Blockzählbereich 603-1 wird
intern durch das Ziel (Drucker) zum Zählen der Anzahl von Blöcken verwendet,
die bei einer Blockübermittlung übermittelt
werden. Es sei darauf hingewiesen, da der Blockzählbereich 603-1 8
Bit aufweist und einen Wert von "0" bis "255" annimmt.
-
48 zeigt eine Datenpaketrahmenverarbeitung in
dem Drucker bei einer Blockübermittlung.
Ein durch den Drucker empfangenes Datenpaket wird zuerst in ein
Datenregister 604-1 des Druckers geschrieben. Der Drucker
weist Puffer (604-2 bis 604-5) der gleichen Größe wie jene
des Datenpakets auf. Das in das Datenregister 604-1 geschriebene
Datenpaket wird sequenziell zu diesem Puffer (602-2 bis 604-5)
bewegt. Es sei darauf hingewiesen, dass die Anzahl von Datenpuffern
vorzugsweise 255 – der
Maximalblockzählwert – beträgt, aber
sie kann ein Wert kleiner als 255 sein. Die jeweiligen Puffer entsprechen
den Blockzählwerten. Ein
Datenpaket wird, wenn der Blockzählwert "0" beträgt, in einem Puffer von Block[0] gespeichert;
und ein Datenpaket wird, wenn der Blockzählwert "1" beträgt, in einem
Puffer von Block[1] gespeichert. Der Daten-Header 602-1 wird
von den in den Puffern (604-2 bis 604-5) gespeicherten
Datenpaketen entfernt, und die Datenpakete werden in einem Speicherbereich 604-6 des
Druckers entwickelt.
-
[Übermittlungsverfahren 1]
-
Das Übermittlungsverfahren
1 als das Antwortmodell definiert einen Datenpaketrahmen zur Datenübertragung,
stellt ein Datenregister bereit, führt Flusssteuerung durch Steuerbefehle
durch, während
es Druckdaten durch eine Schreibvermittlung übermittelt.
-
49 zeigt Befehle und Antworten BlockFreimachen
in dem Übermittlungsverfahren
1. In dem Übermittlungsverfahren
1 verwendet die Bildbereitstellungsvorrichtung vor einer Datenübermittlung
die Befehle und Antworten BlockFreimachen zum Erhalten von Informationen,
die die Anzahl von zu übermittelnden
Datenpaketen anzeigen.
-
Die
Bildbereitstellungsvorrichtung übermittelt
den BlockFreimachen-Befehl durch eine Schreibvermittlung (Schritt
S605-1), und der Drucker gibt ein ACK-Paket zurück, das die Zurkenntnisnahme
der Vermittlung anzeigt (Schritt S605-2). Der Drucker gibt die B1ockFreimachenAntwort
zum Mitteilen eines BlockFreimachenZählers zurück (Schritt S605-3), welcher
die Anzahl von momentan zur Verfügung
stehenden Blöcken
ist, und die Bildbereitstellungsvorrichtung gibt ein ACK-Paket zurück, das
die Zurkenntnisnahme der Vermittlung anzeigt (Schritt S605-4).
-
50 zeigt die Datenflussübermittlung in dem Übermittlungsverfahren
1. Die Bildbereitstellungsvorrichtung logt sich in den Drucker durch
den Befehl und Antwort Login des DPP-Protokolls ein (Schritte S606-1 und
S606-2) und setzt ein für
eine Datenübermittlung
zu verwendendes Format unter Verwendung der vorstehend beschriebenen
Formatregistergruppe (Schritt S606-3). Danach öffnet die Bildbereitstellungsvorrichtung einen
logischen Kanal durch den Befehl und Antwort KanalÖffnen (Schritte
S606-4 und S606-5).
Als Nächstes wird
eine Datenübermittlung
begonnen, und Druckdaten werden in dem wie gemäß 46 gezeigten
Datenpaketformat übermittelt.
Ferner wird die Paketübermittlung
in Entsprechung mit der Anzahl von Blöcken auf die gleiche Weise
wie die Anzahl von Datenpuffern auf der Druckerseite, wie durch
Bezugszeichen 604-2 bis 604-5 gemäß 48 gezeigt, als ein Zyklus durchgeführt.
-
In
dem Übermittlungsverfahren
1 werden die Druckdaten wie nachstehend beschrieben übermittelt. Die
Bildbereitstellungsvorrichtung erhält den B1ockFreimachenZähler des
Druckers durch den Befehl und Antwort BlockFreimachen (Schritte
S606-6 und S606-7) und übermittelt
sequenziell Datenpakete der gleichen Anzahl, wie jene des BlockFreimachenZählers, durch
den Befehl Blockschreiben (Schritt S606-8). Es sei darauf hingewiesen,
dass der Befehl BlockSchreiben zum Übermitteln von Druckdatenpaketen
aus dem Datenregister 601-3 der Bildbereitstellungsvorrichtung
in das Datenregister 601-9 des Druckers verwendet wird.
Es sei darauf hingewiesen, dass keine dem Befehl BlockSchreiben
entsprechende Antwort vorliegt, und dass der Drucker ein ACK-Paket
zurückgibt,
um zu bestätigen,
dass die Datenpakete in dem Datenregister 601-9 gespeichert
worden sind.
-
Dann
wird die Blockübermittlung
durch Wiederholung der Paketübermittlung
mit den Befehlen BlockSchreiben der gleichen Anzahl wie jene des
BlockFreimachenZählers
und ACK-Paketen, die den Befehlen entsprechen, durchgeführt, bis
die gesamte Reihe von Druckdaten von der Bildbereitstellungsvorrichtung
ausgegeben worden ist, und zwischen den jeweiligen Blockübermittlungen
wird der BlockFreimachenZähler
des Druckers durch den Befehl und Antwort BlockFreimachen erhalten.
-
Ist
die Druckdatenübermittlung
vollendet, dann schließt
die Bildbereitstellungsvorrichtung den logischen Kanal durch den
Befehl und Antwort Kanalschließen
(Schritte S606-10 und S606-11) und logt sich von dem Drucker durch
den Befehl und Antwort Logout des DPP-Protokolls aus (Schritte S606-12
und S606-13).
-
[Übermittlungsverfahren 2]
-
Das Übermittlungsverfahren
2 als das vereinfachte Antwort-Modell führt eine Datenübermittlung
in der gleichen Prozedur wie jene des Übermittlungsverfahrens 1 mit
Ausnahme des Verfahrens zum Erhalten des BlockFreimachenZählers durch.
-
51 zeigt die Datenflussübermittlung in dem Übermittlungsverfahren
2. Die Bildbereitstellungsvorrichtung logt sich in den Drucker durch
den Befehl und Antwort Login des DPP-Protokolls ein (Schritte S607-1 und
S607-2) und setzt ein für
eine Datenübermittlung
zu verwendendes Format unter Verwendung der vorstehend beschriebenen
Formatregistergruppe (Schritt S607-3). Danach öffnet die Bildbereitstellungsvorrichtung einen
logischen Kanal durch den Befehl und Antwort KanalÖffnen (Schritte
S607-4 und S607-5).
Als Nächstes wird
eine Datenübermittlung gestartet,
und Druckdaten werden in dem wie gemäß 46 gezeigten
Datenpaketformat übermittelt.
Ferner wird die Paketübermittlung
in Entsprechung mit der Anzahl von Blöcken auf die gleiche Weise
wie die Anzahl von Datenpuffern auf der Druckerseite, wie durch
Bezugszeichen 604-2 bis 604-5 gemäß 48 gezeigt, als ein Zyklus durchgeführt.
-
In
dem Übermittlungsverfahren
2 werden die Druckdaten wie nachstehend beschrieben übermittelt. Die
Bildbereitstellungsvorrichtung erhält den BlockFreimachenZähler des
Druckers von dem Drucker durch den Befehl BlöckeSchreiben und Antwort BlöckeSchreibenAntwort
(Schritte S607-6 und S607-7). Es sei darauf hingewiesen, dass die
Antwort bei Schritt S607-7 vom Typ INTERMEDIÄR ist, um die Gewinnung des
BlockFreimachenZählers
lediglich durch die Antwort von der Druckerseite durchzuführen. Die
Bildbereitstellungsvorrichtung übermittelt
sequenziell Datenpakete der gleichen Anzahl wie der erhaltene BlockFreimachenZähler durch
den Befehl Blockschreiben (Schritt S607-8), und der Drucker gibt
das vorstehend beschriebene ACK-Paket zurück (607-9). Dann wird
eine Blockübermittlung
durch Wiederholung einer Paketübermittlung durch
die Befehle BlockSchreiben der gleichen Anzahl wie der BlockFreimachenZähler und
ACK-Pakete, die den Befehlen entsprechen, durchgeführt, bis
die gesamte Reihe von Druckdaten von der Bildbereitstellungsvorrichtung
ausgegeben worden ist. Es sei darauf hingewiesen, dass bei dem zweiten
Zyklus und den darauf folgenden Zyklen bei der Blockübermittlung
der BlockFreimachenZähler
der Bildbereitstellungsvorrichtung durch die BlöckeSchreibenAntwort von dem
Drucker am Ende eines jeden Blockübermittlungszyklus mitgeteilt wird
(Schritt S607-10). Die BlöckeSchreibenAntwort
ist vom FORTSETZEN-Typ, der zum Fortsetzen des Gewinnens des BlockFreimachenZählers lediglich
durch die Antwort von dem Drucker verwendet wird.
-
Ist
die Druckdatenübermittlung
vollendet, dann schließt
die Bildbereitstellungsvorrichtung den logischen Kanal durch den
Befehl und Antwort KanalSchließen
(Schritte S607-11 und S607-12) und logt sich von dem Drucker durch
den Befehl und Antwort Logout des DPP-Protokolls aus (Schritte S607-13
und S607-14).
-
[Verfahren zum Erhalten
von BlockFreimachenZähler]
-
Nachstehend
ist das Verfahren zum Erhalten von BlockFreimachenZähler, welches
der Unterschied zwischen dem Übermittlungsverfahren
1 und dem Übermittlungsverfahren
2 ist, ausführlich
beschrieben.
-
52 zeigt die Befehle und Antworten BlockFreimachen
in dem Übermittlungsverfahren
1 bei Schritten S606-6 und S606-7 ausführlich einschließlich der
ACK-Pakete der Schreibvermittlung, die gemäß 50 ausgelassen
sind. In diesem Fall führen
sowohl die Initiatorvorrichtung (Bildbereitstellungsvorrichtung)
als auch die Ziel-Vorrichtung
(Drucker) eine Verarbeitung der Anbindungsschicht und der Vermittlungsschicht
bei einer vergleichsweise geringen Geschwindigkeit durch.
-
Schreibt
die Bildbereitstellungsvorrichtung den Befehl BlockFreimachen durch
eine Schreibvermittlung in das Befehlsregister (Schritt S608-1),
dann wird das vorstehend beschriebene ACK-Paket, das "in Bearbeitung" anzeigt, von der
Anbindungsschicht des Druckers zurückgegeben (Schritt S608-2).
Als Nächstes sendet
die Bildbereitstellungsvorrichtung einen Befehl BlockFreimachen
ohne Daten (Schritt S608-3) und empfängt ein ACK-Paket, das "vollendet" anzeigt, von dem
Drucker (Schritt S608-4).
Somit endet eine Schreibvermittlung.
-
Als
Nächstes
gibt der Drucker die BlockFreimachenAntwort zurück. Ähnlich dem Befehl BlockFreimachen
bei Schritt S608-1 wird die BlockFreimachenAntwort als eine Antwort,
die den BlockFreimachenZähler enthält, in das
Antwortregister geschrieben (Schritt S608-5). Ein ACK-Paket, das "in Bearbeitung" anzeigt, wird von
der Anbindungsschicht der Bildbereitstellungsvorrichtung zurückgegeben
(Schritt S608-6). Dann sendet der Drucker die BlockFreimachenAntwort
ohne Daten (Schritt S608-7) und empfängt ein ACK-Paket, das "vollendet" anzeigt (Schritt S608-8). Somit endet
eine Schreibvermittlung.
-
Demgegenüber wird
bei dem Übermittlungsverfahren
2 lediglich die BlockFreimachenAntwort von dem Drucker verwendet,
um den BlockFreimachenZähler
bei dem zweiten und den nachfolgenden Zyklen der Druckdatenblockübermittlung
zu erhalten. Demgemäß wird der
BlockFreimachenZähler
lediglich bei dem Vorgang bei Schritten S608-5 bis S608-8 erhalten.
-
Die
Gewinnung des BlockFreimachenZählers
ist bei jedem Zyklus der Blockübermittlung
erforderlich. Demgemäß kann bei
dem Übermittlungsverfahren
2 die Anzahl von auf den Bus übermittelten
Paketen geringer als jene bei dem Übermittlungsverfahren 1 sein.
-
53 zeigt die Befehle BlockSchreiben in dem Übermittlungsverfahren
1 und dem Übermittlungsverfahren
2 ausführlich.
Da der Befehl BlockSchreiben keine Antwort erfordert, werden Befehle
in dieser Prozedur in der Reihenfolge des BlockSchreibens (Schritt
S609-1), eines ACK-Pakets, das "in
Bearbeitung" anzeigt (Schritt
S609- 2), des BlockSchreiben
ohne Daten (Schritt S609-3) und eines ACK-Pakets, das "vollendet" angibt (Schritt
S609-4), gesendet.
Die Länge
der Prozedur beträgt
die Hälfte
von jener in dem Fall, in welchem Befehle und Antworten übermittelt
werden. Dies führt
eine Datenübermittlung
bei einer vergleichsweise hohen Geschwindigkeit durch, selbst wenn
die Verarbeitung in der Anbindungsschicht und der Vermittlungsschicht bei
einer vergleichsweise geringen Geschwindigkeit durchgeführt werden.
-
54 zeigt den Befehl BlockSchreiben in dem Übermittlungsverfahren
1 und dem Übermittlungsverfahren
2 ausführlich
in einem Fall, in welchem die Verarbeitungen in der Anbindungsschicht
und der Vermittlungsschicht bei einer hinreichend hohen Geschwindigkeit
durchgeführt
werden. In diesem Fall werden Befehle in dieser Prozedur in der
Reihenfolge des BlockSchreiben (Schritt S610-1) und eines ACK-Pakets,
das "vollendet" anzeigt (Schritt
S610-2), gesendet. Dies führt
eine effizientere Datenübermittlung
durch.
-
55 zeigt den Fluss der BlockSchreiben-Fehlerverarbeitung
bei Auftreten eines Bus-Rücksetzens. In
diesem Fall tritt das Bus-Rücksetzen
nach einer Übermittlung
des n-ten (= 0 bis 255) Pakets bei einem Blockübermittlungszyklus auf. In
einer Schreibvermittlung wird ein Fehlschlagen der Datenpaketübermittlung durch
ein ACK-Paket angezeigt,
ein Fehler beim Bus-Rücksetzen
kann jedoch nicht erfasst werden. Dann wird in dem Ausführungsbeispiel
eine Fehlerverarbeitung in der nachstehenden Prozedur durchgeführt. Das
heißt, in
einem Fall, in welchem der BlockFreimachenZähler erhalten wird (Schritt
S611-1), wird dann der BlockSchreiben n-mal gesendet (Schritt S611-2
bis S611-6), falls ein Bus-Rücksetzen
zu diesem Zeitpunkt auftritt (Schritt S611-7), und dann die Bildbereitstellungsvorrichtung
wieder das Block-Schreiben[n]
unmittelbar vor dem Bus-Rücksetzen
sendet (Schritt S611-8) und danach die Verarbeitung fortsetzt (Schritt
S611-9 bis S611-14).
-
[Übermittlungsverfahren 3]
-
56 zeigt den Aufbau von Befehlsregistern, Antwortregistern
und Datenregistern der Bildbereitstellungsvorrichtung und des Druckers
in dem Großer-Puffer-PUSH-Modell.
-
Die
Befehle und Antworten zwischen der Bildbereitstellungsvorrichtung
und dem Drucker auf der Grundlage des FCP-Protokolls werden durch
einen Vorgang des Schreibens eines Befehlsrahmens 65-7 als Befehlsanforderungsdaten
von einem Befehlsregister 65-1 der Bildbereitstellungsvorrichtung
in ein Befehlsregister 65-4 des Druckers und durch einen
Vorgang des Schreibens eines Antwortrahmens 65-8 als Antwortdaten
von einem Antwortregister 65-5 des Druckers in ein Antwortregister 65-2 der
Bildbereitstellungsvorrichtung ausgeführt.
-
Ferner
wird im Unterschied zu dem FCP-Protokoll ein Datenrahmen 65-9 in
einem Ein-Richtungs-Vorgang des Schreibens von Bilddaten von einem
Datenregister von 60-3 der
Bildbereitstellungsvorrichtung in ein Datenregister 65-6 des
Druckers unter Verwendung einer Schreibvermittlung verwendet.
-
57 zeigt den Vorgangsfluss des PUSH-Puffermodells
zwischen der Bildbereitstellungsvorrichtung und dem Drucker.
-
Es
sei darauf hingewiesen, dass die Befehle Login, Logout, KanalÖffnen und
KanalSchließen
und ein Formatsetzen jenen in dem vorstehend beschriebenen Übermittlungsverfahren
1 ähnlich
sind, und deshalb eine ausführliche
Beschreibung der Befehle und des Formatsetzens ausgelassen ist.
-
Gemäß 57 fragt die Bildbereitstellungsvorrichtung bezüglich des
Pufferbereiches des Druckers durch den Befehl PufferKonfig ab, der "ABFRAGE" anzeigt (Schritt
S1701). Der Drucker gibt die Puffergröße und Pufferadresse durch
die PufferKonfigAntwort zurück
(Schritt S1702).
-
Als
Nächstes
setzt die Bildbereitstellungsvorrichtung die Puffergröße und die
Pufferadresse des Druckers, in welchen die Daten geschrieben sind,
durch den Befehl PufferKonfig, der "STEUERUNG" anzeigt (Schritt S1703). Der Drucker
gibt die PufferKonfigAntwort zurück,
die anzeigt, dass das Setzen vollendet worden ist (Schritt S1704).
-
Als
Nächstes
teilt die Bildbereitstellungsvorrichtung dem Drucker, dass eine
Datenübermittlung
zu starten ist, unter Verwendung des Befehls PufferSetzen, der "MITTEILEN" anzeigt, mit (Schritt
S1705). Der Drucker gibt die "INTERMEDIÄR"-PufferSetzenAntwort
zurück,
die anzeigt, dass der Drucker einstweilen bereit ist, die Daten
zu empfangen (Schritt S1706), um die Bildbereitstellungsvorrichtung
eine Datenübermittlung beginnen
zu lassen. Dann teilt der Drucker der Bildbereitstellungsvorrichtung,
dass die Datenübermittlung
zu dem initial gesetzten Pufferbereich vollendet worden ist, unter
Verwendung der PufferSetzenAntwort, die "FORTSETZEN" anzeigt, mit (Schritt S1709).
-
Der
Befehl PufferSchreiben bei Schritt S1707 zeigt ein Datenrahmenschreiben
durch die Bildbereitstellungsvorrichtung an. Bei diesem Vorgang
werden Daten sequenziell in die in den Drucker gesetzte Pufferadresse
geschrieben.
-
Eine
Antwort SchreibVermittlungAntwort bei Schritt S1708 zeigt ein Antwortpaket
bei isochroner Übermittlung
eines Datenrahmens an. Ist wie vorstehend beschrieben die Dateneingabegeschwindigkeit
des Druckers hinreichend hoch, dann kann die Verarbeitung unter
Verwendung einer Zurkenntnisnahme einer Schreibvermittlung vollendet
werden, erfordert die Dateneingabe jedoch Zeit, dann treten unabhängige Antworten
als eine unterteilte Vermittlung auf.
-
Schritt
S1710 zeigt eine Verarbeitung der Übermittlung einer Vielzahl
von Datenrahmen an. Das heißt, die
Daten werden durch eine Reihe von Vermittlungen zu einem Bereich übermittelt,
der die Puffergröße aufweist,
die unter Verwendung des Befehls PufferKonfig gesetzt ist. Das Datenübermittlungsverfahren,
das eine Reihe von Vermittlungen verwendet, wird "PUSH-Datenübermittlungsverfahren" oder abgekürzt "PUSH-Verfahren" genannt.
-
58 zeigt die Struktur eines Datenpaketes in dem
Datenrahmen. Da die Daten durch direktes Adressieren des Puffers
des Druckers geschrieben werden können, enthält ein Datenpaket 67-1 keinen
Header und dergleichen.
-
59 zeigt die Beziehung zwischen dem Datenregister
und dem Puffer des Druckers. In ein Datenregister 68-1 geschriebene
Daten werden direkt in die Adresse eines Speicherbereiches 68-2 des
Druckers geschrieben, der durch "PufferAdresse" ausgewiesen ist,
die durch einen Versatz "Ziel
Offset" bestimmt
ist. Da der Versatzwert bzw. Offsetwert um eine Datenlänge inkrementiert
wird, die durch "Daten
Länge" angezeigt ist, werden
die Daten durch wiederholtes Schreiben der Daten in die Reihe von
Pufferadressen kontinuierlich innerhalb des Bereiches geschrieben,
der durch "Puffergröße" angegeben ist.
-
[Übermittlungsverfahren 4]
-
60 zeigt den Aufbau der Befehlsregister, der Antwortregister
und der Datenregister der Bildbereitstellungsvorrichtung und des
Druckers in dem PULL-Puffermodell.
-
Die
Befehle und Antworten zwischen der Bildbereitstellungsvorrichtung
und dem Drucker werden auf der Grundlage des FCP-Protokolls durch
einen Vorgang des Schreibens eines Befehlsrahmens 69-7 als
Befehlsanforderungsdaten von einem Befehlsregister 69-1 der
Bildbereitstellungsvorrichtung in ein Befehlsregister 69-4 des
Druckers und durch einen Vorgang des Schreibens eines Antwortrahmens 69-8 als
Antwortdaten von einem Antwortregister 69-5 des Druckers
in ein Antwortregister 69-2 der Bildbereitstellungsvorrichtung ausgeführt.
-
Ferner
wird im Unterschied zu dem FCP-Protokoll ein Datenrahmen 69-9 in
einem Ein-Richtungs-Vorgang des Lesens von Bilddaten aus einem Datenregister 69-3 der
Bildbereitstellungsvorrichtung in ein Datenregister 69-6 des
Druckers unter Verwendung einer Lesevermittlung verwendet.
-
61 zeigt den Vorgangsfluss des PULL-Puffer-Modells
zwischen der Bildbereitstellungsvorrichtung und dem Dru cker. Es
sei darauf hingewiesen, dass die Befehle Login, Logout, KanalÖffnen und
KanalSchließen
und ein Formatsetzen jenen in dem vorstehend beschriebenen Übermittlungsverfahren
1 ähnlich
sind, und deshalb ist eine ausführliche
Beschreibung der Befehle und Antworten PufferKonfig und PufferSetzen
(Schritte S1711 bis S1714), welche die gleichen wie jene in den
vorstehend beschriebenen Übermittlungsverfahren 3 sind,
ausgelassen.
-
Gemäß 61 teilt die Bildbereitstellungsvorrichtung dem
Drucker, dass eine Datenübermittlung
gestartet werden kann, unter Verwendung des Befehls PufferSetzen,
der "MITTEILEN" anzeigt, mit (Schritt S1715).
Der Drucker gibt die "INTERMEDIÄR"-PufferSetzenAntwort
zurück,
die anzeigt, dass der Drucker einstweilen zum Empfangen von Daten
bereit ist (Schritt S1716) und lässt
die Bildbereitstellungsvorrichtung eine Datenübermittlung starten. Dann teilt
der Drucker der Bildbereitstellungsvorrichtung, dass eine Datenübermittlung
in dem initial gesetzten Pufferbereich vollendet worden ist, unter
Verwendung der PufferSetzenAntwort, die "FORTSETZEN" anzeigt, mit (Schritt S1719).
-
Der
Drucker fordert eine Lesevermittlung durch einen Befehl PufferPullAnforderung
an (Schritt S1717). Dann übermittelt
die Bildbereitstellungsvorrichtung Daten durch ein PufferPullAntwort-Paket
(Schritt S1718), wodurch Daten sequenziell in die in dem Drucker
gesetzte Pufferadresse geschrieben werden.
-
Schritt
S1720 zeigt eine Verarbeitung des Übermittelns einer Vielzahl
von Datenrahmen an. Das heißt, die
Daten werden durch eine Reihe von Lesevermittlungen in den Bereich übermittelt,
der die Puffergröße aufweist,
die unter Verwendung des Befehls PufferKonfig gesetzt ist.
-
Das
Datenübermittlungsverfahren,
das eine Reihe von Vermittlungen verwendet, wird "PUSH-Datenübermittlungsverfahren" oder abgekürzt "PUSH-Verfahren" genannt.
-
62 zeigt die Beziehung zwischen dem Datenregister
und dem Puffer der Bildbereitstellungsvorrichtung. Daten werden
aus einem Speicherbereich 72-2 der Bildbereitstellungsvorrichtung
gelesen, der durch "PufferAdresse" ausgewiesen ist,
die durch einen in dem Datenregister 71-1 gesetzten Versatz "Ziel Versatz" bestimmt ist. Da
der Versatzwert um eine Datenlänge
inkrementiert wird, die durch "Daten
Länge" angegeben ist, werden
die Daten durch wiederholtes Schreiben der Daten in die Reihe von
Pufferadressen kontinuierlich aus dem Bereich gelesen, der durch "PufferGröße" angegeben ist.
-
[Übermittlungsverfahren 5]
-
Bei
dem Übermittlungsverfahren
5 als das isochrone Modell wird die Druckdatenübermittlung unter Verwendung
der asynchronen Vermittlung in dem vorstehend beschriebenen Übermittlungsmodell
1 durch eine Druckdatenübermittlung
unter Verwendung einer isochronen Vermittlung ersetzt. Es sei darauf
hingewiesen, dass die Struktur eines Datenpakets die gleiche wie
jene gemäß 46 und 47 gezeigt
ist. Ferner ist die Datenpaketrahmenverarbeitung in dem Drucker
bei Blockübermittlung
die gleiche wie jene gemäß 48.
-
Es
sei darauf hingewiesen, dass gemäß dem Übermittlungsverfahren
eine Datenübermittlung
zu einem vorbestimmten Zeitpunkt unter Verwendung einer isochronen
Schreibvermittlung getätigt
werden kann.
-
Ferner
ist bei der Blockübermittlung,
falls ein Fehler bei unmittelbarem Übertragen von Druckdaten für eine Seite
auftritt, eine lange Zeit erforderlich, um die Druckdaten für eine Seite
wieder zu übermitteln.
Werden Druckdaten jedoch in feineren Blockeinheiten übermittelt,
z.B. Druckbandeinheiten eines Tintenstrahldruckers, dann kann eine
Druckdatenwiederübermittlung
aufgrund des Auftretens eines Fehlers effizient durchgeführt werden.
-
63 zeigt Befehlsregister und Antwortregister zur
Flusssteuerung. Die Bildbereitstellungsvorrichtung schreibt einen
Befehlsrahmen in ein Befehlsregister 75-3 des Druckers
durch eine asynchrone Schreibvermittlung. Der Drucker schreibt einen
Antwortrahmen auf den Befehl in ein Antwortregister 75-2 der
Bildbereitstellungsvorrichtung durch eine asynchrone Schreibvermittlung.
-
64 zeigt die Druckablaufverarbeitung. Zuerst sendet
die Bildbereitstellungsvorrichtung ähnlich dem vorstehend beschriebenen Übermittlungsverfahren
1 den Befehl Login zu dem Drucker (Schritt S507). Der Drucker gibt
die LoginAntwort zurück
(Schritt S508), wodurch eine Verbindung eingerichtet ist.
-
Als
Nächstes, ähnlich dem
vorstehend beschriebenen Übermittlungsverfahren
1, führt
die Bildbereitstellungsvorrichtung ein Formatsetzen durch (Schritt
S509) und sendet den Befehl KanalÖffnen zu dem Drucker (Schritt
S510). Der Drucker gibt die KanalÖffnenAntwort zurück (Schritt
S511), wodurch ein logischer Kanal geöffnet ist.
-
Dann
sendet die Bildbereitstellungsvorrichtung den Befehl BlockFreimachen
zu dem Drucker (Schritt S512). Der Drucker gibt die BlockFreimachenAntwort
zurück
(Schritt S513). Die BlockFreimachenAntwort enthält die Anzahl von BlockFreimachen
und Fehlerstatus. Die Anzahl von Block-Freimachen ist die Anzahl von Blockpuffern,
die in Blockeinheiten in dem Speicherbereich des Druckers sichergestellt
sind. Der Fehlerstatus wird verwendet, um der Bildbereitstellungsvorrichtung
Fehlerinformationen einer vorangegangenen Blockübermittlung mitzuteilen. Es
sei darauf hingewiesen, dass der Drucker immer "normal" als den Fehlerstatus auf den ersten
Befehl BlockFreimachen hin ausgibt, nachdem der logische Kanal geöffnet worden
ist.
-
Dann
führt die
Bildbereitstellungsvorrichtung eine Blockübermittlung von Druckdaten
durch eine isochrone Vermittlung durch (Schritt S514). Zu diesem
Zeitpunkt sendet die Bildbereitstellungsvorrichtung Datenpakete
der Anzahl, die dem BlockFreimachenZähler entspricht.
-
Als
Nächstes
sendet die Bildbereitstellungsvorrichtung den Befehl BlockFreimachen
zu dem Drucker (Schritt S515). Der Drucker gibt die BlockFreimachenAntwort
zurück
(Schritt S516). Gibt der Fehlerstatus der Antwort "anomal" an, d.h. trat ein
Fehler bei der vorangegangenen Blockübermittlung auf, dann sendet
die Bildbereitstellungsvorrichtung die bei Schritt S514 übermittelten
Daten wieder (Schritt S517). Danach wird die Verarbeitung bei Schritten
S515 bis S517 wiederholt, bis die Datenübermittlung vollendet worden
ist. Gibt ferner der Fehlerstatus "normal" an, dann sendet die Bildbereitstellungsvorrichtung
Datenpakete der Anzahl, die durch den BlockFreimachenZähler angegeben
ist, der in der BlockFreimachen-Antwort
enthalten ist (Schritt S517).
-
Es
sei darauf hingewiesen, dass der Drucker bestimmt, ob ein Fehler
auftrat, oder nicht, durch Bezugnahme auf den Blockzähler des
Headers in übermittelten
Daten (64).
-
Ist
ferner der BlockFreimachenZähler
größer als
die Anzahl von Blöcken
von zu übermittelnden
Daten, dann sendet die Bildbereitstellungsvorrichtung Dummy-Pakete
einer Anzahl, die den überschüssigen Blöcken entspricht.
-
Dann
wird eine Datenübermittlung
durch eine isochrone Vermittlung wiederholt, bis die gesamte Reihe von
Druckdaten von der Bildbereitstellungsvorrichtung ausgegeben worden
ist.
-
Wird
die Datenübermittlung
vollendet, dann schließt
die Bildbereitstellungsvorrichtung ähnlich dem vorstehend beschriebenen Übermittlungsverfahren
1 den logischen Kanal durch den Befehl und Antwort KanalSchließen (Schritte
S518a und S519) und logt sich von dem Drucker durch den Befehl und
Antwort Logout des DPP-Protokolls aus (Schritte S520 und S521).
-
Wie
vorstehend beschrieben, sind gemäß dem Ausführungsbeispiel
die Bildbereitstellungsvorrichtung und der Drucker direkt unter
Verwendung des 1394-Seriell-Busses oder dergleichen verbunden und
werden Bilddaten direkt von der Bildbereitstellungsvorrichtung zu
dem Drucker gesendet, so dass der Drucker ein Bild auf der Grundlage
der Bilddaten druckt.
-
Da
ferner Steuerbefehle und Druckdaten getrennt sind, stellt das Ausführungsbeispiel
effiziente Datenübermittlungsverfahren
in dem 1394-Seriell-Bus oder dergleichen bereit.
-
Das
Ausführungsbeispiel
stellt ferner ein Datenübermittlungsverfahren
bereit, das einen Übermittlungsfehler
in dem 1394-Seriell-Bus ausgleicht.
-
Das
Ausführungsbeispiel
stellt ferner ein Datenübermittlungsverfahren
bereit, in welchem eine Bestimmung, ob Daten in den Registerbereich
geschrieben werden können,
oder nicht, durch eine Mitteilung der Anzahl von zur Verfügung stehenden
Blöcken
eines Registerbereiches für
eine Datenübermittlung
nicht erforderlich ist, und der für die Bestimmung erforderliche
Overhead entfernt wird. Ferner stellt das Ausführungsbeispiel ein effizientes
Datenübermittlungsverfahren
bereit, da Daten für
die mitgeteilte Anzahl von zur Verfügung stehenden Blöcken übermittelt
und empfangen werden.
-
Ferner
kann gemäß dem Ausführungsbeispiel
ein Datenübermittlungsverfahren,
das für
eine Übermittlungsziel-Vorrichtung
geeignet ist, aus einer Vielzahl von Datenübermittlungsverfahren ausgewählt werden.
-
Ferner
stellt das Ausführungsbeispiel
ein Datenübermittlungsverfahren
bereit, das eine Herabminderung der Übermittlungseffizienz aufgrund
einer Befehlsübertragung
bei Datenübermittlung
von einer Host-Vorrichtung zu einer Ziel-Vorrichtung durch ledigliches
Verwenden eines Befehls, der ein Starten einer Datenübertragung
anweist, und einer Antwort auf den Befehl, d.h. Übertragen keines Befehls, nach
dem Start der Datenübermittlung,
vermeidet.
-
Ferner
stellt das Ausführungsbeispiel
ein Datenübermittlungsverfahren
auf der Grundlage des PUSH-Verfahrens oder PULL-Verfahrens bei einer
Datenübermittlung
zwischen einer Host-Vorrichtung und einer Ziel-Vorrichtung bereit.
-
Ferner
stellt das Ausführungsbeispiel
ein Datenübermittlungsverfahren
bereit, das eine isochrone Übermittlung
und eine asynchrone Übermittlung
in der gleichen Über mittlungsprozedur
bei einer Datenübermittlung
zwischen einer Host-Vorrichtung und einer Ziel-Vorrichtung durchführt.
-
Ferner
stellt das Ausführungsbeispiel
ein Datenübertragungsverfahren
bereit, in welchem bei Auftreten eines Übermittlungsfehlers bei einem
bestimmten Abschnitt von Daten bei einer isochronen Übermittlung eine
Wiederübermittlung
des Abschnittes von Daten, bei denen der Fehler auftrat, bei einer
Datenübermittlung zwischen
einer Host-Vorrichtung
und einer Ziel-Vorrichtung durchgeführt wird.
-
Ferner
stellt das Ausführungsbeispiel
ein Datenübermittlungsverfahren
bereit, das eine geeignete Datenübermittlung
durchführt,
selbst wenn ein Bus-Rücksetzen
bei einer Datenübermittlung
zwischen einer Host-Vorrichtung und einer Ziel-Vorrichtung auftritt.
-
Ferner
kann eine Peripherievorrichtung, wie ein Drucker, der die vorstehend
beschriebenen Datenübermittlungsverfahren
verwendet, bereitgestellt werden.
-
[Modifikation des ersten
Ausführungsbeispiels]
-
Es
sei darauf hingewiesen, dass das vorstehend beschriebene Ausführungsbeispiel
in einem Fall beschrieben ist, in welchem ein Netzwerk unter Verwendung
des IEEE-1394-Seriell-Busses
aufgebaut ist, die Erfindung ist jedoch nicht auf den 1394-Seriell-Bus
eingeschränkt.
Die Erfindung ist beispielsweise bei einem Netzwerk anwendbar, das
unter Verwendung einer beliebigen seriellen Schnittstelle aufgebaut
ist, wie einem universellen Seriell-Bus (USB).
-
In
dem vorstehend beschriebenen Ausführungsbeispiel werden Befehle
und Antworten auf Befehle auf der Grundlage des FCP-Protokolls verwendet
und werden Informationen bei der Antwort gesetzt und der Host-Vorrichtung
mitgeteilt. Es kann jedoch ein Verfahren des Abbildens eines Registers
auf einen Speicher als das charakteristische Merkmal des IEEE-1394-Speicher-Bus-Modells
in Betracht gezogen werden.
-
In
diesem Fall wird ein Befehl durch Schreiben von Befehlsdaten in
ein Befehlsregister ausgeführt,
das einer spezifischen Adresse des Speichers zugewiesen ist. Auf ähnliche
Weise wird eine Antwort durch Lesen von Daten bei einem Antwortregister
angezeigt, das einer spezifischen Adresse des Speichers zugewiesen
ist.
-
Erkennt
demgemäß die Ziel-Vorrichtung,
dass ein Befehl in ein Befehlsregister geschrieben worden ist, dann
führt die
Ziel-Vorrichtung den Befehl aus und schreibt das Ergebnis der Ausführung des
Befehls und Informationen in ein Antwortregister. Die Host-Vorrichtung,
die den Befehl in das Befehlsregister schrieb, liest das Antwortregister
der Ziel-Vorrichtung und erhält
das Ergebnis der Ausführung
des Befehls und Informationen.
-
Somit
kann die Erfindung unter Verwendung von Registern in dem Speicher-Bus-Modell
realisiert werden.
-
In
dem vorstehend beschriebenen Ausführungsbeispiel sind Beispiele
beschrieben, die eine Ziel-Vorrichtung als einen Drucker aufweisen.
Die Ziel-Vorrichtung der Erfindung ist jedoch nicht auf einen Drucker
beschränkt.
Das heißt,
eine beliebige Vorrichtung, die Bilddaten aufzeichnet, wie eine
Anzeigevorrichtung und eine Spei chervorrichtung, trifft auf die
Ziel-Vorrichtung der Erfindung zu.
-
Auf
diese Weise stellen das vorstehend beschriebene Ausführungsbeispiel
und die Modifikation ein/e Datenübertragungsvorrichtung,
-system und -verfahren und eine Bildverarbeitungsvorrichtung bereit,
die für
einen Fall geeignet sind, in welchem eine Host-Vorrichtung und eine
Ziel-Vorrichtung direkt unter Verwendung des 1394-Seriell-Busses oder
dergleichen verbunden sind, und die Host-Vorrichtung direkt Bilddaten
zu der Ziel-Vorrichtung sendet, so dass die Ziel-Vorrichtung die
Bilddaten verarbeitet.
-
Ferner
stellen das vorstehend beschriebene Ausführungsbeispiel und die Modifikation
ein/e Datenübertragungsvorrichtung,
-system und -verfahren und eine Bildverarbeitungsvorrichtung bereit,
die Steuerbefehle von Daten trennen und eine hohe Übermittlungseffizienz
erreichen.
-
Ferner
stellen das vorstehend beschriebene Ausführungsbeispiel und die Modifikation
ein/e Datenübertragungsvorrichtung,
-system und -verfahren und eine Bildverarbeitungsvorrichtung bereit,
die einen Overhead verringern, der zur Bestimmung erforderlich ist,
ob Daten in einen Datenübermittlungsbereich
geschrieben werden können,
oder nicht.
-
Ferner
stellen das vorstehend beschriebene Ausführungsbeispiel und die Modifikation
ein/e Datenübertragungsvorrichtung,
-system und -verfahren und eine Bildverarbeitungsvorrichtung bereit,
die Daten einer Menge übertragen/empfangen,
die der Anzahl von zur Verfügung
stehenden Blöcken
eines Datenübermittlungsbereiches
entspricht.
-
[Zweites Ausführungsbeispiel]
-
In
einem Fall, in welchem Bilddaten gemäß den IEEE-1394-Standards übermittelt
werden, ist die Richtung der Daten, die in dem Netzwerk fließen, nicht
auf eine Richtung beschränkt.
Das heißt,
die Beziehung zwischen der Vorrichtung, die Bilddaten bereitstellt,
und der Vorrichtung, die die bereitgestellten Bilddaten empfängt, kann
auf verschiedene Vorrichtungen angewendet werden, wie einen Host-Computer
und einen Drucker, eine digitale Kamera und einen Host-Computer
und einen Abtaster und einen Drucker.
-
Ferner
kann in den jeweiligen Fällen
des vorstehend beschriebenen Ausführungsbeispiels die Steuereinrichtung
der Flusssteuerung die Quellvorrichtungsseite sein, die Bilddaten
bereitstellt, und kann die Zielvorrichtungsseite sein, die die bereitgestellten
Bilddaten empfängt.
-
Als
Nächstes
ist nachstehend ein zweites Ausführungsbeispiel
als ein Beispiel beschrieben, in welchem sich die Steuereinrichtung
der Flusssteuerung ändert.
In diesem Beispiel übermittelt
ein Abtaster Daten zu einem Host-Computer.
Es sei darauf hingewiesen, dass die grundlegende Flusssteuerung
in dem vorstehend beschriebenen Übermittlungsverfahren
1 getätigt
wurde. Demgemäß führt der
Host-Computer eine Verarbeitung ähnlich
der Datenpaketrahmenverarbeitung in dem Drucker bei einer Blockübermittlung,
wie gemäß 48 gezeigt, durch. Ferner ist das zweite Ausführungsbeispiel
bei den vorstehend beschriebenen Übermittlungsverfahren 2 bis
5 anwendbar.
-
In
dem Ausführungsbeispiel
weist das Datenübermittlungssystem
für die
Bildübermittlung
die folgenden Funktionen auf:
- (1) Umkehrbefehl:
Ein Host-Computer logt sich in eine Bildbereitstellungsvorrichtung,
wie einen Abtaster und eine digitale Kamera ein, und ändert die
Steuereinrichtung der Flusssteuerung durch einen Umkehrbefehl. Im
Ergebnis öffnet
die Bildbereitstellungsvorrichtung einen Kanal und führt eine
Datenübermittlung durch.
- (2) Datenanforderungsbefehl: Der Host-Computer ist die Steuereinrichtung
der Flusssteuerung. Die Bildbereitstellungsvorrichtung übermittelt
Daten zu dem Host-Computer gemäß einem
Datenanforderungsbefehl.
- (3) Log-in vom Abtaster: Die Bildbereitstellungsvorrichtung
logt sich in den Host-Computer ein und führt eine Datenübermittlung
als die Steuereinrichtung der Flusssteuerung durch. Bevor die Bildbereitstellungsvorrichtung
Bilddaten sendet, teilt sie dem Host-Computer die Datenübermittlung
unter Verwendung eines Datenübertragungsbefehls
mit.
-
Nachstehend
sind die vorstehenden Funktionen jeweils ausführlich unter Bezugnahme auf
die Zeichnungen beschrieben. Es sei darauf hingewiesen, dass in
der nachstehenden Beschreibung eine Datenübermittlung zwischen einem
Host-Computer und
einem Abtaster durchgeführt
ist, die Erfindung ist jedoch nicht auf diesen Fall beschränkt, sondern
eine Datenübermittlung
kann z.B. zwischen einer Bildbereitstellungsvorrichtung anstelle
des Host-Computers und einer Bildbereitstellungsvorrichtung, wie
einem Abtaster, durchgeführt
werden.
-
Ferner
zeigt 65 Befehle und Antworten auf
die Befehle in dem zweiten Ausführungsbeispiel,
die jenen gemäß 41 entsprechen, mit Ausnahme eines "Block/Puffer"-Befehls BlockFreimachenMitteilen
und dessen Antwort BlockFreimachenMitteilenAntwort 50-25,
eines "Vermittlung"-Befehls Umkehren
und dessen Antwort UmkehrenAntwort 50-26 und eines "Vermittlung"-Befehls DatenGeben
und dessen Antwort DatenGebenAntwort 50-27, die den Befehlen
und Antworten gemäß 41 hinzugefügt
sind.
-
[Umkehrbefehl]
-
66 zeigt ein Beispiel, in welchem ein Host-Computer
sich in einen Abtaster einlogt und die Steuereinrichtung der Flusssteuerung
unter Verwendung des Umkehrbefehls ändert. Der Abtaster, der ein
Knoten der eingeloggten Seite ist, erteilt den KanalÖffnen-Befehl
zum Öffnen
eines Kanals und führt
eine Bilddatenübermittlung
als die Steuereinrichtung der Flusssteuerung durch.
-
Der
Host-Computer logt sich in den Abtaster durch den Login-Befehl des
Direktdruckerprotokolls (DPP) ein (Schritt S800-1). Der Abtaster
gibt eine Verbindungs-ID (VerbindungsID) in der Login-Antwort auf den
Befehl zurück
(Schritt S800-2). Die VerbindungsID wird durch den Abtaster zum
Verwalten der Verbindung zu dem Abtaster verwendet.
-
Als
Nächstes
sendet der Host-Computer den Umkehrbefehl zu dem Abtaster und empfängt ein
UmkehrenAntwort auf den Befehl (Schritte S800-3 und S800-4). Dies ändert die
Steuereinrichtung der Flusssteuerung und ermöglicht dem Abtaster, einen
Datenübermittlungskanal
zu öffnen
und Daten zu übermitteln.
-
Dann
wird eine Bilddatenübermittlung
in einer Prozedur durchgeführt
(Schritt S800-5 bis S800-10), die dem Übermittlungsverfahren, wie
gemäß 50 gezeigt, ähnlich
ist.
-
Wurde
die Bilddatenübermittlung
vollendet, dann sendet der Abtaster den KanalSchließen-Befehl
zu dem Host-Computer
und empfängt
die KanalSchließenAntwort
auf den Befehl, und schließt
somit den logischen Kanal (Schritte S800-11 und S800-12). Der Abtaster
sendet den Umkehrbefehl zu dem Host-Computer und empfängt die
UmkehrenAntwort auf den Befehl (Schritte S800-13 und S800-14). Dies ändert die
Steuereinrichtung der Flusssteuerung wieder. Der Host-Computer sendet
den DPP-Logout-Befehl zu dem Abtaster und empfängt die LogoutAntwort auf den
Befehl, und logt sich dann von dem Abtaster aus (Schritte S800-15 und
S800-16).
-
[Datenanforderungsbefehl]
-
67 zeigt ein Beispiel, in welchem der Abtaster
Daten zu dem Host-Computer gemäß einem
Datenanforderungsbefehl übermittelt,
der von dem Host-Computer als die Steuereinrichtung der Flusssteuerung erteilt
ist.
-
In
diesem Fall ändert
sich die Befehl-Antwort-Richtung nicht wie in dem vorstehend beschriebenen Fall
unter Verwendung des Umkehrbefehls. Der Unterschied zu dem Übermittlungsverfahren
1 besteht in der Richtung der Bilddatenübermittlung, und es ist eine
Einrichtung zur Bestimmung der Übermittlungsrichtung
bereitgestellt. Mittels dieser Einrichtung kann ein Knoten, der
sich in ein Ziel eingeloggt und einen logischen Kanal durch den
KanalÖff nen-Befehl
geöffnet
hat, der Empfänger
von Bilddaten sein.
-
Die
Prozedur vom Login hin zu dem Öffnen
des logischen Kanals (Schritte S801-1 bis S801-5) ist die gleiche
wie jene in dem Übermittlungsverfahren
1 wie gemäß 50 gezeigt. Wurde der logische Kanal geöffnet, dann
wird der Host-Computer der Empfänger
von Bilddaten durch den Datenanforderungsbefehl DatenAnfordern und
dessen Antwort DatenAnfordernAntwort (Schritte S801-6 und S801-7),
wodurch die Datenübermittlungsrichtung
bestimmt wird. Danach wird eine Bilddatenübermittlung wie folgt durchgeführt.
-
Der
Host-Computer teilt dem Abtaster die Anzahl von zur Verfügung stehenden
Blöcken
(BlockFreimachenZähler)
durch den BlockFreimachenMitteilen-Befehl mit (Schritt S801-8), und der Abtaster
teilt dem Host-Computer die Größe der verbleibenden
Bilddaten (VerbleibendeDatenGröße) in der
BlockFreimachenMitteilenAntwort auf den Befehl mit (Schritt S801-9).
Wenn der BlockFreimachenZähler
des Host-Computers dem Abtaster mitgeteilt ist, dann sendet der
Abtaster Datenpakete von einer Anzahl, die dem mitgeteilten BlockFreimachenZähler entspricht,
zu dem Host-Computer (Schritt S801-10).
-
Auf
diese Weise wird die Blockübermittlung
durch Wiederholung einer Übermittlung
von Datenpaketen der Anzahl durchgeführt, die dem BlockFreimachenZähler entspricht,
bis die gesamte Reihe von Bilddaten von dem Abtaster übermittelt
worden ist, und zwischen jeweiligen Blockübermittlungen wird der BlockFreimachenZähler des
Host-Computers durch das BlockFreimachenMitteilen und die BlockFreimachenMitteilenAntwort erhalten.
Wurde die gesamte Reihe von Bilddaten übermittelt, dann zeigt die erste
BlockFreimachenMitteilenAntwort an, dass die Datengröße des verbleibenden
Bildes null beträgt
(S801-12) und demgemäß erhält der Host-Computer
Zeit, um den logischen Kanal zu schließen.
-
Die
Prozedur nach der Vollendung der Bilddatenübermittlung ist die gleiche
wie jene in dem Übermittlungsverfahren
1, wie gemäß 50 gezeigt. Der Host-Computer schließt den logischen
Kanal durch den KanalSchließen-Befehl und die KanalSchließenAntwort
(Schritte S801-13 und S801-14) und logt sich von dem Abtaster durch
den DPP-Logout-Befehl und die Logout-Antwort aus (Schritte S801-15
und S801-16).
-
[Login vom Abtaster]
-
68 zeigt eine Prozedur in einem Fall, in welchem
sich der Abtaster in den Host-Computer einlogt und eine Datenübermittlung
als die Steuereinrichtung der Flusssteuerung durchführt.
-
In
diesem Fall ist der Fluss der Bilddatenübermittlung fast der gleiche
wie jener in dem Übermittlungsverfahren
1. Der Unterschied zu dem Übermittlungsverfahren
1 besteht darin, dass bevor der Abtaster die Bilddaten sendet, der
Abtaster dem Host-Computer durch den Datenübertragungsbefehl (DatenGeben)
mitteilt, dass die Bildübermittlung
zu starten ist (Schritt S802-1) und der Host-Computer die DatenGebenAntwort
zu dem Befehl zurückgibt
(Schritt S802-2).
-
Auf
diese Weise erreicht das zweite Ausführungsbeispiel Vorteile, die
jenen des ersten Ausführungsbeispiels
und dessen Modifikation ähnlich
sind, und ermöglicht
einer Vorrichtung ferner, die eine bidirektionale Datenüber mittlungsfunktion
aufweist, d.h. einer Vorrichtung, die eine Funktion zum Empfangen
von Daten und eine Funktion zum Bereitstellen von Daten, aufweist,
eine Datenübermittlung
in einer gewünschten
Richtung durchzuführen.
-
Die
Erfindung kann bei einem System angewendet werden, das durch eine
Vielzahl von Vorrichtungen (z.B. Host-Computer, Schnittstelle, Leseeinrichtung,
Drucker) aufgebaut ist, oder bei einer Vorrichtung, die ein einzelnes
Gerät (z.B.
Kopiermaschine, Faksimile) umfasst.
-
Ferner
kann die Aufgabe der Erfindung ebenso durch Bereitstellen eines
Speichermediums, das Programmcodes zum Durchführen der vorstehend beschriebenen
Prozesse speichert, für
ein System oder eine Vorrichtung, Durch Lesen der Programmcodes
mit einem Computer (z.B. CPU, MPU) des Systems oder der Vorrichtung
von dem Speichermedium, und dann durch Ausführen des Programms gelöst werden.
-
In
diesem Fall realisieren die aus dem Speichermedium gelesenen Programmcodes
die Funktionen gemäß den Ausführungsbeispielen,
und das die Programmcodes speichernde Speichermedium bildet die
Erfindung.
-
Ferner
kann das Speichermedium, wie eine Diskette, eine Festplatte, eine
optische Platte, eine magnetooptische Platte, eine CD-ROM, eine
CD-R, ein Magnetband, eine Speicherkarte vom Typ nicht-flüchtig und ein
ROM zum Bereitstellen der Programmcodes verwendet werden.
-
Außerdem enthält die Erfindung
neben der Tatsache, dass die vorstehend beschriebenen Funktionen gemäß den vorstehend
beschriebenen Ausführungsbeispielen
durch Ausführen
der Programmcodes, die durch einen Computer gelesen sind, realisiert
werden, einen Fall, in welchem ein BS (Betriebssystem) oder dergleichen,
das auf dem Computer läuft,
einen Teil oder die Gesamtheit von Prozessen gemäß Ausweisungen der Programmcodes
durchführt
und Funktionen gemäß den vorstehend
beschriebenen Ausführungsbeispielen
realisiert.
-
Außerdem enthält die Erfindung
ebenso einen Fall, in welchem, nachdem die von dem Speichermedium
gelesenen Programmcodes in eine Funktionserweiterungskarte, die
in den Computer eingefügt
wird, oder in einen Speicher geschrieben sind, der in einer Funktionserweiterungseinheit
bereitgestellt ist, die mit dem Computer, der CPU oder dergleichen,
die in der Funktionserweiterungskarte oder – einheit enthalten sind, geschrieben
ist, einen Teil oder die Gesamtheit des Prozesses gemäß Ausweisungen
der Programmcodes durchführt
und Funktionen der vorstehend beschriebenen Ausführungsbeispiele realisiert.