DE69918053T2 - Datenübertragungs-steuervorrichtung und elektronische vorrichtung - Google Patents

Datenübertragungs-steuervorrichtung und elektronische vorrichtung Download PDF

Info

Publication number
DE69918053T2
DE69918053T2 DE69918053T DE69918053T DE69918053T2 DE 69918053 T2 DE69918053 T2 DE 69918053T2 DE 69918053 T DE69918053 T DE 69918053T DE 69918053 T DE69918053 T DE 69918053T DE 69918053 T2 DE69918053 T2 DE 69918053T2
Authority
DE
Germany
Prior art keywords
data
packet
control information
bus
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69918053T
Other languages
English (en)
Other versions
DE69918053D1 (de
Inventor
Takuya Ishida
Yoshiyuki Kamihara
Fumitoshi Wada
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of DE69918053D1 publication Critical patent/DE69918053D1/de
Application granted granted Critical
Publication of DE69918053T2 publication Critical patent/DE69918053T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • 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.

Claims (9)

  1. Datenübertragungssteuervorrichtung zum Übertragen von Daten zwischen einer Mehrzahl von Knoten, die an einen Bus angeschlossen sind, wobei die Datenübertragungssteuervorrichtung Folgendes umfasst: ein wahlfrei zugreifbares Speichermittel (80), das in einen Steuerinformationsbereich für Steuerinformation und einen Datenbereich für Daten aufgeteilt ist; ein Paketzusammenstellungsmittel (280) zum Lesen von Steuerinformation eines an die Knoten zu sendenden Pakets aus dem Steuerinformationsbereich und zum Lesen von Daten dieses Pakets aus dem Datenbereich entsprechend der Steuerinformation und Zusammenstellen des Pakets, das einen Rahmen aufweist, der aus dieser Steuerinformation und den Daten besteht, wobei die Steuerinformation von einer oberen Schicht in den Steuerinformationsbereich geschrieben wird und die Daten von einer oberen Schicht in den Datenbereich geschrieben werden; und Verbindungsmittel (20) zum Bereitstellen eines Dienstes zum Übertragen des zusammengestellten Pakets an jeden der Knoten.
  2. Vorrichtung nach Anspruch 1, bei der das Paketzusammenstellungsmittel (280) von der Steuerinformation, die aus dem Steuerinformationsbereich gelesen wurde, einen Datenzeiger erhält, der die Adresse von Daten, die aus dem Datenbereich gelesen werden sollen, anzeigt, und den erhaltenen Datenzeiger verwendet, um Daten aus diesem Datenbereich zu lesen.
  3. Vorrichtung nach Anspruch 2, bei der das Paketzusammenstellungsmittel (280) eine Zeitdauer, während derer das Verbindungsmittel (20) eine Fehlerüberprüfungsinformation für die Steuerinformation des Pakets erzeugt, verwendet, um den Datenzeiger aus der Steuerinformation zu erhalten.
  4. Vorrichtung nach Anspruch 1, 2 oder 3, bei der das Paketzusammenstellungsmittel (280) einen Steuerinformationszeiger, welcher die Adresse von Steuerinformation anzeigt, die aus dem Steuerinformationsbereich ausgelesen werden soll, aktualisiert, wenn auf Grundlage von in der Steuerinformation des Pakets enthaltener Paketformatidentifikationsinformation bestimmt wird, dass die Steuerinformation des Pakets ausgelesen werden soll, und einen Datenzeiger aktualisiert, der die Adresse von Daten anzeigt, die aus dem Datenbereich ausgelesen werden sollen, wenn es auf Grundlage der Paketformatidentifikationsinformation bestimmt wird, dass die Daten des Pakets gelesen werden sollen.
  5. Vorrichtung nach einem der vorhergehenden Ansprüche, die darüber hinaus folgendes umfasst: Steuerinformationerzeugungsmittel (300) zum Erzeugen von Steuerinformation und Schreiben der Steuerinformation in den Steuerinformationsbereich während der Verarbeitung zum Abrufen von Daten in den Datenbereich; und Übertragungsstartmittel (304) zum Anordnen eines Starts der Übertragung eines Pakets unter der Bedingung, dass sowohl die Datenabrufverarbeitung als auch die Steuerinformationsschreibverarbeitung abgeschlossen worden sind.
  6. Vorrichtung nach Anspruch 1, die darüber hinaus folgendes umfasst: einen ersten Bus (90), der mit einer Anwendungsschichtvorrichtung der nächsten Stufe verbunden ist; einen zweiten Bus (96) zum Steuern der Datenübertragungssteuervorrichtung; einen dritten Bus (100), der elektrisch mit einer Vorrichtung einer physischen Schicht verbunden ist; einen vierten Bus (110), der elektrisch mit dem Speichermittel (80) verbunden ist; und Arbitrationsmittel (74) zum Ausführen einer Arbitration zum Errichten eines Datenweges zwischen irgendeinem unter dem ersten, zweiten und dritten Bus und dem vierten Bus.
  7. Vorrichtung nach Anspruch 1, bei der die Datenübertragung in Übereinstimmung mit dem IEEE 1394 Standard ausgeführt wird.
  8. Elektronische Einrichtung, die folgendes umfasst: einen Datenübertragungssteuervorrichtung nach einem der Ansprüche 1 bis 7; eine Vorrichtung zum Ausführen einer vorgegebenen Verarbeitung von Daten, die von einem anderen Knoten über die Datenübertragungssteuervorrichtung und den Bus empfangen worden sind; und eine Vorrichtung zum Ausgeben oder Speichern von Daten, die dieser Verarbeitung unterzogen worden sind.
  9. Elektronische Einrichtung, die folgendes umfasst: eine Datenübertragungssteuervorrichtung nach einem der Ansprüche 1 bis 7; eine Vorrichtung zum Ausführen einer vorgegebenen Verarbeitung von Daten, die über die Datenübertragungssteuervorrichtung und den Bus zu einem anderen Knoten gesendet werden sollen; und eine Vorrichtung zum Abrufen von Daten, die dieser Verarbeitung unterzogen werden sollen.
DE69918053T 1998-10-27 1999-10-26 Datenübertragungs-steuervorrichtung und elektronische vorrichtung Expired - Lifetime DE69918053T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP32148998A JP3543648B2 (ja) 1998-10-27 1998-10-27 データ転送制御装置及び電子機器
JP32148998 1998-10-27
PCT/JP1999/005904 WO2000025217A1 (fr) 1998-10-27 1999-10-26 Controleur de transfert de donnees et dispositif electronique

Publications (2)

Publication Number Publication Date
DE69918053D1 DE69918053D1 (de) 2004-07-22
DE69918053T2 true DE69918053T2 (de) 2005-07-07

Family

ID=18133140

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69918053T Expired - Lifetime DE69918053T2 (de) 1998-10-27 1999-10-26 Datenübertragungs-steuervorrichtung und elektronische vorrichtung

Country Status (8)

Country Link
US (1) US6854020B1 (de)
EP (1) EP1043661B1 (de)
JP (1) JP3543648B2 (de)
KR (1) KR100459743B1 (de)
CN (1) CN1138211C (de)
DE (1) DE69918053T2 (de)
TW (1) TW451136B (de)
WO (1) WO2000025217A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3608441B2 (ja) * 1999-07-15 2005-01-12 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP4591736B2 (ja) * 2001-02-21 2010-12-01 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
JP3870717B2 (ja) * 2001-05-14 2007-01-24 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US7586914B2 (en) 2001-09-27 2009-09-08 Broadcom Corporation Apparatus and method for hardware creation of a DOCSIS header
US7761605B1 (en) 2001-12-20 2010-07-20 Mcafee, Inc. Embedded anti-virus scanner for a network adapter
US8185943B1 (en) 2001-12-20 2012-05-22 Mcafee, Inc. Network adapter firewall system and method
JP3671925B2 (ja) 2002-03-20 2005-07-13 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
KR100964657B1 (ko) * 2002-12-07 2010-06-21 엘지전자 주식회사 홈 네트워크 시스템의 데이터 다운로드 방법
FR2850508B1 (fr) * 2003-01-23 2005-11-11 Canon Europa Nv Procede d'insertion et de traitement d'informations pour le controle par un noeud de la diffusion d'un flux de donnees traversant un reseau de base d'un reseau heterogene, et noeuds correspondants
EP1553738A1 (de) * 2004-01-12 2005-07-13 Thomson Licensing S.A. Verfahren und Vorrichtung zur Erzeugung von Datenpaketen
WO2007054763A1 (en) * 2005-11-09 2007-05-18 Nokia Corporation Apparatus, method and computer program product providing data serializing by direct memory access controller
EP1903437A3 (de) 2006-07-31 2008-10-22 Seiko Epson Corporation Verfahren zur Übertragung von Aktualisierungsdaten, Firmware-Schreibsystem und Programm zur Übertragung von Aktualisierungsdaten
US20080071770A1 (en) * 2006-09-18 2008-03-20 Nokia Corporation Method, Apparatus and Computer Program Product for Viewing a Virtual Database Using Portable Devices
JP5459470B2 (ja) * 2009-06-10 2014-04-02 富士ゼロックス株式会社 情報処理装置およびプログラム
EP2597832B1 (de) * 2011-11-02 2016-12-28 Renesas Electronics Europe Limited Nachrichtenspeichersteuergerät
US9555186B2 (en) 2012-06-05 2017-01-31 Tandem Diabetes Care, Inc. Infusion pump system with disposable cartridge having pressure venting and pressure feedback
JP2015119255A (ja) * 2013-12-17 2015-06-25 Necエンジニアリング株式会社 送信装置、及び、送信方法
JP7270387B2 (ja) * 2019-01-15 2023-05-10 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、およびプログラム
CN114765494A (zh) * 2021-01-14 2022-07-19 瑞昱半导体股份有限公司 具有数据重用机制的数据传输方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0574140A1 (de) 1992-05-29 1993-12-15 Hewlett-Packard Company Netadapter der das Netzkopfteil und Daten in verschiedenen Speicherpuffern speichert
JP3093543B2 (ja) 1993-12-20 2000-10-03 富士通株式会社 フレーム通信装置
JPH0879310A (ja) 1994-08-31 1996-03-22 Kawasaki Steel Corp 送信用バッファデータ格納方法及び送信用バッファデータ格納装置
GB9516777D0 (en) * 1995-08-16 1995-10-18 Int Computers Ltd Network coupler
EP0803821A3 (de) * 1996-04-26 1998-01-28 Texas Instruments Incorporated DMA-Kanalzuordnung in einem Datenpaketübertragungsgerät
EP0804008B1 (de) * 1996-04-26 2006-11-15 Texas Instruments Incorporated Anordnung zur Steuerung der Übertragung von Datenpaketen
JPH1040211A (ja) 1996-04-30 1998-02-13 Texas Instr Inc <Ti> パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路
JPH1023101A (ja) * 1996-07-02 1998-01-23 Fujitsu Ltd データ転送インタフェース回路及びデータ転送方法
JP3525734B2 (ja) 1997-04-25 2004-05-10 ソニー株式会社 情報記録装置及び方法、情報再生装置及び方法
JP3733699B2 (ja) * 1997-06-20 2006-01-11 ソニー株式会社 シリアルインタフェース回路
US6324178B1 (en) * 1998-05-26 2001-11-27 3Com Corporation Method for efficient data transfers between domains of differing data formats

Also Published As

Publication number Publication date
US6854020B1 (en) 2005-02-08
DE69918053D1 (de) 2004-07-22
CN1292120A (zh) 2001-04-18
TW451136B (en) 2001-08-21
CN1138211C (zh) 2004-02-11
KR100459743B1 (ko) 2004-12-03
KR20010024815A (ko) 2001-03-26
EP1043661B1 (de) 2004-06-16
EP1043661A4 (de) 2002-04-24
JP3543648B2 (ja) 2004-07-14
JP2000134230A (ja) 2000-05-12
EP1043661A1 (de) 2000-10-11
WO2000025217A1 (fr) 2000-05-04

Similar Documents

Publication Publication Date Title
DE69918053T2 (de) Datenübertragungs-steuervorrichtung und elektronische vorrichtung
DE69935065T2 (de) Datenübertragungssteuerinrichtung und elektronisches gerät
DE69921342T2 (de) Verfahren und system zur elektronischen kommunikation
DE69836426T2 (de) Steuergerät für einen universellen seriellen Bus
EP1456722B1 (de) Datenübertragungsverfahren, serielles bussystem und anschalteinheit für einen passiven busteilnehmer
DE60035882T2 (de) Protokoll einer zerteilten transaktion für ein bussystem
DE60020046T2 (de) Architektur einer USB-basierten PC-Flashspeicherkarte
DE60205809T2 (de) Datensteueranlage, elektronisches Gerät und Datenübertragungssteuerverfahren
DE4003759C2 (de) Verfahren und Anordnung zur Übertragung von Daten über einen Bus zwischen selektiv ankoppelbaren Stationen
DE69829987T2 (de) E/a bus mit schnellen 16-bit zerteilten transaktionen
EP1989598B1 (de) Verfahren, kommunikationsnetzwerk und steuereinheit zum zyklischen übertragen von daten
EP1940654B1 (de) Verfahren zur Anbindung eines FlexRay-Teilnehmers mit einem Mikrocontroller an eine FlexRay-Kommunikationsverbindung über eine FlexRay-Kommunikationssteuereinrichtung, und FlexRay-Kommunikationssystem zur Realisierung dieses Verfahrens
DE602004008545T2 (de) Methode und Datenstruktur zum wahlfreien Zugriff über eine Busverbindung
DE102005048581B4 (de) Teilnehmerschnittstelle zwischen einem FlexRay-Kommunikationsbaustein und einem FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle
EP1846827A1 (de) Verfahren zum übertragen von daten in botschaften über eine kommunikationsverbindung eines kommunikationssystems, sowie kommunikationsbaustein, teilnehmer eines kommunikationssystems und kommunikationssystem zur realisierung dieses verfahrens
DE69914425T2 (de) Modulare Übertragungssteuerung und -Verfahren
DE69828980T2 (de) System und verfahren zur flusskontrolle für ein hochgeschwindigkeitsbus
DE60205531T2 (de) Datentransfersteueranlage, elektronisches Gerät und Datentransfersteuerverfahren
DE69935940T2 (de) Zielknoten, Datenkommunikationssystem, Kontrollverfahren eines Zielknotens und Verfahren zum Betreiben eines Datenkommunikationssystems
DE69730399T2 (de) Schnittstellengerät zur Anpassung von Datenbreite an Systembusbreite
WO2006015908A1 (de) Verfahren zur speicherung von botschaften in einem botschaftsspeicher und botschaftsspeicher
EP3072250B1 (de) Kommunikationseinrichtung, kommunikationssystem und verfahren zum synchronisierten senden von telegrammen
DE69825636T2 (de) Verfahren und gerät zum bereitstellen und einschliessen von kontrollinformation in einem bussystem
DE69931604T2 (de) Datenübertragungssteuereinrichtung und elektronisches gerät
WO2000007093A1 (de) Speichereinrichtung und verfahren zum betreiben der speichereinrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition