-
Die
Erfindung bezieht sich auf eine serielle Schnittstelleneinheit zum
Abgeben und Empfangen von Daten unter der Steuerung durch Taktsignale, wobei
die Abgabe der Daten von einer Datenquelle über einen Ausgangstreiber an
einen Datenausgang erfolgt.
-
Zum Übertragen
von Daten zwischen den einzelnen Geräten eines datenverarbeitenden
Systems, beispielsweise zwischen einem Prozessorgerät und einem
Peripheriegerät,
sind die einzelnen Geräte
jeweils mit einer seriellen Schnittstelleneinheit ausgestattet, über die
die Daten abgegeben und von denen die Daten empfangen werden können. Die
Datenübertragung
erfolgt dabei synchron, was bedeutet, daß eines der beteiligten Geräte, das
sogenannte Master-Gerät
ein Taktsignal erzeugt, das zur Steuerung des jeweiligen Datenübertragungsvorgangs
an die an das System angeschlossenen Geräte übertragen wird. Eine serielle
Schnittstelleneinheit dieser Art ist in der Fachliteratur unter
der Bezeichnung SPI (für Serial
Peripheral Interface) bekannt. In dieser Schnittstelleneinheit ist
ein Sende-Schieberegister vorgesehen, aus dem die Daten seriell über einen Ausgangstreiber
an einen Datenausgang geschickt werden. Der Datenausgang ist dann
mit dem Dateneingang des Peripheriegeräts verbunden, für das die Daten
bestimmt sind. Für
den Empfang der Daten enthält
die serielle Schnittstelleneinheit ein Empfangs-Schieberegister,
in das die an einem Dateneingang empfangenen Daten seriell eingegeben
werden. Die seriellen Daten kommen dabei vom Datenausgang der seriellen
Schnittstelleneinheit des Peripheriegeräts, an den sie aus dessen Sende-Schieberegister über einen
Ausgangstreiber angelegt worden sind.
-
Zur
Sicherstellung einer korrekten Datenübertragung werden derzeit umfangreiche
Quittungsaustauschverfahren und Prüfsummenübertragungen ausgeführt, bei
denen der jeweilige Datenempfänger den
korrekten Empfang durch Zurücksenden
einer Bestätigungsnachricht
quittieren muß.
Diese Verfahren erfordern einen erhöhten Hardware- und Software-Aufwand
in den bei der Datenübertragung
beteiligten Geräten,
und außerdem
wird das Volumen der übertragenen
Daten vergrößert. Alle
diese Faktoren führen
zu einer Reduzierung der erreichbaren Datenübertragungsgeschwindigkeit.
-
So
ist aus
DE 196 38
424 C1 ein Verfahren zum Überwachen einer Datenübertragung
bekannt, bei dem ein von einer ersten Übertragungseinrichtung auf
einer Übertragungsstrecke
an eine zweite Übertragungseinrichtung
gesendeter Datenblock von der zweiten an die erste Übertragungseinrichtung
zurückgesendet
wird, um dort mit dem ursprünglichen Datenbock
verglichen zu werden.
-
DE 26 56 911 C2 beschreibt
ein Verfahren zur Lokalisierung von Störstellen in einer Übertragungsleitung
durch Senden eines Impulses auf der Übertragungsleitung und Erfassen
Ausbreitungszeit des Impulses auf der Übertragungsleitung bis zu der Störstelle
und zurück.
-
Eine
Schnittstellenvorrichtung nach dem Oberbegriff des Anspruch 1 ist
aus
DE 44 21 083 C2 bekannt.
Sie ermöglicht
durch Vergleichen von an einem Datenausgang der Vorrichtung auftretenden
Pegeln mit zwei festen Referenzpegeln die Erkennung eines Kurzschlusses
oder einer Hochfrequenzstörung
der Übertragungsleitung.
Damit wird jedoch nur ein Teil der möglichen Ursachen für eine Abweichung zwischen
auf der Übertragungsleitung
durch die Schnittstellenvorrichtung zu sendenden Daten und den tatsächlich von
ihr gesendeten Daten erfasst.
-
Der
Erfindung liegt die Aufgabe zugrunde, eine serielle Schnittstelleneinheit
der eingangs angegebenen Art zu schaffen, bei der die Korrektheit
der übertragenen
Daten ohne großen
Aufwand und ohne Beeinträchtigung
der erzielbaren Datenübertragungsgeschwindigkeit überwacht
werden kann.
-
Diese
Aufgabe wird gemäß der Erfindung
dadurch gelöst,
daß ein Übertragungsmonitor
vorgesehen ist, der die von der Datenquelle abgegebenen Daten mit
den vom Ausgangstreiber an den Datenausgang angelegten Daten vergleicht
und ein Fehlersignal abgibt, wenn die verglichenen Daten nicht übereinstimmen.
-
Der
in der erfindungsgemäßen seriellen Schnittstelleneinheit
vorgesehene Übertragungsmonitor
kann ständig überprüfen, ob
die zu übertragenden
Daten mit den Daten übereinstimmen,
die tatsächlich
am Datenausgang und damit an der zum Datenempfänger führenden Leitung erscheinen. Falls
auf der Übertragungsleitung
Störungen
auftreten, kann dies vom Übertragungsmonitor
erkannt und in zweckmäßiger Weise
angezeigt werden.
-
Eine
vorteilhafte Ausgestaltung der Erfindung ist in Patentanspruch 2
gekennzeichnet.
-
Die
Erfindung wird nun anhand der Zeichnungen beispielshalber erläutert. Es
zeigen:
-
1 eine
schematische Darstellung der in einem Prozessorgerät und der
in einem Peripheriegerät
enthaltenen seriellen Schnittstelleneinheiten gemäß der Erfindung,
-
2 ein
Signaldiagramm zur Erläuterung eines
Datenübertragungsvorgangs
zwischen dem Prozessorgerät
und dem Peripheriegerät
ohne Störung,
-
3 ein
Signaldiagramm zur Erläuterung einer
Datenübertragung
zwischen dem Prozessorgerät
und dem Peripheriegerät
bei Vorliegen einer Störung
und
-
4 ein
Beispiel für
den Aufbau des Übertragungsmonitors.
-
In 1 ist
eine Schnittstelleneinheit 10 dargestellt, die Teil eines
nur schematisch angedeuteten Prozessorgeräts 12 ist. Eine in 1 ebenfalls
dargestellte weitere Schnittstelleneinheit 14 ist Teil
eines Peripheriegeräts 16,
das ebenfalls nur schematisch angedeutet ist. Das Prozessorgerät erzeugt
die für die
Datenübertragung
notwendigen Taktsignale und führt
sie einer Taktleitung 18 zu. Das Prozessorgerät 12 wirkt
somit als Master-Gerät,
im Gegensatz zum Peripheriegerät 16,
das als Slave-Gerät
kein eigenes Taktsignal erzeugt, sondern hinsichtlich der Datenübertragung
ebenfalls vom Taktsignal aus dem Prozessorgerät 12 gesteuert wird.
-
Die
Schnittstelleneinheit 10 enthält ein Sende-Schieberegister 20,
in das das Prozessorgerät 12 zu übertragende
Daten eingibt. Unter der Steuerung durch das Taktsignal werden die
Daten aus dem Sende-Schieberegister über einen Ausgangstreiber 22 einem
Datenausgang 24 zugeführt. Über eine
Leitung 26 gelangen die Daten zu einem Dateneingang 28 der
Schnittstelleneinheit 14, und sie werden unter der Steuerung
durch das Taktsignal in ein Empfangs- Schieberegister 30 eingegeben.
Sie stehen dann zur weiteren Verarbeitung im Peripheriegerät 16 zur
Verfügung.
-
Wie
zu erkennen ist, werden auch die Taktsignale über einen Ausgangstreiber 32 an
den Taktausgang 34 angelegt und gelangen über eine
Leitung 36 zu einem Takteingang 38 der Schnittstelleneinheit 14.
-
Die
Schnittstelleneinheit 14 enthält ebenfalls ein Sende-Schieberegister 40,
dessen Dateninhalt über
einen Ausgangstreiber 42 taktgesteuert an einen Datenausgang 44 angelegt
werden können. Über die
mit dem Datenausgang 44 verbundene Leitung 46 gelangen
die Daten zum Dateneingang 48 der Schnittstelleneinheit 10 und
dann taktgesteuert in ein Empfangs-Schieberegister 50.
-
Ein
Datenübertragungsvorgang
vom Prozessorgerät 12 zum
Peripheriegerät 16 wird
nun unter Bezugnahme auf 2 erläutert. In 2 sind
bei 1, 2 und 3 die Signale an den entsprechenden Punkten 1, 2 bzw.
3 von 1 dargestellt. Diese Art von Übertragung erfolgt unter der
Steuerung durch das am Punkt 3 auftretende Taktsignal, wobei das
Senden und auch das Empfangen jeweils flankengesteuert erfolgen,
nämlich
das Senden bei der ansteigenden Sendeflanke SF und das Empfangen
bei der fallenden Empfangsflanke EF. Beispielsweise wird mit der ersten
Sendeflanke SF ein Bit mit hohem Signalwert aus dem Sende-Schieberegister 20 geschoben
und über
den Ausgangstreiber 22 an den Datenausgang 24 angelegt.
Das über
die Leitung 26 zum Dateneingang 28 des peripheren
Geräts 16 übertragene
Bit wird mit der Empfangsflanke EF in das Empfangs-Schieberegister 30 geschoben,
was einem Lesevorgang entspricht. Das am Punkt 1 der Schnittstelleneinheit 10 auftretende
Signal vor dem Ausgangstreiber 22 wird ebenso wie das am
Punkt 2 nach dem Ausgangstreiber 22 auftretende Signal
an einen in der Schnittstelleneinheit 10 enthaltenen Übertragungsmonitor 52 angelegt,
der die beiden Signale vergleicht und an seinem Ausgang 54 ein
Fehlersignal abgibt, falls die beiden verglichenen Signale während der
Empfangsflanke EF des Taktsignals, also während der Zeitperiode, in der
das Lesen des übertragenen
Signals durch Eingeben in das Empfangs- Schieberegister 30 des peripheren
Geräts 16 erfolgt,
nicht miteinander übereinstimmen.
Falls auf der vom Punkt 2 in der Schnittstelleneinheit 10 bis zum
Empfangs-Schieberegister 30 der Schnittstelleneinheit 14 führenden
Verbindung eine Störung auftreten
sollte, die den Wert des gerade übertragenen
Datensignals verändert,
kann dies vom Übertragungsmonitor 52 festgestellt
werden, so daß dann anhand
des erzeugten Fehlersignals geeignete Maßnahmen ergriffen werden können, die
eine einwandfreie Übertragung
des Datensignals, beispielsweise durch Wiederholung, sicherstellen.
-
In 3 ist
in einem ähnlichen
Signaldiagramm der Fall dargestellt, daß im Bereich der Empfangsflanke
EF des Taktsignals eine Störung
auftritt. Dies bedeutet, daß das
Datensignal am Punkt 2 aufgrund der Störung einen anderen Signalwert
hat als das Datensignal, das unter der Steuerung durch die Sendeflanke
SF des Taktsignals vom Sende-Schieberegister 20 an den
Ausgangstreiber 22 abgegeben worden ist. In diesem Fall
stimmen die vom Übertragungsmonitor 52 verglichenen
Signale nicht überein. so
daß dementsprechend
am Ausgang 54 (Punkt 4) ein Fehlersignal erzeugt wird.
-
Auch
die Schnittstelleneinheit 14 im Peripheriegerät 16 enthält einen Übertragungsmonitor 54, der
das Übertragen
von Daten vom Schnittstellengerät 16 über die
Schnittstelleneinheit 14 zur Schnittstelleneinheit 10 des
Prozessorgeräts 12 überwacht. Die
Datenübertragungsvorgänge vom
Peripheriegerät 16 zum
Prozessorgerät 12 laufen
ebenso ab wie die Übertragungsvorgänge vom
Prozessorgerät 12 zum
Peripheriegerät 16.
Der Unterschied besteht lediglich darin. daß das Prozessorgerät 12 als
Master-Gerät
die für
die Übertragungsvorgänge zum
Peripheriegerät
(Slave-Gerät)
notwendigen Taktsignale liefert.
-
Anhand
von 4 werden nun der Aufbau und die Arbeitsweise des Übertragungsmonitors 52 beschrieben.
-
Der Übertragungsmonitor 52 empfängt an den
Eingängen 54 und 56 das
vom Sende-Schieberegister 20 dem Ausgangstreiber 22 zugeführte Datensignal
bzw. das vom Ausgangstreiber 22 an den Datenausgang 24 angelegte
Datensignal. Die beiden zu vergleichenden Signale werden den zwei
Eingängen
einer Antivalenzschaltung 58 zugeführt, die immer ein Signal mit
hohem Wert abgibt, weil die an ihre Eingänge angelegten Signale aufgrund
des angenommenen Fehlerfalls unterschiedliche Werte haben. Über eine
ODER-Schaltung 60 wird das von der Antivalenzschaltung 58 abgegebene
Signal dem Eingang D eines D-Flipflops 62 zugeführt, das
das Signal unter der Steuerung durch das Taktsignal übernimmt.
Dies bedeutet, daß am
Ausgang Q des D-Flipflops 62 ein dem Wert des Ausgangssignals der
Antivalenzschaltung 58 entsprechendes Signal mit hohem
Wert abgegeben wird, das den Fehlerfall anzeigt. Das Ausgangssignal
des D-Flipflops 62 wird über eine UND-Schaltung 64 und
die ODER-Schaltung 60 zum Eingang D des D-Flipflops 62 zurückgeführt, was
zur Folge hat, daß ein
einen Fehlerfall anzeigendes Signal mit hohem Wert am Ausgang Q
des D-Flipflops 62 so
lange festgehalten wird, bis an einen zweiten Eingang der UND-Schaltung 64 ein
Signal angelegt wird, das anzeigt, daß das Fehlersignal gelesen
worden ist.
-
Somit
kann durch die Verwendung des Übertragungsmonitors
in den Schnittstelleneinheiten mit großer Sicherheit jeder bei der
Datenübertragung auftretende
Fehler erkannt werden, ohne daß zusätzlich zu
den eigentlich zu übertragenden
Daten ausschließlich
der Fehlerprüfung
dienende Daten übertragen
werden müssen.