-
Technisches
Feld
-
Die
vorliegende Erfindung betrifft eine Datenübertragungssteuervorrichtung
und eine diese umfassende elektronische Einrichtung.
-
Stand der
Technik
-
Ein
IEEE 1394 genannter Schnittstellenstandard hat in der letzten Zeit
viel Aufmerksamkeit auf sich gezogen. Dieses IEEE 1394 hat standardisierte serielle
Busschnittstellen für
hohe Geschwindigkeiten, welche mit Multimediavorrichtungen der nächsten Generation
umgehen können.
Das IEEE 1394 macht es möglich,
mit Daten umzugehen, die zum Erreichen von Echtzeitfähigkeiten
benötigt
werden, wie z.B. bewegten Bildern. Ein Bus nach IEEE 1394 kann nicht
nur an periphere Einrichtungen für
Computer wie z.B. Drucker, Scanner oder CD-R-Laufwerke und Festplattenlaufwerke
angeschlossen werden, sondern auch an elektrische Hausgeräte wie z.B.
Videokameras, Videokassettengeräte
(VTRs) und Fernsehgeräte.
Von diesem Standard wird daher erwartet, dass er eine dramatische
Beschleunigung der Digitalisierung elektronischer Einrichtungen
ermöglicht.
-
Das
Konzept des IEEE 1394 ist in verschiedenen Veröffentlichungen offenbart, wie
z.B. in „An Outline
of the IEEE 1394 High Performance Serial Bus" (Interface, April 1996, Seiten 1 bis
10), „Bus Standards
for PC Peripheral Equipment" (Interface, Januar
1997, Seiten 106 bis 116), und in „Real-Time Transfer Modes and Multimedia-Capable
Protocols for IEEE 1394-1995 (FireWire)" (Interface, Januar 1997; Seiten 136
bis 146). Das TSB12LV31 von Texas Instruments ist als eine Datenübertragungssteuervorrichtung
bekannt, die dem IEEE 1394 entspricht.
-
Bei
einer solchen Datenübertragungssteuervorrichtung
nach IEEE 1394 wurden jedoch wie unten beschrieben einige technische
Probleme festgestellt.
-
Der
gegenwärtige
IEEE 1394 Standard macht es möglich, Übertragungsgeschwindigkeiten bis
zu einem Maximum von 400 Mbps zu implementieren. In der Praxis jedoch
erzwingt das Vorhandensein von Overheads der Verarbeitung wesentlich niedrigere
tatsächliche Übertragungsgeschwindigkeiten
des gesamten Systems. Mit anderen Worten brauchen die Firmware und
die auf einer CPU laufende Anwendungssoftware lange Zeit für Verarbeitungen
wie z.B. das Vorbereiten zum Übertragen
von Daten und das Lesen von empfangenen Daten, was bedeutet, dass
es nicht möglich
ist, insgesamt eine hohe Geschwindigkeit der Datenübertragung
zu implementieren, unabhängig
davon, wie schnell die Daten über
die IEEE 1394 Busse übertragen
werden können.
-
Ein
besonderes Problem liegt in der Tatsache, dass eine CPU, die in
einer peripheren Einrichtung eingebaut ist, eine niedrigere Verarbeitungsfähigkeit
hat als eine CPU, die im Hostsystem, wie z.B. einem Personalcomputer,
eingebaut ist. Dies macht das Problem der Overheads der Verarbeitung
in der Firmware und der Anwendungssoftware extrem ernst. Es ist
daher wünschenswert,
Techniken bereitzustellen, die in der Lage sind, dieses Problem
des Overheads effektiv zu lösen.
-
Das
Dokument EP-A-0 804 008 offenbart ein Datenpaketübertragungssteuerverfahren,
in welchem der Kopf (Header) und die Daten eines Paketes, ohne voneinander
getrennt zu werden, in FIFO-Speicher
geschrieben werden. Firmware erzeugt zunächst Steuerinformation und
schreibt sie in ein FIFO. Dann werden Daten abgerufen und in das FIFO
geschrieben. Schließlich
befiehlt die Firmware den Start der Übertragung. Diese Technik entspricht derjenigen
eines Vergleichsbeispiels, das im weiteren Verlauf dieses Textes
mit Bezugnahme auf die 8 genauer erläutert wird.
-
Offenbarung
der Erfindung
-
Die
vorliegende Erfindung wurde im Licht des oben beschriebenen technischen
Problems entwickelt und hat die Aufgabe, eine Datenübertragungssteuervorrichtung
und eine elektronische Einrichtung, welche dieselbe benutzt, bereitzustellen, die
in der Lage sind, die Verarbeitungsoverheads von Firmware und Anwendungssoftware
zu reduzieren und dadurch eine Hochgeschwindigkeitsdatenübertragung
innerhalb einer kompakten Hardwarekonfiguration zu implementieren.
-
Diese
Aufgabe wird gelöst
durch eine Datenübertragungssteuervorrichtung
wie in Anspruch 1 beansprucht und eine sie verwendende elektronische Einrichtung
wie in den Ansprüche
8 und 9 beansprucht. Bevorzugte Ausführungen sind Gegenstand der
abhängigen
Ansprüche.
-
In
einer Ausführung
der vorliegenden Erfindung können
die wahlfrei zugreifbaren Speichermittel in einen Steuerinformationsbereich
und einen Datenbereich aufgeteilt werden. Steuerinformation wird beispielsweise
durch eine obere Schicht der Firmware in den Steuerinformationsbereich
geschrieben, und Daten werden beispielsweise durch eine obere Schicht
der Anwendungssoftware oder der Firmware in den Datenbereich geschrieben
(abgerufen). Gemäß der vorliegenden
Erfindung liest das Paketzusammenstellungsmittel Steuerinformation
vom Steuerinformationsbereich und auch Daten entsprechend dieser
Steuerinformation aus dem Datenbereich. Ein aus Steuerinformation
und Daten zusammengestelltes Paket wird über Verbindungsmittel zu einem
anderen Knoten übertragen.
-
Bei
der vorliegenden Erfindung kann eine obere Schicht Steuerinformation
und Daten unabhängig
von der Sequenz, in welcher Pakete verschickt werden, in die Speichermittel
schreiben. Die obere Schicht kann auch Daten für Pakete, die übertragen
werden sollen, aufeinanderfolgend in den Datenbereich schreiben.
Darüber
hinaus ist es für
die obere Schicht nicht notwendig, an der Verarbeitung zum miteinander
Verbinden der Steuerinformation vom Steuerinformationsbereich und
der Daten vom Datenbereich zum Zusammenstellen des Pakets teilzunehmen.
Dieser Aspekt der Erfindung macht es möglich, die Verarbeitungsbelastung
der oberen Schicht erheblich zu reduzieren.
-
In
der vorliegenden Erfindung kann das Paketzusammenstellungsmittel
aus Steuerinformation, die aus dem Steuerinformationsbereich ausgelesen worden
ist, einen Datenzeiger erhalten, welcher eine Adresse von Daten
anzeigt, die aus dem Datenbereich ausgelesen werden sollen, und
verwendet den erhaltenen Datenzeiger, um Daten vom Datenbereich
auszulesen. Diese Konfiguration erleichtert das Lesen von der Steuerinformation
entsprechenden Daten aus dem Datenbereich und vereinfacht auch die
beim Verknüpfen
der Steuerinformation und der Daten zum Zusammenstellen des Pakets
auftretende Verarbeitung.
-
In
der vorliegenden Erfindung kann das Paketzusammenstellungsmittel
eine Zeitdauer, während
der das Verbindungsmittel eine Fehlerüberprüfungsinformation für die Steuerinformation
des Pakets erzeugt, verwenden, um einen Datenzeiger aus Steuerinformation
zu erhalten. Diese Konfiguration macht es möglich, jegliche Verschwendung
von Verarbeitungszeit zu vermeiden, und beschleunigt dadurch die
Verarbeitung.
-
In
der vorliegenden Erfindung kann das Paketzusammenstellungsmittel
einen Steuerinformationszeiger aktualisieren, welcher eine Adresse
der Steuerinformation anzeigt, die vom Steuerinformationsbereich
ausgelesen werden soll, wenn anhand von in der Steuerinformation
des Pakets enthaltener Paketformatidentifikationsinformation bestimmt
wird, dass die Steuerinformation des Pakets gelesen werden soll,
und es kann einen Datenzeiger aktualisieren, der eine Adresse von
aus dem Datenbereich auszulesenden Daten anzeigt, wenn anhand der Paketformatidentifikationsinformation
bestimmt wird, dass die Daten des Pakets gelesen werden. Diese Konfiguration
verwendet die Paketformatidentifikationsinformation, um zwischen
der Aktualisierung des Steuerinformationszeigers und der Aktualisierung des
Datenzeigers umzuschalten, was es möglich macht, die Steuerinformation
eines Pakets und die Daten eines Pakets miteinander zu verbinden.
Dies vereinfacht die Verarbeitung des Verbindens der Steuerinformation
und der Daten miteinander.
-
Die
Datenübertragungssteuervorrichtung
der vorliegenden Erfindung kann darüber hinaus umfassen: Steuerinformationserzeugungsmittel
zum Erzeugen von Steuerinformation und Schreiben der Steuerinformation
in den Steuerinformationsbereich während der Verarbeitung zum
Abrufen von Daten in den Datenbereich; und Übertragungsstartmittel zum Anordnen
eines Starts einer Übertragung
eines Pakets unter der Bedingung, dass sowohl die Datenabrufverarbeitung
als auch die Steuerinformationsschreibverarbeitung abgeschlossen
worden sind. Dies macht es möglich,
eine Abrufverarbeitung parallel mit der Erzeugung und der Schreibverarbeitung von
Steuerinformation auszuführen
und dadurch die Effizienz der Verarbeitung zu verbessern.
-
Die
vorliegende Erfindung kann es möglich machen,
automatisch grundlegende Steuerinformation zu erzeugen und Pakete
nacheinander zu übertragen,
bis die Information über
die Anzahl der Übertragungswiederholungen
einen gegebenen Wert (wie z.B. Null) erreicht hat, indem man die
Anzahl von Übertragungswiederholungen
setzt, die grundlegende Steuerinformation einrichtet und den Start
der Übertragung
anordnet. Dies macht es möglich,
eine Vielzahl von Paketen aufeinanderfolgend zu übertragen, eine große Datenmenge
an einen anderen Knoten zu übertragen,
ohne die Verarbeitungsbelastung der Firmware zu erhöhen.
-
Man
beachte, dass es in der vorliegenden Erfindung bevorzugt ist, dass
die grundlegende Steuerinformation die Information über die
Anzahl von Übertragungswiederholungen,
einen Datenzeiger, der eine Adresse von Daten anzeigt, die aus dem
Datenbereich in einem wahlfrei zugreifbaren Speichermittel ausgelesen
werden sollen, und Vorgangsidentifikationsinformation umfasst; wobei
das Steuerinformationsüberschreibmittel
die Information über
die Anzahl von Übertragungswiederholungen,
den Datenzeiger und die Vorgangsidentifikationsinformation überschreibt.
-
In
einer anderen Ausführung
der vorliegenden Erfindung kann die Datenübertragungssteuervorrichtung
umfassen: einen ersten Bus, der an eine Anwendung einer nächsten Stufe
angeschlossen ist; einen zweiten Bus zum Steuern der Datenübertragungssteuervorrichtung;
einen dritten Bus, der elektrisch an eine Vorrichtung der physikalischen
Schicht angeschlossen ist; einen vierten Bus, der elektrisch an
das Speichermittel angeschlossen ist; und Zuteilungs- oder Arbitrationsmittel
zum Ausführen
einer Zuteilung oder Arbitration zum Errichten eines Datenweges
zwischen irgendeinem unter dem ersten, zweiten und dritten Bus und
dem vierten Bus.
-
In
der vorliegenden Erfindung können
voneinander getrennte erste, zweite und dritte Busse vorgesehen
sein. Die von den Arbitrationsmitteln ausgeführte Arbitration richtet einen
Datenweg zwischen einem unter dem ersten, zweiten und dritten Bus
und dem vierten Bus des wahlfrei zugreifbaren Speicherbusses ein.
Diese Anordnung macht es möglich,
Pakete, die von einem anderen Knoten über eine Vorrichtung der physikalischen
Schicht empfangen worden sind, in einer beliebigen Anordnung innerhalb
der Speichermittel zu speichern. Darüber hinaus wird das Lesen und
Schreiben von Steuerinformation eines Pakets durch Verwenden des
zweiten Busses ausgeführt,
so dass der erste Bus zum Lesen und Schreiben der Daten in die Pakete
verwendet werden kann. Dies ermöglicht
eine Reduktion der Verarbeitungsbelastung der oberen Schichten,
wie z.B. der Vorgangsschicht (transaction layer) und der Anwendungsschicht
(application layer). Es macht es auch möglich, Busse niedriger Geschwindigkeit
als ersten und zweiten Bus und eine langsame, preiswerte Vorrichtung
für die
Vorrichtung zum Steuern der Datenübertragungssteuervorrichtung
zu verwenden. Als Ergebnis davon kann die Datenübertragungssteuervorrichtung
kompakter und billiger gemacht werden.
-
Man
beachte, dass es ausreicht, den ersten, zweiten, dritten und vierten
Bus elektrisch an die Anwendung anzuschließen, es können jeweils eine Vorrichtung
zum Steuern der Datenübertragungssteuervorrichtung,
eine Vorrichtung der physikalischen Schicht und Speichermittel (RAM)
und andere Vorrichtungen an diesen Bussen vorkommen.
-
Es
ist bevorzugt, dass die Datenübertragung gemäß der vorliegenden
Erfindung in Übereinstimmung
mit dem IEEE 1394 Standard ausgeführt wird.
-
Bei
der Erfindung ist es möglich,
die Verarbeitung zu beschleunigen, die innerhalb von elektronischen
Einrichtungen zum Ausgeben oder Speichern von Daten, die von einem
anderen Knoten übertragen
worden sind, ausgeführt
wird, oder die innerhalb der elektronischen Einrichtung an Daten
ausgeführt
wird, die von dieser abgerufen worden sind und in einen anderen
Knoten übertragen
werden sollen. Diese Aspekte der Erfindung machen es möglich, die
Datenübertragungssteuervorrichtung
kompakter zu machen und auch die Verarbeitungsbelastung der Firmware,
die die Datenübertragung
steuert, zu reduzieren, wodurch es möglich wird, eine elektronische
Einrichtung herzustellen, die preiswerter und kompakter ist.
-
Kurze Beschreibung
der Zeichnungen
-
1A, 1B und 1C veranschaulichen
die Konzepte einer asynchronen Übertragung und
einer isochronen Übertragung;
-
2A und 2B veranschaulichen
das Konzept der Baumidentifizierung;
-
3 veranschaulicht
das Konzept der Selbstidentifizierung;
-
4A, 4B, 4C und 4D zeigen die
Formate von verschiedenen Paketen der physikalischen Schicht wie
z.B. einem Selbst-ID-Paket;
-
5 veranschaulicht
die IEEE 1394 Protokollkonfiguration;
-
6 zeigt
ein strukturelles Beispiel der Datenübertragungssteuervorrichtung
nach einer Ausführung
der vorliegenden Erfindung;
-
7 veranschaulicht
die Trennung zwischen dem Kopf-(Steuerinformations)-bereich und dem
Datenbereich.
-
8 zeigt
die Struktur eines Vergleichsbeispiels für diese Ausführung;
-
9 veranschaulicht
das Verfahren zur Datenübertragung,
das von der Konfiguration der 8 verwendet
wird;
-
10 veranschaulicht
ein weiteres Verfahren zur Datenübertragung;
-
11 veranschaulicht
ein weiteres Verfahren zur Datenübertragung,
das von dieser Ausführung
der Erfindung verwendet wird;
-
12 veranschaulicht
ein Verfahren, bei dem ein im Kopfbereich gespeicherter Kopf mit
im Datenbereich gespeicherten Daten kombiniert wird, um ein zu sendendes
Paket zusammenzustellen;
-
13 veranschaulicht
ein Verfahren, bei dem ein Datenzeiger aus einem Kopf, der aus dem RAM
gelesen wird, erhalten wird, und der so erhaltene Datenzeiger verwendet
wird, um den Kopf und die Daten eines Pakets miteinander zu verbinden;
-
14 veranschaulicht
ein Verfahren, bei dem Datenzeiger in im Kopfbereich gespeicherten Köpfen enthalten
sind;
-
15A und 15B veranschaulichen
ein Verfahren, bei dem die Kopferzeugungs- und Schreibverarbeitung
während
der Datenabrufverarbeitung ausgeführt werden;
-
16A und 16B sind
Flussdiagramme, welche die Verarbeitung der Firmware, die die Verfahren
der 15A und 15B realisiert,
illustrieren;
-
17 veranschaulicht
ein Verfahren, bei dem die Größe von jedem
Bereich im RAM auf eine variable Weise gesteuert wird;
-
18A und 18B veranschaulichen
ein Verfahren, bei dem der Sendepaketbereich in eine Mehrzahl von
Kanälen
aufgeteilt wird;
-
19 veranschaulicht
ein Verfahren der Verarbeitung der Firmware, wenn der Sendepaketbereich
in eine Mehrzahl von Kanälen
aufgeteilt worden ist;
-
20A und 20B sind
Flussdiagramme, welche die Verarbeitung der Firmware illustrieren,
wenn der Sendepaketbereich in eine Mehrzahl von Kanälen aufgeteilt
worden ist;
-
21A und 21B sind
ebenfalls Flussdiagramme, welche die Verarbeitung der Firmware veranschaulichen,
wenn der Sendepaketbereich in eine Mehrzahl von Kanälen aufgeteilt
worden ist;
-
22A, 22B, 22C und 22D veranschaulichen
ein Verfahren, bei dem Verbindungszeiger verwendet werden;
-
23A, 23B und 23C veranschaulichen ein Verfahren, bei dem ein
ACR-Code in jeden Kanal zurückgeschrieben
wird, welcher der Ursprung der Übertragung
von jedem Paket ist;
-
24A und 24B veranschaulichen
ein Verfahren, bei dem ein grundlegender Kopf überschrieben wird, um die Übertragung
einer Serie von Paketen zu ermöglichen;
-
25A und 25B veranschaulichen
die Vorteile dieses Verfahrens, in dem ein grundlegender Kopf überschrieben
wird, um die Übertragung
einer Serie von Paketen zu ermöglichen;
-
26 ist
ein Flussdiagramm, das die Verarbeitung der Firmware veranschaulicht,
wenn ein grundlegender Kopf überschrieben
wird und Pakete in Serie übertragen
werden;
-
27 zeigt
ein Beispiel für
die Konfiguration auf der Übertragungsseite;
-
28 ist
ein Zeitsteuerungswellenformdiagramm, das die Betriebsweise auf
der Übertragungsseite
veranschaulicht;
-
29A zeigt das Format eines asynchronen Pakets
in Übereinstimmung
mit dem IEEE 1394 Standard und
-
29B zeigt das Format des Kopfteils eines asynchronen
Empfangspakets, das im Kopfbereich des RAM gespeichert ist;
-
30A, 30B veranschaulichen
die Aktualisierung des Kopfzeigers und des Datenzeigers;
-
31A, 31B, 31C zeigen Beispiele der internen Blockdiagramme
von verschiedenen Einheiten der elektronischen Einrichtung;
-
32A, 32B, 32C zeigen Außenansichten
von verschiedenen Einheiten der elektronischen Einrichtung.
-
Beste Ausführungsform
der Erfindung
-
Untenstehend
sind bevorzugte Ausführungsformen
der vorliegenden Erfindung mit Bezugnahme auf die begleitenden Zeichnungen
beschrieben.
-
1. IEEE 1394
-
Die
Beschreibung beschäftigt
sich zunächst mit
einer Skizzierung der IEEE 1394
-
1.1 Datenübertragungsgeschwindigkeit
und Anschlusstopologie
-
Der
IEEE 1394 Standard (IEEE 1394-1995, P1394.a) ermöglicht die Datenübertragung
bei hohen Geschwindigkeiten von 100 bis 400 Mbps (P1394.b betrifft
800 bis 3200 Mbps). Er erlaubt auch den Anschluss von Knoten mit
unterschiedlichen Übertragungsgeschwindigkeiten
an denselben Bus.
-
Die
Knoten sind in einer Baumkonfiguration verbunden, in der ein Maximum
von 63 Knoten an einen Bus angeschlossen werden kann. Man beachte, dass
die Verwendung von Busbrücken
den Anschluss von ungefähr
64,000 Knoten ermöglicht.
-
Wenn
Leistung angelegt wird oder im eingeschalteten Zustand Vorrichtungen
abgeklemmt oder angeschlossen worden sind, findet eine Zurücksetzung
des Busses statt, und alle die Anschlusstopologie betreffende Information
wird dadurch gelöscht. Nach
der Buszurücksetzung
werden eine Baumidentifizierung (Bestimmung des Wurzelknotens) und Selbstidentifizierung
durchgeführt.
Anschließend werden
die Knoten, die als Verwaltungsknoten dienen sollen, wie z.B. der
isochrone Ressourcenverwalter, Zyklus-Master und Busverwalter, bestimmt. Die
gewöhnliche
Paketübertragung
startet dann.
-
1.2 Übertragungsverfahren
-
Der
IEEE 1394 sieht die asynchrone Übertragung
(geeignet für
Datenübertragungen,
bei denen Zuverlässigkeit
gefordert ist) und die isochrone Übertragung (geeignet für Übertragungen
von Daten wie z.B. beweglichen Bildern und Audio, bei denen Echtzeitfähigkeiten
gefordert sind) als Paketübertragungsverfahren
vor.
-
Ein
Beispiel für
eine asynchrone Unterfunktion ist in 1A gezeigt.
Eine Unterfunktion besteht aus Zuteilung bzw. Arbitration, Paketübertragung
und Bestätigung.
Mit anderen Worten hat die Datenübertragung
Vorrang, es findet aber zuerst eine die Rechte zur Nutzung des Busses
betreffende Arbitration statt. Ein Paket wird dann vom Quellknoten
(dem Ursprung der Übertragung)
zum Zielknoten (dem Ziel der Übertragung) übertragen.
Eine Quellen-ID und eine Ziel-ID sind im Kopf dieses Pakets enthalten. Der
Zielknoten liest die Ziel-ID aus und bestimmt, ob das Paket an ihn
adressiert ist oder nicht. Wenn der Zielknoten das Paket annimmt,
sendet er ein Bestätigungspaket
(ACK) zurück
an den Quellknoten.
-
Es
gibt eine Bestätigungslücke zwischen
der Paketübertragung
und dem ACK-Paket. Es gibt auch eine Unterfunktionslücke zwischen
einer Unterfunktion und der nächsten
Unterfunktion. Eine Arbitration für die nächste Unterfunktion kann nicht
stattfinden, bis eine festgelegte Busleerlaufzeit, welche dieser Unterfunktionslücke äquivalent
ist, verstrichen ist. Dies vermeidet Kollisionen zwischen den Unterfunktionen.
-
Ein
Beispiel für
eine isochrone Unterfunktion ist in 1B gezeigt.
Weil eine isochrone Übertragung
als eine Rundsendung (Übertragung
an alle an den Bus angeschlossenen Knoten) ausgeführt wird, wird
kein ACK gesendet, wenn ein Paket empfangen wird. Bei der isochronen Übertragung
wird eine Paketübertragung
unter Verwendung von Kanalnummern, nicht der Knoten-IDs, ausgeführt. Man
beachte, dass es eine isochrone Lücke zwischen den Unterfunktionen
gibt.
-
Der
Zustand des Busses während
der Datenübertragung
ist in 1C gezeigt. Die isochrone Übertragung
beginnt immer dann, wenn der Zyklus-Master in festgelegten Intervallen
ein Zyklusstartpaket erzeugt. Dies ermöglicht die Übertragung von wenigstens einem
Paket alle 125 μs
für einen
Kanal. Dies macht es möglich,
Daten zu übertragen,
die Echtzeitfähigkeiten
benötigen,
wie z.B. bewegliche Bilder 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 realisiert, indem man die Länge einer isochronen Lücke kürzer macht
als die Länge
einer Unterfunktionslücke während der
asynchronen Übertragung,
wie in 1C gezeigt.
-
1.3 Baumidentifizierung
-
Nach
einer Buszurücksetzung
wird eine Baumidentifizierung ausgeführt. Während dieser Baumidentifizierung
werden die Eltern-Kind-Beziehungen zwischen Knoten und dem Wurzelknoten
bestimmt.
-
Als
erstes sendet jeder Blattknoten (ein Knoten, der an nur einen anderen
Knoten angeschlossen ist) eine „Elternbenachrichtigung" (parent notify,
PN) an den benachbarten Knoten. Wenn zum Beispiel die Knoten A,
B, C, D und E wie in 2A verbunden sind, wird die
Elternbenachrichtigung vom Knoten A an den Knoten B und von den
Knoten D und E an den Knoten C gesendet.
-
Ein
Knoten, der eine Elternbenachrichtigung akzeptiert hat, erkennt,
dass der Ursprungsknoten sein eigenes Kind ist. Er sendet dann eine „Kindbenachrichtigung" (child notify, CN)
an diesen Knoten. Im in 2A gezeigten
Beispiel wird eine Kindbenachrichtigung vom Knoten B an den Knoten
A und vom Knoten C an die Knoten D und E gesendet. Dies bestimmt
die Eltern-Kind-Beziehungen zwischen den Knoten B und A, den Knoten
C und D und den Knoten C und E.
-
Die
Eltern-Kind-Beziehung zwischen den Knoten B und C wird danach bestimmt,
welcher von ihnen als erster eine Elternbenachrichtigung schickt. Wenn
z.B. der Knoten C die Elternbenachrichtigung zuerst sendet, wird
der Knoten B Elternteil und der Knoten C das Kind wie in 2B gezeigt.
-
Ein
Knoten, an dem alle an dessen Anschlüsse angeschlossenen Knoten
selber Kinder sind, wird die Wurzel. In 2B ist
der Knoten B die Wurzel geworden. Man beachte, dass IEEE 1394 die Möglichkeit
einräumt,
dass jeder Knoten die Wurzel wird.
-
1.4 Selbstidentifizierung
-
Nach
der Baumidentifizierung wird die Selbstidentifizierung ausgeführt. Während der Selbstidentifizierung
werden Selbst-ID-Pakete, beginnend von den Knoten, die innerhalb
der Anschlusstopologie am weitesten vom Wurzelknoten entfernt sind,
sequentiell übertragen.
-
Genauer
gesagt sendet der Knoten A, der an den Anschluss 1 (den Anschluss
mit der kleineren Nummer) des Wurzelknotens B in der in 3 beispielhaft
gezeigten Konfiguration angeschlossen ist, als erster ein Selbst-ID-Paket
(Selbstidentifizierungspaket) an alle Knoten.
-
Der
Knoten C, der an den Anschluss 2 (den Anschluss mit der größeren Nummer)
des Wurzelknotens B angeschlossen ist, wird dann ausgewählt, und
der Knoten D, der an den Anschluss 1 (den Anschluss mit der kleineren
Nummer) des Knotens C angeschlossen ist, versendet ein Selbst-ID-Paket. Der Knoten
E, der an den Anschluss 2 (den Anschluss mit der größeren Nummer)
des Knotens C angeschlossen ist, versendet dann ein Selbst-ID-Paket,
gefolgt vom Knoten C. Schließlich
versendet der Knoten D, der die Wurzel ist, ein Selbst-ID-Paket, und
die Selbstidentifizierung ist abgeschlossen.
-
Die
ID von jedem Knoten ist innerhalb des Selbst-ID-Pakets dieses Knotens
enthalten. Die ID dieses Knotens ist die Gesamtzahl der Selbst-ID-Pakete,
die von anderen Knoten bis zu dem Punkt, bei dem dieser Knoten sein
eigenes Selbst-ID-Paket versendet, empfangen worden sind. Nimmt
man das in 3 gezeigte Beispiel, hat zu
dem Zeitpunkt, zu dem der Knoten A versendet, noch keiner der Knoten ein
Selbst-ID-Paket versendet, so dass die ID des Knotens A zu 0 wird.
Der Knoten A versendet ein Selbst-ID-Paket, welches die ID 0 enthält. Wenn
der Knoten D versendet, hat nur der Knoten A ein Selbst-ID-Paket
ausgegeben. Deshalb wird die ID des Knotens D zu 1. Auf eine ähnliche
Weise werden die IDs der Knoten E, C und B jeweils zu 2, 3 und 4.
-
Das
Format eines Selbst-ID-Pakets ist in 4A gezeigt.
Wie in dieser Figur gezeigt ist, ist in den Selbst-ID-Paketen grundlegende
Information über
die Knoten enthalten. Genauer gesagt ist Information wie z.B. die
ID jedes Knotens (PHY_ID), ob die Verbindungsschicht aktiv ist oder
nicht (L), die Lückenzählung (gap_cnt),
die Übertragungsgeschwindigkeit
(sp), ob der Knoten die Möglichkeit
hat, ein isochroner Ressourcenverwalter (C) zu werden oder nicht,
der Leistungsstatus (pwr) und die Anschlusszustände (p0, p1, p2) darin enthalten.
-
Man
beachte, dass die 4B die Formate von Selbst-ID-Paketen
#1, #2 und #3 zeigt, die verwendet werden, wenn ein Knoten vier
oder mehr Anschlüsse
hat. Wenn ein Knoten zwischen vier und elf Anschlüssen hat,
werden Selbst-ID-Pakete #0 (4A) und
#1 verwendet; wenn ein Knoten zwischen 12 und 19 Anschlüssen hat,
werden Selbst-ID-Pakete #0, #1 und #2 verwendet; und wenn ein Knoten
zwischen 20 und 27 Anschlüssen hat, werden Selbst-ID-Pakete
#0, #1, #2 und #3 verwendet.
-
Die
Formate eines Verbindung-an Pakets und eines PHY-Konfigurationspakets,
welche auf eine ähnliche
Weise wie das Selbst-ID-Paket Pakete der physikalischen Schicht
(PHY-Pakete) sind, sind in den 4C und 4D gezeigt.
-
1.5 Isochroner Ressourcenverwalter
-
Der
isochrone Ressourcenverwalter (IRM) hat die unten beschriebenen
Verwaltungsfunktionen. In erster Linie stellt er die für die isochrone Übertragung
notwendigen verschiedenen Ressourcen zur Verfügung. Z.B. stellt er ein Kanalnummernregister und
ein Bandbreitenregister zur Verfügung.
Zweitens stellt er ein Register zur Verfügung, das die ID des Busverwalters
anzeigt. Drittens nimmt er einige der Busverwaltungsfunktionen wahr,
wenn es keinen anderen Busverwalter gibt.
-
Von
den Knoten, welche die Befähigung
haben, der IRM zu werden (welche fähig sind, isochrone Ressourcen
zu verwalten) und welche auch in einem betriebsbereiten Zustand
sind (eine aktive Verbindungsschicht haben), d.h. von den Knoten,
die qualifiziert sind, der IRM zu werden, wird derjenige Knoten,
der am nächsten
an der Wurzel liegt (der Knoten mit der größten ID), zum IRM. Genauer
gesagt wird von den Knoten, die Selbst-ID-Pakete (siehe 4A)
haben, bei denen das C (CONTENDER) Bit, das anzeigt, ob dieser Knoten
die IRM Befähigung
hat oder nicht, und das L (LINK_ACTIVE) Bit, das anzeigt, ob die
Verbindungsschicht aktiv ist oder nicht, beide eins sind, derjenige
Knoten, welcher der Wurzel am nächsten
ist (der Knoten mit dem größten PHY_ID)
zum IRM. Wenn z.B. das C-Bit und das L-Bit des Selbst-ID-Pakets
des Wurzelknotens beide 1 sind, wird der Wurzelknoten zum IRM.
-
1.6 Zyklus-Master und
Busverwalter
-
Der
Zyklus-Master hat die Aufgabe, das in 1C gezeigte
Zyklusstartpaket auszugeben, und der Wurzelknoten wird zum Zyklus-Master.
-
Der
Busverwalter führt
Aufgaben aus wie das Erzeugen einer Topologiekarte (die Anschlusszustände von
allen Knoten), Erzeugen einer Geschwindigkeitskarte, Verwalten der
Leistungsversorgung des Busses, Bestimmung des Zyklus-Masters und Optimieren
der Lückenzählung.
-
1.7 Protokollkonfiguration
-
Die
Beschreibung wendet sich nun der Protokollkonfiguration (Schichtstruktur)
des IEEE 1394 unter Bezug auf 5 zu.
-
Das
IEEE 1394 Protokoll umfasst eine physikalische bzw. physische Schicht,
eine Verbindungsschicht und eine Vorgangsschicht. Die serielle Busverwaltungsfunktion
beobachtet und steuert die physikalische Schicht, die Verbindungsschicht
und Vorgangsschicht und sieht verschiedene Funktionen zur Steuerung
der Knoten und Verwaltung der Busressourcen vor.
-
Die
physikalische Schicht wandelt die logischen Symbole, die von der
Verbindungsschicht verwendet werden, in elektrische Signale um,
führt die Buszuteilung
bzw. -arbitration aus und definiert die physikalische Busschnittstelle.
-
Die
Verbindungsschicht stellt Funktionen wie z.B. Adressieren, Datenüberprüfung, Datenrahmung und
Zyklussteuerung bereit.
-
Die
Vorgangsschicht definiert das Protokoll für Vorgänge wie z.B. Lesen, Schreiben
und Verriegeln.
-
Die
physikalische Schicht und die Verbindungsschicht sind gewöhnlicherweise
durch Hardware, wie z.B. eine Datenübertragungssteuervorrichtung
(Schnittstellenchip) implementiert. Die Vorgangsschicht ist entweder
durch Firmware, die auf der CPU arbeitet, oder Hardware implementiert.
-
2. Gesamtkonfiguration
-
Die
Gesamtkonfiguration dieser Ausführung ist
unten stehend mit Bezug auf 6 beschrieben.
-
In
der 6 ist eine PHY-Schnittstelle 10 ein Schaltkreis,
der eine Schnittstelle mit einem PHY-Chip vorsieht, welcher das
Protokoll der physikalischen Schicht implementiert.
-
Ein
Verbindungskern 20 (Verbindungsmittel) ist ein Schaltkreis,
der einen Teil des Protokolls der Verbindungsschicht und des Protokolls
der Vorgangsschicht implementiert; er stellt verschiedene Dienste
bezüglich
der Paketübertragung
zwischen den Knoten bereit. Ein Register 22 ist vorgesehen, um
den Verbindungskern 20 zu steuern, welcher diese Protokolle
implementiert.
-
Ein
FIFO (ATF) 30, ein FIFO (ITF) 32 und ein FIFO
(RF) 34 sind FIFOs für
asynchrone Übertragung,
isochrone Übertragung
bzw. Empfang; jeder von ihnen ist aus Hardwaremitteln wie z.B. Registern oder
Halbleiterspeichern aufgebaut. In dieser Ausführung der Erfindung haben diese
FIFOs 30, 32 und 34 eine extrem kleine
Stufenzahl. Z.B. ist die Stufenzahl pro FIFO vorzugsweise nicht
mehr als drei und besonders bevorzugt nicht mehr als zwei.
-
Die
DMACs 40, 42 und 44 sind DMA-Steuergeräte für ATF, ITF
bzw. RF. Die Verwendung dieser DMACs 40, 42 und 44 macht
es möglich,
Daten zwischen einem RAM 80 und dem Verbindungskern 20 zu übertragen,
ohne über
eine CPU 66 zu gehen. Man beachte, dass ein Register 46 eine
Steuerung der DMACs 40, 42, 44 und ähnliche
bereitstellt.
-
Eine
Anschlussschnittstelle 50 ist ein Schaltkreis, der eine
Schnittstelle mit Vorrichtungen der Anwendungsschicht (wie z.B.
Druckertreibern) vorsieht. In dieser Ausführung der Erfindung macht es
die Verwendung dieser Anschlussschnittstelle 50 möglich, z.B.
8-Bit Daten zu übertragen.
-
Ein
FIFO (PF) 52 ist ein FIFO, der verwendet wird, um Daten
zwischen einer Vorrichtung der Anwendungsschicht und einem DMAC 54,
das ein DMA-Steuergerät
für PF
ist, zu übertragen.
Ein Register 56 stellt eine Steuerung über die Anschlussschnittstelle 50 und
den DMAC 54 bereit.
-
Eine
CPU-Schnittstelle 60 stellt eine Schnittstelle zu der CPU 66 bereit,
welche die Datenübertragungssteuervorrichtung
steuert. Die CPU-Schnittstelle 60 umfasst einen Adressendecoder 62,
einen Datensynchronisationsschaltkreis 63 und ein Unterbrechungssteuergerät 64.
Ein Taktsteuerschaltkreis 68 steuert die Taktsignale, die
in dieser Ausführung verwendet
werden, und ein SCLK-Signal, das vom PHY-Chip gesendet wird, und
ein HCLK-Signal, welches ein Haupttaktsignal ist, werden in dieses
eingegeben.
-
Ein
Pufferverwalter 70 ist ein Schaltkreis, der die Schnittstelle
zu dem RAM 80 verwaltet. Der Pufferverwalter 70 umfasst
ein Register 72 zum Steuern des Pufferverwalters, einen
Arbitrationsschaltkreis 74, welcher den Busanschluss an
das RAM 80 zuweist, und einen Arbeitsfolgeregler (Sequenzierer) 76,
der verschiedene Steuersignale erzeugt.
-
Das
RAM 80 funktioniert wie ein wahlfrei zugreifbares Paketspeichermittel,
wobei diese Funktion durch SRAM oder DRAM oder dergleichen implementiert
ist. In dieser Ausführung
der Erfindung ist das RAM 80, wie in 7 gezeigt,
in einen Kopfbereich (allgemein gesprochen einen Steuerinformationsbereich)
und einen Datenbereich aufgeteilt. Der Kopf eines Pakets (allgemein
gesprochen Steuerinformation) ist im Kopfbereich der 7 gespeichert, und
die Daten des Pakets sind im Datenbereich derselben gespeichert.
-
Man
beachte, dass das RAM 80 vorzugsweise innerhalb der Datenübertragungssteuervorrichtung
dieser Ausführung
angeordnet ist. Es ist jedoch möglich,
das ganze RAM 80 oder einen Teil davon extern anzufügen.
-
Ein
Bus 90 (oder Busse 92 und 94) dient als ein
erster Bus zur Verbindung mit Anwendungen. Ein weiterer Bus 96 (oder
Bus 98) dient zur Steuerung der Datenübertragungssteuervorrichtung
als ein zweiter Bus, der elektrisch an eine Vorrichtung (wie z.B.
eine CPU) angeschlossen ist, welche die Datenübertragungssteuervorrichtung
steuert. Noch ein weiterer Bus 100 (oder Busse 102, 104, 105, 106, 107, 108 und 109)
dient als ein dritter Bus zur elektrischen Verbindung mit Vorrichtungen
der physikalischen Schicht (wie z.B. dem PHY-Chip). Ein weiter Bus 110 (ein
vierter Bus) dient zur elektrischen Verbindung mit dem RAM, welches
als ein Speichermittel mit wahlfreiem Zugriff fungiert.
-
Der
Arbitrationsschaltkreis 74 im Pufferverwalter 70 teilt
Buszugangsanfragen von dem DMAC 40, dem DMAC 42,
dem DMAC 44, der CPU-Schnittstelle 60 und dem
DMAC 54 zu. Aufgrund der Ergebnisse dieser Arbitration
wird ein Datenweg zwischen einem der Busse 105, 107, 109, 98 und 94 und
dem Bus 110 des RAM 80 eingerichtet (d.h., der
Datenweg wird zwischen einem unter dem ersten, zweiten und dritten
Bus und dem vierten Bus eingerichtet).
-
Ein
Merkmal dieser Ausführung
ist die Art, auf die sie mit dem RAM 80 versehen ist, welches Pakete
in wahlfrei zugreifbarer Weise speichert, und auch die voneinander
unabhängigen
Busse 90, 96 und 100 sowie der Arbitrationsschaltkreis 74 zum Verbinden
eines dieser Busse mit dem Bus 110 des RAM 80.
-
Ein
Datenübertragungsteuergerät, das eine von
derjenigen dieser Ausführung
unterschiedliche Konfiguration hat, ist in 8 als ein
Beispiel gezeigt. In dieser Datenübertragungssteuervorrichtung
ist ein Verbindungskern 902 mit einem PHY-Chip über eine PHY-Schnittstelle 900 und
einen Bus 922 verbunden. Der Verbindungskern 902 ist
mit einer CPU 912 durch FIFOs 904, 906 und 908,
einer CPU-Schnittstelle 910 und einem Bus 920 verbunden.
Die CPU 912 ist über
einen Bus 924 auch mit einem RAM 914 verbunden,
welches lokaler Speicher in der CPU ist.
-
Man
beachte, dass sich die FIFOs 904, 906 und 908 darin
von den FIFOs 30, 32 und 34 der 6 unterscheiden,
dass jedes von ihnen eine extrem große Stufenzahl hat (wie z.B. 16 Stufen
pro FIFO).
-
Das
Verfahren zur Datenübertragung,
welches bei der wie in 8 gezeigt konfigurierten Datenübertragungssteuervorrichtung
verwendet wird, wird nun unter Bezugnahme auf die 9 beschrieben.
Ein von einem anderen Knoten durch einen PHY-Chip 930 gesendetes
Empfangspaket läuft durch
den Bus 922, eine Datenübertragungssteuervorrichtung 932 und
den Bus 920 und wird dann von der CPU 912 angenommen.
Die CPU 912 schreibt das angenommene Empfangspaket über den
Bus 924 in das RAM 914. Die CPU 912 verarbeitet
das Empfangspaket zu einer Form, die von der Anwendungsschicht verwendet
werden kann, und überträgt es dann über einen
Bus 926 an eine Vorrichtung der Anwendungsschicht 934.
-
Wenn
die Vorrichtung der Anwendungsschicht 934 Daten überträgt, schreibt
die CPU 912 andererseits diese Daten in das RAM 914.
Ein Kopf wird an die Daten im RAM 914 angehängt, um
ein Paket gemäß IEEE 1394
zu erzeugen. Das auf diese Weise erzeugte Paket wird über den
Weg, welcher die Datenübertragungssteuervorrichtung 932 und den
PHY-Chip 930 umfasst, an einen anderen Knoten gesendet.
-
Wenn
dieses Datenübertragungsverfahren verwendet
wird, ist jedoch die Verarbeitungsbelastung für die CPU 912 extrem
stark. Das bedeutet, dass selbst dann, wenn es eine schnelle Übertragungsgeschwindigkeit über den
die Knoten verbindenden seriellen Bus gibt, die tatsächliche Übertragungsgeschwindigkeit
des gesamten Systems durch Faktoren wie den Overhead der Verarbeitung
der CPU 912 verlangsamt wird, so dass es letztendlich nicht
möglich
ist, eine Datenübertragung
hoher Geschwindigkeit zu implementieren.
-
Ein
Verfahren, das als Lösung
für dieses
Problem angesehen werden kann, verwendet Hardware-DMA, um Datenübertragung
zwischen der Datenübertragungssteuervorrichtung 932 und
dem RAM 914 und Datenübertragung
zwischen dem RAM 914 und der Vorrichtung der Anwendungsschicht 934 zu
implementieren, wie in 10 gezeigt.
-
Bei
diesem Verfahren muss jedoch ein CPU-Bus 928 für Datenübertragungen
zwischen der Datenübertragungssteuervorrichtung 932 und
dem RAM 914, zwischen dem RAM 914 und der CPU 912 und
zwischen dem RAM 914 und der Vorrichtung der Anwendungsschicht 934 verwendet
werden. Das bedeutet, dass wenn versucht wird, die Geschwindigkeit
der Datenübertragungen
innerhalb des gesamten Systems zu erhöhen, ein Hochgeschwindigkeitsbus
wie z.B. ein PCI-Bus als der CPU-Bus 928 verwendet werden
muss, was zu einer Erhöhung
der Kosten der elektronischen Einrichtung, welche diese Datenübertragungssteuervorrichtung
verwendet, führt.
-
Im
Gegensatz dazu stellt diese Ausführung der
Erfindung sicher, dass der Bus 90 zwischen einer Datenübertragungssteuervorrichtung 120 und
einer Anwendungsschichtvorrichtung 124, der CPU-Bus 96 und
der Bus 110 zwischen der Datenübertragungssteuervorrichtung 120 und
dem RAM 80 wie in 11 gezeigt
voneinander getrennt sind. Die Konfiguration ist deswegen derart,
dass der CPU-Bus 96 ausschließlich zum Steuern der Datenübertragung verwendet
werden kann. Außerdem
ist der Bus 90 dediziert, so dass er für die Datenübertragung zwischen der Datenübertragungssteuervorrichtung 120 und
der Anwendungsschichtvorrichtung 124 verwendet werden kann.
Wenn z.B. die elektronische Einrichtung, in der die Datenübertragungssteuervorrichtung 120 eingebaut
ist, ein Drucker ist, kann der Bus 90 ausschließlich zum Übertragen
von Druckdaten verwendet werden. Als Ergebnis davon kann die Verarbeitungsbelastung
für die
CPU 66 reduziert werden, und die tatsächliche Übertragungsgeschwindigkeit
des gesamten Systems kann erhöht
werden. Außerdem
kann als die CPU 66 eine preiswerte Vorrichtung verwendet
werden, und es ist auch nicht mehr notwendig, einen Hochgeschwindigkeitsbus
als CPU-Bus 96 zu verwenden. Dies stellt sicher, dass die
elektronische Einrichtung preiswerter und kompakter gemacht werden
kann.
-
3. Sendepaketformat
-
3.1 Merkmale dieser Ausführung
-
In
dieser Ausführung
der Erfindung ist der Speicherbereich im RAM 80 in einen
Kopfbereich (allgemein gesprochen einen Steuerinformationsbereich),
in dem ein Paketkopf (allgemein gesprochen Steuerinformation) gespeichert
ist, und einen Datenbereich, in dem Daten eines Pakets gespeichert
sind, aufgeteilt, wie in 7 gezeigt.
-
In
dem Vergleichsbeispiel, das als Beispiel in 8 gezeigt
ist, muss die CPU 912 die Sendepakete in die FIFOs 904 und 906 in
der Reihenfolge, in der sie versendet werden sollen, eingeben. Wenn
z.B. Paket 1 (Kopf 1, Daten 1), Paket 2 (Kopf 2, Daten 2) und Paket
3 (Kopf 3, Daten 3) versendet werden sollen, müssen die Sendepakete in der
folgenden Reihenfolge in die FIFOs 904 und 906 eingegeben
werden: Kopf 1, Daten 1, Kopf 2, Daten 2, Kopf 3, dann Daten 3.
Das bedeutet, dass die CPU 912 einige Umordnungsverarbeitungen
durchführen
muss, und somit wird die Verarbeitungsbelastung für die CPU 912 extrem
groß.
Dies führt
schließlich
zu einer Verschlechterung der tatsächlichen Übertragungsgeschwindigkeit
des gesamten Systems.
-
Im
Gegensatz dazu ist bei der in 6 gezeigten
Ausführung
der Speicherbereich des RAM 80 in einen Kopfbereich und
einen Datenbereich aufgeteilt. Genauer wird ein im Kopfbereich gespeicherter Kopf
von der Hardware mit im Datenbereich gespeicherten Daten kombiniert,
um ein Sendepaket, das zu einem anderen Knoten übertragen werden soll zusammenzustellen,
wie in 12 gezeigt. Dies stellt sicher,
dass die Verarbeitungsbelastung der CPU 66 im Vergleich
mit der Konfiguration der 8 extrem klein
ist, was die tatsächliche Übertragungsgeschwindigkeit
des gesamten Systems verbessern kann. Weil es außerdem möglich ist, eine preiswerte Vorrichtung
für die
CPU 66 zu verwenden und es ebenso ausreicht, einen Bus
für niedrige
Geschwindigkeiten zum Verbinden mit der CPU 66 zu verwenden,
können
die Datenübertragungssteuervorrichtung
und die elektronische Einrichtung kompakter und preiswerter gemacht
werden.
-
Bei
dieser Ausführung
der Erfindung sind Köpfe
zusammen im Kopfbereich gespeichert, und Daten sind zusammen im
Datenbereich gespeichert. Es ist daher möglich, die Lese- und Schreibverarbeitung
von Datenköpfen
und Daten zu vereinfachen und eine Reduzierung des Overheads der
Verarbeitung zu ermöglichen.
Nimmt man die Datenübertragung
anhand des Verfahrens der 11 als
Beispiel, kann die Datenübertragung
gesteuert werden, indem die CPU 66 über den CPU Bus 96 auf
den Kopfbereich zugreifen lässt,
um Datenköpfe
zu lesen und zu schreiben. Die Vorrichtung der Anwendungsschicht 124 kann
die Daten auch kontinuierlich vom Datenbereich über den Bus 90 auslesen
und auch Daten kontinuierlich in den Datenbereich schreiben.
-
Die
Verarbeitung des Verbindens des Kopfs und der Daten eines Pakets
gemäß dieser
Ausführung
wird implementiert, wie weiter unten beispielhaft genauer beschrieben
ist.
-
Mit
anderen Worten spezifiziert ein Paketzusammenstellungsschaltkreis 280 innerhalb
des DMAC 40 (allgemein gesprochen, dem Lesemittel) dieser
Ausführung
der Erfindung eine Leseadresse RADR. Der Kopf (allgemein gesprochen,
Steuerinformation) des Pakets wird vom Kopfbereich (allgemein gesprochen
dem Steuerinformationsbereich) des RAM mit wahlfreiem Zugriff 80 ausgelesen,
und die Daten, die zu diesem Kopf passen, werden aus dem Datenbereich
des RAM 80 ausgelesen. Auf diese Weise werden der Kopf
und die Daten miteinander verbunden, um ein Sendepaket zusammenzustellen. Dieses
Sendepaket wird über
den FIFO 30, den Verbindungskern 20, der verschiedene
Dienste für
die Paketübertragung
bereitstellt, und den PHY-Chip an die anderen Knoten übertragen.
-
In
diesem Fall wird die Kopferzeugung und das Schreiben in den Kopfbereich
von einem Kopferzeugungsabschnitt 300 der CPU 66 ausgeführt. Das Abrufen
von Daten in den Datenbereich wird von solchen Mitteln wie z.B.
einer Vorrichtung der Anwendungsschicht gemäß einer Anweisung von einem Datenabrufbefehlsabschnitt 302 ausgeführt. Ein Übertragungsstartabschnitt 304 gibt
einen Übertragungsstartbefehl
für das
Paket aus. Man beachte, dass die Funktionen des Kopferzeugungsabschnitts 300,
des Datenabrufbefehlsabschnitts 302, des Übertragungsstartabschnitts 304 und
eines Anzahl-von-Wiederholungen-Setzabschnitts 306 der 13 durch
die Hardware und Firmware der CPU 66 implementiert sind.
-
Man
beachte auch, dass ein Datenzeiger, der eine Leseadresse für Daten
aus dem Datenbereich anzeigt, wie in 14 gezeigt
von dem Kopferzeugungsabschnitt 300 jedem Kopf im Kopfbereich hinzugefügt wird.
Der Paketzusammenstellungsschaltkreis 280 der 13 erhält diesen
Datenzeiger von dem Kopf, der aus dem Kopfbereich als RDATA ausgelesen
wurde, und verwendet den so erhaltenen Datenzeiger, um Daten aus
dem Datenbereich auszulesen. Dies macht es möglich, die Leseverarbeitung
des Paketzusammenstellungsschaltkreises 280 zu vereinfachen.
-
Bei
der Konfiguration der 8 muss das Sendepaket in der
Reihenfolge, in der es versendet werden soll, in den FIFO eingegeben
werden, d.h. in der Reihenfolge „erst Kopf, dann Daten". Es ist deshalb
nicht möglich
ein Paket zu versenden ohne ein Muster zu verwenden, in dem der
Kopf von der Firmware zuerst erzeugt und geschrieben, dann die Daten
von der Vorrichtung der Anwendungsschicht abgerufen und schließlich der
Start der Übertragung
befohlen wird, wie in 15A gezeigt.
Es ist daher nicht möglich,
höhere
Verarbeitungsgeschwindigkeiten zu implementieren.
-
Diese
Ausführung
der Erfindung macht es andererseits der Firmware (dem Kopferzeugungsabschnitt 300)
möglich,
die Verarbeitung zur Erzeugung des Kopfes und dessen Schreiben in
den Kopfbereich auszuführen,
während
Daten von der Anwendungsschichtvorrichtung in den Datenbereich abgerufen
werden, wie in 15B gezeigt. Die Paketübertragungsstartanweisung
wird unter der Bedingung ausgegeben, dass die Firmware (Übertragungsstartabschnitt 304)
sowohl die Verarbeitung zum Abrufen der Daten als auch die Verarbeitung
zum Schreiben des Kopfes abgeschlossen hat. Die auf diese Weise konfigurierte
Ausführung
der Erfindung stellt sicher, dass die Verarbeitungsbelastung der
Firmware dramatisch reduziert wird und auch die Verarbeitung schneller
ist.
-
Man
beachte, dass ein typisches Flussdiagramm für die Verarbeitung durch die
Firmware des Vergleichsbeispiels in 16A gezeigt
ist, und ein typisches Flussdiagramm für die Verarbeitung in der Firmware
dieser Ausführung
der Erfindung in 16B gezeigt ist.
-
In 16A weist die Firmware, nachdem sie den Kopf erzeugt
und geschrieben hat (Schritt S1), die Datenabrufung (Schritt S2)
an und gibt schließlich eine Übertragungsstartanweisung
(Schritt S3) aus.
-
In 16B gibt die Firmware andererseits zuerst allein
eine Datenabrufanweisung (Schritt S11) aus und erzeugt und schreibt
dann den Kopf (Schritt S12). Sie bestimmt dann, ob die Datenabrufung beendet
ist oder nicht (Schritt S13) und sie gibt die Übertragungsstartanweisung (Schritt
S14) aus, wenn sie beendet ist. Diese Konfiguration macht es der
Datenabrufverarbeitung und der Kopferzeugung und der Schreibverarbeitung
möglich,
parallel abzulaufen.
-
Man
beachte, dass wie in 17 gezeigt, der Kopfbereich
des RAM 80 dieser Ausführung
vorzugsweise in getrennte Bereiche für den Empfang und die Übertragung
aufgeteilt ist. Auf ähnliche
Weise könnte
der Datenbereich in Bereiche zum Empfangen und Übertragen als auch in Bereiche
für die isochrone Übertragung
und die asynchrone Übertragung
aufgeteilt sein. Zusätzlich
zum Kopfbereich und dem Datenbereich ist es auch bevorzugt, einen
Arbeitsbereich für
die CPU 66 vorzusehen, der von den anderen Bereichen getrennt
ist.
-
Wenn
der Speicherbereich des RAM 80 in eine Mehrzahl von Bereichen
aufgeteilt ist, ist es darüber
hinaus bevorzugt, dass die Größe jedes
Bereichs auf eine variable Weise gesteuert werden kann. Genauer
können
Zeiger P1 bis P6, welche die Adressen von Grenzen der Bereiche anzeigen,
auf eine variable Weise gesteuert werden, wie in 17 gezeigt.
Dies macht es möglich,
die optimale Bereichspartitionierung für jede Anwendung zu implementieren.
In diesem Fall ist es bevorzugt, dass die Größe von jedem Bereich im RAM 80 dynamisch
und in einer variablen Weise gesteuert werden kann, nachdem die
Leistung eingeschaltet worden ist. Dies macht es möglich, den
Bereich für
den Empfang während
der Empfangsverarbeitung zu erhöhen
oder den Bereich für
die Übertragung
während
der Übertragungsverarbeitung
zu erhöhen,
und erlaubt es so, die begrenzten Ressourcen effektiv auszunutzen.
-
Der
im RAM vorgesehene Sendepaketbereich, der in 18 gezeigt
ist, hat nur einen Kanal. Bei der in 18A gezeigten
Konfiguration wird deshalb zuerst ein Paket 1 geschrieben (der Kopf
wird erzeugt und geschrieben und Daten werden abgerufen) und in
diesem einen Kanal wird dann, wenn das Schreiben beendet ist, der
Start zur Übertragung
des Pakets 1 angewiesen. Ein Paket 2 wird dann im selben Kanal geschrieben,
und wenn das Schreiben endet, wird der Start der Übertragung
für Paket
2 angewiesen.
-
Im
Gegensatz dazu ist der Sendepaketbereich in dem RAM, der in 18B gezeigt ist, in eine Mehrzahl von Kanälen aufgeteilt.
Bei der in 18B gezeigten Konfiguration
wird deshalb zuerst ein Paket 1 geschrieben, und dann, wenn dieses
Schreiben beendet ist, wird der Start für die Übertragung des Pakets 1 angewiesen.
Während
das Paket 1 vom Kanal 1 (CH1) übertragen
wird, wird ein Paket 2 im Kanal 2 (CH2) geschrieben, und wenn dieses
Schreiben beendet ist, wird der Start für die Übertragung für Paket
2 angewiesen. Auf eine ähnliche
Weise wird ein Paket 3 im Kanal 3 (CH3) geschrieben, während Paket
2 vom Kanal 2 gesendet wird, und ein Paket 4 wird im Kanal 4 (CH4)
geschrieben, während
Paket 3 vom Kanal 3 gesendet wird.
-
Weil
in der Konfiguration der 18A die Verarbeitungen
des Schreibens und Übertragens
von jedem Paket sequentiell ausgeführt werden, gibt es eine Verschwendung
von Verarbeitungszeit. Im Gegensatz dazu wird die Übertragungsverarbeitung (Leseverarbeitung)
eines Pakets von einem Kanal parallel mit der Schreibverarbeitung
eines Pakets in einem anderen Kanal ausgeführt. Es ist deshalb möglich, die
Verschwendung der Prozessarbeitszeit zu reduzieren und die Verarbeitung
da durch schneller zu machen.
-
Die
Beschreibung wendet sich nun den Einzelheiten der Paketübertragung
unter Verwendung einer Mehrzahl von Kanälen mit Bezug auf die 19, 20A, 20B, 21A und 21B zu.
-
SUB1,
SUB2, SUB3 und SUB4 in 19 sind Subroutinen 1, 2, 3
und 4, die in den 20A, 20B, 21A bzw. 21B gezeigt
sind. Jede der SUB1 bis SUB4 zweigt von einer einzelnen Hauptroutine
ab.
-
Als
erstes wird SUB1 im Kanal 1 ausgeführt, wie in E1 der 19 gezeigt
ist. Die in 20A gezeigte Verarbeitung von
SUB1 bestimmt, ob ein Datenabruf-in-Ausführung-Flag gesetzt ist oder
nicht (Schritt T11), und überprüft anschließend, wenn
es nicht gesetzt ist, ob im Datenbereich Platz vorhanden ist oder
nicht (Schritt T12). Wenn der Datenbereich leer ist, ordnet sie
einen Datenabruf an (Schritt T13). Dieser ruft Daten von einer Vorrichtung
der Anwendungsschicht oder dergleichen in das RAM ab. Nachdem der
Datenabruf angeordnet worden ist, wird das Datenabruf-in-Ausführung-Flag gesetzt (Schritt
T14).
-
Die
in 20B gezeigte Verarbeitung von SUB2 bestimmt zuerst
ob das Datenabruf-in-Ausführung-Flag gesetzt ist
oder nicht (Schritt T21). Bei E2 in 19 ist
das Datenabruf-in-Ausführung-Flag
gesetzt, weil das Datenabruf-in-Ausführung-Flag im Schritt T14 (20A) in SUB1 bei E1 der 19 gesetzt
worden ist. Die Verarbeitung fährt
daher mit dem nächsten
Schritt fort und bestimmt, ob der Datenabruf geendet hat oder nicht
(Schritt T22). Weil der Datenabruf bei E2 der 19 beendet
geendet hat, fährt
die Verarbeitung mit dem nächsten
Schritt fort und setzt ein Übertragungs-Ermächtigungs-Flag für Kanal
1 (Schritt T23). Dieses Übertragungs-Ermächtigungs-Flag
unterscheidet sich von dem zuvor beschriebenen Datenabruf-in-Ausführung-Flag
und einem Übertragung-in-Ausführung-Flag,
welches später
beschrieben werden wird, darin, dass eine solches Flag für jeden
Kanal vorgesehen ist. Nachdem das Übertragungs-Ermächtigungs-Flag
gesetzt worden ist, wird das Datenabruf-in-Ausführung-Flag gelöscht (Schritt
T24).
-
Die
in 21A gezeigte Verarbeitung von SUB3 bestimmt zuerst
ob das Übertragung-in-Ausführung-Flag
gesetzt ist oder nicht (Schritt T31), überprüft anschließend, wenn es nicht gesetzt
ist, ob das Übertragungs-Ermächtigungs-Flag
gesetzt ist oder nicht (Schritt T32). Bei E3 der 19 ist
das Übertragungs-Ermächtigungs-Flag
gesetzt, wie das Übertragungs-Ermächtigungs-Flag
im Schritt T23 (20B) in SUB2 bei E2 der Fg.
19 gesetzt worden ist. Die Verarbeitung fährt dann mit dem nächsten Schritt
fort und ordnet den Start der Übertragung
an (Schritt T33). Nach der Anordnung zum Start der Übertragung
wird das Übertragung-in-Ausführung-Flag
gesetzt (Schritt T34).
-
Die
in 21B gezeigte Verarbeitung von SUB4 bestimmt zuerst,
ob das Übertragung-in-Ausführung-Flag
gesetzt ist oder nicht (Schritt T41). Bei E4 in 19 ist
das Übertragung-in-Ausführung-Flag gesetzt, weil
das Übertragung-in-Ausführung-Flag
im Schritt T34 (21A) in SUB3 bei E3 der 19 gesetzt
worden ist. Die Verarbeitung fährt
daher mit dem nächsten
Schritt fort und bestimmt, ob die Übertragung beendet ist oder
nicht (Schritt T42). Weil die Übertragung
schon im Schritt E4 der 19 beendet worden
ist, fährt
die Verarbeitung mit dem nächsten Schritt
fort und löscht
das Übertragungs-Ermächtigungs-Flag
und das Übertragung-in-Ausführung-Flag
(Schritt T43 und T44).
-
In
SUB2 bei E2 in 19 wird das Übertragungs-Ermächtigungs-Flag
unter der Bedingung gesetzt, dass der Datenabruf beendet ist, wie
in den Schritten T22 und T23 der 20B gezeigt
ist. Auf ähnliche
Weise wird in SUB3 bei E3 die Übertragung von
einem Kanal unter der Bedingung gestartet, dass das Übertragungs-Ermächtigungs-Flag
dieses Kanals gesetzt worden ist, wie in den Schritten T32 und T33
der 21A gezeigt ist. Mit anderen
Worten macht es das Vorsehen eines Übertragungs-Ermächtigungs-Flags
für jeden
Kanal möglich,
die Übertragung
für jeden
Kanal unter der Bedingung zu starten, dass der Datenabruf für diesen
Kanal beendet ist.
-
In
SUB2 bei E2 der 19 wird das Datenabruf-in-Ausführung-Flag
unter der Bedingung gelöscht,
dass der Datenabruf bei T22 und T24 der 20B beendet
ist. Wenn das Datenabruf-in-Ausführung-Flag auf diese Weise
gelöscht
worden ist (wenn es nicht gesetzt ist), kann SUB1 bei E2 den Datenabruf
anordnen (Schritte T11 und T13 der 20A).
Mit anderen Worten ist es möglich,
eine Situation zu vermeiden, in welcher Daten für einen Kanal abgerufen werden,
während
ihr Abruf für
einen anderen Kanal noch im Gang ist, indem man dieses Datenabruf-in-Ausführung-Flag
verwendet.
-
In
SUB4 bei E6 der 19 wird das Übertragung-in-Ausführung-Flag
unter der Bedingung gelöscht,
dass die Übertragung
beendet ist, wie in den Schritten T42 und T44 der 21B gezeigt ist. Wenn das Datenabruf-in-Ausführung-Flag
auf diese Weise gelöscht
worden ist (wenn es nicht gesetzt ist), kann SUB3 bei E7 den Start
der Übertragung
anordnen (Schritte T31 und T33 der 21A).
Mit anderen Worten ist es möglich,
eine Situation zu vermeiden, in der Daten für einen Kanal übertragen
werden, während
ihre Übertragung
für einen
anderen Kanal noch im Gang ist, indem man dieses Übertragung-in-Ausführung-Flag
verwendet.
-
Wie
oben beschrieben ist es möglich,
Pakete von einer Mehrzahl von Kanälen im Multitasking zu übertragen,
indem man ein Programm (Firmware) verwendet, das aus einer Hauptroutine
und vier Subroutinen SUB1 bis SUB4 besteht.
-
Man
beachte, dass es bevorzugt ist, Verbindungszeiger zu haben, um verwandte
Pakete miteinander für
eine Paketübertragung über eine
Mehrzahl von Kanälen
zu verbinden. Man nehme an, dass die Pakete 1 und 3, 2 und 4, und
3 und 2 durch Verbindungszeiger 1, 2 und 3, wie in 22A beispielhaft gezeigt ist, miteinander verbunden
sind. Wenn der Start der Übertragung
von Paket 1 angeordnet wird, wird gemäß dem Verbindungszeiger 1 Paket
2 gelesen und Paket 3 wird übertragen,
wie in 22B gezeigt. Wenn Paket 3 gesendet
wird, wird Paket 2 gemäß dem Verbindungszeiger
3 gelesen, und Paket 2 wird übertragen,
wie in 22C gezeigt. Wenn Paket 2 gesendet
wird, wird Paket 4 gemäß dem Zeiger
2 gelesen, und Paket 4 wird übertragen,
wie in 22D gezeigt.
-
Diese
Konfiguration stellt sicher, dass die Firmware einfach den Start
der Übertragung
eines Pakets von einem Kanal anordnen kann, was bewirkt, dass ein
Paket eines anderen Kanals nachfolgend gelesen wird. Es ist für die Firmware
daher nicht notwendig, den Start der Übertragung eines Pakets eines
anderen Kanals anzuordnen. Als Ergebnis davon kann die Verarbeitungsbelastung
der Firmware drastisch reduziert werden.
-
Wenn
unter IEEE 1394, wie mit Bezug auf 1A beschrieben,
ein Quellknoten ein Paket überträgt, gibt
der Zielknoten einen ACK-Code zurück. In diesem Fall sind die
Einzelheiten dieses ACK-Codes vorzugsweise in irgendeiner Art von
Speichermittel auf eine solche Weise gespeichert, dass die Firmware
des Quellknotens sie bestätigen
kann. Ein Vier-Bit-ACK-Code, der als Antwort auf die Übertragung
des Pakets 1 zurückgegeben
wird, wird in einem Register 940 wie in 23A gezeigt gespeichert. Wenn ein ACK-Code als
Antwort auf die Übertragung
von Paket 2 zurückgegeben
wird, wird der ACK-Code für
dieses Paket 2 in das Register 940 überschrieben. Mit anderen Worten
wird der ACK-Code im Register 940 immer auf die neueste Version
aktualisiert.
-
Wenn
jedoch eine Mehrzahl von Paketen nacheinander mit dem Verfahren
der 23A gesendet worden sind, ist
es nicht länger
klar, zu welchem Paket der im Register 940 gespeicherte
Code gehört.
Dies liegt daran, dass das Register 940 immer nur einen
ACK-Code zur gleichen Zeit speichern kann.
-
Ein
Verfahren zur Vermeidung dieses Problems, das in Betracht gezogen
werden könnte,
ist, sicherzustellen, dass die Firmware den Start der Übertragung
des Pakets 2 nach Lesen und Bestätigen
des ACK-Codes anordnet, der als Antwort auf die Übertragung des Pakets 1 vom
Register 940 zurückgegeben
worden ist. Dieses Verfahren bedeutet jedoch, dass die Firmware
warten muss, bis der ACK-Code für
das Paket 1 zurückgegeben
worden ist, bevor sie die Anordnung für den Start der Übertragung
für das
Paket 2 ausgeben kann. Dies behindert eine Beschleunigung der Verarbeitung.
Dies ist insbesondere dann zutreffend, wenn eine Mehrzahl von Kanälen für die Übertragung
von Paketen verwendet wird, weil es die Ausnutzung der Vorteile,
die durch diese Mehrzahl von Kanälen
bereitgestellt wird, unmöglich
macht.
-
In
einem anderen, in 23B gezeigten Verfahren wird
ACK-Code (Bestätigungsinformation), der
vom Übertragungsziel
(Zielknoten) des Pakets gesendet worden ist, wieder in den Kanal
geschrieben, welcher der Ursprung der Übertragung für dieses
Paket aus der Mehrzahl von Kanälen
für den Sendepaketbereich
ist. Mit anderen Worten wird ein ACK, das für die Übertragung des Pakets 1 vom
Kanal 1 zurückgegeben
wird, in den Kanal 1 zurückgeschrieben,
und ein ACK, das für
die Übertragung
des Pakets 2 von Kanal 2 zurückgegeben
wird, wird in den Kanal 2 zurückgeschrieben,
wie in 23B gezeigt.
-
Diese
Konfiguration stellt sicher, dass es eine Eins-zu-Eins-Entsprechung
zwischen Paketen und versendeten ACK-Codes gibt, die es für die Firmware
möglich
macht, auf eine einfache und zuverlässige Weise zu bestätigen, welcher
ACK-Code für
welches Paket zurückgegeben
worden ist.
-
Darüber hinaus
kann die Firmware den Start einer Übertragung von Paket 2 ohne
Bestätigung, dass
ein ACK-Code für
die Übertragung
des Pakets 1 zurückgegeben
worden ist, anordnen und diesen ACK-Code später bestätigen. Mit anderen Worten kann
sie den Start der Übertragung
anordnen, sobald die Vorbereitungen zur Übertragung (Kopf erzeugen und
schreiben und Daten abrufen) abgeschlossen sind, und dann die ACK-Codes
bestätigen,
wann immer es überschüssige Zeit
gibt.
-
Diese
Konfiguration macht es möglich,
die Verarbeitungsgeschwindigkeit sogar noch weiter zu erhöhen.
-
Man
beachte, dass es unter den Gesichtspunkten der Vereinfachung der
Hardware, der Reduzierung der Verarbeitungsbelastung der Firmware und
der Erhöhung
der Verarbeitungsgeschwindigkeit insbesondere bevorzugt ist, dieses
Verfahren des Schreibens der ACK-Codes für jedes Paket zurück in den
Kanal, der dieses Paket gesendet hat, wie in den 23B und 23C gezeigt,
zu verwenden. Diese Ausführung
ist jedoch nicht auf das in den 23B und 23C gezeigte Verfahren beschränkt. Mit anderen Worten könnte die
Vorrichtung mit Mitteln zum Speichern von wenigstens der gleichen
Anzahl von von Paketübertragungszielen
als Pakete gesendeten ACK-Codes, wie Pakete in Serie übertragen
werden können,
ohne diese ACK-Codes zu bestätigen,
ausgestattet sein. Wenn die Anzahl der Pakete, die hintereinander
ohne eine Verifikation der ACK-Codes übertragen werden können, z.B.
vier ist, wird die Vorrichtung mit einem Register vorgesehen, das
wenigstens vier ACK-Codes
beinhalten kann (ein Register mit mindestens 16 Bits). Die Konfiguration
ist vorzugsweise derart, dass es unabhängig von der Reihenfolge in
der sie ankommen, möglich
ist, zu bestätigen,
dass ACK-Codes zurückgegeben
worden sind. Diese Konfiguration macht es möglich, die Entsprechung zwischen
Paketen und ACK-Codes selbst dann aufrechtzuerhalten, wenn Pakete
nacheinander übertragen
werden.
-
Wie
in 24A gezeigt, werden die Pakete 1, 2 und 3 in einer
solchen Weise verschickt, dass Paket 1 (Kopf 1, Daten 1) in das
RAM geschrieben wird, der Start dieser Übertragung angeordnet wird, Paket
2 (Kopf 2, Daten 2) geschrieben wird, der Start dieser Übertragung
angeordnet wird, dann Paket 3 (Kopf 3, Daten 3) geschrieben wird
und der Start dieser Übertragung
angeordnet wird.
-
Wenn
jedoch die Pakete 1, 2 und 3 Pakete vom gleichen Typ sind und die
Datenköpfe
1, 2 und 3 ähnlich
sind (wenn eine große
Datenmenge beispielsweise zur Übertragung
in eine Mehrzahl von Nutzlasten aufgeteilt wird) führt das
Verfahren der 24A zu einem gewissen Grad von
Verschwendung bei der Verarbeitung der Kopferzeugung durch die Firmware,
und auch der Speicherbereich im RAM wird nicht effektiv genutzt.
Außerdem
hat die Firmware die Anweisung zum Starten der Übertragung dreimal auszugeben,
um die Pakete 1, 2 und 3 zu versenden. Das Verfahren der 24A erhöht
deshalb die Verarbeitungsbelastung der Firmware und macht es auch
unmöglich,
begrenzte Ressourcen effektiv zu nutzen.
-
Im
Gegensatz dazu ermöglicht
es das Verfahren der 24B dem Kopferzeugungsabschnitt 300 (Firmware)
der 13, einen einzelnen Kopf zu erzeugen, der als
ein grundlegender Kopf fungiert. Dieser grundlegende Kopf umfasst
Felder wie beispielsweise einen Datenzeiger, RPN und tI, wie in 24B gezeigt.
-
In
diesem Fall gibt der Datenzeiger eine Adresse für Daten an, die aus dem Datenbereich
gelesen werden sollen. RPN ist die Anzahl der Übertragungswiederholungen,
die von dem Anzahl-der-Übertragungen-Setzabschnitt 306 der 13 gesetzt
wird. Und tI ist eine Vorgangsmarke, die als Information zur Identifizierung
von Vorgängen von
jedem Knoten im IEEE 1394 standardisiert ist. Die antwortende Seite
muss zum Zurückgeben
an die anfragende Seite dieselbe Vorgangsmarke einfügen, die
auch im Paket von der anfragenden Seite enthalten ist. Es ist daher
notwendig, für
jeden Vorgang die tI-Überschreibverarbeitung
einzufügen.
-
Jedes
Mal, wenn der Übertragungsstartabschnitt 403 der 13 den
Start der Übertragung
anordnet, überschreibt
ein Kopfüberschreibschaltkreis 310 wie
in 24B gezeigt sequentiell den grundlegenden Kopf.
Mit anderen Worten überschreibt
er den Datenzeiger und tI des grundlegenden Kopfes, während er
RPN des grundlegenden Kopfes dekrementiert oder inkrementiert (allgemein
gesprochen, aktualisiert). Diese Überschreibung wird gemacht, bis
PRN einen gegebenen Wert wie z.B. Null erreicht. Dieses Überschreiben
des grundlegenden Kopfes gewährleistet,
dass Köpfe,
welche den Daten eines Pakets entsprechen, das nacheinander übertragen werden
soll, sequentiell für
jedes Paket erzeugt werden können.
Diese Konfiguration macht es möglich, die
Verarbeitungsbelastung der Firmware dramatisch zu reduzieren und
auch die Größe des Speicherbereichs,
der von den Köpfen
eingenommen wird, zu reduzieren.
-
In
dem in 24a als Beispiel gezeigten Verfahren
muss die Firmware für
jedes zu versendende Paket einen Kopf erzeugen und schreiben und den
Start für
die Übertragung
anordnen. Im Gegensatz dazu stellt das Verfahren der 24B sicher, dass, vorausgesetzt, dass die Firmware
anfänglich RPN
setzt (Schritt U1), den grundlegenden Kopf erzeugt und schreibt
(Schritt U2), dann den Start der Übertragung anordnet (Schritt
U3), den Vorgang des Überschreibens
des grundlegenden Kopfes, Abrufen der Daten und Übertragen der Pakete dann automatisch
wiederholt werden kann. Somit kann die Verarbeitungsbelastung der
Firmware im Vergleich mit der Konfiguration der 25A reduziert werden.
-
Man
beachte, dass es auch möglich
ist, die Anzahl der Übertragungswiederholungen
RPN in einem gegebenen Register oder ähnlichem zu speichern, anstatt
sie im grundlegenden Kopf einzufügen.
-
3.2 Konfiguration
-
Nachfolgend
ist die Konfiguration auf der Übertragungsseite
beschrieben. Ein detailliertes Beispiel der Konfiguration des FIFO 30 und
des DMAC 40 ist in 27 gezeigt.
-
Der
FIFO 30 arbeitet als ein Puffer zur Phaseneinstellung und
umfasst einen FIFO-Zustandsbeurteilungsschaltkreis 31.
Der FIFO-Zustandsbeurteilungsschaltkreis 31 aktiviert ein
Leer-Signal EMPTY, wenn der FIFO leer ist und ein Voll-Signal FULL, wenn
der FIFO voll ist.
-
Der
DMAC 40 umfasst einen Paketzusammenstellungsschaltkreis 280,
einen Zugangsanfragenausführungsschaltkreis 290,
einen Zugangsanfragenerzeugungsschaltkreis 292, einen ACK-Schreibanfragenerzeugungsschaltkreis 294 und
einen ACK-Schreibdaten- und Adresserzeugungsschaltkreis 296.
-
Der
Paketzusammenstellungsschaltkreis 280 liest einen Kopf
aus dem Kopfbereich des RAM 80 und Daten aus dessen Datenbereich
und stellt ein Sendepaket zusammen, das einen aus diesem Kopf und
den Daten gebildeten Rahmen hat (siehe 12). Der
Paketzusammenstellungsschaltkreis 280 umfasst einen Zeigeraktualisierungsschaltkreis 284 und
einen Adresserzeugungsschaltkreis 288.
-
Der
Zeigeraktualisierungsschaltkreis 284 aktualisiert einen
Kopfzeiger (allgemein gesprochen einen Steuerinformationszeiger)
und einen Datenzeiger, der zum Auslesen von Köpfen und Daten aus dem RAM 80 verwendet
wird, und er umfasst einen Datenzeigererfassungsschaltkreis 285.
Der Datenzeigererfassungsschaltkreis 285 erfasst einen
Datenzeiger aus den aus dem RAM 80 ausgelesenen RDATA,
und er umfasst einen tcode-Bestimmungsschaltkreis 286 (tcode
bedeutet Vorgangscode, allgemein gesprochen eine Paketformatidentifizierungsinformation).
Der tcode-Bestimmungsschaltkreis 286 identifiziert den
tcode, und die Tatsache, dass entweder der Kopf oder die Daten des
Pakets gelesen worden ist, kann durch Identifizieren dieses tcode
bestimmt werden.
-
Der
Adresserzeugungsschaltkreis 288 empfängt Ausgaben wie z.B. solche
vom Zeigeraktualisierungsschaltkreis 284 und gibt eine
Leseadresse RADR für
das RAM 80 aus.
-
Wenn
das EMPTY-Signal vom FIFO-Zustandsbeurteilungsschaltkreis 31 aktiv
ist, aktiviert der Zugangsanfragenausführungsschaltkreis 290 ein FIFOIN
Signal. Der Verbindungskern 20 aktiviert TDS, was ein Freigabesignal
für TD
(TxData) ist, unter der Bedingung, dass FIFOIN nicht aktiv ist.
-
Man
beachte, dass TFAIL ein Signal ist, das vom Verbindungskern 20 verwendet
wird, um den Zugangsanfragenausführungsschaltkreis 290 zu
informieren, dass eine Übertragung
gescheitert ist.
-
Der
Zugangsanfragenerzeugungsschaltkreis 292 empfängt RACK
(welches eine aus dem Pufferverwalter 70 ausgelesene Bestätigung ist)
und FULL vom FIFO-Zustandsbeurteilungsschaltkreis 31 und gibt
RREQ (welches eine Leseanfrage ist) an den Pufferverwalter 70 aus.
-
Der
ACK-Schreibanfragenerzeugungsschaltkreis 294 empfängt TCMP
vom Verbindungskern 20 und WACK vom Pufferverwalter 70 und
gibt WREQ an den Pufferverwalter 70 aus. Der ACK-Schreibdaten-
und Adresserzeugungsschaltkreis 296 empfängt TACK
vom Verbindungskern 20, gibt den Rückschreibcode ACK für das Sendepaket als
WDATA aus und gibt die Rückschreibeadresse
für den
ACK-Code als WADR aus.
-
3.3 Übertragungsseitiger Betrieb
-
Der
Betrieb auf der Übertragungsseite
wird nun mit Bezugnahme auf das Zeitsteuerungswellenformdiagramm
der 28 beschrieben.
-
Die
Beschreibung wendet sich zuerst dem Betrieb des Verbindungskerns 20 zu.
-
Wenn
TSTART (was den Start der Übertragung
markiert) aktiviert wird, verwendet der Verbindungskern 20 das
Freigabesignal TDS, um TD aus dem FIFO 30 abzurufen, wie
bei B1 in der 28 gezeigt. In diesem Fall wird
TD in den Verbindungskern 20 in der folgenden Sequenz abgerufen:
Kopf (H0 bis H3), dann Daten (D0 bis Dn).
-
Man
beachte, dass das Format (IEEE 1394 Standard) des Ober den seriellen
Bus zu übertragenden
asynchronen Pakets in 29A gezeigt
ist. Das Format des Kopfteils eines asynchronen Sendepakets, das
im Kopfbereich des RAM 80 gespeichert ist, ist in 29B gezeigt. Wie in dieser Figur gezeigt, bildet
der vierte Teilbereich (quadlet) des Kopfes einen Datenzeiger.
-
Der
Verbindungskern 20 verhindert, dass bei der mit B2 bezeichneten
Position in der 28 TDS aktiviert wird. Deshalb
wird der vierte Teilbereich (quadlet) H4 des Kopfes nicht in den
Verbindungskern 20 abgerufen, wie bei B3 gezeigt. Dies
liegt daran, dass der vierte Teilbereich (quadlet) H4 der Datenzeiger
ist, wie in 29B gezeigt, und dass der Verbindungskern 20 diesen
Datenzeiger nicht benötigt.
Der Verbindungskern 20 führt während der Dauer B3 die Verarbeitung
zur Erzeugung des Kopfes CRC (siehe 29A)
zum Anhängen
an den Kopf aus.
-
Wenn
die Übertragungsverarbeitung
für ein Paket
endet, aktiviert der Verbindungskern 20 TCMP wie bei B4
gezeigt. Der ACK-Code (siehe 1A, 23B und 23C),
der vom Zielknoten der Übertragung über den
PHY-Chip zurückgegeben worden
ist, wird an den DMAC 40 als TACK ausgegeben, wie bei B5
gezeigt. Dieser ACK-Code wird dann in den im Kopfbereich des RAM 80 gespeicherten Kopf
durch den ACK-Schreibanfrageerzeugungsschaltkreis 294 und
den ACK Schreibdaten- und Adresserzeugungsschaltkreis 296 zurückgeschrieben
(siehe den siebten Teilbereich (quadlet) der 29B).
-
Die
Beschreibung wendet sich nun der Betriebsweise des FIFO 30 zu.
-
Der
FIFO 30 empfängt
RDATA vom Pufferverwalter 70 und gibt es als TD an den
Verbindungskern 20 aus.
-
Der
FIFO-Zustandsbeurteilungsschaltkreis 31 innerhalb des FIFO 30 verwendet
einen internen Zähler,
um die Anzahl der Datenelemente in dem FIFO 30 zu zählen (FIFO-Zählung).
Wenn der FIFO 30 leer wird (wenn die Anzahl der Datenelemente
0 ist), wird EMPTY aktiviert, wie bei B6 in der 28 gezeigt.
Wenn der FIFO 30 voll wird (wenn die Anzahl der Datenelemente
2 ist), wird FULL aktiv (hoch) wie bei B7 gezeigt. Die Tatsache,
dass der FIFO leer ist, wird von EMPTY und FIFOIN an den Zugangsanfragenausführungsschaltkreis 290 innerhalb
des DMAC 40 und den Verbindungskern 20 übertragen.
Die Tatsache, dass der FIFO 30 voll ist, wird durch FULL
an den Zugangsanfragenerzeugungsschaltkreis 292 innerhalb
des DMAC 40 übertragen.
-
Die
Beschreibung wendet sich nun der Betriebsweise des DMAC 40 zu.
-
Der
Zugangsanfragenerzeugungsschaltkreis 292 aktiviert RREQ
unter der Bedingung, dass FULL inaktiv (tief) ist, wie bei B8 gezeigt
(Anzeigen, dass der FIFO 34 nicht voll ist). Falls RACK
vom Pufferverwalter 70 akzeptiert wird, wird RREQ inaktiv.
-
Man
beachte, dass bei dieser Ausführung der
Erfindung Zugangsanfragen vom DMAC 40 (oder dem DMAC 42)
während
der Busarbitration für
die Übertragung
die höchste
Priorität
haben. Falls es einen Konflikt um Anschlüsse zwischen dem RREQ von dem
DMAC 40 und einer anderen Zugangs anfrage (anderes RREQ)
von der CPU-Schnittstelle 60 und dem DMAC 54 gibt,
dann hat deswegen RREQ die Priorität. Wenn es andererseits schon
eine andere Zugangsanfrage von der CPU-Schnittstelle 60 und dem DMAC 54 nach
Anschlüssen
vor dem RREQ wie bei B9 gezeigt, gibt, ist eingerichtet, dass die
Zugangsanfrage vom DMAC 40 für eine gegebene Zeit warten
muss. Deshalb werden RDATA aus dem Pufferverwalter 70 und
TD vom Verbindungskern 20 nicht synchronisiert. Aus diesem
Grund ist diese Ausführung
der Erfindung mit dem FIFO 30 ausgestattet, um die Phasen
von RDATA und TD einzustellen. In diesem Fall könnte der FIFO 30 mit
einer kleinsten Anzahl von Stufen, die für die Einstellung der Phase notwendig
sind, ausgestattet sein (vorzugsweise nicht mehr als drei Stufen;
besonders bevorzugt nicht mehr als zwei Stufen).
-
Wenn
die Übertragung
beginnt, inkrementiert (allgemein gesprochen, aktualisiert) der
Zeigeraktualisierungsschaltkreis 284 den Kopfzeiger HP wie
in 30A gezeigt. Der Adresserzeugungsschaltkreis 188 gibt
RADR in Übereinstimmung
mit dem so inkrementierten Kopfzeiger aus, wie bei B10 in der 28 gezeigt.
Somit wird der Kopfbereich von RDATA sequentiell aus dem RAM 80 ausgelesen.
-
Wenn
H4 als RDATA gelesen wird, erfasst der Datenzeigererfassungsschaltkreis 285 innerhalb des
Paketbildungsschaltkreises 280 dieses H4 als den Datenzeiger
DP. Genauer gesagt, wenn H0 als RDATA gelesen wird, bestimmt der
tcode-Bestimmungsschaltkreis 286 innerhalb des Datenzeigererfassungsschaltkreises 285 den
tcode (siehe 29B), der in von H0 enthalten
ist. Wenn aus dem tcode (allgemein gesprochen, der Paketformatidentifizierungsinformation)
bestimmt wird, dass es einen Datenzeiger im vierten Teilbereich
(quadel) des Kopfes gibt, erfasst der Datenzeigererfassungsschaltkreis 285 beispielsweise
H4, wenn H4 als RDATA ausgelesen wird. Mit anderen Worten wird H4
von RDATA als der Datenzeiger erfasst und als RADR ausgegeben (siehe
B11 in 28).
-
Man
beachte, dass der Verbindungskern 20 in dieser Ausführung der
Erfindung den Zeitraum, in dem der Kopf CRC erzeugt wird, verwendet,
um den Datenzeiger H4 von RDATA zu erfassen, wie bei B3 und B11
gezeigt ist. Mit anderen Worten, wird in dieser Ausführung die
Erzeugung des Kopfes CRC vom Verbindungskern 20 erledigt,
so dass der DMAC 40 daran nicht Teil hat. Mit anderen Worten
wird die Erfassung des Datenzeigers vom DMAC 40 erledigt,
so dass der Verbindungskern 20 daran nicht Teil hat. Aus
diesem Grund positioniert diese Ausführung der Erfindung den Datenzeiger
im vierten Teilbereich (quadlet) in 29B,
wo der Kopf CRC in 29A positioniert ist. Die Konfiguration
ist derart, dass der Zeitraum, in dem der Kopf CRC erzeugt wird,
zum Erfassen des Datenzeigers H4 von RDATA verwendet wird. Dies
macht es möglich,
jegliche Verschwendung von Verarbeitungszeit zu vermeiden.
-
Während der
Datenzeiger erfasst wird, inkrementiert der Zeigeraktualisierungsschaltkreis 284 H4,
welches der erfasste Datenzeiger ist, wie in 30B gezeigt
ist. Der Adresserzeugungsschaltkreis 288 gibt RADR in Übereinstimmung
mit dem inkrementierten Datenzeiger aus, wie bei B12 in der 28 gezeigt.
Somit wird der Datenbereich von RDATA sequentiell aus dem RAM 80 gelesen.
-
Wenn
die Übertragungsverarbeitung
für ein Paket
endet, aktiviert der Verbindungskern 20 TCMP, wie bei B4
gezeigt, und der ACK-Schreibanfrageerzeugungsschaltkreis 294 aktiviert
WREQ, wie bei B13 gezeigt. Der ACK-Code, der unter Verwendung von
TACK vom Verbindungskern 20 an den ACK-Schreibdaten- und
Adresserzeugungsschaltkreis 296 gesendet wurde, wird als
WDATA, wie bei B14 gezeigt ist, ausgegeben. Während dieser Zeit wird HP +
7, was die Schreibadresse für
den ACK-Code ist,
als WADR ausgegeben. Diese Konfiguration macht es möglich, den
ACK-Code von dem Zielcode wieder in den Kanal zurückzuschreiben, welcher
der Übertragungsursprung
des Paketes war, wie mit Bezug auf die 23B und 23C beschrieben ist.
-
Man
beachte, dass mit diesem Setzen von WADR auf HP + 7 beabsichtigt
ist, den ACK-Code zurück
in den siebten Teilbereich (quadlet) des Kopfes, wie in 29B gezeigt, zu schreiben.
-
Wie
oben beschrieben, ist es möglich,
einen Kopf in dem Kopfbereich mit Daten in dem Datenbereich zu kombinieren,
um ein Sendepaket zusammenzustellen.
-
Ein
besonderes Merkmal dieser Ausführung ist,
dass die Kombination von Köpfen
und Daten vom DMAC 40 gemacht wird, so dass es für den Verbindungskern 20 nicht
notwendig ist, daran teilzuhaben. Es ist deshalb möglich, die
Schaltkreiskonfiguration und die Verarbeitung des Verbindungskerns 20 zu vereinfachen.
-
In
dieser Ausführung
erfasst der Datenzeigererfassungsschaltkreis 285 den Datenzeiger
(H4) vom RDATA, gründet
dann die Ausgabe von RADR auf den so erfassten Datenzeiger, um die
Daten auszulesen. Dies macht es möglich, jeden Kopf genau mit
den diesem Kopf zugeordneten Daten zu kombinieren. Es ist deshalb
möglich,
die Schaltkreiskonfiguration und die für die Kombination des Kopfes
und der Daten notwendige Verarbeitung zu vereinfachen.
-
Man
beachte, dass das Setzen von Bereichsgrenzen, welche das RAM 80 aufteilen
(P1 bis P7 in 17), wie z.B. die Grenzen zwischen
dem Kopfbereich und dem Datenbereich, implementiert wird, indem über die
CPU-Schnittstelle 60 die CPU 66 (Firmware) Zeiger,
welche die Adresse jeder Grenze anzeigen, in einem Zeigersetzregister
setzt, das in dem Register 46 der 6 enthalten
ist.
-
4. Elektronische
Einrichtung
-
Die
Beschreibung wendet sich nun Beispielen der elektronischen Einrichtung
zu, welche die Datenübertragungssteuervorrichtung
dieser Ausführung
umfasst.
-
Ein
internes Blockdiagramm eines Druckers, der ein Beispiel für eine solche
elektronische Einrichtung ist, ist in 31A gezeigt,
wobei eine Außenansicht
von diesem in 32A gezeigt ist. Eine CPU (Mikrocomputer) 510 hat
verschiedene Funktionen, einschließlich derjenigen des Steuerns
des gesamten Systems. Ein Betriebsabschnitt 511 ist ausgestaltet,
um dem Verwender ein Betreiben des Druckers zu erlauben. Daten wie
z.B. ein Steuerprogramm oder Schriftarten sind in einem ROM 516 gespeichert und
ein RAM 518 arbeitet als ein Arbeitsbereich für die CPU 510.
Eine Anzeigetafel 519 ist ausgestaltet, um den Verwender über den
Betriebszustand des Druckers zu informieren.
-
Druckdaten,
die von einem anderen Knoten wie z.B. einem Personalcomputer über einen PHY-Chip 502 und
eine Datenübertragungssteuervorrichtung 500 gesendet
werden, werden direkt an einen Druckverarbeitungsabschnitt 512 über einen Bus 504 gesendet.
Die Druckdaten werden einer gegebenen Verarbeitung durch den Druckverarbeitungsabschnitt 512 unterzogen
und werden zum Drucken auf Papier von einem Druckabschnitt (einer
Vorrichtung zum Ausgeben von Daten) 514 ausgegeben.
-
Ein
internes Blockdiagramm eines Scanners, der ein weiteres Beispiel
für eine
elektronische Einrichtung ist, ist in 31B gezeigt,
wobei eine Außenansicht
davon in der 32B gezeigt ist. Eine CPU 520 hat
verschiedene Funktionen einschließlich derjenigen des Steuerns
des gesamten Systems. Ein Betriebsabschnitt 521 ist ausgestaltet,
um dem Verwender ein Betreiben des Scanners zu erlauben. Daten wie
z.B. ein Steuerprogramm sind in einem ROM 526 gespeichert,
und ein RAM 528 arbeitet als ein Arbeitsbereich für die CPU 520.
-
Ein
Bild eines Dokuments wird von einem Bildleseabschnitt (einer Vorrichtung
zum Abrufen von Daten) 522 gelesen, welche Komponenten
wie z.B. eine Lichtquelle oder einen optoelektrischen Wandler umfasst,
und Daten des eingelesenen Bildes werden von einem Bildverarbeitungsabschnitt 524 verarbeitet.
Die verarbeiteten Bilddaten werden direkt an die Datenübertragungssteuervorrichtung 500 über einen Bus 505 gesendet.
Die Datenübertragungssteuervorrichtung 500 erzeugt
Pakete, indem sie Köpfe
und dergleichen an diese Bilddaten anhängt, und sendet dann diese
Pakete über
den PHY-Chip 502 an einen anderen Knoten wie z.B. einen
Personalcomputer.
-
Ein
internes Blockdiagramm eines CD-R Laufwerkes, das ein weiteres Beispiel
für eine
elektronische Einrichtung ist, ist in 31 C
gezeigt, wobei eine Außenansicht
davon in 32C gezeigt ist. Eine CPU 530 hat
verschiedene Funktionen einschließlich derjenigen des Steuerns
des gesamten Systems. Ein Betriebsabschnitt 531 ist ausgestaltet, um
dem Verwender ein Betreiben des CD-R zu erlauben. Daten wie z.B.
ein Steuerprogramm sind in einem ROM 536 gespeichert, und
ein RAM 538 arbeitet als ein Arbeitsbereich für die CPU 530.
-
Daten,
die von einem Lese-/Schreibabschnitt (einer Vorrichtung zum Abrufen
von Daten oder einer Vorrichtung zum Speichern von Daten) 533 von
einem CD-R 532 ausgelesen werden, welche Komponenten wie
z.B. einen Laser, einen Motor und ein optisches System umfasst,
werden in einen Signalverarbeitungsabschnitt 534 eingegeben,
wo sie einer gegebenen Signalverarbeitung wie z.B. einer Fehlerkorrektur
unterzogen werden. Die Daten, die dieser Signalverarbeitung unterzogen
worden sind, werden direkt an die Datenübertragungssteuervorrichtung 500 über einen
Bus 506 gesendet. Die Datenübertragungssteuervorrichtung 500 erzeugt
Pakete, indem sie Köpfe
und dergleichen an diese Daten anhängt, und sendet diese Pakete über den
PHY-Chip 502 an einen anderen Knoten wie z.B. einen Personalcomputer.
-
Andererseits
werden Daten, die von einem anderen Knoten über den PHY-Chip 502 und
die Datenübertragungssteuervorrichtung 500 gesendet worden
sind, direkt an den Signalverarbeitungsabschnitt 534 über den
Bus 506 gesendet. Die Daten werden einer gegebenen Signalverarbeitung
durch den Signalverarbeitungsabschnitt 534 unterzogen und
dann von einem Lese-(Schreibabschnitt 533 auf dem CD-R 532 gespeichert.
-
Man
beachte, dass eine weitere CPU zur Datenübertragungssteuerung durch
die Datenübertragungssteuervorrichtung 500 zusätzlich zu
der CPU 510, 520 oder 530 in den 31A, 31B oder 31C vorgesehen sein kann.
-
Die
Verwendung der Datenübertragungssteuervorrichtung
dieser Ausführung
in einer elektronischen Einrichtung macht es möglich, eine Datenübertragung
mit hoher Geschwindigkeit auszuführen. Wenn
ein Verwender einen Ausdruck aus einem Personalcomputer oder ähnlichem
anordnen will, kann der Ausdruck daher mit einer nur kleinen Zeitverzögerung fertiggestellt
werden. Auf entsprechende Weise kann ein Verwender ein gescanntes
Bild mit einer nur kleinen Zeitverzögerung, nachdem dem Scanner befohlen
wurde, ein Bild aufzunehmen, sehen. Es ist auch möglich, bei
hohen Geschwindigkeiten Daten von einem CD-R zu lesen oder Daten
auf ein CD-R zu schreiben. Die vorliegende Erfindung macht es beispielsweise
auch einfach, eine Mehrzahl von Einheiten elektronischer Einrichtungen,
die mit einem Host-System verbunden sind, oder eine Vielzahl von Einheiten
von elektronischen Einrichtungen, die mit einer Mehrzahl von Hostsystemen
verbunden sind, zu verwenden.
-
Die
Verwendung der Datenübertragungssteuervorrichtung
dieser Ausführung
in elektronischen Einrichtungen reduziert die Verarbeitungsbelastung
einer auf der CPU laufenden Firmware, was es möglich macht, eine preiswerte
CPU und Busse für
niedrige Geschwindigkeiten zu verwenden, was die Verringerung der
Kosten und der Größe der Datenübertragungssteuervorrichtung
ermöglicht,
wodurch sich somit die Kosten und die Größe der elektronischen Einrichtung
reduzieren.
-
Man
beachte, dass die elektronische Einrichtung, die eine Datenübertragungssteuervorrichtung gemäß der vorliegenden
Erfindung einsetzen kann, nicht auf die oben beschriebenen Ausführungen
beschränkt
ist, und dass daher verschiedene andere Beispiele betrachtet werden
können,
wie z.B. verschiedene Typen von optischen Plattenlaufwerken (CD-ROM
oder DVD), magneto-optischen Plattenlaufwerken (MO), Festplattenlaufwerken,
TVs, VCRs, Videokameras, Audioeinrichtungen, Telefonen, Projektoren,
Personalcomputern, elektronischen Datenbüchern und bestimmten Textverarbeitungssystemen.
-
Man
beachte auch, dass die vorliegende Erfindung nicht auf die hierin
beschriebenen Ausführungen
beschränkt
ist und verschiedene Modifikationen innerhalb des Rahmens der hier
dargelegten Erfindung möglich
sind.
-
Z.B.
ist die Konfiguration der Datenübertragungssteuervorrichtung
in Übereinstimmung
mit der vorliegenden Erfindung vorzugsweise diejenige, die in 6 gezeigt
ist, jedoch ist sie nicht auf diese beschränkt. Z.B. wurde der Sendepaketbereich
oben derart beschrieben, dass er in Bereiche aufgeteilt ist, die
einer Mehrzahl von Kanälen
entsprechen, jedoch kann das Speichermittel auch in einen Steuerinformationsbereich
und einen Kopfbereich aufgeteilt sein. Zusätzlich dazu können verschiedene
andere Konfigurationen als diejenigen der 6 eingesetzt werden,
um den Aspekt der vorliegenden Erfindung zu implementieren, durch
den Bestätigungsinformation,
die wenigstens der Anzahl der Pakete äquivalent ist, die in Serie übertragen
werden können,
ohne diese Bestätigungsinformationen
zu bestätigen,
wie in 8 gezeigt ist.
-
Entsprechend
wird die vorliegende Erfindung vorzugsweise auf eine Datenübertragung,
wie sie durch den IEEE 1394 Standard definiert ist, angewendet,
sie ist jedoch nicht darauf beschränkt. Z.B. kann die vorliegende
Erfindung auch auf eine Datenübertragung
in Übereinstimmung
mit Standards angewendet werden, die auf ähnlichen Konzepten gegründet sind
wie diejenige des IEEE 1394 oder mit Standards, die aus dem IEEE
1394 entwickelt werden.