Vous êtes sur la page 1sur 6

Compte

Rendu TP-2
DSP

Réalisé par:

ELRHOMARI Yousra
ALAMI Zouhir

Encadré par:
Mr. ELBDOURI
Mr. MANSOURI
LAB 2 :

Manipulation du Codec AIC23 de DSK avec les modes d’acquisition et de


génération des signaux

L’objectif de ce TP est de se familiariser avec l’environnement de développement CCS (Code


Composer Studio) de Texas Instrument et le starter DSP (DSK) en plus d’être capable d’estimer
les performances du DSP C67 de TI.
Dans ce TP, on visera principalement les modes d’acquisition et de génération des signaux.
On commencera par créer un projet avec le menu Project  New, avec les paramètres suivants :
Le nom  led
Location  D:\TP_2\Manip1
Type de project  exécutable (out)
Target  TMS320C67XX
Ce projet consiste à faire clignoter la LED0 pendant une période de 0.2s, et de commander le
clignotement de la LED3 par le Switch 3.
On crée notre premier programme C par le menu File  New  Source File
On enregistre le fichier test_LED.c et on l’ajoute au projet. On ajoute ensuite le fichier
c6713dskinit.c qui se trouve dans le dossier C:\fichierCSS.
On ajoute les fichiers support de librairie : rts6700.lib, dsk6713bsl.lib et csl6713.lib
On ajoute le fichier de liaison c6713dsk.cmd
Maintenant il reste à nous de régler les paramètres
de Build : Project  Build Option
Target version = C671x ( - mv6710 )
Dans la catégorie Advanced, on choisit :
Memory Models = Far ( - mem_model :data=far )
Dans la catégorie Préprocessor, on régle :
Pre – Define Symbol = CHIP_6713
Include Search Path =
C:\CSStudio_v3.1\C6000\dsk6713\include
On clique sur Linker puis on règle :
Library Search
Path = C:\CCStudio_v3.1\C6000\dsk6713\lib
On scan ensuite les fichiers ajoutés: Project 
Scan All File Dependencies
On vérifie si tous les fichiers désirés sont ajoutés
On passe à la compilation du projet par le menu Project  Build, on charge le programme dans
le DSP par File  Load Program puis on choisit le fichier led.out ( dans le dossier Debug )
En utilisant le menu Debug  Run, on exécute le programme, pour l’arrêter on clique sur Debug
 Halt.
On vérifie le programme sur la carte en fermant l’interrupteur.

Echantillonnage/Reconstruction avec le mode Poll et Intr


Première partie : Mode Poll
On crée un nouveau projet en ajoutant le fichier vector_poll.asm

Dans cet exemple, l’acquisition se fait sur


les deux canaux de droite et de gauche, et
le signal sera sur le canal droit si le SW3
est sélectionné et sur le canal gauche si le
SW1 est sélectionné. Si les deux sont à 1
le signal sort sur les deux canaux.
En appliquant un signal sinusoïdal
sur LINE INPUT, tout en vérifiant que
l’amplitude est < à 1v avant le
branchement, le signal doit être d’une
fréquence < 4KHZ et puis on visualise la
sortie sur LINE OUTPUT

Deuxième partie : Mode Intr


On ajoute cette fois-ci la bibliothèque vector_intr.asm, on modifie le programme pour les trois
cas :

- Traitement sur le canal droit


- Traitement sur le canal gauche
- Traitement sur les deux canaux

- Pour le cas du traitement sur le canal droit, on


modifie le type de la variable sample_data en int, et
on modifie input_data() et output_sample par
input_right_data() et output_right_sample().
- La même chose pour le traitement sur le canal
gauche en changeant right par left.

Le problème majeur de l’utilisation du mode poll est qu’on néglige les tâches critiques, par
exemple si une interruption arrive et qu’elle doit absolument être exécutée immédiatement, le
mode poll ne lui permettra pas de s’exécuter et la placera dans une liste d’attente,
contrairement au mode intr qui favorise les tâches avec leurs priorités et permet de décrire un
vrai système embarqué.
Troisième partie : LookUpTable
Cette partie permettra de générer un signal sinusoïdale sur le canal gauche par la méthode
LookUpTable afin d’observer le rôle du filtre de reconstruction

1- Le signal de sortie est sinusoïdal et la fréquence est de 1KHZ


2- On visualise la sortie sur l’oscilloscope en branchant la sortie avec l’oscillo numérique
3- On change LOOPLENGTH 8 par LOOPLENGTH 4 et on change les coefficients par {0,1000,0,-
1000}, on obtient un signal sinusoïdal de fréquence plus grande que celle du premier code.
4- Le changement des coefficients par {1000,1000,-1000,-1000} permettra d’avoir en sortie un
signal carré, mais vu que le nombre des échantillons est plus petit, la sortie reste sinusoïdale.
5- On modifie les coefficients pour obtenir la fréquence maximale (4KHZ), en se basant sur la
relation fe/fs = D, avec D : nombre d’échantillons, donc si on veut avoir une fréquence maximale
de 4KHZ il faut avoir seulement 2 échantillons, on peut même modifier la fréquence
d’échantillonnage en respectant la relation citée auparavant.
6- On change LOOPLENGTH 4 par LOOPLENGTH 64 et on change les coefficients pour avoir 32
valeurs de 1000 et 32 autres de -1000, on obtient un signal carré.

Quatrième partie : Enregistrement du son


Dans cette partie on utilisera un buffer situe dans la mémoire externe pour sauvegarder/restituer
une séquence audio.
La mémoire interne du DSP C6713 est de 280KB, taille insuffisante pour des applications
nécessitante la sauvegarde d’un nombre important de données.
Le kit DSK dispose pour cet effet d’une mémoire externe de 16MB.
- Pour déclarer une variable/tableaux dans cette zone on utilise la directive suivante :
#pragma DATA_SECTION(nom_variable,’’.SDRAM’’) en zone des déclarations.

On diminue le niveau du son, puis on


raccorde la sortie audio du pc à l’entrée LINE
INPUT du DSK, et on relie ensuite la sortie
LINE OUT du DSK à un écouteur ou un haut-
parleur, on lance une piste audio du pc.

- On commande l’enregistrement en
activant/désactivant le SW_3 : quand on
active le SW_3, l’enregistrement commence,
ce dernier s’arrête si on désactive le Switch.
- On commande la lecture en
activant/désactivant le SW_0 : quand on
active le SW_0, on lance la lecture de la piste enregistrée par l’activation du Switch SW_3.

Vous aimerez peut-être aussi