DE3882192T2 - Schnittstelleanordnung für die Verbindung zwischen einerseits getrennten Stationen und andererseits einem für den Nachrichtenverkehr zwischen diesen Stationen benutzten physikalischen Mittel. - Google Patents
Schnittstelleanordnung für die Verbindung zwischen einerseits getrennten Stationen und andererseits einem für den Nachrichtenverkehr zwischen diesen Stationen benutzten physikalischen Mittel.Info
- Publication number
- DE3882192T2 DE3882192T2 DE88202129T DE3882192T DE3882192T2 DE 3882192 T2 DE3882192 T2 DE 3882192T2 DE 88202129 T DE88202129 T DE 88202129T DE 3882192 T DE3882192 T DE 3882192T DE 3882192 T2 DE3882192 T2 DE 3882192T2
- Authority
- DE
- Germany
- Prior art keywords
- control unit
- program
- bit
- station
- communication
- 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 - Fee Related
Links
- 238000004891 communication Methods 0.000 title claims description 128
- 230000004044 response Effects 0.000 claims description 18
- 238000000034 method Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 238000002360 preparation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101800000535 3C-like proteinase Proteins 0.000 description 1
- 101800002396 3C-like proteinase nsp5 Proteins 0.000 description 1
- 101100229953 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SCT1 gene Proteins 0.000 description 1
- 101100194362 Schizosaccharomyces pombe (strain 972 / ATCC 24843) res1 gene Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 101150037603 cst-1 gene Proteins 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/128—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Description
- Die Erfindung betrifft eine Schnittstellenanordnung zur Bildung einer Schnittstelle zwischen einer Netzstation und einem physikalischen Netz-Medium mit einem Demodulator zur Umwandlung von Netzsignalen in einen Eingangsbitstrom, einem Modulator zur Umwandlung eines Ausgangsbitstroms in weitere Netzsignale, wobei die Anordnung eine mit dem Modulator/Demodulator verbundene Protokollsteuereinheit und einen mit der Protokollsteuereinheit über einen Kommunikationsspeicherbus kommunizierenden Kommunikationsspeicher umfaßt, wobei der Kommunikationsspeicher einen ersten Teil zur Speicherung von Kommunikationssoftware als primäres Programm enthält und die Protokollsteuereinheit eine Modemsteuereinheit zum Einschreiben des empfangenen Bitstroms in bzw. zum Auslesen des zu versendenden Bitstroms aus dem Kommunikationsspeicher enthält, sowie eine Kommunikationssteuereinheit zur Koordinierung der Operationen der Modeinsteuereinheit und für die Ausführung des primären Programms und auch eine Kommunikationsspeicherbussteuereinheit zur Zuweisung von Zeitschlitzen für den Zugriff auf den Kommunikationsspeicher an die Modemsteuereinheit und an die Kommunikationssteuereinheit auf ihre jeweiligen Anfragen hin. Das Netz kann ein Ring, Stern, Bus oder eine andere Aufbauart sein, besonders in einer LAN-Umgebung, und durch ein Koaxialkabel, verdrillte Zweidrahtleitung, optische Faser oder anderes dargestellt werden. Die Station kann insbesondere eine Station in professionellen Bereich sein, beispielsweise ein Sensor, eine Antriebseinheit, Maschine, Materialverwaltungseinheit, ein Computer, eine Bildschirmstation usw. sein.
- Für schnellen und relativ einfachen Nachrichtenverkehr zwischen den verschiedenen Stationen hat die "International Standards Organization" Empfehlungen innerhalb des OSI-Modells (OSI: Open Systems Interconnection; Kopplung offener Systeme) entworfen. Das OSI-Modell bietet Empfehlungen für eine aus sieben Schichten bestehende Struktur. Schicht 1 bezieht sich beispielsweise auf die physikalische Kommunikation zwischen den Stationen und Schicht 2 auf MAC (Medium Access Control) und LLC (Logical Link Control); diese Empfehlungen definieren den Zugriff auf das Netz für die Übertragung von Nachrichten. Für die vorliegende Erfindung haben die Schichten 3 bis 6 keine praktische Bedeutung, Schicht 7 bezieht sich auf Anwendungssoftware zur Steuerung der Funktionen der betreffenden Stationen.
- Die OSI-Empfehlungen sind in verschiedenen Protokollen für die Verwendung in einem LAN genormt. Zwei Beispiele sind MAP (Manufacturing Automation Protocol; Protokoll in der Fertigungsautomatisierung) und Ethernet. MAP ist ein "Token-passing"-Protokoll, dessen Schicht 1 und die MAC (die untere Hälfte von Schicht 2) in IEEE Std. 802.4 beschrieben werden. Ethernet beruht auf einem CSMA/CD-System (CSMA/CD: Carrier-Sense Multiple Access with Collision Detection; ein Überwachungsverfahren mit Zugriff ohne festgelegte Reihenfolge und mit Erkennung von Zugriffskollisionen). Für Ethernet und ähnliche Protokolle, beispielsweise TOP (Technical and Office Protocol; Protokoll im Bürobereich), werden die physikalische Ausführung und die MAC in IEEE Std. 802.3 beschrieben. MAP und Ethernet verwenden die gleiche LLC (die obere Hälfte von Schicht 2), so wie in IEEE Std. 802.2 beschrieben.
- In Schicht 1 der OSI-Empfehlungen werden die Signale dem physikalischen Medium über einen Demodulator als Bitstrom zugeführt, der in einer empfangenden Station wieder demoduliert wird. Im Falle von MAP betragen die Bitraten zwischen 1,5 und 10 Mbit/s, für Ethernet zwischen 5 und 10 Mbit/s. Verschiedene Modulationstechniken können eingesetzt werden, wie Amplitudenmodulationstechniken (beispielsweise NRZ) oder Frequenzmodulationstechniken (beispielsweise FSK). Phasenkontinuierliche FSK-Modulatoren NE 5080/5081 von Signetics genügen derzeit IEEE Std. 802.4, ebenso wie das phasenkohärente Trägerbandmodem (CBM: Carrier Band Modem) von Motorala. Bekannte Hardware zur Implementierung von Schicht 2 ist für einfache Anwendungen noch nicht kostengünstig, beispielsweise MC 68824 (von Motorola), das mit dem CBM-Modem kompatibel ist. Bei Verwendung dieser Einheit müssen die LLC-Operationen und die der höheren OSI-Schichten in zusätzlicher Hardware der Station untergebracht werden. (Siehe auch: Computer Design, 1. Februar 1986, S. 69- 73, und IEEE Micro, Juni 1986, S. 15-25).
- Der Erfindung liegt unter anderem die Aufgabe zugrunde, eine Schnittstellenanordnung zu verschaffen, die die in erster Linie zur Implementierung von Schicht 2 der OSI-Empfehlungen vorhandene Hardware wirksam nutzt, so daß sie preiswerter als vorhandene Hardware ist.
- Nach einem ersten Aspekt der Erfindung ist diese dadurch gekennzeichnet, daß ein zweiter Teil des Kommunikationsspeichers für Prozeßsteuerungssoftware reserviert ist, die mindestens teilweise als sekundäres Programm für einen in der mit der Schnittstelleneinheit verbundenen Station auszuführenden Prozeß gespeichert ist, wobei von der Kommunikationssteuereinheit für die Ausführung des sekundären Programms gesorgt wird, die Modemsteuereinheit die Ausführung des sekundären Programms in der Kommunikationssteuereinheit jedesmal, wenn ein Kommunikationsbefehl für die Station ausgeführt werden soll, unterbricht, woraufhin die Kommunikationssteuereinheit das primäre Programm ausführt, aber die Ausführung des sekundären Programms während Wartezeiten bei der Ausführung des primären Programms fortsetzt, wofür ein weiterer Speicher zum Merken der Stelle, wo, und der Umstände, unter denen das primäre und das sekundäre Programm unterbrochen worden sind, vorhanden ist.
- Als Beispiel für den Stand der Technik wird in US-A04.652.874 (Loyer) im allgemeinen die Richtung der Übertragung zwischen der physikalischen Schicht und der MAC-Schicht gesteuert. Es wird dort jedoch nicht auf lokale Prozeßsteuerungssoftware verwiesen. Die einfache Richtungsumkehrung von Loyer ist für das Zusammenwirken mit einer ganz anders gearteten Software irrelevant.
- Zweitens beschreibt GB-A- 1.153.420 von IBM wie ein Programm unterbrochen wird. Das Wesentliche an der vorliegenden Erfindung ist dagegen, genau anzugeben, welches Programm unterbrochen werden muß.
- Infolge der vorstehenden Konstruktion kann die Protokollsteuereinheit die MAC ebenso wie die LLC entsprechend Schicht 2 der OSI-Empfehlungen ausführen und auch die Stationsverwaltung, d. h. das primäre Programm und auch, wenn die Protokollsteuereinheit nicht an diesen Operationen beteiligt ist oder während der Ausführung dieser Operationen warten muß, die Prozeßsteuerung für die angeschlossene Station, entsprechend der Schicht 7 der OSI-Empfehlungen, d. h. das zweite Programm. Das primäre Programm darf niemals unterbrochen werden, aber es kann für sich selbst Wartezeiten einführen; das sekundäre Programm kann jederzeit unterbrochen werden. Wenn die Prozeßsteuerung für die betreffende Station nicht unterbrochen werden kann, kann dennoch ein zu der betreffenden Station gehörendes zusätzliches Computersystem verwendet werden. Die Protokollsteuereinheit enthält dann auch eine zusätzliche Steuereinheit für den Austausch von Daten mit dem zusätzlichen Computersystem. Die Modemsteuereinheit und die zusätzliche Steuereinheit können als Ein-/Ausgabe-Einheiten für die Kommunikationssteuereinheit betrachtet werden, die faktisch von einem Mikroprozessor gebildet wird.
- Außerdem ist die Protokollsteuereinheit so konstruiert, daß sie für eine Verbindung mit den erwähnten Modulator/Demodulatormodulen geeignet ist, außerdem kann das Layout der zu verarbeitenden Nachrichten auf jedem bekannten Protokoll basiert sein, so daß die Protokollsteuereinheit in jedem auf den OSI-Empfehlungen beruhenden System verwendet werden kann. Die Protokollsteuereinheit ist vorzugsweise in einem einzigen Chip untergebracht.
- Vorteilhafterweise enthält die Kommunikationssteuereinheit ein Interrupt- Maskenregister, in dem der Operand (x) eines zum primären Programm gehörenden Befehls SCND(x) gespeichert wird, weicher Operand (x) die Ereignisse in der Modemsteuereinheit anzeigt, die die Unterbrechung des sekundären Programms und das Überwechseln auf die Ausführung des primären Programms veranlassen. Dies ist unmittelbare Implementierung.
- Die Erfindung betrifft auch ein Verbindungsnetz zwischen einzelnen Stationen einerseits und einem physikalischen Medium für den Nachrichtenverkehr zwischen diesen Stationen andererseits, mit einer Schnittstellenanordnung mit einem Demodulator zur Umwandlung von Netzsignalen in einen Eingangsbitstrom, einem Modulator zur Umwandlung eines Ausgangsbitstroms in weitere Netzsignale, wobei die Anordnung eine mit dem Modulator/Demodulator verbundene Protokollsteuereinheit und einen mit der Protokollsteuereinheit über einen Kommunikationsspeicherbus kommunizierenden Kommunikationsspeicher umfaßt, wobei der Kommunikationsspeicher einen ersten Teil zur Speicherung von Kommunikationssoftware als primäres Programm enthält und die Protokollsteuereinheit eine Modemsteuereinheit zum Einschreiben des empfangenen Bitstroms in bzw. Auslesen des zu versendenden Bitstroms aus dem Kommunikationsspeicher enthält, sowie eine Kommunikationssteuereinheit zur Koordinierung der Operationen der Modemsteuereinheit und für die Ausführung des primären Programms und auch eine Kommunikationsspeicherbussteuereinheit zur Zuweisung von Zeitschlitzen für den Zugriff auf den Kommunikationsspeicher an die Modemsteuereinheit und an die Kommunikationssteuereinheit entsprechend ihrer jeweiligen Anfragen, dadurch gekennzeichnet, daß ein zweiter Teil des Kommunikationsspeichers für Prozeßsteuerungssoftware reserviert ist, die mindestens teilweise als sekundäres Programm für einen in der mit der Schnittstelleneinheit verbundenen Station auszuführenden Prozeß gespeichert ist, wobei von der Kommunikationssteuereinheit für die Ausführung des sekundären Programms gesorgt wird, die Modemsteuereinheit die Ausführung des sekundären Programms in der Kommunikationssteuereinheit jedesmal, wenn ein Kommunikationsbefehl für die Station ausgeführt werden soll, unterbricht, woraufhin die Kommunikationssteuereinheit das primäre Programm ausführt, aber die Ausführung des sekundären Programms während Wartezeiten bei der Ausführung des primären Programms fortsetzt, wofür ein weiterer Speicher zum Merken der Stelle, wo, und der Umstände, unter denen das primäre und das sekundäre Programm unterbrochen worden sind, vorhanden ist. Derartige Netze sind weitverbreitet und die Erfindung verbessert ihren Betrieb.
- Weitere vorteilhafte Aspekte werden in den Unteransprüchen genannt.
- Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im folgenden näher beschrieben, wobei ein "Token-passing"-Bussystem nach IEEE Std. 802.4 zugrunde gelegt wird. Es zeigen:
- Fig. 1 ein "Token-passing"-Bussystem;
- Fig. 2 eine erfindungsgemäße Schnittstelle für eine Station aus Figur l;
- Fig. 3 die gleiche Schnittstelle wie Fig. 2, wobei die betreffende Station jetzt direkt damit verbunden ist;
- Fig. 4 die gleiche Schnittsteile wie Fig. 2, wobei die Station mit der Schnittstelle über eine spezielle Verbindungsschaltung verbunden ist und von einem zusätzlichen dazu gehörenden Computersystem gesteuert wird;
- Fig. 5 eine erfindungsgemäße Schnittstelle im Detail;
- Fig. 6 ein detailliertes Schema der Modemsteuereinheit in der Protokollsteuereinheit der erfindungsgemäßen Schnittstelle;
- Fig. 7 das Rahmen-Layout der Nachrichten entsprechend MAP und TOP;
- Fig. 8 schematisch den Unterbrechungsmechanismus;
- Fig. 9 ein allgemeines Schema der Kommunikationssteuereinheit;
- Fig. 10 ein Diagramm zur Erläuterung der Zeitaufteilung zwischen der Ausführung des primären und des sekundären Programms in einer vorgegebenen Situation;
- Fig. 11 ein Diagramm, in dem die Zeitersparnis, d. h. der Grad, bis zu dem die Zeit effektiv durch parallele Ausführung des primären und sekundären Programms genutzt wird, als Funktion der Bitrate dargestellt ist.
- In den verschiedenen Figuren haben entsprechende Teile gleiche Bezugszeichen. Die Erfindung beschränkt sich nicht auf die anhand der Zeichnung zu beschreibenden Ausführungsbeispiele; diese dienen nur der Erläuterung der Erfindung.
- Fig. 1 zeigt ein auf einem "Token-passing"-Bussystem basierendes LAN, auf einem Koaxialkabel 11 basierend. Die Stationen 3-5, 8-10 lassen das Token, wie in dem logischen Ring 12 dargestellt, zirkulieren. Andere Stationen 1, 2, 6 und 7 können daher nur Nachrichten empfangen. Sie können jedoch auch in den logischen Ring 12 aufgenommen werden, wenn das Token einige Male den logischen Ring durchlaufen hat. Dieser Aspekt soll im folgenden näher beschrieben werden.
- Fig. 2 zeigt eine Schnittstellenanordnung für die Verbindung zwischen einer der Stationen und dem Kabel 11. Die Schnittstelle umfaßt ein Modem 13, Protokollsteuereinheit 14, Kommunikationsspeicher 15 und Kommunikationsspeicherbus 16. Der Speicher 15 enthält die Kommunikationssoftware für die Protokollsteuereinheit 14. Die Liste der OSI-Empfehlungen wird mit dem Bezugszeichen 17 angegeben. Die Hardware der Schnittstelle entspricht Schicht 1 der OSI-Empfehlungen, während die Empfehlungen für Schicht 2 in der in dem Kommunikationsspeicher 15 gespeicherten Kommunikationssoftware verarbeitet sind. Fig. 3 zeigt die gleiche Schnittstellenanordnung wie Fig. 2, wobei eine Station direkt mit dem Kommunikationsspeicherbus 16 verbunden ist und diese Station von Sensoren 18, Antriebseinheiten 19 und einer von den zuvor genannten Einheiten gesteuerten Verarbeitungseinheit 20 gebildet wird. Das Steuerungsprogramm für diese Station entspricht Schicht 7 der OSI-Empfehlungen und wird in dem Kommunikationsspeicher 15 gespeichert. Dieses Prozeßsteuerungsprogramm wird in der Protokollsteuereinheit 14 ausgeführt, wenn keine Nachrichten über das Kabel 11 transportiert werden müssen. Das Prozeßsteuerungsprogramm, das das sekundäre Programm ist, sollte daher derart sein, daß es jederzeit unterbrochen werden kann; dies bestimmt den Aufbau der Protokollsteuereinheit 14. Die Ausführung des Kommunikationsprogramms, des primären Programms, schließt Wartezeiten ein, in denen das sekundäre Programm ausgeführt werden kann. Der in der Station ablaufende Prozeß kann nicht-unterbrechbar oder nur während der für den Nachrichtenverkehr erforderlichen Zeit nicht-unterbrechbar sein; in diesem Fall sollte das Prozeßsteuerungsprogramm (eventuell teilweise) in einem zusätzlichen, zu der Station gehörenden Computersystem ausgeführt werden. Fig. 4 zeigt die gleiche Schnittstellenkonfiguration wie Fig. 2, wobei die von den genannten Einheiten 18, 19 und 20 gebildete Station und das zusätzliche, aus einem Speicher 22 und einem Prozessor 23 bestehende Computersystem mit dem Kommunikationsspeicherbus 16 über eine Verbindungsschaltung 21 verbunden sind.
- Fig. 5 ist eine detailliertere Darstellung einer erfindungsgemäßen Schnittstellenanordnung. Ein Demodulator 24 und ein Modulator 25 sind mit dem Kabel 11 verbunden. Die Protokollsteuereinheit 14 besteht aus einer Modemsteuereinheit 26, einer Kommunikationssteuereinheit 27, einer Kommunikationsspeicherbussteuereinheit 28 und einer Steuereinheit 29 für die Verbindung mit einem zusätzlichen Computersystem. Der Kommunikationsspeicherbus 16 wird jetzt von einem 16-Bit-Datenbus 30 und einem 16-Bit-Adreßbus 31 gebildet. Vier Adern dieser Busse bilden einen Modemeinstellbus 32. Die Sensoren 18 und die Antriebseinheiten 19 (siehe Fig. 3) können direkt an den Datenbus 30 und den Adreßbus 31 angeschlossen werden. Wenn die angeschlossene Station ein zusätzliches Computersystem enthält, laufen die Verbindungen zwischen der Station und der Schnittstelle über die Verbindungsschaltung 21 (siehe Fig. 4), die von der zusätzlichen Steuereinheit 29 über die Leitung 33 gesteuert wird.
- Der Demodulator 24 leitet aus den über das Kabel 11 zugeführten Signalen einen seriellen Bitstrom ab, der der Modemsteuereinheit 26 über die Leitung 34 zugeführt wird; über die Leitung 35 wird ein ebenfalls aus den einlaufenden Daten abgeleitetes Empfangstaktsignal Clr dieser Modemsteuereinheit zugeführt. Von der Modemsteuereinheit 26 aus wird ein serieller Bitstrom über die Leitung 36 dem Modulator 25 zugeführt, in dem dieser Bitstrom in über das Kabel 11 zu versendende Signale umgesetzt wird; über die Leitung 37 wird von der Modemsteuereinheit 26 aus dem Modulator 25 auch ein den zu versendenden Daten zuzufügendes Sendetaktsignal Clt zugeführt.
- Fig. 6 ist eine ausführlichere Darstellung des Aufbaus der Modemsteuereinheit 26. Sie besteht aus einem 16-Bit-Schieberegister (IOS) 38 für die Umsetzung von jedesmal 16 von dem Demodulator 24 seriell empfangenen Bits in ein 16-Bit-Wort und umgekehrt für die Umsetzung der 16-Bit-Wörter in einen dem Modulator 25 zuzuführenden seriellen Bitstrom. Dieser Prozeß wird mit Hilfe der Taktsignale Clr und Clt synchronisiert. Bevor die über den Datenbus 30 empfangenen 16-Bit-Wörter in dem Kommunikationsspeicher 15 gespeichert werden, werden sie in dem Empfangspufferregister (RBF) 39 zwischengespeichert, wobei ein Sendepufferregister (TBF) 40 zur Zwischenspeicherung der aus dem Speicher 15 ausgelesenen und über den Datenbus 30 zugeführten 16-Bit-Wörter vorgesehen ist, bevor diese Wörter mit Hilfe des IOS-Registers 38 bitweise versendet werden.
- Bei MAP enthalten die demodulierten Signale Datenbits "1" und "0" und sogenannte Nicht-Datenbits; letztere kommen bei TOP nicht vor (siehe Computer Design, Februar 1, 1986, S. 69-71). Für MAP umfaßt das Register 38 auch einen zusätzlichen 8-Bit-Schieberegisterabschnitt (IOSM) zur Erkennung der Nicht-Datenbits; zur Übertragung müssen diese Nicht-Datenbits wieder in diesem Schieberegisterabschnitt generiert werden. Die Nicht-Datenbits werden nicht in das Pufferregister 39 übertragen; sie haben nur eine Funktion bei der Erkennung des Anfangs und Endes eines Nachrichtenrahmens, der aus einer Folge von Bit-Oktetten zusammengesetzt ist, die für jedes der zu verwendenden Protokolle speziell definiert worden sind. Die Erkennung des Anfangs eines Rahmens bei MAP erfolgt in der Schaltung 41; sobald ein bestimmtes Bitmuster in dem ersten Bit-Oktett (SD-Oktett) zusammen mit einem speziellen Oktett von damit parallel zugeführten Nicht-Datenbits detektiert worden ist, wird das Signal SD abgegeben. Die Erkennung des Endes eines Rahmens bei MAP erfolgt in der Schaltung 42; sobald ein bestimmtes Bitmuster in dem letzten Bit-Oktett (ED-Oktett) zusammen mit einem speziellen Oktett von damit parallel zugeführten Nicht-Datenbits detektiert worden ist, wird das Signal ED abgegeben. Bei TOP wird der Anfang eines Rahmens in der Schaltung 43 erkannt; wenn in dem ersten Bit-Oktett (SFD-Oktett) ein bestimmtes Bitmuster detektiert wird, wird ein Signal abgegeben; bei diesem Protokoll wird das Ende des Rahmens durch bestimmte Oktette (LHT-Oktette) angezeigt, die Teil dieses Rahmens sind und die Länge der weiteren Nachricht bestimmen.
- Fig. 7 zeigt das Rahmen-Layout für MAP und TOP. Auf ein SD- (oder SFD-)Oktett folgen nacheinander ein FC-Oktett (nur bei MAP), zwei oder sechs DA- Oktette, zwei oder sechs SA-Oktette, eine unbestimmte Anzahl Datenoktette, vier FCS- Oktette und ein ED-Oktett (nur bei MAP). Für TOP sollte die unbestimmte Anzahl Datenoktette auf die von den LTH-Oktetten festgelegte Anzahl aufgefüllt werden. Die Bedeutung der SD-, SFD-, ED- und LTH-Oktette ist bereits genannt worden; die Bedeutung der anderen Oktette soll im folgenden gegeben werden. Fig. 7A zeigt einen MAP-Rahmen mit 48-Bit-Adressierung; Fig. 7B zeigt einen MAP-Rahmen mit 16-Bit- Adressierung; Fig. 7C zeigt einen TOP-Rahmen mit 48-Bit-Adressierung; Fig. 7D zeigt einen TOP-Rahmen mit 16-Bit-Adressierung. Für MAP geht dem Rahmen eine Präambel mit einer Dauer von mindestens 2 uS voran; für TOP hat die Präambel immer eine Dauer von sieben Oktetten. Vor der Ankunft der ersten Oktette des Rahmens sollte das Empfangstaktsignal vorliegen, weil andernfalls Oktette verlorengehen würden. Während der Präambel wird dieses Taktsignal aus einer Folge abwechselnder Einsen und Nullen generiert.
- Anhand von Fig. 6 ist zu erkennen, daß die Modemsteuereinheit 26 einen Rahmenlängenzähler (FLC) 44, einen Modemstatuszähler (MSC) 45, einen Modemstatusdecodierer (MSD) 46 und ein UND-Gatter 47 hat. Der Rahmenlängenzähler 44 zählt die einlaufenden Bits, gibt Signale OC und WC ab, wenn ein Oktett oder ein 16-Bit-Wort eingetroffen ist und wird über das UND-Gatter 47 voreingestellt, nachdem das Signal SD (oder SFD) abgegeben worden ist und die Kommunikationssteuereinheit 27 mittels Bit 5 des zu der Kommunikationssteuereinheit 27 gehörenden Kommunikationsoperationsregisters (COP) Zustimmung gegeben hat, während die Zählimpulse den genannten Taktsignalen Clr, Clt entnommen werden. Das Signal WC wird aus den vier niedrigstwertigen Bits dieses Zählers abgeleitet, und dieses Signal wird zur Steuerung der Serien-Parallel-Umsetzung, zum Schreiben der 16-Bit-Wörter in die Pufferregister 39 und 40 und zur Beanspruchung des Busses des Kommunikationsspeichers verwendet. In dem Modemstatuszähler 45 werden die einlaufenden Oktette gezählt, wofür die Signale OC des Rahmenlängenzählers 44 als Zählimpulse dienen; der Modemstatuszähler 45 erhält das gleiche Voreinstellsignal wie der Rahmenlängenzähler 44. Da jedesmal, wenn ein Oktett (FC) oder eine definierte Gruppe von Oktetten (DA oder SA) eingetroffen ist, eine bestimmte Aktion notwendig ist, werden die hierfür notwendigen Zeitgebersignale von dem Modemstatusdecodierer 46 geliefert; dies erfolgt in Abhängigkeit von dem verwendeten Protokoll. In dem Kommunikationsoperationsregister (COP) bestimmen die Bits 0-2 das Protokoll; diese Bits werden verwendet, um den Modemstatusdecodierprozeß mitzubestimmen. Wenn alle Datenoktette eingetroffen sind, gibt der Modemstatusdecodierer 46 keine Zeitgebersignale mehr aus, bevor von dem Signal ED das Ende des Rahmens detektiert worden ist. Wenn ein Rahmen versendet werden soll, wird die Rahmenlänge in den Rahmenlängenzähler 44 eingegeben, woraufhin die versendeten Bits herabgezählt werden und schließlich ein Signal EDT abgegeben wird, um anzuzeigen, daß der Rahmen vollständig versendet worden ist.
- Die Modemsteuereinheit 26 umfaßt auch ein Modemplatzregister (MLC) 48, das den Platz des 16-Bit-Wortes in dem Kommunikationsspeicher 15 anzeigt. Als Reaktion auf jedes folgende zu schreibende oder zu lesende 16-Bit-Wort wird der Zählerstand dieses Registers erhöht. Wenn das Signal SD abgegeben worden ist und der Empfang des FC-Oktetts detektiert worden ist (letzteres nur bei MAP), wird das Modemplatzregister 48 voreingestellt. Die Voreinstellwerte werden in den Modemvoreinstellregistern (MPRO-6) 49 gespeichert. Die Selektion dieser Register erfolgt mittels der Bits COPa-c des genannten Kommunikationsoperationsregisters (COP). Für MAP hängt der Voreinstellwert für das Modemplatzregister 48 vom Typ des Rahmens ab, d. h. ob es sich um einen MAC-Rahmen handelt oder er Stationsverwaltungs- oder LLC-Daten enthält oder speziellen Zwecken dient. Der Rahmentyp wird durch Decodierung des FC- Oktetts bestimmt; die FC-Oktettbits werden in den Bits 0-7 des zu der Kommunikationssteuereinheit 7 gehörenden Kommunikationsstatusregisters (CST0) registriert. Es gibt Situationen, in denen, unabhängig vom Rahmentyp, die Rahmendaten in einem bestimmten Platz in dem Kommunikationsspeicher 15 gespeichert werden müssen; die Rahmentypdecodierung wird dann durch die Bits COPa-c aufgehoben. Für TOP wird nur das Modemvoreinstellregister MPRO für die Lieferung des Voreinstellwertes für das Modemplatzregister 48 verwendet. Es sei bemerkt, daß, nachdem das Signal SD (oder SFD) abgegeben worden ist, erst der Datenbus beansprucht werden muß, um das Modemplatzregister 48 voreinzustellen, bevor Speicherung in dem Kommunikationsspeicher 15 erfolgen kann. Das Modemplatzregister 48 wird auch für das Selektieren der auszulesenden und zu versendenden Wörter verwendet: dieses Register wird dann von der Kommunikationssteuereinheit 27 unmittelbar voreingestellt. Die Adressierung von dem Modemplatzregister 48 aus erfolgt über die Adreßbussteuerung (ABD) 50.
- Der Modemstatusdecodierer 46 zeigt an, wann die 2 oder 6 DA-und SA- Oktette, d. h. die 16-Bit- oder 48-Bit-" Ziel "-Adressen (DA) und -"Quellen"-Adressen (SA) eintreffen. Diese Adreßcodes geben die Adresse oder Rangnummer (DA) der Station an, für die die Nachricht bestimmt ist, bzw. die Adresse oder Rangnummer (SA) der Station, von der die Nachricht stammt. Zu dem von dem Modemstatusdecodierer 46 für beide Adressen bestimmten Zeitpunkt werden die Adreßcodes mit dem Inhalt der 16- Bit-Adreßmaskenregister (AMSO-2) 51 verglichen, die zu der Modemsteuereinheit 26 gehören. Der Inhalt dieser Adreßmaskenregister gibt die Adresse (TS) der angeschlossenen Station an. Der Bitdemultiplexer 52, der durch die fünf niedrigstwertigen Bits des Rahmenlängenzählers 44 gesteuert wird, selektiert die Adressenbits von TS zu dem von dem Modemstatusdecodierer bestimmten Zeitpunkt seriell aus den Adreßmaskenregistern 51.
- Diese Adressenbits werden einzeln nacheinander mit den Bits der Adreßcodes DA und SA verglichen, und zwar in dem Komparator 53, beginnend mit dem Bit mit dem niedrigsten Stellenwert. Daher sollten diese Adreßcodes auch seriell geliefert werden; zu dem von dem Modemstatusdecodierer bestimmten Zeitpunkt werden die DA- und SA- Bits dem Komparator 53 über die Leitung 34' seriell zugeführt. Die Ergebnisse dieses Vergleichs werden in dem DA- oder SA-Statusregister (DAS/SAS) 54 gespeichert. Das Register gibt an, ob DA = TS oder ob DA < TS, SA = TS oder SA > TS ist. Diese Information wird anschließend in dem zu der Kommunikationssteuereinheit 27 gehörenden Kommunikationsstatusregister (CST l), und zwar in den Bits 0-3 gespeichert. Die Bits, die anzeigen, daß DA = TS oder SA = TS ist, können unmittelbar für den Interrupt-Mechanismus zur Unterbrechung des sekundären Programms und zum Zurückkehren zu dem primären Programm verwendet werden, sobald die Adresse der betreffenden Station erkannt worden ist, wobei die Bits, die anzeigen, daß DA < TS und SA > TS ist, unmittelbar verwendet werden, um eine betreffende Station in den logischen Ring aufzunehmen.
- Die letzte Aufgabe der Modemsteuereinheit 26 ist die Ausführung der FCS-Berechnung und das Überprüfen des Ergebnisses auf der Grundlage des Inhalts der vier FCS-Oktette. Für diese Kontrollberechnung, die für die Erfindung ohne Bedeutung ist, wird auf das "Orange Book, Bd. VIII. 2, der CCITT", Abschnitt 2.2.7 verwiesen.
- Wenn ein Rahmen empfangen worden ist und sich aus der Zieladresse ergibt, daß dieser Rahmen für die angeschlossene Station wichtig ist, unterbricht die Modemsteuereinheit 26 das sekundäre Programm, das von der Kommunikationssteuereinheit 27 ausgeführt wird. Die Kommunikationssteuereinheit 27 sichert dann den Inhalt der verschiedenen Register, die für die spätere, weitere Ausführung des sekundären Programms wichtig sind, und beginnt, das primäre Programm auszuführen, d. h. es beginnt, die von der Modemsteuereinheit 27 in dem Kommunikationsspeicher 15 gespeicherten Daten zu analysieren.
- Wenn der empfangene Rahmen ein MAC-Rahmen ist, werden die 16-Bit- Wörter unmittelbar auf den angegebenen Speicherplätzen gespeichert, woraufhin der MAC-Rahmen von der Kommunikationssteuereinheit 27 verarbeitet wird und eine Antwort vorbereitet wird, falls mindestens die FCS-Überprüfung positiv ist. Wenn der empfangene Rahmen ein LLC-Rahmen, ein Stationsverwaltungsdatenrahmen oder ein Datenrahmen für spezielle Zwecke ist, werden die 16-Bit-Wörter unmittelbar in einem FIFO-Register in dem Kommunikationsspeicher 15 gespeichert. Die Kommunikationssteuereinheit berechnet die geeignete Anfangsadresse (Datenoffset) für die Modemsteuereinheit. Für jedes FIFO-Register aktualisiert die Kommunikationssteuereinheit ein weiteres Register (Verzeichnisregister), in dem die erste Adresse und die Länge jedes Datenrahmens angegeben wird. Während dieser Operationen arbeiten die Modemsteuereinheit 26 und die Kommunikationssteuereinheit 27 parallel, wobei jede Einheit während des zugewiesenen Zeitschlitzes Zugriff auf den Kommunikationsspeicher 15 hat.
- Wenn ein Rahmen versendet werden soll, wird er zunächst in einem hierfür bestimmten Teil des Kommunikationsspeichers zusammengesetzt. Die Kommunikationssteuereinheit 27 sorgt dafür, daß die Modemsteuereinheit 26 einen Rahmen mit der gewünschten Oktettanzahl aus den speziellen Speicherplätzen aussendet. Nachdem sie den betreffenden Befehl ausgegeben hat, kehrt die Kommunikationssteuereinheit zu dem sekundären Programm zurück, das verlassen wurde, weil ein wichtiger Rahmen empfangen worden war, der beantwortet werden mußte. Die Modemsteuereinheit führt anschließend die Aussendung aus und kann so programmiert sein, daß sie die Ausführung des sekundären Programms nach der Versendung des ED-Oktetts des Rahmens unmittelbar wieder unterbrechen kann. Während der Versendung von Nachrichten arbeiten die Modemsteuereinheit und die Kommunikationssteuereinheit wieder parallel und kommunizieren mit dem Kommunikationsspeicher in den zugewiesenen Zeitschlitzen.
- Wie bereits erwähnt, können während der Ausführung des sekundären Programms durch die Kommunikationssteuereinheit Programmunterbrechungen auftreten. Wenn diese Steuereinheit aktiviert ist, ist sie infolge eines Master-Rücksetzsignals auf die Ausführung des primären Programms eingerichtet. Das primäre Programm kann nur durch Ausführung eines Befehls SCND(x) verlassen werden. Der Operand (x) wird in ein zu der Kommunikationssteuereinheit gehörendes Interrupt-Maskenregister (IMS) übernommen; dieser Operand zeigt die Ereignisse in der Modemsteuereinheit an, die, wenn sie eintreten, eine Unterbrechung des sekundären Programms veranlassen und somit einen Wechsel zur Ausführung des primären Programms verursachen. Außerdem können andere, ebenfalls im Interrupt-Maskenregister (IMS) angezeigte Ereignisse auftreten, die eine Unterbrechung bei der Ausführung des sekundären Programms verursachen können. Die Unterbrechung erfolgt nach Ausführung des laufenden Befehls. Für die Ausführung anderer Unterbrechungen als durch das primäre Programm wird eine Unterbrechungssubroutine verwendet, deren erster Befehl in einem zu der Kommunikationssteuereinheit gehörenden Interrupt-Adreßregister (IAR) gespeichert ist. Diese Unterbrechungssubroutine ist Teil des sekundären Programms, so daß sie infolge von Ereignissen in der Modemsteuereinheit, wie sie durch den zweiten Operanden (x) des Befehls SCND(x) angezeigt werden, unterbrochen werden kann.
- Wenn das primäre oder das sekundäre Programm unterbrochen worden ist, müssen die Stelle, wo, und die Umstände, unter denen diese Programme unterbrochen worden sind, in einem speziell hierfür vorhandenen Speicher gesichert werden. Vorzugsweise wird ein Drittel des Kommunikationsspeichers 15 hierfür reserviert. Wenn der Befehl SCND (x) ausgeführt wird, werden der Stand eines normalerweise vorhandenen Programmzählers und der Inhalt der verschiedenen, für die spätere Ausführung des primären Programms notwendigen Register in einem primären Keller (Englisch: stack) in dem Kommunikationsspeicher 15 gesichert. Wenn das sekundäre Programm durch Ereignisse in der Modemsteuereinheit oder andere ständig definierte Ereignisse unterbrochen wird, werden der Stand des Programmzählers und der Inhalt der verschiedenen, für die spätere Ausführung des sekundären Programms notwendigen Register in einem sekundären Keller in dem Kommunikationsspeicher 15 gesichert. Wenn die Unterbrechung von der Modemsteuereinheit verursacht wird, wird der sekundäre Keller gesperrt und der primäre Keller freigegeben; in den anderen Fällen bleibt der sekundäre Keller im freigegebenen Zustand.
- Der Unterbrechungsprozeß kann anhand des in Fig. 8 gezeigten Schemas erläutert werden. Die Ausführung des primären und des sekundären Programms kann dann als ein "finiter Zustandsautomat" betrachtet werden. Ein solcher finiter Zustandsautomat kann auch durch Ablaufpläne dargestellt werden. Wenn sich der finite Zustandsautomat für das primäre Programm im Zustand i befindet, was bedeutet, daß der Programmblock i des primären Programms ausgeführt worden ist, kann der Fall eintreten, bei dem der Programmblock j des primären Programms ausgeführt oder der finite Zustandsautomat auf den Zustand j gesetzt wird, um eine bestimmte Bedingung (a = 1) zu erfüllen, und bei dem Nichterfüllung der genannten Bedingung (a = 0) zum Verlassen des primären Programms infolge des Befehls SCND (x) führt. Der Operand (x) zeigt dann an, daß das sekundäre Programm unterbrochen werden muß, sobald anschließend a = 1 gilt; wobei a ein in dem interrupt-Maskenregister (IMS) angezeigtes Ereignis oder eine Kombination von Ereignissen angibt. Das sekundäre Programm wird in Fig. 8 in Form eines Blocks gezeigt, da die Ausführung des primären Programms mit der des sekundären Programms nicht synchronisiert werden kann; es ist nicht bekannt, wann die Unterbrechungsereignisse (x) eintreten, in welchem Zustand also das sekundäre Programm nach Ablauf der Wartezeit L2 verlassen wird und wo das sekundäre Programm am Anfang der folgenden Wartezeit L3 wieder aufgenommen werden muß. In Fig. 8 wird außerdem gezeigt, wie die Blöcke des primären Programms wieder durchlaufen werden müssen, um eine bestimmte Bedingung (b = 1) zu erfüllen (wenn beispielsweise Daten in Block i angefordert werden, diese Daten in Block j empfangen werden, und es sich herausstellt, daß diese Daten nicht korrekt sind, so daß die Datenanforderung wiederholt wird) und wie, falls b = 0, das primäre Programm in Abhängigkeit von einer weiteren Bedingung (c = 0) für eine unbestimmte Wartezeit verlassen werden kann, oder, falls c = 1, der Block k des primären Programms ausgeführt werden kann.
- Die verschiedenen Umstände, die zu einer Unterbrechung des sekundären Programms führen und die in dem Operanden (x) angegeben sind, sollen jetzt betrachtet werden.
- Nach einer vorgegebenen Zeitdauer (beispielsweise jedesmal, wenn das Token einhundertmal zirkuliert hat) senden alle in den logischen Ring aufgenommenen Stationen ("station in ring" wird in Bit b des Kommunikationsstatusregisters (CST1) aktualisiert) einen MAC-Rahmen (in MAP ein sogenannter "solicit successor"-Rahmen), wodurch neue Stationen eingeladen werden, an dem logischen Ring teilzunehmen. Eine solche aktive Station in dem logischen Ring erfordert daher eine Erweiterung des logischen Netzes; es werden jedoch nicht alle Stationen außerhalb des Rings eingeladen, sondern nur die Stationen in einem bestimmten Bereich, dessen Grenzen durch den SA- Code der aktiven Station und den DA-Code einer folgenden in den Ring aufgenommenen Station, wie sie im "solicit successor"-Rahmen enthalten sind, bestimmt werden. Wenn der "solicit successor"-Rahmen (durch das FC-Oktett angedeutet und in den Bits 0-7 des Kommuikationsstatusregisters (CST0) registriert) erkannt worden ist und die genannten Adreßbereichsgrenzen von der betreffenden Station bestimmt worden sind (und in den Bits 1 und 3 des Kommunikationsstatusregisters (SCT1) registriert) und die Station auch in den logischen Ring aufgenommen werden möchte ("in ring desired", in Bit 3 des Kommunikationsoperationsregisters angedeutet), sind alle Bedingungen zur Veranlassung einer Unterbrechung erfüllt; in diesem Fall detektiert eine erste Logikschaltung, die zu den Legikmitteln in der Kommunikationssteuereinheit gehört, Übereinstimmung mit dem das konstatierte Ereignis anzeigenden entsprechenden Bit (Bit 4), das aus dem Operanden (x) in das Interrupt-Maskenregister (IMS) übernommen worden ist. Das sekundäre Programm wird unterbrochen, und das primäre Programm sorgt dafür, daß eine Nachricht zum Sender des "solicit successor"-Rahmen geschickt wird, wobei der Adreßcode SA gleich dem von TS des "solicit-successor"-Rahmens wird und der Adreßcode DA gleich dem von SA der letzteren Nachricht. In MAP ist diese Nachricht (ein MAC-Rahmen) ein sogenannter "set successor"-Rahmen; die Versendung dieser Nachricht schließt ein, daß ihr Absender zu dem logischen Ring gehört. Nach Empfang dieser Nachricht beim Empfänger wird das Token an den Sender des "set successor"- Rahmens weitergereicht. Es ist jedoch möglich, daß das Token vom Absender des "set successor"-Rahmens nicht akzeptiert wird. Wenn es auch nach einem zweiten Versuch nicht akzeptiert wird, sendet die das Token besitzende Station eine Nachricht, die angibt, daß der Vorgänger der Station in dem logischen Ring, der diese Nachricht aufnimmt, aus dem logischen Ring ausgeschlossen worden ist (in MAP ein sogenannter "who follows"-Rahmen). In diesem MAC-Rahmen ist der Adreßcode der "folgenden" Station in dem Datenfeld enthalten; jede Station in dem logischen Ring merkt sich nämlich, welche Station die vorhergehende Station und welche Station die folgende Station in dem Ring ist. Wenn die angeschlossenen Stationen den "who follows"-Rahmen anhand des FC-Oktetts erkennen, wird in diesen Stationen das Datenfeld des Rahmens mit dem Adreßcode der "vorhergehenden" in der Station registrierten Station verglichen. In der Station, in der dieser Vergleich ein positives Ergebnis liefert, wird das sekundäre Programm unterbrochen. Das primäre Programm in dieser Station, die offensichtlich der Nachfolger der nicht antwortenden Station ist, sendet einen "set successor"-Rahmen an die Station, die im Besitz des Tokens ist, woraufhin die Station, die den letztgenannten Rahmen versendet hat, das Token erhält. Das beschriebene Unterbrechungsereignis wird von dem Operanden (x) in Bit 3 des Interrupt-Maskenregisters (IMS) übernommen. Anhand dieses Bits wird das Auftreten des genannten Ereignisses mit Hilfe einer zweiten zu den Logikmitteln in der Kommunikationssteuereinheit gehörenden Logikschaltung detektiert.
- Wenn die das Token besitzende Station keinen "solicit successor"-Rahmen sendet, wird das Token an die "folgende" Station in dem Ring weitergereicht. Wenn diese Station das Token nicht akzeptiert, wird wieder in der gleichen Weise ein "who follows"-Rahmen versendet. Das Weiterreichen des Tokens an eine folgende Station wird mittels eines Token-Rahmens realisiert, der als solcher anhand des FC-Oktetts erkannt wird. Nach Empfang dieses MAC-Rahmens wird das sekundäre Programm unterbrochen, sobald nach Empfang eines SD-Signals die Übereinstimmung DA = TS detektiert worden ist (und in dem Bit 0 des Kommunikationsstatusregisters (CST1) registriert ist). Das beschriebene Unterbrechungsereignis wird von dem Operanden (x) aus in das Bit 1 des Interrupt-Maskenregisters (IMS) übernommen. Anhand dieses Bits wird das Auftreten des genannten Ereignisses von einer dritten zu den Logikmitteln in der Kommunikationssteuereinheit gehörenden Logikschaltung detektiert.
- In dem Diagramm von Fig. 10 ist angenommen worden, daß die Ankunft eines Token-Rahmens zum Zeitpunkt t1 signalisiert worden ist und daß die Kommunikationssteuereinheit das sekundäre Programm ausführt; zum Zeitpunkt t2 wird das sekundäre Programm nach Adreßerkennung des Token-Rahmens unterbrochen. In dem primären Programm müssen Vorbereitungen für die weitere Verarbeitung des eingelaufenen Token-Rahmens getroffen werden, woraufhin das sekundäre Programm wieder aufgenommen werden kann (Zeitpunkt t3), während das Einschreiben aller Daten und die Detektion des das Ende des Eintreffens des Rahmens anzeigenden ED-Signals abgewartet wird. Wenn nach Empfang und Einschreiben des Token-Rahmens das Ende dieses Rahmens detektiert worden ist, wird das sekundäre Programm wieder unterbrochen; in Figur 10 erfolgt dies zum Zeitpunkt t4. Das vorliegende Unterbrechungsereignis wird von dem Operanden (x) in das Bit 7 des Interrupt-Maskenregisters übernommen. Anhand dieses Bits wird das Auftreten des genannten Ereignisses von einer vierten zu den Logikmitteln in der Kommunikationssteuereinheit gehörenden Logikschaltung detektiert. Nach Speicherung des Token-Rahmens wird dieser Rahmen analysiert (einschließlich beispielsweise der Anpassung der Registrierung der "previous station in the ring") und getestet. Es wird angenommen, daß diese Aktionen zum Zeitpunkt t5 beendet sind. Daher ist insgesamt eine Zeitdauer T1 = t5-t1 erforderlich, um das Token zu erhalten. Anschließend folgt die Zeitdauer T2 zur Ausübung der mit dem Tokenbesitz verbundenen Rechte. Zunächst wird in dem primären Programm geprüft, ob eine Nachricht versendet werden soll, diese Nachricht wird dann von der Kommunikationssteuereinheit der Modemsteuereinheit zugeordnet. Danach kann die von einem LLC-Kommando-Rahmen gebildete Nachricht tatsächlich versendet werden, und zugleich kann die Kommunikationssteuereinheit die Fortführung des sekundären Programms initiieren (Zeitpunkt t6). Sobald das ED-Oktett versendet und damit festgestellt worden ist, daß die vollständige Nachricht versendet worden ist, wird das sekundäre Programm wieder unterbrochen (Zeitpunkt t7). Dieses Unterbrechungsereignis wird von dem Operanden (x) ebenfalls in das Bit 7 des Interrupt-Maskenregisters (IMS) übernommen. Das Auftreten des genannten Ereignisses wird in der vierten Logikschaltung anhand dieses Bits detektiert. Anschließend wird in dem primären Programm der Empfang eines LLC-Antwortrahmen vorbereitet; beispielsweise wird die zu der Kommunikationssteuereinheit gehörende Uhr eingestellt, die dazu dient, die maximale Zeitdauer, innerhalb derer die Antwort eingetroffen sein muß, festzulegen (Watchdog-Timer). Wenn diese Vorbereitungen abgeschlossen sind, kann das sekundäre Programm wiederaufgenommen werden (Zeitpunkt t8), während der Antwortrahmen abgewartet wird. Sobald diese Antwort eintrifft, d. h. nach dem SD-Signal und der Adreßidentifizierung DA = TS (Zeitpunkt t9), wird das sekundäre Programm wieder unterbrochen. Dieses Unterbrechungsereignis wird von dem Operanden (x) in das Bit l des Interrupt-Maskenregisters (IMS) übernommen. Anhand dieses Bits wird das Auftreten des genannten Ereignisses in der dritten Logikschaltung detektiert. Wenn jedoch die von dem Watchdog-Timer eingestellte Zeit überschritten wird, ohne daß die Antwort eingetroffen ist, wird das sekundäre Programm unterbrochen und der Kommandorahmen erneut verzonden. Dieses Unterbrechungsereignis wird von dem Operanden (x) in das Bit 6 des Interrupt-Maskenregisters (IMS) übernommen. Anhand dieses Bits wird das Auftreten des genannten Ereignisses, d. h. das Überschreiten der von dem Watchdog-Timer eingestellten Zeit, von einer fünften zu den Legikmitteln in der Kommunikationssteuereinheit gehörenden Logikschaltung detektiert. Wenn der Antwortrahmen selbst nach mehrfacher Wiederholung dieses Vorgehens nicht erschienen ist, wird dies der Station mitgeteilt, diese Nachricht wird in einer höheren Schicht der OSI-Empfehlungen durchgegeben. Anschließend wird das Token weitergereicht.
- Wenn der Antwortrahmen zum Zeitpunkt t9 identifiziert ist, d. h. daß der Zieladreßcode darin erkannt worden ist, trifft das primäre Programm die Vorbereitungen für die weitere Verarbeitung dieser Nachricht. Wenn dies geschehen ist (Zeitpunkt t10), wird das sekundäre Programm wieder aufgenommen, während das Einschreiben des vollständigen Rahmens und das Erscheinen des ED-Signals abgewartet wird. Zum Zeitpunkt t11 wird das sekundäre Programm wieder unterbrochen, d. h. durch das in dem Bit 7 des Interrupt-Maskenregisters (IMS) registrierte Unterbrechungsereignis. Während des anschließenden primären Programms werden die empfangenen Daten verarbeitet und getestet, woraufhin der betreffenden Station der Empfang signalisiert wird. Zum Zeitpunkt t12 sind diese Operationen abgeschlossen und ist die Zeitdauer T2 = t12-t5 zur Ausübung der mit dem Tokenbesitz verbundenen Rechte abgelaufen und kann das Token weitergereicht werden. Zunächst laufen die vorbereitenden Aktivitäten zur Weitergabe des Tokens; wenn diese Aktivitäten abgeschlossen sind (Zeitpunkt t13), wird der MAC-Token-Rahmen versendet, und zur gleichen Zeit kann das sekundäre Programm wiederaufgenommen werden, bis der gesamte Token-Rahmen versendet und dessen ED-Oktett detektiert worden ist. Das sekundäre Programm wird dann wieder unterbrochen (Zeitpunkt t14). Dieses Unterbrechungsereignis wird wieder in dem Bit 7 des Interrupt-Maskenregisters registriert. In dem primären Programm erfolgt die Beendigung der der Aussendung des Token-Rahmens folgenden Ereignisse, woraufhin zum Zeitpunkt t15 die Vorbereitungen zur Überprüfung getroffen werden, ob das Token übernommen worden ist. Wenn diese Vorbereitungen getroffen worden sind (Zeitpunkt t16), wird das sekundäre Programm wieder aufgenommen, unter Abwarten der Detektion des Vorhandenseins einer Nachricht auf dem Kabel. Wenn das Token übernommen worden ist, gibt die Station, in deren Besitz das Token ist, eine Nachricht für eine beliebige weitere Station aus; alle angeschlossenen Stationen detektieren diese Nachricht und erzeugen das SD-Signal in ihrer Modemsteuereinheit. Wenn letzteres Signal in der Station, die das Token weitergegeben hat, detektiert worden ist, wird das sekundäre Programm darin unterbrochen, um dem primären Programm zu ermöglichen, zu registrieren, daß das Token weitergegeben worden ist und eventuell auch, wie häufig ein Versuch zur Weitergabe gemacht worden ist. Dieses Unterbrechungsereignis wird von dem Operanden (x) in das Bit 0 des Interrupt-Maskenregisters (IMS) übernommen. Anhand dieses Bits wird das Auftreten des genannten Ereignisses von einer sechsten zu den Logikmitteln in der Kommunikationssteuereinheit gehörenden Legikschaltung festgelegt.
- Wenn in der Station, die das Token weitergeben will, innerhalb einer von dem Watchdog-Timer eingestellten Zeitdauer kein SD-Signal empfangen worden ist, wird das sekundäre Programm in dieser Station unterbrochen und festgestellt, daß die Station noch im Besitz des Tokens ist; die Station versucht dann das Token doch noch an die "folgende" Station weiterzugeben. Gelingt dies wieder nicht, wird ein "whofollows"-Rahmen in der genannten Weise versendet. Dieses Unterbrechungsereignis wird, wie bereits erwähnt, von dem Operanden (x) in das Bit 6 des Interrupt-Maskenregisters (IMS) übernommen. Anhand dieses Bits wird das Auftreten des genannten Ereignisses in der fünften Legikschaltung festgelegt.
- Die Zeitdauer T3 = t15-t12 stellt die für die Weitergabe des Tokens benötigte Zeitdauer dar. Die Zeit T1 + T2 + T3 stellte die Token-Haltezeit dar. Der Teil der Token-Haltezeit, in der das primäre Programm abläuft, d. h. Tp, wird von dem 10-MHz-Takt des Systems bestimmt, so daß er anhand der Anzahl auszuführender Programmschritte genau bestimmt werden kann. Der Teil der Token-Haltezeit, in der das sekundäre Programm abläuft, d. h. Ts, hängt jedoch von der zum Einschreiben und Auslesen der Nachrichten verwendeten Bitrate ab. In Fig. 11 wird die Token-Haltezeit Tp + Ts für die verschiedenen Bitraten wiedergegeben, wobei Tp konstant ist und Ts mit abnehmender Bitrate ansteigt. Für eine Bitrate von beispielsweise 1 Mbit/s können 0,4 ms für die Ausführung des sekundären Programms während der Wartezeiten bei der Ausführung des primären Programms genutzt werden, das in diesem Fall 0,1 ms benötigt. Dieser Fall illustriert, in welchem Maß die Zeit in der erfindungsgemäßen Schnittstelle effektiv genutzt wird.
- Bisher ist angegeben worden, wie die verschiedenen Unterbrechungsereignisse in den verschiedenen Bits des Interrupt-Maskenregisters registriert worden sind; dies waren in dem vorliegenden Beispiel die Bits 0, 1, 3, 4, 6 und 7. All diese Unterbrechungsereignisse bezogen sich auf MAP. Offensichtlich können mehr Unterbrechungsereignisse programmiert werden. Beispielsweise kann das in dem Bit 1 registrierte Unterbrechungsereignis auf Adressenidentifizierungen erweitert werden, wobei DA nicht nur eine einzige Station (TS) anzeigen kann, sondern auch eine Gruppe von Stationen oder sogar alle angeschlossenen Stationen. Ein anderes Unterbrechungsereignis für MAP tritt in dem Verfahren zur Klärung der Konkurrenzsituation auf, bei der Bestimmung, welche Station schließlich das Token erhalten soll, wenn mehrere Stationen in dem von DA und SA bestimmten Adressenbereich in den logischen Ring aufgenommen werden wollen. Ein anderes Unterbrechungsereignis für MAP tritt auf, wenn das Token verlorengegangen ist; eine vorgegebene Station wird dann als erste gewarnt, daß keine weiteren Nachrichten auf dem Kabel erscheinen werden, und diese beansprucht dann das Token (mittels eines MAC-"claim token"-Rahmens) und erhält das Token, woraufhin der logische Ring mit Hilfe von "solicit successor"-Rahmen wieder aufgebaut wird. Auch für andere Protokolle können zugehörige Unterbrechungsereignisse definiert werden. Wegen der Programmierbarkeit von Unterbrechungsereignissen ist das Netz extrem flexibel und für eine Anpassung an verschiedene Protokolle geeignet.
- Fig. 9 ist ein allgemeiner Überblick über den Aufbau der Kommunikationssteuereinheit. Da diese Einheit faktisch ein Mikroprozessor ist, dessen Aufbau und Funktionsweise als bekannt vorausgesetzt wird, soweit es die normalen Verarbeitungsoperationen betrifft, soll sie nur insofern beschrieben werden, als dies für die Erläuterung des erfindungsgemäßen Unterbrechungsprozesses wichtig ist.
- Die Kommunikationssteuereinheit umfaßt ein Interrupt-Maskenregister 55, in dem der Operand (x) des Befehls SCND(x) gespeichert werden kann, Register- und Zählmittel 56 und Legikmittel 57. Die Register- und Zählmittel 56 umfassen die Kommunikationsstatusregister (CST0) und (CST1), das Kommunikationsoperationsregister (COP) und den Watchdog-Timer zur Überwachung oder Bestimmung der verschiedenen von dem Protokoll vorgeschriebenen Wartezeiten (beispielsweise zur Überwachung der LLC-Antwortzeit und der Token-Übernahmezeit), wobei die Legikmittel die genannten sechs Legikschaltungen umfassen, die auf die Signale aus den Register- und Zählmitteln 56 ansprechen, die für das Auftreten der verschiedenen beschriebenen, in der Modemsteuereinheit ablaufenden Unterbrechungsereignisse entscheidend sind. Diese Ereignisse werden anhand der betreffenden Bits des Interrupt-Maskenregisters (IMS) 55 überprüft, wobei im Fall der Übereinstimmung dem Zeitgeber 59 über die Leitung 58 ein Unterbrechungssignal zugeführt wird; dieser Zeitgeber steuert den in der Kommunikationssteuereinheit ablaufenden Prozeß.
- Wenn das Unterbrechungssignal abgegeben worden ist, muß das sekundäre Programm unterbrochen werden, wobei jedoch der laufende Programmschritt erst abgeschlossen wird; das primäre Programm wird durch den Befehl SCND(x) verlassen. In beiden Fällen wird das laufende Programm unterbrochen, und man muß sich merken, wo und unter welchen Umständen das betreffende Programm später wieder fortzusetzen ist. Hierzu wird in dem Kommunikationsspeicher zusätzlich zu einem ersten Teil für das primäre Programm und einem zweiten Teil für das sekundäre Programm ein dritter Teil reserviert, der einen primären Keller enthält, in dem die Stelle, wo und die Umstände, unter denen das primäre Programm unterbrochen worden ist, festgehalten werden, und einen sekundären Keller, in dem die Steile wo und die Umstände, unter denen das sekundäre Programm unterbrochen worden ist, festgehalten werden. Der primäre und der sekundäre Keller werden von einem primären Stapelzeiger (Englisch: stack pointer) 60 bzw. einem sekundären Stapelzeiger 61 adressiert. Die Programmschritte eines laufenden Programms werden von einem Programmzähler 62 angegeben; wenn ein Programm unterbrochen wird, wird für den Programmzähler der Zugriff auf den Speicheradreßbus 31 über die Adreßsteuerung 63, 64 durch Blockierung der Adreßbussteuerung 63 mittels eines von dem Zeitgeber 59 gelieferten Signal gesperrt. Der Inhalt des Programmzählers wird dann über die Leitung 65 und die Adreßsteuerung 66 dem Speicherdatenbus 30 zugeführt, von wo aus er in den betreffenden Keller übertragen wird, d. h. auf einen Speicherplatz, der von dem betreffenden Stapelzeiger über die Adreßbussteuerung 67, 64 oder 68, 64 angegeben wird. Der betreffende Stapelzeiger gibt anschließend die aufeinanderfolgenden Plätze in dem betreffenden Keller an, in denen der Inhalt verschiedener, im folgenden noch genauer anzugebender Register gesichert werden sollte. Angenommen wird, daß die Stelle, wo und die Umstände, unter denen das primäre Programm unterbrochen worden ist, auf diese Weise gesichert sind, so daß das sekundäre Programm fortgesetzt werden kann. Der primäre Stapelzeiger 60 wird dann gesperrt (durch Blockierung der Adreßbussteuerung 67) und der sekundäre Stapelzeiger 61 wird freigegeben (durch Freigabe der Adreßbussteuerung 68). Der Stapelzeiger 61 steht dann in dem Stand, bei dem er die Adresse der letzten der zuvor gesicherten Daten in dem sekundären Keller angezeigt hat. Durch Herabzählen des Stapelzeigers 61 werden die zuvor gesicherten Daten und schließlich der Stand des Programmzählers, bei dem das sekundäre Programm unterbrochen worden war, über die Adreßbussteuerung 68 und die Adreßbussteuerung 69 nacheinander adressiert, wenn auch in umgekehrter Reihenfolge, und in den jeweiligen Registern bzw. (über die Leitung 70 und den Multiplexer 71) dem Programmzähler 62 gespeichert. Anschließend wird der sekundäre Stapelzeiger 61 gesperrt, und der Programmzähler 62 erhält Zugriff auf den Speicheradreßbus 31, um das sekundäre Programm von der Stelle, wo es unterbrochen worden war, aus fortzusetzen. Sobald ein folgendes Unterbrechungsereignis eintritt und das Unterbrechungssignal über die Leitung 58 abgegeben worden ist, wird dem Programmzähler der Zugriff auf den Speicheradreßbus 31 wieder versagt und der sekundäre Stapelzeiger 61 wird freigegeben, so daß er die aufeinanderfolgenden Adressen anzeigen kann, bei denen der Stand des Programmzählers 62 und der Inhalt der verschiedenen Register gesichert werden kann. Anschließend wird der sekundäre Stapelzeiger gesperrt und der primäre Stapelzeiger 60 freigegeben, um in umgekehrter Reihenfolge den Inhalt der verschiedenen Register und den Stand des Programmzählers, bei dem das primäre Programm zuvor unterbrochen worden war, aus dem primären Keller zu holen, so daß das primäre Programm fortgesetzt werden kann.
- Diese Unterbrechungsprozedur unterscheidet sich erheblich von der üblichen Unterbrechungsprozedur, bei der eine Unterbrechungssubroutine in dem eigenen Programm ausgeführt wird. Dieser Fall liegt im vorliegenden Fall vor, wenn in den Bits a-f des Interrupt-Maskenregisters (IMS) 55 festgelegte "externe" Unterbrechungsereignisse auftreten, wobei der Stand des Programmzählers und der Inhalt der verschiedenen Register in dem Kommunikationsspeicher (in dem sekundären Keller) gesichert werden, wenn das Unterbrechungssignal zur Unterbrechung des sekundären Programms abgegeben wird, und wobei die in dem Interrupt-Adreßregister (IAR) 72 vorhandene Anfangsadresse der Unterbrechungssubroutine über den Multiplexer 71 in dem Programmzähler gespeichert wird; diese Subroutine ist Teil des sekundären Programms und kann als solches durch in der Modemsteuereinheit auftretende Unterbrechungsereignisse, die die Fortsetzung des primären Programms erfordern, unterbrochen werden.
- Wenn das primäre oder das sekundäre Programm unterbrochen wird, muß der Inhalt verschiedener Register gesichert werden; dabei geht es um an der Ausführung von Befehlen beteiligte Register. Diese Register umfassen das Daten-Offsetregister (DOF) 73 und das Marken-Offsetregister (LOF) 74; diese Register erfüllen eine Funktion beim Erhalten eines effektiven Operanden durch Addition des Inhalts, über den Multiplexer 75, in dem Zähler 76 zu dem Inhalt eines Operandenregisters 77; ein effektiver Operand dieser Art dient dazu, spezielle Speicherplätze (über eine Adreßbussteuerung 78) anzuzeigen, beispielsweise zur Speicherung von Daten in FIFO-Registern in dem Kommunikationsspeicher und zur Ausführung von Sprungbefehlen in dem Programm. Die Register, deren Inhalt gesichert werden muß, wenn das betreffende Programm unterbrochen wird, umfassen auch das Programmstatusregister (PST), in dem Ergebnisse der Ausführung verschiedener Befehle gespeichert werden, und das Bedingungsregister (CR), in dem der Zustand der Bedingungen (beispielsweise a, b und c in Fig. 8), die unterschiedliche Aktionen in dem finiten Zustandsautomat auslösen, angezeigt wird.
- Das primäre Programm wird nach Beendigung eines bestimmten Programmblocks verlassen; das sekundäre Programm kann zu beliebigen Zeitpunkten unterbrochen werden, was bedeutet, daß das übliche Akkumulationsregister (ACC) gerade geladen sein kann, wenn die Unterbrechung auftritt. Der Inhalt des Akkumulationsregisters sollte auch gesichert werden, wenn das sekundäre Programm unterbrochen wird.
- Beim Verlassen des primären Programms ist dies nicht notwendig; eventuell kann der Inhalt dieses Registers anderswo gespeichert werden, bevor der Befehl SCND(x) ausgegeben wird. Die in diesem Zusammenhang genannten Register (PST, CR und ACC) und die weiteren Register und Zähler, die für die vorliegende Erfindung nicht von Bedeutung sind, sind in der Einheit 79 untergebracht.
- Schließlich zeigt Fig. 9 das auch in Fig. 6 gezeigte und eigentlich nicht zu der Kommunikationssteuereinheit gehörende Modemplatzregister 48, wobei die in Fig. 6 mit dem Bezugszeichen 50 bezeichnete Adreßbussteuerung jetzt aus zwei solchen Schaltungen 80 und 64 zusammengesetzt ist. Die Adreßsteuerungsschaltungen 63, 64, 66, 67, 68, 69, 78 und 80 bilden zusammen eine Kommunikationsspeicherbussteuerungseinheit, wie sie in Fig. 5 unter dein Bezugszeichen 28 gesondert dargestellt wird. Die Adreßbussteuerungsschaltungen werden von dem Zeitgeber 59 gesteuert, der jeder dieser Schaltungen Zeitschlitze für den Zugriff auf den Kommunikationsspeicher zuweist.
Claims (11)
1. Schnittstellenanordnung zur Bildung einer Schnittstelle zwischen einer
Netzstation und einem physikalischen Netz-Medium mit einem Demodulator zur
Umwandlung von Netzsignalen in einen Eingangsbitstrom, einem Modulator zur
Umwandlung eines Ausgangsbitstroms in weitere Netzsignale, wobei die Anordnung eine
mit dem Modulator/Demodulator 13 verbundene Protokollsteuereinheit 14 und einen mit
der Protokollsteuereinheit über einen Kommunikationsspeicherbus 16 kommunizierenden
Kommunikationsspeicher 15 umfaßt, wobei der Kommunikationsspeicher einen ersten
Teil zur Speicherung von Kommunikationssoftware als primäres Programm enthält und
die Protokollsteuereinheit eine Modemsteuereinheit 26 zum Einschreiben des
empfangenen Bitstroms in bzw. zum Auslesen des zu versendenden Bitstroms aus dem
Kommunikationsspeicher enthält, sowie eine Kommunikationssteuereinheit 27 zur Koordinierung
der Operationen der Modemsteuereinheit und für die Ausführung des primären
Programms und auch eine Kommunikationsspeicherbussteuereinheit 28 zur Zuweisung von
Zeitschlitzen für den Zugriff auf den Kommunikationsspeicher an die
Modemsteuereinheit und an die Kommunikationssteuereinheit auf ihre jeweiligen Anfragen hin, dadurch
gekennzeichnet, daß ein zweiter Teil des Kommunikationsspeichers für
Prozeßsteuerungssoftware reserviert ist, die mindestens teilweise als sekundäres Programm für
einen in der mit der Schnittstelleneinheit verbundenen Station auszuführenden Prozeß
gespeichert ist, wobei von der Kommunikationssteuereinheit für die Ausführung des
sekundären Programms gesorgt wird, die Modemsteuereinheit die Ausführung des
sekundären Programms in der Kommunikationssteuereinheit jedesmal, wenn ein
Kommunikationsbefehl für die Station ausgeführt werden soll, unterbricht, woraufhin die
Kommunikationssteuereinheit das primäre Programm ausführt, aber die Ausführung des
sekundären Programms während Wartezeiten bei der Ausführung des primären
Programms fortsetzt, wofür ein weiterer Speicher zum Merken der Stelle, wo, und der
Umstände, unter denen das primäre und das sekundäre Programm unterbrochen worden
sind, vorhanden ist.
2. Schnittstellenanordnung nach Anspruch l, dadurch gekennzeichnet, daß
die Kommunikationssteuereinheit ein Interrupt-Maskenregister 55 enthält, in dem der
Operand (x) eines zum primären Programm gehörenden Befehls SCND(x) gespeichert
wird, welcher Operand (x) die Ereignisse in der Modemsteuereinheit anzeigt, die die
Unterbrechung des sekundären Programms und das Überwechseln auf die Ausführung
des primären Programms veranlassen.
3. Schnittstellenanordnung nach Anspruch 2, dadurch gekennzeichnet, daß
die Kommunikationssteuereinheit erste Registermittel umfaßt, zur Registrierung, daß der
Beginn einer einlaufenden Nachricht signalisiert worden ist und anschließend, daß der
Zieladreßcode in der eintreffenden Nachricht mit dem Adreßcode der Station
übereinstimmt, und auch Logikmittel, die eine dritte Logikschaltung enthalten, die, als
Reaktion auf diese Information anzeigende Bits in den Registermitteln, ein Bit ausgibt, das
im Falle der Übereinstimmung mit dem das betreffende Unterbrechungsereignis
anzeigenden Bit in dem Interrupt-Maskenregister dafür sorgt, daß das sekundäre Programm
unterbrochen wird.
4. Schnittstellenanordnung nach Anspruch 2 oder 3, dadurch gekennzeichnet,
daß die Kommunikationssteuereinheit zweite Registermittel umfaßt, zur Registrierung,
daß nach dem Beginn auch das Ende einer einlaufenden Nachricht detektiert worden ist
oder daß das Ende einer übertragenen Nachricht detektiert worden ist, und auch
Logikmittel, die eine vierte Legikschaltung enthalten, die, als Reaktion auf eine der zwei
Informationen anzeigende Bits in den Registermitteln, ein Bit ausgibt, das im Falle der
Übereinstimmung mit dem das betreffende Unterbrechungsereignis anzeigenden Bit in
dem Interrupt-Maskenregister für die Ausgabe eines Unterbrechungssignals sorgt,
wodurch das sekundäre Programm unterbrochen wird.
5. Schnittstellenanordnung nach einem der Ansprüche 2 bis 4, dadurch
gekennzeichnet, daß die Kommunikationssteuereinheit dritte Registermittel umfaßt, zur
Registrierung, daß die von einem ebenfalls zur Kommunikationssteuereinheit
gehörenden Zähler ("Watchdog-Timer") eingestellte Zeit, innerhalb derer ein abzusehendes
Ereignis stattgefunden haben muß, abgelaufen ist, und auch Legikmittel, die eine fünfte
Logikschaltung enthalten, die, als Reaktion auf ein diese Information anzeigendes Bit in
den Registermitteln, und im Falle der Übereinstimmung mit dem das betreffende
Unterbrechungsereignis anzeigenden Bit in dem Interrupt-Maskenregister für die Ausgabe
eines Unterbrechungssignals sorgt, wodurch das sekundäre Programm unterbrochen
wird.
6. Schnittstellenanordnung nach einem der Ansprüche 2 bis 5, für ein
"Token-passing"-Busverbindungsnetz, dadurch gekennzeichnet, daß die
Kommunikationssteuereinheit vierte Registermittel umfaßt, zur Registrierung, daß eine einlaufende
Nachricht eine Einladung für die betreffende Station darstellt, an dem logischen Ring des
"Token-passing"-Busverbindungsnetzes teilzunehmen, daß die betreffende Station in den
logischen Ring aufgenommen werden will und daß der Adreßcode dieser Station
zwischen in der Einladung vorgegebenen Bereichsgrenzen liegt, und auch Logikmittel, die
eine erste Logikschaltung enthalten, die als Reaktion auf diese Information anzeigende
Bits in dem Registermittel, ein Bit ausgibt, das im Falle der Übereinstimmung mit dem
das betreffende Unterbrechungsereignis anzeigenden Bit in dem Interrupt-Maskenregister
für die Ausgabe eines Unterbrechungssignals sorgt, wodurch das sekundäre Programm
unterbrochen wird.
7. Schnittstellenanordnung nach einem der Ansprüche 2 bis 6, für ein
"Token-passing"-Busverbindungsnetz, dadurch gekennzeichnet, daß die
Kommunikationssteuereinheit fünfte Registermittel umfaßt zur Registrierung, daß der Beginn einer
einlaufenden Nachricht detektiert worden ist und anschließend, daß diese Nachricht eine
Mitteilung enthält, daß der Vorgänger der betreffenden Station in dem logischen Ring
des "Token-passing"-Busverbindungsnetzes daraus ausgeschlossen worden ist, sowie
Vergleichsmittel zum Vergleichen des Inhalts des Datenfeldes dieser Nachricht mit dem
in der betreffenden Station registrierten Adreßcode der in dem logischen Ring
vorangegangenen Station, und Logikmittel, die eine zweite Logikschaltung enthalten, die, als
Reaktion auf diese Information anzeigende Bits in den genannten Register- und
Vergleichsmitteln, ein Bit ausgibt, wenn das Ergebnis des Vergleichs in den letztgenannten
Mitteln positiv ist, welches Bit im Falle seiner Übereinstimmung mit dem das
betreffende Unterbrechungsereignis anzeigenden Bit in dem Interrupt-Maskenregister für die
Ausgabe eines Unterbrechungssignals sorgt, wodurch das sekundäre Programm
unterbrochen wird.
8. Schnittstellenanordnung nach einem der Ansprüche 2 bis 7, für ein
"Token-passing"-Busverbindungsnetz, dadurch gekennzeichnet, daß die
Kommunikationssteuereinheit sechste Registermittel umfaßt, zur Registrierung, daß nach Weiterreichen
des Tokens an eine nächste Station in dem logischen Ring des
"Token-passing"-Busverbindungsnetzes der Beginn einer Nachricht detektiert worden ist, und auch Logikmittel,
die eine sechste Logikschaltung enthalten, die als Reaktion auf ein diese Information
anzeigendes Bit in dem Registermittel, im Falle der Übereinstimmung mit dem das
betreffende Unterbrechungsereignis anzeigenden Bit in dem Interrupt-Maskenregister für
die Ausgabe eines Unterbrechungssignals sorgt, wodurch das sekundäre Programm
unterbrochen wird.
9. Schnittstellenanordnung nach einem der Ansprüche 2 bis 8, dadurch
gekennzeichnet, daß die Kommunikationssteuereinheit einen primären und einen
sekundären Stapelzeiger umfaßt, wobei der Stand des in üblicher Weise in der
Kommunikationssteuereinheit aufgenommenen Programmzählers und der Inhalt von angezeigten, zur
Kommunikationssteuereinheit gehörenden Registern in dem primären Keller in dem
weiteren Speicher, und zwar an den von dem primären Stapelzeiger angezeigten
Plätzen, gespeichert werden, wenn das primäre Programm unterbrochen wird, woraufhin
der Stand des Programmzahlers und der Inhalt von angezeigten, sich von den genannten
Registern möglicherweise unterscheidenden und zu der Kommunikationssteuereinheit
gehörenden Registern, wie zuvor in dem sekundären Keller in dem weiteren Speicher
gesichert, aus den von dem sekundären Stapelzeiger angezeigten Plätzen in diesem
Speicher ausgelesen und in dem Programmzähler bzw. den entsprechenden Registern
gespeichert werden, während der Stand des Programmzählers und der Inhalt der
betreffenden Register in dem entsprechenden sekundären Keller, d. h. an den von dem zweiten
Stapelzeiger angezeigten Plätzen, gespeichert werden, wenn das sekundäre Programm
unterbrochen wird, woraufhin der Stand des Programmzählers und der Inhalt der
angezeigten Register, wie zuvor in dem primären Keller gesichert, aus den von dem
primären Stapelzeiger angezeigten Plätzen in diesem Speicher ausgelesen und in dem
Programmzähler bzw. den entsprechenden Registern gespeichert werden.
10. Schnittstellenanordnung nach einem der Ansprüche 1 bis 9 und als
integrierte Schaltung ausgeführt.
11. Verbindungsnetz zwischen einzelnen Stationen einerseits und einem
physikalischen Medium für den Nachrichtenverkehr zwischen diesen Stationen andererseits,
mit der Schnittstellenanordnung nach einem der Ansprüche 1 bis 9.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL8702394A NL8702394A (nl) | 1987-10-08 | 1987-10-08 | Interface voor een verbindingsnetwerk tussen afzonderlijke stations enerzijds en een voor het berichtenverkeer tussen deze stations gebruikt fysiek medium anderzijds. |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3882192D1 DE3882192D1 (de) | 1993-08-12 |
DE3882192T2 true DE3882192T2 (de) | 1994-01-27 |
Family
ID=19850720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE88202129T Expired - Fee Related DE3882192T2 (de) | 1987-10-08 | 1988-09-29 | Schnittstelleanordnung für die Verbindung zwischen einerseits getrennten Stationen und andererseits einem für den Nachrichtenverkehr zwischen diesen Stationen benutzten physikalischen Mittel. |
Country Status (5)
Country | Link |
---|---|
US (1) | US5107456A (de) |
EP (1) | EP0311187B1 (de) |
JP (1) | JPH01128637A (de) |
DE (1) | DE3882192T2 (de) |
NL (1) | NL8702394A (de) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2679775B2 (ja) * | 1989-07-31 | 1997-11-19 | 三田工業株式会社 | Cpu間通信方法 |
US5167030A (en) * | 1989-08-23 | 1992-11-24 | Helix Software Company, Inc. | System for dynamically allocating main memory to facilitate swapping of terminate and stay resident communication program to increase available memory space |
EP0453863A2 (de) * | 1990-04-27 | 1991-10-30 | National Semiconductor Corporation | Verfahren und Gerät zur Ausführung einer Mediumzugriffssteuerung/Wirtsystemschnittstelle |
GB9019022D0 (en) * | 1990-08-31 | 1990-10-17 | Ncr Co | Work station or similar data processing system including interfacing means to microchannel means |
US5291607A (en) * | 1990-09-05 | 1994-03-01 | Motorola, Inc. | Microprocessor having environmental sensing capability |
US5202963A (en) * | 1990-12-18 | 1993-04-13 | Bull Hn Information Systems Inc. | Method and apparatus for adapting a remote communications controller to a variety of types of communications modems |
US5313589A (en) * | 1991-05-15 | 1994-05-17 | Ibm Corporation | Low level device interface for direct access storage device including minimum functions and enabling high data rate performance |
JP2601962B2 (ja) * | 1991-11-20 | 1997-04-23 | 三菱電機株式会社 | バス競合制御装置 |
GB2264843B (en) * | 1992-02-28 | 1995-09-20 | Texas Instruments Ltd | An interface device for coupling a host device having a network interface to a computer network having a predetermined communications medium |
US5680645A (en) * | 1992-11-18 | 1997-10-21 | Canon Kabushiki Kaisha | System for executing first and second independently executable programs until each program relinquishes control or encounters real time interrupts |
US5481735A (en) * | 1992-12-28 | 1996-01-02 | Apple Computer, Inc. | Method for modifying packets that meet a particular criteria as the packets pass between two layers in a network |
JP3168102B2 (ja) * | 1993-06-30 | 2001-05-21 | トヨタ自動車株式会社 | 通信装置 |
US5410754A (en) * | 1993-07-22 | 1995-04-25 | Minute Makers, Inc. | Bi-directional wire-line to local area network interface and method |
US7080051B1 (en) | 1993-11-04 | 2006-07-18 | Crawford Christopher M | Internet download systems and methods providing software to internet computer users for local execution |
US5771354A (en) * | 1993-11-04 | 1998-06-23 | Crawford; Christopher M. | Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services |
US5752216A (en) * | 1994-07-06 | 1998-05-12 | Dimensions International, Inc. | Non-intrusive data interface system for air traffic control |
JPH096706A (ja) * | 1995-06-22 | 1997-01-10 | Hitachi Ltd | 疎結合計算機システム |
US6049837A (en) * | 1997-12-08 | 2000-04-11 | International Business Machines Corporation | Programmable output interface for lower level open system interconnection architecture |
US6665752B1 (en) * | 2000-02-17 | 2003-12-16 | Conexant Systems, Inc. | Interrupt driven interface coupling a programmable media access controller and a process controller |
KR100430567B1 (ko) * | 2000-10-11 | 2004-05-10 | 한국전자통신연구원 | 주소발생기를 포함한 인터리빙/디인터리빙 수행 장치 및그 방법과 그를 이용한 채널 부호화 시스템 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1153420A (en) * | 1968-05-10 | 1969-05-29 | Ibm | Improvements in Data Processing Systems |
US4075691A (en) * | 1975-11-06 | 1978-02-21 | Bunker Ramo Corporation | Communication control unit |
US4430702A (en) * | 1980-05-12 | 1984-02-07 | Control Data Corporation | Network access device |
EP0048781B1 (de) * | 1980-09-26 | 1985-03-27 | International Business Machines Corporation | Leitungssteuerung für einen Vorschaltrechner in einem Datennetz |
US4456956A (en) * | 1981-08-24 | 1984-06-26 | Data General Corp. | Method and apparatus for controlling access of a network transmission bus between a plurality of spaced apart computer stations |
EP0077863B1 (de) * | 1981-10-28 | 1986-09-17 | International Business Machines Corporation | Abtasteinrichtung für Übertragungsleitungen, bestimmt für eine Übertragungssteuerung |
US4516205A (en) * | 1982-11-09 | 1985-05-07 | Eing A Hubert I | Access control of data transmission network |
US4590468A (en) * | 1983-03-10 | 1986-05-20 | Western Digital Corporation | Token access controller protocol and architecture |
DE3333847A1 (de) * | 1983-04-13 | 1985-04-11 | Siegfried 7562 Gernsbach Schwarz | Einchip-rechner als lokaler netzwerk-kontroller und rechner |
US4652874A (en) * | 1984-12-24 | 1987-03-24 | Motorola, Inc. | Serial communication interface for a local network controller |
US4700185A (en) * | 1984-12-26 | 1987-10-13 | Motorola Inc. | Request with response mechanism and method for a local area network controller |
US4638356A (en) * | 1985-03-27 | 1987-01-20 | General Instrument Corporation | Apparatus and method for restricting access to a communication network |
-
1987
- 1987-10-08 NL NL8702394A patent/NL8702394A/nl not_active Application Discontinuation
-
1988
- 1988-09-29 EP EP88202129A patent/EP0311187B1/de not_active Expired - Lifetime
- 1988-09-29 DE DE88202129T patent/DE3882192T2/de not_active Expired - Fee Related
- 1988-09-30 US US07/252,245 patent/US5107456A/en not_active Expired - Fee Related
- 1988-10-07 JP JP63252171A patent/JPH01128637A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0311187B1 (de) | 1993-07-07 |
EP0311187A1 (de) | 1989-04-12 |
NL8702394A (nl) | 1989-05-01 |
DE3882192D1 (de) | 1993-08-12 |
US5107456A (en) | 1992-04-21 |
JPH01128637A (ja) | 1989-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3882192T2 (de) | Schnittstelleanordnung für die Verbindung zwischen einerseits getrennten Stationen und andererseits einem für den Nachrichtenverkehr zwischen diesen Stationen benutzten physikalischen Mittel. | |
DE3689635T2 (de) | Netzwerk mit Tokenübergabe für industrielle Zwecke. | |
EP0576459B1 (de) | Verfahren zum aufbau von botschaften für den datenaustausch und/oder für die synchronisation von prozessen in datenverarbeitungsanlagen | |
DE3506118C2 (de) | ||
DE3608126C2 (de) | ||
DE3043894C2 (de) | ||
DE3750647T2 (de) | Netz mit Jetonübergabe. | |
DE3608173C2 (de) | Datenübertragungssystem und Verfahren zur Datenübertragung zwischen mehreren Datenverarbeitungsgeräten | |
DE2913288C2 (de) | Multiprozessoranlage mit einer Vielzahl von Prozessorbausteinen | |
DE69932603T2 (de) | Frühere zuteilung eines vollen zweiweg busses | |
DE69433858T2 (de) | Methode und Vorrichtung zum Austausch unterschiedlicher Arten von Daten während verschiedener Zeitintervallen | |
DE69021186T2 (de) | "Master-Slave" industrielles Netzwerk mit Tokenübergabe. | |
DE102012224024A1 (de) | Datenübertragung unter Nutzung eines Protokollausnahmezustands | |
DE69207496T2 (de) | Verfahren und Vorrichtung zur Nachrichtenübertragungsverwaltung über ein Stromversorgungsnetz in einem Hausnetz | |
EP0701346A2 (de) | Verfahren zur konsistenten Nachrichtenübertragung | |
EP0443003B1 (de) | Kanalzugriffsverfahren für ein als bus-system konfiguriertes lokales übertragungsnetz | |
DE10246793B4 (de) | Übertragungssteuervorrichtung, welche ein CAN-Protokoll verwendet | |
WO2019121549A1 (de) | Verfahren zum senden von datenpaketen, steuergerät und system mit steuergerät | |
DE4214303A1 (de) | Kommunikationssystem | |
DE10296916B4 (de) | Kommunikationsvorrichtung und Verfahren zum Unterstützen von Vielfachzugriff mit Leitungsüberwachung/Kollisionserfassung | |
DE69431907T2 (de) | Kommunikationsbussystem und eine station fuer den einsatz in einem solchen system | |
DE69627148T2 (de) | Ringbusdatenübertragungssystem | |
EP2538618A1 (de) | Verfahren zur Übertragung von Datenpaketen | |
DE102019125545B3 (de) | Datenübertragungsverfahren, segment-telegramm und automatisierungskommunikationsnetzwerk | |
DE3333847C2 (de) |
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: PHILIPS ELECTRONICS N.V., EINDHOVEN, NL |
|
8339 | Ceased/non-payment of the annual fee |