-
Hintergrund der Erfindung
-
Die vorliegende Erfindung betrifft
Kommunikationsnetze und insbesondere die Kommunikation digitaler
Daten über
serielle Kommunikationsverbindungen in einer Industrieumgebung.
-
Fabriken werden mit Steuerungen automatisiert,
die so programmiert oder konfiguriert sind, dass sie bestimmte Maschinen
oder Geräte
betreiben. Diese Steuerungen können
Universalsteuerungen sein, wie z. B. Computer, numerische Steuerungen oder
programmierbare Steuerungen; oder sie können Spezialsteuerungen sein,
wie z. B. Robotersteuerungen, Schweißsteuerungen oder Motorantriebe.
-
Jede Steuerung ist mit den verschiedenen Sensorgeräten und
Betriebsgeräten
der Anlage verbunden, die sie steuert, und automatisiert den Betrieb der
Anlage, indem sie Daten von den Sensorgeräten eingibt und die entsprechenden
Daten an die Betriebsgeräte
ausgibt. Dieser Austausch von Ein- und Ausgabe-("E/A")-Daten
zwischen der Steuerung und den Geräten an der gesteuerten Anlage
erfolgt häufig durch
direkte Verbindungen zwischen Ports an der Steuerung und jedem separaten
E/A-Gerät.
Wenn E/A-Geräte
jedoch physikalisch über
einen großen Bereich
verteilt sind, dann kann die Verdrahtung in Verbindung mit solchen
separaten Verbindungen zu teuer werden.
-
Eine Möglichkeit, die Verdrahtung
in solchen Anwendungen zu reduzieren, besteht darin, E/A-Daten durch
eine serielle Kommunikationsverbindung zu multiplexieren. Solche
seriellen E/A-Verbindungen werden gewöhnlich eingesetzt, um die zentral
positionierte Steuerung mit separaten ortsfernen Gestellen oder
Baugruppenträgern
zu verbinden, die sich in der Nähe
der E/A-Geräte
befinden. Solche "Fern-E/A-Systeme" sind beispielsweise
in den US-Patenten Nr. 4,404,651; 4,413,319; 4,809,217 und 4,750,150
offenbart, wo die Steuerung eine kontinuierliche Hochgeschwindigkeitsabtastung
der E/A-Daten in Verbindung mit jedem Ferngestell durchführt, und
diese Daten werden über
die serielle Kommunikationsverbindung übertragen. Es ist verständlich,
dass solche seriellen E/A-Links
rechtzeitig und zuverlässig
die E/A-Daten übertragen
müssen, da
diese Daten Betriebsgeräte
an einer in Echtzeit arbeitenden Maschine direkt steuern.
-
Eine einzige Steuerung kann zwar
eine Maschine oder eine kleine Gruppe von Maschinen automatisieren,
aber um ein ganzes Werk wirklich zu automatisieren, müssen solche "Automationsinseln" miteinander verbunden
werden. Diese letzteren Verbindungen werden durch industrielle LRNs
bereitgestellt, die es jeder Steuerung erlauben, Meldungen über serielle
Datenverbindungen zu anderen ähnlichen.
Steuerungen im Werk zusenden. Es gibt eine große Zahl solcher "Peer-to-Peer" Kommunikationsnetze,
die in der Technik bekannt sind, von denen einige von Normenausschüssen wie
IEEE 802.3, IEEE 802.4, IEEE 802.5 und MAP entwickelt werden; andere
werden von Herstellern der Steuerung wie z. B. diejenigen entwickelt,
die in den US-Patenten Nr. 4,319,338, 4,567,323 und 4,747,100 offenbart
sind. Es ist verständlich,
dass die Art der Peer-to-Peer-Daten, die über LANs übertragen werden, die Steuerungen
miteinander verbinden, sich von E/A-Daten unterscheiden, die über serielle
E/A-Verbindungen übertragen
werden. Während
einige der Daten möglicherweise
den Zustand der gesteuerten Maschinen anzeigen, besteht ein großer Teil
des Datenverkehrs aus großen
Datenblöcken.
So kann beispielsweise eine "Zellensteuerung" Steuerprogramme
für programmierbare
Logiksteuerungen oder Teilprogramme für numerische Steuerungen herunterladen,
und programmierbare Logiksteuerungen können Blöcke von statistischen Daten über Produktion
und Qualitätskontrolle
heraufladen. Während
E/A-Daten gewöhnlich zeitkritisch
sind und innerhalb von Millisekunden des Events, das sie erzeugt
hat, zuverlässig übertragen
werden müssen,
ist das Herauf- und Herunterladen von großen Datenblöcken gewöhnlich nicht so zeitkritisch.
-
Serielle Fern-E/A-Kommunikationsnetze
und Peer-to-Peer-Netze
koexistieren zwar schon seit vielen Jahren in Werken miteinander,
aber eine Reihe von Faktoren lässt
die Unterschiede zwischen ihnen verschwimmen und verlangen, dass
ein einzelnes Netz mit den Attributen von beiden erstellt wird.
Einer dieser Faktoren ist technisch – die zunehmende Verwendung
kleinerer Steuerungen in einer so genannten "verteilten Verarbeitung". Zum Beispiel, anstatt
einer einzigen großen
Steuerung zu verwenden, die mit einem Satz von Fern-E/A-Gestellen
verbunden ist, ist eine alternative Architektur ein Satz von miteinander
verbundenen kleinen Steuerungen, die anstelle jedes einzelnen Fern-E/A-Gestells
im Werk verteilt sind. Die resultierende Kommunikationsverbindung, die
diese kleinen, verteilten Steuerungen verbindet, muss sowohl zeitkritische
E/A-Daten als auch Peer-to-Peer-Meldungen übertragen. Ein weiterer Faktor
ist der Wunsch von Werksbesitzern, die Zahl der verwendeten verschiedenen
Kommunikationsnetze zu verringern, um Personalausbildung und Wartungsbedarf
zu vereinfachen und um das Ersatzteilinventar zu reduzieren.
-
Das zum Übertragen der Daten auf einer
seriellen Kommunikationsverbindung verwendete Medium richtet sich
hauptsächlich
nach Kosten und der Geschwindigkeit, mit der die Daten übertragen
werden müssen.
Das kostenärmste
Medium, das in Werksanlagen eingesetzt wird, sind verdrillte Paare mit
einer sehr niedrigen Bandbreite, und das teuerste Medium ist faseroptisches
Kabel, das eine enorme Bandbreite bereitstellt. Das üblichste
im Werk eingesetzte Medium ist jedoch ein abgeschirmtes Kabel wie
z. B. Koaxialkabel, das einen guten Kosten-Leistungs-Kompromiss
bietet.
-
Das gewählte Medium kann die Steuerungen und
Ferngestelle auf unterschiedliche Weisen verbinden, die gewöhnlich als "Netzwerktopologie" bezeichnet werden.
Man findet im Werk zwar so genannte "Stern"- und "Ring"-Topologien, aber
die "Bus"-Topologie ist bei
weitem am meisten verbreitet. Bei der Bustopologie verläuft ein
Kabel um das Werk von einer Station zur nächsten, und eine kurze Anschlussleitung
wird an diesen Bus angeschlossen und mit der Steuerung an dieser
Station verbunden. Die Bustopologie ist am wirksamsten und lässt sich am
leichtesten installieren.
-
Der Zugang zum Kommunikationsnetz
wird durch das am Netz verwendete "Medienzugangssteuer"-(Media Access Control – MAC)-Protokoll
bestimmt. In frühen
LANs, und in vielen Fern-E/A-Netzen,
wurde der Zugang zum Medium durch eine einzelne "Master"-Station gesteuert. So dient beispielsweise
in dem in den oben angeführten
Patenten beschriebenen Fern-E/A-Netz die programmierbare Steuerung
als Master des Netzwerkes und teilt den Fern-E/A-Gestellen mit,
wann sie auf das Medium zugreifen können. Dieses Einzel-Master-Protokoll
ist für Fern-E/A-Netze
zufriedenstellend, wo der Verlust des programmierbaren Controller-Masters
zu einem Abschalten des gesamten Netzes führt, ist aber in einem Peer-to-Peer-Kommunikationsnetz
nicht zufriedenstellend. In einem Peer-to-Peer-Netz müssen die Kommunikationen
zwischen den Steuerungen auf dem Netz selbst dann fortlaufen, wenn
eine Steuerung abgetrennt ist oder nicht funktioniert. In der Tat muss
die Tatsache, dass eine Steuerung nicht mehr funktioniert, an sich über das
Netz zu anderen Steuerungen im Werk kommuniziert werden, damit die entsprechenden
Maßnahmen
ergriffen werden können.
-
Es gibt eine Reihe von Medienzugangssteuerprotokollen,
die in Werken häufig
eingesetzt werden, die sich nicht auf einen einzigen Master verlassen.
Dazu gehören
physikalische Ring-Token-Passing-Netze wie die, die in der Norm
IEEE 802.5 definiert sind, die logischen Ring-Token-Passing-Netze, die
in der Norm IEEE 802.5 definiert sind, und Trägererfassungs-Mehrfachzugriffsnetze
mit Kollisionserkennung (CSMA/CD) wie die, die in der Norm IEEE 802.3
definiert sind. Diese Protokolle sind zwar für Peer-to-Peer-Kommunikationen geeignet,
wo eine Meldung oder ein Datenblock mit jedem Zugriff auf das Medium
gesendet wird, aber sie eignen sich nicht zum Übertragen großer Mengen
von Echtzeit-E/A-Daten.
-
Ein weiteres Medienzugangssteuerprotokoll, das
in Werksanwendungen eingesetzt werden kann, wird als dynamisches
Zeitschlitzzuweisungsnetz (Dynamic Time Slot Allocation – DTSA)
oder dynamisches Zeitmehrfachzugriffsnetz (Dynamic Time Division
Multiple Access – DTDMA)
bezeichnet. Ein DTDMA-Netz, das zum Übertragen von Echtzeit-E/A-Daten
geeignet ist, ist beispielsweise im US-Patent Nr. 4,897,834 offenbart,
und ein Zeitmultiplexiernetz (TDM), das für die Übertragung von Echtzeit-E/A-Daten
und Meldungsdaten geeignet ist, ist im US-Patent Nr. 4,663,704 offenbart.
-
Viele dieser Protokolle erfordern
es, dass Informationen in gut definierten Blöcken, die Meldungsframes genannt
werden, über
das Netz gesendet werden. Das Format des Meldungsframe ist so ausgelegt,
dass eine Station einen Meldungsframe von einem anderen unterscheiden
kann. Im Allgemeinen werden Meldungsframes in Sektionen unterteilt,
die Präambel,
Anfangsbegrenzer, Datenfeld und Endebegrenzer genannt werden. Die
Präambel
besteht aus einem Bitmuster, das es zulässt, dass jede Station ein
Taktsignal erhält
und auf die Datenbitsequenz synchronisiert wird, wie in der EP-A2-0
381,387 beschrieben ist. Der Anfangsbegrenzer gibt eine Timing-Referenz,
die die Stationen zum Suchen des Anfangs des Datenfelds benutzen.
Dies ist wichtig, damit jedes Datenbit ordnungsgemäß erkannt
werden kann. Der Endebegrenzer ist ein Bitmuster, das anzeigt, wenn
ein Meldungsframe endet. Die beiden Begrenzer-Bitmuster müssen eindeutig
sein, damit andere über
das Netz gesendete Bitsequenzen eine Station nicht dazu verleiten
zu glauben, dass ein Begrenzer gefunden wurde.
-
Zusammenfassung der Erfindung
-
Ein Kommunikationsnetz führt in Meldungsframes
gesendete Daten über
ein Übertragungsmedium
zwischen Stationen, die mit dem Medium verbunden sind. Jede Station
hat eine Knotenschaltung, deren Aufgabe es ist, die Daten zwischen
dem Übertragungsmedium
und einem assoziierten elektrischen Gerät zu koppeln. Die Knotenschaltung
beinhaltet eine erste Komponente, die eine Meldungsframe-Präambel erkennt,
die von einem Muster von abwechselnden Binärsignalpegeln gebildet wird.
Die Präambel
ermöglicht
die Synchronisation einer Signaldecodierung auf die Daten im Meldungsframe.
-
Eine zweite Komponente erkennt einen
Anfangsbegrenzer des Meldungsframe. Der Anfangsbegrenzer hat ein
definiertes Muster aus einer Mehrzahl von Binärsignalpegeln, die die folgenden
Kriterien erfüllen:
- (1) der Anfangsbegrenzer beginnt mit einem
Binärsignalpegel,
der einem letzten Binärsignalpegel
der Präambel
entgegengesetzt ist,
- (2) die maximale Anzahl konsekutiver identischer Binärsignalpegel
ist zwei,
- (3) die digitale Summenvarianz fällt in einen Bereich von –1 bis 2,
- (4) unter der Voraussetzung einer ordnungsgemäßen Synchronisation
der Signaldecodierung müssen
für ein
Aliasing gültiger
Zufallsdaten in das Anfangsbegrenzermuster wenigstens vier Binärsignalpegel
fehlerhaft sein,
- (5) unter der Voraussetzung einer nicht ordnungsgemäßen Synchronisation
der Signaldecodierung müssen
für ein
Aliasing gültiger
Zufallsdaten in das Anfangsbegrenzermuster wenigstens zwei Binärsignalpegel
fehlerhaft sein,
- (6) der Anfangsbegrenzer endet mit zwei Binärsignalpegeln, die unterschiedliche
Binärsignalpegel sind.
-
In der bevorzugten Ausgestaltung
hat der Anfangsbegrenzer das binäre
Signalpegelmuster "1101001100100110" (in der Reihenfolge
von links nach rechts wie übertragen).
-
Ein Datendecoder reagiert auf die
zweite Komponente zum Erkennen eines gültigen Anfangsbegrenzers durch
Codieren von
-
Daten in dem Meldungsframe, die über einen Signalpfad
zu dem assoziierten elektrischen Gerät gesendet werden.
-
Es ist eine Aufgabe der Erfindung,
ein Kommunikationssystem bereitzustellen, bei dem Meldungsframes
von Daten zuverlässig
zwischen Stationen auf dem Netz ausgetauscht werden können.
-
Es ist eine weitere Aufgabe, ein
eindeutiges Anfangsbegrenzermuster bereitzustellen, das den Beginn
von Daten in dem Meldungsframe anzeigt, und einen Mechanismus, um
den Anfangsbegrenzer zuverlässig
zu identifizieren. Dabei muss der für den Gebrauch gewählte Anfangsbegrenzer
einen definierten Satz von Kriterien erfüllen, um die Wahrscheinlichkeit
zu optimieren, dass das Muster erkannt wird, während die Wahrscheinlichkeit
minimiert wird, dass es zu einem Aliasing gültiger Zufallsdaten in das
Anfangsbegrenzermuster kommt. Es ist auch wichtig, dass die elektrische
Wirkung des Anfangsbegrenzers auf das Medium und den Empfangsschaltkomplex
die Fähigkeit
des Empfängers
nicht beeinflusst, den Rest des Meldungsframe zuverlässig zu decodieren.
-
Es ist eine. weitere Aufgabe der
vorliegenden Erfindung, einen eindeutigen Endebegrenzer bereitzustellen,
der die Meldungsframes auf eine Weise beendet, die zuverlässig erkannt
werden kann. Der Endebegrenzer muss also einen definierten Satz
von Kriterien erfüllen,
um die Wahrscheinlichkeit zu optimieren, dass das Muster erkannt
wird, während
die Wahrscheinlichkeit minimiert wird, dass es zu einem Aliasing
der gültigen
Zufallsdaten zu dem Endebegrenzermuster kommt.
-
Kurze Beschreibung der
Zeichnungen
-
A. Kommunikationssystem
-
1 ist
eine Darstellung eines Kommunikationsnetzes gemäß der vorliegenden Erfindung;
-
2A und 2B illustrieren die Unterteilungen eines
von einer Station gesendeten Meldungsframe;
-
3 illustriert
die Sequenz, in der Meldungen über
das Kommunikationsnetz ausgetauscht werden;
-
4A beschreibt
die Reihenfolge, in der verschiedene Stationen auf dem Netz Meldungen während der
geplanten Phase jedes periodischen Intervalls senden; und
-
4B beschreibt
die Reihenfolge, in der verschiedene Stationen auf dem Netz Meldungen während der
ungeplanten Phase jedes periodischen Intervalls senden.
-
B. Kommunikationssteuerung
-
5A zeigt,
wie eine beispielhafte Station durch eine S-Link Medienzugangssteuerung
(Media Access Controller – SMAC)
mit dem Netz verbunden ist;
-
5B ist
eine schematische Blockdiagrammdarstellung des S-Link Media Access
Controllers von 5A;
und
-
6 ist
ein Wellenformdiagramm von Signalen an mehreren Stellen in dem SMAC.
-
1. SMAC-Modem
-
7 ist
eine schematische Blockdiagrammdarstellung der Modemschaltung im
SMAC;
-
8 ist
eine schematische Blockdiagrammdarstellung des Begrenzerdetektors
indem Modem; und
-
9 ist
ein Zustandsmaschinendiagramm für
den Begrenzerdetektor.
-
2. SMAC-Zugangssteuerschaltung
-
10 ist
ein schematisches Blockdiagramm der Zugangssteuerschaltung im SMAC;
-
11 ist
eine schematische Darstellung des Sperrzeitmonitors in der Zugangssteuerschaltung;
-
12 ist
eine schematische Blockdiagrammdarstellung des geplanten Phasenregisters
in der Zugangssteuerschaltung; und
-
13 ist
eine schematische Darstellung des Periodisches-Intervall-Timers
in der Zugangssteuerschaltung.
-
3. Sende- und Empfangsprozessoren
-
14 ist
eine schematische Diagrammdarstellung der Sendeverarbeitungsschaltung
im SMAC;
-
15 ist
eine schematische Blockdiagrammdarstellung der Empfangsverarbeitungsschaltung
im SMRC von 5B; und
-
16 ist
ein schematisches Blockdiagramm der Daten- und Steuer-Pipeline in der Empfangsverarbeitungsschaltung.
-
4. Host-Schnittstelle
-
17 ist
ein schematisches Blockdiagramm der Host-Schnittstelle im SMAC.
-
Beschreibung einer bevorzugten
Ausgestaltung
-
Zunächst mit Bezugnahme auf 1, ein industrielles Steuerkommunikationsnetz 10 umfasst ein
Medium, mit dem N Stationen 12–16 zum Senden und
Empfangen von Daten verbunden sind. Das Netz 10 kann ein
beliebiges geeignetes Medium wie z. B. Koaxial- oder Faseroptikabel
verwenden und kann auf einer beliebigen geeigneten Topologie wie
z. B. Bus-, Stern- oder
Ringtopologie basieren. In dem hier beschriebenen Ausgestaltungsbeispiel
erfolgen die Verbindungen des Netzes 10 über ein
Koaxialkabel 11, das in einer Bustopologie geschaltet ist.
Wenn das Kabel relativ lang ist, dann müssen möglicherweise ein oder mehrere
Repeater 17 verwendet werden, damit der Signalpegel an
allen Stationen ausreicht. Das illustrierte Netz 10 hat
mehrere Ein-/Ausgabe-(E/A)-Schnittstellenschaltungen 15–16 und
X Prozessoren 12–14,
die z. B. programmierbare Steuerungen, Zellensteuerungen oder Minicomputer
sein können.
Der Prozessor oder die Schnittstellenschaltung an jeder Netzstation 12–16 ist über einen
Knoten 20 mit einer eindeutigen Adresse, die zum Identifizieren
von zu und von der assoziierten Station gesendeten Meldungen verwendet
wird, mit dem Koaxialkabel 11 verbunden. Ein Programmierterminal 18 kann über einen
beliebigen Knoten 20 angeschlossen werden, um direkt über das
Netz zu kommunizieren, aber dem Terminal wird eine separate Netzwerkadresse
von den Knoten zugewiesen. Der Prozessor, die Schnittstellenschaltungen
und das Programmierterminal, die Meldungen vom Netz durch einen Knoten
empfangen, werden als Verbrauchergeräte bezeichnet.
-
Das Netz 10 wird hierin
als CTDMA-(Concurrent Time Division Multiple Access)-Netz bezeichnet, da
sowohl von den Prozessoren 12–14 beim Betreiben
der Maschinen verwendete Ein-/Ausgabedaten sowie Steuerbefehle,
Systemmanagement- und andere Meldungen verzahnt über dasselbe Medium 11 ausgetauscht
werden, wobei jedem Knoten 20 zeitmultiplexiert Zugang
zum Senden von Meldungen gewährt
wird. Das CTDMA-Netz 10 verwendet ein Protokoll des Token-Bus-Typs,
in dem ein "impliziter Token" in einer vorbeschriebenen
Reihenfolge von Knoten zu Knoten gereicht wird, und der Knoten 20, der
den impliziten Token gerade hat, seine Meldungen senden kann. Das
im implizite Token wird jedoch nicht physikalisch zwischen den Knoten
herumgereicht, sondern jede Station überwacht die Netzwerkaktivität und hat
ein Register, in dem sie verfolgt, welcher Knoten gerade den Token
hat.
-
Netzkommunikationsprotokoll
-
Gemäß 2A werden alle Meldungen unabhängig vom
Typ der gesendeten Daten als Media Access Control (MAC) Frame 21 mit
einer maximalen Länge
von 517 Byte formatiert. Jedes Mal, wenn einer Station Zugang zum
Senden von Informationen über
das Netz gewährt
wird, kann sie einen MAC-Frame senden. Die bevorzugte Netzdatenmodulationstechnik
ist herkömmliche
Manchester-Codierung, in der jedes "Bit" von
Manchestercodierten Informationen zwei physikalische Symbole oder Halbbits
umfasst. Die Manchester-Halbbits werden hierin gemäß der "Physical Symbol" Terminologie "Phy-Symbole" genannt. So wird
z. B. ein "0" Datenbit mit einer
Phy-Symbolsequenz "01" codiert, während ein "1" Datenbit mit einer Phy-Symbolsequenz "10" codiert wird.
-
Der MAC-Frame 21 beginnt
mit einer 32-Phy-Symbol-Präambel 22 und
einem 16-Phy-Symbol-Anfangsbegrenzer 23. Die Phy-Symbole
in der Präambel
wechseln zwischen binären
Einsen und Nullen ab und bestehen aus dem Muster 101010...1010.
-
Ein eindeutiger Anfangsbegrenzer 23 dient zum
Erstellen eines präzisen
Synchronisationspunktes in den eingehenden Daten, damit der Empfänger jedes
Phy-Symbol genau erkennt und die Grenzen zwischen Paaren von aufeinander
folgenden Phy-Symbolen
ermittelt, die ein Datenbit codieren. Das für den Anfangsbegrenzer bevorzugte
eindeutige Phy-Symbol-Muster ist hexadezimal "D326" oder ein
binäres
Muster von "1101001100100110" (in der Reihenfolge
von links nach rechts wie übertragen). Zusätzlich zum
Anfangsbegrenzer endet der MAC-Frame 21 mit einem Endebegrenzer,
der das Ende des Frame designiert. Die bevorzugte Endebegrenzer-Sequenz
von Phy-Symbolen
ist hexadezimal "96CC" oder ein Binärmuster
von "1001011011001100" (in der Reihenfolge
von links nach rechts wie übertragen).
-
Anfangs- und Endebegrenzer 23 und 28 enthalten
Muster von ungültigen
Manchester-codierten Daten, so dass Daten, die im Meldungsframe
gesendet werden, nicht fälschlicherweise
als eines der Begrenzermuster interpretiert werden können. Ferner mussten
die beiden Begrenzer mehrere weitere Kriterien erfüllen, damit
sie mit höherer
Wahrscheinlichkeit von den Netzwerkknoten erkannt werden und um die
Gefahr eines falschen Änderns
oder Aliasing zulässiger
Daten zu einem der Begrenzermuster zu verringern. Unter der Annahme,
dass Stille auf dem Netz dasselbe ist wie ein "0" Phy-Symbol,
lauten die Kriterien wie folgt:
- 1. Der Signalpegel
des ersten Anfangsbegrenzer-Phy-Symbols
muss dem des letzten Symbols der Präambel entgegengesetzt sein,
um eine Demarkation des Begrenzers zu bilden.
- 2. Das letzte Phy-Symbol des Endebegrenzers muss "0" oder äquivalent mit dem Zustand sein, den
der Empfänger
als Stille interpretiert, um das Medium in einem stabilen Zustand
zu lassen.
- 3. Die maximale Anzahl an aufeinander folgenden identischen
Phy-Symbolen ist zwei. Dies wird auch als "Lauflänge" von zwei bezeichnet.
- 4. Die digitale Summenvarianz des Anfangsbegrenzers muss in
den Bereich –1
bis 2 fallen, wie erläutert
wird.
- 5. Unter der Voraussetzung einer ordnungsgemäßen Taktausrichtung müssen für ein Aliasing
von 16 gültigen
Zufallsdatenbits in ein Begrenzermuster wenigstens vier Phy-Symbole
fehlerhaft sein.
- 6. Unter der Voraussetzung einer nicht ordnungsgemäßen Taktausrichtung
müssen
für ein
Aliasing von 16 gültigen
Zufallsdatenbits in ein Begrenzermuster wenigstens zwei Phy-Symbole
fehlerhaft sein.
- 7. Die letzten zwei Phy-Symbole des Anfangsbegrenzers müssen unterschiedliche
Signalpegel sein (d. h. gültige
Manchester-Codierung).
- 8. Die ersten beiden Phy-Symbole des Endebegrenzers müssen unterschiedliche
Signalpegel sein (d. h. gültige
Manchester-Codierung).
-
Die Begründung hinter einigen der Kriterien bedarf
einer näheren
Erläuterung.
Das dritte und das vierte Kriterium beziehen sich auf die physikalische Charakteristik
des Netzwerkmediums, dass sich das Kabel 11 auflädt, wenn
aufeinander folgende Phy-Symbole denselben Signalpegel (alle 0 oder
alle 1) haben. So bleibt z. B. bei einer Reihe von aufeinander folgenden
hohen Phy-Symbolen eine positive Ladung auf dem Netzwerkkabel 11.
Eine solche Ladung kann dazu führen,
dass eine Station ein nachfolgendes "0" Phy-Symbol,
das durch einen tiefen Signalpegel repräsentiert wird, nicht umsetzen
kann. Ein ähnlicher
Effekt tritt in Bezug auf das Magnetfeld in einem Transformator
auf, der den Knoten 20 mit dem Kabel 11 verbindet.
Wenn "Einsen" im Phy-Symbol, d.
h. hohe Signalpegel, überwiegen,
wird das Netz von dem Spannungsbereich, den ein Empfänger. als "0" Phy-Symbol interpretiert, weg vorgespannt.
Wenn dieser Vorspannungsversatz zu groß wird, dann kein ein "0" Phy-Symbol
am Empfänger fälschlicherweise
für ein "1" Phy-Symbol gehalten werden. Derselbe
Effekt tritt in Bezug auf die Fähigkeit
auf, ein "1" Phy-Symbol nach
einer Reihe von aufeinander folgenden "0" Phy-Symbolen
ordnungsgemäß zu erkennen.
-
Ein kurzfristiger Signalmittelwertbildungseffekt
wird durch die "Lauflänge" angegeben, die die maximale
Anzahl von aufeinander folgenden identischen Phy-Symbolen ist, die über das
Medium übertragen
werden können,
bevor es zu potenziellen Signalfehlern kommt. So hat z. B. das Muster
01110 eine Lauflänge
von drei. Relativ große
Lauflängen
erzeugen Jitter, bei dem die Vorderflanke eines "0" Phy-Symbols,
das auf einen Strom von aufeinander folgenden "1" Symbolen
folgt, zeitlich verschoben ist, so dass es zu einer potenziellen
Fehlinterpretation der "0" als "1" Phy-Symbol kommt. Da dieser kurzfristige
Signalmittelwertbildungseffekt zur Folge haben kann, dass Anfangs-
und Endebegrenzer nicht mehr so gut erkannt werden können wie
Daten, werden Phy-Symbol-Muster mit Lauflängen von mehr als zwei überall im
MRC-Frame verhütet.
-
Ein langfristiger Signalmittelwertbildungseffekt
wird durch die "digitale
Summenvarianz" des Phy-Symbol-Musters
angegeben. Der Sofortwert der Summe vom Anfang einer Gruppe von
Symbolen bis zum Punkt von Interesse wird wie folgt ausgedrückt:
wobei x der auf Null basierte
Versatz vom Anfang der Gruppe bis zum Punkt von Interesse und v
der Wert (0 oder 1) eines Phy-Symbols ist. Selbst wenn keine lange
Gruppe von aufeinander folgenden identischen Phy-Symbol-"Einsen" auftritt, dann kann
selbst dann, wenn im Durchschnitt eine höhere Zahl von "1" als von "0" Phy-Symbolen über das
Kabel gesendet wird, noch ein Vorspannungsversatz auftreten. Daher
fallen, damit Anfangs- und Endebegrenzer garantiert optimal erkannt
werden können,
die Werte ihrer digitalen Summenvarianz in den Bereich –1 bis 2.
-
Wie erwähnt, beinhalten die Anfangs-
und Endebegrenzer Phy-Symbol-Muster, die die Manchester-Code-Regeln
verletzen, da Phy-Symbole in derselben Datenbitperiode identische
Signalpegel haben. Daher müssen
sich für
ein Aliasing gültiger Daten
in einen Begrenzer einige der Phy-Symbole der gültigen Daten ändern oder
fehlerhaft sein, damit es zu einer Manchester-Code-Verletzung kommt.
Je mehr Phy-Symbole sich ändern
müssen,
damit ein Begrenzermuster entsteht, desto geringer die Wahrscheinlichkeit,
dass das Muster entsteht. Ein Begrenzermuster, bei dem sich wenigstens
vier Phy-Symbole ändern
müssen,
bevor es zu einem Aliasing gültiger
Manchester-Daten in ein Begrenzermuster kommt, bietet eine ausreichende
Unwahrscheinlichkeit, dass es zu einem solchen Fehler kommt. Diese
Charakteristik wird als eine Hamming-Datendistanz von vier bezeichnet. Es
muss also wenigstens vier Manchester-Code-Verletzungen in den Anfangs-
und Endebegrenzern geben.
-
Es ist jedoch möglich, dass ein Fehler im Anfangsbegrenzer
verursacht, dass ein Knoten seinen. Empfängertakt nicht an einer Grenze
zwischen Datenbits ausrichtet, sondern auf den Signalpegelübergang,
der. zwischen Phy-Symbolen desselben Datenbits entsteht. In diesem
Fall müssen
sich wenigstens zwei Phy-Symbole gültiger Manchester-DAten ändern, damit
eines der Begrenzermuster entsteht. Somit muss eine Hamming-Distanz
von zwei von verschobenen Phy-Symbolen
vorliegen. Eine Phy-Symbol-Änderung
ist in diesem Fall akzeptabel, da der Anfangsbegrenzer ebenfalls
fehlerhaft werden muss, damit die Taktfehlausrichtung entstehen
kann, und die Möglichkeit,
dass beide Fehler zusammen auftreten, ist relativ unwahrscheinlich.
-
Ein Begrenzer kann durch 16 Phy-Symbole gebildet
werden, was 65.000 mögliche
Symbolmuster ergibt. Es wurde gefunden, dass nur das eine Anfangsbegrenzermuster
und das eine Endebegrenzermuster gemäß obigen Angaben diesen Satz
von Kriterien erfüllen.
-
Hinter dem Anfangsbegrenzer 23 im MAC-Frame 21 kommt
die Netzwerkadresse 24 des Quellknotens der Meldung. Der
MAC-Frame 21 hat auch
ein Datenfeld 25, das eine Länge von bis zu 510 Byte hat
und das in Grundmeldungseinheiten unterteilt ist, die als LPakete 26,
d. h. "Link-Layer-Pakete", bezeichnet werden.
Jedes LPaket 26 repräsentiert eine
separate Meldung oder Gruppe von Daten und beinhaltet ein eindeutiges
Kennetikett, anhand dessen jeder Knoten 20 ermittelt, ob
er die Information in diesem LPaket benötigt. Wenn ein bestimmter Knoten
mehrere LPakete zu senden hat, dann werden die LPakete in eine Warteschlange
eingereiht und in der eingereihten Folge übertragen. Wenn mehr LPakete 26 in
der Warteschlange sind, als in einen MRC-Frame passen, dann müssen die übrigen warten,
bis dem Knoten wieder Zugang zum Netz gewährt wird.
-
Jedes LPaket 26 ist in eine
Reihe von Feldern wie in 2B gezeigt
unterteilt. Das erste Feld 31 ist ein Byte, das die Größe oder
Länge des
LPakets 26 angibt. Das zweite Feld 32 enthält acht
Steuerbits, wie in der Vergrößerung dieses
Feldes in der Zeichnung angedeutet ist. Das erste Steuerbit 38 bezeichnet
eine von zwei Formen einer Meldungsadressierung, fest oder allgemein,
die im Etikettfeld 34 des LPakets verwendet werden. Die
feste Form beinhaltet einen Funktionscode, darauf folgt eine Zieladresse.
Wie beschrieben wird, wird eine feste Modusmeldung in jedem Knoten 20 von
einer Schaltung inspiziert, die als "fixed Screener" bezeichnet wird, um zu ermitteln, ob
der Knoten an diesem LPaket interessiert ist. So wird der feste
Modus z. B. zum Rundsenden von Netzmanagementmeldungen zu allen
Knoten verwendet. Die Universalform der Adressierung ermöglicht es
dem Benutzer, die Bedeutung des Etiketts gemäß einem Satz von Regeln zu
definieren, die für
das jeweilige Netz aufgestellt wurden. So kann beispielsweise eine
eindeutige Etikettnummer einen bestimmten Ursprungstyp von E/A-Daten bezeichnen,
die für
mehrere Knoten von Interesse sein können. Ein "Universal-Screener" in jedem Knoten inspiziert diese letztere
Etikettform, um zu ermitteln, ob das LPaket für den Knoten von Interesse
ist, wie beschrieben wird.
-
Das dritte und vierte Steuerbit 40 und 42 werden
als "Etikettfüller" und "Datenfüller" bezeichnet und geben
die Ausrichtung der Etikett- und Datenfelder 34 und 36 im
LPaket an. Wie beschrieben wird, haben die Etikett- und Datenfelder
veränderliche Längen und
beginnen möglicherweise
mit einer 16-Bit-Wortgrenze im LPaket 26 oder auch nicht.
Die Etikettfüller-
und Daten-füller-Steuerbits 40 und 42 geben
diese Ausrichtung an und werden von einem Empfängerknoten zum Trennen der
LPaket-Felder verwendet. Das dritte und vierte Steuerbit 40 und 42 definieren
die Anzahl der Füllbytes,
die der Empfängerknoten
in das LPaketsetzt, um die Etikett- und Datenfelder 34 und 36 auf
Datenwortgrenzen des MAC-Frame 21 auszurichten. Diese Neuausrichtung erleichtert
die Erkennung der Etikett- und Datenfelder 34 und 36 durch
Screener-Schaltungen
im Empfängerknoten 20,
wie nachfolgend beschrieben wird. Das nächste Steuerbit 44 gibt
an, ob die in dem LPaket enthaltenen Daten in Bytegröße oder
in 16-Bit-Wortgröße vorliegen.
Das Steuerbit 45 ist als "immer akzeptieren" Bit designiert, das, wenn es gesetzt
ist, bewirkt, dass ... [sic] Der letzte Teil 46 umfasst
drei Steuerbits, die eine Generationszahl angeben. In einigen Implementationen
des CTDMA-Protokolls kann ein Quellknoten mehrere Kopien desselben
LPakets senden, um zu gewährleisten,
dass wenigstens eines von ihnen die beabsichtigten Empfänger erreicht.
Die Generationszahl bleibt für
jedes duplizierte LPaket dieselbe und ermöglicht es einem Empfängerknoten,
die Duplikate zu ignorieren, wenn ein Paket erfolgreich empfangen
wurde. Wenn sich die Generationszahl ändert, wissen die Netzknoten 20,
dass sich der Meldungsinhalt ebenfalls geändert hat. Wenn das "immer akzeptieren" Bit gesetzt ist,
ignorieren die Empfängerknoten
die Generationszahl bei der Ermittlung, ob sie das LPaket zu Verarbeitung akzeptieren
sollen.
-
Nach den Steuerbits 32 im
LPaket 26 kommt das Etikett 34, das eine veränderliche
Zahl von Bytes hat. Das Etikett identifiziert den Typ von LPaket,
der es einem Empfängerknoten
ermöglicht,
die LPakete, an denen er nicht interessiert ist, zu ignorieren oder auszufiltern
und nur die zu behalten, die für
ihn von Interesse sind. Wie nachfolgend ausführlicher erläutert wird,
akzeptieren "Screener" in jedem Knoten 20 nur
die LPakete mit selektierten Etiketten. Um eine Grenze zwischen
dem Etikett-Feld 34 und dem Link-Daten-Feld 36 an
einer geradzahligen Wortnummer nach dem Anfang des Datenfeldes 25 zu
behalten, muss das Etikett-Feld 34 eine gerade Zahl von Bytes
im MAC-Frame gemäß Austausch
mit Host-Geräten 12, 13, 14, 15, 16 usw.
enthalten. Ein Etikett mit einer ungeraden Zahl von Bytes wird durch das
Etikettfüller-Steuerbit 40 angezeigt,
das einen Schaltkomplex im sendenden Knoten anweist, ein Füllbyte aus
dem Etikett-Feld zu löschen,
bevor er das LPaket überträgt, und
einen Empfängerknoten anweist,
ein Füllbyte
zum Etikett-Feld hinzuzufügen, bevor
er das LPaket zum Host-Prozessor 102 überträgt.
-
Das letzte Feld 36 des LPakets 26 enthält die ausgetauschten
Daten, die als "Link-Daten" bezeichnet werden.
Die Anzahl der Bytes im Feld 36 variiert je nach der Menge
von Daten, die der Quellknoten senden muss. Da die Daten in Byte-
oder Wortgröße vorliegen,
müssen
Empfängerschaltungen
in den Empfängerknoten
beide Formate handhaben können.
Wie nachfolgend beschrieben wird, sind die Empfängerschaltungen so ausgelegt,
dass sie Wortgrößeninkremente
handhaben können.
Wenn die Link-Daten 36 eine ungerade Zahl von Bytes haben, wie
durch das Datenfüll-Steuerbit 42 angegeben, muss
der Empfängerknoten
ein Füllbyte
zum Datenfeld hinzugeben, bevor er das LPaket im Speicher speichert.
-
Wieder bezugnehmend auf 2A, auf das LPaket-Datenfeld 25 im
MAC-Frame 21 folgt ein CRC-Wort (zyklischer Redundanzcode) 27,
den ein Empfängerknoten
verwendet, um zu erkennen, wann der Frame während der Übertragung beschädigt wird.
Der letzte Teil 28 des MAC-Frame 21 ist der zuvor
beschriebene eindeutige Endebegrenzer, an dem die anderen Stationen
erkennen können,
wann der Frame geendet hat. Der Endebegrenzer 28 beinhaltet
auch mehrere explizite Manchester-Code-Verletzungen in seiner Phy-Symbol-Sequenz.
-
Ein Knoten kann einen MAC-Frame nur
zu vorbestimmten Zeiten über
das Netz 10 übertragen, um
zu verhindern, dass Frames von verschiedenen Knoten miteinander
kollidieren. Die Übertragung
von Meldungen erfolgt während
einer Reihe von sich wiederholenden periodischen Intervallen 50,
wie in 3 gezeigt ist.
Die Länge
des periodischen Intervalls kann vom Benutzer definiert werden,
wie beschrieben wird. Jedes periodische Intervall 50 ist
in drei Segmente unterteilt: die geplante Phase 52 für E/A-Daten,
die ungeplante Phase 54 für andere Typen von Meldungen,
und ein Sperrband 56 für
die Meldungskoordination.
-
Während
der geplanten Phase 52 erhält jeder Knoten 20 die
Gelegenheit, E/A-Daten über
das Netz zu übertragen.
Wie in 4A gezeigt, ist
die geplante Phase 52 in Zeitschlitze 60 für jeden
der N Knoten 20 auf dem Netz 10 unterteilt. Wie
beschrieben wird, kann die geplante Phase so konfiguriert werden,
dass nicht alle N Knoten Zugang in Situationen haben, in denen nicht
jeder Knoten E/A-Daten übermittelt,
wie z. B. der Programmierterminal 18. Jeder Zeitschlitz 60 kann
so lang sein wie die Zeit, die zum Senden eines MAC-Frame 21 der
maximalen Länge
notwendig ist, die das Netzwerkprotokoll zulässt (z. B. 510 Bytes). So muss
das periodische Intervall 50 eine definierte Dauer haben,
die wenigstens lang genug ist, damit jeder Knoten 20 einen MAC-Frame 21 maximaler
Dauer senden kann.
-
Am Ende jedes periodischen Intervalls 50 befindet
sich ein Sperrband 56. Wenn das Sperrband endet, wird ein "Ton"-Signal 53 in jedem Knoten 20 erzeugt,
um die zeitliche Grenze zwischen zwei periodischen Intervallen 50 anzuzeigen.
Das Signal wird zwar nicht über
das Netzwerk gesendet, aber es lässt es
zu, dass jeder Knoten Zeit synchron zählt. Nach dem Erzeugen des
Tonsignals überträgt der Netzknoten
mit der ersten Adresse einen MAC-Frame von E/A-Daten im geplanten
Schlitz 1. Wenn dieser Knoten 20 keine E/A-Daten
hat, dann überträgt er einen leeren
MAC-Frame, d. h. einen ohne LPakete. Wenn ein Knoten mehr E/A-Daten
hat, als in einem einzigen MAC-Frame 21 übertragen
werden können,
dann können
die übrigen
Daten während
der ungeplanten Phase 54 gesendet werden, wenn dieser Knoten
eine Gelegenheit erhält,
in dieser Phase zu senden.
-
Am Ende des geplanten Schlitzes 1 für den ersten
Knoten überträgt der Knoten 20 mit
der nächsten
sequentiellen Netzwerkadresse seine E/A-Daten während des geplanten Schlitzes 2.
Man beachte, dass in diesem Beispiel einem Knoten entweder keine
Adresse 3 zugewiesen wurde oder dass der zugewiesene Knoten
derzeit inaktiv ist. Somit wird der geplante Schlitz 3,
der sonst durch E/A-Daten vom dritten Knoten belegt wird, durch
eine kurze "tote" Periode 62 ersetzt.
Der vierte Netzknoten horcht in dieser toten Periode, ob der dritte
Knoten sendet. Diese Horch- oder Warteperiode muss wenigstens so
lang sein wie die längste
Zeit, die ein Signal für
die Fortpflanzung zwischen beliebigen zwei Stationen benötigt. Wenn
während
der Horchperiode keine Übertragung
erfasst wird, dann kommt es zu einem "Schlitz-Timeout", und der vierte Knoten folgert, dass der
dritte Knoten nicht existiert, und beginnt mit dem Senden von E/A-Daten über das
Netzkabel 11.
-
Diese Sequenz wird so lange fortgesetzt,
bis alle N Knoten 20 auf dem Netz 10, die für eine geplante
Phasenübertragung
konfiguriert sind, die Gelegenheit erhalten haben, ihre E/A-Daten
zu senden, d. h. bis der implizierte Token einmal um das Netz gereicht
wurde. Die tatsächliche
Dauer der geplanten Phase 52 variiert je nach dem, wie
viele Netzknoten 20 E/A-Daten zum Senden haben, sowie je
nach der Menge von E/A-Daten, die jede Station sendet. Je nach diesen
Faktoren ist es denkbar, dass das gesamte periodische Intervall 50 mit
einer geplanten Phase 52 und einem Sperrband 56 verbraucht
werden kann. Es ist jedoch häufiger
der Fall, dass nach der geplanten Phase 52 noch Zeit für eine ungeplante
Phase 54 bleibt.
-
Während
der so genannten ungeplanten Phase 54 erhalten die Netzwerkknoten 20 die
Gelegenheit, eventuell verbleibende E/A-Daten sowie andere Meldungstypen
zu senden, wie z. B. solche, die Steuerbefehle und Herstellungsinformationen
enthalten. Jegliche nach der geplanten Phase 52 im periodischen
Intervall 50 verbleibende Zeit wird der ungeplanten Phase 54 gegeben.
Somit erhält
nicht jeder Knoten 20 während
der ungeplanten Phase 54 unbedingt garantiert Zeit, um
Meldungen zu senden, aber das ist akzeptabel, da die ungeplanten
Phasenmeldungen definitionsgemäß weniger
zeitkritisch sind als die E/A-Daten.
-
Wenn genügend Zeit verbleibt, dann können die
Knoten 20 MAC-Frame während
der. ungeplanten Phase 54 wie in 4B veranschaulicht senden. Eine weitere
Unterscheidung zwischen den beiden Phasen 52 und 54 ist
die, dass der erste Knoten, der während der ungeplanten Phase
senden darf, in jedem periodischen Intervall wechselt. Der erste
Knoten wird von einer Netzwerkadresse angegeben, die durch die Variable
START designiert wird, die von jedem Knoten in einem internen Register
gespeichert wird. Am Ende der ungeplanten Phase 54 wird
der wert von START inkrementiert, so dass der Knoten mit der nächsten numerischen
Netzwerkadresse als erster die Gelegenheit erhält, einen Meldungsframe während der
ungeplanten Phase des nächsten
periodischen Intervalls zu senden. Wenn der Wert von START die höchste für die ungeplante
Phase designierte Adresse erreicht, dann wird er auf die niedrigste
Adresse zurückgestellt.
Der implizite Token wird zwar nur einmal in der geplanten Phase 52 herumgereicht,
aber in der ungeplanten Phase wird er so oft herumgereicht, wie
es die Zeit zulässt.
-
Somit sendet zu Beginn der ungeplanten Phase
der Knoten mit einer Adresse gemäß START einen
Meldungsframe. Wenn ein Knoten diesen Meldungstyp nicht zu senden
hat, dann wird ein leerer Meldungsframe gesendet, d. h. einer ohne
LPakete. Dann erhält
der Knoten mit der nächsten
Netzwerkadresse (START + 1) die Genehmigung, einen Meldungsframe
zu senden, usw., bis die in der ungeplanten Phase verbleibende Zeit
verbraucht ist. In der in 4B veranschaulichten
beispielhaften ungeplanten Phase besteht eine Lücke 68 hinter dem
Schlitz 66 für
den START-Knoten, die. anzeigt, dass Adresse START + 1 entweder
unzugewiesen oder der zugewiesene Knoten derzeit inaktiv ist, so
dass eine Totzeit auf dem Netz entsteht. Wie bei der geplanten Phase 52,
wenn ein Knoten in diesem Schlitz nicht mit dem Senden einer Meldung
beginnt, dann beginnt der nächste
Knoten in der Adresssequenz (z. B. START + 2) nach einer Horchperiode
mit dem Senden.
-
Man sollte auch bemerken, dass eine
geringe Menge Zeit 69 verbleibt, nachdem der mit (START +
M) designierte Knoten gegen Ende der ungeplanten Phase 54 mit
dem Senden aufhört.
-
Da diese Menge Zeit 69 für einen
weiteren MAC-Frame zu kurz ist, kommt es zu keiner Übertragung.
Zu diesem Zweck verfolgt jeder Knoten die Zeit, die in dem periodischen
Intervall verbleibt. Die Anzahl der Knoten M, die die Gelegenheit
erhalten, einen MAC-Frame 21 während einer bestimmten ungeplanten
Phase 54 zu senden, ist von der Zeitmenge abhängig, die
in dem periodischen Intervall 50 nach der geplanten Phase 52 verbleibt,
und der Länge
der Frames, die jeder Knoten zu senden hat.
-
Eine Zeitperiode, die als Sperrband 56 bezeichnet
wird, wird am Ende des periodischen Intervalls 50 reserviert.
In dem Sperrband sendet einer der Knoten 20, der als "Moderator" designiert ist,
einen MAC-Frame mit einem einzelnen LPaket, das Netzsteuerinformationen
enthält,
zu allen anderen Knoten rund. Der Moderator ist der aktive Knoten
mit der niedrigsten Netzwerkadresse, und über seine Funktion wie jeder
andere Knoten hinaus sendet er auch Netzsteuerinformationen während des
Moderatorschlitzes jedes Sperrbandes 56. Das LPaket für den Moderator-Meldungsframe
hat dasselbe Format wie in 2B illustriert,
sein Fixed-Screen-Select-Bit ist gesetzt und er hat ein Etikett,
das ein Moderator-LPaket anzeigt. 2C zeigt
das Link-Datenfeld 36 dieses speziellen LPakets. Der erste
Block 71 von Daten enthält
die hexadezimale Zahl FF, die die Rundsendadresse angibt. Der nächste Datenblock 72 enthält die periodische
Intervallzeit (PIT) in Inkrementen von jeweils zehn Mikrosekunden,
die jeden Knoten über
die Dauer jedes periodischen Intervalls informiert. Der dritte und
der vierte Datenblock 73 und 74 geben die Knoten
mit den höchsten
Netzwerkadressen an, denen der Zugang zum Netzwerk jeweils in der
geplanten und der ungeplanten Phase gewährt wird. Während der ungeplanten Phase
erhalten gewöhnlich
mehr Knoten Zugang, da einige Knoten niemals E/A-Daten zusenden
haben. So sendet beispielsweise der Programmierterminal 18 nur Daten
während
der ungeplanten Phase, und es sollte ihm keine Netzwerkadresse gegeben
werden, die in beiden Phasen abgefragt wird, da dies die geplante Phase
nur verlangsamt.
-
Der fünfte Block von Daten 75 im
Moderator-LPaket definiert die Horchzeit (in Mikrosekunden), während der
eine Station auf ein Senden der vorherigen Station warten muss,
bis sie davon ausgehen kann, dass die andere Station dies nicht
tut. So wird beispielsweise die Wartezeit auf einen Betrag von wenigstens
gleich dem Zweifachen der längsten
Netzwerkfortpflanzungszeit plus der Reaktionszeit eines Knotens
plus der Menge an Zeit eingestellt, die ein Knoten braucht, um die Übertragung
eines anderen Knotens zu erkennen.
-
Sehr häufig hört ein Knoten ein Echo seiner eigenen Übertragung.
Wenn nicht auf andere Weise gesperrt, kann der Knoten den Empfang
des MAC-Frame-Echos so verarbeiten, als wenn es von einem anderen
Knoten käme.
Der sechste Datenblock 76 enthält eine Definition einer Leerzeit,
während
der eine Station nach ihrer Übertragung
taub ist, so dass sie ihre eigenen Meldungen nicht empfangen kann.
Die Leerzeit dient auch zum Ermitteln einer Menge an Zeit, die ein
Knoten nach dem Übertragen oder
Empfangen eines Meldungsframe verzögern muss, bevor er über das
Netz senden kann. Somit gibt es eine kurze Ruhezeit zwischen Meldungsframes.
-
Weiter bezugnehmend auf 2C, die nächsten beiden
Datenfeldblöcke 77 und 78 definieren
die Länge
des Sperrbandes 56 und den Punkt innerhalb des Sperrbandes,
an dem der Moderator mit dem Übertragen
des Steuer-MAC-Frame beginnen soll. Der Inhalt des Sperrbandzeitblocks 77 wird
von jedem Knoten verwendet, um zu ermitteln, wann ein Sperrband 56 auftritt.
In einen Timer in dem Knoten wird die periodische Intervallzeit
(PIT) geladen, wenn der Ton 53 auftritt. Dieser Timer wird
alle zehn Mikrosekunden dekrementiert, und wenn die im periodischen
Intervall verbleibende Zeit gleich der Sperrbandzeit aus Datenblock 77 ist,
dann weiß der
Knoten, dass ein Sperrband beginnt. Da sich jeder Knoten auf seinen
eigenen internen Timer verlässt,
um Events wie z. B. das Sperrband zu erkennen, wird, wenn der Timer
eines bestimmten Knotens vor- oder nachgeht, der Betrieb dieses
Knotens nicht präzise auf
die anderen Knoten synchronisiert. Daher beginnt der Moderator nicht
mit dem Senden des MAC-Frame von Netzsteuerinformationen ganz am Anfang
des Sperrbandes 56. Stattdessen wartet der Moderator bis
zu einem späteren
Zeitpunkt, GBAND CENTER genannt, der im Datenblock 78 angegeben ist.
Der interne Timer im Moderator-Knoten
dient zum Ermitteln des Auftretens dieses Zeitpunkts.
-
Der nächste Datenblock 79 des
Moderator-LPakets identifiziert die Adresse des Knotens, der die
erste Gelegenheit erhält,
während
der ungeplanten Phase des nächsten
periodischen Intervalls zu senden. Jedes periodische Intervall ist
nummeriert, und Block 80 enthält die Nummer, oder PIT COUNT, des
aktuellen Intervalls. Die Numerierung der periodische Intervalle
arbeitet mit modularer Arithmetik, und Datenblock 81 enthält den Modulus.
Dieses Nummernschema lässt
es zu, dass bestimmte Knoten so konfiguriert werden, dass sie Daten
nur während
periodischer Intervalle mit einer bestimmten Nummer übertragen.
So kann beispielsweise ein bestimmter Knoten E/A-Daten verarbeiten,
die nicht so zeitkritisch sind, dass die Daten während jedes periodischen Intervalls
gesendet werden müssten.
Daher kann dieser Knoten mittels der periodischen Intervallnummer
so konfiguriert werden, dass er Daten nur in jedem X-ten periodischen
Intervall sendet.
-
Zu verschiedenen Zeiten wird es notwendig, die
im Moderator-LPaket gegebenen Parameter zu ändern. Wenn es beispielsweise
keine freie Adresse unterhalb der geplanten oder ungeplanten Maxima
in den Blöcken 73 und 74 gibt,
wenn ein neuer Knoten zum Netz hinzugefügt wird, dann muss der Wert
in einem oder in beiden diesen Blöcken erhöht werden. Dies erfolgt durch
einen Operator, der den entsprechenden Befehl in den Programmierterminal 18 oder in
eine andere Steuerstation eingibt. Eine Meldung mit dem Befehl wird
dann während
einer ungeplanten Phase zu jedem Knoten auf dem Netz übertragen.
-
Um zu gewährleisten, dass alle Netzwerkknoten 20 gleichzeitig
beginnen, die neuen Konfigurationsdaten zu benutzen, enthält das Moderator-LPaket
eine Nummer, die in Block 82 mit TMINUS bezeichnet ist.
TMINUS hat gewöhnlich
einen Wert von null. Nach dem Verteilen eines revidierten Satzes von
Konfigurationsparametern durch eine Netzmanagementstation zum Moderatorknoten
erhält
der Moderator jedoch einen Befehl von der Netzmanagementstation.
Der Moderator reagiert auf diesen Befehl dadurch, dass er das TMINUS-Feld 82 im
nächsten
Moderator-LPaket auf einen anderen Wert als null (z. B. zunächst ein
Wert von fünf)
einstellt. Der Wert von TMINUS wird beim Senden jedes nachfolgenden
Moderator-LPakets dekrementiert. Wenn TMINUS null erreicht, dann übertragen
alle Knoten die Informationen in ihrem Satz von Halteregistern in den
Satz von aktiven Registern, aus dem die Parameter gelesen werden,
um Aktivität
auf dem Netz 11 zu koordinieren. Dieser Prozess verzögert die
Verwendung der neuen Netzkonfigurationsinformationen für mehrere
periodische Intervalle 50, so dass alle Knoten die Informationen
mit hoher Wahrscheinlichkeit zufriedenstellend empfangen, bevor
die Änderung
implementiert wird.
-
Der MAC-Frame im Sperrband 56 bewirkt auch
die Synchronisation der Takte. in jedem Knoten 20. Das
Ende dieses MAC-Frame ergibt einen Bezugspunkt, von dem jeder Knoten
das Intervall misst, bis das Tonsignal im Knoten erzeugt wird. Somit
wird jedes Mal, wenn ein Knoten den Moderator-Meldungsframe zufriedenstellend empfängt, sein
Taktgeber auf die Taktgeber in allen anderen Knoten neu synchronisiert.
Die Genauigkeit dieser Taktgeber ist derart, dass ein Knoten auf
dem Netz noch mehrere periodische Intervalle lang funktionieren
kann, ohne den Moderator-Meldungsframe zufriedenstellend zu empfangen,
bevor der Takt erheblich abweicht. Unter normalen Bedingungen wird
der Knoten einen Moderator-Meldungsframe zufriedenstellend empfangen und
synchronisiert werden, bevor es zu einer zu starken Abweichung kommt.
-
Ein Knoten, der zum Netzwerk hinzukommt, horcht
mehrere Sekunden lang auf den Datenverkehr, um zu ermitteln, ob
ein weiterer Knoten mit derselben Adresse existiert. Wenn nicht,
dann überträgt der neue
Knoten Meldungen, wenn er in der geplanten und der ungeplanten Phase
an der Reihe ist. Wenn ein anderer Knoten dieselbe Adresse hat, dann
wird der neue Knoten als "Duplikat" angesehen und kann
nicht senden. Das Duplikat bleibt in einem Schlummerzustand, bis
das Problem der im Konflikt stehenden Adressen korrigiert ist (z.
B. bis seine Adresse geändert
wurde oder der im Konflikt stehende Knoten vom Netzwerk abgetrennt
wurde).
-
Somit lässt das aktuelle CTDMR-Netzkommunikationsprotokoll
das Senden von Ein-/Ausgabedaten und anderen Meldungsinformationen über dasselbe
Netzwerkmedium in designierten Abschnitten der periodischen Intervalle 50 zu.
In jedem periodischen Intervall 50 enthalten die E/A-Daten
Priorität, die
zum Steuern der Maschinen verwendet werden, die von den Prozessoren 13–15 auf
dem Netz 10 betrieben werden. Wenn jeder Knoten 20 auf
dem Netz die Gelegenheit erhalten hat, seine E/A-Daten zu senden,
dann wird der übrige
Teil des periodischen Intervalls der Übertragung anderer Formen von
Informationen während
einer ungeplanten Phase gewidmet. Es erhält zwar nicht jeder Netzwerkknoten 20 die
Gelegenheit, eine Meldung während
der ungeplanten Phase 54 zu senden, aber im Laufe der mehreren
periodischen Intervalle wird jeder Knoten eine Gelegenheit erhalten.
Wenn solche Gelegenheiten nicht oft genug auftreten, dann muss der
Netzbetreiber das periodische Intervall möglicherweise verlängern.
-
Kommunikationssteuerung
-
Gemäß 5A ist das CTDMA-Protokoll vorzugsweise
auf einer einzigen größtintegrierten Schaltung
(VLSI) mit der Bezeichnung "S-Link
Media Access Controller" (SMAC) 100 ausgeführt. Der SMAC 100 hat über einen
konventionellen Bus 101 Verbindung mit dem Host-Prozessor 102.
Der Bus 100 beinhaltet eine Standardadresse, Daten- und Steuersignale,
wie in der Technik für
Prozessorschnittstellen bekannt ist. Der Host-Prozessor 102 kann
ein konventionelles Mikroprozessorsystem sein. Der SMAC 100 kann
vorzugsweise so programmiert werden, dass er an eine Reihe verschiedener Host-Prozessorbuskonfigurationen
und -protokolle angepasst werden kann. So können beispielsweise Daten selektiv
als Daten mit 8 oder 16 Bit Breite übertragen werden. Ebenso können "Handshaking"-Signale für Datenübertragungen
für bekannte
Schnittstellenprotokolle angepasst werden, mit denen handelsübliche Mikroprozessoren
arbeiten. Der SMAC 100 bietet vorzugsweise eine Funktion
für einen "Byte-Tausch" von Datenbytes gemäß der vom
angeschlossenen Host 102 verwendeten Hoch/Tief-Byte-Priorität. Solche
Schnittstellenfunktionen sind ausführlicher im mitanhängigen US-Patent Nr.
5,153,884 mit dem Titel "Intelligent
Network Interface Circuit" beschrieben.
-
Jeder Knoten 20 hat über einen
mit einem Transformator 104 gekoppelten Abgriff 103 Verbindung
mit dem Koaxialkabel 11. Sekundärwicklungen 104a des
Transformators 104 sind mit beiden Eingängen eines Empfangsverstärkers/Detektors 105 und
den Ausgängen
von zwei Biphasen-Antriebsverstärkern 106a und 106b verbunden.
Der Ausgang des Empfangsverstärkers/Detektors 105 ist
als NET IN Signal 107 mit dem SMRC 100 verbunden.
Die Eingänge
der Treiberverstärker 106a und 106b sind jeweils
mit einem NET OUT Signal 108 und einem NET OUT INV Signal 109,
vom SMAC 100 erzeugt, verbunden. Die Treiberverstärker 106a und 106b sind
vom "Ausgangssenken"-Typ, so dass dann, wenn
die NET OUT und NET OUT INV Signale 108 und 109 beide
tief sind, beide Sekundärwicklungen 104a hoch
oder offen sind. In diesem Zustand koppeln die Sekundärwicklungen 104a vom
Netz 10 empfangene Signale mit dem Empfangsverstärker/Detektor 105.
Zur Übertragung
werden die Treiberverstärker 106a und 106b jeweils
von den NET OUT und NET OUT INV Signalen 108 und 109 phasenverschoben
(hoch/tief oder tief/hoch), wobei ein Sendesignal auf die Sekundärwicklungen 104 des Transformators 104 aufgedrückt wird.
Der Transformator 104 koppelt dann das gesendete Signal
mit dem Netz 10.
-
Der Knoten 20 beinhaltet
auch einen Verbinder 110, um einen Programmierterminal 18 über einen
passenden Stecker 111 mit dem Knoten 20 zu verbinden.
Es wird bevorzugt, dass alle Knoten 20 auf dem Netz 10 einen
solchen Verbinder 110 für
einen selektiven temporären
Anschluss des Programmierterminals 18 nach Bedarf haben.
So kann z. B. der Programmierterminal ein Handgerät sein,
das beim Durchführen
von Einstell- oder Diagnosevorgängen
von Knoten zu Knoten getragen wird. Der Programmierterminal-Verbinder 110 ermöglicht bidirektionale
serielle Kommunikation zwischen dem Programmierterminal 18 (wenn
angeschlossen) und dem SMAC 100.
-
In dieser besonderen Ausgestaltung
ist das Format für
den seriellen Datenaustausch zwischen dem Programmierterminal 18 und
dem SMAC 100 die EIA-Norm RS-422. Ein Satz von. RS-422
Transceivern 112 ist an jeweiligen Ports PTC IN 113 und PTC
OUT 114 auf dem SMAC 100 für den Austausch serieller Daten
angeschlossen. Wie nachfolgend ausführlich beschrieben wird, stellt
der SMAC 100, zusätzlich
zu anderen Diensten, eine "Repeater"-Fähigkeit
zwischen dem Netz 10 und dem Programmierterminal-Verbinder 110 bereit.
Diese Repeater- Fähigkeit
ist besonders vorteilhaft, weil sie einen vollfunktionellen Netzwerkport
am Programmierterminal-Verbinder 110 bereitstellt,
ohne die Kosten oder das Overhead eines weiteren expliziten Satzes
von Netzschnittstellen-Hardware.
Der vom SMAC 100 für den
Host-Prozessor 102 bereitgestellte normale Netzwerkzugang
ist völlig
mit der Repeating-Fähigkeit
zwischen dem Programmierterminal-Verbinder 110 und
dem Netz 10 integriert, so dass der SMAC als Netzwerk-Repeater 17 in 1 fungieren kann. Infolgedessen
wird die volle Matrix von Kommunikationspfaden implementiert. Insbesondere
sind die verfügbaren Übertragungspfade:
(1) Daten, die vom Programmierterminal-Verbinder 110 empfangen werden,
sind mit dem Netz 10 und dem Host 102 gekoppelt;
(2) vom Host 102 empfangene Daten sind sowohl mit dem Programmierterminal-Verbinder 110 als auch
mit dem Netz 10 gekoppelt; und (3) vom Netz 10 empfangene
Daten sind sowohl mit dem Programmierterminal-Verbinder 110 als
auch mit dem Host-Prozessor 102 gekoppelt.
-
Aufgrund der auf dem Netz 10 verwendeten hohen
Datenrate bietet der SMAC 100 eine "Screening"-Fähigkeit,
um nur bestimmte Daten von Interesse auszuwählen, die schließlich zum
Host 102 weitergeleitet werden. Wie oben beschrieben, beinhaltet jeder
MAC-Frame ein oder mehrere LPakete 26, und jedes LPaket
beinhaltet ein eindeutiges Kennetikett. Eine begrenzte interne Screening-Fähigkeit
ist im SMAC 100 gegeben, um bestimmte LPakete herauszupicken,
die zum Host 102 übertragen
werden sollen. Über
die interne Screening-Fähigkeit
hinaus bietet der SMAC 100 auch einen Screener-Bus 115 für den Anschluss
an eine fakultative externe Screen-Schaltung 116. Die externe
Screen-Schaltung 116 kann so ausgelegt sein, dass sie eine
im Wesentlichen unbegrenzte Zahl von LPaketen 26 für die Übertragung
zum Host 102 erkennt. Sowohl die interne als auch die externe
Screening-Fähigkeit werden
nachfolgend ausführlich
beschrieben.
-
Der SMAC 100 erzeugt auch
ein SYNC OUT Signal 120, das die Fähigkeit für eine Echtzeitsynchronisierung
zwischen verschiedenen am Netz 10 angeschlossenen Knoten 20 bietet.
Aufgrund der einzigartigen Qualitäten des CTDMA-Protokolls kann
jeder einzelne Knoten 20 Aktivitäten am lokalen Knoten zu globalen
Echtzeit-synchronisierten Events synchronisieren, die auf dem Netz 10 auftreten.
Das SYNC OUT Signal 120 kann so konfiguriert werden, dass
es eine von mehreren möglichen
Synchronisationsquellen im SMAC 100 wählt. Auf der Basis der gewählten Synchronisationsquelle
bietet das Sync-Ausgabesignal 120 die
Fähigkeit,
Prozesse am lokalen Knoten 20 in Bezug auf eine absolute
oder "universelle" Zeitreferenz zu
synchronisieren, die allen Knoten auf dem Netz zur Verfügung steht.
Dies erlaubt die Echtzeitsynchronisation von Events und Systemen,
auch wenn diese Events und Systeme vielleicht auf unterschiedlichen
Netzknoten 20 sind. Der zu synchronisierende lokale Prozess
kann eine separate Schaltung oder ein separates Subsystem sein,
wie durch die gestrichelten Linien 121 angedeutet ist,
oder kann alternativ ein Prozess sein, der den Host-Prozessor 102 selbst
betreibt. Im letzteren Fall kann das SYNC OUT Signal 120 bei
Bedarf als diskretes Eingangssignal in den Host-Prozessor 102 geschaltet
werden. Es ist zwar ein einziges SYNC OUT Signal 120 zu
sehen, aber es können
bei Bedarf mehrere SYNC OUT Signale verwendet werden, um gleichzeitig
andere der wählbaren "Sync Event" Quellen bereitzustellen.
-
Der SMAC
-
Gemäß 5B sind die Hauptfunktionsblöcke im SMAC 100 eine
Modemschaltung 140, eine Empfangsverarbeitungsschaltung 142,
eine Sendeverarbeitungsschaltung 141, eine Host-Schnittstellenschaltung 143,
eine Zugangssteuerschaltung 144 und eine Sync-Auswahlschaltung 145.
-
Das Modem 140 hat Verbindung
mit dem NET IN Signal 107, dem NET OUT Signal 108,
dem NET OUT INV Signal 109, dem PTC IN Signal 113 und
dem PTC OUT Signal 114. Eine Grundfunktion des Modems 140 ist
es, die Manchester-codierten Signale zu und von dem Netz 10 und
dem Programmierterminal-Verbinder 110 zu modulieren und
zu demodulieren. Eine weitere Grundfunktion des Modems 140 ist
es, die im SMAC 100 verwendeten Taktsignale für Timing-Zwecke
zu erzeugen. Ein PHY CLOCK Signal 150 wird vom Modem 140 mit
der physikalischen Symbolrate oder dem Zweifachen der Bitrate erzeugt.
Die bevorzugte Bitrate in dieser Ausgestaltung ist fünf Megabit
pro Sekunde, und das PHY CLOCK Signal 150 hat somit eine
Frequenz von zehn Megahertz. Das Modem 140 erzeugt auch
ein BYTE PULSE Signal 151, das auf eine nachfolgend ausführlich beschriebene
neuartige Weise auf die "Byte"-Grenze der Manchester-Daten
ausgerichtet ist. Nach dem Ausrichten wird das BYTE PULSE Signal 151 für eine aktive
Periode des PHY CLOCK Signals 150 auf "wahr" gesetzt,
um das Ende eines empfangenen oder gesendeten Bytes (acht Bit) zu markieren.
In diesem Sinne ist das BYTE PULSE Signal 151 kein Taktsignal
an sich, sondern eher ein Torsteuersignal, das unmittelbar vor einer
aktiven Flanke des PHY CLOCK Signals 150 auf "wahr" gesetzt wird. Das
Modem 140 erzeugt auch andere Taktsignale, die nachfolgend
wo zutreffend erörtert werden.
-
Eine dritte Funktion des Modems 140 ist
es, vom Host-Prozessor 102 zur Übertragung
bereitgestellte Daten zu akzeptieren und ebenso die empfangenen
Daten zum Host 102 weiterzuleiten. Die Sendeverarbeitungsschaltung 141 sendet
Host-Sendedaten und andere Steuersignale über einen dedizierten Ausgangsbus 161 zum
Modem 140. Die Empfangsverarbeitungsschaltung 142 akzeptiert
die empfangenen Daten und entsprechenden Steuersignale vom Modem 140 über einen
dedizierten Eingangsbus 162. Der jeweilige Betrieb der
Schaltungen 141 und 142 beim Verarbeiten der jeweiligen
Sende- und Empfangsdaten wird nachfolgend ausführlich beschrieben.
-
Viertens implementiert das Modem 140 eine Auswahlmatrix
zum Durchführen
der Repeater-Funktion zwischen HostßProzessor 102, Programmierterminal-Verbinder 110 sowie
dem Netz 10. Von der Sendeverarbeitungsschaltung 141 empfangene Host-Sendedaten werden
im Modem 140 "zurückgeschleift" (Loopback), um den
Datenauswahl- und -Repeating-Prozess zu integrieren. Auf dem NET
IN Eingang 107 empfangene Daten werden sowohl mit der Leitung
für das
PTC OUT Signal 114 als auch mit der Empfangsverarbeitungsschaltung 142 gekoppelt. Ruf
der Leitung für
das PTC IN Signal 113 empfangene Daten werden zur Empfangsverarbeitungsschaltung 142 gesendet
und auch jeweils über
die NET OUT und NET OUT INV Signalleitung 108 und 109 zum
Netz 10 weitergeleitet. Schließlich werden Host-Sendedaten von der
Sendeverarbeitungsschaltung 141 zu allen drei Zielorten
gesendet: der Leitung für
das PTC OUT Signal 114, der Leitung jeweils für die NET
OUT und NET OUT INV Signale 108 und 109 sowie
zur Empfangsverarbeitungsschaltung 142. Das "Loopback" von Host-Sendedaten
zur Empfangsverarbeitungsschaltung 142 erlaubt es dem Host-Prozessor 102, "Meldungen" zum SMAC 100 zu senden.
Dieses Meldungsloopback ist die bevorzugte Methode für die Übertragung
bestimmter Informationen zwischen dem Host-Prozessor 102 und dem SMAC 100,
weil sie die inhärenten Meldungsverarbeitungsfähigkeiten
des SMAC 100 nutzt. So werden z. B. spezielle Stationsmanagement-"Meldungen" für eine Direktverarbeitung
durch den SMAC 100 ohne Aktion durch den Host-Prozessor 102 bereitgestellt. Diese "Meldungen" können entweder
vom Netz 10 oder vom Host-Prozessor 102 empfangen
werden, aber in beiden Fällen
wird die "Meldung" durch die Empfangsverarbeitungsschaltung 142 verarbeitet. Füllbytes
werden an das Ende jeder Stationsmanagementmeldung angehängt, um
zu gewährleisten, dass
der SMAC 100 genügend
Zeit hat, um die Meldung zu verarbeiten.
-
Schließlich hat das Modem 140 die
Funktion, Signale zu erzeugen, die für den CTDMA-Zugangsprozess
verwendet werden, insbesondere ein FRAME ESTIMATE Signal 165 und
ein RX READY Signal 166. Mit kurzer Bezugnahme auf 6, das FRAME ESTIMATE Signal 165 bedeutet,
dass "geschätzt" wird, dass ein MAC-Frame 21 unterwegs
ist (Sendung oder Empfang). Bei einem empfangenen Frame erfolgt
diese "Schätzung" auf eine Weise,
die eine qualitative Schätzung
der MAC-Frame-Präambel 22 als
eine frühe,
aber nicht unfehlbare Anzeige durchführt, dass ein MAC-Frame 21 unterwegs
ist. Das andere Steuersignal, RX READY 166, wird erst nach dem
Empfang einer vorbestimmten Anfangsbegrenzersequenz, genau und fehlerlos,
wahr. Der Anfangsbegrenzer 23 ist dahingehend eindeutig,
dass er aus einzelnen Phy-Symbolen anstatt aus konventionellen Manchester-codierten
Datenbits besteht. In der Tat beinhaltet der bevorzugte Anfangsbegrenzer 23 absichtlich
mehrere explizite Manchester-Code-Verletzungen in der Phy-Symbol-Sequenz. Ein ebenso
eindeutiger Endebegrenzer 28 wird mit einer anderen Phy-Symbol-Sequenz
bereitgestellt, die ebenfalls Manchester-Code-Verletzungen beinhaltet,
um das Ende eines MAC-Frame 21 zu erkennen. Nach einem
erfolgreichen Erkennen der Anfangsbegrenzersequenz wird das RX READY
Signal 166 wahr. Das RX READY Signal 166 bleibt
dann so lange wahr, bis eine andere Manchester-Code-Verletzung erkannt wird.
Normalerweise würde
ein empfangener MAC-Frame keine
-
Manchester-Code-Verletzungen
zwischen Anfangs- und
-
Endebegrenzern enthalten. In diesem
Fall würde
das RX READY Signal 166 wahr bleiben, bis die erste absichtliche
Manchester-Code-Verletzung im Endebegrenzer erkannt wird.
-
Wieder zurück zu 5B, die Empfangsverarbeitungsschaltung 142 nimmt
serielle Daten- und andere Statusanzeigen vom Modem 140 und
wandelt die seriellen Daten in ein acht Bit breites "Byte"-Format um. Die Empfangsverarbeitungsschaltung 142 leitet
die Byte-Daten über
einen RX-Byte-Bus 170 zur Host-Schnittstellenschaltung 143 weiter.
Steuersignale für
die Übertragung
kommen auf einem RX FIFO Steuerbus 171. Die Empfangsverarbeitungsschaltung 142 ist
auch vornehmlich für
Screening-Operationen verantwortlich und beinhaltet eine universelle
User-Screen-Schaltung 172, die so programmiert werden kann,
dass sie eine begrenzte Anzahl von LPaket-Etiketten von Interesse "erkennt". Die Empfangsverarbeitungsschaltung 142 ist
auch mit dem externen Screener-Bus 115 für externe
Screening-Vorgänge
verbunden.
-
Die Zugangssteuerschaltung 144 hat
in Verbindung mit der Empfangsverarbeitungsschaltung 142 die
Funktion, eine "feste" Screener-Funktion
zu implementieren. Dieser feste Screener dient zum Erkennen von
vorbestimmten festen LPaket-Etiketten, die Stationsmanagementinformationen
führen.
-
Darüber hinaus führt die
Empfangsverarbeitungsschaltung 142 eine "Intervallnummer"-Zahl. Wie oben erörtert, wird
jedes periodische Intervall in aufsteigender Reihenfolge gemäß einem
konfigurierbaren Modulus numeriert. Die Empfangsverarbeitungsschaltung 142 führt die "Intervallnummer" des aktuellen periodischen
Intervalls für
die Verwendung in einigen Screening-Funktionsarten. Die Intervallnummer
wird auch über
den Bus 174 direkt zur Host-Schnittstelle 143 gesendet.
-
Die Empfangsverarbeitungsschaltung 142 erzeugt
ein LPACKET BOUNDARY Signal 175 am Anfang jedes LPakets 26 und
am Ende des letzten LPakets in einem MAC-Frame 21. Das
LPACKET BOUNDARY Signal 175 ist mit der Zugangssteuerschaltung 144 gekoppelt,
um eine Benachrichtigung der LPaket-Grenze bereitzustellen, so dass
die entsprechende Verarbeitung eingeleitet werden kann.
-
Die Zugangssteuerschaltung 144 koordiniert alle
Funktionen auf dem SMAC 100, einschließlich Implementation des CTDMA-Protokolls,
Datenübertragung,
Datenempfang, Datenaustausch mit dem Host-Prozessor 102 und
Erzeugung des Sync-Ausgangssignals 120. Die Zugangssteuerschaltung 144 beinhaltet
einen Reduzierter-Instruktionssatz-Computer, der nachflgend als
RISC-Prozessor 400 bezeichnet wird (10), zusätzlich zu mehreren dedizierten
Logikschaltungen. Der RISC-Prozessor 400 wird mit einem
RISC-Bus 180 verbunden, der die Zugangssteuerschaltung 144 mit
anderen Verarbeitungsschaltungen auf dem SMAC 100 verbindet.
Der RISC-Bus 180 beinhaltet Adress-, Daten- und Steuerleitungen
und ermöglicht
die Kommunikation von Befehls- und Statusinformationen zwischen
dem RISC-Prozessor 400 und den angeschlossenen Schaltungen.
Insbesondere verwendet der RISC-Prozessor 400 den
RISC-Bus 180 zum Erzeugen von Befehls-Strobe-Signalen, zum Testen einzelner
Statusbits und sogar zum parallelen Lesen von "Byte"-Daten
von selektierten Stellen in SMAC 100. Während die meisten E/A-Operationen
zur Zugangssteuerschaltung 144 über den RISC-Bus 180 erfolgen,
werden auch einige diskrete Ein- und Ausgänge verwendet, und diese Signale
werden ggf. nachfolgend beschrieben.
-
Die Zugangssteuerschaltung 144 erzeugt auch
mehrere Signale, die für
den Betrieb des CTDMA-Protokolls relevant sind, und diese Signale
werden in einem Bus mit der Bezeichnung "Sync"-Bus 176 miteinander
gruppiert. Der Sync-Bus 176 hat Verbindung
mit der Sync-Auswahlschaltung 145, um die Quellsignale
bereitzustellen, von denen die Sync-Auswahlschaltung 145 das SYNC
OUT Signal 120 erzeugen kann. Der Sync-Bus 176 hat
auch Verbindung mit der Empfangsverarbeitungsschaltung 142 und
der Host-Schnittstelle
143.
-
Weiterhin mit Bezug auf 5B, die Sendeverarbeitungsschaltung 141 erzeugt
einen seriellen Strom von Phy-Symbolen für die Ausgabe vom SMAC 100.
Der serielle Phy-Symbolstrom sowie andere assoziierte Steuersignale
sind über
den Ausgangsbus 161 mit der Modemschaltung 140 verbunden.
Die Sendeverarbeitungsschaltung 141 führt die Funktionen des Erzeugens
der Präambel 22,
des Anfangsbegrenzers 23, des Datenfeldes 25 und
des Endebegrenzers 28 für
einen abgehenden MAC-Frame 21 durch. Präambel, Anfangs- und Endebegrenzer
sind im Format festgelegt und werden intern von der Sendeverarbeitungsschaltung 141 erzeugt.
Die Daten für
die Übertragung
im Datenfeld 25 des MAC-Frame werden entweder direkt von
der Host-Schnittstellenschaltung 143 oder von der Zugangssteuerschaltung 144 über den
RISC-Bus 180 zur Sendeverarbeitungsschaltung 141 gesendet.
Für "normale" Ausgabedaten (d.
h. vom Host 102) wird der Datenfeldinhalt zur Sendeverarbeitungsschaltung 141 direkt
durch die Host-Schnittstellenschaltung 143 geliefert.
Ein weiteres wichtiges Konzept ist jedoch die Fähigkeit des SMAC 100,
automatisch auf bestimmte Stationsmanagementbefehle zu reagieren,
in einigen Fällen
damit, dass tatsächlich
eine geeignete Stationsmanagement-Antwortmeldung gesendet wird.
Bei Bedarf wird die Stationsmanagement-Antwortmeldung ohne Anweisung
vom oder Unterbrechung des Host-Prozessors) 102 gesendet. Die
Stationsmanagement-Antwortmeldung wird automatisch vom RISC-Prozessor in der
Zugangssteuerschaltung 144 erzeugt, und die entsprechenden
Daten zur Übertragung
werden über
den RISC-Bus 180 zur Sendeverarbeitungsschaltung 141 gesendet.
-
Die Sendeverarbeitungsschaltung 141 erzeugt
ein TX READY Signal 181, um anzuzeigen, dass der Hauptteil
eines MAC-Frame 21 gerade gesendet wird. Das heißt, das
TX READY Signal 181 wird nach dem Senden des Anfangsbegrenzers 23 aktiviert
und nach dem Senden des Endebegrenzers 28 deaktiviert.
Das TX READY Signal 181 ist somit grob analog zu dem beim
Empfang verwendeten RX READY Signal 166. Das TX READY Signal 181 ist mit
der Host-Schnittstellenschaltung 143, der Zugangssteuerschaltung 144 und
der Sync-Auswahlschaltung 145 für die Verwendung wie nachfolgend separat
beschrieben verbunden. Ein weiterer von der Sendeverarbeitungsschaltung 141 erzeugte Sendeindikator
ist ein TX BUSY Signal 182, das an die Zugangssteuerschaltung 144 angelegt
wird. Ein wahres TX BUSY Signal gibt an, dass die Sendeverarbeitungsschaltung 141 gerade
dabei ist, ein LPaket von der Host-Schnittstelle 143 zu
erwerben. Insbesondere ist das TX BUSY Signal 182 während der Übertragung
einer Kopfzeile (Felder 22–24) oder eines Dateiende-Etiketts
(Felder 27–28)
eines MAC-Frame 21 und auch nicht wahr, während die
Zugangssteuerung 144 eine Antwort sendet. Mit dem TX BUSY
Signal 182 wird die Zugangssteuerung 144 informiert,
wenn die Sendeverarbeitungsschaltung 141 die Übertragung
eines LPakets abgeschlossen hat. Wenn das TX BUSY Signal falsch
wird, kann die Zugangssteuerschaltung 144 entweder eine
andere LPaket-Übertragung
einleiten oder den MAC-Frame 21 beenden.
-
Die Host-Schnittstellenschaltung 143 ist
eine "strom"-(Stream)-orientierte Schnittstelle für den Host-Prozessor 102.
Jeder Strom ist eine logische Gruppierung von Speicherstellen, die
auf FIFO-Weise in der Host-Schnittstellenschaltung 143 organisiert
ist. Es werden vorzugsweise insgesamt fünf Ströme implementiert, d. h. drei
Ausgangs-(Sende)-Ströme
und zwei Eingangs-(Empfangs)-Ströme. Die
drei Ausgangsströme
werden mit TX A, TX B und TX C bezeichnet. Auf eine Übertragung
wartende Daten werden vom Host-Prozessor 102 über den Host-Bus 101 in
die Ströme
TX A bis TX C gesetzt. Der Host-Prozessor 102 hat auch
die Fähigkeit,
die Ausgangsströme
als "sendebereit" zu "markieren". Ein STREAM STATUS
Bus 185 wird von der Host-Schnittstellenschaltung 143 bereitgestellt,
um anzuzeigen, welche der drei Ausgangsströme als "sendebereit" markiert sind. Die Zugangssteuerschaltung 144 wird
auch über
den RISC-Bus 180 über den "Sendebereit"-Status unterrichtet.
Wenn der Knoten 20 gemäß CTDMA-Protokoll
eine Sendeerlaubnis erhalten hat, dann gibt die Zugangssteuerschaltung 144 entsprechende
Anweisungen über den
RISC-Bus 180 aus, um die Sendeverarbeitungsschaltung 141 anzuweisen,
mit dem Senden zu beginnen. Gleichzeitig wird der RISC-Bus 180 auch
verwendet, um einen der "Bereit"-Ströme in der Host-Schnittstelle 143 für die tatsächliche Übertragung
zu designieren. Die Information, welcher Strom übertragen werden soll, wird
von der Host-Schnittstelle 143 zwischengespeichert und über einen. "Framestart"-Bus 186 an
die Sendeverarbeitungsschaltung 141 angelegt. Die Host-Schnittstellenschaltung 143 setzt
dann das erste oder oberste Datenwort für den gewählten Strom auf den "TX Word" Bus 187. Der
TX-Word-Bus 187 überträgt das aktuelle
Wort zur Sendeverarbeitungsschaltung 141. Der TX-Word-Bus 187 hat
eine Breite von 16 Bit, so dass jeweils zwei Bytes gleichzeitig übertragen
werden. Wenn die Sendeverarbeitungsschaltung 141 das aktuelle
Wort auf dem TX-Word-Bus 187 zwischengespeichert
hat, dann wird ein TAKE WORD Signal 188 aktiviert. Das
TAKE WORD Signal 188 weist die Host-Schnittstelle 143 an,
den gerade gewählten Strom
zum nächsten
Datenwort für
die Übertragung weiterzuleiten.
-
Während
der Übertragung
von der Host-Schnittstelle 143 aktiviert die Sendeverarbeitungsschaltung 141 ein
TX BUSY Signal 182. Das TX BUSY Signal 182 ist
mit der Zugangssteuerschaltung 144 verbunden und wird für die Dauer
jedes LPakets aktiviert, das von der Host-Schnittstelle gesendet wird.
Ein TX READY Signal 181 wird nach dem Übertragen des Anfangsbegrenzers 23 wahr
und bleibt für die
Dauer der Übertragung
wahr. Das TX READY Signal 181 ist mit der Zugangssteuerschaltung 144,
der Host-Schnittstelle 143 und als Eingang zur Sync-Auswahlschaltung 145 geschaltet.
-
Die Sync-Auswahlschaltung 145 hat
die Funktion, eine von mehreren Signalquellen für die Verwendung beim Erzeugen
des SYNC OUT Signals 120 zu wählen. Der RISC-Bus 180 hat
Verbindung mit der Sync-Auswahlschaltung 145 und dient
zum Steuern der Auswahl der Signalquelle.
-
Im Hinblick auf diese Übersicht über den SMAC 100 wird
eine ausführlichere
Beschreibung seiner Subsysteme verständlich.
-
SMAC-Modem
-
Gemäß 7 verarbeite t. das Modem 140 das
PTC IN Signal 113 und das NET IN Signal 107 in einer
RX-Decodierschaltung 250. Die RX-Decodierschaltung 250 überwacht
jedes der Signale 113 und 107, um zu ermitteln,
welches der beiden für
eine nachfolgende Verarbeitung ausgewählt werden soll. Beim normalen
Betrieb ist jeweils immer nur eines der Signale 113 und 107 aktiv.
Die eingehenden Daten von der gewählten Quelle werden mit dem
PHY CLOCK Signal 150 synchronisiert und als RX PHY SYMBOLS
Signal 251 ausgegeben. Ein weiterer Ausgang von der RX-Decodierschaltung 250 ist
als RX FRAME Signal 252 designiert. Das RX FRAME Signal 252 wird
aktiviert, wenn die selektierten Eingangsdaten am RX PHY SYMBOLS
Signal 251 als gültige
Präambel 22 erkannt
sind (siehe 6). Ein PTC
ACTIVE Signal 253 wird ebenfalls von der RX-Decodierschaltung 250 erzeugt,
um anzuzeigen, wenn das PTC IN Signal 113 als aktiver Kanal
gewählt
ist. Das PTC ACTIVE Signal 253 ist sowohl mit einer TX-Steuerschaltung 255 im
Modem 140 als auch extern über den Eingangsbus 162 mit
der Empfangsverarbeitungsschaltung 142 gekoppelt. Das PTC
ACTIVE Signal 253 wird von diesen jeweiligen Schaltungen 255 und 142 als
Anzeige dafür
verwendet, dass der Programmierterminal 25 aktiv ist, was wiederum
spezielle Verarbeitungsaktionendiktiert, die nachfolgend beschrieben
werden.
-
Die Sendeverarbeitungsschaltung 141 empfängt auf
dem Ausgangsbus 161 ein TX ENABLE Signal 256 und
ein END BLANKING Signal 257. Das TX ENABLE Signal 256 und
das END BLANKING Signal 257 sind mit der RX-Decodierschaltung 250 und der
TX-Steuerschaltung 255 gekoppelt.
In der RX-Decodierschaltung
250 werden die Signale 256 und 257 beim
Wählen
des aktiven Kanals wie nachfolgend näher beschrieben verwendet.
Für die TX-Steuerschaltung 255 werden
die Signale 256 und 257 zum Steuern des Sendeprozesses
verwendet, ebenfalls wie nachfolgend beschrieben wird.
-
Die Modem-Schaltung 140 beinhaltet
eine Taktgeneratorschaltung 260, die Datentakte und andere
Synchronisationssignale erzeugt, die im SMAC 100 verwendet
werden. Über
das oben erörterte
PHY CLOCK Signal 150 und BYTE PULSE Signal 151.
hinaus erzeugt die Taktgeneratorschaltung 260 auch ein
BIT CLOCK Signal 261 und ein BYTE CLOCK Signal 262.
Das BIT CLOCK und das BYTE CLOCK Signal 261 und 262 sind über den
Eingangsbus 162 jeweils extern mit der Empfangsverarbeitungsschaltung 142 gekoppelt
und werden auch lokal im Modem 140 verwendet. Das BIT CLOCK
Signal 261 hat eine Frequenz von fünf Megahertz oder der Hälfte der Phy-Symbolrate, da es
zwei Phy-Symbole pro Manchester-Datenbit gibt. Ferner wird das BIT
CLOCK Signal 261 zeitlich so gesteuert, dass seine aktive Flanke
dem "wahren" Phy-Symbolteil jedes
Manchester-Bits entspricht. Wie in der Technik bekannt ist, umfasst
jedes Manchester-Bit zwei Phy-Symbole, die
binäre
Komplemente voneinander sein müssen, damit
sie als gültiger
Manchester-Code angesehen werden. Das heißt, ein Phy-Symbol oder Manchester-Halbbit
bedeutet "wahre" Daten, während die andere
Hälfte
des Manchester-Bits Umkehr- oder Komplementdaten sind. Somit werden
durch Abtasten des Phy-Symbolstroms mit der aktiven Flanke des BIT
CLOCK Signals 261 die tatsächlichen (d. h. "wahren") Manchester-Daten
zurückgewonnen.
Das BYTE CLOCK Signal 262 ist dem Bittakt frequenzmäßig durch
acht dividiert gleich, so dass die aktive Flanke einmal alle acht
Bit auftritt.
-
Eine ordnungsgemäße Ausrichtung der BIT CLOCK,
BYTE CLOCK und BYTE PULSE Signale 261, 262 und 151 ist
eine wichtige Funktion des SMAC 100. Eine Begrenzererkennungsschaltung 265 dient
zum Erkennen einer exakten Sequenz von Phy-Symbolen, die einen "Anfangsbegrenzer" 23 und
einen "Endebegrenzer" 28 bildet.
Die Anfangs- und Endebegrenzer an sich sind dahingehend neu, dass
sie auf Mustern von Phy-Symbolen anstatt von Manchester-Datenbits basieren.
Wie oben erwähnt, werden
die bevorzugten Anfangs- und Endebegrenzer-Phy-Symbolmuster so konstruiert,
dass sie absichtlich ungültige
Manchester-Codes beinhalten und demzufolge von früheren Manchester-Verarbeitungsschaltungen
(nicht dargestellt) einfach als "falsche" Daten zurückgewiesen
würden.
Eine ausführliche Beschreibung
von Aufbau und Verwendung des Anfangs- und Endebegrenzers werden
nachfolgend ausführlich
beschrieben. Im Allgemeinen wird der Anfangsbegrenzer 23 verwendet,
um einen präzisen "Synchronisier"-Punkt für die eingehenden
Daten festzulegen. Vorübergehend
auf 6 bezugnehmend,
wenn ein Anfangsbegrenzer 23 erfolgreich erkannt wird,
dann aktiviert die Begrenzererkennungsschaltung 265 ein
ALIGN BYTE Signal 266, um anzuzeigen, dass die eingehenden
Phy-Symbole an einer exakten Byte- und Bit-Grenze sind. Und genau
in diesem Moment wurde das letzte Phy-Symbol des Anfangsbegrenzers
gerade empfangen, und das erste Phy-Symbol des ersten Bits und das
erste Byte der Quelladresse 24 sind das nächste empfangene
Signal. Das ALIGN BYTE Signal 266 veranlasst die Taktgeneratorschaltung 260,
alle Taktsignale BIT CLOCK 261, BYTE CLOCK 262 und
BYTE PULSE 151 jeweils auf diese präzise Bit/Byte-Grenze zu synchronisieren.
-
Das Modem 140 verwendet
eine Loopback-Konfiguration, um zwischen empfangenen Daten oder
abgehenden Sendedaten für
eine nachfolgende Verarbeitung durch die Empfangsverarbeitungsschaltung 142 auszuwählen. Insbesondere
wird ein Paar Multiplexer 267 und 268 mit jeweils
zwei Eingängen
verwendet. Serielle Phy-Symbole für die Übertragung werden von der Sendeverarbeitungsschaltung 141 auf
einer TX PHY SYMBOLS Leitung 269 über den Ausgangsbus 161 bereitgestellt.
Ein Multiplexer 267 wird zum Auswählen zwischen entweder den
RX PHY SYMBOLS 251 oder den TX PHY SYMBOLS 269 verwendet.
Der Ausgang des Multiplexers 267 wird als PHY DATA Signal 270 bezeichnet und
ist mit dem Eingangsbus 162 und anderen Schaltungen im
Modem 140 wie nachfolgend ausführlich beschrieben gekoppelt.
Das PHY DATA Signal 270 kann somit Phy-Symbole entweder
senden oder empfangen, je nach der Auswahl des Multiplexers 267.
Der andere Multiplexer 268 dient zum Auswählen zwischen
dem RX FRAME Signal 252 oder dem TX ENABLE Signal 256.
In diesem Zusammenhang wird das TX ENABLE Signal 256 als "Frame"-Signal verwendet,
da die TX PHY SYMBOLS 269 immer als "in Frame" angesehen werden, wenn das TX ENABLE
Signal 256 wahr ist. Das RX FRAME Signal 252 wird
von der RX DECODE Schaltung 250 als "Schätzung" erzeugt, dass ein
eingehender MAC-Frame unterwegs ist. Daher wird der Ausgang des
Multiplexers 268 als FRAME ESTIMATE Signal 165 bezeichnet
und reflektiert den "in
Frame" Status des
gewählten
RX PHY SYMBOLS Signals 251 oder TX PHY SYMBOLS Signals 269.
Ein TX RESERVE Signal 271 wird an den Ausgangsbus 161 von
der Sendeverarbeitungsschaltung 141 angelegt und ist mit
einem Select-Eingang an jedem der Multiplexer 267 und 268 verbunden,
um zwischen den jeweiligen RX- und TX-Signalen auszuwählen. Das
TX RESERVE Signal 271 wird zu Beginn einer Sendesequenz "wahr" und bleibt für die Dauer
der Übertragung
plus einer zusätzlichen
oder "Reserve"-Zeit nach dem Ende der Übertragung "wahr". Die zusätzliche "Reserve"-Zeit ergibt eine "Ruhe"-Periode ohne Netzaktivität nach dem
Ende der Übertragung.
Die "Reserve"-Zeit nach dem Ende
der Übertragung
wird hierin auch als Ausblendintervall bezeichnet. Das END BLANKING
Signal 257 wird von anderen nachfolgend beschriebenen Schaltungen
verwendet und bedeutet, dass das Ausblend-(Blanking)-Interval abgelaufen
ist.
-
Weiter mit Bezug auf 7, das PHY DATA Signal 270 ist
sowohl mit einem AND-Gate 274 als auch mit einer zweiphasigen
TX-Vortreiberschaltung 275 gekoppelt. Das AND-Gate 274 und
die zweiphasige TX-Vortreiberschaltung 275 empfangen beide jeweils
separate "Enable"- (Freigabe) Eingänge 276 und 277 von
der TX-Steuerschaltung 255. Der zweiphasige TX-Vortreiber 275 legt
jeweils die NET OUT und NET OUT INV Ausgänge 108 und 109 an.
Wenn das Freigabesignal 277 in den zweiphasigen TX-Vortreiber 275 "falsch" ist, dann sind jeweils
beide NET OUT und NET OUT INV Ausgänge 108 und 109 gleich,
d. h. auf einem logisch tiefen Pegel, so dass keine Nettospannung
an den Transformator 104 angelegt wird. Wenn das Freigabesignal 277 in
die zweiphasige TX-Vortreiberschaltung 275 "wahr" ist, dann werden
die jeweiligen NET OUT und NET OUT INV Ausgänge 108 und 109 komplementär zueinander
gemacht und ändern
ihren Zustand je nach dem angeschlossenen PHY DATA Signal 270.
Wenn also der zweiphasige TX-Vortreiber 275 freigegeben
ist, dann erzeugen die NET OUT und NET OUT INV Ausgänge 108 und 109 jeweils
ein anderes Signal, um PHY DATA 270 über den Transformator 104 auf
das Netz 10 zu treiben.
-
In Verbindung mit der oben beschriebenen Loopback-Fähigkeit implementiert die TX-Steuerschaltung 255 die
oben beschriebene Repeater-Fähigkeit
zwischen Programmierterminal-Verbinder 110,
Host 102 und Netz 10. Im ersten Fall ist, wenn eingehende
Daten auf der PTC IN Leitung 113. empfangen werden, das
PTC ACTIVE Signal 253 "wahr". In diesem Fall
wird das Freigabesignal 276 zum AND-Gate 274 von
der TX-Steuerschaltung 255 auf "falsch" gesetzt, um zu verhindern,
dass das PHY DATA Signal 270 auf der PTC OUT Leitung 114 zurückgeführt wird.
Stattdessen wird das Freigabesignal 277 für den zweiphasigen
TX-Vortreiber 275 auf "wahr" gesetzt, und die
PTC IN Daten 113, jetzt auf der PHY DATA Leitung 270,
werden durch den zweiphasigen TX-Vortreiber 275 auf das
Netz 10 geschaltet.
-
In einem zweiten Fall wird, wenn
die Netzeingangsdaten am NET IN Signal 107 empfangen werden,
das PTC IN Signal 113 zunächst bei normalem Betrieb ruhig
sein, und das PTC ACTIVe Signal 253 ist "falsch". In diesem Fall
werden die NET IN Daten 107 als PHY DATA Signal 270 gewählt. In
diesem Fall aktiviert die TX-Steuerschaltung 255 die Freigabeleitung 276 zum
AND-Gate 274. Die NET IN Daten auf der PHY DATA Leitung 270 werden
somit zum PTC OUT Signal 114 und weiter zum Programmierterminal-Verbinder 110 durchgeleitet.
Auf diese Weise werden eingehende Daten vom Netz 10 automatisch zum
Programmierterminal-Verbinder 110 und zum Programmierterminal 18 (falls
angeschlossen) weitergeleitet. Beim Empfangen von Daten auf dem
NET IN Signal 107 (d. h. PTC ACTIVE 253 und TX
ENABLE 256 sind beide "falsch") deaktiviert die
TX-Steuerschaltung 255 die
Leitung mit dem zweiphasigen TX-Vortreiberfreigabesignal 277,
um zu verhindern, dass die eingehenden Daten auf die eingehenden Netzwerkdaten
zurückgetrieben
werden und diese stören.
Nach dem Empfang des NET IN Signals 107 oder des PTC IN
Signals 113 wird das andere Signal ausgeblendet, da abgehende
Daten aufgrund der Repeating-Funktion dort bald erscheinen werden.
-
In einem dritten Fall wird der Knoten 20 für die Übertragung
(TX ENABLE Signal 256 ist "wahr") freigegeben,
und beide PTC IN und NET IN Signale 113 und 107 sind
jeweils normalerweise ruhig. Die TX ENABLE und END BLANKING Signale 256 und 257 sind
jeweils zum Ermitteln des Sendestatus des Knotens 20 mit
der TX-Steuerschaltung 255 gekoppelt. Wenn die Übertragung
freigegeben ist, werden die TX PHY SYMBOLS 269 über die
PHY DATA Leitung 270 gekoppelt, und die TX-Steuerschaltung 255 gibt beide
Leitungen 276 und 277 jeweils zum AND-Gate 274 und
zur zweiphasigen TX-Vortreiberschaltung 275 frei. Auf diese
Weise werden die Sendedaten mit dem Programmierterminal-Verbinder 110 und
dem Netz 10 gekoppelt.
-
Das PHY DATA Signal 270 ist
auch mit der Begrenzererkennungsschaltung 265 gekoppelt,
die Anfangs- und Endebegrenzer 23 und 28 erkennt
und mehrere Signale erzeugt, die in der nachfolgenden Verarbeitung
des Meldungsframe verwendet werden. Der Betrieb der Begrenzererkennungsschaltung 265 wird
nachfolgend umfassend beschrieben. Im Allgemeinen tastet die Begrenzererkennungsschaltung 265 das
PHY DATA Signal 270 kontinuierlich in einem Versuch ab,
die genaue Sequenz von Phy-Symbolen zu erkennen, die einen gültigen Anfangsbegrenzer 23 bildet.
Wie zuvor beschrieben, müssen, da
der Anfangsbegrenzer 23 absichtlich Phy-Symbolsequenzen
beinhaltet, die Manchester-Code-Verletzungen sind, alle Phy-Symbole betrachtet
werden, und somit wird das PHY CLOCK Signal 150 mit der Begrenzererkennungsschaltung 265 verbunden. Nach
dem Erkennen eines gültigen
Anfangsbegrenzers 23 aktiviert die Begrenzererkennungsschaltung 265 das
RX READY Signal 166, das den genauen Startpunkt des ersten
Datenbits und des ersten Datenbytes des Meldungsframe anzeigt (siehe
auch Timing-Diagramm von 6).
Nach dem Anfangsbegrenzer 23 werden weitere Manchester-Verletzungen bis
zu den bekannten Manchester-Verletzungen im Endebegrenzer 28 weder
erwartet noch zugelassen. Die Begrenzererkennungsschaltung 265 prüft auch jedes
Datenbit einzeln auf eine Manchester-Code-Verletzung und aktiviert
ein VIOLATION-Ausgangssignal 280, um eine solche Verletzung
anzuzeigen. Das VIOLATION-Signal 280 ist über den
Eingangsbus 162 mit der Empfangsverarbeitungsschaltung 142 gekoppelt.
Nach dem Empfang eines gültigen
Anfangsbegrenzers wird, wenn keine weitere. Manchester-Verletzung
vor dem Empfang eines gültigen
Endebegrenzers erkannt wird, ein BAD FRAME Signal 281 aktiviert
und über
den Eingangsbus 162 mit der Empfangsverarbeitungsschaltung 142 gekoppelt.
-
Darüber hinaus ermöglicht das
CTDMA-Protokoll einen absichtlichen Abbruch eines Meldungsframe 21.
Ein absichtlicher Abbruch wird durch den Empfang eines zweiten Anfangsbegrenzers
nach dem ersten Anfangsbegrenzer angezeigt, der den MAC-Frame gestartet
hat. Wenn eine zweite Anfangsbegrenzersequenz erkannt wird, dann
wird ein RX ABORT Signal 282 von der Begrenzererkennungsschaltung 265 aktiviert
und über
den Eingangsbus 162 mit der Empfangsverarbeitungsschaltung 142 gekoppelt.
-
Eine CRC-Prüfschaltung 285 ist
für die
Verwendung in Verbindung mit der Begrenzererkennungsschaltung 265 vorgesehen,
um zu überprüfen, ob
ein eingehender Meldungsframe einen gültigen CRC 27 beinhaltet.
Die CRC-Prüfschaltung 285 empfängt das
PHY DATA Signal 270 und wird vom BIT CLOCK Signal 261 so
getaktet, dass. nur das "Daten"-Halbbit des PHY DATA Signals 270 zum
Errechnen des CRC abgetastet wird. Vor dem Empfang eines gültigen Anfangsbegrenzers
wird die CRC-Prüfschaltung 285 durch
ein RESET CRC Signal 286 zurückgestellt gehalten, das von
der Begrenzererkennungsschaltung 265 angelegt wird. Nach
dem Empfang eines gültigen
Anfangsbegrenzers 23 wird das RESET CRC Signal 286 freigegeben,
und die CRC-Prüfschaltung 285 beginnt
mit der Berechnung. Die CRC-Prüfschaltung 285 sendet
einen CRC OK Ausgang 287 zur Begrenzererkennungsschaltung 265,
um eine erfolgreiche CRC-Berechnung anzuzeigen. Die Begrenzererkennungsschaltung 265 tastet das
CRC OK Signal 287 zum geeigneten Zeitpunkt nach Meldungsabschluss
wie nachfolgend beschrieben ab. Die CRC-Prüfschaltung 285 arbeitet
auf konventionelle Weise, wie der Fachperson bekannt ist, um eine
wortweise 16-Bit-Prüfsumme
der eingehenden Daten zu erzeugen. Das CRC OK Signal 287 wird
immer dann aktiviert, wenn die errechnete Prüfsumme gleich einem festen,
vorbestimmten 16-Bit-Wert ist.
-
Normalerweise erfolgt nach dem Empfang eines
gültigen
Anfangsbegrenzers 23 die Verarbeitung des Meldungsframe 21 ohne
Aktivierung der jeweiligen Signale VIOLATION, BAD FRAME bzw. RX ABORT 280–282.
Am Ende des Meldungsframe wird ein Endebegrenzer 28 empfangen,
der wiederum absichtliche Manchester-Code-Verletzungen beinhaltet.
In diesem Fall ist es normal und wird erwartet, dass eine Anzeige
des VIOLATION Signals 280 an irgendeiner Stelle vor der
vollständigen
Erkennung des Endebegrenzers 28 empfangen wird. Sobald
die erste Manchester-Code-Verletzung im Endebegrenzer erkannt wird,
wird das RX READY Signal 166 auf "falsch" gesetzt, und die Begrenzererkennungsschaltung 265 tastet
weiter auf Erkennung des vollen Endebegrenzers ab. Wenn der volle
Endebegrenzer 28 von der Begrenzererkennungsschaltung 265 genau
empfangen und erkannt ist, wird das CRC OK Signal 287 abgetastet.
Je nach dem Zustand des CRC OK Signals wird entweder ein CRC GOOD
Signal 290 oder ein CRC BAD PULSE Signal 291 von
der Begrenzererkennungsschaltung 265 aktiviert. Beide CRC-Statussignale 290 und 291 werden über den Eingangsbus 162 mit
der Empfangsverarbeitungsschaltung 142 gekoppelt.
-
Die Begrenzererkennungsschaltung 265 ist auch
mit dem RISC-Bus 180 verbunden. Bestimmte der von der Begrenzererkennungsschaltung 265 erzeugten
Statusanzeigen stehen daher für
den Eingang in den RISC-Prozessor 400 durch eine entsprechende
Decodierung wie nachfolgend ausführlich
beschrieben zur Verfügung.
-
Gemäß 8 beinhaltet die Begrenzererkennungsschaltung
265 im Modem 140 ein fünfzehnstufiges
Schieberegister 340, das vom PHY CLOCK Signal 150 mit
der Phy-Symbolrate getaktet wird. Das PHY DATA Signal 270 ist
als serielle Dateneingabe in das Schieberegister 340 geschaltet
und bewirkt, dass der binäre
Zustand jedes sequentiellen Phy-Symbols in das Schieberegister 340 verschoben wird.
Das Schieberegister 340 erzeugt einen parallelen Ausgang
aller fünfzehn
Stufen. Die fünfzehn
parallelen Ausgangsleitungen des Schieberegisters 340 sind mit fünfzehn Leitungen
eines parallelen Busses 341 verbunden. Der Bus 341 beinhaltet
insgesamt sechzehn Leitungen, wobei die sechzehnte Leitung (nicht
die fünfzehn
Leitungen vom Register 340) mit dem PHY DATA Signal 270 verbunden
ist. Auf diese Weise enthält
der Bus 341 einen Sechzehn-Phy-Symbol-"Schnappschuss", der aus dem letzten oder aktuellen
empfangenen Phy-Symbol (PHY DATA Signal 270) plus den fünfzehn vorherigen Phy-Symbolen
(von Register 340) besteht. Es ist wichtig zu bemerken,
dass der Bus 341 rohe Phy-Symbole, keine Datenbits enthält. Die
sechzehn Phy- Symbole
belegen den Platz von "acht
Datenbits", werden
aber in separater Phy-Symbolform gehalten, ohne Rücksicht
auf eine mögliche
Dateninterpretation. Die Sechzehn-Phy-Symbolsequenz auf dem Bus 341 ist
mit einer Anfangsbegrenzer-Erkennungslogikschaltung 342 und
mit einer Endebegrenzer-Erkennungslogikschaltung 343 verbunden.
Die Anfangsbegrenzer-Erkennungslogikschaltung 342 beinhaltet
geeignete Logikgatter, um ein bestimmtes Phy-Symbolmuster (d. h.
den "Anfangsbegrenzer") auf dem Bus 341 zu
erkennen.
-
Das für den Anfangsbegrenzer bevorzugte Phy-Symbol-Muster ist hexadezimales "D326" oder ein Binärmuster
von "1101001100100110" (in der Reihenfolge
von links nach rechts wie übertragen), das
ungültige
Manchester-codierte Daten enthält. Wie
oben beschrieben, ist dieses Phy-Symbol-Muster des Anfangsbegrenzers
keinesfalls arbiträr,
sondern klug ausgedacht, um Leistungscharakteristiken zu erzielen,
die die jedes anderen möglichen
Musters von 16-Phy-Symbolen übertreffen.
Dieses besondere Muster erhöht
die Wahrscheinlichkeit, von einem Knoten erkannt zu werden, und
minimiert die Wahrscheinlichkeit, dass Zufallsfehler in den über das Netz
gesendeten Daten als Begrenzer fehlinterpretiert werden.
-
Wenn das Phy-Symbolmuster des Busses 341 genau
mit dem hexadezimalen "D326" Anfangsbegrenzermuster übereinstimmt,
dann aktiviert die Anfangsbegrenzererkennungslogik 342 ein
START DELIM DETECTED Signal 345. Genau in diesem Moment
wurde der Anfangsbegrenzer 23 gerade empfangen, und es
ist dann bekannt, dass das eingehende PHY DATA Signal 270 an
einer Bit- und Byte-Grenze ist. Das START DELIM DETECTED Signal 345 ist
mit einer Begrenzererkennungszustandsmaschine 346 verbunden,
um den Moment anzuzeigen, an dem der Anfangsbegrenzer 23 erkannt
wird.
-
Auf ähnliche Weise tastet die Endebegrenzer-Erkennungslogik 343 den
Bus 341 kontinuierlich auf das Auftreten einer gültigen Endebegrenzersequenz 28 ab.
Die bevorzugte Endebegrenzer-Sequenz von Phy-Symbolen ist hexadezimal "96CC" oder ein Binärmuster
von "1001011011001100" (in der Reihenfolge
von links nach rechts wie übertragen).
Wenn ein Endebegrenzer 28 erkannt wird, dann aktiviert
die Endebegrenzer-Erkennungslogik 343 ein END DELIM DETECTED
Signal 347, um es der Begrenzererkennungszustandsmaschine 346 anzuzeigen.
-
Die Begrenzererkennungsschaltung 265 beinhaltet
eine Statuslogikschaltung 350 zum Erzeugen der Statussignale
RX ABORT 282, CRC GOOD 290 und CRC BAD PULSE 291.
Die Statuslogikschaltung 350 wird durch das PHY CLOCK Signal 150 getaktet und
empfängt
das CRC OK Signal 287 als Eingang. Drei weitere Eingänge in die
Statuslogikschaltung 350 werden von der Begrenzererkennungszustandsmaschine 346 angelegt,
nämlich
ein ABORT Signal 351, ein CHECK CRC Signal 352 und
ein HOLD STATUS Signal 353. Die Statuslogikschaltung 350 beinhaltet
Register, die vom PHY CLOCK Signal 150 zum Halten der jeweiligen
Zustände
der RX ABORT und CRC GOOD Signale 282 bzw. 290 getaktet
werden. Die Begrenzererkennungszustandsmaschine 346 aktiviert
das ABORT "Signal 351,
wenn ein Abbruchzustand erkannt wird, wie nachfolgend beschrieben wird.
Das CRC GOOD Signal 290 wird durch AND-Verknüpfen des
CHECK CRC Signals 352 mit dem CRC OK Signal 287 und
Zwischenspeichern des Ergebnisses erzeugt. Die Begrenzererkennungszustandsmaschine 346 aktiviert
das CHECK CRC Signal 352 nur dann, wenn der CRC getestet
werden soll. Wenn das HOLD STATUS Signal 353 von der Statuslogikschaltung 350 empfangen
wird, wird der Zustand seiner Ausgangssignale trotz Änderungen der
Eingangssignale gehalten, die sonst die Ausgangssignale beeinflussen
würden.
-
Die Begrenzererkennungsschaltung 265 beinhaltet
auch eine Verletzungserkennungsschaltung 360, die die eingehenden
Phy-Symbole auf Manchester-Code-Verletzungen prüft und das VIOLATION Signal 280 aktiviert,
wenn eine Verletzung während
des Empfangs eines Meldungsframe 21 erkannt wird.
-
Weiter mit Bezug auf 8, zusätzlich zu den oben beschriebenen
Ein- und Ausgangssignalen empfängt
die Begrenzererkennungszustandsmaschine 346 auch als Eingänge das
BYTE PULSE Signal 151, das PHY CLOCK Signal 150 und
ein SHUTDOWN Signal 369. Das PHY CLOCK Signal 150 wird
als Grundtakt zum Betreiben der Zustandsmaschine verwendet, während das
BYTE PULSE Signal 151 von der Zustandsmaschine in Fällen verwendet
wird, in denen Zustandsübergänge an "Byte"-Grenzen erfolgen. Das SHUTDOWN Signal 369 wird
von einer Decodierbefehl-Instruktionsschaltung 368 erzeugt.
Die Decodierbefehl-Instruktionsschaltung 368 ist mit dem
RISC-Bus 180 verbunden und beinhaltet geeignete Logikgatter
zum Decodieren der Adress- und Befehlsleitungen auf dem RISC-Bus 180,
um ein vorbestimmtes Muster zu erkennen, das die Ausgabe des "Shutdown"-Befehls vom RISC-Prozessor
repräsentiert.
Auf diese Weise kann der RISC-Prozessor in der Tat ein "Software-Reset" an die Begrenzererkennungszustandsmaschine 346 ausgeben,
wenn anomale Zustände
erkannt werden. Die von der Begrenzererkennungszustandsmaschine 346 erzeugten
Ausgänge
beinhalten das oben beschriebene VALID FRAME Signal 365 plus
dem ALIGN BYTE Signal 266, dem RX READY Signal 166 und
dem BAD FRAME Signal 281.
-
Die Begrenzererkennungszustandsmaschine 346 wird
als herkömmliche
Zustandsmaschine mit Eingängen
und Ausgängen
wie oben beschrieben implementiert. 9 zeigt
ein Zustandsübergangsdiagramm,
in dem jede rechteckige Box einen "Zustand" repräsentiert und mit einem assoziierten
Zustandsnamen beschriftet ist. Wenn einem der Ausgänge ein
neuer Wert in einem Zustand zugewiesen wird, dann kommt eine gestrichelte
Linie unter dem Zustandsnamen hinzu, und die neuen Ausgangszuweisungen
sind unter der gestrichelten Linie aufgeführt. Die für Zustandsübergänge notwendigen Eingangsbedingungen
sind außerhalb
der "Zustands"-Boxen neben einem
Pfeil dargestellt, der den nächsten
Zustand für
diesen Übergang
anzeigt. In den Übergangsbedingungen
wurde die Bedingung "PHY
CLOCK" der Einfachheit
halber weggelassen, da verstanden wird, dass alle Zustandsübergänge durch
die aktive Flanke des PHY CLOCK Signals 150 getaktet werden.
-
Die Begrenzererkennungszustandsmaschine 346 wird
nach einer Aktivierung eines konventionellen Hardware-Reset (nicht
dargestellt) zurückgestellt.
Der "Reset"-Eintrittszustand
ist durch ein Oval 370 dargestellt. Vom Reset 370 tritt
sie unbedingt in einen ersten "Ruhe"-Zustand 371 ein.
Im "Ruhe"-Zustand 371 werden die Ausgangssignale
wie angegeben initialisiert. Die Begrenzererkennungszustandsmaschine 346 bleibt
im "Ruhe"-Zustand 371,
bis das START DELIM DETECTED Signal 345 aktiviert wird. Zu
diesem Zeitpunkt erfolgt ein Übergang
in einen "Start"-Zustand 372,
und gleichzeitig wird ein aktiver Impuls auf dem ALIGN BYTE Signal 266 ausgegeben.
Wie oben beschrieben, bewirkt das ALIGN BYTE Signal 266,
dass die Bit- und Byte-Takte auf der Bit- und Byte-Grenze hinter
dem Anfangsbegrenzer 23 ausgerichtet werden. Im "Start"-Zustand 372 werden das RX READY
Signal 166 und das VALID FRAME Signal 365 auf "wahr" gesetzt, um den
Start eines MAC-Frame 21 anzuzeigen.
Vorausgesetzt, dass nach dem Anfangsbegrenzer 23 keine
Manchester-Verletzungen erkannt werden, bleibt der "Start"-Zustand 372 für eine Zeit
von einem "Byte" aktiv, d. h. bis
zur nächsten
Aktivierung des BYTE PULSE Signals 151. An dieser Stelle
erfolgt ein Übergang
zu einem "zweites
Byte" Zustand 373.
Im "zweites Byte" Zustand 373 wird
das RESET CRC Signal 286 freigegeben, damit die CRC-Prüfschaltung 285 mit
dem Akkumulieren der CRC-Prüfsumme beginnen
kann. Auch hier wird wieder, unter der Voraussetzung, dass keine
weiteren Manchester-Verletzungen vorliegen, der "zweites Byte" Zustand 373 nach einer Zeit
von einem "Byte" verlassen, und es
erfolgt ein Übergang
in einen "drittes
Byte" Zustand 374.
Ebenso geht der "drittes
Byte" Zustand 374 nach
einer Zeit von einem "Byte" in einen "4+ Byte" Zustand 375 über. Vor
dem Empfang von vier vollständigen
Bytes wird keine eingehende Meldung akzeptiert, da die Mindestlänge für jeden
MRC-Frame vier Bytes beträgt.
Nach dem Erreichen des "4+
Bytes" Zustands 375 wird
jedoch erwartet, dass eine Meldung unterwegs ist. Der "4+ Bytes" Zustand 375 bleibt
dann für die
Dauer des MAC-Frame aktiv. Der Austritt aus dem "4+ Bytes" Zustand 375 erfolgt nur nach
dem Auftreten einer Manchester-Verletzung, wie durch das VIOLATION
Signal 280 angezeigt wird. Zu diesem Zeitpunkt erfolgt
ein Übergang
in einen "Verletzungsprüf"-Zustand 376.
Es wird unter normalen Bedingungen davon ausgegangen, dass die erkannte Verletzung
die absichtliche Manchester-Verletzung im
Endebegrenzer 28 ist, aber dies ist nicht unbedingt. der
Fall. Eine Manchester-Verletzung kann stattdessen entweder ein zweiter
Anfangsbegrenzer oder ein tatsächlicher
Manchester-Fehler sein. Egal wie die "Verletzung" aufgetreten ist, das RX READY Signal 166 wird
aus gezwungen, da der aktuelle MAC-Frame jetzt enden muss, entweder
normal oder fehlerbedingt.
-
Im "Verletzungsprüf"-Zustand 376 erfolgt eine Wartezeit,
bis das Byte, in dem die Verletzung aufgetreten ist, komplett ist.
Zu diesem Zeitpunkt kann ein Test durchgeführt werden, ob die "Verletzung" tatsächlich ein
gültiger
Endebegrenzer 28 war oder ob die "Verletzung" auf einen anderen Zustand zurückzuführen ist.
Nach dem Ende des fraglichen Byte (BYTE PULSE Signal 151 ist "wahr") und wenn das END
DELIM DETECTED Signal 347 aktiviert ist, erfolgt ein Übergang
in einen "normale
Terminierung" Zustand 377.
Im "normale Terminierung" Zustand 377 fällt das
HOLD STATUS Signal 353 ab, so dass neue Statusbedingungen
von der Statuslogikschaltung 350 eingegeben werden können. Gleichzeitig wird
das CHECK CRC Signal 352 aktiviert, um anzuzeigen, dass
der CRC geprüft
werden muss. Der "normale
Terminierung" Zustand 377 wird
unbedingt nach einer Dauer des PHY CLOCK Signals 150 zurück in den "Ruhe"-Zustand 371 verlassen.
-
Wenn gefunden wird, dass die "Verletzung" im "Verletzungsprüf"-Zustand 376 kein
gültiger
Endebegrenzer war, dann ist keine weitere Maßnahme notwendig. Eine Möglichkeit
ist die, dass die "Verletzung" auf den Empfang
eines zweiten Anfangsbegrenzers zurückzuführen ist. Wie zuvor erörtert, ist ein
zweiter nachfolgender Anfangsbegrenzer eine absichtliche Abbruchanforderung,
und wenn gefunden wird, dass dies der Fall ist, dann erfolgt ein Übergang
in einen "Abbruch"-Zustand 378.
Im "Abbruch"-Zustand wird das
HOLD STATUS Signal 353 auf "falsch" gesetzt, um den vorherigen Status zu
löschen,
und das ABORT Signal 351 wird aktiviert, um zu bewirken,
dass das RX ABORT Signal 282 auf "wahr" zwischengespeichert
wird. Der "Abbruch"-Zustand 378 geht
nach einem PHY CLOCK Zyklus unbedingt zurück in den "Ruhe"-Zustand 371.
-
Ein weiterer möglicher Grund für das Auftreten
einer "Verletzung" im "Verletzungsprüf"-Zustand 376 ist
der, dass im Hauptteil eines MAC-Frame 21 tatsächlich ein
Manchester-Fehler
aufgetreten ist, d. h. aufgrund eines Anfangs- oder Endebegrenzers 23 oder 28.
In diesem Fall erfolgt ein Übergang
in einen "schlechte
Terminierung" Zustand 379.
Im "schlechte Terminierung" Zustand 379 fällt die
HOLD STATUS Leitung 353 wieder ab, um einen von der Statuslogik 350 evtl.
gehaltenen Status zu löschen.
Das BAD FRAME Ausgangssignal 281 wird ebenfalls aktiviert und
dient als direkter Ausgabeimpuls, der den "schlechte Terminierung" Zustand anzeigt.
Der "schlechte Terminierung" Zustand 379 geht
ebenfalls nach einem Phy-Taktzyklus zurück in den "Ruhe"-Zustand 371.
-
Wieder in einem der Zustände 372–374,
es wurden nicht genügend
Bytes empfangen, um einen vollständigen
MAC-Frame 21 zu bilden. Es ist jedoch weiterhin möglich, die
Abbruchsequenz aufzurufen (d. h. einen zweiten Anfangsbegrenzer).
Wenn eine Verletzung in einem der Zustände 372–374 auftritt, dann
wird in einen "vorzeitige
Verletzung" Zustand 380 eingetreten.
Wenn die "Verletzung" sich als ein zweiter
Anfangsbegrenzer herausstellt, dann wird wie zuvor in den "Abbruch"-Zustand 378 eingetreten. Ebenso
wird, wenn die "Verletzung" auf etwas anderes
als einen zweiten Anfangsbegrenzer zurückzuführen ist, der "schlechte Terminierung" Zustand 379 aufgerufen.
-
Schließlich erfolgt, wenn das SHUTDOWN Signal 369 zu
irgendeinem Zeitpunkt aktiviert wird, ein sofortiger Übergang
in den "schlechte
Terminierung" Zustand 379.
Dadurch wird ein eventueller vorheriger Status beseitigt und die
Begrenzererkennungszustandsmaschine 346 wird zurück in den "Ruhe"-Zustand 371 gesetzt.
-
SMAC-Zugangssteuerschaltung
-
Die Zugangssteuerschaltung 144 im
SMAC 100 von 5B beinhaltet
einen RISC-Prozessor 400 sowie weitere spezielle Unterstützungsschaltungen
zum Implementieren des CTDMA-Protokolls. Wie 10 ausführlich zeigt, beinhalten die
Zugangssteuerunterstützungsschaltungen 401–407 eine
Event-Logikschaltung 401,
einen "durch zehn
dividieren" Impulsgenerator 402,
einen MAC-Frameslot-Timer 403, einen Periodisches-Intervall-Timer 404,
einen Sperrzeitmonitor 405, ein Geplante-Phase-Register 406 und
eine Decodierschaltung 407.
-
Der RISC-Prozessor 400 hat
einen der Fachperson bekannten konventionellen Aufbau. Der RISC-Prozessor 400 beinhaltet
einen internen Arbeitsspeicher (RAM) 410 und einen Festwertspeicher (ROM) 411 sowie
weitere bekannte Schaltungen (nicht dargestellt, z. B. Register,
Arithmetik/Logikeinheit, Programmzähler, Opcode-Decoder usw.)
zum Ausführen
eines Programms von im ROM 411 gespeicherten Anweisungen.
Der RAM 410 enthält
einen ersten Satz von Speicherstellen, in denen die im Sperrband 56 empfangenen
aktiven Netzprotokollparameter gemäß Illustration in 2C und obiger Beschreibung
gespeichert sind. Diese Parameter werden von anderen Komponenten
der Zugangssteuerschaltung 144 verwendet, wie nachfolgend
beschrieben wird. Ein zweiter Satz Speicherstellen im RAM 410 ist
als "Halteregister" designiert, um neue
Netzprotokollparameter vorübergehend
zu speichern, bis ein neuer synchronisierter Wechsel erfolgt.
-
Der RISC-Prozessor 400 implementiert
einen typischen Prozessoranweisungssatz einschließlich Logik-,
Arithmetik- und
Datenmanipulationsanweisungen. Mehrere Spezialanweisungen werden ebenfalls
implementiert, die die Adress-, Daten- und Steuerleitungen auf dem
RISC-Bus 180 nutzen, um die Ein- und Ausgangsoperationen
zu den anderen am RISC-Bus 180 angeschlossenen Schaltungen auszuführen, wie
in den jeweiligen Abschnitten der vorliegenden Spezifikation beschrieben
ist. Wie zuvor angegeben, wird der im RISC-Prozessor 400 verwendete interne
Bus (d. h. der RISC-Bus 180) extern über verschiedene Treiber und
Decoder (nicht dargestellt) erweitert, damit der RISC-Prozessor
auf Fernein- und
-ausgänge
in anderen Schaltungen des SMAC 100 durch Ausführen entsprechender
E/A-Anweisungen zugreifen kann. Ein im ROM 411 gespeichertes
Steuerprogramm 412 wird vom RISC-Prozessor 400 ausgeführt. Ein
im ROM 411 gespeichertes Steuerprogramm 412 wird
vom RISC-Prozessor 400 ausgeführt, um die Steuerfunktionen
der Zugangssteuerschaltung 144 zu implementieren.
-
Der RISC-Prozessor 400 implementiert
einen typischen Prozessoranweisungssatz einschließlich Logik-,
Arithmetik- und
Datenmanipulationsanweisungen. Mehrere Spezialanweisungen werden ebenfalls
implementiert, die die Adress-, Daten- und Steuerleitungen auf dem
RISC-Bus 180 nutzen, um die Ein- und Ausgangsoperationen
zu den anderen am RISC-Bus 180 angeschlossenen Schaltungen auszuführen, wie
in den jeweiligen Abschnitten der vorliegenden Spezifikation beschrieben
ist.
-
Der Anweisungssatz für den RISC-Prozessor 400 beinhaltet
eine "Warte"-Anweisung. "Warte"-Anweisungen sind
in der Technik allgemein bekannt, um Prozessoraktivität bis zur
Aktivierung eines Hardware-Eingangssignals zu suspendieren, das
das Ende des "Warte"-Zustands anzeigt.
Der RISC-Prozessor
400 implementiert eine spezielle "Warte"-Anweisung unter
Verwendung der Event-Logikschaltung 401. Wenn der RISC-Prozessor 400 in den "Warte"-Zustand geht (d.
h. nach Ausführung
einer "Warte"-Anweisung), decodiert
die Event-Logikschaltung 400 Steuer-
und Adressleitungen auf dem RISC-Bus 180,
um eine der mehreren möglichen
Bedingungen auszuwählen,
die von Eingangssignalen 408 als das "Event" angezeigt werden, das zum Auslösen des
Endes des Wartezustands und zur Wiederaufnahme der Verarbeitung
durch den RISC-Prozessor 400 verwendet wird. Wenn die gewählte Event-Bedingung "wahr" wird, dann wird
ein END WAIT Signal 415 von der Event-Logikschaltung 401 aktiviert.
Das END WAIT Signal 415 ist als Eingang zum RISC-Prozessor 400 geschaltet
und veranlasst – wenn
aktiviert – den
RISC-Prozessor, die Verarbeitung an der auf die "Warte"-Anweisung folgenden Anweisung wieder
aufzunehmen.
-
Der "durch zehn dividieren" Impulsgenerator 402 empfängt das
PHY CLOCK Signal 150 als Eingang und erzeugt ein Ausgangssignal,
das als MEGA PULSE Signal 416 bezeichnet wird. Das MEGA
PULSE Signal 416 ist mit der Event-Logikschaltung 401, dem Slot-Timer 403 und
dem Periodisches-Intervall-Timer 404 für diese
Intervalle des MRC-Frame verbunden. Wie der Name impliziert, hat
das MEGA PULSE Signal 416 eine Frequenz von einem Megahertz,
was der der Zehn-Megahertz-Frequenz
des PHY CLOCK Eingangssignals 150 dividiert durch zehn
entspricht. Der Ausgangsimpuls des MEGA PULSE Signals 416 hat
eine Dauer, die einem Zyklus des PHY CLOCK Signals 150 entspricht,
d. h. das MEGA PULSE Signal 416 ist für jede zehnte aktive Periode
des PHY CLOCK Signals 150 wahr". Das MEGA PULSE Signal 416 dient
somit als Eine-Mikrosekunde-Zeitbasis
für die
angeschlossenen Schaltungen 401, 403 und 404.
-
Der Slot-Timer 403 erzeugt
ein SLOT TIMEOUT Signal 417, das bei jedem Auftreten eines Slot-Timeout
pulsiert wird. Wie zuvor erörtert,
tritt ein Slot-Timeout immer dann auf, wenn ein Knoten 20 während seines
zugewiesenen Zeitschlitzes nicht sendet. Die Menge an Zeit, die
verstreichen muss, bevor ein Timeout auftritt, wird zum SMAC im
Moderator-LPaket (2C)
gesendet, im RAM 410 gespeichert und über den RISC-Bus 180 zum
Slot-Timer 403 kommuniziert. Der RISC-Bus 180 dient
auch für
die Kommunikation anderer Status- und Steuerinformationen zwischen
dem RISC-Prozessor 400 und dem Slot-Timer 403.
Der Slot-Timer 403 empfängt auch
das PHY CLOCK Signal 150 als Grundbetriebstakt, während das
MEGA PULSE Signal 416, wie soeben erwähnt, als Eine-Mikrosekunde-Zeitbasis
verwendet wird. Das SLOT TIMEOUT Signal 417 ist als ein
Eingang zur Event-Logikschaltung 401 für die Verwendung beim Ermitteln
einiger der "Warte"-Bedingungen verbunden.
-
Weiter mit Bezug auf 10, der Periodisches-Intervall-Timer 404 wird in
Verbindung mit dem RISC-Prozessor 400 verwendet, um die
Zeit anzugeben, die während
jedes periodischen Intervalls 50 verstreicht. Insgesamt
wird die in jedem periodischen Intervall 50 abgelaufene
Zeit als 16-Bit-Zahl
(zwei Bytes) gemessen, die hierin als Periodic-Interval-Time-(PIT)-Zahl bezeichnet
wird. Die PIT-Zahl hat eine Auflösung
von zehn Mikrosekunden pro Bit, so dass ein maximales periodisches
Intervall von 655,35 Millisekunden möglich ist. Der untere (niedrigstwertige) 8-Bit-Teil
der PIT-Zahl wird im Periodisches-Intervall-Timer 404 selbst
gehalten, während
der obere (höchstwertige)
8-Bit-Teil vom RISC-Prozessor 400 im RAM 410 gehalten
wird. Zu Beginn eines periodischen Intervalls 50 wird jeder
Teil mit einem wert vom RAM 410 geladen, den er vom Netzmoderator
im PIT-Block 72 des Moderator-LPakets empfangen hat. Die
untere 8-Bit-Zahl, als Bus PIT LO BYTE 418 bezeichnet,
wird vom Periodisches-Intervall-Timer 404 zum
Sperrzeitmonitor 405 gesendet. Es werden auch Schaltungen
im Periodisches-Intervall-Timer 404 vorgesehen, damit der
Wert des PIT LO BYTE Busses 418 direkt vom RISC-Prozessor 400 über den RISC-Bus 180 gelesen
werden kann. Die Zahl auf dem PIT LO BYTE Bus 418 wird
automatisch alle zehn Mikrosekunden dekrementiert, bis die Zahl
null erreicht ist. Es ist im Periodisches-Intervall-Timer 404 eine
Funktion vorgesehen, um es dem RISC-Prozessor 400 zu ermöglichen,
eine Null-Zahl auf dem PIT LO BYTE Bus 418 über den
RISC-Bus 180 zu erkennen. Wenn dies auftritt, dann dekrementiert
der RISC-Prozessor 400 den Wert der PIT-Hoch-Byte-Zahl (im RAM 410)
um eins. Dieser Vorgang wird so lange wiederholt, bis das hohe PIT-Byte
auf null dekrementiert ist. Zu diesem Zeitpunkt gibt der RISC-Prozessor 400 entsprechende Befehle über den
RISC-Bus 180 zum Aktivieren eines PIT HI BYTE ZERO Signals 419 im
Periodisches-Intervall-Timer 404 aus. Das PIT HI BYTE ZERO
Signal zeigt so an, dass das hohe PIT-Byte jetzt null ist, und die
einzige im aktuellen periodischen Intervall verbleibende Zeit ist
die Zeit, die der tiefe Byte-Wert auf dem PIT LO BYTE Bus 418 repräsentiert.
Das PIT HI BYTE ZERO Signal 419 wird auch zum Sperrzeitmonitor 405 ausgegeben.
-
Eine zusätzliche Funktion des periodischen Intervall-Timers 404 ist
die Erzeugung eines TONE COMMAND Signals 420. Das TONE
COMMAND Signal 420 wird vom Periodisches-Intervall-Timer 404 nach
dem Eingang entsprechender Befehle vom RISC-Prozessor 400 über den
RISC-Bus 180 aktiviert. Wie oben mit Bezug auf 3 erörtert wurde, ist der "Ton" 53 das
interne SMAC-Referenzsignal, das den Beginn eines neuen periodischen
Intervalls 50 markiert und im Wesentlichen zur selben absoluten
oder "universellen" Zeit in allen Knoten 20 auf dem
Netz 10 auftritt, innerhalb eines geringen Fehlerspielraums
aufgrund von Fortpflanzungsverzögerungen
von Zeitreferenz-Events.
Das TONE COMMAND Signal 420 wird intern im Periodisches-Intervall-Timer 404 verwendet
und ist auch mit dem Sperrzeitmonitor 405, dem Geplante-Phase-Register 406 und dem
Sync-Bus 176 verbunden.
-
Die in 10 und 11 gezeigte Sperrbandzeit-Überwachungsschaltung 405 ermittelt
die Zeit, zu der der Sperrbandteil 56 jedes periodischen
Intervalls beginnt. Der Start des Sperrbandes basiert auf der PIT-Zahl
auf dem PIT LO BYTE Bus 418 und der PIT HI BYTE ZERO Leitung 419.
Der "Sperrbandzeit"-Wert vom Datenblock 77 des
vom Netzwerkmoderator empfangenen Moderator-LPakets wird in einem
Register 421 der Sperrbandzeit-Überwachungsschaltung vom RISC-Prozessor 400 über den RISC-Bus 180 gespeichert.
Dieser Wert gibt die PIT-Zahl an, bei der das Sperrband 56 starten
soll. Mit anderen Worten, das Sperrband 56 soll dann beginnen,
wenn die PIT-Zahl auf den "Sperrbandzeit"-Wert zurückgegangen
ist.
-
Das Sperrbandzeitregister 421 kann
vom RISC-Prozessor 400 über
den RISC-Bus 180 gelesen und beschrieben werden. Eine Decodierschaltung 423 ist
mit dem RISC-Bus 180 verbunden, um die Ausführung eines "Schreibsperrbandzeit"-Befehls durch den RISC-Prozessor 400 zu
erkennen. Wenn der "Schreibsperrbandzeit"-Befehl erkannt ist, erzeugt
die Decodierschaltung 423 ein Strobe-Signal auf der Leitung 424.
Das Strobe-Signal 424 veranlasst wiederum das Sperrzeitregister 421,
die Daten auf den acht Datenleitungen des RISC-Busses 180, durch
das Bussegment 425 repräsentiert,
zwischenzuspeichern. Ebenso kann der RISC-Prozessor 400 den
Inhalt des Sperrbandzeitregisters 421 über eine Byte-Auswahlschaltung 426 zurücklesen.
Die Byte-Auswahlschaltung 426 ist zwischen dem "Sperrbandzeit"-Bus 422 und
dem RISC-Bus 180 geschaltet und decodiert entsprechende
Steuersignale auf dem RISC-Bus 180, um die Ausführung einer "Sperrbandzeitwert
lesen"-Anweisung
durch den RISC-Prozessor 400 zu erkennen. Nach dem Erkennen
der "Sperrbandzeitwert
lesen"-Anweisung
wird der "Sperrbandzeit"-Wert auf dem Bus 422 durch
die Datenleitungen des RISC-Busses 180 gekoppelt.
-
Der "Sperrbandzeit"-Wert im Register 421 und auf
dem Bus 422 hat eine Länge
von einem Byte, und daher kann der Sperrbandteil 56 des
periodischen Intervalls 50 erst nach Aktivierung des PIT
HI BYTE ZERO Signals 419 beginnen. Um den Start des Sperrbandes
zu ermitteln, wird der 8-Bit-Wert des PIT LO BYTE Signals 418 mit
dem "Sperrbandzeit"-Wert auf dem Bus 422 im
Komparator 427 verglichen. Ein Ausgang 428 vom
Komparator 427 ist dann "wahr",
wenn die jeweiligen Eingänge 418 und 422 gleich
sind. Der Ausgang 428 ist als ein Eingang mit einem AND-Gate 429 verbunden,
der andere Eingang des AND-Gates 429 ist
mit dem PIT HI BYTE ZERO Signal 419 verbunden. Der Ausgang 430 des AND-Gates 429 ist
daher. dann "wahr", wenn die Bedingungen
zum Starten des Sperrbandes erfüllt
sind.
-
Der Sperrbandzeitmonitor 405 erzeugt
drei Sperrbandsteuersignale: ein GENERAL GUARD BAND Signal 431,
ein SCREENER GUARD BAND Signal 432 und ein MODERATOR GUARD
BAND Signal 433. Jedes der Signale 431–433 wird
während spezifischer
Zeiten im Sperrbandteil 56 des periodischen Intervalls 50 aktiviert,
um verschiedene "Sperrband"-Aktivitäten zu steuern. Die GENERAL
GUARD BAND und SCREENER GUARD BAND Signale 431 und 432 werden
jeweils durch zwei Flipflops 435 und 436 geführt. Jeder
Flipflop 435 und 436 hat einen synchronen "Set"-Eingang, der mit
dem Ausgang 430 des AND-Gates 429 verbunden ist,
und beide Flipflops 435 und 436 werden vom PHY
CLOCK Signal 150 getaktet. Die Folge ist, dass beide Flipflops 435 und 436 zu
Beginn des Sperrbandes 56 des periodischen Intervalls gesetzt
werden, wodurch die jeweiligen GENERAL GUARD BAND und SCREENER GUARD
BAND Signale 431 und 432 aktiviert werden.
-
Der Flipflop 435 wird direkt
vom TONE COMMAND Signal 420 zurückgesetzt. Das GENERAL GUARD
BAND Signal 431 ist daher für die gesamte Dauer des Sperrbandes 56 "wahr", d. h. von dem Zeitpunkt
an, an dem die PIT-Zahl den "Sperrbandzeit"-Wert erreicht, bis
zum "Ton" 53. Das
SCREENER GUARD BAND Signal 432 wird jedoch durch einen
vom RISC-Prozessor 400 gesendeten expliziten Befehl zurückgesetzt.
Eine Decodierschaltung 437 ist mit dem RISC-Bus 180 verbunden
und erkennt die Ausführung
einer "Screener-Sperrband
zurücksetzen"-Anweisung durch
den RISC-Prozessor 400. Nach dem Erkennen der "Screener-Sperrband
zurücksetzen" Anweisung wird ein
Strobe-Signal auf der Ausgangsleitung 438 erzeugt. Die
Ausgangsleitung 438 wird wiederum mit einem Reset-Eingang am
Flipflop 436 verbunden, der, wenn aktiviert, den Flipflop 436 zu
einem Reset an der nächsten
aktiven Flanke des PHY CLOCK Signals 150 veranlasst. Dies
ermöglicht
es dem RISC-Prozessor 400, das SCREENER GUARD BAND Signal 432 zu
einem anderen Zeitpunkt als bei "Ton" 53 für die Ausführung der
Screening-Funktion wie nachfolgend beschrieben zu deaktivieren.
-
Das dritte Sperrbandsteuersignal,
nämlich das
MODERATOR GUARD BAND Signal 433, ist als Ausgang eines
AND-Gates 440 geschaltet. Ein Eingang des AND-Gates 440 ist
mit dem GENERAL GUARD BAND Signal 431 verbunden. Der andere
Eingang des AND-Gates 440 ist
mit einem Ausgang 441 eines Flipflop 442 verbunden.
Der Flipflop 442 wird direkt vom RISC-Prozessor 400 gesteuert
und dient zum Speichern des "Moderator"-Status für den Knoten 20.
Wenn der RISC-Prozessor 400 ermittelt hat, dass sein eigener
Knoten 20 der Moderator-Knoten für das Netz 10 ist,
dann wird der Flipflop 442 in den "Set"-Zustand
befohlen. In diesem Fall ist das AND-Gate 440 freigegeben,
und das MODERATOR GUARD BAND Signal 433 folgt dem GENERAL
GUARD BAND Signal 431 (d. h. die beiden sind äquivalent).
Alternativ wird, wenn der RISC-Prozessor 400 ermittelt,
dass sein eigener Knoten nicht der Moderator-Knoten ist, der Flipflop 442 zurückgesetzt,
und das MODERATOR GUARD BAND Signal 433 wird niemals aktiviert.
-
Die Steuerung des Fhipflops 442 erfolgt durch
eine Decodierschaltung 443. Die Decodierschaltung 443 ist
mit dem. RISC-Bus 180 verbunden und decodiert separate "Set" und Reset" Befehle für den "Moderator"-Status des Knotens 20.
Nach dem Erkennen der Ausführung
des "Set" oder des "Reset" Befehls wird ein
Ausgangs-Strobe-Signal auf einer der beiden Rusgangsleitungen 444 bzw. 445 erzeugt. Die
Ausgangsleitungen 444 und 445 sind wiederum mit
jeweiligen synchronen "Set" und "Reset" Eingängen am
Flipflop 442 verbunden.
-
Der Sperrbandzeitmonitor 405 beinhaltet auch
eine Bittest-Auswahlschaltung 446, damit der RISC-Prozessor 400 die
aktuellen Zustände
des GENERAL GUARD BAND Signals 431 und des MODERATOR GUARD
BAND Signals 433 lesen kann. Die Bittest-Auswahlschaltung 446 ist
mit dem RISC-Bus 180 verbunden und beinhaltet einen Decodierschaltkomplex,
um die Ausführung
einer "Lese"-Anweisung durch
den RISC-Prozessor 400 zu erkennen, der die angeschlossenen
Signale 431 und 432 adressiert. Wenn eine entsprechend
adressierte "Lese"-Anweisung erkannt wird, wird das gewählte Signal 431 und 432 mit
einer der Datenleitungen auf dem RISC-Bus 180 gekoppelt.
-
Einmal kurz mit Bezug auf die 5B und 10, die Sperrbandsteuersignale 431–433 werden
wie folgt geleitet. Das GENERAL GUARD BAND Signal 431 und
das SCREENER GUARD BAND Signal 432 sind mit dem Sync-Bus 176 verbunden.
Das MODERATOR GUARD BAND Signal 433 ist in der Zugangssteuerschaltung 144 mit
der Event-Logikschaltung 401 verbünden und wird auch aus der
Zugangssteuerschaltung 144 hinaus zur Sendeverarbeitungsschaltung 141 geleitet.
-
Nun mit Bezug auf die 10 und 12, die Geplante-Phase-Registerschaltung 406 der
Zugangssteuerung 144 beinhaltet einen Flipflop 448, dessen
Ausgang als SCHEDULED PHASE Signal 450 bezeichnet wird.
Ein "wahres" SCHEDULED PHASE
Signal 450 zeigt an, dass sich das periodische Intervall 50 derzeit
in. der geplanten Phase 52 befindet. Der Flipflop 448 hat
synchrone Set- und Reset-Eingänge
und wird vom PHY CLOCK Signal 150 getaktet. Das TONE COMMAND
Signal 420 ist mit dem. Set-Eingang des Flipflops 448 verbunden.
Somit wird das SCHEDULED PHASE Signal 450 automatisch nach
Aktivierung des TONE COMMAND Signals 420 auf "wahr" gesetzt. So wird
die geplante Phase gezwungen, gemäß dem CTDMA-Protokoll immer am "Ton" 53 zu
beginnen (siehe 3).
Der Flipflop 448 wird von einem entsprechenden Befehl vom
RISC-Prozessor 400 zurückgesetzt.
Insbesondere beinhaltet die Geplante-Phase-Registerschaltung 406 eine
mit dem RISC-Bus 180 verbundene Decodierschaltung 451.
Die Decodierschaltung
451 decodiert entsprechende Adress-
und Steuerleitungen auf dem RISC-Bus 180, um die Ausführung einer "geplante Phase zurücksetzen" Ausgangsanweisung vom
RISC-Prozessor 400 zu erkennen. Nach dem Erkennen der "geplante Phase zurücksetzen" Anweisung wird eine
mit dem Reset-Eingang des Flipflop 448 verbundene Ausgangsleitung 452 aktiviert,
die den Flipflop 448 zurücksetzt. Nach dem Zurücksetzen
des Flipflop 448 (SCHEDULED PHASE Signal 450 ist "falsch"), wird das periodische
Intervall 50 bis zum Start des "Sperrbandes" wie oben definiert als in der "ungeplanten Phase" 54 angesehen.
Das SCHEDULED PHASE Signal 450 bleibt auch während des gesamten
Sperrbandes 56 "falsch", bis es durch die nächste Aktivierung
des TONE COMMAND Signals 420 wieder auf "wahr" gesetzt wird.
-
Der RISC-Bus 180 ist auch
mit einer Bittest-Auswahlschaltung 453 verbunden,
damit der RISC-Prozessor 400 den aktuellen Wert des SCHEDULED
PHASE Signals 450 lesen kann. Die Bittest-Auswahlschaltung 453 beinhaltet
einen Decodierschaltkomplex, um auf die Ausführung einer "Geplante-Phase-Bit lesen" Anweisung durch
den RISC-Prozessor 400 zu. reagieren. Nach dem Erkennen
der "Geplante-Phase-Bit
lesen" Anweisung
koppelt die Bittest-Auswahlschaltung 453 den Wert des SCHEDULED-PHASE
Signals 450 auf den RISC-Bus 180 für die Eingabe
durch den RISC-Prozessor 400.
-
Es folgt eine ausführliche
Beschreibung der Periodisches-Intervall-Timer-Schaltung 404 in
der Zugangssteuerung 144 mit Bezug auf 13. Der PIT LO BYTE Bus 418 ist
als paralleler Ausgang eines Abwärtszählers 500 geschaltet.
Eine Byte-Auswahlschaltung 501 ist zwischen dem PIT LO
BYTE Bus 418 und dem RISC-Bus 180 geschaltet,
damit der RISC-Prozessor 400 den aktuellen Inhalt des PIT LO
BYTE Busses durch Ausführen
einer geeigneten "Byte
lesen" Anweisung
direkt lesen kann. Der Abwärtszähler 500 wird
synchron vom PHY CLOCK Signal 150 getaktet und hat separate
Eingänge "Parallellast freigeben" und "Zahl freigeben", um jeweilige Parallellast-
und Zählvorgänge zu steuern.
Der "Zahl freigeben" Eingang ist mit
einem Ausgang 502 von einer "durch zehn dividieren" Vorskalierschaltung 503 verbunden,
die vom PHY CLOCK Signal 150 getaktet wird und das MEGA
PULSE Signal 416 als "Freigabe"-Eingang empfängt. Für jede zehnte
Aktivierung des MEGA PULSE Signals 416 erzeugt die Vorskalierschaltung 503 einen
Impuls auf der Ausgangsleitung 502. Der Abwärtszähler 500 wird
dadurch veranlasst, einmal alle zehn Mikrosekunden herunterzuzählen. Mit
anderen Worten, jeder "Tick" des Abwärtszählers 500 ist
ein Inkrement von zehn Mikrosekunden.
-
Der Abwärtszähler 500 kann auch
parallel vom RISC-Prozessors 400 gesteuert
mit dem vom SMAC 100 im Moderator-LPaket empfangenen PIT-Wert geladen
werden (2C). Eine Decodierschaltung 504 ist
mit dem RISC-Bus 180 verbunden und erkennt die Ausführung einer "periodische Intervallzeit
schreiben" (PIT
schreiben) Anweisung. Nach dem Erkennen der Schreib-PIT-Anweisung
wird eine Ausgangsleitung 505 aktiviert. Die Ausgangsleitung 505 hat
Verbindung mit dem "Parallellast
freigeben" Eingang
des Abwärtszählers 500 und
einem Reset-Eingang der Vorskalierschaltung 503. Eine Aktivierung
der Ausgangsleitung 505 bewirkt, dass der Abwärtszähler 500 die
parallelen Daten von den Datenleitungen des RISC-Busses 180,
repräsentiert durch
das Bussegment 506, lädt.
Gleichzeitig erzwingt die Aktivierung des Reset-Eingangs auf der Vorskalierschaltung 503 einen
Neustart des Vorskaliervorgangs mit einer vollen Zahl von zehn.
Dies garantiert eine volle Zehn-Mikrosekunden-Periode vor der Aktivierung
des Vorskalierschaltungsausgangs 502 nach dem Laden des
Abwärtszählers 500 unabhängig von
einer eventuellen Restzahl, die vielleicht in der Vorskalierschaltung 503 übrig geblieben
ist.
-
Zusätzlich zum PIT LO BYTE Bus 418 gibt der
Abwärtszähler 500 auch
ein PIT COUNT ZERO Signal 507 aus. Der Abwärtszähler 500 ist
so konstruiert, dass er automatisch zwischen null und der maximalen
8-Bit-Zahl (hexadezimal "FF") umläuft. Das
PIT COUNT ZERO Signal 507 wird immer aktiviert, wenn die
im Abwärtszähler 500 enthaltene
Zahl gleich null ist, d. h. so, dass die nächste Aktivierung des PHY CLOCK
Signals 150 ein Umlaufen veranlasst. In diesem Sinne zeigt
das PIT COUNT ZERO Signal 507 an, dass die nächste Zahl
einen Übertrag von
der PIT-Low-Byte-Zahl im Abwärtszähler 500 erzeugt.
Das PIT COUNT ZERO Signal 507 ist als Eingang zu einem
zweistufigen PIT-Übertragsschieberegister 510 geschaltet,
das die "Übertrags"-Anzeige vom Abwärtszähler in
einer zweistufigen Weise zwischenspeichert, so dass der RISC-Prozessor 400 genügend Zeit
hat, um jeden "Übertrag" zu verarbeiten. Die
PIT-Übertragsschieberegisterschaltung 510 wird vom
PHY CLOCK Signal getaktet.
-
Weiter mit Bezug auf 13, das TONE COMMAND Signal 420 wird
von einer mit dem RISC-Bus 180 verbundenen Decodierschaltung 525 erzeugt.
Diese Schaltung 525 decodiert die Ausführung einer "Ton generieren" Anweisung durch
den RISC-Prozessor 400 und gibt das TONE COMMAND Signal 420 aus,
wenn die "Ton generieren" Anweisung erkannt
wird. Das PIT HI BYTE ZERO Signal 419 wird von einem PIT-Hi-Byte-Null-Flipflop 530 geführt, der
vom PHY CLOCK Signal 150 getaktet wird. Der Flipflop 530 kann
vom RISC-Prozessor 400 gesteuert gesetzt werden. Wie zuvor
erwähnt,
führt der RISC-Prozessor
das hohe PIT-Byte intern, d. h. im RAM 410. Der RISC-Prozessor 400 übernimmt
auch das Dekrementieren des hohen PIT-Byte jedes Mal, wenn der Abwärtszähler 500 einen "Übertrag" produziert. Jedes Mal, wenn der RISC-Prozessor 400 das hohe
PIT-Byte dekrementiert, wird das Ergebnis des Dekrementiervorgangs
(d. h. der "Null" oder "Nicht-Null"-Status des Ergebnisses) über eine "PIT-Hi-Byte-Ergebnis
schreiben" Anweisung
auf dem RISC-Bus 180 auf die PIT-Hi-Byte-Zero-Flipflopschaltung 530 geschrieben.
Wenn das TONE COMMAND Signal 420 "wahr" wird,
dann werden der Flipflop 530 und das entsprechende PIT
HI BYTE ZERO Signal 419 in einen Reset-Zustand gezwungen.
-
MAC-Sendeprozessor
-
Die in 5B gezeigte
Zugangssteuerschaltung 144 steuert auch die Sendeverarbeitungsschaltung 141 im
SMAC 100. Die Sendeverarbeitungsschaltung 141 wählt Daten
aus einem der Sende-FIFO-Speicher (TX A, TX B und TX C) in der Host-Schnittstelle 143 und
formatiert die Daten ordnungsgemäß zum Senden
durch das Modem 140. Die Details der Sendeverarbeitungsschaltung 141 sind
in 14 gezeigt. Ein Sende-Mover 600 verarbeitet
automatisch 16-Bit-Wörter
von den Sende-FIFOs, indem er sie in 8-Bit-Bytes aufteilt. Die aufgeteilten
Datenbytes werden dann über
den TX BYTE Bus 602 an einen Sende-Assembler 604 angelegt.
Der Sende-Mover 600 reagiert auf die von der Host-Schnittstelle 143 über den
TX STREAM STATUS Bus 185 empfangenen Steuersignale, die
anzeigen, welcher der drei Sende-FIFOs als zum Senden "bereit" markiert wurde.
Wenn es für
den Knoten 20 Zeit ist, über das Netz zu senden, gibt
die Zugangssteuerschaltung 144 entsprechende Anweisungen über den
RISC-Bus 180, um die Sendeverarbeitungsschaltung 141 zum
Sendebeginn anzuweisen. Gleichzeitig empfängt der Sende-Mover 600 ein
Signal über
den RISC-Bus 180, das einen der "bereiten" FIFOs in der Host-Schnittstelle 143 designiert.
Der Sende-Mover 600 sendet die Identifikation des gewählten Sende-FIFO über den
SELECT TX STREAM Bus 186 zur Host-Schnittstelle.
-
Die Host-Schnittstellenschaltung 143 reagiert
durch sequentielles Platzieren jedes 16-Bit-Wortes von Daten von
diesem FIFO auf den TX WORD Bus 187, der als Eingang zum
Sende-Mover 600 geschaltet ist. Jedes von der Host-Schnittstelle 143 empfangene
Datenwort wird in einem Register im Sende-Mover 600 zwischengespeichert
und dann in zwei Bytes unterteilt. Die beiden Bytes werden nacheinander
an den TX BYTE Bus 602 angelegt und zum Sende-Assembler 604 gesendet.
-
Der Sende-Assembler 604 konvertiert
das Byte von Daten in das Manchester-codierte Serienformat und reagiert
auch auf Steuersignale über
den RISC-Bus 180, indem er die Manchester- Phy-Symbole für die Präambel und
Begrenzer des abgehenden MAC-Frame 21 generiert. Das generierte
TX PHY SYMBOLS Signal 269 wird an eine Leitung des Ausgangsbusses 161 angelegt,
die mit dem Sendeeingang des Modems 140 verbunden ist.
Die oben mit Bezug auf das Modem 140 beschriebenen Signale
END BLANKING 257, TX ENABLE 256 und TX RESERVE 271 werden
ebenfalls vom Sende-Assembler 604 erzeugt und an den Ausgangsbus 161 angelegt.
-
Der RISC-Bus 180 ist ebenfalls
direkt mit dem Sende-Assembler 604 verbunden,
damit der RISC-Prozessor 400 Daten über das Netz sendet. Zum Beispiel,
der RISC-Prozessor 400 verwendet diesen Datenpfad im Moderatorknoten
zum Senden von MAC-Frames in dem Sperrband 56, das ein
LPaket von Stationsmanagementinformationen wie zuvor beschrieben
enthält.
Wenn das MODERATOR GUARD BAND Signal 433 aktiv ist, werden
Daten vom RISC-Bus 180 vom Sende-Assembler 604 in
ein Manchester-formatiertes Seriensignal umgewandelt und über den
Bus 161 zum Modem 140 gesendet.
-
während
der Sende-Mover 600 aktiv Daten handhabt, erzeugt er ein
aktives TX BUSY Signal 182, um der Zugangssteuerung 144 anzuzeigen, dass
ein Sendevorgang läuft.
Ein TX ERROR Signal 606 wird ebenfalls vom Sende-Mover 600 als
Anzeige dafür
erzeugt, dass ein Sendeunterlauf aufgetreten ist. Die Sende-FIFOs
in der Host-Schnittstelle 143 haben eine Länge von
nur 32 Byte. Da die Daten für
die meisten Meldungen viel länger
sein werden, verlässt
sich die Host-Schnittstelle darauf, dass der Host-Prozessor 102 verhindert,
dass den FIFOs die Daten ausgehen, bevor der Meldungsframe gebildet ist.
Wenn der Host-Prozessor jedoch Daten nicht schnell genug liefert,
dann kommt es zu einem Datenunterlauf. Der Sende-Mover 600 erkennt
dieses Event und sendet ein TX ERROR Signal 606 zu einem
Satz von Sendestatusregistern 608. Diese Fehleranzeige
kann vom RISC-Prozessor 400 über den Bus 180 von
den Sendestatusregistern 608 abgelesen werden.
-
Der RISC-Prozessor 400 speichert
auch Steuerinformationen in den Sendestatusregistern 608.
Ein solches Steuerbit mit der Bezeichnung TX REQUEST 612 dient
zum Einleiten des Meldungsübertragungsprozesses.
Wenn ein Fehlerzustand auftritt, kann der RISC-Prozessor 400 reagieren,
indem er ein TX ABORT Bit 610 im Sendestatusregister 608 speichert,
um eine beliebige ablaufende Übertragung zu
terminieren.
-
Ein Framewort-Countdown-Zähler 614 in
der Sendeverarbeitungsschaltung 141 führt eine Zahl für die Anzahl
von Datenworten, die im Datenfeld 25 des aktuellen MAC-Frame 21 zur
Verfügung
stehen. Während
des Sendens der einzelnen Datenwörter durch
die Schaltung 141 wird die Zahl im Framewort-Countdown-Zähler 614 dekrementiert.
Diese Zahl wird periodisch vom RISC-Prozessor 400 gelesen,
um zu ermitteln, ob ein anderes Daten-LPaket von der Host-Schnittstelle 142 innerhalb
des aktuellen MAC-Frame 21 gesendet werden kann oder ob CRC 27 und
Endebegrenzer 28 gesendet werden sollen.
-
Die Sendeverarbeitungsschaltung 141 kümmert sich
um das Senden von Meldungsdaten durch den Knoten, und eine andere
Schaltung verarbeitet die vom Netz empfangenen Meldungen. SMAC-Empfangsprozessor
Der in 5B gezeigte SMAC 100 verwendet
eine Empfangsverarbeitungsschaltung 142 für die Handhabung
eingehender Daten vom Modem 140 und für deren Formatierung für die Host-Schnittstelle 143.
Die Details der Empfangsverarbeitungsschaltung 142 sind
in 15 zu sehen. Das
vom Eingangsbus 162 geführte
eingehende PHY DATA Signal 270 wird von einer Daten- und Steuer-Pipeline 8OO in
der Empfangsverarbeitungsschaltung 142 empfangen. Die Pipeline 800 ist
mit dem Datentaktbus gekoppelt und empfängt die vom Modem erzeugten
Signale BYTE CLOCK 262, BYTE PULSE 151 und BIT
CLOCK 261.
-
Die Einzelheiten der Daten- und Steuer-Pipeline 800 sind in 16 dargestellt. Das PHY DATA
Signal 270 wird in einem Serienein-/Parallelausgangsschieberegister 801 empfangen,
das vom BIT CLOCK Signal 261 getaktet wird. Das Schieberegister 801 konvertiert
das serielle PHY DATA Signal 270 in ein PARALLEL RX DATA
Signal 802. Das PARALLEL RX DATA Signal 802 wird
als Eingang in einen LPaket-Byte-Zähler 803 und ein dreistufiges Pipeline-Register 804 angelegt.
-
Die Daten- und Steuer-Pipeline 800 "verfolgt" den Fortschritt
des eingehenden MAC-Frame 21, während dieser empfangen wird.
Der Frame beginnt mit einer Aktivierung des RX READY Signals 166 durch
das Modem 140. Danach wird jedes LPaket durch Zwischenspeichern
des Größenfeldes
des LPakets im LPaket-Byte-Zähler 803 als
Reaktion auf das ENABLE SIZE LOAD Signal von einer Pipeline-Steuerzustandsmaschine 806 verfolgt.
Die Pipeline-Steuerzustandsmaschine 806 empfängt das
RX READY Signal 166, das BIT CLOCK Signal 261 und das
BYTE PULSE Signal 151 vom Modem 140. Die Pipeline-Steuerzustandsmaschine 806 verwendet diese
Eingangssignale zum Zeitsteuern des Auftretens verschiedener Felder
im eingehenden PHY DATA Signal 270 und zum Ausgeben der
entsprechenden Steuersignale an den LPaket-Byte-Zähler 803 und
die Pipeline-Register 804. Der LPaket-Byte-Zähler 803 legt
ein Signal 807 an, das der Pipeline-Steuerzustandsmaschine 806 sagt,
wenn die Zahl der eingehenden Bytes des PHY DATA Signals 207 anzeigt,
dass ein LPaket vollständig
empfangen wurde. Dieses LPaket-Vollständigkeitssignal 807 veranlasst
die Pipeline-Steuerzustandsmaschine 806,
das entsprechende END LPACKET Signal an das Pipeline-Register 804 auszugeben.
-
Gemäß den 15 und 16 ist
das Pipeline-Register 804 ein dreistufiges Schieberegister, das
die eingehenden Daten- und Steuersignale parallel verarbeitet und
die Daten als Reaktion auf das BYTE CLOCK Signal 262 durch
jede Stufe verschiebt. Während
des Verschiebens der eingehenden Daten durch das Register 804 wird
der Inhalt jeder Stufe anderen Komponenten des SMAC-Systems zur
Verfügung
gestellt. Der Ausgang der ersten Stufe des Pipeline-Registers 804 ist
mit einem Satz von Datengattern zum RISC-Bus 180 verbunden,
um vom RISC-Prozessor 400 gelesen zu werden. Der Ausgang
der zweiten Stufe des Pipeline-Registers, Level "B" genannt,
wird über
den Bus 808 an einen ersten Dateneingang einer Empfangs-Screening-Schaltung 810 angelegt.
Der Level "B" Bus 808 führt auch
das END LPACKET Signal, das durch die ersten beiden Stufen des Pipeline-Registers
getaktet wurde, und Signale, die durch eine individuelle AND-Verknüpfung des
RX READY Signals mit dem START FRAME Signal und dem START LPACKET Signal
abgeleitet wurden, die durch die ersten beiden Stufen des Pipeline-Registers 804 getaktet
wurden. Diese drei Level "B" Steuersignale werden
auch durch die dritte Stufe des Pipeline-Registers 804 zusammen
mit dem TX BUSY Signal 182 aus der zweiten Stufe getaktet.
Das END FRAME Signal von der Pipeline-Steuerzustandsmaschine 806 wird
direkt an einen Eingang der dritten Stufe der Pipeline-Register 804 angelegt.
Der Inhalt der dritten Stufe des Pipeline-Registers 804 wird
an einen Level "C" Bus 809 angelegt,
der mit einem zweiten Eingang der Empfangs-Screening-Schaltung 810 und
mit einem Eingang der RX-Router-Schaltung 812 verbunden
ist. Das Pipeline-Register 804 ermöglicht es, dass der RISC-Prozessor 400 die
eingehenden Daten über den
RISC-Bus 180 empfängt,
bevor die Daten an den Eingängen
der Empfangs-Screening-Schaltung 810 und
dem RX-Router 812 verfügbar
werden. So ergibt sich ein Startvorsprung von einem Byte gegenüber dem
Betrieb des RISC-Prozessors in Bezug auf den Betrieb dieser letzteren
beiden Komponenten 810 und 812.
-
Gemäß 15 ist der RX-Router 812 in
der Empfangsverarbeitungsschaltung 142 für das Speisen
der eingehenden Daten- und relevanten Steuersignale in die Empfangs-FIFO-Speicher
der Host-Schnittstelle 143 (siehe Fig. 5B) verantwortlich. Die empfangenen
Daten werden vom RX-Router 812 über den
RX-Byte-Ausgangsbus 170 zusammen mit den Steuersignalen über den
RX FIFQ Steuerbus 171 zur Host-Schnittstelle 143 gesendet.
-
Der RX-Router 812 verarbeitet
zwar alle vom SMAC 100 von dem Netz 10 empfangenen
LPakete, aber über
die Verbindung 813 von der Empfangs-Screening-Schaltung 810 empfangene
Steuersignale ermöglichen
die Auswahl nur derjenigen LPakete, die für den Host-Prozessor 102 von
Interesse sind (5A).
Die Annahme von LPaketen wird von drei Quellen gesteuert: einem
Universal-Screener, einem festen Screener und einem externen Screener. Der
Universal-Screener wird praktisch ausschließlich von einem Schaltkomplex
in der Empfangs-Screening-Schaltung 810 mit
minimaler Beteiligung des RISC-Prozessors 400 implementiert.
Zu diesem Zweck führt
die Empfangs-Screening-Schaltung 810 eine Tabelle der zu
akzeptierenden LPaket-Etiketten. Der feste Screener dient zum Identifizieren
spezifischer LPakete, wie z. B. das Moderator-LPaket, die Netz- oder Stationsmanagementinformationen
enthalten. In einem großen
Ausmaß erfolgt
das feste Screening durch den RISC-Prozessor 400 als Reaktion
auf Daten- und Steuersignale, die von der Empfangs-Screening-Schaltung 810 erzeugt
werden, und das externe Screening erfolgt außerhalb des SMAC 100.
Der feste Screener ist zwar mit Etiketten von Interesse vorprogrammiert,
aber die Etiketten, nach denen die Universal- und externen Screener
suchen, werden vom Benutzer definiert.
-
Beim Empfangen eines LPakets wartet
ein Screener-Koordinator
in der Empfangs-Screening-Schaltung 810 auf eine Antwort
von den drei Screening-Quellen und antwortet damit, dass er eine Entscheidung
darüber
trifft, ob er das LPaket akzeptiert. Ein ACCEPT LPACKET Signal wird
vom Screener-Koordinator über den
Bus 810 an den RX-Router 812 angelegt, wenn das
LPaket für
den Host-Prozessor 102 von Interesse ist. Die Empfangs-Screening-Schaltung 810 analysiert
auch die eingehenden Daten- und Steuersignale, um entweder ein SELECT MAIN
oder ein SELECT AUX Signal zu erzeugen. Diese letzteren Signale
werden vom RX-Router zur Host-Schnittstelle 143 geleitet,
um auszuwählen, welcher
Empfangs-FIFO (RX MAIN oder RX AUX) in der Host-Schnittstelle die
Daten empfangen wird. Zu Beginn jedes LPakets werden die SELECT
MAIN und SELEC AUX Signale aktiv und beide Empfangs-FIFOs beginnen,
die LPaket-Daten
zu speichern, bis einer der Screener das LPaket akzeptiert. Wenn
eine Entscheidung getröffen
wird, welcher Empfangs-FIFO die Daten speichert, dann wird der andere
Empfangs-FIFO von einem Signal auf dem RX FIFO Steuerbus 171 deaktiviert.
Wenn das LPaket endet, ohne akzeptiert zu werden, dann wird vorgabemäßig ein
NO ACCEPTANCE Signal zur Host-Schnittstelle 143 gesendet,
die damit reagiert, dass sie den FIFO-Inhalt verwirft. Auf diese
Weise wählt
die Empfangs-Screening-Schaltung 810 diejenigen
LPakete mit Etiketten aus, die die Screener programmgemäß erkennen
sollen. MAC-Host-Schittstelle Gemäß den 5A und 5B verbindet
die SMRC-Host-Schnittstelle 143 die
Sende- und Empfangsverarbeitungsschaltung 141 und 142 mit
dem Host-Prozessor 102.
Die Host-Schnittstelle 143 wird vom Host-Prozessor 102 benachrichtigt,
wenn dieses Gerät
Daten für
die Übertragung über das
Netz 10 hat. Der SMAC 100 empfängt die Daten über den Host-Bus 101,
und die Daten werden in einen der Sende-FIFOs TX A, TX B oder TX
C gemäß Designation
durch Steuersignale gesetzt, die den Daten vorangehen. Die Sende-FIFOs fungieren als
Datenpuffer und sind nicht groß genug,
um ein typisches LPaket zu speichern. Die Host-Schnittstelle 143 ist
so konfiguriert, dass sie auf die im Host-Prozessorspeicher gespeicherten Übertragungsdaten
entweder durch einen Direktspeicherzugriff-(DMA)-Controller im Host-Prozessor 102 oder
dadurch zugreift, dass sie fordert, dass der Host-Prozessor die
Zufuhr von Daten in dem Maße
steuert, in dem die Sende-FIFOs leer werden. Wenn der SMAC 100 Zugang
zum Netzwerk 10 erhält,
dann erhält
die Sendeverarbeitungsschaltung 141 Datenworte von dem entsprechenden Sende-FIFO
wie oben beschrieben.
-
Wenn der SMAC 100 einen
Meldungsframe vom Netz empfängt,
dann setzt die Empfangsverarbeitungsschaltung 142 jedes
eingehende LPaket in die Empfangs-FIFOs (RX MAIN und RX AUX). Wenn ein
Screener ein bestimmtes LPaket als von Interesse identifiziert,
dann überträgt die Host-Schnittstelle 143 den
FIFO-Inhalt zum Host-Prozessor 102. Wenn keiner der Screener
an einem bestimmten LPaket interessiert ist, dann werden die Daten
aus den Empfangs-FIFOs geleert.
-
Gemäß 17 empfängt die Host-Schnittstelle 143 Signale
vom Host-Prozessor 102 über
den Host-Bus 101, der Adress-, Daten- und Steuersignalleitungen
umfasst. Der Host-Bus 101 ist über einen Satz
von Tristate-Datengattern 870 mit dem gepufferten Host-Bus 174 gekoppelt.
Der Host-Prozessor 102 speichert Konfigurations- und andere
Betriebsinformationen in einem Satz Steuerregister 868.
Zum Beispiel, vor dem Senden der Daten der Host-Schnittstelle 143 zur Übertragung
speichert der Host-Prozessor 102 Informationen in den Steuerregistern 868, um
die Charakteristiken jedes der drei Sendeströme zu konfigurieren (in den
FIFOs TX A, TX B oder TX C gespeichert). Eine Charakteristik ist
die, ob ein Strom geplante oder ungeplante Daten für die Übertragung während der
geplanten Phase 52 bzw. der ungeplanten Phase 54 enthalten
soll. Diese Information wird von der Host-TX-FIFO-Logikschaltung 854 zum
Decodierschaltkomplex 840 übertragen. Der Host-Prozessor 102 speichert
auch Steuerinformationen in einer Host-TX-Logikschaltung 854, um der
Sendeverarbeitungsschaltung 141 über den TX STREAM STATUS Bus 185 zu
signalisieren, dass Daten auf die Übertragung warten.
-
Die Daten vom Host-Bus 101 werden
durch einen Cache-Speicher 845 in
den Decodierschaltkomplex 840 gesendet, der auf die Steuerinformationen
dadurch reagiert, dass er die Daten zum bezeichneten Sende-FIFO
(TX A, TX B oder TX C) leitet. In der Praxis wird das Trio aus Sende-FIFOs 841, 842 und
843 mit konventionellen Techniken in einem Arbeitsspeicher (RAM) 844 ausgeführt. Insbesondere
wird eine Gruppe von Speicherstellen im RAM 844 für jeden
FIFO abgestellt, und ein weiterer Satz Speicherstellen enthält Zeiger
auf Speicherstellen, die die Anfangs- und Endobjekte von Daten in
diesem FIFO enthalten. Der Ausgang jedes Sende-FIFO 841–843 ist über den
Bus 850 mit der Stream-Auswahlsteuerschaltung 853 verbunden.
-
Wie zuvor beschrieben, wählt die
Sendeverarbeitungsschaltung 141, wenn sie verlangt, dass
ein Datenwort über.
das Netz gesendet wird, einen der Sende-FIFOs 841–843 durch
Anlegen von Steuersignalen an den Auswahl-TX-Stream-Bus 186 aus. Diese Auswahlsignale
werden an die Stream-Ruswahlsteuerschaltung 853 in der
Host-Schnittstelle 143 angelegt, und die Stream-Auswahlsteuerschaltung 853 reagiert
durch Ausgeben von Signalen an den entsprechenden Sende-FIFO 841, 842 oder 843, um
das nächste
Datenwort zu erhalten. Nach dem Empfang des TAKE WORD Signals 188 von
der Sendeverarbeitungsschaltung 141 leitet die Select-Stream-Steuerschaltung 853 den
Zeiger des jeweiligen Sende-FIFO 841– 843 zum nächsten Datenwort.
-
Wenn Daten vom SMAC 100 vom
Netzwerk 10 empfangen wurden, dann sendet die Empfangsverarbeitungsschaltung 142 die
zuvor beschriebenen Steuersignale über den RX FIFO Steuerbus 171.
Wie in 17 gezeigt, ist
der RX FIFO Steuerbus 171 mit einer Verteiler- und Steuerschaltung 860 verbunden, die
auch die empfangenen Daten über
den RX BYTE Bus 170 empfängt. Die Verteiler- und Steuerschaltung 860 reagiert
auf die eingehenden Signale dadurch, dass sie beide Empfangs-FIFOs
(MAIN und AUX) 863 und 864 zum Senden von Steuersignalen über einen
FIFO-Bus 862 freigibt. Jedes der Bytes des eingehenden
LPakets wird zu diesem Zeitpunkt in beiden Empfangs-FIFOs 863 und 864 gespeichert. Die
Empfangs-FIFOs 863 und 864 werden
im RAM 844 auf dieselbe Weise implementiert wie die Sende-FIFOs.
-
Danach kann die Verteiler- und Steuerschaltung 860 ein
Signal auf dem RX FIFO Steuerbus 171 empfangen, das anzeigt,
dass ein Screener ermittelt hat, dass das LPaket für diesen
Knoten 20 von Interesse ist. In diesem Fall zeigt das Screener-Signal
an, welcher der beiden Empfangs-FIFOs 863 oder 864 die
Daten aufnehmen soll, und die Verteiler- und Steuerschaltung 860 reagiert
dadurch, dass sie das Ende des Datenzeigers für den nicht selektierten Empfangs-FIFO
zurücksetzt,
wodurch diese Daten verworfen werden. Die Steuerschaltung 860 reagiert auch
dadurch, dass sie einen Interrupt-Generator 866 freigibt,
der ein Interrupt-Signal über
den Host-Bus 101 sendet, der dem Host-Prozessor 102 anzeigt,
dass interessante Daten empfangen wurden, und der anzeigt, welcher.
der beiden Empfangs-FIFOs 863 oder 864 die Daten
enthält.
-
Der Host-Prozessor 102 reagiert
auf das Interrupt-Signal dadurch, dass er die Daten von dem vorgegebenen
Empfangs-FIFO 863 oder 864 erhält. Ein Paar Cache-Speicher 871 und 872 verbinden
die Empfangs-FIFOs mit dem Host-Bus 101 und ermöglichen
es so, dass Daten von einem FIFO abgerufen werden, während zusätzliche
empfangene Daten von der Verteiler- und Steuerschaltung 860 gespeichert werden.
-
Andererseits, wenn keiner der Screener
anzeigt, dass das derzeitige LPaket von Interesse ist, dann setzt
die Verteiler- und Steuerschaltung 860 das Ende von Datenzeigern
für beide
Empfangs-FIFOs 863 und 864 zurück, so dass sie mit ihrer Anfangsdatenstelle übereinstimmen,
wodurch die zuvor empfangenen Daten aus den FIFOs effektiv entleert
werden.