-
Die
vorliegende Erfindung bezieht sich allgemein auf das Übertragen
von Daten unter Verwendung von Kommunikationsprotokollen und insbesondere
auf ein Hochgeschwindigkeits-Bildkommunikationsprotokoll,
das einen IEEE-1394-Bus verwendet.
-
Ein
IEEE-1394-Standard, der in der Technik auch als Firewire bekannt
ist, beschreibt einen seriellen Hochgeschwindigkeitsbus, der einen 64-Bit-Adressraum
umfasst. Der 1394-Bus ist eine gemeinschaftlich verwendete Speicherarchitektur, kein
Netzwerk oder I/O-Kanal.
-
Die
64-Bit-Adresse ist für
eine Knoten-ID, z. B. eine Knotennummer und Busnummer, in 16 Bits und
für einen
Speicherplatz und Befehls- und Statusregister (CSR) in 48 Bits unterteilt.
Die CSR ermöglichen
Lese-/Schreib/Värriegelungs-Operationen,
die für
asynchrone Datenkommunikation verwendet werden, die mit dem ISO
13213/IEEE 1212 CSR-Standard übereinstimmt.
-
Eine
asynchrone Kommunikation ist nicht bezüglich der Zeit garantiert,
d. h. der Benutzer kann nicht bestimmen, wann die Daten übertragen
werden.
-
Zusätzlich zu
der asynchronen Kommunikation liefert der serielle IEEE-1394-Bus
eine isochrone Datenkommunikation. Die isochrone Kommunikation garantiert
sowohl eine Latenzzeit (d. h. Verzögerung), und eine Bandbreite
der Daten bezüglich
der Zeit. Beispielsweise wird alle 125 Mikrosekunden ein Datenpaket,
das mit einer vorbestimmten Bandbreite in der Länge übereinstimmt, zu einem isochronen
Kanal übertragen.
Wichtig ist dabei, dass anders als bei asynchronen Datenpaketen,
isochrone Datenpakete ohne Mikroprozessorintervention an Hardware
gesendet werden können.
-
Obwohl
der IEEE-1394-Standard sowohl asynchrone als auch isochrone Kommunikation
liefert, gibt es keine bekannten Protokolle, die diese Merkmale
für die
Kommunikation einer Verbindungsschichtsteuerung und einer physikalischen
Schicht ausnutzen. Protokolle liefern einen Mechanismus zum Ermöglichen
der Kommunikation zwischen zwei oder mehr Geräten, wie z. B. einem Kopierer,
einem Drucker und einem Scanner. Ein solches Protokoll ist ein serielles
Busprotokoll 2 (SBP-2), das nur ein asynchrones Datenübertragungskommunikationsprotokoll
definiert. SBP-2 erfordert, dass sich ein Initiator in ein Ziel
einloggt, um die Kommunikation zu beginnen.
-
Grundbausteine
von SBP-2 umfassen Betriebsanforderungsblock- (ORB-) Datenstrukturen. Zwei
Haupttypen von ORBs sind ein Befehls-ORB und ein Verwaltungs-ORB.
Außerdem
beschreibt SBP-2 Dienste, die an den Befehls- und Verwaltungs-ORBs
als Abrufagenten arbeiten.
-
Es
gibt ein Problem, da die Verwendung von Abrufagenten durch SBP-2
für einige
Datenübertragungen
ineffizient ist, wie z. B. Anforderungen und Antworten. Beispielsweise
muss der Abrufagent anfangs den ORB abrufen, um eine Datenadresse
zu lernen. Nach dem Lernen der Datenadresse liest der Abrufagent
die Daten unter Verwendung von 1394-Lesetransaktionen. Ein Initiatorgerät muss die ORBs
verwalten, die in einer verknüpften
Liste gespeichert sind. Danach schreibt das Initiatorgerät eine Adresse
eines ersten ORB in der Liste an ein Türklingelregister, um ein Zielgerät zu informieren, wo
es zu beginnen hat. Wenn der ORB abgeschlossen ist, schreibt das
Zielgerät
einen Status zurück
an den Speicher des Initiatorgeräts.
Somit sind die Kosten bezüglich
Ressourcen und Zeit hoch, wenn nur kleine Steuerdatenpakete gesendet
werden. Ein anderes Problem mit der Verwendung von SBP-2 ist, dass
SBP-2 keine Möglichkeit
zum Übertragen
isochroner Daten spezifiziert. Frühe Versionen des Standards
spezifizierten eine Einrichtung für isochrone Datenübertragung,
isochrone Datenübertragung wurde
jedoch aufgrund der Komplexität
entfernt.
-
Es
gibt auch Probleme mit Lösungen,
wie z. B. einem IEC-61883-Standardfunktionssteuerprotokoll
(FCP). FCP wird typischerweise mit Audio-/Video-Geräten für isochrone
Datenübertragung
verwendet, es handhabt jedoch nur Punkt-zu-Punkt-Verbindungen zwischen zwei Geräten. Außerdem kann FCP,
das Befehls- und Antwortrahmen definiert, nur an eine feste Adresse
mit fester Länge
gesendet werden. Somit werden Befehle und Antworten überschrieben,
wenn mehrere Geräte
oder das gleiche Gerät
an die feste Adresse schreiben, bevor Informationen verarbeitet
werden. Andere Lösungen
umfassen das Verwenden einer Kleincomputersystemschnittstelle (SCSI)
und eines IEEE-1284-Paralleltors. Das Paralleltor ist jedoch in
der Leistung unzureichend und bietet keine isochrone Datenübertragung.
Außerdem
fehlt der SCSI die isochrone Datenübertragung, was ein Schlüsselelement
bei der Ermöglichung
von kostengünstiger
Hardwareübertragung
ist.
-
Die
EP-A-0859327 offenbart ein Verfahren zum Übertragen von Daten zwischen
einem Initiatorgerät
und einem Zielgerät
unter Verwendung eines IEEE-1394-Standardbusses, das folgende Schritte umfasst:
Lesen einer Zielkonfiguration eines ROM-Platzes mit IEEE-1394-Standardlesevorgängen; Einrichten
einer Verbindung zwischen dem Initiatorgerät und dem Zielgerät unter
Verwendung eines asynchronen Datenübertragungsprotokolls; Übertragen
von Daten unter Verwendung eines isochronen Datenübertragungsprotokolls;
Senden von Anforderung- und Antwort-Schreibvorgängen zu einer Adresse, um Befehle
auszutauschen, um einen Auftrag zu beenden; und Beenden der Verbindung
unter Verwendung des asynchronen Datenübertragungsprotokolls.
-
Folglich
ist es eine Hauptaufgabe der vorliegenden Erfindung, ein verbessertes
Verfahren zu schaffen, um eine Kommunikation zwischen zwei oder
mehr Geräten
zu ermöglichen.
-
Eine
weitere Aufgabe der vorliegenden Erfindung ist das Schaffen eines
verbesserten Verfahrens zum Reduzieren eines hohen Mehraufwands
von Grundprotokollfunktionen, wie z. B. Anforderungen und Antworten.
-
Es
ist noch eine weitere Aufgabe der vorliegenden Erfindung, ein verbessertes
Verfahren zu schaffen, das eine isochrone Datenübertragung ermöglicht.
-
Andere
Aufgaben und Vorteile werden beim Lesen der folgenden detaillierten
Beschreibung in Verbindung mit den angehängten Zeichnungen offensichtlich
werden.
-
1 ist
eine Übersicht
von drei Funktionen, die die vorliegende Erfindung ausführen;
-
2 ist
ein Diagramm einer asynchronen Datagrammübertragung;
-
3 ist
ein Diagramm des Protokollverfahrens, das die vorliegende Erfindung
ausführt;
-
4 ist
ein Diagramm eines Login-Operations-Anforderungsblocks;
-
5 ist
ein Diagramm eines Login-Antwort-Operations-Anforderungsblocks; und
-
6 ist
ein Diagramm eines isochronen Steckerregisters.
-
Tabelle der
Abkürzungen
-
Dieses
Patent verwendet mehrere Abkürzungen.
Die folgende Tabelle wird bereitgestellt, um den Leser beim Bestimmen
der Bedeutung der mehreren Abkürzungen
zu unterstützen.
- CPU
- = Zentrale Verarbeitungseinheit
- SR
- = Befehls- und Statusregister
- EOJ
- = Auftragsende
- FCP
- = Funktionssteuerprotokoll
- FIFO
- = Zuerst-hinein/Zuerst-hinaus
- ID
- = Identifikation
- IEEE
- = Institute for Electrical
and Electronics Engineers (Verband der Elektrotechniker und Elektroniker
in den USA)
- I/O
- = Eingabe/Ausgabe
- ISO
- = Internationale Normungsorganisation
- MTU
- = Maximale Übertragungseinheit
- ORB
- = Operationsanforderungsblöcke
- PJL
- = Druckerauftragssprache
- ROM
- = Nur-Lese-Speicher
- SBP-2
- = serielles Busprotokoll
2
- SCSI
- = Kleincomputer-Systemschnittstelle
-
Grob
gesagt bezieht sich die vorliegende Erfindung auf ein verbessertes
Kommunikationsprotokollverfahren, beispielsweise für eine Kommunikation zwischen
ausgewählten
Initiator- und Zielgeräten. Genauer
gesagt ist die vorliegende Erfindung ein Verfahren zum Übertragen
von Bilddaten zwischen einem solchen Initiatorgerät und einem
Zielgerät
unter Verwendung eines IEEE-1394-Standardbus. Die vorliegende Erfindung
entdeckt eine Zielkonfiguration unter Verwendung von IEEE-1394-Lesevorgängen eines
Zielkonfigurations-Nur-Lese-Speicherplatzes.
Als Teil einer Verwaltungsfunktion verwendet die vorliegende Erfindung
ein modifiziertes asynchrones Datenübertragungsprotokoll, um eine
Verbindung zwischen dem Initiator und dem Ziel einzurichten. Als nächstes verwendet
die vorliegende Erfindung Befehlsfunktionen, um einen Auftrag zu
beginnen, um Bilddaten über
einen isochronen Kanal zu übertragen.
Außerdem
verwendet die vorliegende Erfindung eine asynchrone Datenübertragung
zum Austauschen von Druckerauftragssprachenbefehlen, um einen Auftrag
zu beenden.
-
Mit
Bezugnahme auf die Zeichnungen und insbesondere auf 1 liefert
ein Hochgeschwindigkeits-Bildkommunikationsprotokoll
der vorliegenden Erfindung drei Hauptmerkmale: Verwaltungsfunktionen,
Befehlsfunktionen und isochrone Datenübertragung. Die drei Merkmale
verwenden den IEEE-1394-Bus um eine Kommunikation zwischen einem
Bildgerät 10,
wie z. B. einem Kopierer, einem Bilderzeugungsgerät oder einem
Rasterbildverarbeitungsgerät
und einem Bildaufbereitungsgerät 12,
wie z. B. einem Drucker, einzurichten. Ein Gerät, von dem Verwaltungsfunktionen
stammen, wird als Initiator bezeichnet, und ein Gerät, das auf
Verwaltungsfunktionen antwortet, wird als Ziel bezeichnet. Bei einem
bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung erzeugt das Bildgerät 10 Verwaltungsfunktionen
und ist daher der Initiator. Folglich ist das Aufbereitungsgerät 12 das
Ziel.
-
Mit
Bezugnahme auf 2 umfassen sowohl der Initiator
als auch das Ziel eine Ausgangswarteschlange und eine Eingangswarteschlange.
Die Warteschlangen sind Leitungen von Aufgaben oder Daten. Warteschlangeneinträge sind
zugewiesen, um MTU-große
Pakete zu ermöglichen
(MTU = Maximum Transmission Unit = maximale Übertragungseinheit). Die tatsächlichen
Speicheradressen, die verwendet werden, um die Warteschlangeneinträge zu speichern,
sind implementierungsabhängig.
Die Warteschlangeneinträge
sind zugewiesen, um ein Paket mit MTU-Größe zu ermöglichen. Die Geschwindigkeit
der IEEE-1394-Verbindung
bestimmt eine Größe der Pakete,
d. h. der MTU. Zusätzlich
zu der Eingangs- und der Ausgangswarteschlange umfassen sowohl der
Initiator als auch das Ziel eine Datagramm_FIFO_Adresse. Die Datagramm_FIFO_Adresse
ist ein in sich geschlossenes Paket und kein Strom von Paketen.
Es ist wichtig, dass durch Verwenden der Datagramm_FIFO_Adresse
die vorliegende Erfindung Mehraufwand und unbeabsichtigte Überschreibungen
reduziert, die bei anderen bekannten Protokollen auftreten.
-
Mit
Bezugnahme auf 3 entdeckt der Initiator das
Ziel unter Verwendung von IEEE-1394-Lesevorgängen des Zielkonfiguration-Nur-Lese-Speicher-
(ROM-) Platzes (Block 14). Auf das Entdecken des Zielgeräts hin führt der
Initiator ein asynchrones SBP-2-Typ-Login durch, unter Verwendung
eines Login-ORB, um eine Verbindung mit dem Ziel einzurichten (Block 16).
Der Login-ORB entspricht der Initiatorausgangswarteschlange, wie
es in 2 gezeigt ist. Es ist jedoch wichtig, dass die
vorliegende Erfindung das Datagramm_FIFO_Adressfeld zu Feldern hinzufügt, die
in dem SBP-2-Verfahren beschrieben sind, wie es in 4 gezeigt
ist.
-
Mit
Bezugnahme auf 3 antwortet das Ziel mit einer
Login-Antwort (Block 16). Der Login-Antwort-ORB entspricht
der Zielausgangswarteschlange, wie es in 2 gezeigt
ist. Mit Bezugnahme auf 5 folgt der Login-Antwort-ORB
dem Verfahren, das in SBP-2 beschreiben ist, durch Verwenden eines
Länge-,
eines Login_ID- und eines Befehls_Block_Agent-Felds. Das Befehl_Block_Agent-Feld
ist eine Adresse, die zu einem Einheit-Befehl_Block_Agent-Steuer- und Statusregister
(CSR) auf dem ROM des Ziels zeigt. Für ein einzelnes Login enthält das Befehls_Block_Agentfeld
beispielsweise die Adresse OxFFFFF0010008. Darüber hinaus fügt die vorliegende
Erfindung, wie der Login-ORB, das Datagramm_FIFO_Adressfeld den
Standard-SBP-2-Loginantwort-ORB-Feldern hinzu. Somit tauscht die
vorliegende Erfindung während
der Verwaltungsoperation die Datagramm_FIFO_Adresse zwischen dem
Initiator und dem Ziel aus.
-
Mit
erneuter Bezugnahme auf 3 weist der Initiator nach dem
Initator-Login und der Ziel-Login-Antwort einen isochronen Kanal
und Bandbreite zu, unter Verwendung von IEEE-1394-Verfahren. Die Bandbreite umfasst
die Gesamtzahl von Bytes eines IEEE-1394-Anfangsblocks und eine
Nutzlast einer zyklischen Redundanzprüfung (CRC). Als nächstes kommuniziert
der Initiator isochrone Konfigurationsinformationen durch Schreiben
der verhandelten Bandbreite und Kanalwerte an ein isochrones Steckerregister
(Block 18). Mit Bezugnahme auf 6 liefert
das isochrone Steckerregister eine einfache Möglichkeit zum Kommunizieren
isochroner Kanal- und
Bandbreiteinformationen, die der Initiator verhandelt. Ein Ziel-Konfiguration-ROM-Adressraum, der
dem SBP-2-Befehlsblockagenten
CSR folgt, speichert das isochrone Steckerregister. Die Verwendung
des isochronen Steckerregisters ermöglicht eine isochrone Datenübertragung,
die nachfolgend erörtert
wird.
-
Mit
erneuter Bezugnahme auf 3 beginnt der Initiator Befehlsfunktionen
durch Durchführen
einer Druckerauftragssprache- (PJL-) Auftragsbeginnanforderung (Block 20),
nach dem Durchführen
des isochronen Konfigurationsschreibvorgangs. Wie die Verwaltungsfunktionen
verwendet die Befehlsfunktion asynchrone SBP-2-Datenübertragung
zum Austauschen von Steuerdaten zwischen dem Initiator und dem Ziel.
Anders als SBP-2 erfüllen
jedoch IEEE-1394-Schreibtransaktionen die Anforderung des Initiators.
Die Schreibtransaktionen sind an die Datagramm_FIFO_Adresse adressiert,
die während der
Login-Operation zwischen dem Initiator und dem Ziel ausgetauscht
wurde. Gleichartig dazu antwortet das Ziel mit einer PJL-Auftragsanfangantwort,
die an die Datagramm_FIFO_Adresse adressiert ist (Block 20).
-
Da
die vorliegende Erfindung die Datagramm_FIFO_Adresse verwendet,
wenn Befehlsdaten übertragen
werden, ist es wichtig, dass SBP-2-Abrufagenten nicht erforderlich
sind, wodurch eine andernfalls erforderliche Menge an Transaktionen
zwischen dem Initiator und dem Ziel reduziert wird. Umgekehrt erfordert
die vorliegende Erfindung weniger Bandbreite auf dem IEEE-1394-Bus
als bekannte Protokolle, wie z. B. SBP-2. Außerdem reduziert die vorliegende
Erfindung durch Eliminieren des Bedarfs an Abrufagenten Speichermehraufwand
und erfordert weniger CPU-Leistung, was die Kosten der Hardwareimplementierung
reduziert.
-
Nach
dem Empfangen der PJL-Auftragsbeginnantwort überträgt der Initiator eine PJL-Seitenanfangsanforderung
an die Datagramm_FIFO_Adresse und das Ziel sendet eine PFL-Seitenanfangsantwort an
den Initiator (Block 22). Erneut spart die Verwendung der
Datagramm_FIFO_Adresse Busbandbreite, Speichermehraufwand und CPU-Leistung.
-
Nach
dem Empfangen der PJL-Seitenanfangsantwort verwendet der Initiator
den isochronen IEEE-1394-Kanal, der früher verhandelt wurde, um eine
Seite von Bilddaten mit dem Ziel auszutauschen (Block 24).
Es ist wichtig, dass die Verwendung der isochronen Datenübertragung
es dem Initiator ermöglicht,
Bilddatenpakete ohne Mikroprozessorintervention zu Hardware zu leiten.
-
Nachdem
der Initiator die Seite von Daten an das Ziel sendet, schreibt der
Initiator an die Datagramm_FIFO_Adresse, um eine PJL-Seitenendeanforderung
an das Ziel zu senden und das Ziel schreibt an die Datagramm_FIFO_Adresse,
um mit einer PJL-Seitenendeantwort zu antworten (Block 26).
Falls der Initiator eine nächste
Datenseite senden muss, tauschen der Initiator und das Ziel PJL-Seitenanfanganfrage/-antwort
aus, der Initiator sendet die nächste
Datenseite an das Ziel und der Initiator und das Ziel tauschen PJL-Seitenendeanfrage/-antwort
aus.
-
Wenn
der Initiator keine weiteren Datenseiten zum Senden an das Ziel
umfasst, schreibt der Initiator an die Datagramm_FIFO_Adresse, um
eine PJL-Auftragsende- (EOJ-) Anforderung an das Ziel zu senden
(Block 30). Danach schreibt das Ziel an die Datagramm_FIFO_Adresse,
um mit einer PJL-EOJ-Antwort
zu antworten. Der Initiator führt eine
SBP-2-Logout-Verwaltungsfunktion
durch, um die Verbindung zwischen dem Initiator und dem Ziel zu
beenden (Block 32).
-
Von
der vorhergehenden Beschreibung sollte klar sein, dass ein verbessertes
Kommunikationsprotokoll gezeigt und beschrieben wurde, das viele wünschenswerte
Attribute und Vorteile aufweist. Die vorliegende Erfindung kann
ein verbessertes Protokollverfahren liefern, um Verwaltungsfunktionen,
Befehlsfunktionen und isochrone Datenübertragung zu kombinieren,
um einen einfachen und dennoch leistungsfähigen Mechanismus zu bilden,
um große
Bilder zu übertragen,
während
die Kosten der Implementierung minimiert werden. Außerdem reduziert die
vorliegende Erfindung Firmware und Prozessorintervention auf den
getrennten Verwaltungs- und Befehlskanälen und erreicht eine hohe
Leistungsfähigkeit
durch Ermöglichen
einer Hardwarebildübertragung
auf dem isochronen Kanal. Da ferner keine SBP-2-Abrufmaschine benötigt wird,
erfordert die vorliegende Erfindung weniger Speicher- und Zentralverarbeitungseinheit-
(CPU-) Leistung. Die Erforderung von weniger Speicher und CPU-Leistung
reduziert die Hardwarekosten.
-
Obwohl
verschiedene Ausführungsbeispiele der
vorliegenden Erfindung gezeigt und beschrieben wurden, sollte klar
sein, dass für
Durchschnittsfachleute auf diesem Gebiet andere Modifikationen,
Substitutionen und Alternativen offensichtlich sind. Solche Modifikationen,
Substitutionen und Alternativen können durchgeführt werden,
ohne von dem Schutzbereich der Erfindung abzuweichen, der durch
die angehängten
Ansprüche
definiert ist. Verschiedene Merkmale der Erfindung sind in den angehängten Ansprüchen beschrieben.