-
TECHNISCHES
GEBIET
-
Die
vorliegende Erfindung betrifft eine Datenübertragungssteuereinrichtung
und ein diese umfassendes elektronisches Gerät.
-
TECHNISCHER
HINTERGRUND
-
Eine
als IEEE 1394 bezeichneter Schnittstellenstandard hat kürzlich viel
Aufmerksamkeit auf sich gezogen. Dieser IEEE 1394 hat standardisierte
serielle Hochgeschwindigkeits-Busschnittstellen, die die nächste Generation
von Multimedia-Geräten
handhaben können.
IEEE 1394 macht es möglich,
Daten zu handhaben, die Echtzeitfähigkeiten haben müssen, wie
etwa bewegte Bilder. Ein Bus gemäß IEEE 1394
kann nicht nur mit Peripheriegeräten
für Computer
wie etwa Druckern, Scannern, CD-R-Laufwerken und Festplattenlaufwerken
verbunden werden, sondern auch mit Hausgeräten wie etwa Videokameras,
Videokassettenrecordern und Fernsehgeräten. Es wird daher erwartet,
dass dieser Standard eine dramatische Beschleunigung der Digitalisierung elektronischer
Geräte
mit sich bringt.
-
Das
Konzept von IEEE 1394 ist in diversen Veröffentlichungen offenbart, wie
etwa "An outline
of the IEEE 1394 High Performance Serial Bus" (Interface, April 1996, Seiten 1–10), "Bus Standards for
PC Peripheral Equipment" (Interface,
Januar 1997, Seiten 106–116)
und "Real-Time Transfer
Modes and Multimedia-Capable Protocols for IEEE 1394–1995" (Interface, Januar
1997, Seiten 136–146).
TSB12 LV31 von Texas Instruments ist bekannt als eine Datenübertragungssteuervorrichtung,
die IEEE 1394 entspricht.
-
Wie
nachfolgend beschrieben, sind jedoch einige technische Probleme
im Zusammenhang mit einer Datenübertragungssteuereinrichtung
nach IEEE 1394 identifiziert worden.
-
Das
heißt,
der gegenwärtige
IEEE 1394-Standard ermöglicht
es, Übertragungsgeschwindigkeiten
bis zu einem Maximum von 400 Mbps zu implementieren. In der Praxis
muss aufgrund des Vorhandenseins von Verarbeitungs-Overhead die
tatsächliche Übertragungsgeschwindigkeit des
gesamten Systems wesentlich niedriger sein. Mit anderen Warten benötigen die
auf einer CPU laufende Firmware und Anwendungssoftware große Mengen
an Zeit für
Prozesse wie etwa die Vorbereitung für die Übertragung von Daten und das
Einlesen von empfangenen Daten, was bedeutet, dass es nicht möglich ist,
eine Datenübertragung
mit insgesamt hoher Geschwindigkeit zu implementieren, egal, wie schnell
die Daten über
die IEEE 1394-Busse übertragen
werden können.
-
Ein
besonderes Problem liegt in der Tatsache, dass eine im Peripheriegerät eingebaute
CPU eine niedrigere Verarbeitungskapazität hat als die in das Hostsystem
wie etwa einen Personalcomputer eingebaute CPU. Dies macht das Problem
der Verarbeitungsoverheads in Firmware und Anwen dungssoftware sehr
ernst. Es ist daher wünschenswert, Techniken
bereit zu stellen, die in der Lage sind, dieses Overheadproblem
effizient zu lösen.
-
EP-A-0
833 485 beschreibt das sogenannte Adressenauflösungsprotokoll (Adress Resolution Protocol,
ARP) und das umgekehrte Adressenauflösungsprotokoll (Reverse Adress
Resolution Protocol, RARP), die verwendet werden können, um
Kommunikationen in einem Netzwerk von zwei oder mehr über einen
elektronischen Bus verbundenen Netzwerkknoten zu implementieren.
Insbesondere kann ARP verwendet werden, wenn ein erster Netzwerkcomputer
mit einem zweiten Netzwerkcomputer kommunizieren will, die physikalische
Adresse des zweiten Computers aber nicht kennt. Gemäß ARP verbreitet
der erste Computer eine "ARP-Anforderung" über den Netzwerkbus, das heißt an alle
Knoten am Netzwerk. Die Anforderung umfasst die IP-Adresse des zweiten
Computers. Durch Überprüfen der IP-Adresse
der Anforderung erkennt der zweite Computer, dass er der beabsichtigte
Empfänger
der Anforderung ist und sendet dann eine "ARP-Antwort", die an den ersten Computer adressiert
wird und die physikalische Adresse des zweiten Computers enthält. Das
ARP-Anforderungspaket umfasst u. a. einen Verbreitungs-Busindikator,
der angibt, welcher Bus oder welche Busse in dem Netz das Anforderungspaket
empfangen sollten, sowie Fehlerprüfbits.
-
Eine
Datenübertragungssteuereinrichtung nach
dem Oberbegriff der Ansprüche
1, 4, 5, 7 und 8 ist aus WO-A-98/44400 bekannt. Das Dokument betrifft
den IEEE 1394-Standard und beschreibt die Erzeugung, nach einer
Selbstidentifikations-(Self-ID)-Sequenz, einer Zonentopologiekarte, die
zusätzlich
zu den von den angeschlossenen Vorrichtungen empfangenen Selbstidentifikationspaketen
eine Länge,
CRC etc. enthält.
Jedes Self-ID-Paket in der Topologiekarte enthält alle in einem IEEE 1394-Self-ID-Paket
enthaltene Information. Die Zonentopologiekarte wird in Speicher
geschrieben.
-
OFFENBARUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung wurde erdacht in Anbetracht des oben beschriebenen
technischen Problems und hat als ein Ziel, eine Datenübertragungssteuereinrichtung
und diese verwendendes elektronisches Gerät zu schaffen, die in der Lage sind,
die Verarbeitungsoverheads von Firmware und Anwendungssoftware zu
reduzieren und so Hochgeschwindigkeitsdatenübertragung in einer kompakten Hardwarekonfiguration
zu implementieren.
-
Dieses
Ziel wird erreicht durch eine Datenübertragungssteuereinrichtung
nach Anspruch 1, 4, 5, 7 bzw. 8. Bevorzugte Ausgestaltungen der
Erfindung sind Gegenstand der abhängigen Ansprüche.
-
In
dieser Erfindung nimmt das Paketformungs-(umformungs)-mittel den
Datenzeiger, der vom Paketaufteilungsmittel übergeben worden ist, und hängt ihn
an die Steuerinformation des Paketes an. Die Steuerinformation des
Paketes, an die der Datenzeiger angehängt wird, wird in das Steuerinformationsgebiet
des Speichermittels geschrieben, und das Datenpaket wird in dessen
Datengebiet geschrieben. Diese Anordnung ermöglicht es, die Verarbeitungslast
der oberen Schichten wie etwa Firmware oder Anwendungssoftware zu
verringern und so die tatsächliche Übertragungsgeschwindigkeit
des gesamten Systems zu verbessern, indem die Steuerinformation
in das Steuerinformationsgebiet und die Daten in das Datengebiet
geschrieben werden. Für eine
obere Schicht wie etwa die Firmware ist es einfach, den Datenzeiger
zu verwenden, um die Daten, die der Steuerinformation des Paketes
entsprechen, aus dem Datengebiet zu lesen. Da der Datenzeiger durch
das Paketformungsmittel angehängt
wird, so dass es für
das Paketaufteilungsmittel unnötig
ist, daran teilzunehmen, kann die Konfiguration des Paketaufteilungsmittels
und die Verarbeitung des Schreibens in das Speichermittel vereinfacht
werden.
-
Das
Paketformungsmittel kann Etiketteninformation erzeugen, um wenigstens
zwischen Steuerinformation und Daten eines Paketes zu unterscheiden,
und kann auch die so erzeugte Etiketteninformation mit dem Paket
verknüpfen;
das Paketaufteilungsmittel kann Steuerinformation des Paketes in das
Steuerinformationsgebiet und Daten des Paketes in das Datengebiet
basierend auf der mit dem Paket verknüpften Etiketteninformation
schreiben. Diese Anordnung ermöglicht
es, Steuerinformation des Paketes in dem Steuerinformationsgebiet
und Daten in dem Datengebiet mit einer einfachen Hardwarekonfiguration
zu speichern.
-
Das
Paketaufteilungsmittel kann einen Steuerinformationszeiger, der
eine Adresse von in das Steuerinformationsgebiet geschriebener Steuerinformation
angibt, aktualisieren, wenn aus der mit dem Paket verknüpfen Etiketteninformation
festgestellt wird, dass Steuerinformation des Paketes geschrieben
werden soll, oder es kann einen Datenzeiger, der eine Adresse von
in das Datengebiet geschriebenen Daten angibt, aktualisieren, wenn
aus der mit dem Paket verknüpften
Etiketteninformation festgelegt wird, dass Daten des Paketes geschrieben
werden sollen. Diese Anordnung ermöglicht es, die Etiketteninformation
zu verwenden, um zwischen Aktualisierung des Steuerinformationszeigers
und Aktualisierung des Datenzeigers umzuschalten und so das Paket
in Steuerinformation und Daten aufzuteilen. Dies hilft, die Paketaufteilungsverarbeitung
zu vereinfachen.
-
Eine
Datenübertragungssteuervorrichtung nach
der vorliegenden Erfindung zum Übertragen von
Daten zwischen einer Mehrzahl von Knoten, die mit einem Bus verbunden
sind, umfasst: Paketformungsmittel zum Formen jedes Paketes, das
von einem Knoten übertragen
worden ist, in eine durch eine obere Schicht verwendbare Form, und
Schreibmittel zum Schreiben des so geformten Paketes in ein Speichermittel,
wobei das Paketformungsmittel eine Verbreitungsinformation, die
angibt, ob das Paket an alle mit dem Bus verbundenen Knoten gesendet
worden ist oder nicht, nimmt und die Verbreitungsinformation an
Steuerinformation des Paketes anhängt.
-
Diese
Erfindung ermöglicht
es einer oberen Schicht wie etwa der Firmware, festzustellen, ob
ein Paket, das zu verarbeiten ist, verbreitet worden ist, indem
einfach die Verbreitungsinformation geprüft wird. Diese Anordnung ermöglicht es,
eine Verarbeitung wie etwa das Decodieren von anderer Information
zu überspringen
und so die Verarbeitungslast auf oberen Schichten wie etwa der Firmware
zu verringern.
-
Eine
Datenübertragungssteuervorrichtung nach
der vorliegenden Erfindung zum Übertragen von
Daten zwischen einer Mehrzahl von Knoten, die mit einem Bus verbunden
sind, umfasst: Paketformungsmittel zum Formen jedes Paketes, das
von einem Knoten übertragen
worden ist, in eine Form, die von einer oberen Schicht verwendet
werden kann, und Schreibmittel zum Schreiben des so geformten Paketes
in ein Speichermittel, wobei das Paketformungsmittel Fehlerstatusinformation,
die angibt, ob ein Fehler in dem Paket vorgelegen hat oder nicht, nimmt
und die Fehlerstatusinformation an Steuerinformation des Paketes
anhängt.
Diese Erfindung ermöglicht
es einer oberen Schicht wie etwa der Firmware, festzustellen, ob
ein Fehler in einem zu verarbeitenden Paket vorliegt oder nicht,
indem einfach die Fehlerstatusinformation geprüft wird. Diese Anordnung ermöglicht es,
eine Verarbeitung wie etwa die Decodierung anderer Information zu überspringen
und so die Verarbeitungslast auf oberen Schichten wie etwa der Firmware
zu verringern.
-
Die
Datenübertragungssteuereinrichtung kann
ferner Paketaufteilungsmittel zum Schreiben von Steuerinformation
des so geformten Paketes in ein Steuerinformationsgebiet des Speichermittels und
Daten des so geformten Paketes in ein Datengebiet des Speichermittels
umfassen, und Daten eines Paketes, das in das Datengebiet geschrieben
worden ist, können
ungültig
gemacht werden, wenn festgestellt wird, dass ein Fehler in dem Paket
vorliegt. Diese Konfiguration gewährleistet, dass nur korrekte Daten
kontinuierlich in dem Datengebiet gespeichert werden können, was
es einer oberen Schicht wie etwa einer Anwendungssoftware ermöglicht,
nur korrekte Daten sequentiell aus dem Datengebiet zu lesen. Dies
hilft, die Schnittstelle zu oberen Schichten zu vereinfachen.
-
Eine
Datenübertragungssteuereinrichtung nach
der vorliegenden Erfindung zum Übertragen von
Daten zwischen einer Mehrzahl von Knoten, die mit einem Bus verbunden
sind, umfasst: Paketformungsmittel zum Formen jedes Paketes, das
von einem Knoten übertragen
worden ist, in eine Form, die von einer oberen Schicht verwendet
werden kann, und Schreibmittel zum Schreiben des so geformten Paketes
in ein Speichermittel, wobei das Paketformungsmittel Information,
die angibt, ob das Paket während
einer Selbstidentifikationsperiode empfangen wurde oder nicht, nimmt
und die Information an Steuerinformation des Paketes anhängt.
-
Diese
Erfindung ermöglicht
es einer oberen Schicht wie etwa der Firmware, festzustellen, ob
ein zu verarbeitendes Paket während
der Selbstidentifikationsperiode empfangen wurde oder nicht, indem einfach
die an die Steuerinformation des Paketes angehängte Information geprüft wird.
Es ist daher einfach, ein zum Beispiel durch Umpacken einer Mehrzahl
von Selbstidentifikationspaketen erhaltenes Paket von einer anderen
Art von Paket zu unterscheiden.
-
Eine
Datenübertragungssteuereinrichtung nach
der vorliegenden Erfindung zum Übertragen von
Daten zwischen einer Mehrzahl von Knoten, die mit einem Bus verbunden
sind, umfasst: Paketformungsmittel zum Formen jedes Paketes, das
von einem Knoten übertragen
worden ist, in eine Form, die von einer oberen Schicht verwendet
werden kann, und Schreibmittel zum Schreiben des so geformten Paketes
in ein Speichermittel, wobei das Paketformungsmittel gegebene Information
an das hinterste Ende eines jeden Paketes in einer zeitlichen Folge anhängt, das
von jedem Knoten übertragen
worden ist, und das Schreibmittel die gegebene Information an das
vorderste Ende von Steuerinformation des Paketes in dem Speichermittel
schreibt.
-
Mit
dieser Erfindung wird Information, die an das hinterste Ende eines
Paketes in zeitlicher Folge angehängt worden ist, an das vorderste
Ende der Steuerinformation des Paketes im Speichermittel geschrieben.
Daher kann eine obere Schicht wie etwa die Firmware diese Information
auf einfache Weise, ohne andere Information zu decodieren, bestätigen/überprüfen. Infolgedessen
ist es möglich,
die Verarbeitungslast auf oberen Schichten wie etwa der Firmware
stark zu verringern.
-
Man
beachte, dass die gegebene Information eine oder mehrere der folgenden
sein kann: Bestätigungsinformation,
die an den Übertragungsursprung
des Paketes gesendet worden ist, Geschwindigkeitscodeinformation
zum Spezifizieren der Geschwindigkeit der Datenübertragung; Verbreitungsinformation,
die angibt, ob das Paket an alle mit dem Bus verbundenen Knoten
gesendet worden ist oder nicht; Information, die angibt, ob das
Paket während einer
Selbstidentifikationsperiode empfangen wurde oder nicht; und Fehlerstatusinformation,
die angibt, ob ein Fehler in dem Paket vorlag oder nicht.
-
Die
Datenübertragungssteuereinrichtung kann
ferner umfassen: einen ersten Bus, der mit einer Anwendung nächster Stufe
verbunden ist; einen zweiten Bus zum Steuern der Datenübertragungssteuereinrichtung;
einen dritten Bus, der elektrisch mit einer Einrichtung der physikalischen
Schicht verbunden ist; einen vierten Bus, der elektrisch mit dem Speichermittel
verbunden ist; und Arbitrierungsmittel zum Durchführung von
Arbitrierung zum Herstellen eines Datenweges zwischen einem beliebigen
der ersten, zweiten und dritten Busse und dem vierten Bus.
-
Dies
schafft voneinander getrennte erste, zweite und dritte Busse. Die
von dem Arbitrierungsmittel durchgeführte Arbitrierung stellt einen
Datenweg zwischen einem unter erstem, zweitem und drittem Bus und
dem vierten Bus des wahlfrei zugänglichen
Speichermittels her. Diese Anordnung ermöglicht es, Pakete, die von
einem anderen Knoten über eine
Einrichtung der physikalischen Schicht empfangen worden sind, in
beliebiger Anordnung in dem Speichermittel zu speichern. Außerdem erfolgt
das Lesen und Schreiben von Steuerinformation des Paketes unter
Verwendung des zweiten Busses, so dass der erste Bus zum Lesen und
Schreiben der Daten in den Paketen verwendet werden kann. Dies ermöglicht eine
Verringerung der Verarbeitungslast auf den oberen Schichten wie
etwa der Transaktionsschicht und der Anwendungsschicht. Es ermöglicht auch
die Verwendung von Bussen niedriger Geschwindigkeit als ersten und
zweiten Bus und einer langsamen, preiswerten Einrichtung als Einrichtung zum
Steuern der Datenübertragungssteuereinrichtung.
Dadurch kann die Datenübertragungssteuereinrichtung
kompakter und preiswerter gemacht werden.
-
Man
beachte, dass es ausreichend ist, den ersten, zweiten, dritten und
vierten Bus elektrisch mit der Anwendung, einer Einrichtung zum
Steuern der Datenübertragungssteuereinrichtung,
einer Einrichtung der physikalischen Schicht bzw. RAM zu verbinden,
und andere Einrichtungen können
an diesen Bussen vorhanden sein.
-
Die
Datenübertragungssteuervorrichtung kann
ferner ein FIFO zwischen dem Paketformungsmittel und dem Speichermittel
umfassen.
-
Zusätzlich kann
Datenübertragung
gemäß dem IEEE
1394-Standard durchgeführt
werden.
-
Ein
elektronisches Gerät
gemäß dieser
Erfindung umfasst eine beliebige der oben beschriebenen Datenübertragungssteuereinrichtungen;
eine Einrichtung zum Durchführen
einer gegebenen Verarbeitung an Daten, die von einem anderen Knoten über die
Datenübertragungssteuereinrichtung
und den Bus empfangen worden sind; und eine Einrichtung zum Ausgeben
oder Speichern von Daten, die dieser Verarbeitung unterzogen worden
sind. Ein anderes elektronisches Gerät gemäß dieser Erfindung umfasst:
eine beliebige der oben beschriebenen Datenübertragungssteuereinrichtungen;
eine Einrichtung zum Durchführen
einer gegebenen Verarbeitung an Daten, die an einen anderen Knoten über die Datenübertragungssteuereinrichtung
und den Bus gesendet werden sollen, und eine Einrichtung zum Holen
von dieser Verarbeitung zu unterziehenden Daten.
-
Gemäß dieser
Erfindung ist es möglich,
die Verarbeitung zum Ausgeben oder Speichern von Daten, die von
einem anderen Knoten an das elektronische Gerät übertragen worden sind, oder
die Verarbeitung zum Übertragen
von von dem elektronischen Gerät
geholten Daten an einen anderen Knoten zu beschleunigen. Diese Erfindung
ermöglicht
es, die Datenübertragungssteuereinrichtung
kompakter zu machen und auch die Verarbeitungslasten auf die Datenübertragung
steuernder Firmware zu verringern, wodurch ein elektronisches Gerät produziert werden
kann, das preiswerter und kompakter ist.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1A, 1B und 1C dienen
zur Veranschaulichung der Konzepte von asynchroner und isochroner Übertragung.
-
2A und 2B dienen
zur Veranschaulichung des Konzeptes von Baumidentifikation.
-
3 dient
zur Veranschaulichung des Konzeptes von Selbstidentifikation.
-
4A, 4B, 4C und 4D zeigen die
Formate von diversen Paketen der physikalischen Schicht wie etwa
eines Self-ID-Paketes.
-
5 dient
der Veranschaulichung der IEEE 1394-Protokollkonfiguration.
-
6 zeigt
ein Strukturbeispiel der Datenübertragungssteuereinrichtung
nach einer Ausgestaltung der Erfindung.
-
7 veranschaulicht
die Trennung zwischen Header-(Steuerinformations-)gebiet und Datengebiet.
-
8 zeigt
die Struktur eines Vergleichsbeispiels für diese Ausgestaltung.
-
9 veranschaulicht
das Verfahren zur Datenübertragung,
das durch die Konfiguration von 8 verwendet
wird.
-
10 veranschaulicht
ein anderes Verfahren zur Datenübertragung.
-
11 veranschaulicht
das Verfahren zur Datenübertragung,
das von dieser Ausgestaltung der Erfindung verwendet wird.
-
12 veranschaulicht
ein Verfahren, bei dem Header und Daten eines Empfangspaketes getrennt
werden und in einem Headergebiet und einem Datengebiet im RAM gespeichert
werden.
-
13 veranschaulicht
ein Verfahren, bei dem ein Datenzeiger in einem im Headergebiet
gespeicherten Header enthalten ist.
-
14 veranschaulicht
ein Verfahren, bei dem eine Paketformungsschaltung einen von der
Paketaufteilungsschaltung übertragenen
Datenzeiger nimmt und diesen Datenzeiger an den Header eines Paketes
anhängt.
-
15 veranschaulicht
Etiketten.
-
16 veranschaulicht
ein Verfahren zum Steuern der Größe jedes
Gebietes im RAM in variabler Weise.
-
17A, 17B, 17C und 17D veranschaulichen
ein Verfahren zum Anhängen
von Verbreitungsinformation an einen Paket-Trailer.
-
18A und 18B veranschaulichen
ein Verfahren zum Anhängen
von Fehlerstatusinformation an den Trailer eines Paketes sowie zum
Ungültigmachen
von Daten im RAM, wenn ein Fehler in dem Paket vorhanden ist.
-
19 veranschaulicht
den Self-ID-Zeitraum.
-
20A und 20B veranschaulichen
ein Verfahren zum Nehmen von Information, die angibt, ob ein Paket
während
des Self-ID-Zeitraumes empfangen wurde oder nicht, und Anhängen dieser
Information an den Trailer eines Paketes.
-
21A und 21B veranschaulichen
ein Verfahren zum Nehmen von Information, die an das hinterste Ende
eines Paketes in einer Zeitreihe während der Paketformung angehängt wurde
und Schreiben dieser Information an das vorderste Ende eines Headers
eines Paketes im RAM.
-
22 zeigt
ein Beispiel der Konfiguration auf der Empfängerseite.
-
23 ist
ein Zeitverlaufswellenformdiagramm, das den Betrieb der Empfangsseite
veranschaulicht.
-
24A zeigt das Format eines asynchronen Paketes
gemäß dem IEEE
1394-Standard, und 24B zeigt das Format des Headerabschnittes
eines asynchronen Empfangspaketes, der im Headergebiet des RAM gespeichert
ist.
-
25A, 25B, 25C und 25D veranschaulichen
die Aktualisierung des Headerzeigers und des Datenzeigers.
-
26A zeigt das Format des Headerabschnittes, wenn
ein Paket ein Self-ID-Paket ist, und 26B zeigt
das Format des Headerabschnittes, wenn ein Paket ein PHY-Paket ist,
das kein Self-ID-Paket ist.
-
27A, 27B und 27C zeigen Beispiele interner Blockdiagramme diverser
Arten von elektronischem Gerät.
-
28A, 28B und 28C zeigen Außenansichten
diverser Arten von elektronischem Gerät.
-
BESTE ART, DIE ERFINDUNG
AUSZUFÜHREN
-
Bevorzugte
Ausgestaltungen dieser Erfindung werden nachfolgend mit Bezug auf
die beigefügten
Zeichnungen beschrieben.
-
1. IEEE 1394
-
Die
Beschreibung betrifft zunächst
einen Abriss von IEEE 1394.
-
1.1 Datenübertragungsgeschwindigkeit
und Verbindungstopologie
-
Der
IEEE 1394-Standard (IEEE 1394–1995, P1394.a)
ermöglicht
Hochgeschwindigkeitsdatenübertragung
bei 100 bis 400 Mbps (P1394.b betrifft 800 bis 3200 Mbps). Er ermöglicht auch
die Verbindung von Knoten mit unterschiedlichen Übertragungsgeschwindigkeiten
mit dem gleichen Bus.
-
Die
Knoten sind in einer Baumkonfiguration verbunden, in der ein Maximum
von 63 Knoten mit einem Bus verbunden sein kann. Man beachte, dass die
Verwendung von Busbrücken
die Verbindung von ca. 64000 Knoten ermöglicht.
-
Wenn
Energie eingeschaltet wird oder Vorrichtungen bei eingeschalteter
Energie abgetrennt oder verbunden worden sind, findet ein Bus-Reset statt,
wodurch alle Information, die die Verbindungstopologie betrifft,
gelöscht
wird. Nach dem Bus-Reset werden Baum-Identifikation (Bestimmung
des Wurzelknotens) und Selbstidentifikation durchgeführt. Anschließend werden
die Knoten festgelegt, die als Verwaltungsknoten wirken sollen,
wie etwa der isochrone Ressourcenverwalter, Zyklus-Master und Busverwalter.
Dann beginnt gewöhnliche
Paketübertragung.
-
1.2 Übertragungsverfahren
-
IEEE
1394 sieht asynchrone Übertragung (geeignet
für Datenübertragungen,
bei denen Zuverlässigkeit
erforderlich ist) und isochrone Übertragung (geeignet
für Übertragungen
von Daten wie etwa bewegten Bildern und Audio, bei denen Echtzeitfähigkeiten
erforderlich sind) sowie Paketübertragungsverfahren
vor.
-
Ein
Beispiel einer asynchronen Subaktion ist in 1A gezeigt.
Eine Subaktion besteht aus Arbitrierung, Paketübertragung und Bestätigung.
Mit anderen Worten hat Datenübertragung
Vorrang, doch zuallererst findet Arbitrierung betreffend das Recht, den
Bus zu nutzen, statt. Dann wird ein Paket vom Quellknoten (dem Ursprung
der Übertragung)
an den Zielknoten (das Ziel der Übertragung) übertragen. Eine
Quell-ID und Ziel-ID sind im Header dieses Paketes enthalten. Der
Zielknoten liest diese Ziel-ID und stellt fest, ob das Paket an
ihn adressiert ist oder nicht. Wenn der Zielknoten das Paket akzeptiert,
sendet er ein Bestätigungspaket
(ACK) zurück
an den Quellknoten.
-
Zwischen
der Paketübertragung
und dem ACK-Paket besteht eine Bestätigungslücke. Es gibt auch eine Subaktionslücke zwischen
einer Subaktion und der nächsten
Subaktion. Arbitrierung für
die nächste
Subaktion kann nicht stattfinden, solange nicht eine feste Bus-Müßigzeit
verstrichen ist, die dieser Subaktionslücke äquivalent ist. Dies verhindert Kollisionen
zwischen Subaktionen.
-
Ein
Beispiel einer isochronen Subaktion ist in 1B gezeigt.
Da eine isochrone Übertragung
als Verbreitung (Übertragung
an alle mit dem Bus verbundenen Knoten) durchgeführt wird, wird kein ACK zurückgesendet,
wenn ein Paket empfangen wird. Bei isochroner Übertragung wird Paketübertragung unter
Verwendung von Kanalnummern, nicht Knoten-IDs, durchgeführt. Man
beachte, dass es eine isochrone Lücke zwischen Subaktionen gibt.
-
Der
Zustand des Busses während
der Datenübertragung
ist in 1C gezeigt. Isochrone Übertragung
beginnt, wann immer der Zyklus-Master in festen Intervallen ein
Zyklus-Startpaket erzeugt. Dadurch wird für einen Kanal alle 125 μs die Übertragung
von wenigstens einem Paket frei gegeben. Dies ermöglicht die Übertragung
von Daten, die Echtzeitfähigkeiten
erfordern, wie etwa von bewegten Bildern oder Audio.
-
Asynchrone Übertragung
findet in Intervallen zwischen isochronen Übertragungen statt. Mit anderen
Worten hat isochrone Übertragung
eine höhere Priorität als asynchrone Übertragung.
Dies wird implementiert, indem die Länge einer isochronen Lücke kürzer als
die Länge
einer Subaktionslücke
während asynchroner Übertragung
gemacht wird, wie in 1C gezeigt.
-
1.3 Baumidentifikation
-
Baumidentifikation
wird nach einem Bus-Reset durchgeführt. Während dieser Baum-Identifikation
werden die Eltern-Kind-Beziehungen zwischen Knoten und dem Wurzelknoten
festgelegt.
-
Zunächst sendet
jeder Blattknoten (ein Knoten, der mit nur einem anderen Knoten
verbunden ist) eine "Elternbenachrichtigung" (Parent Notification, PN)
an den benachbarten Knoten. Wenn Knoten A, B, C, D und E wie zum
Beispiel in 2A verbunden sind, wird eine
Elternbenachrichtigung vom Knoten A an Knoten B und von den Knoten
D und E an Knoten C geschickt.
-
Ein
Knoten, der eine Elternbenachrichtigung akzeptiert hat, erkennt,
dass der Ursprungsknoten sein eigenes Kind ist. Er sendet dann eine "Kindbenachrichtigung" (Child Notification,
CN) an diesen Knoten. In dem in 2A gezeigten
Beispiel wird eine Kindbenachrichtigung von Knoten B an Knoten A
und von Knoten C an Knoten D und E geschickt. Dies bestimmt die
Eltern-Kind-Beziehungen zwischen Knoten B und A, Knoten C und D
und Knoten C und E.
-
Die
Eltern-Kind-Beziehung zwischen den Knoten B und C wird dadurch festgelegt,
welcher von ihnen zuerst eine Elternbenachrichtigung sendet. Wenn
zum Beispiel der Knoten C die Elternbenachrichtigung zuerst sendet,
wird Knoten B zum Elter und Knoten C zum Kind, wie in 2B gezeigt.
Ein Knoten, bei dem alle an dessen Anschlüsse angeschlossenen Knoten
eigene Kinder sind, wird zur Wurzel. In 2B ist
Knoten B zur Wurzel geworden. Man beachte, dass IEEE 1394 die Möglichkeit
zulässt,
dass jeder Knoten Wurzel wird.
-
1.4 Selbstidentifikation
-
Nach
der Baumidentifikation wird Selbstidentifikation durchgeführt. Während der
Selbstidentifikation werden Self-ID-Pakete der Reihe nach beginnend
mit den in der Verbindungstopologie am weitesten von der Wurzel
entfernten Knoten übertragen.
-
Genauer
gesagt verbreitet der Knoten A, der mit Anschluss 1 (dem Anschluss
mit der kleineren Nummer) des Wurzelknotens B in der in 3 exemplarisch
gezeigten Konfiguration verbunden ist, ein Self-ID-Paket (Selbstidentifikationspaket)
an alle Knoten.
-
Knoten
C, der mit Anschluss 2 (dem Knoten mit der größeren Nummer) des Wurzelknotens
B verbunden ist, wird dann gewählt,
und der Knoten D, der mit dem Anschluss 1 (dem Anschluss mit der
kleineren Nummer) des Knotens C verbunden ist, verbreitet ein Self-ID-Paket.
Knoten E, der mit dem Anschluss 2 (dem Anschluss mit der größeren Nummer)
des Knotens C verbunden ist, verbreitet dann ein Self-ID-Paket,
gefolgt von Knoten C. Schließlich
verbreitet Knoten B, der die Wurzel ist, ein Self-ID-Paket, und
die Selbstidentifikation ist vollständig.
-
Die
ID jedes Knotens ist in dem Self-ID-Paket dieses Knotens enthalten.
Die ID dieses Knotens ist die Gesamtzahl von Self-ID-Paketen, die
von anderen Knoten bis zu dem Zeitpunkt empfangen worden sind, an
dem dieser Knoten sein eigenes Self-ID-Paket verbreitet. Betrachtet
man das in 3 gezeigte Beispiel, so hat
an dem Zeitpunkt, an dem Knoten A verbreitet, noch kein Knoten ein
Self-ID-Paket verbreitet, so dass die ID des Knotens A zu 0 wird. Knoten
A verbreitet ein Self-ID-Paket,
das die ID mit Wert 0 enthält.
Wenn Knoten D verbreitet, hat nur Knoten A ein Self-ID-Paket ausgegeben.
Daher wird die ID des Knotens D zu 1. In ähnlicher Weise werden die IDs
der Knoten E, C und B zu 2, 3 bzw. 4.
-
Das
Format eines Self-ID-Paketes ist in 4A gezeigt.
Wie in dieser Figur gezeigt, ist in den Self-ID-Paketen Grundinformation über die
Knoten enthalten. Genauer gesagt sind darin Information wie etwa
die ID jedes Knotens (PHY_ID), ob die Verknüpfungsschicht aktiv ist oder
nicht (L), die Lückenzählung (gap_cnt),
die Übertragungsgeschwindigkeit (sp),
ob der Knoten die Fähigkeit
hat, isochroner Ressourcenverwalter zu werden oder nicht (C), den Ein-/Ausschaltzustand
(pwr) und die Anschlusszustände
(p0, p1, p2) enthalten.
-
Man
beachte, dass 4B das Format von Self-ID-Paketen
#1, #2 und #3 zeigt, die verwendet werden, wenn ein Knoten vier
oder mehr Anschlüsse hat.
Wenn ein Knoten zwischen 4 und 11 Anschlüssen hat, werden Self-ID-Pakete
#0 (4A) und #1 verwendet; wenn ein Knoten zwischen
12 und 19 Anschlüssen
hat, werden Self-ID-Pakete #0, #1 und #2 verwendet; und wenn ein
Knoten zwischen 20 und 27 Anschlüssen
hat, werden Self-ID-Pakete #0, #1, #2 und #3 verwendet.
-
Die
Formate eines Verknüpfung-Ein-Paketes (Link-on-Paket)
und eines PHY-Konfigurationspaketes, die in ähnlicher Weise wie die Self-ID-Pakete
Pakete der physikalischen Schicht (PHY-Pakete) sind, sind in 4C und 4D gezeigt.
-
1.5 Isochroner Ressourcenverwalter
-
Der
isochrone Ressourcenverwalter (IRM) hat die nachfolgend beschriebenen
Verwaltungsfunktionen.
-
Zunächst stellt
er die diversen für
isochrone Übertragung
notwendigen Ressourcen bereit. Zum Beispiel liefert er ein Kanalnummernregister
und ein Bandbreitenregister. Zweitens liefert er ein Register, das
die ID des Busverwalters angibt. Drittens übernimmt er manche der Busverwaltungsfunktionen, wenn
es keinen anderen Busverwalter gibt.
-
Unter
den Knoten, die die Fähigkeit
haben, isochroner Ressourcenverwalter (IRM) zu werden (die in der
Lage sind, isochrone Ressourcen zu verwalten), und die außerdem in
einem betriebsbereiten Zustand (mit aktiver Verknüpfungsschicht)
sind, das heißt
unter den Knoten, die qualifiziert sind, IRM zu werden, wird derjenige
Knoten zum IRM, der der Wurzel am nächsten liegt (der Knoten mit
der höchsten
ID). Genauer gesagt wird unter den Knoten, die Self-ID-Pakete (siehe 4A)
haben, bei denen das C-(contender)Bit, das angibt, ob dieser Knoten IRM-Fähigkeit
hat oder nicht, und das L-(Link_active)Bit, das angibt, ob die Verknüpfungsschicht
aktiv ist oder nicht, beide 1 sind, der der Wurzel am nächsten liegende
Knoten (der Knoten mit der größten PHY_ID)
zum IRM. Wenn das C-Bit
und das L-Bit des Wurzelknotens beide 1 sind, wird zum Beispiel
der Wurzelknoten zum IRM.
-
1.6 Zyklusmaster und Busverwalter
-
Der
Zyklusmaster hat die Funktion, das in 1C gezeigte
Zyklusstartpaket auszugeben, und der Wurzelknoten wird zum Zyklusmaster.
-
Der
Busverwalter führt
Aufgaben wie etwa die Erzeugung einer Topologiekarte (die Verbindungszustände aller
Knoten), die Erzeugung einer Geschwindigkeitskarte, die Verwaltung
von Energie für
den Bus, die Festlegung des Zyklus-Masters und die Optimierung der
Lückenzählung aus.
-
1.7 Protokollkonfiguration
-
Die
Beschreibung wendet sich nun der Protokollkonfiguration (Schichtstruktur)
des IEEE 1394 mit Bezug auf 5 zu. Das
IEEE 1394-Protokoll umfasst eine physikalische Schicht, eine Verknüpfungsschicht
und eine Transaktionsschicht. Die serielle Busverwaltungsfunktion überwacht
und steuert die physikalische Schicht, die Verknüpfungsschicht und die Transaktionsschicht
und liefert diverse Funktionen zum Steuern von Knoten und Verwalten
von Busressourcen.
-
Die
physikalische Schicht wandelt die von der Verknüpfungsschicht verwendeten logischen Symbole
in elektrische Signale um, führt
Busarbitrierung aus und definiert die physikalische Busschnittstelle.
-
Die
Verknüpfungsschicht
stellt Funktionen wie etwa Adressierung, Datenprüfung, Datenrahmung und Zykluskontrolle
bereit.
-
Die
Transaktionsschicht definiert das Protokoll für Transaktionen wie etwa Lesen,
Schreiben und Verriegeln.
-
Die
physikalische Schicht und die Verknüpfungsschicht sind üblicherweise
durch Hardware wie etwa eine Datenübertragungssteuereinrichtung (Schnittstellenchip)
implementiert. Die Transaktionsschicht ist entweder durch Firmware,
die auf der CPU läuft,
oder Hardware implementiert.
-
2. Gesamtkonfiguration
-
Die
Gesamtkonfiguration dieser Ausgestaltung wird nachfolgend mit Bezug
auf 6 beschrieben.
-
In 6 ist
eine PHY-Schnittstelle 10 eine Schaltung, die eine Schnittstelle
mit einem PHY-Chip bildet, der das Protokoll der physikalischen
Schicht implementiert.
-
Ein
Verknüpfungskern 20 (Verknüpfungsmittel)
ist eine Schaltung, die einen Teil des Verknüpfungsschichtprotokolls und
des Transaktionsschichtprotokolls implementiert; er stellt diverse
Dienste bereit, die die Paketübertragung
zwischen Knoten betreffen. Ein Register 22 ist vorgesehen,
um den Verknüpfungskern 20,
der diese Protokolle implementiert, zu steuern.
-
Ein
FIFO(ATF) 30, FIFO(ITF) 32 und FIFO(RF) 34 sind
FIFOs für
asynchrone Übertragung,
isochrone Übertragung
bzw. Empfang, wobei jeder durch Hardwaremittel wie etwa Register
oder Halbleiterspeicher implementiert ist. Bei dieser Ausgestaltung
haben diese FIFOs 30, 32 und 34 eine sehr
kleine Zahl von Stufen. Zum Beispiel ist die Zahl von Stufen pro
FIFO vorzugsweise nicht mehr als drei und besonders bevorzugt nicht
mehr als zwei.
-
DMACs 40, 42 und 44 sind
DMA-Controller für
ATF, ITF bzw. RF. Die Verwendung dieser DMACs 40, 42 und 44 ermöglicht es,
Daten zwischen einem RAM 80 und dem Verknüpfungskern 20 zu übertragen,
ohne über
eine CPU 66 zu laufen. Man beachte, dass ein Register 46 Kontrolle
etwa über
die DMACs 40, 42 und 44 gibt.
-
Eine
Anschlussschnittstelle 50 ist eine Schaltung, die eine
Schnittstelle zu Anwendungsschichteinrichtungen (wie zum Beispiel
Druckertreibern) herstellt. Bei dieser Ausgestaltung der Erfindung
macht es die Verwendung dieser Anschlussschnittstelle 50 zum
Beispiel möglich,
8-Bit-Daten zu übertragen.
-
Ein
FIFO(PF) 52 ist ein FIFO, das zur Übertragung von Daten zwischen
einer Anwendungsschichteinrichtung verwendet wird, und ein DMAC 54 ist
ein DMA-Controller für
PF. Ein Register 56 gibt Kontrolle über die Anschlussschnittstelle 50 und
den DMAC 54.
-
Eine
CPU-Schnittstelle 60 stellt eine Schnittstelle zur CPU 66 her,
die die Datenübertragungssteuereinrichtung
kontrolliert. Die CPU-Schnittstelle 60 umfasst einen Adressdecoder 62,
einen Datensynchronisierer 63 und einen Interupt-Controller 64. Ein
Taktcontroller 68 steuert die von dieser Ausgestaltung
verwendeten Taktsignale, und ein vom PHY-Chip gesendetes SCLK-Signal
und ein einen Master-Takt darstellendes HCLK-Signal werden darin
eingegeben.
-
Ein
Pufferverwalter 70 ist eine Schaltung, die die Schnittstelle
zum RAM 80 verwaltet. Der Pufferverwalter 70 umfasst
ein Register 72 zum Steuern des Pufferverwalters, eine
Arbitrierungsschaltung 74, die die Busverbindung zum RAM 80 arbitriert,
und einen Sequenzierer 76, der diverse Steuersignale erzeugt.
-
Das
RAM 80 wirkt als ein Paketspeichermittel mit wahlfreiem
Zugriff, wobei diese Funktion durch SRAM oder DRAM o. dgl. implementiert
ist. In dieser Ausgestaltung der Erfindung ist das RAM 80 unterteilt
in ein Headergebiet (allgemein gesagt ein Steuerinformationsgebiet)
und ein Datengebiet, wie in 7 gezeigt.
Der Header eines Paketes (allgemein gesprochen, Steuerinformation)
wird im Headergebiet von 7 gespeichert, und die Daten
des Paketes werden in deren Datengebiet gespeichert.
-
Man
beachte, dass das RAM 80 vorzugsweise in der Datenübertragungssteuereinrichtung
dieser Ausgestaltung untergebracht ist. Es ist jedoch auch möglich, das
ganze RAM 80 oder einen Teil davon extern anzuschließen.
-
Ein
Bus 90 (oder Busse 92 und 94) dienen für Verbindungen
zu Anwendungen, wie etwa ein erster Bus. Ein anderer Bus 96 (oder
Bus 98) dient zum Steuern der Datenübertragungssteuervorrichtung
als ein zweiter Bus, der elektrisch mit einer Einrichtung (wie etwa
einer CPU) verbunden ist, die die Datenübertragungssteuereinrichtung
steuert. Noch ein weiterer Bus 100 (oder Busse 102, 104, 105, 106, 107, 108 und 109)
dienen für
elektrische Verbindungen zu Einrichtungen der physikalischen Schicht
(wie etwa dem PHY-Chip) als ein dritter Bus. Ein weiterer Bus 110 (ein
vierter Bus) dient für
elektrische Verbindungen mit einem RAM, das als Speichermittel mit
wahlfreiem Zugriff wirkt.
-
Die
Arbitrierungsschaltung 74 im Pufferverwalter 70 arbitriert
Buszugriffsanforderungen vom DMAC 40, dem DMAC 42,
dem DMAC 44, der CPU-Schnittstelle 60 und dem
DMAC 54. Basierend auf den Ergebnissen dieser Arbitrierung
wird ein Datenweg zwischen einem der Busse 105, 107, 109, 98 und 94 und
dem Bus 110 des RAM 80 hergestellt (das heißt, ein
Datenweg wird zwischen einem unter erstem, zweitem und drittem Bus
und dem vierten Bus hergestellt).
-
Ein
Merkmal dieser Ausgestaltung ist die Art und Weise, wie sie mit
dem RAM 80 ausgestattet ist, das Pakete in wahlfrei zugänglicher
Weise speichert, sowie die gegenseitig unabhängigen Busse 90, 96 und 100 sowie
die Arbitrierungsschaltung 74 zum Verbinden eines dieser
Busse mit dem Bus 110 des RAM 80.
-
Eine
Datenübertragungssteuereinrichtung, die
eine andere Konfiguration als diejenige dieser Ausgestaltung hat,
ist in 8 beispielhaft gezeigt. Bei dieser Datenübertragungssteuervorrichtung
ist ein Verknüpfungskern 902 mit
einem PHY-Chip durch eine PHY-Schnittstelle und einen Bus 922 verbunden.
Der Verknüpfungskern 902 ist
mit einer CPU 912 durch FIFOs 904, 906 und 908,
eine CPU-Schnittstelle 910 und einen Bus 920 verbunden.
Die CPU 912 ist außerdem
mit einem RAM 914, das lokaler Speicher in der CPU ist,
durch einen Bus 924 verbunden.
-
Man
beachte, dass die FIFOs 904, 906 und 908 von
den FIFOs 30, 32 und 34 von 6 darin
unterschieden sind, dass sie eine extrem große Zahl von Stufen (wie etwa
16 Stufen pro FIFO) haben.
-
Das
Verfahren zur Datenübertragung,
das mit der wie in 8 gezeigt konfigurierten Datenübertragungssteuereinrichtung
eingesetzt wird, wird nun mit Bezug auf 9 beschrieben.
Ein von einem anderen Knoten über
einen PHY-Chip 930 gesendetes Empfangspaket passiert über den
Bus 922, eine Datenübertragungssteuervorrichtung 932 und
den Bus 920 und wird dann von der CPU 912 akzeptiert. Die
CPU 912 schreibt das akzeptierte Empfangspaket über den
Bus 924 in das RAM 914. Die CPU 912 verarbeitet
das Empfangspaket in eine Form, die von der Anwendungsschicht verarbeitet
werden kann und überträgt sie dann
an eine Anwendungsschichteinrichtung 934 über einen
Bus 926.
-
Wenn
die Anwendungsschichteinrichtung 934 Daten überträgt, schreibt
andererseits die CPU 912 diese Daten in das RAM 914.
Ein Header wird an die Daten im RAM 914 angehängt, um
ein Paket zu erzeugen, das IEEE 1394 entspricht. Das so erzeugte
Paket wird an einen anderen Knoten über den die Datenübertragungssteuereinrichtung 932 und
den PHY-Chip 30 umfassenden Pfad gesendet.
-
Allerdings
ist, wenn dieses Datenübertragungsverfahren
verwendet wird, die Verarbeitungslast auf der CPU 912 extrem
hoch. Dies bedeutet, dass selbst wenn es eine hohe Übertragungsgeschwindigkeit über den
seriellen Bus, der die Knoten verbindet, gibt, die tatsächliche Übertragungsgeschwindigkeit
des gesamten Systems durch Faktoren wie etwa Verarbeitungsoverheads
der CPU 912 verringert wird, so dass es letztlich nicht
möglich
ist, Hochgeschwindigkeitsdatenübertragung
zu implementieren.
-
Ein
Verfahren, das zum Lösen
dieses Problems in Betracht gezogen werden kann, verwendet Hardware-DMA,
um Datenübertragung
zwischen der Datenübertragungssteuereinrichtung 932 und
dem RAM 914 und Datenübertragung
zwischen dem RAM 914 und der Anwendungsschichteinrichtung 934 zu implementieren,
wie in 10 gezeigt. Allerdings muss
bei diesem Verfahren ein CPU-Bus 928 für Datenübertragungen
zwischen der Datenübertragungssteuereinrichtung 932 und
dem RAM 914, zwischen dem RAM 914 und der CPU 912 und
zwischen dem RAM 914 und der Anwendungsschichteinrichtung 934 verwendet
werden. Dies bedeutet, dass wenn ein Versuch gemacht wird, die Geschwindigkeit
der Datenübertragungen
in dem gesamten System zu erhöhen,
ein Hochgeschwindigkeitsbus wie etwa ein PCI-Bus als CPU-Bus 928 verwendet
werden muss, was zu einer Steigerung der Kosten von diese Datenübertragungssteuervorrichtung
verwendenden elektronischen Geräten
führt.
-
Im
Gegensatz dazu gewährleistet
diese Ausgestaltung der Erfindung, dass der Bus 90 zwischen einer
Datenübertragungssteuereinrichtung 120 und einer
Anwendungsschicht 124, der CPU-Bus 96 und der
Bus 110 zwischen der Datenübertragungssteuereinrichtung 120 und
dem RAM 80 voneinander wie in 11 gezeigt
getrennt sind. Die Konfiguration ist daher derart, dass der CPU-Bus 96 allein
zum Steuern der Datenübertragung
genutzt werden kann. Zusätzlich
ist der Bus 90 dediziert, so dass er für Datenübertragung zwischen der Datenübertragungssteuereinrichtung 120 und
der Anwendungsschicht 124 verwendet werden kann. Wenn zum
Beispiel das elektronische Gerät,
in dem die Datenübertragungssteuereinrichtung 120 eingebaut
ist, ein Drucker ist, kann der Bus 90 für die ausschließliche Übertragung
von Druckdaten verwendet werden. Als Ergebnis kann die Verarbeitungslast
der CPU 66 verringert und die tatsächliche Übertragungsgeschwindigkeit
des gesamten Systems erhöht
werden. Zusätzlich
kann eine preiswerte Einrichtung als CPU 66 verwendet werden,
und es ist auch nicht mehr notwendig, einen Hochgeschwindigkeitsbus
wie etwa den CPU-Bus 96 zu verwenden. Dies gewährleistet,
dass das elektronische Gerät
noch preiswerter und kompakter gefertigt werden kann.
-
3. Empfangspaketformat
-
3.1 Merkmale dieser Ausgestaltung
-
In
dieser Ausgestaltung der Erfindung ist das Speichergebiet im RAM 80 unterteilt
in ein Headergebiet (allgemein gesprochen ein Steuerinformationsgebiet),
in dem Paketheader (allgemein gesprochen, Steuerinformation) gespeichert
sind, und ein Datengebiet, in dem Paketdaten gespeichert sind, wie
in 7 gezeigt.
-
In
dem beispielhaft in 8 gezeigten Vergleichsbeispiel
muss die CPU 912 Pakete von den FIFOs 904 und 906 in
der Reihenfolge akzeptieren, in der sie empfangen wurden. Daher
muss die CPU 912, wenn versucht wird, Header und Daten
jedes Empfangspaketes zu trennen, erst das aus dem FIFO 908 ausgelesene
Empfangspaket zeitweilig im RAM 914 speichern, das ein
lokaler Speicher ist, und dann das Empfangspaket aus dem RAM 914 lesen, um
Header und Daten zu trennen. Daher ist die Verarbeitungslast auf
der CPU 912 sehr hoch, was letztlich zu einer Beeinträchtigung
der tatsächlichen Übertragungsgeschwindigkeit
des gesamten Systems führt.
-
Im
Gegensatz dazu ist der Speicherbereich des RAM 80 in der
in 6 gezeigten Ausgestaltung in ein Headergebiet
und ein Datengebiet unterteilt. Genauer gesagt werden Header und
Daten jedes Empfangspaketes durch die Hardware getrennt, wobei der
Header im Headergebiet und die Daten im Datengebiet gespeichert
werden, wie in 12 gezeigt. Dies gewährleistet,
dass die Verarbeitungslast auf der CPU 66 im Vergleich
zur Konfiguration von 8 sehr klein ist, was die tatsächliche Übertragungsgeschwindigkeit
des gesamten Systems verbessern kann. Da es außerdem möglich ist, eine preiswerte
Einrichtung als CPU 66 zu verwenden und es auch ausreicht,
einen langsamen Bus für
die Verbindung zur CPU 66 zu verwenden, können die Datenübertragungssteuereinrichtung
und elektronisches Gerät
bei niedrigeren Kosten kompakter gemacht werden.
-
Bei
dieser Ausgestaltung der Erfindung werden Header zusammen im Headergebiet
und Daten zusammen im Datengebiet gespeichert. Es ist daher möglich, die
Lese- und Schreibverarbeitung von Headern und Daten zu vereinfachen
und dadurch eine Verringerung des Verarbeitungsoverheads zu ermöglichen.
Betrachtet man zum Beispiel Datenübertragung nach dem Verfahren
von 11, so kann die Datenübertragung gesteuert werden,
indem die CPU 66 lediglich Zugang zum Headergebiet über den CPU-Bus 96 hat,
um Header zu lesen und zu schreiben. Die Anwendungsschichteinrichtung 124 kann auch
die Daten aus dem Datengebiet kontinuierlich über den Bus 90 lesen,
sowie Daten in das Datengebiet kontinuierlich schreiben.
-
Bei
dieser Ausgestaltung der Erfindung ist eine Entsprechung zwischen
jedem im Header-Gebiet gespeicherten Header und den im Datengebiet gespeicherten
Daten durch einen in dem Header enthaltenen Datenzeiger hergestellt,
wie in 13 gezeigt. Die Anhängung dieses
Datenzeigers wird wie nachfolgend beschrieben implementiert.
-
Mit
anderen Worten umfasst der Verknüpfungskern 20 dieser
Ausgestaltung der Erfindung eine Paketformungs-(umformungs)schaltung 160, und
der DMAC 44 (allgemein gesprochen das Schreibmittel) umfasst
eine Paketaufteilungsschaltung 180 wie in 14 gezeigt.
In diesem Fall formt die Paketformungsschaltung 160 jedes
von einem anderen Knoten her übertragene
Paket in eine Form, die von einer oberen Schicht wie etwa der Transaktionsschicht
oder der Anwendungsschicht verarbeitet werden kann. Die Paketaufteilungsschaltung 180 teilt jedes
Paket auf und führt
dann eine Verarbeitung zum Schreiben von Header und Trailer (Footer)
dieses Paketes in das Headergebiet des RAM 80 und der Daten
des Paketes in das Datengebiet des RAM 80 aus.
-
Die
Paketaufteilungsschaltung 180 übergibt an die Paketformungsschaltung 160 einen
Datenzeiger, der die Adresse (Startadresse) von in das Datengebiet
geschriebenen Daten angibt. Die Paketformungs-(umformungs)schaltung 160,
die den Datenzeiger empfangen hat, hängt dann diesen Datenzeiger
an den Header des Paketes an (bettet ihn darin ein). Der Header,
an den der Datenzeiger angehängt worden
ist, wird in dem in 13 gezeigten Headergebiet gespeichert,
und die von dem Datenzeiger bezeichneten Daten werden im Datengebiet
gespeichert. In diesem Fall wird die Schreibadresse WADR von Header
und Daten durch die Paketaufteilungsschaltung 180 erzeugt.
-
Diese
Konfiguration macht es für
die Firmware o. dgl., die einen Header aus dem Headergebiet liest,
einfach, die Speicheradresse der diesem Header entsprechenden Daten
im Datengebiet festzustellen. Zusätzlich wird der Datenzeiger
von der Paketformungsschaltung 160 angehängt, so
dass es für den
DMAC 44 (die Paketaufteilungsschaltung 180) nicht
notwendig ist, sich daran zu beteiligen. Der DMAC 44 kann
sich daher auf das Schreiben von Daten in das RAM 80 konzentrieren,
was die Schaltungskonfiguration und die Verarbeitung des DMAC 44 vereinfacht.
-
Bei
dieser Ausgestaltung der Erfindung werden die in 15 erzeugten
Etiketten erzeugt, um zwischen Start (Spitze des Headers), Header,
Daten und Trailer jedes Empfangspaketes zu unterscheiden, und diese
Etiketten werden mit dem Empfangspaket verknüpft. Genauer gesagt gibt der
Verknüpfungskern 20,
wenn er den Anfang (die Spitze des Headers), Header, Daten und Trailer
eines Empfangspaketes an den FIFO 34 überträgt, gleichzeitig die in 15 gezeigten
2-Bit-Etiketten
an das FIFO 34 aus. Bei dieser Ausgestaltung werden diese
Etiketten, die mit jedem Empfangspaket verknüpft worden sind, verwendet,
um Header und Daten des Empfangspaketes zu trennen und sie, wie
in 12 gezeigt, jeweils im Header-Gebiet bzw. dem
Datengebiet zu speichern. Genauer gesagt legt die Paketaufteilungsschaltung 180 des
DMAC 44 die DTAG-Codes (Etiketten) fest, die von dem FIFO 34 zusammen
mit dem Empfangspaket ausgegeben werden, um Header und Daten des
Empfangspaketes zu trennen und sie basierend auf dem Ergebnis in das
RAM 80 zu schreiben. Man beachte, dass die Etiketten alles
Mögliche
sein können,
was wenigstens den Header und die Daten voneinander unterscheidet.
-
Ein
Beispiel eines Verfahrens, das Header und Daten eines Empfangspaketes
ohne Verwendung von Etiketten trennt, ist ein Verfahren, das einen Tcode
(Transaktionscode) innerhalb jedes Headers verwendet. Mit anderen
Worten wird der Tcode decodiert, um die Größe des Headers zu prüfen, ein
dieser Größe entsprechender
Teil des Empfangspaketes wird im Header-Gebiet gespeichert, und
der Rest wird im Datengebiet gespeichert.
-
Dieses
Verfahren erfordert jedoch eine Schaltung zum Decodieren des Tcode,
so dass die Schaltungen umfangreicher werden.
-
Wenn
stattdessen Etiketten verwendet werden, kann der DMAC 44 Header
und Daten eines Empfangspaketes durch einfache Betrachtung der Etiketten
unterscheiden. Es ist daher möglich,
den Header und die Daten jedes Empfangspaketes durch einen einfachen
Prozess zu trennen, ohne den Umfang der Schaltungen wesentlich zu
erhöhen.
-
Man
beachte, dass das Header-Gebiet des RAM 80 nach dieser
Ausgestaltung vorzugsweise in getrennte Gebiete für Empfang
und Übertragung
unterteilt ist, wie in 16 gezeigt. Entsprechend könnte das
Datengebiet in Gebiete für
Empfang und Senden sowie in Gebiete für isochrone Übertragung
und asynchrone Übertragung
unterteilt werden. Zusätzlich
zum Header-Gebiet und Datengebiet ist es auch bevorzugt, Arbeitsgebiet
für die
CPU 66 bereitzustellen, das von diesen Gebieten getrennt
ist.
-
Wenn
das Speichergebiet des RAM 80 in eine Mehrzahl von Gebieten
unterteilt ist, ist es außerdem
bevorzugt, dass die Größe eines
jeden Gebietes variabel gesteuert werden kann. Genauer gesagt können Zeiger
P1 bis P6, welche die Adressen der Grenzen der Gebiete angeben,
variabel gesteuert werden, wie in 16 gezeigt.
Dies macht es möglich,
für jede
Anwendung die optimale Gebietsaufteilung zu implementieren. In diesem
Fall ist es bevorzugt, dass die Größe jedes Gebietes im RAM 80 nach
dem Einschalten dynamisch und variabel gesteuert werden kann. Dies
macht es möglich,
während
Empfangsverarbeitung das Gebiet für den Empfang zu vergrößern oder
während
Sendeverarbeitung das Gebiet für
das Senden zu vergrößern, was
die effiziente Nutzung begrenzter Ressourcen ermöglicht.
-
Bei
dieser Ausgestaltung der Erfindung wird BC (allgemein gesagt, Verbreitungsinformation (Broadcast
information)), die angibt, ob das Paket an alle mit dem Bus verbundenen
Knoten gesendet worden ist oder nicht, an einen Teil des Paketes
wie etwa den Trailer (allgemein gesprochen, Steuerinformation) während der
Paketformung angehängt,
wie in 17A gezeigt.
-
Mit
anderen Worten umfasst asynchrone Übertragung gemäß IEEE 1394
eine dem Paket zugeordnete 16-Bit-Ziel-ID (DestID) zum Spezifizieren des
Knotens, der dessen Übertragungsziel
ist. Die Konfiguration ist derart, dass der Verknüpfungskern (Verknüpfungsschicht)
die obere Schicht wie etwa die Firmware (die Transaktionsschicht)
nicht informiert, wenn das Paket an einen anderen Knoten adressiert
ist, wie in 17B gezeigt. Dies erlaubt es,
eine unnötige
Verarbeitung der Firmware wie etwa Decodieren der 16-Bit-DestID,
zu verhindern.
-
Wenn
die in einem Paket enthaltene DestID 0 × 3F ist, ist dieses Paket
an alle Knoten übertragen worden.
Daher überträgt der Verknüpfungskern
dieses Paket an die obere Schicht. Die Firmware muss daher die DestID
dieses Paketes ggf. decodieren, um festzustellen, ob es verbreitet
worden ist oder nicht.
-
Wenn
die DestID 0 × 3F
ist, wird die Verbreitungsinformation BC gemäß dieser Ausgestaltung der
Erfindung auf 1 gesetzt, wie in 17C gezeigt. Wenn
die DestID nicht 0 × 3F
ist, wird hingegen BC gleich 0 gesetzt, wie in 17D gezeigt. Diese Konfiguration macht es möglich, festzulegen,
ob ein Paket verbreitet worden ist oder nicht, indem einfach der Wert
des einen Bits BC geprüft
wird. Mit anderen Worten kann die Firmware feststellen, ob das Paket verbreitet
worden ist oder nicht, ohne die 16-Bit-Ziel-ID decodieren zu müssen. Dies
bedeutet, dass die Firmware die Ziel-ID nicht decodieren muss, was
die Verarbeitungslast auf der Firmware reduziert. Im Ergebnis kann
die tatsächliche Übertragungsgeschwindigkeit
des gesamten Systems verbessert werden.
-
Diese
Ausgestaltung der Erfindung hängt HCE,
die angibt, ob im Header oder einem anderen Teil des Paketes ein
Fehler enthalten ist (allgemein gesagt, Fehlerstatusinformation),
an ein anderes Teil des Paketes wie etwa den Trailer (allgemein
gesagt, Steuerinformation) während
der Paketformung an, wie in 18A gezeigt.
-
Diese
Ausgestaltung macht es der Firmware möglich, festzustellen, ob ein
Fehler in dem Paket vorgelegen hat oder nicht, indem einfach der
Wert des 1-Bit-HCE überprüft wird.
Mit anderen Worten kann die Firmware feststellen, ob ein Fehler
in dem Paket vorgelegen hat oder nicht, ohne den 32-Bit-Header-CRC zu
kontrollieren. Als Ergebnis kann die Verarbeitungslast auf der Firmware
verringert werden, was eine Verbesserung in der tatsächlichen Übertragungsgeschwindigkeit
des gesamten Systems darstellt.
-
Man
beachte, dass es bevorzugt ist, die Daten eines in das Datengebiet
geschriebenen Paketes ungültig
zu machen, wenn festgestellt wird, dass ein Fehler in dem Paket
vorhanden ist. Genauer gesagt kehrt, wenn festgestellt wird, dass
ein Fehler in einem Paket, das in 18B Daten
3 umfasst (wenn HCE = 1 ist), der Datenzeiger DP an die Anfangsadresse des
Gebietes zurück,
in dem Daten 3 gespeichert sind. Dies ermöglicht es, die Kontinuität von Daten
in dem Datengebiet zu wahren. Mit anderen Worten wird es möglich, ausschließlich korrekte
Daten in dem Datengebiet kontinuierlich zu speichern, wodurch es
der Anwendungssoftware ermöglicht
wird, nur korrekte Daten in Folge aus dem Datengebiet zu lesen.
-
Außerdem kann
die Firmware aus HCE wissen, ob ein Fehler in dem Paket vorgelegen
hat oder nicht, so dass die Firmware anfordern kann, dass ein geeigneter
Knoten das Paket neu überträgt. Die
so konfigurierte Ausgestaltung der Erfindung ermöglicht es, die Verarbeitungslast
auf der Firmware und der Anwendungssoftware zu verringern, was eine
Verbesserung in der Gesamtübertragungsgeschwindigkeit
des gesamten Systems ermöglicht.
-
Man
beachte, dass an Stelle eines Header-CRC-Fehlers auch ein beliebiger
anderer Fehler wie etwa ein Daten-CRC-Fehler als Fehlerstatusinformation
angesehen werden könnte.
-
Während eines
Self-ID-Zeitraumes werden Self-ID-Pakete von allen an den Bus angeschlossenen
Knoten wie in 19 gezeigt gesendet. Das erste
Quadlet eines jeden Self-ID-Paketes stellt die Daten selbst (Körper) dar
und umfasst Grundinformation wie etwa die Knoten-ID, und das zweite
Quadlet ist Paritätsinformation
(Fehlerprüfinformation),
die das Inverse des ersten Quadlets ist (für Details siehe 4A).
-
Mit
einer Datenübertragungssteuereinrichtung
der in 8 als Beispiel gezeigten Konfiguration wird eine
Reihe von Self-ID-Paketen wie in 20A gezeigt
geformt. Mit anderen Worten wird jedes Self-ID-Paket, das ein Paket der physikalischen Schicht
ist, durch Anschluss eines Headers geformt, der eine Schnittstelle
zu einer oberen Schicht (Transaktionsschicht oder Anwendungsschicht)
bildet. Das so geformte Paket wird im RAM 914 gespeichert,
das der lokale Speicher für
die CPU 912 ist.
-
Es
ist jedoch notwendig, über
die gleiche Anzahl von Self-ID-Paketen zu verfügen, wie der Anzahl von Knoten
entspricht, so dass, wenn zum Beispiel 63 Knoten an den Bus angeschlossen
sind, ein Minimum von 63 Self-ID-Paketen beibehalten werden muss.
Mit anderen Worten gibt es üblicherweise
eine extreme Anzahl von Self-ID-Paketen. Wenn ein Header an jedes
Self-ID-Paket angehängt
wird und die resultierenden Pakete unverändert im RAM gespeichert werden,
wird daher die freie RAM-Kapazität verringert,
und es wird unmöglich,
die Ressourcen jedes Knotens effizient zu nutzen. Außerdem muss
die Firmware die notwendige Verarbeitung für die Annahme jedes einzelnen
dieser Self-ID-Pakete ausführen.
Daher nimmt mit zunehmender Anzahl der Self-ID-Pakete auch die Verarbeitungslast
auf der Firmware zu. Außerdem
muss die Arbeit des Formens dieser akzeptierten Self-ID-Pakete erledigt werden,
nachdem der Self-ID-Zeitraum geendet hat, mit anderen Worten, nachdem
ein Bus-Reset aufgetreten ist und dann eine anfängliche Arbitrierungs-Resetlücke aufgetreten
ist. Daher nimmt mit zunehmender Zahl der Self-ID-Pakete auch die
mit der Formung dieser Pakete zusammenhängende Verarbeitungslast zu.
-
Bei
dieser Ausgestaltung der Erfindung wird eine Folge von Paketen,
die eingesendet werden, zu einem Paket geformt, das einen aus einem
Header (allgemein gesprochen aus Steuerinformation) bestehenden
Rahmen und Daten aus dieser Reihe von Self-ID-Paketen umfasst, wie
in 20B gezeigt. Mit anderen Worten wird die Folge
von Self-ID-Paketen umgepackt in ein einziges Paket, und ein einziger Header
wird an dieses umgepackte Paket angehängt, um eine Schnittstelle
zu oberen Schichten zu bilden.
-
Diese
Konfiguration beseitigt erfolgreich die Situation, bei der die freie
Kapazität
des RAM (des RAM 80 von 6), welches
das Paketspeichermittel ist, verringert wird. Zusätzlich gewährleistet
diese Ausgestaltung der Erfindung, dass nur ein umgepacktes Paket
verwendet wird, auch wenn N Self-ID-Pakete
vorhanden sind. Es ist daher ausreichend, einen einzigen Paketlesevorgang
auszuführen,
um dieses umgepackte Paket in das RAM zu lesen. Dies bedeutet, dass
die Verarbeitungslast auf der Firmware dramatisch verringert werden
kann.
-
Außerdem hängt diese
Ausgestaltung der Erfindung BR, was Statusinformation ist, die angibt, ob
das Paket während
des Self-ID-Zeitraumes empfangen wurde, an den Trailer (allgemein
gesprochen an Steuerinformation) jedes Paketes an, wie in 20B gezeigt. Mit anderen Worten enthalten von der
physikalischen Schicht gehandhabte PHY-Pakete zusätzlich zu
Self-IF-Paketen Link-on-Pakete und PHY-Konfigurationspakete, wie
in 4A bis 4D gezeigt.
Bei dieser Ausgestaltung der Erfindung ist bevorzugt, dass die Firmware
zwischen Self-ID-Paketen und anderen PHY-Paketen (Link-on-Paketen und
PHY-Konfigurationspaketen) auf einfache Weise unterscheiden kann.
Dies liegt daran, dass an das Self-ID-Paket ein Datenzeiger angehängt wird,
so dass die Firmware das Self-ID-Paket anders als andere PHY-Pakete
handhabt.
-
Es
ist jedoch nicht möglich,
zu unterscheiden, welcher Typ von PHY-Paket zu verarbeiten ist, auch
wenn Tcode, der durch IEEE 1394 standardisiert worden ist, als Information
zum Unterscheiden des Pakettyps verwendet wird.
-
Bei
dieser Ausgestaltung der Erfindung wird BR, der angibt, ob das Paket
während
des Self-ID-Zeitraumes
empfangen wurde, an den Trailer jedes Paketes angehängt, wie
in 20B gezeigt. Dies ermöglicht es der Firmware o. dgl.,
auf einfache Weise zu unterscheiden, ob ein Paket ein Self-ID-Paket oder ein
anderes PHY-Paket ist, wodurch die Verarbeitungslast verringert
wird.
-
Man
beachte, dass diese Ausgestaltung der vorliegenden Erfindung vorzugsweise
die Paritätsinformation
im zweiten Quadlet jedes Self-ID-Paketes löscht und den Datenabschnitt
des umgepackten Paketes formt, indem es die Self-ID-Pakete ohne
die gelöschten
Paritäten
(die Daten der Self-ID-Pakete) verknüpft. Dies
ermöglicht
es, die Größe des umgepackten
Paketes auf etwa die Hälfte eines
durch Nicht-Löschen
der Paritäten
gebildeten Paketes zu verringern, was eine weitere Verringerung
der Kapazität
des RAM ermöglicht,
die zum Speichern des Self-ID-Paketes erforderlich ist.
-
Wenn
ein Zielknoten ein Paket durch asynchrone Übertragung empfängt, sendet
der Ziel-(Übertragungsziel)Knoten
ein ACK an den Quell-(Übertragungsursprungs-)Knoten,
wie mit Bezug auf 1A beschrieben. Gleichzeitig
nimmt der Verknüpfungskern
des Zielknotens das an den Quellknoten gesendete ACK und hängt es an
das empfangene Paket an. Dies macht es möglich, das an den Quellknoten
gesendete ACK an eine obere Schicht wie etwa die Firmware zu übertragen.
Genauer gesagt hängt
die Paketformungsschaltung 160 von 14 das
ACK an den Trailer an, wie in 21A gezeigt.
Dieses ACK ist ein 4-Bit-Code, der verwendet werden kann, um einen
Zustand wie etwa Bestätigung
komplett, Bestätigung
anhängig,
Bestätigung beschäftigt oder
Bestätigungsfehler
anzuzeigen.
-
Allerdings
wird das ACK an den Trailer angehängt, der das hinterste Ende
einer zeitlichen Folge während
der Paketformung ist, und das ACK wird an das hinterste Ende des
Headers im RAM geschrieben, wie in 21A gezeigt.
Dies bedeutet, dass die nachfolgend beschriebene Verarbeitung durchgeführt werden
muss, wenn die Firmware das ACK bestätigt. Zunächst decodiert die Firmware
den 4-Bit-Tcode am vordersten Ende des Headers, um die Größe des Headers
zu überprüfen. Dann
berechnet sie basierend auf dieser Headergröße die Adresse, an der das
ACK (Trailer) gespeichert ist, und liest das ACK. Die Verarbeitung
zur Bestätigung
des ACK ist daher eine hohe Last auf der Firmware, die jegliche
Verbesserung der tatsächlichen Übertragungsgeschwindigkeit
des gesamten Systems verhindert. Insbesondere wenn es einen Bestätigungsfehler
o. dgl. gibt, ist die Verarbeitung zur Bestätigung des ACK völlig vergeblich.
-
Bei
dieser Ausgestaltung der Erfindung könnte die gegebene Information
wie etwa das ACK, die an das hinterste Ende des Paketes in zeitlicher Reihenfolge
während
der Paketformung angehängt wird,
an das vorderste Ende des Headers des Paketes (zum Beispiel in das
allererste Quadlet) im RAM geschrieben werden, wie in 21B gezeigt. Dies würde es der Firmware ermöglichen,
die gegebene Information wie etwa das ACK zu bestätigen, ohne den
Tcode zu decodieren. Dies liegt daran, dass das ACK o. dgl. am vordersten
Ende des Headers gespeichert ist und es daher nicht notwendig ist,
Details wie etwa die Größe des Headers
aus dem Tcode zu überprüfen.
-
Man
beachte, dass es auch möglich
ist, die Headerlänge
(Headergröße) festzulegen
und die gegebene Information wie etwa das ACK in das Header-Gebiet
zu schreiben. Wenn die Headerlänge
auf diese Weise festgelegt ist, kann die Firmware auf die gegebene
Information in einfacher Weise zugreifen, unabhängig davon, welches Quadlet
in welchem Header fester Länge
innerhalb des Header-Gebietes die gegebene Information wie etwa
das ACK enthält. In
einem solchen Falle ist es bevorzugter, diese gegebene Information
im anfänglichen
oder abschließenden
Quadlet eines beliebigen Headers fester Länge innerhalb des Header-Gebietes
zu schreiben. Diese Konfiguration macht es möglich, die Kontinuität von Daten
im Header besser aufrecht zu erhalten, als wenn die gegebene Information
anderswo als im anfänglichen
oder abschließenden
Quadlet des Headers fester Länge
gespeichert ist.
-
Zusätzlich zu
dem ACK (an den Quellknoten gesendete Bestätigungsinformation) könnten andere Arten
von Information als die oben beschriebene gegebene Information betrachtet
werden, zum Beispiel spd (Geschwindigkeitscodeinformation zum Spezifizieren
der Geschwindigkeit der Datenübertragung), BC
(Verbreitungsinformation, die angibt, ob das Paket an alle an den
Bus angeschlossenen Knoten gesendet worden ist oder nicht), BR (Information,
die angibt, ob das Paket während
des Self-ID-Zeitraumes empfangen wurde oder nicht) oder HCE (Fehlerstatusinformation,
die angibt, ob es einen Fehler in dem Paket gegeben hat oder nicht).
-
3.2 Konfiguration
-
Ein
detailliertes Beispiel der Konfiguration des Verknüpfungskernes 20,
des FIFO 34 und des DMAC 44 ist in 22 gezeigt.
Der Verknüpfungskern 20 umfasst
eine Busüberwachungsschaltung 130,
eine Seriell-Parallel-Umwandlungsschaltung 132 und eine
Paketformungsschaltung 160. Die Paketformungsschaltung 160 umfasst
eine Paketdiagnoseschaltung 142, einen Sequenzierer 167,
einen Puffer 168 und einen Selektor 170, und die
Paketdiagnoseschaltung 142 umfasst eine Etikettenerzeugungsschaltung 162,
eine Header/Trailer-Erzeugungsschaltung 164 und eine Fehlerprüfschaltung 166.
-
Die
Busüberwachungsschaltung 130 überwacht
den 8-Bit-Datenbus D und den 2-Bit-Steuerbus CTL, die durch die
PHY-Schnittstelle 10 mit dem PHY-Chip verbunden sind.
-
Die
Seriell-Parallel-Umwandlungsschaltung 132 wandelt die Daten
auf dem Datenbus D in 32-Bit-Daten
um. Wenn zum Beispiel die Übertragungsgeschwindigkeit
400 Mbps ist, werden 8-Bit-Daten in 32-Bit-Daten umgewandelt; wenn
die Übertragungsgeschwindigkeit
200 Mbps ist, werden 4-Bit-Daten
in 32-Bit-Daten umgewandelt; und wenn die Übertragungsgeschwindigkeit
100 Mbps ist, werden 2-Bit-Daten in 32-Bit-Daten umgewandelt.
-
Die
Paketdiagnoseschaltung 142 ist eine Schaltung, die Pakete
diagnostiziert. Die Etikettenerzeugungsschaltung 162 erzeugt
Etiketten zum Begrenzen von Header, Daten, Trailer etc., und die
Header/Trailer-Erzeugungsschaltung 164 erzeugt Header und
Trailer (Footer). Die Fehlerprüfschaltung 166 untersucht
Fehlerprüfinformation
wie etwa Paritätsinformation,
die in jedem Paket enthalten ist, um Fehler darin zu erfassen.
-
Der
Sequenzierer 167 erzeugt diverse Steuersignale. Der Puffer 168 und
der Selektor 170 wählen
unter DI von der Seriell-Parallel-Umwandlungsschaltung 132,
einem Header und Trailer von der Paketdiagnoseschaltung 142 oder
Datenzeigern von DMAC 44 unter Verwendung eines SEL-Signals
von der Paketdiagnoseschaltung 142 eines aus.
-
Der
FIFO 34 wirkt als ein Puffer zum Anpassen der Phase von
RD (Ausgabedaten vom Verknüpfungskern 20)
und der Phase von WDATA (in das RAM 80 zu schreibende Daten),
und er umfasst eine FIFO-Zustandsbeurteilungsschaltung 35.
Die FIFO-Zustandsbeurteilungsschaltung 35 setzt ein EMPTY-Signal
auf aktiv, wenn der FIFO leer ist, und ein FULL-Signal auf aktiv,
wenn der FIFO voll ist.
-
Der
DMAC 44 (Schreibmittel) umfasst eine Paketaufteilungsschaltung 180,
eine Zugriffsanforderungsausführungsschaltung 190 und
eine Zugriffsanforderungserzeugungsschaltung 192.
-
Die
Paketaufteilungsschaltung 180 ist eine Schaltung, die Pakete,
die von der Paketformungsschaltung 160 geformt worden sind,
aufteilt und dann die Header und Trailer in das Header-Gebiet des RAM 80 und
die Daten in dessen Datengebiet schreibt (siehe 12).
Die Paketaufteilungsschaltung 180 umfasst eine Etikettenbestimmungsschaltung 182,
eine Zeigeraktualisierungsschaltung 184 und eine Adressenerzeugungsschaltung 188.
-
Die
Etikettenbestimmungsschaltung 182 identifiziert die von
der Etikettenerzeugungsschaltung 162 erzeugten Etiketten
(DTAG).
-
Die
Zeigeraktualisierungsschaltung 184 empfängt eine Ausgabe von der Etikettenbestimmungsschaltung 182 und
aktualisiert den Headerzeiger (allgemein gesprochen, einen Steuerinformationszeiger)
und einen Datenzeiger zum Schreiben des Headers und der Daten in
das RAM 80.
-
Die
Adressenerzeugungsschaltung 188 empfängt eine Ausgabe von der Zeigeraktualisierungsschaltung 184 und
gibt eine Schreibadresse WADR an das RAM 80 aus.
-
Die
Zugriffsanforderungsausführungsschaltung 190 führt Zugriffsanforderungen
vom Verknüpfungskern 20 aus.
Wenn das FULL-Signal von der FIFO-Zustandsbeurteilungsschaltung 35 aktiv
ist, setzt die Zugriffsanforderungsausführungsschaltung 190 ein
FFULL-Signal auf aktiv. Der Sequenzierer 167 in der Paketformungsschaltung 160 setzt
RDS, das ein RD-(R × Data)-Impulssignal
ist, auf aktiv, wenn FFULL nicht aktiv ist. Man beachte, dass RFAIL ein
Signal ist, das vom Sequenzierer 167 verwendet wird, um
die Zugriffsanforderungsausführungsschaltung 190 zu
informieren, dass ein Empfang fehlgeschlagen ist.
-
Die
Zugriffsanforderungserzeugungsschaltung 192 gibt eine Zugriffsanforderung
an das RAM 80 aus. Die Zugriffsanforderungserzeugungsschaltung 192 empfängt WACK
(eine Schreibbestätigung vom
Pufferverwalter 70) und EMPTY von der FIFO-Zustandsbeurteilungsschaltung 35 und
gibt WREQ (eine Schreibanforderung) an den Pufferverwalter 70 aus.
-
3.3 Empfangsseitiger Betrieb
-
Der
Betrieb dieser Ausgestaltung wird nun mit Bezug auf das Zeitablaufswellenformdiagramm von 23 beschrieben.
-
Die
Beschreibung betrifft zunächst
den Betrieb des Verknüpfungskernes 20.
-
Wenn
ein Paket von einem anderen Knoten über den PHY-Chip empfangen
wird, diagnostiziert die Paketdiagnoseschaltung 142 dieses
Paket. Dann erzeugt (formt) die Header/Trailer-Erzeugungs schaltung 164 einen
Header. Dieser Header wird über
den Puffer 168 in den Selektor 170 eingegeben,
und der Selektor 170 wählt
diesen Header auf Grundlage des SEL-Signals von der Paketdiagnoseschaltung 142. Dies
gewährleistet,
dass der Header (H0 bis H4) als RD an das FIFO 34 ausgegeben
wird, wie bei A1 in 23 gezeigt.
-
Man
beachte, dass das Format eines über den
seriellen Bus (die IEEE 1394-Norm) übertragenes asynchrones Paket
in 24A gezeigt ist. Das Format des Header-Abschnittes
des asynchronen Empfangspaketes, der im Header-Gebiet des RAM 80 gespeichert
ist, ist in 24B gezeigt (der schraffierte
Abschnitt in dieser Figur stellt den Trailer dar). In der wie oben
konfigurierten Ausgestaltung wird ein Paket im Format von 24A zu einem Paket im Format von 24B geformt, um zu gewährleisten, dass es von einer
oberen Schicht wie etwa Firmware verwendet werden kann.
-
Bei
dieser Ausgestaltung der Erfindung wird das vierte Quadlet H4 des
Headers (bei A2 in 23) ein Datenzeiger zum Holen
von Daten aus dem Datengebiet, wie in 24B gezeigt.
Dieser Datenzeiger (H4) wird aus dem DMAC 44 (der Zeigeraktualisierungsschaltung 184)
in den Selektor 170 über den
Puffer 168 eingegeben, und der Selektor 170 wählt diesen.
Auf diese Weise akzeptiert die Paketformungsschaltung 160 den
Datenzeiger vom DMAC 44, und dieser Datenzeiger wird in
den Header eingebettet, der in das RAM 80 geschrieben wird.
-
Der
Datenabschnitt des Paketes wird dann vom PHY-Chip über den
Datenbus D gesendet. Die Seriell-Parallel-Umwandlungsschaltung 132 wandelt diesen
Datenabschnitt in 32-Bit-Daten DI und gibt sie an die Paketdiagnoseschaltung 142 und
den Puffer 168 aus.
-
Man
beachte, dass DIE ein Signal ist, das angibt, ob DI freigegeben
oder gesperrt ist, und DIS ein Signal zum Bestimmen der Zeitlage
zum Abholen von DI ist.
-
Das
DI-Signal aus der Seriell-Parallel-Umwandlungsschaltung 132 wird über den
Puffer 168 in den Selektor 170 eingegeben, und
der Selektor 170 wählt
es. Dies bewirkt, dass Daten D0 bis Dn als RD an das FIFO 34 ausgegeben
werden, wie unter A3 gezeigt.
-
Ein
Trailer aus der Header/Trailer-Erzeugungsschaltung 164 wird
dann über
den Puffer 168 in den Selektor 170 eingegeben,
und der Selektor 170 wählt
diesen. Dies bewirkt, dass der Trailer (H5, der in 24B schraffiert dargestellte Abschnitt) als RD an
das FIFO 34 ausgegeben wird, wie bei A4 dargestellt.
-
Die
Etikettenerzeugungsschaltung 162 erzeugt Etiketten zum
Begrenzen der als RD ausgegebenen Information. In dieser Ausgestaltung
der Erfindung hat jedes Etikett zwei Bits, wie in 15 gezeigt,
wobei (00), (01), (10) und (11) Header, Trailer, Daten bzw. Start
(Spitze des Headers) bezeichnen. Daher ändern sich die in 23 beispielhaft
gezeigten Etiketten in der Reihenfolgen: (11), (00), ..., (10), ...,
(01). Die Konfiguration ist derart, dass 34-Bit-Daten, die aus diesen
2-Bit-Etiketten und dem 32-Bit-RD bestehen, in das FIFO 34 eingegeben
werden.
-
Die
Beschreibung wendet sich nun dem Betrieb des FIFO 34 zu.
-
Das
FIFO 34 empfängt
Etiketten und RD vom Verknüpfungskern 20 und
gibt diese als DTAG und WDATA aus, wie bei A5 und A6 dargestellt.
-
Die
FIFO-Zustandsbeurteilungsschaltung 35 innerhalb des FIFO 34 verwendet
einen internen Zähler,
um die Anzahl von Datenobjekten (FIFO-Zählung) im FIFO 34 zu
zählen.
Wenn das FIFO 34 voll wird (wenn die Anzahl von Datenobjekten
2 ist), geht FULL auf aktiv (hoch), wie bei A7 in 23 gezeigt. Wenn
das FIFO 35 leer wird (wenn die Anzahl von Datenobjekten
0 ist), wird EMPTY aktiv, wie bei A8 gezeigt. Die Tatsache, dass
das FIFO 34 voll ist, wird durch FULL und FFULL der Zugriffsanforderungsausführungsschaltung 190 im
DMAC 44 und dem Sequenzierer 167 im Verknüpfungskern 20 signalisiert. Die
Tatsache, dass das FIFO 34 leer ist, wird durch EMPTY der
Zugriffsanforderungserzeugungsschaltung 192 im DMAC 44 signalisiert.
-
Die
Beschreibung wendet sich nun dem Betrieb des DMAC 44 zu.
-
Die
Zugriffsanforderungserzeugungsschaltung 152 setzt WREQ
auf aktiv, wie bei A10 dargestellt, wenn EMPTY inaktiv (niedrig)
ist, wie bei A9 gezeigt (was anzeigt, dass das FIFO 34 nicht
leer ist). Wenn WACK vom Pufferverwalter 70 akzeptiert
wird, geht WREQ auf inaktiv.
-
Bei
dieser Ausgestaltung der Erfindung haben Zugriffsanforderungen vom
DMAC 44 die höchste
Priorität
bei der Busarbitrierung für
den Empfang. Daher hat WREQ Priorität, wenn es einen Konflikt zwischen
WREQ von DMAC 44 und Other WREQ von der CPU-Schnittstelle 60 und
dem DMAC 54 für Anschlüsse gibt,
wie bei A10 und A11 gezeigt. Mit anderen Worten wird WACK vor Other
WACK aktiv, wie bei A12 und A13 gezeigt. Der Grund, weshalb WREQ auf
diese Weise Priorität
bekommt, wenn ein Konflikt zwischen WREQ und Other WREQ vorliegt,
wird nachfolgend diskutiert. Unter IEEE 1394 werden, anders als
bei SCSI und anderen derartigen Standards, Pakete von anderen Knoten
der Reihe nach, synchronisiert mit dem Übertragungstakt, übertragen.
Es ist daher notwendig, den übertragenen
Paketen Priorität
zu geben und sie der Reihe nach, ohne zu pausieren, in dem RAM 80 zu
speichern.
-
Bei
dieser Ausgestaltung der Erfindung wird eine Zugriffsanforderung
vom DMAC 44 nur eine gegebene Zeit lang zwischen der Annahme
von Zugriffsanforderungen von der CPU-Schnittstelle 60 und
dem DMAC 54 für
Anschlüsse
warten gelassen, wie bei A14 gezeigt. Dies bedeutet, dass RD vom Verknüpfungskern 20 und
WDATA zum Pufferverwalter 70 nicht synchronisiert sind.
Aus diesem Grund ist diese Ausgestaltung der Erfindung mit dem FIFO 34 zum
Anpassen der Phasen von RD und WDATA ausgestattet. In diesem Fall
könnte
das FIFO 34 mit der minimal notwendigen Zahl von Stufen
für die
Phasenanpassung (vorzugsweise nicht mehr als drei Stufen, besonders
bevorzugt nicht mehr als zwei Stufen) ausgestattet sein.
-
Die
Etikettenbestimmungsschaltung 182, die in der Paketaufteilungsschaltung 180 enthalten
ist, legt jedes DTAG, das vom FIFO 34 zusammen mit WDATA
ausgegeben wird, fest, um zu identifizieren, ob WDATA sich auf den
Start (Spitze des Headers), den Header, die Daten oder den Trailer
bezieht. Die Zeigeraktualisierungsschaltung 184 aktualisiert
den Headerzeiger und den Datenzeiger basierend auf diesem Ergebnis.
Die Adressenerzeugungsschaltung 188 erzeugt dann WADR (die
Schreibadresse für
WDATA) basierend auf dem aktualisierten Headerzeiger und Datenzeiger.
-
Genauer
gesagt inkrementiert (allgemeiner gesprochen: aktualisiert), wenn
anhand des DTAG festgelegt wird, dass WDATA zum Beispiel der Start des
Headers ist, die Zeigeraktualisierungsschaltung 184 den
Headerzeiger HP, wie in 25 gezeigt.
Die Adressenerzeugungsschaltung 188 gibt WADR entsprechend
dem so inkrementierten Headerzeiger aus, wie bei A15 in 23 gezeigt.
-
Wenn
aus dem DTAG festgelegt worden ist, dass WDATA Daten ist, inkrementiert
die Zeigeraktualisierungsschaltung 184 den Datenzeiger
DP, wie in 25B gezeigt. Dieser Datenzeiger
DP ist äquivalent
zu H4, was in das vierte Quadlet des Headers durch die Paketformungsschaltung 160 eingebettet worden
ist. Die Adressenerzeugungsschaltung 188 gibt WADR entsprechend
dem so inkrementierten Datenzeiger aus, wie bei A16 in 23 dargestellt.
-
Wenn
aus dem DTAG bestimmt worden ist, dass WDATA ein Trailer ist, inkrementiert
die Zeigeraktualisierungsschaltung 184 den Headerzeiger,
wie in 25C gezeigt. Die Adressenerzeugungsschaltung 188 gibt
WADR entsprechend dem so inkrementierten Headerzeiger aus, wie bei
A17 in 23 gezeigt.
-
Man
beachte, dass der Headerzeiger zuletzt die untere Grenze des Headerabschnittes
des Paketes, das verarbeitet worden ist (die obere Grenze des Headerabschnittes
des nächsten
Paketes) anzeigt, wie in 25D gezeigt.
Der Headerzeiger wird gesetzt, um die untere Grenze des Datenabschnittes des
Paketes (die obere Grenze des Datenabschnittes des nächsten Paketes)
anzuzeigen. Die Endpositionen des Headerzeigers und des Datenzeigers
werden auf ein Headerzeigereinstellregister und ein Datenzeigereinstellregister
in dem Register 46 von 6 rückgeschrieben,
sofern der Empfang nicht gescheitert ist (RFAIL inaktiv ist).
-
Wie
oben beschrieben, ist es möglich,
das Paket aufzuteilen und den Inhalt in angemessener Weise in das
Header-Gebiet und das Datengebiet zu schreiben.
-
Man
beachte, dass die Einstellungen der Grenzen, die das Gebiet des
RAM 80 unterteilen, wie etwa die Grenze zwischen dem Header-Gebiet
und dem Datengebiet (P1 bis P6 in 16) implementiert werden,
indem die CPU 66 (Firmware o. dgl.) Zeiger setzt, die die
Adressen der Grenzen bezeichnen, und sie über die CPU-Schnittstelle 60 in
die Zeigereinstellregister in dem Register 46 sendet.
-
Wenn
das Datengebiet in eine Mehrzahl von Gebieten unterteilt ist (wenn
es in Gebiete für
isochrone Übertragung
und anisochrone Übertragung unterteilt
ist, wie zum Beispiel in 16 gezeigt,
oder in Gebiete für
erste und zweite asynchrone Übertragungen),
ist es bevorzugt, dass Paketdaten in eines dieser mehreren Gebiete
basierend auf Steuerinformation des Paketes wie etwa zum Beispiel
Tcode geschrieben werden.
-
Genauer
gesagt sei angenommen, dass der DMAC 44 eine Mehrzahl von
Datenzeigern wie etwa erste und zweite Datenzeiger an die Paketformungsschaltung 160 übergibt
(es ist auch möglich,
drei oder mehr Datenzeiger auf diese Weise zu übergeben), wie in 22 gezeigt.
Die Paketformungsschaltung 160 wählt den ersten Datenzeiger
von DMAC 44 während
isochroner Übertragung
(oder während
der zweiten asynchronen Übertragung)
oder den zweiten Datenzeiger von DMAC 44 während asynchroner Übertragung
(oder während
der ersten asynchronen Übertragung,
wenn es mehr als eine gibt). Mit anderen Worten legt die Paketdiagnoseschaltung 142 in der
Paketformungsschaltung 160 basierend auf Steuerinformation
des Paketes wie etwa Tcode fest, ob es sich um eine isochrone Übertragung
oder eine anisochrone Übertragung
handelt (oder ob es die zweite asynchrone Übertragung oder die erste asynchrone Übertragung
ist), und steuert basierend auf diesem Festlegungsergebnis das SEL-Signal.
Die Konfiguration ist derart, dass von erstem und zweitem Datenzeiger,
die über
den Puffer 168 in den Selektor 170 eingegeben
werden, einer durch diesen gewählt
wird. Dieses bewirkt die Einbettung des ersten Datenzeigers in ein
Paket für
isochrone Übertragung
(oder zweite asynchrone Übertragung)
und des zweiten Datenzeigers in ein Paket für asynchrone Übertragung
(oder erste asynchrone Übertragung, wenn
es mehr als eine gibt). Als Ergebnis ist es möglich, Daten in einem spezifischen
Gebiet innerhalb des Datengebietes kontinuierlich zu speichern.
Mit anderen Worten können
Bewegtbilddaten von einer Digitalkamera kontinuierlich in dem Datengebiet
für isochrone Übertragung
und Druckdaten für
einen Drucker kontinuierlich in dem zweiten Datengebiet für asynchrone Übertragung
gespeichert werden (Speicherung von Steuerdaten wie etwa Befehlsdaten
und Statusdaten im ersten Datengebiet für asynchrone Übertragung).
-
Bei
dieser Ausgestaltung der Erfindung wird spd (Geschwindigkeitscodeinformation
zum Spezifizieren der Geschwindigkeit der Datenübertragung), BC (Verbreitungsinformation,
die angibt, ob das Paket an alle an den Bus angeschlossenen Knoten
gesendet worden ist oder nicht), HCE (Fehlerstatusinformation, die
angibt, ob in dem Paket ein Fehler aufgetreten ist oder nicht) oder
ACK (Bestätigungsinformation,
die an den Quellknoten gesendet worden ist) an das hinterste Ende
des Headers angehängt,
wie in 24B gezeigt. Diese Objekte spd,
BC, HCE und ACK werden von der Header/Trailer-Erzeugungsschaltung 164 innerhalb
des Verknüpfungskernes 20 von 22 erzeugt
und durch die Funktionen des Puffers 168 und des Selektors 170 angehängt.
-
Die
Fehlerprüfschaltung 166 von 22 prüft den Header-CRC
des Empfangspaketes, und wenn sie einen Fehler in dem Header des
Empfangspaketes findet, setzt sie HCE auf 1. Wenn HCE auf 1 gesetzt
ist, geht RFAIL auf aktiv. Wenn RFAIL auf aktiv geht, wird die Endposition
des Datenzeigers (H4 + (n + 1) in 25D)
nicht in den Datenzeigereinstellregister innerhalb des Registers 46 von 6 rückgeschrieben.
Dies implementiert eine Verarbeitung, die den Datenzeiger DP an
die Quelle zurückgibt
und Daten 3 ungültig
macht, wie mit Bezug auf 18B beschrieben.
-
Das
Format des Headerabschnittes, der in dem Headergebiet des RAM 80 gespeichert
wird, wenn das Paket ein Self-ID-Paket ist, ist in 26A gezeigt, und das Format des Headerabschnittes,
der in dem Header-Gebiet gespeichert wird, wenn das Paket ein anderes
PHY-Paket als ein Self-ID-Paket ist,
ist in 26B gezeigt.
-
Wenn
ein Paket ein in dem Self-ID-Zeitraum gesendetes Self-ID-Paket ist,
wird BR, das angibt, ob das Paket in dem Self-ID-Zeitraum empfangen
wurde oder nicht, auf 1 gesetzt, wie in 26A gezeigt. Wenn
das Paket ein Link-on-Paket oder ein PHY-Konfigurationspaket ist,
das außerhalb
des Self-ID-Zeitraumes gesendet wurde, wird BR auf 0 gesetzt, wie
in 26B gezeigt. Dies ermöglicht es der Firmware, zwischen
diesen Paketen zu unterscheiden, auch wenn der Tcode 0 × E derselbe
ist.
-
Man
beachte, dass spd, BC, HCE, ACK und BR in 24B, 26A und 26B am
hintersten Ende des Headers angehängt dargestellt sind, dass aber
spd, BC, HCE, ACK und BR genauso gut am vordersten Ende des Headers
angehängt
sein könnten,
wie mit Bezug auf 21B beschrieben wurde.
-
4. Elektronisches
Gerät
-
Die
Beschreibung wendet sich nun Beispielen von elektronischem Gerät zu, das
die Datenübertragungssteuereinrichtung
nach dieser Ausgestaltung enthält.
-
Ein
internes Blockdiagramm eines Druckers, der ein Beispiel eines solchen
elektronischen Gerätes
ist, ist in 27A gezeigt, wobei eine Außenansicht
desselben in 28A gezeigt ist. Eine CPU (Mikrocomputer) 510 hat
diverse Funktionen, darunter die, das gesamte System zu steuern.
Ein Betriebsabschnitt 511 ist konstruiert, um dem Benutzer zu
ermöglichen,
den Drucker zu betreiben. Daten wie etwa ein Steuerprogramm und
Zeichensätze
sind in einem ROM 516 gespeichert, und ein RAM 518 wirkt als
Arbeitsbereich für
die CPU 510. Ein Anzeigeschirm 519 ist ausgelegt,
um den Benutzer über
den Betriebszustand des Druckers zu informieren.
-
Druckdaten,
die von einem anderen Knoten wie etwa einem Personalcomputer über einen PHY-Chip 502 und
eine Datenübertragungssteuereinrichtung 500 gesendet
wurden, werden direkt an einen Druckverarbeitungsabschnitt 512 über einen Bus 504 gesendet.
Die Druckdaten werden einer gegebenen Verarbeitung durch den Druckverarbeitungsabschnitt 512 unterzogen
und zum Drucken auf Papier durch einen Druckabschnitt (eine Einrichtung zur
Datenausgabe) 514 ausgegeben.
-
Ein
internes Blockdiagramm eines Scanners, der ein anderes Beispiel
eines elektronischen Gerätes
ist, ist in 27B gezeigt, wobei eine Außenansicht
desselben in 28B gezeigt ist. Eine CPU 520 hat
diverse Funktionen, darunter die, das gesamte System zu steuern.
Ein Betriebsabschnitt 521 ist ausgelegt, um dem Benutzer
zu ermöglichen,
den Scanner zu betreiben. Daten wie etwa ein Steuerprogramm sind
in einem ROM 526 gespeichert, und ein RAM 528 dient
als Arbeitsbereich für
die CPU 520.
-
Ein
Bild eines Dokumentes wird durch einen Bildleseabschnitt (eine Einrichtung
zum Holen von Daten) 522 eingelesen, die Komponenten wie
etwa eine Lichtquelle und einen optoelektrischen Wandler umfasst,
und Daten des eingelesenen Bildes werden von einem Bildverarbeitungsabschnitt 524 verarbeitet.
Die verarbeiteten Bilddaten werden direkt über einen Bus 505 an
die Datenübertragungssteuereinrichtung 500 gesendet.
Die Datenübertragungssteuereinrichtung 500 erzeugt
Pakete durch Anfügen
von Headern u. dgl. an diese Bilddaten und sendet dann diese Pakete über den
PHY-Chip 502 an
einen anderen Knoten wie etwa einen Personalcomputer.
-
Ein
internes Blockdiagramm eines CD-R-Laufwerkes, das ein weiteres Beispiel
eines elektronischen Gerätes
ist, ist in 27C gezeigt, wobei eine Außenansicht
desselben in 28C gezeigt ist. Eine CPU 530 hat
diverse Funktionen, darunter die, das gesamte System zu steuern.
Ein Betriebsabschnitt 531 ist ausgelegt, um dem Benutzer zu
ermöglichen,
das CD-R-Laufwerk zu betreiben. Daten wie etwa ein Steuerprogramm
sind in einem ROM 536 gespeichert, und ein RAM 538 wirkt
als Arbeitsbereich für
die CPU 530. Daten, die aus einer CD-R 532 durch
einen Schreib/Leseabschnitt (eine Vorrichtung zum Holen von Daten
oder eine Vorrichtung zum Speichern von Daten) 533 ausgelesen
worden sind, die Komponenten wie etwa einen Laser, einen Motor und
ein optisches System umfasst, werden in einen Signalverarbeitungsabschnitt 534 eingegeben,
wo sie einer gegebenen Signalverarbeitung wie etwa Fehlerkorrektur
unterzogen werden. Die Daten, die dieser Signalverarbeitung unterzogen worden
sind, werden direkt über
einen Bus 506 an die Datenübertragungssteuereinrichtung 500 gesendet.
Die Datenübertragungssteuereinrichtung 500 erzeugt
Pakete durch Anfügen
von Headern und dergl. an diese Daten und sendet dann diese Pakete über den
PHY-Chip 502 an einen anderen Knoten wie etwa einen Personalcomputer.
-
Daten,
die von einem anderen Knoten über den
PHY-Chip 502 und die Datenübertragungssteuereinrichtung 500 eingesendet
worden sind, werden hingegen direkt über den Bus 506 an
den Signalverarbeitungsabschnitt 534 gesendet. Die Daten
werden dann einer gegebenen Signalverarbeitung durch den Signalverarbeitungsabschnitt 534 unterzogen
und dann durch einen Schreib-/Leseabschnitt 533 auf der CD-R 532 gespeichert.
-
Man
beachte, dass eine andere CPU für
die Datenübertragungssteuerung
durch die Datenübertragungssteuereinrichtung 500 zusätzlich zu
der CPU 510, 520 oder 530 von 27A, 27B oder 27C vorgesehen sein könnte.
-
Die
Verwendung der Datenübertragungssteuereinrichtung
dieser Ausgestaltung in einem elektronischen Gerät ermöglicht es, Hochgeschwindigkeitsdatenübertragung
durchzuführen.
Daher kann, wenn ein Benutzer einen Ausdruck von einem Personalcomputer
o. dgl. ausführen
will, der Ausdruck mit einer kleinen Zeitverzögerung vollendet werden. Entsprechend
kann ein Benutzer ein gescanntes Bild mit nur kurzer Zeitverzögerung nach dem
Anweisen des Scanners zum Aufnehmen eines Bildes sehen. Es ist auch
möglich,
mit hoher Geschwindigkeit Daten von einer CD-R zu lesen oder Daten
auf eine CD-R zu schreiben. Die vorliegende Erfindung macht es auch
einfach, mehrere mit einem Hostsystem verbundene elektronische Geräte oder eine
Mehrzahl von mit mehreren Hostsystemen verbundenen elektronischen
Geräten
zu benutzen.
-
Die
Verwendung der Datenübertragungssteuereinrichtung
nach dieser Ausgestaltung in elektronischem Gerät verringert auch die Verarbeitungslast
auf auf der CPU laufender Firmware, was es ermöglicht, eine preiswerte CPU
und langsame Busse zu verwenden, was Verringerungen von Kosten und Größe der Datenübertragungssteuereinrichtung
ermöglicht
und so Kosten und Größe des elektronischen
Gerätes
verringert.
-
Man
beachte, dass das elektronische Gerät, das eine Datenübertragungssteuereinrichtung
gemäß der vorliegenden
Erfindung verwenden kann, nicht auf die oben beschriebenen Ausgestaltungen beschränkt ist,
und dass diverse andere Beispiele in Betracht gezogen werden können, wie
etwa diverse Typen von optischen Plattenlaufwerken (CD-ROM oder
DVD), magnetooptische Plattenlaufwerke (MO), Festplattenlaufwerke,
Fernseher, Videorecorder, Videokameras, Audiogeräte, Telefone, Projektoren, Personalcomputer,
elektronische Datenbücher
und dedizierte Wortprozessoren.
-
Man
beachte ferner, dass die vorliegende Erfindung nicht auf die hier
beschriebenen Ausgestaltungen beschränkt ist und diverse Abwandlungen
im Umfang der Erfindung, wie durch die hier dargelegten Ansprüche definiert,
möglich
sind.
-
Zum
Beispiel ist die Konfiguration der Datenübertragungssteuereinrichtung
gemäß der vorliegenden
Erfindung vorzugsweise die in 6 gezeigte,
ist aber nicht hierauf beschränkt.
Insbesondere ist die Erfindung, die oben beschrieben wurde als bezogen auf
Verbreitungsinformation, Fehlerstatusinformation oder Information,
die angibt, ob ein Paket während
eines Selbstidentifikationszeitraumes empfangen wurde oder nicht,
wobei diese Information an Steuerinformation des Paketes angehängt wird
oder gegebene Information, die am hintersten Ende einer zeitlichen
Folge ist, an das vorderste Ende der Steuerinformation des Paketes
geschrieben wird, nicht auf die Konfiguration der 6 beschränkt, sondern
es können
diverse andere Konfigurationen hierfür verwendet werden, wie etwa
die in 8 gezeigte.