-
Die
Erfindung betrifft eine Netzwerkteilnehmerstation für ein Netzwerk
verteilter Stationen, insbesondere in Verbindung mit IEEE-1394-Netzwerkteilnehmerstationen,
und ein Verfahren zum Betreiben einer Netzwerkteilnehmerstation.
-
Stand der Technik
-
Schnittstellen
werden in Verbindung mit elektrischen/elektronischen Geräten verwendet,
um dem einzelnen Gerät
eine elektronische Kommunikation, insbesondere das Senden und das
Empfangen von elektronischen Daten zu ermöglichen, die in der Regel über einen
mit dem Gerät
verbundenen Datenbus übertragen
werden. In Abhängigkeit
vom verwendeten Datenbus und den an den Datenbus angeschlossenen
elektrischen/elektronischen Geräten
existieren verschiedene Standards für eine Schnittstellen-Konfiguration.
Ein Schnittstellen-Standard,
dem in letzter Zeit große
Aufmerksamkeit gewidmet wurde, ist der Standard IEEE 1394. Mit IEEE
1394 wird ein Standard zur Verfügung
gestellt, der insbesondere dafür
geeignet ist, den Datenaustausch zwischen Multimedia-Einrichtungen beliebiger
Art zu unterstützen.
Ein Datenbus, der nach dem IEEE-1394-Standard konfiguriert ist,
kann sowohl mit Peripheriegeräten
eines Computers wie Druckern, Scannern, CD-Laufwerken und Festplatten
als auch mit Heimelektronikgeräten
wie Videokameras oder Fernsehern verbunden werden. Von diesem Standard
wird deshalb ein großer
Einfluß auf
die Digitalisierung elektronischer Geräte erwartet.
-
Bei
dem IEEE-1394-Standard wird eine Rücksetz-Operation ("Bus Reset") auf dem Datenbus ausgeführt, wenn
ein elektronisches Gerät
an den Datenbus angeschlossen, ein elektroni sches Gerät von dem
Datenbus getrennt oder wenn sich die Konfigurationsdaten eines Gerätes geändert haben.
Im Fall einer Rücksetz-Operation
auf dem Datenbus sendet jeder IEEE-1394-Schnittstellenknoten, der mit dem
Datenbus verbunden ist, eine Selbst-ID-Information (ID – Identifikation)
an die anderen Netzwerkteilnehmerstationen. Hierdurch wird sichergestellt, daß jede Netzwerkteilnehmerstation
in einem Netzwerk verteilter Stationen, die über den Datenbus in Verbindung
stehen, darüber
informiert ist, welche anderen Netzwerkteilnehmerstationen in dem
Netzwerk angeschlossen sind. Die Selbst-ID-Information dient jedem
Schnittstellenknoten dazu, sich selbst gegenüber den anderen Schnittstellenknoten
des Netzwerks zu identifizieren. Mit Hilfe der von den jeweils anderen
Schnittstellenknoten empfangenen Selbst-ID-Information ist jeder Schnittstellenknoten des
Netzwerks in der Lage, eine sogenannte Schnittstellenknotenliste
zu erstellen und in einer dem Schnittstellenknoten jeweils zugeordneten
Speichereinrichtung zu speichern. Diese gespeicherte Information
kann dann von einem Treiberprogramm der jeweiligen Netzwerkteilnehmerstation
beim Management der über
den Datenbus zu sendenden und zu empfangenden Datenpakete verarbeitet
werden.
-
Eine
Rücksetz-Operation
auf dem Datenbus dient darüber
hinaus als Aufforderung an die Schnittstellenknoten in den angeschlossenen
elektrischen/elektronischen Geräten,
gegenseitig Schnittstellen-Konfigurationsdaten auszulesen. Die Schnittstellen-Konfigurationsdaten
werden in Speicherbereichen eines ROM-Speichers (ROM – "Read Only Memory") der Netzwerkteilnehmerstation
abgelegt, die auch als ConfigROM-Speicherbereiche
bezeichnet werden. Der Inhalt der Schnittstellen-Konfigurationsdaten
in den Speicherbereichen ist betriebsabhängig, d. h. er kann sich während des
Betriebs des Netzwerks ändern.
Eine solche Änderung
kann dazu führen,
daß die Änderung
der gespeicherten Schnittstellen-Konfigu rationsdaten ausgeführt wird,
während
eine Rücksetz-Operation und die
hiermit verbundene Aufforderung zum gegenseitigen Auslesen der Schnittstellen-Konfigurationsdaten
empfangen wird. Hieraus ergibt sich das Problem, daß unter
Umständen
inkonsistente und/oder nicht vollständige Schnittstellen-Konfigurationsdaten
ausgelesen werden, da zeitlich parallel die Schnittstellen-Konfigurationsdaten
editiert werden aufgrund von Änderungen an
dem jeweiligen elektrischen/elektronischen Gerät.
-
Um
diese Schwierigkeit zu vermeiden, umfassen bekannte Chipsätze nach
der Spezifikation "1394
Open Host Controller Interface, Release 1.1" bereits Optionen für Maßnahmen. Hierbei ist vorgesehen,
daß neben
einem Register, welches einen elektronischen Zeiger auf einen aktuellen ROM-Speicherbereich
enthält,
ein weiterer elektronischer Zeiger implementiert wird, der auf einen
weiteren ROM-Speicherbereich zeigt, in dem Schnittstellen-Konfigurationsdaten
gespeichert sind, die für
das Auslesen nach einer folgenden Rücksetz-Operation auf dem Datenbus vorgesehen
sind. Der weitere elektronische Zeiger wird als neue Adresse für den aktuellen
ROM-Speicherbereich bei einer nächsten Rücksetz-Operation
erst übernommen,
wenn eine begonnene Leseanforderung abgearbeitet ist. Auf diese
Weise kann das Auslesen von inkonsistenten Schnittstellen-Konfigurationsdaten
jedoch nicht ausgeschlossen werden. Tritt beispielsweise eine Rücksetz-Operation auf, während die
Schnittstellen-Konfigurationsdaten in dem weiteren ROM-Speicherbereich
editiert werden, so besteht die Gefahr, daß unvollständig geänderte Schnittstellen-Konfigurationsdaten
ausgelesen werden.
-
Das
die Schnittstellen-Konfigurationsdaten lesende Gerät kann – falls
es eine Inkonsistenz feststellt – den Lesevorgang wiederholen,
z.B. im Zusammenhang mit einer vorausgehenden weiteren Rücksetz-Operation
erfolgen kann. Dieses führt
jedoch zu erhöhtem
Datenverkehr auf dem Datenbus und somit zu erhöhten Reaktionszeiten in dem
Netzwerk von Netzwerkteilnehmerstation. In den meisten Fällen wird
die Inkonsistenz der Schnittstellen-Konfigurationsdaten jedoch zunächst nicht
bemerkt, da viele Geräte
wegen des hiermit verbundenen, erhöhten Leseaufwands keine oder
nur unzureichende CRC-Prüfungen
(CRC – „Cyclic
Redundancy Check", Prüfsummenauswertung)
durchführen.
Ein derart falsch ausgegebener Datensatz kann zu ernsthaften Störungen der
Funktionsweise des Netzwerkes führen.
-
Erfindung
-
Aufgabe
der Erfindung ist es, eine verbesserte Netzwerkteilnehmerstation
sowie ein verbessertes Verfahren zum Betreiben der Netzwerkteilnehmerstation
in einem Netzwerk verteilter Stationen anzugeben, bei der für beliebige
Betriebssituationen beim Auslesen von ROM-Speicherbereichen mit
Schnittstellen-Konfigurationsdaten ein von möglichen Vorgängen zum
Editieren der Schnittstellen-Konfigurationsdaten unabhängiges Auslesen
gewährleistet
ist.
-
Diese
Aufgabe wird durch eine Netzwerkteilnehmerstation nach dem unabhängigen Anspruch
1 und ein Verfahren zum Betreiben der Netzwerkteilnehmerstation
nach dem unabhängigen
Anspruch 3 gelöst.
-
Die
Erfindung umfaßt
den Gedanken, bei einer Netzwerkteilnehmerstation für ein Netzwerk
verteilter Stationen, insbesondere ein Netzwerk von IEEE-1394-Netzwerkteilnehmerstation,
die über
einen Datenbus verbunden sind und jeweils eine implementierte Datensicherungsschicht
("Data Link Layer") aufweisen, in der
implementierten Datensicherungsschicht wenigstens drei Speicherbereiche
für betriebsabhängige Schnittstellen-Konfigurationsdaten
vorzusehen. Mit Hilfe von Zeigermitteln, die elektronische Zeiger
auf die we nigstens drei Speicherbereiche umfassen, kann auf die
wenigstens drei Speicherbereiche zugegriffen werden, so daß gespeicherte
Daten ausgelesen und/oder hineingeschrieben werden können. Darüber hinaus
sind Treibermittel vorgesehen, um elektronische Daten in den wenigstens
drei Speicherbereichen zu bearbeiten und zwischen den wenigstens
drei Speicherbereichen zu übertragen.
-
Mit
Hilfe der wenigstens drei Speicherbereiche ist es möglich, mehrere
Speicherbereiche zum Ablegen von Schnittstellen-Konfigurationsdaten
so zu nutzen, daß für das Auslesen
der Schnittstellen-Konfigurationsdaten infolge einer Rücksetz-Operation
auf dem Datenbus stets ein aktueller, vollständiger und in sich konsistenter
Satz von Schnittstellen-Konfigurationsdaten
zur Verfügung
steht. Um dieses zu erreichen, können
verschiedene Versionen der Schnittstellen-Konfigurationsdaten nach einem gegebenenfalls
von der Implementation abhängigen Schema
beliebig zwischen den mehreren Speicherbereichen übertragen
werden. Zu beliebigen Zeitpunkten stehen korrekte, auslesbare Schnittstellen-Konfigurationsdaten
zur Verfügung.
Ein erhöhter Datenverkehr,
der aufgrund von Wiederholungen von falsch bedienten Leseanforderungen
nach einer Rücksetz-Operation
in Verbindung mit bekannten Verfahren notwendig ist, entfällt. Hierdurch
verbessert sich darüber
hinaus die Reaktionszeit und somit der Bedienkomfort des Netzwerks
mit den elektrischen/elektronischen Geräten, die über Schnittstellenknoten angekoppelt
sind.
-
Zeichnung
-
Die
Erfindung wird im Folgenden anhand eines Ausführungsbeispiels unter Bezugnahme
auf eine Zeichnung näher
erläutert.
-
Hierbei
zeigen:
-
1 eine schematische Darstellung
eines Netzwerks mit elektrischen/elektronischen Geräten, die über einen
jeweiligen Schnittstellenknoten mit einem Datenbus verbunden sind;
-
2 ein schematisches Ablaufdiagramm für einen
Editiervorgang von Schnittstellen-Konfigurationsdaten; und
-
3 eine Übersicht in tabellarischer
Form einer Adresszeigerbelegung.
-
Ausführungsbeispiel der Erfindung
-
1 zeigt eine schematische
Darstellung eines Netzwerks, in dem an einen Datenbus 1 mehrere
Netzwerkteilnehmerstationen 2 über einen jeweiligen Schnittstellenknoten 3 zum
Senden/Empfangen von Datenpaketen über den Datenbus 1 angeschlossen
sind. Der jeweilige Schnittstellenknoten 3 ist als ein
IEEE-1394-Schnittstellenknoten ausgeführt, was insbesondere das An-/Abkoppeln
der Netzwerkteilnehmerstationen 2 und einen Datenpaketaustausch
zwischen den an den Datenbus 1 angeschlossenen Netzwerkteilnehmerstationen 2 ermöglicht.
Die Schnittstelleneinrichtung umfaßt Hardware-Mittel 4 und
Software-Mittel 5 zum Betreiben der Hardware-Mittel 4.
Die Hardware-Mittel 4 dienen insbesondere zum Senden und
zum Empfangen von Datenpaketen über
den Datenbus 1. Die Software-Mittel 5 umfassen insbesondere
ein Treiberprogramm zum Betreiben der Hardware-Mittel 4,
um die Funktionalitäten
der Netzwerkteilnehmerstation 2 zur Verfügung zu
stellen. Eine in der Netzwerkteilnehmerstation 2 jeweils
installierte Anwendungssoftware 6 bedient sich des Schnittstellenknotens 3,
um Datenpakete über
den Datenbus 1 zu versenden oder zu empfangen.
-
Einzelheiten
zum Ausbilden und zum Konfigurieren einer Schnittstelle nach dem IEEE-1394-Standard
sind dem Fachmann bekannt und werden hier deshalb im Detail nicht
erläutert.
So weist eine IEEE-1394-Schnittstelle üblicherweise eine dreischichtige
Struktur mit einer Transaktionsschicht ("Transaction Layer"), einer Datensicherungsschicht ("Data Link Layer") und einer physikalischen
Schicht ("Physical
Layer") auf. Eine
Bus-Managementfunktion überwacht
und steuert die drei Schichten und liefert verschiedene Funktionen
zur Steuerung des jeweiligen Schnittstellenknotens. Die Transaktionsschicht
stellt hierbei eine Schnittstelle (einen Service) für Transaktionen
mit über
dem Schnittstellenknoten angeordneten Schichten zur Verfügung. Die
Datensicherungsschicht liefert im wesentlichen die folgenden Funktionen:
Adressieren, Datenprüfung,
Datenbildung für
eine Paketsendung/einen Paketempfang usw. Die physikalische Schicht
wandelt logische Symbole, die von der Datensicherungsschicht verwendet
werden, in elektrische Signale um, führt einen Datenbus-Ausgleich aus
und definiert die physikalische Datenbus-Schnittstelle. Die physikalische
Schicht und die Datensicherungsschicht werden üblicherweise mit Hilfe von Hardware-Mitteln
ausgeführt,
beispielsweise als einer Datentransfer-Steuereinrichtung (Schnittstellenchip).
Separate ICs für
die beiden Schichten sind auf dem Markt verfügbar. Die Transaktionsschicht
ist gewöhnlich
mit Hilfe von Firmware, die auf einem Prozessor läuft, oder
Hardware ausgeführt.
-
Unter
Bezugnahme auf die 2 und 3 wird im folgenden der Ablauf
zur Speicherung und Bearbeitung der Schnittstellen-Konfigurationsdaten
in mehreren ROM-Speicherbereichen im einzelnen beschrieben. Die
ROM-Speicherbereiche müssen
nicht als physikalischer ROM-Speicher ausgeführt sein. Vielmehr können diese
Speicherbereiche im RAM-Speicher der jeweiligen Netzwerkstation
angelegt sein. Dies übernimmt
eine Speicherverwaltungseinheit in der Netzwerkstation. Sie reser viert/allokiert die
nötigen
Speicherbereiche. Der RAM-Speicher
ist nicht ausschließlich
der Datensicherungsschicht zugeordnet. Es können noch weitere Komponenten darauf
zugreifen, insbesondere ein Mikrocontroller der Netzwerkstation,
der durch die Softwaremittel für die
Implementierung der höheren
Schichten gesteuert ist.
-
2 zeigt hierbei schematisch
ein Ablaufdiagramm für
Verfahrensschritte während
eines Editiervorganges von Schnittstellen-Konfigurationsdaten. Vor
dem Editieren wird ein elektronischer Adresszeiger im Rahmen einer
Bus-Reset-Bearbeitung
wie folgt gesetzt: ActualPtr = NextPtr. Der Vorgang des Editierens
umfaßt
dann gemäß 2 insgesamt elf Anweisungen
(0)...(10), die in 2 mittels
Pseudo-Code dargestellt sind.
-
Die
Anweisungen (0) und (10) (Lock () und Unlock ()) sind erforderlich,
um gleichzeitige Editiervorgänge
von mehreren Anwendungen zu verhindern.
-
Es
wird bei der folgenden Beschreibung davon ausgegangen, daß in den
Netzwerkteilnehmerstationen drei ROM-Speicherbereiche implementiert sind,
für die
die Bezeichnungen ConfigROM A, ConfigROM B und ConfigROM C gewählt werden.
Auf die ROM-Speicherbereiche können
die Treibermittel der zugehörigen
Netzwerkteilnehmerstation mit Hilfe elektronischer Adresszeiger
ActualPtr, NextPtr und EditPtr zugreifen. Die elektronischen Adresszeiger ActualPtr,
NextPtr und EditPtr können
je nach Verfahrensstand in drei Adressregister geladen werden. ActualPtr
zeigt auf den Speicherbereich des ConfigROM's, welcher die Schnittstellen-Konfigurationsdaten
für eine
aktuelle Leseanfrage enthält.
NextPtr zeigt auf den Speicherbereich des ConfigROM's, welcher geänderte Schnittstellen-Konfigurationsdaten
zur Beantwortung von Leseanfragen nach einer folgenden Rücksetz-Operation
enthält.
EditPtr zeigt auf den Speicherbereich des ConfigROM's, in dem Änderungen
der dort gespeicherten Schnittstellen-Konfigurationsdaten durchgeführt werden
können.
Zusätzlich
sind zwei Zwischenspeicherbereiche AuxPtr und TempPtr für Adresszeiger
vorgesehen, die als Hilfsspeicherbereiche ebenfalls im Speicherbereich
implementiert sind.
-
3 zeigt eine tabellarische Übersicht
der Auswirkung von Änderungen
der in den ConfigROM's
A, B, C gespeicherten Schnittstellen-Konfigurationsdaten und von
Rücksetz-Operationen
auf die Inhalte der Adressregister sowie die jeweilige (momentane)
Funktion der ConfigROM's
A, B, C während
des beschriebenen Ablaufs. In der tabellarischen Übersicht
nach 3 werden die folgenden fünf Szenarien
beschrieben: T0–T5:
Editieren mit nachfolgender Rücksetz-Operation;
T10–T19:
Editieren und erneutes Editieren der Schnittstellen-Konfigurationsdaten
und anschließende
Rücksetz-Operation
auf dem Datenbus; T30–T33:
Rücksetz-Operation
nach Beendigung des zweiten Editierens zwischen den Anweisungen
(0) und (1) (vgl. 2); T40–T43: Rücksetz-Operation
nach Beendigung des zweiten Editierens zwischen den Anweisungen
(4) und (5); und T50–T54:
Rücksetz-Operation
nach Beendigung des zweiten Editierens zwischen den Anweisungen
(5) und (6).
-
Der
Zeitpunkt T0 repräsentiert
einen Ausgangszustand, in dem der ConfigROM A einen Datensatz 0
enthält
und für
aktuelle Leseanforderungen in Folge von Rücksetz-Operationen auf dem
Datenbus dient. NextPtr zeigt ebenfalls auf den ConfigROM A, da
noch keine geänderten
Schnittstellen-Konfigurationsdaten zur Verwendung nach einer nächsten Rücksetz-Operation
existieren. ConfigROM B, der ebenfalls den Datensatz 0 enthält, kann Änderungen aufnehmen.
Zum Zeitpunkt T1 wird ConfigROM B geändert. Im Rahmen der Änderung
wird der Datensatz 0 mit Schnittstellen-Konfigurationsdaten in den
Datensatz 0' mit
geänderten
Schnittstellen-Konfigurationsdaten geändert. Das hierbei ausgeführte Editieren
ist im Zeitpunkt T2 beendet. ConfigROM B enthält dann einen Datensatz 1 mit
geänderten
Schnittstellen-Konfigurationsdaten, für die die Änderung abgeschlossen ist.
-
Im
Zeitpunkt T3 erfolgt eine Adresszeiger-Umstellung. Beim Durchführen der
Anweisungen (1)...(4) (vgl. 2)
ergibt sich auf die Operation (ActualPtr == EditPtr) als Ergebnis "FALSE", weshalb die Anweisungen
(6)...(8) nicht ausgeführt
werden. Anschließend
erfolgt zum Zeitpunkt T4 ein Kopiervorgang, bei dem der Dateninhalt
des Speicherbereiches auf den der NextPtr (B(1)) zeigt, in den Bereich kopiert
wird, auf den EditPtr zeigt. Nun tritt zum Zeitpunkt T5 eine Rücksetz-Operation auf dem
Datenbus auf, die ein Auslesen der Schnittstellen-Konfigurationsdaten
veranlaßt.
Während
der Rücksetz-Operation
wird der ActualPtr auf den Wert von NextPtr gesetzt. Alle jetzt
folgenden Leseanforderungen infolge einer Rücksetz-Operation an den Schnittstellenknoten
werden mit dem Datensatz aus ConfigROM B (Datensatz 1) bedient.
-
Zum
Zeitpunkt T10 schließt
sich eine weitere Editierphase an, die zum Zeitpunkt T11 beendet
ist. Im Zeitpunkt T12 erfolgt wiederum eine Adresszeiger-Umstellung,
was dazu führt,
daß nach
dem Ausführen
der Anweisungen (1)...(4) (vgl. 2)
sich das Ergebnis "FALSE" ergibt. Es schließen sich
ein erneuter Kopiervorgang, ein weiteres Editieren und die Beendigung
des weiteren Editieren zu den Zeitpunkten T13, T14, T15 an. Im Zeitpunkt
T16 erfolgt erneut eine Adresszeiger-Umstellung. Im Unterschied zu den vorherigen
Ausführungen
der Anweisungen (1)...(4) ergibt sich nun "TRUE",
so daß im
Zeitpunkt T17 die Anweisungen (6)...(8) ausgeführt werden. Dadurch findet
ein Austausch der Einträge
in EditPtr und AuxPtr statt. Hierdurch wird erreicht, daß EditPtr auf
ConfigROM C zeigt. ConfigROM C steht nach der folgenden Rück setz-Operation
auf dem Datenbus zum Editieren zur Verfügung. Anschließend wird
im Zeitpunkt T18 der aktuelle Datensatz in ConfigROM C kopiert.
Infolge einer Rücksetz-Operation
zum Zeitpunkt T19 zeigt ActualPtr nun auf den neuesten Datensatz.
-
Die
in der tabellarischen Übersicht
in 3 folgenden Szenarien
beginnen als Folge von zwei bereits durchgeführten Editiervorgängen ohne
zwischenzeitliche Rücksetz-Operation
mit drei unterschiedlichen Datensätzen von Schnittstellen-Konfigurationsdaten
in den ConfigROM's
A, B, C (Startpunkte jeweils T30, T40, T50). Die tabellarische Übersicht
in 3 zeigt, daß eine Rücksetz-Operation
zu einem beliebigen Zeitpunkt des Ablaufs auftreten kann, ohne daß Editiervorgänge die
Konsistenz des aktuellen ConfigROM's gefährden.
-
Die
Verwendung der drei ConfigROM's
A, B, C in der beschriebenen Art und Weise verhindert das Entstehen
und das Übermitteln
von inkonsistenten Schnittstellen-Konfigurationsdaten infolge einer Rücksetz-Operation
auf dem Datenbus, auch wenn während
des Änderungsvorganges
zum Editieren der Schnittstellen-Konfigurationsdaten Rücksetz-Operationen
auftreten, da immer nur die Schnittstellen-Konfigurationsdaten in
dem Speicherbereich der ConfigROM's editiert werden, welche weder zum aktuellen
Zeitpunkt noch nach der nächsten
Rücksetz-Operation
für aktuelle
Anfragen benutzt wird, also eine zeitweilige Inkonsistenz bestehen
könnte. Es
steht somit stets ein von einer aktuellen und einer hierauf folgenden
Auslese-Operation, die jeweils als Reaktion auf eine Rücksetz-Operation
ausgelöst werden,
unabhängiger
ROM-Speicherbereich für
zu ändernde
Schnittstellen-Konfigurationsdaten zur Verfügung.