-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren und auf eine
Vorrichtung zur bidirektionalen Datenübertragung zwischen einem IEEE
1394 Bus und einer von dem Bus zu steuernden Vorrichtung.
-
Hintergrund
-
Der
IEEE 1394 Bus ist ein preiswerter serieller Hochleistungs-Bus. Er
hat eine Lese/Schreib-Speicher-Architektur
und ein sehr ausgefeiltes Kommunikations-Protokoll. Datenraten von 100, 200 oder
400 Bit/s können
nahezu in Echtzeit übertragen
werden. Gleichzeitig können
Daten bidirektional übertragen
werden. Die ersten zehn Bits von übertragenen Adressenwerten
beziehen sich auf ein bis hinauf zu 1023 mögliche IEEE 1394 Bus-Cluster.
Die folgenden sechs Bits der übertragenen Adressenwerte
beziehen sich innerhalb eines bestimmten Clusters auf einen bis
hinauf zu 63 Knoten, denen eine Anwendung oder Vorrichtung zugeordnet ist.
Daten können
zwischen Knoten ohne Wechselwirkung mit einer Host-Steuereinheit
ausgetauscht werden. Vorrichtungen können jederzeit mit dem Netzwerk
verbunden oder von diesem getrennt werden, was ein Plug-and-Play-Verhalten
erlaubt.
-
Die
genormte Kabelverbindung für
die Knoten hat eine Länge
von 4,5 m und enthält
drei verdrillte Kabelpaare, von denen zwei Paare zur Übertragung
von Daten und Steuerinformationen dienen und das weitere Paar Spannungen
von 8 V bis 40 V führt. Es
wird eine Drei-Ebenen-Kodierung verwendet: HOCH (H), NIEDRIG (L)
und HOHE IMPEDANZ (Z). H hat Vorrang vor L, L hat Vorrang vor Z.
Der charakteristische Widerstand ist 110 'Ω.
Es gibt auch eine IEEE 1394-1995 Version der Bus-Spezifikation,
die nur zwei Paare von verdrillten Kabeln enthält, in denen keine Stromversorgungsspannung vorhanden ist.
Das Kommunikations-Protokoll hat drei Schichten: Bitübertragungsschicht
(physical layer), Datensicherungsschicht flink layer) und Transaktionsschicht. Üblicherweise
wird die Transaktionsschicht mit Firmware realisiert, während die
anderen Schichten als Chip-Sätze
ausgeführt
werden.
-
Die
Bitübertragungsschicht
enthält
analoge Transceiver und eine digitale Zustandsmaschine. Sie handhabt
Bus-Auto-Konfiguration
und automatische Steckverbindungen. Sie taktet neu, regeneriert
und wiederholt alle Pakete und führt
alle Pakete der lokalen Datensicherungsschicht zu. Sie führt Paket-Rahmenbildung,
z.B. Geschsindigkeits-Code, Prefix und Paket-End-Zusammenfügung aus.
Sie vermittelt und überträgt Pakete
von der lokalen Datensicherungsschicht. Verfügbare IC-Typen sind zum Beispiel TSB11C01,
TSB11LV01, TSB21LV03 und TSB41LV03 von Texas Instruments, MB86611
von Fujitsu und 215750 von IBM.
-
Die
Datensicherungsschicht führt
die ganze digitale Logik aus. Sie erkennt Pakete, die an den Knoten
adressiert sind durch Adressenerkennung 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-Datenverwendung oder asynchron für Steuerdatenverwendung.
-
In
der isochronen Betriebsart wird ein Kanal mit garantierter Bandbreite
errichtet. Es gibt eine definierte Latenz. Die Übertragung wird in 125 μs Zeitschlitzen
oder Zyklen durchgeführt.
Header und Datenblöcke
eines Pakets haben getrennte CRCs (zyklische Redundanzprüfungen).
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 Bestätigungs-Service
mit einem Besetzt- und Wiederholungs-Protokoll. Es werden feste
Adressen verwendet. Die Übertragung
findet statt, wenn der Bus frei ist. Die asynchrone Betriebsart
handhabt Lese-Anforderung/Ansprechen,
Schreib-Anforderung/Ansprechen und Verriegelungs-Anforderung/An-sprechen.
Sie führt Zyklus-Steuerung, CRC-Erzeugung
und Überprüfung durch.
Verfügbare
IC-Typen für
eine Datensicherungsschicht sind zum Beispiel TSB12C01A, TSB12LV21,
TSB12LV31 und TSB12LV41 von Texas Instruments und PDI1394L11 von
Philips.
-
Die
Transaktionsschicht führt
asynchrone Bus-Transaktionen
durch:
Lese-Anforderung/Lese-Ansprechen
Schreib-Anforderung/Schreib-Ansprechen
Verriegelungs-Anforderung/Verriegelungs-Ansprechen
-
Wie
oben erwähnt,
kann sie mit Software in einer Mikrosteuereinheit ausgeführt werden,
wie zum Beispiel dem i960 von SparcLite.
-
Es
kann auch eine AV-(audio video)-Schicht geben, die die Steuerung
der Vorrichtung, das Verbindungs-Management, das Zeitstempeln und
die Paketisierung ausführt.
-
Eine
Schnittstelle zwischen einer Anwendung und einem IEEE 1394 Norm-Bus-Aufbau
ist aus dem Dokument WO-A-97/28504
bekannt.
-
Erfindung
-
Der
Datensicherungsschicht-IC enthält üblicherweise
einen FIFO-(Erst-Ein-Erst-Aus)-Speicher mit einer Kapazität von zum
Beispiel 32 k oder 34 k Bits und weitere Puffer und passt die von
der Anwendung kommenden Daten an die Erfordernisse der IEEE 1394
Bus-Spezifikation an. Daher enthält
der Datensicherungsschicht-Chip eine Menge Schaltungstechnik und
ist der teuerste Teil einer vollständigen IEEE 1394 Schnittstelle.
Aufgrund dieser Kostengründe
sind die meisten ICs auf dem Markt nicht bidirektional, obwohl die
IEEE 1394 Bus-Spezifikation dieses Merkmal unterstützt. Ein-
und ausgehende Datenpakete werden in dem FIFO gespeichert.
-
Es
trifft zu, dass einige Datensicherungsschicht-ICs bidirektional
sind, aber für
eine Menge von Anwendungen, z.B. Video-Daten-Operation, ist die
Speichergröße solcher
bidirektionalen Norm-Datensicherungsschicht-ICs nur ausreichend,
um zu irgendeiner Zeit isochrone Daten entweder zu senden oder zu
empfangen. In der Praxis können
solche ICs daher nur in einer Richtung verwendet werden, d.h. eine
bidirektionale Datenübertragung
in Echtzeit ist nicht möglich.
Ein größerer Speicher
wurde für
solche Norm-Datensicherungsschicht-ICs
nicht gewählt,
da keine Notwendigkeit für
eine bidirektionale Datenübertragung
in Echtzeit gesehen wurde, die die zusätzlichen Kosten rechtfertigen
würde.
-
Die
aktuelle Lösung
dieses Problems besteht darin, dass derselben Anwendung zwei getrennte
IEEE 1394 Bus-Knoten
zugeordnet werden, die beiden Knoten zwei Bitübertragungsschicht-ICs, zwei
Datensicherungsschicht-ICs, zwei Mikro-Steuereinheiten und eine
zusätzliche
Kabelverbindung enthalten, d.h. eine ziemlich komplizierte und teure Lö sung. Die
physikalische Trennung der beiden Knoten kommt zu der Netzwerk-Latenz
hinzu und erfordert einen zusätzlichen
Kabel-Hop. Da in der IEEE 1394 Bus-Spezifikation nur 16 Kabel-Hops
erlaubt sind, kann das letztere Erfordernis bei einigen Anwendungen
einen bedeutsamen Nachteil verursachen.
-
Der
Erfindung liegt die Aufgabe zugrunde, ein Verfahren aufzuzeigen,
um breit verfügbare
und daher preiswerte unidirektionale IEEE 1394 Bus-Datensicherungsschicht-ICs
zu kombinieren, um eine bidirektionale Datenübertragungs-Funktionalität für eine IEEE 1394 Bus-Schnittstelle
zu bilden, die nur einen IEEE Bus-Knoten darstellt. Diese Aufgabe
wird durch das in Anspruch 1 oder 2 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 Vorrichtungen gelöst, die
in den Ansprüchen
5 und 6 offenbart sind.
-
Die
Erfinder haben gefunden und durch Simulationen bestätigt, dass
die Bitübertragungsschicht-Schnittstelle
zwar nicht für
diesen Zweck ausgebildet ist, dass sie aber korrekt mit bis zu drei Datensicherungsschicht-ICs
und einem Bitübertragungsschicht-IC
arbeitet, wenn der/die zusätzliche(n) Datensicherungsschicht-IC/ICs
entsprechend programmiert wird/werden.
-
Gemäß der Erfindung
arbeiten zwei oder mehr Datensicherungsschicht-ICs mit einem Bitübertragungsschicht-IC
in einem Knoten zusammen, wobei die Datensicherungsschicht-ICs mit
derselben Anwendung oder Vorrichtung verbunden sind. Vorteilhafterweise
können
alle Datensicherungsschicht-ICs, der Bitübertragungsschicht-IC und die Anwendung
von einer einzigen Mikro-Steuereinheit gesteuert werden, die zum
Beispiel Software-Steuerung und Bus-Management ausführt. Datensicherungsschicht-ICs
können
wahlweise unter Verwendung von zum Beispiel einer eindeutigen I2C-Bus-Adresse
oder einem Host-Chip-Auslöser adressiert
werden.
-
Die
Erfindung erlaubt die gleichzeitige Eingabe und Ausgabe von Datenpaketen
in Echtzeit oder die Eingabe von zwei Datenpaketen, z.B. den Empfang
eines Videosignals und eines Audiosignals, oder den Empfang von
zwei Videokanälen,
z.B. für
PIP (Bild-in-Bild)-Zwecke.
-
Im
Prinzip ist das erfindungsgemäße Verfahren
zur bidirektionalen Datenübertragung
zwischen einem IEEE 1394 Bus und einer Vorrichtung geeignet, die
durch den Bus gesteuert werden soll, wobei zur Schnittstellenverbindung
zwischen dem Bus und der Vorrichtung ein IC für eine Bitübertragungsschicht und ein
erster IC für
eine Datensicherungsschicht verwendet wird, und wobei ein zweiter
Datensicherungsschicht-IC ebenfalls in Betrieb ist, dessen eine
Seite mit dem Schnittstellen-Eingang/Ausgang des ersten Datensicherungsschicht-IC,
und dessen andere Seite mit der Vorrichtung verbunden ist, wobei
der erste Datensicherungsschicht-IC die Eingabe und Ausgabe von
Bus-bezogenen Daten ausführt und
der zweite Datensicherungsschicht-IC entweder die Eingabe oder die
Ausgabe von Bus-bezogenen Daten ausführt, oder wobei der erste Datensicherungsschicht-IC
die Eingabe von ersten Bus-bezogenen Daten und der zweite Datensicherungsschicht-IC
die Eingabe von zweiten Bus-bezogenen Daten
ausführt,
und wobei die ersten und zweiten Bus-bezogenen Daten zu verschiedenen
Datenströmen
gehören,
insbesondere zu zwei Videodatenströmen oder einem Video- und einem Audio-Datenstrom.
-
Vorteilhafte
zusätzliche
Ausführungsformen des
erfindungsgemäßen Verfahrens
sind in den entsprechenden Unteransprüchen offenbart.
-
Im
Prinzip ist die erfindungsgemäße Vorrichtung
zur bidirektionalen Datenübertragung
zwischen einem IEEE 1394 Bus und einer Vorrichtung geeignet, die
durch den Bus gesteuert werden soll und umfasst: einen IC für eine Bitübertragungsschicht
und einen ersten IC für
eine Datensicherungsschicht zur Schnittstellen-Verbindung zwischen
dem Bus und der Vorrichtung; einen zweiten Datensicherungsschicht-IC, dessen eine Seite
mit dem Schnittstellen-Eingang/Ausgang
des ersten Datensicherungsschicht-IC, und dessen andere Seite mit
der Vorrichtung verbunden ist, wobei der erste Datensicherungsschicht-IC
die Eingabe und Ausgabe von Bus-bezogenen Daten ausführt und
der zweite Datensicherungsschicht-IC entweder die Eingabe oder Ausgabe
von Bus-bezogenen Daten ausführt,
oder wobei der erste Datensicherungsschicht-IC die Eingabe von ersten
Bus-bezogenen Daten
und der zweite Datensicherungsschicht-IC die Eingabe von zweiten
Bus-bezogenen Daten ausführt,
und wobei die ersten und zweiten Bus-bezogenen Daten zu verschiedenen
Datenströmen
gehören,
insbesondere zu zwei Video-Datenströmen oder einem Video- und einem
Audio-Datenstrom.
-
Vorteilhafte
zusätzliche
Ausführungsformen der
erfindungsgemäßen Vorrichtung
sind in dem entsprechenden Unteranspruch offenbart.
-
Zeichnungen
-
Ausführungsformen
der Erfindung werden unter Bezugnahme der beigefügten Zeichnungen beschrieben,
wobei die Zeichnungen darstellen:
-
1 einen
bekannten IEEE 1394 Doppelknoten für bidirektionale Echtzeit-Video-Anwendungen;
-
2 einen
IEEE 1394 Knoten für
bidirektionale Echtzeit-Video-Anwendungen gemäß der Erfindung;
-
3 den
IEEE 1394 Knoten von 2 in größeren Einzelheiten einschließlich einer
kapazitiven Isolationssperre;
-
4 mit
dem IEEE 1394 verbundene Set-Top-Box,
VCR und DVD-Spieler;
-
5 einen
IEEE 1394 Knoten für
bidirektionale Echtzeit-Video-Anwendungen gemäß einer weiteren Ausführungsform
der Erfindung.
-
Ausführungsformen
-
In 1 ist
ein erster Bitübertragungsschicht-IC
PLI1 über
eine IEEE 1394 Bus-Kabelverbindung mit einem zweiten Bitübertragungsschicht-IC
PLI2 verbunden, der selbst auch mit dem weiteren IEEE 1394 Bus-Kabel
B verbunden ist. PLI1 ist an der anderen Seite einem ersten Datensicherungsschicht-IC
LLI1 für
den Dateneingang zugeordnet, und PLI2 ist einem zweiten Datensicherungsschicht-IC
LLI2 für
den Datenausgang zugeordnet. LLI1 und LLI2 sind beide derselben
Anwendungsvorrichtung APP zugeordnet. LLI1 und PLI1 über LLI1 werden
durch eine erste Mikro-Steuereinheit μP1 gesteuert. LLI2 und PLI2 über LLI2
werden durch eine zweite Mikro-Steuereinheit μP2 gesteuert. Die Anwendungsvorrichtung
APP kann durch μP1
und μP2 oder
durch einen von ihnen gesteuert werden. In beiden Fällen können μP1 und μP2 miteinander
zusammenwirken (nicht dargestellt).
-
In 2 ist
ein einziger Bitübertragungsschicht-IC
PLI mit dem IEEE 1394 Bus-Kabel B verbunden. PLI ist mit der anderen
Seite einem ersten Datensicherungsschicht-IC LLI1 zum Beispiel für Dateneingabe
und einem zweiten Datensicherungsschicht-IC LLI2 für die Datenausgabe
und zum Beispiel zusätzliche
Dateneingabe zugeordnet. LLI1 und LLI2 sind beide derselben Anwendungsvorrichtung APP
zugeordnet. Vorteilhafterweise können
LLI1, LLI2, PLI über
LLI1 oder LLI2 und APP alle durch eine einzige Mikro-Steuereinheit μP gesteuert
werden.
-
Eine
genauere Konfiguration, bei der die erfindungsgemäße bidirektionale
Betriebsart verwendet werden kann, würde wie in 3 sein,
wobei der erste Datensicherungsschicht-IC LLI1 sowohl die Eingangs-
als auch die Ausgangs-Betriebsarten
unterstützt
und der zweite Datensicherungsschicht-IC LLI2 nur den Eingang (von
dem IEEE 1394 Bus) unterstützt.
Dies würde
die einfachste Art von Konfiguration für ein bidirektionales Verhalten
mit mehreren Datensicherungsschicht-ICs und einem Bitübertragungsschicht-IC
PLI sein. 3 zeigt die Hauptschaltung in
PLI und LLI1/LLI2 für
den Datenaustausch. Vorteilhafterweise können die Komponenten hinter
den gestrichelten Linien in LLI2 weggelassen oder nicht benutzt
werden.
-
Mit
der Installation wie in 3 würde nur LLI1 in der Lage sein,
der Zyklus-Master in dem Bus zu sein. Dies bedeutet, dass Zyklus-Startpakete
direkt von LLI1 zu LLI2 über
die Schnittstelle Eingang/Ausgang IFIO und die Pad-zu-pad-Verbindung PTPC
gesendet würde.
Eine Vereinfachung für
LLI2 würde
sein, dass der genormte IEEE 1394 Verknüpfungs-Anforderungsstift LREQ (nicht dargestellt)
zur Anforderung von dem Bus für
die Übertragung
nicht benötigt
würde,
da dieser IC nur Eingabe ist.
-
Wie
oben erwähnt
wurde, haben Simulationen gezeigt, dass das kapazitive Isolations-Sperrenmerkmal
des IEEE 1394 korrekt mit bis zu drei Datensicherungsschicht-ICs
und einem Bitübertragungsschicht-IC
arbeitet. Diese Isolationssperre wird in Einzelheiten in US-A-5,384,808
beschrieben und verwendet die folgenden Komponentenwerte: zwischen
der physikalischen Stromversorgung PPO und der physikalischen Masse
PGND ist eine Kette von zwei 5k 'Ω-Widerständen R6
und R7 angeordnet. Zwischen der Stromversorgung LPO und Masse LGNDa
ist eine Kette von zwei 5k 'Ω-Widerständen R1
und R2 angeordnet. PLI ist mit der Verbindung von R6/R7 verbunden,
und LLI1/LLI2 sind mit der Verbindung von R1/R2 verbunden. Zwischen
der Verbindung von R1/R2 und der Verbindung von R6/R7 ist eine Kette
von C1/1nF, R3/100 'Ω, R5/100 'Ω und C2/1nF eingefügt. Mit
der Verbindung R3/R5 ist ein Widerstand R4/300 'Ω mit
Masse PGND verbunden. Andere Versionen dieser PLI/LLI-Verbindungsschaltung
sind möglich.
-
In
dieser Isolationssperre tritt keine nennenswerte Verschlechterung
der logischen Pegel mit der kapazitiven Last von ein oder zwei besonderen
Datensicherungsschicht-ICs
in den Pads von Link A auf.
-
Eine
zusätzliche
Adressierung von jedem Datensicherungsschicht-IC kann durch eine
kleine Hinzufügung
zu der Ausführung
eines Norm-Datensicherungsschicht-IC
erzielt werden. Ein besonderes werden. Ein besonderes Kanalnummern-Register und
ein Komparator sind für
jeden zusätzlich
verwendeten Datensicherungsschicht-IC erforderlich, so dass Datenströme an einen
besonderen Datensicherungsschicht-IC adressiert werden können. Es
können
auch andere Konfigurationen verwendet werden, z.B. zwei Datensicherungsschicht-ICs
und ein Bitübertragungsschicht-IC,
wobei beide Datensicherungsschicht-ICs Eingabe- und Ausgabe-Funktionalität haben.
-
Die
Erfindung kann zum Beispiel für
eine Anwendung verwendet werden, die in 4 dargestellt ist:
eine Set-Top-Box
STB mit einer Empfangseinheit RU, einem MPEG-Dekodierer MDEC und einer IEEE 1394
Schnittstelle 13945 empfängt
ein digitales Fernsehprogramm über
Satellit oder Kabel. Das Ausgangssignal der Empfangseinheit wird über den IEEE
1394 Bus zwecks Aufzeichnung auf einen Videorecorder VCRR übertragen,
wobei auch eine IEEE 1394 Schnittstelle 1394V einbezogen ist. Gleichzeitig spielt
ein DVD-Spieler eine DVD-Platte ab, und die DVD-Daten werden auch über eine
IEEE 1394 Bus-Schnittstelle 1394D zu der IEEE 1394 Bus-Schnittstelle 1394
der Set-Top-Box übertragen, um
durch den MPEG-Dekodierer MDEC dekodiert und auf dem Schirm eines
Fernsehempfängers
TV angezeigt zu werden. Der Fernsehempfänger kann noch eine analoge
Signalverbindung zu der Set-Top-Box
haben, jedoch kann er auch mit STB durch eine IEEE 1394 Bus-Schnittstelle
verbunden sein. Somit benötigt
der Set-Top-Box IEEE 1394 Bus-Knoten 13945 eine bidirektionale Funktionalität.
-
Die
weitere Ausführungsform
von 5 zeigt die Verbindung eines einzigen Bitübertragungsschicht-IC
PLI mit einem leicht modifizierten ersten Datensicherungsschicht-IC
LLI1 für
die Datenausgabe und zum Beispiel zusätzliche Da teneingabe, und zu
einem entsprechend modifizierten zweiten Datensicherungsschicht-IC
LLI2 für
die Dateneingabe, d.h. Empfangsbetrieb. LLI1 und LLI2 enthalten
jeweils fünf
Register REG1 bis REG5 und einen Multiplexer oder Schalter MUX,
der durch ein Signal SW gesteuert wird, das bestimmt, ob der spezifische
IC in der Datenempfangs-Betriebsart arbeitet.
-
LLI1
und LLI2 haben einen zusätzlichen Steuersignal-Eingang CTLIN und
zwei zusätzliche Ausgänge DOUT
für Daten
und CTLOUT für
das Steuersignal. Das Bus-Steuersignal CTL verläuft durch Register REG2 und
REG4 und den Ausgang CTLOUT von LLI1 zu CTLIN von LLI2. Dann verläuft es durch
REG5 und MUX und ist anschließend
in LLI2 als internes Steuersignal CTL_INT verfügbar. Von dem Ausgang von REG2
von LLI1 wird es auch dem MUX zugeführt und ist danach innerhalb
LLI1 als internes Steuersignal CTL_INT verfügbar.
-
Das
Bus-Datensignal D verläuft über einen Eingang
DIN durch Register REG1 und REG3 und den Ausgang DOUT von LLI1 zu
DIN von LLI2. Am Ausgang von REG1 von LLI1 und LLI2 ist das interne Bus-Datensignal
D_INT innerhalb LLI1 und innerhalb LLI2 verfügbar.
-
Das
Bus-Link-Anforderungssignal LREQ kommt nur von LLI1. Der Bus-Takt
SCLK wird sowohl auf LLI1 als auch LLI2 verteilt. D, CTL, LREQ und SCLK
können
zwischen PLI und LLI1 über
eine Isolationsschaltung IS übertragen
werden.
-
LLI1
und LLI2 sind beide derselben Anwendungsvorrichtung zugeordnet.