10.8.94




Signal processor card with the TMS320C26

Version 2

Jürgen Hasch, hasch@t-online.de



Hardware description



Overview


Description of the components

Prozessor

The signal processor TMS320C26 from 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



The analog inputs also posess anti-aliasing filters and a programmable amplifier, to get an optimal conversion result. The analog outputs also have anti-aliasing filters.

The codec is interfaced directly to the processor with an synchrounos serial interface. The interface is operated in the 'continuous transmission without frame syn pulses'-mode, where the codec always sends and receives 4 word packets (64 bits) at the same time.

The two operation modes of the codec (control mode and data mode) are selected with the XF processor pin. In the 'control mode' (XF low) the serial clock is generated by the GAL IC5. In this mode, the operation parameters of the codec are selected. In the 'data mode' (XF high) the codec generates the serial clock and transmit/receives 64 bit data packets 4 times the sampling frequency. A complete description of the protocol can be found at [2].

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

Description

1

+5V

Supply voltage

2

O0

Digital output 1

3

O1

Digital output 2

4

O2

Digital output 3

5

O3

Digital output 4

6

O4

Digital output 5

7

O5

Digital output 6

8

O6

Digital output 7

9

O7

Digital output 8

10

I0

Digital input 1

11

I1

Digital input 2

12

I2

Digital input 3

13

I3

digitaler Eingang 4

14

I4

Digital input 5

15

I5

Digital input 6

16

I6

Digital input 7

17

I7

Digital input 8

18

INT1

Interrupt input 1

19

INT2

Interrupt input 2

20

GND

Ground

X2: RS232 interface

Pin

Name

Direction

Description

1

-

-

-

2

TXD

Output

Tansmit data

3

RXD

Input

Empfangsdaten

4

DTR

Input

Data terminal ready

5

GND

-

Ground

6

-

-

-

7

CTS

Input

Clear to send

8

RTS

Output

Request to send

9

-

-

-



X3: LCD display

Pin

Name

Description

1

GND

Ground

2

+5V

Supply voltage

3


Contrast

4

RS

Reset

5

PRW*

Read-/write access

6

E

Access clock

7

DB0

Data bit 0

8

DB1

Data bit 1

9

DB2

Data bit 2

10

DB3

Data bit 3

11

DB4

Data bit 4

12

DB5

Data bit 5

13

DB6

Data bit 6

14

DB7

Data bit 7

X4: Audio connectors

left

Pin

Name

Description

1

INL

Analog input left

2

AGND

Analog ground

3

OUTL

Analog output left

4

PTTL

PIO1 from codec

5

-


right

Pin

Name

Description

1

INR

Analog input right

2

AGND

Analog ground

3

OUTR

Analog output right

4

PTTR

PIO0 from codec

5

-





X5: Serial processor interfacce



Pin

Name

Description

1

RES*

Reset

2

BIO*

Processor input

3

XF

Processor output

4

DR

Serial data to prozessor

5

CLKR

Clock from DR

6

FSR

Sync from DR

7

DX

Serial data from processor

8

CLKX

Clock for DX

9

FSX

Sync for DX

10

+5V

Supply voltage

11

GND

Ground

12

GND

Ground



X6: voltage supply

Pin

Name

1

+8 Volt, mindestens 500mA

2

Masse






X7: anlog outputs

Pin

Name

Description

1

HEADR

right headphone output

2

HEADL

left headphone output

3

HEADC

common headphone output

4

MOUT1

monitor output 1

5

MOUT2

monitor output 2

6

AGND

analoge ground



Literature

[1] TMS320C2X User's Guide
Texas Instruments

[2] Data sheet CS4215
Crystal Semiconductor

[3] Data sheet UART 16C550

[4] Data sheet TLC501
Toshiba