-
HINTERGRUND
DER ERFINDUNG Gebiet der Erfindung
-
Die
Erfindung betrifft ein Datenübertragungsverfahren,
das bidirektionale Datenübertragung
erlaubt.
-
Beschreibung
des Stands der Technik
-
Der
Standard IEEE 1394-1995 (nachfolgend mit "IEEE 1394" abgekürzt), der ein Standard für einen seriellen
Hochgeschwindigkeitsbus ist, wurde formuliert, um eine Hochgeschwindigkeitsübertragung
einer großen
Datenmenge, wie von Bildern, zwischen Informationsverarbeitungsvorrichtungen
wie Computern und Digitalkameras zu erlauben. Gemäß IEEE 1394
wird bidirektionale Datenübertragung über vier
elektrische Signalleitungen (zwei verdrillte Leitungspaare) erzielt.
-
Gemäß IEEE 1394
sendet, während
eines Datenübertragungsvorgangs,
nur diejenige Vorrichtung, die das Recht zum Senden erhalten hat,
Daten gemeinsam mit einem Strobesignal, das von einer Empfangsvorrichtung
dazu verwendet wird, ein Taktsignal zu reproduzieren. Um einen Konflikt über das
Senderecht für
Daten zwischen zwei Vorrichtungen zu schlichten, betreiben diese
beiden auf dem verdrillten Leitungspaar jeweils gleichzeitig ein
Prioritätszuteilungssignal,
und sie prüfen
durch Vergleichen des Potenzialzustands des Prioritätszuteilungssignals,
das sie selbst erregt haben, mit demjenigen des Signals, das aktuell
auf dem verdrillten Leitungspaar erschienen ist, welches Prioritätszuteilungssignal
die in Konflikt stehende Vorrichtung erregt hat.
-
Andererseits
wird gemäß dem Standard
p1394b, der als Erweiterungsversion zum Standard IEEE 1394 in Vorbereitung
war, eine mit IEEE 1394 übereinstimmende
Datenübertragung
zwischen zwei optischen Fasern ausgeführt. Auf optischen Fasern können Daten
und ein Strobesignal nicht auf die oben beschrie bene Weise übertragen
werden, und daher ist es möglich,
dass es der Empfangsvorrichtung, abhängig von der übertragenen
Bitsequenz, nicht gelingt, ein Taktsignal zu reproduzieren. Um dies
zu vermeiden, werden Daten übertragen,
nachdem sie eine Codierung erfahren haben, bei der Taktsignalinformation
den Daten selbst überlagert
wird. Gemäß p1394b
wird ein als 8B10B bezeichnetes Codierverfahren verwendet. Darüber hinaus
ist es unmöglich,
auf optischen Fasern eine Prioritätszuteilung dadurch auszuführen, dass
gleichzeitig Signale erregt werden, wie dies gemäß IEEE 1394 ausgeführt wird.
Statt dessen werden Steuercodes solche zugeordnet, die nach der
Codierung von Daten durch das oben genannte Codierverfahren nicht
erscheinen, und eine Prioritätszuteilung
wird durch bidirektionalen Austausch von Steuercodes erzielt.
-
Darüber hinaus
werden gemäß p1394b
Signale (nachfolgend als "Tonsignale" bezeichnet), die
von denen verschieden sind, die bei der Datenübertragung verwendet werden,
ausgetauscht, um eine Verbindung mit einer entfernten Vorrichtung
zu erkennen, um Parameter wie die Datenübertragungsgeschwindigkeit
einzustellen, und um so für
eine Verbindung zwischen einer lokalen und einer entfernten Vorrichtung
zu sorgen (Verbindungserstellungsschritt). Nach dem Erstellen einer
Verbindung zwischen der lokalen und der entfernten Vorrichtung wird
die Datenübertragung
gestartet (Übertragungsausführungsschritt).
Genauer gesagt, werden als Erstes vorbestimmte Codes mit der entfernten
Vorrichtung ausgetauscht, um für
Zeichensynchronisierung zu sorgen (Synchronisiererstellschritt),
und danach wird die normale Datenübertragung unter Verwendung
von Steuercodes und Datencodes ausgeführt (normaler Übertragungsschritt).
-
Darüber hinaus
erzeugt, gemäß p1394b,
jede Vorrichtung ein binäres
Signal (nachfolgend als "SD-Signal" bezeichnet), das
aktiv gehalten wird, während
die Vorrichtung ein Signal empfängt.
Wenn die Verbindung verloren geht (genauer gesagt, wenn die entfernte
Vorrichtung körperlich
abgetrennt wird, oder wenn sie nicht mehr senden kann, da sie z.B.
abgeschaltet wurde), wird kein Signal von der entfernten Vorrichtung
empfangen, und so wird das SD-Signal
nicht-aktiv. Demgemäß kann der
Verlust der Verbindung auf Grundlage des SD-Signals leicht erkannt
werden. Wenn eine Vorrichtung einen Verbindungsverlust erkennt,
kehrt sie zum Schritt des Errichtens einer Verbindung unter Verwendung
von Tonsignalen zurück.
-
Gemäß p1394b
wird, wie es später
beschrieben wird, jeder Knoten dauerhaft so betrieben, dass er dauernd
irgendein Signal sendet. Das SD-Signal wird z.B. dadurch erzeugt,
dass ein Kondensator mit einem empfangenen Signal geladen und entladen
wird. Während
das SD-Signal zwischen seinem aktiven und seinem nicht-aktiven Zustand
während
des Empfangs von Tonsignalen schwingt, verbleibt es während des
Empfangs von Datensignalen aktiv. Demgemäß kann eine empfangende Vorrichtung
leicht erkennen, dass eine sendende Vorrichtung einen Datenübertragungsvorgang
gestartet hat.
-
Darüber hinaus
erkennt die lokale Vorrichtung, gemäß p1394b, wenn sie während einer
normalen Datenübertragung
einen Code empfängt,
den die entfernte Vorrichtung nicht senden kann (nachfolgend wird
ein derartiger Code als "illegaler
Code" bezeichnet),
dass ein Übertragungsfehler
aufgetreten ist, und sie kehrt zum Schritt des Errichtens von Zeichensynchronisation
zurück.
-
Wie
oben beschrieben, handhabt p1394b optische, bidirektionale Datenübertragung
unter Verwendung zweier optischer Fasern. Zur Kostensenkung und
Raumeinsparung laufen auch Anstrengungen, eine Datenübertragung
gemäß IEEE 1394 über eine
einzelne optische Faser zu realisieren.
-
Bei
einer Datenübertragung
gemäß IEEE 1394
können
identische Steuercodes wiederholt übertragen werden. Demgemäß kann,
solange für
Zeichensynchronisierung gesorgt ist, selbst dann, wenn z.B. ein
Zeichen in einer derartigen Reihe inkorrekt empfangen wird, die
Datenübertragung
häufig
ohne jedes Problem fortgesetzt werden.
-
Wenn
jedoch bidirektionale Datenübertragung über eine
einzelne optische Faser ausgeführt
wird, ist die Fehlerrate in empfangenen Daten höher als dann, wenn zwei optische
Fasern verwendet werden. Aus diesem Grund führt die Erfassung von Übertragungsfehlern
durch Erfassen von illegalen Codes, wie bei p1394b ausgeführt, zu überflüssig vielen
Unterbrechungen bei der Datenübertragung,
und dies führt
demgemäß zu einer
geringen Datenübertragungseffizienz.
-
Darüber hinaus
können
bei bidirektionaler Datenübertragung
unter Verwendung einer einzelnen optischen Faser eine Lichtemissionseinheit
und eine Lichterfassungseinheit nicht optisch getrennt werden. Daher empfängt die
Lichterfassungseinheit der lokalen Vorrichtung nicht nur das von
der Lichtemissionseinheit der entfernten Vorrichtung emittierte
Licht (nachfolgend wird dieses Licht als "Licht der entfernten Vorrichtung" bezeichnet), sondern
auch das von ihrer eigenen Lichtemissionseinheit zur entfernten
Vorrichtung emittierte Licht, das jedoch durch den Lichtausbreitungspfad
oder derglei chen zurückreflektiert
wird (nachfolgend wird dieses Licht als "Streulicht" bezeichnet). D.h., dass das Licht,
das die Lichterfassungseinheit der lokalen Vorrichtung tatsächlich empfängt, das
Licht der entfernten Vorrichtung und das Streulicht enthält.
-
Eine
Lichterfassungseinheit verfügt über einen
Lichtsensor und sie wandelt das von diesem empfangene Licht entsprechend
der Intensität
desselben in ein binäres
elektrisches Signal. Da verschiedene Lichtausbreitungspfade verschiedene
Längen
aufweisen und da das Funktionsvermögen des Lichtsensors in gewissem
Umfang von einem individuellen Lichtsensor zu einem anderen variiert,
und da der Pegel des Lichts von der entfernten Vorrichtung von einer
individuellen Vorrichtung zu einer anderen variiert, liegt der Schwellenpegel
des oben genannten binären
elektrischen Signals nicht fest, sondern er variiert entsprechend
dem Pegel des empfangenen Lichts auf solche Weise, dass dann, wenn
der Lichtsensor dauernd intensives Licht empfängt, der Schwellenpegel höher wird,
während
er dann, wenn der Lichtsensor dauernd schwaches Licht empfängt, niedriger
wird.
-
Wie
es sich aus der obigen Beschreibung herleiten lässt, fällt der Schwellenpegel in der
Lichterfassungseinheit der entfernten Vorrichtung, wenn die lokale
Vorrichtung den Sendevorgang stoppt (d.h., wenn sie die Emission
von Licht stoppt). Um dies zu vermeiden, wird jeder Knoten andauernd
so betrieben, dass er dauernd irgendein Signal sendet. Darüber hinaus
werden derartigen Signale solche Codes zugeordnet, dass selbst dann,
wenn dauernd gesendet wird, kein Anstieg oder Abfall des Schwellenpegels
in der Lichterfassungseinheit am Knoten der entfernten Vorrichtung
auftritt.
-
Das
Streulicht zeigt einen niedrigeren Pegel als das Licht der entfernten
Vorrichtung. Demgemäß bleibt
der Schwellenpegel während
des Empfangs des Lichts der entfernten Vorrichtung höher als
der Pegel des Streulichts, und daher beeinflusst dieses den Empfang
des Lichts der entfernten Vorrichtung nicht. Wenn jedoch das Licht
der entfernten Vorrichtung fehlt (anders gesagt, wenn die Verbindung
verloren ist), wird der Schwellenpegel niedriger, bis schließlich das
Streulicht empfangen wird. Im Ergebnis tritt es manchmal auf, dass,
obwohl die Verbindung verloren ist, der Empfang des Streulichts
das SD-Signal aktiv macht. So ist es nicht immer möglich, den
Verbindungsverlust auf Grundlage alleine des SD-Signals zu erkennen,
wie dies gemäß p1394b
ausgeführt
wird.
-
Im
Fall eines Verbindungsverlusts während
normaler Datenübertragung
ist es erforderlich, zum Schritt des Errichtens einer Verbindung
unter Verwendung von Tonsignalen zurückzukehren. Andererseits ist
es im Fall eines Übertragungsfehlers,
in welchem Fall die Verbindung erhalten bleibt, erforderlich, einfach
zum Schritt des Errichtens von Synchronisation zurückzukehren.
-
Jedoch
kann bei bidirektionaler Datenübertragung
unter Verwendung einer einzelnen optischen Faser eine Bitverschiebung
oder dergleichen dazu führen,
dass Streulicht als illegaler Code empfangen wird, so dass die Möglichkeit
besteht, dass, obwohl die Verbindung verloren ist, fehlerhaft ein Übertragungsfehler
erkannt wird. Wenn eine Vorrichtung auf fehlerhafte Weise derartig
einen Übertragungsfehler
erkennt, kehrt sie zum Schritt des Errichtens von Synchronisation
zurück,
und dann kehrt sie, solange sie immer wieder das Streulicht empfängt, wiederholt
zum Schritt des Errichtens von Synchronisation zurück. Dies
macht es unmöglich,
die normale Datenübertragung
wieder aufzunehmen.
-
Um
dies zu vermeiden, ist es bei bidirektionaler Datenübertragung
unter Verwendung einer einzelnen optischen Faser erforderlich, wenn
ein Übertragungsfehler
erkannt wird, genauso wie dann, wenn ein Verbindungsverlust erkannt
wird, zum Schritt des Errichtens einer Verbindung unter Verwendung
von Tonsignalen zurückzukehren.
Jedoch benötigt
der Abschluss dieses Schritts viel mehr Zeit als der Abschluss des
Schritts des Errichtens von Synchronisation, und so erfordert es
sehr viel Zeit, eine Erholung von einem Übertragungsfehler zur normalen
Datenübertragung
zu erzielen. Bei Kommunikationsvorgängen auf Bus-Basis beeinflusst
eine Störung
in einem Teil des Busses andere zugehörige Teile, und daher ist es
wünschenswert,
dass eine Erholung von einem Übertragungsfehler
bis zur normalen Datenübertragung
so wenig Zeit wie möglich
beansprucht.
-
Weitere
Information zum Stand der Technik findet sich in "Development of the
Protocol for Optical Fiber Communications Compatible with IEEE 1394" von Nakano D. et
al., Shapu Giho/Sharp Technical Journal, Sharp Co., Nara-Ken, JP, Vol. 75,
Dezember 1999, Seiten 12–17,
XP000892718, ISSN: 0285-0362,
wobei dieses Dokument, in Zusammenhang mit IEEE 1394, Kommunikationsports
unter Verwendung optischer Kunststofffasern (POF = plastic optical
fiber) als Medium angibt. Die Ports nutzen eine einzelne POF als
Halbduplexmedium. Dieses Dokument beschreibt ein Verfahren zum Emulieren
des bidirektionalen Dominanzmodus gemäß IEEE 1394 mit einer Signalgabe
mittels eines Halbduplexmediums, ein Verfahren zum Verwalten eines Zyklustimers
an jedem Port sowie Taktsignaldaten-Erholungsschaltkreise mit einer
kurzen Synchronisierzeit (12 Bits). Das Dokument gibt an, dass durch
Vereinheitlichen dieser Technologien mit IEEE 1394 verträgliche Kommunikationsvorgänge erzielt
wurden.
-
EP 0 762 684 gibt eine Datenkommunikationstechnik
an, die eine Verringerung der Anzahl von Terminals bei einer Anlage
zum Eingeben oder Ausgeben eines digitalen Signals in Echtzeit,
wie eines digitalen Audiosignals und eines Musik/Musikinstrumentsignals
ermöglicht.
Ein erster Wandler und ein zweiter Wandler sind mit einer Funktion
zur wechselseitigen Wandlung zwischen einem Signalformat einer digitalen
Audioschnittstelle und einem Signalformat gemäß IEEE 1394 versehen. Beispielsweise
ist es möglich,
ein Signal einer digitalen Audioschnittstelle, wie es von einem
ersten CD-Spieler ausgegeben wird, an den ersten Wandler zu senden,
das Signal dort in ein Paket mit isochronem Sendeformat gemäß IEEE 1394
zu wandeln und dasselbe an den zweiten Wandler zu senden, und das
Paket an die digitale Audioschnittstelle zurückzuliefern und ein digitales
Audiosignal auf einem MD-Recorder aufzuzeichnen. Wenn ein Wandler
mit einer Funktion zur wechselseitigen Wandlung zwischen dem MIDI-Signalformat
und dem Signalformat gemäß IEEE 1394
vorhanden ist, ist es auch möglich,
bidirektionale Datenkommunikation zwischen mehreren MIDI-Musikinstrumenten auszuführen.
-
"IEEE-1394: A Standard
for the Next Millenium" von
R. Santamaria in Digital Avionics Systems Conference, 1999, Proceedings,
18th, St. Louis, MO, USA, 24.–29. Okt.
1999, Piscataway, NJ, USA, IEEE, US, 24. Oktober 1999, Seiten 1.C.2-1
bis 1.C.2-7, XP010501173, ISBN: 0-7803-5749-3, enthält eine
allgemeine Erörterung
zu IEEE 1394, insbesondere hinsichtlich flugtechnischer Anwendungen.
-
US 5,331,642 betrifft die
Verwaltung von Fehlern physikalischer FDDI-Übertragungsstrecken, und dieses
Dokument gibt, insbesondere, eine LAN-Verwaltungsmaßnahme zum Überwachen
und Verwalten von Fehlern auf den physikalischen Übertragungsstrecken,
die die Stationen eines LAN verbinden, an. Die Maßnahme beinhaltet,
teilweise, einen Enhanced Link Error Monitor (LEM). Der Enhanced
LEM ermittelt dauernd einen Schätzwert
für die Übertragungsstrecke-Fehlerrate
(LER = Link Error Rate) als Funktion der Zeit auf Grundlage von
Fehlern, wie sie sich auf den physikalischen Übertragungsstrecken zeigen.
Der Enhanced LEM wendet eine für
die Übertragungsstrecke
spezifische Charakteristikfunktion auf den LER-Schätzwert an,
um einen eingestellten LER-Schätzwert
zu ermitteln. Die für
die Übertragungsstrecke
spezifische Charakteristikfunktion berücksichtigt die speziellen Eigenschaften
der die Fehler erleidenden Übertragungsstrecke,
und sie wird dazu verwendet, das Ansprechverhalten der Station auf
diese Fehler zu ändern.
Der eingestellte LER-Schätzwert
wird mit Alarm- und Trennschwellenwerten verglichen, um die geeignete
Vorgehensweise zu ermitteln, die hinsichtlich der Übertragungsstrecke
zu ergreifen ist. Es wird angegeben, dass durch Ändern der für die Übertragungsstrecke spezifischen
Charakteristikfunktion der Enhanced LEM entweder mehr oder weniger
auf Fehler auf der Übertragungsstrecke
reagiert, um dadurch mehr oder weniger Fehler in einer größeren oder
kleineren Zeitperiode zu tolerieren.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Durch
die Erfindung ist ein Datenübertragungsverfahren
gemäß dem unabhängigen Anspruch
1 geschaffen. Bevorzugte Ausführungsformen
der Erfindung spiegeln sich in den abhängigen Ansprüchen wieder.
-
Die
beanspruchte Erfindung kann angesichts der nachfolgend beschriebenen
bevorzugten Ausführungsformen
besser verstanden werden. Allgemein gesagt, beschreiben die beschriebenen,
bevorzugten Ausführungsformen
bevorzugte Ausführungsformen
der Erfindung. Der aufmerksame Leser erkennt jedoch, dass sich einige
Gesichtspunkte der beschriebenen Ausführungsformen über den
Schutzumfang der Ansprüche
hinaus erstrecken. In dem Umfang, als sich die beschriebenen Ausführungsformen
tatsächlich über den
Schutzumfang der Ansprüche
hinaus erstrecken, sind die beschriebenen Ausführungsformen als zusätzliche
Hintergrundinformation anzusehen, und sie bilden keine Definitionen
der Erfindung als solcher. Dies gilt auch für die folgende "kurze Beschreibung
der Zeichnungen" wie
auch für
die "Beschreibung
der bevorzugten Ausführungsformen".
-
Es
ist eine Aufgabe der Erfindung, ein Datenübertragungsverfahren zu schaffen,
das die Datenübertragungseffizienz
bei einer Datenübertragung
verbessert, die unter einer relativ hohen Fehlerrate leidet und statt
dessen Fehler in gewissem Ausmaß toleriert.
-
Eine
andere Aufgabe der Erfindung ist es, ein Datenübertragungsverfahren zu schaffen,
das einen Verbindungsverlust bei bidirektionaler Datenübertragung
unter Verwendung einer einzelnen optischen Faser zuverlässiger erkennt.
-
Es
ist noch eine andere Aufgabe der Erfindung, ein Datenübertragungsverfahren
zu schaffen, das eine Erholung zur normalen Datenübertragung
ohne Aus fälle
gewährleistet
und eine Erholung von einem Übertragungsfehler
zu normaler Datenübertragung
innerhalb kürzerer
Zeit als jemals bei bidirektionaler Datenübertragung unter Verwendung
einer einzelnen optischen Faser ermöglicht.
-
Um
die obigen Aufgaben zu lösen,
werden, gemäß einer
bevorzugten Ausführungsform,
bei einem Datenübertragungsverfahren
mit einem Verbindungserrichtungsschritt mit einem Erfassen einer
Verbindung zu einer entfernten Vorrichtung und mit einem Einstellen
von Parametern zur Datenübertragung
sowie einem Übertragungsausführungsschritt
zum Starten der Datenübertragung
nach Abschluss des Verbindungserrichtungsschritts und einem Fortsetzen
der Datenübertragung
bis das Auftreten eines Übertragungsfehlers
erkannt wurde, die Häufigkeit
von Fehlern in empfangenen Daten im Übertragungsausführungsschritt überwacht,
und wenn die Häufigkeit
einen vorbestimmten Wert erreicht, wird erkannt, dass ein Übertragungsfehler auftrat.
Dieses Verfahren ermöglicht
es, die normale Datenübertragung
fortzusetzen, solange nicht illegale Codes häufig empfangen werden.
-
Gemäß einer
anderen bevorzugten Ausführungsform
werden bei einem Datenübertragungsverfahren, das
eine bidirektionale Datenübertragung
unter Verwendung einer einzelnen optischen Faser bewerkstelligt, und
das einen Verbindungserrichtungsschritt zum Erkennen einer Verbindung
mit einer entfernten Vorrichtung und zum Einstellen von Parametern
zur Datenübertragung
sowie einen Übertragungsausführungsschritt
zum Starten einer Datenübertragung
nach Abschluss des Verbindungserrichtungsschritts und zum Fortsetzen
der Datenübertragung
bis das Auftreten eines Übertragungsfehlers
erkannt wurde, verfügt,
Codes auf solche Weise zugeordnet, dass die Codes, die eine lokale
Vorrichtung senden kann, Codes enthält, die die entfernte Vorrichtung
nicht senden kann, und wobei im Verbindungserrichtungsschritt das
Auftreten eines Übertragungsfehlers
erkannt wird, wenn ein Code empfangen wird, den die entfernte Vorrichtung
nicht senden kann. Dieses Verfahren ermöglicht es, zu unterscheiden,
ob das aktuell empfangene Licht solches der entfernten Vorrichtung
oder Streulicht ist, was auf Grundlage der empfangenen Codes erfolgt.
-
Wenn
dieses Verfahren verwendet wird, ist es wesentlich, für die lokale
und die entfernte Vorrichtung vorab zu bestimmen, welche Codes sie
jeweils verwenden. Es existieren mehrere Weisen, um diese Bestimmung
zu treffen, jedoch wird in den bevorzugten Ausführungsformen keine spezielle
Weise angegeben, da sie es lediglich erforderlich machen, dass die
Bestimmung im Schritt des Errichtens einer Verbindung mit der entfernten
Vorrichtung unter Verwendung von Tonsignalen erfolgt.
-
Gemäß noch einer
anderen bevorzugten Ausführungsform
geht bei einem Datenübertragungsverfahren
mit einem Verbindungserrichtungsschritt mit einem Erfassen einer
Verbindung zu einer entfernten Vorrichtung und zum Einstellen von
Parametern zur Datenübertragung
sowie einem Übertragungsausführungsschritt des
Startens der Datenübertragung
nach Abschluss des Verbindungserrichtungsschritts und mit einem
Fortsetzen der Datenübertragung,
bis das Auftreten eines Übertragungsfehlers
erkannt wurde, wobei der Übertragungsausführungsschritt
einen Synchronisationserrichtungsschritt mit einem Errichten von
Zeichensynchronisation und einen normalen Übertragungsschritt des Ausführens einer
normalen Datenübertragung
nach Abschluss des Synchronisationserrichtungsschritts beinhaltet,
wenn im normalen Übertragungsschritt
das Auftreten eines Übertragungsfehlers
erkannt wird, die Ausführung
entweder zum Verbindungserrichtungsschritt oder zum Synchronisationserrichtungsschritt
weiter, was von der Zeit abhängt,
die nach dem Start des normalen Übertragungsschritts
verstrichen ist.
-
Gemäß diesem
Verfahren kann, wenn ein Übertragungsfehler
erkannt, die Ausführung
zum Schritt des Errichtens von Zeichensynchronisation zurückkehren.
Wenn fehlerhaft ein Übertragungsfehler
erkannt wird, obwohl die Verbindung verlorengegangen ist, tritt
selbst dann, wenn die Ausführung
zum Schritt des Errichtens von Zeichensynchronisation zurückkehrt,
nie der Fall auf, dass die Ausführung
in diesem Schritt hängen
bleibt, um nie wieder zum Schritt des Errichtens einer Verbindung
zur entfernten Vorrichtung unter Verwendung von Tonsignalen zurückzukehren.
-
Gemäß einem
eine bevorzugte Ausführungsform
realisierenden Datenübertragungsverfahren
wird die normale Datenübertragung
fortgesetzt, solange nicht in den empfangenen Daten häufig Fehler
auftreten. Dies trägt
dazu bei, unnötige
häufige
Unterbrechungen der Datenübertragung
zu verhindern, wodurch die Datenübertragungseffizienz
bei der Datenübertragung
verbessert wird, wie bei einer Datenübertragung gemäß IEEE 1394
und unter Verwendung einer einzelnen optischen Faser, die unter
einer relativ hohen Fehlerrate leidet, sondern die statt dessen
Fehler in gewissem Ausmaß toleriert.
-
Darüber hinaus
ist es möglich,
zu unterscheiden, ob das empfangene Licht solches von der entfernten Vorrichtung
oder Streulicht ist, was auf der Grundlage von Codes erfolgt. Dies
ermöglicht
es, den Verbindungsverlust zuverlässiger als jemals bei einer
bidirektionalen Datenübertragung
unter Verwendung einer einzelnen optischen Faser zu erkennen.
-
Darüber hinaus
ist es möglich,
wenn ein Übertragungsfehler
erkannt wird, entweder zum Schritt des Errichtens einer Verbindung
unter Verwendung von Tonsignalen oder zum Schritt des Errichtens
einer Zeichensynchronisation abhängig
von der Zeit, die bis zu diesem Zeitpunkt verstrichen ist, zurückzukehren.
Dies gewährleistet
auf jeden Fall eine Erholung zur normalen Datenübertragung, und zusätzlich erlaubt
es eine Erholung von einem Übertragungsfehler
zu normaler Datenübertragung
innerhalb einer kürzeren
Zeit als je zuvor.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Diese
und andere Aufgaben und Merkmale der bevorzugten Ausführungsformen
werden aus der folgenden Beschreibung in Verbindung mit den bevorzugten
Ausführungsformen
unter Bezugnahme auf die beigefügten
Zeichnungen deutlich werden.
-
1 ist
ein Flussdiagramm der Datenübertragungsprozedur
gemäß einer
ersten bevorzugten Ausführungsform;
-
2 ist
ein Flussdiagramm der Datenübertragungsprozedur
gemäß einer
zweiten bevorzugten Ausführungsform;
-
3 ist
ein zeitbezogenes Diagramm relevanter Signale, wie sie beobachtet
werden, wenn die entfernte Vorrichtung das Senden eines Signals
einstellt;
-
4 ist
ein Flussdiagramm der Datenübertragungsprozedur
einer dritten bevorzugten Ausführungsform;
-
5 ist
ein Diagramm zum Veranschaulichen der Beziehung zwischen der Zeitzone,
in der ein Übertragungsfehler
erkannt wird, und dem Schritt, zu dem die Ausführung bei der dritten Ausführungsform
weitergeht;
-
6 ist
ein Diagramm, das ein Beispiel eines Schrittübergangs zeigt, wie er auftritt,
wenn bei der dritten Ausführungsform
ein Übertragungsfehler
auftritt, im Vergleich zu einem Schrittübergang, wie er bei einem herkömmlichen
Verfahren auftritt;
-
7 ist
ein Diagramm, das ein Beispiel eines Schrittübergangs zeigt, wie er auftritt,
wenn bei der dritten Ausführungsform
die Verbindung verloren geht; und
-
8 ist
ein Flussdiagramm der Datenübertragungsprozedur
gemäß einer
vierten bevorzugten Ausführungsform.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Nachfolgend
werden bevorzugte Ausführungsformen
unter Bezugnahme auf die Zeichnungen beschrieben. Die beim Datenübertragungsverfahren
gemäß einer
ersten Ausführungsform
verwendete Datenübertragungsprozedur
wird nachfolgend unter Bezugnahme auf das in der 1 dargestellte
Flussdiagramm beschrieben. Als Erstes wird eine Verbindung unter
Verwendung von Tonsignalen errichtet (S101). Als Nächstes wird
Zeichensynchronisation errichtet (S102). Als Nächstes wird eine Variable "invalid_count" auf null zurückgesetzt
(S103). Als Nächstes
wird eine Variable "VALID_FLAG" auf null zurückgesetzt
(S104).
-
Als
Nächstes
wird ein Code empfangen (S105). Als Nächstes wird untersucht, ob
der in S105 empfangene Code ein illegaler Code ist oder nicht, und
wenn es sich um einen illegalen Code handelt (JA in S106), geht
die Ausführung
zu S107 weiter, während
sie dann, wenn es kein illegaler Code ist (NEIN in S106) zu S109 weitergeht.
-
In
S107 wird der Wert von "invalid_count" um eins inkrementiert.
Nach S107 wird geprüft,
ob der Wert von "invalid_count" vier ist oder nicht
(S108). Wenn der Wert von "invalid_count" vier ist (JA in
S104), wird das Auftreten eines Übertragungsfehlers
erkannt, und die Ausführung
geht zum Schritt des Errichtens einer Verbindung unter Verwendung
von Tonsignalen weiter (S101). Wenn dagegen der Wert von "invalid_count" nicht vier ist (NEIN
in S108), geht die Ausführung
zu S104 weiter, wo "VALID_FLAG" auf null zurückgesetzt
wird.
-
In
S109 wird auf den Wert von "VALID_FLAG" Bezug genommen,
und wenn er nicht eins ist (NEIN in S109), geht die Ausführung zu
S110 weiter, und wenn der Wert von "VALID_FLAG" eins ist (JA in S109), geht die Ausführung zu
S111 weiter. In S110 wird der Wert von "VALID_FLAG" auf eins gesetzt. Nach S110 geht die Ausführung zu
S105 weiter, wo ein Code empfangen wird.
-
In
S111 wird auf den Wert von "invalid_count" Bezug genommen,
und wenn er null ist (JA in S111), geht die Ausführung zu S105 weiter, wo ein
Code empfangen wird, und wenn der Wert von "invalid_count" nicht null ist (NEIN in S111), wird
der Wert von "invalid_count" um eins dekrementiert
(S112). Nach S112 geht die Ausführung
zu S104 weiter, wo "VALID_FLAG" auf null rückgesetzt
wird.
-
Im
Schritt des Errichtens von Zeichensynchronisation (S102) werden
ebenfalls dieselben Operationen wie S103 bis S112 nach dem Errichten
der Zeichensynchronisation ausgeführt, um es zu ermöglichen,
zum Schritt des Errichtens einer Verbindung unter Verwendung von
Tonsignalen weiterzugehen (S101), wenn das Auftreten eines Übertragungsfehlers
erkannt wurde.
-
Mittels
der oben beschriebenen Prozedur wird der Wert von "invalid_count" jedesmal dann inkrementiert,
wenn ein illegaler Code empfangen wird, und er wird jedesmal um
eins dekrementiert, wenn zwei legale Codes (d.h. Codes, die die
entfernte Vorrichtung senden kann) aufeinanderfolgend empfangen
wurden. Wenn der Wert von "invalid_count" vier wird, wird
erkannt, dass ein Übertragungsfehler
auftrat. D.h., dass die Häufigkeit
von Fehlern in den empfangenen Daten überwacht wird und dann, wenn
die Häufigkeit
von Fehlern in diesen übermäßig hoch
ist, das Auftreten eines Übertragungsfehlers
erkannt wird.
-
Infolgedessen
wird, gemäß dem Datenübertragungsverfahren
der ersten Ausführungsform,
die normale Datenübertragung
fortgesetzt, solange nicht in den empfangenen Daten häufig Fehler
auftreten (genauer gesagt, solange nicht illegale Codes empfangen
werden). Dies trägt
dazu bei, unnötig
häufige
Unterbrechungen der Datenübertragung
zu verhindern und dadurch die Datenübertragungseffizienz bei der
Datenübertragung
zu verbessern, wie bei einer Datenübertragung gemäß IEEE 1394
und unter Verwendung einer einzelnen optischen Faser, die unter
einer relativ hohen Fehlerrate leidet, sondern statt dessen werden
Fehler in bestimmten Ausmaß toleriert.
-
Das
Datenübertragungsverfahren
gemäß einer
zweiten Ausführungsform
betrifft eine Datenübertragung
gemäß IEEE 1394
und unter Verwendung einer einzelnen optischen Faser. Bei der zweiten
Ausführungsform
wird, wenn zwischen zwei Vorrichtungen unter Verwendung von Tonsignalen
eine Verbindung errichtet wird, eine der so miteinander verbundenen
Vorrichtungen als primär
spezifiziert, während
die andere als sekundär
spezifiziert wird. Dann werden den zwei Vorrichtungencodes auf solche
Weise zugeordnet, dass die IDLE(Leerlauf)codes, die sie während des
Empfangs oder dann senden, wenn sie keinen Codes zu senden haben,
abhängig
davon differieren, ob sie als primär oder sekundär spezifiziert
sind, und dass diese IDLE-Codes von jedem beliebigen Code verschieden
sind, den sie während
einer normalen Datenübertragung übertragen
können.
-
Die
bei der zweiten Ausführungsform
zugeordneten Codes sind in der Tabelle 1 aufgelistet. Dem IDLE-Code "P_IDLE" des als primär spezifizierten
Knotens und dem IDLE-Code "S_IDLE" des als sekundär spezifizierten
Knotens ist jeweils ein Muster zugewiesen, das mit keinem der anderen
Steuercodes oder der Datencodes, wie sie durch das Verfahren 8B10B
codiert werden, übereinstimmt,
und zwar selbst dann, wenn bei kontinuierlicher Datenübertragung
eine Bitverschiebung auftritt. Umgekehrt sind den anderen Steuercodes und
den Datencodes, wie sie durch das Verfahren 8B10B codiert werden,
Muster zugewiesen, die selbst dann nicht mit "P_IDLE" oder "S_IDLE" übereinstimmen,
wenn während
kontinuierlicher Datenübertragung
eine Bitverschiebung auftritt.
-
Die
bei der zweiten Ausführungsform
verwendete Datenübertragungsprozedur
wird nachfolgend unter Bezugnahme auf das in der 2 dargestellte
Flussdiagramm beschrieben. Als Erstes wird unter Verwendung von
Tonsignalen eine Verbindung errichtet (S301). Als Nächstes wird
Zeichensynchronisation errichtet (S302). Als Nächstes wird ein einen Code
repräsentierendes
Zeichen empfangen (S303). Als Nächstes
geht, wenn der in S303 empfangene Code der IDLE-Code ist, den die
lokale Vorrichtung sendet (JA in S304), die Ausführung zu S305 weiter, während dann,
wenn dieser Code nicht der IDLE-Code ist, den die lokale Vorrichtung
sendet (NEIN in S304), die Ausführung
zu S303 weitergeht.
-
In
S305 wird ein einen Code repräsentierendes
Zeichen empfangen. Wenn nach S305 der in S305 empfangene Code der
IDLE-Code ist, den die lokale Vorrichtung sendet (JA in S306), wird
erkannt, dass die Verbindung verloren ging, und die Ausführung geht
zum Schritt des Errichtens einer Verbindung unter Verwendung von
Tonsignalen weiter (S301). Wenn dagegen dieser Code nicht der IDLE-Code
ist, den die lokale Vorrichtung sendet (NEIN in S306), geht die
Ausführung
zu S303 weiter.
-
Im
Schritt des Errichtens von Zeichensynchronisation (S302) werden
ebenfalls dieselben Operationen ausgeführt, wie sie in S303 bis S306
nach dem Errichten von Zeichensynchronisation ausgeführt werden,
um es zu ermöglichen,
zum Schritt des Errichtens einer Verbindung unter Verwendung von
Tonsignalen (S301) überzugehen,
wenn erkannt wird, dass die Verbindung verloren ging.
-
Die 3 ist
ein zeitbezogenes Diagramm der relevanten Signale, wie sie beobachtet
werden, wenn eine entfernte Vorrichtung das Senden eines Signals
einstellt. Die Bezugszahl 401 kennzeichnet das von der entfernten
Vorrichtung gesendete Signal, das ab einem Zeitpunkt 406 nicht
mehr gesendet wird. Die Bezugszahl 402 kennzeichnet das
von der entfernten Vorrichtung gesendete Signal, wobei es mit Werten
des Pegels der Lichtintensität
repräsentiert
ist. Hierbei ist, der Einfachheit halber, das Signal so dargestellt,
dass es über ein
Muster mit abwechselnden Werten 1 und 0 verfügt, jedoch bedeutet dies nicht
notwendigerweise, dass die entfernte Vorrichtung einen Code mit
einem Muster sendet, der aus abwechselnden Werten 1 und 0 besteht.
-
Die
Bezugszahl 403 kennzeichnet ein von der lokalen Vorrichtung
gesendetes Signal, die den IDLE-Code wiederholt sendet. Die Bezugszahl 404 kennzeichnet
das von der lokalen Vorrichtung gesendete Signal, das mit Werten
des Pegels der Lichtintensität
repräsentiert
ist. Hierbei ist, der Einfachheit halber, das Signal so dargestellt,
dass es über
ein Muster mit abwechselnden Werten 1 und 0 verfügt, jedoch bedeutet dies nicht
notwendigerweise, dass die entfernte Vorrichtung einen Code mit
einem Muster sendet, der aus abwechselnden Werten 1 und 0 besteht.
-
Die
Bezugszahl 405 kennzeichnet das von der lokalen Vorrichtung
empfangene Signal, das mit Werten des Pegels der Lichtintensität repräsentiert
ist. Dieses Signal ist eine Überlagerungsmischung
des von der entfernten Vorrichtung gesendeten Lichts (des Lichts
von der entfernten Vorrichtung) und des Lichts, das von der lokalen
Vorrichtung gesendet wurde, jedoch auf seinem Weg zurückreflektiert
wurde (Streulicht). Bis zum Zeitpunkt 406 hält das Licht
von der entfernten Vorrichtung einen ausreichend hohen Schwellenpegel,
der dazu verwendet wird, das empfangene Licht in ein binäres elektrisches
Signal zu wandeln. Da der Pegel des Streulichts ausreichend niedrig
im Vergleich zu dem des Lichts von der entfernten Vorrichtung ist,
wird nur das Licht von der entfernten Vorrichtung empfangen, während dies
für das
Streulicht nicht gilt. Andererseits fehlt ab dem Zeitpunkt 406 das
Licht von der entfernten Vorrichtung. Dies bewirkt, dass der Schwellenpegel
niedriger wird, bis, nach einem bestimmten Punkt, der Empfang des
Streulichts startet.
-
Wenn
auf diese Weise der Empfang des Streulichts gestartet wird, werden,
solange kein Fehler auftritt und solange keine Bitverschiebung auftritt,
die von der lokalen Vorrichtung gesendeten IDLE-Codes empfangen.
So wird mittels der in der 2 dargestellten
Prozedur zum Zeitpunkt, zu dem zwei von der lokalen Vorrichtung
gesendete IDLE-Codes empfangen wurden, erkannt, dass die Verbindung
verloren ging.
-
Wenn
der Empfang des Streulichts auf die oben beschriebene Weise startet,
wird es, solange kein Fehler auftritt, selbst wenn eine Bitverschiebung
auftritt, das Streulicht als illegale Codes empfangen. So ist es,
z.B. unter gemeinsamer Verwendung des oben beschriebenen Verfahrens
der ersten Ausführungsform, möglich, einen Übertragungsfehler
zu erkennen und die Prozedur fortzusetzen.
-
Darüber hinaus
wird selbst dann, wenn die Verbindung verloren geht, während ein
anderer Code als der IDLE-Code gesendet wird, der IDLE-Code, gemäß dem IEEE-1394-Protokoll,
sicher für
einige Zeit gesendet, solange der Verbindungsverlust nicht erkannt
ist, und so ist es möglich,
diesen zu erkennen.
-
Die
Codes können
auf solche Weise zugeordnet werden, dass andere Codes als der IDLE-Code über Muster
verfügen,
die die entfernte Vorrichtung nicht senden kann. Jedoch ist es,
aus den oben beschriebenen Gründen,
zum zuverlässigeren
Erkennen eines Verbindungsverlusts bevorzugt, die Codes auf solche
Weise zuzuordnen, dass der IDLE-Code ein Muster aufweist, das die
entfernte Vorrichtung nicht senden kann.
-
Zusammengefasst
gesagt ist es, gemäß der zweiten
Ausführungsform,
möglich,
auf Grundlage der Codes zu entscheiden, ob das empfangene Licht
das Licht von der entfernten Vorrichtung oder das Streulicht ist.
Dies ermöglicht
es, einen Verbindungsverlust bei bidirektionaler Datenübertragung
unter Verwendung einer einzelnen optischen Faser zuverlässiger als
je zuvor zu erkennen.
-
Das
Datenübertragungsverfahren
gemäß einer
dritten Ausführungsform
betrifft eine Datenübertragung
gemäß IEEE 1394
und unter Verwendung einer einzelnen optischen Faser. Die bei der
dritten Ausführungsform
verwendete Datenübertragungsprozedur
wird unten unter Bezugnahme auf das in der 4 dargestellte
Flussdiagramm beschrieben. Als Erstes wird eine Verbindung unter
Verwendung von Tonsignalen errichtet (S501). Als Nächstes wird
Zeichensyn chronisation errichtet (S502). Als Nächstes wird ein Timer neu gestartet
(S503). Als Nächstes
wird eine variable "invalid_count" auf null zurückgesetzt
(S504). Als Nächstes
wird eine variable "VALID_FLAG" auf null zurückgesetzt
(S505).
-
Als
Nächstes
wird ein Code empfangen (S506). Als Nächstes wird überprüft, ob der
in S506 empfangene Code illegal ist oder nicht, und wenn er ein
illegaler Code ist (JA in S507), geht die Ausführung zu S508 weiter, während sie
dann, wenn er kein illegaler Code ist (NEIN in S507) zu S511 weitergeht.
-
In
S508 wird der Wert von "invalid_count" um eins inkrementiert.
Nach S508 wird geprüft,
ob der Wert von "invalid_count" vier ist oder nicht
(S509). Wenn der Wert von "invalid_count" nicht vier ist (NEIN
in S509), geht die Ausführung
zu S505 weiter, wo "VALID_FLAG" auf null zurückgesetzt
wird.
-
Wenn
dagegen der Wert von "invalid_count" vier ist (JA in
S509), wird das Auftreten eines Übertragungsfehlers
erkannt, und wenn der Zählwert
des Timers größer als
ein vorbestimmter Wert ist (JA in S510), geht die Ausführung zum
Schritt des Errichtens von Zeichensynchronisation (S502) weiter,
während
sie dann, wenn der Zählwert
des Timers nicht größer als
der vorbestimmte Wert ist (NEIN in S510) zum Schritt des Errichtens
einer Verbindung unter Verwendung von Tonsignalen (S501) weitergeht.
-
In
S511 wird auf den Wert von "VALID_FLAG" Bezug genommen,
und wenn dieser nicht eins ist (NEIN in S511), geht die Verarbeitung
zu S512 weiter, während
sie dann, wenn der Wert von "VALID_FLAG" eins ist (JA in
S511) zu 513 weitergeht. In 512 wird der Wert von "VALID_FLAG" auf eins gesetzt.
Nach 512 geht die Ausführung
zu S506 weiter, wo ein Code empfangen wird.
-
In
S513 wird auf den Wert von "invalid_count" Bezug genommen,
und wenn dieser null ist (JA in S513), geht die Verarbeitung zu
S506 weiter, wo ein Code empfangen wird, während dann, wenn der Wert von "invalid_count" nicht null ist (NEIN
in S513), derselbe um eins dekrementiert wird (S514). Nach S514
geht die Ausführung
zu S505 weiter, wo "VALID_FLAG" auf null zurückgesetzt
wird.
-
Auch
im Schritt des Errichtens von Zeichensynchronisation (S502) werden
dieselben Operationen ausgeführt,
wie sie nach der Errichtung von Zeichensynchronisation zum Ermöglichen
der Erkennung des Auftretens eines Übertra gungsfehlers ausgeführt werden.
Der einzige Unterschied besteht darin, dass dann, wenn im Schritt
des Errichtens von Zeichensynchronisation (S502) das Auftreten eines Übertragungsfehlers
erkannt wird, die Ausführung
zum Schritt des Errichtens einer Verbindung unter Verwendung von
Tonsignalen (S501) weitergeht.
-
Mittels
der oben beschriebenen Prozedur geht, nach der Errichtung von Zeichensynchronisation, wenn
illegale Codes häufig
empfangen werden und so das Auftreten eines Übertragungsfehlers erkannt
wird, die Ausführung
entweder zum Schritt des Errichtens einer Verbindung unter Verwendung
von Tonsignalen oder zum Schritt des Errichtens von Zeichensynchronisation
weiter, was von der Zeit abhängt,
die verstrichen ist, nachdem der Schritt der normalen Datenübertragung
gestartet wurde. Die Beziehung zwischen dem Zeitpunkt, zu dem ein Übertragungsfehler
erkannt wird, und dem Schritt, zu dem die Ausführung weitergeht, wird nachfolgend
unter Bezugnahme auf die 5 beschrieben.
-
Die
Bezugszahl 601 kennzeichnet den Zeitpunkt, zu dem Tonsignale
starten, die gesendet werden, um für eine Verbindung mit der entfernten
Vorrichtung zu sorgen, wenn die lokale Vorrichtung gerade gestartet wurde
oder sie einen Verbindungsverlust erkannt hat. Die Bezugszahl 602 kennzeichnet
den Zeitpunkt, zu dem das Senden vorbestimmter Codes startet, um
Zeichensynchronisation nach dem Errichten einer Verbindung mit der
entfernten Vorrichtung zu errichten. Die Bezugszahl 603 kennzeichnet
den Zeitpunkt, zu dem die normale Datenübertragung nach dem Errichten
von Zeichensynchronisation gestartet wird.
-
Die
Zeit 604, die der Schritt zum Errichten einer Verbindung
unter Verwendung von Tonsignalen benötigt, beträgt ungefähr 400 ms. Andererseits beträgt die Zeit 605,
die der Schritt zum Errichten von Zeichensynchronisation benötigt, ungefähr 160 μs. So benötigt der
Schritt zum Errichten einer Verbindung unter Verwendung von Tonsignalen
viel mehr Zeit als der Schritt zum Errichten von Zeichensynchronisation.
-
Bei
der gerade erörterten
dritten Ausführungsform
kehrt in der Periode 606, in der eine normale Datenübertragung
ausgeführt
wird, wenn innerhalb der Periode 607 ein Übertragungsfehler
erkannt wird, bis nach dem Start der normalen Übertragungsfehler eine vorbestimmte
Zeit verstrichen ist, die Ausführung
zum Schritt des Errichtens einer Verbindung unter Verwendung von
Tonsignalen zurück,
und wenn in einer anderen Periode 608 als der Periode 607 ein Übertragungsfehler
erkannt wird, kehrt die Ausführung
zum Schritt des Errichtens von Zeichensynchronisation zurück. Die
Periode 607 ist so eingestellt, dass sie über eine
geeignete Zeitdauer verfügt,
die länger
als die zum Erkennen eines Übertragungsfehlers
erforderliche Zeit ist, genauer gesagt, reichen ungefähr 125 μs aus, was
weit kürzer
als die Zeit ist, die der Schritt zum Errichten einer Verbindung
unter Verwendung von Tonsignalen benötigt.
-
Demgemäß geht,
wie es unter (a) in der 6 dargestellt ist, wenn zu einem
Zeitpunkt 701 innerhalb der Periode 608 ein echter Übertragungsfehler
erkannt wird (d.h., es wird nicht ein Übertragungsfehler als Ergebnis
von Streulicht erkannt, das als illegaler Code empfangen wird, wenn
die Verbindung verloren ist, sondern es handelt sich um einen Übertragungsfehler,
der sich aus dem Empfang eines illegalen Codes ergibt, wie dies
auftritt, wenn die Synchronisierung verloren geht, z.B. als Ergebnis
eines Bitausfalls), die Ausführung direkt
zum Schritt des Errichtens von Zeichensynchronisation zurück, und
danach wird, zum Zeitpunkt 702, zu dem dieser Schritt abgeschlossen
ist, die normale Datenübertragung
wieder aufgenommen. Im Ergebnis beinhaltet hier die Zeit, die ab
der Erkennung eines echten Übertragungsfehlers
bis zur Wiederaufnahme der normalen Datenübertragung erforderlich ist,
nur die Zeit, die dazu erforderlich ist, Zeichensynchronisation
zu errichten.
-
Demgegenüber kehrt
herkömmlicherweise,
wie es unter (b) in der 6 dargestellt ist, zum Zeitpunkt, zu
dem ein Übertragungsfehler
erkannt wird, die Ausführung
immer zum Schritt des Errichtens einer Verbindung unter Verwendung
von Tonsignalen zurück.
Danach geht, zum Zeitpunkt 703, zu dem die Verbindung errichtet
ist, die Ausführung
zum Schritt des Errichtens von Zeichensynchronisation weiter, und
dann wird, zum Zeitpunkt 704, zu dem die Zeichensynchronisation
errichtet ist, die normale Datenübertragung
wieder aufgenommen. So beinhaltet herkömmlicherweise die Zeit, die
ab der Erkennung eines echten Übertragungsfehlers bis
zur Wiederaufnahme normaler Datenübertragung erforderlich ist,
sowohl die Zeit, die zum Errichten einer Verbindung unter Verwendung
von Tonsignalen erforderlich ist, als auch die Zeit, die zum Errichten
von Zeichensynchronisation erforderlich ist, und daher ist sie weit
länger
als bei der dritten Ausführungsform.
-
Andererseits
kehrt, wenn ein Übertragungsfehler
fehlerhaft erkannt wird, d.h., wenn ein Übertragungsfehler als Ergebnis
von Streulicht erkannt wird, das als illegaler Code empfangen wird,
obwohl tatsächlich
die Verbindung verloren gegangen ist, solange der Übertragungsfehler
innerhalb der Periode 607 erkannt wird, die Ausführung ohne
jedes Problem zum Schritt des Errichtens einer Verbindung unter
Verwendung von Tonsignalen zurück.
Wenn ein derartiger Übertragungsfehler
in der Periode 608 erkannt wird, wie es in der 7 dargestellt
ist, geht die Ausführung,
zum Zeitpunkt 801, zu dem der Übertragungsfehler erkannt wird,
zum Schritt des Errichtens von Zeichensynchronisation weiter, und
dann geht sie, zum Zeitpunkt 802, zum dem dieser Schritt
abgeschlossen ist, zum Schritt des Ausführens einer normalen Datenübertragung
weiter. Wenn jedoch in diesem Fall die Verbindung verloren ist,
zu einem Zeitpunkt 803 innerhalb der oben genannten Periode 607 erneut
ein Übertragungsfehler
erkannt wird, geht die Ausführung
zu diesem Zeitpunkt 803 zum Schritt des Errichtens einer
Verbindung unter Verwendung von Tonsignalen weiter. Im Ergebnis
tritt selbst dann, wenn die Ausführung
zum Schritt des Errichtens von Zeichensynchronisation nach einer
fehlerhaften Erkennung eines Übertragungsfehlers
zurückkehrt,
nie der Fall auf, dass die Ausführung
in diesem Schritt hängen
bleibt. Dies gewährleistet
auf jeden Fall eine Erholung zur normalen Datenübertragung.
-
Das
Datenübertragungsverfahren
gemäß einer
vierten Ausführungsform
betrifft eine Datenübertragung
gemäß IEEE 1394
und unter Verwendung einer einzelnen optischen Faser. Bei der vierten
Ausführungsform
werden Codes auf dieselbe Weise wie bei der zweiten Ausführungsform
zugeordnet.
-
Die
bei der vierten Ausführungsform
verwendete Datenübertragungsprozedur
wird nachfolgend unter Bezugnahme auf das in der 8 dargestellte
Flussdiagramm beschrieben. Als Erstes wird unter Verwendung von
Tonsignalen eine Verbindung errichtet (S901). Als Nächstes wird
Zeichensynchronisation errichtet (S902). Als Nächstes wird ein Timer neu gestartet
(S903). Als Nächstes
wird eine variable "invalid_count" auf null zurückgesetzt
(S904). Als Nächstes
wird eine Variable "IDLE_FLAG" auf null zurückgesetzt
(S905). Als Nächstes wird
eine Variable "VALID_FLAG" auf null zurückgesetzt
(S906).
-
Als
Nächstes
wird ein Code empfangen (S907). Als Nächstes wird geprüft, ob der
in S907 empfangene Code ein illegaler Code ist oder nicht, und wenn
er kein illegaler Code ist (NEIN in S908), geht die Ausführung zu
S909 weiter, während
sie im Fall eines illegalen Codes (JA in S908) zu S913 weitergeht.
-
In
S909 wird auf den Wert von "VALID_FLAG" Bezug genommen,
und wenn dieser nicht eins ist (NEIN in S909), geht die Ausführung zu
S910 weiter, während
dann, wenn der Wert von "VALID_FLAG" eins ist (JA in
S909), die Ausführung zu
S911 weitergeht. In S910 wird der Wert von "VALID_FLAG" auf eins gesetzt. Nach S910 geht die
Ausführung
zu S907 weiter, wo ein Code empfangen wird.
-
In
S911 wird auf den Wert von "invalid_count" Bezug genommen,
und wenn dieser null ist (JA in S911), geht die Ausführung zu
S907 weiter, wo ein Code empfangen wird, während dann, wenn der Wert von "invalid_count" nicht null ist (NEIN
in S911) der Wert von "invalid_count" um eins inkrementiert
wird (S912). Nach S912 geht die Ausführung zu S906 weiter, wo "VALID_FLAG" auf null zurückgesetzt
wird.
-
In
S913 wird geprüft,
ob der in S907 empfangene Code der IDLE-Code der lokalen Vorrichtung
selbst ist oder nicht, und wenn er der IDLE-Code der lokalen Vorrichtung
ist (JA in S913), geht die Ausführung
zu S914 weiter, während
sie dann, wenn er nicht der IDLE-Code der lokalen Vorrichtung ist
(NEIN in S913) zu S916 weitergeht.
-
In
S914 wird auf den Wert von "IDLE_FLAG" Bezug genommen,
und wenn dieser eins ist (JA in S914) wird erkannt, dass die Verbindung
verloren ging, und so geht die Ausführung zum Schritt des Errichtens
einer Verbindung unter Verwendung von Tonsignalen weiter (S901).
Wenn dagegen der Wert von "IDLE
FLAG" nicht eins
ist (NEIN in S914), wird er auf eins gesetzt (S915). Nach S915 geht
die Ausführung
zu S907 weiter, wo ein Code empfangen wird.
-
In
S916 wird der Wert von "invalid_count" um eins inkrementiert.
Nach S916 wird geprüft,
ob der Wert von "invalid_count" vier ist oder nicht
(S917). Wenn der Wert von "invalid_count" nicht vier ist (NEIN
in S917), geht die Ausführung
zu S905 weiter.
-
Andererseits
wird, wenn der Wert von "invalid_count" vier ist (JA in
S917), das Auftreten eines Übertragungsfehlers
erkannt, und wenn der Zählwert
des Timers größer als
ein vorbestimmter Wert ist (JA in S918), geht die Ausführung zum
Schritt des Errichtens von Zeichensynchronisation weiter (S902),
während
dann, wenn der Zählwert
des Timers nicht größer als
der vorbestimmte Wert ist (NEIN in S918), die Ausführung zum Schritt
des Errichtens einer Verbindung unter Verwendung von Tonsignalen
(S901) weitergeht.
-
Auch
im Schritt des Errichtens von Zeichensynchronisation (S902) werden
dieselben Operationen ausgeführt,
wie sie nach dem Errichten von Zeichensynchronisation ausgeführt werden,
um es zu ermöglichen,
das Auftreten ei nes Übertragungsfehlers
zu erkennen, was sich aus einem häufigen Empfang illegaler Codes
ergibt. Der einzige Unterschied besteht darin, dass dann, wenn im
Schritt des Errichtens von Zeichensynchronisation (S902) erkannt
wird, dass ein Übertragungsfehler
aufgetreten ist, die Ausführung
zum Schritt des Errichtens einer Verbindung unter Verwendung von
Tonsignalen (S901) weitergeht.
-
Mittels
der oben beschriebenen Prozedur wird, nach dem Errichten von Zeichensynchronisation,
wenn illegale Codes häufig
empfangen werden, die nicht der IDLE-Code der lokalen Vorrichtung
selbst sind, das Auftreten eines Übertragungsfehlers erkannt,
und wenn auf diese Weise ein Übertragungsfehler
erkannt wurde, wird abhängig
von der Zeit, die bis zu diesem Moment verstrichen ist, bestimmt,
ob zum Schritt des Errichtens einer Verbindung unter Verwendung
von Tonsignalen oder zum Schritt des Errichtens von Zeichensynchronisation
zurückzukehren
sei. Wenn zwei IDLE-Codes der lokalen Vorrichtung selbst aufeinanderfolgend
empfangen werden, wird erkannt, dass die Verbindung verloren ging,
und wenn der Verbindungsverlust auf diese Weise erkannt wird, kehrt
die Ausführung
immer zum Schritt des Errichtens einer Verbindung unter Verwendung von
Tonsignalen zurück.
Dies ist effektiv, um einen ineffektiven Betrieb des Zurückkehrens
zum Schritt des Errichtens von Zeichensynchronisation zu beseitigen,
wie dies ausgeführt
wird, wenn in der in der 5 dargestellten Periode 608 bei
der oben beschriebenen dritten Ausführungsform die Verbindung verloren
geht.
-
Bei
der dritten und der vierten Ausführungsform,
wie sie oben beschrieben sind, wird, wenn ein Übertragungsfehler erkannt wird,
abhängig
von der Zeit, die bis zu diesem Moment verstrichen ist, bestimmt,
ob zum Schritt des Errichtens einer Verbindung unter Verwendung
von Tonsignalen oder zum Schritt des Errichtens von Zeichensynchronisation
zurückzukehren
sei. Jedoch ist es stattdessen auch möglich, immer zum Schritt des
Errichtens von Zeichensynchronisation zurückzukehren, wenn ein Übertragungsfehler
erkannt wird, und zum Schritt des Errichtens einer Verbindung unter
Verwendung von Tonsignalen nur dann zurückzukehren, wenn die Zeichensynchronisation
nicht innerhalb einer vorbestimmten Zeit nach dem Erkennen eines Übertragungsfehlers
errichtet ist. Auch dies trägt
dazu bei, die Zeit zu verkürzen,
die ab dem Auftreten eines Übertragungsfehlers
bis zur Wiederaufnahme der normalen Datenübertragung erforderlich ist.
-