10.8.94




Signalprozessor-Karte mit dem TMS320C25

Version 2

Jürgen Hasch,DG1SCR@DB0RBS.#BW.DEU.EU



Hardwarebeschreibung



Übersicht


Beschreibung der Einzelkomponenten

Prozessor

Der Signalprozessor TMS320C25 von Texas Instruments ist ein Vertreter der zweiten Generation von TI-Signalprozessoren und Nachfolger des TMS32020. Es ist ein 16-Bit Mikroprozessor nach Havard-Architektur, mit einem 64KW großen in Daten- und Programmspeicher getrennten Adressraum. Im verwendeten Design sind Daten- und Programmspeicher im externen RAM zusammengelegt.

Der Prozessor ist für Aufgaben der digitalen Signalverarbeitung optimiert und erreicht bei einem Takt von 40MHz eine Befehlszykluszeit von 100ns (ohne Waitstates). Dies ergibt eine Rechen­leistung von bis zu 10 MIPS (million instructions per second).

Als Rechenwerke enthalten sind eine 32 Bit-ALU (Arithmetic Logic Unit) mit der verschiedene Rechenoperationen im Zweierkomplement ausgeführt werden können, sowie eine Multiplizier­einheit und ein Schieberegister. Zusätzlich sind noch ein Zeitgeber, 256 Worte RAM und 4KW ROM vorhanden. Das ROM wird jedoch nicht benutzt (microprocessor mode).

Eine genaue Beschreibung des Prozessors ist in [1] zu finden.

I/O-Zugriffe des Prozessors

Die Peripheriebausteine werden mit eigenen I/O-Befehlen (IN, OUT), jedoch über die normalen Daten- und Adressleitungen angesprochen. Es wird nur ein Adressraum von 16 Worten (A0-A3) ausdekodiert, die restlichen Adressleitungen sind auf 0 geschaltet, wodurch die Zahl der anschließbaren Peripheriebausteine stark begrenzt ist. Da die I/O-Befehle mit dem gleichen Timing wie normale Speicherzugriffe arbeiten, müssen für den UART und die LCD-Anzeige mehrere Waitstates (vom GAL IC5) generiert werden.Die I/O-Bausteine sind wie folgt dekodiert:



Zugriff

A3

A2

A1

A0

Adresse

Baustein

RW

0

x

x

x

00-07H

UART-Baustein 16C550

RW

1

0

x

0

08H

LCD-Anzeige, Kommando

RW

1

0

x

1

09H

LCD-Anzeige, Daten

R

1

1

x

x

0CH

Digitaler Eingang mit 74245

W

1

1

x

x

0CH

Digitaler Ausgang mit 74574

R: lesen / W: schreiben / x: don't care



Watchdog

Der Watchdog-IC MAX1232 ist für die Erzeugung des Reset-Signals zuständig. Bei zu geringer Bestriebsspannung sowie ausbleibender Aktivität (kein Zugriff mehr auf die I/O-Bausteine, getriggert durch IS*), wird nach 1,2s automatisch ein Reset ausgelöst.

Am Anschluß S1 kann ein Taster angeschlossen werden, der bei Betätigung einen Reset auslöst. Zusätzlich kann über die DTR-Leitung der seriellen Schnittstelle noch ein Reset ausgelöst werden (DTR-Pegel auf -12V), falls die Steckbrücke JP4 gesteckt ist.

Speicher

Der extern zur Verfügung stehende Speicher des Signalprozessors ist je zur Hälfte mit RAM und ROM belegt. Um das Design zu vereinfachen wird nicht wie bei der Havard-Architektur üblich zwischen Daten- und Programmspeicher unterschieden, stattdessen werden die externen Speicherbausteine sowohl als Programm- wie auch als Datenspeicher verwendet.

Als RAM`s werden schnelle statische Speicher 7C199 von Cyrix (oder Baugleiche) mit einer Zugriffszeit von 25ns verwendet, womit ein Betrieb ohne zusätzliche Waitstates möglich ist.
Für den Festspeicher (ROM) werden 27C256-EPROMs mit einer Zugriffszeit von 120ns eingesetzt. Dies läßt einen Zugriff durch den Prozessor mit einem Waitstate zu.

Die folgende Tabelle zeigt den Speicheraufbau, wie er vom Monitorprogramm konfiguriert wird:

Adresse

Datenspeicher

Programmspeicher

0000H-03FFH

TMS320C25 intern

ext. EPROM

0400H-7FFFH

ext. EPROM

ext. EPROM

8000H-FFFFH

ext. RAM

ext. RAM



Stereo-Codec

Als Interface zur 'analogen Welt' kommt der Stereo-Codec CS4215 von Crystal zum Einsatz. Dieser IC besitzt je zwei A/D- und D/A-Wandler mit einer maximalen Wandlungsfrequenz von 48kHz. Die Wandlungsfrequenzen werden über intern einstellbare feste Teilerfaktoren aus einem von zwei Quarzen bestimmt. Welcher der beiden Quarze in Betrieb ist, kann im 'control mode' ausgewählt werden. Der Wandlungstakt des A/D-Wandlers entspricht gleichzeitig dem des D/A-Wandlers.
Als Wandlungsmodi sind 16 Bit linear, 8 Bit linear und 8 Bit kompandiert im Mono- und Sterobetrieb möglich.



Nummer

Teilfaktor

Quarz 1

24,576MHz

Quarz 2

14,7456MHz

0

3072

8kHz

4,8kHz

1

1536

16kHz

9,6kHz

2

896

27,429kHz

16,457kHz

3

768

32kHz

19,2kHz

4

448

na

32,914kHz

5

384

na

38,4kHz

6

512

48kHz

28,8kHz

7

2560

9,6kHz

5,76kHz

na: nicht anwendbar



Zusätzlich sind die Analogeingänge mit einem Aliasing-Filter und einem programmierbaren Verstärker ausgestattet, um ein optimales Ergebnis bei der A/D-Wandlung zu erzielen. Die Analogausgänge besitzen einen Abschwächer und ein Filter zur Glättung der Ausgangssignale.

Die Kommunikation mit dem Prozessor geschieht über die synchrone serielle Schnittstelle, die den Codec direkt mit dem Prozessor verbindet. Die Schnittstelle des Prozessors wird im 'Continuous transmission without frame sync pulses'-Modus betrieben, da der Codec immer 4 Wort-Pakete (64 Bit) verschickt und gleichzeitig empfängt.

Die zwei Betriebsmodi des Codec werden mittels dem Prozessorpin XF gesteuert, der beim TMS320C25 als Ausgang frei zur Verfügung steht. Im 'Control Mode' (XF low) wird der serielle Takt vom GAL IC5 generiert. In diesem Modus wird die Einstellung der Betriebsparameter des Codecs vorgenommen. Im 'Data Mode' (XF high) übernimmt dann der Codec die Generierung des seriellen Takts. Jetzt werden im Abstand der eingestellten Wandlungsfrequenz jeweils die 64Bit-Datenpakete gesendet und empfangen. Eine genaue Beschreibung des Codec ist in [2] zu finden.

Die analogen Ein- und Ausgänge des Codecs liegen an X4 (Dioden-Stecker links und rechts) an. Weitere Analogausgänge liegen noch an X7.

Soll statt dem ursprünglich vorgesehenen Codec CS4215 ein anderer Baustein an der seriellen Prozessorschnittstelle verwendet werden, kann dies über den Anschluß X5 geschehen. Zusätzlich müssen die Verbindungen JP1, JP2 und JP3 auf der Lötseite der Platine durchtrennt werden.

serielle RS232-Schnittstelle

Um die DSP-Karte mit einem Computer verbinden zu können, ist eine serielle RS232-Schnittstelle vorhanden. Dabei kommt ein UART 16550 von National Semiconductor [3] zum Einsatz. Er kann bis zu einer Baudrate von 115kBaud betrieben werden und besitzt einen 16 Byte FIFO-Puffer für Sende- sowie Empfangsfunktion. Der Takt für den UART wird von einem 3,6864MHz-Quarz generiert. Der Zugriff auf den UART erfolgt mit 3 Waitstates.

Am Ausgang sind nur die Datenleitungen RXD und TXD, sowie die Handshake-Signale RTS und CTS beschaltet. Als zusätzliche Steuermöglichkeit, kann mit der DTR-Leitung ein Reset auf der DSP-Karte ausgelöst werden, falls die Steckbrücke JP4 geteckt ist.

digitale Ein- und Ausgänge

Für Steuerungszwecke sind jeweils 8 digitale Eingänge und 8 digitale Ausgänge vorhanden. Sie sind mittels Standard-IC's realisiert (74HCT245 als Eingang und 74HCT574 als Ausgang).

LCD-Anzeige

Die Ansteuerschaltung für die LCD-Anzeige ist für das Modul TLC501 von Toshiba ausgelegt, es funktionieren erfahrungsgemäß aber auch ähnliche Module mit 2 Zeilen und 20 Zeichen pro Zeile.

Als Treiber für die Datenleitungen ist ein 74HCT245 vorhanden, der bidirektional arbeitet, die Steuersignale werden vom GAL IC5 generiert. Durch Umprogrammieren des GALs läßt sich somit die Ansteuerung problemlos ändern.

Da die LCD-Anzeige ein sehr langsames Timing hat (im Vergleich zum Prozessor), müssen nach einem Lese-/Schreibzugriff mindestens 450ns vergangen sein, bis ein erneuter Zugriff auf die Anzeige ausgeführt werden darf. Dies kann z.B. durch 5 NOP's (No Operation - Befehle) erreicht werden. Ein Zugriff erfordert 8 Waitstates.

Mit dem Trimmer P1 läßt sich der Anzeigenkontrast einstellen. Weitere Details siehe Datenblatt [4]. Das Interface ist nicht sehr speziell und kann eventuell auch für andere Anwendungen benutzt werden.

Spannungsversorgung

Als Spannungsversorgung wird eine stabilisierte Gleichspannung von mindestens 8 Volt und 500mA benötigt. Falls eine saubere Gleichspannung von +5V vorhanden ist, kann diese auch direkt eingespeist werden, dazu müssen Schutzdiode und Spannungsregler überbrückt werden.

Beschreibung der Steckbrücken und Anschlüsse

X1: digitale Ein-/Ausgänge

Pin

Name

Beschreibung

1

+5V

Versorgungsspannung

2

O0

digitaler Ausgang 1

3

O1

digitaler Ausgang 2

4

O2

digitaler Ausgang 3

5

O3

digitaler Ausgang 4

6

O4

digitaler Ausgang 5

7

O5

digitaler Ausgang 6

8

O6

digitaler Ausgang 7

9

O7

digitaler Ausgang 8

10

I0

digitaler Eingang 1

11

I1

digitaler Eingang 2

12

I2

digitaler Eingang 3

13

I3

digitaler Eingang 4

14

I4

digitaler Eingang 5

15

I5

digitaler Eingang 6

16

I6

digitaler Eingang 7

17

I7

digitaler Eingang 8

18

INT1

Interrupt-Eingang 1

19

INT2

Interrupt-Eingang 2

20

GND

Masse

X2: RS232-Schnittstelle

Pin

Name

Richtung

Beschreibung

1

-

-

-

2

TXD

Ausgang

Sendedaten

3

RXD

Eingang

Empfangsdaten

4

DTR

Eingang

Datenterminal bereit

5

GND

-

Masse

6

-

-

-

7

CTS

Eingang

Bereit zu Senden

8

RTS

Ausgang

Anforderung zu Senden

9

-

-

-



X3: LCD-Anzeige

Pin

Name

Beschreibung

1

GND

Masse

2

+5V

Versorgungsspannung

3


Kontrast

4

RS

Reset

5

PRW*

Lese-/Schreibzugriff

6

E

Zugriffstakt

7

DB0

Datenbit 0

8

DB1

Datenbit 1

9

DB2

Datenbit 2

10

DB3

Datenbit 3

11

DB4

Datenbit 4

12

DB5

Datenbit 5

13

DB6

Datenbit 6

14

DB7

Datenbit 7

X4: Audio-Anschlüsse

links

Pin

Name

Beschreibung

1

INL

Analogeingang links

2

AGND

analoge Masse

3

OUTL

Analogausgang links

4

PTTL

PIO1vom Codec

5

-


rechts

Pin

Name

Beschreibung

1

INR

Analogeingang rechts

2

AGND

analoge Masse

3

OUTR

Analogausgang rechts

4

PTTR

PIO0 vom Codec

5

-





X5: serielle Prozessorschnittstelle



Pin

Name

Beschreibung

1

RES*

Reset

2

BIO*

Prozessoreingang

3

XF

Prozessorausgang

4

DR

serielle Daten zum Prozessor

5

CLKR

Takt für DR

6

FSR

Synchronisierung für DR

7

DX

serielle Daten vom Prozessor

8

CLKX

Takt für DX

9

FSX

Synchronisierung für DX

10

+5V

Versorgungsspannung

11

GND

Masse

12

GND

Masse



X6: Spannungsversorgung

Pin

Name

1

+8 Volt, mindestens 500mA

2

Masse






X7: Analogausgänge

Pin

Name

Beschreibung

1

HEADR

Kopfhörerausgang rechts

2

HEADL

Kopfhörerausgank links

3

HEADC

gemeinsamer Kopfhörerausgang

4

MOUT1

Monitorausgang 1

5

MOUT2

Monitorausgang 2

6

AGND

analoge Masse



Literatur

[1] TMS320C2X User's Guide
Texas Instruments

[2] Datenblatt CS4215
Crystal Semiconductor

[3] Datenblatt UART 16C550

[4] Datenblatt TLC501
Toshiba