-
Die vorliegende Erfindung bezieht sich auf das Gebiet der Kommunikationstechnik. Im Besonderen bezieht sich die vorliegende beanspruchte Erfindung auf ein Verfahren zur Konfiguration eines konfigurierbaren Kommunikationsgeräts sowie auf ein elektronisches Gerät und auf ein computerlesbares Medium elektronischen Geräts.
-
Die
WO 99/23762 A1 beschreibt ein System und ein Verfahren zum Bereitstellen eines digitalen, feldkonfigurierbaren Hochfrequenz-Kommunikationssystems, das in einem Sender oder einem Empfänger konfiguriert werden kann, um mit einer Vielzahl von Signalisierungsschemata zu funktionieren, z. B. AM, AME, A3E, H3E, J3E, CW, SSB, M-PSK, QAM, ASK, Winkelmodulation, einschließlich FM, PM, FSK, CMP, MSK, CPFSK usw. Das System enthält einen nicht-flüchtigen Speicher, der zum Empfangen und Speichern von Anweisungen zum Konfigurieren des Systems angepasst ist. Ein Benutzer wählt die Betriebsart und das Signalisierungsschema, und Anweisungen und Software werden aus dem Speicher in das System geladen und konfigurieren das System entsprechend der Auswahl des Benutzers.
-
Die drahtlose Kommunikation hat vielfältige Anwendungen in privaten 20 und industriellen Märkten. Spread-Spektrum-Techniken gewinnen als ein Verfahren zur Übertragung in einem drahtlosen Kommunikationssystem zunehmend an Bedeutung. Unter den vielen Spread-Spektrum-Kommunikations-Anwendungen/-Systemen sind: Stationäre drahtlose Anwendungen (fixed wireless), nicht lizenzierter drahtloser Mobilfunk der Bundeskommission für das Nachrichtenwesen (FCC), lokale Netzwerke (LAN), schnurlose Telefonie, persönliche Basisstationen, Telemetrie, Mobilfunk und andere digitale Datenverarbeitungsanwendungen. Währen jede dieser Anwendungen Spread-Spektrum-Kommunikation benutzt, benutzen sie im Allgemeinen spezielle und inkompatible Protokolle für verschiedene Signalverarbeitungsoperationen, beispielsweise Codierung und Decodierung, Modulation und Demodulation etc.. Diese speziellen und inkompatiblen Protokolle benötigen häufig spezielle Hardware, Software und Verfahren für das Kommunikationsprotokoll. Diese Vorgehensweise kann in Bezug auf Design, Test, Herstellung und infrastrukturelle Ressourcen kostspielig sein.
-
Neben den Unterschieden zwischen Spread-Spektrum-Kommunikationsanwendungen, treten wesentliche Veränderungen innerhalb einer vorgegebenen Spread-Spektrum-Kommunikationsanwendung mit der Zeit auf. Beispielsweise innerhalb der zellulären, drahtlosen ”code division multiple access” (CDMA)-Spread-Spektrum-Anwendung sind wesentliche Veränderungen mit der Zeit aufgetreten. Diese Veränderungen treten in Form einer Vielzahl von unterschiedlichen Versionen und Leistungsstufen, z. B. Zwischenstandard-95 (IS-95)-CDMA, Breitband-CDMA (WCDMA), 3GPP, etc. Und die Geschwindigkeit mit der Verbesserungen und neue Standards entstehen nimmt zu, da mehr industrielle Ressourcen auf den Bedarf und die Möglichkeiten innerhalb der drahtlosen Kommunikation zusammengezogen werden. Unglücklicherweise führen all diese Faktoren zu einer minimalen Gleichförmigkeit auf der Welt zu jeglichem Zeitpunkt. Beispielsweise benutzen unterschiedliche Länder und unterschiedliche Dienstanbieter häufig Systeme, die speziell auf ihre spezifische Version eines Kommunikationsprotokolls angepasst sind.
-
Wenn ein einzelnes Gerät in der Lage wäre, die Abweichungen innerhalb eines Spread-Spektrum-Kommunikationsprotokolls und die Abweichungen über der Zeit innerhalb jedes Protokolls zu überwinden, könnte es eine gemeinsame Lösung zur Verfügung stellen. Solch ein Gerät müsste im wesentlichen allgemeingütiger Natur sein, um sich solch einer breiten Vielfalt an Funktionen und Anwendungen anzupassen. Solch ein universelles Gerät würde jedoch typischerweise nicht in der Lage sein, irgendeine der verschiedenen Anwendungen alleine auszuführen, beispielsweise in seinem Herstellungszustand. Dies ist ein vollständig erwarteter Nachteil von Allgemeingültigkeit im Entwurf für Vielseitigkeit in einer möglichen Anwendung. Folglich entsteht eine Notwendigkeit für ein Verfahren zur Überwindung der Beschränkungen eines universellen Spread-Spektrum-Geräts, um eine spezifische Spread-Spektrum-Anwendung auszuführen.
-
Bei gegebener innerer Vieldeutigkeit eines universellen Spread-Spektrum-Geräts, wird eine wesentliche Menge an externer Steuerungsinformation verfügbar sein, um es auf eine spezifische Anwendung anzupassen. Während ein Benutzer externe Steuerungsinformation für das universelle Spread-Spektrum-Gerät manuell zur Verfügung stellen könnte, wäre dies zeitaufwendig und ineffizient. Weiterhin, in Anbetracht der Komplexität eines universellen Geräts, die benötigt würde, um es dem Gerät zu ermöglichen einen weiten Bereich von komplizierten und rechenintensiven algorithmischer Datenverarbeitungsoperationen auszuführen, wäre der Erfolg eines solchen manuellen Vorgangs unwahrscheinlich. Folglich entsteht die Notwendigkeit für ein Verfahren zur Überwindung der Beschränkungen des manuellen Programmierens eines universellen Spread-Spektrum-Geräts.
-
Weiterhin, bei der großen Menge von Variablen und Subkomponenten in einem solchen Gerät, wären viele unterschiedliche Kombinationen und Permutationen von Hardware-Verbindungen und Variabelenzuweisungen möglich. Folglich wäre es hoch wahrscheinlich, dass Fehler, Störimpulse, Fehlfunktion oder sogar fehlende Betriebsfähigkeit auftreten würden. Weiterhin wären andere komplizierte Themen, wie sauberes Zeitverhalten und Sequenzieren, Speicheradressierung und das Anpassen von algorithmischen Zuweisungen für ein universelles Spread-Spektrum-Gerät aufwändige Aufgaben. Folglich entsteht die Notwendigkeit für ein Verfahren zur Überwindung der Probleme des Arbeitens mit einem vollständigen Satz von möglichen Kombinationen und Permutationen von Hardware-Sequenzierung und Variablenzuordnungen.
-
Selbst wenn es möglich wäre, das universelle Gerät erfolgreich für eine spezifische Anwendung einzustellen, könnte die Verifikation der Einstellungen schwierig sein. Beispielsweise könnte ein Gerät mit einem Satz von Variablen akzeptierbar arbeiten. Diese Leistung jedoch kann nicht garantieren, dass das Gerät in einem anderen Szenario erfolgreich funktioniert. Folglich entsteht die Notwendigkeit für ein Verfahren und eine Vorrichtung zur Verifikation und Simulation des Betriebs universellen Geräts, das externe Steuerinformationen für eine spezifische Anwendung empfängt.
-
Zusammenfassung der Erfindung
-
Die vorliegende Erfindung stellt ein Verfahren und eine Vorrichtung zur Verfügung, welche die Beschränkungen eines universellen Spread-Spektrum-Geräts überwinden, um eine spezifische Spread-Spektrum-Anwendung auszuführen. Weiterhin stellt die vorliegende Erfindung ein Verfahren zur Verfügung, welches effizient externe Steuerinformationen eines universellen Spread-Spektrum-Geräts verwaltet, so dass es eine spezifische Anwendung ausführen kann. Des weiteren stellt die vorliegende Erfindung eine Lösung zur Verfügung, welche die Probleme des Arbeitens mit einem vollständigen Satz von möglichen Kombinationen und Permutationen von Hardware-Sequenzen und Variablenzuweisungen für das universelle Spread-Spektrum-Gerät überwindet. Die vorliegende Erfindung stellt auch ein Verfahren und eine Vorrichtung zum Verifizieren und Simulieren des Betriebs des universellen Geräts zur Verfügung, welches externe Steuerinformationen für eine spezifische Anwendung empfangen hat.
-
Im Besonderen stellt die vorliegende Erfindung eine Vorrichtung und ein Verfahren zur Verfügung, die eine Konfiguration für ein konfigurierbares Spread-Spektrum-Gerät erzeugen. Das Verfahren, das auf einem Computer mit einem Prozessor und einem computerlesbaren Speicher realisiert ist, beginnt mit einem ersten Schritt des Empfangs einer Eingangsinformation, die eine gewünschte Funktion und eine gewünschte Operation innerhalb der gewünschten Funktion identifiziert, die durch ein konfigurierbares Kommunikations-Gerät realisiert werden sollen. In einem nachfolgenden Schritt wird ein Signalflusspfad für die gewünschte Operation durch den Computer erzeugt. Nächstens wird die gewünschte Operation auf ein Rechenelement oder auf einen Satz von Rechenelementen innerhalb des konfigurierbaren Kommunikationsgeräts abgebildet. Das Rechenelement in der vorliegenden Ausführungsform weist eine lokale Steuerlogik auf und ist funktionsspezifisch. Die vorher erwähnten Schritte werden wiederholt, um mehrere Operationen bereitzustellen, die benötigt werden, um die gewünschte Funktion zu ermöglichen. Nächstens wird eine konfigurierbare Verbindungseinheit des konfigurierbaren elektronischen Geräts konfiguriert, um den Signalflusspfad und Abbildungsoperationen zwischen einem Rechenelement für jede der mehreren Operationen freizugeben, die zusammen die gewünschte Funktion ermöglichen.
-
Eine zweite Ausführungsform der vorliegenden Erfindung stellt ein elektronisches Gerät mit einem Prozessor und einem computerlesbaren Speicher zur Verfügung, der mit dem Prozessor gekoppelt ist. Das elektronische Gerät beinhaltet Befehle und Daten, die auf dem computerlesbaren Speicher gespeichert sind, die wenn sie unter Verwendung des Prozessors ausgeführt werden, das zuvor erwähnte Verfahren der ersten Ausführungsform ermöglichen. Das Verfahren und die Vorrichtung zur Bereitstellung von Konfigurationsinformation an ein konfigurierbares Kommunikationsgerät wird in einer Ausführungsform als eine Programmierschnittstelle bezeichnet.
-
Diese und andere Ziele und Vorteile der vorliegenden Erfindung werden dem Fachmann klar, nachdem er die folgende detaillierte Beschreibung der bevorzugten Ausführungsform gelesen hat, die auch in den verschiedenen Zeichnungen dargestellt sind.
-
Kurze Beschreibung der Zeichnungen
-
Die hierin enthaltenen Zeichnungen werden in diese Spezifikation mit aufgenommen und bilden einen Teil von ihr. Die Zeichnungen illustrieren Ausführungsformen der Erfindung und dienen zusammen mit der Beschreibung der Erklärung der Prinzipien der Erfindung. Es ist offensichtlich, dass die Zeichnungen auf die in dieser Beschreibung Bezug genommen wird nicht skaliert sind, es sei denn, dass sie ausdrücklich so bezeichnet sind.
-
1A ist ein Blockschaltbild eines Konfigurationssystems gemäß einer Ausführungsform der vorliegenden Erfindung.
-
1B ist ein Blockschaltbild von konfigurationserzeugenden Funktionen, die durch einen externen Prozessor ausgeführt werden gemäß einer Ausführungsform der vorliegenden Erfindung.
-
2 ist ein Blockschaltbild eines externen Prozessorgeräts zur Erzeugung einer Konfiguration für ein konfigurierbares Kommunikationsgerät gemäß einer Ausführungsform der vorliegenden Erfindung.
-
3 ist ein Flussdiagramm des Prozesses, der für den Entwurf einer Konfiguration eines konfigurierbaren elektronischen Spread-Spektrum-Kommunikationsgeräts verwendet wird gemäß einer Ausführungsform der vorliegenden Erfindung.
-
Detaillierte Beschreibung der Erfindung
-
Im Folgenden wird detailliert auf die bevorzugten Ausführungsformen der Erfindung Bezug genommen. Beispiele der bevorzugten Ausführungsformen werden in den begleitenden Zeichnungen illustriert. Während die Erfindung in Verbindung mit den bevorzugten Ausführungsformen beschrieben wird, ist es selbstverständlich, dass diese nicht dazu gedacht sind, die Erfindung auf diese Ausführungsformen zu beschränken. Die Erfindung ist eher dazu gedacht Alternativen, Modifikationen und Äquivalente abzudecken, die innerhalb des Geistes und des Bereichs der Erfindung eingeschlossen sind, wie sie durch die beigefügten Ansprüche definiert sind. Weiterhin wird in der folgenden detaillierten Beschreibung der vorliegenden Erfindung mehrere spezifische Details vorgestellt, um ein tiefes Verständnis der vorliegenden Erfindung zu geben. Es wird jedoch dem Fachmann klar sein, dass die vorliegende Erfindung ohne diese spezifischen Details ausgeführt werden kann. In anderen Fällen wurden bekannte Verfahren, Prozeduren, Komponenten und Schaltkreise nicht im Detail beschrieben, um Aspekte der vorliegenden Erfindung nicht unnötigerweise zu verschleiern.
-
Die vorliegende Erfindung kann innerhalb einer breiten Vielfalt von digitalen drahtlosen Spread-Spektrum-Kommunikationssystemen oder -techniken realisiert werden, die Codesequenzen verwenden. Codesequenzen werden innerhalb der drahtlosen Kommunikation für viele Funktionen verwendet, unter anderem: Filtern, Suchen, Modulation und Demodulation. Die Systeme oder Techniken, die Codesequenzen benutzen, umfassen unter anderem stationäre drahtlose Anwendungen (fixed wireless), nicht lizenzierter drahtloser Mobilfunk der Bundeskommission für das Nachrichtenwesen (FCC), drahtlose lokale Netzwerke (W-LAN), schnurlose Telefonie, zelluläre Telefonie, persönliche Basisstationen, Telemetrie und andere digitale Datenverarbeitungsanwendungen. Die vorliegende Erfindung kann sowohl auf Sender, beispielsweise eine Basisstation, als auch auf Empfänger, beispielsweise ein Terminal für ”fixed wireless”, W-LAN, zelluläre Telefonie und persönliche Basisstations-Anwendungen, angewendet werden.
-
Eine ”fixed wireless”-Anwendung, auf welche die vorliegende Erfindung insbesondere angewendet werden kann, ist ein ”metropolitan multipoint distribution system” (MMDS). Beispiele beinhalten drahtlose Kabelübertragungen oder zweiwege ”wireless local loop” (WLL)-Systeme. Einige Beispiele eines W-LAN, das digitalisierte Audio- und Datenpakete übertragen kann, für welche die vorliegende Erfindung angewendet werden kann, umfassen ”Open Air” und die Spezifikation 802.11b des ”Institute of Electrical and Electronics Engineers” (IEEE). In noch einer anderen Anwendung, einem spezifischen Beispiel einer Anwendung des nicht lizenzierten drahtlosen Mobilfunks der Bundeskommission für das Nachrichtenwesen FCC, für welche die vorliegende Erfindung verwendet werden kann, beinhaltet ”Industrial, Scientific and Medical” (ISM)-Band-Geräte, die schnurlose Telefonie-Produkte umfassen können. Persönliche Basisstationen können entweder schnurlose oder zelluläre Drahtlostelefonie-Kommunikationsstandards verwenden. Im letzteren Fall beinhalten die zellulären Telefonie-Systeme, in denen die vorliegende Erfindung unter anderem angewendet werden kann IS-95, IS2000, ARIB, 3GPP-FDD, 3GPP-TDD, 3GPP2, 1EXTREME oder andere benutzerdefinierte Protokolle. Der Bereich von Codesequenzen, die in den exemplarischen Spread-Spektrum-Anwendungen verwendet werden, die hierin offenbart sind, ist nützlich, um die Klasse von Funktionen zu definieren, für die die vorliegende konfigurierbare Codegeneratoreinheit anwendbar ist.
-
Konfigurationssystem
-
Bezugnehmend jetzt auf 1A, ist ein Blockschaltbild eines Konfigurationssystems gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Ein Konfigurationssystem (oder ein Programmierschnittstellensystem) 100a beinhaltet ein externes Prozessorgerät 102 und ein konfigurierbares Kommunikationsgerät 104. Das externe Prozessorgerät 102 beinhaltet Konfigurationsinformation 103, die in einem Speicher für das konfigurierbare Kommunikationsgerät gespeichert ist. Das externe Prozessorgerät ist in einer Ausführungsform eine Workstation.
-
Das konfigurierbare Kommunikationsgerät beinhaltet in der vorliegenden Ausführungsform zwei Rechenelemente 106 und 108, die durch eine Leitung 107 gekoppelt sind. Die Leitung 107 ist in einer Ausführungsform eine konfigurierbare Verbindungseinheit, welche selektiv die Elemente 106 und 108 oder Teile davon koppeln kann. Ein beispielhaftes konfigurierbares Kommunikationsgerät 104 ist in der mitangemeldeten US-Patentanmeldung mit der Seriennummer_______, mit dem Titel „A wireless spread Spektrum communication platform using dynamically reconfigurable logic”, mit dem Anwaltsbezugszeichen 9824-0035-999 gezeigt. Diese verwandte Anmeldung ist gemeinsam angemeldet und wird hierdurch durch Bezugnahme zum Inhalt der Anmeldung gemacht.
-
Die Konfigurationsinformation 103 von dem externen Prozessorgerät 102 wird durch eine Schnittstelle 109 zu dem konfigurierbaren Kommunikationsgerät übertragen. Die Schnittstelle 109 ist eine verdrahtete Kommunikationsverbindung, die das externe Prozessorgerät 102 und das konfigurierbare Kommunikationsgerät 104 in einer Ausführungsform koppelt. In einer anderen Ausführungsform jedoch ist die Schnittstelle 109 ein elektronisches Speichermedium, beispielsweise eine CD-ROM und Wirtsgerät, die Konfigurationsinformation 103 für das konfigurierbare Kommunikationsgerät zur Verfügung stellen. In noch einer anderen Ausführungsform ist die Schnittstelle 109 eine drahtlose Übertragung von dem externen Prozessorgerät 102 oder einem anderen Kommunikationsgerät, beispielsweise eine drahtlose Basisstation oder eine drahtlose Testplattform.
-
In einem anderen Aspekt der vorliegenden Erfindung wird für die vorliegende Ausführungsform Konfigurationsinformation zu dem Zeitpunkt zur Verfügung gestellt, an dem das konfigurierbare Konfigurationsgerät 104 hergestellt und/oder erstmalig zum Betrieb im Feld programmiert wird. In einer anderen Ausführungsform jedoch wird Konfigurationsinformation dynamisch zu einem Zeitpunkt zur Verfügung gestellt, an dem das konfigurierbare Kommunikationsgerät 104 im Feld in Betrieb ist.
-
Externes Rechengerät
-
Bezugnehmend jetzt auf 1B, ist ein Blockschaltbild von konfigurationserzeugenden Funktionen gezeigt, die von einem externen Prozessorgerät gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt werden. Das Blockschaltbild 100b stellt eine beispielhafte funktionale Basis zur Erzeugung von Konfigurationsinformationen 103 von 1A zur Verfügung, die ultimativ dazu bestimmt ist, das konfigurierbare Kommunikationsgerät 104 zu konfigurieren.
-
Das funktionale Blockschaltbild 100b beinhaltet einen konfigurationserzeugenden Funktionsblock 110, der in der Lage ist, Daten- und Befehlsinformationen zu empfangen und Konfigurations-Ausgangsinformationen zur Verfügung zu stellen. Insbesondere beziehen sich die Dateninformationen auf die vom Benutzer gewünschte Konfiguration des konfigurierbaren Kommunikationsgeräts 104 von 1A. Im Unterschied hierzu sind Befehlseingangsinformationen Anweisungen für eine oder mehrere Anwendungen, die durch das konfigurierbare Kommunikationsgerät 104 realisiert werden sollen. Ein Beispiel für solche Befehlseingangsinformationen sind Industriestandards, Kommunikationsprotokolle etc.. In ergänzender Weise können Dateneingangsinformationen, die von einem Benutzer zur Verfügung gestellt werden, proprietäre Algorithmen und Verfahren beinhalten, die innerhalb der Grenzen eines Anwendungsprotokolls arbeiten und durch dessen Spielraum gedeckt sind. Schließlich beziehen sich die Konfigurationsausgangsinformation auf die Konfigurationsinformation, die durch den konfigurationserzeugenden Funktionsblock 110 erzeugt werden, die es dem konfigurierbaren Kommunikationsgerät 104 von 1A ermöglichen, gemäß den Eingangsdaten und den Befehlsdaten des Benutzers für die Anwendung zu arbeiten.
-
Die Dateneingänge der vorliegenden Ausführungsform umfassen unter anderem: 1) gewünschte Anwendung 114a des konfigurierbaren Kommunikationsgeräts 104, 2) gewünschte Funktion 114b, die durch das konfigurierbare Kommunikationsgerät 104 ausgeführt werden soll, 3) gewünschte erwartete Eingangsinformation 114c, die von dem konfigurieren Kommunikationsgerät 104 empfangen werden soll, 4) gewünschte Ausgangsinformation 114d, die durch das konfigurierbare Kommunikationsgerät 104 erzeugt werden soll, 5) gewünschte Parameter 114e innerhalb des konfigurierbaren Kommunikationsgeräts, die Benutzerdefinierbare proprietäre und nicht-proprietäre Verfahren umfassen können.
-
Als ein Beispiel für vom Benutzer zur Verfügung gestellte Dateneingänge, könnte ein Benutzer eine gewünschte Anwendungseingangsinformation 114a als ein ”wireless local loop” (WLL) zur Verfügung stellen, für welche das konfigurierbare Kommunikationsgerät konfiguriert werden soll. In ähnlicher Weise kann die gewünschte Funktionseingangsinformation 114b durch einen Benutzer als eine Modulationsfunktion definiert werden, für die Konfigurationsinformation bestimmt werden muss, um das universelle konfigurierbare Kommunikationsgerät 104 zu betreiben. Die gewünschte Eingangsinformation 114c kann sich auf das Format beziehen, in dem Daten erwartet werden, die an dem Rechenelement, das zur Modulation innerhalb des konfigurierbaren Kommunikationsgeräts konfiguriert ist, erwartet werden. Dieses Eingabeformat kann andere proprietäre oder eindeutige Benutzerdefinierte Datenverarbeitungsverfahren widerspiegeln, welche die Daten für die nachfolgende Modulationsfunktion vorbereiten und formatieren. Die gewünschten Ausgangsinformationen 114d entsprechen dem vom Benutzer gewünschten Format der Ausgangsdaten. Während ein Kommunikationsprotokoll gewissermaßen das Format und das Verfahren eng definiert, durch die Daten zwischen mehreren Geräten übertragen werden, ist das Format und das Verfahren zur Verarbeitung von Daten innerhalb eines Geräts dem Benutzer selbst überlassen (beispielsweise dem Geräteentwickler). In dieser Weise kann ein Benutzer benutzerdefinierte proprietäre und nichtproprietäre Algorithmen und Operationen entwickeln und realisieren, die auf die Bedürfnisse des Benutzers angepasst sind, beispielsweise Finden eines Kompromisses aus ”quality of service” (QOS), Stromverbrauch etc..
-
Die Befehlseingangsinformationen, die dem konfigurationserzeugenden Funktionsblock 110 zur Verfügung gestellt werden, beinhalten unter anderem: 1) eine Bibliothek von Funktionseingangsinformationen 116a, 2) eine Rechenressourceneingangsinformation 116b für das konfigurierbare Kommunikationsgerät und 3) eine Protokollformateingangsinformation 116c. Ein Beispiel einer Bibliothek von Funktionen würde Standardkonfigurationen oder -funktionen beinhalten, die durch das konfigurierbare Kommunikationsgerät 104 angepasst werden. In einer Ausführungsform kann die Bibliothek von Funktionseingangsinformationen 116a Funktionen beinhalten, die mehreren Anwendungen gemeinsam sind, und folglich eine enge Anpassung durch einen Benutzer ermöglichen. Ein Beispiel einer Rechenressourceneingangsinformation 116b kann die Anzahl der verfügbaren Rechenelemente (beispielsweise die Rechenelemente 106 und 108 von 1A), die Flexibilität von jeder konfigurierbaren Verbindungseinheit (beispielsweise die konfigurierbare Verbindungseinheit 107 von 1A) etc. für ein gegebenes konfigurierbares Kommunikationsgerät, beispielsweise Gerät 104 von 1A, beinhalten. Zuletzt kann ein Beispiel einer Protokollformateingangsinformation 116c Regeln und Definitionen beinhalten, die durch ein Protokoll vorgeschrieben werden, dem das konfigurierbare Kommunikationsgerät kraft Benutzerwunsch entsprechen soll, beispielsweise Regeln für die Syntax, das Format, Zeitverhalten etc..
-
Ausgangsinformationen, die von dem konfigurationserzeugenden Funktionsblock 110 erzeugt werden, beinhalten unter anderem: 1) Konfigurationsabbildung 118a, 2) Timing-Sequenz 118b, 3) Verbindungskonfiguration 118c und 4) Taktraten 118d. Ein Beispiel einer Konfigurationsabbildung 118a, die von einem konfigurationserzeugenden Funktionsblock 110 erzeugt wird, beinhaltet Einstellung für selektive Verbindungseinheiten, Bit-Wörter zur Freigabe konfigurierbarer Geräte, Schwellwerte für logische Funktionen etc.. Diese Information wird für Rechenelemente, beispielsweise 106 und 108 von 1A, wie auch für ihre Unterkomponenten zur Verfügung gestellt. Weiterhin wird diese Information für diese Elemente und Unterkomponenten zu unterschiedlichen Zeitpunkten eines Verarbeitungszyklus zur Verfügung gestellt. Die Ausgangsinformationen für Timing–Sequenzen 118b beinhaltet Informationen, beispielsweise wann bestimmte Rechenelemente eine spezifische Konfiguration realisieren, wann bestimmte Rechenelemente selektiv gekoppelt werden und wann bestimmte Rechenelemente freigeschaltet werden, um ihre Operationen und Funktionen durchzuführen. Letztlich beinhaltet ein Beispiel einer Verbindungskonfiguration 118c Informationen, die definieren, welche Rechenelemente miteinander gekoppelt sind und welche Subkomponenten von Rechenelementen miteinander gekoppelt sind. Beispielhafte benutzerdefinierbare Dateneingänge 114a bis 114e, Befehlseingänge 116a bis 116c und Konfigurationsausgänge 118a bis 118d werden im Bereich der detaillierten Beschreibung und im Anhang A der Patentanmeldung „A WIRELESS SPREAD SPEKTRUM COMMUNICATION PLATFORM USING DYNAMICALLY RECONFIGURABLE LOGIC” zur Verfügung gestellt, die durch Bezugnahme zum Inhalt gemacht wird.
-
Bezugnehmend jetzt auf 2, wird ein Blockschaltbild eines Computersystems gezeigt, das dazu benutzt wird, einen Benutzer mit einem konfigurierbaren heterogenen Multiprozessorgerät gemäß einer Ausführungsform der vorliegenden Erfindung zu verbinden. Ein Computersystem 120a stellt eine beispielhafte Realisierung des externen Prozessorgeräts 102 von 1A zur Verfügung, das den konfigurationserzeugenden Funktionsblock 110 von 1B ermöglicht.
-
Das Computersystem 120a beinhaltet eine Kernrecheneinheit 220, die einen Steuer-/Datenbus 202 zur Übertragung von Information beinhaltet, eine zentrale Recheneinheit 204, zur Verarbeitung von Information und Befehlen, die mit dem Bus 202 gekoppelt ist und eine Speichereinheit 206, zur Speicherung von Information und Befehlen, die mit dem Bus 202 gekoppelt ist. Die Speichereinheit 206 kann eine Speicherkonfiguration umfassen, beispielsweise ”random access memory” (RAM), zur Speicherung von temporären Informationen und Befehlen für die zentrale Prozessoreinheit 204. In Ergänzung kann ein nichtflüchtiger Speicher 208 eine Speicherkonfiguration umfassen, die aus ”read only memory” (ROM) besteht, zur Speicherung von statischer Information und Befehlen für die zentrale Prozessoreinheit 204. Eine Datenspeichereinheit 210 kann Programmbefehle und umfangreiche Information vom Datenbasis-Typ speichern.
-
Das Computersystem 120a beinhaltet auch ein optionales Anzeigegerät 218. Das Anzeigegerät 218 kann jegliche Art von Anzeige sein, beispielsweise eine analoge oder digitale Anzeigeeinheit. Das Computersystem 120a beinhaltet auch ein optionales Eingabegerät 216, das mit dem Bus 202 gekoppelt ist. Das optionale Eingabegerät 216 kann jegliches Eingabegerät umfassen, beispielsweise ein alphanumerisches Eingabegerät, wie eine Tastatur oder ein Zeigerelement, wie eine Maus etc.. Eine optionale Eingangs-/Ausgangs-Signaleinheit 212 stellt eine Kommunikationsschnittstelle des Computersystems 120a zur Verfügung, beispielsweise eine serielle Schnittstelle etc..
-
Der Bus 202 stellt eine beispielhafte Kopplungskonfiguration von Geräten im Computersystem 120a zur Verfügung. Der Bus 202 wird aus Gründen der Klarheit als eine einzelne Busleitung gezeigt. Für den Fachmann ist offensichtlich, dass der Bus 202 Subkomponenten von spezifischen Datenleitungen und/oder Steuerleitungen für die Übertragung von Befehlen und Daten zwischen entsprechenden Geräten beinhalten kann. Es ist für den Fachmann weiter offensichtlich, dass das Bus 202 in einer parallelen Konfiguration oder einer seriellen Konfiguration ausgebildet sein kann und dass der Bus 202 Verbindungseinheiten, Gateways und/oder Übersetzer beinhalten kann, wie dies für eine gegebene Anwendung passend ist.
-
Es ist auch offensichtlich, dass das Computersystem 120a nur beispielhaft ist und dass die vorliegende Erfindung innerhalb einer Anzahl von unterschiedlichen Systemen betrieben werden kann, so wie in einem Mehrzweckcomputersystem, einer dedizierten Workstation, einem eingebetteten System etc.. Des weiteren ist die vorliegende Erfindung gut geeignet, einen Wirt von intelligenten Geräten zu benutzen, die ähnliche Komponenten aufweisen, wie das beispielhafte Computersystem 120a.
-
Realisierung von Prozessen in Flussdiagrammen
-
Bezugnehmend jetzt auf 3, wird ein Flussdiagramm des Prozesses gezeigt, der verwendet wird, um eine Konfiguration eines konfigurierbaren elektronischen Spread-Spektrum Kommunikationsgeräts gemäß einer Ausführungsform der vorliegenden Erfindung zu entwerfen. Ein Flussdiagramm 3000 stellt beispielhafte Schritte und eine beispielhafte Aneinanderreihung von Schritten zur Verfügung, durch die das Konfigurationssystem 100a, das funktionale Bockschaltbild 100b und das Computersystem 120a harmonisch betrieben werden können, um die vorliegende Erfindung zu ermöglichen. Das vorliegende Flussdiagramm stellt effiziente, robuste und zeitgerecht konfigurierbare Operationen für ein konfigurierbares Kommunikationsgerät zur Verfügung. Das Flussdiagramm 3000 ist im allgemeinen so realisiert, dass es die unmittelbar vorhergehenden Figuren verwendet.
-
Das Flussdiagramm 3000 beginnt mit dem Schritt 3002. Im Schritt 3002 der vorliegenden Ausführungsform wird eine Eingangsinformation an einem Computer empfangen, die eine gewünschte Funktion identifiziert, die das konfigurierbare Gerät ausführen soll. In einer Ausführungsform ist es beispielsweise möglich, dass ein Benutzer eine Kommunikations-(oder Arithmetik-)Funktion auswählen muss, so wie Modulation, Demodulation, Codierung oder Decodierung, wie in 1B gezeigt. Die vorliegende Erfindung ist jedoch gut geeignet, jeglichen Typ von Funktion innerhalb des Betriebbereichs der konfigurierbaren Hardware zu realisieren. Der Schritt 3002 ist in einer Ausführungsform durch den Eingang 114a von 1B realisiert, der dem Computersystem 120a von 2 zur Verfügung gestellt wird, wobei ein Benutzer Eingangsdaten über ein optionales Eingabegerät 216, oder von den Speichereinheiten 206, 208 oder 210 des Computersystems 120a in 2 zur Verfügung stellt. Ein Benutzer kann in einer Ausführungsform jegliche gewünschte Funktion für den Schritt 3002 eingeben, die in einer Softwarebibliothek von Funktionen 116a zur Verfügung steht, beispielsweise Java, die Programmiersprache C etc..
-
Insbesondere kann ein Benutzer Vorteile aus dem hierarchischen Ansatz der Schnittstelle ziehen, unter Einbeziehung des Gedankens der erweiterbaren Datentypen, um die der Architektur innewohnende Flexibilität auszunutzen. Die gewünschte Funktion kann eine ”high-level”-Funktion, beispielsweise eine Modulation, sein, die weiter in diskretere Unterfunktionen aufgeteilt werden kann, abhängig vom Grad der Programmierung, der für eine Anwendung gewünscht und in der Bibliothek von Funktionseingangsinformationen 116a verfügbar ist. Anhang A der Patentanmeldung ”A WIRELESS SPREAD SPEKTRUM COMMUNICATION PLATFORM USING DYNAMICALLY RECONFIGURABLE LOGIC”, die durch Bezugnahme zum Inhalt der Anmeldung wird, stellt eine beispielhafte Liste von Modem- und Codier/Decodier-Funktionen und Programmierhilfsmittel zur Verfügung, für die Hardware-Kerne (oder Rechenelemente) 106 und 108 von 1A für eine beispielhafte Spread-Spektrum-Anwendung konfiguriert werden können. Die vorliegende Erfindung ist gut für einen weiten Bereich von Datenverarbeitungsfunktionen und Kerne geeignet, die durch den Schritt 3002 programmiert werden können. Der Schritt 3002 kann eine Liste dieser Unterfunktionen oder Operationen für den Benutzer über eine graphische Benutzerschnittstelle (GUI) auf der optionalen Anzeigeeinheit 218 von 2 zur Verwendung in nachfolgenden Schritten des Flussdiagramms 3000 zur Verfügung stellen.
-
In der vorliegenden Ausführungsform stellt die Liste von Funktionen eine eins-zu-eins-Zuordnung zu den Rechenelementen 106 und 108 von 1A her und ist folglich darauf beschränkt. Die vorliegende Erfindung ist jedoch gut geeignet, den Schritt 3002 mit verschiedenen Graden von funktionaler Granularität zu realisieren. In einer typischen WCDMA-Anwendung beispielsweise sind die bestimmenden Berechnungen um fünf hauptsächliche Signalverarbeitungsfunktionen zentriert: ”Chip matched filtering”, ”code-epoch search”, Chip-Demodulation/Despreading, Symbolratenverarbeitung und Kanaldecodierung. Ein Benutzer hat die Möglichkeit, die Verbindung zwischen diesen Gruppen vollständig zu verändern oder die Gruppe(n) über die Benutzung einer Schnittstelle in dem konfigurierbaren Kommunikationsgerät zu umgehen. Auf diese Art und Weise kann die Fähigkeit der datenflussspezifischen konfigurierbaren Verbindungseinheiten zwischen Inseln von Rechenkernen voll ausgenutzt werden. Im Flussdiagramm 3000 folgt auf den Schritt 3002 der Schritt 3004.
-
Im Schritt 3004 der vorliegenden Ausführungsform wird eine Eingabeinformation an einem Computer empfangen, die eine gewünschte Unterfunktion innerhalb der gegebenen Funktion oder eine gewünschte Operation innerhalb einer gegebenen Unterfunktion zur Ausführung auf dem konfigurierbaren Gerät identifiziert. Der Schritt 3004 ist in einer Ausführungsform in der gleichen Weise implementiert wie der Schritt 3002. Ein Benutzer kann jede gewünschte, oder keine, Unterfunktion eingeben, die in einer Programmiervorlage vorhanden ist, die als Bibliothek von Funktionseingangsinformationen 116a von 1B zur Verfügung gestellt wird. Die Programmiervorlage kann jede Art von passender Programmiersprache sein. In einer Ausführungsform der vorliegenden Erfindung beispielsweise wird eine Liste von den Funktionen in einer Datenkernspezifikationsliste zur Verfügung gestellt, aus der ein Benutzer Demodulations- und Codier/Decodier-Funktionen auswählen kann. Die Datenkernspezifikationsliste ist im Anhang A der mitangemeldeten Anmeldung ”A WIRELESS SPREAD SPEKTRUM COMMUNICATION PLATFORM USING DYNAMICALLY RECONFIGURABLE LOGIC”, beschrieben, die hiermit durch Bezugnahme zum Inhalt gemacht wird. Beispielsweise kann ein Benutzer eine Unterfunktion von Codemodulation innerhalb der größeren Funktion der Modulation auswählen. Im Flussdiagramm 3000 folgt auf den Schritt 3004 der Schritt 3006.
-
Im Schritt 3006 der vorliegenden Ausführungsform wird eine Eingabeinformation empfangen, die gewünschte Einstellungen für eine gewünschte Funktion identifiziert. Eingabeinformationen zum Schritt 3006 beinhalten unter anderem: Eingangs- und Ausgangs-(IO)-Parameter 3006a, bestimmt von und für eine Funktion, die in einem Rechenelement realisiert wird, beispielsweise den Elementen 106 und 108 von 1B. In ähnlicher Weise beinhaltet die Eingabeinformationen zum Schritt 3006 auch Parameter und Formateingaben 3006b, um interne Betriebsparameter für die Funktion vorzugeben, die durch Rechenelemente eines konfigurierbaren Geräts 104 von 1A realisiert werden. Eine Spezifikationsliste kann unterschiedliche Eingaben, Ausgaben und Parameter zur Verfügung stellen, die für den Entwurf einer benutzerspezifischen Konfiguration eines konfigurierbaren Geräts verfügbar sind. Während die vorliegende Ausführungsform spezifische Auswahlen von Eingabeinformationen, Ausgabeinformationen und Parametern zur Verfügung stellt, ist die vorliegende Erfindung gut dafür geeignet, einen weiten Bereich von Optionen zu benutzen, wie dies für eine gegebene Anwendung gewünscht wird. Ein Satz von verfügbaren Ressourcen {Ri} als Eingabeinformationen 3006c wird dem Schritt 3006 ebenfalls zur Berechnung zur Verfügung gestellt. Die Eingabeinformation 3006c repräsentiert den Satz von grundlegenden Rechenkern-Primitiven, beispielsweise das Rechenelement 106 von 1A, welches sich im konfigurierbaren Kommunikationsgerät 104 befindet. Die verfügbaren Ressourcen {Ri} werden im Entwurf des Kommunikationsgeräts zur Verfügung gestellt, basierend auf erwarteten Funktionen, Unterfunktionen und Operationen, die für Protokollabweichungen, mögliche algorithmische Flexibilitätsnotwendigkeiten, projektiertes zukünftiges algorithmisches und protokollbezogenes Wachstum und unbestimmte Posten zur Verfügung gestellt. In einer Ausführungsform können die Ressourcen eines gegebenen konfigurierbaren Geräts statisch in einem Speicher eines Computersystems 120a von 2 zur Verfügung gestellt werden. Alternativ können die Ressourcen eines gegebenen konfigurierbaren Geräts dynamisch durch abrufende Komponenten eines konfigurierbaren Geräts bestimmt werden, beispielsweise das Kommunikationsgerät 100a, über eine Kopplungsanordnung (drahtlos oder serielle-/Bus-Hardware) zum Computersystem 120a. Im Flussdiagramm 3000 folgt auf den Schritt 3006 der Schritt 3008.
-
Im Schritt 3008 der vorliegenden Ausführungsform wird ein Signalflusspfad (oder Diagramm) der gewünschten Betriebsart erzeugt. Ein Signalflusspfad ist eine Liste der Schnittstellen, beispielsweise der ausgewählten Eingangs- und Ausgangs-Typen und Formate für eine gegebene Funktion. Der Schritt 3008 wird in einer Ausführungsform durch den Prozessor 204 von 2 realisiert, der selektiv die gewünschten Verbindungen zwischen konfigurierbaren Elementen (beispielsweise die Elemente 106 und 108 von 1A) auf die erlaubten Verbindungen abbildet, die in einem gegebenen konfigurierbaren Kommunikationsgerät zur Verfügung stehen. Folglich wird eine Eingangsinformation 3008a eines Satzes von erlaubten Verbindungen {Ci} dem Schritt 3008 zur Berechnung zur Verfügung gestellt. In der vorliegenden Ausführungsform wird der erlaubte Satz von Verbindungen {Ci}, beispielsweise hierarchische Verbindungskonfigurationen des konfigurierbaren Geräts, durch eine Programmiervorschrift zur Verfügung gestellt, beispielsweise die Bibliothek von Funktionen 116a von 1B. Die Eingabeinformation 3008a repräsentiert die Menge an Rekonfigurierbarkeit, die innerhalb eines Hardware-Kerns und zwischen Hardware-Kernen zur Verfügung gestellt wird, beispielsweise über die rekonfigurierbare Verbindungseinheit 107 von 1A.
-
Der Schritt 3008 beinhaltet die Erzeugung eines ursprünglichen System-Datenflusses. Der ursprüngliche System-Datenfluss kann aus einer geschriebenen Spezifikation und Systemsimulation erzeugt werden. Aus dem ursprünglichen System-Datenfluss werden spezifische algorithmische Programmfäden identifiziert. Die spezifischen Programmfäden werden in der vorliegenden Ausführungsform durch eine Rangordnung der rechnerischen Komplexität identifiziert. Eine Ausführungsform der Rangordnung in einer typischen WCDMA-Anwendung, bei der die wesentlichen Berechnungen um fünf wesentliche Signalverarbeitungs-Funktionen zentriert sind, beinhalten: 1) ”chip matched filtering”, ”codeepoch search”, ”chip Demodulation/Despreading”, Kanaldecodierung und Symbolratenverarbeitung. Diese algorithmischen Programmfäden benötigen typischerweise Algorithmen die aus Millionen von Operationen pro Sekunde (MOPS) bestehen. Eine beispielhafte Spread-Spektrum-Anwendung kann diese Algorithmen in fünf Kategorien, basierend auf ihren MOPs, gruppieren. Diese Gruppen beinhalten: 1) eine Chipratenprozessorgruppe, eine Symbolsequenzprozessorgruppe, 3) eine Parameterschätz-Prozessorgruppe, 4) ein Kanalelement-(Mehrfinger)-Prozessorgruppe und 5) eine Eingangsprozessorgruppe. Ein Benutzer hat die Möglichkeit eine Prozessorgruppe über den Bypass-Mechanismus und/oder die Coprozessor-Schnittstelle zu umgehen. Unter Verwendung des Begriffs der hierarchischen Verbindung bietet die vorliegende Erfindung ein hohes Maß an Flexibilität in der Benutzerdefinition der bevorzugten Aufteilungsgrenzen zwischen Hardware und Software. In der vorliegenden Ausführungsform kann sich diese Grenze tatsächlich mit der Zeit verändern, basierend auf dem Typ, der Kapazität, der Leistung und rechnerischen Effizienz des Wirtsrechners, beispielsweise der Prozessor 120a von 2, und vom konfigurierbaren Kommunikationsgerät, beispielsweise das konfigurierbare Gerät 104 von 1A.
-
Die erlaubten Verbindungen im Schritt 3008 werden in der Entwurfsphase des Kommunikationsgerätes zur Verfügung gestellt, basierend auf einer angenommenen Flexibilität aufgrund von Protokollveränderungen, möglichen algorithmischen Flexibilitätsnotwendigkeiten, projektiertem zukünftigem algorithmischem und protokollbezogenem Wachstum und unbestimmten Posten. In einer Ausführungsform können die erlaubten Verbindungen {Ci} für ein gegebenes konfigurierbares Gerät statisch in einem Speicher des Computers 120a zur Verfügung gestellt werden. Alternativ können die erlaubten Verbindungen {Ci} für ein gegebenes konfigurierbares Gerät dynamisch durch eine abrufende Komponente eines konfigurierbaren Geräts bestimmt werden, beispielsweise dem Kommunikationsgerät 100a, über eine Kopplungs-Anordnung (Drahtlos oder Seriell/Bus-Hardware) durch das Computersystem 120a. Der Schritt 3008 steuert einen Satz von Kommunikations-Primitiven, die mit den in Schritt 3008 validierten Verbindungen korrespondieren, zum Implementierungsdatei-Ausgang 3007 bei. Die Implementierungsdatei 3007 beschreibt, wie eine Funktion aus dem Satz von Basisdaten und Steuerstrukturen in den Hardware-Kernen gebildet wird. Insbesondere umfasst der Schritt 3008 die Bildung einer Abstraktion der Datenpfad-Konfiguration durch die Funktionen für den Implementierungsdatei-Ausgang 3007.
-
Durch Bereitstellen eines Diagramms dieser Schnittstellen, beispielsweise in einer Liste, Zustandsmaschine oder Tabelle, kann die Kompatibilität von Datentypen zwischen sequenziellen Funktionen und Hardware-Realisierungen wenn nötig überprüft und korrigiert werden. Folglich stellt der Schritt 3008 ein Verfahren zur Qualitätskontrolle für die realisierten Funktionen zur Verfügung und garantiert ein Maß an Betriebssicherheit und Effizienz. Durch intelligentes Verfolgen der Schnittstellen von Funktionen und Unterfunktionen kann der Computer eine ungeordnete, vom Benutzer ausgewählte Liste von Funktionen oder Unterfunktionen sauber verfolgen. Der Schritt 3008 wird in einer Ausführungsform durch Speicherung von Datentypen im Speicher eines Speichermediums, beispielsweise die Blöcke 206, 208 oder 210 des Computersystems 120a in 2, und Abbilden der Schnittstellen über den Prozessor 204 realisiert. Im Flussdiagramm 3000 folgt auf den Schritt 3008 ein Schritt 3010.
-
Im Schritt 3010 der vorliegenden Ausführungsform wird die gewünschte Operation auf ein funktionsspezifisches Rechenelement mit lokaler Steuerung abgebildet. Der Schritt 3010 ist in einer Ausführungsform durch den Prozessor 204 realisiert, der die gewünschten Funktionen und/oder Unterfunktionen und Operationen, die in den Schritten 3002 und 3004 ausgewählt werden, auf die verfügbaren Hardwareressourcen eines gegebenen konfigurierbaren Geräts abbildet.
-
Der Abbildungsschritt 3010 verbindet im Wesentlichen eine Funktion mit einem Hardware-Kern mit einer passenden Architektur. Insbesondere konfigurieren die im Schritt 3006 ausgewählten Parameter den Hardware-Kern weitergehend für die spezifische Unterfunktion oder Operation innerhalb einer Klasse von möglichen Unterfunktionen oder Operationen. Dieses Szenario tritt für die vielen unterschiedlichen mathematischen, rechnerischen und logischen Kategorisierungen für die unterschiedlichen Funktionen auf, die in einer gegebenen Anwendung und dem Bereich der Rekonfigurierbarkeit verwendet werden, für die individuelle Hardware-Kerne entworfen werden können.
-
In einer beispielhaften Ausführungsform können die Schritte 3002 bis 3012 für eine Klasse von Despreading- und Equalization-Funktionen mit unterschiedlichen Parametern angepasst werden, die zu unterschiedlichen Kommunikationsprotokollen gehören, denen sie zugehören. Diese Ausführungsform stellt einen Hardware-Kern (oder Rechenelement) mit ausreichender Rekonfigurierbarkeit zur Verfügung, der sich den Unterschieden der Despreading- und Equalization-Funktionen zwischen den Protokollen anpassen kann. Folglich werden die Parameter der Rekonfigurierbarkeit einem Benutzer zur gewünschten Auswahl zur Verfügung gestellt.
-
Der Schritt 3010 steuert einen Satz von erweiterbaren Datentypen, die zu den Hardware-Kernen und ihren konfigurierbaren Eigenschaften gehören, zum Implementierungsdatei-Ausgang 3007 durch geeignete Spezifikation der verfügbaren Ressourcen bei, um eine gewünschte Funktion und/oder Unterfunktion zu erfüllen. Andere Eingabeinformationen, außer den verfügbaren Ressourcen, können für den Schritt 3010 in Betracht gezogen werden. Beispielsweise kann die Flexibilität eines lokalen Controllers (nicht gezeigt) eines Rechenelements 106 ebenfalls für den Schritt 3010 in Betracht gezogen werden. Besonders komplementär ist die Abbildung von gewünschten Funktionen auf verfügbare Ressourcen in einem Multiprozessor-Gerät mit spezifischen Komponenten für Algorithmen, da die Hardwarekomponenten (beispielsweise die Rechenelemente 106 und 108 von 1A) im Wesentlichen lokal gesteuerte, objektorientierte Geräte sind.
-
Als ein kurzes Beispiel, angewendet auf die Schritte 3002 bis 3010, wählt ein Benutzer eine Modulationsfunktion in Schritt 3002 und eine Integrations- und Speicherausdruck-Unterfunktion für den Schritt 3004 aus. Als ein Ergebnis dieser Eingabeinformationen, wird die Variation von Integrationslängen aus dem Satz {4, 8, 16, 32, 64, 128, 256} als mögliche Parameterauswahl zur Verfügung gestellt. Wenn der Benutzer einen 3GPP-Standard realisiert, würde eine beispielhafte Parameterauswahl, die für den Schritt 3006 eingegeben wird, eine 64-Bit Integrationslänge sein, wie dies durch den Standard für eine spezifische Betriebsart erforderlich ist. Nachfolgend wird ein Signalflusspfad über den Schritt 3010 zur Verfügung gestellt und der Kern, der für die Integrations- und Ausgabe-Klasse von Funktionen entworfen ist, wird über den Schritt 3008 auf die entsprechenden Parametereinstellungen abgebildet. Während das vorliegende Beispiel auf eine spezifische Funktion und Parametervariation angewendet wird, ist die vorliegende Erfindung gut für einen weiten Bereich von Anwendungen, Funktionen und Unterfunktionen geeignet. Im Flussdiagramm 3000 folgt dem Schritt 3010 der Schritt 3012.
-
Im Schritt 3012 der vorliegenden Ausführungsform bestimmt eine Abfrage, ob zusätzliche Unterfunktionen oder Operationen gewünscht sind. Wenn keine zusätzlichen Funktionen oder Unterfunktionen gewünscht sind, fährt das Flussdiagramm 3000 mit dem Schritt 3016 fort. Wenn jedoch zusätzliche Unterfunktionen oder Operationen gewünscht sind, fährt das Flussdiagramm 3006 mit dem Schritt 3013 fort. Der Schritt 3012 stellt die Logik zur Verfügung, um die Menge und Typen von Unterfunktionen und Operationen iterativ aufzubauen, die notwendig sind, um eine vollständige Funktion innerhalb des konfigurierbaren Gerätes bereit zu stellen, beispielsweise um eine Modemfunktion innerhalb eines Kommunikationsgeräts aufzubauen.
-
Der Schritt 3013 wird notwendig, wenn zusätzliche Funktionen oder Operationen im Schritt 3012 gewünscht sind. Im Schritt 3013 der vorliegenden Ausführungsform bestimmt eine Abfrage, ob die zeitliche Schachtelung (time sharing) von Ressourcen gewünscht ist. Das heißt, abhängig von der gewünschten Unterfunktion oder Operation und ihrer Rechenratenanforderung und abhängig von der Rechenrate einer gegebenen Komponente eines konfigurierbaren Geräts, kann die Komponente Leerlaufszeiten innerhalb eines Systemzykluses aufweisen, um zusätzliche Operationen aufzunehmen. Beispielsweise kann das Rechenelement 106 von 1A direkt von einem Wirtsprozessor (nicht gezeigt) des konfigurierbaren Kommunikationsgeräts 104 konfiguriert werden, um in unterschiedlichen Modi zu arbeiten, abhängig von makroskopischen Parametern, wie dem Standard, und mikroskopischen Parametern, wie dem Integrationsfenster für einen Such-Korrelator. Eine beispielhafte Ablaufsteuerung der Modem- und Codier/Decodier-Funktionen (beschrieben im Anhang A der mitangemeldeten Anmeldung ”A WIRELESS SPREAD SPEKTRUM COMMUNICATION PLATFORM USING DYNAMICALLY RECONFIGURABLE LOGIC”, durch Bezugnahme hiermit beinhaltet) realisiert eine Vielzahl von Sender/Empfänger-Signalpfaden durch Konfiguration der Hardware-Kerne und Verbindungen gemäß der gewünschten Typen von Operationen und Datenflüssen. Im Flussdiagramm 3000 folgt auf den Schritt 3013 der Schritt 3014.
-
Im Schritt 3014 der vorliegenden Ausführungsform wird der Zeitbereich der Ressourcen für mehrere Verwendungen aufgeteilt. Der Schritt 3014 wird durch Erfassung der Fähigkeiten der Komponenten in einem konfigurierbaren Gerät realisiert, wie in Schritt 3013 beschrieben. Der Aufteilungsprozess kann unter Verwendung des Prozessors 204 von 2 zusammen mit der Rechenressourceneingangsinformation 116b von 1B realisiert werden, die im Speicher 206, 208 oder 210 von 2 gespeichert werden kann. In Kürze, die Komponenten 106 und 108 des konfigurierbaren Kommunikationsgeräts 104 von 1A werden als Hardware-Rechenressourcen behandelt, die auf einen einzelnen Rechenprozess angewendet werden können, beispielsweise einen ”multipath” eines gegebenen Kanals in einer Ausführungsform. In der vorliegenden Ausführungsform jedoch kann die Rechenressource, die durch die exemplarischen Komponenten 106 und 108 des konfigurierbaren Kommunikationsgerätes 104 zur Verfügung gestellt wird, dadurch verbessert werden, dass sie mit einer höheren Taktrate betrieben wird, als die von einem Prozess benötigte, beispielsweise höher als die Datenrate für ein Kommunikationsprotokoll. In dieser Weise können Ressourcen von individuellen Rechenkomponenten, beispielsweise eines konfigurierbaren Demodulators, zeitlich zwischen mehreren Rechenprozessen geschachtelt (oder aufgeteilt) werden, beispielsweise einige ”multipath” und/oder mehrere Kanäle. Konfigurations- und Zustandsdaten für jede der zeitlich geschachtelten Ressourcen des konfigurierbaren Geräts werden durch das Flussdiagramms 3000 zur Verfügung gestellt. Zusätzliche Information über den Entwurf und die Realisierung von Konfigurationen eines konfigurierbaren Kommunikationsgerätes werden in der mitangemeldeten US-Patentanmeldung mit der Nummer 09/492,634, mit dem Titel „IMPROVED APPARATUS AND METHOD FOR MULTITHREADED SIGNAL PROCESSING” von Ravi Subramanian et al., Anwaltsdokumentennummer MORP-P002 zur Verfügung gestellt. Diese zugehörige Anmeldung ist gemeinsam angemeldet und wird hiermit durch Bezugnahme zum Inhalt gemacht. Im Anschluss an den Schritt 3014 kehrt das Flussdiagramm 3000 zu den Schritten 3006 bis 3010 zurück, in denen die zeitlich geschachtelte Ressource in den Signalflusspfad und die Abbildungsoperation eingefügt werden kann.
-
Der Schritt 3016 wird notwendig, wenn keine zusätzlichen Funktionen oder Operationen im Schritt 3012 gewünscht sind. Der Schritt 3016 ist für den Zustand verantwortlich, bei dem eine gewünschte Konfiguration für ein konfigurierbares Gerät für aktuelle Realisierungen auf dem konfigurierbaren Gerät über die nachfolgenden Schritte im Wesentlichen festgelegt wird. Im Schritt 3016 der vorliegenden Ausführungsform wird eine Konfiguration für die konfigurierbare Verbindungseinheit erzeugt, um den Abbildungsschritt 3010 zu erfüllen. Folglich ist der Schritt 3016 für alle die einzelnen Eingangs-/Ausgangs-Datenleitungen (nicht gezeigt) der Hardware-Kerne verantwortlich, beispielsweise das Rechenelement 106 bzw. 108 von 1A.
-
Der Schritt 3016 bildet auch die Begrenzungen innerhalb der rekonfigurierbaren Verbindungseinheit ab, die in einer Ausführungsform beschränkte Verbindungsmöglichkeiten zwischen all den unterschiedlichen konfigurierbaren Hardware-Kernen aufweist. In einer Ausführungsform erzeugt der Schritt 3016 einen Satz von Regeln, der die Konfiguration der konfigurierbaren Verbindungseinheit aufstellt, mit digitalen Anweisungen, die elektronische Geräte der Verbindungseinheit anschalten, beispielsweise Transistoren, und folglich die entsprechenden Verbindungen herstellt. Der Schritt 3016 ist in einer Ausführungsform durch Speicherung der Konfiguration oder des Satzes von Regeln im Speicher realisiert, auf den die rekonfigurierbare Verbindungseinheit Zugriff hat. Die vorliegende Erfindung ist jedoch gut dazu geeignet, den Schritt 3016 unter Verwendung alternativer Speichertechniken zu realisieren. Des weiteren, wenn Hardware-Kern-Ressourcen zeitlich geschachtelt sind, kann mehr als ein Satz von Regeln einer konfigurierbaren Verbindungseinheit oder Konfiguration existieren und wird folglich zwischen den mehreren Sätzen von Regeln rekonfigurierbar. Die Periodizität der Konfiguration einer konfigurierbaren Verbindungseinheit kann einen weiten Bereich umfassen, beispielsweise von Millisekunden bis Monaten, abhängig von der Anwendung. Im Flussdiagramm 3000 folgt auf den Schritt 3016 der Schritt 3018. Im Schritt 3018 der vorliegenden Ausführungsform wird eine zeitliche Reihenfolge für die Konfiguration der konfigurierbaren Verbindungseinheit und für die Hardware-Kerne definiert. Im Schritt 3018 der vorliegenden Ausführungsform wird eine Eingangsinformation von einem Computer empfangen, welche eine gewünschte Funktion identifiziert, die das konfigurierbare Gerät ausführen soll. Der Schritt 3018 ist in einer Ausführungsform durch einen Benutzer realisiert, der eine Dateneingabe über das optionale Eingabegerät 216 oder aus dem Speichermedium 206, 208 oder 210 des Computersystems 120a in 2 zur Verfügung stellt. Ein Benutzer kann jede gewünschte Funktion eingeben, die in einer Programmierhilfe, beispielsweise der Funktionsbibliothek 116a von 1B enthalten ist. Die vorliegende Erfindung ist jedoch gut für jegliche Typen von Funktionen geeignet, wie sie in dem konfigurierbaren Gerät zur Verfügung gestellt werden.
-
Die im Schritt 3018 gewünschte Funktion kann eine höhere Funktion sein, beispielsweise eine Modulation, die weiter in diskretere Unterfunktionen aufgeteilt werden kann. Der Schritt 3018 kann eine Liste dieser Unterfunktionen oder Operationen dem Benutzer über eine graphische Benutzerschnittstelle (GUI) zur Nutzung in nachfolgenden Schritten des Flussdiagramms 3000 zur Verfügung stellen. In der vorliegenden Ausführungsform stellt die Liste von Funktionen eine eins-zu-eins-Zuordnung zu den Rechenelementen her, beispielsweise den Rechenelementen 106 und 108 von 1A, und wird folglich durch diese beschränkt. Die vorliegende Erfindung ist gut dafür geeignet, den Schritt 3018 mit unterschiedlichen Graden an funktionaler Granulariät zu realisieren. Insbesondere ist die für die konfigurierbare Architektur entworfene Konfiguration aufgrund der lokal gesteuerten, autonomen Hardware-Kerne für Datenraten skalierbar. Dies bedeutet, dass die Erhöhung der Taktrate die Geschwindigkeit des ganzen Kommunikationsgeräts, beispielsweise 100a, erhöhen kann. Im Flussdiagramm 3000 folgt auf den Schritt 3018 der Schritt 3020.
-
Im Schritt 3020 der vorliegenden Ausführungsform wird die heruntergeladene Konfiguration an die mehreren Rechenelemente verteilt. Der Schritt 3020 dient der Verteilung von Konfigurationsdaten für eine zeitlich geschachtelte Hardware-Kern-Ressource, deren Konfiguration sich ändert. Beispielsweise können zwei Kommunikationskanäle unterschiedliche Konfigurationen von Integrations- und Speicherausgabefunktionen benötigen, beispielsweise IS-95 für einen Kanal und CDMA 2000 für einen anderen Kanal oder japanisches ARIE WCDMA und ETSI 3GPP WCDMA, die konkurrierend in einer Basisstation betrieben werden. Für einen gegebenen funktionsspezifischen Kern, der die Despread-Funktion unterstützt, muss sich die Konfiguration für den entsprechenden Kanal ändern. Die Veränderung der Konfiguration hängt von der Frequenz des Zugriffs auf die Despread-Funktion ab, beispielsweise kann die Frequenz bei einer Vielfachen der Chip-Taktrate, einer Chip-Taktrate oder jeder für die Anwendung passenden Periode auftreten. In diesen Szenario ist der Hardware-Kern auf einer sehr effizienten Basis rekonfigurierbar. Anmerkend sei erwähnt, dass wenn der gegebene funktionsspezifische Kern zeitgeschachtelt verwendet wird, aber die gleiche Konfiguration benutzt, beispielsweise beide Kanäle benutzen IS-95, muss keine unterschiedliche Konfiguration für den Wechsel verteilt werden. Eine letzte Ausgabeinformation des Flussdiagramms 3000 stellt die Konfigurationsabbildung 118a, den zeitlichen Ablauf 118b, die Verbindungskonfiguration 118c und Taktraten 118d zur Verfügung. Das Flussdiagramm 3000 endet nach dem Schritt 3020.
-
Ein Beispiel eines Computerprogramms, welches das Flussdiagramm 3000 für eine gewünschte Funktion realisiert, als Finger bezeichnet, ist im Anhang B der mitangemeldeten Anmeldung ”A WIRELESS SPREAD SPEKTRUM COMMUNICATION PLATFORM USING DYNAMICALLY RECONFIGURABLE LOGIC” gezeigt, die durch Bezugnahme zum Inhalt der Anmeldung gemacht wird. Ein Benutzer definiert die Finger-Funktion über eine Implementierungsdatei, beispielsweise die Datei 3007, durch Definition: der Abfolge von Operationen, der Parameter, die den Datenfluss steuern und der Parameter, welche die Einleitung und Beendigung der Funktion steuern. So wird ein spezifisches Finger-Verhalten nachfolgend durch Bilden des Fingers unter Verwendung des Prinzips eines erweiterbaren Datentyps realisiert. Die Abfolge von Operationen, die einen Finger definieren, werden durch den Benutzer bestimmt und dann als der Finger-Typ deklariert. Der Benutzer deklariert dann die Parameter, die den Datenfluss kontrollieren und definiert dann die Einleitungs- und Abschlussbedingungen. Es wird vorausgesetzt, dass ein Fachmann die computersprachenspezifische Syntax interpretieren kann, die in diesem Beispiel verwendet wird. Dieses Beispiel zeigt, wie der Benutzer ein spezifisches Maß an Kontrolle der über die Hardware-Kerne realisierten Funktionen erreichen kann. Folglich können Kontrollierbarkeit, Beobachtbarkeit und neue Konfigurationen und Verhaltensweisen über die Benutzung der erweiterbaren Datentypen der vorliegenden Erfindung realisiert werden. Folglich überwindet die vorliegende Erfindung die Begrenzungen, die mit herkömmlichen Konfigurationen einhergehen.
-
Unter Verwendung des Flussdiagramms 3000 ermöglicht es die vorliegende Ausführungsform, dass die Struktur von jedem Kanalelement vollständig unter der Kontrolle des Benutzers/Programmierers ist. Dies bedeutet, dass der ganze Datenfluss, der Kontrollfluss und die Verbindungskonfigurierbarkeit während des Betriebs verändert werden kann, was die Erzeugung von vollständig neuen Datenfluss- oder Kontrollflussverarbeitungsketten für ein gegebenes Kanalelement ermöglicht. Dieses Maß an Flexibilität ermöglicht eine wesentliche Menge an Kontrolle, Leistungseffizienz und Unterscheidbarkeit in Bezug auf Kommunikationssystemarchitekturen. Das Flussdiagramm 3000 bildet auch einen hierarchischen Aspekt in Bezug auf die konfigurationserzeugende Funktion 110 von 1B ab, wobei die Steuerung und Schnittstellen sich iterativ zwischen der Sprachfunktionsbibliothek 116a auf Benutzerebene und Befehlen auf Maschinenebene für das Kommunikationsgerät aufspannen, beispielsweise der Konfigurationsabbildungsausgang 118a. Das Flussdiagramm 3000 kann beispielsweise verwendet werden, um eine Datenflussmaschine zu programmieren, beispielsweise das Kornmunikationsgerät 100a, um als ein drahtloses Spread-Spektrum-Sender/Empfänger-Modem für die folgenden Standards über Software zu arbeiten, die von einem System-Entwickler entwickelt wird:
- – IS-95B
- – IS-95C
- – IS-2000 (1xRTT, 3xRTT)
- – 3GPP 3.84 Direct Spread Mode (FDD)
- – ARIB 4.096 Mcps WCDMA.
-
Jedes Kanalelement kann spezifisch vom Benutzer aus dem Satz von rekonfigurierbaren Kernen aufgebaut werden, um einen rekonfigurierbaren digitalen Mehrkanal-CDMA-Basisband-Modemsignalpfad zu erzeugen, der vollständig die digitale Modulation-Demodulation ebenso wie die Kanalcodierung-Decodierung durchführt, die pro logischem Kanal für alle Schmalband- und Breitband-CDMA-Standards benötigt wird. Einige mögliche Konfigurationen, die ein Benutzer durch Konfiguration der Hardware-Kerne und der konfigurierbaren Verbindungseinheit in dem Kommunikationsgerät realisieren kann, sind unten zusammengefasst, für die Vorwärts(Downlink)- und Rückwärts(Uplink)-Verbindungen:
- • Vorwärtsverbindung
- • 1xRTT evolution (IS-95B, IS-95C, IS-2000) alle Funkkonfigurationen wie in TIA/EIA IS2000.2 beschrieben
- • 3xRTT Mehrträgermodus
- • 3GPP 3.84 MHz Direct-Spread Mode (FDD)
- • ARIB 4.096 Mcps WCDMA
- • Rückwärtsverbindung
- • 1xRTT evolution (IS-95B, IS-95C, IS-2000) alle Funkkonfigurationen wie in TIA/EIA IS2000.2 beschrieben
- • 3GPP 3.84 MHz Direct-Spread Mode (FDD)
- • ARIB 4.096 Mcps WCDMA
-
Die vorliegende Erfindung ist zur Nutzung eines breiten Bereichs von Sprach- und Datenkanalkombinationen gut geeignet, die für eine spezifische Anwendung ausgewählt und entworfen werden. Diese Plattform ist entworfen, um eine Vielfalt von Kanalraten zu unterstützen, die von der durch den Benutzer über das Flussdiagramm 3000 ausgewählten Service- und Funkkonfiguration abhängen. Mehrere beispielhafte Computerprogrammrealisierungen des Flussdiagramms 3000a für Spread-Spektrum-Systeme sind im Anhang A der mitangemeldeten Anmeldung ”A WIRELESS SPREAD SPEKTRUM COMMUNICATION PLATFORM USING DYNAMICALLY RECONFIGURABLE LOGIC” zur Verfügung gestellt, die durch Bezugnahme zum Inhalt der Anmeldung gemacht wird. Insbesondere stellt der Anhang B die spezifische Anwendung einer drahtlosen Basis-Sender/Empfänger-Station für eine CDMA-Anwendung zur Verfügung. Die vorliegende Erfindung ist jedoch gut für einen weiten Bereich von Kommunikationsanwendungen geeignet. Es wird angenommen, dass der Fachmann die computersprachenspezifische Syntax interpretieren kann, die in diesen Beispielen gezeigt wird.
-
Die vorliegende Ausführungsform wendet das Flussdiagramm 3000 auf ein digitales drahtloses Kommunikationssystem an. Die vorliegende Erfindung kann jedoch auf einen weiten Bereich von Anwendungen und einen weiten Bereich von Gerätekonfigurationen angewendet werden. Innerhalb des drahtlosen Kommunikationssystems, das in der vorliegenden Ausführungsform beschrieben wird, ist die vorliegende Erfindung auf mobile Einheiten, Basisstationen und Testplattformen anwendbar.
-
Während das Flussdiagramm 3000 der vorliegenden Ausführungsform eine spezifische Sequenz und Menge an Schritten zeigt, ist die vorliegende Erfindung für alternative Ausführungsform geeignet. Beispielsweise sind nicht alle Schritte, die im Flussdiagramm 3000 bereitgestellt werden, für die vorliegende Erfindung notwendig. Insbesondere weist das Flussdiagramm 3000 die Schritte 3013 und 3020 für ein Zeitscheiben-Szenario der Programmierung einer Konfiguration für Hardware-Kerne auf. Das Zeit-Szenario wird jedoch von der vorliegenden Erfindung nicht benötigt und folglich können diese Schritte in einer Ausführungsform entfallen. In gleicher Weise können andere Schritte in Abhängigkeit von der Anwendung entfallen. Im Gegensatz hierzu, ist die vorliegende Erfindung gut dazu geeignet, weitere Schritte zu den vorliegenden hinzuzunehmen, wie dies von einer Anwendung benötigt oder für Abänderungen in dem Prozess gewünscht wird. Letztlich kann die Sequenz der Schritte für das Flussdiagramm 3000 in Abhängigkeit der Anwendung modifiziert werden. Folglich, während das Flussdiagramm 3000 als ein einzelner serieller Prozess gezeigt ist, können sie auch als ein kontinuierlicher oder paralleler Prozess realisiert werden.
-
Viele der Befehle für die Schritte und die Dateneingabe und -ausgabe von den Schritten des Flussdiagramms 3000 benutzen Speicher- und Prozessorhardware-Komponenten auf einer Workstation, beispielsweise den Speicher 206 und 208 bzw. den Prozessor 204 der 2. Das Speichermedium, das benutzt wird, um die Schritte des Flussdiagramms in der vorliegenden Ausführungsform zu realisieren, kann entweder nichtflüchtig, so wie nur Lesespeicher (ROM), oder flüchtiger Speicher sein, so wie Schreiblesespeicher (RAM). Das Speichermedium kann gleichfalls jeder beliebige Typ von Speichermedium sein, der in der Lage ist, Programmbefehle zu speichern, so wie eine Festplatte, eine CD-ROM oder Flash-Speicher. In gleicher Weise kann der Prozessor, der zur Realisierung der Schritte des Flussdiagramms verwendet wird, entweder ein dedizierter Controller, ein vorliegender Systemprozessor oder ein dedizierter digitaler Signalprozessor (DSP) sein, wie dies für den Typ des Schritts geeignet ist. Alternativ können die Befehle unter Verwendung einer Form einer Zustandsmaschine realisiert sein.
-
Einige Teile der detaillierten Beschreibung, beispielsweise der Prozesse, werden in Begriffen von Prozeduren, logischen Blöcken, Verarbeitung und anderen symbolischen Repräsentationen von Operationen auf Datenbits innerhalb eines Computers oder digitalen Systemspeichers oder auf Signalen innerhalb eines Kommunikationsgeräts dargestellt. Diese Beschreibungen und Repräsentationen sind die vom Fachmann in der digitalen Kommunikation und Computerarchitektur verwendeten Mittel, um am effektivsten das Wesentliche ihrer Arbeit anderen Fachleuten mitzuteilen. Eine Prozedur, ein logischer Block, ein Prozess etc. ist hierbei und im allgemeinen als eine selbstkonsistente Sequenz von Schritten oder Befehlen zu verstehen, die zu einem gewünschten Ergebnis führt. Die Schritte sind diejenigen Vorgänge, welche physikalische Manipulationen von physikalischen Größen erfordern. Üblicherweise aber nicht notwendigerweise nehmen diese physikalischen Manipulationen die Form von elektrischen oder magnetischen Signalen an, die gespeichert, übertragen, kombiniert, verglichen und in anderer Art und Weise in einem Kommunikationsgerät oder einem Prozessor manipuliert werden können. Aus Gründen der Konvention und unter Bezug auf deren allgemeine Verwendung, werden diese Signale als Bits, Werte, Elemente, Symbole, Buchstaben, Terme, Zahlen oder ähnliches innerhalb der vorliegenden Erfindung bezeichnet.
-
Es sollte jedoch klar sein, dass all diese Begriffe als Referenzen für physikalische Manipulationen und Größen interpretiert werden müssen und hauptsächlich gebräuchliche Bezeichner darstellen, die im Sinne von allgemein üblichen Begriffen weiter zu interpretieren sind. Es sei denn, dass es spezifisch so ausgedrückt ist, ansonsten wie aus der folgenden Diskussion ersichtlich, ist es offensichtlich, dass innerhalb der Diskussion der vorliegenden Erfindung Begriffe wie ”Empfangen”, ”Erzeugen”, ”Abbilden”, ”Wiederholen”, ”Übersetzen”, ”Konfigurieren”, ”Teilen”, ”Definieren”, ”zeitlich Verschachteln”, ”Verteilen”, ”Zuweisen”, ”Erzeugen”, ”Kategorisieren”, ”Identifizieren” oder entsprechende sich auf die Aktionen und Prozesse eines Kommunikationsgerätes oder eines ähnlichen elektronischen Rechengeräts beziehen, das Daten manipuliert und transformiert. Die Daten werden als physikalische (elektronische) Größen innerhalb der Kommunikationsgerätekomponenten oder der Register und Speicher des Computersystems repräsentiert und in andere Daten transformiert, die in ähnlicher Weise als physikalische Größen innerhalb der Kommunikationsgerätekomponenten oder der Speicher oder der Register des Computersystems oder anderer solcher Informationsspeicher oder Übertragungs- oder Anzeigeeinheiten repräsentiert.
-
Im Hinblick auf die hier ausgeführten Ausführungsformen, stellt die vorliegende Erfindung in effektiver Weise ein Verfahren und eine Vorrichtung zur Verfügung, die die Beschränkungen eines universellen Spread-Spektrum-Geräts überwinden, um eine spezifische Spread-Spektrum-Anwendung auszuführen. Zusätzlich illustriert die hierin enthaltene Beschreibung, wie die vorliegende Erfindung effizient die externe Steuerung eines universellen Spread-Spektrum-Geräts kontrolliert, so dass es eine spezifische Anwendung ausführen kann. Des weiteren wurde gezeigt, wie die vorliegende Erfindung eine Lösung zur Verfügung stellt, die den Mangel an Struktur adressiert, wenn Hardware-Sequenzierung und Variablenzuordnung für das universelle Spread-Spektrum-Gerät gewählt werden. Und letztlich wurde beschrieben, wie die vorliegende Erfindung den Betrieb eines universellen Geräts ermöglicht, verifiziert und simuliert, das externe Steuerinformation für eine spezifische Anwendung empfangen hat.
-
Die vorangegangene Beschreibungen von spezifischen Ausführungsformen der vorliegenden Erfindung wurden aus Gründen der Illustration und Beschreibung ausgeführt. Sie sind nicht als erschöpfend oder als Beschränkung der Erfindung auf die konkreten offenbarten Ausführungsformen zu verstehen und selbstverständlich sind viele Modifikationen und Variationen im Sinne der Ausführungen möglich. Die Ausführungsformen wurden gewählt und beschrieben, um die Prinzipien der Erfindung und ihre praktische Anwendung am besten zu erklären, um dadurch den Fachmann in die Lage zu versetzen, die Erfindung und viele Ausführungsformen mit vielen Modifikationen am besten zu benutzen, wie es zu dem bestimmten Anwendungsfall am besten passt. Es ist beabsichtigt, dass der Bereich der Erfindung durch die hieran angefügten Ansprüche und ihre Äquivalente definiert wird.