DE3890947C2 - Netzwerk und Verfahren zur Nachrichtenübertragung - Google Patents
Netzwerk und Verfahren zur NachrichtenübertragungInfo
- Publication number
- DE3890947C2 DE3890947C2 DE3890947A DE3890947A DE3890947C2 DE 3890947 C2 DE3890947 C2 DE 3890947C2 DE 3890947 A DE3890947 A DE 3890947A DE 3890947 A DE3890947 A DE 3890947A DE 3890947 C2 DE3890947 C2 DE 3890947C2
- Authority
- DE
- Germany
- Prior art keywords
- cell
- group
- bits
- cells
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C15/00—Arrangements characterised by the use of multiplexing for the transmission of a plurality of signals over a common path
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J13/00—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network
- H02J13/00004—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by the power network being locally controlled
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J13/00—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network
- H02J13/00006—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment
- H02J13/00007—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment using the power network as support for the transmission
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J13/00—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network
- H02J13/00006—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment
- H02J13/00028—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment involving the use of Internet protocols
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B47/00—Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
- H05B47/10—Controlling the light source
- H05B47/155—Coordinated control of two or more light sources
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J2310/00—The network for supplying or distributing electric power characterised by its spatial reach or by the load
- H02J2310/10—The network having a local or delimited stationary reach
- H02J2310/12—The local stationary network supplying a household or a building
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B20/00—Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps
- Y02B20/40—Control techniques providing energy savings, e.g. smart controller or presence detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B90/00—Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
- Y02B90/20—Smart grids as enabling technology in buildings sector
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/12—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them characterised by data transport means between the monitoring, controlling or managing units and monitored, controlled or operated electrical equipment
- Y04S40/121—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them characterised by data transport means between the monitoring, controlling or managing units and monitored, controlled or operated electrical equipment using the power network as support for the transmission
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Exchange Systems With Centralized Control (AREA)
Description
Die Erfindung bezieht sich auf ein Netzwerk zur Meßwertaufnahme,
Kommunikation und Steuerung nach dem Oberbegriff des
Anspruchs 1 sowie auf ein Verfahren zur Nachrichtenübertragung
nach dem Oberbegriff des Anspruchs 4.
Es gibt viele kommerziell verfügbare Produkte zur Meßwerterfassung,
Steuerung und Datenübertragung in einer Netzwerkumgebung.
Diese Produkte reichen von sehr kostspieligen, ausgeklügelten
Systemen bis zu einfachen Systemen mit geringer Intelligenz.
Beispielsweise ist ein vorrangig für die Datenkommunikation
ausgelegtes Netzwerk in EP 0 074 865 A2 beschrieben. Bei diesem
bekannten Netzwerk ist die Steuerung der Nachrichtenübertragung
über das Netzwerk verteilt, d. h. alle Teilnehmer übernehmen
Steuerungsaufgaben; ein zentrales Steuergerät entfällt. Obwohl
verschiedene Übertragungsmedien (Koaxialkabel, Lichtleiter)
möglich sind, sind im jeweiligen Netzwerk alle Teilnehmer an
ein gemeinsames Übertragungsmedium gekoppelt.
Ein anderes im Handel erhältliches Netzwerksystem "X-10" (Dave
Rye, "The X-10 Powerhouse Universal Interface", 20. November
1986) sorgt für eine Steuerung beispielsweise zwischen einem
Lichtschalter und einer Lichtquelle. Wenn der Lichtschalter betätigt
wird, wird ein Codemuster über die Energieleitungen zu
einem lichtseitig angeordneten Empfänger übertragen. Das Codemuster
wird zweimal übertragen, einmal in seiner wahren Form
und einmal in seiner komplementären Form. Bei Empfang des Codes
durch den Empfänger wird der Code übersetzt und dadurch zur
Steuerung des Lichtes verwendet. Mechanische Adressiermittel
dienen dazu, dem Sender auf der Schalterseite die Herstellung
einer Verbindung mit einem speziellen, gewählten Empfänger auf
der Lichtseite zu ermöglichen.
Der Erfindung liegt die Aufgabe zugrunde, ein Netzwerk zur Meßwerterfassung,
Kommunikation und Steuerung zu schaffen, das
eine größere Flexibilität aufweist und insbesondere die Verwendung
unterschiedlicher Übertragungsmedien in einem Netz gestattet.
Zur Lösung dieser Aufgabe sieht die Erfindung die Merkmale des
Patentanspruchs 1 bzw. 4 vor.
Eine Mehrzahl von intelligenten Zellen, von denen jede eine integrierte
Schaltung mit einem Prozessor und einem Eingabe/Ausgabeabschnitt
aufweist, sind mit dem erfindungsgemäßen
Netzwerk gekoppelt. Jede der programmierbaren Zellen erhält bei
der Herstellung eine besondere Identifizierungsnummer (48
Bits), die in der Zelle permanent erhalten bleibt. Die Zellen
können mit verschiedenen Medien, beispielsweise Strom- bzw.
Versorgungsleitungen, einem verdrillten Leitungspaar, Hochfrequenz-,
Infrarot-, Ultraschall-, optischen und Koaxialleitungen
usw. zur Bildung eines Netzwerks gekoppelt sein.
In einem Netzwerk können gleichzeitig verschiedene Übertragungsmedien
verwendet werden. Mit jedem Übertragungsmedium kann
eine Mehrzahl von Zellen gekoppelt sein. Zwischen jeweils zwei
Übertragungsmedien befindet sich eine Gateway-Zelle, die die
Nachrichten aus dem einen Übertragungsmedium liest und sie in
das andere Medium neu sendet, d. h. wiederholt.
In einem Netzwerk werden Gruppen von Zellen zur Ausführung spezieller
Funktionen (z. B. Beleuchtung, Heizung, Meßaufgabe) gebildet
und durch Gruppen-ID's identifiziert. Kommunikationen
innerhalb des Netzwerks finden durch Verwendung der Gruppen-
und Zellen-ID's statt. Einigen Zellen (Annoncierern) sind Meß-
bzw. Fühlerfunktionen, beispielsweise die Funktion eines Schalters
zugewiesen, und anderen (Hörern bzw. Empfängern) die Aufgaben
des Steuerns, beispielsweise des Steuerns eines Lichts.
Zellen können mehrere Aufgaben erfüllen und Mitglieder mehrerer
Gruppen sein; sie können beispielsweise als Wiederholer für
eine Gruppe und als Empfänger für eine andere Gruppe dienen.
Bei der Herstellung sind die Zellen, mit Ausnahme der Zellen-ID,
übereinstimmend ausgebildet; sie werden zur Ausführung spezieller
Aufgaben für eine spezielle Gruppe oder mehrere Gruppen
programmiert. Sind die Zellen an unterschiedlichen Übertragungsmedien
des Netzwerks einer Gruppe zugeordnet, so befindet
sich zwischen den Übertragungsmedien zumindest eine mit zwei
Medien gekoppelte Gateway-Zelle, die ebenfalls mit dem Gruppen-ID
versehen ist und als Wiederholer ausgebildet ist. Das Wiederholen
einer von einer Gruppen-Zelle des einen Übertragungsmediums
gesendeten Nachricht durch die Gateway-Zelle ermöglicht
den Empfang der Nachricht durch eine mit dem anderen Medium gekoppelten
Gruppe-Zelle.
Ein Netzwerkprotokoll sorgt für große Flexibilität und ermöglicht
beispielsweise die Bildung und/oder Änderung von Gruppen
nach dem Einbau der Zellen. Wie zu sehen sein wird, ist die Intelligenz
für das Netzwerk unter den Zellen verteilt. Generell
ist das Netzwerk gering belastet, obwohl Maßnahmen zum Beherrschen
von konkurrierenden und anderen Bedingungen getroffen
sind. Die Kommunikation zwischen den Zellen ist generell zur
Ausführung der den Gruppen zugewiesenen Funktionen und nicht
für die Übertragung von Daten ohne Beziehung zur Steuerfunktion
des Netzwerks optimiert. Aus diesem Grund sind die Nachrichten
führenden Pakete relativ kurz im Vergleich zu Ethernet, Arpa,
AppleTalk, X-25 und vielen anderen Breitband- und Datenübertragungssystemen.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen
gekennzeichnet.
Im folgenden wird die Erfindung anhand von in der Zeichnung
dargestellten Ausführungsbeispielen detailliert beschrieben.
Fig. 1 ist ein Blockschaltbild, das eine typische Anwendung
der Erfindung veranschaulicht.
Fig. 2 ist ein Diagramm zur Veranschaulichung der Gruppenbildung
von Zellen.
Fig. 3 ist ein anderes Blockdiagramm ähnlich demjenigen
gemäß Fig. 2 zur Veranschaulichung der Gruppenbildung
von Zellen.
Fig. 4 ist ein Diagramm zur Beschreibung von Unterkanälen.
Fig. 5 ist ein Diagramm mit mehreren Zellen zur Beschreibung
der Zellengruppenbildung unter Verwendung
der vorliegenden Erfindung.
Fig. 6 ist ein Diagramm zur Veranschaulichung des bei
der Erfindung verwendeten Paketformats.
Fig. 7 ist ein Diagramm zur Veranschaulichung des Bezeichnungslistenabschnitts
des Paketformats
gemäß Fig. 6.
Fig. 8 zeigt eine Folge von Schritten, die bei der
Bildung einer Gruppe von Zellen bei der Erfindung
verwendet werden.
Fig. 9 ist eine Tabelle zur Veranschaulichung der Codezuweisungen
für die bei der Erfindung verwendete
3-aus-6-Codierung.
Fig. 10 ist ein Blockschaltbild der Kommunikations- und
Steuerzelle.
Fig. 11 ist ein Blockschaltbild eines Teils der Befehlsdecodierlogik,
wie sie in dem Prozessor der
Zelle gemäß Fig. 10 Verwendung findet.
Fig. 12 ist ein Detail-Blockschaltbild des Prozessors
gemäß Fig. 10.
Fig. 13 ist ein Zeitdiagramm für den Prozessor gemäß
Fig. 10; dieses Diagramm zeigt Latch-Schaltungen
und Register zur Erzeugung der Pipeline-Operation,
die in den Zellen verwendet wird.
Fig. 14 ist ein Blockschaltbild zur Veranschaulichung
des bevorzugten Ausführungsbeispiels des 3-aus-6-Codierers.
Fig. 15 ist ein Blockschaltbild, das das bevorzugte
Ausführungsbeispiel des 3-aus-6-Decodierers
zeigt.
Fig. 16 ist ein Blockschaltbild, das das bevorzugte Ausführungsbeispiel
des 3-aus-6-Code-Verifizierers
zeigt.
Fig. 17 ist ein elektrisches Schaltbild des Pufferabschnitts
eines der I/O-Abschnitte.
Fig. 18 ist ein elektrisches Schaltbild der die Zähl-
und Zeitgabefunktionen für einen I/O-Unterabschnitt
bewirkenden Komponenten.
Fig. 19 ist ein schematisches elektrisches Schaltbild
der Steuer- und Zustandsmaschine für einen
I/O-Abschnitt.
Fig. 20 ist ein schematisches elektrisches Schaltbild
der Abtast- und Halteschaltung, die den I/O-Unterabschnitten
zugeordnet ist.
Fig. 21 zeigt das innerhalb eines I/O-Unterabschnitts
zur Ausführung der Digital/Analog-Wandlung gebildete
Netzwerk.
Fig. 22 zeigt das innerhalb eines I/O-Abbschnitts zur
Analog/Digital-Wandlung gebildete Netzwerk.
Fig. 23 ist ein schematisches elektrisches Schaltbild,
das den Kommunikationsteil eines I/O-Unterabschnitts
zeigt.
Fig. 24 ist ein Zustandsdiagramm, das für die I/O-Unterabschnitte
und für die Übertragungskonkurrenzen
benutzt wird.
Fig. 25 ist ein Zustandsdiagramm für das Verknüpfungsniveau
ARQ.
Fig. 26 ist ein Zustandsdiagramm für Primärstationsverbindungen.
Fig. 27 ist ein Zustandsdiagramm für Sekundärstationsverbindungen.
Fig. 28 ist ein Blocckschaltbild für eine Gruppiereinrichtung.
Fig. 29 ist ein Diagramm zur Veranschaulichung der Form,
in der die System-ID zur Übertragung durch das
Paket und innerhalb einer Zelle codiert wird.
Fig. 30 ist ein Diagramm zur Beschreibung der Operationsweise
des Eingabe/Ausgabe(I/O)-Abschnitts
und des Semaphor-Registers.
Beschrieben werden eine Einrichtung und ein Verfahren zu Kommunikations-,
Erfassungs-, Meß- und Steuerzwecken in einem
Netzwerk. Soweit das Netzwerk mehrere intelligente Zellen
enthält, sind die Zellen generell als programmierbare Einchip-Fernwirk-,
Erfassungs-, Meß- und Kommunikationsgeräte
ausgebildet, die bei Zusammenschluß (über verschiedene Medien)
mit anderen Zellen verteilte Erfassungs-, Kommunikations-,
Steuer- und Netzwerkskonfigurationsintelligenz, Konfiguration
und Steuerung haben. Das System weist ein Netzwerk von Zellen
auf, das in einer nach den Kommunikationsbedürfnissen ausgerichteten
Hierarchie organisiert ist. Zellen werden in Arbeits"gruppen"
unabhängig von der Netzwerkhierarchie organisiert.
Zellengruppen dienen generell der Ausführung einer
Gruppenfunktion. Diese Funktion wird durch Zuordnung von Aufgaben
zu den Zellen innerhalb der Gruppen erfüllt. Zellen
kommunizieren, steuern und tasten Informationen ab. Generell
hat jede Zelle eine besondere Identifizierungsnummer und führt
Informationsverarbeitungsaufgaben, wie: bidirektionelle Kommunikationsprotokolle,
Eingabe/Ausgabe-Operationen, Paketverarbeitung
und analoge und digitale Meß- und Steuerfunktionen
aus. Generell hat das aus den Zellen aufgebaute System die
Charakteristik eines Speichernetzwerks und konfiguriert Information,
die über das System verteilt sind; und vermittelt
automatisch Nachrichten unter den Zellen. Jedes System hat
auch eine besondere Identifizierung (ID), die bei dem derzeit
bevorzugten Ausführungsbeispiel 48 Bits ist. Sie enthält vielseitige
programmierbare Eingabe/Ausgabe(I/O)-Schaltungen mit
digitaler vielseitiger Programmierung zur Konfigurierung von
Zellen für die speziellen Meß-, Erfassungs-, Kommunikations-,
Steuer- und I/O-, analoge I/O-, Kommunikations-I/O- und Kommunikations-
Bitfrequenzabtastungs-Operationen.
In der folgenden Beschreibung sind zahlreiche spezielle Einzelheiten,
wie spezielle Frequenzen usw. angegeben, um das
Verständnis für die vorliegende Erfindung zu vertiefen. Es ist
jedoch für den Fachmann klar, daß diese Details zur Realisierung
der Erfindung nicht erforderlich sind. In anderen Fällen
sind bekannte Schaltungen, Verfahren u. dgl. nicht im einzelnen
angegeben, um die Erfindung nicht mit unnötigem Detail zu
belasten.
Bevor ein Ausführungsbeispiel der Erfindung im einzelnen beschrieben wird, hilft eine
typische Anwendung zum Verständnis der Einzelheiten. In Fig. 1
ist eine einfache typische Anwendung auf der Basis der Verwendung
der Erfindung in einem Heim gezeigt. In Fig. 1 dient der
Schalter 22 mit Unterstützung der Erfindung zur Steuerung
einer Lichtquelle 23.
Die Anordnung 20 weist eine Zelle 27 auf, die mit dem Schalter
22 verbunden ist. Die Zelle ist außerdem mit einem Sendeempfänger
29 verbunden, der Daten auf die Leitungen 24 und 25
gibt. Betrieben werden der Sendeempfänger 29 und die Zelle 27 aus
einer Stromversorgung 30, die Strom über die Leitungen 24 und
25 erhält. Bei diesem Beispiel sind die Leitungen 24 und 25
übliche Haushaltsleitungen (z. B. 110 V Wechselstrom), während
die Stromversorgung 30 eine 5 V-Gleichstromquelle ist. Die
Zelle 27 ist vorzugsweise als integrierte Schaltung ausgebildet,
deren Aufbau unter Bezugnahme auf Fig. 10 genauer beschrieben
werden wird. Der Sendeempfänger 29 kann eines von
vielen bekannten Bauelementen sein, die digitale Daten empfangen
und senden können; in der derzeitigen Betrachtung führt er
keine Datenverarbeitung an gesendeten Daten durch. Die
Anordnung 20 kann genügend klein ausgebildet sein, so daß sie
in eine übliche elektrische Wanddose paßt, die normalerweise
einen elektrischen Schalter enthält.
Die Anordnung 21 andererseits kann genügend klein ausgebildet
sein, daß sie in eine typische elektrische Auslaßdose paßt,
und sie weist eine Stromversorgung 31 und einen Sendeempfänger
33 auf, die der Stromversorgung 30 bzw. dem Sendeempfänger 29
identisch ausgebildet sein können. Eine Zelle 28 ist mit dem
Sendeempfänger 30 und der Stromversorgung 29 sowie mit einem
solenoidbetätigten Leistungsschalter 32 verbunden. Die Zelle
28 kann im Aufbau identisch mit der Zelle 27 sein, ausgenommen
ihrer Programmierung und einer Identifizierungsnummer, die
weiter unten beschrieben werden. Ein Ausgangssignal der Zelle
28 steuert den Solenoid 32 zur Betätigung des Leistungsschalters,
der wiederum mit der Lichtquelle 23 über Stromleitungen
34 und 35 verbunden ist. Wie zu sehen sein wird, kann die
Zelle 28 ein digitales oder analoges Ausgangssignal liefern,
das einen in der Zeichnung nicht gezeigten Rheostaten o. dgl.
und damit das Dimmen der Lichtquelle 23 steuern kann.
Die Unterbrechung 26 in den Versorgungsleitungen 24 und 25
soll anzeigen, daß die Versorgungsleitungen 24 und 25 nicht
notwendigerweise in derselben Schaltung wie die Versorgungsleitungen
34 oder 35 eingebunden sind. Wie zu sehen sein wird,
braucht der Sendeempfänger 29 nicht notwendigerweise direkt
mit dem Sendeempfänger 33 kommunizieren, sondern zwischen den
Sendeempfängern kann eine Kopplung über eine andere Zelle und
einen anderen Sendeempfänger bestehen, der zwischen den Systemen
20 und 21 übertragene Pakete wiederholt.
In Fig. 1 kommunizieren die Sendeempfänger 29 und 33 über
Stromversorgungsleitungen. Die Sendeempfänger können miteinander
in zahlreicher verschiedener Weise und über zahlreiche
Medien und mit jeder Baurate kommunizieren. Sie können beispielsweise
jeweils Hochfrequenz- oder Mikrowellensignale über
Antennen senden und empfangen. Die Sendeempfänger könnten auch
an Nachrichtenleitungen, beispielsweise an gewöhnliche Litzen
oder Faseroptikkabel angebunden sein und daher unabhängig von
den Stromversorgungsleitungen miteinander in Verbindung treten.
Andere bekannte Kommunikationsmedien können zur Verbindung
der Sendeempfänger ebenfalls eingesetzt werden, so beispielsweise
Infrarot- oder Ultraschallübertragungen. Typische
Sendegeschwindigkeiten liegen bei 10 k-Bits pro Sekunde (KBPS)
für Versorgungsleitungen. Wesentlich höhere Sendefrequenzen
bzw. -geschwindigkeiten sind bei Hochfrequenz-, Infrarot-,
verdrillten Leitungspaaren, faseroptischen Verbindungen und
anderen Medien möglich.
Die Zelle 27 erfaßt das Öffnen oder Schließen des Schalters 22
und bereitet dann ein Paket vor, das eine den Zustand des
Schalters 22 auslösende Nachricht enthält; das Paket wird über
den Sendeempfänger 29, Leitungen 24 und 25, Leitungen 34 und
35 und den Sendeempfänger 33 zur Zelle 28 übertragen. Die
Zelle 28 bestätigt die Nachricht durch Zurückschicken eines
Pakets zur Zelle 27 und agiert entsprechend der empfangenen
Nachricht, indem sie das Licht 23 unter
Betätigung des solenoidgesteuerten Leistungsschalters 32 ein- oder ausschaltet.
Jede Zelle hat eine spezielle 48-Bit-Identifizierungsnummer
(ID-Nummer), die manchmal als Zellenadresse bezeichnet wird.
Bei dem beschriebenen Ausführungsbeispiel erhält jede Zelle
bereits als Teil des Herstellungsprozesses diese permanente
und spezielle ID-Nummer. (Sie kann nach der Herstellung nicht
mehr geändert werden.) Wie noch verständlich werden wird, hat
bei 2⁴⁸ möglichen ID-Nummern jede Zelle ihre besondere ID-Nummer,
und zwar unabhängig davon, wie groß ein Netzwerk aus
praktischen Gründen wird oder wie viele Netzwerke miteinander
verknüpft sind. Das Gruppiergerät greift dann auf die einzelnen
Zellen-ID's zu und weist jeder Zelle eine System-ID zu.
Außerdem konfiguriert das Gruppenbildungsgerät die Zellen in
Gruppen zur Durchführung von gruppenbezogenen Funktionen.
Für die Darstellung der Fig. 1 ist Zelle 27 als "A" bezeichnet,
um anzugeben, daß ihre primäre Funktion im "Annoncieren"
liegt, d. h. in der Übertragung des Zustandes des Schalters 22
an die Netzwerk-Kommunikationsleitungen 24 und 25 und 34 und
35. Andererseits ist Zelle 28 mit dem Buchstaben "L" bezeichnet,
da ihre primäre Funktion bei der Anordnung gemäß Fig. 1
im "Hören" ("Listening") auf das Netzwerk und insbesondere im
Hören auf Nachrichten von Zelle 27 liegt. In nachfolgenden
Figuren weren die Bezeichnungen "A" und "L" insbesondere in
Verbindung mit einer Gruppenbildung mehrerer Zellen zum Angeben
einer Annoncieranordnung, wie der Anordnung 20, und einer
Hörer- bzw. Empfängeranordnung, wie die Anordnung 21, verwendet.
Zum Zwecke der Erörterung sind die Zellen selbst manchmal als
datensendend oder -empfangend ohne Bezugnahme auf Sendeempfänger
bezeichnet. (In einigen Fällen können die Sendeempfänger
als einfaches passives Netzwerk oder einfache Drähte
ausgebildet sein, welche die Eingangs/Ausgangs-Signale einer
Zelle auf eine Leitung koppeln. Wie zu sehen sein wird, kann
der I/O-Abschnitt der Zellen Ausgangssignale liefern, welche
ein verdrilltes Leitungspaar o. dgl. zu treiben geeignet sind.
Daher können die Zellen selbst als Sendeempfänger für einige
Medien dienen.)
Die Zellen 27 und 28 sind, wie nachfolgend noch beschrieben
werden wird, Prozessoren mit Multiprozessorattributen. Sie
können vor oder nach der Installation zur Durchführung ihrer
gewünschten Funktionen, beispielsweise als Annoncierer oder
Hörer (Empfänger) und zum Gruppieren von Kombinationen programmiert
werden.
Eine Zelle ist ein intelligentes, programmierbares
Element oder eine Gruppe von Elementen zum Fernwirken, Messen
bzw. Erfassen und/oder zu kommunikationstechnischen Zwecken;
sie bildet bei Verbindung mit anderen ähnlichen Elementen ein
Kommunikations-, Steuer- und Meßnetzwerk oder -system mit
verteilter Intelligenz.
Ein Annoncierer ist eine Quelle von Gruppennachrichten.
Ein Hörer ist eine Senke von Gruppennachrichten.
(In einigen Fällen kann ein Annoncierer Zustandsinformationen
von einem Hörer anfordern.)
Ein Wiederholer ist eine Zelle, die neben dem Ausführen
anderer Funktionen Pakete aus einem Medium liest und sie
neu sendet.
Ein Satz von Zellen, die für eine gemeinsame Funktion
zusammenarbeiten (beispielsweise ein Schalter, der eine
Gruppe von Lichtquellen steuert) wird als "Gruppe" bezeichnet.
In Fig. 2 hat die Gruppe 37 einen Annoncierer 37a, Hörer 37b
und 37c und einen Hörer 40. Fig. 2 zeigt, daß eine Einzelzelle
(Zelle 40) Hörer in zwei Gruppen sein kann. Wenn Annoncierer
37a eine Lichtschaltfunktion hat, kann er Lichtquellen
durch Zellen 37b, 37c und 40 steuern. In ähnlicher Weise kann
ein einem Annoncierer 38a zugeordneter Schalter Lichtquellen
über Zellen 37c, 37b und 40 steuern.
In Fig. 3 umfaßt eine Gruppe 42 Annoncierer 44, 45 und Hörer
46 und 47. Die Gruppe 43 teilt die Zelle 44 mit der Gruppe 42;
Zelle 44 ist jedoch für die Gruppe 43 ein Hörer. Die Gruppe 41
teilt die Zelle 47 mit der Gruppe 42; Zelle 47 ist jedoch für
die Gruppe 41 ein Annoncierer und kann beispielsweise dem
Hörer 48 der Gruppe 41 annoncieren. Zelle 47 arbeitet auch für
die Gruppe 42 als Hörer. Eine Einzelzelle kann, wie gezeigt
wurde, für eine Gruppe ein Annoncierer und für eine andere
Gruppe ein Hörer sein (Zellen werden zur Durchführung dieser
Funktionen programmiert, wie weiter unten noch erläutert werden
wird). Derzeit wird davon ausgegangen, daß eine Zelle
nicht für mehr als eine Gruppe annoncieren kann.
(Bei dem derzeit bevorzugten Ausführungsbeispiel hat jede
Zelle drei Eingangs/Ausgangsleitungspaare und eine Auswahlleitung.
Jedes Paar teilt sich eine gemeinsame Gruppe von
Ressourcen bzw. Betriebsmitteln. Die Leitungen können für einige
Funktionen unabhängig benutzt werden, solange dies nicht in
Widerspruch steht zu den erforderlichen gemeinsamen Ressourcen.
Für andere Funktionen können die Leitungen paarweise verwendet
werden. In diesem Beispiel sind zwei Leitungen von der Zelle
27 mit einem Lichtschalter gekoppelt, und ein anderes Paar wird
zu Kommunikationszwecken mit dem Annoncierer, der Zelle 27,
verwendet.)
In Fig. 4 ist eine erste Anzahl von Zellen gezeigt,
die über ein gemeinsames Medium, beispielsweise ein
verdrilltes Leiterpaar 50 miteinander in Verbindung stehen
(Zellen sind als "C", Annoncierer als "A" und Hörer als "L"
gezeigt). Diese Anordnung (z. B. Zellen in Zuordnung zu dem verdrillten
Leitungspaar 50) wird als ein Unterkanal definiert,
d. h. eine Gruppe von Zellen, die alle über dasselbe Medium
direkt miteinander in Verbindung stehen. Eine Sendung eines
Gliedes des Unterkanals, beispielsweise der Zelle 49, wird von
allen Gliedern des Unterkanals über das verdrillte Leitungspaar
gehört.
Ein Kanal weist zwei oder mehrere Unterkanäle auf, wobei
die Zellen unter Verwendung desselben Mediums kommunizieren.
In Fig. 4 ist eine andere Anzahl von Zellen gezeigt, die mit
dem verdrillten Leitungspaar 52 gekoppelt sind und einen
Unterkanal bilden. Es sei angenommen, daß die Zellen 56
und 57 über ein verdrilltes Leitungspaar 72 miteinander in
Verbindung stehen. Sie bilden wiederum einen weiteren Unterkanal.
Die den verdrillten Paaren 50, 52 und 72 zugeordneten
Zellen bilden einen einzigen Kanal. Es ist möglich, daß die
verdrillten Paare 50, 52 und 72 aus einem durchlaufenden verdrillten
Leitungspaar bestehen, wobei ein Unterkanal 50 so weit
entfernt von dem zweiten Unterkanal 52 ist, daß die Kommunikation
zwischen den Unterkanälen nur über den Teil des verdrillten
Leitungspaars 72 erfolgt, der zwischen den Zellen 56
und 57 verläuft. In diesem Falle sind die Zellen 56 und 57 als
"Wiederholer" ausgewiesen, zusätzlich zu ihrer beliebigen
anderen Funktion, die sie noch zu erfüllen haben können (z. B.
Annoncierer oder Hörer).
In Fig. 4 ist eine Gruppe 55 dargestellt, die einen Annoncierer
und einen Hörer in zwei unterschiedlichen Unterkanälen
enthält. Eine andere Gruppe 75 ist dargestellt, die einen
Annoncierer in einem Unterkanal 51 und einen Hörer in dem
Unterkanal 52 enthält, wobei die Unterkanäle nicht zum gleichen
Kanal gehören, da sie unterschiedliche Medien benutzen.
Ein Gateway liest Pakete aus zwei unterschiedlichen
Medien und sendet sie neu. Eine Zelle kann ein Gateway sein.
Kommunikationen zwischen Kanälen finden über ein Gateway 54
statt.
In Fig. 4 ist ein zusätzlicher Unterkanal, der die Zelle 58
enthält, mit einem anderen Medium 51, beispielsweise mit einer
gemeinsamen Netzleitung verbunden. Die Zelle 58 ist mit dem
Kanal-Gateway 54 verbunden, das seinerseits mit dem verdrillten
Leitungspaar 52 in Verbindung steht. Das Gateway 54 führt
nicht notwendigerweise eine Annoncier- oder Hörerfunktion aus,
sondern erfüllt bei dem beschriebenen Ausführungsbeispiel
lediglich die Funktion eines Kanalgateways zur Herstellung
einer Verbindung zwischen zwei verschiedenen Medien.
Ein Unternetzwerk enthält alle Zellen mit
derselben Systemidentifizierung (System-ID). Beispielsweise
können alle Zellen in einem Einfamilienhaus dieselbe System-ID haben.
Daher können die Kanäle gemäß Fig. 4 Bestandteil desselben
Unternetzwerks sein, da sie sich in dieselbe System-ID teilen.
Ein Vollnetzwerk kann mehrere Unternetzwerke
mit jeweils unterschiedlichen System-ID's aufweisen; ein Kommunikationsprozessor
dient zum Austausch von Paketen zwischen
den Unternetzwerken. Der Kommunikationsprozessor übersetzt
Pakete unter Änderung ihrer System-ID, ihrer Adressierung und anderer
Informationen. Zwei Fabrikgebäude können jeweils ihre eigenen
System-ID's haben; jedoch dient eine Steuerung zwischen den
beiden zur Änderung von System-ID's. (Das Wort "Netzwerk" wird
hier im allgemeineren Sinne verwendet und bezieht sich daher
auch auf andere als ein "Vollnetzwerk" in der vorstehenden
Definition.)
Andere weiter unten benutzte Ausdrücke sind:
Ein Paket, welches Leitweginformationen
bei seiner Bewegung durch das Netzwerk sammelt.
Ein Gerät, welches die Feststellung von
Routen unter Zellen steuert, Zellen den Gruppen zuweist und
Gruppenmitgliedern Funktionen zuordnet.
Der Zustand, der dann existiert, wenn zwei oder
mehr Zellen auf demselben Unterkanal gleichzeitig zu senden
versuchen, und ihre Signale kollidieren.
Es sei angenommen, daß die in Fig. 5 gezeigte Mehrzahl von
Zellen so angeschlossen sind, daß sie über die Hausstromversorgungsnetzleitungen
in Verbindung stehen und Bestandteil desselben Kanals
sind. Es sei ferner angenommen, daß eine Zelle, Annoncierer
60, in eine Gruppe mit dem Hörer 65 gebracht werden soll. Die
Leitungen zwischen den Zellen, wie die Leitung 59, geben an,
welche der Zellen direkt miteinander in Verbindung treten
können; beispielsweise können der Annoncierer 60 und die Zelle
61 miteinander kommunizieren. (Zellen 61, 62, 63, 64 und 66
können selbstverständlich Annoncierer oder Hörer in anderen
Gruppen sein; zum Zwecke der Erläuterung sind sie jedoch in
Fig. 5 als "C" gezeigt.) Da Annoncierer 60 und Zellen 61, 62
und 63 alle miteinander in Verbindung stehen, befinden sie
sich auf demselben Unterkanal. In ähnlicher Weise bilden Zellen
62, 64, 65 und 66 einen anderen Unterkanal. (Es gibt weitere
Unterkanäle in der Konfiguration gemäß Fig. 5.) Wichtig
ist jedoch, daß der Annoncierer 60 und der Hörer 65 in unterschiedlichen
Unterkanälen des Kanals gemäß Fig. 5 sind, und
daß es verschiedene Wege gibt, über die eine Nachricht vom
Annoncierer 60 zum Hörer 65 geleitet werden kann, so beispielsweise
über die Zellen 61 und 64 oder über die Zellen 62
und 64 usw.
Obwohl alle Zellen sich an demselben Stromversorgungsnetz eines Hauses
befinden, ist zu beachten, daß sie nicht direkt miteinander zu
kommunizieren brauchen. So kann beispielsweise der Annoncierer
60 in einem Schaltkreis liegen, der nur mit dem Hörer 65 über
lange Leitungswege, die über die Länge eines Hauses laufen,
und einen niederohmigen Bustreiber einer Unterbrechertafel
gekoppelt sein. Die Hochfrequenznachrichten können über diesen
Weg ausreichend gedämpft sein, um direkte Verbindungen zwischen
den Zellen zu verhindern, obwohl letztere physikalisch
eng zusammen sind.
Für die folgende Beschreibung wird angenommen, daß jede der
Zellen ohne Störung des Sendebetriebs anderer Zellen senden
kann. Dies bedeutet, daß Nachrichten einander nicht stören.
Der Fall, bei dem eine gewisse Konkurrenz auftritt, wird unter
dem Protokollabschnitt dieser Anmeldung behandelt.
Bei einem Ausführungsbeispiel wird die aus Annoncierer 60 und
Hörer 65 bestehende Gruppe unter Verwendung der in Fig. 28
gezeigten Gruppiereinrichtung gebildet. Zu beachten ist, daß
vor der Bildung dieser Gruppe der Annoncierer 60 und der Hörer
65 gewöhnliche Zellen ohne Bezeichnung als Annoncierer oder
Hörer sind. Jede Gruppiereinrichtung kann eine besondere 48-
Bit-System-ID zum Zeitpunkt der Herstellung erhalten (bei dem
beschriebenen Beispiel wird eine 48-Bit-Zahl verwendet). Bei
dem bevorzugten Ausführungsbeispiel wird eine Zelle in jede
Gruppiereinrichtung einbezogen. Die Zellen-ID wird die System-ID.
Dies gewährleistet, daß jedes System eine spezielle System-ID
hat. Beispielsweise hat jedes Haus seine eigene "Gruppier"-Einrichtung
und daher seine eigene System-ID für die im
Haus benutzten Unternetzwerke. Diese System-ID wird in Zellenpaketen
für das Unternetzwerk benutzt. Bei diesem Beispiel
stehen der Gruppiereinrichtung die Zellen-ID's der Zellen 60
und 65 zur Verfügung. (Verschiedene Methoden zur Gewinnung von
Zellen-ID's werden weiter unten beschrieben.)
Die Gruppiereinrichtung wird mit Zelle 60 verbunden,
indem sie über eines der drei Paare von Eingabe/Ausgabe(I/O)-Leitungen
der Zelle (oder den Auswahlpin) kommuniziert; und
die Gruppiereinrichtung liest die 48-Bit-ID-Nummer der Zelle
60. (Verschiedene Methoden der Bestimmung der Zellen-ID's
werden im nächsten Abschnitt beschrieben.) Die Gruppiereinrichtung
erzeugt als nächstes eine beliebige Bit-Binärzahl,
die bei dem beschriebenen Ausführungsbeispiel 10 Bits enthält.
Diese Zahl oder Nummer dient als eine Gruppenidentifizierungsnummer
(auch als Gruppenadresse bezeichnet) für die den Annoncierer
60 und den Hörer 65 enthaltende Gruppe. Die Gruppiereinrichtung
überprüft diese Nummer gegenüber anderen Gruppen-ID's,
welche zuvor zugewiesen wurden, um festzustellen, ob
die Gruppen-ID bereits zuvor belegt worden ist. Wenn sie bereits
belegt worden ist, erzeugt sie eine andere Nummer. (Eine
einzelne Gruppiereinrichtung verfolgt beispielsweise alle in
einem Einzelhaus zugeordneten Gruppen-ID's.) Die Gruppiereinrichtung
programmiert die Zelle 60 und bezeichnet sie als
Annoncierer.
Die Gruppiereinrichtung kann den Annoncierer 60 dazu bringen,
die Gruppennummer in einem speziellen Paket zu senden, wodurch
alle Zellen im Netzwerk aufgerufen werden, die Nachricht zu
bestätigen, wenn sie als Mitglied dieser Gruppe bezeichnet worden
sind. Dies ist eine andere Art zum Verifizieren, ob die Gruppen-ID
nicht benutzt worden ist.
Die Gruppiereinrichtung bestimmt jetzt die ID-Nummer der Zelle
65. Dies kann durch Verbinden der Gruppiereinrichtung direkt
mit der Zelle 65 sogar vor der Installation der Zelle oder
durch andere, im nächsten Abschnitt erörterte Methoden geschehen.
(Einer Zelle und einer Gruppe können ASCII-Namen zugeordnet
werden, beispielsweise "Eingangslicht" (Zellenname) und
"Außenlichter" (Gruppenname). Dies ermöglicht die Auswahl von
Zellen-ID's oder Gruppen-ID's durch Zugriff auf den ASCII-Namen.
Jetzt veranlaßt die Gruppiereinrichtung den Annoncierer 60 zum
Übertragen eines Sondierpakets. Das Sondierpaket enthält die
ID der Zelle 65. Das Paket weist alle das Paket empfangenden
Zellen zu seiner Wiederholung und die Zelle 65 zur Paketbestätigung
an. Jede das Sondierpaket empfangende Zelle wiederholt
es und addiert zu dem wiederholten Paket ihre eigene ID-Nummer.
Jede Zelle wiederholt das Paket nur einmal (der Mechanismus,
der die Wiederholung eines Sondierpakets mehr als einmal
verhindert, wird später beschrieben).
Die Zelle 65 erhält das Sondierpaket über mehrere Routen bzw.
Wege, einschließlich demjenigen, der im Diagramm als direktester
Weg (über Zelle 62) gezeigt ist, und den längeren Wegen,
beispielsweise über die Zellen 61 und 64. Es sei angenommen,
daß das erste Sondierpaket, das an der Zelle 65 ankommen soll,
die direkteste Route und damit die bevorzugte Route genommen
hat. (Im Beispiel ist dies die Route über Zelle 62.) Zelle 65
erhält ein Paket, welches anzeigt, daß das Sondierpaket von
der Zelle 60 gesendet, von der Zelle 62 wiederholt
und für die Zelle 65 vorgesehen wurde. Die anderen Sondierpakete,
die von der Zelle 65 nach Einlauf des ersten Pakets
empfangen werden, werden von der Zelle 65 verworfen.
Die Zelle 65 überträgt jetzt eine Bestätigung zurück zum Annoncierer
60. Dieses Paket enthält die Route des Sondierpakets
(z. B. wiederholt durch die Zelle 62). Das Paket weist
die Zelle 62 an, das Paket zur Bestätigung seines Empfangs zu
wiederholen.
Nachdem der Annoncierer 60 das Betätigungspaket für die Zelle
65 erhalten hat, stellt er fest, daß die Zelle 62 ein
Wiederholer sein muß. Das Gruppiergerät veranlaßt den
Annoncierer 60, ein Wiederholer-Zuweisungspaket zu senden, das
die spezielle ID-Nummer der Zelle 62, die Gruppennummer und
eine Nachricht enthält, die die Zelle 62 davon informiert, daß
ihr eine Wiederholerfunktion für die Gruppe zugewiesen worden
ist. Dies veranlaßt die Zelle 62, alle Pakete für
diejenige Gruppe zu wiederholen, welche die Annonciererzelle 60
sowie die Zelle 65 enthält. Eine andere Nachricht wird vom
Annoncierer 60 unter Steuerung der Gruppiereinrichtung gesendet und
von der Zelle 62 wiederholt, welche die Zelle 65 als
Hörer bezeichnet und sie veranlaßt, auf Nachrichten für die
Gruppe zu reagieren. (Zelle 65 wird ein Gruppenmitglied.) Die
Gruppiereinrichtung weist Mitgliedern eine Mitgliedsnummer zu,
die von Mitgliedszellen gespeichert wird.
Die oben beschriebene Gruppenbildung ist in Fig. 8 durch die
Schritte oder Blöcke 68 bis 72 veranschaulicht. Block 68
stellt das Senden des Sondierpakets dar (z. B. Zelle 60 sendet
das anfängliche Sondierpaket an alle Zellen). Das Paket
enthält die Adresse einer Zielzelle. Während das Paket das
Netzwerk durchläuft, sammelt es die ID-Nummern der das Paket
wiederholenden Zellen (Block 69). Block 70 zeigt die
Bestätigung (Antwort) auf das Sondierpaket aus der Zielzelle
(z. B. Zelle 65). Dieses Paket schickt die ID-Nummern der in
dem zuerst empfangenen Sondierpaket enthaltenen Wiederholer
zurück. Die Wiederholerzuweisungspakete werden vom Annoncierer
ausgesendet und veranlassen jeden Wiederholer, Pakete für die
Gruppe neu zu senden. Dies ist durch Block 71 dargestellt.
Schließlich wird entsprechend Darstellung in Block 72 die
Zielzelle, beispielsweise Zelle 65, als Hörer gekennzeichnet.
Es kann einige Arten von vor der Installation arbeitenden
Gruppiereinrichtungen geben, siehe z. B. Fig. 28,
in der eine brauchbare Einrichtung gezeigt ist. Eine Art
ist eine Einrichtung, welche herstellerseitig zur
Vorauszuweisung von Zellen zu Gruppen verwendet wird. Eine
andere Art dieser Gruppiereinrichtungen ist eine
solche, welche ein Händler oder ein anderer Zellenvertreiber
zum Zuweisen von Zellen zu Gruppen vor der Installation
verwenden kann.
Eine Gruppiereinrichtung weist eine Zelle einer Gruppe sowie
die Zellenfunktionen für diese Gruppe zu. Die
Gruppiereinrichtung kann außerdem einer Zelle eine System-ID
zuordnen. Die System-ID, die von einer
Vor-Installation-Gruppiereinrichtung zugeordnet worden ist,
ist nicht notwendigerweise eine spezielle System-ID.
(Nach-Installations-Gruppiereinrichtungen weisen eine spezielle
System-ID jedem System zu.)
Ein Verfahren, das von Vor-Installations-Gruppiereinrichtungen
zur Erzeugung einer System-ID verwendet werden kann, besteht
in der Wahl einer System-ID aus einem Bereich der
48-Bit-Adreß- und System-ID-Nummern, die zur Verwendung als
Vorinstallations-System-ID's beiseite gelegt worden sind.
Gerade weil die Zellen-ID's im Bereich von 1-1023 zur
Verwendung als Gruppen-ID's und Gruppenadressen beiseite
gelegt worden sind, können die Zellen-ID's im Bereich von
1024-2047 zur Verwendung als Vorinstallations-System-ID's
beiseite gelegt werden.
Es ist erwünscht, daß Gruppiereinrichtungen und andere
Netzwerk-Steuereinrichtungen in der Lage sind,
Vorinstallations-System-ID's von
Nachinstallations-System-ID's zu unterscheiden. Da
Nachinstallations-System-ID's durch Kopieren einer Zellen-ID
erzeugt werden, sollten Zellen ID's nicht in dem für
Vorinstallations-System-ID's beiseitegelegten Bereich
zugewiesen werden. Daher werden ID-Nummern in diesem Bereich
nicht Zellen als Zellen-ID's zugeordnet.
Zellen können in Sätzen verkauft werden, die herstellerseitig
im voraus einer Gruppe zugeordnet worden sind. Die Art der
Vor-Installations-Gruppiereinrichtung, die herstellerseitig
verwendet wird, weist Zellen dadurch Gruppen zu, daß die
entsprechenden Codes in den nichtflüchtigen Speicher der
Zellen geschrieben werden. Der Benutzer kann einen solchen
Zellensatz installieren, und er wird ohne Zuordnung durch eine
Nach-Installations-Gruppiereinrichtung arbeiten, vorausgesetzt,
daß der Zellensatz über einen einzigen Unterkanal
kommunizieren kann.
Ein Benutzer kann Zellen einer Gruppe zum Zeitpunkt des
Verkaufs oder zu irgendeinem anderen Zeitpunkt vor der
Installation zuordnen. Anders als bei dem zuvor beschriebenen
Fall sind solche Zellen herstellerseitig keinen Gruppen
zugeordnet, und sie werden Zellen ohne Zuordnung genannt.
Zellen ohne Zuordnung haben alle dieselbe System-ID, eine
System-ID-Nummer, die zur Verwendung ausschließlich durch die
Zellen ohne Zuordnung beiseitegelegt worden ist.
Der Benutzer ordnet die Zellen einer Gruppe unter Verwendung
einer Vor-Installation-Gruppiereinrichtung zu, die von der
herstellerseitig benutzten
Vor-Installation-Gruppiereinrichtung verschieden sein kann.
Typischerweise arbeiten solche Gruppiereinrichtungen jeweils an einer
Zelle. Der Bediener weist die Gruppiereinrichtung
an, eine neue Gruppen-ID und System-ID zu erzeugen, und danach
wird jede Zelle ihrerseits mit der Einrichtung verbunden. Der
Operator weist die Gruppiereinrichtung an, eine Zelle einer
Gruppe zuzuordnen, während die Zelle mit der
Gruppiereinrichtung verbunden ist. Die Gruppiereinrichtung
ordnet Zellen dieselbe Gruppen-ID und System-ID zu, bis sie
vom Operator angewiesen wird, eine neue Gruppen-ID und
System-ID zu erzeugen.
Der Benutzer kann so einen Satz von Zellen installieren,
und dieser Satz wird ohne Verwendung einer
Nach-Installation-Gruppiereinrichtung arbeiten, vorausgesetzt,
daß der Zellensatz über einen einzigen Unterkanal
kommunizieren kann.
Zellen ohne Zuordnung können eine Gruppe erzeugen und sich
selbst einer Gruppe nach der Installation in der folgenden
Weise zuordnen.
Die erste Annoncierzelle, die über ihren Sensoreingang (z. B.
Lichtschalter) stimuliert wird, steuert den
Gruppenbildungsprozeß. Sie wählt eine System-ID-Nummer
beliebig aus dem für Vor-Installation-Gruppiereinrichtungen
beiseite gelegten Bereich von System-ID-Nummern. Sie wählt
frei eine Gruppen-ID-Nummer. Sie sendet dann die
Gruppen-ID-Nummer in einem Paket, welches eine Antwort von
allen Zellen anfordert, die Mitglieder dieser Gruppe sind.
Wenn die sendende Zelle derartige Antworten erhält, wählt sie
wiederum frei eine andere Gruppen-ID. Die Zelle setzt diesen
Prozeß der Auswahl einer beliebigen Gruppen-ID und der Prüfung
ihrer Belegung solange fort, bis sie eine Gruppen-ID findet,
die in dem System, in dem sie arbeitet, unbenutzt ist.
Die herstellerseitig programmierte
Vorgabekonfigurationsinformation einer Zelle ohne Zuordnung
identifiziert deren Funktion entweder als Hörer oder als
Annoncierer. Wenn die unzugeordnete Zelle ein Annoncierer ist,
wartet sie auf eine Stimulation ihres Sensoreingangs, und bei
Stimulation sendet die Zelle ein an eine Gruppe adressiertes
Paket.
Wenn eine Zelle ohne Zuweisung ein Hörer ist, hört sie nach
der Betriebsaufnahme auf ein Paket. Die Zelle nimmt die
Gruppen-ID aus dem zuerst von ihr empfangenen Paket auf und
ordnet sich selbst dieser Gruppe zu. die Zelle sendet danach
eine Antwort an die Annonciererzelle. Diese Antwort ist keine
Bestätigung auf ein Paket; sie ist ein Paket, das die Zelle
als Hörer in der Gruppe identifiziert, und dieses Paket muß
vom Annoncierer bestätigt werden. Dies stellt sicher, daß alle
Hörer-Identifikationspakete beim Annoncierer ankommen, selbst
dann, wenn Konkurrenz und Kollisionen im Prozeß bestehen.
Die Zelle, welche die Gruppenannoncierung übertragen hat, baut
eine Liste von Gruppenmitgliedern auf, wenn die Antworten
einlaufen. Sie sendet danach ein Paket an jeden Hörer und
weist dem Hörer eine Gruppenmitgliedsnummer zu.
Unzugeordnete Zellen können zu existierenden Systemen addiert
und einer Gruppe zugeordnet werden, und zwar ähnlich der oben
im Abschnitt 3 diskutierten Methode. Ein Hörer verbindet sich
mit dem System und einer Gruppe nach demselben Verfahren, wie
im Abschnitt 3 erörtert wurde.
In dem obigen Beispiel wartet der Annoncierer auf seine
Stimulation über seinen Sensoreingang. Ein Annoncierer ohne
Zuweisung wartet auf seine erste Sensor-Eingangsstimulation
oder sein erstes empfangenes Paket. Von diesen beiden
Ereignissen bestimmt das zuerst auftretende Ereignis die
nachfolgenden Aktionen der Annonciererzelle.
Wenn die Zelle zuerst stimuliert wird, steuert sie einen
Gruppenbildungsprozeß in der im obigen Beispiel beschriebenen
Weise. Wenn die Annonciererzelle zuerst ein Gruppenpaket
erhält, verbindet sie sich mit dieser Gruppe als Annoncierer.
Sie sendet dann ein Paket an die Konfigurationsinformation
über die Gruppe anfordernden Gruppenannoncierer (Gruppengröße,
Anzahl von Annoncierern usw.) und die Zuordnung einer
Gruppenmitgliedsnummer.
Damit eine Gruppiereinrichtung die zur Bildung einer Gruppe
oder zum Hinzufügen einer Zelle zu einer Gruppe notwendigen
Schritte durchläuft, muß sie die ID's der der Gruppe
hinzuzufügenden Zellen kennen. Die Gruppiereinrichtung benutzt
dann diese Zellen-ID's zum Adressieren von Befehlen an die
Zellen während des Gruppiervorgangs. Die Verfahren, die ein
Benutzer mit einer Gruppiereinrichtung zur Gewinnung der
Zellen-ID's verwenden kann, sind unten aufgelistet. Zu
beachten ist, daß die Fähigkeit einer Gruppiereinrichtung oder
einer anderen Steuereinrichtung zum Kommunizieren mit einer
Zelle in dem folgenden Beispiel durch eventuell verwendete
Sicherheitsprozeduren beschränkt sein kann. Die
Sicherheitsprozeduren, Beschränkungen an Kommunikationen und
Sicherheitsniveaus sind für die Erfindung unkritisch. Bei dem
folgenden Beispiel wird angenommen, daß keine
Sicherheitsprozeduren vorhanden sind. Im besonderen kann es
für eine Gruppiereinrichtung unnmöglich sein, mit installierten
Zellen zu kommunizieren, sofern die Gruppiereinrichtung über
keinen Systemschlüssel (System-ID und Sprachschlüssel)
verfügt.
Die Gruppiereinrichtung kann mit einer I/O-Leitung der
Zellenbaueinheit bzw. des Zellengehäuses verbunden sein und
danach eine die ID der Zelle anfordernde Nachricht
senden. Eine physikalische Verbindung kann zum Finden einer
Zellen-ID entweder vor oder nach Installation der Zelle
verwendet werden. Bekannte Mittel können verwendet werden
(z. B. eine Sicherung oder ein programmierter
Entaktivierungsbefehl), um einem Benutzer die Entaktivierung
dieser Funktion in einer installierten Zelle zum Schutz der
Sicherheit des Systems zu ermöglichen.
Der Benutzer kann die Gruppiereinrichtung oder eine andere
Auswahleinrichtung zum physikalischen Auswählen der Zelle
unter Stimulation eines Zelleneingangspins verwenden, der
dieser Auswahlfunktion dient. Die Gruppiereinrichtung
kommuniziert mit der Zelle über die normalen
Kommunikationsskanäle und sendet eine Nachricht, die die
Antwort aller gewählten Zellen unter Angabe ihrer ID
anfordert. Nur eine Zelle wird ausgewählt, so daß nur diese
Zelle auf die Anforderung antwortet. Eine physikalische
Auswahl kann zum Auffinden einer Zellen-ID entweder vor oder
nach Installation der Zelle verwendet werden. Erneut kann ein
Mittel vorgesehen sein, das einem Benutzer zur Entaktivierung
dieses Merkmals zum Schutz der Sicherheit des Systems
gestattet.
Es sei bei diesem Beispiel angenommen, daß ASCII "Gruppen"-
und "Zellen"-Namen zuvor den Zellen zugeordnet worden sind.
Für diese Methode fordert die Gruppiereinrichtung alle Zellen
in einem System auf, ihre Gruppen- und Zellennamen
(ASCII-Name) anzugeben. Der Benutzer durchläuft die Liste von
Gruppennamen unter Verwendung der Gruppeneinrichtung. Der
Benutzer wählt den Namen der Gruppe aus, von der angenommen
wird, daß sie die Zielzelle enthält. Die Gruppiereinrichtung
gibt die Namen aller Zellen wieder, die zu der Gruppe gehören,
sowie deren zugeordnete Aufgaben (Annoncierer, Hörer,
Wiederholer). Der Benutzer wählt den Namen der Zelle aus, von
der angenommen wird, daß sie die Zielzelle ist.
Wenn die gewählte Zelle ein Annoncierer ist, fordert die
Gruppiereinrichtung den Benutzer auf, den Annoncierer durch
Stimulieren seines Eingangs zu aktivieren. Wenn die Zelle
beispielsweise an einen Lichtschalter angeschlossen ist,
schaltet der Benutzer den Schalter ein und aus. Die Zelle
sendet Annoncierpakete an die Gruppe. Die Gruppiereinrichtung
hört auf den Kommunikationskanal und stellt die Gruppen- und
Mitgliedsnummer oder andere Codes des aktivierten Annoncierers
fest.
Wenn die gewählte Zelle eine Hörerzelle ist, sendet die
Gruppiereinrichtung Pakete an die Zelle (unter Verwendung der
Gruppen- und Mitgliedsnummern zur Adressierung) und befiehlt
ihr die Umschaltung ihres Ausgangs. Wenn die Zelle
beispielsweise ein Licht steuert, so schaltet das Licht ein
und aus. Dies ermöglicht dem Benutzer, festzustellen, daß er
die richtige Zelle ausgewählt hat.
Die Gruppiereinrichtung sendet ein Paket an die Zielzelle
(unter Verwendung von Gruppen- und Mitgliedsnummern zur
Adressierung) mit einem Befehl an die Zielzelle zum
Zurücksenden ihrer Zellen-ID. Die Gruppiereinrichtung kennt
jetzt die Ziel-ID und kann fortfahren mit dem
Gruppenzuordnungsprozeß.
Das Abfragen von Namen dient zum Finden einer Zellen-ID vor
oder nach Installation der Zellen.
Dieses Verfahren findet in einem Netzwerk Verwendung, in welchem
Gruppen- und Zellen-ASCII-Namen zugeordnet worden sind.
Der Benutzer weist die Gruppiereinrichtung an, auf die nächste
Gruppenannoncierung zu warten. Danach stimuliert der Benutzer
den Annoncierer in der interessierenden Gruppe. Wenn beispielsweise
der Annoncierer ein Lichtschalter ist, legt der
Benutzer den Schalter um. Die Gruppiereinrichtung hört das
Annoncierpaket und extrahiert aus diesem die Gruppen-ID.
Der Benutzer kann verifizieren, daß diese Gruppen-ID zur gewünschten
Gruppe gehört, indem er dafür sorgt, daß die Gruppiereinrichtung
Pakete an alle Gruppenhörer sendet, die sie
anweisen, ihre Ausgangsignale umzuschalten. Der Benutzer
stellt fest, daß es die gewünschte Gruppe ist, indem er die
Aktionen der Hörerzellen beobachtet (beispielsweise flackert
das Licht, wenn die Gruppe aus Lichtsteuerungen besteht).
Unter Verwendung dieser Gruppen-ID sendet die Gruppiereinrichtung
jetzt ein Paket an die Gruppe und fordert dazu auf, daß
jede Zelle mit ihrem Zellennamen antwortet, bis die interessierende
Zelle gefunden ist. Der Benutzer wählt diesen Namen,
und die Gruppiereinrichtung, die diese Zellen-ID kennt, kann
mit dem Gruppen-Zuordnungsprozeß fortfahren.
Wenn dies ein Benutzer wählt, kann die ID der Zelle vor dem Fortfahren
mit dem Gruppierungsprozeß verifiziert werden. Das
folgende Verfahren dient zur Verifikation, ob die ID für die
Zielzelle ist.
Wenn die gewählte Zelle ein Annoncierer ist, veranlaßt die
Gruppiereinrichtung den Benutzer, den Annoncierer durch Stimulation
seines Eingangs zu aktivieren. Zum Beispiel: wenn die
Zelle an einen Lichtschalter angeschlossen ist, so schaltet
der Benutzer den Schalter ein und aus. Die Gruppiereinrichtung
ist dann in der Lage, die Gruppenadresse und Mitgliedsnummer
der Zelle festzustellen.
Wenn die ausgewählte Zelle ein Hörer ist, sendet die Gruppiereinrichtung
Pakete an die Zelle (unter Verwendung der Gruppen-
und Mitgliedsnummern zur Adressierung) und weist sie an, ihren
Ausgang umzuschalten. Wenn beispielsweise die Zelle ein Licht
steuert, so flackert das Licht ein und aus. Dies ermöglicht
dem Benutzer festzustellen, daß er die richtige Zelle ausgewählt
hat.
Dieses Verfahren wird in einem Netzwerk verwendet, in welchem
keine Gruppen- oder Zellen-ASCII-Namen, sondern Annoncierer
und Hörer zugeordnet worden sind. Die Gruppiereinrichtung
sendet ein Paket an alle Zellen im Netzwerk und weist jeden
Annoncierer an, ein seine ID enthaltendes Paket bei der nächsten
Stimulation zu senden. Die Gruppiereinrichtung fordert dann
den Benutzer auf, den Annoncierer durch Aktivierung des erfaßten
Geräts zu stimulieren; beispielsweise durch Einschalten eines Lichtschalters
für einen Lichtschalterannoncierer. Da der Benutzer
nur einen Annoncierer stimuliert, erhält die Gruppiereinrichtung
nur ein Paket mit einer Zellen-ID.
Es besteht die Möglichkeit, daß ein anderer Annoncierer gleichzeitig
stimuliert wird. Gegebenenfalls wird ein anderer
Lichtschalter umgelegt, oder ein Temperaturfühler stellt eine Temperaturänderung
fest. Der Benutzer möchte überprüfen, ob
die empfangene ID für die richtige Zelle ist. Um festzustellen,
ob die Zellen-ID die richtige ist, durchläuft der Benutzer
den Annoncier-Stimulationsprozeß ein zweites Mal und verifiziert,
ob die gleichen Ergebnisse auftreten.
Dieses Verfahren wird in einem Netzwerk verwendet, in welchem
keine Gruppen- oder Zellennamen zugewiesen worden sind. Die
Gruppiereinrichtung sendet ein Paket, das als Hörer erscheinende
Zellen auffordert, mit ihrer ID zu antworten. Die Gruppiereinrichtung
muß die Anzahl von antwortenden Zellen begrenzen;
daher enthält das Paket eine ID-Bitmaske zur Beschränkung
der Antwort auf eine Teilmenge der möglichen Zellen-ID's. Wenn
die Gruppiereinrichtung eine Liste von Hörer-ID's entwickelt
hat, erlaubt sie dem Benutzer, jeden Hörer zu schalten, was
die Hörerzelle veranlaßt, ihren Ausgang ein- und auszuschalten.
Der Benutzer durchläuft die Liste von Hörerzellen weiter,
bis er das ausgangsseitige Umschalten der Zielzelle beobachtet.
Der Benutzer hat danach die Zelle für die Gruppiereinrichtung
identifiziert, und er kann mit der Gruppieroperation
fortfahren.
Jedes von einer Zelle übertragene Paket enthält mehrere Felder.
So ist beispielsweise in Fig. 6 ein Format zur Gruppenannoncierung
gezeigt. Andere Paketformate sind in Anlage A
angegeben. Jedes Paket beginnt mit einer Präambel zur Synchronisation
der Empfängerzellen-Eingangsschaltung (bit synch).
Der bei dem beschriebenen Ausführungsbeispiel verwendete besondere
Präambelcode ist als Teil des 3-aus-6-Kombinationscodes
(Fig. 9) beschrieben. Ein Flagfeld von 6 Bits beginnt
und beendet jedes der Pakete. Der Flagfeldcode ist ebenfalls anhand von
Fig. 9 beschrieben.
Vorzugsweise liest jede der Zellen das gesamte Paket ein,
führt eine zyklische Redundanzcode(CRC)-Berechnung an dem
Paket durch, ausgenommen für das Konkurrenzzeitgeberfeld, und
vergleicht das Ergebnis mit dem CRC-Feld des empfangenen Pakets.
Die ALU 102 der Fig. 12 besitzt Hardware zur Berechnung
des Paket-CRC und CRC-Register 130 zum Speichern von Zwischenergebnissen.
Wenn der CRC für ein einlaufendes Paket nicht
verifiziert werden kann, wird das Paket ausgeschieden. Das
Paket-CRC-Feld hat bei der Berechnung 16 Bits und wird in 24-Bit-Feldern
für die Übertragung in einem 3-aus-6-Code unter Verwendung
der Codierung gemäß Fig. 9 umgesetzt. (Für den Rest
der Erörterung von Paketfeldern in diesem Abschnitt ist die
Feldlänge vor der Codierung mit den 3-aus-6-Kombinationscodes
gemäß Fig. 9 beschrieben.) Bei dem bevorzugten Ausführungsbeispiel
ist der CRC ein CCITT-Standardalgorithmus
(X¹⁶+X¹²+X⁵+1)
Die System-ID ist vorzugsweise ein 32-Bit-Feld.
Die anderen 16 Bits der 48-Bit-System-ID sind in der
CRC-Berechnung einbezogen, werden jedoch nicht übertragen als
Teil des Pakets (Fig. 29).
Das Verknüpfungsadreßfeld ist ein 48-Bit-Feld. Wenn dieses
Feld aus Nullen besteht, wird das Paket als systemweite Sendung
interpretiert, das von allen Zellen behandelt wird. So
hat beispielsweise ein Sondierpaket ein Nullenfeld für die
Verknüpfungsadresse. Gruppenadressen sind in die Verknüpfungsadresse
einbezogen. Für Gruppenadressen sind die ersten 38
Bits Null, und die restlichen 10 Bits enthalten die Gruppenadresse.
(Die herstellerseitig zugewiesenen Zellen-ID-Nummern
liegen, wie zuvor erwähnt, im Bereich von 1024 bis 2⁴⁸, da
2¹⁰ für Gruppen reserviert sind.) Die Verknüpfungsadresse
ist in einigen Fällen eine individuelle Zellenadresse. (Beispielsweise
dann, wenn einer Zelle die Aufgabe eines Wiederholers
oder Hörers zugeordnet wird.)
Der Konkurrenzzeitgeber ist ein 10-Bit-Feld mit 6 zusätzlichen
Bits für ein CRC-Feld (oder andere Prüfsumme), das zum Verifizieren
der 10 Bits des Zeitgabefeldes verwendet wird. Jede ein
Paket wiederholende Zelle arbeitet mit diesem Feld, wenn die
Zelle zur Übertragung des Pakets warten muß. Wenn Pakete von
anderen Zellen übertragen werden, muß eine Zelle zum Senden
bzw. Übertragen ihres Pakets warten, wobei die Wartezeit durch
Abwärtszählen des Konkurrenzzeitgabefeldes angegeben wird. Die
Frequenz, mit der dieses Feld abwärts gezählt wird, kann in
einer Zelle programmiert werden, und diese Frequenz ist eine
Funktion der Art des Netzwerks. Das Feld beginnt mit einer
Konstanten, die nach der Art des Netzwerks gewählt werden
kann. Jede das Paket wiederholende Zelle zählt von der Zahl im
Feld zum Zeitpunkt des Empfangs des Pakets abwärts. Wenn daher
ein Paket viermal wiederholt wird und wenn jede der vier involvierten
Zellen auf die Übertragung wartet, berücksichtigt
die Zahl im Konkurrenzfeld die Summe der Wartephasen, subtrahiert
von einer Konstanten (z. B. alles Einsen). Wenn das Konkurrenzzeitgabefeld
alles Nullen erreicht, verwirft die die Übertragung
abwartende Zelle das Paket, anstelle einer Übertragung.
Dies verhindert, daß ältere Pakete einlaufen und als
ein jeweils neues Paket interpretiert werden.
Wie erwähnt, hat der Konkurrenzzeitgeber sein eigenes
6-Bit-CRC-Feld. Wenn das Konkurrenzzeitgeberfeld in die Paket-CRC
einbezogen wäre, könnte die Paket-CRC solange nicht berechnet
werden, bis ein Paket tatsächlich gesendet werden
kann. Dies würde viele Berechnungen in den letzten wenigen
Mikrosekunden vor einer Übertragung erforderlich machen. Um
dieses Problem zu vermeiden, findet ein separates CRC-Feld für
das Konkurrenz-Zeitgeber-Feld Verwendung. Wenn das Konkurrenz-
Zeitgeber-Feld durch seinen 6-Bit-CRC nicht verifiziert werden
kann, wird das Paket verworfen.
Das Etappenzählfeld zeichnet die Anzahl von Etappen
oder Neuübertragungen auf, die ein Paket vor dem Ankommen an
seinem Ziel durchläuft. Dieses 4-Bit-Feld beginnt mit einer
Zahl, die gleich der für ein spezielles Paket maximal zulässigen Anzahl
von Neusendungen ist, und wird durch jede ein Paket wiederholende
Zelle abwärtsgezählt. So ist beispielsweise für ein
von einem Gruppenannoncierer ausgehendes Paket der
"Etappen"-Zählwert beim Start die Maximalanzahl von Neusendungen,
die das Paket bis zum Erreichen aller Zellen in einer
Gruppe erfährt. Wenn dieses Feld vollständig zu Null wird,
wird das Paket von der Zelle verworfen und nicht mehr neu gesendet.
Daher sind 16 Etappen oder Neusendungen die Grenze
der derzeitigen Implementierung.
Das Verknüpfungssteuerfeld liefert das Verknüpfungsprotokoll
und besteht aus 8 Bits. Dieses Feld wird in einem nachfolgenden
Abschnitt in Verbindung mit anderen Schichten des Protokolls
erörtert.
Das Zufalls-/Pseudo-Zufalls-Zahl-Feld enthält eine
8-Bit-Zufallszahl, die für jedes Paket von der das Paket ursprünglich
aussendenden Zelle erzeugt wird. Diese Zahl wird
nicht erzeugt, wenn ein Paket wiederholt wird. Diese Zahl
dient, wie in Verbindung mit Fig. 8 noch genauer erläutert
werden wird, zur Begrenzung des Neusendens von Sondierpaketen;
sie kann auch in Verbindung mit einer Verschlüsselung benutzt
werden, wenn das gesamte Paket zu verschlüsseln ist.
Das Netzwerksteuerfeld (4 Bits) gibt die Vermittlungsart oder Paketart
an, beispielsweise Netzwerksteuerung, Gruppennachricht,
Sondiernachricht usw.
Das Quellenadreßfeld (variable Größe) enthält beispielsweise
die 48-Bit-ID-Nummer der Zelle, von der ein Paket ausgeht. Bei
einem Sondierpaket enthält dieses Feld die ID-Nummer des Annoncierers.
Bei einer Bestätigung enthält dieses Feld die ID
des Hörers. Bei einem an eine Gruppe adressierten Paket enthält
dieses Feld die Gruppenmitgliedsnummer der Quellzelle.
Die Bestimmungs- oder Zielliste wird in Verbindung mit Fig. 7
beschrieben.
Das Nachrichtenfeld ist längenveränderlich und enthält die von
dem Paket gerade gesendete spezielle Nachricht. Typische Nachrichten
sind in Anlage B enthalten. Im Falle eines Sondierpakets
enthält das Feld die Route; d. h. jede wiederholende
Zelle bindet ihre ID-Nummer in dieses Feld ein. Die Nachrichten
nach der Bildung einer Gruppe dienen beispielsweise dem
Annoncierer 60 dazu, dem Hörer (Listener) 65 die Einschaltung
eines Lichts aufzutragen usw.
Das ggf. verwendete Verschlüsselungsfeld enthält 16 Bits zum
Verifizieren der Authentizität eines verschlüsselten Pakets;
typischerweise wird dieser Abschnitt eines Pakets nicht geändert,
wenn ein Paket wiederholt wird. Bekannte Verschlüsselungstechniken
können Verwendung finden.
Die Klammer 99 in Fig. 6 stellt den Abschnitt eines Pakets
dar, der bei Wiederholung eines Pakets ungeändert bleibt.
Diese Felder dienen zur Begrenzung der Wiederholungen, wie
weiter unten in Verbindung mit Fig. 8 beschrieben werden
wird.
Das Ziellistenfeld des Pakets in Fig. 6 ist in Fig. 7 gezeigt.
Die Zielliste beginnt mit einem 4-Bit-Feld, das die Nummer der
Gruppenmitglieder angibt, die zur Aufnahme einer Nachricht in
dem Paket bezeichnet worden sind. Das Paket kann daher an bis
zu 16 Mitglieder einer Gruppe gerichtet werden. Die Nummer
jedes der Mitglieder innerhalb der Gruppe wird dann in nachfolgenden
8-Bit-Feldern übertragen. Die Gruppennummer in der
Verknüpfungsadresse und die in der Zielliste enthaltene Mitgliedsnummer
bildet eine Adresse, die zur Nachrichtenübertragung
nach der Bildung der Gruppe dient. Wenn die Zielnummer
Null ist, richtet sich das Paket an alle Mitglieder der Gruppe.
Für einige Pakettypen enthält dieses Feld die ID der
empfangenen Zelle (siehe Anlage A).
Wie zuvor erwähnt, werden die Sondierpakete nur einmal von
jeder der Zellen wiederholt, nachdem das Paket anfangs ausgesendet
worden ist. Ein in jede der Zellen programmierter spezieller
Mechanismus ermöglicht es den Zellen, Pakete zu erkennen,
die von der Zelle kürzlich wiederholt worden sind.
Zunächst sollte erinnerlich sein, daß jede Zelle beim Senden
oder Neusenden eines Pakets ein Paket-CRC-Feld berechnet, das
dem Endflag vorausgeht. Bei Paketen, die wiederholt werden,
wird ein neuer CRC benötigt, da zumindest die Etappenzählung
sich ändert und ein neues Paket-CRC-Feld für dieses Paket
erforderlich macht. Dieses CRC-Feld ist von dem im
nächsten Absatz diskutierten CRC-Feld zu unterscheiden.
Da jedes eine Wiederholung erforderndes Paket empfangen wird,
wird eine Wiederholer-CRC-Nummer für die Felder berechnet, die
sich vom Beginn der Verknüpfungssteuerung bis zum Ende der
Zielliste erstrecken, wie durch Klammer 99 in Fig. 6 angegeben.
Wenn eine Zelle ein Paket neu aussendet, speichert der
16-Bit-Widerholer CRC-Ergebnisse in einer Rangliste derartiger
Nummern, sofern dieselbe Nummer noch nicht gespeichert
ist. Das Paket wird jedoch nur wiederholt, wenn die Ringliste
die für das Feld 99 berechneten Wiederholer-CRC-Ergebnisse
nicht enthält.
Beim Empfang jedes Pakets, das eine Wiederholung erforderlich
macht, wird der CRC für das Feld 99 berechnet. Dies ist mit
Block 73a in Fig. 8 gezeigt. Diese Nummer wird mit einer Liste
von acht im RAM der Zelle gespeicherten Zahlen verglichen
(Block 73b). Wenn die Nummer unter den gespeicherten Nummern
nicht gefunden wird, werden die neuen Wiederholer-CRC-Ergebnisse
entsprechend Darstellung im Block 73c gespeichert, und
das Paket wird wiederholt. Wenn andererseits die Nummer gefunden
wird, so wird das Paket nicht wiederholt. In der derzeitigen
Implementierung werden acht Nummern in einer Ringliste
gespeichert, d. h. die ältesten Nummern werden abgelegt, wenn
neue berechnet werden.
Die Verwendung der CRC-Berechnung in Zuordnung zum Feld 99 und
die Verwendung der Ringliste verhindern die Wiederholung eines
zuvor neu ausgesendeten Pakets. Zu beachten ist, daß selbst
dann, wenn ein Annoncierer fortlaufend die gleiche Nachrichtenfolge
neu aussendet, wie beispielsweise im Falle eines
fortlaufenden Ein- und Ausschaltens eines Lichts,
eine als Wiederholer bezeichnete Zelle die gleiche Nachricht
neu aussendet, da das Nachrichten enthaltende Paket unterschiedlich
erscheint. Dies gilt aus dem Grunde, da die Zufallszahl, die
mit jeder der an sich identischen Nachrichten ausgesendet
wird, aller Wahrscheinlichkeit nach eine andere ist. In dem
Falle jedoch, in dem eine Zelle die gleiche Nachricht innerhalb
desselben Feldes 99 (dieselbe Zufallsnummer) erhält, wird
das Paket mit seiner Nachricht nicht neu ausgesendet. Dies
gilt im speziellen für Sondierpakete. Wegen der Bildung
der oben erörterten Gruppen sterben die ausgesendeten Sondierpakete
im Netzwerk rasch aus; anderenfalls würden sie über
eine gewisse Zeitperiode als Echo wirken und einen unnötig
hohen Verkehr im Netzwerk verursachen.
In vielen Netzwerken mit synchroner Übertragung von digitalen
Daten findet eine Codierung Verwendung, um die Zeitinformationen
in den Datenstrom einzubetten. Eine weit verbreitete
Codiermethode ist die Manchester-Codierung. Manchester- oder
andere Codierungen können zum Codieren der oben beschriebenen
Pakete benutzt werden; die weiter unten beschriebene Codierung
ist jedoch derzeit bevorzugt.
Eine 3-aus-6-Kombinationscodierung dient zur Codierung von
Daten zur Übertragung bei dem derzeit bevorzugten Ausführungsbeispiel.
Alle Daten werden in 4-Bit-Tetraden (nibbles) gruppiert,
und für jede derartige Tetrade werden sechs Bits übertragen.
Diese sechs Bits haben stets drei Einsen und drei
Nullen. Die Übertragung von drei Einsen und drei Nullen in
irgendeiner Kombination aller sechs Bits ermöglicht es der
Eingabeschaltung der Zellen, rasch synchronisiert (Bit synch)
und Byte-synchronisiert zu werden, wie in Verbindung mit dem
I/O-Abschnitt erörtert werden wird. Nach einmaliger Synchronisation
(außerhalb des Suchbetriebs) werden die Übergänge im
einlaufenden Bitstrom zur Aufrechterhaltung der Synchronisation
verwendet.
Die rechte Spalte in Fig. 9 listet die 20 möglichen Kombinationen
von 6-Bit-Mustern auf, in denen drei der Bits Einsen
und drei Nullen sind. In der linken Spalte ist das entsprechende
4-Bit-Muster in Zuordnung zu dem 3-aus-6-Muster
gezeigt. Wenn die Zelle beispielsweise die Tetrade (nibble)
0111 übertragen soll, erfolgt vor dem Senden eine Umsetzung in
das Bitsegment 010011. In ähnlicher Weise wird 0000 vor der
Übertragung umgesetzt in 011010. Wenn eine Zelle die 6-Bit-Muster
empfängt, setzt sie diese wieder um in die entsprechenden
4-Bit-Muster.
Es gibt 20 3-aus-6-Muster und nur 16 Möglichkeiten für 4-Bit-Kombinationen.
Daher haben vier der 3-aus-6-Muster keine
entsprechenden 4-Bit-Muster-Zuordnungen. Das 3-aus-6-Muster
010101 dient als Präambel für alle Pakete. Die Flags für alle
Pakete sind 101010. Die Präambel- und Flag-Muster können besonders
zweckmäßig von der Eingabeschaltung zur Entwicklung
der Datensynchronisation verwendet werden, da sie wiederholte
Übergänge bei der Datengrundfrequenz besitzen. Die beiden
unzugewiesenen 3-aus-6-Muster können für spezielle Bedingungen
und Befehle verwendet werden.
Demgemäß bereitet eine Zelle ein Paket generell in ganzzahligen
Bytes vor, und jeder Tetrade wird vor der Übertragung ein
6-Bit-Muster zugeordnet. Die Präambel und Flags werden danach
addiert. Die Schaltung zum Umsetzen des 4-Bit-Musters in das
6-Bit-Muster und umgekehrt, zum Umsetzen aus dem 6-Bit-Muster
in das 4-Bit-Muster, ist in den Fig. 14 und 15 gezeigt.
Im folgenden wird auf Fig. 10 Bezug genommen; jede Zelle weist
einen Multiprozessor 100, einen Eingabe/Ausgabe(I/O)-Abschnitt
107-110, einen Speicher 115 und zugehörige Zeitgabeschaltungen,
insbesondere als Oszillator 112 und Zeitgabegenerator 111
gezeigt, auf. Ebenfalls gezeigt ist eine Spannungspumpe 116,
die in Verbindung mit dem Speicher 115 verwendet wird. Diese
Zelle ist mit gewöhnlichen integrierten Schaltungen realisiert.
Beispielsweise kann der Multiprozessor 100 unter Verwendung
der Gatematrixtechnologie, wie sie in der US-PS 4 642 487
beschrieben ist, hergestellt werden. Das bevorzugte Ausführungsbeispiel
der Zelle macht von der CMOS-Technologie
Gebrauch, bei der die gesamte Zelle gemäß Fig. 10 auf einem
einzigen Siliziumsubstrat als integrierte Schaltung aufgebaut
ist. (Der Multiprozessor 100 wird manchmal im Singular bezeichnet,
obwohl er, wie beschrieben werden wird, ein Multiprozessor
insbesondere aus vier Prozessoren ist.)
Der Multiprozessor 100 ist ein Stack-orientierter Prozessor
mit vier Sätzen von Registern 101, die Eingangssignale an eine
arithmetische Logikeinheit (ALU) 102 anlegen. Die ALU 102
weist zwei separate ALU's bei dem derzeit bevorzugten Ausführungsbeispiel
auf.
Der Speicher 115 hat eine Speicherkapazität von insgesamt 64 KB
bei dem bevorzugten Ausführungsbeispiel, obwohl diese spezielle
Speicherkapazität unkritisch ist. Ein Teil des Speichers
dient zur Speicherung von Befehlen (ROM-Code 115a). Der
nächste Teil des Speichers ist ein Direktzugriffsspeicher
115b, der mehrere gewöhnliche statische Speicherzellen umfaßt
(dynamische Zellen können verwendet werden). Der dritte Teil
des Speichers enthält einen elektrisch löschbaren und elektrisch
programmierbaren Festwertspeicher (EEPROM) 115c. Bei
dem derzeit bevorzugten Ausführungsbeispiel verwendet der
EEPROM 115c Speicherbauelemente mit Floating-Gate-Elektroden.
Diese Bauelemente bedingen eine höhere Spannung (höher
als die normale Betriebsspannung) zum Programmieren und Löschen.
Dieses höhere Potential wird von einer "Chip-internen"
Spannungspumpe 116 geliefert. Der gesamte Adreßraum für den
Speicher 115 wird über die ALU 102a adressiert, die Teil der
ALU 102 ist.
Der ROM 115a speichert die zum Implementieren der verschiedenen
Schichten des in dieser Anmeldung erörterten Protokolls
verwendeten Routinen. Dieser ROM speichert auch die zum Programmieren
des EEPROM 115 benötigten Routinen. Das Anwenderprogramm
für die Zelle ist im ROM 115a gespeichert und ist
generell eine Routine, die als
von Variablen im EEPROM 115c und RAM 115b getriebene "Zustandsmaschine" wirken. RAM 115b
speichert Kommunikationsvariablen und Nachrichten, Anwendervariablen
und "Zustandsmaschinen"-Deskriptoren. Die Zellen-ID,
System-ID und Kommunikations- und Anwenderparameter (z. B.
Gruppennummer, Mitgliedsnummer, Annoncier/Wiederholer/Hörer-Zuordnungen)
sind im EEPROM 115c gespeichert. Der die Zellen-ID
speichernde Teil des EEPROMs 115c ist "schreibgeschützt",
d. h. nach einer Programmierung mit der Zellen-ID kann er nicht
umprogrammiert werden.
Der Eingabe/Ausgabe-Abschnitt der Zelle weist vier Unterabschnitte
107, 108, 1109 und 110 auf. Drei dieser Unterabschnitte,
107, 108 und 109, haben Leitungen 103, 104 und 105 zur
Kommunikation mit einem Netzwerk und/oder Steuer- und Meßelementen,
die mit der Zelle verbunden sind. Der verbleibende
Unterabschnitt 110 hat einen einzigen Auswahlpin 106, der zum
Einlesen von Befehlen, wie diejenigen zur Bestimmung der Zellen-ID,
verwendet werden kann. In der derzeitigen Implementierung
dient der Unterabschnitt 110 in erster Linie zur Zeitgabe
und Zählung. Der Eingabe/Ausgabe-Abschnitt wird vom Prozessor
über einen speziellen Adreßraum adressiert und erscheint
daher im Ergebnis für den Prozessor als Speicherraum. Jeder
I/O-Unterabschnitt kann mit jedem der Unterprozessoren gekoppelt
sein. Dieses Merkmal sorgt zusammen mit der Multiprozessor-Architektur
des Prozessors 100 für den kontinuierlichen
(unterbrechungsfreien) Betrieb des Prozessors. Der I/O-Abschnitt
kann als bekannte Schaltung ausgebildet sein; die
derzeit bevorzugte Ausführung ist in den Fig. 17 bis 23
dargestellt.
Die Zelle gemäß Fig. 10 weist auch einen Oszillator 112 und
einen Zeitgabegenerator 111 auf, von denen letzterer die Zeitgabesignale
liefert, die insbesondere für das in Fig. 13 gezeigte
Pipelining benötigt werden. Derzeit ist die Operation
bei einer 16 MHz-Frequenz für die Phasen 1 bis 4 der Fig. 13
bevorzugt, wodurch eine 4 MHz-Kleinbefehlszyklusfrequenz
hervorgerufen wird. Andere bekannte Leitungen, die
der Zelle gemäß Fig. 10 zugeordnet sind, sind nicht gezeigt
(z. B. Stromversorgung).
Alle Fig. 10 zugeordneten Zellenelemente sind, wie erwähnt,
bei dem bevorzugten Ausführungsbeispiel auf einem einzigen
Halbleiterchip integriert.
Das derzeit bevorzugte Ausführungsbeispiel des Prozessors 100
ist in Fig. 12 gezeigt und weist mehrere Register auf, die mit
den beiden ALU's 102a und 102b in Verbindung stehen. (Andere
Prozessorarchitekturen können verwendet werden, beispielsweise
eine solche, die ein System auf "Register"-Basis sowie andere
ALU- und Speicheranordnungen hat.) Die Adreß-ALU 102a liefert
Adressen für den Speicher 115 und zum Zugreifen auf die I/O-Unterabschnitte.
Die Daten-ALU 102b liefert Daten für den
Speicher und den I/O-Abschnitt. Der Speicherausgang ist generell
mit den Prozessorregistern über Register 146 zum D-BUS
223 gekoppelt.
Der 16-Bit-A-Bus 220 liefert ein Eingangssignal für die Adreß-ALU
102a. Basiszeigerregister 118, Effektive-Adreßregister 119 und
die Befehlszeigerregister 120 sind mit diesem Bus gekoppelt.
(In der unteren rechten Ecke der zur Bezeichnung dieser Register
verwendeten Symbole ist ein Pfeil mit der Bezeichnung
"x4" gezeigt. Diese Bezeichnung dient dazu, anzugeben, daß
beispielssweise das Basiszeigerregister eine Tiefe von 4 hat, insbesondere
das Basiszeigerregister vier 16-Bit-Register aufweist, eines
für jeden Prozessor. Dies gilt auch für die Effektive-Adresse-Register
und die Befehlszeigerregister.) Der B-BUS 221 liefert
bis zu 12-Bit breite Eingangssignale an die ALU 102a oder ein 8-Bit-Eingangssignal
an die Daten-ALU 102b über Register 142. Der
Kopf der Stackregister 122, Stackzeigerregister 123,
Rückkehrzeigerregister 124 und Befehlsregister 125 sind mit
dem B-BUS gekoppelt.
Der C-Bus 222 liefert das andere 8-Bit-Eingangssignal für die
ALU 102 über Register 143. Der C-BUS ist mit den Befehlszeigerregistern
120, dem Kopf von Stackregistern 122 mit einer Tiefe von 4,
den vier Übertragsflags 129, den CRC-Registern 130
und den Nächste-Registern 131 mit einer Tiefe von 4 gekoppelt.
Der M-BUS, der mit dem Ausgang des Speichers gekoppelt ist,
kann Daten aus dem Ausgang der ALU 102b über Register 145b
oder aus dem Speicher oder I/O-Abschnitten (107-110) aufnehmen.
Dieser Bus liefert über das Register 146 und den D-BUS
223 Eingangssignale an die Register 118 . . . 125, 130 und 131
und die Übertragsflags 129.
Es gibt einen 16-Bit-Pfad 132 vom Ausgang der Adreß-ALU 102a zu
den Registern 120. Die ALU 102b weist eine Schaltung zur
Durchführung von CRC-Berechnungen auf. Diese Schaltung steht
über die Zweirichtungsleitungen 133 direkt mit den CRC-Registern
130 in Verbindung. Die Stack-Kopf-Register 122 sind mit
den Nächste-Registern 131 über Leitungen 138 verbunden. Diese
Leitungen ermöglichen die Übertragung des Inhalts des Registers
122 in die Register 131 oder des Inhalts des Registers
131 in die Register 122. In der derzeitigen Implementierung
ist ein Zweirichtungs- (gleichzeitiger) Austausch von Daten
zwischen diesen Registern nicht implementiert. Vier Datenbits
aus dem Ausgang des Speichers können direkt entweder zu den
Befehlszeigerregistern 120 oder den Befehlsregistern 125 über
Leitungen 139 zurückgeschickt werden.
Das Pipelining (Register 141, 142, 143, 145 und 146) von Daten
und Adressen zwischen den Registern, ALU, Speicher und ihren
entsprechenden Bussen wird in Verbindung mit Fig. 13 beschrieben.
Die Daten in einem der Stackzeigerregister 123 oder einem der
Rückkehrzeigerregister 124 können von einer Schaltung 127
direkt inkrementiert oder dekrementiert werden.
Beide ALU's 102a und 102b können jedes ihrer Eingangssignale
zu ihren Ausgangsanschlüssen durchlaufen lassen, ihre Eingangssignale
inkrementieren und addieren. ALU 102b ermöglicht
zusätzlich zur Addition auch eine Subtraktion, Verschiebung,
das Setzen von Übertragsflags 124 (wo zweckmäßig), UND-,
ODER-, Exklusiv-ODER-Verknüpfung und andere komplementäre
arithmetrische Operationen. Die ALU 102b kann in einem einzigen
Schritt auch den Inhalt der Nächste-Register 131 und CRC-Register
130 (über Wege 222 und 133) kombinieren und ihn mit dem
Inhalt eines der Stack-Kopf-Register 122 zur Entwicklung der
in den CRC-Berechnung benutzten nächsten Nummer kombinieren.
Zusätzlich führt die ALU 102b Standardverschiebungen aus und
liefert ein spezielles Tetradenmerkmal, das eine Verschiebung
der niedrigeren oder höheren vier Bits auf höhere oder niedrigere
vier Bits ermöglicht. Auch führt die ALU 102b eine 3-aus-6-Codierung
oder Decodierung entsprechend der Beschreibung in
Abschnitt F aus.
Bei dem bevorzugten Ausführungsbeispiel mit einem einzigen
Halbleiterchip für eine Zelle gibt es Basiskontaktanschlüsse
auf dem Chip für Stromversorgung und Erde und alle I/O-Pins A und B
und den "Nur-Lese"-Pin 106 (Unterabschnitte 107, 108, 109 und
110 in Fig. 12). Diese Kontaktanschlüsse dienen zur Anbringung
der Gehäusepins für ein preiswertes Basisgehäuse.
Zusätzlich zu den Basiskontaktanschlüssen sind zusätzliche
Anschlüsse bei dem bevorzugten Ausführungsbeispiel mit Verbindungen
zum AD-BUS 224 und M-BUS 225 der Fig. 12 vorgesehen.
Ein Steuerkontaktanschluß kann zur Deaktivierung des internen
Speichers vorgesehen sein. Durch Aktivierung des Steuerkontakts
wird der interne Speicher deaktiviert, und die Daten über
AD-BUS und M-BUS werden vom Prozessor verwendet. Dies ermöglicht
die Verwendung eines Speichers, der für die Zelle extern
ist. Es wird angenommen, daß zusätzliche Kontaktanschlüsse
nicht zur Benutzung zur Verfügung stehen, wenn sich die Zelle
in einem einfachen Gehäuse befindet. Auf diese zusätzlichen Kontakte
kann über Sondentaster-Kontakte zugegriffen werden oder sie
können Pins an Gehäusen bilden, die mehr als die Mindestzahl von
Pins haben.
Die hergestellte Zelle benötigt ein Initialisierungsprogramm.
Während der Wafer-Sondierzeit wird der externe Speicher für
verschiedene Zwecke verwendet, von denen einer der Zellentest
ist. Eine andere Verwendung ist die Erzeugung eines Programms
zum Schreiben der Zellen-ID in den EEPROM während des Herstellungsverfahrens.
Notwendige EEPROM-Befehle, die bei späterer
Betriebsaufnahme der Zelle ein Einschalten ermöglichen, können
zu diesem Zeitpunkt hinzugefügt werden. Initialisierungs- und
Testprogramme sind im Stande der Technik bekannt.
Generell treten Speicherabrufe auf, wenn die ALU 102a eine
Speicheradresse liefert. Die Speicheradresse ist typischerweise
eine Basisadresse o. dgl. auf dem A-BUS von einem der Basispunkte
in Registern 118, Effektivadreßregistern 119 oder
Befehlszeigerregister 120 in Kombination mit einem Offset auf
dem B-Bus vom Stackzeigerregister 123, Rückkehrzeigerregister
124, Stack-Kopf-Register 122 oder den Befehlsregistern 125.
Berechnungen in der ALU 102b umfassen in typischer Ausführung
eines der Stack-Kopf-Register 122 (B-BUS) und der Nächste-Register
131 (C-BUS) oder Daten, die Bestandteil eines Befehls aus
einem der Befehlsregister 125 sind.
Wenn auch bei dem derzeit bevorzugten Ausführungsbeispiel der
Prozessor arbeitet, während der Ausgang des Speichers mit dem
D-BUS 323 über das Register 146 gekoppelt ist, könnte der
Prozessor auch mit Daten implementiert werden, die direkt mit
dem Eingang der ALU 102b gekoppelt sind. Auch die von einigen
der anderen Register, beispielsweise den Effektivadreßregistern
119, durchgeführte Funktion kann von anderen Registern
ausgeführt werden, obwohl die Verwendung der Effektivadreßregister
und beispielsweise der CRC-Register die Operation des
Prozessors verbessert.
Generell ist zur Speicheradressierung ein Basiszeiger von
einem der Register 118, 119 oder 120 mit einem Offset von
einem der Register 122, 123, 124 oder 125 vorgesehen. Die
Adreß-ALU liefert diese Adressen. Generell bearbeitet die
ALU 120b auch den Inhalt des Kopfs der Stack- und Nächste-Register;
es gibt jedoch Ausnahmen, beispielsweise kann das
Befehlsregister ein unmittelbares Eingangssignal zur ALU 102b
erzeugen. Spezielle Adressierungen und andere Befehle werden
weiter unten beschrieben.
Der Prozessor ist in Wirklichkeit ein Multiprozessor (vier Prozessoren),
und zwar wegen der Mehrzahl von Registern und des Pipelinings,
das in Verbindung mit Fig. 13 beschrieben werden wird.
Wie erwähnnt, besteht ein Vorteil dieser Multiprozessoroperation
darin, daß keine Unterbrechungen insbesondere bei der
Behandlung von Eingangs- und Ausgangssignalen benötigt werden.
Die Multiprozessoroperation wird ohne Verwendung von separaten
ALU's für jeden Prozessor erreicht. Bei dem derzeit bevorzugten
Ausführungsbeispiel wird ein ökonomisches Layout durch
Verwendung von zwei ALU's (102a und 102b) erreicht, wobei
jedoch nur eine der ALU's zu jedem Zeitpunkt arbeitet. (Zu
beachten ist, daß der B-BUS ein Eingangsssignal für beide ALU's
liefert.) Daher kann die Multiprozessoroperation nach der
Erfindung unter Verwendung einer einzigen ALU erreicht werden.
Das Verarbeitungssystem hat vier Prozessoren, die eine Adreß-ALU,
eine Daten-ALU und einen Speicher gemeinsam benutzen.
Ein Unter-Basiszyklus (basic minor cycle) nimmt vier Taktzyklen für jeden Prozessor
in Anspruch. Die ALU's nehmen einen Taktzyklus und der
Speicher einen Taktzyklus in Anspruch. Die Unterzyklen sind
für jeden Prozessor um einen Taktzyklus phasenverschoben, so
daß jeder Prozessor bei jedem Unter-Basiszyklus einmal auf
Speicher und ALU's zugreifen kann. Da jeder Prozessor seinen
eigenen Registersatz besitzt, kann er unabhängig bei seiner
normalen Geschwindigkeit betrieben werden. Das System sorgt
daher für den Parallelbetrieb von vier Prozessoren (Pipelining).
Jedes Register der Fig. 12 ist einer von vier Registergruppen
zugeordnet, und jede Gruppe erleichtert die Multiprozessoroperation
und ist einem Prozessor (1-4) der Fig. 13 zugeordnet.
Jede der vier Gruppen weist ein Basiszeigerregister,
Effektivadreßregister, Befehlszeigerregister, Stack-Kopf-Register,
Stackzeigerregister, Rückkehrzeigerregister, Befehlsregister,
CRC-Register, Nächste-Register und ein Übertragsflag
auf. Jede in Beziehung stehende Gruppe von Registern
entspricht einem der vier Prozessoren. Jeder Prozessor führt
Befehle in Unterzyklen aus, jeder Unterzyklus besteht
aus vier Taktzyklen. Während des ersten Taktzyklus blendet ein
Prozessor die richtigen Register auf den A-BUS, B-BUS und
C-BUS aus. In dem nächsten Taktzyklus werden die ALU's aktiv
und erzeugen Daten aus ihren Eingangssignalen von den A-, B-
und C-BUSSEN. Speicher oder I/O werden während des dritten
Taktzyklus aktiv, wobei die von der ALU 102a kommende Adresse
und Daten entweder vom Speicher oder der ALU 102b geliefert
werden. Der vierte und abschließende Taktzyklus blendet die
Ergebnisse aus dem Speicher oder der ALU 102b über den D-BUS
in das richtige Register aus.
Ein Prozessor kann als Datenwelle angesehen werden, die sich
durch die oben beschriebene Sequenz ausbreitet. Bei jedem
Schritt werden die Zwischenergebnisse in einen Satz von Pipelineregistern
getaktet. Durch Verwendung dieser Pipelineregister
ist es möglich, die einzelnen Schritte in der Schrittfolge
zu trennen und daher vier Schritte gleichzeitig auszuführen.
Die vier Prozessoren können ohne gegenseitige Störung
operieren, obwohl sie die ALU's, den Speicher, I/O- und viele
Steuerschaltungen gemeinsam benutzen.
Die Steuerung eines Prozessors einschließlich eines Pipelining
läßt sich am besten anhand der Fig. 11 verständlich machen.
Für jeden Prozessor gibt es einen 3-Bit-Zähler und ein Befehlsregister.
Diese sind in Fig. 11 als Zähler 137a bis 137d
gezeigt, von denen jeder einem der Befehlsregister 125a bis 125d
zugeordnet ist. Jedes der Befehlsregister ist über den D-BUS
geladen. Während ein Befehlsregister geladen wird, wird der
Befehl an eine PLA 212 angelegt. Diese PLA bestimmt aus dem
Befehl, wieviele Unterzyklen (minor cycles) zur Ausführung
des Befehls erforderlich sind, und danach wird eine 3-Bit-Binärzahl
in den Zähler 113a oder 113b oder 113c oder 113d geladen,
der dem jeweils zu ladenden Befehlsregister 125a, 125b,
125c oder 125d zugeordnet ist. Beispielsweise wird für einen
Aufrufbefehl, der in das Befehlsregister 125c geladen wird,
die Binärzahl 010 (die drei Unterzyklen bezeichnet) in den
Zähler 137c geladen. (Bis zu acht Unterzyklen können für
einen vorgegebenen Befehl verwendet werden; jedoch werden nur
bis zu sechs Unterzyklen für jeden der Befehle bei dem beschriebenen
Ausführungsbeispiel benutzt.) Der Zählwert "000"
dient dazu, den Aufruf eines neuen Befehls zu veranlassen.
Der Zählwert (z. B. 3 Bits) in einem Zähler und der Befehl
(z. B. 12 Bits) in dem zugehörigen Befehlsregister bilden ein
15-Bit-Eingangssignal für die PLA 136. Diese 15-Bit-Eingangssignale
von jedem der entsprechenden vier Sätze von Zählregistern
und vier Sätzen von Befehlsregistern werden sequentiell
an die PLA 136 angelegt, wie beschrieben werden wird. Das
Ausgangssignal der PLA steuert den Betrieb der Prozessoren.
Insbesondere steuern die Leitungen 213 den Datenstrom auf dem
A-BUS, B-BUS und C-BUS; Leitungen 214 steuern die ALU 102;
Leitungen 215 steuern den Speicher; (und, wie weiter unten
beschrieben werden wird, die I/O-Operation von Unterabschnitten
107, 108, 109 und 220); und Leitungen 216 steuern den
Datenstrom auf dem D-BUS. Die speziellen Ausgangssignale, die
von der PLA 136 für einen vorgegebenen Befehl erzeugt werden,
lassen sich am besten aus dem Befehlssatz verstehen, der in
dieser Anmeldung weiter unten angegeben wird. Die von den
Prozessoren durchgeführte Aktion zur Ausführung jedes der
Befehle wird im Zusammenhang mit dem Befehlssatz beschrieben
werden.
Die Ausgangssignale von der PLA auf den Leitungen 213 werden
direkt an diejenigen Bauelemente angelegt, welche den Datenfluß
auf dem A-BUS, B-BUS und C-BUS steuern. Die die ALU
steuernden Signale werden durch ein Ein-Takt-Phasenverzögerungsregister
217 geleitet, bevor sie über die Leitungen 214
an die ALU angelegt werden. Da alle Register 217 mit derselben
Frequenz getaktet werden, führt das Register 217 Verzögerungsfunktionen
durch, wie noch beschrieben werden wird. Diejenigen
Signale aus der PLA 136, die zur Speichersteuerung verwendet
werden, werden über zwei Verzögerungsregisterstufen 217 an den
Speicher angelegt, so daß die Signale auf Leitungen 215 um
zwei Taktphasen gegenüber den Signalen auf den Leitungen 213
verschoben sind. Die Steuersignale für den D-BUS werden nach
Verlassen der PLA 136 durch drei Sätze von Verzögerungsregistern
217 geleitet, bevor sie an die Leitungen 216 angelegt
werden, und werden daher in bezug auf die Signale auf den
Leitungen 213 um drei Taktphasen verzögert. Die Register 217
werden bei einer Frequenz von 6 MHz getaktet, so daß dann,
wenn die PLA 136 Ausgangssteuersignale für einen gegebenen
Befehl (z. B. Inhalt des Befehlsregisters 125a) liefert, die
Steuersignale während einer ersten Taktphase an Leitungen 213,
während einer zweiten Taktphase an Leitungen 214, während
einer dritten Taktphase an 215 und während einer vierten Taktphase
an Leitungen 216 angelegt werden. Während der ersten
Taktphase jedes Befehlszyklus wird der Inhalt des Zählers 137a
und des Befehlsregisters 125a an die PLA 136 angelegt. Während
der zweiten Taktphase wird der Inhalt des Zählers 137b und des
Befehlsregisters 125b an die PLA 136 angelegt usw. für die
dritten und vierten Taktphasen.
Es sei jetzt angenommen, daß Befehle in die Befehlsregister
125a bis 125d geladen und die Zähler 137a bis 137d mit den
entsprechenden Binärzählwerten für die unteren Zyklen, gebraucht
zur Durchführung jedes der Befehle, geladen worden
sind. Es sei beispielsweise angenommen, daß Register 125a mit
einem Aufrufbefehl CALL und daß 010 in den Zähler 137a geladen
worden ist. Während eines ersten Unterbefehlszyklus werden
010 und der 12-Bit-Befehl für den Aufruf an die PLA 136 angelegt.
Aus dieser 15-Bit-Eingabe entwickelt die PLA 136 an
ihrem Ausgang alle Steuersignale, die zum Beenden des ersten
Unterzyklus des Aufrufbefehls (z. B. vier Taktphasen) für
den A-BUS, B-BUS, C-BUS, die ALU, den Speicher und den D-BUS
erforderlich sind. Da das System bei der Multiprozessoroperation
ein Pipelining verwendet, dienen die Steuersignale auf Leitungen
213 zum Ausführen der ersten Taktphase des Aufrufbefehls
und steuern die Eingangssignale für die ALU's dar. (Während
dieser ersten Taktphase steuern die anderen Steuerleitungen
die ALU, den Speicher und den D-BUS anderer Prozessoren
für andere Befehle in den Pipelines.) Während Phase 2 werden
der Zählwert im Zähler 137b und der Befehl im Register 125b an
die PLA 136 angelegt. Während Phase 2 steuern jetzt die Signale
auf Leitungen 213 die A-BUS-, B-BUS- und C-BUS-Eingangssignale
zu den ALU's, um dem zweiten Prozessor die Ausführung
des im Register 125b enthaltenen Befehls zu ermöglichen. Während
dieser zweiten Taktphase steuern Signale auf Leitungen
214 den ersten Prozessor und die ALU, um die zum Ausführen der
zweiten Taktphase des Aufrufbefehls im Register 125a benötigten
Funktionen auszuführen. (Zu beachten ist, daß eine Verzögerung
gleich einer Phasenlänge durch das Register 217 eingeführt
wurde.) In ähnlicher Weise steuern während der dritten Phase
die Signale auf Leitung 213 den A-BUS, B-BUS und C-BUS, damit
der dritte Prozessor den im Register 125c enthaltenen Befehl
ausführen kann; die Signale auf Leitungen 214 steuern die ALU
zur Ausführung des im Register 125 enthaltenen Befehls, und
die Signale auf den Leitungen 215 steuern den Speicher zur
Ausführung der im Register 125a für den ersten Prozessor enthaltenen
Befehle. Schließlich werden während der vierten Taktphase
der Befehl aus dem Register 125d zusammen mit dem Zählwert
im Zähler 137d zur PLA 136 gekoppelt. Die Signale auf
Leitungen 213 steuern den A-BUS, B-BUS und C-BUS zum Ausführen
des im Register 125d des vierten Prozessors enthaltenen Befehls;
die Signale auf Leitungen 214 steuern die ALU zur Ausführung
des im Register 125c für den dritten Prozessor enthaltenen
Befehls; die Signale auf Leitungen 215 steuern den Speicher
zum Ausführen des Befehls im Register 125b für den zweiten
Prozessor; und die Signale auf Leitungen 216 steuern den
D-BUS zum Ausführen des Befehls im Register 125a für den ersten
Prozessor.
Nach vier Zyklen des 16-MHz-Takts wird der Zählwert im Register
137a auf 001 vermindert. Jedes Register wird an dem Taktzyklus
dekrementiert, der der Verwendung des Inhalts der von
der PLA 136 gehaltenen Zählers folgt. Das Eingangssignal an
die PLA 136 ändert sich daher, obwohl der Befehl im Regisster
125a der gleiche geblieben ist. Dies ermöglicht es der PLA
136, neue Ausgangssignale zu erzeugen, die für den zweiten
Unterzyklus des Aufrufbefehls benötigt werden. Diese
Steuersignale erfahren eine Schnellübertragung über die
Steuerleitungen 213, 214, 215 und 216, wie oben beschrieben
wurde. Wenn der Zählwert in einem Zähler 000 erreicht, wird
dies als Befehlsabruf für den zugehörigen Prozessor interpretiert.
Daher kann jeder der vier Prozessoren gleichzeitig einen Befehl
ausführen, wobei jeder der Befehle eine andere Zykluszahl
hat. Die bei jedem vorgegebenen Taktzyklus die imaginäre Linie
219 erreichenden Steuersignale stellen Steuersignale für vier
unterschiedliche Befehle und für vier unterschiedliche Prozessoren
dar. So erscheinen beispielsweise die Steuersignale, die
dem ersten Prozessor während eines ersten Zyklus zugeordnet
sind, au 87399 00070 552 001000280000000200012000285918728800040 0002003890947 00004 87280f Leitungen 213; während eines zweiten Zyklus auf
Leitungen 214; während eines dritten Zyklus auf Leitungen 215
und während eines vierten Zyklus auf Leitungen 216. Die vom
zweiten Prozessor benötigten Steuersignale folgen nach; diejenige
des dritten und vierten Prozessors folgen hinter denjenigen
des zweiten Prozessors.
Das Pipelining der Signale ist in Fig. 13 dargestellt. Die
Multiprozessoroperation des Prozessors 100 der Fig. 10 ist in
Fig. 13 durch vier Prozessoren, Prozessoren 1, 2, 3 und 4,
gezeigt. Jede der Registergruppen ist einem der Prozessoren
zugeordnet. Die vier Phasen eines einzigen Befehlszyklus sind
oben in Fig. 13 bezeichnet. In Fig. 13 werden Register 101
verwendet, um anzugeben, daß der Inhalt aus den von einem
Befehl aufgerufenen speziellen Registern an den A-BUS, B-BUS
und C-BUS angelegt wird. Die Register sind 118, 119 und 120
auf dem A-BUS; 122, 123, 124 und 125 auf dem B-BUS; 120, 122,
129, 130 und 131 auf dem C-BUS.
Während einer ersten Phase werden zuvor in den Gruppe-1-Registern
(z. B. zwei von ihnen) gespeicherte Signale aus den Registern
auf den A-BUS, B-BUS und C-BUS ausgeblendet. Während
dies geschieht, werden den Registern der Gruppe 2 zugeordnete
Signale aus den Registern 141, 142, 143 in die ALU 102a und
102b ausgeblendet. Dies ist in Fig. 13 als Prozessor 2 in der
ersten Phasenspalte gezeigt. Gleichzeitige Signale werden aus
Registern 145a und 145b in den Speicher für Gruppe-3-Register
für Prozessor 3 ausgeblendet. Schließlich werden den Gruppe-4-Registern
zugeordnete Signale während dieser ersten Phase aus
Registern 146 auf den D-BUS ausgeblendet. Während der zweiten
Phase werden Gruppe-1-Registern zugeordnete Signale aus der
ALU an Register 145 angelegt. Die Gruppe-2-Registern zugeordneten
Daten werden an den Speicher angelegt. Die den Gruppe-3-
Registern zugeordneten Daten werden vom Register 146 an den
D-BUS angelegt. Die den Gruppe-4-Registern zugeordneten Daten
werden auf den A-BUS, B-BUS und C-BUS ausgeblendet. In ähnlicher
Weise werden während der dritten und vierten Phasen
jedes Befehlszyklus diese Pipeliningoperationen in der in Fig. 13
gezeigten Weise fortgesetzt, wodurch sich effektiv vier
Prozessoren ergeben.
In diesem Abschnitt wird jeder Befehl des Prozessors zusammen
mit den speziellen Register- und Speicheroperationen angegeben.
Kleinbuchstaben werden nachfolgend zur Bezeichnung des
Inhalts eines Registers verwendet. Beispielsweise wird der
Inhalt des Befehlszeigerregisters als "ip" gezeigt. Die Register und
Flags sind nachfolgend mit ihrer Korrelation zur Fig. 12 bezeichnet.
Das Kopfelement des Rückkehrstapels ist auch als ein Register
adressierbar, obwohl es physikalisch im RAM angeordnet ist.
Für jeden Befehl werden unten die Operation, die Codierung und
die Zeitgabe in Standard-C-Sprachennotation angegeben.
Der Austausch von TOS mit NEXT ist ein Spezialfall der
ALU-Operationen unter Verwendung des direkten Datenweges
zwischen TOS und NEXT. Das NEXT-Register erhält ein cc von dem
TOS über ein Pipelineregister, bevor TOS mit dem Inhalt von
NEXT geladen wird (nicht-simultane Übertragung).
Wie zuvor erwähnt, enthält die ALU 102b Mittel zum Codieren
von 4-Bit-Tetraden in 6-Bit-Worte zum Senden (Codierer gemäß
Fig. 14) und zum Decodieren von 6-Bit-Worten in die 4-Bit-Tetraden
(Decodierer gemäß Fig. 15). Sowohl der Codierer als
auch der Decodierer verwenden eine festverdrahtete Logik,
welche eine sehr rasche Umsetzung in beiden Richtungen gestattet.
Außerdem ist in Fig. 16 eine Schaltung gezeigt, die verifiziert,
daß jedes von der Zelle empfangene 6-Bit-Wort tatsächlich
ein 3-aus-6-Code ist, d. h. drei Nullen und drei Einsen
Fig. 9) hat.
Im folgenden wird auf Fig. 14 Bezug genommen, in der das Register
142 dargestellt ist, wobei vier Bits des Registers Daten
D0 bis D3 enthalten. Wenn die ALU angewiesen wird, diese Daten
zu codieren, so werden die resultierenden sechs Bits an das
Latch-Register 145b angelegt. Um die in Fig. 9 gezeigte Umsetzung
zu gewinnen, wird das D0-Bit direkt an die erste Stufe
des Registers 145d angelegt und wird zu E0, dem codierten Bit.
Auch das Bit D3 wird direkt in das Register eingekoppelt und
wird zu E5. Jedes der restlichen Bits E1 bis E4 wird von den
Logikschaltungen 154 bis 150 entwickelt. Jede dieser Logikschaltungen
ist so angeordnet, daß sie D0, D1, D2 und D3 aufzunehmen
vermag. Jede Logikschaltung enthält gewöhnliche Gatter,
welche die innerhalb des zugehörigen Blocks dargestellte
Gleichung implementieren. Diese Gleichungen sind in Standard-C-Sprache
("&"=logisches UND, "!"=logisches NICHT und "l"=logisches
ODER). Diese Gleichungen können mit gewöhnlichen
Gattern implementiert werden.
Der Decodierer gemäß Fig. 15 ist in ähnlichem Format gezeigt.
Diesmal sind die sechs Bits der codierten Daten im Register
142 gezeigt. Die decodierten vier Datenbits sind im Register
145 gezeigt. Um das Zuordnungsmuster gemäß Fig. 9 zu implementieren,
wird das E0-Bit direkt an das Register 145 angelegt
und wird D0. Das E5-Bit liegt direkt am Register 145 und wird
das D3-Bit. Logische Schaltungnen 154 bzw. 155 liefern die Bits
D2 und D1. Die Schaltung 154 ist so angeordnet, daß sie die
Bits E0, E3, E4 und E5 aufnimmt, während die Schaltung 155 E0,
E1, E3 und E5 aufnimmt (E2 wird zur Entwicklung der D0 bis
D3-Bits nicht benutzt). (Einige der 6-Bit-Muster sind unbenutzt,
und andere werden zur Synchronisation verwendet und
bedürfen daher keiner Umsetzung in eine Datentetrade.) Die
Schaltungen 154 und 155 sind aus gewöhnlichen logischen Gattern
aufgebaut und implementieren die gezeigten Gleichungen.
Das Symbol "∧" stellt die Exklusiv-ODER-Funktion in den
Gleichungen dar.
Die Schaltung gemäß Fig. 16 überprüft, wie erwähnt, ob die
empfangenen 6-Bit-Worte drei Nullen und drei Einsen enthalten.
Die codierten Worte werden vom Stack-Kopf-Register
122 in die beiden Volladdierer 157 und 158 eingekoppelt.
Diese Addierstufen sind in der ALU 102b enthalten. Jeder Addierer
nimmt ein X-, Y- und ein Übertragseingangssignal auf
und liefert eine Summe und einen Übertragsausgang. Diese gewöhnlichen
Addierstufen sind jeweils so angeordnet, daß sie
ein Bit des codierten Worts in der gezeigten Weise aufnehmen.
(Irgendeine Kopplung jedes Bits an irgendeinen Eingang der
Adresse 157 und 158 kann verwendet werden.) Die Übertragsausgänge
der Addierer 157 und 158 sind mit dem Exklusiv-ODER-Gatter
159 gekoppelt; die Summenausgänge der Addierer 157 und 158
sind mit dem Exklusiv-ODER-Gatter 160 gekoppelt. Der Ausgang
der Gatter 159 und 160 ist mit den Eingangsanschlüssen eines
UND-Gatters 161 gekoppelt. Wenn der Ausgang dieses UND-Gatters
im hohen Zustand ist, enthält das Wort im Register 102 drei
Einsen und drei Nullen. Anderenfalls ist der Ausgang des Gatters
161 auf dem niedrigen Zustand (Abbruchbedingung). Die
einlaufenden Pakete werden geprüft, um festzustellen, daß
jedes 6-Bit-Wort gültig ist, während es in die 4-Bit-Tetraden
(nibbles) decodiert wird.
Der I/O-Abschnitt weist mehrere Schaltungselemente, wie einen
Rampengenerator, Zähler, Komparator usw. auf, die in verschiedenen
Konfigurationen unter Softwaresteuerung miteinander
verbunden sind. Beispiele hierfür sind unten für die
Analog/Digital(A/D)- und Digital/Analog(D/A)-Operationen gezeigt.
Diese Elemente mit ihren Software-konfigurierbaren
Verbindungen liefern eine hohe Flexibilität für die Zelle und
gestatten ihr, viele Aufgaben durchzuführen. Der gesamte I/O-
Abschnitt wird vorzugsweise auf demselben "Chip" hergestellt,
der auch den Prozessor enthält.
Wie in Fig. 10 gezeigt und oben erörtert wurde, weist jede der
Zellen vier Eingabe/Ausgabe(I/O)-Unterabschnitte auf; drei der
Unterabschnitte 107, 108 und 109 haben jeweils ein Leitungspaar,
identifiziert als Pin A und Pin B. Der vierte Unterabschnitt
110 hat einen einzigen "Nur-Lese"-Pin 106. Jeder der
vier Unterabschnitte kann mit einem der vier Unterprozessoren
kommunizieren. Wie in Fig. 12 gezeigt ist, wird dies auf einfache
Weise dadurch implementiert, daß der Adreßbus (AD-BUS)
und der Speicherbus (M-BUS) mit jedem der vier I/O-Unterabschnitte
verbunden wird. Die Verwendung des M-BUS über das
Register 146 mit dem D-BUS ermöglicht es den I/O-Unterabschnitten,
mit den Prozessorregistern zu kommunizieren.
Jeder Pin A und Pin B kann TTL-Signale empfangen und liefern
und drei Zustände annehmen (tristated). Bei dem bevorzugten
Ausführungsbeispiel kann jeder Pin angenähert 40 Milliampere
aufnehmen und abgeben (mit Ausnahme des Pins 106). Alle A-Pins
können programmiert werden, um ein analoges Ausgangssignal zu
liefern, und ein Digital/Analog-Umsetzer ist in drei der I/O-
Unterabschnitten 107, 108 und 109 integriert, um ein analoges
Ausgangssignal am Pin B zu entwickeln. Ein analoges Eingangssignal
an einem der B-Pins kann in einen digitalen Zählwert
umgesetzt werden, da drei der I/O-Unterabschnitte A/D-Umsetzer
enthalten, die mit diesen Pins gekoppelt sind. Jedes Pin-Paar
(Pin A und Pin B) können als Differenzverstärker für die Eingangssignale
arbeiten, ein Differenzempfänger, ein Differenzsender
und ein Differenzspannungskomparator. Die I/O-Unterabschnitte
können zur Durchführung vieler unterschiedlicher
Funktionen verwendet werden, von einfachem Schalten bis zu
beispielsweise einer Kopplung von zwei Pin-Paaren zum Treiben
der Wicklungen eines Schrittschaltmotors.
Die in Fig. 17 bis 23 gezeigten Schaltungen sind in Unterabschnitten
107, 108 und 109 wiederholt. Die Pin A und Pin B
zugeordneten Schaltungen (wie die Pufferabschnitte gemäß Fig.
17) sind im I/O-Unterabschnitt 110 nicht vollständig enthalten.
Nur eine ausreichende Pufferung wird benötigt, die das
Lesen von Daten am Pin 106 ermöglicht.
Bezug genommen wird auf den I/O-Pufferabschnitt gemäß Fig. 17.
Auslaufende Daten werden an Pin A über den Puffer 163 angelegt.
In ähnlicher Weise werden auslaufende Daten an Pin B
über den Puffer 164 angelegt, nachdem die Daten den
I/O-Steuerschalter 165 durchlaufen haben. Diese hinausgehenden
Daten werden beispielsweise an Pin A vom Register 206 der Fig.
23 über Gatter 208 der Fig. 19 angelegt. Der Steuerschalter
165 dient zur Aktivierung der Ausgaben zum Pin A über den
Puffer 163, wenn Aktivierung A (EN.A) hoch ist (Leitung 166).
Außerdem aktiviert der Schalter den Ausgang zum Pin B, wenn
Aktivierung B (EN.B) hoch ist (Leitung 167) und aktiviert
Ausgänge zu beiden Pins (mit Inversion des Ausgangs an Pin B),
wenn Aktivierungs RS-485 hoch ist (Leitung 168). Das abgehende
Analogsignal zum Pin A wird über den Schalter 175 geliefert,
wenn das Aktivierungs-Analogausgangssignal hoch ist.
Einlaufende Signale zum Pin A werden an einen Eingangsanschluß
des Differenzverstärkers 169 angelegt. Der andere Anschluß
erhält ein Referenzpotential (z. B. 2,5 Volt). Dieser Verstärker
weist auch den gewöhnlich benutzten Hysteresemodus zur
Verhinderung der Erfassung von Rauschen auf. Dieser Modus
wird aktiviert, wenn das Hystereseaktivierungssignal (Pin A),
das am Verstärker 169 ansteht, hoch ist. Der Ausgang des Verstärkers
169 ist mit einer Übergangsdetektorschaltung 171
gekoppelt, die einfach jeden Übergang feststellt, d. h. einen
Q-auf-1- oder einen 1-auf-0-Übergang.
Die Eingangssignale zum Pin B werden an einen Anschluß eines
Differenzverstärkers 170 angelegt, der identisch zum Verstärker
169 ausgebildet sein kann. Der Verstärker 170 nimmt das
Hystereseaktivierungssignal (Pin B) auf. Der andere Eingang
des Verstärkers 170 (Leitung 176) kann so angeordnet sein, daß
er eines von einigen Signalen aufnimmt. Er kann ein Gleichstromsignal
zum Spannungsvergleich, ein Rampensignal, das
weiter unten erläutert wird, das Signal auf Pin A für Differenzmessung
oder ein Referenzpotential (z. B. 2,5 Volt) aufnehmen.
Das Ausgangssignal des Verstärkers 170 kann für einige
Operationsmoden durch das Exklusiv-ODER-Gatter 177 invertiert
werden. Ein Übergangsdetektor 172 ist den Pin-B-Eingängen
zugeordnet, wiederum zur Feststellung von Übergängen von 0-
auf-1 oder 1-auf-0.
Jede der Zellen weist einen Zeitgabegenerator (RC-Oszillator)
zur Bereitstellung eines 16 MHz-Signals auf. Dieses Signal ist
mit einem Frequenzmultiplizierer 178 verbunden, der im I/O-Abschnitt
(Fig. 18) enthalten ist. Der Multiplizierer 178 liefert
Ausgangsfrequenzen an jeden I/O-Unterabschnitt. Dieser
Multiplizierer liefert eine Frequenz
Der geladene Wert ist ein 16-Bit-Wort, das in ein Register des
Frequenzmultiplizierers 178 geladen ist. Der Frequenzmultiplizierer
weist vier 16-Bit-Register und eine 16-Bit-Zählerkette
auf. Vier Logikschaltungen ermöglichen die Auswahl von vier
unterschiedlichen Ausgangssignalen, eines für jeden Unterabschnitt.
Zwei Buszyklen (jeweils acht Bits) dienen zum Laden
der 16-Bit-Worte in das Register des Frequenzmultiplizierers
178). Wie aus der obigen Gleichung zu sehen ist, kann ein
relativ weiter Bereich von Ausgangsfrequenzen erzeugt werden.
Diese Frequenzen dienen vielen unterschiedlichen Funktionen,
einschließlich Bitsynchronisation, wie noch beschrieben werden
wird.
Der Ausgang des Multiplizierers 178 in jedem Unterabschnitt
ist mit einem 8-Bit-Zähler 179 gekoppelt. Der Zähler kann
anfänglich von einem Zähler-Laderegister 180 aus dem Datenbus
des Prozessors geladen werden. Dieses Register kann beispielsweise
Daten aus einem Programm aufnehmen. Der Zählwert im
Zähler wird an ein Register 181 und an einen Komparator 182
angelegt. Der Komparator 182 erfaßt auch die acht Bits in
einem Register 183. Der Inhalt dieses Registers wird ebenfalls
vom Datenbus des Prozessors geladen. Wenn eine Übereinstimmung
zwischen den Inhalten im Zähler und im Register 183 vom Komparator
162 festgestellt wird, liefert der Komparator ein
Ereignissignal an die Zustandsmaschine gemäß Fig. 19 (Eingang
zu Multiplexern 190 und 191). Der Inhalt des Zählers 179 kann
in das Register 181 bei Erhalt eines Signals aus der Zustandsmaschine
eingegeben (latched) werden (Ausgang des Ausführregisters
198 der Fig. 19). Dasselbe Ausführregister 198 kann
ein Laden des Zählers 179 aus Register 180 bewirken. Wenn der
Zähler einen vollen Zählwert erreicht (Endzählung), wird ein
Signal an die Zustandsmaschine der Fig. 19 angelegt (Eingang
zu Multiplexern 190 und 191).
Im folgenden wird auf Fig. 19 Bezug genommen. Der Prozessor-
M-Bus steht mit Registern 185 und 186 in Verbindung, die beide
Maskierfunktionen ausführen. Drei Bits des Registers 185
steuern die Auswahl einer der mit dem Multiplexer 190 gekoppelten
fünf Leitungen; in ähnlicher Weise steuern drei Bits
des Registers 186 die Anzahl einer der mit dem Eingang des
Multiplexers 181 gekoppelten fünf Leitungen. Die Ausgänge der
Maskierregister 185 und 186 sind mit einem Multiplexer 187
verbunden. Die fünf Bits vom Multiplexer 187 werden an ein
Register 198 angelegt. Jedes dieser Bits definiert eine andere
Funktion, die im Ergebnis von der Zustandsmaschine ausgeführt
wird. Insbesondere steuern die Bits den Ladezähler, die Latchzählung,
den Aktivierungsrampenschalter, den Impulspin A und
den Impulspin B.
Die Multiplexer 190 und 191 erhalten beide das Endzählsignal
vom Zähler 179 der Fig. 19, das Vergleichssignal aus dem
Komparator 182, das Rampenstartsignal aus dem Rampengenerator
200 der Fig. 20 und die A- und B-Übergangssignale von den
Übergangsdetektoren 171 bzw. 172 der Fig. 17. Das 1-Bit-Ausgangssignal
aus jedem der Multiplexer 190 und 191 wird an ein
ODER-Gatter 188 angelegt. Dieses ODER-Gatter ist in der Weise
vorgespannt, daß bei Einlauf von Ausgangssignalen aus beiden
Multiplexern 190 und 191 dem Multiplexer 190 Priorität gegeben
wird. Das Ausgangssignal des Multiplexers 190 steuert den
Multiplexer 187 mit dem als "welches Ereignis" identifizierten
Signal. Dieses Signal wird auch in dem 3×3 FIFO-Puffer
199 gespeichert. Dieses Signal gibt an, welcher MUX 190 oder
191 ein Ereignis empfangen hat, und diese Daten werden zusammen
mit den Eingangssignalen an Pin A und Pin B im FIFO 199
gespeichert.
Die Zustandsmaschine für jeden der I/O-Unterabschnitte weist
vier D-Flipflops auf, die in der in Fig. 19 innerhalb der
gestrichelten Umrandung 189 gezeigten Weise in Reihe geschaltet
sind. Die Flipflops 184 und 186 nehmen das 8 MHz-Signal
auf, während die Flipflops 193 und 195 den Komplementärwert
dieses Zeitgabesignals erhalten. Das Taktsignal (CLK) wird aus
dem Q-Ausgang des Flipflops 194 gewonnen und an das Register
198 und FIFO 199 angelegt. Das Löschsignal (CLR) wird vom
Q-Anschluß des Flipflops 196 empfangen und an das Register 198
angelegt.
Im Betrieb werden die Maskierregister 185 und 186 unter Softwaresteuerung
geladen. Die Bits beispielsweise aus dem Register
185 bewirken die Auswahl eines der Eingangsleitungen zum
Multiplexer 190, beispielsweise die Endzählung. Danach
wartet die Schaltung gemäß Fig. 19 auf das Signal Stationszählung.
Wenn das Signal Endzählung erscheint, beginnt die
Zustandsmaschine zu arbeiten, und die fünf Datenbits aus dem
Register 185 werden über den Multiplexer 187 in das Register
198 eingegeben. Die Zustandsmachine ruft ein Ausgangssignal
auf einer der Leitungen aus dem Register 198 hervor, wodurch
beispielsweise ein Impuls an Pin A erzeugt wird. In ähnlicher
Weise kann ein Wort im Register 186 dazu verwendet werden,
wiederum beispielsweise den Zähler zu laden.
Die Flipflops 203 und 204 werden vom Ausgangspunkt des Registers
198 getaktet. Diese Flipflops ermöglichen eine Steuerung
des Ausgangssignals. Das ODER-Gatter 208 ermöglicht die Übertragung
von Daten aus einem Schieberegister 206 der Fig. 23 an
den Pin A. Dieses Register wird weiter unten erörtert.
Die sechs Bits niedriger Ordnung des AD-BUS werden in den
Decodierer in den I/O-Unterabschnitten 107, 108, 109 und 110
der Fig. 12 eingegeben. Zwei der Bits dienen zur Auswahl eines
speziellen I/O-Elements, und der Rest wird zur Steuerung einer
Operation decodiert. Die PLA 136 der Fig. 11 hat generalisierte
Ausgänge 215, die parallel zu allen I/O-Unterabschnitten
107, 108, 109 und 110 geschaltet sind, um den A-BUS-Taktzyklus
für zur Steuerung der Operation der I/O-Unterabschnitte verwendete
Daten auszuwählen.
Zuerst wird auf Fig. 20 Bezug genommen. Das I/O-Untersystem
weist einen Rampengenerator 200 auf, der kontinuierlich Rampen
einer vorgegebenen Periode erzeugt. Das Ausgangssignal des
Rampengenerators wird über Puffer 201 gepuffert und durch
Schalter 202 augsewählt. Der Schalter wird an einem Zählwert
(Zeitpunkt) augewählt, der dem Start jedes Rampensignals
folgt, wodurch dasselbe Potential an den Kondensator 203 angelegt
wird. Dieser Kondensator wird geladen, und das Potential
wird über Puffer 204 an Pin A angelegt, wenn der Schalter 175
geschlossen ist. (Schalter 175 ist in Fig. 17 gezeigt.) Der
Schalter 202, Kondensator 203 und Puffer 204 wirken als Abtast-
und Halteschaltung (S+H).
In Fig. 21 sind einige zuvor beschriebene Schaltungselemente
neu gezeigt, um zu beschreiben, wie eine Digital/Analog-Umsetzung
stattfindet und um zu zeigen, wie die Schaltungselemente
des I/O-Unterabschnitts über Software von der I/O-Steuerungs-
und Zustandsmaschine gemäß Fig. 19 rekonfiguriert werden können,
um unterschiedliche Funktionen durchzuführen.
Bei einer Digital/Analog-Umsetzung wird eine geeignete Frequenz
(f₀) von dem Frequenzmultiplizierer 178 oder dem Zähler
179 in Fig. 18 ausgewählt, die der Periode der vom Rampengenerator
200 (Fig. 21) erzeugten Rampen entspricht. Ein dem
gewünschten analogen Ausgangssignal entsprechender Digitalwert
wird in das Register 183 geladen. Wenn eine Rampe beginnt,
wird das Rampenstartsignal an die Zustandsmaschine 189 der
Fig. 19 (beispielsweise über den Multiplexer 190) und die
Flipflops angelegt. Dadurch wird der Zähler 179 gelöscht (z. B.
alles Nullen). Das f₀-Signal zählt dann in den Zähler 179.
Der Komparator 182 vergleicht sodann den Inhalt des Zählers
179 mit demjenigen des Registers 183. Wenn die beiden Worte
gleich sind, wird das Vergleichssignal über Multiplexer 191
angelegt und bewirkt wiederum die Aktivierung der Zustandsmaschine
(S.M.) 189, gezeigt durch "SM₁", und der Schalter 202
der Abtast- und Halteschaltung wird geschlossen. Bei jeder vom
Rampengenerator erzeugten Rampe ist der Rampenschalter 202
geschlossen (z. B. für 500 Nanosekunden), wodurch der Kondensator
203 auf eine Gleichspannung aufgeladen wird, die der im
Register 183 befindlichen Digitalzahl entspricht.
Eine Art, in der die A/D-Umsetzung durchgeführt werden kann,
ist in Fig. 22 gezeigt. Das analoge Eingangssignal wird an
einen Eingangsanschluß des Differenzverstärkers 170 angelegt.
Die Rampe wird an den anderen Anschluß des Verstärkers 170
angelegt. Wenn anfangs die Rampe gestartet wird, bewirkt die
Zustandsmaschine 89, daß der Zähler 179 vom Register 180 (z. B.
alles Nullen) geladen wird. Der Zähler wird bei einer Frequenz
(f₀) getaktet, die für die Rampenperiode geeignet ist. Wenn
der Übergangsdetektor 172 feststellt, daß das Potential auf
Pin B und das Rampenpotential übereinstimmen, bewirkt die
Zustandsmaschine 189, daß der Zählwert im Zähler 179 in das
Latch 181 eingespeichert wird. Das Digitalwort im Latch 181
entspricht dem Gleichspannungspotential auf Pin B, wodurch die
Analog/Digital-Umsetzung bewirkt wird.
Wie oben beispielsweise in Verbindung mit Fig. 1 ausgeführt,
kann jede Zelle Daten über Kommunikationsleitungen oder Verbindungen
üertragen. Die Zellen in einem Unterkanal senden
Daten bei der gleichen Frequenz, die typischerweise bestimmt
wird durch die gerade verwendete Kommunikationsverknüpfung,
beispielsweise 10K BPS in einer rauschbehafteten Umgebung, wie
Netzleitungen. Bei dem derzeit bevorzugten Ausführungsbeispiel
haben die Zellen keine Quarzoszillatoren, sondern basieren auf
RC-Oszillatoren. Die zuletzt genannten Oszillatoren sind nicht
besonders stabil, und Frequenzschwankungen treten sowohl in
Abhängigkeit von der Temperatur als auch als Folge von Prozeßänderungen
auf. Es gibt außerdem keine Synchronisation zwischen
den Zellen, so daß jede Zelle ihre Synchronisation gegenüber
einlaufenden Daten herbeiführen muß, um die Daten in
geeigneter Weise lesen zu können. Ein Merkmal aller Zellen
besteht darin, daß sie die Frequenz der einlaufenden Daten
feststellen und speichern und bei Bestätigung eines Pakets bei
einer Frequenz senden können, mit der das ursprüngliche Paket
ausgesendet worden ist. Dies reduziert die Belastung der Zellen
mit der Synchronisation, wenn sie ein Bestätigungspaket
aufnehmen.
Bezug genommen wird auf Fig. 23 während des Suchmodus; ein
I/O-Unterabschnitt sucht nach Daten. Während dieses Modus
liefert der Frequenzmultiplizierer eine Frequenz (f₀) an den
Zähler 179, und eine Zahl, die vom M-BUS kommt, wird in das
Register 183 geladen. Übereinstimmungen treten auf und werden
bestimmt von Komparator 182 bei einer Frequenz, die der erwarteten
einlaufenden Datenfrequenz entspricht. Insbesondere wird
der Endzählwert des Zählers 179 mit den Übergängen synchronisiert.
Wie durch die gepunktete Linie 201 dargestellt
ist, sucht der Prozessor kontinuierlich nach Übergängen aus
den Übergangsdetektoren 171 und 172 der Fig. 17. Wenn Übergänge
auftreten, stellt der Prozessor fest, ob die Übergänge kurz
vor oder nach dem Endzählwert auftraten und stellt dann
die Frequenz (f₀) ein, bis die Endzählung gleichzeitig
mit den Übergängen auftritt. Diese Frequenz ist die Verschiebefrequenz
für das Schieberegister 206. (Die vom Prozessor
durchgeführten Schritte sind in Fig. 23 als Blöcke 210 und 211
gezeigt.) Die in das Register 183 geladene Zahl liefert eine
Phasenverschiebung zwischen dem Zeitpunkt, an dem Übergänge
auftreten und dem idealen Zeitpunkt zur Datenverschiebung im
Register 206. Dies verhindert, daß Daten während Übergängen
verschoben werden. Zu beachten ist, daß Zähler 179 jedesmal
dann neu geladen wird (z. B. alles Nullen), wenn er eine
Endzählung (terminal count) erreicht.
Wenn Bitsynchronisation auftritt, wird die für die Synchronisation
(16-Bit-Wort) benötigte Frequenz im Prozessorspeicher
gespeichert und zum Einstellen der Sendefrequenz gespeichert,
wenn das Paket, für welches die Frequenz entwickelt worden
ist, bestätigt wird. Diese gespeicherte Bitfrequenz dient, wie
weiter unten erörtert wird, im Konkurrenz-Backoff-Algorithmus
dazu, Schlitzperioden (M) an die letzte Empfangsbitfrequenz
anzupassen.
Das Komparator-Ausgangssignal dient als Verschiebefrequenz für
ein 6-Bit-Schieberegister 206. Während des Suchmodus werden
die Daten vom Pin B kontinuierlich durch das Register 206
geschoben. Die Präambel zu einem Paket, gezeigt in Fig. 9
(010101-Bit synch), wird im Schieberegister 206 verschoben und
die Schiebefrequenz derart eingestellt, daß Synchronisation
auftritt. Wenn das am Paketanfang stehende Flag
auftritt (Tetrade synch-101010), enthalten die beiden letzten
Stufen des Registers 206 Einsen, und dies wird vom UND-Gatter
207 festgestellt. Eine binäre Eins am Ausgang des Gatters 207
beendet den Suchmodus und liefert die Tetradensynchronisation.
Wenn dies stattfindet, werden die Daten aus dem Schieberegister
(6 Bits) ausgetaktet in ein Datenlatch 235, und von dort
können die Daten in den Prozessor getaktet und in 4-Bit-Tetraden
umgesetzt werden. Eine andere Schaltungskomponente ist
vorhanden, um alles Nullen im Schieberegister 206 festzustellen.
Wenn dies geschieht, kehren der Prozessor und das Schieberegister
in den Suchmodus zurück. Die in das Register 183
geladene Zahl bewirkt eine Phasenverschiebung zwischen dem
Zeitpunkt, an welchem Übergänge auftreten, und dem idealen
Zeitpunkt zur Datenverschiebung in und aus dem Register 206.
Dies verhindert die Verschiebung von Daten während Übergängen.
Auszusendende Daten werden in das Datenregister 205 übertragen
(zu beachten ist, daß nur eine 4-Bit-Tetrade darstellende
sechs Bits in das Datenregister 205 übertragen werden). Diese
sechs Bits werden dann in das Schieberegister 206 übertragen
und mit der Schiebefrequenz ausgeschoben. Wie erwähnt, entspricht
die Verschiebefrequenz der Frequenz der einlaufenden
Daten, wenn das ausgeschobene Paket eine Quittung bzw. Bestätigung
darstellt. Wenn das abgehende Paket andererseits zu
einigen Zellen gesendet wird, ist die Verschiebefrequenz die
Nennverschiebefrequenz für die sendende Zelle.
(Zu beachten ist, daß in Fig. 23 das Register verlassende
Daten nur an Pin A gezeigt sind. Für andere Moden wird der
Komplementärwert von Pin A an Pin B gelegt - und andere Variationen
sind möglich.)
Jeder I/O-Unterabschnitt hat eine Anzahl von Registern, die
bidirektionelle Verbindungen zum M-BUS haben. Diese Register
befinden sich in den I/O-Unterabschnitten 107, 108, 109 und
110 der Fig. 12. Das Lesen und Schreiben dieser Register unter
Prozessor-Programmsteuerung konfiguriert die I/O-Untersysteme
für den richtigen Betrieb. Fig. 12 zeigt die vier I/O-Unterabschnitte
107, 108, 109 und 110 und zeigt außerdem die Verbindungen
zu den unteren acht Bits des M-BUS und den unteren
sechs Bits des AD-BUS. Zwei AD-BUS-Bits wählen eine der vier
I/O-Einheiten aus, und die restlichen vier Bits werden decodiert,
um eines der I/O-Steuer- und Zustandsregister (weiter
unten beschrieben) dieses Unterabschnitts auszuwählen. Es gibt
zwei Leitungen von der PLA 136 der Fig. 11 zur Steuerung der
Aktion der I/O-Unterabschnitte. Eine Leitung ist "Lesen" und
die andere Leitung ist "Schreiben". Die richtigen Leitungen
sind während der Phase 3 der Taktzyklen aktiv.
Die I/O-Register, Funktionen und Bitdefinitionen werden weiter
unten beschrieben:
Ereignis 0 Konfigurationsregister: Register, Maskierung, 185,
Fig. 19;
Bit 0: Bei Ereignis Pin A umschalten
Bit 1: Bei Ereignis Pin B umschalten
Bit 2: Bei Ereignis 8-Bit-Zählwert Latch-speichern
Bit 3: Bei Ereignis Rampenschalter schließen (momentan ein)
Bit 4: Bei Ereignis 8-Bit-Zähler laden
Bits 5-7: Eingangsmultiplexer: MUX 190, Fig. 19.
000 Übergang an Pin A
001 Übergang an Pin B
010 Endzählwertereignis
011 Zählwertvergleichsereignis
100 Rampenstartereignis
101 Pin-B-Vergleichsereignis
Bit 1: Bei Ereignis Pin B umschalten
Bit 2: Bei Ereignis 8-Bit-Zählwert Latch-speichern
Bit 3: Bei Ereignis Rampenschalter schließen (momentan ein)
Bit 4: Bei Ereignis 8-Bit-Zähler laden
Bits 5-7: Eingangsmultiplexer: MUX 190, Fig. 19.
000 Übergang an Pin A
001 Übergang an Pin B
010 Endzählwertereignis
011 Zählwertvergleichsereignis
100 Rampenstartereignis
101 Pin-B-Vergleichsereignis
Ereignis 1 Konfigurationsregister: Maskierregister 186,
Fig. 19;
Bit 0: Bei Ereignis Pin A umschalten
Bit 1: Bei Ereignis Pin B umschalten
Bit 2: Bei Ereignis 8-Bit-Zählwert Latch-speichern
Bit 3: Bei Ereignis Rampenschalter schließen (momentan ein)
Bit 4: Bei Ereignis 8-Bit-Zähler laden
Bits 5-7: Eingangsmultiplexer: MUX 191, Fig. 19.
000 Übergang an Pin A
001 Übergang an Pin B
010 Endzählwertereignis
011 Zählwertvergleichsereignis
100 Rampenstartereignis
101 Pin-B-Vergleichsereignis
Bit 1: Bei Ereignis Pin B umschalten
Bit 2: Bei Ereignis 8-Bit-Zählwert Latch-speichern
Bit 3: Bei Ereignis Rampenschalter schließen (momentan ein)
Bit 4: Bei Ereignis 8-Bit-Zähler laden
Bits 5-7: Eingangsmultiplexer: MUX 191, Fig. 19.
000 Übergang an Pin A
001 Übergang an Pin B
010 Endzählwertereignis
011 Zählwertvergleichsereignis
100 Rampenstartereignis
101 Pin-B-Vergleichsereignis
8-Bit-Zähler-Laderegister: Zählerladeregister 180;
Fig. 18;
Bits 0-7 = Zählwert
Schreibkommunikationen-Datenausgaberegister: Datenregister
205, Fig. 23;
Bits 0-7 = Daten
Schreibkommunikationskonfigurationsregister: (nicht gezeigt)
(geladen vom M-BUS)
verwendet zur Konfiguration des Kommunikationsteilsystems für Sende- und Empfangsfunktionen.
verwendet zur Konfiguration des Kommunikationsteilsystems für Sende- und Empfangsfunktionen.
Bit 0: 0 = Empfangen, 1 = Senden
Bit 1: NOP
Bit 2: NOP
Bit 3: Aktivierung Schieberegister
Bit 4: Eintritt in Suchmodus
Bit 5: NOP
Bit 6: NOP
Bit 7: NOP
Bit 1: NOP
Bit 2: NOP
Bit 3: Aktivierung Schieberegister
Bit 4: Eintritt in Suchmodus
Bit 5: NOP
Bit 6: NOP
Bit 7: NOP
Ausgangskonfigurationsregister 0: (nicht gezeigt) (geladen
vom M-BUS)
verwendet zum Einstellen von analogen und digitalen Pin- Konfigurationen.
verwendet zum Einstellen von analogen und digitalen Pin- Konfigurationen.
Bit 0: Aktivieren Pin A Analogausgabe
Bit 1: Aktivieren Pin A Digitalausgabe
Bit 2: Aktivieren Pin A Anheben
Bit 3: Aktivieren Pin A Absenken
Bit 4: Aktivieren Pin B Inversion
Bit 5: Aktivieren Pin B Digitalausgabe
Bit 6: Aktivieren Pin B Anheben
Bit 7: Aktivieren Pin B Absenken
Bit 1: Aktivieren Pin A Digitalausgabe
Bit 2: Aktivieren Pin A Anheben
Bit 3: Aktivieren Pin A Absenken
Bit 4: Aktivieren Pin B Inversion
Bit 5: Aktivieren Pin B Digitalausgabe
Bit 6: Aktivieren Pin B Anheben
Bit 7: Aktivieren Pin B Absenken
Ausgangskonfigurationsregister 1: (nicht gezeigt) (geladen
vom M-BUS)
verwendet zu Aktivierungs- und Vergleichsfunktionen.
verwendet zu Aktivierungs- und Vergleichsfunktionen.
Bit 0: Aktiviere 8-Bit-Zähler
Bit 1: Vergleiche Pin B mit TTL-Bezug
Bit 2: Vergleiche Pin B mit einstellbarer Referenzgleichspannung
Bit 3: Vergleiche Pin B mit Rampenspannung
Bit 4: Vergleiche Pin B mit Pin A
Bit 5: Aktiviere RS-485-Treiber
Bit 6: Aktiviere Eingangshysterese an Pin A
Bit 7: Aktiviere Eingangshysterese an Pin B
Bit 1: Vergleiche Pin B mit TTL-Bezug
Bit 2: Vergleiche Pin B mit einstellbarer Referenzgleichspannung
Bit 3: Vergleiche Pin B mit Rampenspannung
Bit 4: Vergleiche Pin B mit Pin A
Bit 5: Aktiviere RS-485-Treiber
Bit 6: Aktiviere Eingangshysterese an Pin A
Bit 7: Aktiviere Eingangshysterese an Pin B
Ausgangskonfigurationsregister 2: (nicht gezeigt) (geladen
vom M-BUS)
verwendet zum Einstellen von Pin-Logikpegeln.
verwendet zum Einstellen von Pin-Logikpegeln.
Bit 0: Ausführen, Laden 8-Bit-Zähler mit Wert in
8-Bit-Zähler-Laderegister
Bit 1: Setze Pin A auf Logikpegel 1
Bit 2: Setze Pin A auf Logikpegel 0
Bit 3: Setze Pin B auf Logikpegel 1
Bit 4: Setze Pin B auf Logikpegel 0
Bit 1: Setze Pin A auf Logikpegel 1
Bit 2: Setze Pin A auf Logikpegel 0
Bit 3: Setze Pin B auf Logikpegel 1
Bit 4: Setze Pin B auf Logikpegel 0
Untere Hälfte des Frequenzmultiplizierregisters: Frequenzmultiplizierer
178, Fig. 18;
niedrigeres Byte des Frequenzmultiplizierers
niedrigeres Byte des Frequenzmultiplizierers
Obere Hälfte des Frequenzmultiplizierregisters: Frequenzmultiplizierer
178, Fig. 18.
8-Bit-Vergleichs-Laderegister: Vergleichsladeregister 183, Fig. 18.
8-Bit-Vergleichs-Laderegister: Vergleichsladeregister 183, Fig. 18.
Byte für Vergleich
Leseereignis FIFO: FIFO 199, Fig. 19
Bit 0: 0 = Ereignis 1 trat ein
1 = Ereignis 0 trat ein
Bit 1: Pin-A-Pegel während des Eintretens des Ereignisses
Bit 2: Pin-B-Pegel während des Eintretens des Ereignisses
Bit 0: 0 = Ereignis 1 trat ein
1 = Ereignis 0 trat ein
Bit 1: Pin-A-Pegel während des Eintretens des Ereignisses
Bit 2: Pin-B-Pegel während des Eintretens des Ereignisses
Lese I/O-Bedingungsregister:
I/O-Zustand:
Bit 0: Eingabe Pin A
Bit 1: Eingabe Pin B
Bit 2: 1 = Rampe Vergleich
Bit 3: NOP
Bit 4: NOP
Bit 5: 1 = FIFO hat Daten
0 = FIFO leer
I/O-Zustand:
Bit 0: Eingabe Pin A
Bit 1: Eingabe Pin B
Bit 2: 1 = Rampe Vergleich
Bit 3: NOP
Bit 4: NOP
Bit 5: 1 = FIFO hat Daten
0 = FIFO leer
8-Bit-Zählerlatch: Register 181, Fig. 18
Zählbyte
Zählbyte
Kommunikationsdatenregister: Datenlatch 235, Fig. 23
Datenbyte
Datenbyte
Kommunikationszustandsregister: (nicht gezeigt) (liest auf
M-BUS)
Bit 0: Empfangsmodus: 1 = Daten in Schieberegister verfügbar
Sendemodus: 0 = Sendelatch bereit
Bit 1: 1 = in Suchmodus von Fig. 23
Bit 0: Empfangsmodus: 1 = Daten in Schieberegister verfügbar
Sendemodus: 0 = Sendelatch bereit
Bit 1: 1 = in Suchmodus von Fig. 23
Bei dem derzeit bevorzugten Ausführungsbeispiel gibt es fünf
Ressourcen, die von den Prozessoren gemeinsam genutzt werden.
Dies sind der EEPROM und die vier I/O-Unterabschnitte. Ein
Hardware-"Semaphor-Register" (SR) und fünf Worte im RAM dienen
zur Steuerung der gemeinsamen Ressourcennutzung. Fig. 30 zeigt,
wie sich die Multiprozessoren in gemeinsame Ressourcen teilen.
Das SR 95 der Fig. 12 liest und schreibt auf Bit 0 des M-BUS.
Jedes RAM-Wort enthält einen Zustand: Ruhe, Proz.#1, Proz.#2,
Proz.#3 oder Proz.#4. Ein Prozessor kann einen RAM-Platz vor
der Ressourcenzuweisung abfragen, um festzustellen, ob eine
Ressource belegt ist. Wenn die Ressource nicht zugewiesen ist,
greift sie auf das Semaphor-Register in der weiter unten beschriebenen
Weise zu. (Alternativ kann ein Prozessor den anfänglichen
RAM-Abfrageschritt überspringen und den RAM-Platz
nach dem Zugriff auf das Semaphor-Register prüfen.) Wenn die
Ressource bereits belegt ist, muß der Prozessor das Semaphor-
Register auf "0" löschen und auf einen Neuversuch warten.
Wenn die Ressource in "Ruhe" ist, weist der Prozessor eine
Ressource dadurch zu, daß er den Zustand des RAM-Registers von
"Ruhe" auf "Proz.#x" ändert und danach das Semaphor-Register
auf "0" löscht. Wenn der Prozessor mit der Ressource fertig
ist, löscht er den RAM-Platz auf "Ruhe".
Das SR ist ein 1-Bit-Hardware-Register. Während der Phase 3
seines zugehörigen Zyklus kann jeder Prozessor gegebenenfalls
auf das SR zugreifen. Im Zeitablauf bedeutet dies, daß die
Prozessoren auf das SR 295 einmal bei einem von vier aufeinanderfolgenden
Taktzyklen (d. h. Phasen) zugreifen können. Das SR
295 ist normalerweise auf "0" gesetzt (set). In Fig. 30 verlangen
die Prozessoren #1 und #3 keine Verwendung des SR 295.
Prozessor #2 ist während des Zugriffs auf SR gezeigt. Wenn er
bei Beginn des Zyklus eine "0" empfängt, weiß er, daß derzeit
nichts zugewiesen oder gelöscht wird, und er stellt den richtigen
RAM-Platz ein, und wenn dieser "Ruhe" enthält, setzt der
Prozessor seine "Proz.#" ein, wodurch die Ressource zugeordnet
wird, und danach "löscht" er das SR auf "0". Wenn der Prozessor
feststellt, daß ein anderer Prozessor die gemeinsam benutzte
Ressource gerade verwendet, ordnet er nicht seine Proz.#
zu und "löcht" danach das SR auf "0". In diesem Falle muß er
warten und einen Neuversuch starten.
Einige Operationen, wie diejenigen auf dem EEPROM, können
mehrere Taktzyklen in Anspruch nehmen, so daß der Prozessor
das RAM-Register "zuweisen" sollte, jedoch das SR 295 während
seiner Verwendung der gemeinsamen Ressource freigeben sollte.
Wenn der Prozessor seine Operation unter Verwendung des zugewiesenen
RAM-Platzes durchlaufen hat, greift er auf das SR
wiederum zu, bis er eine "0" findet. Danach "löscht" er den
RAM-Platz in "Ruhe" und "löscht" das SR 295 auf "0". Immer
wenn ein Prozessor auf das SR 295 zugreift und eine "1" antrifft,
läßt er das SR 295 im "1"-Zustand und muß für einen
Neuversuch warten.
Im Beispiel in Fig. 30 ist Prozessor #4 als Prozessor gezeigt,
der eine gemeinsam zu benutzende Ressource benötigt. Er fragt
das SR, um herauszufinden, ob es frei ist. Der Prozessor verwendet
eine "Test & Set"-Operation und da das SR 295 bereits
auf einer "1" war, verläßt die Test & Set-Operation das Register
mit einer "1". Er muß jetzt warten und erneut versuchen.
Er wird weiter versuchen, bis er Zugriff auf das SR 295 hat
und die Ressource im RAM-Wort in "Ruhe" findet.
Bei einer typischen Anwendung ist das Kommunikationsnetzwerk
zwischen den Zellen gering belastet, und die Zellen erfahren wenig
oder keine Konkurrenzverzögerung. Im Falle starken Verkehrs
kann das Netzwerk gesättigt werden. Eine starke Belastung erzeugt
Kollisionen und bedingt daher Neusendungen. Wenn Neusendungen
zu kollidieren fortfahren, kann sich das Netz sättigen. Der
Konkurrenz-Backoff-Algorithmus, der in dem Netzwerk Verwendung
findet, verteilt den Verkehr rasch über eine längere Zeitspanne,
so daß sich das System aus dem Sättigungszustand erholen
kann. Wenn der Verkehr nicht über eine längere Zeitperiode
verteilt wird, wird das System instabil; es kann sich nicht
aus dem Sättigungszustand erholen.
Zugriff auf einen Unterkanal unter Konkurrenzbedingungen wird
von zwei Mechanismen reguliert, Zurückstellung (deferring) und
backing off. Zurückstellung ist eine Kollisionsvermeidungstechnik,
die bei Gruppenbestätigungen Verwendung findet. Backing
off ist eine Verkehrs- oder Lastnivellierungstechnik.
Zurückstellung besteht aus Zählung freier Schlitze. Wenn die
Anzahl der von der Zelle gesehenen freien Schlitzen dem Zeitversetzungszählwert
gleich ist, überträgt die Zelle ihr Paket
in dem nächsten verfügbaren Schlitz.
Beim backing off erhöht die Zelle ihre Wartezeit vor einem
Versuch zum Wiederholungssenden eines Pakets, das einer Kollisionsbedingung
unterfallen ist. Die Größe dieser Erhöhung ist
eine Funktion der Anzahl von Kollisionen oder Wiederholungssendungen.
Der diese Funktion implementierende Algorithmus
wird "Backoff"- oder "Konkurrenz"-Algorithmus genannt.
Das Netzwerk benutzt ein Trägerabtast-Vielfachzugriffs(CSMA)-
Verfahren für das Auflösen der Konkurrenz auf dem Kommunikationskanal.
Wenn eine Zelle sendebereit ist, hört sie zuerst auf
den Kommunikationskanal. Wenn sie das Senden einer anderen
Zelle hört, wartet sie auf einen freien Kanal. Sobald sie
einen freien Kanal entdeckt, kann eine Zelle vor dem Senden
eine Verzögerung einführen. Das Verfahren der Bestimmung dieser
Verzögerung beruht auf einem Konkurrenzalgorithmus.
Die Zeit auf dem Kanal wird in Schlitzen gemessen, weil jeder
Schlitz M-Bits bei der zuletzt festgestellten Empfangsbaud-Rate
ist (d. h. Schiebefrequenz). Wenn eine Zelle eine Verzögerung
einführt, bevor sie sendet, wartet sie eine ganze Anzahl
von Schlitzen ab. Wenn eine Zelle einen leeren Kanal feststellt,
kann sie verzögern und danach, wenn sie sendefertig
ist, den Versuch unternehmen, auf einer Schlitzgrenze zu senden.
Wenn eine Zelle ein Paket, das eine Kollision erlitten
hat, sendet, verzögert sie um eine Zeitspanne, die von dem
Backoff-Algorithmus bestimmt wird. Die Backoff-Verzögerung ist
gleichmäßig über N-Schlitze statistisch verteilt, wobei N
durch den Backoff-Algorithmus eingestellt wird. Sein kleinster
Wert ist 2, und er wird nach oben eingestellt durch den Backoff-
Algorithmus vor jeder Wiederholungssendung eines Pakets.
Sein Maximalwert ist 2¹⁰.
Ein Paket aus einem Gruppenannoncierer an einen Satz von Gruppenhörern
bewirkt, daß jeder der Leser eine Bestätigung (Quittung)
an den Annoncierer sendet. Ohne eine Methode zur Entscheidung
des Konkurrenzzustandes unter diesen Bestätigungen
sind Kollisionen unvermeidbar. Um dieses Problem zu vermeiden,
findet ein eingebautes Reservierungssystem für Gruppenbestätigungen
Verwendung. Eine Hörerzelle verwendet ihre Gruppenmitgliedsnummer,
um festzustellen, welcher Schlitz für ihre Bestätigung
zu verwenden ist. Gruppenmitglied 5 sendet seine
Bestätigung im fünften freien Schlitz, und zwar dem Empfang
des ursprünglichen Pakets folgend. Die Folge ist, daß Gruppenmitglied
1 seine Bestätigung, dem Originalpaket folgend, im
ersten Schlitz sendet. Gruppenmitglied 2 sendet seine Bestätigung
in dem ersten Schlitz, der der Bestätigung des ersten
Gruppenmitglieds folgt. Dieser Vorgang setzt sich solange
fort, bis das letzte Gruppenmitglied auf das ursprüngliche
Paket geantwortet hat. Wenn ein Gruppenmitglied nicht antwortet
und daher einen Schlitz leer läßt, so antwortet das nächste
Gruppenmitglied im nächsten Schlitz.
Das Konkurrenz- und I/O-Zustandsdiagramm ist in Fig. 24 gezeigt.
Die folgende Tabelle gibt die Zustände und ihre Beschreibungen
an:
Bei dem derzeit implementierten Ausführungsbeispiel findet
keine Kollisionsfeststellung Verwendung. Gewöhnliche Schaltungen
können zur Schaffung dieses Merkmals Verwendung finden,
wobei Zellen Antworten liefern, wie in IEEE802.3 angegeben.
Bei Feststellung einer Kollision kann die Zelle ein Stausignal
über eine Ein-Schlitz-Zeit geben, um sicherzustellen, daß alle
Zellen auf dem Kanal die Kollision feststellen. Sie unterbricht
danach die Sendung und führt den Backoff-Algorithmus
aus. Der Backoff-Algorithmus stellt das Intervall für die
Konkurrenz-Zufallsumrechung (Randomisierung) ein. IEEE802.3
benutzt die Anzahl von Kollisionen, denen das Paket ausgesetzt
ist, zur Berechnung des Backoff-Intervalls. Das Zellennetzwerk
braucht nicht immer eine Kollisionsfeststellung zu haben, und
daher kann der Backoff-Algorithmus der Zelle die Protokoll-abgeleitete
Kollision zur Berechnung des Backoff-Intervalls benutzen.
Wenn die Zelle einen Kollisionsdetektor hat, stellt
dieser eine Kollision in demselben Schlitz fest, in welchem
sie auftritt, und versucht die Übertragung erneut (nach dem
Backoff-Intervall).
Für Zellen ohne Kollisionsdetektor stellt die Zelle das Auftreten
einer Kollision fest, wenn die Protokoll-Auszeitperiode
abläuft. Wenn eine Zelle ein Paket an mehrere Ziele (der Normalfall)
sendet, unterliegt es einer Kollision, wenn am Ende
der Protokoll-Auszeitperiode keine Antworten von einem der
Ziele empfangen worden sind. Wenn gerade eine Antwort empfangen
worden ist, gab es keine Kollision am Sendepunkt, und die
Wiederholungssendung findet statt ohne erhöhte Verzögerung
aufgrund von Backoff. Die Zelle führt dann den Backoff-Algorithmus
ebenso aus wie die Kollisionserfassung, und zwar unter
Verwendung der abgeleiteten Kollisionszählung. Nach dem Backoff-
Intervall sendet die Zelle das Paket.
Daher liegt der Unterschied zwischen der Kollisionsfeststellung
und der Kollisionsableitung in der Länge der Zeit, die
die Zelle braucht, um das Auftreten einer Kollision festzustellen.
Der bei dem derzeit bevorzugten Ausführungsbeispiel verwendete
Backoff-Algorithmus ist in IEEE802.3-Standard angegeben als
abgeschnittener binärer Exponential-Backoff. Das Backoff-Intervall
ist eine Exponentialfunktion der Zahl von Kollisionen
(detailliert oder abgeleitet) seit der letzten erfolgreichen
Übertragung. Ein Exponential-Backoff-Algorithmus gibt dem
System die Stabilität, die es zur Erholung aus Sättigungsbedingungen
braucht. Durch exponentielle Verteilung der Belastung
in einem gesättigten System ermöglicht der Algorithmus
dem System eine Erholung. Backoff-Intervall in Schlitzen = R,
wie R = statistische Zahl linear verteilt über das Intervall:
0 < R < 2 EXP [min(10, n)]
wobei n = Anzahl der Kollisionen.
Wenn eine Zelle zwei angeschlossene Sendeempfänger hat, sendet
sie jedes Paket über beide Sendeempfänger. Da die Sendeempfänger
auf unterschiedliche Subkanäle zugreifen, erfahren sie
unterschiedliche Lastbedingungen. Jeder Sendeempfänger wird
als separater Unterkanal behandelt und hat seine eigenen Backoff-
Parameter (Kollisionszählung und Backoff-Intervall). Die
Backoff-Parameter werden von den Zellen "gehalten", und zwar
ein Satz für jede Sendung.
Die Zufallszahl für den Backoff-Algorithmus wird nach einer
der folgenden beiden Methoden erzeugt: I. durch einen eine
pseudo-zufällige Zahl erzeugenden Algorithmus, der mit der
48-Bit-Zellen-ID (garantiert speziell für die jeweilige Zelle,
wie oben erörtert) eingeführt wird, II. durch Laufenlassen eines
Zählers und Auslesen der Bits niedriger Ordnung bei Feststellung
eines externen Ereignisses.
Die Schlitze haben gleiche Längen wie die Bitrate der zuletzt
empfangenen Daten. Zu beachten ist, daß Schlitzdauern von
Zelle zu Zelle variieren würden, wenn jede Zelle ihre eigene
interne Bitfrequenz benutzen würde.
Pakete, die mehrere Wege bis zu einem Ziel haben, können eine
lange Konkurrenzverzögerung über eine Route und eine kürzere
Verzögerung bei gleichzeitigem Lauf über eine andere Route
erfahren. Wenn eine solche Konkurrenzverzögerung über eine zu
lange Zeit zugelassen wird, könnte das spätere Paket ankommen,
nachdem die Ziel-Empfangssequenznummer zur gleichen Sequenznummer
im Paket zurückgelaufen ist. Ein Paket könnte so außer der
Reihenfolge ankommen, ohne daß das ARQ-Protokoll dies feststellen
würde. Um diese Art von Fehler zu vermeiden, benutzt
jede Paket das Konkurrenz-Zeitgabefeld (Fig. 6), welches
durch die Anzahl von Schlitzen dekrementiert wird, um die das
Paket aus Konkurrenzgründen bei jedem Abschnitt in einem Mehrabschnittweg
gewartet hat. Wenn derZählwert zu Null wird,
wird das Paket abgelegt.
Die Zelle benutzt ein Protokoll mit einem gleitenden Fenster mit einer
Fenstergröße von 1 und Modulo-2-Sequenznumerierung (gleich
einem Stopp- und Warte-Protokoll). Der Verbindungssteuermechanismus
ist sehr ähnlich dem HDLC abgeglichenen Asynchronmodus.
Der prinzipielle Unterschied besteht darin, daß bei einer
1-Bit-Sequenznumerierung anstelle von Bestätigungspaketen mit
dem Poll/Final-Bitsatz jedes Informationspaket eine Bestätigung
haben muß.
Bevor der ARQ-Mechanismus arbeiten kann, muß eine Verbindung
zwischen den beiden kommunizierenden Geräten (Zelle oder Netzwerksteuergerät)
hergestellt werden. Der Verbindungsprozeß ist
in dem "Verbindungs"-Abschnitt weiter unten
beschrieben. Der ARQ-Mechanismus arbeitet nur dann, wenn
die Zelle in dem Verbindungszustand ist. Die ARQ-Zustände
können als Teilzustände des Verbindungszustandes angesehen
werden.
Wenn eine Zelle eine Nachricht sendet, wartet sie auf eine
Antwort vom Ziel. Wenn die Zelle keine Bestätigung innerhalb
einer vorgegebenen Zeitüberschreitungsperiode empfängt, nimmt sie an, daß
die Nachricht verlorengegangen ist, und sie sendet die Nachricht
erneut.
Zwei Paketarten können zum Übertragen einer Bestätigung verwendet
weden, ein Nur-Bestätigungspaket oder ein Informationspaket.
Die Bestätigung wird in der Empfangssequenznummer
des Pakets geführt. Das Nur-Bestätigungspaket hat kein Nachrichtenfeld
und wird von dem ACK-Befehl im Verknüpfungsbefehlsfeld
identifiziert. Ein Informationspaket enthält ein
Nachrichtenfeld und wird von dem Info-Befehl im Verknüpfungsbefehlsfeld
identifiziert.
Fig. 25 ist das Verknüpfungsniveau-ARQ-Zustandsdiagramm und
definiert zusammen mit der nachfolgenden Tabelle die verschiedenen
ARQ-Zustände.
Eine Zelle muß eine Sendesequenznummer für jeden Adressaten
speichern, mit dem sie kommuniziert. Ein Adressat kann eine
Zelle, eine Gruppe oder eine Steuereinrichtung sein. Zum Empfang
muß eine Zelle die empfangene Sequenznummer jeder Quelle
sichern, aus der sie empfängt. Eine Quelle kann eine Zelle,
eine Gruppe oder eine Steuereinrichtung sein. Wenn eine Zelle
eine Nachricht empfängt, prüft sie den CRC der Nachricht.
Wenn der CRC ungültig ist, antwortet die Zelle nicht auf die
Nachricht. Die eine Nachricht empfangende Zelle prüft auch die
Sequenznummer der Nahricht. Wenn die Sequenznummer angibt,
daß es sich hierbei um ein Duplikatpaket handelt, bestätigt
die Zelle den Empfang des Pakets an den Sender, läßt jedoch
das Paket nicht zur Anwendersoftware durch.
Das ARQ-Protokoll
benutzt ein Bit, das bedeutet "dies ist eine Wiederholungssendung
durch den Sender". Ein Empfänger bestätigt eine Duplikatsendung
nicht, sofern die Nachricht kein Wiederholungssendungsbit eingeschaltet
hat. Die Zelle sichert die Sequenznummer für die
zuletzt empfangene Nachricht für jede Gruppe, zu der sie als
Hörer gehört. Sie hat eine separate 1-Bit-Sendesequenznummer und
eine 1-Bit-Empfangssequenznummer für Nachrichten, die mit der
Zellenadresse adressiert sind (benutzt bei Kommunikation mit
Steuereinrichtungen).
Zelle-zu-Zelle-Kommunikationen finden statt über Gruppenadressen.
Direktes Adressieren mit Zellenadressen wird für
Netzwerk-Steuerfunktionen verwendet. Die Zelle kommuniziert
mit einer Gruppiereinrichtung oder einem Netzwerk-Steuergerät
in diesen Fällen. Eine Zelle kann nur ein Gespräch bzw. einen
Informationsaustausch zu einem gegebenen Zeitpunkt haben,
das bzw. der Zellenadressen benutzt, da sie Mittel zur Speicherung
nur eines Satzes dieser Sequenznummern enthält.
Wenn eine Steuereinrichtung mit einer Zelle zu kommunizieren
sucht, eröffnet sie die Kommunikation durch Senden eines Pakets
mit einem Verbindungsbefehl im Verknüpfungssteuerfeld.
Dieser Befehl initialisiert die Sequenznummern. Nach Empfang
dieses Befehls akzeptiert die Zelle keine von einer anderen
Steuereinrichtung (über die Zellenadresse) an sie adressierte
Nachrichten, bis das Gespräch endet. Das Gespräch endet, wenn
die Steuereinrichtung an die Zelle einen Unterbrechungsbefehl
sendet.
Die Zeitspanne, welche die Zelle auf eine Bestätigung einer
Nachricht wartet, hängt von der Art der benutzten Route ab.
Generell stellt die Zelle genug Zeit zur Verfügung, damit das
Paket an seinem Ziel ankommen kann, plus Protokollverarbeitungszeit
in der Zielzelle und Übergabezeit für das die Bestätigung
tragende Rückgabepaket.
Die Protokoll-Auszeitspanne für Mehr-Etappen-Pakete wird
auch von der Kollisionszählung beeinflußt. Selbst bei sehr
rauschbehafteten Umgebungen ist es wahrscheinlicher, daß der
Grund dafür, daß das Paket seinen Zielort nicht rechtzeitig
erreicht hat, auf eine Konkurrenzbedingung anstatt auf einen
Übertragungsfehler zurückgeht. Wenn ein Paket neugesendet
wird, wird angenommen, daß die Kollisionszählung eine Angabe
der Systembelastung und der erwarteten Konkurrenzverzögerung
für ein Mehrabschnittspaket ist. Die Verzögerungsperiode für
Mehrabschnittspakete wird aufwärts verstellt als Funktion
einer Kollisionszählung. Die Auszeitperiode ist daher eine
Funktion der Übertragungsbaudrate, der Zahl von Abschnitten
und des Kollisionszählwerts.
Verbindungssteuerbefehle steuern die Operation des ARQ-Protokolls
und den Verbindungsherstellungsprozeß (siehe nächsten
Abschnitt). Das Verbindungsbefehlsfeld eines Pakets enthält
stets einen Verbindungsbefehl.
ARQ-Protokollbefehle | |
INFO | |
Informationspaket (erfordert Bestätigung) | |
ACK | Nur-Bestätigungs-Paket (erfordert keine Bestätigung) |
Verbindungssteuerbefehle | |
CONN | |
Verbinde | |
DISC | Unterbreche |
SI | Setze Initialisierung |
XND | Austausch Netzwerkdaten |
Antworten auf Verbindungssteuerbefehle | |
CMDR | |
Befehlsabweisung | |
RD | Anforderung Unterbrechung |
RI | Anforderung Initialisierung |
UA | unnumerierte Bestätigung |
Nur Pakete mit den ACK- und INFO-Befehlen verwenden Sequenznumerierung.
Die INFO-Pakete haben zwei Sequenznummern, eine
Sendesequenznummer und die Sequenznummer des letzten empfangenen
Pakets. ACK-Pakete haben beide Sequenznummernfelder, jedoch
wird die Sendesequenznummer vom Ziel ignoriert.
Pakete mit von ACK oder INFO abweichenden Befehlen werden
unnumerierte Pakete genannt. Unnumerierte Pakete werden in
Stopp- und Warte-Art über einen UA-Befehl bestätigt. Unnumerierte
Pakete enthalten kein Nachrichtenfeld.
Bevor eine Steuereinrichtung mit einer Zelle kommunizieren
kann, muß sie eine Verbindung mit der Zelle herstellen. Die
Herstellung einer Verbindung besteht aus der Initialisierung
der Sequenznummern und dem Bringen der Steuereinrichtung und
der Zelle in einen bekannten Zustand. Die Verbindungsherstellungs-
und Aufrechterhaltungsmaßnahmen werden von in Software
implementierten Zustandsmaschinen gesteuert.
Eine Annonciererzelle muß eine Verbindung mit jeder Hörerzelle
in ihrer Gruppe herstellen. Nur wenn die Verbindungen hergestellt
sind, kann der Annoncierer mit den Hörern kommunizieren.
Verbindungen werden von einem Untersatz aus Verbindungssteuerbefehlen
gesteuert. Die Befehle werden von einer Primärstation
ausgegeben. Eine Sekundärstation erhält einen Befehl
und sendet eine Antwort an die Primärstation. In einer Gruppe
ist die Primärstation der Annoncierer. Die Hörer sind Sekundärstationen.
Wenn eine Netzwerk-Steuereinrichtung mit einer
Zelle kommuniziert, so ist die Steuereinrichutng die Primärstation
und die Zelle die Sekundärstation. Die Verbindungssteuerbefehle
und ihre Antworten sind unten angegeben. Die
INFO- und ACK-Befehle sind ARQ-Protokollbefehle; der Rest sind
Verbindungssteuerbefehle.
Die Verbindungszustandsdiagramme der Fig. 26 und 27 beziehen
sich auf die Primär- und Sekundärstationen. Die Primärstation
steuert die Verbindung. Die Sekundärstation kann diesen
Zustand der Verbindungsänderung anfordern; sie kann jedoch die
Verbindung nicht selbständig ändern, sofern ihr dies nicht von
der Primärstation befohlen wird.
Zu beachten:
Eine Antwort kann N-mal neu versucht
werden. Das Ereignis, welches einen Neuversuch N+1mal bewirkt,
ist als fataler Fehler definiert und bewirkt Initialisierung.
Die Zelle hält einen Neuversuchszählwert aufrecht,
und er wird inkrementiert, wenn irgendeine von INFO oder ACK
abweichende Antwort neu versucht wird. Die Neuversuchszählung
wird immer dann gelöscht, wenn eine Originalantwort an die
Primärzelle gesendet wird.
Eine ein Paket sendende Zelle kann das Paket durch Senden
einer Abbruchfolge anstelle einer Fortsetzung der Sendung des
Pakets abbrechen. Die Abbruchfolge ist eine Gruppe von wenigstens
zwölf Einsen, die aufeinanderfolgend gesendet werden.
Eine Empfangszelle identifiziert einen Abbruch mit Hilfe des
Codeverifizierers der Fig. 16. Ein Empfangspaket behandelt
jede 3-aus-6-Codeverletzung als einen Abbruch. Eine Folge
davon ist, daß eine Verknüpfungsruhebedingung zu einem Abbruch
führt. Wenn die Verknüpfung über mehr als eine Bitzeitlänge im
Ruhezustand ist (keine Übergänge), ist das Resultat eine Codeverletzung.
Wenn eine ein Paket empfangende Zelle eine Abbruchfolge
feststellt, legt sie den Teil des Pakets ab, der
eingetaktet worden ist, und beginnt mit der Suche nach einer
neuen Paketpräambel. Die Abbruchfolge wird auch zur Staubehandlung
nach Feststellung einer Kollision verwendet.
In Fig. 29 ist das Verfahren veranschaulicht, mit dessen Hilfe
die 48-Bit-System-ID innerhalb der Pakete benutzt wird. 32 Bits
der System-ID, gezeigt als Feld 251, werden direkt in das
Paket eingesetzt, wie durch das Feld 255 angegeben ist. Die
restlichen 16 Bits dienen zur Berechnung des Paket-CRC. Anfangs
beginnt das CRC-Register mit alles Einsen, wie durch
Feld 252 bei Beginn der CRC-Berechnung angegeben ist. Danach
wird das 16-Bit-Feld 250 der System-ID in der CRC-Berechnung
zur Entwicklung eines 16-Bit-Feldes 253 benutzt. Das Feld 253
wird im EEPROM gespeichert und als voreingestelltes CRC-Feld
jedesmal dann benutzt, wenn ein Paket-CRC berechnet wird.
Wenn ein Paket gesendet werden soll, sobald das voreingestellte
Feld gespeichert ist, wird das gespeicherte CRC-Feld an das
CRC-Register angelegt. Das 16-Bit-Paket-CRC-Feld wird unter
Verwendung dieses vorhandenen Feldes berechnet, und die anderen
Felder im Paket dienen zur Berechnung des Paket-CRC. (Alle
Felder mit Ausnahme des Konkurrenzzeitgabefeldes werden verwendet.)
Die anderen 32 Bits der System-ID werden innerhalb
des Pakets übertragen.
Wenn ein Paket empfangen wird, berechnet der Prozessor ein CRC
für das empfangene Paket, indem er zuerst das CRC-voreingestellte
Feld in sein CRC-Register speichert und danach den
Paket-CRC berechnet (wiederum wird das Konkurrenzzeitgabefeld
nicht benutzt). Wenn das neuberechnete CRC-Feld nicht mit dem
Feld im Paket übereinstimmt, wird angenommen, daß das Paket
unrichtig übermittelt wurde oder daß das übermittelte Paket
bei richtigem Empfang eine andere System-ID hat und daher
abgelegt werden sollte.
Die Gruppiereinrichtung kann verschiedene Ausführungsformen
annehmen und kann mit kommerziell erhältlicher Hardware, beispielsweise
einem Personalcomputer realisiert werden. Diese
Computer können in geeigneter Weise programmiert werden, um
zahlreiche Funktionen auszuführen, die in der vorliegenden
Anmeldung in Verbindung mit den Funktionen der Gruppiereinrichtung
beschrieben worden sind. Beispielsweise können sie
geeignet programmiert werden, um die zum Kommunizieren mit den
Zellen für die Gruppenbildung benötigten Pakete zu entwickeln.
Andere Funktionen, wie Erzeugung der Zufallszahl für die Verwendung
in den Paketen, können mit bekannten Programmen erzeugt
werden.
Ein Apple-II-Computer kann beispielsweise als Gruppiereinrichtung
verwendet werden. Die 48-Bit-System-ID kann auf einer
Platte gespeichert werden; oder eine gedruckte Schaltungskarte
kann vorgesehen sein, die in einen der Steckplätze des Apple-II-
Computers eingesteckt wird. Die Karte kann die System-ID
enthalten, die einer Zelle, wie der Zelle 232 der Fig. 28
entnommen worden ist. Während Gruppen gebildet werden, können
die zugeordneten Gruppennummern, Mitgliedsnummern usw. auf der
Platte oder in einem EEPROM auf einer Karte gespeichert werden.
In Fig. 28 sind die Komponenten einer derzeit bevorzugten
Gruppiereinrichtung dargestellt. Sie umfassen eine CPU 226,
die ein gewöhnlicher Mikroprozessor sein kann. Die CPU kommuniziert
mit einem Speicher, der einen RAM 227, einen ROM 228
und Speichermittel 229 zum Speichern der System-ID aufweist.
Wenn eine Floppy-Disk verwendet wird, werden die System-ID und
das Programm (das anderenfalls im ROM 228 gespeichert ist) auf
der Disk gespeichert, wobei das Programm zur Ausführung an den
RAM übertragen wird.
Eine Displayeinrichtung 230, beispielsweise ein gewöhnlicher
Monitor, ist mit der CPU zur Entwicklung eines Anwenderdisplays
gekoppelt; beispielsweise kann das Display benutzt werden, um
Listen der Gruppen mit ihren ASCII-Namen zu liefern. Eine
Tastatur 231 wird benutzt, um Befehle in die CPU einzugeben.
Die CPU ist mit einer Zelle 232 verbunden, wobei die
Zelle über einen Sendeempfänger 233 mit einem Netzwerk gekoppelt
ist. Die Zelle 232 ist Bestandteil der Gruppiereinrichtungen,
und die Zellen-ID wird von den Gruppiereinrichtungen
als eine System-ID benutzt. Typische vom Computer an eine
Zelle übertragene Nachrichten sind in Anlage B gezeigt, beispielsweise
die Nachricht der Zuordnung der Zielzelle als
Annoncierer in einer bezeichneten Gruppe ist eine von der
Gruppiereinrichtung erzeugte Nachricht. Die Gruppiereinrichtung
kann direkt mit der Zelle über eines der drei Leitungspaare
in Verbindung treten, welche mit den I/O-Unterabschnitten
gekoppelt sind, oder sie kann mit ihr über den Auswahlpin
kommunizieren, der es ermöglicht, daß Nachrichten aus der CPU
226 in den vierten I/O-Unterabschnitt gelesen werden.
Daher wurde ein Netzwerk zum Erfassen, Kommunizieren und Steuern
beschrieben, das verteilte Intelligenz hat. Obwohl in
dieser Anmeldung ein einfaches Beispiel der Verwendung von
Zellen in einem Wohnhaus beschrieben worden ist, ist es
für den Fachmann klar, daß die beschriebene Erfindung in zahlreichen
anderen Anwendungen eingesetzt werden kann. Anlage C
enthält eine Liste einiger anderer Anwendungsmöglichkeiten zur
Verwendung der vorliegenden Erfindung.
1 volladressiert
2 offenes Fluten
3 beschränktes Fluten
4 Gruppenfluten
2 offenes Fluten
3 beschränktes Fluten
4 Gruppenfluten
Zu beachten:
Die Paketgrößen sind in Zellenspeicherbits (vor der 3-aus-6-Codierung). Ein Paket auf einem Kommunikationsunterkanal nach der Umsetzung in den 3-aus-6-Code ist 50% größer.
Die Paketgrößen sind in Zellenspeicherbits (vor der 3-aus-6-Codierung). Ein Paket auf einem Kommunikationsunterkanal nach der Umsetzung in den 3-aus-6-Code ist 50% größer.
Präambel, 16 Bits
Flag, 4 Bits
Zielzellenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzähler, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungsflag, 1 Bit
RCV-Folge, 1 Bit
XMT-Folge, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=1 (volladressiert)
Quellenzellenadresse, 48 Bits
Nachricht, 16 bis 512 Bits
Nachrichtentyp, 8 Bits
Nachrichteninhalt, 8 bis 511 Bits,
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Flag, 4 Bits
Zielzellenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzähler, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungsflag, 1 Bit
RCV-Folge, 1 Bit
XMT-Folge, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=1 (volladressiert)
Quellenzellenadresse, 48 Bits
Nachricht, 16 bis 512 Bits
Nachrichtentyp, 8 Bits
Nachrichteninhalt, 8 bis 511 Bits,
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Präambel, 16 Bits
Flag, 4 Bits
System-ID, 32 Bits
Zielzellenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=1 (volladressiert)
Quellenzellenadresse, 48 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 43 Bits
Flag, 4 Bits
System-ID, 32 Bits
Zielzellenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=1 (volladressiert)
Quellenzellenadresse, 48 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 43 Bits
Präambel, 16 Bits
Flag, 4 Bits
System-ID, 32 Bits
Next-Zellen-Adresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=1 (volladressiert)
Zellenadreßliste
Adreßzählwert, 4 Bits
Adressen, 48-768 Bits
Quellenzellenadresse, 48 Bits
Nachricht, 16 bis 512 Bits
Nachrichtentyp, 8 Bits
Nachrichteninhalt, 8 bis 511 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Flag, 4 Bits
System-ID, 32 Bits
Next-Zellen-Adresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=1 (volladressiert)
Zellenadreßliste
Adreßzählwert, 4 Bits
Adressen, 48-768 Bits
Quellenzellenadresse, 48 Bits
Nachricht, 16 bis 512 Bits
Nachrichtentyp, 8 Bits
Nachrichteninhalt, 8 bis 511 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Präambel, 16 Bits
Flag, 4 Bits
System-ID, 32 Bits
Bestimmungszellenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählung, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=1 (volladressiert)
Zellenadreßliste
Adreßzählwert, 4 Bits
Adressen, 48-768 Bits
Quellenzellenadresse, 48 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Flag, 4 Bits
System-ID, 32 Bits
Bestimmungszellenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählung, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=1 (volladressiert)
Zellenadreßliste
Adreßzählwert, 4 Bits
Adressen, 48-768 Bits
Quellenzellenadresse, 48 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Präambel, 16 Bits
Flag, 4 Bits
System-ID, 32 Bits
Sende-Adresse, 48 Bits=alles Nullen
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=2 (offenes Fluten)
Bestimmungszellenadresse, 48 Bits
Quellenzellenadresse, 48 Bits
Nachricht, 16 bis 512 Bits
Nachrichtentyp, 8 Bits,
Nachrichteninhalt, 8 bis 511 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 32 Bits
Flag, 4 Bits
Flag, 4 Bits
System-ID, 32 Bits
Sende-Adresse, 48 Bits=alles Nullen
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=2 (offenes Fluten)
Bestimmungszellenadresse, 48 Bits
Quellenzellenadresse, 48 Bits
Nachricht, 16 bis 512 Bits
Nachrichtentyp, 8 Bits,
Nachrichteninhalt, 8 bis 511 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 32 Bits
Flag, 4 Bits
Präambel, 16 Bits
Flag, 4 Bits
System-ID, 32 Bits
Sende-Adresse, 48 Bits=alles Nullen
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=2 (offenes Fluten)
Bestimmungszellenadresse, 48 Bits
Quellenzellenadresse, 48 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Flag, 4 Bits
System-ID, 32 Bits
Sende-Adresse, 48 Bits=alles Nullen
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=2 (offenes Fluten)
Bestimmungszellenadresse, 48 Bits
Quellenzellenadresse, 48 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Präambel, 16 Bits
Flag, 4 Bits
System-ID, 32 Bits
Sende-Adresse, 48 Bits=alles Nullen
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=2 (beschränktes Fluten)
Bestimmungszellenadresse, 48 Bits
Quellenzellenadresse, 48 Bits
Nachricht, 16 bis 512 Bits
Nachrichtentyp, 8 Bits
Nachrichteninhalt, 8 bis 511 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 32 Bits
Flag, 4 Bits
Flag, 4 Bits
System-ID, 32 Bits
Sende-Adresse, 48 Bits=alles Nullen
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=2 (beschränktes Fluten)
Bestimmungszellenadresse, 48 Bits
Quellenzellenadresse, 48 Bits
Nachricht, 16 bis 512 Bits
Nachrichtentyp, 8 Bits
Nachrichteninhalt, 8 bis 511 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 32 Bits
Flag, 4 Bits
Präambel, 16 Bits
Flag, 4 Bits
System-ID, 32 Bits
Sende-Adresse, 48 Bits=alles Nullen
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=2 (beschränktes Fluten)
Bestimmungszellenadresse, 48 Bits
Quellenzellenadresse, 48 Bits
Veschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Flag, 4 Bits
System-ID, 32 Bits
Sende-Adresse, 48 Bits=alles Nullen
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=2 (beschränktes Fluten)
Bestimmungszellenadresse, 48 Bits
Quellenzellenadresse, 48 Bits
Veschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Präambel, 16 Bits
Flag, 4 Bits
System-ID, 32 Bits
Gruppenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=4 (Gruppenfluten)
Quellenmitgliedsnummer, 8 Bits
Zielmitgliedsnummer, 8 Bits (0=Senden)
Nachricht, 16 bis 512 Bits
Nachrichtentyp, 8 Bits
Nachrichteninhalt, 8 bis 511 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Flag, 4 Bits
System-ID, 32 Bits
Gruppenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=4 (Gruppenfluten)
Quellenmitgliedsnummer, 8 Bits
Zielmitgliedsnummer, 8 Bits (0=Senden)
Nachricht, 16 bis 512 Bits
Nachrichtentyp, 8 Bits
Nachrichteninhalt, 8 bis 511 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Präambel, 16 Bits
Flag, 4 Bits
System-ID, 32 Bits
Gruppenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=4 (Gruppenfluten)
Quellenmitgliedsnummer, 8 Bits
Zielmitgliedsnummer, 8 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Flag, 4 Bits
System-ID, 32 Bits
Gruppenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=4 (Gruppenfluten)
Quellenmitgliedsnummer, 8 Bits
Zielmitgliedsnummer, 8 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Präambel, 16 Bits
Flag, 4 Bits
System-ID, 32 Bits
Gruppenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=3 (beschränktes Fluten)
Zielzellenadresse, 48 Bits
Adreßzählwert, 4 Bits
Quellenzellenadresse, 48 Bits
Nachricht, 49 bis 769 Bits
Nachrichtentyp, 8 Bits
Nachrichteninhalt, 48 bis 768 Bits (Routenliste)
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Flag, 4 Bits
System-ID, 32 Bits
Gruppenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=3 (beschränktes Fluten)
Zielzellenadresse, 48 Bits
Adreßzählwert, 4 Bits
Quellenzellenadresse, 48 Bits
Nachricht, 49 bis 769 Bits
Nachrichtentyp, 8 Bits
Nachrichteninhalt, 48 bis 768 Bits (Routenliste)
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Flag, 4 Bits
System-ID, 32 Bits
Gruppenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=3 (beschränktes Fluten)
Zielzellenadresse, 48 Bits
Quellzellenadresse, 48 Bits
Nachrichtenfeld
Nachrichtentyp, 8 Bits
Nachrichteninhalt, Routenliste
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
System-ID, 32 Bits
Gruppenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=3 (beschränktes Fluten)
Zielzellenadresse, 48 Bits
Quellzellenadresse, 48 Bits
Nachrichtenfeld
Nachrichtentyp, 8 Bits
Nachrichteninhalt, Routenliste
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Präambel, 16 Bits
Flag, 4 Bits
System-ID, 32 Bits
Gruppenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=3 (beschränktes Fluten) oder 4 (offenes Fluten)
Quellenadresse, 48 Bits
Nachricht, 16 bis 512 Bits
Nachrichtentyp, 8 Bits
Nachrichteninhalt, 8 bis 511 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Flag, 4 Bits
System-ID, 32 Bits
Gruppenadresse, 48 Bits
Konkurrenzzeitgeber, 10 Bits
Konkurrenzzeitgeber-Prüfsumme, 6 Bits
Etappenzählwert, 4 Bits
Randomisierer, 8 Bits
Verbindungssteuerung
Wiederholungssendungs-Flag, 1 Bit
RCV-Sequenz, 1 Bit
XMT-Sequenz, 1 Bit
unbenutzt, 1 Bit
Befehl, 4 Bits
Netzwerksteuerung
Vermittlungstyp, 4 Bits=3 (beschränktes Fluten) oder 4 (offenes Fluten)
Quellenadresse, 48 Bits
Nachricht, 16 bis 512 Bits
Nachrichtentyp, 8 Bits
Nachrichteninhalt, 8 bis 511 Bits
Verschlüsselungsprüfung, 16 Bits
CRC, 16 Bits
Flag, 4 Bits
Keine Antwort
Funktion: Bestimme die beste Route vom Annoncierer zum Hörer
Quelle: Gruppenannoncierer
Adressentyp: Zelle
Vermittlungsverfahren: begrenztes Fluten
Nachrichtentyp: 2 (Zahl für 8-Bit-Feld)
Nachrichteninhalt: Adreßzählwert (1 Byte), (Anzahl der Zellen-ID's in Sondierpaket - dies ist die Zahl der Zellen für das neugesendete Paket)
Adreßliste
Quelle: Gruppenannoncierer
Adressentyp: Zelle
Vermittlungsverfahren: begrenztes Fluten
Nachrichtentyp: 2 (Zahl für 8-Bit-Feld)
Nachrichteninhalt: Adreßzählwert (1 Byte), (Anzahl der Zellen-ID's in Sondierpaket - dies ist die Zahl der Zellen für das neugesendete Paket)
Adreßliste
Funktion: Berichte die Adreßliste in dem von der Zielzelle
zuerst empfangenen Sondierpaket
Quelle: Zuvor von einer Sondiernachricht adressierte Zelle
Adreßtyp: Zelle
Vermittlungsverfahren: begrenzte Fluten
Nachrichtentyp: 3
Nachrichteninhalt: Adreßzählwert (1 Byte), Adreßliste
Quelle: Zuvor von einer Sondiernachricht adressierte Zelle
Adreßtyp: Zelle
Vermittlungsverfahren: begrenzte Fluten
Nachrichtentyp: 3
Nachrichteninhalt: Adreßzählwert (1 Byte), Adreßliste
Funktion: Zuweisen der Zielzelle als Annoncierer in
bezeichneter Gruppe
Quelle: Gruppiereinrichtung
Ziel: Zelle
Adreßtyp: Zelle oder Gruppenmitglied
Vermittlungsverfahren: begrenztes Fluten oder Gruppenfluten
Nachrichtentyp: 4
Nachrichteninhalt: Gruppennummer, Mitgliedsnummer
Quelle: Gruppiereinrichtung
Ziel: Zelle
Adreßtyp: Zelle oder Gruppenmitglied
Vermittlungsverfahren: begrenztes Fluten oder Gruppenfluten
Nachrichtentyp: 4
Nachrichteninhalt: Gruppennummer, Mitgliedsnummer
Funktion: Nimmt die Zielzelle als Annoncierer in der
bezeichneten Gruppe zurück
Quelle: Gruppiereinrichtung
Ziel: Annoncierzelle
Adreßtyp: Zelle oder Gruppenmitglied
Vermittlungsverfahren: begrenztes Fluten oder Gruppenfluten
Nachrichtentyp: 5
Nachrichteninhalt: keiner
Quelle: Gruppiereinrichtung
Ziel: Annoncierzelle
Adreßtyp: Zelle oder Gruppenmitglied
Vermittlungsverfahren: begrenztes Fluten oder Gruppenfluten
Nachrichtentyp: 5
Nachrichteninhalt: keiner
Funktion: Weise der Zielzelle die Funktion eines Hörers in der
bezeichneten Gruppe zu
Quelle: Gruppiereinrichtung
Ziel: Zelle
Adressentyp: Zelle oder Gruppenmitglied
Vermittlungsverfahren: beschränktes Fluten oder Gruppenfluten
Nachrichtentyp: 6
Nachrichteninhalt: Gruppennummer, Mitgliedsnummer
Quelle: Gruppiereinrichtung
Ziel: Zelle
Adressentyp: Zelle oder Gruppenmitglied
Vermittlungsverfahren: beschränktes Fluten oder Gruppenfluten
Nachrichtentyp: 6
Nachrichteninhalt: Gruppennummer, Mitgliedsnummer
Funktion: Nimmt die Zielzelle in ihrer Funktion als Hörer in
der bezeichneten Gruppe zurück
Quelle: Gruppiereinrichtung
Ziel: Hörerzelle
Adreßtyp: Zelle oder Gruppenmitglied
Vermittlungsverfahren: beschränktes Fluten oder Gruppenfluten
Nachrichtentyp: 7
Nachrichteninhalt: keiner
Quelle: Gruppiereinrichtung
Ziel: Hörerzelle
Adreßtyp: Zelle oder Gruppenmitglied
Vermittlungsverfahren: beschränktes Fluten oder Gruppenfluten
Nachrichtentyp: 7
Nachrichteninhalt: keiner
Funktion: Weise der Zielzelle die Funktion eines Wiederholers
in der bezeichneten Gruppe zu
Quelle: Gruppiereinrichtung
Ziel: Zelle
Adreßtyp: Zelle oder Gruppenmitglied
Vermittlungsverfahren: beschränktes Fluten oder Gruppenfluten
Nachrichtentyp: 8
Nachrichteninhalt: Gruppennummer, Mitgliedsnummer
Quelle: Gruppiereinrichtung
Ziel: Zelle
Adreßtyp: Zelle oder Gruppenmitglied
Vermittlungsverfahren: beschränktes Fluten oder Gruppenfluten
Nachrichtentyp: 8
Nachrichteninhalt: Gruppennummer, Mitgliedsnummer
Funktion: Nimmt die Funktion der Zielzelle als Wiederholer in
der bezeichneten Gruppe zurück
Quelle: Gruppiereinrichtung
Ziel: Gruppenwiederholerzelle
Adreßtyp: Zelle oder Gruppenmitglied
Vermittlungsverfahren: beschränktes Fluten oder Gruppenfluten
Nachrichtentyp: 9
Nachrichteninhalt: keiner
Quelle: Gruppiereinrichtung
Ziel: Gruppenwiederholerzelle
Adreßtyp: Zelle oder Gruppenmitglied
Vermittlungsverfahren: beschränktes Fluten oder Gruppenfluten
Nachrichtentyp: 9
Nachrichteninhalt: keiner
Funktion: Zellenanweisung zum Handeln als Wiederholer. Benutzt
zur Zuordnung von Zellen, die normalerweise nicht
als Wiederholer zugelassen sind, d. h. eine Zelle mit
einem Sendeempfänger auf nichtstrahlendem Medium.
Quelle: Steuereinrichtung
Ziel: Zelle
Adressentyp: Zelle
Vermittlungsverfahren: volladressiert, offenes Fluten, beschränktes Fluten
Nachrichtentyp: 10
Nachrichtentyp: keiner
Quelle: Steuereinrichtung
Ziel: Zelle
Adressentyp: Zelle
Vermittlungsverfahren: volladressiert, offenes Fluten, beschränktes Fluten
Nachrichtentyp: 10
Nachrichtentyp: keiner
Funktion: Sende Nachricht, die allen Zellen sagt, daß sie
ihren Sendebetrieb bis zum Befehl zur
Wiederaufnahme zu stoppen haben
Quelle: Steuereinrichtung
Ziel: Zellen
Adressentyp: Sender oder Zelle
Vermittlungsverfahren: beschränktes Fluten oder offenes Fluten
Nachrichtentyp: 11
Nachrichteninhalt: keiner
Quelle: Steuereinrichtung
Ziel: Zellen
Adressentyp: Sender oder Zelle
Vermittlungsverfahren: beschränktes Fluten oder offenes Fluten
Nachrichtentyp: 11
Nachrichteninhalt: keiner
Funktion: Befehle an eine Zelle zum Berichten ihrer Eingabe
Quelle: Zelle oder Steuereinrichtung
Ziel: Zelle
Adressentyp: beliebig
Vermittlungsverfahren: beliebig
Nachrichtentyp: 12
Nachrichteninhalt: Eingabenummer (Byte)
Quelle: Zelle oder Steuereinrichtung
Ziel: Zelle
Adressentyp: beliebig
Vermittlungsverfahren: beliebig
Nachrichtentyp: 12
Nachrichteninhalt: Eingabenummer (Byte)
Funktion: Befehle an Zelle, ihren Ausgang zu berichten
Quelle: Steuereinrichtung oder Zelle
Ziel: Zelle
Adressentyp: beliebig
Vermittlungsverfahren: beliebig
Nachrichtentyp: 13
Nachrichteninhalt: Ausgabenummer (Byte)
Quelle: Steuereinrichtung oder Zelle
Ziel: Zelle
Adressentyp: beliebig
Vermittlungsverfahren: beliebig
Nachrichtentyp: 13
Nachrichteninhalt: Ausgabenummer (Byte)
Funktion: Herunterladen von Daten oder Code
Quelle: Steuereinrichtung
Ziel: Zelle
Adressentyp: beliebig
Vermittlungsverfahren: beliebig
Nachrichtentyp: 14
Nachrichteninhalt: Adresse, Länge, Code
Quelle: Steuereinrichtung
Ziel: Zelle
Adressentyp: beliebig
Vermittlungsverfahren: beliebig
Nachrichtentyp: 14
Nachrichteninhalt: Adresse, Länge, Code
Funktion: Setze einen Kommunikationsparameter in der Zelle
Quelle: Steuereinrichtung
Ziel: Zelle
Adreßtyp: beliebig
Vermittlungsverfahren: beliebig
Nachrichtentyp: 15
Nachrichteninhalt: Parameternummer, Wert
Quelle: Steuereinrichtung
Ziel: Zelle
Adreßtyp: beliebig
Vermittlungsverfahren: beliebig
Nachrichtentyp: 15
Nachrichteninhalt: Parameternummer, Wert
Funktion: Annonciere Sensordaten
Quelle: Gruppenannoncierer
Ziel: Gruppe
Adressentyp: Gruppe, Sender
Vermittlungsverfahren: Gruppenfluten
Nachrichtentyp: 16
Nachrichteninhalt: 0-255 (ein Byte)
Quelle: Gruppenannoncierer
Ziel: Gruppe
Adressentyp: Gruppe, Sender
Vermittlungsverfahren: Gruppenfluten
Nachrichtentyp: 16
Nachrichteninhalt: 0-255 (ein Byte)
Claims (6)
1. Netzwerk zur Meßwertaufnahme, Kommunikation und Steuerung,
wobei
eine erste Anzahl von Zellen (58) mit einem ersten Übertragungsmedium (51),
eine zweite Anzahl von Zellen (57) mit einem zweiten Übertragungsmedium (52) und
zumindest eine dritte Zelle (54) sowohl mit dem ersten (51) als auch mit dem zweiten (52) Übertragungsmedium gekoppelt ist;
zumindest eine der ersten Zellen (58) und eine der zweiten Zellen (57) eine gemeinsame Identifikationsnummer einer Gruppe (75) haben und ihnen eine Gruppenfunktion für die Gruppe (75) zugewiesen ist, wobei die Gruppenfunktion eine gemeinsame Aufgabe zur Meßwertaufnahme, Kommunikation und Steuerung ist, die von den Zellen in der durch die gemeinsame Identifikationsnummer identifizierten Gruppe (75) ausgeführt wird; und wobei
die dritte Zelle (54) zwecks Wiederholens der zwischen den Zellen mit der gemeinsamen Identifikationsnummer gesendeten Nachrichten die gemeinsame Identifikationsnummer hat.
eine erste Anzahl von Zellen (58) mit einem ersten Übertragungsmedium (51),
eine zweite Anzahl von Zellen (57) mit einem zweiten Übertragungsmedium (52) und
zumindest eine dritte Zelle (54) sowohl mit dem ersten (51) als auch mit dem zweiten (52) Übertragungsmedium gekoppelt ist;
zumindest eine der ersten Zellen (58) und eine der zweiten Zellen (57) eine gemeinsame Identifikationsnummer einer Gruppe (75) haben und ihnen eine Gruppenfunktion für die Gruppe (75) zugewiesen ist, wobei die Gruppenfunktion eine gemeinsame Aufgabe zur Meßwertaufnahme, Kommunikation und Steuerung ist, die von den Zellen in der durch die gemeinsame Identifikationsnummer identifizierten Gruppe (75) ausgeführt wird; und wobei
die dritte Zelle (54) zwecks Wiederholens der zwischen den Zellen mit der gemeinsamen Identifikationsnummer gesendeten Nachrichten die gemeinsame Identifikationsnummer hat.
2. Netzwerk nach Anspruch 1, dadurch gekennzeichnet, daß
die dritte Zelle (54) die Nachrichten auf sowohl das erste als
auch das zweite Übertragungsmedium (51, 52) neu aussendet.
3. Netzwerk nach Anspruch 1 oder 2, dadurch gekennzeichnet,
daß jeder der ersten und zweiten Zellen (58, 57) und der dritten
Zelle (54) in der Gruppe (75) eine unterschiedliche Mitgliedsnummer
der Gruppe (75) zugeordnet ist, die in der jeweiligen
Zelle gespeichert ist.
4. Verfahren zur Nachrichtenübertragung in einem Netzwerk
zur Meßwertaufnahme, Kommunikation und Steuerung, insbesondere
in einem Netzwerk nach einem der Ansprüche 1 bis 3, wobei mehrere
Zellen mit dem Netzwerk gekoppelt sind und die Zellen über
Nachrichten enthaltende Pakete miteinander kommunizieren, dadurch
gekennzeichnet,
daß von einer ersten Zelle mit jedem Paket eine Sequenznummer und ein Wiederholungssendung-Flag gesendet wird, das angibt, ob die Nachricht von der ersten Zelle wiederholt gesendet wird;
daß von einer zweiten Zelle ein Paket nur dann bestätigt wird, wenn die Sequenznummer in dem empfangenen Paket von der Sequenznummer eines zuvor empfangenen Pakets abweicht oder wenn die Sequenznummer die gleiche wie die zuvor empfangene Sequenznummer ist und das Wiederholungssendung-Flag in dem Paket angibt, daß das Paket von der ersten Zelle wiederholt gesendet worden ist;
wodurch unnötige Bestätigungen für Pakete verhindert werden.
daß von einer ersten Zelle mit jedem Paket eine Sequenznummer und ein Wiederholungssendung-Flag gesendet wird, das angibt, ob die Nachricht von der ersten Zelle wiederholt gesendet wird;
daß von einer zweiten Zelle ein Paket nur dann bestätigt wird, wenn die Sequenznummer in dem empfangenen Paket von der Sequenznummer eines zuvor empfangenen Pakets abweicht oder wenn die Sequenznummer die gleiche wie die zuvor empfangene Sequenznummer ist und das Wiederholungssendung-Flag in dem Paket angibt, daß das Paket von der ersten Zelle wiederholt gesendet worden ist;
wodurch unnötige Bestätigungen für Pakete verhindert werden.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß
zu Beginn die Zellen in Gruppen eingeteilt werden, wobei jeder
Gruppe eine Identifikationsnummer und jeder Zelle der Gruppe
eine Gruppenmitgliedsnummer zugewiesen wird und wobei jede
Gruppe zum Ausführen einer Gruppenaufgabe bei der Meßwertaufnahme,
Kommunikation und Steuerung gebildet wird.
6. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet,
daß in der zweiten Zelle eine Aktion an der Nachricht nur
dann vorgenommen wird, wenn die Sequenznummer von der zuvor
empfangenen Sequenznummer abweicht.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11938287A | 1987-11-10 | 1987-11-10 | |
PCT/US1988/003887 WO1989004517A1 (en) | 1987-11-10 | 1988-11-01 | Protocol for network having a plurality of intelligent cells |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3890947C2 true DE3890947C2 (de) | 1995-05-18 |
Family
ID=22384132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3890947A Expired - Lifetime DE3890947C2 (de) | 1987-11-10 | 1988-11-01 | Netzwerk und Verfahren zur Nachrichtenübertragung |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP0393117B1 (de) |
JP (1) | JPH03505642A (de) |
AU (1) | AU634079B2 (de) |
CA (1) | CA1317651C (de) |
DE (1) | DE3890947C2 (de) |
GB (1) | GB2244830B (de) |
SG (1) | SG86292G (de) |
WO (1) | WO1989004517A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6927709B2 (en) | 2001-07-16 | 2005-08-09 | Infineon Technologies Ag | Transmission and reception interface and method of data transmission |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2666922B1 (fr) * | 1990-09-18 | 1995-04-21 | Noel Kerebel | Chaine de mesure et de commande d'une pluralite d'elements constituant l'equipement de bateaux de plaisance. |
EP0638886B1 (de) * | 1993-08-12 | 1998-11-11 | Landis & Gyr Technology Innovation AG | Verfahren zur Übermittlung einer Nachricht zwischen zwei Teilnehmerstationen und Einrichtung zur Durchführung des Verfahrens |
DE69432192T2 (de) * | 1993-10-12 | 2003-12-04 | Smc K.K., Tokio/Tokyo | Linearantrieb |
JPH09172475A (ja) * | 1995-12-19 | 1997-06-30 | Nippon Denki Ido Tsushin Kk | オペレータ固有サービスの自動設定・解除方式 |
GB2369471A (en) * | 2000-11-24 | 2002-05-29 | Deson Ies Engineering Ltd | Intelligent building management system |
US7060030B2 (en) | 2002-01-08 | 2006-06-13 | Cardiac Pacemakers, Inc. | Two-hop telemetry interface for medical device |
US8897324B2 (en) * | 2012-02-01 | 2014-11-25 | Microchip Technology Incorporated | Timebase peripheral |
RU2540812C1 (ru) * | 2014-04-18 | 2015-02-10 | Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" (МИЭТ) | Способ информационного обмена в системе телемеханики |
DE102016105024A1 (de) | 2016-03-18 | 2017-09-21 | Techem Energy Services Gmbh | Verfahren zur Korrektur von Übertragungsfehlern und Empfängervorrichtung |
IT201900023460A1 (it) * | 2019-12-10 | 2021-06-10 | Comelit Group S P A | Metodo di gestione dello scambio di informazioni tra moduli di uno o più dispositivi attraverso un bus di tipo rs-485 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0074865A2 (de) * | 1981-08-27 | 1983-03-23 | BURROUGHS CORPORATION (a Delaware corporation) | Ausdehnbares und beschränkbares Lokalbereichsnetzsystem |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4069392A (en) * | 1976-11-01 | 1978-01-17 | Incorporated Bell Telephone Laboratories | Dual speed full duplex data transmission |
US4173754A (en) * | 1977-03-17 | 1979-11-06 | General Electric Company | Distributed control system |
US4320520A (en) * | 1980-06-27 | 1982-03-16 | Rolm Corporation | Transmitter/receiver for use on common cable communications system such as ethernet |
US4427968A (en) * | 1981-04-09 | 1984-01-24 | Westinghouse Electric Corp. | Distribution network communication system with flexible message routes |
US4446462A (en) * | 1982-03-01 | 1984-05-01 | General Electric Company | Method and apparatus for multiple frequency transmission of information in a digital communication system |
EP0089831A3 (de) * | 1982-03-19 | 1985-05-22 | Harris Corporation | Datenübertragungssystem, das die Unterdrückung redundanter Nachrichten sicherstellt |
US4675668A (en) * | 1982-12-30 | 1987-06-23 | Sharp Kabushiki Kaisha | Data transmission system over building wiring |
US4712215A (en) * | 1985-12-02 | 1987-12-08 | Advanced Micro Devices, Inc. | CRC calculation machine for separate calculation of checkbits for the header packet and data packet |
DE3611949A1 (de) * | 1986-04-09 | 1987-10-15 | Regulex Tech Info | Datenuebertragungsverfahren und datenuebertragungsvorrichtung |
-
1988
- 1988-11-01 DE DE3890947A patent/DE3890947C2/de not_active Expired - Lifetime
- 1988-11-01 WO PCT/US1988/003887 patent/WO1989004517A1/en active IP Right Grant
- 1988-11-01 JP JP1500518A patent/JPH03505642A/ja active Granted
- 1988-11-09 CA CA000582667A patent/CA1317651C/en not_active Expired - Lifetime
-
1989
- 1989-05-24 EP EP89900454A patent/EP0393117B1/de not_active Expired - Lifetime
-
1990
- 1990-04-04 GB GB9007629A patent/GB2244830B/en not_active Expired - Lifetime
-
1991
- 1991-08-02 AU AU81537/91A patent/AU634079B2/en not_active Expired
-
1992
- 1992-08-24 SG SG862/92A patent/SG86292G/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0074865A2 (de) * | 1981-08-27 | 1983-03-23 | BURROUGHS CORPORATION (a Delaware corporation) | Ausdehnbares und beschränkbares Lokalbereichsnetzsystem |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6927709B2 (en) | 2001-07-16 | 2005-08-09 | Infineon Technologies Ag | Transmission and reception interface and method of data transmission |
DE10134472B4 (de) * | 2001-07-16 | 2005-12-15 | Infineon Technologies Ag | Sende- und Empfangsschnittstelle und Verfahren zur Datenübertragung |
Also Published As
Publication number | Publication date |
---|---|
WO1989004517A1 (en) | 1989-05-18 |
AU8153791A (en) | 1991-10-17 |
GB9007629D0 (en) | 1990-08-01 |
EP0393117B1 (de) | 1994-01-12 |
AU634079B2 (en) | 1993-02-11 |
GB2244830B (en) | 1992-04-29 |
JPH0578054B2 (de) | 1993-10-28 |
EP0393117A4 (en) | 1991-08-28 |
SG86292G (en) | 1992-12-04 |
CA1317651C (en) | 1993-05-11 |
EP0393117A1 (de) | 1990-10-24 |
GB2244830A (en) | 1991-12-11 |
JPH03505642A (ja) | 1991-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3854670T2 (de) | Netzwerk und intelligente zelle zur abfrage, bidirektionellen kommunikation und zur steuerung. | |
US4969146A (en) | Protocol for network having a plurality of intelligent cells | |
US5113498A (en) | Input/output section for an intelligent cell which provides sensing, bidirectional communications and control | |
US4955018A (en) | Protocol for network having plurality of intelligent cells | |
US5034882A (en) | Multiprocessor intelligent cell for a network which provides sensing, bidirectional communications and control | |
US4947484A (en) | Protocol for network having a plurality of intelligent cells | |
US4941143A (en) | Protocol for network having a plurality of intelligent cells | |
US5018138A (en) | Protocol for network having a plurality of intelligent cells | |
US4969147A (en) | Network and intelligent cell for providing sensing, bidirectional communications and control | |
DE102015106778B4 (de) | Ein Verfahren und Technisches Gerät für die Nahbereichsdatenübertragung | |
DE69333798T2 (de) | Verfahren und gerät zur arbitrierung auf einen azyklischen gerichteten graphen | |
DE3890947C2 (de) | Netzwerk und Verfahren zur Nachrichtenübertragung | |
DE10259327A1 (de) | USB-Verbundgerät und Verfahren zum Realisieren desselben | |
CN106878933A (zh) | 一种蓝牙设备组网方法和系统 | |
DE3890945C2 (de) | Zelle, die in einem mehrzelligen Netzwerk zur Meßwerterfassung, Kommunikation und Steuerung dient | |
DE102019204916A1 (de) | Systemkombination aus einem asynchronen und einem synchronen Funksystem | |
EP0386151B1 (de) | Intelligente multiprozessor-zelle für ein netzwerk | |
AU621581B2 (en) | Protocol for network having a plurality of intelligent cells | |
AU619514B2 (en) | Network for providing sensing communications and control | |
DE69300379T2 (de) | Vorrichtung zum Anschluss eines Terminals an einen Übertragungskanal. | |
CA1326275C (en) | Network and intelligent cell for providing sensing, bidirectional communications and control | |
GB2244576A (en) | Network for sensing, communication and control | |
DE8904521A1 (de) | ||
JPH0433433A (ja) | 不正アドレス管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |