Embedded-Vector-Prozessor: Schlüssel für software-basierte Mobilfunksysteme Problemlöser SDR #####

Für die vielen Funkdienste, die in neuen Mobilfunkgeräten zu finden sein werden, kann nicht mehr jeweils ein eigener HF-Transceiver eingebaut werden. Die Lösung heißt: SDR (Software Defined Radio) – also ein per Software modifizierbarer Transceiver-Teil.

Embedded-Vector-Prozessor: Schlüssel für software-basierte Mobilfunksysteme

Für die vielen Funkdienste, die in neuen Mobilfunkgeräten zu finden sein werden, kann nicht mehr jeweils ein eigener HF-Transceiver eingebaut werden. Die Lösung heißt: SDR (Software Defined Radio) – also ein per Software modifizierbarer Transceiver-Teil.

Aktuelle Mobiltelefongenerationen bieten schon heute einen flexiblen Multi-Band- und Multi-Mode-Betrieb in zellularen Funknetzen. Sie unterstützen dabei in zunehmendem Maße unterschiedliche Kommunikations-Pipes (Bild 1) zum Aufbau von WiFi-Verbindungen, für digitales Fernsehen und Digital Audio Broadcasting (DAB) oder zum Empfang von GPS-Satellitensignalen. In naher Zukunft kommen mit UWB (Ultra Wide Band) für Wireless USB und WiMAX für den mobilen Zugriff auf das Internet noch neue Standards dazu.

Im Marktsegment der Mobilgeräte bedeutet das damit angeschnittene Thema „Konvergenz“ in absehbarer Zeit eine Vielzahl an unterschiedlichen Kombinationen dieser HF-Kommunikations- und -Sendestandards in PDAs, Notebooks und Spielekonsolen mit zunehmender Tendenz. Aufgrund bestehender Beschränkungen hinsichtlich Platzbedarf, Kosten und Energieverbrauch ist es somit bei diesen Gerätetypen zukünftig nicht mehr möglich, für jeden unterstützten Standard einen eigenen drahtlosen Transceiver einzubauen.

Eine Lösung dieser Probleme verspricht SDR (Software Defined Radio), eine software-basierte Mobilfunktechnik, die sich mit Hilfe eines programmierbaren digitalen Signalprozessors (DSP), etwa eines Embedded-Vector-Prozessors (EVP), realisieren lässt und damit einen einzelnen kompakten Modulblock bereitstellt, der alle unterschiedlichen Standards verarbeiten kann.

Konvergenz treibt Entwicklung neuer HF-Architekturen voran

Einer der Gründe, warum sich separate, drahtlose Transceiver-Module wie für Bluetooth oder WiFi so erfolgreich im Markt durchsetzen konnten, beruht darauf, dass es sich bei diesen Kommunikationsmodulen primär um zusätzliche Erweiterungen (Add-Ons) und nicht um Standardfunktionen handelte. So liegt es auch auf der Hand, dass Plug-in-Lösungen zur individuellen Konfigurierung eines ansonsten standardmäßigen Chassis durch einfaches Einstecken der gewünschten Module – inklusive der erforderlichen HF- und Basisbandverarbeitung – für den Gerätehersteller attraktive Vorteile bieten.

Ein unveränderter Einsatz solcher separaten Transceiver-Module ist jedoch mit der zunehmenden Verbreitung unterschiedlicher Kombinationen dieser Wireless-Kanäle als Standardfunktionen in neuen Gerätegenerationen fraglich: Zum einen lassen sich die benötigten Module angesichts immer kompakteren Geräteabmessungen nur schwer unterbringen, zum anderen führt der hohe Energiebedarf aller Einzelmodule zu einer wesentlich kürzeren Akkulaufzeit – ganz zu schweigen von der Menge des verbauten Halbleitermaterials, die die Produktkosten in die Höhe treibt. Darüber hinaus wird bei Anwendungsszenarien, bei denen mehrere Kommunikationskanäle gleichzeitig aktiv sein müssen, eine saubere Signaltrennung der sich oft gegenseitig störenden Antennen zunehmend schwierig.

Die gleichzeitige Reduzierung von Abmessungen, Kosten, Stromverbrauch und Antennenstörungen erfordert eine Systemarchitektur, bei der die HF- und Basisbandfunktion ganz oder teilweise von verschiedenen HFKommunikationskanälen gemeinsam genutzt wird. Bei einer derart integrierten Lösung könnten sich so beispielsweise alle Kanäle wie Bluetooth und IEEE 802.11b/g, die im selben Frequenzband arbeiten, die vorhandene HF-Hardware aus Antenne, Leistungsverstärker und Mischer teilen. Kanäle, die ähnliche Modulationsarten verwenden, können bei einem solchen Ansatz ein gemeinsames programmierbares Modem nutzen. Dies ermöglicht die Realisierung neuer Multi-Bandund Multi-Mode-HF-Architekturen, in denen HF mit HF und Modem mit Modem integriert sind, und zwar vorzugsweise über eine dazwischenliegende digitale Standardschnittstelle. Die Unterstützung verschiedener drahtloser Kommunikationskanäle über ein einziges Hardware-Modem erfordert die Nutzung von flexiblen, software-programmierten Modem-Engines.

In der Praxis bieten solche Modem-Engines für den Gerätehersteller eine der besten Möglichkeiten zur Differenzierung von anderen Wettbewerbern, da sich hier die HF-bezogene Leistungsfähigkeit des jeweiligen Gerätes entscheidend beeinflussen und erweitern lässt. Die Luftschnittstelle ist heute für jeden mobilen Kommunikationsstandard fest definiert und bietet den Herstellern damit nur wenige Möglichkeiten zur Verbesserung der HF-Front-End-Leistung. Hier bleibt im Wesentlichen nur die Möglichkeit zur Auswahl der für die Realisierung jeweils bestgeeigneten HF-Technik – zum Beispiel eines HF-CMOS-, BiCMOS- oder GaAs-Prozesses. Das Codec-Verfahren am anderen Ende der Modem-Pipe ist bezüglich des Algorithmustyps, der zur Implementierung erforderlich ist, ebenfalls ausreichend definiert. Richtig interessant wird es daher erst beim Modem zwischen HF-Front-End und Codec: Hier kann das modulierte/demodulierte Signal vor dessen Codec-Verarbeitung durch innovativen Einsatz von geschütztem IP verarbeitet und konditioniert werden, um so eine geringere Bitfehlerrate (BER) beziehungsweise eine reduzierte Sende-/Empfangsleistung bei identischer BER zu erreichen.

Aufgrund der erforderlichen Anpassung an die vor Ort herrschenden Signaleigenschaften – wie bezüglich Schwund durch Mehrwegeempfang (Multipath Fading) und Interferenz – sollte diese Signalverarbeitung und -konditionierung idealerweise mit Hilfe von DSP-Algorithmen durchgeführt werden, die auf einem software-programmierten High-End-DSP laufen. Ein solcher Ansatzes bietet auch eine einfache Anpassung an veränderte Standards und Feldtest-Ergebnisse. Darüber hinaus ermöglicht er auch eine einfache nachträgliche Hinzufügung neuer, intelligenterer Algorithmen (z.B. zur Verbesserung des Signal-Rauschabstands), was bei hardware-basierten Lösungen ohne umfangreiche Änderungen im IC-Layout nur schwer möglich ist.

Aufgrund der hohen Komplexität dieser Algorithmen müssen die in Modem-Pipe-Applikationen eingesetzten Prozessoren über beeindruckende Leistungswerte von typischerweise über 10 GOPS (Giga Operations Per Second) verfügen. Im Gegensatz dazu dürfen die jeweiligen Geräte aber aufgrund des akkuversorgten, mobilen Einsatzes nur möglichst wenig Energie verbrauchen, typischerweise in der Größenordnung von maximal wenigen hundert mW. Mit einer modernen CMOS-Fertigungstechnologie für geringen Leistungsbedarf und niedrige Leckströme wird die für die Prozessoren verfügbare Taktgeschwindigkeit auf unter 300 MHz gedrückt. Um bei diesen Prozessorgeschwindigkeiten trotzdem die erforderlichen GOPSWerte erreichen zu können, müssen diese Prozessoren ein hohes Maß an Parallelität aufweisen. Beispiele für Algorithmen, die zur Ausführung auf Vektorprozessoren vektorisiert werden können, umfassen solche Funktionen zur Signalkonditionierung wie Equalizing, Störunterdrückung und Mehrwegekorrelation (Rake-Receiver) sowie Algorithmen für Funktionen zur Signalverarbeitung wie Synchronisierung, QAM-Mapping/-Demapping (Quadrature Amplitude Modulation) und für schnelle Fourier-Transformationen zur OFDM-Demodulation (Orthogonal Frequency Division Multiplex).

Pluspunkte softwarebasierter Konzepte

Die Programmierung der Modemfunktionen per Software umfasst noch weitere Vorteile. Zum einen bietet sie dem Gerätehersteller die Möglichkeit zur Abgrenzung vom Wettbewerb mit Hilfe einer einzelnen, frei verfügbaren Chip-Plattform, zum anderen ermöglicht sie problemlose zukünftige Wechsel auf neue und leistungsfähigere Algorithmen. DSP-basierte Modems bieten darüber hinaus ein wesentlich höheres Maß an Flexibilität zur Erweiterung der Modem-Eigenschaften und/oder Integration neuer Gerätefunktionen während des Design-in-Prozesses.

Welche Alternativen gibt es dabei? Bisher wurden dazu zwei verschiedene Ansätze verfolgt: separate, festverdrahtete Logikbausteine und wiederprogrammierbare, rekonfigurierbare Hardware (d.h. FPGAs).

Festverdrahtete Bausteine kommen aktuell nur in solchen Mobilgeräten zum Einsatz, bei denen nur eine relativ kleine Anzahl von (festen) Standards implementiert werden muss. Während solche Lösungen bei einer Realisierung von nur wenigen Standards noch Kostenvorteile aufweisen, steigt parallel zu weiteren zu implementierenden Standards die benötigte Fläche schnell. In einer unlängst durchgeführten Untersuchung zu den verfügbaren Lösungen wies ein System, das innerhalb eines Gerätes die Standards EDGE, R’99, HSDPA und HSUPA mit Hilfe der heute angewendeten Möglichkeiten mit dedizierten Blöcken unterstützte, eine um 50 bis 120 Prozent größere Fläche als eine entsprechend programmierbare Lösung auf (wie zum Beispiel die EVP-Lösung von ST-NXP Wireless, s. Kasten „Die EVP-Architektur von ST-NXP Wireless“. Der Hauptgrund dafür liegt in den zum Teil beträchtlichen Unterschieden zwischen den einzelnen Standards. Die benötigte Entwicklungszeit für eine effiziente Ressourcenteilung zwischen den implementierten Standards innerhalb einer Hardware-Realisierung ist dabei einfach zu hoch, um auf dieser Ebene ein optimiertes Ergebnis erreichen zu können. Darüber hinaus bietet eine programmierbare Lösung den Vorteil einer einfachen nachträglichen Implementierung von neuen, intelligenteren Algorithmen, ohne dafür ein neues „Tape out“ machen zu müssen – ganz zu schweigen von der größeren Flexibilität zur Anpassung an veränderte Standards und Feldtest-Ergebnisse.

Die zweite häufig gewählte Lösung beruht auf der Verwendung von wiederprogrammierbarer/ rekonfigurierbarer Hardware wie FPGAs – ein häufiges Verfahren für 3G-Basisstationen. Aber obwohl hier die Wiederverwendung von Ressourcen sogar noch höher als bei einer vergleichbaren programmierbaren Lösung sein kann, sind aktuelle FPGA-Bausteine hinsichtlich der belegten Chipfläche immer noch relativ teuer, da die effektive Gate-Fläche verglichen mit einer festverdrahteten Lösung (sei es mit dedizierten Hardware-Blöcken oder als programmierbare Architektur) beträchtlich kleiner ist. Ebenso können aufgrund der größeren Halbleiterfläche auch höhere Leckströme auftreten, was direkte Auswirkungen auf die verfügbare Stand-by-Zeit eines Telefons hat.

Aus rein flächen- und kostenspezifischer Sicht ist die programmierbare Architektur also optimal, wenngleich hier der Energiebedarf im Vergleich zu einem festverdrahteten System geringfügig höher ist. Auf Gesamtsystemebene ist dies jedoch akzeptabel. In diesem Zusammenhang konnte im Rahmen von Systemuntersuchungen eine Verringerung der Stand-by-Leistung allein durch eine Implementierung von intelligenteren Algorithmen nachgewiesen werden, mit denen die aktiven Zeiträume während einer Stand-by-Periode reduziert werden konnten.

Vorteile eines „Software Defined Radio“-Konzeptes

Bei der Implementierung einer SDR-Plattform ist es empfehlenswert, einen Vektorprozessor als Erweiterung der klassischen SIMD-Verarbeitung (Single Instruction Multiple Data) von Operationen zu nutzen. Die Hinzunahme solcher Intra-Vektor-Operationen erlaubt die zusätzliche Interaktion zwischen einzelnen Elementen innerhalb eines Vektors; so lassen sich zum Beispiel frei wählbare Umstellungen von Daten vornehmen – für FFT-Butterflies, zum Entfernen des Pilotkanals oder für andere bei der Verarbeitung von Kommunikationssignalen häufig vorgenommene Rechenoperationen. Damit steigt im Vergleich zu reinen SIMD-Architekturen die Recheneffizienz, da bei SIMD-Anwendungen in solchen Fällen oftmals nur ein Umschalten auf eine sequenzielle Verarbeitung als Alternativlösung zur Verfügung steht.

Mit ihrer Fähigkeit, Modemfunktionen für viele verschiedene Kommunikationsstandards flexibel zu implementieren und nahtlose Verbindungsübergaben von einem zu anderen Standard zu verhandeln (Bild 2), sind programmierbare EVPs eine der Schlüsselvoraussetzungen zur Umsetzung einer leistungsfähigen SDR-Architektur.

Neben der Arbeit mit sehr hohen benötigten GOPS-Werten erfüllen diese Prozessoren auch die Anforderungen von akkubetriebenen Mobilprodukten bezüglich Chipfläche und Herstellungskosten. Das Maß an individueller Programmierbarkeit dieser Systeme erlaubt dabei nicht nur eine problemlose Unterstützung der Vielzahl von modernen drahtlosen Kommunikationsstandards – sie bietet dem Gerätehersteller auch eine flexibel anpassbare Systemarchitektur, um mit neuen Evolutionsstufen und Anwendungsszenarien dieser Standards Schritt halten und neue Algorithmen laufend implementieren zu können. Die EVP-Architektur ermöglicht es dem Hersteller darüber hinaus, Produkte per OTA-Downloads (Over The Air) zu reparieren oder aufzurüsten, um damit unnötige Geräterücksendungen aus dem Feld zu vermeiden und dem Konsumenten ein noch höherwertigeres Produkt zu bieten (größere Abdeckung bzw. höhere Bitraten für Downloads).

Die Software-Programmierung von Vektorprozessoren sollte jedoch nur in solchen Fällen Anwendung finden, in denen sich durch kürzere Markteinführungszeiten, eine höhere Produktdifferenzierung oder geringere Fertigungskosten ein echter Mehrwert erzielen lässt. Es gibt heute noch einige Bereiche der Basisbandverarbeitung, bei denen eine software-programmierte Modemfunktion unter Umständen nicht die Lösung erster Wahl ist, sondern wo eine Anwendung von mehreren festverdrahteten, dedizierten Sub-Modulen eine bessere Alternative darstellt.

Codecs verlangen erhebliche Verarbeitungs-Ressourcen

Codecs umfassen beispielsweise Funktionen wie Viterbi-Algorithmen und Turbo-Codierung/-Decodierung, die im Falle einer software-programmierten Codec-Engine erhebliche Verarbeitungs-Ressourcen in Anspruch nehmen würden – und zwar besonders angesichts der hohen Bitraten, die hier verarbeitet werden (typischerweise über 100 Mbit/s). Da die Unterschiede zwischen den Standards hier jedoch eher gering sind, erfordern diese Funktionen nicht zwingend eine Programmierung per Software. Daher ist es in solchen Fällen sinnvoller, sie per Hardware-Beschleunigung in einem rekonfigurierbaren Codec und nicht als software-programmierten Codec zu verarbeiten. Gleiches gilt übrigens auch für die Kanalfilterung.

Eine SDR-Realisierung wird aus diesem Grund wahrscheinlich niemals ausschließlich software-programmiert sein. Stattdessen wird hier ein Mix aus Programmierbarkeit und software-gesteuerter Rekonfigurierbarkeit im HF-Front-End zum Einsatz kommen, bei dem Embedded Controller, digitale Signalprozessoren, Vektorprozessoren und Hardware-Beschleuniger alle einen Teil zur Gesamtfunktion des Systems beitragen.


Die EVP-Architektur von ST-NXP Wireless

Der EVP-Chip VD3204x von STNXP Wireless ( www.stnwireless.com) bietet eine parallele Verarbeitungsarchitektur für Anwendungen im Kommunikationsbereich. Dieser Prozessor kommt im „Inneren Empfänger“ (Inner Receiver) zum Einsatz, der hauptsächlich Aufgaben der digitalen Modulation und Demodulation einer Communication-Pipe übernimmt. Er ermöglicht hier eine Programmierbarkeit in Bereichen, die bisher ausschließlich mit festverdrahteten Beschleunigern implementiert werden konnten. Die VD3204x-Familie wurde als Low-Power-SoC optimiert und besonders für 3G+-Geräte und andere akkubetriebene Anwendungen entwickelt, bei denen ein niedriger Energiebedarf und eine kostengünstige Umsetzung wichtig sind.

Der Kern des Prozessors basiert auf einem SIMD-ähnlichen Datenpfad (Single Instruction Multiple Data), der durch Hinzufügung von „Intra-Vektor-Operationen“ erweitert wird und damit eine zusätzliche Interaktion zwischen den einzelnen Elementen innerhalb eines Vektors erlaubt (Permutationen, Hinzufügungen, Max.-/Min.-Suchen usw.). Damit vergrößert sich der Bereich von Algorithmen, die auf diesem Kern abgebildet werden können. Mit seinem Einsatz auf Vektoren von typischerweise 256 bit kann er dabei 16 Operationen auf 16 Bitdatenelementen pro Funktionseinheit verarbeiten. Aufgrund der höheren VLIW-Parallelität (Very Long Instruction Word) ergibt das 100 Operationen pro Zyklus und bietet damit eine erhebliche Rechnerleistung, ohne im GHz-Taktfrequenzbereich arbeiten zu müssen. Dies ermöglicht eine besonders energieeffiziente Form der Implementierung bei Verwendung einer Standard-Bibliothekssynthese. Die Programmierung des Prozessors erfolgt in ANSI-C; die Verarbeitung der Vektorfunktionen mit Intrinsics. Ebenfalls zum Einsatz kommen eine C++-Host-Emulationsbibliothek, ein Compiler mit einem im Vergleich zur klassischen Assembly-Programmierung höheren Abstraktionsgrad sowie ein Verknüpfer, ein zyklen- und bitgenauer Simulator und ein Debugger/Profiler.