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 VerfahrensInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40058—Isochronous transmission
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40071—Packet processing; Packet format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering 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.
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.
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.
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.
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.
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)
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)
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 | ソニー株式会社 | シリアルインタフェース回路およびその信号処理方法 |
-
1999
- 1999-03-25 DE DE19913585A patent/DE19913585A1/de not_active Withdrawn
-
2000
- 2000-03-13 ES ES00912599T patent/ES2202075T3/es not_active Expired - Lifetime
- 2000-03-13 JP JP2000608269A patent/JP2002540702A/ja active Pending
- 2000-03-13 EP EP00912599A patent/EP1163597B1/de not_active Expired - Lifetime
- 2000-03-13 KR KR1020017011064A patent/KR100712566B1/ko not_active IP Right Cessation
- 2000-03-13 BR BR0009287-8A patent/BR0009287A/pt not_active IP Right Cessation
- 2000-03-13 WO PCT/EP2000/002182 patent/WO2000058844A1/en active IP Right Grant
- 2000-03-13 AU AU34291/00A patent/AU764600B2/en not_active Ceased
- 2000-03-13 MX MXPA01008251A patent/MXPA01008251A/es active IP Right Grant
- 2000-03-13 AT AT00912599T patent/ATE244420T1/de not_active IP Right Cessation
- 2000-03-13 CN CNB008045399A patent/CN1171155C/zh not_active Expired - Fee Related
- 2000-03-13 DE DE60003645T patent/DE60003645T2/de not_active Expired - Lifetime
-
2001
- 2001-08-28 ZA ZA200107108A patent/ZA200107108B/xx unknown
Patent Citations (1)
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 |