DE69425751T2 - Adapter/Wandler für differentiale und unsymetrische SCSI-Schnittstelle - Google Patents
Adapter/Wandler für differentiale und unsymetrische SCSI-SchnittstelleInfo
- Publication number
- DE69425751T2 DE69425751T2 DE1994625751 DE69425751T DE69425751T2 DE 69425751 T2 DE69425751 T2 DE 69425751T2 DE 1994625751 DE1994625751 DE 1994625751 DE 69425751 T DE69425751 T DE 69425751T DE 69425751 T2 DE69425751 T2 DE 69425751T2
- Authority
- DE
- Germany
- Prior art keywords
- bus
- signal
- state
- differential
- ended
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 239000003999 initiator Substances 0.000 claims description 50
- 230000005540 biological transmission Effects 0.000 claims description 21
- 230000004913 activation Effects 0.000 claims description 19
- 238000012546 transfer Methods 0.000 claims description 13
- 230000009849 deactivation Effects 0.000 claims description 5
- 101100490184 Drosophila melanogaster Ack gene Proteins 0.000 claims description 2
- 230000007704 transition Effects 0.000 description 30
- 230000002093 peripheral effect Effects 0.000 description 23
- 230000006854 communication Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 102100040577 Dermatan-sulfate epimerase-like protein Human genes 0.000 description 12
- 101000816741 Homo sapiens Dermatan-sulfate epimerase-like protein Proteins 0.000 description 12
- 238000000034 method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 230000003213 activating effect Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- VVBLNCFGVYUYGU-UHFFFAOYSA-N Michlers ketone Natural products C1=CC(N(C)C)=CC=C1C(=O)C1=CC=C(N(C)C)C=C1 VVBLNCFGVYUYGU-UHFFFAOYSA-N 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- YOYAIZYFCNQIRF-UHFFFAOYSA-N 2,6-dichlorobenzonitrile Chemical compound ClC1=CC=CC(Cl)=C1C#N YOYAIZYFCNQIRF-UHFFFAOYSA-N 0.000 description 1
- 101100406320 Caenorhabditis elegans dbt-1 gene Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 230000007420 reactivation Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf einen Schnittstellenadapter/Umsetzer zum Verbinden einer Peripherieeinheit oder einer Steuerungseinrichtung, deren Schnittstelle vom Eintakt-SCSI-Typ bzw. unsymmetrischen SCSI-Typ (singleended SCSI type) ist, mit einem Kommunikationskanal vom Differential-SCSI-Typ.
- Bekanntermaßen sind standardisierte Kommunikationskanäle oder Kommunikationsbusse entwickelt worden, um eine Anzahl von Peripherieeinheiten, wie z. B. Platteneinheiten, CDROM- Lese-Einheiten und dergleichen, mit zentralen Verarbeitungseinheiten (CPUs; CPU = central processing unit) zu verbinden. Der SCSI-Kanal (SCSI ist ein Acronym für "Small Computer System Interface"), wie er in der US-Norm X3.131-199X ausgeführt ist, ist vielleicht der davon am weitesten verbreitete Kanal bzw. Bus.
- Der SCSI-Bus wurde ursprünglicher Weise als ein Bus entwickelt, bei dem die Leitungen, die für eine Signalübertragung verwendet werden, durch einen Widerstand, der mit einer geeigneten Versorgungsspannung verbunden ist, vorgespannt sind, und bei dem die verschiedenen Einheiten, die das Anlegen von Signalen an die Leitungen "befehlen", die verschiedenen Leitungen elektrisch mit Masse verbinden (Eintakt-SCSI = singleended SCSI).
- Die längste Verbindungsstrecke zwischen Einheiten, die durch diesen Bus ermöglicht wird, beträgt 6 m.
- Um sowohl Verbindungen mit einer größeren Länge zwischen den Einheiten zu ermöglichen, als auch um eine bessere Rauschunempfindlichkeit zu liefern, ist ein Bus, der als Differential-SCSI bezeichnet wird, entwickelt worden, der das gleiche Kommunikationsprotokoll verwendet, jedoch unterschiedliche elektrische Charakteristika aufweist, und bei dem jedes Si gnal über zwei symmetrische Leitungen (balanced lines) übertragen wird, die geeignet elektrisch vorgespannt sind.
- Elektrische Geräte, die mit Schnittstellen des Eintakt- SCSI-Typs versehen sind, können offensichtlicherweise nicht mit einem Differential-SCSI-Bus verbunden werden, und umgekehrt.
- Es sind Steuereinheiten handelsüblich erhältlich, die ermöglichen, daß ein Systemkanal schnittstellenmäßig mit einem SCSI-Bus verbunden werden kann, ungeachtet dessen, ob dieser ein Differential- oder Eintakt-Typ ist. Ein Beispiel solcher Einheiten ist der I/O-SCSI-Prozessor "NCR 53C720".
- Folglich kann ein System, das mit diesem Prozessor ausgerüstet ist, unter Verwendung entweder eines Differential- oder eines Eintakt-SCSI-Busses mit Eingabe/Ausgabe-Peripheriegeräten verbunden werden, wobei dies von dem Typ der gewählten Peripheriegeräte abhängt.
- Ein solches System würde jedoch nicht die Verbindung von Peripheriegeräten mit unterschiedlichen Schnittstellen mit demselben Bus ermöglichen; die Peripheriegeräte müßten entweder alle vom Differential- oder vom Eintakt-Typ sein. Folglich kann dieser Steuerungstyp die strenge Anforderung nicht erfüllen, die darin besteht, in der Lage zu sein, bei den meisten heutigen Datenverarbeitungssystemen, die Differential-SCSI-Verbindungskanäle umfassen, Peripheriegeräte mit Eintakt-SCSI-Schnittstellen zusammen mit Peripheriegeräten mit Differential-Schnittstellen zu verwenden, wie beispielsweise in denjenigen Fällen, bei denen ein Benutzer bereits solche Peripheriegeräte besitzt und ein Verarbeitungssystem durch ein fortschrittlicheres System mit größerer Kapazität ersetzen will, ohne dabei die gesamten verfügbaren Massenspeicher austauschen zu müssen, sondern lediglich neue hochwertige Massenspeicher hinzufügen zu können.
- Es müssen jedoch beträchtliche Entwicklungsprobleme gelöst werden, bevor diese Anforderung erfüllt werden kann.
- Das Dokument EP-A-0348148 offenbart einen SCSI-Bus-Umsetzer, der lediglich SCSI-Ziele bzw. SCSI-Zieleinheiten auf dem Differential-SCSI-Bus unterstützt.
- Ein rein passiver Typ einer elektrischen Signalpegelanpassungsschnittstelle ist dahingehend unpraktisch, daß dieselbe die Verwendung elektronischer Schaltungen, wie z. B. von Wandlereinrichtungen, umfassen würde, die Rückkopplungsschleifen bilden und einen irreversiblen elektrischen Zustand auf den Signalleitungen hervorrufen.
- Dies tritt auf, da die meisten Leitungen in einem SCSI-Bus eine bidirektionale Signalübertragungsfunktion ausüben und sich die Signalquelle mit den verschiedenen Schritten des Kommunikationsprotokolls und mit den unterschiedlichen Einheiten, die in dem Bus verschaltet sind, ändert.
- Es wäre daher eine Schnittstellenvorrichtung erforderlich, die von den unterschiedlichen Einheiten, die in dem Bus verschaltet sind, oder nur von einigen derselben Steuersignale für die verschiedenen Wandlereinrichtungen entsprechend den Protokollschritten empfängt.
- Gegenwärige Peripheriegeräte stellen diese Signale jedoch nicht bereit. Das Problem wird dadurch noch ernster, daß die Einheiten, die in einem SCSI-Bus verschaltet sind, keine eindeutige Rolle spielen, sondern daß jede derselben in Abhängigkeit von den Umständen ein Kommunikationsprotokoll aktivieren kann oder aufgerufen werden kann, um Informationen als Zielgesprächspartner zu übertragen.
- Folglich wird eine Schnittstelle benötigt, die sowohl in gewissem Maße intelligent ist, als auch einfach und unaufwendig ist, und die in der Lage ist, ausgehend von den Informationen, die auf dem SCSI-Bus verfügbar sind, den Strom von Signalen in beiden Richtungen aus den Informationen, die auf dem SCSI-Bus verfügbar sind, zu verwalten, ohne eine beträchtliche Ausbreitungsverzögerung (Laufzeit) einzubringen und ohne die Leistungsfähigkeit des Kommunikationskanals zu beeinträchtigen.
- Dieses Problem wird gelöst und die Anforderungen der Benutzer werden erfüllt durch den Schnittstellenadapter/Umsetzer gemäß Anspruch 1.
- Insbesondere ist bei diesem Umsetzer eine einfache Zustandsmaschine, die auf einer Seite schnittstellenmäßig mit einem Differential-SCSI-Bus und auf der anderen Seite mit einem Eintakt-SCSI-Bus verbunden ist, in der Lage, den Start eines Entscheidungsschrittes zu erkennen und zu erkennen, ob eine oder mehrere Einheiten mit dem Eintakt-SCSI-Bus verbunden sind, und welche derselben an dem Entscheidungsprozeß teilnimmt, wobei dieselbe folglich in der Lage ist, die Übertragungsrichtung zwischen den zwei Schnittstellen über vorbestimmte Schnittstellenleitungen zu steuern, derart, daß der Entscheidungsprozeß und der nachfolgende Kommunikationsaustauschprozeß im Einklang mit dem Protokollsatz für den SCSI-Bus ausgeführt werden können.
- Um die Dauer des Entscheidungsprozesses zu minimieren, ist der Schnittstellenadapter/Umsetzer dieser Erfindung vorteilhafterweise für eine Verbindung mit einer einzelnen Zieleinheit, die eine Eintakt-SCSI-Schnittstelle aufweist, angeordnet.
- Der Adapter/Umsetzer kann jedoch als eine Schnittstelleneinheit mit einem Eintakt-SCSI-Bus vorgesehen sein, mit dem mehrere Peripheriegeräte, die vorzugsweise alle vom Zieltyp sind, verbunden sein können.
- Selbst diese Einschränkung kann auf Kosten einer erhöhten Komplexität des Adapters/Umsetzers beseitigt werden, der in diesem Fall als eine Zusammenschaltungsverbindung zwischen zwei SCSI-Bussen, d. h. einem Differential-SCSI-Bus und einem Eintakt-SCSI-Bus, arbeiten würde, wobei die Gesamtzahl der miteinander verbundenen Einheiten nicht größer als 8 sein darf.
- In all diesen Fällen arbeitet der Adapter/Umsetzer als ein Universalgerät und erfordert keine spezifische Anpassung an die Systemkonfiguration und an die Identifizierer von Peripherieeinheiten, die in dem SCSI-Bus verschaltet sind. Die Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung und den beiliegenden Zeichnungen deutlicher werden. Es zeigen:
- Fig. 1 eine Zeiteinteilungsübersicht, die das bei dem SCSI-Bus verwendete Kommunikationsprotokoll beschreibt;
- Fig. 2 ein allgemeines Diagramm eines bevorzugten Ausführungsbeispiels des Umsetzers gemäß der vorliegenden Erfindung;
- Fig. 3 ein detailliertes Diagramm einer Logiksteuerschaltung des Umsetzers in Fig. 2 zum Steuern der Flußrichtung eines ausgewählten Signals;
- Fig. 4 eine Modifikation der Schaltung in Fig. 3;
- Fig. 5 ein Strukturblockdiagramm einer Maschine endlicher Zustände (finite state machine) des Umsetzers in Fig. 2;
- Fig. 6 ein logisches Flußdiagramm, das die Zustände der Maschine in Fig. 5 und die Übergänge von einem Zustand auf den anderen darstellt; und
- Fig. 7 ein logisches Flußdiagramm, das die Zustände einer Zustandsmaschine für einen Umsetzer darstellt, der offen für die Verbindung von Ziel- und Auslöse-Einheiten ist, die beliebig entweder mit dem Differential-Bus oder dem Eintakt-Bus verbunden sind.
- Für ein besseres Verständnis der Erfindung wird es als geeignet angesehen, zuerst die grundlegenden Merkmale eines SCSI-Busses zusammenzufassen.
- Der SCSI-Bus ist ein Kommunikationskanal, der angeordnet ist, um bis zu acht Geräte, die mit einer SCSI-Schnittstelle versehen sind, zu verbinden.
- Eine Kommunikation über den SCSI-Bus findet zu einem Zeitpunkt jeweils nur zwischen zwei Geräten statt, von denen eines als der "Initiator" (Auslöser) der Kommunikation und das andere als der Adressat oder das "Ziel" der Kommunikation wirkt.
- Die Geräte, die in einem SCSI-Bus verschaltet sind, spielen üblicherweise eine feste Rolle, d. h. jeweils als Initiator und Ziel, wobei es jedoch Geräte gibt, die beide Rollen spielen können.
- Ein typisches Beispiel eines Initiators würde ein I/O-Prozessor sein, wobei ein typisches Beispiel für ein Ziel eine Platteneinheit, eine CDROM-Leseeinrichtung oder dergleichen sein würde.
- Initiatoren und Ziele können in einem SCSI-Bus in beliebigen Kombinationen verbunden sein, jedoch unter der Bedingung, daß zumindest ein Initiator und ein Ziel vorhanden ist.
- Bestimmte Kommunikationsfunktionen sind dem Initiator zugewiesen, wobei andere dem Ziel zugewiesen sind.
- Der Initiator kann eine Entscheidung für einen Zugriff auf den SCSI-Bus verlangen und ein gegebenes Ziel auswählen. Ein Ziel kann jedoch ebenfalls eine Entscheidung für einen Zu griff auf den SCSI-Bus verlangen, um einen Initiator erneut auszuwählen und die unterbrochenen Operationen wieder aufzunehmen.
- Im allgemeinen spricht das Ziel auf die Anforderung von dem Initiator hinsichtlich der Übertragung von Befehlen, Daten, und Zuständen auf einem Datenkanal an.
- Die Übertragung von Informationen auf dem Datenkanal ist üblicherweise asynchron (kann jedoch auch synchron sein) und wird in Übereinstimmung mit einem vorbestimmten Anforderungs/Bestätigungs-Protokoll ausgeführt, das als der Handshake-Betrieb (handshake = Quittungsaustausch) von zwei Signalen REQ/ACK bekannt ist.
- Die Signale, die von dem SCSI-Bus verwendet werden, und die entsprechenden Leitungen stellen sich wie folgt dar:
- BSY (busy = belegt) eine Leitung und ein Signal, die/das, wenn dieselbe aktiviert oder dasselbe logisch wahr ist, angibt, daß der Kanal verwendet wird;
- SEL (selection = Auswahl) eine Leitung und ein Signal, die/das durch einen Initiator aktiviert wird, um ein Zielperipheriegerät auszuwählen, und durch ein Ziel aktiviert wird, um einen Initiator erneut auszuwählen;
- C/D (commands/data = Befehle/Daten) eine Leitung und ein Signal, die/das durch ein Ziel getrieben bzw. angesteuert wird, um anzugeben, ob die Informationen, die auf dem Kanal vorhanden sind, Daten (ein logisch falsches C/D-Signal) oder Befehlssignale (ein logisch wahres C/D-Signal) sind;
- I/O (input/output = Eingang/Ausgang) ein Leitung und ein Signal, die/das von einem Ziel getrieben werden, um die Richtung eines Datenstroms durch den Datenkanal relativ zu einem Imtiator, anzugeben; wenn dieselbe aktiviert oder dasselbe logisch wahr ist, gibt die/dasselbe an, daß die Daten in den Initiator eingegeben werden; dieses Signal wird ferner verwendet, um einem Auswahlschritt über einen Neu-Auswahlschritt zu informieren (logisch wahres oder aktiviertes I/O-Signal);
- MSG (message = Mitteilung) eine Leitung und ein Signal, die/das während eines Mitteilungs- bzw. Nachrichtenschrittes von einem Ziel getrieben wird;
- REQ (request = eine Leitung und ein Signal, die/das Anforderung) von einem Ziel getrieben wird, um eine Anforderung einer Übertragung anzugeben;
- ACK (acknowledge = Bestätigung) eine Leitung und ein Signal, die/das von einem Initiator getrieben wird, um den Empfang einer Übertragungsanforderung zu bestätigen;
- ATN (attention = Achtung) eine Leitung und ein Signal, die/das von einem Initiator getrieben wird, um vor einem Achtung-Zustand zu warnen;
- DB(0-7, P) Leitungen und Signale einer Datenübertragung (8) und eines Paritätsbits (parity bit); diese können von beliebigen Einheiten getrieben werden, die in dem Bus verschaltet sind; während eines Entscheidungsschrittes können dieselben verwendet werden, um durch ihre Aktivierung die verschiedenen Einheiten zu identifizieren, die hinsichtlich eines Zugriffs auf dem Bus konkurrieren; jeder Einheit ist eine/eines der acht Leitungen/Signale zugeordnet; während eines Auswahl- oder Neu-Auswahl-Schrittes identifizieren die aktivierten Signale den Initiator und das Ziel, die an der Übertragung von Informationen teilnehmen.
- Ferner ist eine Rücksetz-Leitung und ein Rücksetz-Signal (RST; RST = reset) vorgesehen, die von einer beliebigen Einheit getrieben werden können, jedoch üblicherweise von einem Initiator getrieben werden.
- Von dem Logik-Standpunkt aus weist der Betrieb des SCSI-Busses fünf getrennte Schritte auf, wie es durch das Zeiteinteilungsdiagramm von Fig. 1 dargestellt ist. Die folgenden Annahmen werden sowohl in den Figuren als auch später in der Beschreibung verwendet:
- ein Signal ist immer dann aktiviert oder logisch wahr oder auf einem logischen Pegel von 1, wenn dessen elektrischer Pegel "0" (Null) oder niedrig oder deaktiviert oder logisch falsch ist, oder ist immer dann auf einem logischen Pegel von 0, wenn dessen elektrischer Pegel positiv oder logisch hoch ist.
- Fig. 1 zeigt die elektrischen Pegel.
- Die Operationsschritte des SCSI-Busses stellen sich wie folgt dar:
- 1) Freier Bus (BUS FREE, Intervall t1-t2): während dieses Schrittes sind beide Signale BSY und SEL logisch falsch, wobei keine Übertragung auf dem Bus stattfindet.
- 2) Entscheidungsschritt (ARBITRATION = ENTSCHEIDUNG, Intervall t2-t4): eine beliebige Einheit, die mit dem Bus verbunden ist, kann diesen Schritt aktivieren, indem dieselbe BSY und das Einheit-Identifikationssignal auf der Leitung DBi, die auf dieselbe bezogen ist, aktiviert, nachdem überprüft worden ist, daß der Bus eine vorbestimmte minimale Zeitperiode lang frei gewesen ist.
- Mehrere Einheiten können an der Entscheidung in dem asynchronen Modus teilnehmen. Folglich werden die verschiedenen Einheiten, die an der Entscheidung teilnehmen, den Zustand des Datenkanals DB(0-7) überprüfen, nachdem dieselben eine vorbestimmte Zeitperiode lang gewartet haben. Diejenige Einheit, die das Identifizierungssignal mit höchster Gewichtung (die Gewichtung der Signale DBi erhöht sich von 0 auf 7) hat, kann dann das Signal SEL (Zeitpunkt t3) aktivieren, wohingegen die anderen Einheiten das Signal BSY (das von der Einheit, die die Entscheidung gewonnen hat, weiterhin in einem aktivierten Zustand getrieben wird) und deren Identifizierungssignal DBi innerhalb eines vorbestimmten Zeitintervalls (Zeitpunkt t4) lösen bzw. deaktivieren sollen. Die Gewinnereinheit kann ein Initiator sein, der darauf gerichtet ist, ein Ziel auszuwählen, oder kann ein Ziel sein, das darauf gerichtet ist, einen Initiator erneut auszuwählen.
- 3) Auswahlschritt (SELECTION = AUSWAHL, Intervall t5-t8); der Gewinnerinitiator läßt nach dem Aktivieren des Signals SEL eine vorbestimmte minimale Zeitperiode t3, t4 verstreichen, um zu ermöglichen, daß die anderen Einheiten den Datenkanal DB fallen lassen, und um zu ermöglichen, daß der letztere einen stabilen elektrischen Zustand erreicht (SETTLE DELAY = Einschwingverzögerung, Intervall t4 bis t5), woraufhin derselbe auf dem Datenkanal zusätzlich zu seinem eigenen Identifizierer den Identifizierer für die Zieleinheit (und das korrekte Paritätsbit DBP) und das Signal ATN auf der gleichnahmigen Leitung (Zeitpunkt t5) aktiviert.
- Um eine Ausbreitung der vorher aktivierten Signale entlang dem Kanal sicherzustellen, läßt derselbe daraufhin nach einer vorbestimmten Zeitperiode das Signal BSY fallen, das auf den logischen falschen oder deaktivierten Pegel übergehen wird.
- Das ausgewählte Ziel erkennt sich selbst als das Ziel, da dessen Identifizierer DBi zusammen mit dem Signal SEL aktiviert ist, wohingegen das Signal BSY deaktiviert ist, und es bestätigt die Erkennung, indem dasselbe das Signal BSY auf einen logisch wahren oder aktivierten Pegel treibt (Zeitpunkt t7).
- Zu diesem Zeitpunkt kann der Initiator, der das aktivierte Signal BSY erkennt, den Auswahlschritt beenden, das Signal SEL fallen lassen und die Daten aus dem Kanal DB entfernen (Zeitpunkt t8).
- 4) Informationsübertragungsschritt (INF. TRANSFER = INFORMATIONSÜBERTRAGUNG, Intervall t8-t9); sobald der Auswahlschritt abgeschlossen ist, befiehlt das ausgewählte Ziel die Übertragungsoperationen, indem es die Signale C/D, I/O, MSG auf einen geeigneten Pegel treibt, und indem es das Signal REQ einmal oder mehrere Male aktiviert, worauf der Initiator mit dem Signal ACK antwortet.
- Während dieses Schrittes wird der Kanal DB von jeder Einheit, die an der Übertragung teilnimmt, entsprechend dem Logikpegel des Signals I/O getrieben.
- Nach Abschluß der Übertragungsoperation stellt das Ziel das Signal BSY ein, wobei der Bus wieder in den Bus- Frei-Zustand (Zeitpunkt t9) versetzt wird.
- 5) Neu-Auswahlschritt (RESELECTION = NEUAUSWAHL, Intervall t5-t8); Zieleinheiten, die mit einem Initiator erneut verbunden werden wollen, können ebenfalls auch an der Entscheidung teilnehmen.
- Die Zieleinheit, die als Gewinner aus der Entscheidung hervorgeht, aktiviert einen Neu-Auswahlschritt, indem dieselbe das Signal SEL, das Signal I/O und den Identifizierer DBi des adressierten Initiators aktiviert, und deaktiviert schließlich das Signal BSY in Erwartung darauf, daß der adressierte Initiator die Neu-Auswahl bestätigt, bei welchen Auftretens das Ziel das Signal SEL fallen läßt und das Signal BSY auf den logisch wahren Pegel treibt, bis der folgende Übertragungsschritt abgeschlossen ist.
- Folglich ist der Neu-Auswahlschritt mit dem Auswahlschritt identisch, mit der Ausnahme, daß das Signal I/O anstelle des Signals ATN aktiviert wird.
- Es wird folglich offensichtlich, daß bestimmte Signale, wie z. B. die Signale C/D, I/O, MSG und REQ, immer von einem Ziel getrieben werden, wohingegen andere Signale, wie z. B. ACK oder ATN, immer von einem Initiator getrieben werden, wobei aber die restlichen Signale DBi, BSY und SEL entsprechend den Schritten und der Rolle, die von den miteinander verbundenen Einheiten gespielt werden, unterschiedlich getrieben werden.
- Eine korrekte Abwicklung dieser Signale wird von dem Umsetzer, der in dem Diagramm von Fig. 2 gezeigt ist, geliefert, der ein bevorzugtes Ausführungsbeispiel bildet, und der insbesondere angeordnet ist, um eine einzelne Zieleinheit, wie z. B. eine Platteneinheit, mit einem Differential-SCSI-Bus zu verbinden.
- Der Umsetzer ist allgemein mit dem Bezugszeichen 1 bezeichnet und umfaßt eine Mehrzahl von Differentialtreibern 2, 4, 6, 9, 11, eine Mehrzahl von Differentialempfängern 3, 5, 7, 8, 10, 12, 13, 14, eine Mehrzahl von Leitungspolarisationswiderständen 15, 16, 17, 18, 19, 20, 21, 28, zwei in Reihe geschaltete Invertierer 22, 22a, eine Steuerlogik 24 zum übertragen des Signals SEL und eine Zustandsmaschine 23, die von einem Taktsignal CK getaktet wird, das von einem Oszillator 124 erzeugt werden soll. Der Umsetzer weist Schnittstellenanschlüsse für eine Verbindung mit einer Peripherieeinheit 25 mit einer Eintakt-SCSI-Schnittstelle, und zum Übertragen der vorher beschriebenen Signale (DB(0-7), DBP, I/O, REQ, usw.) und Anschlußpaare für eine Verbindung mit einem Differential-SCSI-Bus und zum übertragen der oben beschriebenen Signale über einen Differentialbus auf.
- Diese Signale sind genauso wie die entsprechenden Eintakt- Schnittstellensignale bezeichnet worden, jedoch mit einem Präfix D (DDB(0-7), DDBP, DC/D, DI/O, usw.).
- Zur Vereinfachung und Verdeutlichung sind die Signalübertragungsleitungen genauso wie die Signale, die dieselben übertragen, bezeichnet wird.
- Der Treiber 2 und der Empfänger 3 in dem Block 26 stellen ein Oktett aus Treiber-Empfänger-Paaren dar, von denen jedes einen Treiberdifferentialausgang aufweist, der mit dem Differentialeingang des Empfängers verbunden ist, wobei der Treibereingang mit dem Empfängerausgang verbunden ist.
- Der Differentialausgang/Eingang jedes Paars ist jeweils mit einem Paar der Datenleitungen DDB(0-7) verbunden.
- Der Eingang jedes Treibers (und der entsprechende Empfängerausgang) ist jeweils mit einer der Datenleitungen DB(0-7) der Eintaktschnittstelle verbunden und durch einen Vorspannungswiderstand 15, der mit einer Spannungsversorgung +V (z. B. +5 V) verbunden ist, auf ein positives elektrisches Pegel vorgespannt.
- Der Widerstand 15 ist tatsächlich eine Ansammlung von acht diskreten Widerständen, d. h. ein Widerstand für jede Leitung.
- Die acht Treiber 2 werden von einem jeweiligen der acht Befehlssignale DBT(0-7) einzeln für eine Übertragung freigegeben, wenn sich das darauf bezogene Befehlssignal auf einem positiven elektrischen Pegel befindet.
- Die Signale DBT(0-7) werden von der Zustandsmaschine 23 erzeugt.
- Wenn sich das Befehlssignal DBT(0-7) auf einem elektrischen Pegel von "0" befindet, ist der Treiber offen, wobei dessen Ausgänge getrennt sind, d. h. derselbe ist in einem "tristate"-Zustand.
- Entsprechend werden die acht Empfänger 3, die einen invertierenden Befehlseingang aufweisen, von einem jeweiligen der acht Signale DBR(0-7) einzeln für einen Empfang freigegeben, wenn sich das Befehlssignal auf einem elektrischen Pegel von "0" befindet.
- Andernfalls sind deren Ausgänge getrennt (Tri-State- bzw. Drei-Zustands-Zustand). Die Signale DBR(0-7) werden auch von der Zustandsmaschine 23 erzeugt.
- Das Paar aus dem Treiber 4 und dem Empfänger 5 bildet einen Sende-Empfänger, dessen Eingang/Ausgang mit der Eintakt- Schnittstellenleitung DBP (die durch den Widerstand 16 auf einen positiven elektrischen Pegel vorgespannt ist) verbunden ist, und dessen Differential-Eingang/Ausgang mit dem Leitungspaar DDBP (Paritätsbit) der Differentialschnittstelle verbunden ist.
- Der Treiber 4 und der Empfänger 5 werden durch das Signal DBPDIR, das von der Zustandsmaschine 23 ausgegeben wird und an den jeweiligen Befehlseingängen derselben anliegt, für einen Empfang und eine Übertragung auf eine gegenseitig ausschließende Art und Weise freigegeben.
- Der Treiber 6 in dem Block 27 stellt eine Ansammlung von vier Treibern dar, deren Eingänge jeweils mit den Leitungen I/O, REQ, C/D, MSG der Eintakt-Schnittstelle verbunden sind, und deren Differentialausgänge jeweils mit der homologen Differential-Schnittstellenleitung verbunden sind.
- Die Treiber befinden sich üblicherweise in einem Tri-State- Zustand und werden von einem Signal TGS mit einem positiven elektrischen Pegel für eine Übertragung freigegeben.
- Das Signal TGS wird von der Zustandsmaschine 23 erzeugt.
- Hinsichtlich der getroffenen Annahme, daß die Einheit 25 ein Zielperipheriegerät war, wird es ausreichend sein, wenn dasselbe in der Lage ist, die Signale I/O, REQ, C/D, MSG in Richtung eines Initiators zu übertragen, der mit der Differential-Schnittstelle verbunden ist.
- Folglich sind keine Empfänger erforderlich, um diese Signale von der Differential-Schnittstelle in Richtung des Peripheriegeräts zu übertragen.
- Aus dem gleichen Grund sind die Differentialeingänge der permanent freigegebenen Empfänger 7, 8 jeweils mit den Leitungspaaren DACK, DATN verbunden, und die Ausgänge derselben sind jeweils mit den Eintakt-Schnittstellenleitungen ACK, ATN verbunden, um das Achtung- (ATN-) und das Bestätigungs- (ACK-)Signal, das von einem Initiator erzeugt wird, zu der Zieleinheit 25 zu übertragen.
- Die Leitungen ACK und ATN sind durch das Widerstandspaar 18 auf einen positiven elektrischen Pegel vorgespannt.
- Der Differentialausgang des Treibers 9 ist mit dem Differentialschnittstellenleitungspaar DBSY und der Eingang desselben mit Masse verbunden, wobei der Treiber 9 durch ein Signal DBSYENT mit einem positiven elektrischen Pegel, das von der Zustandsmaschine 23 erzeugt wird, für eine Übertragung freigegeben wird.
- Der Differentialeingang des Empfängers 10 ist mit dem Leitungspaar DBSY und der Ausgang desselben mit dem Eingang des Invertierers 22 verbunden, wobei der Empfänger 10 durch den Widerstand 21 auf einen positiven elektrischen Pegel vorgespannt wird.
- Der Ausgang des Invertierers 22 ist mit dem Eingang des Invertierers 22A verbunden, dessen Ausgang mit der Eintakt- Schnittstellenleitung BSY verbunden ist.
- Die Leitung BSY wird durch den Widerstand 19 auf einen positiven elektrischen Pegel vorgespannt, und ist ferner mit einem Eingang der Zustandsmaschine 23 verbunden. Die zwei Invertierer 22, 22a, die sich in Serie befinden, arbeiten als Verzögerungs- und Pufferelemente.
- Der Empfänger 10 wird durch ein Signal DBSYENR, das von der Zustandsmaschine 23 erzeugt wird, zum Empfangen freigegeben, wenn sich dieses Signal auf einem elektrischen Pegel von "0" befindet.
- Der Differentialausgang des Treibers 11 ist mit dem Differentialschnittstellenleitungspaar DSEL verbunden, und der Eingang desselben ist mit Masse verbunden.
- Wie es üblicherweise in dem Tri-State-Zustand der Fall ist, wird derselbe durch ein Signal DSELENT mit einem positiven elektrischen Pegel freigegeben, um zu übertragen (und daher das Signal DSEL zu aktivieren).
- Das Signal DSELENT wird durch die Logikeinheit 24 erzeugt.
- Der Empfänger 13 mit Differentialeingang, der mit dem Leitungspaar DSEL verbunden ist, ist permanent freigegeben, um zu empfangen (der invertierende Befehlseingang desselben ist auf Masse gelegt), und derselbe überträgt das Signal SELDEF, das ein logisches Duplikat des Signals DSEL ist, zu der Einheit 24.
- Der Empfänger 12 mit Differentialeingang, der mit dem Leitungspaar DSEL verbunden ist, wird durch ein Signal DSELENR mit einem elektrischen Pegel von "0" für einen Empfang freigegeben, das von der Einheit 24 erzeugt wird, zu der derselbe, wenn freigegeben, das Signal DSELRX überträgt, das eine logische Kopie des Signals DSEL ist. Der Ausgang des Empfängers 12 ist durch einen Widerstand 29 auf einen positiven elektrischen Pegel vorgespannt. Die Einheit 24 weist einen Ausgang auf, der mit der Eintakt-Schnittstellenleitung SEL verbunden ist, um das Signal SEL zu empfangen und zu übertragen. Die Leitung SEL ist ferner mit einem Eingang der Zustandsmaschine 23 und mit einem Vorspannungswiderstand 28 verbunden.
- Schließlich ist der Differentialeingang des Empfängers 14, der permanent für einen Empfang freigegeben ist, mit dem Leitungspaar DRST verbunden, und der Ausgang desselben ist mit der Eintakt-Schnittstellenleitung RST (die durch den Widerstand 20 vorgespannt ist) verbunden, um ein Rücksetz-Signal (Reset-Signal) von einem Initiator zu dem Peripheriegerät 25 und zu der Einheit 24 zu übertragen, die dasselbe als Signal RSTX zu der Zustandsmaschine zuführen wird.
- Vor einer detaillierten Erörterung der Zustandsmaschine 23, die den gesamten Kommunikationsprozeß zwischen den Differential- und Eintakt-Schnittstellen steuert, kann es hilfreich sein, zuerst die Logikeinheit 24, die das Signal SEL steuert, und die unabhängig von der Zustandsmaschine arbeitet, detailliert zu betrachten.
- Bezugnehmend auf Fig. 3 weist die Einheit 24 zwei D-Typ- Flip-Flops 30, 31, drei Invertierer 32, 33, 34, drei UND- Gatter 35, 36, 37, ein NAND-Gatter 38 und ein ODER-Gatter 39 auf.
- Die Eingangsleitung bzw. das Eingangssignal DSELRX ist mit einem Eingang des UND-Gatters 36 und mit dem Eingang des Invertierers 32, der mit dem Invertierer 33 in Reihe geschaltet ist, dessen Ausgang mit der Eintakt-Schnittstellenleitung SEL verbunden ist, verbunden.
- Die Leitung SEL ist mit dem Takteingang des Flip-Flops 31, mit einem Eingang des NAND-Gatters mit zwei Eingängen 38 und über den Invertierer 34 mit einem zweiten Eingang des UND- Gatters 36 verbunden, das auf einem dritten Eingang ein Initialisierungsrücksetzsignal RSTO empfängt (das üblicherweise erzeugt wird, wenn die Vorrichtung eingeschaltet wird), das sich üblicherweise auf einem positiven elektrischen Pegel befindet und sich auf einem Pegel von "0" befindet, wenn die Vorrichtung eingeschaltet wird.
- Ein vierter Eingang des UND-Gatters 36 ist mit dem Ausgang des Flip-Flops 31 verbunden.
- Die Unterstreichung des Bezugszeichens, das hier einen Anschluß oder ein Signal identifiziert, bedeutet hier eine Umkehrung oder Invertierung des elektrischen Pegels des Anschlusses oder Signals, und wird später derart verwendet werden.
- Der Dateneingang D des Flip-Flops 31 ist mit Masse verbunden, während der Setz-Eingang S (set input) desselben mit den Leitungen DSELRX verbunden ist, und an dem Rücksetz- Eingang R (reset input) desselben das Signal RSTO eingegeben wird.
- Der Ausgang des UND-Gatters 36 ist mit der Übertragungsbe fehlsleitung DSELENT, dem Takteingang des Flip-Flops 30 und einem Eingang des ODER-Gatters 39 mit zwei Eingängen verbunden.
- Der Dateneingang D und der Setz-Eingang S des Flip-Flops 30 sind auf einen positiven elektrischen Pegel vorgespannt, und der Ausgang Q desselben ist mit dem zweiten Eingang des ODER-Gatters 39 verbunden, dessen Ausgang mit dem Befehlseingang des Empfängers 12 verbunden ist.
- Der Ausgang des Empfängers 13 ist mit dem zweiten Eingang des NAND-Gatters 38 verbunden, dessen Ausgang mit einem ersten Eingang des UND-Gatters 37 verbunden ist, das das Signal RSTO an dem zweiten Eingang desselben empfängt.
- Der Ausgang des UND-Gatters 37 ist mit dem Rücksetz-Eingang des Flip-Flops 30 verbunden.
- Die Logik 24 arbeitet, um zwischen der Differential- und der Eintakt-Schnittstelle eine HIn-Und-Her-Übertragung zu ermöglichen, um dadurch Überlastungs- bzw. Verzögerungssituationen zu vermeiden.
- Außerdem sollte die Übertragung von Störsignalen bei dem Übergang von einem aktivierten auf einen deaktivierten Pegel verhindert werden. Das Signal SEL kann über den Differentialbus durch einen Initiator aktiviert werden, um das Peripheriegerät 25 (Fig. 2) als die Zieleinheit auszuwählen, oder kann durch das Peripheriegerät 25 aktiviert werden, um einen Initiator erneut auszuwählen.
- Die zwei Operationen sind getrennt und nicht Zeitüberlappend. Das Logiknetzwerk 24 wird durch das Signal RSTO anfänglich zurückgesetzt, wobei in diesem Zustand ohne weiteres überprüft werden kann, daß sich die Signale DSELENR und DSELENT auf einem elektrischen Pegel von "0" befinden, wodurch der Empfänger 12 freigegeben und der Treiber 11 gesperrt wird.
- Wenn das Signal DSEL aktiviert ist, wird das Signal DSELRX auf einen Pegel von 0 gezogen und in das UND-Gatter 36 eingegeben, um den Empfänger 12 in dem freigegebenen Zustand zu halten und den Treiber 11 in dem eingerasteten bzw. gelatchten Zustand zu halten.
- Das Signal DSELRX mit einem Pegel von 0, das von den zwei Invertierern 32, 33 übertragen wird, bewirkt, daß das Signal SEL an der Eintakt-Schnittstelle aktiviert wird, und wird an den Setz-Eingang des Flip-Flops 31 zugeführt, um denselben in den Setz-Zustand umzuschalten.
- Wenn das Signal DSEL deaktiviert wird, und das Signal DSELRX zurück auf einen positiven elektrischen Pegel gebracht wird, während sich der Ausgang des Invertierers 34 noch auf einem positiven elektrischen Pegel befindet, wird der Ausgang des UND-Gatters 36 auf einem elektrischen Pegel von 0 gehalten, da das Flip-Flop 31 gesetzt worden ist.
- Lediglich aufgrund des Signals SEL, das sich von einem elektrischen Pegel von 0 auf einen positiven Pegel geändert hat, ergibt sich, daß das Flip-Flop 31 zurückgesetzt wird, während der Ausgang des Invertierers 34, der sich gegenwärtig auf einem elektrischen Pegel von 0 befindet, das UND-Gatter 36 in dem vorherigen Zustand hält.
- Falls das Signal SEL nun durch das Peripheriegerät 25 aktiviert wird, geht das Ausgangssignal des Invertierers 34 auf einen positiven elektrischen Pegel über, wobei als Ergebnis das Ausgangssignal des UND-Gatters 36 auf einen positiven Pegel übergeht, wodurch der Treiber 11 aktiviert und der Empfänger 12 eingerastet wird.
- Gleichzeitig wird das Flip-Flop 30 in einen Setz-Zustand gebracht, wobei dessen Ausgangssignal Q, das sich auf einem hohen elektrischen Pegel befindet, den Gesperrt-Zustand des Empfängers 12 wiederherstellt.
- Wenn das Signal SEL deaktiviert wird (d. h. auf einen positiven elektrischen Pegel gebracht wird) bleibt das bereits zurückgesetzte Flip-Flop 31 zurückgesetzt, und das Ausgangssignal des Invertierers 34 wird auf einen elektrischen Pegel von 0 gebracht.
- Folglich fällt das Ausgangssignal des UND-Gatters 36 auf einen elektrischen Pegel von 0 ab und sperrt den Treiber 11.
- Das hat jedoch keine Wirkung auf den Empfänger 12, der durch den Zustand des Flip-Flops eingerastet gehalten wird.
- Es liegt lediglich daran, daß das Signal DSEL auf einen aktivierten Pegel übergeht (wenn das Signal SEL bereits deaktiviert ist), wie es durch den Empfänger 13 erkannt wird, ob das gesetzte Flip-Flop 30 zurückgesetzt und der Empfänger 12 freigegeben wird.
- Das Freigeben des Empfängers 12 gleichzeitig mit dem Sperren des Treibers 11 könnte an dem Ausgang des Empfängers 12 einen unerwünschten Übergang auf einen elektrischen Pegel von 0 des Signals DSELRX erzeugen, das dann zu der Differentialschnittstelle übertragen werden würde.
- Eine durchführbare Modifikation der Schaltung in Fig. 3, die die gleiche Wirkung liefert, ohne die bistabilen Elemente und einen zusätzlichen Empfänger zu verwenden, um den Differentialbus zu überwachen, siehe beispielsweise Element 13, ist in Fig. 4 gezeigt.
- In Fig. 4 ist der Ausgang des UND-Gatters 36 über ein Verzögerungselement 40 mit dem zweiten Eingang des ODER-Gatters 39 verbunden (als auch direkt mit dem ersten Eingang des ODER-Gatters 39 und dem Befehlseingang des Treibers 11 verbunden).
- Zwei Eingänge des Gatters 36 sind mit dem Ausgang des Emp fängers 12 verbunden, wobei ein Eingang direkt und der andere Eingang über ein zweites Verzögerungselement 41 mit dem Empfänger 12 verbunden ist.
- Ein Eingangssignal RSTO in das UND-Gatter 36 liefert einen Anfangszustand des Netzwerks, wodurch der Empfänger 12 freigegeben und der Treiber 11 gesperrt wird.
- Auf die Aktivierung des Signals SEL hin geht das Ausgangssignal des UND-Gatters 36 auf einen elektrisch hohen Pegel über und gibt den Treiber 11 frei, wobei der Empfänger 12 gesperrt wird.
- Auf eine Deaktivierung des Signals SEL hin fällt das Ausgangssignal des UND-Gatters 36 auf einen Pegel von 0 ab und rastet den Treiber 11 ein.
- Das Freigeben des Empfängers 12 wird durch das Element 40 verzögert, so daß störende und unerwünschte Übergänge des Empfängerausgangssignals mit dem möglichen Auslösen von Schwankungen in dem Signal SEL verhindert werden können.
- Dementsprechend geht auf eine Aktivierung des Signals DSEL hin das Signal DSELRX auf einen elektrischen Pegel von 0 über und hält das Ausgangssignal des UND-Gatters 36 auf einem 0-Pegel, bevor die Signalübertragung über die Invertierer 32, 33 und 34 den auf ein logisch niedriges Ausgangssignal getrieben Zustand des Gatters 36 beseitigen kann.
- Auf eine Deaktivierung des Signals DSEL hin geht das Signal DSELRX in einen elektrisch hohen Pegel über, wobei jedoch eine Änderung des UND-Gatters 36 in einen Zustand mit einem logisch hohen Ausgangssignal durch das Verzögerungselement 41 verhindert wird, das dasselbe eine ausreichende Zeitdauer lang auf einen logisch niedrigen Pegel treibt, um zu ermöglichen, daß das Ausgangssignal aus dem Invertierer 34 von einem logisch hohen Pegel in einen 0-Pegel übergeht. Folglich wird der Empfänger 12 freigegeben und der Treiber 11 eingerastet bleiben.
- Es ist ersichtlich, daß die Fenster der Logik von Fig. 3 oder Fig. 4 nicht mit der Rolle der Einheiten, die mit den zwei Schnittstellen verbunden sind, in Beziehung steht, die beliebigerweise ein Initiator oder ein Ziel sein können.
- Fig. 5 zeigt den Aufbau der Zustandsmaschine 23 von Fig. 2 in schematischer Form.
- Die Zustandsmaschine umfaßt: ein Eingangsregister (INPUT REG) 42, das mit dem Signal CK getaktet wird, um die Eingangssignale I/O, DB(0-7), BSY, SEL zu übernehmen bzw. festzumachen; ein erstes Kombinationslogiknetzwerk 43, dem das Ausgangssignal des Registers 42 zugeführt wird, und das in Übereinstimmung mit dem Eingangssignal den Maschinenzustand einstellt; ein Zustandsregister (STATE REG) 44, dessen Eingänge mit dem Ausgang des Kombinationsnetzwerkes 43 verbunden sind; ein zweites Kombinationslogiknetzwerk 45, das mit dem Ausgang des Registers 44 verbunden ist; und ein drittes Ausgangsregister (OUTPUT REG) 46, dessen Eingänge mit dem Ausgang des Netzwerkes 45 verbunden sind.
- Die Ausgänge des Zustandsregisters 44 sind mit den Eingängen der Kombinationslogik 43 verbunden, in die auch die Ausgangssignale aus dem Register 46 eingegeben werden.
- In die Kombinationslogik 45 werden zusätzlich zu den Ausgangssignalen aus dem Register 44 die Ausgangssignale aus dem Register 42 und dem Register 46 eingegeben.
- Die Kombinationslogik 43 stellt den Maschinenzustand entsprechend den Eingangssignalen ein, und die Logik 45 entscheidet entsprechend dem Zustand und weiterer Eingangssignale, welche Pegel die Befehlssignale annehmen sollen, wobei einige dieser Signale, insbesondere die Signale DBT(0-7), DBSYENT, DBSYENR und TGS, in das Register 46 übernommen werden, wohingegen der Rest (DBPDIR und DBR(0-7)) oh ne eine Übernahme direkt zu ihren jeweiligen Treibern oder Empfängern zugeführt werden.
- Die drei Register 42, 44, 46 werden von dem Taktsignal CK getaktet, und die gesamte Maschine kann anfänglich durch das Signal RSTX zurückgesetzt werden.
- Ein Übernehmen der Signale an drei Pegeln stellt eine korrekte Funktionsweise der Zustandsmaschine selbst in der Anwesenheit mehrere Signale, die asynchron variieren, sicher und vermeidet dadurch Instabilitätsphänomene.
- Die Funktionsweise der Zustandsmaschine wird durch die folgende Tabelle 1 von Maschinenzuständen und durch das Zustandsdiagramm von Fig. 6 deutlich, das die unterschiedlichen Maschinenzustände und die Zwischenzustandsübergangsflüsse zeigt, und nicht durch eine einzeln aufgeführte Beschreibung der Kombinationslogikelemente.
- Ferner sind in Fig. 1 die Maschinenzustände zeitlich auf die Operationsschritte des Busses SCSI bezogen.
- Zur Vereinfachung und Verdeutlichung wird angenommen, daß ein einzelnes Zielelement mit der Eintakt-Schnittstelle des Wandlers verbunden ist.
- Die Beschreibung wird später erweitert, um auch die Verbindung mehrerer Zielelemente mit der Eintakt-Schnittstelle zu umfassen, und um einen Fall zu umfassen, bei dem die Geräte die mit der Eintakt-Schnittstelle verbunden sind, auch Initiatoren und nicht nur Zielelemente sind.
- Die Tabelle 1 listet alle möglichen Fälle auf und spezifiziert für jeden Zustand durch eine "1" oder einen "0" den (logisch hohen oder niedrigen) elektrischen Pegel der Ausgangssignale von der Zustandsmaschine. TABELLE 1
- Anmerkung A) DBi ist das Identifikationsbit für die Zieleinheit, die mit der Eintakt-Schnittstelle verbunden ist; wenn DB1 aktiviert ist, d. h. sich auf einen elektrischen Pegel von 0 befindet, befindet sich DBTi auf einem Pegel von 1.
- Anmerkung B) DBRi = 1; alle anderen DBRJ-Zustände (J ungleich i) befinden sich auf einem Pegel von 0.
- Die unterschiedlichen Maschinenzustände werden nun bezugnehmend auf Tabelle 1 und das Zustandsdiagramm von Fig. 6 erörtert.
- Entsprechend der Bus-Frei-Bedingung und einem Abschnitt des Entscheidungsschrittes (Fig. 1: BUS-FREI-ENTSCHEIDUNG) sind die Signale BSY und SEL in dem Anfangszustand inaktiv (logisch hoch).
- Die Maschine wartet auf eine Startzyklus, der mit der Aktivierung des Signals BSY auf dem Bus beginnt. Da das Signal BSY entweder auf dem Differentialbus oder der Eintakt- Schnittstelle aktiviert sein kann, muß das Signal DBSYENR in diesem Zustand bei einem Pegel "0" aktiv sein, und das Signal DBSYENT muß (bei einem Pegel 0) inaktiv sein, so daß die Maschine ein Signal BSY empfangen kann, das die verknüpfte ODER-Funktion des Signals DBSY und BSY ist.
- Außerdem sollte die Maschine bei diesem Schritt die Einheit, die mit der Eintakt-Schnittstelle verbunden ist, auf eine Aktivierung eines Einheit-Identifizierers DBi hin, um an der Entscheidung teilzunehmen, überprüfen.
- Folglich sollten alle Signale DBR(0-7) bei einem Pegel 1 in diesem Zustand inaktiv sein.
- Das Signal DBT(0-7) ist ferner bei einem Pegel 0 inaktiv. Falls ein Signal DBi aktiviert wird, wenn das Signal BSY aktiv ist und das Signal SEL deaktiviert ist, bedeutet dies, daß die Einheit, die mit der Eintakt-Schnittstelle verbunden ist, an der Entscheidung teilnimmt, und daß die Maschine in den Entscheidungszustand APR übergeht (Block 48).
- Die Zustandsänderungsbedingung ist durch die folgende Gleichung (wieder bezugnehmend auf den elektrischen Pegel der Signale) gegeben:
- BSY · SEL · DB = 1
- wobei DB = DB1 · DB2 · DB3... DB7.
- Falls andererseits kein Signal DBi während der Periode, da das Signal SEL aktiviert ist, aktiviert ist, geht die Maschine mit der Aktivierung des Signals SEL (in diesem Fall würde das Signal DSEL notwendigerweise aktiviert sein) in den Zustand SELST (Block 49) über.
- Die Zustandsänderungsbedingung ist durch die folgende Gleichung gegeben:
- BSY · SEL · DB = 1
- Durch Überprüfen der Signale BSY, SEL, DB(0-7) kann die Maschine folglich erkennen, daß ein Entscheidungsprozeß gestartet worden ist, ungeachtet davon, von wo aus der Prozeß gestartet worden ist, und ob die Einheit 25 (Fig. 2) an dem Entscheidungsprozeß teilnimmt.
- Es wird darauf hingewiesen, daß es bei diesem Schritt unerheblich ist, ob die Einheit 25 ein Ziel oder ein Initiator ist.
- Um eine Entscheidung durch diejenigen unterschiedlichen Einheiten zuzulassen, die in dem Bus verbunden sind, und für einen Zugriff auf den Bus konkurrieren können, ist es notwendig, daß die Einheit 25 ihren Identifizierer DBi auf den Differentialbus überträgt, und gleichzeitig den Identifizierer der Einheiten, die in den Differentialbus verschaltet sind, empfängt.
- Folglich muß sich das Signal DBTi bei diesem Zustand auf einem Pegel von 1 befinden, und die Signale DBRj (j ungleich i) müssen sich auf einem Pegel von 0 befinden.
- Das Ende des Entscheidungsprozesses wird durch die Gewinnereinheit bestimmt, die das Signal SEL aktiviert.
- Die Zustandsmaschine ist nicht in der Lage, festzustellen, welche Einheit das Signal SEL aktiviert hat, sondern kann lediglich erkennen, daß das Signal SEL aktiviert worden ist.
- Nach der Aktivierung des Signals SEL tritt die Zustandsmaschine in den Zustand SELECT (Auswahl; Block 50) ein.
- Der Änderungszustand ist durch die folgende Gleichung gegeben: BSY · SEL = 1
- In diesem Zustand kann die Maschine erkennen, ob die Einheit 26 der Gewinner bei der Entscheidung ist.
- Folglich muß die Bussituation (Zeitpunkt t4 in Fig. 1) identifiziert werden, bei der alle konkurrierenden Einheiten bis auf die Gewinnereinheit bei der Entscheidung ihren Identifizierer DBj deaktiviert haben.
- Diese Bedingung wird durch ein internes Signal ARB-END entsprechend der folgenden Gleichung identifiziert:
- ARB-END = DB0 · DB1 · DB2...DB7 + DB0 · DB1 · DB2...DB7 + ..................... DB0 · DB1 · DB2...DB7
- Dieses Signal kann nicht feststellen, ob die Entscheidung von der Einheit 25 oder von anderen Einheiten, die in dem Differentialbus verschaltet sind, gewonnen worden ist.
- Es ist daher offensichtlich, daß, falls sich die Einheit 25 als der Gewinner herausgestellt hat, das aktive Signal DBTi mit dem aktivierten Signal DBi kongruent sein wird. Diese Bedingung wird durch ein internes Signal WIN identifiziert, das gemäß der folgenden Gleichung erzeugt wird:
- WIN = DBT0 · DB0 · DBT1 · DB1 + ...DBT7 · DB7
- Offensichtlicherweise ist "WIN = 1" lediglich an dem Ende des Entscheidungsprozesses signifikant, wenn "ARE_END = 1" ist.
- Dies würde bedeuten, falls WIN = 0, wenn ARB_END = 1, daß die Einheit 25 (oder eine beliebige andere Einheit, die mit der Eintakt-Schnittstelle verbunden ist) bei der Entscheidung ein Verlierer ist.
- Folglich geht die Maschine bei dem Auftreten der Bedingung ARB_END · WIN = 1 in den Zustand WIN (Block 51, Fig. 6) und bei dem Auftreten der Bedingung ARB_END · WIN = 1 in den Zustand SELST (Block 49) über.
- In diesem Zustand hebt die Maschine alle Signale DBT(0-7) und alle Signale DBR(0-7) an, wodurch die Treiber 2 für eine Übertragung freigegeben und die Empfänger 3 (Fig. 2) geöffnet werden.
- Außerdem erhöht dieselbe den Pegel des Signals DBPDIR, wodurch der Treiber 4 für eine Übertragung freigegeben und der Empfänger 5 (Fig. 2) geöffnet wird.
- Ferner wird das Signal TGS auf einen Wert "1" gebracht, wodurch der Treiber 6 und die Übertragung der Signale I/O, REQ, MSG, C/D von der Einheit 25 zu dem Differentialbus freigegeben wird.
- Dies geschieht mit der Annahme, daß die Einheit 25 eine Zieleinheit ist, der erlaubt worden ist, für eine Neuauswahl-Operation auf den Bus zuzugreifen.
- Entsprechend dieser Annahme sind die Empfänger 7, 8 (Fig. 2) zu allen Zeitpunkten freigegeben.
- Das Signal DBSYENT wird auf einem hohen logischen Pegel gehalten.
- In diesem Zustand wird die Maschine darauf warten, daß das Signal BSY von der Einheit 25 deaktiviert wird, wobei die Maschine, wenn dies auftritt, in den Warte-Zustand WAIT übergeht.
- Die Änderungsbedingung ist durch die folgende Gleichung definiert:
- BSY · SEL = 1
- In diesem Zustand senkt die Maschine das Signal DBSYENT und das Signal DBSYENR, wodurch der Empfänger 10 freigegeben wird, um das Signal DBSY von dem Differentialbus zu empfangen.
- Wenn der Empfänger 10 freigegeben ist, überprüft die Maschine, ob das Ausgangssignal DBSYRX von dem Empfänger 10 tatsächlich deaktiviert (aus den gleichen Gründen, wie es bezüglich des Signals SEL beschrieben wurde) und durch die Invertierer 21, 22 (Fig. 2) über die Leitung BSY übertragen worden ist.
- Eine mögliche unerwünschte erneute Aktivierung über die Leitung BSY würde die Einheit 25 nicht stören, die in Übereinstimmung mit den SCSI Spezifikationen zumindest 400 ns seit der Deaktivierung des Signals BSY warten muß, bevor diese eine nachfolgende Aktivierung in Betracht ziehen kann.
- Die Bedingung für einen Wechsel in den nachfolgenden Zustand D_EN ist durch die folgende Gleichung gegeben:
- BSY · SEL = 1
- Alternativ und entsprechend zum vorhergehenden und bezugnehmend auf das Signal SEL kann ein zusätzlicher Differentialempfänger mit dem Leitungspaar DBSY verbunden und permanent freigegeben sein, um das Signal DBSY, das tatsächlich an dem Differentialbus vorhanden ist, zu der Zustandsmaschine zu übertragen, und die Freigabe des Empfängers 10 (Fig. 2) bis zu dem nächsten Zustand D_EN zu verzögern, was erhalten werden würde, wenn die folgende Bedingung erfüllt wird:
- BSY · SEL · DBSY = 1
- In diesem Zustand wird die Maschine auf ein Signal BSY warten, das durch die ausgewählte Einheit aktiviert werden soll.
- Sowie das Signal BSY, das durch den Empfänger 10 und die Invertierer 21, 22 empfangen wird, aktiviert ist, und wenn das Signal SEL und I/O durch die Einheit 25 aktiviert sind, erkennt die Maschine, daß eine Einheit korrekt neuausgewählt worden ist, und geht in den Zustand TARGET (TARGET = Ziel) über.
- Die Bedingung für einen Übergang in den nächsten Zustand ist durch folgende Gleichung gegeben:
- BSY · SEL · I/O = 1
- In diesem Zustand hebt die Maschine das Signal DBSYENT an, wodurch der Treiber 9 des Signals BSY auf dem Differentialbus freigegeben wird, und die Maschine wartet darauf, daß die Einheit 25 das Signal SEL deaktiviert und den Neuauswahl-Schritt beendet.
- Sowie das Signal SEL deaktiviert wird, während das Signal BSY aktiviert ist (entweder durch die ausgewählte Einheit oder die Einheit 25), geht die Maschine dementsprechend, ob das Signal I/O aktiviert oder deaktiviert ist, entweder in den Zustand OUTPUT oder INPUT über.
- Die Bedingungen zum Wechseln in den nächsten Zustand sind durch die folgenden zwei Gleichungen gegeben:
- BSY · SEL · I O = 1 → INPUT
- BSY · SEL · I/O = 1 → OUTPUT
- In diesem Zustand sperrt die Maschine den Empfänger 10 des Signals BSY und gibt alle Treiber frei, da die übertragenen Daten auf den Initiator, der die neu ausgewählte Einheit ist, gerichtet sind.
- Die Maschine geht in den Zustand OUTPUT über, wenn das Signal I/O deaktiviert wird (d. h. in einen elektrischen Pegel von 1 gebracht wird), vorausgesetzt, daß das Signal BSY logisch aktiviert und das Signal SEL deaktiviert ist.
- Falls das Signal BSY deaktiviert wird, kehrt die Maschine in den Zustand INIT zurück.
- Die Bedingungen zum Wechseln in die anderen Zustände sind durch die folgenden Gleichungen definiert:
- BSY · SEL · I/O = 1 → OUTPUT
- BSY ·SEL = 1 → INIT
- In diesem Zustand sperrt die Maschine den Empfänger 10 des Signals BSY und gibt die Empfänger 3 in dem Block 26 und die Empfänger 5 frei, da die übertragenen Daten an die Einheit 25 als die Zieleinheit gerichtet sind.
- Die Maschine geht in den Zustand INPUT über, falls das Signal I/O aktiviert wird, oder geht in den Zustand INIT über, falls das Signal BSY deaktiviert wird.
- Die Bedingung zum Wechseln in die anderen Zustände ist durch folgende Gleichungen definiert:
- BSY · SEL · = 1 → INPUT
- BSY · SEL = 1 → INIT
- Bislang sind die unterschiedliche Maschinenzustände berücksichtigt worden, die auftreten, wenn die Einheit 25 an der Entscheidung als Ziel teilnimmt, die Entscheidung gewinnt und einen Initiator neu-auswählt.
- Es ist ferner erwähnt worden, daß, falls die Einheit 25 nicht an der Entscheidung teilnimmt oder als ein Verlierer hervorgeht, die Zustandsmaschine in den Zustand SELST über geht.
- Da eine Entscheidung stattgefunden hat, kann es vorkommen, daß die Gewinnereinheit wünscht, die Einheit 25 als Ziel auszuwählen.
- Die Zustandsmaschine ermöglicht daher die Übertragung von Informationen von dem Differentialbus zu der Einheit 25, wobei sich die Signale DBR(0-7), die DBPDIR und DBSYENR auf einem 0-Pegel befinden.
- Wenn das Signal BSY deaktiviert wird, offensichtlicherweise wie von dem Differentialbus vorgegeben, geht die Maschine in den Zustand SEL_WAIT über.
- Die Bedingung für den Wechsel ist durch die folgende Glei chung definiert:
- BST · SEL = 1
- In diesem Zustand soll die Maschine überprüfen, ob die ausgewählte Einheit die Einheit 25 ist.
- Falls herausgefunden wird, daß die Einheit 25 die ausgewählte Einheit ist, aktiviert dieselbe das Signal BSY, bevor der Initiator das Signal SEL deaktiviert.
- Um diese Bedingung zu erkennen, hebt die Maschine das Signal DBSYENR an und stellt sich selbst für eine Erkennung des Signals BSY nur auf der Eintakt-Schnittstelle ein.
- Die Bedingung für einen Wechsel in den nächsten Zustand SEL_TGT ist durch die folgende Gleichung definiert:
- BSY · SEL = 1
- Falls diese Bedingung nicht erfüllt ist, geht die Maschine an dem Ende des Auswahlschrittes auf die Deaktivierung des Signals SEL hin in den Zustand INIT über, wiederum vorausgesetzt, daß das Signal BSY auf der Eintakt-Seite aktiviert worden ist.
- Die Bedingung für den Wechsel ist durch die folgende Gleichung definiert:
- BSY · SEL = 1
- In diesem Zustand ist der Treiber 9 des Signals BSY freigegeben, um zu ermöglichen, daß das Ziel die Bussteuerung (DBSYENT = 1) übernimmt.
- Sowie das Signal SEL durch den Initiator deaktiviert ist und der Auswahlschritt beendet ist, und der Übertragungsschritt beginnt, muß daraufhin der Zustand des Signals I/O (wie von dem Ziel vorgegeben) überprüft werden, um zu bestimmen, ob der nächste Zustand ein INPUT- oder OUTPUT-Zustand sein soll.
- Die Gleichungen, die die Bedingungen für ein Wechseln in die zwei Zustände definieren, stimmen mit denjenigen überein, die hierin im vorhergehenden für das Verlassen des Zustands TARGET gegeben worden sind.
- Wie in dem Flußdiagramm von Fig. 6 ferner angegeben ist, findet für jeden Zustand, der nicht der INIT-Zustand ist, auf die Erkennung des deaktivierten Signals BSY und SEL hin der Rücksprung zu dem Zustand INIT statt.
- Dies hat die Aufgabe, überlastete Situationen in dem Fall einer anomalen Unterbrechung zu vermeiden, die bei dem Entscheidungs- und dem Auswahlprozeß auftritt.
- Die obige Beschreibung hat einen Schnittstellenanpassungsumsetzer abgedeckt, der insbesondere auf das Verbinden eines Einzel-Ziel-Peripheriegeräts oder eines Differential-Busses ausgerichtet ist.
- Es wird darauf hingewiesen, daß der Umsetzer ein anonymer Typ ist und nicht erforderlicherweise auf den Identifizierer des Peripheriegeräts zugeschnitten werden muß, mit dem derselbe verbunden ist.
- Ohne jegliche spezielle konstruktive Komplikationen ist es durch einfache Modifikationen an der Zustandsmaschine ferner möglich, daß dieselbe als ein Schnittstellen-Umsetzer/Adapter zum Verbinden mehrere Zielperipheriegeräte mit einer Eintakt-SCSI-Schnittstelle mit einem Differential-SCSI-Bus wirken kann.
- Die Änderungen würden den Übergang der Zustandsmaschine von dem Zustand INIT in den Zustand SELECT grundlegend beeinflussen, und dieselben sind dadurch vorgegeben, daß, falls mehrere Ziele mit der Eintakt-Schnittstelle des Umsetzers verbunden sind und bei dem gleichen Entscheidungsschritt miteinander konkurrieren, die jeweiligen Identifizierer asynchron und nicht gleichzeitig aktiviert werden.
- Eine Zustandsmaschine wie diejenige, die oben beschrieben wurde, und die auf eine Erkennung eines ersten Identifizierers hin, der auf der Eintakt-Schnittstelle aktiviert wird, von dem Zustand INIT in den Zustand ARB übergeht und alle Empfänger des Datenkanals mit Ausnahme des Empfängers, der das aktivierte Identifikationsbit des ersten Identifizierers entspricht, frei gibt, würde später eine Erkennung dessen verhindern, ob weitere Identifizierer auf der Eintakt-Seite aktiviert worden sind.
- Um diese Einschränkung zu mildern, ist es ausreichend, daß ein Vorentscheidungszustand PRE_ARB zwischen dem Zustand INIT und dem Zustand ARB vorgesehen wird, wie es in Fig. 7 gezeigt ist, weshalb in einen Zustand ARB nach einem vorbestimmten Zeitintervall, das durch einen Zähler eingestellt ist, der durch den Oszillator 24 getaktet und lediglich in dem Zustand PRE_ARB freigegeben ist, eingetreten wird.
- Wenn die Bedingung BSY · SEL = 1 erfüllt wird, geht die Maschine in den Zustand PRE_ARB über.
- In diesem Zustand werden die Empfänger 3 in dem Block 26 noch in dem Tri-State-Zustand gehalten, und, wenn erkannt wird, daß die Signale DBi an der Eintakt-Schnittstelle aktiviert sind, werden die entsprechenden Treiber 2 in dem Block 26 (Fig. 2) freigegeben.
- Wenn der Zähler einen gegebenen Zählwert erreicht hat und ein Signal COUNT = 1 angehoben ist, kann die Zustandsmaschine in den Zustand ARB übergehen, wobei die Dauer des Zählintervalls auf jeden Fall kürzer als die minimale Entscheidungsverzögerung ist (die durch die SCSI-Spezifikationen als die minimale Zeitperiode eingestellt ist, die eine Vorrichtung zwischen der Aktivierung des Signals BSY vor dem Überprüfen des Zustands des Datenkanals DB(0-7) warten muß).
- In diesem Zustand wird die Maschine lediglich diejenigen Empfänger 3 in dem Block 26 freigeben, deren entsprechende Treiber nicht freigegeben sind.
- Das Ausgangsregister (Fig. 5) der Zustandsmaschine liefert alle Informationen, die zum Steuern dieser Operation benötigt werden.
- Es sind keine weiteren Änderungen an der Zustandsmaschine erforderlich, und die Zustandsmaschine geht auf die gleiche Weise, wie oben beschrieben, von dem Zustand ARB in den Zustand SELECT usw. über.
- Es ist ferner eine weitere Verallgemeinerung möglich, die ermöglicht, daß der Umsetzer mit Initiatoren und Zielen arbeitet, die auf eine beliebige Weise mit Differential- und Eintakt-Schnittstellen verbunden sind.
- Bezugnehmend auf das Zeiteinteilungsdiagramm von Fig. 1 ist ersichtlich, daß der Auswählschritt als solcher durch die Aktivierung des Signals ATN charakterisiert ist, und daß der Auswählschritt als ein Neuauswählschritt dadurch charakterisiert ist, daß das Signal I/O aktiviert ist.
- Folglich werden zu einem Zeitpunkt t5 Informationsdaten ATN oder I/O verfügbar, die ermöglichen, daß der Schritt erkannt wird.
- Der Zeitpunkt t5 ist mit keinerlei Strenge relativ zu den Zeitpunkten t3 oder t6 festgelegt, würde aber definitiv um nicht weniger als einen vorbestimmten minimalen Wert dem Zeitpunkt t6 vorausgehen.
- Es sollte ferner beachtet werden, daß ein neu-ausgewählter Initiator das Signal ATN während des Neuauswählschrittes aktivieren kann, um eine Mitteilung "BUS-VORRICHTUNG-ZURÜCK- GESETZT" oder "GETRENNT" zu dem Ziel zu übermitteln.
- In diesem Fall würde das Signal ATN jedoch zwangsläufig erzeugt werden, nachdem der Initiator sich selbst als neu ausgewählte Einheit erkannt hat, d. h. nach dem Zeitpunkt t6.
- Wenn sich die Zustandsmaschine in dem Zustand WIN befindet, was bedeutet, daß eine Einheit, die mit der Eintakt-Schnittstelle verbunden ist, bei der Entscheidung gewonnen hat, und entsprechend dem, ob das Signal ATN oder I/O während des Zustands WIN aktiviert wird, wird die Einheit folglich entweder ein Initiator oder ein Ziel sein.
- Wenn sich die Zustandsmaschine in dem Zustand SELST befindet, was bedeutet, daß eine Einheit, die in dem Differentialbus verbunden ist, sich als der Gewinner bei der Entscheidung herausgestellt hat, und entsprechend dem, ob das Signal ATN oder I/O während des Zustands SELST aktiviert ist, wird die Einheit entweder ein Initiator oder ein Ziel sein.
- Um zu ermöglichen, daß die Zustandsmaschine die Signale ATN und I/O ungeachtet ihres Ursprungs empfangen kann, können Schaltungen, wie z. B. diejenigen, die in Fig. 3 und 4 dargestellt sind, anstelle des Empfängers 8 und des Treibers 6 von Fig. 2 verwendet werden, wobei das Signal ATN in die Zustandsmaschine eingegeben werden kann.
- Um das Rücksetz-Signal RST bidirektional zu übertragen, kann ein Verfahren verwendet werden, daß zu dem ähnlich ist, das verwendet wurde, um das Signal BSY zu verwalten, und das von der Zustandsmaschine 23 gebildet wurde, obwohl es bevorzugt wird, daß die Rücksetz-Funktion für einen einzelnen Initiator reserviert ist, der entweder mit dem Differentialbus oder der Eintakt-Schnittstelle verbunden ist.
- Offensichtlicherweise sollten der Block 27 und der Empfänger 7 durch vier Sende-Empfänger ersetzt werden, die sich unter der Steuerung der Zustandsmaschine befinden, um zu ermöglichen, daß der Fluß der Signale C/D, MSG, REQ und ACK, je nachdem, in einer Richtung oder der anderen Richtung stattfinden kann.
- Alternativ wäre es ferner möglich, den Fluß der Signale DBP, C/D, MSG, REQ, ACK unter Verwendung von Schaltungen zu steuern, die zu denjenigen ähnlich sind, die verwendet werden, um die Flußrichtung der Signale SEL, ATN und I/O zu steuern.
- Dies führt dazu, daß der Fluß dieser Signale sowohl durch die Rolle der Einheiten, die in dem Differentialbus der Eintakt-Einheit verschaltet sind, als auch durch die Schritte des Interkommunikationsprozesses vollständig unbeeinflußt sind.
- Folglich ist für den Fluß dieser Signale keine Verwaltung durch die Zustandsmaschine erforderlich.
- Die Erkennung durch die Zustandsmaschine, welche Rolle von den Einheiten gespielt wird, wird lediglich benötigt, um die INPUT- und OUTPUT-Zustände korrekt zu verwalten.
- Fig. 7 ist ein Flußdiagramm der Zustände einer Zustandsmaschine, die die Kommunikation zwischen einem Differential- SCSI-Bus und einem Eintakt-SCSI-Bus verwaltet, wobei keine Einschränkungen bezüglich der Rollen und der Anzahl der in jedem Bus verschalteten Einheiten bestehen, vorausgesetzt, daß die Gesamtzahl der Einheiten höchstens 8 ist.
- Da viele Maschinenzustände zu den in Fig. 6 beschriebenen Zuständen funktional äquivalent sind, werden die gleichen Bezugszeichen für diese Zustände verwendet.
- Auf eine Erkennung der Aktivierung des Signals BSY hin tritt ein Übergang von dem Anfangszustand INIT in den Zustand PREARB 68 auf, und nach Ablauf eines vorbestimmten Zeitintervalls werden alle Identifizierer, die auf dem Eintakt- Bus aktiviert sind, erkannt, wodurch die Empfänger der nicht aktivierten Identifizierer für einen Empfang von dem Differentialbus freigegeben werden und in den Zustand ARB 48 übergehen.
- Wenn die gleichen Bedingungen, wie sie bezugnehmend auf Fig. 6 erörtert wurden, erfüllt sind, findet ein Übergang von dem Zustand ARB in den Zustand SELECT und WIN oder SELST statt. Von dem Zustand WIN aus entstehen zwei getrennte Flüsse von Zuständen.
- Falls in dem Zustand WIN die Bedingung ATN · = 1 erfüllt ist, tritt ein Übergang in den Zustand WIN_TGT (Block 59) auf, um anzugeben, daß die Gewinnereinheit ein Ziel ist, die eine Neuauswahl durchführt.
- Falls in dem Zustand WIN die Bedingung · I/O erfüllt ist, tritt ein Übergang in den Zustand WIN_IN (Block 60) auf, um anzugeben, daß die Gewinnereinheit ein Initiator ist.
- Wenn die Bedingung BSY · = 1 erfüllt ist, tritt ausgehend von den Zuständen WIN_TGT und WIN_IN ein Übergang in die Zustände WAIT_TGT 52 bzw. WAIT_IN 61 auf.
- Wenn die Bedingung BSY · = 1 erfüllt ist, tritt ausgehend von den Zuständen WAIT_TGT und WAIT_IN ein Übergang in die Zustände D_EN_TGT 53 bzw. D_EN_IN 62 auf.
- Wenn die Bedingung · = 1 erfüllt ist, tritt schließlich ausgehend von den Zuständen 53 bis 62 ein Übergang in die Zustände TARGET 54 bzw. IN 63 auf.
- Bei all diesen Zuständen von WIN_TGT und WIN_IN an wird es möglich, falls erforderlich, die Flußrichtung der Signale ACK, REQ, DBP, CD, MSG entsprechend der Rolle der Gewinnereinheit zu steuern.
- Wie in dem Fall von Fig. 6 tritt ausgehend von dem Zustand TARGET 54 ein Übergang entweder in den Zustand INPUT oder OUTPUT auf.
- Wenn die Bedingungen · SEL · I/O = oder oder BSY · SEL · = 1 jeweils erfüllt ist, tritt ausgehend von dem Zustand IN 63 ein Übergang entweder in den Zustand INPUT oder OUTPUT auf.
- Exakt wie in dem Fall von Fig. 6 tritt ausgehend von dem Zustand INIT 47 ein Übergang in den Zustand SELST 49 auf.
- Falls die Bedingung · I/O = 1 in dem Zustand SELST erfüllt ist, tritt ein Übergang in den Zustand 64 auf, um anzuzeigen, daß die Gewinnereinheit auf dem Differentialbus ein Initiator ist, der die Auswahl eines Ziels durchführt.
- Falls in dem Zustand SELST die Bedingung ATN · = 1 erfüllt wird, findet ein Übergang in den Zustand RSEL 65 statt, um anzugeben, daß die Gewinnereinheit auf dem Differentialbus ein Ziel ist, das eine Neu-Auswahl durchführt.
- Wenn die Bedingung BSY · = 1 erfüllt ist, findet ausgehend von dem Zuständen SELT und RSEL jeweils ein Übergang in die Zustände SEL_WAIT 57 und RSEL_WAIT 66 statt.
- Wenn die Bedingung · = 1 erfüllt ist, d. h. bei einer Neu-Aktivierung des Signals BSY auf dem Eintakt-Bus, findet ausgehend von den Zuständen SEL_WAIT und RSEL_WAIT jeweils ein Übergang in die Zustände SEL_TGT und RSEL_IN statt.
- Wie in dem Fall von Fig. 6 findet ausgehend von dem Zustand SEL_TGT ein Übergang entweder in den Zustand INPUT oder OUTPUT statt, wobei, wenn die Bedingungen · SEL · I/O = 1 oder · SEL · = 1 jeweils erfüllt sind, ausgehend von dem Zustand RSEL_IN ein Übergang entweder in den Zustand INPUT oder OUTPUT stattfindet.
- Wenn die Bedingung BSY · SEL erfüllt ist, wie in dem Fall von Fig. 6, tritt ausgehend von allen Zuständen, außer dem Zustand INIT, ein Übergang zurück in den Zustand INIT auf.
Claims (6)
1. Ein Schnittstellenadapter/Umsetzer zwischen einem
Differential-SCSI-Bus (SCSI = Small Computer System Interface)
und einem Eintakt-SCSI-Bus mit einer Mehrzahl von
Differential-Empfangseinrichtungen (3, 5, 8, 10, 12, 14), die
angepaßt sind, um Signale von dem Differential-Bus zu dem
Eintakt-Bus zu übertragen, und mit einer Mehrzahl von
Differential-Treibern (2, 4, 6, 9, 11), die angepaßt
sind, um das Signal von dem Eintakt-Bus zu dem
Differential-Bus zu übertragen, gekennzeichnet durch folgende
Merkmale:
einer Logiksteuerungseinrichtung (24) aus einer (12) der
Empfangseinrichtungen und einem (11) der Treiber zum
Freigeben des Treibers (11) und zum Sperren der
Empfangseinrichtung (12) bei einer Aktivierung eines
Auswahlsignals SEL auf dem Eintakt-Bus und zum Sperren des Treibers
(11) bei einer Deaktivierung des Auswahlsignals auf dem
Eintakt-Bus zeitlich vor einer Freigabe des Empfängers
(12),
einer Logikzustandsmaschine (23), die mit dem Eintakt-Bus
verbunden ist und die vorgesehen ist, um Eingangssignale
zumindest eines Teilsatzes (2, 4, 6, 9, 3, 5, 10) der
Treiber und Empfangseinrichtungen zum selektiven Steuern
derselben zu steuern, wobei die Zustandsmaschine (23)
folgende Zustände aufweist:
einen ersten Zustand (INIT) zum Erkennen der
Aktivierung eines Signals BSY entweder auf dem Differential-
Bus oder dem Eintakt-Bus und der Aktivierung zumindest
eines Identifizierers einer ersten Einheit auf dem
Eintakt-Bus, wie durch eine erste Einheit (25), die
mit dem Eintakt-Bus verbunden ist, hervorgerufen,
einen zweiten Zustand (ARB) zum Steuern der
Übertragung des ersten Identifizierers von dem Eintakt-Bus in
Richtung des Differential-Busses und der Übertragung
anderer Identifizierer als des ersten Identifizierers
von dem Differential-Bus in Richtung des
Eintakt-Busses,
einen dritten Zustand (SELECT) zum Erkennen, wenn eine
Entscheidung von der ersten Einheit (25) gewonnen
worden ist,
eine erste Sequenz von Zuständen (51-54; 51-54, 59-63)
zum Erkennen der Auswahl einer mit dem Differential-
Bus verbundenen zweiten Einheit, die von der ersten
Einheit (25) durchgeführt wird, und
eine zweite Sequenz von Zuständen (49, 57, 58; 49, 57,
58, 64-67) zum Erkennen der Auswahl einer mit dem
Eintakt-Bus verbundenen Einheit (25), die von einer mit
dem Differential-Bus verschalteten Einheit
durchgeführt wird,
wobei die erste und zweite Sequenz von Zuständen in einem
von zwei Zuständen (INPUT, OUTPUT), die beiden Sequenzen
gemeinsam sind, in Übereinstimmung mit einem
Eingabe/Ausgabe-Signal (I/O) auf dem Eintakt-Bus enden, falls die
erste Einheit (25) ausschließlich von einem Zieltyp ist,
oder in Übereinstimmung mit einem Abrufsignal ATN und
einem Eingabe/Ausgabe-Signal I/O enden, falls die erste
Einheit (25) entweder von dem Zieltyp oder einem
Initiatortyp sein kann, wobei die zwei Zustände zur Steuerung
und Datenübertragung von dem Eintakt-Bus zu dem
Differential-Bus (INPUT) und umgekehrt (OUTPUT) vorgesehen sind.
2. Der Umsetzer gemäß Anspruch 1, bei dem die erste Einheit
(25), die mit dem Eintakt-Bus verbunden ist,
ausschließlich von dem Zieltyp ist, und die Mehrzahl von
Empfangs
einrichtungen ausschließlich aus Empfangseinrichtungen
zum Übertragen von Signalen (DACK, DATN), die
ausschließlich von Einheiten des Initiatortyps getrieben werden,
von dem Differential-Bus zu dem Eintakt-Bus bestehen, und
wobei die Mehrzahl von Treibern ausschließlich aus
Treibern zum Übertragen von Signalen (I/O, REQ, MSG, C/D),
die ausschließlich von Einheiten des Zieltyps getrieben
werden, von dem Eintakt-Bus zu dem Differential-Bus
bestehen.
3. Der Umsetzer gemäß Anspruch 1, bei dem die
Zustandsmaschine ein Eingangsregister (42), ein Ausgangsregister
(46) und ein Zustandsregister (44) aufweist, die durch
ein Taktsignal periodisch aktiviert werden.
4. Der Umsetzer gemäß Anspruch 1, bei dem der zweite
Logikmaschinenzustand vorgesehen ist, um die ausschließliche
Übertragung des ersten aktivierten Identifizierers auf
dem Differential-Bus unmittelbar auf dessen Aktivierung
hin und die Übertragung aller anderen Identifizierer als
des ersten Identifizierers unmittelbar auf eine
Aktivierung des ersten aktivierten Identifizierers hin von dem
Differential-Bus in Richtung des Eintakt-Busses zu
steuern, so daß lediglich eine Einheit mit dem Eintakt-Bus
verschaltet sein kann.
5. Der Umsetzer gemäß Anspruch 1, bei dem die
Logiksteuerungseinrichtung (24) folgende Merkmale aufweist:
ein erstes Flip-Flop (31), das auf eine Aktivierung des
Signals SEL an dem Ausgang eines der
Differential-Empfangseinrichtungen hin in einem ersten Zustand
eingestellt wird, und auf eine Deaktivierung des Signals SEL
hin, das auf dem Eintakt-Bus übertragen wird, in einem
zweiten Zustand eingestellt wird, und
ein zweites Flip-Flop (30), das auf eine Aktivierung des
Signals SEL auf dem Eintakt-Bus hin in einem ersten
Zu
stand eingestellt wird, und auf eine Deaktivierung des
Signals SEL hin, das von dem Eintakt-Bus zu dem
Differential-Bus übertragen wird, in einem zweiten Zustand
eingestellt wird, wobei die Aktivierung von einer
Hilfs-Differential-Empfangseinrichtung (13), die mit dem
Differential-Bus verschaltet ist, erkannt wird.
6. Der Umsetzer gemäß Anspruch 1, bei dem die
Zustandsmaschine folgende Zustände aufweist:
einen vierten Zustand (WIN) zum Erkennen basierend auf
der gegenseitig ausschließlichen Aktivierung des
Abrufsignals ATN und Eingabe/Ausgabe-Signals I/O der Funktion
der Gewinnereinheit (25) bei der Entscheidung, die mit
dem Eintakt-Bus verbunden ist, jeweils entweder als
Initiator- oder Ziel-Funktion, und
einen fünften Zustand (SELST) zum Erkennen basierend auf
der gegenseitig ausschließlichen Aktivierung des
Abrufsignals ATN und Eingabe/Ausgabe-Signals I/O der Funktion
der Einheit (25), die mit dem Eintakt-Bus verbunden ist
und durch eine Einheit, die mit dem Differential-Bus
verbunden ist, ausgewählt ist, entweder als Initiator- oder
Ziel-Funktion.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19940830561 EP0715262B1 (de) | 1994-12-02 | 1994-12-02 | Adapter/Wandler für differentiale und unsymetrische SCSI-Schnittstelle |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69425751D1 DE69425751D1 (de) | 2000-10-05 |
DE69425751T2 true DE69425751T2 (de) | 2001-04-19 |
Family
ID=8218588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1994625751 Expired - Lifetime DE69425751T2 (de) | 1994-12-02 | 1994-12-02 | Adapter/Wandler für differentiale und unsymetrische SCSI-Schnittstelle |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0715262B1 (de) |
DE (1) | DE69425751T2 (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5925120A (en) * | 1996-06-18 | 1999-07-20 | Hewlett-Packard Company | Self-contained high speed repeater/lun converter which controls all SCSI operations between the host SCSI bus and local SCSI bus |
DE10224742B4 (de) * | 2002-06-04 | 2004-07-08 | Infineon Technologies Ag | Datenverarbeitungsschaltung und Verfahren zum Übertragen von Daten |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4864291A (en) * | 1988-06-21 | 1989-09-05 | Tandem Computers Incorporated | SCSI converter |
US5237695A (en) * | 1991-11-01 | 1993-08-17 | Hewlett-Packard Company | Bus contention resolution method for network devices on a computer network having network segments connected by an interconnection medium over an extended distance |
-
1994
- 1994-12-02 EP EP19940830561 patent/EP0715262B1/de not_active Expired - Lifetime
- 1994-12-02 DE DE1994625751 patent/DE69425751T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0715262A1 (de) | 1996-06-05 |
DE69425751D1 (de) | 2000-10-05 |
EP0715262B1 (de) | 2000-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68920364T2 (de) | SCSI-Konverter. | |
DE69223486T2 (de) | Verfahren zur Buskonfliktauflösung für erweiterte Abstände | |
DE3878908T2 (de) | Hochgeschwindigkeitsbusschnittstelle mit einer niedrigen pinanzahl. | |
DE69428885T2 (de) | Ein kommunikationsknotenpunkt mit einer ersten buskonfiguration für arbitrierung und einer zweiten buskonfiguration für datenübertragung | |
DE19581859B4 (de) | Steckverbinderanordnung zur Kopplung einer Einheit mit einem SCSI-Bus | |
DE68925763T2 (de) | Verbindungs- und Zugriffsarbitrierungsanordnung für Multiprozessorsystem | |
DE2944497C2 (de) | ||
DE69524274T2 (de) | System zur Isolierung von Rückwandeinheiten | |
DE3851534T2 (de) | Vorrichtung und verfahren zur buszugriffssteuerung. | |
DE68915701T2 (de) | Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung. | |
DE69229079T2 (de) | Bidirektionale parallele Drucker-Schnittstelle | |
DE69016837T2 (de) | VME-Multibus II-Schnittstellen-Anpassungsbaustein. | |
DE2212501C2 (de) | Einrichtung zur Übertragung asynchroner, digitaler Signale | |
DE3883692T2 (de) | Rückwandplatinenbus. | |
DE3114816A1 (de) | Schaltungsanordnung fuer eine datenverarbeitende anlage mit mehreren unterschiedlichen einheiten und einer prioritaetssteuerung | |
DE69728515T2 (de) | Umkehrbare, medienunabhängige Schnittstellenschaltung | |
EP2452436B1 (de) | Elektrische schaltung zur übertragung von signalen zwischen zwei mastern und einem oder mehreren slaves | |
DE2856483A1 (de) | Verbindungseinheit fuer datenverarbeitungssysteme | |
DE4035837A1 (de) | Bus-hauptschnittstellenschaltung mit transparenter unterbrechung einer datenuebertragungsoperation | |
DE3888353T2 (de) | Unterbrechungsknoten zum vorsehen von unterbrechungsanforderungen auf einem anstehenden bus. | |
DE69026018T2 (de) | Rechnersystem mit Vorrichtung zur Verbesserung der Wirksamkeit von Übertragungen zwischen einem Hauptprozessor und Peripheriegeräten verbunden durch einen SCSI-Bus | |
DE69614658T2 (de) | Protokoll für Unterbrechungssignale | |
DE69620591T2 (de) | Erweiterte Adressierung für mehrere Geräte von einem einzelnen parallelen Ein-/Ausgabetor | |
DE69128985T2 (de) | IEEE488-Schnittstelle | |
DE69131997T2 (de) | Kommunikationssysteme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: BULL S.A., LES CLAYES SOUS BOIS, FR |