-
Bereich der
Erfindung
-
Die
Erfindung betrifft im allgemeinen die Übertragung binärer Daten über eine
Datenübertragungsleitung
und insbesondere die Übertragung
binärer
Daten über
eine Datenübertragungsleitung
mit minimierter digitaler Intersymbolstörung.
-
Hintergrund
der Erfindung
-
Wie
in 1 dargestelt ist, werden Daten üblicherweise
zwischen einem Host-Computersystem 10 und
Peripheriegeräten,
wie zum Beispiel Plattenlaufwerken 5, Bandlaufwerken 6 oder
Druckern 7, über
einen Datenkommunikationsbus 15 übertragen. Der Datenkommunikationsbus 15 verbindet
das Host-Computersystem 10 und die Peripheriegeräte 5, 6 und 7 miteinander
und ermöglicht
den Austausch von Daten zwischen dem System und den Geräten. Ein
Typ von Datenkommunikationsbussen ist ein „Small Computer System Interconnect"-(SCSI)-Datenbus.
Ein SCSI-Datenbus kann auf unterschiedliche Weise konfiguriert werden
und hat verschiedene Betreibszustände. Eine Konfiguration und
Betriebszustand ist als SCSI-Wide-Bus bekannt, der einen 16 Bit-Datenbus
mit zugehörigen
Steuersignalen umfaßt,
wie etwa Busy (BSY), Select (SEL), Control/Data (C/D), Input/Output
(I/O), Message (MSG), Request (REQ), Acknowledge (ACK), Attention
(ATN) und Reset (RST). Der SCSI-Datenbus ist mit dem Host-Computersystem 10 über einen
Host Adapter 12 verbunden und mit den Peripheriegeräten 5, 6 und 7 über Geräte-Controller 8, 9 und 11.
Der Geräte-Controller
ist an den spezifischen Gerätetyp
angepaßt,
der mit dem SCSI-Bus wie in 1 dargestellt verbunden
ist. Der SCSI-Datenbus 15 kann so konfiguriert werden,
daß er
eine Vielzahl von miteinander verketteten (daisy chained) Peripheriegeräten umfaßt, wobei
sowohl der Host-Computer als auch das letzte Gerät, das mit dem Bus verbunden
ist (am weitesten vom Host entfernt), mit einem Busterminator 16 abgeschlossen
ist. Der Busterminator 16 umfaßt eine Schaltung zur Regulierung
der maximalen und minimalen Spannungspegel auf dem SCSI-Datenbus 15.
-
Nach
den 2A und 2B werden
die maximalen und minimalen Spannungsschwellenwerte zur Datendetektion
(V-eins und V-null) von einer Datendetektionsschaltung 13 erfaßt. Jeder
Schwellenwert ist ein fester Gleichstromspannungspegel, der einer
Signalleitung des Busses 15 zugeordnet ist, die von einem
Treiber 14 getrieben wird. Dieser feste Gleichstromschwellenpegel
ist üblicherweise
zwischen den Terminatorspannungsgrenzen (+V-term und –V-term)
definiert. Sowohl der Hostadapter als auch die Gerätekontroller
enthalten Treiberschaltungen 14 zur Ausgabe und Empfängerschaltungen 13 zum
Empfang von Daten und logische Schaltungen (in 2A nicht
dargestellt) zum Leiten des Datenflusses und für Verarbeitungsoperationen.
-
Wenn
Information zwischen dem Host-Computersystem und irgendeinem der
Vielzahl von Peripheriegeräten übertragen
wird, wird ein Handshaking-Protokoll benutzt, um Datenanfragen zu
initialisieren (REQ) und zu bestätigen
(ACK), daß solche Anfragen
erledigt worden sind. Ein REQ-Steuersignal kann durch ein initialisierendes
Gerät ausgesandt werden,
um anzufordern, daß das
Zielgerät
entweder Daten an das initialisierende Gerät schreibt oder Daten von ihm
liest. Ein ACK-Steuersignal kann durch ein Zielgerät ausgesandt
werden, um zu bestätigen, daß das Zielgerät erfolgreich
Daten gesandt oder empfangen hat.
-
Ein
Problem kann entstehen, wenn der SCSI Datenbus ohne Datentransfers
für einen
längeren Zeitraum
unbeschäftigt
ist. In diesem Fall steigt der Spannungspegel auf dem Bus auf den
maximalen, durch die Busterminatoren definierten Spannungswert,
der hier als negierter Ruhespannungspegel bezeichnet wird. Wenn
ein REQ-Signal ausgesandt wird stellt die REQ-Steuerschaltung ein
vorbestimmtes festes Zeitfenster zur Verfügung, in dem das REQ-Signal
durch die Datendetektionsschaltung erfaßt werden muß, bevor
weitere REQ-Signale ausgesandt werden. Da sich die Busspannung während ausgedehnter
negierter Ruhezeiten auf dem Ruhespannungspegel befindet, muß das REQ-Signal
eine größere Signalpegelveränderung
vollziehen, als während
des Synchronbetriebs, um einen Pegel zu erreichen, der von der Detektionsschaltung
als REQ-Signal erfaßt
werden kann. Bei einem ersten Fehlermodus steht nicht ausreichend
Zeit zur Verfügung,
damit das REQ-Signal durch die Datendetektionsschaltung während eines
ersten Aussendens des REQ-Signals erfaßt werden kann, bevor ein nachfolgendes
REQ-Signal ausgesandt wird. Infolge dessen können REQ-Daten, die auf anderen
Leitungen des Busses während
des ersten REQ-Pulses übertragen werden,
nicht korrekt von der Detektionsschaltung erfaßt werden und können verloren
gehen. Ein zweiter Fehlermodus tritt auf, wenn das REQ-Signal überhaupt
nicht von der REQ-Detektionsschaltung innerhalb der vorbestimmten
Zeitschranken erfaßt
wird. Diese Fehlermodi werden hierdurch als digitale Steuersignal-Intersymbolstörungen,
das heißt
als „Steuerungs-ISI" definiert.
-
Die
oben beschriebenen Probleme, die während des ersten Aussendens
eines REQ-Signals
auftreten können,
sind für
folgende REQ-Signale nicht relevant, weil der Bus-Spannungspegel nicht
länger auf
dem negierten Ruhepegel ist und deshalb im folgenden übertragene
REQ-Signale keine so hohe Spannungsveränderung erfordern, bevor sie
von der REQ-Datendetektionsschaltung erfaßt werden.
-
Nach 3 entsteht
ein ähnliches
Problem, wenn das Benutzerdatensignal für eine ausgedehnte Zeitspanne
unverändert
bleibt (alles Nullen oder Einsen). Ein ausgedehntes unverändertes
Benutzerdatensignal gestattet es dem Benutzerdatenspannungspegel,
sich dem negierten Ruhespannungspegel anzunähern. Hierauf in dem Benutzerdatensignal folgende Übergänge aus
dem negierten Ruhespannungspegel heraus erfordern eine große Spannungsveränderung
im Datensignal, um durch die Datendetektionsschaltung erfaßt zu werden.
Wiederum gibt es eine feste Zeitspanne für diese Datensignalübergänge, um
von der Datendetektionsschaltung erfaßt zu werden, bevor ein weiterer
Signalübergang
ausgesandt wird. Jedoch ist dieser Zeitraum oft nicht ausreichend
für das
Erfassen des ersten Datensignalübergangs
durch die Datendetektionsschaltung, wodurch verursacht wird, daß die Daten,
die in diesem ersten großen
Datensignalübergang
definiert sind, verloren gehen. Dieser Verlust von Benutzerdaten,
der innerhalb des ersten Benutzerdatenübergangs auftritt, wird hierdurch
als digitale Daten-Intersymbolstörung
definiert („Daten-ISI").
-
Beim Übertragen
von Daten über
einen Datenbus geht der Trend dahin, die Frequenz zu steigern, bei
der Informationen über
den Bus übertragen werden
können.
Jedoch verursacht ein Anstieg der Datenfrequenz eine proportionale
Verminderung des Zeitraumes, der zugelassen werden kann, um Steuer-
und Datenimpulse durch die Datendetektionsschaltung zu erfassen.
Deshalb gibt es, wenn die Datenübertragungsfrequenzen
erhöht
werden, einen entsprechenden Anstieg sowohl bei Steuerungs-ISI als
auch bei Daten-ISI, wie sie oben definiert sind. Die Minimierung
sowohl von Steuerungs- als auch von Daten-ISI ist deshalb höchst wünschenswert.
-
Aus
der US-A-5,832,308 ist es bekannt, die Datenübertragungsfehler bei Datenübertragungseinrichtungen
zu minimieren. Bei der bekannten Einrichtung werden die Daten über einen
Pufferspeicher zwischen einer ersten und einer zweiten externen Schnittstelle
unter Verwendung von REQ- und ACK-Impulssignalen übertragen.
Zustands-Informationen werden in einer Tabelle gespeichert und aktualisiert,
und es wird eine Übertragungs-Zähleinrichtung
verwendet, um die Übertragung
von Daten zwischen den Schnittstellen zu steuern, ohne dass die auf
den die Schnittstellen miteinander verbindenden Bus aufgeprägten Daten
invertiert werden.
-
Zusammenfassung der Erfindung
-
Ein
Ziel der vorliegenden Erfindung ist die Übertragung von Daten über einen
Datenbus mit minimierten digitalen Steuerungs-Intersymbolstörungen.
-
Ein
weiteres Ziel der vorliegenden Erfindung ist es, Daten über einen
Datenbus mit minimierten digitalen Daten-Intersymbolstörungen zu übertragen.
-
Eine
besonders bevorzugte Ausführungsform
der vorliegenden Erfindung umfaßt
ein Verfahren zur Übertragung
von Daten von einem Sendegerät
(Sender) zu einem Empfangsgerät
(Empfänger) über einen
Datenbus in einer Weise, um die Steuer- und Daten-Intersymbolstörungen zu
minimieren. Das Verfahren umfaßt
die folgenden Schritte: Ausführen eines
Datentransferstartbefehls, Warten bis ein FIFO-Register Daten enthält, wobei
das FIFO-Register an ein Peripheriegerät gekoppelt ist, Bestimmen, wann
das FIFO Daten enthält,
Ausgeben der in dem FIFO enthaltenen Daten auf den Datenbus, Invertieren
der zuvor auf den Bus ausgegebenen Daten, um den negierten Ruhespannungspegel
des Datenbusses zu reduzieren, Ausgeben der invertierten Daten, Pausieren
für einen
vorbestimmten Zeitraum (t3), Ausgeben echter Daten, Pausieren für einen
vorbestimmten Zeitraum (t1), Aussenden eines REQ-Steuersignals und
Pausieren für
einen vorbestimmten Zeitraum (t2) damit die Daten von der Datendetektionsschaltung erfaßt werden
können.
Der Schritt des Pausierens für
einen vorbestimmten Zeitraum (t2) stellt der REQ-Detektionsschaltung
zusätzliche
Zeit zur Verfügung,
um Daten zu erfassen, die auf dem Datenbus übertragen werden, wodurch die
digitalen Steuerungs-Intersymbolstörungen während der
Datenübertragung
vom Sender zum Empfänger
minimiert werden.
-
Dieses
Verfahren überträgt Daten über den Datenbus
mit minimierten digitalen Steuerungs- und Daten-Intersymbolstörungen,
weil es dem Spannungspegel auf dem Bus nicht gestattet ist, den
negierten Busruhespannungspegel (den Busterminatorspannungspegel)
zu erreichen, bevor ein Übergang
auftritt. Sogar nach einem ausgedehnten Zeitraum, in dem die Daten,
die über
den Datenbus übertragen
worden sind, konstant geblieben sind, ist ein abrupter Übergang
nicht dem Erfordernis eines langen Übergangszeitraums unterworfen,
wie es besteht, wenn sich der Bus auf den Busruhespannungspegel
eingestellt hat. Darüber
hinaus wird zusätzliche Zeit
zur Verfügung
gestellt, damit der erste REQ-Puls erfaßt wird, bevor die folgenden
REQ-Pulse ausgesandt werden. Entsprechend wird der erste Pegelübergang,
der nach einem ausgedehnten unveränderten Datenübertragungspegel
auftritt, durch die Datendetektionsschaltung innerhalb vordefinierter
Zeitschranken für
die Datendetektionsschaltung detektiert.
-
Diese
und weitere Ziele, Vorteile, Aspekte und Merkmale der vorliegenden
Erfindung werden vollständiger
unter Betrachtung der folgenden detaillierten Beschreibung von bevorzugten
Ausführungsbeispielen
verstanden und gewürdigt,
die in Verbindung mit der begleitenden Zeichnung erläutert werden.
-
Kurze Beschreibung
der Zeichnung
-
In
der Zeichnung zeigen:
-
1 ein
Blockdiagramm eines Host-Computersystems, das eine bevorzugte Ausführungsform der
vorliegenden Erfindung realisiert,
-
2A ein
Schaltungsdiagramm eines einzelnen Datensignalpfades zwischen einem
sendenden Gerät
und einem empfangenden Gerät
auf dem Bus nach 1,
-
2B ein
Signalflußdiagramm,
das einen REQ-Datensignalfehler illustriert, der konventionell über einen
Datenbus übertragen
wird,
-
3 ein
Signalflußdiagramm,
das einen Benutzerdatensignalfehler illustriert, der konventionell über einen
Datenbus übertragen
wird,
-
4 ein
Prozeßflußdiagramm,
das die Verfahrensschritte zum Übertragen
von Daten von einem Sender zu einem Empfänger entsprechend den Prinzipien
der vorliegenden Erfindung illustriert,
-
5 ein
Signalflußdiagramm,
das ein REQ-Datensignal illustriert, das über einen Datenbus gemäß den Prinzipien
der vorliegenden Erfindung übertragen
wird,
-
6 ein
erweitertes Prozeßflußdiagramm, das
die Verfahrensschritte zum Übertragen
von Daten von einem Sender zu einem Empfänger gemäß einer weiteren Ausführungsform
der vorliegenden Erfindung illustriert, und
-
7 ein
Signalflußdiagramm,
das ein Benutzerdatensignal illustriert, das über einen Datenbus gemäß den Prinzipien
der vorliegenden Erfindung übertragen
wird,
-
Ausführliche
Beschreibung der bevorzugten Ausführungsformen
-
Gemäß 1 umfaßt die vorliegende
Erfindung im allgemeinen ein Verfahren zum bidirektionalen Übertragen
von Daten von einem Sender zu einem Empfänger über einen Datenbus 15.
In einem Fall ist der Sender als ein Host-Computersystem 10 und
der Empfänger
als ein Peripheriegerät 5 definiert wobei
Daten vom Host-Computersystem 10 zum Peripheriegerät 5 übertragen
werden. Alternativ ist der Sender als Peripheriegerät 5 und
der Empfänger
als Host-Computersystem 10 definiert, wobei Daten vom Peripheriegerät 5 zum
Host-Computersystem 10 übertragen
werden.
-
Eine
bevorzugte Ausführungsform
der vorliegenden Erfindung, wie sie hier dargelegt wird, ist ein Verfahren
zum Übertragen
von Daten von einem Plattenlaufwerk 5 zu einem Host-Computersystem 10 über einen
Datenbus 15, wie etwa einen SCSI-Datenbus, mit minimierten
digitalen Intersymbolstörungen.
Gemäß 4 umfaßt das Verfahren
die folgenden Schritte: Ausführen
eines Startbefehls bei Schritt 20 für einen Datentransfer vom Peripheriegerät 5 zum
anfordernden Host-Computersystem 10. Das Peripheriegerät 5 wartet
bei Schritt 30 darauf, daß ein FIFO-Register (nicht
dargestellt) Daten enthält.
Das FIFO-Register ist physisch dem Laufwerk 5 zugeordnet
oder bei ihm positioniert. Sobald bei Schritt 40 Daten
als vom FIFO gehalten detektiert werden, werden die Daten, die von
dem FIFO gehalten werden, bei Schritt 50 auf den Bus ausgegeben.
Bei Schritt 60 pausiert der Ablauf für einen ersten vorbestimmten Zeitraum
t1, damit sich die Daten auf dem Datenbus stabilisieren können, wobei
ein nachfolgendes Aussenden eines REQ-Befehls bei Schritt 70 Daten
vom Sender zum Empfänger überträgt. Der
erste vorbestimmte Zeitraum liegt typischerweise in einem Bereich
von etwa 12,5 Nanosekunden bis 25 Nanosekunden.
-
Da
der REQ-Befehl nach einem Zeitraum ohne Datenübertragung ausgegeben worden
ist, besteht der nächste
Schritt darin, für
einen zweiten vorbestimmten Zeitraum, t2, bei Schritt 80 zu
pausieren, so daß der
REQ-Pulsübergang
durch die Detektionsschaltung erfaßt werden kann und damit verbundene Daten
zuverlässig
erfaßt
werden können.
Der zweite vorbestimmte Zeitraum liegt typischerweise in einem Bereich
von 25 Nanosekunden bis 50 Nanosekunden. Wie in 5 dargestellt
ist, ist dieser Zeitraum, t2, in der Dauer wesentlich länger als
typische Pausen, die zwischen folgenden synchronen Datenübertragungen
gelassen werden, zum Beispiel t1. Der Zeitraum t2 ist wesentlich
länger,
um der REQ-Datendetektionsschaltung zusätzliche Zeit zum Erfassen des
ersten REQ-Datensignalübergangs
zur Verfügung
zu stellen und die REQ-Daten, die über den Datenbus 15 übertragen
wurden, genau zu erfassen. Auf diese Weise wird eine Datenübertragung über den
Datenbus 15 mit einer minimierten digitalen Steuerungs-Intersymbolstörung erzielt.
Nachdem der erste REQ-Datensignalübergang erfaßt worden
ist, wird der Spannungspegel des REQ-Datensignals geringer sein
als der negierte Ruhespannungspegel, und deshalb ist keine zusätzliche
Zeit zum Erfassen nachfolgender REQ-Daten notwendig.
-
Gemäß den 6 und 7 fügt eine
weitere bevorzugte Ausführungsform
der vorliegenden Erfindung zusätzliche
Schritte zu dem Flußdiagramm nach 4 hinzu
und umfaßt
weiterhin das Laden eines Daten-ISI-Zählers bei Schritt 72 nach
dem Aussenden eines REQ-Signals in Schritt 70. Der Daten-ISI-Zähler zählt die
Anzahl der Datensegmente, die über
den Datenbus übertragen
worden sind. Nach einer vorherbestimmten Anzahl von Zählzyklen des
Daten-ISI-Zählers
und wenn es noch zu übertragende
Daten gibt, starten die Verfahrensschritte bei Schritt 30 erneut.
-
Die
Verfahrensschritte dieser Ausführungsform
umfassen weiterhin die folgenden Schritte: Invertieren und Ausgeben
der Daten bei Schritt 52, die zuvor bei Schritt 50 auf
den Datenbus ausgegeben worden waren. Dann pausiert das Verfahren
bei Schritt 54 für
einen dritten vorbestimmten Zeitraum t3, um sicherzustellen, daß der Spannungspegel
des Datenbusses 15 während
der folgenden Schritte des Ausgebens von echten Daten bei Schritt 56 nicht
den negierten Ruhespannungspegel erreicht. Der dritte vorbestimmte
Zeitraum liegt typischerweise in einem Bereich von etwa 12,5 Nanosekunden
bis 25 Nanosekunden. Weiterhin erreicht die Datenbusspannung während der
nachfolgenden Schritte der Ausgabe echter Daten bei Schritt 56 für einen
vorbestimmten Zeitraum den negierten Ruhespannungspegel nicht, wie
durch den Daten-ISI-Zähler
in Schritt 72 definiert. Diese Reduzierung im negierten
Ruhespannungspegel des Datenbusses 15, die bei den Schritten 52 bis 56 erzielt
wird, gestattet es den folgenden Datensegmenten, die über den
Datenbus 15 übertragen
werden, schneller durch die Datendetektionsschaltung 13 erfaßt zu werden.
Die folgenden Datensegmente werden schneller detektiert, weil der
Spannungspegel auf dem Datenbus 15 niedriger als der negierte Busruhespannungspegel
ist, wie in 7 dargestellt. Deshalb enthalten
die folgenden Datensegmentübergänge kleinere
Spannungsveränderungen,
bevor sie durch die Datendetektionsschaltung detektiert werden.
Diese kleineren Spannungsveränderungen,
die von Datenübergängen gemacht
werden, werden innerhalb der Zeitgrenzen der Datendetektionsschaltung
wahrscheinlicher detektiert, als Datenübergänge, die größere Spannungsveränderungen
vollziehen.
-
Die
folgenden Datensegmente, die über
den Datenbus übertragen
werden, folgen den folgenden Verfahrensschritten: Zurücknehmen
des REQ-Ausgabebefehls bei Schritt 100 und dann bei Schritt 110 Ermitteln,
ob das FIFO Daten enthält.
Wenn das FIFO noch Daten enthält,
Ausgeben der im FIFO enthaltenen Daten auf den Datenbus bei Schritt 105 und dann
Pausieren für
einen vorbestimmten Zeitraum t1 bei Schritt 61 für die Daten,
die auf den Datenbus auszugeben sind, das heißt für deren Stabilisierungszeit
(set up time).
-
Danach
wird der REQ-Puls bei Schritt 130 durch das Peripheriegerät 5 ausgegeben,
um ein Datensegment in Antwort auf eine durch das Host-Computersystem 10 erfolgende
Datenanfrage für
das nächste
Datensegment zu übertragen.
Entsprechend werden die Daten von dem Plattenlaufwerk 5 zum Host-Computer 10 über den
Bus 15 übertragen. Dann
wird der Schritt des Pausierens für einen Zeitraum t1, das heißt eine
Haltezeit, bei Schritt 62 ausgeführt, so daß die Daten, die auf dem Datenbus
gehalten werden, von der Datendetektionsschaltung erfaßt werden
können.
In einer bevorzugten Ausführungsform
ist die Stabilisierungszeit gleich der Haltezeit, jedoch ist diese
Gleichheit nicht erforderlich. Als nächstes wird der REQ-Ausgabebefehl
bei Schritt 140 zurückgenommen.
Dann wird der Daten-ISI-Zähler
bei Schritt 150 herabgesetzt und der Daten-ISI-Zähler wird
bei Schritt 160 überprüft, um zu bestimmen,
ob der Zähler
Null erreicht hat. Das FIFO wird bei Schritt 110 erneut überprüft, um zu
bestimmen, ob das FIFO Daten enthält.
-
Wenn
weiterhin bei Schritt 110 wieder festgestellt wird, daß das FIFO
Daten enthält,
dann werden die Verfahrensschritte 105, 61, 130, 62, 140, 150 und 160 wie
oben beschrieben wiederholt. Wenn der Daten-ISI-Zähler bei
Schritt 160 nicht Null ist und das FIFO bei Schritt 110 noch
Daten enthält,
dann werden diese Schritte 105, 61, 130, 62, 140, 150 und 160 wie
oben beschrieben zyklisch wiederholt bis bei Schritt 110 festgestellt
wird, daß das
FIFO keine Daten enthält,
oder bei Schritt 160, daß der Daten-ISI-Zähler gleich
Null ist.
-
Wenn
umgekehrt bei Schritt 110 ermittelt wird, daß das FIFO
keine Daten enthält,
dann wird bei Schritt 170 ermittelt, ob das letzte Datensegment übertragen
worden ist. Wenn das letzte Datensegment übertragen worden ist, dann
endet das Datenübertragungsverfahren
bei Schritt 180. Wenn jedoch das letzte Datensegment nicht übertragen
worden ist, wartet das Datenübertragungsverfahren
bei Schritt 30 wieder darauf, daß das FIFO Daten enthält, und
wiederholt die Schritte nach 6 zur Übertragung
von Daten über
den Datenbus 15.
-
Wenn
weiterhin der Daten-ISI-Zähler,
wie bei Schritt 160 ermittelt, gleich Null ist, dann wird
bei Schritt 170 erneut ermittelt, ob das letzte Datensegment übertragen
worden ist. Wenn das letzte Datensegment übertragen worden ist, dann
endet das Datenübertragungsverfahren
bei Schritt 180. Wenn jedoch das letzte Datensegment nicht übertragen
worden ist, dann wartet das Datenübertragungsverfahren wieder
bei Schritt 30 darauf, daß das FIFO Daten enthält, und
wiederholt die Schritte nach 6 zum Übertragen
von Daten über
den Datenbus 15, bis alle Daten übertragen worden sind.
-
Es
ist wichtig festzustellen, daß das
Pausieren für
einen Zeitraum t2 bei Schritt 80 in der Dauer länger ist
als das Pausieren für
einen Zeitraum t1 bei Schritt 60. Der Pausenzeitraum t2
bei Schritt 80 wird für
ein Anfangsdatensegment ausgegeben, das über den Datenbus 15 übertragen
wird, wie in 5 illustriert. Zusätzlich wird
der Pausenzeitraum t2 bei Schritt 80 auch ausgegeben, wenn
Datenübertragungen über den
Datenbus 15 aus irgendeinem Grund pausieren oder wenn der
Daten-ISI-Zähler
bei Schritt 160 gleich Null ist. Insgesamt wird der Pausenzeitraum
t2 bei Schritt 80 während
der Anfangsstartdatenübertragung
bei Schritt 20 ausgegeben, wenn die Datenübertragungen
aus irgendeinem Grund pausieren oder wenn der Daten-ISI-Zähler bei
Schritt 160 gleich Null ist. Der Pausenzeitraum t1 bei
Schritt 60 wird während
synchroner Datensegmentübertragungen
ausgegeben.
-
Der
Daten-ISI-Zähler
(nicht dargestellt) ist ein programmierbares Register, das programmiert werden
kann, um Datensegmente über
einen Bereich von etwa 1 bis 31 Zählerzählzyklen zu zählen. Jeder
Zählzyklus
repräsentiert
ein Datensegment, das über
den Datenbus 15 übertragen
worden ist. Sobald der ISI-Zähler
auf Null verringert worden ist, werden deshalb die oben beschriebenen
Verfahrensschritte wieder bei folgenden Schritten gestartet: Ermitteln
bei Schritt 170, ob das letzte Datensegment übertragen
worden ist, und, wenn dem so ist, Beenden des Verfahrens bei Schritt 180,
und, wenn dem nicht so ist, Warten bei Schritt 30 darauf,
bis das FIFO Daten enthält,
und hierauf erneutes Starten des Datenübertragungsprozesses.
-
Dieses
erneute Starten des Datenübertragungsprozesses
verursacht, daß die
Datenleitungen des Datenbusses 15 von digitalen Steuerungs- und/oder
Daten-Intersymbolstörungen nach
einer vorbestimmten Anzahl von Zählerzählzyklen
in Übereinstimmung
mit dem vorprogrammierten Daten-ISI-Zählerwert befreit werden. Entsprechend
findet ein erneuter Start statt, wenn in Schritt 110 ermittelt
wird, daß der
FIFO nicht länger
Daten enthält, und
wenn in Schritt 170 ermittelt wird, daß das letzte Datensegment nicht
gesendet worden ist. Deshalb startet das Verfahren zum Übertragen
von Daten über
einen Datenbus 15 beim Schritt des Wartens bei Schritt 30 darauf,
daß der
FIFO Daten enthält,
erneut, wenn entweder der Daten-ISI-Zähler in Schritt 160 Null
erreicht hat oder wenn das letzte Datensegment bei Schritt 170 nicht
gesendet worden ist.
-
Gemäß 1 umfaßt ein weiterer
Aspekt der Erfindung den Schritt des individuellen Überwachens
jeder Datenleitung des Datenbusses mit einem 16-Bit-Daten aktivitätsdetektor 17.
Der Datenaktivitätsdetektor 17 ist
mit jeder der Datenleitungen verbunden, die innerhalb des Datenbusses 15 definiert
sind. Wenn eine überwachte
Leitung für
einen Zeitraum inaktiv ist, dann werden die Verfahrensschritte nach 6 für jede einzelne
Datenleitung des Datenbusses 15 wiederholt.
-
Gemäß den 1 bis 7 umfaßt ein Verfahren
zum Übertragen
von Daten von einem Host-Computersystem 10 zu einem Peripheriegerät über einen
Datenbus 15 die Verfahrensschritte des Ersetzens eines
REQ-Befehls durch einen ACK-Befehl und des Wiederholens der oben
beschriebenen Verfahrensschritte.
-
Das
oben beschriebene Verfahren der Übertragung
von Daten über
einen Datenbus weist viele Vorteile gegenüber dem Stand der Technik auf,
wie etwa das Starten von Datenübertragungen
auf einem Datenbus mit minimierten Intersymbolstörungen, nachdem der Datenbus
für einen
längeren
Zeitraum im Ruhezustand war.
-
Ein
weiterer Vorteil des oben beschriebenen Verfahrens zur Übertragung
von Daten über
einen mehrere Leitungen umfassenden Datenbus betrifft die synchrone Übertragung
von Daten über
den Datenbus mit minimierten digitalen Daten-Intersymbolstörungen,
auch dann, wenn irgendeine der Datenleitungen für einen längeren Zeitraum in einem unveränderten
Zustand geblieben ist.
-
Die
Datentransferrate kann entsprechend dem Leitgedanken der vorliegenden
Erfindung erhöht
werden, weil der Datenbus keine digitalen Steuerungs-Intersymbolstörungen kompensieren
muß, die
nach dem erneuten Start des Datenbusses nach einem längeren Zeitraum
im Ruhezustand auftreten. Weiterhin kann die Datentransferrate des
Busses erhöht
werden, weil der Datenbus keine digitalen Daten-Intersymbolstörungen kompensieren
muß, die nach
einer längeren
synchronen Datenübertragung von
unveränderten
Datenwerten auftreten.
-
Nachdem
so eine Ausführungsform
der Erfindung beschrieben worden ist, sieht man, daß die Ziele
der Erfindung vollständig
erreicht worden sind und daß der
Fachmann versteht, daß sich
viele Veränderungen
der Konstruktion und sehr unterschiedliche Ausführungsformen und Anwendungen
der Erfindung von selbst anbieten, ohne den Grundgedanken und den
Bereich der Erfindung zu verlassen. Die hier gegebene Offenbarung
und Beschreibung sind rein illustrativ und nicht darauf gerichtet,
in irgendeinem Sinn einschränkend
zu sein.