Vous êtes sur la page 1sur 16

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

1. Gnralits Un processus de dveloppement typique pourrait tre celui de la Figure 4.1. La souplesse du dveloppement dapplications base de DSP est un avantage important en termes de temps, de facilit, de fiabilit, et donc de cot. Comme le suggre la Figure4.1, crer une application DSP, cest mener de front deux tudes distinctes. 1.1. La partie matrielle : Elle inclue la mise en oeuvre du DSP lui-mme, mais aussi la cration dune chane dacquisition et/ou de restitution du signal (parfois des signaux) traiter. Les moyens de transformation du signal analogique vers le domaine numrique sappuient eux aussi sur des circuits spcialiss (AIC, CODEC, CNA, CAN...) Le choix des performances obtenir et des moyens pour raliser la chane dacquisition et/ou restitution du signal est primordial pour exploiter au mieux les capacits dun DSP. Lobjectif est de rendre lapplication finale homogne, ergonomique, et ayant un cot de fabrication industriel appropri. 1 .2. La partie logicielle : Elle sappuie sur des outils classiques adapts aux spcificits des DSP.

Lapproche est diffrente de celle utilise pour la partie matrielle, car il est toujours possible de recommencer autant de fois que ncessaire pour arriver au rsultat. Seul un temps de dveloppement trop limit ou une mauvaise valuation de dpart des capacits du DSP cible peut crer des problmes de dveloppements. La conception logicielle nen est pas plus facile pour autant, car le programme ralise lessentiel du traitement du signal. Le rle du DSP ne se limite pas forcment au seul traitement numrique du signal, un DSP peut assurer les mmes fonctions quun microprocesseur normal , et donc tre le coeur du systme informatique de lapplication. Ainsi,
30 Site : http://www.technologuepro.com

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

le cas chant, un DSP peut excuter la fois un systme dexploitation temps rel et assurer les fonctions de traitement numrique du signal.

Figure 4.1 : Exemple dun processus de dveloppement typique

31

Site : http://www.technologuepro.com

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

2. Dfinition des ressources ncessaires Cette phase doit permettre dvaluer les besoins ncessaires la mise en oeuvre du systme de traitement numrique du signal voulu. Elle consiste notamment dfinir les spcifications de la chane dacquisition et de restitution du signal, telles que : la rsolution (nombre de bits ncessaires pour quantifier le signal), la vitesse dchantillonnage (critre de Shannon), la technologie et donc le type de convertisseurs utilis, les filtres anti-repliements s'ils ne sont pas intgrs dans les convertisseurs. Elle permet plus gnralement de cerner tous les besoins du systme numrique, tels que par exemple la consommation de courant et lautonomie pour une application portable, ou au contraire les bus ncessaires lintgration de lapplication dans un systme hte. 3. La slection du DSP le plus adapt La slection dun DSP se base avant tout sur la puissance de traitement ncessaire, et sur le rsultat de benchmarks ralisant des fonctions reprsentatives des traitements raliser. Toutefois, la performance du DSP nest pas le seul critre prendre en compte, il faut galement tenir compte des impratifs suivants : Le type de DSP utiliser (virgule fixe ou flottante) en fonction du domaine dapplication. Les ressources mmoires utiliss, car sil faut par exemple excuter trs rapidement une FFT 1024 points, un DSP intgrant plus de 2048 mots de mmoire vive statique peut tre ncessaire. Les besoins dun ou de plusieurs timers internes, de ports srie synchrones ou asynchrone, etc.
32 Site : http://www.technologuepro.com

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

La ncessit ventuelle dexcuter un systme temps rel, qui savrera plus facile implanter sur certains DSP. Le cot du DSP, son rapport performance/prix en fonction du volume de production envisag. La prennit du produit, c'est--dire lvolution prvue par le fabricant (roadmap). Dautres lments non ngligeables interviennent dans le choix dun DSP, il sagit des moyens disponibles pour mener le dveloppement en un temps donn, comme : La qualit de la documentation (de prfrence claire et abondante). La disponibilit de notes dapplications, dun support technique. La qualit du systme de dveloppement utilis. La possibilit dutiliser un langage de haut niveau (Langage C). La prsence de librairies (du constructeur ou de tierces parties). La possibilit de raliser facilement des prototypes et faible cot. Le choix nest pas toujours simple et certains critres peuvent tre contradictoires, certaines rgles de choix se dgagent quand mme. Ainsi pour des applications destines faire un fort volume de production, le critre dterminant est sans conteste le prix du DSP. Pour des applications faible volume de production, le prix du DSP importe peu, le critre est alors la facilit de dveloppement. Dans tous les cas, la prsence dun bon support technique est un facteur ne pas ngliger, car un DSP est quand mme plus complexe mettre en oeuvre quun microprocesseur classique. 4. Structure matrielle de dveloppement Un environnement (ou systme) de dveloppement pour DSP peut tre scind en deux parties principales:
33 Site : http://www.technologuepro.com

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

Un environnement de dveloppement pour crer et mettre en forme le logiciel de lapplication (cration du source, utilisation des bibliothques, assemblage). Un environnement de dveloppement utilisant des outils spcifiques pour tester et dboguer le logiciel de lapplication (simulateur, module dvaluation, mulateur). 4.1 Le simulateur Le simulateur est un programme particulier excut par un PC ou une station de travail. Son rle consiste simuler le plus exactement possible le fonctionnement du DSP cible. Linterface utilisateur du simulateur permet de consulter les mmoires, tous les registres internes du DSP, ses entres/sorties, etc. Le simulateur excute chaque instruction DSP comme le ferai le DSP luimme, et en rpercute les rsultats dans les mmoires et les registres simuls. Lavantage de ce moyen de dveloppement est quil ne ncessite pas la mise en oeuvre du DSP cible, le test dun module logiciel peut donc se faire rapidement ds sa cration. Comme lindique la figure 4.2 , lcriture dun logiciel DSP est un processus trs itratif, la disponibilit dun simulateur est donc toujours apprciable eu gard au gain de temps de dveloppement quil gnre. Linconvnient est que le logiciel DSP en cours de dveloppement nest pas du tout excut en temps rel. Les oprations dentres/sorties sont simules en utilisant des fichiers sur le disque dur du PC. Le simulateur devient vite limitatif lorsquil sagit de tester le code en charge des oprations dentrs/sorties. 4.2 Le module dvaluation Le module dvaluation se prsente sous la forme dune carte lectronique incorporant le DSP cible et le minimum des ressources
34 Site : http://www.technologuepro.com

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

ncessaires sa mise en oeuvre, telles que des mmoires externes, un AIC, le cas chant une liaison srie RS232, et une alimentation. La partie matrielle est fige et nest pas (ou alors trs peu) volutive. Un module dvaluation sutilise donc gnralement tel quel , et est surtout utile quand ses caractristiques recouvrent celles de lapplication dvelopper. Le module est pilot partir dun logiciel adquat excut par un PC.

Figure 4.2 : module dvaluation TMS320C6416 (1 Ghz) DSP Starter Kit (DSK) La communication avec le module dvaluation seffectue au travers dune liaison srie (USB ou RS232) sil sagit dun modle autonome, ou via un bus du PC sil sagit dune carte enficher. Le programme tester est tlcharg dans le module pour tre excut par le DSP. Comme le simulateur, le module dvaluation permet de consulter la mmoire et les registres du DSP volont. Il permet galement de poser des points darrts simples aux endroits stratgiques du code dboguer. Un problme pos par les modules dvaluations est la non disponibilit de lensemble des ressources du DSP. En effet, en plus du code tester, le DSP excute galement un mini moniteur de dbogage, charg de communiquer
35 Site : http://www.technologuepro.com

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

avec le PC et dinterprter des commandes de bases. Une partie des interruptions et de la mmoire du DSP est donc attribu au moniteur de dbogage. Un module dvaluation nen reste pas moins un outil de dveloppement appropri pour tester des parties de codes en temps rel. Il est disponible immdiatement, ce qui nest pas toujours le cas du prototype de lapplication dvelopper, et son faible prix en fait souvent un outil dapprentissage apprci. 4.3 Lmulateur temps rel Lmulateur temps rel est loutil privilgi pour dvelopper des applications DSP. Cest loutil le plus souple et le plus performant, car il ne souffre pas des limitations dun simulateur ou dun module dvaluation. Son rle consiste muler en temps rel le fonctionnement du DSP au sein mme du prototype de lapplication dvelopper. Toutes les ressources du DSP cible sont libres pour tester non seulement le code du programme de lapplication, mais galement le fonctionnement du prototype.

Figure 4.3 : Emulateur USB haute performance 1,5Mo/s Tout comme le module dvaluation, un mulateur est pilot par un PC, via lequel il est possible dexaminer la mmoire et les registres du DSP. Il est galement possible de poser des points darrts dclenchements
36 Site : http://www.technologuepro.com

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

sophistiqus, bass par exemple sur des conditions logiques portant sur le contenu de registres, de mmoires, voire de ports dentres/sorties. Un mulateur permet en outre de garder une trace des instructions excutes dans telle ou telle partie du code tester, ce qui facilite grandement le dbogage dans certains cas complexes. Seul moyen vraiment sr pour tester un programme et un prototype, un mulateur reste nanmoins handicap par son prix lev dont il faut tenir compte dans le cot global dun dveloppement. Il faut noter que les DSP rcents incluent directement dans leurs coeurs des fonctions dmulation (points darrts, registres spciaux, etc.) Cette approche permet de simplifier la conception des mulateurs et tends les rendre moins chers. 5. Structure logicielle de dveloppement Les deux principales mthodes pour crire un programme DSP consistent utiliser un assembleur ddi ou un langage de haut niveau. Un langage de haut niveau comme le langage C prsente lavantage dtre connu par la plupart des ingnieurs amens travailler dans le domaine du traitement du numrique du signal. Un programme DSP crit en langage C peut donc tre compris relativement facilement par un grand nombre de personnes, sans quelles aient besoin de connatre prcisment le DSP cible. De plus, la portabilit du langage C permet de dutiliser un programme sur des DSP fabriqus par diffrents constructeurs.

37

Site : http://www.technologuepro.com

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

Figure 4.4 : Organigramme dun systme de dveloppement de logiciel pour DSP L'utilisation dun assembleur pour programmer un DSP nen demeure pas moins intressante. Plus que pour un microprocesseur classique, les performances de traitement sont cruciales, et lassembleur est le seul langage permettant dutiliser totalement les possibilits spcifiques de tel ou tel DSP. Par exemple, un algorithme de codage LPC est ainsi estim 1,5 fois plus rapide quand il est implment en assembleur plutt quen C. Mme lorsquils sont spcialement optimiss pour le DSP cible, les compilateurs C ne permettent pas de gnrer un programme ayant les performances dun code bien crit en assembleur par un dveloppeur confirm. La souplesse du systme de dveloppement permet dajouter facilement des portions de programmes assembleurs (assemblage en ligne , ou librairie de fonctions assembleurs) un logiciel crit en C. Ce mlange est recommand par les constructeurs, ainsi la plupart des exemples de traitements numriques sont donns en assembleur, alors que les exemples de mise en oeuvre du DSP

38

Site : http://www.technologuepro.com

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

sont donns en C. Les outils de dbogage acceptent indiffremment lun, lautre, ou le mlange des deux langages. Certaines socits indpendantes des constructeurs fournissent des librairies de fonctions de traitements numriques du signal prtes lemploi. Le langage C facilite lintgration des librairies, voire mme la mise en oeuvre de vritables systmes dexploitations temps rels et multitche, par exemple le systme SPOX de Spectron Microsystems. Bien qutant le plus rpandu, le langage C nest pas le seul utilisable pour programmer un DSP, il existe quelques rares compilateurs ADA, FORTRAN et PASCAL pour DSP. 6. Utilisation dun logiciel pour programmer 6.1 Intrt dun logiciel convivial : gnration de codes pour DSP Dans une tude de simulation en lectronique, en traitement du signal, ou en automatique, il est intressant d'utiliser des outils mathmatiques appropris pour tester ou faire fonctionner en quasi-mulation un montage, un systme ou une transmission de donnes. La programmation du DSP se fait sur l'cran de l'ordinateur, l'aide de schmas-blocs et de signaux de commande prciss sur la modlisation du systme, ce qui est plus agrable et plus convivial pour l'utilisateur. Les algorithmes sont tudis par simulation, puis sont transforms pour tre excutables par un DSP. Le logiciel dispose de botes outils de problmes dj rsolus, sortes de sousprogrammes qui facilitent une tude plus globale d'un systme. Il est ainsi possible de crer des fichiers en langage C qui seront compils pour tre excuts par un DSP. On parle alors de gnrateurs de codes pour DSP. 6.2 Les gnrateurs de codes vers dSPACE La socit Scientific Software propose deux logiciels: MATLAB et SIMULINK et une carte d'application nomme dSPACE.
39 Site : http://www.technologuepro.com

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

Lanalyse mathmatique s'effectue grce au logiciel MATLAB. Pour une tude plus proche des problmes de l'lectronicien ou de l'automaticien, il est possible de lui associer le logiciel SIMULINK. Ltude d'un systme va alors aboutir une commande optimise par DSP, crite ventuellement en langage C. Un compilateur convertit le programme crit par le logiciel en un fichier excutable par un DSP en virgule flottante, situ sur une carte d'implantation dSPACE.

Figure 4.5 : Plate-forme exprimentale utilisant dSPACE Ce DSP va ensuite fonctionner de manire tester la commande avec des signaux rels issus d'un systme complexe, comme le contrle d'un robot. Le logiciel MATLAB sert l'analyse mathmatique des donnes, telles que la rsolution d'quations diffrentielles ou l'analyse numrique matricielle. Par la suite, on peut grce des outils , dvelopper l'analyse du signal : convolution, corrlation, transforme de Fourier, traitement d'images... MATLAB permet en outre l'identification du domaine de frquences des
40 Site : http://www.technologuepro.com

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

systmes utiliss en lectronique et en traitement du signal. Enfin, il est possible, en vue de l'application au DSP, de tester des algorithmes, par exemple ceux qui sont utiliss en codage correcteur d'erreur pour la transmission numrique des donnes. Pour tudier de manire plus approfondie un systme complexe, en particulier en simulation, on passe de MATLAB SIMULINK. partir de l, on utilise SIMULINK en gnrateur de codes de commande pour DSP. Lavantage ici est que les codes envoys sur dSPACE sont bien adapts au DSP utilis, quel que soit le fabricant et que les performances du composant sont optimales. Dans ces conditions, on peut faire fonctionner le DSP en temps rel, c'est-dire en raction complte et rapide avec le fonctionnement et le comportement du systme command. 6.3 Les logiciels de dveloppement La socit Hewlett Packard propose des logiciels permettant, partir d'un concept, de dvelopper compltement une programmation de DSP, en utilisant soit le langage C, soit les outils MATLAB. Bien entendu, des outils, des bibliothques de donnes et de sousprogrammes sont disponibles et il est possible d'effectuer toutes les simulations ncessaires pour vrifier le fonctionnement. 7. Spcialisation Pour un usage donn du DSP (commande numrique d'un moteur lectrique, comme un moteur asynchrone triphas, par exemple) une classification est possible selon la facilit de mise en oeuvre du programme du composant et selon les performances obtenues.

41

Site : http://www.technologuepro.com

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

7.1 Commande de moteurs Les TMS320F240x sont des DSP-contrleurs 16 bits, virgule fixe, qui sont trs bien adapts ce rle. Ils comportent les sorties ncessaires la commande par modulation de largeur d'impulsions vectorielle de l'onduleur alimentant le moteur asynchrone. Il fonctionne avec deux frquences d'horloge : l'une pour les oprations 20MHz, l'autre pour le chien de garde (Watch Dog) de la fonction contrleur, 16384Hz. Les bus internes fonctionnent en 16bits. D'autre part, il est possible d'envisager plusieurs modes de commande, de types d'asservissement, partir de donnes obtenues concernant le moteur : courant et position angulaire. Il effectue en temps rel les calculs de transformation ncessaires (transformation de Park) pour optimiser les commandes d'asservissement. La socit Analog Devices proposait un systme concurrent ncessitant un ensemble DSP et ADSP2115, 16bits, virgule fixe, associ un processeur vectoriel ADMC200 pour effectuer les transformations de Park. Depuis, cette socit prsente un DSP-microcontrleur ADMC330, ADMC401, qui ralisent sensiblement les mmes fonctions que le TMS320C240 : frquence d'horloge 13MHz, virgule fixe, 16bits. En 2002 est apparu une nouvelle famille ADSP21299x possdant toutes les caractristiques de lADMC401 avec en plus un bus CAN et un temps de cycle de lordre de 6ns. 7.2 Traitement de signaux simultans Un autre type de DSP spcialis est celui qui gre de manire souple des signaux simultans, tel l'ADSP21csp0l de Analog Devices. C'est un DSP 16bits virgule fixe, de performance 50MIPS, avec un temps de cycle de 20ns. Lappellation csp (concurrent signal processing) signifie que ce DSP peut grer la fois quatre entres/sorties de mmoires externes sans difficult, grce des mmoires tampon d'attente.

42

Site : http://www.technologuepro.com

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

7.3 DSP pour tlphones cellulaires UADSP21msp5l de Analog Devices dispose dans son circuit intgr d'un systme de traitement de la voix. Il comporte un convertisseur analogique/numrique de type sigmadelta, avec des filtres anti-repliement de spectre. Il est spcialement conu pour les tlphones cellulaires. La socit Motorola fabrique galement des DSP pour tlphones cellulaires. 7. Exemple de la famille ADSP21xx dAnalog Devices La famille ADSP 2lxx est virgule fixe utilisant des donnes en 16 bits. Cette famille a volu trs vite en fonction de la diversification des besoins des DSP Ces besoins ont fait natre des oprations particulires certains DSP, comme le port hte (HIP : Host Interface Port) des ADSP2111, 2171 et 2173, qui permet de communiquer des donnes avec un autre processeur, ou l'interface analogique de l'ADSP21msp58 (Tableau 4.1). Pour tous les DSP de la famille 2lxx, le constructeur a cherch ce que l'architecture interne du composant permette d'excuter en un seul cycle d'horloge les tches ci-dessous : crer l'adresse suivante du programme ; aller chercher l'instruction suivante ; raliser un ou deux dplacements de donnes ; excuter l'instruction. Dans un cycle d'horloge le DSP peut aussi recevoir ou transmettre les donnes d'un port srie ; recevoir ou transmettre les donnes d'un port DMA ou port hte. Le coeur des DSP de la famille ADSP21xx ddie spcifiquement aux calculs contient les ensembles principaux suivant : ! un ALU (Arithmetic and Logic Unit) permettant les calculs simples du processeur : addition, soustraction, oprations logiques entre donnes de 16 bits,
43 Site : http://www.technologuepro.com

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

un MAC (Multiplier and ACcumulator) permettant les calculs de multiplication et d'addition (ou de soustraction) entre donnes de 16 bits, un BS (Barrel Shifter) permettant le dcalage de bits sur 16 ou 32 bits en mode logique et arithmtique, un DAG (Data Address Generator), gnrateur d'adresses de donnes, un pointeur, indispensable pour la plupart des oprations. Le processeur ADSP-2101, le plus ancien, comporte deux ports srie pour

la transmission des donnes, 1k (1024 mots) de mmoire de donnes de 16 bits en mmoire vive (RAM) et 2k de mmoire de programme de 24 bits en RAM. Le bus d'adressage est en 14 bits. Lhorloge interne fonctionne 25 MHz. La technologie est de type C-MOS, o la longueur du canal est de 0.5m. La consommation du composant est infrieure 1W. Le processeurADSP-2181, l'un des plus rcents, comporte deux ports srie pour; la transmission des donnes, 16k de mmoire de donnes de 16 bits en mmoire vive (RAM) et 16k de mmoire de programme de 24 bits en RAM. Le bus d'adressage est en 14 bits. Lhorloge interne fonctionne 33MHz. La technologie est du type C-MOS, avec une longueur du canal de 0.5m. Son architecture est conue pour mener en parallle de multiples oprations afin de favoriser le pipe-lining .
Caractristiques 2101 2103 2105 2115 2111 2171 2173 2181 2183 21msp58 ALU MAC Dcaleur DAG Squenceur Mmoire ! ! ! ! ! 1k ! ! ! ! ! 1k ! ! ! ! ! 512 ! ! ! ! ! 512 ! ! ! ! ! 1k ! ! ! ! ! 2k ! ! ! ! ! 2k ! ! ! ! ! 16k ! ! ! ! ! 16k ! ! ! ! ! 2k

44

Site : http://www.technologuepro.com

Architecture des DSP Chapitre 4 : Mthodes et outils de dveloppements

donnes Mmoire programme Timer Port srie 0 Port srie 1 Port Hte Port DMA Interface analogique Alimentation Vitesse (MIPS) 5V 20 3.3V 10 5V 13.8 5V 20 5V 20 5V 33 3.3V 20 5V 33 3.3V 33 5V 26 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 2k 2k 1k 1k 2k 2k 2k 16k 16k 2k

Tableau 4.1 : Famille ADSP21xx

45

Site : http://www.technologuepro.com