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
Application number
DE88202129T
Other languages
English (en)
Other versions
DE3882192D1 (de
Inventor
Cornelis Christianus Ma Schuur
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of DE3882192D1 publication Critical patent/DE3882192D1/de
Application granted granted Critical
Publication of DE3882192T2 publication Critical patent/DE3882192T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program 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/128Program 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.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • 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.
  • BESCHREIBUNG EINER BEVORZUGTEN AUSFÜHRUNGSFORM
  • 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.
DE88202129T 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. Expired - Fee Related DE3882192T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) &#34;Master-Slave&#34; 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