DE60036317T2 - Verfahren und Busschnittstelle zur Verbindung eines Buses mit einer Anwendungsvorrichtung - Google Patents

Verfahren und Busschnittstelle zur Verbindung eines Buses mit einer Anwendungsvorrichtung Download PDF

Info

Publication number
DE60036317T2
DE60036317T2 DE60036317T DE60036317T DE60036317T2 DE 60036317 T2 DE60036317 T2 DE 60036317T2 DE 60036317 T DE60036317 T DE 60036317T DE 60036317 T DE60036317 T DE 60036317T DE 60036317 T2 DE60036317 T2 DE 60036317T2
Authority
DE
Germany
Prior art keywords
data
memory
header
bus
crc
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
DE60036317T
Other languages
English (en)
Other versions
DE60036317D1 (de
Inventor
Siegfried Schweidler
Thomas Brune
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
Publication of DE60036317D1 publication Critical patent/DE60036317D1/de
Application granted granted Critical
Publication of DE60036317T2 publication Critical patent/DE60036317T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • 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
    • 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
    • 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/9036Common buffer combined with individual queues
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Communication Control (AREA)
  • Detection And Correction Of Errors (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Traffic Control Systems (AREA)
  • Information Transfer Systems (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und auf eine Bus-Schnittstelle mit einem Speicher in einer integrierten Schaltung, die dazu dient, einen Bus mit einer durch den Bus zu steuernden Anwendungsvorrichtung zu verknüpfen.
  • Hintergrund
  • Der IEEE1394-Bus ist ein preisgünstiger serieller Hochleistungsbus. Er hat eine Lese/Schreib-Speicher-Architektur und ein hoch ausgefeiltes Kommunikationsprotokoll. Datenraten von 100, 200 oder 400 Mbit/s können nahezu in Echtzeit übertragen werden. Gleichzeitig können Daten in beiden Richtungen übertragen werden. Die ersten zehn Bits von übertragenen Adresswerten beziehen sich auf 1023 mögliche IEEE1394-Bus-Cluster. Die folgenden sechs Bits der übertragenen Adresswerte beziehen sich innerhalb eines spezifischen Clusters auf ein bis zu 63 Knoten, denen eine Anwendung oder ein Gerät zugeordnet ist. Daten können zwischen den Knoten ohne Wechselwirkung mit einer Host-Steuereinheit ausgetauscht werden. Geräte können jederzeit an das Netzwerk angeschlossen oder von diesem getrennt werden, so dass ein Plug-and-Play-Verhalten möglich ist.
  • Die genormte Kabelverbindung für die Knoten hat eine Länge von 4,5 m und enthält drei verdrillte Kabelpaare, von denen zwei zur Übertragung von Daten und Steuerinformationen dienen und das dritte Paar Versorgungsspannungen von 8 V bis 40 V führt. Es wird eine dreistufige Kodierung verwendet: HOCH (H), NIEDRIG (L) und HOHE IMPEDANZ (Z). H hat Vorrang vor L, L hat Vorrang vor Z. Der Wellenwiderstand ist 110 Ohm. Es gibt auch eine Version IEEE1394-1995 der Bus-Spezifikation, die nur zwei verdrillte Kabelpaare enthält, an denen keine Stromversorgungsspannung vorhanden ist. Das Kommunikationsprotokoll hat drei Schichten: Bit- Übertragungsschicht (physical layer), Verbindungsschicht (link layer) und Transaktionsschicht. Üblicherweise wird die Transaktionsschicht durch Firmware realisiert, während die anderen Schichten unter Verwendung von Chip-Gruppen ausgeführt werden.
  • Die Bit-Übertragungsschicht enthält analoge Transceiver und eine digitale State-Machine. Sie handhabt Bus-Auto-Konfiguration und Hot-Plug. Sie taktet um, regeneriert und wiederholt alle Pakete und leitet alle Pakete zu der örtlichen Verbindungsschicht. Sie führt Out-Packet-Framing, z.B. Kurz-Code, Präfix und Paket-End-Aufbau. Sie bestimmt und überträgt Pakete von der örtlichen Verbindungsschicht. Verfügbare IC-Typen sind zum Beispiel TSB11C01, TSB11LV01, TSB21LV03 und TSV41LV03 von Texas Instruments, MB86611 von Fujitsu und 21S750 von IBM.
  • Die Verbindungsschicht führt die gesamte digitale Logik aus. Sie erkennt an die Knoten adressierte Pakete durch Adressen-Erkennung und dekodiert die Paket-Header. Sie liefert Pakete an höhere Schichten und erzeugt Pakete aus höheren Schichten. Sie arbeitet entweder isochron für AV-Daten-Verwendung oder asynchron für Steuerdaten-Verwendung. Bei dem isochronen Betrieb wird ein Kanal mit einer garantierten Bandbreite errichtet. Es gibt eine definierte Latenzzeit. Die Übertragung wird in 125 μs Zeitschlitzen oder Zyklen ausgeführt. Header und Datenblöcke eines Pakets haben getrennte CRCs (zyklische Redundanzprüfung). Diese Betriebsart hat eine höhere Priorität als die asynchrone Datenübertragungs-Betriebsart.
  • Die asynchrone Betriebsart ist nicht zeitkritisch, aber sicher. Sie arbeitet als ein bestätigter Dienst mit einem Belegs- und Wiederholungsprotokoll. Es werden feste Adressen verwendet. Die Übertragung findet statt, wenn der Bus in Ruhe ist. Die asynchrone Betriebsart handhabt Lese-Anforderung/Reaktion, Schreib-Anforderung/Reaktion und Sperr-Anforderung/Reaktion. Sie führt die Zyklussteuerung, die CRC-Erzeugung und die Validisierung aus. Verfügbare Verbinungsschicht-IC-Typen sind zum Beispiel TS312C01A, TSB12LV21, TSB12LV31 und TSB12LV41 von Texas Instruments und PDI1394L11 von Philips.
  • Die Transaktionsschicht führt asynchrone Bus-Transaktionen durch:
    • – Lese-Anforderung/Lese-Reaktion
    • – Schreib-Anforderung/Schreib-Reaktion
    • – Sperr-Anforderung/Sperr-Reaktion.
  • Wie oben erwähnt wurde, kann dies durch einen mit Software arbeitenden Mikro-Controller ausgeführt werden, z.B. dem i960 von SparcLite. Es kann auch eine AV-(Audio-Video)-Schicht sein, die die Gerätesteuerung, das Verbindungs-Management, die Zeitstempelung und die Paketisierung ausführt.
  • In IEEE1394-Systemen arbeitet die Verbindungsschicht als Schnittstelle zwischen einer externen Anwendung und dem IEEE1394-Bus (über die Bit-Übertragungsschicht).
  • Die externe Anwendung kann zum Beispiel ein Verbrauchergerät, wie eine Set-Top-Box oder ein VCR oder ein DVD-Spieler sein, das latenzkritische isochrone Daten oder nicht-latenzkritische asynchrone Daten liefert/empfängt. Die asynchronen Datenpakete dienen für die Steuerungsoperationen oder für Register-Lese/Schreib/Verriegelungs-Operationen. Isochrone Datenpakete enthalten Informationseinzelheiten wie Video-/Audio-Daten.
  • Aus EP-A-0 804 033 sind Basisinformationen über eine IEEE1394-Bus-Schnittstelle bekannt. Das Dokument beschreibt auch die CRC-Erzeugung und die Auswertung für den Header und das Nutzdatenfeld eines 1394-Bus-Pakets.
  • Der Aufsatz von Bloks R.H.J. „The IEEE-1394 High Speed Serial Bus" in Philips Journal of Research, Bd. 30, Nr. 1, 1. Januar 1996, Seiten 209–216, gibt einen Überblick über die IEEE1394-Bus-Technologie mit spezieller Betonung des Transports von MPEG2-Daten.
  • Erfindung:
  • Für die Timing-Entkopplung von dem IEEE1394-Bus und der Anwendung wird ein Ein-Chip-Speicher verwendet. Wegen der stark eingeschränkten Speicherkapazität des IC-Ein-Chip-Speichers ist es wichtig, Raum einzusparen, wenn mit diesem Speicher verarbeitet wird. Für den Fall einer ASIC-Lösung für den Verbindungsschicht-IC kann ein FIFO (First-in-first-out-Speicher) verwendet werden, um den IEEE1394-Bus mit der Anwendungsvorrichtung zu verbinden und die Handhabung der asynchronen und isochronen Pakete zu organisieren. Es ist möglich, die Speicherkapazität in feste Bereiche für asynchrone und isochrone Daten zu trennen. Es ist jedoch vorteilhaft, die Speicherkapazität in flexibler Weise aufzuspalten, um Erfordernisse für jeden spezifischen Dienst zu erfüllen. Dann muss die für andere Dienste verbleibende Speicherkapazität leistungsfähig verwaltet werden, um die Geschwindigkeits- und Adressenanforderungen zu erfüllen. Ein Problem ist die leistungsfähige Verwaltung von latenzkritischen isochronen Daten und von nicht-latenzkritischen asynchronen Daten innerhalb des Ein-Chip-Speichers.
  • Gemäß der Erfindung wird der Ein-Chip-Speicher während der Übertragung (on the fly) daran gehindert, Pakete zu speichern, die Übertragungsfehler enthalten. Dieses Merkmal gilt für alle asynchronen Datenpakete und in speziellen Fällen auch für isochrone Datenpakete. Insbesondere wird der FIFO-Speicher des Verbindungsschicht-Chips in drei Be reiche unterteilt: asynchroner Empfangsbereich, asynchroner Übertragungsbereich und isochroner Datenpaket-Bereich. Bei der asynchronen Betriebsart wird der Empfang und die Übertragung von IEEE1394-Bus-Datenpaketen in unabhängiger Weise ausgeführt, während bei der isochronen Betriebsart der Empfang und die Übertragung eines Datenpakets in sequentieller Weise erfolgt, wobei Zugriff zu demselben Speicherbereich genommen wird.
  • Beim Empfangsbetrieb werden die von dem IEEE1394-Bus kommenden Datenpakete Wort für Wort in den entsprechenden Speicherbereich geschrieben. Gemäß der IEEE1394-Bus-Spezifikation wird der erste Teil eines Datenpakets als Paket-Header definiert, dem Paket (Benutzer) Daten in dem zweiten Teil folgen.
  • Es gibt zwei CRC-Prüfworte (zyklische Redundanzprüfung) in einem asynchronen IEEE1394-Datenpaket. Das erste ist an den Paket-Header angehängt, und das zweite ist an die Paket- oder Nutzdaten angehängt. Aufgrund dieses spezifischen Ortes der CRC-Prüfworte innerhalb des empfangenen Paket-Datenstroms ist es nicht möglich, die CRC-Prüfworte zu verarbeiten, bevor ein Datenpaket in den Speicher geschrieben wird. Es gibt wenigstens drei Wege, um ein asynchrones Datenpaket zu verarbeiten:
    • a) Schreiben des gesamten Datenpaketes in den Speicher ohne CRC-Prüfung. Beim Lesen der Datenpakete aus dem Speicher führt die Anwendungsvorrichtung die Header-CRC-Prüfung und die Paketdaten-CRC-Prüfung bei allen Datenpaketen aus und überspringt die fehlerhaften Datenpakete;
    • b) in jedem Fall ein vollständiges Datenpaket in den Speicher schreiben und dadurch eine sofortige CRC-Prüfung dieses Datenpakets ausführen und es als fehlerhaft zu markieren, wenn dies für die Header-CRC- Prüfung und/oder die Paketdaten-CRC-Prüfung zutrifft. Beim Lesen der Datenpakete aus dem Speicher prüft die Anwendungsvorrichtung die Markierung aller Datenpakete und überspringt die fehlerhaften Datenpakete;
    • c) in jedem Fall während der Übertragung (on the fly) Ausführen einer Header-CRC-Prüfung und einer Paketdaten-CRC-Prüfung bei dem ankommenden Datenpaket unter Verwendung einer zugeeigneten CRC-Prüfeinheit und ihres Registers (ihrer Register), und kein Einschreiben des ankommenden Datenpakets oder seiner Paketdaten in den Speicher, wenn die Header- und/oder die Paketdaten fehlerhaft sind. Dann – ausgelöst durch das erste Header-Daten-Byte – Überschreiben des fehlerhaften Datenpakets bzw. der Paketdaten mit dem nächsten ankommenden Datenpaket oder den Paketdaten.
  • Vorteilhafterweise wird die Alternative c) ausgeführt, weil sie so viel Speicherraum wie möglich einspart.
  • Isochrone Datenpakete haben eine ähnliche Struktur. Dem Paket-Header folgt ein Header-CRC-Prüfwort, dem seinerseits ein Nutzdatenfeld folgt, dem ein Daten-CRC-Prüfwort angefügt ist. Das Nutzdatenfeld oder Datenfeld enthält am Beginn ein Informationsfeld, das als gemeinsamer isochroner Paket-(CIP)-Header bezeichnet wird, der die Struktur der folgenden Daten beschreibt. Diese Informations-Einzelheit wird nicht notwendigerweise in den Speicher geschrieben.
  • Quellen-Datenpakete können Datengruppen enthalten, die eine vorbekannte feste Datenlänge haben, die nicht zu der Datenlänge des IEEE1394-Nutzdatenfeldes passt. Z.B. haben MPEG-Transportpakete eine genormte Länge von 188 Bytes, die sich von der Länge von 104 Bytes des IEEE1394-Nutzdatenfeldes unterscheidet. Daher kann ein MPEG-Transportpaket teilweise in einem, zwei, vier oder acht nachfolgenden IEEE1394-Nutzdatenfeldern übertragen werden. Es gibt wenigstens sechs Wege, um ein isochrones Datenpaket zu verarbeiten:
    • d) wenn erkannt wird, dass ein Datenpaket an die Anwendungsvorrichtung adressiert ist, wird es in jedem Fall vollständig in den Speicher ohne Header-CRC-Prüfung und Datenfeld-CRC-Prüfung eingeschrieben. Beim Lesen der Datenpakete aus dem Speicher führt die Anwendungsvorrichtung beide Arten von CRC-Prüfungen bei allen Datenpaketen aus und überspringt die fehlerhaften Datenpakete;
    • e) in jedem Fall ein vollständiges Datenpaket in den Speicher schreiben, eine sofortige Header-CRC-Prüfung und/oder Datenfeld-CRC-Prüfung bei diesem Paket ausführen und es als fehlerhaft markieren, wenn dies für den Header und/oder das Datenfeld zutrifft. Beim Lesen der Datenpakete aus dem Speicher prüft die Anwendungsvorrichtung die Markierungen aller Datenpakete und überspringt die fehlerhaften Header und/oder Datenfelder. In einigen Fällen kann es möglich sein, dass ein Teil eines Datenpakets benutzt werden kann, obwohl der andere Teil fehlerhaft ist;
    • f) in jedem Fall Ausführen einer Header-CRC-Prüfung bei dem ankommenden Paket während der Übertragung (on the fly) unter Verwendung einer zugeeigneten CRC-Prüfeinheit und ihres Registers (ihrer Register). Das ankommende Datenpaket nicht in den Speicher einschreiben, wenn der Header fehlerhaft ist. Andernfalls entweder den Header direkt auswerten und das Datenfeld einschließlich der Datenfeld-CRC in den Speicher schreiben, oder den Header und das Datenfeld einschließlich der Datenfeld-CRC in den Speicher schreiben. Die Datenfeld-CRC-Prüfung wird später ausgeführt;
    • g) in jedem Fall Ausführen einer Header-CRC-Prüfung bei dem ankommenden Datenpaket während der Übertragung (on the fly) unter Verwendung einer zugeeigneten CRC-Prüfeinheit und ihres Registers (ihrer Register). Das ankommende Datenpaket nicht in den Speicher schreiben, wenn der Header fehlerhaft ist. Andernfalls entweder den Header direkt auswerten und das Datenfeld einschließlich der Daten-CRC in den Speicher schreiben und dadurch die Datenfeld-CRC-Prüfung ausführen, oder den Header und das Datenfeld in den Speicher schreiben und dadurch die Datenfeld-CRC-Prüfung ausführen und das Datenfeld als fehlerhaft markieren, wenn dies zutrifft. Die Markierung kann in dem Speicher zusammen mit dem Datenfeld gespeichert werden. Beim Lesen des Nutzdatenfeldes oder des Headers und des Nutzdatenfeldes aus dem Speicher prüft die Anwendungsvorrichtung die Markierung und überspringt die fehlerhaften Nutzdatenfelder bzw. Header;
    • h) in jedem Fall Ausführen einer Header-CRC-Prüfung bei dem ankommenden Datenfeld bei der Übertragung (on the fly) unter Verwendung einer zugeeigneten CRC-Prüfeinheit und ihres Registers (ihrer Register). Das ankommende Datenpaket nicht in den Speicher schreiben. Wenn der Header und/oder das Datenfeld fehlerhaft ist;
    • i) in jedem Fall Ausführen einer Header-CRC-Prüfung bei dem ankommenden Datenfeld bei der Übertragung (on the fly) unter Verwendung einer zugeeigneten CRC-Prüfeinheit und ihres Registers (ihrer Register). Das ankommende Datenpaket nicht in den Speicher einschreiben, wenn der Header fehlerhaft ist. Andernfalls entweder den Header direkt auswerten und die Quellen-Paketdaten aus dem Datenfeld in den Speicher schreiben und dadurch die Datenfeld-CRC-Prüfung ausführen, oder den Header und das Datenfeld in den Speicher schreiben und dadurch die Datenfeld-CRC-Prüfung ausführen und Quellen-Paketdaten bzw. das Datenfeld als fehlerhaft markieren, wenn dies zutrifft. Zusätzlich wird die oben beschriebene Datenlänge geprüft. Falls die vorbekannte Datenlänge eines Quellen-Paketes nicht erreicht wird, kann dieses Quellen-Paket als fehlerhaft markiert werden. Dieses Paket wird von dem nächsten Paket überschrieben. Beim Lesen des Headers und des Nutzdatenfeldes aus dem Speicher prüft die Anwendungsvorrichtung die Markierung und überspringt die fehlerhaften Nutzdatenfelder bzw. Header.
  • Vorteilhafterweise wird die Alternative i) ausgeführt, weil sie so viel Speicherraum wie möglich spart und weil sie erlaubt, nicht nur Übertragungsfehler festzustellen, sondern auch Quellen-Paket-Erzeugungsfehler.
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Verwendung eines Speichers in einer integrierten Schaltung zu verwenden, die dazu dient, einen Bus mit einer Anwendungsvorrichtung zu verknüpfen, die von dem Bus gesteuert werden soll, wobei die benötigte Speicherkapazität minimiert wird. Diese Aufgabe wird durch das im Anspruch 1 offenbarte Verfahren gelöst.
  • Es ist eine weitere Aufgabe der Erfindung, eine Vorrichtung zu offenbaren, die das erfindungsgemäße Verfahren verwendet. Diese Aufgabe wird durch die im Anspruch 8 offenbarte Vorrichtung gelöst.
  • Vorteilhafte weitere Ausführungsformen des erfindungsgemäßen Verfahrens und der erfindungsgemäßen Vorrichtung sind in den entsprechenden Unteransprüchen offenbart.
  • Vorteilhafte weitere Ausführungsformen der erfindungsgemäßen Vorrichtung sind in den entsprechenden Unteransprüchen offenbart.
  • Zeichnungen
  • Ausführungsformen der Erfindung werden unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. In den Zeichnungen stellen dar:
  • 1 einen IEEE1394-Doppelknoten für zweiseitige Echtzeit-Video-Anwendungen;
  • 2 mit einem IEEE1394-Bus verbundene Set-Top-Box, VCR und DVD-Spieler;
  • 3 eine CRC-Prüfeinheit, die Adressen des Ein-Chip-Speichers steuert;
  • 4 einen Ein-Chip-Speicher, in dem eine erste Datenmenge gespeichert wird, bevor zuvor gespeicherte Daten überschrieben werden;
  • 5 einen Ein-Chip-Speicher, in dem eine zweite Datenmenge gespeichert wird, bevor zuvor gespeicherte Daten überschrieben werden.
  • Ausführungsbeispiele
  • In 1 ist eine Bit-Übertragungsschicht-IC PLI mit einem IEEE1394-Buskabel B verbunden. PLI ist an der anderen Seite einem Verbindungsschicht-IC LLI für den Dateneingang und/oder Datenausgang zugeordnet. LLI ist eine Anwendungsvorrichtung APP zugeordnet. LLI und PLI über LLI werden durch einen Mikro-Controller μP gesteuert. Die Anwendungsvorrichtung kann auch durch den μP gesteuert werden. Alternativ kann PLI und/oder APP durch einen getrennten Mikro-Controller gesteuert werden. Der μP kann die oben beschriebenen CRC-Prüfungen durchführen.
  • Die Erfindung kann zum Beispiel für eine in 2 dargestellte Anwendung benutzt werden. Eine Set-Top-Box STB mit einer Empfangseinheit RU, einem MPEG-Dekodierer MDEC und einer IEEE1394-Schnittstelle 1394S empfängt ein digitales TV-Programm über Satellit oder Kabel. Das Ausgangssignal der Empfangseinheit wird über den IEEE1394-Bus zwechs Aufzeichnung zu einem Videorecorder VCRR übertragen, der auch eine IEEE1304-Schnittstelle 1394V enthält. Gleichzeitig spielt ein DVD-Spieler DVDP eine DVD-Disk ab, und die DVD-Daten werden auch über eine IEEE1394-Bus-Schnittstelle 1394D zu der IEEE1394-Bus-Schnittstelle 1394S der Set-Top-Box transportiert, um durch den MPEG-Dekodierer MDEC dekodiert und auf dem Bildschirm eines Fernsehempfängers TV angezeigt zu werden. Der Fernsehempfänger TV kann noch eine analoge Signalverbindung mit der Set-Top-Box haben, aber er kann auch mit STB durch eine IEEE1394-Bus-Schnittstelle verbunden werden. Somit benötigt der Set-Top-Box-IEEE1394-Busknoten 1394S eine zweiseitige Funktionalität.
  • In 3 sind eine CRC-Prüfeinheit CRC CHU und ein Ein-Chip-Speicher RAM mit IEEE1394-Bus-Daten 1394DAT versehen. Dieser Speicher speichert asynchrone und isochrone Paketdaten. Nach der CRC-Prüfung sendet CRC CHU gemäß dem CRC-Prüfergebnis entsprechende Steuerinformationen CTRL an eine Speicheradressen-Erzeugungseinheit MADGU. MADGU versorgt den Speicher RAM mit entsprechenden Adressenwerten, die zum Beispiel dazu dienen, ein bereits gespeichertes fehlerhaftes Datenpaket zu überschreiben.
  • 4 zeigt den Inhalt eines Speichers RAM in Verbindung mit der Header- und der Daten-CRC-Prüfung. Als Beispiel enthält der RAM:
    • – den Header HPO des Pakets #0;
    • – den CRC-Code HRCCPO für diesen Header, dessen Status ,ok' ist, d. h. die Header-Daten sind fehlerfrei empfangen worden;
    • – die Daten DATPO des Pakets #0;
    • – den CRC-Code DATCRCPO für die Daten dieses Pakets, dessen Status ,ok' ist, d. h. die Daten sind fehlerfrei empfangen worden;
    • – den Header HP1 des Pakets #1;
    • – den CRC-Code HCRCP1 für diesen Header, dessen Status ,fehlerhaft' ist, d. h. fehlerhafte Header-Daten sind empfangen worden. Als Ergebnis werden die Daten des Pakets #1 nicht in den RAM geschrieben, und HPRCP1 wird durch die Header-Daten des Pakets #2 überschrieben.
  • 5 zeigt den Inhalt des Speichers RAM in Verbindung mit Header- und Daten-CRC-Prüfung. Als Beispiel enthält der RAM:
    • – den Header HPO des Pakets #0;
    • – den CRC-Code HCRCPO für diesen Header, dessen Status ,ok' ist, d. h. die Header-Daten sind fehlerfrei empfangen worden;
    • – die Daten DATPO des Pakets #0;
    • – den CRC-Code DATCRCPO für die Daten dieses Pakets, dessen Status ,ok' ist, d. h. die Daten sind fehlerfrei empfangen worden;
    • – den Header HP1 des Pakets #1;
    • – den CRC-Code HCRCP1 für diesen Header, dessen Status ,ok' ist, d. h. die Header-Daten sind fehlerfrei empfangen worden;
    • – die Daten DATP1 des Pakets #1;
    • – den CRC-Code DATCRPC1 für die Daten dieses Pakets, dessen Status fehlerhaft ist, d. h. es sind fehlerhafte Daten empfangen worden. Als Ergebnis werden die Header-Daten des Pakets #2 nicht hinter DATCRCP1 in den RAM geschrieben, sondern sie überschreiben die Header-Daten HP1 des Pakets #1, gesteuert durch MADGU.
  • Falls fehlerfreie Header-Daten nicht in den Speicher geschrieben werden, werden sie ausgewertet, bevor und/oder während die entsprechenden Nutzdaten in den Speicher geschrieben werden.
  • Die Erfindung bietet die folgenden Vorteile für den Empfang von asynchronen Datenpaketen:
    • – es ist keine Verarbeitungsleistung der Anwendungsvorrichtung erforderlich, da die CRC-Prüfungen durch eine zugeeignete Prüfungseinheit auf dem Chip ausgeführt werden können;
    • – die Verwendung des Ein-Chip-Speichers ist optimal, weil fehlerhafte Paketdaten überschrieben werden.
  • Die Erfindung bietet die folgenden Vorteile für den Empfang von isochronen Datenpaketen;
    • – es ist keine Verarbeitungsleistung der Anwendungsvorrichtung erforderlich, weil die CRC-Prüfungen durch eine zugeeignete CRC-Prüfeinheit auf dem Chip ausgeführt werden können;
    • – die Anwendungsvorrichtung kann entscheiden, von Datenpaketen mit Datenfeld-CRC-Fehlern aber richtiger Paketlänge Gebrauch zu machen, z.B. um Audio-/Video-Daten synchronisiert zu halten, die einen festen zeitlichen Ort zueinander haben;
    • – diese Entscheidung ist durch Software steuerbar;
    • – die Verwendung eines Ein-Chip-Speichers ist optimal, da fehlerhafte Paketdaten überschrieben werden.
  • Anstatt eines IEEE1394-Busses kann jeder andere Bus wie Ethernet oder Internet verwendet werden. Anstatt des CRC-Fehlerschutz-Codes können alle anderen Fehlerschutz-Codes wie zum Beispiel Reed Solomon- oder Paritäts-Bits verwendet werden.

Claims (8)

  1. Verfahren zur Verwendung eines Speichers (RAM) in einer integrierten Schaltung, die dazu verwendet wird, einen Bus (B) mit einer Anwendungsvorrichtung (APP) zu verknüpfen, die von dem Bus gesteuert werden soll, wobei Datenpakete (1394DAT) über den Bus zu der Anwendungsvorrichtung gesendet werden, die Header-Daten (HPO, HP1), denen ein erster Fehlerschutz-Code (HCRCPO, HCRCP1) zugeordnet ist, und Nutzdaten (DATPO, DATP1), denen ein zweiter Fehlerschutz-Code (DATCRCPO, DATCRCP1) zugeordnet ist, enthalten, und wobei die Nutzdaten in dem Speicher zwischengespeichert werden sollen, dadurch gekennzeichnet, dass für ein empfangenes aktuelles Datenpaket in jedem Fall der erste Fehlerschutz-Code (HPO, HP1) während der Übertragung (on the fly) ausgewertet wird (CRCCHU), und wenn diese Auswertung anzeigt, dass die Header-Daten des aktuellen Datenpakets fehlerhaft empfangen wurden, Ausführen eines Schrittes zur Sperrung des Schreibens der Nutzdaten des aktuellen Pakets in den Speicher (RAM) und Ausführen eines Schrittes zum Überschreiben der Header-Daten (HP1) des aktuellen Datenpakets in dem Speicher (RAM) mit den Header-Daten des nächsten zu empfangenden Datenpakets.
  2. Verfahren nach Anspruch 1, bei dem der Bus ein IEEE1394-Bus ist, und die Datenpakete asynchrone oder isosynchrone Datenpakete sind.
  3. Verfahren nach Anspruch 2, bei dem im Fall von asynchronen Datenpaketen das Überschreiben in dem Speicher (RAM) von dem ersten Header-Daten-Byte ausgelöst wird.
  4. Verfahren nach Anspruch 2, bei dem im Fall von isochronen Datenpaketen und von Datengruppen in den Paketen mit vorbekannter Datenlänge, und bei dem im Fall, dass die aktuelle Datenlänge einer empfangenen Datengruppe nicht an die vorbekannte Datenlänge angepasst ist, die Header-Daten bzw. die Nutzdaten des nächsten zu empfangenden Datenpakets ebenfalls die Header-Daten bzw. die Nutzdaten des aktuellen Datenpakets in dem Speicher (RAM) überschreiben.
  5. Verfahren nach einem der Ansprüche 1 bis 4, bei dem fehlerfreie Header-Daten nicht in den Speicher (RAM) geschrieben werden, sondern vor und/oder während des Einschreibens entsprechende Nutzdaten in den Speicher ausgewertet werden.
  6. Verfahren nach einem der Ansprüche 1 bis 5, bei dem vor und/oder während des Einschreibens von Nutzdaten (DATPO, DATP1) eines aktuellen Datenpakets in den Speicher, der zweite Fehlerschutz-Code (DATCRCPO, DATCRCP1) ausgewertet wird (CRC-CHU), und bei dem die Nutzdaten des aktuellen Datenpakets als ,fehlerhaft' markiert werden, wenn dies zutrifft, und bei dem die Markierung zusammen mit den Nutzdaten in dem Speicher gespeichert wird.
  7. Bus-Schnittstelle zum Verknüpfen eines Busses (B) mit einer Anwendungsvorrichtung (APP), die von dem Bus gesteuert werden soll, wobei Datenpakete (1394DAT) über den Bus zu der Anwendungsvorrichtung gesendet werden, die Header-Daten (HPO, HP1), denen ein erster Fehlerschutz-Code (HCRCPO, HCRCP1) zugeordnet ist, und Nutzdaten (DATPO, DATP1), denen ein zweiter Fehlerschutz-Code (DATCRPCO, DATCRPC1) zugeordnet ist, enthalten, wobei ein Speicher (RAM) in einer integrierten Schaltung vorgesehen ist, in dem die Nutzdaten zwischengespeichert werden sollen, gekennzeichnet durch: – Auswertungsmittel (CRC-CHU), die in jedem Fall den ersten Fehlerschutz-Code (HPO, HP1) eines empfangenen aktuellen Datenpakets während der Übertragung (on the fly) auswerten, – Speicheradressen-Erzeugungsmittel (MADGU), die den Speicher (RAM) so steuern, dass das Einschreiben der Nutzdaten des aktuellen Datenpakets in den Speicher gesperrt wird, wenn das Auswertungsergebnis in den Auswertungsmitteln (CRC-CHU) anzeigt, dass die Header-Daten des aktuellen Datenpakets fehlerhaft empfangen worden sind, und wobei die Speicheradressen-Erzeugungsmittel (MADGU) dafür ausgelegt sind, den Speicher (RAM) so zu steuern, dass die Header-Daten des nächsten zu empfangenden Datenpakets die Header-Daten des aktuellen Datenpakets überschreiben, wenn das Auswertungsergebnis in den Auswertungsmitteln (CRC-CHU) anzeigen, dass die Header-Daten des aktuellen Datenpakets fehlerhaft empfangen worden sind.
  8. Bus-Schnittstelle nach Anspruch 7, bei der der Bus (B) ein IEEE1394-Bus ist und die Datenpakete asynchrone oder isochrone Datenpakete sind.
DE60036317T 1999-03-06 2000-02-21 Verfahren und Busschnittstelle zur Verbindung eines Buses mit einer Anwendungsvorrichtung Expired - Lifetime DE60036317T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP99250067A EP1035682A1 (de) 1999-03-06 1999-03-06 Verfahren und Busschnittstelle mit einem Speicher in einem integrierten Schaltkreis zur Verbindung eines Datenbuses mit einer Auftragsvorrichtung
EP99250067 1999-03-06

Publications (2)

Publication Number Publication Date
DE60036317D1 DE60036317D1 (de) 2007-10-25
DE60036317T2 true DE60036317T2 (de) 2008-01-10

Family

ID=8241142

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60036317T Expired - Lifetime DE60036317T2 (de) 1999-03-06 2000-02-21 Verfahren und Busschnittstelle zur Verbindung eines Buses mit einer Anwendungsvorrichtung

Country Status (6)

Country Link
US (1) US6618832B1 (de)
EP (1) EP1035682A1 (de)
JP (1) JP4504497B2 (de)
CN (1) CN1127235C (de)
AT (1) ATE373356T1 (de)
DE (1) DE60036317T2 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100667738B1 (ko) 2000-03-29 2007-01-11 삼성전자주식회사 무선 패킷 송수신 장치 및 그 방법
US6684363B1 (en) 2000-10-25 2004-01-27 Sun Microsystems, Inc. Method for detecting errors on parallel links
US6931581B1 (en) 2000-10-25 2005-08-16 Sun Microsystems, Inc. Method for superimposing a sequence number in an error detection code in a data network
US6735649B2 (en) * 2001-05-03 2004-05-11 Advanced Micro Devices, Inc. Multiple buffers for removing unwanted header information from received data packets
CN100378465C (zh) * 2001-10-05 2008-04-02 松下电器产业株式会社 Lsi检查方法及装置、lsi检测器
EP1331775A1 (de) * 2002-01-25 2003-07-30 Deutsche Thomson-Brandt Gmbh Schaltung der physikalischen Schicht und Schnittstellensschaltung
JP3775318B2 (ja) 2002-03-20 2006-05-17 セイコーエプソン株式会社 データ転送制御装置及び電子機器
DE10353974A1 (de) * 2003-11-19 2005-06-30 Siemens Ag Verfahren zur Übertragung von digitalen Informationspaketen in einem Datennetz
US7555206B2 (en) * 2004-05-07 2009-06-30 Hong-Chi Chen Apparatus for retrieving data from detachable optical driver
EP1869845A1 (de) * 2005-04-07 2007-12-26 Koninklijke Philips Electronics N.V. Netzwerk-on-chip-umgebung und verfahren zur latenzreduktion
EP1773043A1 (de) * 2005-10-06 2007-04-11 Dibcom Verfahren und System zur Speicherung von Datenpaketen
EP1835728A1 (de) * 2006-03-15 2007-09-19 Dibcom Verfahren zur Datenübertragung und Datenwiederherstellung
EP2015587B1 (de) * 2007-05-14 2012-01-25 Apple Inc. Speicherverfahren eines Multimediaobjekts, Datenstruktur und entsprechendes Endgerät
CN101807967B (zh) * 2009-02-13 2015-07-08 瑞昱半导体股份有限公司 用于物理层的远程控制方法及其相关物理层装置
CN104486036B (zh) * 2014-12-09 2018-10-26 中国航空工业集团公司第六三一研究所 一种满足1394协议要求消息容错处理电路及方法
TWI658364B (zh) 2018-03-20 2019-05-01 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
TWI698750B (zh) * 2018-03-20 2020-07-11 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3428098B2 (ja) * 1993-11-26 2003-07-22 富士電機株式会社 ネットワークにおけるデータ転送方法
US5548598A (en) * 1994-03-28 1996-08-20 Motorola In a data communications systems a method of forward error correction
JPH09294238A (ja) * 1996-04-24 1997-11-11 Sony Corp 画像取り込み装置、画像取り込み方法、画像取り込みシステム、画像表示処理装置、及び記録媒体
EP0804033A3 (de) * 1996-04-26 2003-12-10 Texas Instruments Incorporated Verbesserungen an oder in Bezug auf elektronischen Bauelementen
JP3165050B2 (ja) * 1996-12-24 2001-05-14 九州日本電気通信システム株式会社 パケットエラー検出方式
US5991912A (en) * 1997-05-15 1999-11-23 Next Level Communications Digital video transport error handling in cell based communications systems
US6263466B1 (en) * 1998-03-05 2001-07-17 Teledesic Llc System and method of separately coding the header and payload of a data packet for use in satellite data communication
AU756985B2 (en) * 1998-05-27 2003-01-30 Ntt Mobile Communications Network, Inc. Error protecting method and error protective device

Also Published As

Publication number Publication date
ATE373356T1 (de) 2007-09-15
CN1266316A (zh) 2000-09-13
US6618832B1 (en) 2003-09-09
DE60036317D1 (de) 2007-10-25
JP2000312237A (ja) 2000-11-07
EP1035682A1 (de) 2000-09-13
JP4504497B2 (ja) 2010-07-14
CN1127235C (zh) 2003-11-05

Similar Documents

Publication Publication Date Title
DE69920782T2 (de) Verfahren unf Vorrichtung zur bidirektionalen Datenübertragung zwischen einem IEEE1394 Bus und einem Gerät
DE60036317T2 (de) Verfahren und Busschnittstelle zur Verbindung eines Buses mit einer Anwendungsvorrichtung
DE60017496T2 (de) Adressenabbildung
DE60038264T2 (de) Verfahren zur Vorverarbeitung von Datenpaketen in einer Busschnittstelle
DE69628092T2 (de) Rückquittierungsnachricht für ein Kommunikationssystem
DE69933811T2 (de) Digitaler Multimediaempfänger und einen solchen Empfänger umfassendes Netzwerk mit IEEE 1394 serial Bus Schnittstelle
DE69630084T2 (de) Anlage und Verfahren zur Paketierung und Segmentierung von MPEG-Paketen
DE3853347T2 (de) Rundsendeübertragungssystem über ein Busnetzwerk.
DE69533951T2 (de) Protokoll für asynchrone Zeitvielfachvermittlung
DE69703732T2 (de) Asynchrones datenübertragungsgerät zur verwaltung asynchroner datenübertragungen zwischen einem anwendungsprogramm und einer busstruktur
DE69532633T2 (de) Signalisierungsverfahren und zur ausserbandübertragung von informationen in einem kommunikationsnetz geeignete struktur
DE60106542T2 (de) Netzfehleranzeigevorrichtung und Fehlerdetektionsanzeigeverfahren
WO2000023906A1 (en) System for dynamically binding subobjects into objects to represent devices within ieee 1394 serial bus network
DE69935940T2 (de) Zielknoten, Datenkommunikationssystem, Kontrollverfahren eines Zielknotens und Verfahren zum Betreiben eines Datenkommunikationssystems
WO2002049283A1 (de) Verfahren zur überprüfung eines netzwerkes und netzwerk hierzu
DE60118450T2 (de) Kommunikationsverfahren und Kommunikationsgerät
EP1240717B1 (de) Verfahren und system zur steuerung und zum austausch von daten für multimediale geräte sowie dafür geeignetes gerät
DE60035233T2 (de) Kommunikationssystem und Verfahren in Audio- und Musikdatenübertragung
DE69733617T2 (de) Protokoll verarbeitungsgerät für datenstromverarbeitung
DE60001363T2 (de) Verfahren zur kompilierung von buspaketen für isochronen datenübertragung über einen datenbus, und vorrichtung zur durchführung des verfahrens
WO2023170319A1 (de) Betreiben eines universellen datentransportsystems
DE60021355T2 (de) Verfahren und vorrichtung zur übertragung von daten über einen bus zu oder von einem gerät das von diesem bus gesteuert werden soll
DE60109558T2 (de) Verfahren und Vorrichtung zum verwalten eines Kommunikationsnetzes
DE60114952T2 (de) Informationssteuerungsverfahren, Informationsverarbeitungsvorrichtung, und Informationssteuerungssystem
EP1037424B1 (de) Verfahren und Busschnittstelle zur Verbindung eines Buses mit einer Anwendungsvorrichtung

Legal Events

Date Code Title Description
8320 Willingness to grant licences declared (paragraph 23)
8364 No opposition during term of opposition