DE19913585A1 - Verfahren zum Verwalten von über einen Datenbus empfangenen Daten sowie Vorrichtung zur Durchführung des Verfahrens - Google Patents

Verfahren zum Verwalten von über einen Datenbus empfangenen Daten sowie Vorrichtung zur Durchführung des Verfahrens

Info

Publication number
DE19913585A1
DE19913585A1 DE19913585A DE19913585A DE19913585A1 DE 19913585 A1 DE19913585 A1 DE 19913585A1 DE 19913585 A DE19913585 A DE 19913585A DE 19913585 A DE19913585 A DE 19913585A DE 19913585 A1 DE19913585 A1 DE 19913585A1
Authority
DE
Germany
Prior art keywords
data
bus
packet
data source
count
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.)
Withdrawn
Application number
DE19913585A
Other languages
English (en)
Inventor
Siegfried Schweidler
Timothy Heighway
Klaus Gaedke
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.)
Deutsche Thomson Brandt GmbH
Original Assignee
Deutsche Thomson Brandt GmbH
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 Deutsche Thomson Brandt GmbH filed Critical Deutsche Thomson Brandt GmbH
Priority to DE19913585A priority Critical patent/DE19913585A1/de
Priority to KR1020017011064A priority patent/KR100712566B1/ko
Priority to BR0009287-8A priority patent/BR0009287A/pt
Priority to DE60003645T priority patent/DE60003645T2/de
Priority to EP00912599A priority patent/EP1163597B1/de
Priority to ES00912599T priority patent/ES2202075T3/es
Priority to JP2000608269A priority patent/JP2002540702A/ja
Priority to PCT/EP2000/002182 priority patent/WO2000058844A1/en
Priority to MXPA01008251A priority patent/MXPA01008251A/es
Priority to CNB008045399A priority patent/CN1171155C/zh
Priority to AT00912599T priority patent/ATE244420T1/de
Priority to AU34291/00A priority patent/AU764600B2/en
Publication of DE19913585A1 publication Critical patent/DE19913585A1/de
Priority to ZA200107108A priority patent/ZA200107108B/xx
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40058Isochronous transmission
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Traffic Control Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Das Format der Übertragung isochroner Datenpakete über den IEEE 1394-Bus ist in dem IEC 61883-Standard definiert. Dabei kann ein Betriebsmodus angewendet werden, bei dem immer die gleiche Anzahl von Datenblöcken (DB0-DB7) in einem Buspaket übertragen wird. In diesem Fall ist die Speicherverwaltung recht einfach und die Datenquellpaketgrenzen können leicht ermittelt werden. Der ICE 61883-Standard läßt aber auch die Möglichkeit offen, eine variable Anzahl von Datenblöcken (DB0-DB7) bei der isochronen Datenübertragung mit Hilfe von Buspaketen zu übertragen. In diesem Fall besteht jedoch ein Problem darin, die Datenquellpaketgrenzen nachträglich festzustellen. Die Erfindung gibt eine aufwandsgünstige Lösung an, wie die Datenquellpaketgrenzen leicht rekonstruiert werden können. Sie beruht im wesentlichen auf einer Modulo-n-Zählung von Datenblöcken (DB0-DB7).

Description

Die Erfindung betrifft ein Verfahren zum Verwalten von über einen Datenbus empfangenen Daten. Insbesondere wenn isochrone Datenpakete empfangen werden, ist das Verfahren sinnvoll einzusetzen. Die Erfindung betrifft weiterhin eine Vorrichtung zur Durchführung des Verfahrens. Die Vorrichtung kann insbesondere Teil einer Busschnittstelle für den angeschlossenen Datenbus sein.
Stand der Technik
Die Erfindung geht aus von einem Verfahren zum Verwalten von über den Datenbus empfangenen Datenpaketen nach der Gattung des unabhängigen Anspruchs 1. Unter dem Schlagwort Multimedia wird schon seit längerem ein Zusammenwachsen der Produktbereiche Consumer Electronics (Hifi, Video, Audio) und Personal Computing propagiert und auch von vielen Herstellern aus beiden Lagern vorangetrieben. Bei der Verschmelzung der beiden Produktbereiche kommt den Arbeiten, die sich mit dem Thema des Datenaustausches zwischen den Geräten der verschiedenen Produktbereiche befassen oder auch zwischen den Geräten innerhalb eines Produktbereiches immer größeres Gewicht zu. Das zeigt sich auch an den bereits sehr weit fortgeschrittenen Standardisierungsbemühungen zu diesem Thema. Es steht nämlich mit dem sogenannten IEEE 1394 serial bus bereits ein international standardisierter und weitestgehend akzeptierter Bus zum Datenaustausch zwischen Endgeräten aus beiden Produktgruppen zur Verfügung. Die genaue Bezeichnung des erwähnten Standards lautet: IEEE Standard for high performance serial bus, (IEEE) STD1394- 1995, IEEE, New York, August 1996).
Die hier zu beschreibende Erfindung beschäftigt sich innerhalb dieses erwähnten Bussystems mit dem sogenannten Isochrondatentransfer. Isochron bedeutet in diesem Zusammenhang, daß bei einer Datenquelle regelmäßig Daten anfallen, die zu übertragen sind, wobei die Daten auch jedesmal mit in etwa gleicher Größe anfallen. Beispiele von solchen Datenquellen sind Videorekorder oder Camcorder, Audiogeräte wie CD-Player oder DAT-Recorder sowie auch DVD- Player oder Videophonegeräte, etc. Für diesen Anwendungsfall der Isochrondatenübertragung wurde speziell ein internationaler Standard entwickelt. Die genaue Bezeichnung dieses Standards lautet IEC International Standard 61883 "Consumer Audio/Video Equipment-Digital Interface, 1. Ausgabe 1998". In dem ersten Teil dieses Standards wird das allgemeine Datenpaketformat, das Datenflußmanagement und das Verbindungsmanagement für audiovisuelle Daten beschrieben. Ebenfalls werden allgemeine Übertragungsregeln für Steuerungsbefehle definiert.
Ein häufiger Anwendungsfall betrifft die Übertragung von MPEG2-codierten Video- oder Audiodaten. Die Daten werden wie schon erwähnt paketweise über den Bus transportiert. In dem erwähnten Standard IEC 61883 ist dabei folgende Struktur vorgesehen: Die in der Datenquelle erzeugten Daten werden in sogenannte Datenquellpakete definierter Größe aufgeteilt. Für die MPEG2-Video-Datenübertragung ist z. B. festgelegt, daß ein Datenquellpaket beispielsweise aus 8 Datenblöcken gleicher Größe zusammengesetzt ist. Die Datenblockgröße kann dabei programmiert werden. Sie kann zwischen einem oder 256 Quadlet liegen, wobei ein Quadlet einer Zusammenfassung von 4 Datenbytes entspricht. Die Datenquellpakete können gemäß dem Standard zusammengefaßt in einem einzigen Buspaket übertragen werden. In diesem Fall ergibt sich kein Adressierungsproblem in dem Gerät, das die Daten empfangen hat, weil immer klar ist, daß bei jedem neuen empfangenen Buspaket ein vollständig empfangenes Datenquellpaket angekommen ist.
In dem erwähnten Standard ist aber durchaus auch ein anderer Mode zugelassen, bei dem in einem Buspaket weniger als acht Datenblöcke übertragen werden können. Konkret gesagt, können auch sogenannte Leerpakete übertragen werden in denen überhaupt kein Datenblock enthalten ist. Es sind aber auch weitere möglichen Zahlen an Datenblöcken in einem Buspaket zwischen 0 und 8 erlaubt. Die Erfindung beschäftigt sich jetzt mit der konkreten Realisierung dieses allgemeineren Übertragungsmodes.
Erfindung
Bei der Realisierung des allgemeinen Übertragungsmodes tritt folgendes Problem auf. Wenn in einem Buspaket einmal weniger als acht Datenblöcke an Nutzdaten enthalten sind, kann nicht mehr ein vollständiges Datenquellpaket in dem Buspaket übertragen werden. Somit folgen noch Datenblöcke des Datenquellpaketes im nächsten Buspaket. Wenn dann z. B. im nächsten Buspaket acht Datenblöcke wieder übertragen werden, ist die Datenblockgrenze zwischen zwei Datenquellpaketen nicht mehr synchron mit dem Ende des Buspaketes sondern liegt irgendwo im Buspaket. Die Speicherverwaltungseinheit in dem Empfängergerät muß diese Grenze suchen, da sie in Spezialregistern bereitstellen muß, wo ein Datenquellpaket anfängt bzw. endet. Dies ist nötig, damit sie die Daten nach Empfang quellpaketweise dem Anwendungsprozeß bereitstellen kann. Es muß also eine Lösung gefunden werden, wie man den Anfang und das Ende eines in Bruchstücken übertragenen Datenquellpaketes nachträglich im Empfängergerät feststellen kann.
Die Erfindung löst diese Aufgabe so, daß sie eine Modulo-n- Zählung der Datenblöcke durchführt und den Beginn eines neuen Datenquellpaketes bei Beginn des jeweils nächsten Zählintervalles der Modulo-n-Zählung signalisiert. Für den Spezialfall der Übertragung von MPEG2-Quelldaten, wo jeweils ein Datenquellpaket aus acht Datenblöcken besteht wird eine Modulo-8-Zählung dementsprechend durchgeführt. Das heißt, das Zählintervall beginnt beim Zählerstand 0 und endet beim Zählerstand 7. Danach folgt dann wieder das nächste Zählintervall beginnend mit dem Zählerstand 0.
Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind weitere Verbesserungen des Verfahrens möglich. Da jedes Buspaket gemäß dem IEEE 1394-Standard einer CRC-Überprüfung unterzogen werden muß, ist es sinnvoll, die Prüfergebnisse von aufeinanderfolgenden Buspaketen zwischenzuspeichern. Die Fehlerfreiheit der Daten ist nur dann gewährleistet, wenn die CRC-Überprüfung aller Buspakete in denen ein Datenblock des Datenquellpaketes enthalten ist, ohne Beanstandung durchgeführt werden konnte. Im Fall einer Beanstandung kann dann ein CRC-Fehlersignal ausgegeben werden. Das gesamte Datenquellpaket kann dann nicht an den Anwendungsprozeß weitergeleitet werden.
Die Überprüfung der Vollständigkeit der übertragenen Daten mit Hilfe eines in jedem Buspaket vorgesehenen Referenzzählerstandes kann dadurch geschehen, daß eine Vergleichszählung der empfangenen Datenblöcke erfolgt und jedesmal bei Empfang des bestimmten Datenblocks, zu dem der Referenzzählerstand gehört ein Vergleich zwischen dem Referenzzählerstand und dem Ergebnis der Vergleichszählung erfolgt und bei Nicht-Übereinstimmung ein Fehlersignal ausgegeben wird. In dem IEC 61883-Standard ist definiert, daß in jedem Bus-Paket ein DBC-Referenzwert eingetragen ist, der für den ersten nachfolgenden Datenblock gültig ist. Durch Zählen der empfangenen Datenblöcke und Vergleichen des Ergebnisses mit dem empfangenen Referenzwert kann also leicht festgestellt werden, ob z. B. ein ganzes Bus-Paket nicht empfangen wurde. Durch diese Maßnahme wird die Fehlerüberwachung nochmals verbessert.
Für eine Vorrichtung zur Durchführung des erfindungsgemäßen Verfahrens sind folgende Maßnahmen vorteilhaft, die die Lösung der dementsprechenden Aufgabe der Erfindung angeben. Die Vorrichtung beinhaltet zunächst eine Speichereinheit, in die die empfangenen Daten der Reihe nach eingeschrieben werden. Weiterhin ist eine Speicherverwaltunseinrichtung vorgesehen, die insbesondere die Adressen für den Einlese- und Ausleseprozeß vorgibt. Wesentlich ist dann der Modulo-n- Zähler, mit dem die empfangenen Datenblöcke durchgezählt werden und die Erzeugung des Datenquellpaketstartsignals wenn der Modulo-n-Zähler ein neues Zählintervall beginnt. Das Datenquellpaketstartsignal wird an die Speicherverwaltungseinrichtung weitergeleitet, die dann einen entsprechenden Eintrag in einem Spezialregister vornehmen kann. Diese Maßnahmen sind in Anspruch 5 angegeben.
Weitere vorteilhafte Maßnahmen für die erfindungsgemäße Vorrichtung sind noch in den abhängigen Ansprüchen 6-8 enthalten.
Zeichnungen
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und werden in der folgenden Beschreibung näher erläutert. Es zeigen:
Fig. 1 den Aufbau mehrerer aufeinanderfolgender Buspakete für den allgemeinen Übertragungsmode und
Fig. 2 ein Blockschaltbild der erfindungsgemäßen Vorrichtung.
Ausführungsbeispiele der Erfindung
In der Fig. 1 ist eine beispielhafte Abfolge von übertragenen Buspaketen gezeigt. Das zuerst übertragene Buspaket ist in Fig. 1 oben dargestellt und das zuletzt übertragene dementsprechend unten in der Fig. 1. Der genaue Aufbau eines Buspaketes für isochrone Datenübertragung ist in dem erwähnten Standard IEC 61883 angegeben. Für die Offenbarung der Erfindung wird deshalb auch ausdrücklich auf diesen Standard bezug genommen.
Mit der Bezugszahl 10 ist in Fig. 1 der Kopfteil des Buspaketes bezeichnet. Darin sind die Angaben bezüglich der Länge des Datenfeldes des Isochron-Datenpaketes und zwar in einer Anzahl von Bytes sowie weitere Informationen enthalten, auf die jedoch im folgenden nicht näher eingegangen werden muß. An den Kopfteil 10 des Buspaketes schließt sich ein Datenfeld an. Dieses erstreckt sich über die Bereiche 11-15 bezogen auf das erste dargestellte Buspaket. Am Schluß des Buspaketes folgt noch ein Bereich 16, in dem ein CRC-Prüfwort abgelegt ist. Am Anfang des Datenfeldes eines Buspaketes ist immer ein sogenannter CIP- Kopfteil vorgesehen. CIP steht dabei für die Abkürzung "common isochronous packet". Der CIP-Kopfteil enthält eine Reihe von Informationen, die den Isochrondatentransfer beschreiben. So ist darin z. B. eine Identifikationsnummer SID für die Datenquelle enthalten. Weiterhin ist darin festgelegt wie groß die folgenden Datenblöcke im Buspaket sind. Ebenfalls ist noch eine Angabe (FN Fraction number) enthalten, die die Anzahl angibt, in wieviel Datenblöcke ein Datenquellpaket eingeteilt ist. Wie schon erwähnt, sind es bei MPEG2-Video-Daten immer acht Datenblöcke pro Datenquellpaket. Eine weitere Angabe QPC (Quadlet padding count) bezieht sich darauf, wieviel Füll-Quadlets am Ende des Datenquellpaketes angehängt sind, um die Einteilung in gleich große Datenblöcke zu garantieren. Weiterhin ist eine Information SPH (Source packet header) vorgesehen, die angibt ob in dem Buspaket ebenfalls auch ein Kopfteil für das Datenquellpaket vorgesehen ist. Weiterhin ist noch ein DBC-Wert (Data block counter) vorgesehen. Mit diesem Wert wird angegeben, der wievielte Datenblock der erste Datenblock in dem Buspaket ist. Alle Datenblöcke werden also einzeln durchnummeriert. Dieser Wert stellt praktisch einen Referenzzählerstand dar, mit dem einfach überprüft werden kann, ob ein Buspaket nicht empfangen wurde. Dazu werden im Empfängergerät die empfangenen Datenblöcke alle durchgezählt. Und jedesmal bei Empfang eines neuen Buspaketes wird der darin enthaltene DBC-Wert mit dem gezählten Vergleichswert verglichen. Nur wenn beide Werte übereinstimmen, sind alle Datenblöcke empfangen worden und es ist kein Buspaket verlorengegangen. Weitere Informationen in dem CIP-Kopfteil sind ein FMT-Eintrag (Format ID). Mit diesem Eintrag kann signalisiert werden, daß das Buspaket überhaupt keine Daten enthält. Ein FDF- Eintrag (Format Dependent Field) kann auch definiert sein, was nur der Vollständigkeit halber erwähnt wird, sowie ein SYT-Eintrag, der eine Zeitangabe für das Buspaket beinhaltet. In den folgenden Bereichen 12, 13, 14 und 15 folgen dann die Datenblöcke für das erste Datenquellpaket SPO. Die Datenblöcke sind einzeln durchnummeriert von DB0-DB3. Der Eintrag 0 im Datenbereich 11 soll angeben, daß der DBC-Wert für dieses Buspaket auf den Wert 0 gesetzt ist, was gleichbedeutend ist mit der Tatsache, daß der erste Datenblock in diesem Buspaket die Nummer 0 aufweist. Dies muß natürlich auch bei der Vergleichszählung berücksichtigt werden. Die Zählung beginnt also mit 0. Im nächsten Buspaket sind insgesamt 8 Datenblöcke enthalten. Sie stehen in den Datenfeldern 12-15 und 17 bis 20. Von dem Datenquellpaket SP0 sind noch die Datenblöcke DB4 bis DB7 in diesem zweiten Buspaket enthalten. Anschließend folgen dann die Datenblöcke DB0 bis DB3 von dem Datenquellpaket SP1. Die Angabe 4 im Datenfeld 11 deutet darauf hin, daß in diesem Buspaket der 4. Datenblock der Isochrondatenübertragung zu finden ist. Im dritten Buspaket folgen dann noch in den Datenfeldern 12, 13, 14, 15, 17, 18 die ausstehenden Datenblöcke DB4 bis DB7 des zweiten Datenquellpaketes sowie die ersten beiden Datenblöcke des nächsten Datenquellpaketes SP2. In diesem Buspaket sind also insgesamt sechs Datenblöcke enthalten. Die Angabe 12 im Datenfeld 11 entspricht wieder dem DBC-Wert dieses Buspaketes. Sie bedeutet, daß in diesem Buspaket als erstes der zwölfte Datenblock der Isochrondatenübertragung folgt. In dem vierten Buspaket folgen dann noch die restlichen Datenblöcke des Datenquellpaketes SP2 nämlich DB2 bis DB7. Der DBC-Wert im Datenfeld 11 dieses Buspaketes ist dem entsprechend die 18.
Die Grenze zwischen den Datenblöcken des ersten Datenquellpaketes SP0 und den Datenblöcken des zweiten Datenquellpaketes SP1 befindet sich mitten im zweiten Buspaket. Die Grenze zwischen den Datenblöcken des zweiten Buspaketes SP1 und den Datenblöcken des dritten Buspaketes SP2 befindet sich im letzten Drittel des dritten Buspaketes. Diese Grenzen müssen ermittelt werden, damit die entsprechenden Adresseinträge in den Spezialregistern der Speicherverwaltungseinheit gemacht werden können.
Die erfindungsgemäße Lösung, mit der die Datenquellpaketsgrenzen ermittelt werden können, wird nachfolgend anhand der Fig. 2 genauer erläutert. Die Fig. 2 zeigt die für die Erfindung relevanten Komponenten. Diese Komponenten sind Teile eines Data-Link-Layer-Schaltkreises einer IEEE 1394-Busschnittstelle. Die Bezugszahl 30 bezeichnet eine Speichereinheit, die im folgenden für den Empfang von Daten und deren Zwischenspeicherung vorgesehen ist. Sie kann Teil einer größeren Speichereinheit sein, wobei einfach nur ein bestimmter Bereich innerhalb des größeren Speichers zu diesem Zweck reserviert ist. Die empfangenen Daten gelangen über den Bus 37 zur Speichereinheit 30. Die Daten werden in der Speichereinheit 30 solange zwischengespeichert, bis sie zur Applikationseinheit weitergeleitet werden. In diesem Fall werden die Daten ebenfalls über den Bus 37 zur Applikationseinheit, die in Fig. 2 nicht näher dargestellt ist, ausgegeben. Zugriff auf die Speichereinheit 30 haben auch die Einheiten CRC-Prüfeinheit 32, Modulo-8-Zähler 33, DB-Zähler 34, Datenzähler 35 und Auswertelogik 36. Alle diese Einheiten sind über einen internen Bus 38 miteinander verbunden und ebenfalls auch mit der Speichereinheit 30 verbunden. Eine weitere separate Einheit ist noch die Speicherverwaltungseinheit 31. Diese hat ebenfalls Zugriff auf die Speichereinheit 30 über den internen Bus 38. Sie dient also auch als Busmaster für den internen Bus 38 und teilt ihn den einzelnen angeschlossenen Einheiten zu. Sie steht mit der Speichereinheit 30 über einen separaten Bus 39 in Verbindung. An die Speicherverwaltungseinheit 31 ist weiterhin ein Bus 40 angeschlossen. Darüber werden Steuerungsdaten mit der externen Applikationseinheit ausgetauscht. Separate Steuerleitungen gehen noch von der Auswerteeinheit 36 zur Speicherverwaltungseinheit 31. Diese sind einmal eine Leitung 41 über die ein Datenquellpaketstartsignal SP_ST übertragen wird, zum zweiten eine Leitung 42, über die ein Fehlersignal DBC_ERR ausgegeben wird und zum dritten eine Leitung 43 über die ein CRC-Fehlersignal CRC_ERR ausgegeben wird.
Um jetzt die Datenquellpaketsgrenzen zu finden, arbeitet die beschriebene Vorrichtung wie folgt: Es werden die einzelnen Datenblöcke, die ja eine konstante Größe haben, in dem Modulo-8-Zähler 31 gezählt. Wenn dieser Zähler mit dem Zählerstand 0 zu zählen beginnt, wird er bezogen auf das Beispiel von Fig. 1 bei dem letzten Datenblock DB7 des Datenquellpaketes SP0 seinen höchsten Wert erreichen und dann wieder mit 0 beginnen nachdem der letzte Datenblock DB7 vollständig in den Speicher eingeschrieben wurde. Er gibt dann das Datenquellpaketstartsignal SP_ST an die Speicherverwaltungseinheit 31 aus, die dann die jetzt gültige Adresse für die neuen Daten in das dementsprechende Spezialregister für den Beginn des nächsten Datenpaketes übernimmt. Da die Datenblöcke alle gleiche Größe aufweisen, braucht kein Spezialregister vorgesehen zu werden, in dem die Endeadresse des letzten Datenpaketes eines Datenquellpaketes eingetragen werden muß.
Da der Modulo-8-Zähler den Zählerstand wieder auf 0 setzt und dann weiter zählt, wird er den Zählerstand 7 genau wieder nach Einschreibung des Datenblocks DB7 des Datenquellpaketes SP1 erreicht haben. Er wird also ein Datenquellpaketstartsignal ausgeben, das über die Auswerteeinheit 36 zur Speicherverwaltungseinheit 31 weitergeleitet wird und diese zur Abspeicherung der Speicheradresse in dem weiteren Spezialregister veranlaßt. Die Zählung wird wieder mit 0 begonnen und nach Empfang des Datenblock DB7 des Datenquellpaketes SP2 würde erneut ein Datenquellpaketstartsignal SP_ST generiert.
Damit aber die erzeugten Datenquellpaketstartsignale tatsächlich zur Übernahme der entsprechenden Adresse in den Spezialregistern führen, ist es bei diesem Ausführungsbeispiel Voraussetzung, daß gleichzeitig keine Fehlersignale auf den Leitungen 42, 43 anliegen. Sonst sind. nämlich die empfangenen Daten als fehlerhaft detektiert worden und sie dürfen nicht mehr an die Applikationseinheit weitergegeben werden. In der CRC-Prüfeinheit 32 wird jedes empfangene Buspaket auf Fehlerfreiheit hin überprüft. Da sich das CRC-Prüfwort am Ende jedes Buspaketes im Datenfeld 16 nur auf sämtliche Daten in diesem Buspaket beziehen, kann die Fehlerfreiheit eines Datenquellpaketes nur so festgestellt werden, daß die CRC-Prüfergebnisse der einzelnen Buspakete gesammelt werden und dann jedesmal, wenn das Datenquellpaketstartsignal generiert wird, gemeinsam ausgewertet werden. Wenn eines der CRC-Prüfwörter der zusammen betrachteten Buspakete einen Fehler anzeigt, wird das Fehlersignal CRC_ERR über die Leitung 43 ausgegeben. Zum Beispiel müssen nach der Generierung des Datenquellpaketstartsignals nach Empfang des Datenblocks DB7 des ersten Datenquellpaketes SP0 beide CRC-Prüfergebnisse für das erste empfangene Buspaket und auch für das zweite empfangene Buspaket Fehlerfreiheit anzeigen, damit kein Fehlersignal über die Leitung 43 ausgegeben wird. Die CRC- Überprüfung der einzelnen Buspakete geschieht wie schon erwähnt in der CRC-Prüfeinheit 32. Das Sammeln der einzelnen Prüfergebnisse geschieht dann in der Auswerteeinheit 36. Ebenfalls auch die Erzeugung des Fehlersignals CRC_ERR wenn eines der Prüfergebnisse bezüglich eines Datenquellpaketes einen Fehler anzeigt.
Der DB-Zähler 34 zählt alle empfangenen Datenblöcke durch. Gemäß IEC 61883-Standard ist dieser Zähler ein 8-Bit-Zähler. Wenn alle Buspakete ordnungsgemäß empfangen werden, wird dieser Zähler jeweils die Zählerstände 4, 12 und 18 nach dem Empfang des ersten, zweiten und dritten Datenpaketes aufweisen. Diese Werte sind ja auch in den Datenfeldern 11 der Buspakete 2, 3 und 4 als Referenzwerte eingetragen. Sollte der Zähler jedoch nicht den Zählerstand aufweisen, wie im Datenfeld 11 jeweils angegeben, wird die Auswerteeinheit 36 das bereits erwähnte Fehlersignal DBC-ERR erzeugen.
Der Datenzähler 35 arbeitet wie folgt: Er zählt die Daten in Einheiten von Bytes. In dem IEC 61883-Standard wird die Datenblockgröße in Einheiten von Quadlets angegeben. Die Datenblockgröße kann programmiert werden und zwar sind alle Werte zwischen 1 und 256 Quadlets möglich. Der festgelegte Wert ist in dem CIP-Kopfteil CIPH enthalten. Dieser Wert wird ausgewertet und steht dann in der Auswertelogik 36 zur Verfügung. Der Datenzähler 35 wird dann so eingestellt, daß er bei Erreichen des Endes eines Datenblocks einen Datenblockzählimpuls generiert und an den Datenblock-Zähler 34 ausgibt.
Verschiedene Abwandlungen und Modifikationen der beschriebenen Ausführungsbeispiele sind möglich. Die Struktur mit den beschriebenen verschiedenen internen und für die externen Komponenten vorgesehenen Busleitungen kann unterschiedlich sein. Teile der erläuterten Vorrichtung können auch per Software realisiert sein. Die Erfindung ist nicht auf den Einsatz bei dem erwähnten IEEE 1394-Bus beschränkt. Sie kann auch für andere drahtgebundene Bussysteme oder auch für drahtlose Bussysteme eingesetzt werden.

Claims (9)

1. Verfahren zum Verwalten von über einen Datenbus empfangenen Daten, wobei die Daten in Buspaketen mit variabler Länge übertragen werden, wobei die Daten in Datenblöcke (DB0-DB7) definierter Länge eingeteilt sind, wobei eine Zusammenfassung von einer definierten Anzahl n von Datenblöcken (DB0-DB7) ein Datenquellpaket (SP0-SP2) bildet, wobei eine abschnittsweise Übertragung der Datenquellpakete (SP0-SP2) im Rahmen von Datenblöcken zugelassen ist, dadurch gekennzeichnet, daß zur Bestimmung der Datenquellpaketgrenzen eine Modulo-n- Zählung der Datenblöcke (DB0-DB7) durchgeführt wird und daß der Beginn eines neuen Datenquellpaketes (SP1, SP2) bei Beginn des nächsten Zählintervalls einer Speicherverwaltungseinrichtung (31) signalisiert wird.
2. Verfahren nach Anspruch 1, wobei jedes Buspaket einer CRC-Überprüfung unterzogen wird und die Prüfergebnisse zwischengespeichert werden um feststellen zu können ob ein in zwei oder mehreren Buspaketen übertragenes Datenquellpaket (SP0-SP2) fehlerfrei übertragen wurde.
3. Verfahren nach Anspruch 1 oder 2, wobei zur Überprüfung der Vollständigkeit der übertragenen Daten in jedem Buspaket ein Referenzzählerstand übertragen wird und wobei eine Vergleichszählung der empfangenen Datenblöcke (DB0-DB7) erfolgt und bei Empfang des zu dem Referenzzählerstand gehörenden Datenblocks das Ergebnis der Vergleichszählung mit dem Referenzzählerstand verglichen wird und bei Nicht-Übereinstimmung ein Fehlersignal (DBC-ERR) ausgegeben wird.
4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die definierte Anzahl n von Datenblöcken (DB0-DB7) eines Datenquellpaketes (SP0-SP2) der Anzahl 8 entspricht und dementsprechend die Modulo-n-Zählung eine Modulo-8- Zählung ist.
5. Vorrichtung zur Durchführung des Verfahrens nach einem der vorhergehenden Ansprüche mit einer Speichereinheit (30) in die die empfangenen Daten der Reihe nach eingeschrieben werden, und mit einer Speicherverwaltungseinrichtung (31), dadurch gekennzeichnet, daß ein Modulo-n-Zähler (33) vorgesehen ist, der die empfangenen Datenblöcke (DB0-DB7) zählt und bei Beginn des nächsten Zählintervalls ein Datenquellpaketstartsignal (SP_ST) an die Speicherverwaltungseinrichtung (31) abgibt.
6. Vorrichtung nach Anspruch 5, die weiterhin eine CRC- Prüfeinheit (32) aufweist, mittels derer die Daten in den empfangenen Buspaketen auf Fehlerfreiheit überprüft werden, wobei die Prüfergebnisse mehrerer aufeinanderfolgender Buspakete zwischengespeichert werden und zusammengefaßt werden, wenn das Datenquellpaketstartsignal (SP_ST) erkannt worden ist und wobei die CRC-Prüfeinheit (32) ein Fehlersignal (CRC_ERR) ausgibt, wenn eines der zusammengefaßten Prüfergebnisse einen erkannten Fehler ausweist.
7. Vorrichtung nach Anspruch 5 oder 6, die weiterhin einen Datenblockreferenzzähler (34) aufweist, mit dem die Vergleichszählung der empfangenen Datenblöcke (DB0-DB7) erfolgt und wobei Vergleichsmittel vorgesehen sind, die den Zählerstand des Datenblockreferenzzählers (34) mit dem empfangenen Referenzzählerstand des Buspaketes vergleichen und bei Nicht-Übereinstimmung ein Fehlersignal (DBC-ERR) ausgeben.
8. Vorrichtung nach einem der vorhergehenden Ansprüche, die weiterhin einen Datenzähler (35) aufweist mit dem die Daten insbesondere in Einheiten von Bytes gezählt werden und der ein Datenblockzählsignal ausgibt, wenn soviel Daten gezählt worden sind, wie definierterweise zu einem Datenblock (DB0-DB7) gehören.
9. Vorrichtung nach einem der vorhergehenden Ansprüche, wobei der Datenbus nach dem IEEE 1394-Standard ausgelegt ist und die Vorrichtung Teil eines Data-Link-Layer- Bausteins in der Busschnittstelle für diesen Datenbus ist.
DE19913585A 1999-03-25 1999-03-25 Verfahren zum Verwalten von über einen Datenbus empfangenen Daten sowie Vorrichtung zur Durchführung des Verfahrens Withdrawn DE19913585A1 (de)

Priority Applications (13)

Application Number Priority Date Filing Date Title
DE19913585A DE19913585A1 (de) 1999-03-25 1999-03-25 Verfahren zum Verwalten von über einen Datenbus empfangenen Daten sowie Vorrichtung zur Durchführung des Verfahrens
PCT/EP2000/002182 WO2000058844A1 (en) 1999-03-25 2000-03-13 Method for the management of data received via a data bus, and apparatus for carrying out the method
MXPA01008251A MXPA01008251A (es) 1999-03-25 2000-03-13 Metodo para la administracion de datos recibidos via un canal de datos, y aparato para llevar a cabo el metodo.
DE60003645T DE60003645T2 (de) 1999-03-25 2000-03-13 Verfahren um durch einen datenbus empfangene daten zu verwalten und vorrichtung zur durchführung des verfahrens
EP00912599A EP1163597B1 (de) 1999-03-25 2000-03-13 Verfahren um durch einen datenbus empfangene daten zu verwalten und vorrichtung zur durchführung des verfahrens
ES00912599T ES2202075T3 (es) 1999-03-25 2000-03-13 Metodo para la gestion de datos recibidos a traves de un bus de datos y aparato para llevar a cabo dicho metodo.
JP2000608269A JP2002540702A (ja) 1999-03-25 2000-03-13 データバスを介して受信されたデータを管理する方法及び、その方法を実行するための装置
KR1020017011064A KR100712566B1 (ko) 1999-03-25 2000-03-13 데이터 버스를 통해 수신된 데이터의 관리 방법 및 이방법을 실행하는 장치
BR0009287-8A BR0009287A (pt) 1999-03-25 2000-03-13 Metodo para o gerenciamento de dados recebidos por meio de um barramento de dados e aparelho para realizar o método
CNB008045399A CN1171155C (zh) 1999-03-25 2000-03-13 通过数据总线管理接收数据的方法及装置
AT00912599T ATE244420T1 (de) 1999-03-25 2000-03-13 Verfahren um durch einen datenbus empfangene daten zu verwalten und vorrichtung zur durchführung des verfahrens
AU34291/00A AU764600B2 (en) 1999-03-25 2000-03-13 Method for the management of data received via a data bus, and apparatus for carrying out the method
ZA200107108A ZA200107108B (en) 1999-03-25 2001-08-28 Method for the management of data received via a data bus and apparatus for carrying out the method.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19913585A DE19913585A1 (de) 1999-03-25 1999-03-25 Verfahren zum Verwalten von über einen Datenbus empfangenen Daten sowie Vorrichtung zur Durchführung des Verfahrens

Publications (1)

Publication Number Publication Date
DE19913585A1 true DE19913585A1 (de) 2000-09-28

Family

ID=7902388

Family Applications (2)

Application Number Title Priority Date Filing Date
DE19913585A Withdrawn DE19913585A1 (de) 1999-03-25 1999-03-25 Verfahren zum Verwalten von über einen Datenbus empfangenen Daten sowie Vorrichtung zur Durchführung des Verfahrens
DE60003645T Expired - Lifetime DE60003645T2 (de) 1999-03-25 2000-03-13 Verfahren um durch einen datenbus empfangene daten zu verwalten und vorrichtung zur durchführung des verfahrens

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60003645T Expired - Lifetime DE60003645T2 (de) 1999-03-25 2000-03-13 Verfahren um durch einen datenbus empfangene daten zu verwalten und vorrichtung zur durchführung des verfahrens

Country Status (12)

Country Link
EP (1) EP1163597B1 (de)
JP (1) JP2002540702A (de)
KR (1) KR100712566B1 (de)
CN (1) CN1171155C (de)
AT (1) ATE244420T1 (de)
AU (1) AU764600B2 (de)
BR (1) BR0009287A (de)
DE (2) DE19913585A1 (de)
ES (1) ES2202075T3 (de)
MX (1) MXPA01008251A (de)
WO (1) WO2000058844A1 (de)
ZA (1) ZA200107108B (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0838926A2 (de) * 1996-10-22 1998-04-29 Sony Corporation Vorrichtung und Verfahren zum Senden und Empfangen von isochronen Daten

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3458469B2 (ja) * 1994-07-15 2003-10-20 ソニー株式会社 信号受信装置及び通信方法
JP3731283B2 (ja) * 1997-04-01 2006-01-05 ソニー株式会社 信号処理回路およびその方法
US5875313A (en) * 1997-04-08 1999-02-23 National Instruments Corporation PCI bus to IEEE 1394 bus translator employing write pipe-lining and sequential write combining
EP0976228B1 (de) * 1997-04-15 2005-06-22 Sony Electronics Inc. Protokoll verarbeitungsgerät für datenstromverarbeitung
JP3785747B2 (ja) * 1997-06-20 2006-06-14 ソニー株式会社 シリアルインタフェース回路およびその信号処理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0838926A2 (de) * 1996-10-22 1998-04-29 Sony Corporation Vorrichtung und Verfahren zum Senden und Empfangen von isochronen Daten

Also Published As

Publication number Publication date
EP1163597A1 (de) 2001-12-19
AU764600B2 (en) 2003-08-21
DE60003645T2 (de) 2004-06-09
ZA200107108B (en) 2002-10-30
CN1171155C (zh) 2004-10-13
ATE244420T1 (de) 2003-07-15
CN1342288A (zh) 2002-03-27
WO2000058844A1 (en) 2000-10-05
DE60003645D1 (de) 2003-08-07
EP1163597B1 (de) 2003-07-02
MXPA01008251A (es) 2003-07-21
ES2202075T3 (es) 2004-04-01
BR0009287A (pt) 2002-01-08
AU3429100A (en) 2000-10-16
KR100712566B1 (ko) 2007-05-02
KR20020006669A (ko) 2002-01-24
JP2002540702A (ja) 2002-11-26

Similar Documents

Publication Publication Date Title
DE3809129C2 (de) Verfahren und Vorrichtung zur Steuerung von videotechnischen Geräten
DE69634932T2 (de) Datenübertragungsvorrichtung, Datenempfangsgerät und Steuervorrichtung für die Datenübertragung
DE69534127T2 (de) Kommunikationssystem für elektronische Geräte
DE10000305B4 (de) Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern
DE69931218T2 (de) Verfahren zur synchronisierung von netzwerkknoten
DE69920782T2 (de) Verfahren unf Vorrichtung zur bidirektionalen Datenübertragung zwischen einem IEEE1394 Bus und einem Gerät
DE69937394T2 (de) Verfahren und vorrichtung zur prädikativen zeitstempelung isochroner datenpakete
DE69916583T2 (de) Medienspeichervorrichtung mit eingebettetem datenfilter zur dynamischen datenverarbeitung während lese- und schreiboperationen
EP1115219A2 (de) Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern
DE69829429T2 (de) Datenkommunikationssystem und in diesem verwendete elektronische Kontrolleinheit
WO2002049283A1 (de) Verfahren zur überprüfung eines netzwerkes und netzwerk hierzu
DE60106542T2 (de) Netzfehleranzeigevorrichtung und Fehlerdetektionsanzeigeverfahren
EP2466406A1 (de) Verfahren zur automatischen Erzeugung von Dynamic Frame Packgruppen
DE102007050941A1 (de) Verfahren zum Übertragen von Daten in einem Kommunikationsnetz, Sende- und Empfangsvorrichtung für ein Kommunikationsnetz
DE60003645T2 (de) Verfahren um durch einen datenbus empfangene daten zu verwalten und vorrichtung zur durchführung des verfahrens
DE69729068T2 (de) Vorrichtung und Verfahren zum Übertragen von digitalen Audio- und Videodaten
DE60019218T2 (de) Datenübertragung in einem IEEE 1394 seriellen Bus
DE19914838A1 (de) Verfahren zum Zusammenstellen von Buspaketen für die Isochrondatenübertragung über einen Datenbus sowie Vorrichtung zur Durchführung des Verfahrens
DE19919154A1 (de) Ringnetzwerk-Überwachungssystem
DE102005019264A1 (de) Speichersystem für Digital-Video und sich darauf beziehendes Verfahren zur Speicherung von Digital-Video-Daten
DE60038589T2 (de) Verfahren und Einrichtung zur Steuerung der Synchronisation zwischen zwei seriellen Kommunikationsbussen eines Netzes
EP1357707A2 (de) Verfahren und Vorrichtung zur Übertragung von Nachrichten auf einem Bussystem und Bussystem
DE19961644A1 (de) Verfahren und System zur Steuerung und zum Austausch von Daten für multimediale Geräte sowie dafür geeignetes Gerät
DE60202697T2 (de) Asynchrone datenübertragungsanordnung mit steuerungsmittel für taktabweichungen
DE2831887C2 (de) Anordnung zum Übertragen von Daten zwischen einer zentralen Verarbeitungseinheit und mehreren peripheren Einheiten

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8120 Willingness to grant licences paragraph 23
8141 Disposal/no request for examination