190 likes | 312 Views
Département de Génie Électrique. Département Télécommunications , Services & Usages. ATELIER COMMUN DE TELE-DEVELOPPEMENT DE PROJETS DSP. static Void error(Void) { LOG_printf(&trace, "Error: audio signal falsely triggered!"); for (;;) { ; /* loop for ever */
E N D
Département de Génie Électrique Département Télécommunications, Services & Usages ATELIER COMMUN DE TELE-DEVELOPPEMENT DE PROJETS DSP static Void error(Void) { LOG_printf(&trace, "Error: audio signal falsely triggered!"); for (;;) { ; /* loop for ever */ } } void fircirc(float x[], float h[], float y[], int hsize, int ysize, int size, int index) { int i, j; for (j = 0; j < ysize; j++) { float y0 = 0; for (i = 0; i < hsize; i++) y0 += x[(i+j+index) % (1 << (size+1))] * h[i]; y[j] = y0; } }
Équipe TC François Valley Alejandro Rodriguez Blandine Jacquemond Mathias Derruau GE David Bizet David Cao Pau Mari Sanchez Daniel Sanz Gonzalez Dirk Mauler Hugues Benoit-Cattin TC Philippe Delachartre GE Christophe Odet GE Financement: INSA (BQF), TC, GE
Qu'est ce qu'un DSP • C’est un processeur spécialisé en traitement du Signal • (Digital Signal Processor)
Un DSP, ça se programme... Langage machine Langage évolué (C) static Void error(Void) { for (;;) { ; /* loop for ever */ } } void fircirc(float x[], float h[], float y[], int hsize, int ysize, int size, int index) { int i, j; for (j = 0; j < ysize; j++) { float y0 = 0; for (i = 0; i < hsize; i++) y0 += x[(i+j+index) % (1 << (size+1))] * h[i]; y[j] = y0; } } [b1] mvkl DRR,a1 [b1] mvkh DRR,a1 [b1] ldw *a1,a1 || [b1] ldw *+b14(_DSS_rxPtr),b1 [b1] ldw *+b14(_DSS_rxCnt),b2 nop 3 stw a1,*b1++ stw b1,*+b14(_DSS_rxPtr) sub b2,1,b2 stw b2,*+b14(_DSS_rxCnt) … et ce n’est pas facile !
Il faut maîtriser... • Les méthodes de traitement (filtrage,…) • Les principes de base de la programmation • Les langages de programmation • Les spécificités du DSP • Les contraintes de fonctionnement en temps réel L’apprentissage nécessite beaucoup de pratique.
Comment multiplier les possibilités de pratique ? Objectifs du projet • Mise en réseau d’un système professionnel de développement DSP. • Plate-forme commune aux départements GE et TC accessible à distance pour la réalisation de projets et l’auto-formation.
Système de développement Structure Programmes Rocad Signaux analogiques Serveur • Logiciel de développement • Carte DSP • Générateur de signaux programmable • Carte d'acquisition • Postes clients • Pas de logiciel spécifique • Un navigateur suffit...
Intérêts du projet • Intérêts pédagogiques • Accès permanent hors des murs • Changement de pédagogie • Liberté d'accès et autonomie • Acteur de sa formation en DSP • Transversalité • Equipe pédagogique transversale • Projets étudiants inter-départements
Utilisations • Projets de moyenne durée en 4 GE et 4 TC • Projets de fin d ’études en 5GE, Travaux pratiques approfondis, mini-projets... • Ouverture vers d’autres entités (Départements de mécanique, département informatique…) • Formation continue • Plate-forme de test/évaluation pour les entreprises • ...
Quelques éléments techniques... • DSP TMS 320 67 à virgule flottante • Serveur multi-utilisateurs • Stockage sur le serveur pour chaque utilisateur de: • codes sources • programmes exécutables • signaux • Files d’attente: • en compilation • en exécution sur le DSP • Réception des résultats • en temps réel • en différé (par courrier électronique)
Conclusions • Opérationnel depuis la rentrée 2001 • Présentation lors du CETSIS 2001 • Poste client simple (pas de logiciel spécifique) • Une seule licence pour les outils de développement • Pas de possibilité d’interaction à distance avec le programme en cours d’exécution (pas à pas…) • Possibilité de mettre plusieurs types de DSP sur un un même serveur • Le serveur est le poste de développement en local http://gedsp1.insa-lyon.fr