-
HINTERGRUND
-
Ein
Kommunikationssystem kann Informationen in Form von durch ein gegebenes
Protokoll definierten Rahmen kommunizieren. Die Rahmen können ein
Rahmenformat haben, das die Felder in den Rahmen und die Position
der Information in jedem Feld definiert. Variationen der Kommunikationsprotokolle
können
zu Variationen der Rahmenformate führen. Außerdem kann ein einzelnes Protokoll
verschiedene Arten von Rahmenformaten aufweisen.
-
Das
Kommunikationssystem kann einen Rahmenanalysierer zum Gewinnen solcher
Rahmeninformation verwenden. Ein Rahmenanalysierer kann jedoch beim
Analysieren von Rahmeninformationen aus demselben oder unterschiedlichen
Protokollen mit variierenden Rahmenformaten Schwierigkeiten haben.
In der Folge kann ein Bedarf an Verbesserungen an Rahmenanalysetechniken
in einer Vorrichtung oder einem Netzwerk bestehen.
US 2003/0210702 offenbart eine
Paketverarbeitungsvorrichtung, die einen Index und ein Protokollfeld
eines Pakets zum Nachschlagen einer an dem Paket vorzunehmenden
Maßnahme
verwendet.
US 2003/0185220 offenbart
einen dynamischen Analysierer, der maßnahmenbasierte Analyseregeln
dynamisch lädt,
um das Datenpaket auf der Grundlage des Pakettyps zu identifizieren.
-
Der
Gegenstand hinsichtlich der Ausführungsformen
wird in dem Schlussabschnitt der Beschreibung besonders hervorgehoben
und klar beansprucht. Die Ausführungsformen
sind, sowohl was die Organisation als auch das Betriebsverfahren
betrifft, zusammen mit Aufgaben, Merkmalen und Vorteilen davon unter
Bezug auf die folgende ausführliche
Beschreibung am besten verständlich,
wenn diese mit den beigefügten
Zeichnungen gelesen wird, in denen:
-
1 ein
System, das sich zur Ausübung
einer Ausführungsform
eignet, veranschaulicht;
-
2 ein
Blockdiagramm eines Empfängers für eine Mobilstation
gemäß einer
Ausführungsform veranschaulicht;
-
3 ein
erstes Blockdiagramm eines Rahmenanalysierers in Übereinstimmung
mit einer Ausführungsform
veranschaulicht;
-
4 ein
zweites Blockdiagramm eines Rahmenanalysierers in Übereinstimmung
mit einer Ausführungsform
veranschaulicht;
-
5 ein
drittes Blockdiagramm eines Rahmenanalysierers in Übereinstimmung
mit einer Ausführungsform
veranschaulicht; und
-
6 ein
viertes Blockdiagramm eines Rahmenanalysierers in Übereinstimmung
mit einer Ausführungsform
veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Für ein gründliches
Verständnis
der Ausführungsformen
der Erfindung können
hierin zahlreiche spezifische Einzelheiten dargelegt werden. Fachleuten
wird jedoch klar sein, dass die Ausführungsform der Erfindung ohne
diese spezifischen Einzelheiten ausgeführt werden können. In
anderen Fällen
wurden wohlbekannte Verfahren, Vorgehensweisen, Bauteile und Schaltungen
nicht ausführlich
beschrieben, um die Ausführungsformen
der Erfindung nicht zu verkomplizieren. Es versteht sich, dass spezifische
strukturelle und funktionelle Einzelheiten, die hierin offenbart
sind, repräsentativ
sind und den Umfang der Erfindung nicht notwendigerweise einschränken.
-
Es
sei darauf hingewiesen, dass jede Bezugnahme der Beschreibung auf "eine Ausführungsform" bedeutet, dass ein
bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte
Eigenschaft, die in Verbindung mit der Ausführungsform beschrieben wird,
in mindestens einer Ausführungsform
enthalten ist. Das Auftreten der Wendung "in einer Ausführungsform" an verschiedenen Stellen der Beschreibung
bezieht sich nicht notwendigerweise überall auf dieselbe Ausführungsform.
-
Unter
eingehendem Bezug nun auf die Zeichnungen, in denen ähnliche
Teile durchweg mit ähnlichen
Bezugszahlen bezeichnet werden, wird in 1 ein System
veranschaulicht, das sich für
die Ausübung
einer Ausführungsform
eignet. 1 ist ein Blockdiagramm eines
Systems 100. Es versteht sich, dass System 100 lediglich
beispielhaft bereitgestellt ist und mehr oder weniger Elemente an
verschiedenen Stellen aufweisen kann und trotzdem noch in den Umfang
der Ausführungsformen
fällt.
-
In
einer Ausführungsform
kann System 100 eine Vielzahl von Netzwerkknoten umfassen.
Der Begriff "Netzwerkknoten" kann sich wie hierin
verwendet auf jeden Knoten beziehen, der in der Lage ist, Information
gemäß einem
oder mehreren Protokollen zu kommunizieren. Zu Beispielen von Netzwerkknoten
kann ein Computer, ein Server, eine Vermittlung, ein Router, eine
Brücke,
ein Gateway, ein PDA (Personal Digital Assistant), eine Mobilfunkvorrichtung, ein
Anrufendgerät
usw. gehören.
Der Begriff "Protokoll" kann sich wie hierin
verwendet auf einen Regelsatz oder Anweisungssatz zur Steuerung,
wie die Information über
das Kommunikationsmedium kommuniziert wird, beziehen.
-
In
einer Ausführungsform
kann System 100 verschiedene Informationstypen zwischen
den verschiedenen Netzwerkknoten kommunizieren. Ein Informationstyp
kann beispielsweise "Medieninformation" umfassen. Medienin formation
kann sich auf alle Daten beziehen, die für einen Nutzer bestimmten Inhalt
darstellen. Zu Beispielen von Inhalt können beispielsweise Daten von
einer Sprachunterhaltung, Videokonferenz, Videostreaming, elektronischer
Mail ("E-Mail"), Sprachnachricht,
alphanumerische Symbolen, Graphik, Bild, Video, Text usw. gehören. Daten von
einer Sprachunterhaltung können
beispielsweise Sprachinformation, Schweigeperioden, Hintergrundrauschen,
Komfortrauschen, Töne
usw. sein. Ein weiterer Informationstyp kann "Steuerinformation" umfassen. Steuerinformation kann sich
auf alle Daten beziehen, die Befehle, Anweisungen oder Steuerwörter, die
für ein
automatisiertes System bestimmt sind, darstellen. Steuerinformationen
können beispielsweise
zur Weiterleitung von Medieninformationen über ein Netzwerk oder zur Anweisung
eines Netzwerkknotens zur Verarbeitung der Medieninformation auf
eine vorbestimmte Weise verwendet werden.
-
In
einer Ausführungsform
kann ein oder mehrere Kommunikationsmedien die Knoten verbinden.
Der Begriff "Kommunikationsmedium" kann sich wie hierin
verwendet auf jedes Medium beziehen, welches zum Tragen von Informationssignalen
in der Lage ist. Zu Beispielen von Kommunikationsmedien können Metallleitungen,
Halbleitermaterial, verdrillte Kabel, Koaxialkabel, faseroptische
Kabel, Hochfrequenzen (HF) usw. gehören. Der Begriff "Verbindung" und seine Variationen
können
sich in diesem Zusammenhang auf physische Verbindungen und/oder
logische Verbindungen beziehen.
-
Eine
Ausführungsform
kann als Teil eines drahtgebundenen oder Funkkommunikationssystem implementiert
werden. Eine Ausführungsform
wird in dem Zusammenhang eines Funkkommunikationssystems zu Veranschaulichungszwecken
beschrieben. Es versteht sich jedoch, dass die Ausführungsformen
auch in einem drahtgebundenen Kommunikationssystem implementiert
werden können.
Die Ausführungsformen
sind nicht in diesem Sinne beschränkt.
-
Wie
in 1 gezeigt, kann das System 100 ein Funkkommunikationssystem
umfassen. Ein Funkkommunikationssystem kann einen oder mehrere Netzwerkknoten,
die durch Kommunikationsmedien, umfassend HF-Spektrum für Funknetzwerke,
wie beispielsweise ein zelluläres
oder mobiles Funksystem, aufweisen. In einer Ausführungsform
kann das System 100 beispielsweise eine Mobilfunkstation (MS) 102 und
eine Vielzahl von Basisstationen 106, 108 und 110 umfassen.
Obwohl 1 eine begrenzte Anzahl von Netzwerkknoten zeigt,
versteht sich, dass jede Anzahl von Netzwerkknoten in System 100 verwendet
werden kann.
-
In
einer Ausführungsform
kann Netzwerk 100 MS 102 enthalten. MS 102 kann
jede Mobilfunkvorrichtung sein, die in der Lage ist, Informationen über ein
Funkkommunikationsmedium, wie beispielsweise einem zellulären Telefon,
einem Personal Digital Assistant, einem Mobilcomputer usw. zu kommunizieren.
MS 102 kann einen Funk-Sender/Empfänger umfassen, der mit einer
omnidirektionalen Antenne verbunden ist. MS 102 kann auch
die geeigneten Schnittstellen zur Kommunikation von Medieninformationen,
wie beispielsweise Sprach- oder Dateninformationen umfassen. Die
Sprachinformationen können
beispielsweise analoge oder digitale Sprachinformationen umfassen,
die unter Verwendung eines schaltungsvermittelten Netzwerks oder
eines Paketnetzwerks kommuniziert werden. Ein Beispiel eines schaltungsvermittelten
Netzwerks kann das öffentlich
vermittelte Telefonnetzwerk (PSTN) sein. Ein Beispiel eines Paketnetzwerks
kann ein LAN (Local Area Network), WAN (Wide Area Network), das
Internet, VOP-(Voice Over Packet)-Netzwerk usw. sein. Die Dateninformationen
können
jede Nichtsprachinformationen umfassen, die in einem Paket- oder Frameformat
kommuniziert werden.
-
In
einer Ausführungsform
kann MS 102 dazu konfiguriert sein, mit einer Vielzahl
unterschiedlicher Basisstationen zu kommunizieren. Jede Basisstation kann
einen Funk-Sender/Empfänger
umfassen, der mit einer omnidirektionalen Antenne verbunden ist. Weitere
Basisstationen können
die geeigneten Schnittstellen zur Kommunikation von Informationen an
MS 102 über
ein Funkkommunikationsmedium aufweisen. Jede Basisstation kann die
Information in Übereinstimmung
mit einem anderen Protokoll kommunizieren.
-
In
einer Ausführungsform
kann System 100 beispielsweise einen Teil eines zellulären Netzwerks umfassen,
wie beispielsweise ein UMTS-(Universal Mobile Telephone System)-Netzwerk,
das mit den 3G-TS-Richtlinien ("UMTS-Standard") des 3GPP-Partnerschaftprojekts übereinstimmt.
MS 102 kann ein UMTS-Nutzergerät (UE) umfassen. Basisstation 106 kann
einen Teil eines UMTS-UTRAN-(Terrestrial Radio Access Network)-Bereichs
umfassen. Insbesondere kann Basisstation 106 ein UMTS-Knoten-B-System
umfassen. UE 102 und Knoten B 106 können unter
Verwendung eines W-CDMA (Wideband Code Division Multiple Access)
als Schicht 1 (L1)-Luftschnittstelle kommunizieren, obwohl die Ausführungsformen
nicht in diesem Sinne beschränkt
sind.
-
Obwohl
nur UE 102 und Knoten B 106 zu Veranschaulichungszwecken
gezeigt werden, versteht sich, dass das UMTS-Netzwerk jede Anzahl
zusätzlicher
Komponenten umfassen kann. Knoten B 106 kann beispielsweise
mit einer oder mehreren Funknetzwerksteuerungen (RNC) und/oder anderen Knoten-B-Systemen
verbunden sein. Die RNC kann ferner mit einem oder mehreren Mobildienstschaltzentren
(MSC) und/oder anderen RNC verbunden sein. Die MSC können auch
mit anderen Netzwerken verbunden sein, wie beispielsweise einem
Paketnetzwerk oder einem schaltungsvermittelten Netzwerk. Das UMTS-Netzwerk
kann auch einen SGSN (Servicing GPRS Support Node) enthalten. Die
Ausführungsformen
sind nicht in diesem Sinne beschränkt.
-
In
einer Ausführungsform
kann System 100 einen Teil eines Wireless LANs umfassen,
wie beispielsweise ein 802.11-Netzwerk, das mit den 802.11-Wireless-LAN-Richtlinien
des IEEE (Institute of Electrical and Electronics Engineers) ("802.11-Standard") übereinstimmt.
Der 802.11-Standard
legt eine gemeinsame Zugriffsteuerungs-(MAC)-Schicht fest, welche eine Vielzahl von Funktionen
bereitstellt, die den Betrieb des 802.11-basierten Wireless LANs
unterstützen.
Allgemein ausgedrückt,
verwaltet die MAC-Schicht
Kommunikationen zwischen einer Vielzahl von 802.11-Stationen und führt diese.
Zu Beispielen von 802.11-Stationen
können
die mit einer oder mehreren Funknetzwerkkarten konfigurierten MS 102 und
die Basisstation 108 gehören, die konfiguriert ist,
um als ein drahtloser Zugriffspunkt (WAP) zu fungieren. Die MAC-Schicht
verwaltet Kommunikation zwischen MS 102 und WAP 108,
indem sie den Zugriff auf einen gemeinsam benutzten Funkkanal koordiniert
und Protokolle verwendet, die Kommunikationen über ein Funkmedium verbessern.
Die 802.11-MAC-Schicht verwendet eine physische (PHY) 802.11-Schicht,
wie 802.11b oder 802.11a zur Ausführung der Aufgaben der Trägerabtastung, Übertragung
und des Empfangs von 802.11-Rahmen.
-
In
einer Ausführungsform
kann System 100 verschiedene andere Funknetzwerkbasisstationen umfassen.
Netzwerkknoten 110 kann eine Basisstation repräsentieren,
die konfiguriert ist, um in Übereinstimmung
mit jeder Anzahl unterschiedlicher Protokolle und Standards betrieben
zu werden. Beispielsweise kann Netzwerkknoten 110 eine
Bluetoothnetzwerkvorrichtung darstellen, die mit den Bluetooth-Richtlinien übereinstimmt
("Bluetooth-Standard"). Der Bluetooth-Standard
kann einen dynamischen Standard umfassen, in dem Vorrichtungen automatisch
einander finden, Verbindungen erstellen und auf einer Ad-hoc-Basis
Kapazitäten
entdecken können.
In einer Ausführungsform
können
beispielsweise MS 102 und Netzwerkknoten 110 jeweils
Blue tooth-fähige
Vorrichtungen umfassen. Dementsprechend können MS 102 und Netzwerkknoten 110 jeweils
mindestens 3 Basiselemente, um einen Prozessor zu enthalten, auf
dem die höheren
Ebenen des Bluetooth-Protokollstapels laufen, eine Basisbandverbindungssteuerung,
die die Bluetooth-Kernprozesse verwaltet und eine Funkstation, die
die 2,4-GHz-Luftschnittstelle
implementiert, umfassen. Der Prozessor kann verschiedene Softwaremodule implementieren,
wie beispielsweise die Softwaremodule, die Teile der Bluetooth-Anwendungsprogrammschnittstellen-(API)-Bibliotheken
und des Bluetooth-L2CAP-(Logical Link Control and Adaptation)-Protokolls umfassen.
Die Basisbandstrecke ist für
den Aufbau und das Decodieren von Paketen, das Decodieren und Verwalten
von Fehlerkorrektur, das Verschlüsseln
und Entschlüsseln
für sichere
Kommunikation, das Berechnen von Funkübertragungsfrequenzmustern,
das Führen
der Synchronisation, die Steuerung der Funkstation und für alle anderen
Einzelheiten niedriger Ebene zuständig, die zur Ausführung von
Bluetooth-Kommuniationen notwendig sind. Der Funk-Sender/Empfänger kann
die digitalen Basisbanddaten unter Verwendung von z. B. GSFK-(Gaussian
Frequency Shift Keying)-Modulation
in und aus Analogsignalen mit 2,4 GHZ umwandeln.
-
Obwohl
System 100 beispielhaft unter Bezug auf verschiedene Funknetzwerke
beschrieben worden ist, versteht sich, dass die Ausführungsform
in anderen Funknetzwerken, wie beispielsweise GSM-(Global System
for Mobile Communication)- und/oder EDGE-(Enhanced Data Rates for
Global Evolution)-Funknetzwerken implementiert werden kann. Die
Ausführungsformen
sind nicht in diesem Sinne beschränkt.
-
In
einer Ausführungsform
kann System 100 Informationen zwischen MS 102 und
Basisstation 106, 108 und 110 in Form
von Paketen oder Rahmen, wie in einem gegebenen Protokoll definiert,
kommunizieren. Der Begriff "Rahmen" bezieht sich allgemein
auf eingekapselte Daten in einer OSI-(Open System Interconnection)-Schicht
2. Zu Beispielen eingekapselter Daten kann eine Zieladresse, Steuerbits
für die
Flusssteuerung, die Daten oder Nutzlast, CRC-(Cyclic Redundancy
Check)-Daten zur Fehlerprüfung
usw. gehören.
Der Begriff "Paket" bezieht sich allgemein
auf eingekapselte Daten auf OSI-Schicht 3. Wie hierin verwendet
können
die Begriffe Paket, Rahmen und Zelle austauschbar verwendet werden.
-
Allgemein
sollte die Information in einem Rahmen gemäß einem vordefinierten Rahmenformat angeordnet
sein. De Begriff "Rahmenformat" kann die Felder
in einem Rahmen und die Position der Information in jedem Feld definieren.
Ein Rahmen kann beispielsweise ein Adresszielfeld, ein Längenfeld,
ein Fehlerkorrekturfeld (ECC oder CRC), Verschlüsselungsinitialisierungsvektoren,
Datennutzlasten, Kopfzeilen und Fußzeilen zur Identifizierung
des Beginns und des Endes des Pakets usw. enthalten. Wie hierin verwendet
sind die Begriffe "Paketformat", "Rahmenformat" und "Zellenformat" allgemein synonym.
Informationen über
ein Rahmenformat können
hierin zusammen als "Rahmenformatinformationen" bezeichnet werden.
Beispiele für
Rahmenformatinformationen können
ein Feldtyp und ein Versatzbit umfassen, wobei das Versatzbit die
Länge eines
gegebenen Felds anzeigt.
-
In
einer Ausführungsform
kann System 100 dieselben oder unterschiedliche Protokolle
verwenden, die eine Vielzahl unterschiedlicher Rahmenformate verwenden.
Wie oben gezeigt, kann System 100 Informationen zwischen
MS 102 und Basisstation 106, 108 und 110 in Übereinstimmung
mit einer Reihe unterschiedlicher Architekturen und Protokolle,
wie beispielsweise dem UMTS-Standard, 802.11-Standard und Bluetooth-Standard
kommunizieren. Jedes Protokoll kann ein anderes Rahmenformat verwenden.
Einige Protokolle können
mehrere Rahmenformate, wie beispielsweise in dem Bluetooth-Standard, aufweisen.
In der Folge kann System 100 einen Rahmenanalysierer zum
Wiedergewinnen von Rahmeninfor mationen für empfangene Rahmen verwenden.
Ein Rahmenanalysierer kann einen Rahmen analysieren, um sein spezielles
Rahmenformat zu identifizieren. Der Ausdruck "analysieren" kann sich wie hierin verwendet auf
das Identifizieren von Rahmenformatinformationen beziehen, wie beispielsweise
der Position und den Typ von Feldern in dem Rahmen, so dass die
Felder durch die geeigneten Elemente von MS 102 verarbeitet
werden können.
Der Rahmenanalysierer kann beispielsweise den Feldtyp und die Länge jedes
Felds für
jeden empfangenen Informationsrahmen identifizieren, sowie andere
erwünschte
Informationen.
-
Herkömmliche
Techniken zur Ausführung der
Rahmenanalyse können
aus einer Reihe von Gründen
nicht zufrieden stellend sein. Beispielsweise kann ein separater
hardwarebasierter Rahmenanalysierer für jedes unterstützte Protokoll
implementiert sein. In einem weiteren Beispiel kann ein einziger
komplexer Rahmenanalysierer implementiert sein, um mehrere Rahmenformate
zu verarbeiten. Beide Alternativen können jedoch die Komplexizität von MS 102 signifikant
erhöhen
und dadurch die Entwicklungszeit und -kosten erhöhen. Ferner kann ein softwarebasierter
Rahmenanalysierer verwendet werden, um mehrere Rahmenformate zu
verarbeiten. Ein softwarebasierter Rahmenanalysierer kann jedoch
nicht in der Lage sein, die Verarbeitungslast eines Hochgeschwindigkeitskommunikationssystems zu
handhaben, wie beispielsweise die für System 100 gegebenen
Beispiele. Außerdem
erfordern all diese Lösungen
signifikante Neuverarbeitung zur Unterstützung von Protokollen, die
noch nicht definiert sind.
-
Eine
Ausführungsform
verwendet einen neukonfigurierbaren hardwarebasierten Rahmenanalysierer
zur Lösung
dieser und anderer möglicher
Probleme. Die Elemente des hardwarebasierten Rahmenanalysierers
können
in Echtzeit neukonfiguriert werden, um Rahmenanalyse an Rahmen variierender
Rahmenformate auszuführen.
Auf diese Weise kann der neu konfigurierbare hardwarebasierte Rahmenanalysierer
die Flexibilität
aufweisen, die herkömmlicherweise
mit softwarebasierten Rahmenanalysierern verbunden ist, während er
die Verarbeitungsgeschwindigkeit hat, die notwendig ist, um mit Hochgeschwindigkeitskommunikationssystemen Schritt
zu halten. Außerdem
kann der neukonfigurierte hardwarebasierte Rahmenanalysierer aktualisiert werden,
um neue Protokolle und neue Rahmenformate nach Bedarf zu unterstützen.
-
2 veranschaulicht
ein Blockdiagramm eines Empfängers
für eine
Mobilfunkstation in Übereinstimmung
mit einer Ausführungsform. 2 kann einen
Empfänger 200 veranschaulichen.
Empfänger 200 kann
als Teil einer Mobilfunkstation, wie beispielsweise MS 102 implementiert
sein. Empfänger 200 kann
ein oder mehrere Module umfassen. In einer Ausführungsform kann Empfänger 200 beispielsweise
einen Leistungsverstärker 202,
einen HF/ZF-Konverter/Synthetisierer 204, ein IQ-Modul 206 ein
Basisbandverarbeiter 208 und eine Medienzugriffssteuerung
(MAC) 210 umfassen. MAC 210 kann ferner ein Register 212 und
einen Speicher 214 umfassen. Obwohl die Ausführungsform
in Bezug auf "Module" beschrieben wurde,
um die Beschreibung zu vereinfachen, können ein oder mehrere Schaltungen,
Bauteile, Register, Prozessoren, Software, Unterroutinen oder jede
Kombination davon für
ein, mehrere oder alle Module eingesetzt werden.
-
Im
Betrieb kann der Empfänger 200 ein HF-Signal
von einer Basisstation über
eine Antenne für
MS 102 empfangen. Der Leistungsverstärker 202 verstärkt das
empfangene Signal und gibt das verstärkte Signal an den HF/ZF-Konverter
(oder Synthetisierer) 204 aus. Der HF/ZF-Konverter 204 tastet
das verstärkte
empfangene HF-Signal ab, um ein Zwischenfrequenz-(ZF)-Signal zu
erhalten. Das ZF-Signal wird in das IQ-Modul 206 eingegeben.
Das IQ-Modul 206 kann einen IQ-Modulator/Demodulator umfassen. IQ-Modul 206 kann
das In-Phasen-(I)- und
das Quadratur-(Q)-Signal trennen und sie an den Basisbandprozessor 208 ausgeben.
Der Basisbandprozessor 208 wandelt die Signale in ein Basisbandsignal
um. Ein Analog-zu-Digital-(A/D)-Konverter (nicht gezeigt) kann das
Basisbandsignal von einem Analogsignal in einen Strom digitaler
Wörter,
die seine Amplitudenvariationen über
die Zeit darstellen, umwandeln. Der Strom digitaler Wörter kann
an MAC 210 gesendet werden.
-
In
einer Ausführungsform
kann MAC 2100 Paket- oder Rahmenverarbeitung für Empfänger 200 ausführen. MAC 210 kann
einen Informationsrahmen empfangen. MAC 210 kann einen
Rahmenanalysierer als Teil der Rahmenverarbeitungsstufe implementieren.
Der Rahmenanalysierer kann die Position und den Typ der Felder in
einem Rahmen identifizieren, so dass die Felder dementsprechend
verarbeitet werden können.
Unterschiedliche Felder müssen
in der Regel von unterschiedlichen Teilen von MAC 210 verarbeitet
werden. Der Rahmenanalysierer kann es den unterschiedlichen Verarbeitungsstufen
von MAC 210 gestatten, zu wissen, welche Felder in den
Rahmen betrieben werden müssen.
Der Rahmenanalysierer kann unter Bezug auf 3–6 ausführlicher
erörtert
werden.
-
3 veranschaulicht
ein erstes Blockdiagramm eines Rahmenanalysierers in Übereinstimmung
mit einer Ausführungsform. 3 kann
einen Rahmenanalysierer 300 veranschaulichen. In einer Ausführungsform
kann Rahmenanalysierer 300 beispielsweise ein Konfigurationsmodul
und ein Analysemodul 302 umfassen. Obwohl für Rahmenanalysierer 300 eine
begrenzte Anzahl von Elementen gezeigt wird, versteht sich, das
Rahmenanalysierer 300 mehr oder weniger Elemente umfassen
kann und trotzdem in den Umfang der Ausführungsformen fällt.
-
In
einer Ausführungsform
kann Rahmenanalysierer 300 als Teil von MAC 210 implementiert
sein. Es versteht sich jedoch, dass Rahmenanalysierer 300 in
anderen Teilen des Empfängers 200 oder
von MS 102 implementiert werden kann. Die Ausführungsformen
sind nicht in diesem Sinne beschränkt.
-
In
einer Ausführungsform
kann Rahmenanalysierer 300 einen neukonfigurierbaren hardwarebasierten
Rahmenanalysierer umfassen, der ein Rahmenformat für einen
Rahmen basierend auf der aktuellen Konfiguration des Analysemoduls 302 analysieren
kann. Rahmenanalysierer 300 kann dynamisch neukonfiguriert
werden, um die Analyse von Rahmen unterschiedlicher Rahmenformate
zu ermöglichen. Rahmenanalysierer 300 kann
beispielsweise einen Informationsrahmen empfangen. Der Informationsrahmen
kann beispielsweise von Empfänger 200 empfangen
werden. Analysemodul 302 kann eine Steuerlogik enthalten,
um ein mit dem Informationsrahmen verbundenes Rahmenformat zu bestimmen. Die
Steuerlogik kann das Rahmenformat durch Untersuchen des Inhalts
des Rahmens bestimmen. Das Analysemodul 302 kann neukonfiguriert
werden, um den Informationsrahmen zu analysieren. Das Analysemodul 302 kann
dann den Rahmen oder die Rahmenformatinformationen analysieren,
wie beispielsweise Feldtyp und -länge, wie beispielsweise durch ein
Versatzbit angezeigt.
-
In
einer Ausführungsform
kann das Analysemodul 302 unter Verwendung von Konfigurationsinformationen
aus dem Konfigurationsmodul 304 neukonfiguriert werden.
Der Begriff "Konfigurationsinformation" bezieht sich wie
hierin verwendet auf die Anweisungen und Daten zur Neukonfiguration
eines oder mehrerer Hardwarelemente des Analysemoduls 302,
um ein mit einem gegebenen Protokoll verbundenes bestimmtes Rahmenformat
zu analysieren. Die Steuerlogik des Analysemoduls 302 kann
beispielsweise konfiguriert sein, um Konfigurationsinformationen
entsprechend dem bestimmten Rahmenformat abzurufen. Die Konfigurationsinformation kann
mit dem Konfigurationsmodul gespeichert werden. Die Steuerlogik kann
das Analysemodul 302 in Übereinstimmung mit den abgerufenen
Konfigurationsinformationen neu konfigurieren.
-
In
einer Ausführungsform
kann der neukonfigurierbare hardwarebasierte Rahmenanalysierer 300 auf
eine Reihe unterschiedlicher Arten implementiert sein. Beispielsweise
kann Rahmenanalysierer 300 unter Verwendung von aktualisierbaren
Tabellen implementiert sein, um einen tabellengestützten Hardwareanalysierer
anzutreiben. In einem weiteren Beispiel kann Rahmenanalysierer 300 unter
Verwendung von Mikrocode implementiert sein, um einen mikrosequenzierten
Hardwareanalysierer zu programmieren. Es versteht sich, dass diese
Implementationen jedoch nur beispielhaft gegeben sind. Jede Art neukonfigurierbarer
Hardwareelemente kann für
den Rahmenanalysierer 300, der in Übereinstimmung mit den hierin
beschriebenen Techniken modifiziert ist, verwendet werden. Diese
besonderen Ausführungsformen
können
unter Bezugnahme auf 4 und 5 ausführlicher
erörtert
werden.
-
4 veranschaulicht
ein zweites Blockdiagramm eines Rahmenanalysierers in Übereinstimmung
mit einer Ausführungsform. 4 veranschaulicht
einen Rahmenanalysierer 400. Rahmenanalysierer 400 kann
eine repräsentative
Implementation von beispielsweise Rahmenanalysierer 300 sein.
In einer Ausführungsform
kann Rahmenanalysierer 400 ein Analysemodul 402,
ein Statustabellenmodul 404, eine Übergangstabelle 406,
ein Zuordnungsmodul 408 und einen Stapel 410 umfassen.
Obwohl für Rahmenanalysierer 400 eine
begrenzte Anzahl von Elementen gezeigt wird, versteht sich, dass
Rahmenanalysierer mehr oder weniger Elemente umfassen kann und trotzdem
in den Umfang der Ausführungsformen
fällt.
-
In
einer Ausführungsform
kann Rahmenanalysierer 400 als nichtdeterministische endliche
Kellervorrichtung (NPDA) implementiert. Analysemodul 402 kann
ein tabellengestütztes NPDA
umfassen. Das Statustabellenmodul 404 kann Statusinformationen
für Analysemodul 402 speichern.
Das Übergangstabellenmodul 406 kann Übergangsinformationen für Analysemodul 402 speichern.
Der Stapel 410 kann eine FIFO-(First-In First-Out)-Struktur sein. Analysemodul 402 kann
Informationen in und aus dem Stapel 410 schieben und herausziehen.
Das Zuordnungsmodul 408 kann den Status zu dem Feldtyp des
Analysemoduls 402 zuordnen.
-
In
einer Ausführungsform
kann das Analysemodul 402 unter Verwendung von Statusinformationen
und Übergangsinformationen
aus dem Statustabellenmodul 404 und dem Übergangstabellenmodul 406 neu
konfiguriert werden. Die Statusinformation und Übergangsinformation kann verwendet
werden, um ein oder mehrere Hardwareelemente des Analysemoduls 402 neuzukonfigurieren,
ohne ein mit einem gegebenen Protokoll verbundenes bestimmtes Rahmenformat
zu analysieren. Die Steuerlogik des Analysemoduls 402 kann
beispielsweise konfiguriert sein, um die entsprechenden Status-
und Übergangsinformationen,
die dem bestimmten Rahmenformat entsprechen, abzurufen. Die Steuerlogik
kann Analysemodul 402 in Übereinstimmung mit der Status-
und Übergangsinformation
neukonfigurieren.
-
5 veranschaulicht
ein drittes Blockdiagramm eines Rahmenanalysierers in Übereinstimmung
mit einer Ausführungsform. 5 veranschaulicht
einen Rahmenanalysierer 500. Rahmenanalysierer 500 kann
eine repräsentative
Implementation von beispielsweise Rahmenanalysierer 300 sein.
In einer Ausführungsform
kann Rahmenanalysierer 500 ein Analysemodul 502,
ein Mikrocodemodul 504 und ein Verzögerungsleitungsmodul 506 umfassen.
Obwohl für
Rahmenanalysierer 500 eine begrenzte Anzahl von Elementen
gezeigt wird, versteht sich, dass Rahmenanalysierer 500 mehr
oder weniger Elemente umfassen kann und trotzdem in den Umfang der Ausführungsformen
fällt.
-
In
einer Ausführungsform
kann Rahmenanalysierer 500 als Mikrosequenzer implementiert
sein, wobei die Verzweigung durch Maskendaten und Vergleichsdaten
angetrieben wird. Der Rahmenanalysierer 500 kann die Masken-
und Vergleichsdaten zum Decodieren von Feldtypen durch Untersuchung
von Bitfeldern in den Daten der letzten N empfangenen Datenelementen
verwenden. Beispielsweise kann das Analysemodul 502 ein
Mikrosequenzer mit einer Masken- und
Vergleichsverzweigungslogik sein. Das Mikrocodemodul 504 kann
Mikrocodeinformationen, wie Maskendaten, Vergleichsdaten, Verzweigungsadressen,
Feldtypen usw. umfassen. Das Verzögerungsleitungsmodul 506 kann
so konfiguriert sein, dass es eine Länge von N hat, wobei N die
Anzahl der letzten empfangenen Elemente repräsentiert.
-
In
einer Ausführungsform
kann das Analysemodul 502 unter Verwendung von Mikrocodeinformationen
von Mikrocodemodul 504 neukonfiguriert werden. Die Mikrocodeinformationen
können
verwendet werden, um ein oder mehrere Hardwareelemente des Analysemoduls 502 neuzukonfigurieren,
um ein bestimmtes Rahmenformat, das mit einem gegebenen Protokoll
verbunden ist, zu analysieren. Beispielsweise kann die Steuerlogik
des Analysemoduls 502 konfiguriert sein, um die geeignete
Mikrocodeinformation, die dem bestimmten Rahmenformat entspricht,
abzurufen. Die Steuerlogik kann Analysemodul 402 in Übereinstimmung
mit den abgerufenen Mikrocodeinformationen neukonfiguriert werden.
-
6 veranschaulicht
ein viertes Blockdiagramm eines Rahmenanalysierers in Übereinstimmung
mit einer Ausführungsform. 6 kann
einen Rahmenanalysierer 600 veranschaulichen. Rahmenanalysierer
kann ähnlich
dem Rahmenanalysierer 300 sein. Beispielsweise kann Rahmenanalysierer 600 auch
ein Konfigurationsmodul 604 und ein Analysemodul 602 umfassen.
Außerdem
kann Rahmenanalysierer 600 ferner ein Verzögerungsleitungsmodul 606 und
einen Multiplexer (MUX) 608 umfassen. Obwohl für Rahmenanaly sierer 600 eine
begrenzte Anzahl von Elementen gezeigt wird, versteht sich, dass
Rahmenanalysierer 600 mehr oder weniger Elemente umfassen
kann und trotzdem in den Umfang der Ausführungsformen fällt.
-
Einer
der Vorteile der Implementation eines neukonfigurierbaren hardwarebasierten
Rahmenanalysierers kann ein Zuwachs an Verarbeitungsgeschwindigkeit
des Rahmenanalysierers sein. Es kann jedoch Fälle geben, wo die Taktgeschwindigkeit
des Rahmenanalysierers nicht signifikant schneller als die Ankunftsgeschwindigkeit
empfangener Datenelemente ist. In diesem Fall kann es wünschenswert sein,
die Datenelemente durch den Rahmenanalysierer zu Puffern und zu
verzögern.
Die Länge
der Verzögerung
sollte ausreichen, um die Feldtypinformationen von einem gegebenen
Rahmen zu analysieren und die Feldtypinformationen an die übrige MAC
zur selben Zeit, wie die empfangenen Datenelemente zu senden. Das
Synchronisieren des Weiterleitens der empfangenen Datenelemente
und der analysierten Feldtypen kann beispielsweise die übrige Logik
in der MAC vereinfachen.
-
Dementsprechend
kann ein Rahmenanalysierer 600 ein Verzögerungsleitungsmodul 606 und MUX 608 enthalten.
Das Verzögerungsleitungsmodul 606 kann
eine Länge
von N haben, wobei N die Anzahl der zuletzt empfangenen Elemente
ist. Die empfangenen Rahmen können
in einem Puffer gespeichert werden, der mit Verzögerungsleitungsmodul 606 implementiert
oder durch es gesteuert wird. Sobald das Analysemodul 602 den
Feldtyp von dem empfangenen Rahmen analysiert, kann das Analysemodul 602 ein
Ausgabedaten-Auswählen-Signal
an MUX 608 senden. MUX 608 kann Datenelemente
in Übereinstimmung
mit dem Ausgabedaten-Auswählen-Signal
ausgeben.
-
Während bestimmte
Merkmale der Ausführungsformen
der Erfindung wie hierin beschrieben veranschaulicht wurden, werden
Fachleuten nun viele Modifikationen, Ersetzungen, Änderungen
und Äquivalente
davon klar sein.