TP DSP TMS320C50

3.2.3 Initialisation du Circuit Analogique d'Interface (AIC) TLC32040 ..... Ce filtre
est suivi d'un filtre analogique pour lisser les artefacts introduits par la ...

Part of the document


|[pic] | |
| |Département Télécommunications, Services & Usages |
| |2001-02 |
Travaux Pratiques
[pic]
DSP TMS320C50 Objectifs
( Découvrir en pratique l'architecture des processeurs de signaux (DSP) et
les problèmes liés à leur programmation en implantant des algorithmes de
traitement du signal sur un processeur 16 bits à virgule fixe. ( Compléter les connaissances en traitement du signal par l'analyse de
phénomènes liés au traitement numérique des signaux.
PLAN DU DOCUMENT 1 INTRODUCTION 4 2 Architecture générale du starter kit TMS320C50 5 2.1 Schéma de la carte 5 2.2 Organisation de la mémoire 6 2.3 Schéma fonctionnel de l'unité centrale de calcul (CPU) 6 2.4 Les modes d'adressage du TMS320C50 7
2.4.1 Adressage direct (Cf. [1, p. 5-2]) 7
2.4.2 Adressage indirect (Cf. [1, p. 5-4]) 8
2.4.3 Adressage circulaire (Cf. [1, p. 5-21]) 8 3 Prise en main du starter kit 9 3.1 Les outils du starter kit 9 3.2 Initialisation de la carte DSK TMS320C5x 9
3.2.1 Initialisation du timer (Cf. [Réf. 1, p. 9-9]) 9
3.2.2 Initialisation du port série (Cf. [1, p. 9-24]) 10
3.2.3 Initialisation du Circuit Analogique d'Interface (AIC) TLC32040
11 4 Manipulations 13 4.1 Réglage de l'AIC, Echantillonnage et repliement de spectre 13 4.2 Le MAC et les modes d'adressage 13
4.2.1 Multiplication en adressage direct et indirect 14
4.2.2 Multiplication de deux vecteurs 14
4.2.3 Génération d'un signal en dent de scie par adressage circulaire
14 4.3 Convolution & filtrage 14
4.3.1 Filtre moyenneur 15
4.3.2 Gestion de la mise à l'échelle du résultat 15
4.3.3 Conception et implantation d'un filtre FIR 15
4.3.4 Conception et implantation d'un filtre IIR 15 5 Bibliographie 16 6 ANNEXES 17 6.1 Instruction MAC 17 6.2 Fichier pass.asm 19 6.3 Fichier mult.asm 20 6.4 Fichier rif.asm 21 6.5 Fichier rii.asm 23 6.6 Jeu d'instructions du TMS320C50 26 6.7 Signal rectangle et Fourier 27
INTRODUCTION Parmi la famille des processeurs spécialisés une nouvelle branche est
apparue vers 1982 avec pour principale fonction de traiter numériquement et
rapidement les signaux issus de la parole. Le premier processeur ou
calculateur spécialisé en traitement du signal (TS ou SP pour Signal
Processing), le "DSP" (Digital Signal Processor), était né et depuis, cette
famille n'a cessé de s'agrandir. Les processeurs DSP diffèrent des
microprocesseurs ordinaires par le fait qu'ils ont été conçus spécialement
pour effectuer de manière très rapide, car câblée, les opérations de somme
et de produit qui sont présents dans tout algorithme de traitement du
signal. Sur un DSP on peut en un cycle effectuer une multiplication et une
accumulation. Si au début ils effectuaient 5 millions d'instructions par
seconde (MIPS) sur des entiers de 16 bits pour un prix de 600$, ils peuvent
aujourd'hui, en version standard, effectuer 50 MFLOPS sur des entiers ou
des flottants (MFLOP: millon Floating Operation per Second) pour un prix
inférieur à 40$. Des DSP de nouvelle génération, tournés vers des
applications vidéos, effectuent 2000 MIPS. La famille de processeurs la plus répandue actuellement est sans conteste
celle des DSP de Texas Instruments qui détient environ 70 % du marché, les
30 % restant étant partagés entre Motorola, Analog Devices, Lucent
Technologies, Nec et Oki.
L'avantage des DSP tient :
à leur faible prix par rapport aux circuits analogiques réalisant la
même fonction.
leur facilité d'intégration sur des cartes numériques
leur possibilité de résoudre par la programmation, dont la complexité
n'est pas limitée, toutes sortes de problèmes linéaires ou non
linéaires
leur robustesse car ils sont insensibles aux variations de température,
aux dérives et au vieillissement
leur flexibilité et leur souplesse de modification, car il suffit de
changer le programme sans modifications matérielles. Les principales applications se trouvent dans :
les télécommunications : téléphone filaire et cellulaire, modem, fax,
transcodeurs, interpolateurs, répondeurs, routeurs, codec ...
le traitement de la parole: reconnaissance, compression, synthèse.
la commande de procédés : asservissement, contrôle flou, diagnostique
automatique, automobile (ABS) ...
l' instrumentation : analyse spectrale, oscilloscope, générateur de
signaux, ...
le traitement d'image : Image par Résonance Magnétique, image
ultrasonore, reconnaissance, compression, transmission, animation ... Les difficultés qui attendent les utilisateurs de ces processeurs sont au
nombre de trois :
. la première est liée à l'architecture du DSP, qui tout en étant proche
de celle du microprocesseur, est fortement spécialisée pour les
algorithmes du traitement du signal,
. la deuxième difficulté, et ce n'est pas la moindre, concerne la
technique du traitement numérique du signal laquelle nécessite la
maîtrise d'outils mathématiques adaptés,
. enfin, la dernière difficulté se rapporte à l'implantation de
l'algorithme ou la manière de programmer le DSP de façon à utiliser au
mieux les ressources de son architecture. On parle d'ailleurs de plus
en plus souvent d'adéquation algorithme-architecture qui suppose une
relation très étroite dans le développement du logiciel et du
matériel.
Ces processeurs sont programmés principalement en langage C (via un
compilateur croisé) avec une phase d'optimisation si nécessaire en
assembleur. Parallèlement aux DSP à usage général ou à spectre large, les constructeurs
commercialisent aussi des DSP réservés à des secteurs d'activités ciblés.
Ainsi, ces DSP sont optimisés pour un type d'application de par leur
parfaite adéquation entre leur architecture et l'algorithme utilisé. Par
exemple, les séries DSP568xxx de Motorola et TMS320C54x de Texas
Instruments ont été développées spécialement pour l'exécution rapide des
algorithmes exploités dans les téléphones sans fil. C'est le cas également
pour la famille de processeur TMS320F/C240 de Texas Instruments qui est
spécialisée dans le domaine de la commande industrielle, en particulier
pour le contrôle de la conversion d'énergie et la commande de moteur
électrique (commande vectorielle). Le processeur que nous allons utilisé est le TMS320C50 qui est un DSP 16
bits à virgule fixe principalement dédié à la téléphonie mobile. Il est de
la cinquième génération construit par Texas Instrument avec une technologie
CMOS, d'où son nom C5x. Il a un temps de cycle de 50ns. A titre d'exemple
on donne la cadence maximale pour quelques applications classiques :
- filtre numérique FIR sur 64 coefficients (3,55 µs)
- filtre numérique IIR ordre 4 (2,15 µs)
- FFT mémoire à mémoire sur 1024points (2,89 ms).
Ici, le DSP est monté sur une carte Starter Kit de Texas Instrument
permettant de le mettre en ?uvre facilement sur un signal analogique. Il
est associé à un Analog Interface Circuit (AIC) réalisant les conversions
A/D et D/A à une fréquence réglable par programme. Architecture générale du starter kit TMS320C50
1 Schéma de la carte La carte starter kit TMS320C50 que vous avez à disposition contient (Cf.
Figure 1) :
- Un DSP TMS320C50 (16 bits, virgule fixe, cycle 50ns)
- Une mémoire PROM de 32 ko
- Un circuit analogique d'interface (AIC) TLC32040
- Des connecteurs RCA entrée/sortie audio
- Un circuit d'horloge
- Un port-série qui permet le chargement de codes via un PC [pic] Figure 1 : Schéma général de la carte starter kit TMS320C5x
2 Organisation de la mémoire La carte starter kit TMS320C50 comprend une mémoire PROM-8bits de 32 K
réservée pour le noyau (kernel) qui est parcourue au démarrage du DSP et
une mémoire RAM de 10 K pour les programmes application.
Au niveau CPU (Voir Figure 3) du TMS320C50, on trouve une Single-Access RAM
(SARAM) et trois (B0,B1,B2) Dual-Access RAM (DARAM). La DARAM B2 est une
mémoire tampon des registres de status.
La plan général d'adressage mémoire de la carte TMS320C50 est donnée Figure
2. [pic] Figure 2 : Plan d'adressage mémoire de la carte starter kit TMS320C5x Dans le fichier pass.asm (Cf. Annexe 6.2), on peut relever les instructions
.ds 0F00h, .ps 080Ah et .ps 0A00h qui permettent d'implanter à différentes
adresses mémoire les mots de données, les routines d'interruption et le
code d'initialisation. 3 Schéma fonctionnel de l'unité centrale de calcul (CPU) Le schéma fonctionnel du CPU du TMS320C50 est donné Figure 2. Vous en
trouverez une description complète p. 3-4 de la référence [1].
On peut noter sur ce schéma :
- la présence de deux bus (data, Program),
- le type d'opérande du multiplieur et leur taille,
- le nombre et la position des 'scaler',
- la taille de l'accumulateur.
[pic] Figure 3 : Schéma fonctionnel du CPU du TMS320C50
4 Les modes d'adressage du TMS320C50 L'architecture mémoire du TMS320C50 est de type Harward modifiée : il y a
donc une mémoire donnée (notée dma)et une mémoire program