-
Die Erfindung bezieht sich auf eine
Datenverarbeitungsvorrichtung und insbesondere auf eine Übertragung
von Daten mit variierenden Datenraten und Datenstrukturen zwischen
Datenverarbeitungseinrichtungen in einer Datenverarbeitungsvorrichtung.
-
Bei einer typischen Datenverarbeitungsvorrichtung
müssen
Daten zwischen zweckgebundenen Datenverarbeitungseinrichtungen,
einer Steuerung und/oder einer zentralen Datenverarbeitungseinrichtung
und einem internen oder externen Speicher bewegt werden. Die einzelnen
Elemente der Datenverarbeitungsvorrichtung sind miteinander über Datenbusse
verbunden, wobei die Datenbusse über
Brücken
(Bridges) und eine Zuteilungslogik (Arbitration Logic) mit den Datenverarbeitungseinrichtungen
verbunden sind. Die Brücken sind
Synchronisationselemente zwischen den einzelnen zweckgebundenen
Datenverarbeitungseinrichtungen, der zentralen Datenverarbeitungseinrichtung
und den Bussen etc., die z. B. der Frequenzanpassung dienen. Solche
Datenverarbeitungssysteme werden beispielweise auch in den Komponenten
von Funktelekommunikationssystemen verwendet.
-
Ein aktuelles Beispiel eines Funktelekommunikationssystems
ist das Universal Mobile Telecommunications System (UMTS). Die Basisarchitektur
eines UMTS-Funktelekommunikationssystems weist Mobilstationen bzw.
Teilnehmerendgeräte
(User Equipment (UE)), ein Funkzugriffsnetz (Radio Access Network
(RAN)), ein Kernnetz (Core Network (CN)) und eine Funkschnittstelle
auf. Das Funkzugriffsnetz beinhaltet Einrichtungen zur Übertragung
von Daten über
Funk und weist dazu Basisstationen, die bei UMTS Node B genannt
werden, und eine Funknetzsteuerung (Radio Network Controller (RNC)),
die das Funkzugriffsnetz an das Kernnetz anbindet, auf. Die Basisstationen
versorgen jeweils eine bestimmte Fläche bzw. eine Zelle, in der
sich Mobilsta tionen aufhalten können.
Das Kernnetz ist das Weitverkehrsnetz, das die Daten der Benutzer
zum jeweiligen Ziel transportiert. Zu diesem Zweck enthält das Kernnetz
eine Vielzahl von Vermittlungseinrichtungen sowie Übergänge zu anderen
Netzen, beispielsweise dem Integrated Services Digital Network (ISDN)
oder dem Internet. Die Funkschnittstelle ist die Schnittstelle zwischen
einer Mobilstation und einer Basisstation, deren Kommunikation über Funk
erfolgt.
-
Bei einem UMTS-Funktelekommunikationssystem
werden zu sendende digitale Daten zunächst einer Kanalcodierung unterzogen,
um die digitalen Daten mit einer Redundanz zu versehen. Dann werden
die digitalen Daten durch ein Vielfachzugriffsverfahren in Zeitrahmen
der verfügbaren Übertragungsbandbreite
auf physikalische Kanäle
verteilt. Schließlich
werden die digitalen Daten digital moduliert, um über einen
Mobilfunkkanal übertragen
zu werden. Der Mobilfunkkanal wird durch ein Zeitduplexverfahren
(TDD; TDD = Time Division Duplex) oder ein Frequenzduplexverfahren
(FDD; FDD = Frequency Division Duplex) für einen Sendebetrieb und einen
Empfangsbetrieb zeitlich oder frequenzmäßig aufgeteilt.
-
Durch die Kanalcodierung werden die
zu sendenden Daten gegen eine fehlerhafte Übertragung über einen gestörten Mobilfunkkanal
gesichert bzw. es wird durch die Redundanz eine Fehlerkorrektur
beim jeweiligen Empfänger
der Daten ermöglicht.
Zur Kanalcodierung werden allgemein lineare Blockcodes oder Faltungscodes
verwendet. Zur Decodierung von Faltungscodes, wie z. B. Turbocodes,
wird häufig
der Viterbi-Algorithmus angewandt.
-
Bei UMTS wird als Vielfachzugriffsverfahren
das Codevielfachzugriffsverfahren CDMA (Code Division Multiple Access)
verwendet, bei dem der zu übertragende
bipolare Daten-Bitstrom mit einer teilnehmerspezifischen bipolaren
Codefolge bzw. einem Spreizcode multipliziert und gespreizt wird.
Die Elemente des Spreizcodes nennt man Chips, um sie von den Bits
des Da ten-Bitstroms semantisch unterscheiden zu können. Chips sind
im Prinzip nichts anderes als Bits. Durch die Multiplikation des
Daten-Bitstroms mit dem Chipstrom entsteht der gespreizte bipolarer
Datenstrom. Allgemein ist die Rate des Chipstroms ein Vielfaches
der Rate des Daten-Bitstroms und ist durch die Länge des Spreizcodes, den sogenannten
Spreizfaktor (SF), bestimmt. Der durch die phasenrichtige Multiplikation
entstehende Datenstrom hat die Rate des Chipstroms. Das Vielfachzugriffsverfahren
wenden alle Teilnehmer an, um mit einem teilnehmerspezifischen Spreizcode
ihren Nutzdaten einen Fingerabdruck aufzuprägen, der es erlaubt, das gesendete
Signal aus der Summe der empfangenen Signale wiederherzustellen.
Im Empfänger
kann man aus der empfangenen Chipfolge die Bits des Daten-Bitstroms
wiedergewinnen, indem der Vorgang der Multiplikation wiederholt
wird. Hierzu wird der Chipstrom mit demselben Spreizcode, der bereits
im Sender verwendet wurde, erneut phasenrichtig multipliziert, woraus
der gesendete Daten-Bitstrom
resultiert. Verschiedene Daten-Bitströme, die vom Sender aus parallel übertragen werden
sollen, werden mit verschiedenen, orthogonalen Codefolgen bzw. Spreizcodes
multipliziert und anschließend
addiert. Das Summensignal erfährt
anschließend
noch eine sogenannte Verwürfelung,
die durch eine chipweise Multiplikation des Summensignals mit einem
zellspezifischen oder stationsspezifischen Verwürfelungscode erfolgt und die
Zelle oder die Basisstation identifiziert.
-
Als Modulationsverfahren wird bei
UMTS die Vierphasenumtastung (Quaternary Phase Shift Keying (QPSK))
angewendet, bei der jeweils zwei aufeinanderfolgende Chips (Bits)
einer zu übertragenden
Chipfolge zu einem Chippaar zusammengefasst werden. Ein Chippaar
bildet jeweils ein Symbol eines durch einen Inphasezweig und einen
Quadraturzweig der QPSK-Modulation
aufgespannten Symbolraums in der komplexen Ebene, der vier Elemente
aufweist. Aufgrund des vierwertigen Modulationsverfahrens werden
also pro Modulationsschritt je zwei Chips übertragen. Die Brutto-Chiprate
ist daher doppelt so groß wie
die Modulationsrate.
-
Die Zeitstruktur des Vielfachzugriffs
ist bei UMTS in sogenannte Zeitrahmen von je 10 ms eingeteilt. Die
Dauer eines Zeitrahmens (Frame) entspricht der Dauer von 38400 Chips,
die Modulationsrate beträgt
also 3,84 Mchips/s. Jeder Zeitrahmen ist in 15 Zeitschlitze (Slots)
der Länge
von 666 μs
unterteilt, die genau der Dauer von 2560 Chips entsprechen. Die
Chipdauer beträgt
etwa 0,2604 μs.
-
Zur Trennung von Sendesignalen und
Empfangssignalen einer Basisstationen oder einer Mobilstation bzw.
zur Trennung der Aufwärtsstrecke
(Uplink) von der Mobilstation zu der Basisstation und der Abwärtsstrecke
(Downlink) von der Basisstation zu der Mobilstation wird bei UMTS-Funktelekommunikationssystemen vorzugsweise
zum Bespiel das Zeitduplex-Verfahren (Time Division Duplex (TDD))
verwendet, bei dem sich Sendezeiten und Empfangszeiten innerhalb
eines Frequenzbandes periodisch abwechseln. Beim Frequenz-Duplex-Verfahren (Frequency
Division Duplex (FDD)) wird die Aufwärts- und Abwärtsstrecke
durch verschiedene Frequenzbänder
getrennt. Innerhalb einer Übertragungsrichtung
teilt dann das oben erwähnte
Vielfachzugriffsverfahren die zur Verfügung stehende Übertragungsbandbreite
auf einzelne Teilnehmer bzw. Verbindungen auf. Das Vielfachzugriffsverfahren
mitsamt den teilnehmerspezifischen Spreizcodes definiert wie erwähnt die
physikalischen Kanäle.
-
Im Zeitduplex- (TDD-) Modus und im
Frequenzduplex-(FDD)-Modus ist ein physikalischer Kanal daher durch
die verwendete Codefolge bzw. den verwendeten Spreizcode, einen
Zeitschlitz (Slot) und durch den Frequenzkanal bestimmt. Man unterscheidet
allgemein zwischen sogenannten dedizierten physikalischen Kanälen und
gemeinsamen physikalischen Kanälen.
Ein dedizierter physikalischer Kanal wird exklusiv von einer Verbindung
genutzt, er wird beim Verbindungsaufbau und gegebenenfalls während der
Verbindungen neu zugewiesen. Gemeinsame physikalische Kanäle werden
von mehreren Verbindungen gleichzeitig oder abwechselnd genutzt.
Systeminformationen, die jede Basisstation aussendet, werden beispielsweise über gemeinsame
physikalische Kanäle übertragen,
die jede Mobilstation empfangen kann. Weiterhin gibt es beispielsweise gemeinsame
physikalische Kanäle,
die zur Paketdaten-Übertragung
dienen. Die Verwendung eines gemeinsamen physikalischen Kanals erfordert
immer eine gesonderte Adressierung von Sender und Empfänger.
-
Physikalische Kanäle sind im TDD-MODUS oder FDD-Modus
z. B. DPCH Dedicated Physical Channel), CCPCH (Common Control Physical
Channel) mit P-CCPCH (Primary CCPCH) und S-CCPCH (Secondary CCPCH),
PRACH (Physical Random Access Channel), PUSCH (Physical Uplink Shared
Channel), PDSCH (Physical Downlink Shared Channel), PICH (Paging
Indication Channel) und der CPICH (Common Pilot Channel). Der DPCH überträgt Nutz-
und Steuerdaten einer Verbindung mittels dedizidierter physikalischer
Kanäle. Dieser
Kanal existiert auf der Aufwärtstrecke
(Uplink) und der Abwärtsstrecke
(Downlink). Mit dem CCPCH werden Rundsendedienste in einer Zelle
auf der Abwärtsstrecke
realisiert. Der CCPCH ist in einen primären P-CCPCH und einen sekundären S-CCPCH
Unterkanal geteilt. Der P-CCPCH dient zum Rundsenden von Systeminformationen
innerhalb einer Zelle. Der S-CCPCH dient z. B. zur Realisierung
des Funkrufs. Der PRACH realisiert den Zufallszugriff und existiert
lediglich auf der Aufwärtsstrecke.
Der PUSCH ist ein gemeinsamer Kanal, der von verschiedenen Mobilstationen
genutzt werden kann. Über
ihn werden sowohl Nutz- als auch Steuerdaten übertragen. Der PDSCH ist auf
der Abwärtsstrecke
das Pendant zum PUSCH. Der PICH realisiert den Funkruf und kann
einen oder mehrere Unterkanäle
für Funkruf
auf dem S-CCPCH ersetzen. Der CPICH-Kanal wird aufgrund seiner im Empfänger bekannten
gesendeten Symbole zur Kanalschätzung
verwendet.
-
In UMTS-Funktelekommunikationssystemen
versorgen die Basisstationen (Node B) jeweils eine oder mehrere
Zellen. Die Basisstationen verarbeiten empfangene Funksignale der
sich in ihren Zellen aufhaltenden Mobilstationen. Diese Verarbeitung umfasst
u. a. die Fehlerkorrektur über
die Kanalcodierung, das Spreizen bzw. Entspreizen nach dem CDMA-Vielfachzugriffsverfahren
und das Modulieren bzw. Demodulieren nach dem QPSK-Modulationsverfahren.
-
Die Mobilstationen (UE) sind das
Gegenstück
zu den Basisstationen, der Funknetzsteuerung (RNC) und dem Kernnetz
(CN). Genauso wie die Basisstationen sind die Mobilstationen für die Verarbeitung
des Funksignals zuständig.
Auf Befehl des Funkzugriffsnetzes (RAN) muss eine Mobilstation die
Sendeleistung anpassen können.
Dem Kernnetz liefert die Mobilstation Informationen über den
aktuellen Aufenthaltsort. Auch das Verhandeln über die für eine bestimmten Dienst notwendige
Dienstgüte
und die gegenseitige Authentifizierung findet zwischen der Mobilstation
und dem Kernnetz statt.
-
Beim Aufwärtsbetrieb (Uplink) werden
Informationen von den Mobilstationen über eine Funkverbindung zu
den Basisstationen übertragen.
Die Informationen von verschiedenen Mobilstationen werden nach dem
CDMA-Vielfachzugriffsverfahren codiert und in physikalischen Kanälen über einen
gemeinsamen Frequenzkanal bzw. Funkkanal übertragen. Beim Abwärtsbetrieb
werden Informationen von einer Basisstation zu den Mobilstationen,
die sich in der Zelle der Basisstation befinden, über eine
Funkverbindung übertragen.
Die Informationen der Basisstation sind nach dem CDMA-Vielfachzugriffsverfahren
codiert und werden in physikalischen Kanälen zu der jeweiligen Mobilstation übertragen.
Mehrere physikalische Kanäle
sind zu einem Funksignal zusammengefasst, das z. B. als Sendesignal
von denjenigen Basisstationen empfangen wird, mit denen die Mobilstationen
in einem Funkkontakt stehen.
-
Die Basisstationen und die Mobilstationen
des UMTS-Funktelekommunikationssystems
weisen jeweils zweckgebundene Datenverarbeitungseinrichtungen und
mindestens eine zentrale Datenverarbeitungseinrichtung auf. Die
zweckgebundenen Datenverarbeitungseinrichtungen stehen unter sich
sowie mit der zentralen Datenverarbeitungseinrichtung in einer Austauschverbindung.
-
Die zentrale Datenverarbeitungseinrichtung
ist bei den Basisstationen und den Mobilstationen des UMTS-Funktelekommunikationssystems
beispielsweise ein digitaler Signalprozessor (DSP) oder ein Mikroprozessor,
um die berechnungsmäßig aufwendigen
Funktionen eines Kommunikationsprotokolls auszuführen. Die zentrale Datenverarbeitungseinrichtung
programmiert die zweckgebundenen Datenverarbeitungseinrichtungen
für die
Ausführung
bestimmter definierter Funktionen mit Hilfe von internen lokal vorhandenen
Registern oder Speichern, wie z. B. Direktzugriffspeichern (RAM;
RAM = Random Access Memory), die zum Speichern von Parametern vorgesehen
sind. Wenn die zentrale Datenverarbeitungseinrichtung außerdem Signalverarbeitungsaufgaben
selbst übernimmt
oder auch nur Signalverarbeitungsaufgaben in unterschiedlichen zweckgebundenen
Datenverarbeitungseinrichtungen einleitet, müssen zu den Parametern auch
noch Datenblöcke
zwischen der zentralen Datenverarbeitungseinrichtung bzw. den internen
Speichern der zentralen Datenverarbeitungseinrichtung und den zweckgebundenen
Datenverarbeitungseinrichtungen übertragen
werden.
-
Die zweckgebundenen Datenverarbeitungseinrichtungen
weisen beispielsweise bei dem UMTS-Funktelekommunikationssystem
einen RAKE-Empfänger,
einen Kanaldecodierer und ein Sendemodul auf. Die zweckgebundenen
Datenverarbeitungseinrichtungen sollen die zentrale Datenverarbeitungseinrichtung
von bestimmten Signalverarbeitungsaufgaben befreien und werden daher
auch als Hardware-Beschleuniger bezeichnet.
-
Der Mobilfunkkanal ist durch eine
Mehrwegsausbreitung (Reflexion, Beugung, Brechung etc.) der gesendeten
Signale, eine Zeitdispersion und eine Doppler-Verzerrung charakterisiert.
Ein von einem Sender ausgestrahltes Funksignal kann einen Empfänger oft
auf einer Mehrzahl von verschiedenen Ausbreitungswegen erreichen,
die sich voneinander durch unterschied liche Laufzeiten, Phasenlagen
und Intensitäten
unterscheiden. Um aus einem Empfangssignal, das sich aus einer Überlagerung
von auf den verschiedenen Ausbreitungswegen übertragenen Signalen zusammensetzt,
das Sendesignal zu rekonstruieren, wird es mit einem Rake-Empfänger aufbereitet.
Der RAKE-Empfänger
weist Finger auf, die jeweils einem Ausbreitungsweg eines Signals
zugeordnet sind und mit einer Abtastverzögerung betrieben werden, die
die Lauf-Zeitverzögerung des
entsprechenden Ausbreitungswegs kompensiert. Jeder Finger umfasst
ferner einen Korrelator, der das zeitverzögerte Empfangssignal eines
Ausbreitungsweges mit einem Spreizcode multipliziert, um Bits aus
dem senderseitig mit dem gleichen Spreizcode gespreizten Empfangssignal
wiederherzustellen. Die Ausgangssignale der einzelnen Finger werden
kombiniert, um die Kommunikationszuverlässigkeit und das Kommunikationsverhalten
zu verbessern.
-
Der Kanaldecodierer erhält von dem
RAKE-Empfänger
ein CDMA-decodiertes
Funksignal, das mit beispielsweise einem Faltungscode fehlerschutzcodiert
und über
einen gestörten
Funkkanal übertragen
wurde, und decodiert dasselbe gemäß dem Faltungscode. Der Kanaldecodierer
stellt die in dem Funksignal enthaltenen Nutzinformationen mit möglichst
hoher Erfolgsquote, d. h. mit möglichst
geringer Bit-Fehlerrate, wieder her.
-
Das Sendemodul führt für ein zu sendendes Signal eine
Kanalcodierung mit beispielsweise einem linearen Blockcode oder
einem Faltungscode durch und teilt das Signal mit dem CDMA-Vielfachzugriffsverfahren
auf physikalische Kanäle
auf.
-
Die Steuerung der Datenübertragung
in einer Datenverarbeitungsvorrichtung ist aus folgenden Gründen schwierig.
Die Datenpaketgrößen, die
Datenraten und die Datenstrukturen können variabel sein. Jede Datenquelle
kann mehrere Datenkanäle
aufweisen. Eine einzelne Datenquelle kann zwischen mehreren Datenzielen
geteilt sein. Und die Informationen über die Struktur der Daten
und die zeitliche Variation derselben in dem Datenstrom können selbst
oder in Steuerkanälen,
die parallel zu den ankommenden Daten übertragen werden, enthalten
sein.
-
Bei dem UMTS-Funktelekommunikationssystem
ist die Datenübertragung
zwischen den einzelnen zweckgebundenen Datenverarbeitungseinrichtungen
und der zentralen Datenverarbeitungseinrichtung starken Schwankungen
unterworfen, die hauptsächlich
in der variablen Datenrate über
die Funkschnittstelle zu sehen sind. Bei konstanter Chiprate auf
der Funk-Übertragungsstrecke
ist die im Chipstrom dargestellte Bitrate eines Teilnehmersignals
nur vom Spreizfaktor des jeweiligen teilnehmerspezifischen Spreizcodes
bzw. der jeweiligen teilnehmerspezifischen Codefolge abhängig, da
die Chiprate um den Spreizfaktor größer ist als die Bitrate. Der
Spreizfaktor entspricht dabei der Anzahl von Chips pro Bit. Um variable
Datenraten realisieren zu können,
werden Spreizcodes verschiedener Länge bzw. mit verschiedenem
Spreizfaktor verwendet. Die Datenrate kann bei dem UMTS-Funktelekommunikationssystem
in einem Bereich von 32 kbit/s und 2 Mbit/s schwanken und hängt extrem
von der zu verwirklichen Geräteklasse
ab. Für
die Datenübertragung
zwischen den zweckgebundenen Datenverarbeitungseinrichtungen und
der zentralen Datenverarbeitungseinrichtung und zwischen den zweckgebundenen
Datenverarbeitungseinrichtungen untereinander bedeutet dies, dass
die erforderliche Busbandbreite den gleichen oder wenigstens vergleichbaren
Schwankungen unterworfen ist und sich außerdem diese Schwankungen auf
kleiner Zeitbasis im Bereich von einem Zeitrahmen (10 ms) auswirken.
Daher müssen
Datenübertragungsverfahren
auf dieser Zeitbasis umprogrammiert werden. Bei UMTS-Funktelekommunikationssystemen
besteht außerdem
die Notwendigkeit, die unterschiedlichen physikalischen Kanäle (DPCH,
DSCH, S-CCPCH, P-CCPCH), die unterschiedliche Datenraten aufweisen
und auf der Basis von Zeitschlitzen (Slots; 1 Zeitschlitz = 1/15
Zeitrahmen = 666 μsec)
hinzugeschaltet werden oder weggenommen werden, zu demodulieren.
Außerdem
werden noch Leistungsmessungen an unterschiedlichen Monitorzellen
zusätzlich
an aktiven Zellen durchgeführt.
Die Ergebnisse aufgrund der Demodulation sowie der Leistungsmessungen
müssen
mit auf kleiner Zeitbasis stark schwankenden Übertragungsraten zur zentralen Datenverarbeitungseinrichtung
bzw. zu anderen zweckgebundenen Datenverarbeitungseinrichtungen übertragen
werden.
-
Um den Schwierigkeiten der variablen
Datenraten und Datenstrukturen bei Datenverarbeitungsvorrichtungen
wie in dem UMTS-Funktelekommunikationssystem zu begegnen, ist bekannt,
dass der digitale Signalprozessor oder eine Steuerung die Daten
bewegen bzw. übertragen.
Dazu liest der digitale Signalprozessor Statusinformationen aus
den zweckgebundenen Datenverarbeitungseinrichtungen bzw. den Peripherieelementen
aus oder extrahiert dieselben aus Daten, die bereits verarbeitet
wurden. Falls erforderlich, ordnet der digitale Signalprozessor
den Daten Speicher zu und erzeugt eine Datenübertragungsparameterliste,
um die Datenübertragung
zu steuern. Die Datenübertragungsparameterliste
wird durch den Programmcode für
eine Datenübertragung
verwendet. Wenn eine Datenquelle, wie z. B. eine zweckgebundene
Datenverarbeitungseinrichtung, zu bewegende Daten besitzt, sendet
dieselbe einen Interrupt zu dem digitalen Signalprozessor. Der Interrupt
bzw. die Programmunterbrechung bewirkt einen Aufgabenwechsel (Task
Switch) in dem digitalen Signalprozessor. Dann wird die Ausführung des
Programmcodes für
die Datenübertragung
begonnen und die ersten Datenübertragungsparameter
der Datenübertragungsparameterliste
werden verwendet, um die erste Datenübertragung zu steuern.
-
Ein Vorteil der Datenübertragung
durch den digitalen Signalprozessor besteht in der damit verbundenen
Einfachheit der Datenverarbeitungsvorrichtung. Ein Nachteil besteht
darin, dass, obwohl der Programmcode, der für eine solche Datenübertragung
erforderlich ist, im Allgemein einfach ist, derselbe nachteilhafterweise
eine beträchtliche
Belastung der zentralen Datenverarbeitungseinrichtung darstellen
kann. Dies liegt u. a. an der Zeit, die erforderlich ist, um auf
jeden Inter rupt zu reagieren, an der Bestimmung und der Überprüfung der
Adressen, und an der Zeit, die der digitale Signalprozessor oftmals
abwarten muss, bis sich die Daten durch ein häufig komplexes Bussystem bewegt
haben. Der wesentliche Nachteil der Übertragung der Daten mit Hilfe
des digitalen Signalprozessors oder der Steuerung besteht darin,
dass der digitale Signalprozessor viel Zeit zum Übertragen der Daten benötigt und
daher weniger Zeit zum Verarbeiten der Daten und für andere Aufgaben
besitzt. Dies ist insbesondere dann der Fall, wenn die Datenrate
groß ist
und variiert und wenn sich der Datenfluss häufig ändert. Ein Beispiel dafür ist eine
Basisstation eines UMTS-Funktelekommunikationssystems, bei der ein
effizienter Aufgabenwechsel wünschenswert
ist, da derselbe ermöglicht,
dass ein einzelner digitaler Signalprozessor mehrere Signalwege
eines empfangenen Signals (Mehrwegausbreitung) verarbeiten und/oder
mehrere Mobilstationen bedienen kann.
-
Eine zweite bekannte Möglichkeit,
um dem Problem der variablen Datenrate und Datenstrukturen in Datenverarbeitungssystemen
zu begegnen, besteht darin, eine spezielle Einrichtung zu verwenden,
die Datenübertragungen
zwischen den Datenverarbeitungseinrichtungen durchführt. Eine
solche Einrichtung wird üblicherweise
als Datenübertragungseinrichtung
bezeichnet. Eine bekannte Datenübertragungseinrichtung
ist z. B. eine Direct-Memory-Access- (DMA-) Datenübertragungseinrichtung,
die Daten über
DMA-Datenkanäle überträgt.
-
Eine einfache Datenübertragungseinrichtung
besitzt ein Datenübertragungsparameterregister,
um die Datenübertragungen
zu steuern. Aufwendigere Datenübertragungseinrichtungen
besitzen in einem Speicher eine Liste von Datenübertragungsparametern. Diese
Datenübertragungsparameterliste
wird bei UMTS-Funktelekommunikationssystemen
durch die Steuerung oder den Prozessor erzeugt und in eine geeignete
Speicherposition geladen. Wenn die Datenübertragungsparameterliste in
Blöcke
aufgeteilt ist, die nicht nur die Datenübertragungsparameter für eine Datenübertragung
oder eine Gruppe von Datenübertragungen
sondern ferner die Adresse eines nächsten Blocks von Datenübertragungsparametern
in einem Speicher enthält,
dann wird dieselbe als eine verknüpfte Liste bzw. als eine Linked-List bezeichnet.
Somit kann eine lange Folge von Datenübertragungen durch die Datenübertragungseinrichtung
durchgeführt
werden, ohne dass ein weiterer Eingriff des digitalen Signalprozessors
erforderlich ist. Bei einem DMA-Datenkanal wird statt des digitalen
Signalprozessors ein Zähler
als Adress-Generator
verwendet. Zur Initialisierung wird ein Adressregister mit einer Startadresse
eines auszulesenden Speicherbereichs geladen und einem Zählregister
wird die Anzahl der zu übertragenden
Bytes mitgeteilt. In einem Steuerregister des DMA-Datenkanals wird
festgelegt, ob die Adressen aufwärts
oder abwärts
gezählt
werden sollen und ob der Speicher, auf den zugegriffen wird, beschrieben oder
ausgelesen werden soll. Die Datenübertragung kann blockweise
durchgeführt
werden und erfolgt ohne Abarbeitung eines Programms auf der Basis
eines Zähltakts.
-
Bei der Übertragung von Daten muss der
digitale Signalprozessor zunächst
den aktuellen Betrieb unterbrechen (Aufgabenwechsel) und die Informationen
in den Variationen des Datenflusses lesen und interpretieren. Diese
Informationen müssen
aus der Datenquelle, z. B. einer zweckgebundenen Datenverarbeitungseinrichtung
wie einem RAKE-Empfänger,
gelesen werden oder aus den Steuerinformationen in dem Datenfluss
interpretiert werden. Dann muss der digitale Signalprozessor Quelladressen,
Zieladressen, die Datenblocklänge
und andere für
jede Übertragung
erforderliche Datenübertragungsparameter
berechnen. Schließlich
kopiert der Prozessor die Datenübertragungsparameter
zu der Datenübertragungseinrichtung
und ermöglicht
die Übertragung.
-
Der Vorteil der Verwendung einer
Datenübertragungseinrichtung
zwischen Datenverarbeitungseinrichtungen besteht darin, dass der
digitale Signalprozessor nicht angehalten wird und ver wendet wird,
um Daten zu bewegen. Mit einem DMA-Datenkanal lassen sich beispielsweise
wesentlich höhere
Datenübertragungsgeschwindigkeiten
als mit einer herkömmlichen
Schnittstelle erreichen. Ein Nachteil der Verwendung einer Datenübertragungseinrichtung
besteht darin, dass die variablen Datenraten und Datenstrukturen
zu starken zeitlichen Engpässen
führen
können,
da die Zeit, die erforderlich ist, um die oben beschriebenen Schritte durchzuführen, die
Rate begrenzt, mit der das Datenverarbeitungssystem auf Variationen
in dem Datenfluss reagieren kann. Der digitale Signalprozessor muss
ausreichende Leistungsreserven besitzen, um ausreichend schnell
reagieren zu können
und um beispielsweise den DMA-Datenkanal
umprogrammieren zu können.
Die Zeit, die aufgrund von Aufgabenwechseln (Task-Switches), Brücken (Bridges)
zwischen unterschiedlichen Bussystemen und Umprogrammieren von DMA-Kanälen erforderlich
ist, um die Schritte durchzuführen,
ist aufgrund von Variationen der Buslast und da der digitale Signalprozessor
andere wichtige Aufgaben zum gleichen Zeitpunkt durchführen muss
nicht konstant. Dies erschwert es dem digitalen Signalprozessor,
die erforderlichen Änderungen
des Datenflusses mit den Änderungen
in den Datenübertragungsparametern
für die
Datenübertragungseinrichtung
zu synchronisieren. Die Buslast aufgrund dieser Schritte reduziert
die Buskapazität, die
für den
erforderlichen Datenfluss verfügbar
ist.
-
Eine weitere bekannte Möglichkeit,
um dem Problem der variablen Datenraten und Datenstrukturen in Datenverarbeitungsvorrichtungen
zu begegnen, besteht darin, Puffer-Bereiche in den zweckgebundenen
Datenverarbeitungseinrichtungen und einem Speicher vorzusehen, die
ausreichend groß sind,
um den ungünstigsten
Datenfluss und die ungünstigste
Datenrate zu bewältigen.
Wenn Interrupts oder Datenübertragungsanfragen
empfangen werden, dann wird der gesamte Inhalt eines Puffers zwischen
den Datenverarbeitungseinrichtungen übertragen, ohne dass die Datenübertragungseinrichtung
weiß,
ob der Puffer gefüllt
ist oder nicht. Die Datenübertragungseinrichtung,
d. h. die Steuerung, der digitale Signalprozessor oder die DMA-Datenübertragungseinrichtung,
muss getrennte Quellzeiger, Zielzeiger und Blocklängenzähler für jeden
Datenkanal, z. B. DMA-Datenkanal, verwalten. Das Datenziel, d. h.
der Speicher, muss ausreichend groß sein, um die realen Daten
und die leeren Puffer-Bereiche aufzunehmen.
-
Der Vorteil des Vorsehens von Puffer-Bereichen
in den zweckgebundenen Datenverarbeitungseinrichtungen und einem
Speicher besteht darin, dass die Datenverarbeitungsvorrichtung und
die Steuerung der Datenübertragung
einfach aufgebaut sind.
-
Nachteile bestehen darin, dass eine
hohe Übertragungsbandbreite
erforderlich ist, da immer die maximal mögliche Menge an Daten übertragen
wird, dass eine mindestens erforderliche Busfrequenz und Bus-Wortbreite
gewährleistet
sein muss, dass ein zusätzlicher
Speicherraum bei der Datenquelle und dem Datenziel erforderlich
ist, der für
leere Datenblöcke
vorgesehen ist, und dass die Daten im Ziel wieder zu zusammenhängenden
Datenströmen
angeordnet werden müssen.
-
Eine weitere bekannte Möglichkeit,
um dem Problem der variablen Datenrate und Datenstrukturen in Datenverarbeitungsvorrichtungen
zu begegnen, besteht darin, die Daten von mehreren Datenpaketen
oder Daten-Puffern zu einem größeren Datenblock
für eine Übertragung
zu verbinden. Dieser größere Datenblock muss
nach der Übertragung
zerlegt werden. Diese Vorgehensweise besitzt den Vorteil, dass die
Datenübertragung
sehr einfach ist. Ein Nachteil besteht darin, dass die Daten für jeden
Datenkanal an dem Datenziel neu angeordnet und zu zusammenhängenden
Datenströmen
verbunden werden müssen.
Die Datenströme
müssen
nach Steuerinformationen über
die Datenstruktur abgesucht werden. Diese Informationen müssen verwendet
werden, um die Daten für
jeden Datenkanal in zusammenhängenden
Datenströmen
anzuordnen.
-
Eine weitere bekannte Möglichkeit,
um dem Problem der variablen Datenraten und Datenstrukturen in Datenverarbeitungsvor richtungen
zu begegnen, besteht darin, getrennte Datenübertragungskanäle für jeden Datenkanal
oder Teildatenkanal in einer zweckgebundenen Datenverarbeitungseinrichtung
einzurichten. Ein Vorteil besteht hier darin, dass kein zusätzliches
nachträgliches
Verarbeiten erforderlich ist, da die Datenkanäle zu den richtigen Datenzielen
gerichtet sind. Ein Nachteil besteht darin, dass die Komplexität der Datenverarbeitungsvorrichtung
zunimmt, da jeder Datenkanal und jeder Teildatenkanal getrennte
Datenübertragungs-Anforderungssignale,
Quellzeiger, Zielzeiger und Blocklängenzähler erfordert. Ein weiterer
Nachteil besteht darin, dass, um die variablen Datenraten zu verarbeiten,
ein Speicherblock in dem Datenziel für jeden Datenkanal oder Teildatenkanal
erforderlich ist, der die maximal mögliche Datenrate verarbeiten
kann.
-
Die Aufgabe der vorliegenden Erfindung
besteht darin, eine einfache Datenverarbeitungsvorrichtung zu schaffen,
die variable Datenraten und variable Datenstrukturen schnell und
flexibel verarbeiten kann.
-
Diese Aufgabe wird durch eine Anordnung
nach Anspruch 1 gelöst.
-
Die der vorliegenden Erfindung zugrunde
liegende Idee besteht darin, eine Datenübertragungsparameterliste,
deren Einträge
eine Serie von Übertragungsaufgaben
beinhaltet, zu verwenden, wobei die Datenübertragungsparameterliste durch
eine zweckgebundene Datenverarbeitungseinrichtung selbst erzeugt
wird. Die Erfindung schafft eine Datenverarbeitungsvorrichtung mit
mindestens einer zweckgebundenen Datenverarbeitungseinrichtung eines
ersten Typs; einer zentralen Datenverarbeitungseinrichtung zum Steuern
von zweckgebundenen Datenverarbeitungseinrichtungen; mindestens
einem Datenübertragungskanal
zum Übertragen
von Daten zwischen den Datenverarbeitungseinrichtungen; und einer
Datenübertragungseinrichtung zum Übertragen
von Daten zwischen den Datenverarbeitungseinrichtungen über den
mindestens einen Datenübertragungskanal
abhängig
von Datenübertragungsparametern,
wobei die Datenübertragungsparameter, die
der mindestens einen zweckgebundenen Datenverarbeitungseinrichtung
des ersten Typs zugeordnet sind, durch die mindestens eine zweckgebundene
Datenverarbeitungseinrichtung des ersten Typs erzeugt werden.
-
In den Unteransprüchen finden sich vorteilhafte
Weiterbildungen und Verbesserungen der in Anspruch 1 angegebenen
Datenverarbeitungsvorrichtung.
-
Gemäß einer bevorzugten Weiterbildung
der Erfindung weist die mindestens eine zweckgebundene Datenverarbeitungseinrichtung
des ersten Typs einen lokalen Datenspeicher auf.
-
Gemäß einer weiteren bevorzugten
Weiterbildung weist die zentrale Datenverarbeitungseinrichtung einen
internen Datenspeicher zum Speichern von durch die zweckgebundenen
Datenverarbeitungseinrichtungen zu der zentralen Datenverarbeitungseinrichtung übertragenen
Daten auf.
-
Gemäß einer weiteren bevorzugten
Weiterbildung ist die Größe des internen
Datenspeichers der zentralen Datenverarbeitungseinrichtung ein Vielfaches
der Größe des lokalen
Datenspeichers der zweckgebundenen Datenverarbeitungseinrichtung
des ersten Typs.
-
Gemäß einer weiteren bevorzugten
Weiterbildung weist der interne Datenspeicher Speicherbereiche mit
einer Größe von einem
Zeitschlitz auf, und der lokale Datenspeicher der zweckgebundenen
Datenverarbeitungseinrichtung des ersten Typs weist Speicherbereiche
mit einer Größe von 1/10
Zeitschlitz auf .
-
Gemäß einer weiteren bevorzugten
Weiterbildung weist die Datenverarbeitungsvorrichtung ferner mindestens
eine zweckgebundene Datenverarbeitungseinrichtung eines zweiten
Typs auf, wobei die Datenübertragungsparameter,
die der mindestens einen zweckgebundenen Datenverarbeitungseinrichtung
des zweiten Typs zugeordnet sind, durch die zentrale Datenverarbeitungseinrichtung
erzeugt werden.
-
Gemäß einer weiteren bevorzugten
Weiterbildung ändern
sich bei der mindestens einen zweckgebundenen Datenverarbeitungseinrichtung
des ersten Typs die Datenübertragungsparameter
schnell, und bei der mindestens einen zweckgebundenen Datenverarbeitungseinrichtung
des zweiten Typs ändern
sich die Datenübertragungsparameter
langsam. Als Zeitreferenz, auf die die zeitliche Änderung
mit den Attributen „schnell" und „langsam" bezogen werden kann,
dient vorzugsweise ein Zeitrahmen.
-
Gemäß einer weiteren bevorzugten
Weiterbildung weist die Datenverarbeitungsvorrichtung ferner einen
zentralen Datenübertragungsparameterspeicher
zum Speichern von Datenübertragungsparametern
auf.
-
Gemäß einer weiteren bevorzugten
Weiterbildung weist die mindestens eine zweckgebundene Datenverarbeitungseinrichtung
des ersten Typs einen lokalen Datenübertragungsparameterspeicher
zum Speichern der Datenübertragungsparameter
auf.
-
Gemäß einer weiteren bevorzugten
Weiterbildung weist der lokale Datenspeicher und der lokale Datenübertragungsparameterspeicher
der mindestens einen zweckgebundenen Datenverarbeitungseinrichtung
des ersten Typs, der interne Datenspeicher der zentralen Datenverarbeitungseinrichtung
und der zentrale Datenübertragungsparameterspeicher
normale Speicherelemente und Schattenspeicherelemente auf.
-
Gemäß einer weiteren bevorzugten
Weiterbildung weist die die zentrale Datenverarbeitungseinrichtung
einen digitalen Signalprozessor auf.
-
Gemäß einer weiteren bevorzugten
Weiterbildung weist die mindestens eine zweckgebundene Datenverarbeitungseinrichtung
des ersten Typs einen RAKE-Empfänger
auf.
-
Gemäß einer weiteren bevorzugten
Weiterbildung weist die mindestens eine zweckgebundene Datenverarbeitungseinrichtung
des zweiten Typs einen Kanaldecodierer und ein Sendemodul auf.
-
Gemäß einer weiteren bevorzugten
Weiterbildung ist die Datenübertragungseinrichtung
eine Direct-Memory-Access- (DMA-) Datenübertragungseinrichtung, und
der mindestens eine Datenübertragungskanal
ist ein DMA-Kanal.
-
Gemäß einer weiteren bevorzugten
Weiterbildung weisen die Datenübertragungsparameter
eine Datenmenge, eine Quelladresse und eine Zieladresse der bewegten
Daten auf.
-
Ein Vorteil der vorliegenden Erfindung
besteht darin, dass eine Steuerung oder eine zentrale Datenverarbeitungseinrichtung,
wie z. B. ein digitaler Signalprozessor, die dynamischen Variationen
des Datenflusses nicht überwachen
muss und eine Datenübertragungsvorrichtung
nicht neu konfigurieren muss, bevor sich der Datenfluss ändert. Dies
ist dadurch begründet,
dass die zweckgebundenen Datenverarbeitungseinrichtungen die sich ändernden
Datenstrukturen und Datenraten kennen und die Datenübertragungen
durch Erzeugen und Übertragen
einer Datenübertragungsparameterliste
zu einer Datenübertragungseinrichtung
steuern. Es wird eine extrem hohe Flexibilität erreicht, da unterschiedlichste
zweckgebundene Datenverarbeitungseinrichtungen die Einträge der verknüpften Datenübertragungsparameterliste
selbst ausführen
und somit beispielsweise durch einen Datenübertragungsparameterlisten-Speicher die unterschiedlichen
zweckgebundenen Datenverarbeitungseinrichtungen und auch die unterschiedlichen
Erfordernisse an die Datenübertragung
entkoppelt werden. Es ist somit möglich, auf einzelne Anforderungen
einer Mehrzahl von zweckgebundenen Datenverarbeitungseinrichtungen
punktuell eingehen zu können,
ohne diese Anforderungen bei der Implementierung einer Datenübertragungseinrichtung,
z. B. einer DMA-Datenübertragungseinrichtung,
berücksichtigen
zu müssen,
bzw. diese Anforderungen durch eine zentrale Datenverarbeitungseinrichtung,
wie z. B. einen digitalen Signalprozessor, erfüllen zu müssen. Die Erfüllung dieser
Anforderungen durch eine Datenübertragungseinrichtung
verhindert die Wiederverwendbarkeit und erhöht den Entwurfs- und Verifikations-Aufwand. Die Erfüllung der
Anforderungen durch eine zentrale Datenverarbeitungseinrichtung
würde hingegen
dem ursprünglichen
Ansatz, eine zentrale Datenverarbeitungseinrichtung durch eine Datenübertragungseinrichtung
zu entlasten, entgegenwirken und damit zu einer Reduktion der Systemeffizienz
führen.
-
Ein weiterer Vorteil der vorliegenden
Erfindung besteht darin, dass die Steuerung oder die zentrale Datenverarbeitungsrichtung
keine häufigen
Aufgabenwechsel durchführen
müssen,
um den Datenfluss zu überwachen
und zu steuern. Es besteht daher eine reduzierte Last des Bussystems.
-
Ein weiterer Vorteil der vorliegenden
Erfindung besteht darin, dass eine Datenübertragungseinrichtung sehr
schnell neu programmiert werden kann, um komplexe Änderungen
des Datenflusses zu bewältigen,
und anstelle eines komplexeren Systems verwendet werden kann.
-
Ein weiterer Vorteil der vorliegenden
Erfindung besteht darin, dass durch die Verwendung einer Datenübertragungsparameterliste
lediglich der gerade beschriebene Bereich übertragen wird und somit Bandbreite
gespart wird. Dies ist insbesondere bemerkbar, wenn beispielsweise
in einem RAKE-Empfänger
unterschiedliche Datenkanäle
demoduliert werden, die unterschiedliche Spreizfaktoren aufweisen,
so dass ein Symbol-Puffer mit einem kleinen Spreizfaktor vollständig und
andere Symbol-Puffer
mit einem hohen Spreizfaktor nur zum Teil übertragen werden müssen.
-
Bevorzugte Ausführungsbeispiele der vorliegenden
Erfindung sind im Folgenden unter Bezugnahme auf die beigefügten Zeichnungen
näher erläutert. Es
zeigen:
-
1 ein
Ausführungsbeispiel
einer Datenverarbeitungsvorrichtung gemäß der Erfindung;
-
2 ein
weiteres Ausführungsbeispiel
einer Datenverarbeitungsvorrichtung gemäß der Erfindung;
-
3 ein
weiteres Ausführungsbeispiel
einer Datenverarbeitungsvorrichtung gemäß der Erfindung;
-
4 die Übertragung
von Symbolen zwischen einem RAKE-Empfänger und
einem digitalen Signalprozessor bei Multicode-Fingern; und
-
5 die Übertragung
von Symbolen zwischen einem RAKE-Empfänger und
einem digitalen Signalprozessor bei Dualcode-Fingern.
-
In den Figuren bezeichnen gleiche
Bezugszeichen gleiche oder funktionsgleiche Bestandteile.
-
1 zeigt
ein Ausführungsbeispiel
einer Datenverarbeitungsvorrichtung gemäß der Erfindung. Die Datenverarbeitungsvorrichtung
weist zweckgebundene Datenverarbeitungseinrichtungen 2,
eine zentrale Datenverarbeitungseinrichtung 4, eine Datenübertragungseinrichtung 6 und
einen Speicher 8 für
Datenübertragungsparameter
bzw. eine Datenübertragungsparameterliste
auf. Die Datenverarbeitungsvorrichtung wird vorzugsweise in Komponenten
eines UMTS-Funktelekommunikationssystems, wie z. B. Mobilstationen
und Basisstationen, verwendet. Die zweckgebundenen Datenverarbeitungseinrichtungen 2 sind
vorzugsweise UMTS-Peripherieelemente, d. h. ein RAKE-Empfänger 10,
ein Kanaldecodierer 12 und ein Sendemodul 14.
-
Die zentrale Datenverarbeitungseinrichtung 4 ist
vorzugsweise ein digitaler Signalprozessor kann aber alternativ
ein Mikroprozessor oder eine andere beliebige zentrale Datenverarbeitungseinrichtung
sein. Die Datenübertragungseinrichtung 6 ist
vorzugsweise eine DMA-Datenübertragungseinrichtung,
und der Speicher 8 ist vorzugsweise ein Direktzugriffsspeicher
(RAM; RAM = Random Access Memory).
-
Die zweckgebundenen Datenverarbeitungseinrichtungen 2 sind
mit einem Bus 16 untereinander und mit der Datenübertragungseinrichtung 6 zum
bidirektionalen Übertragen
von Daten verbunden. Der RAKE-Empfänger 10 ist mit dem
Speicher 8 zur Übertragung
von Datenübertragungsparametern
((1)) des RAKE-Empfängers 10 zu
dem Speicher 8 direkt verbunden. Die zentrale Datenverarbeitungseinrichtung 4 ist
mit dem Speicher 8 verbunden, um Datenübertragungsparameter ((2),
(3)), die durch die zentrale Datenverarbeitungseinrichtung 4 für den Kanaldecodierer 12 und
das Sendemodul 14 erzeugt werden, zu dem Speicher 8 zu übertragen.
Der Speicher 8 ist mit der Datenübertragungseinrichtung 6 zum Übertragen
von allen Datenübertragungsparametern
der zweckgebundenen Datenverarbeitungseinrichtungen 2 zu
der Datenübertragungseinrichtung 6 verbunden.
Die zentrale Datenverarbeitungseinrichtung 4 ist mit der
Datenübertragungseinrichtung 6 zum
bidirektionalen Übertragen
von Daten von den zweckgebundenen Datenverarbeitungseinrichtungen 2 über den
Bus 16 bzw. von der zentralen Datenverarbeitungseinrichtung 4 über die
Datenübertragungseinrichtung 6 und
den Bus 16 zu den zweckgebundenen Datenverarbeitungseinrichtungen 2 verbunden. Die
zentrale Datenverarbeitungseinrichtung 4 ist über Steuerleitungen 17 mit
den zweckgebundenen Datenverarbeitungseinrichtungen 2 verbunden,
um die zweckgebundenen Datenverarbeitungseinrichtungen zu programmieren.
-
Der RAKE-Empfänger 10 dient dazu,
um aus einem empfangenen Funksignal, das sich aus einer Überlagerung
von auf verschiedenen Ausbreitungswegen übertragenen Signalen zusammensetzt, ein
Sendesignal wiederherzustellen. Der RAKE-Empfänger 10 weist dazu
Finger auf, die jeweils einem Ausbreitungsweg eines Signals zugeordnet
sind. Der Kanaldecodierer 12 erhält von dem RAKE-Empfänger 10 ein
CDMA-decodiertes Funksignal, z. B. ein mit einem Faltungscode fehlerschutzcodiertes
und über
einen gestörten
Funkkanal übertragenes
Funksignal, und decodiert dasselbe gemäß dem Fehlerschutzcode. Der
Kanaldecodierer 12 dient dazu, die in dem Funksignal enthaltenen
Nutzinformationen mit möglichst
hoher Erfolgsquote, d. h. geringer Bit-Fehlerrate, wiederherzustellen.
Das Sendemodul 14 führt
für ein
zu sendendes Signal eine Kanalcodierung mit beispielsweise einem
Faltungscode durch und teilt das Signal mit dem CDMA-Vielfachzugriffsverfahren
auf physikalische Kanäle
auf .
-
Die zentrale Datenverarbeitungseinrichtung 4 dient
zur Signalverarbeitung und zur Steuerung der Datenverarbeitungsvorrichtung.
Die zentrale Datenverarbeitungseinrichtung 4 erhält beispielsweise über den
Bus 16 und die Datenübertragungseinrichtung 6 von
den verschiedenen zweckgebundenen Datenverarbeitungseinrichtungen 2 zu
verarbeitende Daten, führt
in sich eine Verarbeitung dieser Daten durch und leitet dieselben über die
Datenübertragungseinrichtung 6 und
den Bus 16 an eine entsprechende zweckgebundene Datenverarbeitungseinrichtung
weiter.
-
Der Speicher 8 für die Datenübertragungsparameterliste
weist vorzugsweise eine Datenübertragungsparameterliste
bzw. verknüpfte
Liste (Linked List) auf, deren Größenordnung im 10-er Bereich
liegt. Jeder Eintrag der Datenübertragungsparameterliste
leitet mit Hilfe eines Datenübertragungsanfragesignals
(nicht gezeigt) an die Datenübertragungseinrichtung 6 eine
Datenübertragung
zwischen beispielsweise einer zweckgebundenen Datenverarbeitungseinrichtung 2 und
der zentralen Datenverarbeitungseinrichtung 4 ein. Jeder
Eintrag weist dazu eine Quelladresse, eine Zahl der zu übertragenden
Datenworte und eine Zieladresse auf. Die Daten werden zwischen der
Quellad resse und der Zieladresse übertragen. Die Einträge der Datenübertragungsparameterliste
bzw. die Datenübertragungsparameter
sind an einem Ort gespeichert, bei dem dieselben direkt durch die
Datenübertragungseinrichtung 6 verwendet
werden können,
um den Datenfluss zu steuern. Dazu ist der Speicher 8 vorzugsweise
ein globales Speichermodul, das im wesentlichen eine Speichereinrichtung
ist, die die Einträge
der Datenübertragungsparameterliste
enthält,
auf die die Datenübertragungseinrichtung 6 einen
Zugriff besitzt. In dem Speicher 8 sind bei der Erfindung
vorzugsweise Schattenspeicherelemente vorgesehen, wenn während einer
Datenübertragung
die Datenübertragungsparameter
umprogrammiert werden müssen.
-
Die Datenübertragungseinrichtung 6 erhält die Datenübertragungsparameter
der Datenübertragungsparameterliste
von dem Speicher 8 in einer Form, die direkt durch dieselbe
ohne eine weitere Umwandlung verwendet werden kann. Die Datenübertragungseinrichtung 6 besitzt
einen Zugriff auf den Speicher 8 und ist dauerhaft aktiviert,
ist jedoch passiv, wenn von einer jeweiligen zweckgebundenen Datenverarbeitungseinrichtung 2 kein
Datenübertragungsanfragesignal
aktiviert ist. Vor jeder Datenübertragung über den
Bus 16 wird die Datenübertragungsparameterliste
durch die Datenübertragungseinrichtung 6 gelesen
und die verschiedenen Datenübertragungsaufgaben
(Tasks) werden geprüft.
Danach erfolgt die Übertragung
der Daten gemäß den Einträgen in der
Datenübertragungsparameterliste.
Sobald eine Übertragungsaufgabe
beendet ist, wird der nächste
Eintrag in der Datenübertragungsparameterliste
ausgeführt.
-
Bei dem in 1 gezeigten Ausführungsbeispiel werden die Datenübertragungsparameter
der Datenübertragungsparameterliste
für den
RAKE-Empfänger 10 durch
den RAKE-Empfänger 10 selbst
und für
den Kanaldecodierer 12 und das Sendemodul 14 durch
die zentrale Datenverarbeitungseinrichtung 4 erzeugt. Allgemein
können
die zweckgebundenen Datenverarbeitungseinrichtungen 2 die
Datenübertragungsparameter der
Datenübertra gungsparameterliste
selbst erzeugen und Einträge
in dem Speicher 8 vornehmen bzw. unter einer speziellen
Adresse in einem Adressraum zur Verfügung stellen. Die Einträge in der
Datenübertragungsparameterliste
können
alternativ durch die zentrale Datenverarbeitungseinrichtung 4 erzeugt
und in den Speicher 8 programmiert werden. Die Erzeugung
der Datenübertragungsparameter
durch die zentrale Datenverarbeitungseinrichtung 4 ist
jedoch nur dann sinnvoll, wenn sich die Datenübertragungsparameter lediglich
auf großer
Zeitbasis ändern.
Dies ist beispielsweise bei einem UMTS-Funktelekommunikationssystem für den in 1 gezeigten Kanaldecodierer 12 und
das Sendemodul 14 der Fall. Hier ändern sich die Übertragungsraten auf
einer Block-, Zeitrahmen- oder sogar TTI-Ebene (TTI = Transmission
Time Intervall; bis zu 8 Zeitrahmen). Dagegen ändern sich
die Übertragungsinformationen
bei zeitkritischen zweckgebundenen Datenverarbeitungseinrichtungen
wie dem RAKE-Empfänger 10 auf
Zeitschlitz-Ebene oder sogar auf Teil-Zeitschlitz- (Sub-Slot-) Ebene.
Hier ist eine Programmierung einer Datenübertragungsparameterliste durch
die zentrale Datenverarbeitungseinrichtung 4 nicht sinnvoll.
-
Der Kanaldecodierer 12 und
das Sendemodul 14 weisen jeweils einen Eingangs-Puffer 18 und
einen Ausgangs-Puffer 20 auf, die über eine Schnittstelle 22 mit
dem Datenbus 16 verbunden sind. Der Eingangs-Puffer 18 nimmt über den
Bus 16 eintreffende Daten auf, während der Ausgangs-Puffer 20 Daten
zu dem Bus 16 ausgibt. Die Schnittstelle 22 dient
zur Verbindung und Synchronisierung des jeweiligen Eingangs-Puffers 18 und
des jeweiligen Ausgangspuffers 20 mit dem Bus 16.
-
Der RAKE-Empfänger 10 weist einen
Datenübertragungsparamter-Puffer 24 zur
Zwischenspeicherung der Datenübertragungsparameter,
die durch den RAKE-Empfänger 10 erzeugt
werden, auf. Über
den Datenübertragungsparamter-Puffer 24 werden
die Datenübertragungsparameter
zu dem Speicher 8 weitergeleitet. Der RAKE-Empfänger 10 weist
ferner einen Betriebsparameter- Puffer 26 zur
Speicherung von Betriebsparametern des RAKE-Empfängers 10 und
einen Symbol-Puffer 28, die über eine Schnittstelle 30 mit
dem Bus 16 verbunden sind, auf. Der Symbol-Puffer 28 dient
dazu, um die Symbole bzw. Daten von physikalischen Kanälen zwischenzuspeichern.
Der Symbol-Puffer 28 weist zu diesem Zweck vorzugsweise
Teil-Symbol-Puffer zur Zwischenspeicherung der Symbole der einzelnen
physikalischen Kanäle
auf. Aufgrund der stark schwankenden Datenübertragungsrate sind bei der
vorliegenden Erfindung im Falle von UMTS-Funktelekommunikationssystemen
vorzugsweise gleich große
Teil-Symbol-Puffer für
alle physikalischen Kanäle
vorgesehen, die aber nur selten gleichmäßig gefüllt werden und übertragen
werden. Somit wird aus jedem Teil-Symbol-Puffer eine unterschiedliche
Zahl von Datenworten übertragen,
die als unterschiedliche Einträge
in der Datenübertragungsparameterliste
aufgeführt
sind. Der RAKE-Empfänger 10,
der einmal von der zentralen Datenverarbeitungseinrichtung 4 programmiert
wurde, ermittelt selbst die Anzahl der Daten in den Teil-Symbol-Puffern des Symbol-Puffers 28,
die zu der zentralen Datenverarbeitungseinrichtung 4 zu übertragen
sind. Die Quelladresse ist durch eine Offset-Adresse bzw. Versatz-Adresse
des Symbol-Puffers 28 gegeben. Die Zieladresse wird einmal
als Offset-Wert durch die zentrale Datenverarbeitungseinrichtung 4 definiert
und dann mit jedem Datenwort, das übertragen wird, inkrementiert,
bis von der zentralen Datenverarbeitungseinrichtung 4 wieder
ein Offset-Wert übertragen
wird.
-
Die zentrale Datenverarbeitungseinrichtung 4 weist
einen internen Speicher 34 auf, in dem die von den zweckgebundenen
Datenverarbeitungseinrichtungen 2 übertragenen Symbole und Zwischenergebnisse
der Signalverarbeitung gespeichert werden können. Die zentrale Datenverarbeitungseinrichtung 4 ist über eine Schnittstelle 36 mit
der Datenübertragungseinrichtung 6 verbunden.
Der Speicher 8 weist ferner einen Eingang für ein Taktsignal 32 auf,
mit dem die Übertragung
der Datenübertragungsparameter
von dem RAKE-Empfänger
und der zentralen Da tenverarbeitungseinrichtung 4 und zu
der Datenübertragungseinrichtung 6 gesteuert wird.
-
2 zeigt
ein weiteres Ausführungsbeispiel
einer Datenverarbeitungsvorrichtung gemäß der Erfindung. Hier ist der
RAKE-Empfänger 10 über den
Datenübertragungsparameter-Puffer 24 direkt
mit der Datenübertragungseinrichtung 6 verbunden.
Der RAKE-Empfänger 10 erzeugt
die demselben zugeordneten Datenübertragungsparameter
((1)) selbst und speichert diese in dem Datenübertragungsparameter-Puffer 24,
bis diese durch die Datenübertragungseinrichtung 6 abgerufen
werden. Die Datenübertragungsparameter
des RAKE-Empfängers 10 werden
daher im Gegensatz zu dem Ausführungsbeispiel
von 1 direkt zu der
Datenübertragungseinrichtung 6 übertragen
und nicht in dem Speicher 8 zusammen mit den Datenübertragungsparametern
((2), (3)) des Kanaldecodierers 12 und
des Sendemoduls 14 gespeichert.
-
3 zeigt
ein weiteres Ausführungsbeispiel
einer Datenverarbeitungsvorrichtung. Im Vergleich zu dem Ausführungsbeispiel
von 2 werden bei diesem
Ausführungsbeispiel
die Datenübertragungsparameter
des Kanaldecodierers 12 und des Sendemoduls 14 ebenfalls
durch diese selbst erzeugt und in Datenübertragungsparameter-Puffern 38 lokal
zwischengespeichert, um direkt zu der Datenübertragungseinrichtung 6 übertragen
zu werden. Die Datenübertragungsparameter
werden daher nicht durch die zentrale Datenverarbeitungseinrichtung
erzeugt und es ist ferner kein Speicher für Datenübertragungsparameter vorgesehen.
Der RAKE-Empfänger 10,
der Kanaldecodierer 12 und das Sendemodul 14 werden über ein
gemeinsames Taktsignal 40 zeitlich gesteuert, das den zweckgebundenen
Datenverarbeitungseinrichtungen 2 zugeführt wird.
-
Allgemein können bei der vorliegenden Erfindung
die Datenübertragungsparameter,
die in dem Speicher 8 in 1 und 2 gespeichert sind, an einer
beliebigen Stelle in einem Adressraum der Datenverarbeitungsvorrichtung
gespeichert sein. Die Datenübertragungsparameter
können
daher für
eine zweckgebundene Datenverarbeitungseinrichtung auch in der zweckgebundenen
Datenverarbeitungseinrichtung selbst und für andere zweckgebundene Datenverarbeitungseinrichtungen
an einer zentralen Stelle in einem Speicher abgelegt sein.
-
Die Ausführungsbeispiele der 1 und 2 sind besonders vorteilhaft, da nur
durch zweckgebundene Datenverarbeitungseinrichtungen, wie dem RAKE-Empfänger, die
zeitkritische und extrem variable Datenübertragungsparameter aufweisen,
die Datenübertragungsparameter
direkt erzeugt werden, wobei bei den restlichen Datenverarbeitungseinrichtungen
die Datenübertragungsparameter
durch die zentrale Datenverarbeitungseinrichtung 4 programmiert
werden.
-
Es sei bemerkt, dass die Speicher
und Puffer, die bei der vorliegenden Erfindung verwendet werden, vorzugsweise
Direktzugriffsspeicher (RAM; Random Access Memory) aufweisen.
-
Bei der vorliegenden Erfindung sind
in dem Symbol-Puffer 28 des RAKE-Empfängers 10 vorzugsweise zwei
Symbol-Puffer vorgesehen, deren Inhalt zu der zentralen Datenverarbeitungseinrichtung 4 übertragen werden
muss. Beide Symbol-Puffer unterscheiden sich durch die Art der zu
speichernden Datentypen und die erforderliche Datenübertragungsrate.
-
Es ist einerseits ein Symbol-Puffer,
der als Multicode- (MC-) Symbol-Puffer bezeichnet wird und die Resultate
der Datendemodulation eines Multicode-Fingers speichert, und andererseits
ein Dualcode-Symbol-Puffer, der als Dualcode- (DC-) Symbol-Puffer
bezeichnet wird und die Resultate der Demodulation eines Dualcode-Fingers
bzw. Doppelcode-Fingers speichert, in dem Symbol-Puffer 24 des
RAKE-Empfängers
vorgesehen.
-
4 zeigt
schematisch für
das Ausführungsbeispiel
von 2 die Übertragung
von Symbolen von einem Multicode-Symbol- Puffer 28A des RAKE-Empfängers 10 (2) zu dem internen Speicher 34 des
digitalen Signalprozessors (DSP) mit Hilfe von DMA-Übertragungen
einer DMA-Übertragungseinrichtung.
Der RAKE-Empfänger
weist zusätzlich
zu dem Multicode-Symbol-Puffer 28A Steuerregister 42 auf
und wird durch Steuer- und Zeitstempel-Bits 94 von dem
digitalen Signalprozessor gesteuert. Der Multicode-Symbol-Puffer 28A enthält fünf verschiedene
Teil-Symbol-Puffer bzw. Speicherbereiche SYMB_MC_BUF1, ...,5. Die
Größe der unterschiedlichen
Teil-Symbol-Puffer ist vorzugsweise darauf ausgerichtet, um Symbole
mit einer Länge von
1/10 Zeitschlitz und einem Spreizfaktor (SF) von 4 bzw. 256 der
betreffenden Daten- oder Steuerkanäle zu speichern.
-
Tabelle 1 zeigt die Zuordnung von
physikalischen Kanälen
zu den Teil-Symbol-Puffern und den Inhalt der Teil-Symbol-Puffer.
-
-
Die Teil-Symbol-Puffer SYMB_MC_BUF1,...,3
der physikalischen Kanäle
DPCH1, DPCH2/DSCH1, DPCH3/DSCH2 weisen bei einem Spreizfaktor (SF)
von 4 jeweils eine Größe von 64
Symbolen bzw. Einträgen (2 × 8 Bit
(I, Q)) auf. Der Teil-Symbol-Puffer SYMB_MC_BUF4 des physikalischen
Kanals S-CCPCH weist ebenfalls 64 Symbole (2 × 8 Bit (I, Q)) auf. Der physikalische Kanal
CPICH weist eine Größe von 6
Symbolen, d. h. einem Symbol (2 × 8 Bit (I, Q)) für jede Zelle
bei sechs aktiven Zellen, auf. Dies liegt daran, dass bei dem Fall
eines SSDT- (= Site-Selection Diversity Transmission) Leistungssteuermodus
eines UMTS-Funktelekommunikationssystems die Mobilstation auf der
Basis der zellbezogenen CPICH-Leistung über das Übergeben der Verbindung zwischen
Basisstationen des aktiven Satzes entscheidet. Daher müssen die
integrierten CPICH-Symbole über
alle Ausbreitungswege einer Zelle übertragen werden.
-
Der interne Speicher 34 des
digitalen Signalprozessors dient dazu, um Symbole eines vollständigen Zeitschlitzes
(Slot) aufzunehmen. Die Symbole werden von dem Multicode-Symbol-Puffer 28A zu
dem internen Speicher 34 des digitalen Signalprozessors
durch DMA-Übertragungen
bewegt. Innerhalb des internen Speichers 34 werden die
Symbole in Kanal-zugeordneten Bereichen 46 bis 54 während aufeinander
folgender DMA-Übertragungen
der DMA-Datenübertragungseinrichtung,
die eine Größe von 1/10
Zeitschlitz aufweisen, nahtlos zu einem vollständigen Zeitschlitz verknüpft. Der
interne Speicher 34 innerhalb des digitalen Signalprozessors
weist daher eine Größe von 10 × (Größe des Multicode-Symbol-Puffers)
auf, da der digitale Signalprozessor im Gegensatz zu dem RAKE-Empfänger die übertragenen
Daten zeitschlitzweise verarbeitet.
-
Die Steuerregister 42 dienen
dazu, um die DMA-Übertragungen
zu steuern. Die Steuerregister 42 bestimmen die Datenübertragungsparameterliste
bzw. die verknüpfte
Liste für
die Datenübertragung.
Die Steuerregister spezifizieren den Inhalt der Teil-Symbol-Puffer
des Multicode-Symbol-Puffers 28A und weisen Zählerregister 56,
Quelladressregister 58, Zieladressregister 60 und
Offset-Register 62 auf.
-
Die Quelladressregister 58 dienen
dazu, um Quelladressen SCR1_MC,..., SCR5 MC innerhalb der Teil-Symbol-Puffer
des Multicode-Symbol-Puffers 28A zu speichern, die Startadressen
von Teil-Symbol-Puffern zu Beginn der Übertragung oder Adressen innerhalb
der Teil-Symbol-Puffer während
der Übertragung sind.
Die Zieladressregister 60 dienen dazu, um Zieladressen
DEST1_MC,..., DEST5_MC innerhalb des internen Speichers 34 des
digitalen Signalprozessors zu speichern. Die Offset-register 62 dienen
dazu, um Startadressen DOFF1_MC,..., DOFF5_MC der Kanal-zugeordneten
Bereiche 46 bis 54 zu Beginn der Übertragung an
einer Zeitschlitzgrenze zu speichern. Die Zählerregister 56 SYMB_MC_CNT1,...,5
dienen dazu, um zu bestimmen, wie viele Einträge innerhalb der Teil-Symbol-Puffer
SYMB_MC_BUF1 ...,5 gültig
sind. Lediglich der Inhalt der gültigen
Speicherzellen der Teil-Symbol-Puffer wird zu dem internen Speicher
des digitalen Signalprozessors durch die DMA-Datenübertragungseinrichtung übertragen.
-
Die Zählerregister SYMB_MC_CNT1,...,5
sind den einzelnen Teil-Symbol-Puffern SYMB_MC_BUF1,...,5
zugeordnet. Tabelle 2 zeigt die Zuordnung der Zählerregister SYMB_MC_CNT 1,...,5 zu
den Teil-Symbol-Puffern SYMB_MC_BUF 1,...,5.
-
-
Die Zählregister spezifizieren eine
Zahl, die die Menge von Datenworten eines Teil-Symbol-Puffers des Multicode-Symbol-Puffers 28A angibt,
die durch die DMA-Datenübertragungseinrichtung übertragen
werden soll. Nach der Übertragung
des Inhalts von einem Teil-Symbol-Puffer fährt die DMA-Datenübertragungseinrichtung
zu dem nächsten
Teil-Symbol-Puffer
fort. Die Kanal-zugeordneten Bereiche 46 bis 54 in
dem Speicher 34 des digitalen Signalprozessors sind durch
die Offset-Adressen DOFF1_MC,..., DOFF5_MC der Offset-Register 62 spezifiziert,
die durch den digitalen Signalprozessor bestimmt werden. Am Anfang
eines Zeitschlitzes werden diese Adressen in die Zielregister 60 für die Zieladressen
DEST1_MC, ... DEST5_MC geladen, wie es durch einen Pfeil 64 gezeigt
ist. Der Inhalt dieser Zielregister 60 wird für jedes übertragene
Datenwort inkrementiert. Der Inhalt der Zielregister 60 wird
für den
nächsten
DMA-Übertragungsvorgang
beibehalten, der durch einen Teil-Symbol-Puffer-Überlauf oder einen Zeitstempel
einer spezifizierten Übertragung
zu dem digitalen Signalprozessor ausgelöst wird. Die Quellregister 58 werden
ebenfalls für
jedes Wort inkrementiert, das übertragen
wird, mit der Ausnahme, dass der Inhalt nicht für den nächsten DMA-Übertragungsvorgang
beibehalten wird, da die Übertragung
immer bei der Startadresse eines Teil-Symbol-Puffers beginnt.
-
Bevor ein DMA-Übertragungsvorgang eingerichtet
werden kann, müssen
die Steuerregister 42, die oben beschrieben sind, als eine
Datenübertragungsparameterliste
bzw. verknüpfte
Liste geladen werden. Zwei Steuersignale 65 werden von
dem RAKE-Empfänger erzeugt,
um die DMA-Übertragung
zu steuern:
- a) das Datenübertragungsanfragesignal DMA
REQUEST MC, das die DMA-Übertragung
basierend auf der Verfügbarkeit
der Daten anhält
oder fortfährt;
und
- b) ein Signal initialize DMA MC, das Informationen für den DMA-Übertragungsvorgang
enthält,
um die Steuerregister als eine Datenübertragungsparameterliste für die nächste DMA-Übertragung zu laden.
-
Die Verbindung zwischen dem RAKE-Empfänger und
dem digitalen Signalprozessor wird auf die folgende Art und Weise
verwaltet. Der Multicode-Symbol-Puffer 28A wird zweimal
als Multi code-Symbol-Puffer und als Schatten-Multicode-Symbol-Puffer
realisiert. Einer dieser Multicode-Symbol-Puffer wird durch den
RAKE-Empfänger
beschrieben, während
der andere Multicode-Symbol-Puffer
durch die DMA-Datenübertragungseinrichtung
gelesen wird. Der Austausch von Daten wird durch drei unterschiedliche
Verfahren eingeleitet.
- a) Sobald ein Teil-Symbol-Puffer,
z. B. der Teil-Symbol-Puffer
des physikalischen Kanals DPCH1, vollständig durch den RAKE-Empfänger beschrieben
ist, werden die Rollen des Multicode-Symbol-Puffers und des Schatten-Multicode-Symbol-Puffers
vertauscht.
- b) Standardmäßig werden
die Rollen der zwei Puffer ebenfalls an der Zeitschlitzgrenze vertauscht.
Der digitale Signalprozessor muss diesen Betriebsmodus durch das
Steuerbit MC_Tfer_Slot_Ena aktivieren.
- c) Der digitale Signalprozessor kann zusätzlich das Zeitstempelbit MC_Tfer
Time, das sich auf einen Hauptzähler
bezieht und bestimmt, wann die Daten zu dem digitalen Signalprozessor übertragen
werden sollen, erzeugen.
-
Der oben erwähnte Dualcode-Symbol-Puffer
enthält
Resultate der Demodulation des physikalischen Kanals P-CCPCH einer
Monitorzelle oder einer Zelle eines aktiven Satzes, Resultate der
Demodulation des physikalischen Kanals S-CCPCH der Referenzzelle
in dem Leerlaufmodus, Resultate von Leistungsmessungen, Resultate
von Verschlüsselungscode-Identifikationsverfahren
und Resultate von Rauschmessungen.
-
5 zeigt
schematisch für
das Ausführungsbeispiel
von 2 die Übertragung
von Symbolen von einem Dualcode-Symbol-Puffer 28B des RAKE-Empfängers 10 zu
dem internen Speicher 34 des digitalen Signalprozessors
(DSP) mit Hilfe von DMA-Übertragungen
der DMA-Übertragungseinrichtung.
Der RAKE-Empfänger weist
zusätzlich
zu dem Dualcode-Symbol-Puffer 28B Steuerregister 66 auf
und wird durch Steuer- und Zeitstempelbits 68 von dem digitalen
Signalprozessor gesteuert.
-
Der Dualcode-Symbol-Puffer 28B weist
vier unterschiedliche Speicherbereiche bzw. Teil-Symbol-Puffer SYMB_DC_BUF1,...,3
und SYMB_DC_MEAS auf. Der erste und der zweite Teil-Symbol-Puffer SYMB_DC_BUF1, 2 speichern
Resultate der Demodulation des physikalischen Kanals P-CCPCH von
zwei Zellen (jeweils 10 Symbole, Symbole eines gesamten Zeitschlitzes,
2 × 8
Bit (I, Q)). Der dritte Teil-Symbol-Puffer SYMB_DC_BUF3 speichert
Resultate einer Demodulation des physikalischen Kanals S-CCPCH einer
Referenzzelle in dem Leerlaufmodus (64 Symbole, 1/10 Zeitschlitz
mit SF = 4, 2 × 8
Bit (I, Q)). Der vierte Teil-Symbol-Puffer
SYMB_DC_MEAS speichert Resultate von Leistungsmessungen, Resultate
von Rauschmessungen und Resultate des Verschlüsselungscode-Identifikationsverfahrens.
Der vierte Teil-Symbol-Puffer SYMB_DC_MEAS ist ausreichend groß, um alle
unterschiedlichen Messresultate der Dualcode-Finger eines gesamten
Zeitrahmens zu speichern. Dieser vierte Teil-Symbol-Puffer enthält Speicherzellen
für Messresultate,
die jeder Fingerzahl eines RAKE-Empfängers, jeder Komponente und
jeder Aufgabe zugewiesen sind. Es sei bemerkt, dass der vierte Teil-Symbol-Puffer
nicht durch die jeweilige Aufgabe (Messung, Rauschmessung, Verschlüsselungscode-Identifikation),
sondern durch die Fingeridentität
spezifiziert ist.
-
Tabelle 3 zeigt die Zuordnung der
physikalischen Kanälen
zu den Teil-Symbol-Puffern und den Inhalt der Teil-Symbol-Puffer.
-
-
Der interne Speicher 34 weist
Kanal-zugeordnete Bereiche 70 bis 76 auf. Der
Kanal-zugeordnete Bereich 70 ist dem physikalischen Kanal
P-CCPCH(1) der ersten Zelle zugeordnet und weist eine Größe von einem
Zeitrahmen auf, der Kanalzugeordnete Bereich 72 ist dem
physikalischen Kanal P-CCPCH(2)
der zweiten Zelle zugeordnet und weist eine Größe von einem Zeitrahmen auf,
der Kanal-zugeordnete Bereich 74 ist dem physikalischen
Kanal S-CCPCH zugeordnet und weist eine Größe von einem Zeitschlitz auf,
und der Bereich 76 ist dem MeßbereichSYMB_DC_MEAS zugeordnet
und weist eine Größe von 256
Symbolen auf. Innerhalb des internen Speichers 34 werden
die Symbole innerhalb der Kanal-zugeordneten Bereiche 70, 72 und 74 während aufeinander
folgender DMA-Übertragungen
der DMA-Datenübertragungseinrichtung,
die die Größe von einem
Zeitschlitz bzw. von 1/10 Zeitschlitz aufweisen, nahtlos zu einem
vollständigen
Zeitrahmen bzw. Zeitschlitz verknüpft.
-
Die Steuerregister 66 dienen
dazu, um die DMA-Übertragungen
zu steuern. Die Steuerregister 66 bestimmen die Datenübertragungsparameterliste
bzw. die verknüpfte
Liste für
die Datenübertragung.
Die Steuerregister spezifizieren den Inhalt der Teil-Symbol-Puffer
des Dualcode-Symbol-Puffers und weisen Zählerregister 78, Quelladressregister 80,
Zieladressregister 82 und Offset-Register 84 auf.
-
Die Quelladressregister 80 dienen
dazu, um Quelladressen SCR1_DC,..., SCR3_DC und SRC_MEAS innerhalb
der Teil-Symbol-Puffer
des Dualcode-Symbol-Puffers 28B zu speichern, die Startadressen
von Teil-Symbol-Puffern zu Beginn der Übertragung oder Adressen innerhalb
der Teil-Symbol-Puffer während
der Übertragung
sind. Die Zieladressregister 82 dienen dazu, um Zieladressen
DEST1_DC,..., DEST3_DC, DEST_MEAS innerhalb des internen Speichers 34 des
digitalen Signalprozessors zu speichern. Die Offset-register 84 dienen
dazu, um Startadressen 64 DOFF1_DC,..., DOFF3_DC und DOFF_MEAS
der Kanalzugeordneten Bereiche 70 bis 76 zu Beginn
der Übertragung
an einer Zeitrahmengrenze, einer Zeitschlitzgrenze oder zu Beginn
der Übertragung
des Teil-Symbol-Puffers SYMB_DC_MEAS zu speichern. Die Zählerregister 78 SYMB_DC_CNT1,..., 3 dienen
dazu, um zu bestimmen, wie viele Einträge innerhalb der Teil-Symbol-Puffer SYMB_DC_BUF1,...,3
gültig
sind. Lediglich der Inhalt der gültigen
Speicherzellen der Teil-Symbol-Puffer 28B wird zu dem internen
Speicher 34 des digitalen Signalprozessors durch die DMA-Datenübertragungseinrichtung übertragen.
-
Die Zählerregister SYMB_DC_CNT1,...,3
sind den einzelnen Teil-Symbol-Puffern SYMB_DC_BUF1,...,3
zugeordnet. Tabelle 4 zeigt die Zuordnung der Zählerregister SYMB_DC_CNT 1,...,3
zu den Teil-Symbol-Puffern SYMB_DC_BUF 1,..., 3.
-
-
Bei dem Fall des vierten Teil-Symbol-Puffers
SYMB_DC_MEAS ist die Spezifikation eines Zählerregisters sinnlos, da der
Teil-Symbol-Puffers
nicht linear gefüllt
wird. Im Normalfall werden unterschiedliche Speicherzellen in einer
beliebigen Reihenfolge mit Daten gemäß der Programmierung von unterschiedlichen
Fingern des RAKE-Empfängers,
Komponenten und Aufgaben beliefert.
-
Die Zählerregister SYMB_DC_CNT1,...,3
hingegen spezifizieren eine Zahl, die die Menge von Datenworten
eines Teil-Symbol-Puffers
des Dualcode-Symbol-Puffers 28B angibt, die durch die DMA-Datenübertragungseinrichtung übertragen
werden soll. Nach der Übertragung
des Inhalts von einem Teil-Symbol-Puffer fährt die DMA-Datenübertragungseinrichtung
zu dem nächsten
Teil-Symbol-Puffer fort. Die Kanal-zugeordneten Bereiche 70 bis 76 in
dem internen Speicher 34 des digitalen Signalprozessors
sind durch die Offset-Adressen DOFF1_DC,..., DOFF3_DC und DOFF_MEAS
der Offset-Register 84 spezifiziert, die durch den digitalen Signalprozessor
bestimmt werden. Am Anfang eines Zeitrahmens bzw. Zeitschlitzes
werden diese Adressen in die Zielregister 82 für die Zieladressen
DEST1_DC,..., DEST3_DC und DEST_MEAS geladen, wie es durch einen
Pfeil 86 gezeigt ist. Der Inhalt dieser Zielregister 82 wird
für jedes übertragene
Datenwort inkrementiert. Der Inhalt der Zielre gister 82 wird
für den
nächsten
DMA-Übertragungsvorgang
beibehalten, der durch einen Teil-Symbol-Puffer-Überlauf, einen Beginn einer Übertragung
des Teil-Symbol-Puffers SYMB_DC_MEAS oder einen Zeitstempel einer
spezifizierten Übertragung
zu dem digitalen Signalprozessor ausgelöst wird. Die Quellregister 80 werden
ebenfalls für
jedes Wort inkrementiert, das übertragen
wird, mit der Ausnahme, dass der Inhalt nicht für den nächsten DMA-Übertragungsvorgang beibehalten
wird, da die Übertragung
immer bei der Startadresse eines Teil-Symbol-Puffers beginnt.
-
Bevor ein DMA-Übertragungsvorgang eingerichtet
werden kann, müssen
die Steuerregister 66, die oben beschrieben sind, als eine
Datenübertragungsparameterliste
bzw. verknüpfte
Liste geladen werden. Zwei Steuersignale 88 werden von
dem RAKE-Empfänger erzeugt,
um die DMA-Übertragung
zu steuern:
- a) das Datenübertragungsanfragesignal DMA_REQUEST_DC,
das die DMA-Übertragung
basierend auf der Verfügbarkeit
der Daten anhält
oder fortfährt;
und
- b) das Signal initialize DMA_DC, das Informationen für den DMA-Übertragungsvorgang
enthält,
um die Steuerregister als eine Datenübertragungsparameterliste für die nächste DMA-Übertragung zu laden.
-
Die Verbindung zwischen dem RAKE-Empfänger und
dem digitalen Signalprozessor wird auf die folgende Art und Weise
verwaltet. Der Dualcode- (DC-) Symbol-Puffer 28B ist zweimal
als Dualcode-Symbol-Puffer und als Schatten-Dualcode-Symbol-Puffer realisiert.
Einer dieser Puffer wird durch den RAKE-Empfänger beschrieben,
während
der andere Puffer durch die DMA-Datenübertragungseinrichtung gelesen
wird. Der Austausch von Daten der Teil-Symbol-Puffer SYMB_DC_BUF1,...,3
wird durch drei unterschiedliche Verfahren eingeleitet.
- a) Sobald ein Teil-Symbol-Puffer, z. B. der Teil-Symbol-Puffer SYMB_DC_BUF3
für den
physikalischen Kanal S-CCPCH vollständig durch den RAKE-Empfänger beschrieben
ist, werden die Rollen des Dualcode-Symbol-Puffers und des Schatten-Dualcode-Symbol-Puffers
vertauscht.
- b) Standardmäßig werden
die Rollen der zwei Puffer ebenfalls an der Zeitschlitzgrenze vertauscht.
Der digitale Signalprozessor muss diesen Betriebsmodus durch das
Steuerbit DC_Tfer_Slot_Ena aktivieren.
- c) Der digitale Signalprozessor kann zusätzlich des Zeitstempelbit DC_Tfer_Time,
das sich auf den Hauptzähler
bezieht, programmieren, wenn die Daten zu dem digitalen Signalprozessor übertragen
werden sollen.
-
Der Inhalt des vierten Teil-Symbol-Puffers
SYMB_DC_MEAS wird getrennt und lediglich dann übertragen, wenn die Übertragung
bei dem spezifizierten Zeitstempelbit Tfer_Meas_Time durch das Startbit Tfer_Meas_Ena
aktiviert wird.
-
- 2
- zweckgebundene
Datenverarbeitungseinrichtungen
- 4
- zentrale
Datenverarbeitungseinrichtung
- 6
- Datenübertragungseinrichtung
- 8
- Speicher
- 10
- RAKE-Empfänger
- 12
- Kanalcodierer
- 14
- Sendemodul
- 16
- Bus
- 17
- Steuerleitungen
- 18
- Eingangs-Puffer
- 20
- Ausgangs-Puffer
- 22
- Schnittstelle
- 24
- Datenübertragungsparameter-Puffer
- 26
- Betriebsparameter-Puffer
- 28
- Symbol-Puffer
- 28A
- Multicode-Symbol-Puffer
- 28B
- Dualcode-Symbol-Puffer
- 30
- Schnittstelle
- 32
- Taktsignal
- 34
- interner
Speicher
- 35.
- Zieladressregister
- 36
- Schnittstelle
- 38
- Datenübertragungsparameter-Puffer
- 40
- Taktsignal
- 42
- Steuerregister
- 44
- Steuer-
und Zeitstempel-Bits
- 46
- Kanal-zugeordneter
Bereich
- 48
- Kanal-zugeordneter
Bereich
- 50
- Kanal-zugeordneter
Bereich
- 52
- Kanal-zugeordneter
Bereich
- 54
- Kanal-zugeordneter
Bereich
- 56
- Zählerregister
- 58
- Quelladressregister
- 60
- Zieladressregister 60
- 62
- Offset-Register
- 64
- Pfeil
- 65
- Steuersignale
- 66
- Steuerregister
- 68
- Steuer-
und Zeitstempel-Bits
- 70
- Kanal-zugeordneter
Bereich
- 72
- Kanal-zugeordneter
Bereich
- 74
- Kanal-zugeordneter
Bereich
- 76
- Kanal-zugeordneter
Bereich
- 78
- Zählerregister
- 80
- Quelladressregister
- 82
- Zieladressregister
- 84
- Offset-Register
- 86
- Pfeil
- 88
- Steuersignale