-
Hintergrundinformation
zur Erfindung
-
Fachgebiet
der Erfindung
-
Die
vorliegende Erfindung gehört
in den Bereich der Steuerung von Schaltern und insbesondere der
Steuerung von Multikanalkoppelpunktschaltern (Multi-Port Cross-Point
Switch).
-
Hintergrundinformation
-
Mehrkanalschalter
oder Koppelpunktschalter werden in zunehmender Anzahl in modernen
Kommunikationssystemen gefunden; das beinhaltet elektrische und
optische Ausrüstungen,
wie man sie in Telefon-, Daten-, Audio- und Videonetzwerken, die sich
vermehrt im Internet und in den kleineren Netzwerken in Gebäuden, Laboratorien
und Büros
finden.
-
Der
Bedarf an noch schnelleren, flexibleren und adaptierbaren und skalierbaren
Schaltern ist die Norm in der sich entwickelnden Technologie.
-
Es
gibt eine Vielzahl von Patenten im Zusammenhang mit Koppelpunktschaltern;
ein solches ist das US-Patent Nr. 5,983,260 von Hauser et al., das
am 9. November 1999 erteilt wurde und hiermit als Referenz eingeschlossen
ist. Dieses Patent offenbart einen System-Level-Schalter, ausgelegt für Zellenverarbeitung
(cell processing) – d.h.
für Pakete oder
formatierte Rahmen (formated frames) und nicht für Roh- oder generische Daten.
Das Patent beschreibt nicht typische Adressierungs- und Steuerschemata
und stützt
sich deshalb auf bekannte Organisationen wie unten beschrieben.
Dieses Patent ist typisch für
Patente in diesem Umfeld.
-
Bekannte
Methoden zur Steuerung von Koppelpunktschaltern fallen generell
in zwei Kategorien. Zunächst – wie in 1 dargestellt – ist es
das Multiplexen von Daten mit den Adress- und Steuerdaten des Schalters. 2 zeigt
die Aufteilung der Zeit zwischen den Steuer- und Adressdaten und
den Daten. D.h., hätte
man z.B. einen Vierkanalschalter, dann hätte jeder Kanal eine eigene
Leitung oder eine Gruppe von Leitungen, die Adress- und Steuerdaten, gefolgt
von Daten, transportieren würden.
In diesem System werden die Adress- und Steuerdaten deserialisiert
und interpretiert. Die Daten werden dann auf den vorbestimmten Ausgangskanal
geschaltet, und die Daten werden zusammen mit den Steuer- und Adressdaten
gesendet. In einem solchen System muss es ein bekanntes Protokoll
geben, das es erlaubt, die Adress- und Steuerdaten von den Daten
zu unterscheiden, und einige Vorkehrungen zur Bestimmung des Endes
der Daten. Solche Paketierungs- oder Formatierungstechniken oder
Protokolle sind in der Fachwelt gut bekannt, wie z.B. das Internet, TCP/IP,
FTP und viele andere in der Fachwelt bekannte.
-
Eine
Limitation der oben genannten ersten Steuerart ist die Latenzzeit,
die gegeben ist durch die Notwendigkeit der Deserialisierung der
Adress- und Steuerinformationen und des anschließenden Dirigierens der Ausgangsdaten
durch den Deserialisierungs-/Reserialisierungspfad.
Wenn z.B. die beiden Kanäle
mit unterschiedlichen Taktfrequenzen arbeiten, dann müssen die
Daten mit unterschiedlichen Taktfrequenzen deserialisiert und dann
serialisiert werden. Solche Abläufe
beinhalten inhärente
Verzögerung,
die man Latenzzeit nennt.
-
Andere
Nachteile dieser Form des Schaltens beinhalten Engpässe und/oder
Speichernotwendigkeiten. Beispielsweise hat der paketverarbeitende Koppelpunktschalter
die Limitation, dass das gerade verarbeitete Datenpaket bearbeitet
werden muss, und es muss eine Entscheidung darüber gefällt werden, ob der Ausgangskanal
verfügbar
ist oder nicht. Für
den Fall, dass der Ausgangskanal nicht verfügbar ist, kann das Datenpaket
nicht gesendet werden, der komplette Pfad muss auf die Öffnung des
Ausgangskanals warten, und das Datenpaket muss gespeichert werden.
-
Eine
andere bekannte Schaltersteuereinrichtung beinhaltet einen Programmierungskontrolleingangspfad
des Koppelpunktschalters, um alle Kanäle zu programmieren. Dies erlaubt
es, dass alle Kanäle vorbereitet
werden, sodass wie vorgeschrieben Daten fließen können. 3 repräsentiert
diese Vorrichtung.
-
Eine
Begrenzung dieses zweiten Typs von Steuervorrichtungen ist die Notwendigkeit
für eine separate
Verbindung von allen der vielen Eingangs-/Ausgangsboards, die wünschen,
Daten durch den Koppelpunktschalter zu senden oder zu empfangen.
Diese Typen von Systemen brauchen normalerweise eine gemeinsame
Bus-Leiterplatte, mit der der Koppelpunktschalter konfiguriert und
eingerichtet werden kann. Dieser singuläre Programmierungseingangspfad
kann auch zum Engpass werden, der die Geschwindigkeit, mit der der
Koppelpunktschalter für eine
Konfiguration programmiert werden und dann für eine andere Konfiguration
reprogrammiert werden kann, limitiert. Im Vergleich dazu wird die
erste Art der Steuerung durch die gleichen Eingangs-/Ausgangsleitungen,
die die Daten ohne zusätzliche
Eingänge
transportieren, erreicht.
-
Es
gibt eine Notwendigkeit, die Schalterkonfigurations- und Datendurchsatz-Latenzzeiten
zu verbessern.
-
Zusammenfassung
der Erfindung
-
In
Anbetracht der vorangegangenen Hintergrunddiskussion liefert die
vorliegende Erfindung einen bidirektionalen Austausch von Steuer-/Adressdaten
unabhängig
von den Daten jedes Kanals eines "typischen Koppelpunktschalters". Wie nachstehend genannt,
wird diese Trennung von Daten von den Steuer- und Adressdaten für jeden
Kanal als "fakturierte
Architektur" bezeichnet.
Die Separation von Daten- und Steuer-/Adressierungsleitungen ermöglicht Informationsaustausch
zwischen allen Kanälen, mit
dem folgenden Vorteil:
Mehrere Datenübertragungsanfragen können gleichzeitig
evaluiert werden, um die Anforderung eines korrespondierenden offenen
Ausgangskanals zu finden.
-
Bandbreite
auf den Datenleitungen für
Steuer-/Adressdaten wird nicht benutzt, da diese Leitungen separiert
sind.
-
Es
gibt eine Null-Konfigurations-Latenzzeit, da die Datenübertragungsanfrage
gleichzeitig mit der Übertragung
von Daten von vorangegangenen Anfragen geschehen kann.
-
Das
heißt,
dass, während
Daten übertragen werden,
können
die Konfigurationsinformationen für nachfolgende Übertragungen
gesendet werden und warten, so dass, wenn die vo rangegangene Datenübertragung
komplett ist, die neue Konfiguration automatisch eingerichtet werden
kann.
-
Datenlatenzzeiten
können
minimiert werden, da keine Steuer- und Adressinformation, die relevant für das Schalten
sind, im Schalter verarbeitet werden. Deshalb können die Daten einfach an den
Ausgangskanal oder die Ausgangskanäle dirigiert und durchgeleitet
werden, ohne Deserialisierung oder Latenzen – ohne Verarbeitungsverzögerung.
Bei hohen Taktgeschwindigkeiten, größer als 2 MHz, kann ein Pufferregister
zwischen Dateneingangs- und Datenausgangsleitungen genutzt werden.
Trotzdem wird die benötigte
Verzögerung
in solche Fällen
nur einige wenige Taktzyklen benötigen,
gewöhnlich
zehn bis zwanzig.
-
In
einem bevorzugten Ausführungsbeispiel kann
ein globaler Takt implementiert werden, um die Übertragungsverzögerungen
weiter zu reduzieren – auf
weniger als einige wenige Bit-Zeiten. Die einzige notwendige Vorkehrung
bei einer solchen Architektur mit globaler Taktgabe ist es, Phasenverzögerungen zwischen
der Übertragungs-Taktrate
an einem Serialisierer und der Empfangs-Taktrate an einem Deserialisierer
eines physischen Systems, das Daten mittels eine Koppelpunktschalters
sendet und empfängt, zu
erlauben, dass Taktbegrenzungen nicht überschritten werden. Bei einem
solchen bevorzugten Ausführungsbeispiel
leitet der erfindungsgemäße Koppelpunktschalter
das Eingangsdatenbit ohne Taktung an einen Ausgangskanal.
-
Es
ermöglicht
eine optimale Leistungsfähigkeit
und minimale Konfigurations- und Datenlatenz überall im geschalteten System.
-
Die
Kombination der getrennten Daten- und Steuer-/Adressleitungen an
jedem Kanal erlaubt die Optimierung von Anklopf-(Aufmerksamkeit
erregen bei anderen Systemelementen wie zum Beispiel Mikroprozessoren),
Datentransfer-, Leseanfrage- und (Mehrfach-)Rundrufoperationen (typisch
für verschiedene
Systeme, ein Beispiel wären
Server). Diese üblichen
Befehle vom Typ Kommunikation, die ziemlich anders sind im Vergleich
zu Datenübertragungsanfragen,
können
den am wenigsten Bandbreite brauchenden Kanal zugewiesen werden,
dem Steuer-/und Adresskanal. Diese Befehle können beispielsweise über die
Steuer-/Adressleitungen programmiert werden und im Schalter dekodiert
werden, um die vorgesehene Aktion oder Aktionen auszuführen.
-
Eine
anderer Vorteil der vorliegenden Erfindung ist es, dass die paketierten
Daten, die entsprechend den Steuer- und Adressdaten durchgeleitet werden,
häufig
eingebettete Protokolle enthalten, die unsichtbar für den erfindungsgemäßen Koppelpunktschalter
sind. So werden die TCP/IP, FTP, Ethernet und andere Typen von höheren Internet-Rahmeninformationen
als strikte Daten weitergeleitet werden. Entsprechend können, falls
Steuer- und Adressdaten bei Endbenutzern erforderlich wären, im
Unterschied zur Verarbeitung im erfindungsgemäßen Koppelpunktschalter, diese über die
Daten- und Steuerleitungen gesendet werden und beim Endbenutzer
dekodiert werden.
-
Die
vorliegende Erfindung bietet für
Mehrfachanfragen, die gleichzeitig mit den Daten und mit Steuer-
und Adressdaten und parallel zu den Daten gesendet werden können, dass
die Daten effektiv für maximalen
Datendurchsatz hintereinandergeschaltet werden. Hintereinandergeschaltet
bedeutet hier, dass Daten kontinuierlich – direkt hintereinander – geschickt
werden. Darüber
hinaus wird Mehrfach- und Rundrufverteilung direkt erreicht, und
Eingangs-/Ausgangskanäle
durch den erfindungsgemäßen Koppelpunktschalter
können
eingefroren oder gegenseitig gesperrt werden, um beispielsweise
Prioritätsübertragungen
zu handhaben, um wiederum die Latenzzeit weiter zu reduzieren.
-
Ein
weiterer Vorteil der vorliegenden Erfindung ist die Möglichkeit,
die internen Koppelpunktschalter-Verbindungen im laufenden Betrieb
zu ändern.
Das heißt,
dass Steuer- und Adressleitungen zum gleichen Zeitpunkt wie Daten
geändert
werden können.
In diesem Fall kann die Synchronisation der Datenworte und der Steuer-/Adressdaten
durch das sendende System gehandhabt werden, um Datenkonsistenz
zu gewährleisten.
-
Bevorzugte
Ausführungsbeispiele
können mindestens
drei Kanäle
haben, aber in anderen Ausführungsbeispielen
können
so viele Kanäle
vorhanden sein, wie die Bus-Rückwand
und Hardware (Pin-Anschlüsse)
es zulassen. Hundert oder mehr Kanäle können mit der vorliegenden Erfindung
implementiert werden.
-
Der
Fachmann wird erkennen, dass – obwohl die
nachfolgenden Ausführungsbeispiele
Bezug auf die illustrierten Ausführungsbeispiele,
Zeichnungen und Nutzungsverfahren nehmen – die vorliegende Erfindung
nicht beschränkt
sein soll auf die Ausführungsbeispiele
und Nutzungsverfahren. Vielmehr ist die vorliegende Erfindung breit
angelegt, und es ist beabsichtigt, dass die Abgrenzung durch die
beigefügten
Ansprüche
definiert wird.
-
Kurze Beschreibung
der Zeichnungen
-
Die
nachfolgende Erfindungsbeschreibung bezieht sich auf die beiliegenden
Zeichnungen:
-
1 ist
ein Blockdiagramm von Koppelpunktschaltern nach dem Stand der Technik;
-
2 ist
ein Paketdiagramm von Formaten von Steuerdaten und Daten nach dem
Stand der Technik;
-
3 ist
ein Blockdiagramm eines Vierkanal-Koppelpunktschalters nach dem
Stand der Technik und zeigt einen einzelnen Eingang für Adress- und
Steuerdaten aller vier Schalter;
-
4 ist
ein Diagramm eines Ausführungsbeispieles
des erfindungsgemäßen Koppelpunktschaltermoduls;
-
5 ist
eine Illustration des Formates von Steuer- und Adressleitungen und
separierten Datenleitungen;
-
6 ist
ein Blockdiagramm eines Multi-Element-Systems, den erfindungsgemäßen Koppelpunktschalter
beinhaltend;
-
7 ist
ein Blockdiagramm des erfindungsgemäßen Koppelpunktschaltermoduls,
das viele andere Systemfunktionen verbindet;
-
8 ist
ein repräsentatives
Schema des Pfades eines einzelnen Datensignals;
-
9 ist
ein Schaltplan, der die Logik innerhalb des erfindungsgemäßen Koppelpunktschaltermoduls
illustriert, und
-
10 ist
ein Beispiel für
die Arten von Informationen, die über die Steuer- und Adressleitungen (C/A)
ausgetauscht werden.
-
Detaillierte
Beschreibung eines illustrierten Ausführungsbeispieles
-
4 zeigt
das Koppelpunktschaltermodul 10 mit vier Eingangs-/Ausgangskanälen. Z.B.
zeigt Kanal B eine Eingangssignalleitung, die Daten- und Leerlauf-
und eine separate Eingangsleitung, die Steuer- und Adressdaten handhabt.
Wie in 4 gezeigt, beinhalten die Anschlüsse C/A
(Steuer- und Adressdaten) und Dateneingangs- und -ausgangsanschlüsse für einen
einzelnen Kanal. Leerlauf wird in einem Ausführungsbeispiel dadurch definiert, dass,
wenn keine Daten fertig zum Senden sind, Füller- oder Zeitsignale gesendet
werden, um den Takt innerhalb des Koppelpunktschaltermoduls aufrecht zu
erhalten. In diesem Ausführungsbeispiel
ist der Takt abgeleitet von dem sequenziellen Datenstrom (inklusive
der Leerlaufsignale), so dass kein separater Taktanschluss bereitgestellt
wird. Der Koppelpunktschalter generiert den Takt aus den Leerlaufsignalen
oder Dateneckenübergängen. In
einem Ausführungsbeispiel
liefern die Daten – unabhängig vom Inhalt
oder Leerlaufsignal – immer
Eckübergänge, die
eine geeignete Taktung – wie
unten diskutiert – garantieren.
Solche Techniken sind in der Fachwelt gut bekannt. Z.B. kann ein
PLL (phase locked loop) an einen Takt gebunden werden, basierend
auf einkommenden Daten auf einer gegebenen Datenleitung, unter der
Annahme, dass die Daten in einem ständigen Strom von aktuellen
Daten und Leerlaufsignalen kommen.
-
In 4 sind
die Steuer- und Adressdaten (C/A) und die Dateneingänge und
-ausgänge
als einzelne Leitungen gezeigt; dennoch können Differenzpaar- oder andere ähnliche
physikalische Leitungen genutzt werden, um die Information bit-seriell
zu übertragen.
Vorliegend ist der Ausdruck "Koppelpunktschaltermodul" unterschieden vom
Ausdruck "Koppelpunktschalter" in der Art, dass
die Nutzung von "Modul" einen oder mehrere
physikalische Schaltkreise, die aktuellen Ein-/Ausgangsanschlüsse (eines
Koppelpunktschalters) plus Vermittlungs-Reglerlogik, einen Prozessor,
wie gezeigt und beschrieben, mit Hinblick auf 9,
beinhalten.
-
In
einem anderen Beispiel der vorliegenden Erfindung beinhalten die
Steuer- und Adressleitungen eine Leitung, über die die Steuer- und Adressinformationen
seriell empfangen werden. Bei einem anderen Ausführungsbeispiel sind mehrere
parallele Leitungen genutzt, bei denen mindestens einige Informationen
in paralleler Weise und einige in serieller Weise übertragen
werden. Protokolle, um derartiges zu erreichen, sind dem Fachmann
wohl bekannt. Separate Taktleitungen und separate zusätzliche
Steuerleitungen können
in einigen bevorzugten Ausführungsbeispielen
vorgefunden werden, und andere Selbsttaktungssysteme können gefunden
werden, bei denen keine Leerlaufsignale gesendet werden.
-
5 zeigt
ein repräsentatives
Formatdiagramm von Informationen, die zu und von dem Koppelpunktschaltermodul
geliefert werden. 6 zeigt anhand eines Ausführungsbeispieles
der vorliegenden Erfindung ein Beispiel eines Mikroprozessorsystems 12,
das mit einem Massenspeicher 14 kommuniziert. Die C/A-
und Datenleitungen haben ihre Quellen und Endungen an den Modulen
oder Systemen 12 und 14, die Informationen von
und zueinander senden und empfangen. Die C/A-Leitung innerhalb des
Kanals B und Kanals C bewirken, dass das Koppelpunktschaltermodul
eine Verbindung zwischen den zwei Systemen 12 und 14 herstellt.
Der aktuelle Datenstrom kann mit Hinblick auf Spezifikation und Limitation
dieser Endsysteme formatiert werden, ohne dass der Koppelpunktschalter
die Formatierung versteht; beispielsweise kann die lokale Massenspeicheradresse
in einem Datenwort enthalten sein oder die "5- oder 7-Lagen"-Formatierung, die normal für die Internetkommunikation
ist, kann in einem Datenwort enthalten sein. Diese Daten auf dem
Datenpfad können
ein Startrahmenpaket (start of frame packet), ein Endrahmenpaket
(end of frame packet) und eine Fehlerprüfung, abhängig von den spezifischen Endsystemen,
haben: beispielsweise ein Ethernet-Paket, das eingebettete Adress-
und Steuersignale hat, die als "Daten" an den Koppelpunktschalter
gesendet werden.
-
Wie
in 6 gezeigt, ist jeder Kanal an ein Interface 16 und 18 angeschlossen,
das übereinstimmt
mit den Anforderungen an das Schaltermodul zum Senden und Empfangen
der C/A- und Datensignale und der notwendigen Serialisierung und
Deserialisierung, Pufferung und Taktung. Es gibt notwendige Steuerlogik 20 und 22,
die die logischen Verbindungen zu den physikalischen Systemen komplettiert,
in diesem Fall ein System 12, das einen Mikroprozessor
und den Massenspeicher 14 beinhaltet. Ein typischer Informationsaustausch
zwischen diesen beiden Systemen kann beinhalten den Mikroprozessor 12,
der einige gespeicherte Informationen vom Massenspeicher anfordert.
Der Mikroprozessor würde, über die
C/A-Leitungen des Kanals D, den Vermittler 19 (der typischerweise
mikroprozessorbasierend ist) in dem Koppelpunktschaltermodul ansprechen,
um die Daten leitungen des Kanals D, die an die Ausgangsdatenleitungen
des Portes B angeschlossen sind, mit den Massenspeicher zu verbinden.
Die Datensignale an Kanal B und D werden vom Massenspeicher empfangen
und würden
ihn anweisen, Informationen in einigen Adressblöcken zurück an das System 12 zu
schicken. Die Leseanforderung wird über die C/A-Leitungen von Port
B an den Massenspeicher geschickt, aber die lokale Massenspeicheradresse 14 würde – in diesem
Fall – in
den Datenworten des Kanals B enthalten sein. Andere Organisationen
können
nutzbringend in anderen Systemen benutzt werden.
-
6 repräsentiert
Verbindungen, wie sie in bekannten elektronischen Bus-Rückwandverbindungsvorrichtungen
gefunden werden können.
Die Bus-Rückwand
kann an eine Vielzahl von elektronischen Systemen angeschlossen
sein, die in serieller Form und in paralleler Form informationstragende Eingangs-,
Ausgangs-, Steuer- und Adressanschlüsse, je nach Verfügbarkeit
der Bus-Rückwand,
definieren. Der programmierbare Schalter ist angeschlossen an beides,
an die Eingänge
und die Ausgänge der
Anzahl der Daten-, der Steuer- und der Adressanschlüsse, und
kann konfiguriert werden, um alle oder keines der elektronischen
Systeme jeweils miteinander zu verbinden. Die Bus-Rückwand kann Computersysteme
beinhalten, wie Prozessoren, Mikroprozessor-Speicher – inklusive
Arbeits-, Zwischen- und Massenspeicher-Ausgabeeinheiten, Steuerbaugruppen,
Drucker, Scanner, Instrumentenelektronik und Kommunikationssysteme.
-
In
diesem Ausführungsbeispiel
wird ein globaler Takt 21 generiert in dem Schaltermodul
und zugeführt 23 zu
dem Mikroprozessorsystem und dem Massenspeicher 14. In
diesem bevorzugten Ausführungsbeispiel
kann der globale Takt über
die Datenleitungen an den Takt- und Datenwiederherstellungsschaltkreis
(CDR = Data Recovery Circuit) 25 gesendet werden, bei denen
der lokale Takt zur Benutzung durch das lokale Modul wiederhergestellt
wird. In einem anderen Ausführungsbeispiel
kann der globale Takt an andere Module über einen separaten Anschlussstift 27 gesendet
werden. Der CDR-Schaltkreis wird normalerweise einen PLL (phase
locked loop) zur Synchronisation der Takte beinhalten.
-
7 illustriert
ein Multikanal-Koppelpunktschaltermodul, das Punkt-zu-Punkt viele
unterschiedliche Systeme verbindet. Die Anzahl solcher Verbindungen – auf der
Bus-Rückwand
eines großen Systems – ist begrenzt
durch den Platz und die verfügbaren
Anschlussstifte. Bemerkenswert ist, dass einer der angeschlossen
Systeme des Koppelpunktschaltermoduls ein anderes erfindungsgemäßer Koppelpunktschaltermodul
ist.
-
6 illustriert – ohne Details – einen
Vorteil der vorliegenden Erfindung. Hier werden auf einer Leitung 30 Daten
empfangen und – wie
unten beschrieben – über MOSFETs- (Transistoren) 34 direkt nach
außen
gesendet, wenn das entsprechende Freigabesignal (EN1 etc.) wahr
ist. Das Durchgehen des Dateneingangssignals zum Datenausgangssignal
beinhaltet keine Pufferspeicher, keine FIFOs und keine in derselben
Benutzung begründete
Taktverzögerung.
Also gibt es in diesem Ausführungsbeispiel keine
extensiven Verzögerungen,
bedingt durch Konfigurations- oder Logikentscheidungen. Bemerkenswert
ist, dass den CDR 35, Takt-/Daten-Wiederherstellungslogik
gibt, die die Dateneingangs- oder
Leerlaufsignale empfängt
und ein Taktsignal zur Benutzung durch die Koppelpunktschalterelektronik
wiederherstellt. In diesem Fall ist die Quelle des Dateneingangssignals
angewiesen, immer Leerlaufsignale zu senden, um die interne Koppelpunktschaltertaktung
aufrecht zu erhalten. Es kann eine "ODER"-Logik
vorhanden sein, die alle Eingangssignale empfängt und daraus den Takt generiert.
Solche Elektronikschaltkreise, um das zu erreichen, sind dem Fachmann
wohl bekannt.
-
Wenn
Taktraten von zwei oder mehr MHz benutzt werden, kann der CDR – zusätzlich zu
dem PLL – einige
wenige Stufen von Pufferverzögerung
enthalten, um sicherzustellen, dass die Daten richtig synchronisiert
werden. Solche Designs sind dem Fachmann wohl bekannt. In einem
bevorzugten Ausführungsbeispiel
wird die Verzögerung
von einigen wenigen Taktzyklen bis zu 20 o.ä. reichen.
-
9 illustriert
die interne Elektronik innerhalb eines bevorzugten Ausführungsbeispiels
eines vorliegenden Koppelpunktschaltermoduls. Dort gibt es einen
Steuer-Mikroprozessor 40, der programmiert ist, die Schaltfunktionen über die
Steuerlogik 42 zu kontrollieren. Die Steuerlogik 42 verbindet
all die anderen Blöcke
des Blockdiagramms, wie in der folgenden Diskussion dargestellt.
Das beinhaltet auch die benötigten
peripheren Funktionen, inklusive sowohl Hardware als auch Software,
wie beispielsweise lokaler Speicher, Pufferregister, Interrupts,
Software-Fallen, Takte, Stromversorgung, die den Mikroprozessor
und die anderen dargestellten Elektronik versorgt, aber nicht gezeigt
ist. Das Blockdiagramm beinhaltet die C/A- und DATA-Eingänge und
-Ausgänge
für "n"-Kanäle.
Die Funktion für
die "n"-Kanäle ist identisch
(aber flexibel), so dass es nur für einen Kanal diskutiert wird.
Für den
Kanal (1) ist ein C/A-Eingangssignal 44 an einen Deserialisierer
angeschlossen, der den seriellen Datenstrom zu einem parallelen
Wort 48 konvertiert, das durch den Mikroprozessor gelesen
werden kann. Die Information kann den Mikroprozessor beispielsweise
steuern, die Daten DATA (1) über
den physikalischen Koppelpunktschalter-Transistor 53 an
den DATA-Ausgangskanal K (D(K) OUT) 55 zu verbinden. Entsprechend dem
internen Aufbau der Koppelpunktschalter-Matrix 52 können alle
DATA-IN-Anschlüsse,
z.B. D(1), an eine Matrix von physikalischen Schaltern angeschlossen
sein, die es erlauben, jedes DATA-IN-Signal mit einem oder einer
Gruppe von DATA-OUT-Anschlüssen
von irgendeinem Kanal zu verbinden.
-
Dort
gibt es C/A-Ausgangsleitungen 60, bei denen der Mikroprozessor
Parallel-zu-Seriell-Konvertierer 60 parallel für jeden
Ausgangskanal lädt,
um die C/A-Ausgangsdaten vom Koppelpunktschaltermodul weg zu senden.
-
Mit
Hinblick auf die Taktung gibt es einen Taktschaltkreis 70,
der einen REFCLK 72 empfängt und daraus ein CLK generiert.
Der CLK treibt den Deserialisierer 46 und Serialisierer 60 und
andere Vermittler- und Prozess-Logik innerhalb des Koppelpunktschaltermoduls.
In diesem Fall ist DATA (n) mit der Logik 73 verbunden,
ausgelegt zur Wiederherstellung eines Taktsignals von dem Datensignal
und Generierung des REFCLK 72. In anderen Ausführungsbeispielen – wie vorher
erwähnt – kann ein
globaler Takt an das Koppelpunktschaltermodul als die interne REFCLK
angeschlossen sein.
-
10 illustriert
ein Beispiel einer Kodierung auf den C/A(Steuer/Adress)-Leitungen,
die vorteilhafterweise bei der vorliegenden Erfindung Verwendung
findet. Dieses sind Befehle, die typischerweise nicht mit Hochgeschwindigkeitsdatenübertragung
in Verbindung gebracht werden, und effizient entschlüsselt werden
auf der Basis von gesendeten Informationen an die Steuer-/Adress-Leitungen
eines Kanals. Hierbei kann ein sendender Kanal eine einzelne 7-Bit-Adresse
senden, die eine von 128 selektierbaren Adressen verschlüsselt. Mehrfachadressierung kann
gesendet werden, sodass die Datennachricht an alle oder einige einer
spezifischen Gruppe von individuellen Adressen gesendet wird. In
verschiedenen Ausführungsbeispielen
wurden 16, 48, 80 und 128 Bits genutzt, wobei jedes Bit einen spezifischen Kanal,
der Daten empfangen soll, repräsentiert.
Auch können
die Kanäle
alternativ in einem Ausführungsbeispiel
in einem 10-Bit-Wort verschlüsselt
werden. Kanalübertragungsbefehle
können
in ausgewählten Ausführungsbeispielen
8 Bits umfassen. Dabei sind 2-Bits für Priorität, 3-Bits dafür da, den
Anfragetyp anzuzeigen. Andere Verwendungen können für die verbleibenden Bits gefunden
werden.
-
Die
Anfragetypen können
in den 3-Bits enthalten sein: (000) ein Einzelkanalkommando gefolgt von
einer Adresse, (101) eine unmittelbare Anfrage mit Paralleldaten,
(001) eine Rundrufsendung (broadcast), (010) Mehrfachverbindungslistenkennung,
gefolgt von einer Kanalsequenz und den Kennungen, (011) Mehrfachverbindungsbefehl,
gefolgt von Mehrfachverbindungskennungen, und (100) ein Mehrfachverbindungsbefehl,
gefolgt von einer Sequenz von 8-Bit-Adressen.
-
In
einem anderen bevorzugten Ausführungsbeispiel
kann eine Minimum-Verteil-Anfrage gesendet werden, fragend, wie
viele Kanäle
verfügbar
sein müssen,
bevor eine bestimmte Mehrfachverbindung aktiviert werden kann.
-
In
einem bevorzugten Ausführungsbeispiel – und wie
oben beschrieben – werden
Informationen einer Datenleitung und einer parallelen C/A-Leitung in
den Koppelpunktschalter eingeleitet, wobei der interne Prozessor 40 (oder
Prozessoren) der 9 die Steuer- und Adressleitungen
interpretieren wird, feststellend, welche der Informationen verbunden
werden sollen, auf Gültigkeit
des Ausgangskanals geprüft
werden sollen und notwendige Steuer- und Adressinformationen zurück zu dem
anfragenden Kanal geschickt werden sollen, wann der Ausgangskanal
verfügbar
ist und dann notwendige Steuer- und Adressdaten und Daten an den
richtigen Ausgangskanal ausgibt. Die Adresse ist typischerweise
die Zieladresse der Daten, aber diese Selektion des richtigen Ausgangskanals
kann auf der Basis von verschiedenen gut bekannten Mechanismen gemacht werden.
Ein Mechanismus ist es, die Kanalnummer als Zieladresse als Teil
des Steuer- und Adressdatenstroms zu haben, so dass die Verbindung
direkt gestaltet ist und die notwendigen Adress-/Steuerdaten und
Daten alle an die richtigen Ausgangskanalleitungen gelegt werden.
In den meisten Fällen
ist die Adresse, die an den Zielkanal gesendet wird, die Adresse
des Quellkanals. Dieses wäre
die direkte Adressierung. Eine andere häufigere Form von Adressierung
erfordert, dass es eine Gesamtreferenztabelle oder ähnliches
für das
Sendersystem gibt, um zu wissen, auf welchem Schalterkanal die Zieladresse
gefunden werden könnte.
-
In
einem bevorzugten Ausführungsbeispiel wird
das Subsystem, das Daten, Steuer- und Adressdaten an den Koppelpunktschalter
sendet, eine Nachschlagetabelle nutzen, die mit den verfügbaren Adressen
an den verschiedenen Kanälen
vorprogrammiert wurde. Der Prozessor greift auf diese Tabelle zu
und gibt die Information an den richtigen Port aus. Eine Vorrichtung,
um dies zu erreichen, hat reservierte Adressen für den Koppelpunktschalter selbst
oder einen anderen Steuercode, der dasselbe Ziel erreicht. Andere
Logikvorrichtungen sind bekannt und können in bevorzugten Ausführungsbeispielen,
abhängig
vom Typ des Systems und den Anforderungen des Systems, genutzt,
werden. Beispielsweise würden
brauchbare Funktionen für
einen Koppelpunktschalter – wie
bei Serverfunktionen benutzt – beinhalten
das Weiterreichen von Nachrichten zwischen Mikroprozessoren, die
Aufmerksamkeit eines anderen Prozessors bekommen, Cache-Kohärenz-Funktionen, um Veränderungen
zu managen und nachzuvollziehen (z.B. broad-casting updates), um
die Konfigurationszeit für
eine Datenanforderung bis zum Ankommen auf einem Minimum zu halten, und
die Notwendigkeit der Synchronisation von Daten zwischen verschiedenen
Prozessoren.
-
In
einem Ausführungsbeispiel
ist vorgesehen, dass der Koppelpunktschalter Mikroprozessoren, Eingangs-/Ausgangs-Puffer,
Steuer- und Speicher-Puffer, Cache und ähnliches enthält, das
dem Fachmann wohl bekannt ist.
-
In
einem anderen Ausführungsbeispiel
kann der Schalter konfiguriert sein, um multiple Datenkanäle über eine
einzelne Steuer-/Adressdatenleitung zu konfigurieren.
-
Es
ist selbstverständlich,
dass die oben beschriebenen Ausführungsbeispiele
als Beispiele zu verstehen sind, und dass viele Variationen oder
Alternativen hiervon möglich
sind. Entsprechend soll die vorliegende Erfindung breit gesehen
werden und nur durch die hieran anhängenden Ansprüche begrenzt sein.
-
Zusammenfassung
-
Ein
programmierbarer Schalter (10) von drei oder mehr Kanälen, bei
dem jeder Kanal Datenleitungen hat, die von den Steuer- und Adressleitungen
getrennt sind. Der programmierbare Schalter (10) beinhaltet
interne Steuerlogik (20, 22) und elektronische Module
(12, 14), die Steuer- und Adressdaten akzeptieren
und deserialisieren. Die Steuerlogik (20, 22)
dirigiert Einganssignale zu einem oder mehreren Ausgangsdatenleitungen.
Da die Daten- und Adressleitungen separat sind, kann die Steuerlogik
parallel zu den Daten arbeiten, um die Daten richtig zu verteilen. Die
sendende Einheit muss derartige Operationen synchronisieren, um
Datenkohärenz
und richtige Taktung sicherzustellen. Der Datensignalpfad von irgendeinem
Eingang zu irgendeinem oder allen Ausgängen ist so ausgelegt, dass
es typischerweise eine Einzelgatter- oder ON-Transistor-Verzögerung gibt.
(6)