Uploaded by Mohamed Demnati

TP TD DSP et Applications gse

Travaux pratiques
DSP et Applications
2ème année GE, Filière GSE
Mohammed KHALDOUN
04/04/2021
TP DSP et Applications
2020/2021
TP & TD DSP
Partie 1 : Configuration de l’Outil de développement Intégré pour
processeurs DSP Texas Instrument (Code Composer Studio)
&
Tests fonctionnels de la plateforme DM6437EVM
NB : La partie 1 ne nécessite pas de préparation préalable, elle sera traitée directement sur le
matériel, la parties 2 et la partie 3 nécessiteront une préparation préalable.
I – Procédure de Configuration du CCS, Ouverture d’un projet et Exécution d’un projet test
I-Configuration du CCS pour Plateforme DM64M37EVM
1. Lancer Code Composer Studio en cliquant sur
La fenêtre suivante apparait
2. Choisir la plateforme DM6437EVM et valider en cliquant sur <<ADD
1
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
3. Cliquer sur Save and Quit
➒ Cliquer sur Oui pour démarrer CCS
➒ Cliquer sur Non pour quitter CCS
Supposons qu’on a quitté le CCS en cliquant sur Non, pour lancer à nouveau le CCS on procède
comme suit :
4. Lancer Code Composer Studio pour la carte DM6437 EVM en cliquant sur
Démarrage du CCS
2
Mohammed KHALDOUN
TP DSP et Applications
5. Ouverture Fenêtre Principale CCS
2020/2021
Ouverture d’un projet CCS
6. Pointer vers le Dossier CCStudio_v3.3 pour ouvrir un projet.
7 . Ouvrir le Dossier boards
3
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
8 - Ouvrir le Dossier evmdm6437
9 - Ouvrir le Dossier ’’tests’’contenant les
programmes tests de la carte DM6437EVM
projets
4
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
10 - Ci-dessous, les différents dossiers des projets tests de la
plateforme DM6437EVM
11- Ci-dessous Emplacement des circuits et périphériques Plateforme DM6437 EVM.
12 – Sélectionner par exemple le projet ’’Led’’ pour tester le fonctionnement des ’’leds’’ de
la plateforme
5
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
13 - Le projet led.pjt est prêt pour l’exécution
14 - Les différents fichiers du projet
6
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
15 -Exemple de Codes
Fonction main du projet ‘led.prj’
* Copyright 2006 by Spectrum Digital Incorporated.
* All rights reserved. Property of Spectrum Digital Incorporated.
*/
* EVMDM6437 Test Suite
*
#include "stdio.h"
#include "evmdm6437.h"
/* ------------------------------------------------------------------------ *
*
*
* Testing Function
*
*
*
* ------------------------------------------------------------------------ */
void TEST_execute( Int16 ( *funchandle )( ), char *testname, Int16 testid )
{
Int16 status;
/* Display test ID */
printf( "%02d Testing %s...\n", testid, testname );
/* Call test function */
status = funchandle( );
/* Check for test fail */
if ( status != 0 )
{
/* Print error message */
printf( " FAIL... error code %d... quitting\n", status );
/* Software Breakpoint to Code Composer */
SW_BREAKPOINT;
}
else
{
/* Print error message */
printf( " PASS\n" );
}
}
extern Int16 led_test( );
/* ------------------------------------------------------------------------ *
*
*
* main( )
*
*
*
* ------------------------------------------------------------------------ */
void main( void )
{
/* Initialize BSL */
EVMDM6437_init( );
7
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
TEST_execute( led_test, "LEDs", 1 );
}
printf( "\n***ALL Tests Passed***\n" );
SW_BREAKPOINT;
Fonction Test Led.c
* Copyright 2006 by Spectrum Digital Incorporated.
* All rights reserved. Property of Spectrum Digital Incorporated.
*/
* LED Test
*
#include "evmdm6437_led.h"
/* ------------------------------------------------------------------------ *
*
*
* led_test( )
*
* Running Four LED test
*
*
*
* ------------------------------------------------------------------------ */
Int16 led_test( )
{
Int16 i, j;
/* Initialize the LED module */
EVMDM6437_LED_init( );
/* Running Four LED test */
for ( j = 0 ; j < 5 ; j++ )
{
for ( i = 0 ; i < 4 ; i++ )
{
if ( EVMDM6437_LED_on( i ) )
return 1;
}
_waitusec( 125000 );
for ( i = 0 ; i < 4 ; i++ )
{
if ( EVMDM6437_LED_off( i ) )
return 2;
}
_waitusec( 125000 );
}
/* Turn on all Four LEDs to indicate a PASS */
for ( i = 0 ; i < 4 ; i++ )
EVMDM6437_LED_on( i );
8
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
return 0;
}
Fichier Linker.cmd
* Copyright 2006 by Spectrum Digital Incorporated.
* All rights reserved. Property of Spectrum Digital Incorporated.
*/
* Linker command file
*
-l rts64plus.lib
-l ..\..\lib\evmdm6437bsl.lib
-stack
-heap
0x00001000
0x00001000
/* Stack Size */
/* Heap Size */
MEMORY
{
L2RAM: o = 0x10800000 l = 0x00020000
DDR2:
o = 0x80000000 l = 0x10000000
}
SECTIONS
{
.bss
> L2RAM
.cinit > L2RAM
.cio
> L2RAM
.const > L2RAM
.data
> L2RAM
.far
> L2RAM
.stack > L2RAM
.switch > L2RAM
.sysmem > L2RAM
.text
> L2RAM
9
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
16- Construction du projet ’’Build’’
Build réussi
10
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
17 - Dans’Debug’ lancer Connect pour connecter CCS à la carte DM6437EVM
La plateforme est maintenant connectée à CCS
11
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
18 -Chargement du fichier exécutable par ’’Load program’’
19- Le fichier exécutable ’’led.out’’ est logé dans le répertoire Debug
12
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
20- Ouvrir du fichier exécutable ’’led.out’’
21- Le fichier ’’led.out ’’ est chargé en mémoire pour l’exécution
13
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
22- Dans Debug, lancer ’’run’’ pour l’exécution
14
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
L’exécution est réussie ’’ voir ’’sorties LEDs de la carte DM6437EVM
II-Tests fonctionnels périphériques de la plateforme DM6437EVM
Objectifs : s’assurer du bon fonctionnement des principaux périphérique de la plateforme
Travail demander :
1. Créer un répertoire de travail portant votre nom de votre choix ’’Mon_Projet_DSP’’
par exemple ;
2. Sous le répertoire C\CCStudio_v3.3\boards, copier le répertoire
’’evmdm6437_v2’’ dans votre répertoire de travail.
3. Dans le répertoire ’’evmdm6437_v2’’, renommer le projet LED sous un autre
nom pour ne pas altérer les fichiers originaux, puis lancer l’exécution de votre
nouveau projet.
15
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
4. Dans votre nouveau projet, Changer le code C pour assurer l’allumage des LEDs
pendant 1.5 secondes.
5. Même travail pour le projet dip_pswich.
6. Même travail pour le projet video_colorbars.
7. Même travail pour tester le codec Audio.
16
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
Partie 2 : Traitement d’un signal audio
On souhaite traiter un signal audio émanant d’un microphone professionnel ou d’un
dispositif multimédia, fournissant des signaux audios stéréo (deux canaux droit et
gauche) jusqu’à 22,050 kHz. La figure 1 représente un exemple de modèle adopté
Figure 1 : Traitement d’un signal audio
1. Préparation
a. On désire garder sur le canal droit les signaux de fréquences supérieures à f1
Hz et sur le canal gauche les signaux de fréquences inferieures à f2 KHz.
Compléter le modèle en plaçant des filtres adéquats (et en spécifiant leur type)
sur les deux canaux. Justifier votre réponse.
b. Donner les fonctions de transfert π»π·π‘Ÿπ‘œπ‘–π‘‘π‘’ (z) et π»πΊπ‘Žπ‘’π‘β„Žπ‘’ (z) des filtres
numériques correspondants, à partir des fonctions de transfert π»π·π‘Ÿπ‘œπ‘–π‘‘π‘’ (p) et
π»πΊπ‘Žπ‘’π‘β„Žπ‘’ (p) des filtres analogiques du premier ordre (cellule RC par exemple).
c. Donner le modèle du filtre sous forme de schéma block, en faisant apparaitre :
les coefficients les multiplieurs les additionneurs et les lignes à retard.
d. Donner les expressions littérales des coefficients du filtre du canal droit en
fonction de la fréquence d’échantillonnage Fe (à choisir) et la fréquence de
coupure Fc (que vous estimez valable).
e. Donner une application numérique des coefficients du filtre retenu.
2. Modélisation, simulation et d’implémentation sur plateforme DSP :
a. Donner le modèle Simulink du système étudié et reporter les valeurs des
coefficients des filtres.
b. Faire une simulation en virgule flottante et conclure.
c. Faire une simulation en virgule fixe et conclure.
d. Adapter les modèles précédents pour une implémentation sur plateforme DSP
DM6437EVM sachant que l’ADC génère à sa sortie des données codées sur 16
bits signés in16 et le DAC accepte sur ses entrées des données 16 bits signés
int16) .
e. Déployer le modèle en temps réel sur DSP et conclure.
17
Mohammed KHALDOUN
TP DSP et Applications
2020/2021
Partie 3 : Synthèse de signaux numériques
On souhaite générer sur DSP (pour un système de démodulation numérique) deux
signaux sinusoïdaux orthogonaux (sinus et cosinus), à partir d’une fréquence
d’échantillonnage Fe. Le principe consiste à stoker en mémoire de profondeur 2N, les
2N échantillons d’une sinusoïde sin(Σ¨). N étant le nombre de bits nécessaire pour le
codage d’une période. N désigne aussi la taille en bits de l’ACCIMULATEUR_ PHASE.
Pour la synthèse d’un signal de période fréquence FOUT, il suffit de lire la mémoire avec
un pas donné. Autrement dit, incrémenter l’ACCUMULATEUR_PHASE avec un
INCREMENT_ PHASE adéquat.
Figure 2
1. Donner l’expression de la fréquence de sortie, FOUT, en fonction de :
INCREMENT_PHASE, Fe et N.
2. Calculer l’incrément de phase Delta PHI nécessaire pour avoir une fréquence de
sortie de 320 Hz à partir d’un Fe= 8000 Hz et une résolution de fréquence de 0.05
Hz
3. Adapter le modèle pour une implémentation sur la plateforme DSP DM6437EVM
sachant que l’ADC et le DAC audio du DSP n’acceptent que des données 16 bits
signés int16 ;
4. Déployer le modèle en temps réel sur DSP et conclure.
5. Modifier le modèle pour un fonctionnement en modulateur de fréquence. Faire la
simulation nécessaire, déployer le modèle sur DSP et conclure.
18
Mohammed KHALDOUN