DE4023471C2 - Steuerungssystem mit Hostcomputer und Kommunikationsschnittstellenschaltung - Google Patents
Steuerungssystem mit Hostcomputer und KommunikationsschnittstellenschaltungInfo
- Publication number
- DE4023471C2 DE4023471C2 DE4023471A DE4023471A DE4023471C2 DE 4023471 C2 DE4023471 C2 DE 4023471C2 DE 4023471 A DE4023471 A DE 4023471A DE 4023471 A DE4023471 A DE 4023471A DE 4023471 C2 DE4023471 C2 DE 4023471C2
- Authority
- DE
- Germany
- Prior art keywords
- interrupt
- interface
- host
- control unit
- host processor
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Small-Scale Networks (AREA)
Description
Die Erfindung betrifft ein Steuerungssystem mit Hostcomputer und Kommunikations
schnittstellenschaltung gemäß den Merkmalen im Oberbegriff des Patentanspruchs 1, wie sie
der US 44 42 504 entnehmbar sind.
Generell befaßt sich die Erfindung mit seriellen
Kommunikationsnetzwerken, und insbesondere mit Schnitt
stellenschaltungen zum Verbinden von digitalen Prozesso
ren mit seriellen Kommunikationsnetzwerken.
Im Geschäfts- und Bürobereich als auch im Ferti
gungs- und Betriebsbereich gibt es eine große Anzahl
serieller Kommunikationsnetzwerke. Im Geschäftsbereich
sind Lokalnetzwerke, beispielsweise unter dem Namen
"Ethernet", bekannt, die Personalcomputer, Displaytermi
nals, Minicomputer, Hauptcomputer, Drucker und Platten
laufwerke zu einem System miteinander verbinden, in
welchem Daten sehr schnell zwischen den einzelnen System
komponenten übertragen werden können. In ähnlicher Weise
sind im Fertigungs- oder Betriebsbereich Lokalbereichs
netzwerke, beispielsweise unter dem Namen "MAP" bekannt,
die Bereichssteuerungen, Displayterminals, Minicomputer,
Hauptcomputer, CAD-Systeme, CAM-Systeme, CAE-Systeme und
Plattenlaufwerke miteinander verbinden. Die Artenvielfalt
der seriellen Kommunikationsnetzwerke ist übermäßig ge
wachsen. Es hat nicht an Versuchen gefehlt, die Kommu
nikation in gewissen Bereichen zu standardisieren.
Dennoch sind heute hunderte verschiedenartiger Kommu
nikationsnetzwerke im Gebrauch, und ihre Anzahl nimmt
ständig zu.
Bei der Konstruktion digitaler Prozessoren zur
Anwendung im kommerziellen Bereich muß man eine Strategie
auswählen, um diesen Prozessor mit den seriellen Kommu
nikationsnetzwerken zu verbinden. Hat bespielsweise der
Prozessor eine Rückebene, wie einen "VME-Bus" oder
"Multibus", muß man für jedes Kommunikationsnetzwerk
eine Schaltungsplatte für diese Rückebene konstruieren.
Eine Vielfalt von Prozessorschaltungsplatten und Kom
munikationsschnittstellenplatten kann man für die Rück
ebene konstruieren und zusammen in irgendeiner Kombi
nation verwenden. Nacht der digitale Prozessor anderer
seits nicht von einer Rückebene Gebrauch, kann man die
Schnittstelle zum Kommunikationsnetzwerk hin als inte
gralen Teil des digitalen Prozessors vorsehen. In diesem
Fall muß jeder digitale Prozessor zum Betrieb mit einem
besonderen Kommunikationsnetzwerk ausgelegt und kon
struiert werden. Werden viele Netzwerke angetroffen, muß
man für jedes Netzwerk einen Prozessor mit integraler
Schnittstellenschaltung vorsehen. Bietet beispielsweise
ein Hersteller eine Serie aus drei digitalen Prozessoren
mit unterschiedlichen Leistungen und Fähigkeiten an und
sollen diese Prozessoren mit drei verschiedenen Kommu
nikationsnetzwerken zusammen arbeiten können, die auf
ihrem Anwendungsgebiet vorkommen, dann sind bei Verwen
dung einer gemeinsamen Rückebenenarchitektur sechs ver
schiedene Schaltungsplattenerzeugnisse erforderlich und
sogar neun verschiedene Erzeugnisse, wenn die Kommuni
kationsschnittstelle ein integraler Teil des Prozessors
ist.
Wenn eine große Vielzahl digitaler Prozessorerzeug
nisse mit unterschiedlichen Architekturen und zahlrei
chen Kommunikationsnetzwerken auf einem Anwendungsgebiet
angeboten wird, in welchem solche Prozessoren ver
wendet werden, ist die zu treffende Auswahl schwierig.
Die Firma Allen-Bradley Company, der die Rechte am
Erfindungsgegenstand gehören, stellt beispielsweise
kostengünstige programmierbare Steuerungen her, wie
sie aus der US-PS 4 504 927 bekannt sind, und Program
mieranschlußgeräte oder Programmierterminals, wie sie
aus der US-PS 4 527 250 bekannt sind, die keine Rückebene
verwenden. Sie bietet auch programmierbare Steue
rungen mittlerer Größe an, wie sie z. B. aus der US-PS 4 443 865
bekannt sind, die eine Rückebene haben, ferner
große programmierbare Steuerungen, wie sie aus der
US-PS 4 442 504 bekannt sind, die eine andere Rückebene
verwenden, darüber hinaus zahlreiche numerische Steue
rungen, wie sie beispielsweise aus der US-PS 4 228 495
bekannt sind, die nochmals von anderen Rückebenen Gebrauch
machen, und Zellen- oder Bereichssteuerungen, wie sie in
einer am 7. November 1986 eingereichten US-amerikanischen
Patentanmeldung Nr. 928 529 beschrieben sind, die wiederum
eine andere Rückebene verwenden. Offensichtlich ist es
kommerziell nicht durchführbar, für jedes dieser Prozessor
erzeugnisse und jedes dieser Kommunikationsnetzwerke,
auf die die Prozessorerzeugnisse im Fertigungs- oder
Betriebsbereich treffen, Kommunikationsschnittstellenmodule
oder Kommunikationsschnittstellenschaltungen vorzusehen.
In der US 46 04 500 ist eine Lösung beschrieben, mit der Interruptsignale zwischen Prozes
soren über einen Bus als Kommunikationsverbindung ausgetauscht werden können, ohne
hierfür fest verdrahtete Interruptsignalpfade zwischen den Prozessoren vorsehen zu müssen.
Durch ein jedem Prozessor zugeordnetes Bus-Interface wird dafür gesorgt, daß nur jeweils ein
Prozessor zu einem Zeitpunkt Daten über den Bus überträgt und daß die für diesen Prozessor
vorgesehenen Daten vom Bus herunter geholt werden. Die empfangenen Interruptsignale
werden in einen lokalen FIFO-Speicher des empfangenden Prozessors unter Steuerung der
Datenübertragung durch den sendenden Prozessor gespeichert. Steht das gespeicherte Inter
ruptsignal am Ausgang des FIFO-Speichers bereit, veranlaßt eine Interruptsignalsteuereinheit
die CPU des Prozessors, das Signal zu lesen und zu bedienen. Das Adressierungsschema für
die Interruptsignale ist in einem gemeinsamen Speicher für alle Prozessoren gespeichert, so
daß jeder Prozessor entsprechende Interruptsignale für einen bestimmten anderen Prozessor
erzeugen kann. Das in dieser US-Patentschrift erläuterte System beruht auf dem direkten
Nachrichtenaustausch zwischen den Prozessoren dadurch, daß ein Prozessor Daten in den
lokalen Speicher eines anderen Prozessors übertragen kann. Auf ein Steuerungssystem mit
einer Protokollmaschine für den Nachrichtenaustausch auf einer Kommunikationsverbindung
eines Kommunikationsnetzwerkes gemäß dem Oberbegriff des Anspruchs 1 ist eine solche
Lösung nicht anwendbar.
Der Erfindung liegt die Aufgabe zugrunde, ein Steuerungssystem gemäß dem Oberbegriff des
Patentanspruchs 1 so weiterzubilden, daß die Kommunikationsschnittstellenschaltung des
Systems den Anschluß eines seriellen Kommunikationsnetzwerkes an eine Vielfalt digitaler
Prozessoren ermöglicht.
Diese Aufgabe wird durch den Gegenstand des Anspruchs 1 gelöst. Bevorzugte Weiterbil
dungen sind in den Unteransprüchen definiert.
Die Erfindung schafft einerseits eine intelligente Kommunikationsschnittstellenschaltung, die
es ermöglicht, daß ein serielles Kommunikationsnetzwerk an vielfältigste Erzeugnisse oder
Produkte angeschlossen werden kann, deren Grundlage ein digitaler Prozessor bildet.
Das erfindungsgemäße Steuerungssystem umfaßt im Prinzip die Kommunikationsschnitt
stellenschaltung, die in einer Ausführungsform noch eine Netzwerkzugriffseinrichtung
enthalten kann. Die Netzwerkzugriffeinrichtung ist über die Kommunikationsverbindung an
ein Kommunikationsnetzwerk angeschlossen und kommuniziert mit diesem, um Nach
richtendaten zu empfangen und auszusenden. Der gemeinsame Speicher dient zum Speichern
von Nachrichtendaten, die von der Netzwerkzugriffseinrichtung ausgesendet werden sollen,
ferner zum Speichern von Nachrichtendaten, die von der Netzwerkzugriffseinrichtung
empfangen worden sind, sowie zum Speichern einer Gruppe oder eines Satzes Hostinterrupt
merker und einer entsprechenden Gruppe oder eines entsprechenden Satzes Bestätigungs-
oder Quittungsmerker sowie schließlich zum Speichern einer Gruppe oder eines Satzes
Schnittstelleninterruptmerker und einer entsprechenden Gruppe oder eines entsprechenden
Satzes Bestätigungs- oder Quittungsmerker. Ein gemeinsamer Datenbus und ein gemeinsamer
Adressenbus dienen zum Verbinden des gemeinsamen Speichers mit der Netzwerkzugriffs
einrichtung und dem Hostprozessor. Die Schnittstellensteuereinheit ist mit dem Host
prozessor, dem gemeinsamen Speicher und der Netzwerkzugriffseinrichtung verbunden und
derart betreibbar, daß, wenn Nachrichtendaten von der Netzwerkzugriffseinrichtung empfan
gen werden, ein Hostinterruptmerker umgeschaltet und ein Interruptsignal für den Host
erzeugt wird. Ferner spricht die Schnittstellensteuereinheit auf ein Interruptsignal vom
Hostprozessor an, um den Satz Schnittstelleninterruptmerker zu überprüfen und festzustellen,
welcher umgekippt oder umgeschaltet worden ist, um ihren
entsprechenden Bestätigungs- oder Quittungsmerker umzuschalten.
Nach der Erfindung wird somit ein Satz interrupt- oder unterbrechungsgesteuerter Vorgänge
durch eine sehr einfache Interrupt- oder Unterbrechungsstruktur multiplext. Es steht dem
Hostprozessor und der Schnittstellensteuereinheit jeweils nur eine einzige Interrupt- oder
Unterbrechungsleitung zur Verfügung, jedoch können durch die Verwendung eines Satzes
Hostinterrupt- oder Hostunterbrechungsmerker und eines Satzes Schnittstellensteuereinheits-
Unterbrechungs- oder -Interruptmerker in dem gemeinsamen Speicher viele verschiedene
Vorgänge angezeigt werden.
Nach der Erfindung kann somit eine Gruppe oder ein Satz Interruptvorgänge oder
Unterbrechungen multiplext werden, ohne daß eine teure Speicherschutzschaltung oder
"semaphore" Schemata für den Multiplexbetrieb erforderlich wären. Eine Unterbrechung wird
angezeigt, wenn der Unterbrechungsmerker und sein Quittungsmerker im entgegengesetzten
logischen Zustand sind. Die Schnittstellensteuereinheit bestätigt die Bedienung einer
angeforderten Unterbrechung dadurch, daß der entsprechende Quittungsmerker umgeschaltet
wird und er dadurch in denselben Zustand wie der Unterbrechungsmerker gebracht wird. Sie
kann Hostunterbrechungsmerker ändern, jedoch kann sie aufgrund von Software-Vorschrift
nicht Schnittstellensteuereinheit-Unterbrechungsmerker ändern. Umgekehrt kann der Host
Schnittstellensteuereinheit-Unterbrechungsmerker ändern, aber nicht
Hostunterbrechungsmerker. Die Schnittstellensteuereinheit und der Host können aber alle
Merker lesen, um festzustellen, ob eine Unterbrechungsanforderung anhängig ist (d. h.
Unterbrechungsmerker und Quittungsmerker sind in entgegengesetzten logischen Zuständen)
oder ob sie bedient worden ist (der Unterbrechungsmerker und der Quittungsmerker sind im
selben logischen Zustand).
Eine vorteilhafte Weiterbildung der Erfindung sieht auch Mittel zum Weiterleiten von
Nachrichtendaten zwischen dem Hostprozessor und der Kommunikationsschnittstellen
schaltung dadurch vor, daß der gemeinsame Speicher Datenstrukturen für ankommende
Nachrichten, ausgehende Nachrichten und Netzwerkmanagement- oder Netzwerk
verwaltungsdaten als auch die Unterbrechungs- oder Interruptmerker für jede dieser
Datenstrukturen speichert. Wenn entweder der Hostprozessor oder die Kommunika
tionsschnittstellenschaltung durch ein Interruptsignal unterbrochen ist, werden diese
Unterbrechungs- oder Interruptmerker überprüft, um festzustellen, welche Datenstruktur zu
bedienen ist und welche Priorität diese Bedienung hat. Auf diese Weise können Nachrichten
und ihre Quittierung effizient weitergeleitet werden.
Weiterhin wird es nach der Erfindung vermieden, daß irgendeiner der Prozessoren vom ge
meinsamen Speicher ausgeschlossen wird. Andere Systeme verwenden ein "Bussperr"-Signal,
das es einem Prozessor ermöglicht, den anderen Prozessor vom gemeinsamen Speicher zu
sperren, während er Funktionen ausführt. Dies kann zu einer Verlangsamung der Arbeitsweise
der Kommunikationsschnittstelle führen und ihren Einsatz mit höheren Baudgeschwindig
keiten verhindern.
Im folgenden soll die Erfindung an Hand von Zeich
nungen beispielshalber erläutert werden. Es zeigt:
Fig. 1 eine bildliche Darstellung eines program
mierbaren Steuerungssystems, das von der Erfindung
Gebrauch macht,
Fig. 2 ein Blockschaltbild des Systemsteuermoduls,
der ein Teil des Systems nach Fig. 1 bildet,
Fig. 3 ein Blockschaltbild eines Fern-E/A-Abtast
moduls, der ebenfalls ein Teil des Systems nach Fig. 1
bildet,
Fig. 4 ein Blockschaltbild einer intelligenten
Kommunikationsschnittstellenschaltung, die in den Modulen
nach Fig. 2 und 3 verwendet wird,
Fig. 5 ein Schaltbild einer Netzwerkzugriffs
schaltung, die ein Teil der Schaltung nach Fig. 4 bildet,
Fig. 6 ein Abbild (Map) eines gemeinsamen RAM,
der ein Teil der Schaltung nach Fig. 4 bildet,
Fig. 7 ein Abbild (Map) eines Verhandlungs
segments, das ein Teil des Speicherabbilds nach
Fig. 6 bildet,
Fig. 8 ein Flußdiagramm eines Programms, das von
einer Schnittstellensteuereinheit in der Schaltung nach
Fig. 4 ausgeführt wird,
Fig. 9 ein Abbild (Map) eines Quittier- oder
Handshakesegments, das ein Teil des Speicherabbilds
nach Fig. 6 bildet,
Fig. 10 eine bildliche Darstellung von Daten
strukturen, die in einem Kanal-A- und einem Kanal-B-
Segment gespeichert sind, welche ein Teil des Speicher
abbilds nach Fig. 6 bilden, und
Fig. 11 ein Flußdiagramm einer Unterbrechungs
serviceroutine, die von der Schnittstellensteuereinheit
der Schaltung nach Fig. 4 ausgeführt wird.
Zur Erläuterung eines bevorzugten Ausführungsbei
spiels der Erfindung wird auf eine in Fig. 1 dargestellte
programmierbare Steuerung 10 Bezug genommen, die in einem
Gestell oder Rahmen 12 untergebracht ist, der eine Reihe
von Schlitzen aufweist, die eine Anzahl gedruckter
Schaltungsplattenmodule aufnehmen. Diese Funktionsmodule
sind mit einer Mutterplatte verbunden, die sich längs der
Rückseite des Rahmens 12 erstreckt und dort eine Rück
ebene 11 vorsieht. Die Rückebene 11 weist eine Anzahl
Modulverbinder auf, die über ein elektrisch leitendes
Muster auf der Rückebene miteinander verbunden sind. Die
Rückebene 11 sieht eine Reihe Signalbusse vor, mit denen
die Module verbunden sind. Der Rahmen 12 enthält einen
Energieversorgungsmodul 14, einen Systemsteuermodul 16,
eine Anzahl programmausführender Prozessormodule 18 und
eine Anzahl Fern-Ein/Ausgabe(E/A)-Abtastmodule 20.
Bis zu vier Fern-E/A-Abtastmodule 20 bilden eine
Schnittstelle zwischen der Steuerung 10 und externen
Fern-E/A-Rahmen 17, die über serielle E/A-Datenverbindun
gen, wie die Verbindung 15, angeschlossen sind. Jeder
Fern-E/A-Rahmen 17 hat eine Anzahl lokaler E/A-Module 19,
die mit einzelnen Sensoren und Aktoren verbunden sind,
welche sich bei einer gesteuerten Anlage oder Maschine
befinden. Die lokalen E/A-Module 19 können viele verschie
dene Bauformen annehmen und beispielsweise Module um
fassen, die Gleichstromeingänge oder -ausgänge, Wechsel
stromeingänge oder -ausgänge und analoge Eingänge oder
Ausgänge aufweisen, und es kann sich auch um Module zur
Lageeinstellung oder Positionierung mit offenem Steuerkreis
oder geschlossener Regelschleife handeln. Der Fern-E/A-
Rahmen 17 enthält auch einen Adaptermodul 19', wie er bei
spielsweise aus der US-PS 4 413 319 bekannt ist, der mit
dem seriellen Kommunikationsnetzwerk 15 verbunden ist und
Nachrichtendaten zwischen den E/A-Modulen 19 und dem
Netzwerk 15 übermittelt.
Der Systemsteuermodul oder die Systemsteuereinheit
16 ist über ein Kabel 25 an ein Programmieranschlußgerät
oder Programmierterminal 24 angeschlossen, das dazu dient,
Anwenderprogramme in die programmierbare Steuerung zu
laden und den Betrieb der programmierbaren Steuerung zu
gestalten bzw. zu konfigurieren als auch die Arbeitsweise
der programmierbaren Steuerung zu überwachen. Das Terminal
24 ist ein Personalcomputer, der so programmiert ist, daß
es einem Anwender möglich ist, die Systemsteuerprogramme
zu entwickeln. Die Steuerprogramme werden in die program
mierbare Steuerung heruntergeladen, und das Terminal 24
kann von der Systemsteuereinheit 16 abgetrennt werden,
falls eine weitere Überwachung nicht erforderlich ist.
Die Systemsteuereinheit 16 kann auch über ein Kabel 26 an
ein Lokalbereichsnetzwerk 28 angeschlossen sein, über das
die Systemsteuereinheit 16 Daten und Programmierbefehle
erhalten als auch Statusinformation und Berichtsdaten an
einen Zentralcomputer abgeben kann. Dadurch ist es einem
Zentralcomputer oder einem Zentralterminal möglich, den
Betrieb einer Anzahl programmierbarer Steuerungen auf
einer Fertigungsebene zu programmieren und zu steuern.
Wie es aus Fig. 2 hervorgeht, sieht der Systemsteuer
modul 16 eine Nachrichtenschnittstelle für die programmier
bare Steuerung in bezug auf externe Anschlußeinheiten oder
Terminals und Lokalbereichsnetzwerke vor. Der Systemsteuer
modul oder die Systemsteuereinheit 16 nimmt auch System
verwaltungsfunktionen wahr, beispielsweise eine Anzeige
des Systemstatus und Überwachung des Zugriffs zur Rück
ebene 11. Während des Normalbetriebs der programmierbaren
Steuerung sorgt die Systemsteuereinheit 16 für die Kom
munikation mit den externen Geräten, die an sie ange
schlossen sind. Zu diesen externen Geräten zählen das
Netzwerk 28 und das Programmierterminal 24. Eine der
bedeutsamen Aufgaben besteht darin, mit dem Terminal 24
zu kommunizieren, so daß Information bereitgestellt wer
den kann, die es dem Benutzer gestattet, die Arbeitsweise
des Systems zu überwachen und fehlerhafte Sensoren oder
Aktoren zu erkennen. Eine weitere Aufgabe der Systemsteuer
einheit 16 ist es, mit einem Zentralcomputer oder einer
programmierbaren Partnersteuerung über das Lokalbereichs
netzwerk 28 Daten auszutauschen. Dies gestattet es dem
Zentralrechner, von einer oder einer Anzahl programmier
barer Steuerungen statistische Daten bezüglich ihrer Ar
beitsweise zu sammeln.
Der Systemsteuermodul 16 ist mit Rückebenebussen 21
bis 23 verbunden und in drei Abschnitte unterteilt, und
zwar einen Rückebeneschnittstellenabschnitt, einen Pro
zessorabschnitt und einen Kommunikationsabschnitt. Der
Rückebeneschnittstellenabschnitt überwacht den Rückebene
zugriff für alle Gestell- oder Rahmenmodule und bildet
die Schnittstelle zwischen dem Systemsteuermodul 16 selbst
und der Rückebene 11. Der Prozessorabschnitt führt ein
Überwachungs- oder Supervisorprogramm für die Steuerung 10
aus. Der Kommunikationsabschnitt ist in erster Linie ver
antwortlich für die Kommunikation mit dem externen Ter
minal 24 über die serielle Kommunikationsleitung 25 und
mit dem Lokalbereichsnetzwerk 28 über eine Leitung 26.
Wie es ferner aus Fig. 2 hervorgeht, ist der Pro
zessorabschnitt mit einem Satz Busse verbunden, die
Steuerleitungen 61, einen 16-Bit-Datenbus 62 und einen
23-Bit-Adreßbus 63 umfassen. Der Zugriff zu diesen Bussen
wird mittels einer Schieds- oder Arbitrationsschaltung 64
gesteuert. Der Prozessorabschnitt ist um einen 16-Bit-
Mikroprozessor 66 herum aufgebaut, bei dem es sich bei
spielsweise um das Modell 68010 hergestellt von Motorola,
Inc. handeln kann. Der Mikroprozessor führt einen Pro
grammcode aus, der in einem Festwertspeicher (ROM) 68
gespeichert ist. Der verwendete Mikroprozessor ist im
wesentlichen ein speicherorientiertes Bauelement, und
er hat keine direkt an ihn angeschlossene Eingabe/Ausgabe-
Leitungen. Der Zugriff des Mikroprozessors zu anderen
Bauelementen oder Baueinheiten auf dem Prozessorbus muß
daher dadurch erfolgen, daß Adressen auf den Bus 63 aus
gegeben werden. Die vom Mikroprozessor 66 ausgesandte
Adresse wird in einer Adreßdecodierschaltung 70 deco
diert mit dem Ergebnis, daß geeignete Steuersignale für
die zum Zugriff ausgewählte Baueinheit erzeugt werden.
Der Prozessorabschnitt enthält auch einen Interrupt-
oder Unterbrechungsprozessor 72, der die Unterbrechungen
zum Mikroprozessor 66 steuert und die geeigneten Befehls
adreßvektoren liefert.
Eine Datentransferquittier- und Busfehlerschaltung
(DTACK/BERR) 74 ist ebenfalls an den Prozessorsteuerbus 61
angeschlossen. Die Schaltung 74 spricht auf Signale von
verschiedenartigen Baueinheiten im Prozessorabschnitt an
und hat die Aufgabe, die Beendigung eines Datentransfers zu
quittieren oder zu bestätigen und im Falle einer untaugli
chen Adressierung oder eines Fehlers beim Datentransfer
Busfehlersignale abzugeben. Diese Signale wirken auf den
Mikroprozessor 66 ein, der dann eine Abhilfe- oder Korrek
turmaßnahme einleitet. Der Prozessorabschnitt enthält
auch eine Taktschaltung 89, die den Hauptsystemtaktgeber
und einen Echtzeittaktgeber enthält. Eine Systemstatus
schaltung 88 erhält Eingangssignale, die den Status des
gesamten Systems 10 betreffen, und liefert eine Anzeige
über diesen Status.
Ein Hauptdirektzugriffsspeicher (RAM) 69 für die
Systemsteuereinheit 16 ist ebenfalls mit den Prozessor
bussen 61 bis 63 verbunden. Der RAM 69 ist ein stati
scher Speicher, der für die gesamte Steuerung 10 als
Systemspeicher dient. Die anderen Module in dem System
können zu diesem Hauptspeicher 69 direkt über die Rück
ebene 11 Zugriff erlangen, und zwar ohne Eingriff des
Mikroprozessors 66.
Wie es ferner aus Fig. 2 hervorgeht, ist der Pro
zessorabschnitt der Systemsteuereinheit 16 über eine
Anzahl Baueinheiten, die mit beiden Bussätzen verbunden
sind, an die Rückebenebusse angeschaltet. So ist der
Rückebenedatenbus 22 über einen Satz bidirektionaler
Datenübertragungstore 78 mit dem Prozessordatenbus 62
verbunden, und der Rückebeneadreßbus 23 ist über einen
weiteren Satz bidirektionaler Tore 76 mit dem Prozessor
adreßbus 63 verbunden. Wenn die Systemsteuereinheit 16
die Kontrolle oder Steuerung über die Rückebene 11 der
programmierbaren Steuerung 10 zu erlangen sucht, spricht
eine Master- oder Hauptbetriebsartsteuerschaltung 81 auf
Signale an den Steuerleitungen des Prozessorbusses 61 an
und liefert geeignete Steuersignale über den Rückebene
steuerbus 21, um zu anderen Modulen in dem Rahmen 12
Zugriff zu erlangen.
Wenn ein anderer Modul in dem Rahmen 12 Zugriff zu
der Systemsteuereinheit 16 zu erlangen sucht, beispiels
weise um den Inhalt des Haupt-RAM 69 zu lesen, wird die
Systemsteuereinheit der Steuerung der Rückebene 11 durch
diesen anderen Modul untergeordnet. Unter diesem Umstand
spricht dann eine Slave- oder Nebenbetriebsartsteuer
schaltung 82 in der Systemsteuereinheit 16 auf die
Adresse der Systemsteuereinheit an, die am Rückebene
adreßbus 23 erscheint, und auch auf Steuersignale an den
Steuerleitungen des Rückebenebusses 21, die von dem
anderen Modul stammen. Als Antwort darauf liefert die
Nebenbetriebsartsteuerschaltung 82 Signale an die Über
tragungstore 76 und 78, um es dem anderen Rückebenemodul
zu ermöglichen, Zugriff zur Systemsteuereinheit 16 zu
erlangen. In diesem zuletztgenannten Fall befindet sich
die Hauptbetriebsartsteuerschaltung 81 in einem Schlafzustand.
Die beiden Bustore 76 und 78 erhalten Freigabesteuersignale
von der Haupt- oder Nebenbetriebsartsteuerschaltung 81 bzw.
82 über die Leitungen des Steuerbus 61 in Abhängigkeit
von der Betriebsart der Rückebenekommunikation.
Eine Rückebenearbitrationsschaltung 84 überwacht
den Zugriff zur Rückebene 11 und schafft eine Lösung für
miteinander in Konflikt stehende Zugriffsanforderungen
von den Modulen in dem System. Die Rückebenearbitrationsschaltung
84 verwendet ein rotierendes Prioritätssystem
zum Festlegen, welchem von mehreren Modulen, die gleich
zeitig den Zugriff zur Rückebene suchen, der Zugriff ge
stattet wird. Bei diesem rotierenden Prioritätssystem
verschiebt sich die Prioritätsreihenfolge immer dann,
wenn ein Modul die Steuerung oder Kontrolle über die
Rückebene 11 aufgibt.
Die E/A-Abtastmodule 20 sammeln Eingabesensordaten
zur Verwendung durch die Programmausführungsprozessormo
dule 18. Wie es aus Fig. 1 und 3 hervorgeht, verbindet
ein Fern-E/A-Abtastmodul 20 die programmierbare Steue
rung 10 mit einem oder mehreren Fern-Eingabe/Ausgabe-
Rahmen 17, die einzelne E/A-Module 19 enthalten, welche
an Eingabegeräte oder Ausgabegeräte der programmierbaren
Steuerung 10 angeschaltet sind. Jeder Abtastmodul 20
fordert periodisch Eingabedaten an, die den Status der
Eingabegeräte betreffen, welche mit den Fern-E/A-Rah
men 17 verbunden sind, und speichert diese Eingabedaten
in der Eingabebildtabelle des Moduls, so daß sie von
anderen Modulen der Steuerung, wie den Prozessormodulen
18, gelesen werden können. Der Abtastmodul 20 enthält auch
eine Bildtabelle für Ausgabedaten, die er von anderen
Modulen der Steuerung empfängt, beispielsweise von den
Prozessormodulen 18. In regelmäßigen Zeitabständen werden
die aktualisierten Ausgabedaten in der Ausgabebildtabelle
des Abtastmoduls zu den jeweiligen Fern-Eingabe/Ausgabe-
Rahmen 17 transferiert, um die verschiedenen Aktoren zu
steuern, die mit diesen Rahmen verbunden sind.
Jeder Fern-E/A-Abtastmodul 20 ist mit den drei
Rückebenebussen 21 bis 23 verbunden. Der E/A-Abtastmodul
20 enthält zwei Sätze interner Busse, und zwar Speicher
zugriffbusse 121 bis 123 und Mikroprozessorbusse 131 bis
133, die mit der Rückebene 11 über einen Satz Adreßbus
tore 124 und einen Satz Datenbustore 126 verbunden sind.
Diese beiden Übertragungstore werden von einer Inter-
oder Zwischenbussteuerschaltung 128 kontrolliert oder
gesteuert, die über den Speichersteuerbus 121 Signale an
die Tore 124 und 126 aussendet. Ein lokaler Direktzugriffs
speicher, der mit Haupt-RAM 134 bezeichnet wird, ist mit
den drei Speicherbussen 121 bis 123 verbunden. Er
speichert die Eingabebildtabelle für die Sensorinforma
tion, die von den Fern-E/A-Rahmen 17 in den E/A-Abtast
modul 20 eingegeben werden, und er speichert auch die
Ausgabebildtabelle für die Ausgabedaten, die von den
Fern-E/A-Rahmen 17 ausgegeben werden.
Die Zwischenbussteuerschaltung 128 sendet auch
Steuersignale an eine E/A-Datenarbitrationsschaltung 130,
die in Konflikt miteinander stehende Zugriffsanforderun
gen zu den Speicherbussen 121 bis 123 von der Rückebene
11 und den Mikroprozessorbussen 131 bis 133 her auflöst.
Zwei Sätze Übertragungstore, und zwar Adreßtore 136 und
bidirektionale Tore 138, verbinden die Speicherbusse
121 bis 123 mit den Mikroprozessorbussen 131 bis 133 und
erhalten Steuersignale von der E/A-Datenarbitrations
schaltung 130 über den Speichersteuerbus 121.
Der Betrieb des Fern-E/A-Abtastmoduls 20
wird von einem 8-Bit-Mikroprozessor 140 gesteuert,
der mit den drei Mikroprozessorbussen 131 bis 133 ver
bunden ist. Bei dem Mikroprozessor 140 kann es sich um
einen handelsüblichen Mikroprozessor Modell Z80 von
Zilog, Inc. handeln. Der Mikroprozessor 140 arbeitet in
Abhängigkeit von einem gespeicherten Programm, um Nach
richtendaten von einem Kommunikationsabschnitt 141 an
den Haupt-RAM 134 auszusenden und Nachrichtendaten von
dem Kommunikationsabschnitt 141 zu empfangen. Der Kommu
nikationsabschnitt 141 vermittelt Nachrichtendaten zwi
schen dem Mikroprozessor 140 und jeder der seriellen
Verbindungen 15.
Die oben beschriebenen Module sind typisch für das
Umfeld, in dem die Erfindung angewendet wird. Ein Host
prozessor (wie der Mikroprozessor 66 oder 140), der eine
Anzahl von Funktionen durchführt, muß ebenfalls über eine
oder mehrere serielle Kommunikationsverbindungen oder
Netzwerke kommunizieren. Der Hostprozessor tauscht
Nachrichtendaten mit dem Kommunikationsnetzwerk über
einen Kommunikationsabschnitt aus, der verantwortlich
für die Ausführung des besonderen Netzwerkprotokolls ist,
welches zum Senden oder Empfangen von Nachrichtendaten
erforderlich ist. Der Hostprozessor hat die Fähigkeit,
Daten zu lesen, einschließlich Nachrichtendaten, und
zwar aus einem Speicher, der mit dem Kommunikationsab
schnitt geteilt wird, und er kann Daten in diesen gemein
samen Speicher schreiben.
Nach Fig. 4 ist ein bevorzugtes Ausführungsbeispiel
der Kommunikationsschnittstellenschaltung so ausgelegt,
daß ein Hostprozessor mit einer von zwei seriellen Kom
munikationsverbindungen 200 und 201 verbunden wird. Der
Hostprozessor (in Fig. 4 nicht gezeigt) ist mit der
Kommunikationsschnittstellenschaltung über einen Satz
bidirektionaler Tore 202 verbunden, die den Hostdatenbus
203 mit einem gemeinsamen Datenbus 204 verbinden. Der
Hostadreßbus 204 ist verbunden mit einem gemeinsamen
15-Bit-Adreßbus 206 mittels eines Satzes von 15 Toren 207,
die zusammen mit den Datentoren 202 freigegeben werden,
wenn über eine "en"-Steuerleitung 208 ein niedriges lo
gisches Signal empfangen wird. Der Host initiiert einen
Lese- oder Schreibzyklus dadurch, daß er eine Anforde
rungssteuerleitung 215 beaufschlagt, und die Schnitt
stellenschaltung 210 bestätigt oder quittiert diese An
forderung dadurch, daß sie eine Datentransferbestäti
gungs- oder Datentransferquittungssteuerleitung 216
beaufschlagt, wenn der Zugriff zu den gemeinsamen Bussen
204 und 206 erteilt ist. Die Host-Lese/Schreib-Steuer
leitung 209 bestimmt die Richtung des Datentransfers
durch die Datentore 202.
Die gemeinsamen Busse 204 und 206 sind an einen
gemeinsamen Direktzugriffsspeicher (RAM) 211 angeschlos
sen, der von der Schnittstellenschaltung 210 über eine
"WE"-Steuerleitung 212 und eine "ICS"-Steuerleitung
213 gesteuert wird. Die Schnittstellenschaltung 210 ist
auch an die gemeinsamen Busse 204 und 206 angeschlossen,
und sie betätigt die "en"-Steuerleitung 208, um Zugriff
zum gemeinsamen RAM 211 durch den Hostprozessor zu
erlangen.
Wie es noch im einzelnen erläutert wird, dient der
gemeinsame RAM 211 als Mittel zum Austauschen von Infor
mation, einschließlich Nachrichtendaten, zwischen dem
Hostprozessor und der Kommunikationsschnittstelle. Nach
richtendaten können in den gemeinsamen RAM 211 entweder
durch den Hostprozessor oder die Schnittstellenschaltung
210 geschrieben werden, und die andere Baueinheit kann
die Nachrichtendaten lesen, nachdem das Vorhandensein
dieser Nachrichtendaten signalisiert worden ist. Ferner
werden, wie es noch im einzelnen beschrieben wird, in
dem gemeinsamen RAM 211 Daten gespeichert, die von der
Kommunikationsschnittstellenschaltung zum richtigen
Betrieb mit dem Hostprozessor benötigt werden, als auch
Daten gespeichert, die die Kommunikationsschnittstellen
schaltung für die besondere Anwendung konfigurieren.
Immer noch unter Bezugnahme auf Fig. 4 sei bemerkt,
daß die Schnittstellenschaltung 210 eine anwendungs
spezifische integrierte Schaltung (ASIC) ist, die eine
Reihe von Funktionen ausführt. Sie handhabt die Zugriffs
arbitration zu dem gemeinsamen RAM 211 und steuert die
Lese- und Schreibzyklen zu dem gemeinsamen RAM 211.
Weiterhin leitet sie Nachrichtendaten von dem gemeinsamen
RAM 211 entweder zu einem A-Kanal-Sender-Empfänger 220
oder zu einem B-Kanal-Sender-Empfänger 221, und sie
übermittelt Nachrichtendaten von dem Sender-Empfänger
220 oder 221 zurück zum gemeinsamen RAM 211.
Sie gestattet es auch einer Schnittstellensteuer
einheit 222 Daten aus dem gemeinsamen RAM 211 zu lesen
und Daten darin einzuschreiben.
Der Betrieb der Schnittstellenschaltung 210 wird
durch die Schnittstellensteuereinheit 222 gesteuert oder
kontrolliert, bei der es sich um einen programmierten
Mikrocomputer handelt, beispielsweise das Modell "Super 8"
hergestellt von Zilog, Inc. Die Schnittstellensteuer
einheit 222 ist über einen 8-Bit-Daten/Adreß-Bus 223,
einen 8-Bit-Adreßbus 224 und einen Satz Steuerleitungen
an die Schnittstellenschaltung 210 angeschlossen. Wenn
eine 16-Bit-Adresse an die Busse 223 und 224 gelegt wird,
wird ein Signal an eine "AS"-Steuerleitung 225 gelegt,
und wenn acht Datenbits am Bus 223 anliegen, erscheint
ein Signal an der "DS"-Steuerleitung 226. Die Richtung
des Datentransfers auf dem Bus 223 wird durch den logi
schen Zustand einer R/W-Steuerleitung 227 bestimmt.
Die oben genannten Busse und Steuerleitungen werden von
der Schnittstellensteuereinheit 222 angesteuert, je
doch wird eine Reihe von Steuerleitungen durch die
Schnittstellenschaltung 210 angesteuert. Diese umfas
sen eine Warte-Steuerleitung 228, die die Schnittstellen
steuereinheit 222 in einen Wartezustand versetzt, und
eine Reihe von Unterbrechungsleitungen und Kennzeichen-
oder Merkerleitungen, die zusammen mit 29 bezeichnet
sind.
Die Schnittstellensteuereinheit 222 ist auch über
einen Satz Steuerleitungen mit dem Hostprozessor ver
bunden. Diese umfassen eine Unterbrechung-zum-Host-
Steuerleitung 230, die von der Schnittstellensteuerein
heit 222 beaufschlagt wird und dem Hostprozessor
signalisiert, daß er in dem gemeinsamen RAM 211
bestimmte Datenstrukturen lesen soll. Gleichermaßen
kann der Hostprozessor die Schnittstellensteuereinheit
222 über eine Unterbrechung-zur-Steuereinheit-Steuer
leitung 231 unterbrechen, über die der Schnittstellen
steuereinheit 222 signalisiert wird, den gemeinsamen
RAM 211 im Hinblick auf Information vom Hostprozessor
zu lesen. Schließlich kann noch eine TME-Steuerleitung
232 vom Hostprozessor beaufschlagt werden, um
der Schnittstellensteuereinheit 222 zu signalisieren,
daß sie in eine Prüf- oder Testbetriebsart eintreten soll.
Wie es insbesondere aus Fig. 4 und 5 hervorgeht,
verbindet die Schnittstellenschaltung 210 die Sender-
Empfänger 220 und 221 mit dem gemeinsamen RAM 211 und
die Schnittstellensteuereinheit 222 mit dem gemeinsamen
RAM 211. Der Sender-Empfänger 220 für den Kanal A ist
über Leitungen 250 mit einer seriellen Kanal-A-Protokoll
maschine 251 verbunden, und der Sender-Empfänger 221 für
den Kanal B ist über Leitungen 252 mit einer seriellen
Kanal-B-Protokollmaschine 253 verbunden, deren Umrisse
gestrichelt eingezeichnet sind. Die seriellen Protokoll
maschinen 251 und 253 sind bezüglich ihres Aufbaus und
ihres Betriebs miteinander identisch.
Nachrichtendaten zu und von den seriellen Protokoll
maschinen 251 und 253 werden bezüglich des gemeinsamen
RAM 211 über einen 8-Bit-Datenbus 255 und einen Satz von
acht bidirektionalen Datentoren 256 übertragen. Eine
DMA-Steuerung 257 (DMA = Direkter Speicherzugriff) führt
in Wirklichkeit den Transfer von Nachrichtendaten zu und
von dem gemeinsamen RAM 211 dadurch aus, daß auf ihrem
gemeinsamen Adreßbus 206 über einen Satz von fünfzehn
Adreßtoren 258 Adressen erzeugt werden. Die Steuerung oder
Kontrolle der gemeinsamen Busse 204 und 206 erfolgt durch
eine Arbitrations- und Steuerschaltung 260, die die An
forderungen vom Hostprozessor, von der Schnittstellen
steuereinheit 222 und von beiden der A- und B-Kanäle
der DMA-Steuerung 257 bescheidet.
Wie es ferner aus Fig. 4 und 5 hervorgeht, sind die
Schnittstellensteuereinheitbusse 223 und 224 über einen
Satz von acht bidirektionalen Toren 262 und einen Satz
von acht Adreßtoren 263 mit der Schnittstellenschaltung
210 verbunden. Wenn eine Dateneinheit oder ein Datum am
Bus 223 vorhanden ist, wie dies von der DS-Steuerleitung
226 signalisiert wird, werden die bidirektionalen Tore
262 freigegeben und das Datum wird von ihnen weiterge
leitet in der von der R/W-Steuerleitung 227 angezeigten
Richtung. Dieses Datum wird an einen 8-Bit-Datenbus 263
gelegt, der seinerseits über einen weiteren Satz von
acht bidirektionalen Datentoren 264 mit dem 8-Bit-Daten
bus 255 verbunden ist. Auf diese Weise können Daten zu
oder von dem gemeinsamen RAM 211 auf den Datenbus 263
und durch die Tore 262 zu der Schnittstellensteuerein
heit 222 übertragen werden. Daten auf dem Bus 263 kön
nen auch zur DMA-Steuerung 257 übertragen werden, um die
Schnittstellensteuereinheit 222 zum Setzen der Speicher
adresse freizugeben, die die DMA-Steuerung erzeugen wird.
Die Schnittstellensteuereinheit 222 steht auch mit
einem Satz Zeitgeber 266 und Prozessorstatusregistern
268 in Verbindung. Die Schnittstellensteuereinheit 222
kann daher Daten in die Zeitgeber 266 einschreiben, die
die seriellen Protokollmaschinen 251 und 253 gemäß den
besonderen Zeitgabeanforderungen der Lokalbereichsnetz
werke konfigurieren oder ausgestalten. Die Schnittstellen
steuereinheit 222 kann auch Daten in die Register 268
einschreiben, die den Betrieb der Schnittstellenschaltung
210 steuern, während die Schnittstellensteuereinheit 222
andere Funktionen ausführt. Die Schnittstellensteuerein
heit 222 kann auch Daten aus den Prozessorstatusregistern
268 auslesen, um zu jedem beliebigen Zeitpunkt den Zu
stand der Schnittstellenschaltung 210 zu bestimmen. Der
Inhalt des Prozessorstatusregisters 268 ist in einer Ta
belle A zusammengestellt.
4 Bit | Dem Manchester-Codierer wird gesagt, wieviele gültige Bits er empfangen muß, bevor ein "gültiger Manchester" angezeigt wird |
1 Bit | Gültiges Manchestersignal verfügbar |
1 Bit | Träger erfaßt |
1 Bit | Fehlererfassung |
8 Bit | Stationsadresse |
4 Bit | Zustand von Empfangs-FIFO-Vollheit, |
3 Bit | Anzahl der Preambelmerker ausgesendet vor einem Paket |
8 Bit | Anzahl der Bit-Zeiten zum Halten des Senders nach dem Sendebefehl |
1 Bit | Sender besetzt |
1 Bit | Empfänger besetzt |
Empfangs-FIFO-Überlauf
Manchestercode verloren
Paket zu kurz
Paket zu lang
Abbrechen der empfangenen Nachricht
CRC schlecht (CRC = zyklische Redundanzprüfung)
Lies vom leeren Empfangs-FIFO
Manchestercode verloren
Paket zu kurz
Paket zu lang
Abbrechen der empfangenen Nachricht
CRC schlecht (CRC = zyklische Redundanzprüfung)
Lies vom leeren Empfangs-FIFO
Sende-FIFO-Unterlauf (leer)
Zu viele Eröffnungsmerker
Schreibe in den vollen Sende-FIFO
Zu viele Eröffnungsmerker
Schreibe in den vollen Sende-FIFO
Wenn die Schnittstellensteuereinheit 222 eine Adresse
an ihren Bus 223 legt, wie es durch ihre AS-Steuerleitung
225 angezeigt wird, dann wird die Adresse in einem Adreß
latch 270 gespeichert. Wenn danach die oberen acht Bits der
Adresse an Bus 224 erscheinen, wird die vollständige
16-Bit-Adresse an einen Adreßbus 271 gelegt. Diese
Adresse wird von einem Decoder 272 decodiert, um eine
der Baueinheiten, die mit dem Datenbus 263 verbunden
ist, freizugeben. Wird der gemeinsame RAM 211 adressiert,
erzeugt der Decoder 272 darüber hinaus eine Anforderung
an die Arbitrations- und Steuerschaltung 260, und ein
Wartesignal wird für die Schnittstellensteuereinheit 222
durch eine Prozessorschnittstellensteuerung 267 über eine
Steuerleitung 228 erzeugt. Bei Gewährung des Zugriffs
wird das Wartesignal entfernt, und es wird ein Satz Adreß
tore 273 freigegeben, so daß die von der Schnittstellen
steuereinheit 222 erzeugte Adresse über die Tore 258 zum
gemeinsamen Adreßbus 206 gelangen kann.
Durch die oben beschriebenen Busse und Tore hat
die Schnittstellensteuereinheit 222 vollen Zugriff zum
gemeinsamen RAM 211, wo sie Information mit dem Host
prozessor austauschen kann. Zusätzlich kann die Schnitt
stellensteuereinheit 222 den Betrieb der seriellen Pro
tokollmaschinen 251 und 253 konfigurieren, ihren Betrieb
steuern und ihren Betrieb überwachen.
Weiterhin ist unter Bezugnahme auf Fig. 5 darzule
gen, daß die seriellen Protokollmaschinen 251 und 253
die bitorientierte Protokollstruktur handhaben, die von
den Lokalbereichsnetzwerken verwendet wird, mit denen sie
verbunden sind. Die seriellen Protokollmaschinen werden
oft auch HDLC-Maschinen (HDLC = High Level Data Link
Control (bitorientiertes Steuerungsverfahren)) genannt,
die die pakettierte Information im seriellen Format
des Lokalbereichnetzwerksprotokolls aussenden und
empfangen. Jede sieht Merker, das Einfügen und Streichen
von Nullen sowie CRC-Überprüfung und -Erzeugung vor. Jede
serielle Protokollmaschine 251 und 253 ist in einen
Empfangsabschnitt und einen Sendeabschnitt unterteilt.
Der Empfangsabschnitt transferiert alle Datenbytes, die
bei einem Manchester-Decoder 300 empfangen werden, zu
einem Empfangs-FIFO-Speicher 280. Der Sendeabschnitt
sendet alle Datenbytes, die in einen Sende-FIFO-Speicher
281 geladen werden, durch einen Manchestercodierer 301
aus.
Der Empfangsabschnitt wird durch eine Empfangs
steuerung 302 betrieben, die mit jeden seiner funktionel
len Elemente verbunden ist. Wenn ein Datenpaket über
den Manchesterdecoder 300 empfangen wird, wird das darin
enthaltene Adreßfeld durch eine Schaltung 303 überprüft,
und zwar beim seriellen Transfer zu einem Serien/Parallel-
Umsetzer 304. Entspricht die Adresse nicht der Lokaladresse
dieser Station, wird das Datenpaket ignoriert. Andernfalls
wird das Datenpaket in 8-Bit-Datenbytes vom Serien/Parallel-
Umsetzer 304 umgesetzt, und diese Datenbytes werden im
Empfangs-FIFO-Speicher 280 gespeichert. Die letzten beiden
Bytes vor dem Abschlußmerker des Pakets sind eine CRC-Zahl,
die mit der von einem CRC-Prüfer 304 erzeugten Signal
verglichen wird. Sind die Zahlen einander gleich, dann
hat eine genaue Übertragung des Datenpakets stattgefunden,
und es wird in den Empfangs-FIFO-Speicher 280 gegeben.
Eine Unterbrechung der Schnittstellensteuereinheit 222
(Fig. 4) wird erzeugt, um anzuzeigen, daß ein Datenpaket
empfangen worden ist. Falls die CRC-Bytes (CRC = Cyclische
Redundanzprüfung, cyclische Blockprüfung) einen Übertra
gungsfehler anzeigen, erzeugt der CRC-Prüfer 305 eine
Unterbrechung für die Schnittstellensteuereinheit 222 und
Fehlerbits werden in das Empfangssyndromregister gesetzt,
um die Schnittstellensteuereinheit 222 über das Problem
zu informieren.
Der Sendeabschnitt wird von einer Sendesteuerung 306
betrieben, die mit jedem seiner funktionellen Elemente
verbunden ist. Dem Sendeabschnitt wird von der Schnitt
stellensteuereinheit 222 befohlen, eine im Sende-FIFO-
Speicher 281 gespeicherte Datennachricht auszusenden. Der
Sender beginnt automatisch mit der Aussendung der Preambel
bits des Datenpakets durch den Manchstercodierer 301, und
die Datenbytes werden dann aus dem Sende-FIFO-Speicher
ausgelesen und an einen Parallel/Serien-Umsetzer 307
gelegt. Die Daten werden in einen seriellen Bitstrom
umgesetzt, der dem Manchestercodierer 301 zum Aussenden
zugeführt wird. Ein CRC-Generator 308 überwacht alle
Bits in dem ausgesendeten Datenpaket, und wenn das letzte
Bit ausgesendet worden ist, erzeugt der CRC-Generator 308
eine 16-Bit-CRC-Zahl, die in der oben beschriebenen Weise
benutzt wird, um die Integrität des Datenpakets über
prüfen zu können, wenn es bei einer anderen Station
empfangen wird.
Es gibt viele Architekturen, die man verwenden
kann, um die seriellen Protokollmaschinen 251 und 253
zu implementieren oder zu realisieren. Viele ihrer
Funktionen können beispielsweise durch Universal-Asynchron-
Empfänger-Sender (UART) wahrgenommen werden, die in in
tegrierter Schaltungsform im Handel erhältlich sind. Das
gleiche gilt für die Manchestercodierer, Manchesterdeco
dierer und die FIFO-Speicher. Diese funktionellen Ele
mente der seriellen Protokollmaschinen 251 und 253 sind
in dem bevorzugten Ausführungsbeispiel als Teil einer
ASIC (anwendungsspezifische integrierte Schaltung) im
plementiert, die auch die anderen in Fig. 5 dargestellten
funktionellen Elemente enthält. Die Erfindung ermöglicht
es, daß diese ASIC in einem weiten vielfältigen Bereich
der Kommunikation angewendet werden kann, so daß ihre
Konstruktion, Entwicklung und Werkzeugausrüstung wirt
schaftlich gerechtfertigt ist.
Wie es oben beschrieben wurde, speichert der ge
meisame RAM 211 Datenstrukturen, die es der Kommunikations
schnittstellenschaltung ermöglichen, sich dem besonderen
Hostprozessor anzupassen, mit der sie verbunden ist, und
mit diesem Hostprozessor Nachrichtendaten auszutauschen.
Diese gespeicherten Datenstrukturen sind generell in
Fig. 6 dargestellt und sollen nachstehend im einzelnen
erläutert werden.
Wie es aus Fig. 6 hervorgeht, speichert der ge
meinsame RAM 211 Daten in Segmenten. Das erste Segment
350 ist ein Verhandlungssegment, das 32 Datenbytes ent
hält, das beim Einschalten verwendet wird, um die Cha
rakteristika, Eigenschaften oder Kennmerkmale der Kom
munikationen zwischen dem Host und der Kommunikations
schnittstellenschaltung zu verhandeln oder auszuhandeln.
Dieses Segment 350 wird noch im einzelnen beschrieben
werden.
Das zweite Segment ist ein Identifikationssegment
352, welches die Information enthält, die die Serien-
und Revisionszahl der Kommunikationsschnittstellenschal
tung enthält.
Das dritte Segment 351 ist ein Segmentverzeichnis,
das eine Anordnung von Segmentdiskriptoren enthält, die
die Startadresse jedes Segments in dem gemeinsamen RAM 211,
die Größe jedes Segments, den Typ des Segments und die
Instanz des Segments enthalten. Das Segmentverzeichnis 351
ist ein Index für die anderen Segmente in dem gemeinsamen
RAM 211. Die Segmenttypen oder Segmentarten umfassen:
0 - Verhandlungssegment
1 - Segmentverzeichnis
2 - Identifikationssegment
3 - Kanalsegment
4 - Zwischen- oder Interprozessorquittungsmerker
5 - Selektionssegment
0 - Verhandlungssegment
1 - Segmentverzeichnis
2 - Identifikationssegment
3 - Kanalsegment
4 - Zwischen- oder Interprozessorquittungsmerker
5 - Selektionssegment
Die Instanz gibt die Zahl oder Nummer des Segments einer
besonderen Art an. Beispielsweise gibt es zwei Kanalsegmente
355 und 356 bei dem bevorzugten Ausführungsbeispiel, und
diese werden voneinander unterschieden durch ihre jeweilige
Instanznummer "0" und "1".
Dem Verzeichnissegment 351 folgt ein Handshake- oder
Quittungssegment 354, das acht 8-Bit-Wörter pro Kanal im
gemeinsamen RAM 211 einnimmt. Aus Fig. 9 geht hervor, daß
das Quittungssegment 354 vier Wörter 370 bis 373 enthält,
welche Kennzeichen oder Merker (Flags) speichern, die
sich auf Unterbrechungen vom Host zur Schnittstellen
steuereinheit 222 beziehen, und vier Wörter 374 bis 377
enthält, die Merker speichern, die sich auf Unterbrechun
gen von der Schnittstellensteuereinheit 222 zum Host be
ziehen. So wird ein Merker im Wort 370 durch den Host
prozessor umgekippt oder umgeschaltet, wenn er die
Schnittstellensteuereinheit 222 unterbricht. Die Schnitt
stellensteuereinheit 222 bedient die Unterbrechung da
durch, daß sie diese Merker liest und feststellt, welches
umgeschaltet worden ist. Der erste Merker (Bit 0) zeigt
an, daß der Kanal A zurückzusetzen ist, der nächste Merker
(Bit 7) zeigt an, daß die Diagnostikzähler zurückzusetzen
sind, die nächsten vier Merker (Bits 8 bis 11) zeigen an,
daß die vier Kanal-A-Zugriff-FIFO-Register eine Bedienung
anfordern, und die nächsten vier Merker (Bits 12 bis 15)
zeigen an, daß die jeweiligen vier Kanal-A-Management-
FIFO-Register eine Bedienung anfordern. Die Schnittstellen
steuereinheit 222 bestätigt oder quittiert die Unterbre
chung durch Umschalten des entsprechenden Merkers im
Wort 371 und führt die Routine aus, die zum Bedienen der
Unterbrechung erforderlich ist. Die Wörter 372 und 373
im Quittungssegment 354 sind mit den Wörtern 370 und 371
identisch, beziehen sich jedoch auf den Kanal B.
Die letzten vier Wörter 374 bis 377 im Quittungs
segment 354 sind in der gleichen Weise organisiert,
jedoch werden die Unterbrechungsmerker in den Wörtern 374
und 376 durch die Schnittstellensteuereinheit 222 umge
schaltet und die Unterbrechungen werden durch den Host
bedient. Der Host quittiert die Unterbrechung durch Um
schalten des entsprechenden Merkers im Wort 375 oder 377
und führt die geeignete Unterbrechungsserviceroutine aus.
Zusammenfassend betrachtet arbeitet somit das
Quittungssegment 354 wie ein Mittel zum Multiplexen vieler
unterbrechungen entweder vom Host oder von der Schnittstellensteuereinheit
222 über ein Paar von Unterbre
chungsleitungen. Eine Unterbrechung wird signalisiert,
wenn die entsprechenden Bits in Wortpaaren 370-371,
372-373, 374-375 und 376-377 im entgegengesetzten Zustand
sind. Der Host kann lediglich seine eigenen Merker um
schalten, und die Schnittstellensteuereinheit 222 kann
ebenfalls nur ihre eigenen Merker umschalten. Beide körnen
allerdings alle Merker lesen, und jede dieser beiden Bau
einheiten kann feststellen, ob eine Unterbrechung ange
fordert worden ist und ob eine angeforderte Unterbre
chung bedient worden ist. In Anwendung dieser Technik
braucht kein Prozessor zu irgendeiner Zeit von dem
gemeinsamen RAM 211 ausgeschlossen sein. Die Arbeitsweise
dieser Unterbrechungsmultiplextechnik wird nachstehend
mit weiteren Einzelheiten erläutert.
Wie es ferner aus Fig. 5 hervorgeht, speichern die
nächsten beiden Segmente im gemeinsamen RAM 211 Daten,
die Nachrichten zugeordnet sind, die über den A-Kanal und
den B-Kanal der Schnittstellenschaltung übermittelt wer
den. So speichert das Segment 355 die FIFO's, Nachrich
tenvorsätze, Puffervorsätze und Puffer, die der Kommuni
kation über den Kanal A zugeordnet sind, und das Segment
356 speichert ähnliche Datenstrukturen zur Kommunikation
über den Kanal B. Da die beiden Segmente 355 und 356
einander ähnlich sind, wird lediglich das eine dieser
beiden Segmente im einzelnen erläutert.
Wie es aus Fig. 10 hervorgeht, besteht jede Nach
richt, die zwischen dem Host und der Schnittstellensteuer
einheit 222 über den gemeinsamen RAM 211 übertragen wird,
aus einem Nachrichtenvorsatz, keinem oder mehreren Puffer
vorsätzen und einem Datenpuffer, der jeweils einem Puffer
vorsatz zugeordnet ist. Die Nachrichtenköpfe oder Nachrich
tenvorsätze sind bei 378 als ein verbundener Satz von
Datenstrukturen dargestellt, und jeder Nachrichtenvorsatz
speichert die nachstehende Information:
NEXT (nächster) - Zeiger zum nächsten Puffervorsatz, der dieser Nachricht zugeordnet ist;
SERVICE (Bedienung) - die von dieser Nachricht durchgeführte Bedienung;
PRIORITY (Priorität) - die Prioritätsstufe dieser Nachricht, wo das Protokoll verschiedene Priori täten unterstützt;
STATUS (Zustand) - das Ergebnis dieses Aussendens
0 = bestätigte Ausgabe
1 = bestätigte Nichtausgabe
2 = nichtbestätigte Ausgabe
3 = nichtbestätigte Nichtausgabe;
REASON (Grund) - Fehlercode, der den Grund eines Fehlers oder einer Störung anzeigt;
DESTINATION ADDRESS COUNT (Bestimmungsadreßzählung) - Anzahl der Bytes, die für die Bestim mungsadresse erforderlich sind;
DESTINATION NETWORK ADDRESS (Bestimmungsnetzwerkadresse) - die Bestimmung dieser Nachricht
SOURCE ADDRESS COUNT (Quellenadreßzählung) - Anzahl der Bytes, die zum Definieren der Quellenadresse erforderlich sind;
SOURCE NETWORK ADDRESS (Quellennetzwerkadresse) - die Quelle dieser Nachricht
SAP TYPE (SAP-Art) - die Art des Bedienungszugriffspunktes (SAP = Service Access Point), die in dieser Nachricht verwendet wird;
DSAP (Bestimmung von DSAP) - Bestimmung der Bedienungszugriffspunkt nummer
SSAP (Quelle von SSAP) - Quellenbedienungszugriffspunktnummer;
BUFFER HEADER POINTER (Puffervorsatzzeiger) - Adresse des ersten Puffervorsatzes, der dieser Nachricht zugeordnet ist;
TAG (Anhänger) - anwenderdefiniertes Feld.
NEXT (nächster) - Zeiger zum nächsten Puffervorsatz, der dieser Nachricht zugeordnet ist;
SERVICE (Bedienung) - die von dieser Nachricht durchgeführte Bedienung;
PRIORITY (Priorität) - die Prioritätsstufe dieser Nachricht, wo das Protokoll verschiedene Priori täten unterstützt;
STATUS (Zustand) - das Ergebnis dieses Aussendens
0 = bestätigte Ausgabe
1 = bestätigte Nichtausgabe
2 = nichtbestätigte Ausgabe
3 = nichtbestätigte Nichtausgabe;
REASON (Grund) - Fehlercode, der den Grund eines Fehlers oder einer Störung anzeigt;
DESTINATION ADDRESS COUNT (Bestimmungsadreßzählung) - Anzahl der Bytes, die für die Bestim mungsadresse erforderlich sind;
DESTINATION NETWORK ADDRESS (Bestimmungsnetzwerkadresse) - die Bestimmung dieser Nachricht
SOURCE ADDRESS COUNT (Quellenadreßzählung) - Anzahl der Bytes, die zum Definieren der Quellenadresse erforderlich sind;
SOURCE NETWORK ADDRESS (Quellennetzwerkadresse) - die Quelle dieser Nachricht
SAP TYPE (SAP-Art) - die Art des Bedienungszugriffspunktes (SAP = Service Access Point), die in dieser Nachricht verwendet wird;
DSAP (Bestimmung von DSAP) - Bestimmung der Bedienungszugriffspunkt nummer
SSAP (Quelle von SSAP) - Quellenbedienungszugriffspunktnummer;
BUFFER HEADER POINTER (Puffervorsatzzeiger) - Adresse des ersten Puffervorsatzes, der dieser Nachricht zugeordnet ist;
TAG (Anhänger) - anwenderdefiniertes Feld.
Die Puffervorsätze sind in Fig. 10 bei 379 als ein
Satz verbundener Datenstrukturen dargestellt. Jeder Puffer
vorsatz speichert die folgende Information:
NEXT (nächster) - Zeiger zum nächsten Puffervorsatz, der dieser Nachricht zugeordnet ist;
DATA (Daten) - Zeiger zum Puffer, der diesem Puffer vorsatz zugeordnet ist;
SIZE (Größe) - die Anzahl der Datenbytes in dem zuge ordneten Puffer.
NEXT (nächster) - Zeiger zum nächsten Puffervorsatz, der dieser Nachricht zugeordnet ist;
DATA (Daten) - Zeiger zum Puffer, der diesem Puffer vorsatz zugeordnet ist;
SIZE (Größe) - die Anzahl der Datenbytes in dem zuge ordneten Puffer.
Die Puffer sind bei 380 dargestellt, und bei jedem handelt
es sich um eine fortwährende Folge von Bytes, die einem der
Puffervorsätze 379 zugeordnet sind. Eine Nachricht, die
aus einem oder mehreren dieser Datenpuffer 380 besteht,
kann entweder der Host oder die Schnittstellensteuerein
heit 222 dadurch bilden, daß die Nachrichtendaten in den
Puffern gespeichert werden und daß sie dann mit ihren
zugeordneten Puffervorsätzen 379 miteinander verbunden
werden. Es wird dann ein Nachrichtenvorsatz 378 gebildet,
der den ersten Puffervorsatz in dieser verbundenen Liste
von Puffervorsätzen 379 identifiziert.
Ferner wird unter Bezugnahme auf Fig. 10 ausgeführt,
daß der Host, wenn er eine Nachricht erzeugt, einen
Zeiger zu dem Kopf oder Vorsatz dieser Nachricht in einem
Anforderungs-FIFO-381 speichert, wie es durch einen Pfeil
382 angedeutet ist. Der Anforderungs-FIFO 381 ist eine
Anordnung aus solchen Zeigern, denen die folgende ge
speicherte Information vorausgeht:
NEXT IN (nächster EIN) - Hostindex zum nächsten verfügbaren Platz in dem FIFO, wo ein Nach richtenvorsatzzeiger gespeichert werden kann;
NEXT OUT (nächster AUS)-Schnittstellensteuereinheitindex zum nächsten Nachrichtenzeiger, der ausgelesen und verarbeitet werden soll;
WRAP MASK: (Warp-Maske) - die beiden Indizes wrap, die dieses Feld benutzen;
IFLAG NUMBER (Unterbrechungsmerkernummer) - Unterbrechungsmerkerbitnummer, die von diesem FIFO benutzt wird.
NEXT IN (nächster EIN) - Hostindex zum nächsten verfügbaren Platz in dem FIFO, wo ein Nach richtenvorsatzzeiger gespeichert werden kann;
NEXT OUT (nächster AUS)-Schnittstellensteuereinheitindex zum nächsten Nachrichtenzeiger, der ausgelesen und verarbeitet werden soll;
WRAP MASK: (Warp-Maske) - die beiden Indizes wrap, die dieses Feld benutzen;
IFLAG NUMBER (Unterbrechungsmerkernummer) - Unterbrechungsmerkerbitnummer, die von diesem FIFO benutzt wird.
Wenn die Schnittstellensteuereinheit 222 unterbrochen
ist, liest sie den nächsten Nachrichtenzeiger aus dem
Anforderungs-FIFO 381 aus, wie dies durch einen Pfeil 383
dargestellt ist, und sie liest den angezeigten Nachrichten
vorsatz 378 und die zugeordneten Daten 380, die durch die
Puffervorsätze 379 angezeigt sind, um eine Nachricht zu
bilden. Sie bestätigt, daß die Nachricht empfangen und
verarbeitet worden ist, und zwar dadurch, daß der Zeiger
für denselben Nachrichtenvorsatz in einen Bestätigungs-
FIFO 384 eingeschrieben wird, wie es durch einen Pfeil
385 veranschaulicht ist. Der FIFO 385 ist bezüglich seiner
Struktur dem FIFO 381 ähnlich, und wenn der Host unter
brochen wird, liest er den nächsten Nachrichtenvorsatzzei
ger aus dem Bestätigungs-FIFO 384 aus, wie es durch einen
Pfeil 386 angedeutet ist. Der Host liest dann den ange
zeigten Nachrichtenvorsatz aus dem gemeinsamen RAM 211
aus, um zu bestätigen, daß die Nachricht, die er initiiert
hat, verarbeitet worden ist.
Ähnliche Datenstrukturen existieren für Nachrichten,
die von der Schnittstellensteuereinheit 222 initiiert
werden. Wenn, immer noch unter Bezugnahme auf Fig. 10,
die Schnittstellensteuereinheit 222 eine Nachricht auf
dem Netzwerk empfängt, speichert sie die Nachrichtendaten
in dem gemeinsamen RAM 211, und zwar in verfügbaren Puf
fern 380, und den Nachrichtenvorsatz in einem verfügbaren
Nachrichtenvorsatz 378. Sie speichert dann einen Zeiger
zu dem Nachrichtenvorsatz 378 in einem Anzeige-FIFO 387,
wie es durch einen Pfeil 388 gezeigt ist, und unterbricht
den Host. Der Hostprozessor liest den nächsten Zeiger aus
dem Anzeige-FIFO 387, wie es durch einen Pfeil 389 ver
anschaulicht ist, und der Nachrichtenvorsatz und die
Nachrichtendaten werden aus dem gemeinsamen RAM 211 aus
gelesen. Der Hostprozessor schreibt dann einen Zeiger in
einen Annahme-FIFO 390, wie es durch einen Pfeil 391 ver
anschaulicht ist, und er unterbricht die Schnittstellen
steuereinheit 222. Die Schnittstellensteuereinheit 222
liest den Zeiger aus dem Annahme-FIFO 390 aus, um zu
bestätigen, daß die Nachricht von dem Host angenommen
worden ist, wie es durch einen Pfeil 192 veranschaulicht
wird.
Wie es aus Fig. 9 hervorgeht, enthält das Handshake-
oder Quittungssegment Unterbrechungsmerker für jeden der
vier FIFOs 381, 384, 387 und 390. So enthält die Host
unterbrechung im Wort 370 vier Zugriffsmerker, die den
vier Kanal-A-FIFOs entsprechen, und das Wort 372 ent
hält vier Kanal-B-FIFOs. In ähnlicher Weise enthält das
Schnittstellensteuereinheitswort 374 vier Zugriffsmerker,
die den vier A-Kanal-FIFOs entsprechen, und das Schnitt
stellensteuereinheitswort 376 enthält vier Zugriffs
merker, die den vier B-Kanal-FIFOs entsprechen. Diese
Merker ermöglichen es dem unterbrochenen Prozessor, den
geeigneten FIFO prompt zu lesen, wenn er von dem anderen
Prozessor unterbrochen wird.
Die Kanalsegmente 355 und 356 im gemeinsamen RAM 211
(Fig. 7) speichern ebenfalls Datenstrukturen, die Netz
werkmanagement- oder Netzwerkverwaltungsfunktionen
zugeordnet sind. Diese umfassen vier Management-FIFOs
und zugeordnete Nachrichtenvorsätze, Puffervorsätze und
Puffer (nicht dargestellt), die in der oben beschriebenen
Weise arbeiten. Zusätzlich gibt es vier Managementunter
brechungsmerker in jedem der Wörter 370 bis 377 des
Quittungssegments 354 (Fig. 9), die es dem Host und der
Schnittstellensteuereinheit 222 gestatten, die Management-
oder Verwaltungs-FIFOs prompt zu bedienen.
Wie es aus dem Obigen hervorgeht, besteht die Haupt
funktion der Schnittstellensteuereinheit 222 darin, Nach
richten zwischen dem gemeinsamen RAM 211 und der Schnitt
stellenschaltung 210 (Fig. 4) zu übermitteln. Die
Schnittstellensteuereinheit führt diese Funktion und ihre
anderen Funktionen unter der Leitung von Programmen durch,
die in ihrem internen Festwertspeicher (nicht dargestellt)
gespeichert sind. Eine Anzahl dieser Programme sind inter
rupt- oder unterbrechungsgesteuert und enthalten eine
Service- oder Bedienungsroutine, die ausgeführt wird, wenn
eine Unterbrechung von dem Host über die Leitung 231
empfangen wird, sowie Bedienungs- oder Serviceroutinen,
die ausgeführt werden, wenn eine Unterbrechung von dem
A-Kanal oder dem B-Kanal von der Schnittstellenschaltung
210 empfangen wird. Das Hauptprogramm, das von der
Schnittstellensteuereinheit 222 ausgeführt wird, ist
allerdings in Fig. 8 dargestellt und wird nachstehend
im einzelnen beschrieben.
Wie es in Fig. 8 dargestellt ist, wird beim Einschal
ten oder physischen Zurücksetzen der Schnittstellen
steuereinheit 222 ein Satz Befehle ausgeführt, die in
einem Prozeßblock 400 dar gestellt sind, um Diagnostik
funktionen auszuführen. So wird beispielsweise die Inte
grität oder Sicherheit des gemeinsamen RAM 211 voll
ständig überprüft. Dnach wird ein Satz Befehle, die
durch einen Prozeßblock 401 dargestellt sind, ausge
führt, um einer Satz Parameter auszuhandeln, die fest
legen, wie die Schnittstellensteuereinheit 222 und
der Host über den gemeinsamen RAM 211 miteinander
kommunizieren wollen.
Nach dieser Aushandlung oder Verhandlung wird jeder
der bei den Kanäle konfiguriert oder ausgestaltet, wie es
durch einen Prozeßblock 402 dargestellt ist. Jeder phy
sische Kanal verwendet in vorgegebener Weise einen Satz
vordefinierter Zugriffs- und Protokollselektionen, ob
wohl auch andere Selektionen gemacht werden können. So
befinden sich in jedem Kanalsegment 355 und 356 des ge
meinsamen RAM 211 (Fig. 6) Selektions- oder Auswahlsegmen
te (nicht gezeigt), die vom Host gelesen werden können
und die verwendet werden, um Betriebsparameter auszuwählen,
die von den Vorgabe- oder Standardwerten verschieden sind.
So kann beispielsweise jeder Kanal auf irgendeine von
vier Zugriffsarten gesetzt werden: (1) einen aktiven
Knoten auf einem Lokalbereichsnetzwerk, (2) einen nicht
aktiven Knoten auf einem Lokalbereichsnetzwerk, (3) einen
Abtaster oder Adapter auf einer seriellen E/A-Verbindung,
oder (4) einer Brücke zwischen zwei Lokalbereichsnetzwer
ken. Für jede dieser Zugriffsarten gibt es ein Menü, das
die verschiedenen Protokolle definiert, die von dem Host
ausgewählt werden können, und jedes auswählbare Protokoll
kann Werte von Betriebsparametern für das Protokoll haben,
d. h. Baud, Geschwindigkeit, Parität usw. Wenn die Kon
figuration jedes Kanals beendet ist, wird der Kanal
betriebs- oder funktionsfähig oder er wird "on line".
Immer noch unter Bezugnahme auf Fig. 8 sei bemerkt,
daß nach der Beendigung der Konfiguration, jeder physische
Kanal dann abwechselnd bedient wird. Dies wird dadurch
bewerkstelligt, daß eine bei 403 angezeigte Subroutine
aufgerufen wird, die den Kanalkontext schaltet. Dieser
Kontextschalter beinhaltet die Aufbewahrung der Werte
von Mikrocomputerregistern und das Laden der Registerwerte
für den anderen Kanal. Bei einem Entscheidungsblock 404
wird eine Überprüfung vorgenommen, um festzustellen, ob
der Kanal funktionsfähig ist, und es wird dann bei einem
Entscheidungsblock 405 eine Überprüfung ausgeführt, um
festzustellen, ob irgendwelche ankommenden Nachrichten
im Empfangs-FIFO 280 (Fig. 5) des Kanals verfügbar sind.
Trifft dies zu, wird die Nachricht aus dem Empfangs-FIFO
280 ausgelesen und in einen nichtbenutzten Puffer 308 im
gemeinsamen RAM 211 eingeschrieben, wie dies durch einen
Prozeßblock 406 veranschaulicht ist. Die entsprechenden
Puffervorsätze 379 und Nachrichtenvorsätze 378 werden
erzeugt, und ein Zeiger zum Nachrichtenvorsatz 378 wird
in den nächsten Eintrag des Anzeige-FIFO 387 (Fig. 13)
gespeichert. Wie es in einem Prozeßblock 407 dargestellt
ist, wird der geeignete Kerker im Quittungssegment dann
umgeschaltet, und der Host wird unterbrochen, um die
ankommende Nachricht zu bedienen.
Wenn die ankommende Nachricht vorhanden ist, was durch
einen Entscheidungsblock 405 festgestellt wird, wird bei
einem Entscheidungsblock 408 eine Überprüfung eines
internen Merkerregisters vorgenommen, um festzustellen,
ob durch den Host Nachrichten zum Aussenden in dem gemein
samen RAM 211 aufgestellt worden sind. Trifft dies zu,
wird der Zeiger im Anforderungs-FIFO 381 gelesen, und der
angezeigte Nachrichtenvorsatz 378, die Puffervorsätze 379
und die Puffer 380 (Fig. 10) werden von dem gemeinsamen
RAM 211 in den Sende-FIFO 281 (Fig. 5) des Kanals
transferiert, wie dies durch einer, Prozeßblock 405
angezeigt ist. Derselbe Nachrichtenvorsatzzeiger wird
dann zum Bestätigungs-FIFO im gemeinsamen RAM 211 über
mittelt, und der Host wird bei einem Prozeßblock 410
unterbrochen, um anzuzeigen, daß die Nachricht verar
beitet worden ist.
Die Schnittstellensteuereinheit 222 läuft fort
während zyklisch durch dieses Programm, wobei der
Kontext zwischen den beiden Kanälen umgeschaltet wird.
Folglich werden Nachrichten, die an irgendeinem dieser
beiden Kanäle empfangen werden, durch den Host gelei
tet, und Nachrichten, die von dem Host empfangen wer
den, werden weitergeleitet zur Übertragung auf der ge
eigneten seriellen Verbindung.
Wenn die Schnittstellensteuereinheit 222 den Host
unterbricht, wie es oben beschrieben worden ist, muß sie
zunächst den geeigneten Unterbrechungsmerker im Quit
tungssegment 354 umschalten. Wie es beispielsweise in
den Fig. 9 und 10 gezeigt ist, gibt es einen Unter
brechungsmerker in jedem der Kanal-A- und Kanal-B-Host
unterbrechungswörter 370 und 372, die dem Anzeige-FIFO
387 und dem Bestätigungs-FIFO 384 entsprechen. Irgend
einer dieser Merker wird dadurch umgeschaltet, daß das
Wort 370 und 372 von dem gemeinsamen RAM 211 gelesen
wird, der Zustand des geeigneten Merkers geändert wird
und das Wort 370 oder 372 zurück in den RAM 211 ge
schrieben wird. Die Unterbrechung-zum-Host-Steuerleitung
230 wird dann beaufschlagt, um zum Host eine Signalisie
rung zu senden. Wenn der Unterbrechungsmerker bereits
anders als sein Bestätigungsmerker ist, dann ist bereits
eine Unterbrechung angefordert worden, und der Unter
brechungsmerker wird nicht erneut umgeschaltet.
Der Host arbeitet in der gleichen Weise, wenn er
Nachrichtendaten in den Anforderungs-FIFO 381 lädt oder
wenn der Empfang einer ankommenden Nachricht bestätigt
wird, und zwar durch Einschreiben in den Annahme-FIFO
390. Das bedeutet, daß der Host das Kanal-A- oder
Kanal-B-Schnittstellenunterbrechungswort 374 oder 376
des Quittungssegments 354 liest, den geeigneten Unter
brechungsmerker umschaltet und das Wort zurück in das
Quittungssegment 354 einschreibt. Der Host beaufschlagt
dann die Unterbrechung-zur-Steuereinheit-Steuerleitung
231, um die Schnittstellensteuereinheit 222 munter
oder scharf zu machen.
Wenn auf der Unterbrechung-zur-Steuereinheit-
Steuerleitung 231 eine Unterbrechung angefordert wird,
spricht die Schnittstellensteuereinheit 222 darauf
dadurch an, daß sie eine Unterbrechungsbedienungsroutine
ausführt, die in Fig. 11 dargestellt, ist. Diese Routine
legt fest, welcher Unterbrechungsmerker umgeschaltet wird,
und sie setzt das entsprechende Bit in einem Merkerregi
ster, das in der Schnittstellensteuereinheit 222 ge
speichert wird. So tritt die Unterbrechungsbedienungs
routine, nachdem in sie eingetreten worden ist, in eine
Schleife ein, in die die Kanal-A- und dann die Kanal-B-
Unterbrechungsmerker überprüft werden. Das Schnittstellen
unterbrechungswort 374 oder 376 wird dann als erstes
aus dem Quittungssegment (Fig. 9) des gemeinsamen RAM
211 ausgelesen, wie es in einem Prozeßblock 400 darge
stellt ist, und dann wird das entsprechende Bestäti
gungswort 375 oder 377 ausgelesen, wie es bei einem
Prozeßblock 481 dargestellt ist. Die entsprechenden Bits
in den beiden Wörtern werden einer exklusiven ODER-
Verknüpfung unterzogen, wie es ein Prozeßblock 402 zeigt,
um festzustellen, welcher oder welche Unterbrechungs
merker zu einem anderen Zustand als ihrem Bestätigungs
merker umgeschaltet worden sind. Das resultierende Bit
muster (R) wird mit dem Schnittstellensteuereinheitmerker
register einer ODER-Verknüpfung unterzogen, so daß die
neu erfaßte Unterbrechung oder die neu erfaßten Unterbrechungen
dazu hinzugefügt werden, wie es in einem
Prozeßblock 403 dargestellt ist.
Wie es ein Prozeßblock 404 zeigt, besteht der
nächste Schritt darin, den Zustand des oder der Be
stätigungsmerker um zuschalten, der oder die der oder den
neu erfaßten Unterbrechungen entsprechen. Dies wird
dadurch erreicht, daß das Bestätigungsmerkerwort 375
oder 377 mit dem Ergebnisbitmuster (R) einer ODER-
Verknüpfung unterzogen wird, und dann das geänderte
Bestätigungsmerkerwort zurück an seinen Platz in den
gemeinsamen RAM 211 geschrieben wird, wie es in einem
Prozeßblock 405 gezeigt ist. Bei einem Entscheidungs
block 406 wird dann eine Überprüfung vorgenommen, um
festzustellen, ob die Unterbrechungsmerker für beide
Kanäle überprüft worden sind, und wenn dies zutrifft,
endet die Unterbrechungsbedienungsroutine dadurch, daß
die Schnittstellensteuereinheit 222 zur Aufnahme ihrer
unterbrochenen Funktionen zurückkehrt.
Wie es oben aufgezeigt ist, wird der Zustand des
Merkerregisters periodisch überprüft, um festzustellen,
ob irgendeiner der FIFOs eine Bedienung erfordert.
Wenn ein Merker gesetzt ist, wodurch angezeigt wird, daß
ein besonderer FIFO eine Bedienung anfordert, werden
alle Nachrichten in diesem FIFO verarbeitet. Dadurch
wird einem Umstand Rechnung getragen, bei dem eine zweite
oder noch mehr Unterbrechungen auftreten, bevor die
erste Unterbrechung bedient worden ist.
Es wird darauf hingewiesen, daß eine Unterbrechungs
bedienungsroutine, die der gerade beschriebenen ähnlich
ist, auch vom Hostprozessor ausgeführt wird, wenn dieser
durch die Schnittstellensteuereinheit 222 unterbrochen
wird. Ferner sei noch bemerkt, daß während der Unter
brechungsbedienung andere Funktionen ausgeführt werden
können.
Claims (5)
1. Steuerungssystem mit einem Steuerfunktionen ausführenden Hostprozessor und einer
mit einer Kommunikationsverbindung verbundenen Kommunikationsschnittstellenschaltung,
die über eine Protokollmaschine Nachrichtendaten an die Kommunikationsverbindung
aussenden und von dieser empfangen kann,
dadurch gekennzeichnet,
daß die Kommunikationsschnittstellenschaltung (210) eine mit der Protokollmaschine (251, 253) und dem Hostprozessor (66; 140) verbundene Schnittstellensteuereinheit (222) und einen mit dem Hostprozessor (66; 140) und der Schnittstellensteuereinheit (222) verbundenen, gemeinsamen Speicher (211) enthält, der dazu dient, von der Protokollmaschine (251, 253) empfangene Nachrichtendaten zu speichern, die vom Hostprozessor (66; 140) gelesen werden sollen, vom Hostprozessor (66; 140) empfangene Nachrichtendaten zu speichern, die von der Protokollmaschine (251, 253) ausgesendet werden sollen, und ein Handshake-Segment (354) zu speichern, das einen Satz Hostinterruptmerker (370, 372) und einen entsprechenden Satz Bestätigungsmerker (371, 373) sowie einen Satz Schnittstelleninterruptmerker (374, 376) und einen entsprechenden Satz Bestätigungsmerker (375, 377) enthält,
daß die Schnittstellensteuereinheit (222) Mittel zum Umschalten eines der Hostinterruptmerker (370, 372) und zum Erzeugen eines Interruptsignals für den Hostprozessor (66; 140) aufweist und der Hostprozessor (66; 140) Mittel aufweist, die auf ein ihm zugeführtes, von der Schnittstellensteuereinheit (222) erzeugtes Interruptsignal ansprechen, um den Satz Hostinterruptmerker (370, 372) zur Feststellung eines von der Schnittstellensteuereinheit (222) umgeschalteten Merkers zu überprüfen und den entsprechenden Hostbestätigungsmerker (371, 373) umzuschalten und den Interrupt vom Hostprozessor (66; 104) zu bedienen, und
daß der Hostprozessor (66; 140) Mittel zum Umschalten eines der Schnittstelleninterruptmerker (374, 376) und zum Erzeugen eines Interruptsignals für die Schnittstellensteuereinheit (222) aufweist und die Schnittstellensteuereinheit (222) Mittel aufweist, die auf ein ihr zugeführtes, vom Hostprozessor (66; 140) erzeugtes Interruptsignal ansprechen, um den Satz Schnittstelleninterruptmerker (374, 376) zur Feststellung eines vom Hostprozessor (66; 140) umgeschalteten Merkers zu überprüfen, und den entsprechenden Schnittstellenbestätigungsmerker (375, 377) umzuschalten und den Interrupt von der Schnittstellensteuereinheit (222) zu bedienen.
dadurch gekennzeichnet,
daß die Kommunikationsschnittstellenschaltung (210) eine mit der Protokollmaschine (251, 253) und dem Hostprozessor (66; 140) verbundene Schnittstellensteuereinheit (222) und einen mit dem Hostprozessor (66; 140) und der Schnittstellensteuereinheit (222) verbundenen, gemeinsamen Speicher (211) enthält, der dazu dient, von der Protokollmaschine (251, 253) empfangene Nachrichtendaten zu speichern, die vom Hostprozessor (66; 140) gelesen werden sollen, vom Hostprozessor (66; 140) empfangene Nachrichtendaten zu speichern, die von der Protokollmaschine (251, 253) ausgesendet werden sollen, und ein Handshake-Segment (354) zu speichern, das einen Satz Hostinterruptmerker (370, 372) und einen entsprechenden Satz Bestätigungsmerker (371, 373) sowie einen Satz Schnittstelleninterruptmerker (374, 376) und einen entsprechenden Satz Bestätigungsmerker (375, 377) enthält,
daß die Schnittstellensteuereinheit (222) Mittel zum Umschalten eines der Hostinterruptmerker (370, 372) und zum Erzeugen eines Interruptsignals für den Hostprozessor (66; 140) aufweist und der Hostprozessor (66; 140) Mittel aufweist, die auf ein ihm zugeführtes, von der Schnittstellensteuereinheit (222) erzeugtes Interruptsignal ansprechen, um den Satz Hostinterruptmerker (370, 372) zur Feststellung eines von der Schnittstellensteuereinheit (222) umgeschalteten Merkers zu überprüfen und den entsprechenden Hostbestätigungsmerker (371, 373) umzuschalten und den Interrupt vom Hostprozessor (66; 104) zu bedienen, und
daß der Hostprozessor (66; 140) Mittel zum Umschalten eines der Schnittstelleninterruptmerker (374, 376) und zum Erzeugen eines Interruptsignals für die Schnittstellensteuereinheit (222) aufweist und die Schnittstellensteuereinheit (222) Mittel aufweist, die auf ein ihr zugeführtes, vom Hostprozessor (66; 140) erzeugtes Interruptsignal ansprechen, um den Satz Schnittstelleninterruptmerker (374, 376) zur Feststellung eines vom Hostprozessor (66; 140) umgeschalteten Merkers zu überprüfen, und den entsprechenden Schnittstellenbestätigungsmerker (375, 377) umzuschalten und den Interrupt von der Schnittstellensteuereinheit (222) zu bedienen.
2. Steuerungssystem nach Anspruch 1, dadurch gekennzeichnet,
daß einer der Hostinterruptmerker (370, 372) einem in dem gemeinsamen Speicher
(211) vorgesehenen Anzeige-FIFO (387) zugeordnet ist, in dem von der Protokollmaschine
(251, 253) empfangene Nachrichtendaten gespeichert werden, und daß der Hostprozessor (66;
140) ansprechend auf das durch die Schnittstellensteuereinheit (222) bewirkte Umschalten
dieses einen Hostinterruptmerkers derart betreibbar ist, daß er Nachrichtendaten aus dem
Anzeige-FIFO (387) liest.
3. Steuerungssystem nach Anspruch 2, dadurch gekennzeichnet, daß einer der
Schnittstelleninterruptmerker (374, 376) einem in dem gemeinsamen Speicher (211)
vorgesehenen Annahme-FIFO (390) zugeordnet ist und der Hostprozessor (66; 140) derart
betreibbar ist, daß er nach dem Lesen von Nachrichtendaten aus dem Anzeige-FIFO (387)
Daten in den Annahme-FIFO (390) schreibt, diesen einen Schnittstelleninterruptmerker
umschaltet und ein Interruptsignal für die Schnittstellensteuereinheit (222) erzeugt.
4. Steuerungssystem nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet,
daß ein zweiter der Schnittstelleninterruptmerker (374, 376) einem in dem gemeinsamen
Speicher (211) vorgesehenen Anforderungs-FIFO (381) zugeordnet ist und Nachrichtendaten
vom Hostprozessor (66; 140) in diesem Anforderungs-FIFO (381) gespeichert werden und
daß die Schnittstellensteuereinheit (222) ansprechend auf das durch den Hostprozessor (66;
140) bewirkte Umschalten dieses zweiten Schnittstelleninterruptmerkers derart betreibbar ist,
daß Nachrichtendaten aus dem Anforderungs-FIFO (381) ausgelesen und der
Protokollmaschine (251, 253) zum Aussenden an die Kommunikationsverbindung (200, 201)
zugeführt werden.
5. Steuerungssystem nach Anspruch 4, dadurch gekennzeichnet, daß ein zweiter der
Hostinterruptmerker (370, 372) einem in dem gemeinsamen Speicher (211) vorgesehenen
Bestätigungs-FIFO (384) zugeordnet ist und daß die Schnittstellensteuereinheit (222) derart
betreibbar ist, daß sie nach der Übermittlung von Nachrichtendaten von dem Anforderungs-
FIFO (381) Bestätigungsnachrichtendaten in den Bestätigungs-FIFO (384) schreibt, diesen
zweiten Hostunterbrechungsmerker umschaltet und ein Interruptsignal für den Hostprozessor
(66; 140) erzeugt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/384,614 US5283869A (en) | 1989-07-25 | 1989-07-25 | Interrupt structure for network interface circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4023471A1 DE4023471A1 (de) | 1991-01-31 |
DE4023471C2 true DE4023471C2 (de) | 2003-04-17 |
Family
ID=23518028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4023471A Expired - Fee Related DE4023471C2 (de) | 1989-07-25 | 1990-07-24 | Steuerungssystem mit Hostcomputer und Kommunikationsschnittstellenschaltung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5283869A (de) |
JP (1) | JPH0364231A (de) |
CA (1) | CA2019373C (de) |
DE (1) | DE4023471C2 (de) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5301303A (en) * | 1990-04-23 | 1994-04-05 | Chipcom Corporation | Communication system concentrator configurable to different access methods |
US5613128A (en) * | 1990-12-21 | 1997-03-18 | Intel Corporation | Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller |
US5414814A (en) * | 1992-05-08 | 1995-05-09 | The United States Of America As Represented By The Secretary Of The Navy | I/O interface between VME bus and asynchronous serial data computer |
US6029199A (en) * | 1992-10-23 | 2000-02-22 | International Business Machines Corporation | Computing system having a system supervisor and a collection of computing subunits each of which has a subunit supervisor |
DE4341886A1 (de) * | 1992-12-16 | 1994-06-23 | Rolm Co | HDLC-Hardwaremaschine und Speicherschnittstelle |
US5504837A (en) * | 1993-05-10 | 1996-04-02 | Bell Communications Research, Inc. | Method for resolving conflicts among distributed entities through the generation of counter proposals by transversing a goal hierarchy with acceptable, unacceptable, and indeterminate nodes |
GB2298503B (en) * | 1993-12-16 | 1998-08-12 | Intel Corp | Multiple programmable interrupt controllers in a computer system |
US5455954A (en) * | 1993-12-22 | 1995-10-03 | Adaptec, Inc. | Host interrupt signal generation circuit for controlling an auto read operation in a disk drive controller |
US5634081A (en) * | 1994-03-01 | 1997-05-27 | Adaptec, Inc. | System for starting and completing a data transfer for a subsequently received autotransfer command after receiving a first SCSI data transfer command that is not autotransfer |
JPH07262152A (ja) * | 1994-03-24 | 1995-10-13 | Hitachi Ltd | コンピュータシステム |
US5896292A (en) * | 1995-06-05 | 1999-04-20 | Canon Kabushiki Kaisha | Automated system for production facility |
US5949762A (en) * | 1996-01-24 | 1999-09-07 | Telebit Corporation | Apparatus and method for processing multiple telephone calls |
KR100216451B1 (ko) * | 1996-05-13 | 1999-08-16 | 윤종용 | 프로세서 통신시스템에서 다수의 하위데이타들을 전송하는 장치 및 방법 |
US5761428A (en) * | 1996-07-05 | 1998-06-02 | Ncr Corporation | Method and aparatus for providing agent capability independent from a network node |
US6145007A (en) * | 1997-11-14 | 2000-11-07 | Cirrus Logic, Inc. | Interprocessor communication circuitry and methods |
KR100257712B1 (ko) * | 1997-12-31 | 2000-06-01 | 서평원 | 인터넷을 이용한 프로세스 간의 정보교환 장치 |
US7007099B1 (en) * | 1999-05-03 | 2006-02-28 | Lucent Technologies Inc. | High speed multi-port serial-to-PCI bus interface |
US7734744B1 (en) * | 1999-11-09 | 2010-06-08 | Cisco Technology, Inc. | System for communicating management information and method of operation |
US6799317B1 (en) * | 2000-06-27 | 2004-09-28 | International Business Machines Corporation | Interrupt mechanism for shared memory message passing |
US20040081394A1 (en) * | 2001-01-31 | 2004-04-29 | Giora Biran | Providing control information to a management processor of a communications switch |
US7310766B2 (en) * | 2004-10-07 | 2007-12-18 | International Business Machines Corporation | End-to-end data integrity protection for PCI-Express based input/output adapter |
US7721160B2 (en) * | 2006-09-11 | 2010-05-18 | Advanced Micro Devices, Inc. | System for protecting data during high-speed bidirectional communication between a master device and a slave device |
US9043363B2 (en) * | 2011-06-03 | 2015-05-26 | Oracle International Corporation | System and method for performing memory management using hardware transactions |
US8625422B1 (en) | 2012-12-20 | 2014-01-07 | Unbound Networks | Parallel processing using multi-core processor |
CN112198820B (zh) * | 2020-09-27 | 2021-11-12 | 中国第一汽车股份有限公司 | 一种中断服务实现方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4228495A (en) * | 1978-12-19 | 1980-10-14 | Allen-Bradley Company | Multiprocessor numerical control system |
US4442504A (en) * | 1981-03-09 | 1984-04-10 | Allen-Bradley Company | Modular programmable controller |
US4443865A (en) * | 1981-10-26 | 1984-04-17 | Allen-Bradley Co. | Processor module for a programmable controller |
US4504927A (en) * | 1982-09-08 | 1985-03-12 | Allen-Bradley Company | Programmable controller with expandable I/O interface circuitry |
US4527250A (en) * | 1980-09-11 | 1985-07-02 | Allen-Bradley Company | Video computer terminal with detachable intelligent keyboard module |
US4604500A (en) * | 1981-12-02 | 1986-08-05 | At&T Bell Laboratories | Multiprocessing interrupt arrangement |
US4831582A (en) * | 1986-11-07 | 1989-05-16 | Allen-Bradley Company, Inc. | Database access machine for factory automation network |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4809269A (en) * | 1987-04-02 | 1989-02-28 | Advanced Micro Devices, Inc. | Dual-port timing controller |
JP2834122B2 (ja) * | 1987-07-08 | 1998-12-09 | 株式会社日立製作所 | 制御装置 |
US4937777A (en) * | 1987-10-07 | 1990-06-26 | Allen-Bradley Company, Inc. | Programmable controller with multiple task processors |
-
1989
- 1989-07-25 US US07/384,614 patent/US5283869A/en not_active Expired - Lifetime
-
1990
- 1990-06-20 CA CA002019373A patent/CA2019373C/en not_active Expired - Lifetime
- 1990-07-24 DE DE4023471A patent/DE4023471C2/de not_active Expired - Fee Related
- 1990-07-24 JP JP2196061A patent/JPH0364231A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4228495A (en) * | 1978-12-19 | 1980-10-14 | Allen-Bradley Company | Multiprocessor numerical control system |
US4527250A (en) * | 1980-09-11 | 1985-07-02 | Allen-Bradley Company | Video computer terminal with detachable intelligent keyboard module |
US4442504A (en) * | 1981-03-09 | 1984-04-10 | Allen-Bradley Company | Modular programmable controller |
US4443865A (en) * | 1981-10-26 | 1984-04-17 | Allen-Bradley Co. | Processor module for a programmable controller |
US4604500A (en) * | 1981-12-02 | 1986-08-05 | At&T Bell Laboratories | Multiprocessing interrupt arrangement |
US4504927A (en) * | 1982-09-08 | 1985-03-12 | Allen-Bradley Company | Programmable controller with expandable I/O interface circuitry |
US4831582A (en) * | 1986-11-07 | 1989-05-16 | Allen-Bradley Company, Inc. | Database access machine for factory automation network |
Also Published As
Publication number | Publication date |
---|---|
CA2019373C (en) | 2000-10-10 |
US5283869A (en) | 1994-02-01 |
DE4023471A1 (de) | 1991-01-31 |
JPH0364231A (ja) | 1991-03-19 |
CA2019373A1 (en) | 1991-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4023471C2 (de) | Steuerungssystem mit Hostcomputer und Kommunikationsschnittstellenschaltung | |
EP1456722B1 (de) | Datenübertragungsverfahren, serielles bussystem und anschalteinheit für einen passiven busteilnehmer | |
DE69533230T2 (de) | Verfahren und vorrichtung zur verbesserung der fehlertoleranz eines netzwerkes | |
DE19581234B4 (de) | Bussteuereinrichtung und Verfahren für eine hierarchische serielle Busanordnung unter Verwendung von Kommunikationspaketen | |
DE3931514C2 (de) | Kanaladapter | |
EP0710904B1 (de) | Backplane-Steuerung für Spinnereimaschine | |
EP0576459B1 (de) | Verfahren zum aufbau von botschaften für den datenaustausch und/oder für die synchronisation von prozessen in datenverarbeitungsanlagen | |
DE4121446A1 (de) | Terminal-server-architektur | |
DE102016000126B4 (de) | Serielles Bussystem mit Koppelmodulen | |
DE4313190B4 (de) | Vorrichtung und Verfahren zur Initialisierung einer Datenschnittstelle für eine programmierbare Steuerung | |
DE102005048581B4 (de) | Teilnehmerschnittstelle zwischen einem FlexRay-Kommunikationsbaustein und einem FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle | |
DE60123134T2 (de) | Verfahren und vorrichtung für einen rekonfigurierbaren prozessor | |
DE2751106A1 (de) | Automatisches mehrprozessor-schaltsystem fuer telegrafenleitungen | |
DE19609265B4 (de) | Kommunikationseinrichtung mit asynchronem Übertragungmodus und daraus aufgebautes Kommunikationsnetzwerk | |
DE102018001574B4 (de) | Master-Slave Bussystem und Verfahren zum Betrieb eines Bussystems | |
EP0184706A2 (de) | Schnittstelleneinrichtung | |
WO2003028336A2 (de) | Empfang von datentelegrammen in kommunikationssystemen mit redundanten netzwerkpfaden | |
EP0447769A2 (de) | Verfahren und Schaltungsanordnung zur Verwaltung gleicher Einheiten sowie Vermittlungselement | |
EP0133577B1 (de) | Datenübertragungsverfahren in einem digitalen Übertragungsnetzwerk und Vorrichtung zur Durchführung des Verfahrens | |
WO2003028306A1 (de) | Verfahren zur erzeugung einer statischen adresstabelle und datennetz | |
DE10330596A1 (de) | Zuordnung von Stationsadressen zu Kommunikationsteilnehmern in einem Bussystem | |
EP0562353A2 (de) | Verfahren zum Übertragen hochpriorer Programme und Daten in einem Kommunikationssystem | |
DE19921359C2 (de) | Datenübertragungssystem mit bidirektionaler Datenburstübertragung zwischen einer Zentrale und mindestens einer an einen Bus angeschlossenen Busstation | |
DE2348002B2 (de) | Modular aufgebaute datenverarbeitungsanlage mit einer anzahl von gleichartigen prozessoren fuer die datenein-/ausgabe | |
EP1547348B1 (de) | Verfahren und vorrichtung zur steuerung eines druckers oder kopierers durch zugriff auf datenobjekte mit hilfe von den datenobjekten zugeordneten netzwerkadressen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: H04L 29/02 |
|
8304 | Grant after examination procedure | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |