DSP-Modems für das DSP56002EVM
Workshop zum 12. Internationalen Packet Radio-Treff
am 20./21. April 1996

Jürgen Hasch, DG1SCR@DB0RBS

1. Das DSP56002EVM

Bis vor ein paar Jahren mußte man noch recht tief in die Tasche greifen, wollte man Echtzeit-Signalverarbeitung mit Digitalen Signalprozessoren betreiben. Mit den Fortschritten in der Mikroprozessortechnik wurden auch die Signalprozessoren immer billiger und als erster Hersteller entschloß sich Texas Instruments, eine wirklich preiswerte Testplatine mit entsprechender Entwicklungssoftware anzubieten, den DSK26.

Seit etwas über einem Jahr bietet nun auch Motorola eine fertig aufgebaute Platine mit dem 56002-Signalprozessor an, das DSP56002EVM:

Abbildung 1: Blockschaltbild des DSP56002EVM
Auf der Platine befinden sich neben dem Signalprozessor DSP56002 noch ein 16 Bit Stereo-Codec CS4215, der die Wandlung der analogen Signale übernimmt, 32KW externer Speicher, ein Sockel für ein (Flash-)Eprom, einige Erweiterungsstecker, sowie zwei Anschlüsse für einen PC mit serieller Schnittstelle.

Zwei serielle Anschlüsse klingen ein wenig nach Verschwendung, entpuppen sich jedoch als sehr clevere Idee. Der DSP56002 besitzt nämlich eine sog. OnCe-Schnittstelle, was für 'On-Chip Emulation' steht. Damit läßt sich von außen direkt in die Internas des Prozessor eingreifen, ohne daß ein spezieller Debugger auf dem Signalprozessor ablaufen müßte. Jetzt kann man sich ganz bequem vom PC aus anschauen, was auf dem DSP gerade passiert. Die Ansteuerung des OnCE wird von einem 68HC705 Microcontroller übernommen, der die Befehle auf die serielle Schnittstelle umsetzt.

Der zweite serielle Anschluß geht direkt zur SCI-Schnittstelle des DSP56002 und kann vom eigenen Programm benutzt werden. Die Übertragung der Sende- und Empfangsdaten bei den vorgestellten Modems geschieht ebenfalls über den SCI-Port.

Abbildung 2: Prozessorkern des DSP56002
Die Abbildung zeigt den Aufbau des DSP56002 Prozessorkerns. Alle Datenpfade sind 24 Bit breit, entsprechend einem Dynamikbereich von 144dB. Zwischenergebnisse in den beiden Akkumulatoren werden sogar mit 56 Bit zwischengespeichert. Der Prozessor erlaubt, wie bei Signalprozessoren üblich, einen hohen Grad an Parallelität bei der Programmausführung, so lassen sich beispielsweise ein Multiplikation, eine Addition und zwei Datentransfers mit gleichzeitiger Aktualisierung der Datenzeiger ausführen.

Weitere Eigenschaften des 56002:

Der DSP56002 im EVM wird über die eingebaute PLL mit einer Taktfrequenz von 40MHz betrieben, was eine Befehlszykluszeit von 50ns ergibt. Die in den neuesten Kits ausgelieferten Prozessoren erlauben sogar einen Betrieb mit einer Taktfrequenz von 66MHz.

2. Modems

Als Beispiele für die Leistungsfähigkeit des EVM, möchte ich verschiedene Modems vorstellen. Die hier gezeigten Packet Radio-Modems wurden von Pawel Jalocha SP9VRC entwickelt, das 9K6 PAM-Modem stammt von Jarkko Vuori OH2LNS.

Die Zeitsignale und Frequenzspektren der Modems wurden mit einer DSP-Karte mit 320C25-Prozessor gemessen.

2.1 Leonid

Ein Software-Modem besteht nicht nur aus dem Code für Modulator und Demodulator, sondern benötigt auch Funktionen für die weitere Verarbeitung der Sende- und Empfangsdaten,z.B. für die CRC-Prüfung.

Ursprünglich als Lader für eine eigenständige Signalprozessor-Karte entwickelt [2], stellt Leonid alle benötigten Funktionen zur Verfügung und fungiert quasi als Zwischenschicht zwischen dem eigentlichen Modem und dem PC.

So gibt der Demodulator das aktuell dekodierte Datenbit einfach an Leonid weiter, dort findet dann die Dekodierung des kompletten Frames statt. Entsprechend bekommt auch der Modulator die aufbereiteten Datenbits und erzeugt daraus das Sendesignal. Als Protokoll für die Kommunikation zwischen PC und DSP-Karte wird Kiss verwendet, ein PC-Flexnet-Treiber ist in Vorbereitung.

Abbildung 3: Leonid
2.2 Grundgerüst eines Modems

Das Grundgerüst einer Modem-Anwendung kommt mit wenigen Programmzeilen aus:

waitblk ;
jsr demodulator ;
putbit ;
getbit ;
jsr modulator ;
jmp loop ;
Makro, wartet auf neue Werte vom Codec
Demodulator aufrufen
schickt empfangenes Bit an Leonid
holt neues Bit von Leonid
Modulator aufrufen
zurück
2.3 CPFSK

Die 'Standard'-Modulationsart für Packet Radio ist natürlich 1K2 AFSK, wegen der kontinuierlichen Phase auch CPFSK genannt.
Die Abbildung zeigt ein typisches CPFSK-Signal, bei dem zwischen einem 1200Hz und einem 2200Hz-Ton umgetastet wird:

Abbildung 4: CPFSK-Signal
Das Frequenzspektrum zeigt zwei Maxima bei den beiden Tonfrequenzen:
Abbildung 5: Frequenzspektrum des CPFSK-Signals
Funktionsweise des Modems:

Das Empfangssignal gelangt nach der Amplitudenregelung auf einen Mischer, dort wird es mit der Mittenfrequenz von 1700Hz gemischt. Das Ergebnis, als I- und Q-Signal, wird mit den I- und Q-Werten des vorigen Samples verglichen und die daraus ermittelte Phasendifferenz gelangt auf das Tiefpassfilter vor dem Entscheider. Der Entscheider legt schließlich fest, welcher der beiden Töne erkannt wurde.

Der Modulator ist recht einfach aufgebaut. Die Oszillatorfrequenz wird je nach zu sendendem Ton umgetastet und am Ausgang noch über einen Bandpaß geführt.

Abbildung 6: Blockschaltbild CPFSK-Modem
2.4 PAM

Die ebenfalls sehr verbreitete FSK-Modulation nach G3RUH entspricht im Basisband (d.h. als NF-Signal) einer Puls Amplituden Modulation (PAM). Je nach Wertigkeit des zu sendenden Bits wird ein cos²-förmiger Impuls gesendet oder weggelassen.

Abbildung 7: PAM-Signal
Abbildung 8: Frequenzspektrum des PAM-Signals
Abbildung 9: Blockschaltbild PAM-Modem
Funktionsweise des Modems:

Das Eingangssignal wird mit 48kHz abgetastet. Es gelangt zuerst auf einen Dezimierer (als Polyphasefilter ausgeführt), der eine Änderung der Abtastrate auf 19,2kHz bewirkt. Darauf folgen der Eingangstiefpaß, um unerwünschte Signalanteile zu eliminieren und eine AGC zur Amplitudenregelung.

Anschließend folgt ein Adptives Filter zur Entzerrung der Empfangsimpulse, eine weitere Dezimierungsstufe und schließlich der Entscheider, der die Wertigkeit des empfangenen Bits festlegt. Danach wird der empfangene Bitwert zum Descrambler geschickt.

Der Modulator ist wieder recht einfach aufgebaut, nach dem Scrambler wird ein '1' Bit mit einem Tiefpaß zu einem cos²-Impuls geformt.

2.5 BPSK

Eine weitere Modulationsart ist BSPK, binary phase shift keying. Dabei wird ein Trägersignal, beispielsweise mit einer Frequenz von 1200Hz,ausgesendet. Soll ein '0'-Bit übertragen werden wird der Träger um 180° in der Phase gedreht, bei einem '1'-Bit bleibt die Phase gleich. Die Abbildung zeigt ein solches BPSK-Signal:

Abbildung 10: BPSK-Signal
Im Frequenzbereich erkennt man ein Maximum in der Nähe der Trägerfrequenz:
Abbildung 11: Frequenzspektrum des BPSK-Signals
Funktionsweise des Modems:

Das Eingangssignal gelangt nach der AGC auf einen Bandpaß mit Hilbert-Transformator, wo es in ein komplexes Signal umgewandelt wird. Danach gelangt es auf den Mischer, wird die Nullage herunter gemischt und gelangt auf den Entscheider.

Abbildung 12 zeigt das Konstellationsdiagramm am Entscheider, der Punkt auf dem Kreis stellt das gerade empfangene Symbol dar:

Abbildung 12: Konstellationsdiagramm
Wird eine '1' übertragen, bleibt die Phase zwischen zwei aufeinanderfolgenden Symbole gleich, die Konstellation am Entscheider ändert sich damit ebenfalls nicht. Wir eine '0' übertragen so ändert sich, bei gleichbleibender Amplitude, die Phase um 180°, die Konstellation am Entscheider entspricht jetzt dem Kreuz. Der Entscheider wertet also aus, ob sich an der Konstellation eine entsprechend große Phasenänderung einstellt.

Da der Empfänger keine PLL zur Phasenstarren Synchronisation auf das Trägersignal besitzt, ergibt sich eine langsame Drehung des Punktes auf einem Kreis im Konstellationsdiagramm.

Abbildung 13: Blockschaltbild BPSK-Modem
Der Modulator is auch hier recht einfach aufgebaut. Da bei einer Phasenumtastung um 180° nur das Vorzeichen gedreht werden muß, wir einfach ein Amplitudenwert von +1 oder -1 mit dem Trägersignal multipliziert und über einen Bandpaß gegeben.

2.6 Multiton-QPSK

Das Multiton-QPSK-Modem ist das bei weitem aufwendigste der vorgestellten Modems. Die Übertragung geschieht mit Hilfe 15 diskreter Träger im Abstand von 125Hz. Die einzelnen Träger werden mit 4-DPSK phasenmoduliert.

Die Übertragung geschieht jeweils in kurzen Datenbursts von 12ms Länge, was eine Schrittgeschwindigkeit von 83,3Baud ergibt Rechnet man jetzt für 15 Träger und je 2 Bit pro Träger für die 4-DPSK, ergibt sich eine Übertragungsgeschwindigkeit von 2500bps.

 
Dibit
Phasenänderung
00
01
10
11
90°
180°
270°
Abbildung 14: Konstellationsdiagramm für einen Träger
In Abbildung 15 ist der Verlauf eines 12ms langen Datenbursts zu sehen:
Abbildung 15: Zeitsignal QPSK-Signal
Man kann auch die Form der verwendeten Fensterfunktion an der Hüllkurve des Signals erahnen.
Im Frequenzspektrum sind die einzelnen Töne durch die Phasenumtastung nicht mehr zu unterscheiden:
Abbildung 16: Frequenzspektrum des QPSK-Signals
Abbildung 17: Blockschaltbild des QPSK-Modems
Funktionsweise des Modems:

Die Abtastfrequenz beträgt 8000Hz. Das Empfangssignal gelangt nach der AGC auf einen Dezimator, danach erhält man eine neue Abtastfrequenz von 2666Hz. Jetzt wird das Eingangssignal in ein komplexes Signal umgewandelt und in die Nullage gemischt. Nach der Fensterung des Datenbursts wird eine FFT ausgeführt, da die weitere Auswertung im Frequenzbereich stattfindet. Mit Hilfe der Phaseninformation aus der FFT kann für die einzelnen Träger die PSK-Demodulation durchgeführt werden.

Der Modulator funktioniert analog zum Demodulator. Zuerst wird die inverse FFT vorbereitet, indem Amplituden- und Phasenwerte der Träger in den IFFT-Speicher eingetragen werden. Nach der IFFT steht dann ein 12ms lange Datenstrom zur Verfügung, der über eine Fensterfunktion geglättet wird und anschließend aus der Nullage in den Übertragungskanal gemischt wird.

Bevor in einem Sendevorgang die eigentliche Datenübertragung stattfinden kann, muß noch eine Trainingsphase absolviert werden. Das Training ist notwendig, damit sich Empfänger auf den Sender synchronisieren kann, d.h. die empfangenen Töne auch richtig ausgewertet werden.

Beim QPSK-Modem besteht der Trainingsmodus aus zwei Phasen:

Abbildung 18: Frequenzspektren im Trainingsmodus
In der ersten Phase werden nur 4 Töne ausgesendet, jetzt versucht der Empfänger die ausgesendeten Töne zu erkennen und seinen seinen Empfangsoszillator darauf abzustimmen.

Die zweite Phase dient dazu, den Empfängertakt auf den Sender zu synchronisieren, dazu werden die vier ausgesendeten Töne phasenmoduliert.

Anhang A: Literatur