Sunteți pe pagina 1din 0

EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 1 /77


UNIVERSITE MOHAMMED V AGDAL
ECOLE MOHAMMADIA D INGENIEURS
Dpartement Gnie Electrique



Niveau : 3
me
Anne
Filire : Electrotechnique et Electronique de Puissance


Support du Cours : Commande Numrique des Processus




Par : DR A. ABBOU

Anne Universitaire : 2010/2011

EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 2 /77
Plan du cours
Introduction. 3
1- Chaine de commande numrique.4
2- Utilisation des calculateurs numriques..4
2-1 Atouts.5
2-2 Considrations technologiques..5
3- Commande numrique dun processus....23
3-1 Etudes des signaux chantillonns..23
3-2 Analyse des systmes chantillonns...27
3-3 Synthse des correcteurs numriques et laboration des lois de commande....40
4- Filtres Numriques48
5- Prsentation des DSP..57
5.1 Gnralit...58
5.2 Noyau DSP60
6-Classification des DSP....61
6.1 Virgule fixe ou flottante..61
6.2 Classification virgule fixe / flottante des DSP...63
6.3 Performance des DSP64
6.4 Puissance de calcul dun DSP....65
6.5 Mesure du temps dexcution.66
7-Architecture fonctionnelle....67
7.1 Architecture dun processeur..67
7.2 Architecture de Von Neumann et de Harvard....68
7.3 Utilisation de pipelines...69
8-Mthodes et outils de dveloppements....70
8.1 Gnralits..70
8.2 Dfinition des ressources ncessaires.71
8.3 La slection du DSP le plus adapt..72
8.4 Structure matrielle de dveloppement....72
8.5 Structure logicielle de dveloppement..72
9- Utilisation dun logiciel pour programmer une interface C...74
9.1 Intrt dun logiciel convivial : gnration de codes pour DSP..74
9.2 Les gnrateurs de codes vers dSPACE. ..75
9.3 Les logiciels de dveloppement...75
10- Commande des moteurs lectriques..76
Applications.76

Bibliographie.............................................................................................................................................................................................77



EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 3 /77
Introduction
Durant ces dernires annes, la commande des machines lectriques a subi des progrs significatifs. Ces
progrs sont essentiellement dus la rvolution technologique en lectronique numrique, ce qui a permis le
dveloppement de solutions numriques efficaces avec une possibilit d'implanter des algorithmes plus
complexes. Les premires implantations d'algorithmes de commande de machines lectriques furent ralises
avec des solutions analogiques. Ces solutions assuraient la ralisation de contrles ayant une large bande
passante et une haute rsolution. Cependant, elles manquaient de fiabilit, vu leur sensibilit aux perturbations et
aux variations de paramtres de contrle lies aux contraintes thermiques des circuits analogiques de contrle.
Par la suite, les solutions numriques se sont naturellement imposes afin de remdier ces inconvnients. De
nos jours, les implantations numriques sont en majorit bases sur les microprocesseurs et les DSP (Digital
Signal Processor). Ces solutions numriques sont quipes d'units arithmtiques et logiques ALU (Arithmetic
Logic Unit) ddies la ralisation des calculs arithmtiques et logiques des algorithmes de commandes. Elles
intgrent galement des priphriques tels que les convertisseurs analogiques/numriques et les Timers bien
adapts aux besoins de commande de machines lectriques. Leur utilisation a permis de rsoudre les problmes
lis l'utilisation des commandes analogiques. Par ailleurs, elles prsentaient un grand intrt conomique et une
meilleure flexibilit de conception. Il est noter aussi que ces solutions numriques sont des solutions purement
logicielles. En effet, les conceptions qui leurs sont associes sont conues en utilisant des architectures
prdfinies. Le concepteur ne peut donc pas agir sur la partie matrielle de la conception et n'a accs qu' la
partie logicielle. D'un autre ct, malgr les avantages offerts par ces solutions numriques, certains avantages
offerts par les implantations analogiques sont perdus. Cela est principalement d au fait que la discrtisation et la
quantification des algorithmes de commande implanter, ainsi que les dlais de temps de calcul dtriorent les
performances de contrle en termes de rapidit de correction et de rsolution de contrle.
Les premires implantations d'algorithmes de commande de machines lectriques taient bases sur des
solutions analogiques. Bien que l'on reproche ces solutions analogiques un certain nombre de dfauts, elles
gardent nanmoins certains avantages fondamentaux, o le passage en numrique pose des problmes trs
dlicats quil faut rsoudre. Ces avantages fondamentaux sont essentiellement la rapidit (les rponses des
commandes analogiques sont quasi-instantanes) et l'action en continu. Par consquent, les commandes
analogiques permettent de raliser des contrles ayant une large bande passante. ct, les solutions numriques
paraissent plus lentes et manipulent des grandeurs discrtes et quantifies. Ces dernires caractristiques posent
des problmes permanents aux concepteurs.
Dans ce cours, on va dfinir des outils mathmatiques nouveaux, adapts au temps discret, pour reprsenter ces
signaux et systmes chantillonns, puis d'adapter les outils et mthodes de l'automatique analogique ( temps
continu) la conception de rgulateurs numriques.
Dun autre ct, les microprocesseurs sont en perptuelle volution, chaque nouvelle gnration est plus
performante que lancienne, pour un cot moindre. Les DSP, qui sont un type particulier de microprocesseur,
nchappent pas cette volution. Dans ces conditions, pour comprendre, choisir, et utiliser judicieusement un
DSP, il est de premire importance de se poser les questions suivantes :
Comment est architectur un DSP, en quoi est-il diffrent dun microprocesseur classique ?
Quelle performance attendre dun DSP, comment dfinir cette performance ?
Dun point de vue pratique, comment dvelopper des programmes de traitements du signal ?
Dans ce cours, on va galement donner quelques lments de rponses ces questions.


EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 4 /77



Figure 1 : Structure dune chaine de commande numrique
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 5 /77





EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 6 /77




Figure 2 : Forme dun signal chantillonn
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 7 /77



Figure 3 :
Figure 4 :
Figure 5 :
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 8 /77





Figure 6 : reprsentation de deux signaux diffrents
Figure 7 : Spectre de Peigne de Dirac
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 9 /77



Figure 8 : Echantillonnage temporelle
Figure 9 : Repliement spectral
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 10 /77


EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 11 /77



Figure 10 : Reprsentation du Bloquer dordre zro
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 12 /77



Figure 11 : Reprsentation du Module de Bloquer dordre zro
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 13 /77



EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 14 /77






EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 15 /77












EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 16 /77
Quelques Exemples :


Table 1 : Transforme en z de quelques exemples courants
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 17 /77










Table 2 : Transforme en z de quelques exemples courants
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 18 /77



EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 19 /77





Figure 12 : Correspondance entre le plan des p et le plan des z
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 20 /77




EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 21 /77



EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 22 /77



EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 23 /77




EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 24 /77



EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 25 /77




EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 26 /77




Correction

EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 27 /77




Figure 13 : Rponses temporelles du systme
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 28 /77



Figure 14 : Correspondance entre le plan des w et le plan des z
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 29 /77



EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 30 /77




EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 31 /77



EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 32 /77




EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 33 /77



Table 3 : Erreurs du systme en fonction du nombre de ples (z=1)
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 34 /77



EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 35 /77




EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 36 /77


EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 37 /77

Figure 15 : Lieu des ples amortissement constant dans le plan z
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 38 /77

Figure 16 : Dpassement indiciel en fonction de lamortissement et de langle
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 39 /77

Figure 17 : Temps de premier maximum en fonction de lamortissement et de langle
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 40 /77




EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 41 /77



Figure 18 : Mthodes de transposition dun correcteur analogique
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 42 /77


EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 43 /77


EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 44 /77


EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 45 /77


EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 46 /77



EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 47 /77




EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 48 /77



EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 49 /77



Figure 19 : Organigramme de synthse dun filtre
Table 4 : Comparaison entre les diffrents filtres
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 50 /77



Figure 20 : Gabarit dun filtre
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 51 /77


EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 52 /77



EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 53 /77


EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 54 /77



Figure 21 :
Figure 22 :
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 55 /77




Figure 23 :
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 56 /77







EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 57 /77
5- Prsentation des DSP
5.1 Gnralits
La numrisation.
Paralllement aux microprocesseurs et aux microcontrleurs, les processeurs de traitement
numrique du signal, ou DSP (Digital Signal Processor), ont bnfici des normes progrs en
rapidit (grce au faible temps de commutation) et en puissance de calculs (grce au nombre
de bits des bus internes) des composants logiques intgrs programmables. D'une manire
gnrale, tous les processeurs vrifient la loi de Moore, l'un des fondateurs de la socit Intel
qui annonait, ds sa cration, que la densit d'intgration des composants doublerait tous les
dix-huit mois. En 1995, on savait intgrer dix millions de transistors dans un composant
unique.
Utiliss initialement pour grer la carte son des micro-ordinateurs, les DSP ont vu leur
utilisation s'accrotre considrablement depuis 1985, tout d'abord grce au dveloppement des
tlcommunications (tlphonie numrique, puis tlphonie sans fil GSM ... ), puis grce ses
possibilits de traitement rapide de certaines commandes numriques faisant appel des
algorithmes complexes permettant ainsi le travail en temps rel . En utilisant des donnes
numriques extraites d'un signal, on rend les systmes de commande et de gestion
lectroniques beaucoup plus fiables, et reproductibles. L o il fallait des rglages en
lectronique analogique, il suffit d'imposer une valeur constante convenablement choisie dans
un registre particulier du composant. On fixe ainsi l'amplification ou la bande passante d'un
filtre numrique, et ceci de manire dfinitive. La trs bonne prcision en temps (donc en
frquence) des composants numriques provient de l'extraordinaire stabilit de la frquence
d'oscillation du quartz, frquence qui sera celle de l'horloge du processeur, en pratique choisie
entre 20 MHz et 200 MHz.
La bonne prcision en niveau de tension des composants numriques est due la qualit des
convertisseurs analogique /numrique et numrique/analogique, et en premier lieu, la
stabilit de la caractristique de tension de la diode Zener interne de rfrence des
convertisseurs. Ensuite intervient le nombre de bits (unit binaire d'information) utilis pour
caractriser une donne. La conversion s'effectue le plus souvent avec 8 bits, 10bits 12 bits
voire 14 bits en usage plus performant. Enfin, de nouveaux types de convertisseurs dits
sigma-delta ( - ) permettent une conversion analogique/numrique avec un faible bruit de
quantification. La capacit en nombre de bits de donnes est l'une des caractristiques de la
puissance de traitement du processeur. Il existe des microprocesseurs et des microcontrleurs
8 bits, 16 bits et mme plus. Les DSP devant tre encore plus performants, les donnes
numriques seront 16 ou 32 bits, voire plus.
Rle du DSP.
Le traitement numrique du signal, qu'il provienne du son ou d'une image vido, est rendu
accessible par le DSP grce son unit de calcul spcifique multiplicateur / additionneur /
accumulateur de donnes. En effet, tout DSP est prvu pour effectuer le plus rapidement
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 58 /77
possible, en principe en un seul cycle d'horloge, l'opration multiplication/addition sur des
grandeurs numriques :
MR=X.Y+R
o X et Y sont soit des donnes, soit des constantes et R une donne, une constante ou un
rsultat prcdent. MR est alors le rsultat de l'opration arithmtique.
Si le DSP fonctionne en virgule fixe avec des donnes sur 16 bits, le rsultat MR est alors sur
32 bits (ou plus, selon l'architecture). Si l'utilisateur ne conserve que les 16 bits de poids fort,
le calcul est alors effectu en simple prcision. Si les 32 bits sont utiliss, on parle de double
prcision : le temps de calcul est alors plus long. Si le DSP fonctionne en virgule flottante
avec des donnes en 32 bits, le rsultat MR est alors sur 40 bits (ou plus, selon l'architecture).
Lutilisateur ne prend en compte que les donnes de 32 bits en ignorant les bits de poids
faibles de la mantisse.
Le premier DSP a t produit en 1982 par Texas Instruments. Depuis, cinq autres gnrations
de DSP sont apparues. Les processeurs des gnrations 1, 2 et 5 sont en virgule fixe, les
gnrations 3, 4, 6 en virgule flottante. En 2004, les principaux fabricants de DSP sont :
Texas Instruments -Analog Devices Motorola Zilog Lucent Nec Zoran Zsp Microchip
Les trois premiers constructeurs sont les plus connus. Nanmoins, certains petits constructeurs
dveloppent des architectures originales. Microchip, fort du succs de ces microcontrleurs
PIC vient de mettre sur le march une famille de DSP 16 bits virgule fixe, les dsPIC.
Les diverses approches possibles :
a- Approche signal
Cette approche caractrise d'emble le DSP et fait de lui un composant numrique pour les
spcialistes du signal et les lectroniciens. Lutilisateur retrouve les filtres, avec amplification,
attnuation, mais aussi le traitement numrique du signal (convolution, corrlation,
transforme de Fourier rapide : FFT pour Fast Fourier Transform), filtrage numrique,
compression, codage et dcodage des donnes ... ), toutes ces applications faisant appel des
algorithmes.
Les signaux traiter sont caractriss par la frquence maximale possible associe un
phnomne physique ou un systme donn (respect de Thorme de Shannon)
Le nombre de cycles de calcul l'intrieur d'une priode d'chantillonnage Te, donne la
possibilit pour le DSP d'intervenir efficacement ou non en temps rel entre deux prises
d'chantillons. Si ce n'est pas le cas, par exemple pour un signal vido, le DSP intervient selon
un processus plus lent, tout en grant des interruptions sur une priode d'chantillonnage. La
gestion des ports entre/sortie devient alors trs complexe. Dans d'autres cas, le DSP est
intressant pour faire une simulation ou une estimation de grandeurs en temps rel en
parallle avec le droulement d'un phnomne physique. Il faut alors que les dures de calcul
des donnes simules soient plus courtes que la dure d'volution du phnomne physique.
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 59 /77
Ceci est possible si le modle n'est pas trop complexe, ou si le phnomne physique est trs
lent.

Table 5 : Nombre de cycles de calcul
Les applications des DSP sont nombreuses dans les domaines suivants :
Tlcommunications : modem, multiplexeurs, rcepteurs de numrotation DTMF,
tlcopieurs, codeurs de parole GMS, ),
Interfaces vocales : codeur vocaux pour rpondeurs, reconnaissance automatique de la
parole, synthse vocale
Militaire : guidage missiles, navigation, communications crypte, radar,
Multimdias et grand public : compression des signaux audio (CD), compression des
images, cartes multimdias pour PC, synthse musicale, jeux,
Mdical : compression dimage mdicale (IRM, chographie), traitements des signaux
biophysiques (ECG, EEG,), implants cochlaires, quipement de monitoring.
lectronique automobile : quipement de contrle moteur, aide la navigation, commande
vocale, dtection de cliquetis pour avance lallumage,
Automatisation et contrle de processus : surveillance et commande de machines, contrle
de moteurs, robots, servomcanisme,
Instrumentation : analyseur de spectre, gnrateurs de fonction, interprtation de signaux
sismiques,
b- Approche technologique
La Figure 24 montre la vitesse dun composant en fonction de sa performance , cest--dire
de ladaptation des besoins spcifiques de llectronique. On voit la place privilgie du
DSP par opposition celle du microprocesseur, dusage plus gnral.
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 60 /77

Figure 24 : Place du DSP vis--vis des autres processeurs
c-Approche processeur
On l'a vu, le DSP peut tre compar au microprocesseur et au microcontrleur. De fait,
certains DSP, comme les TMS320F240x de Texas Instruments utilis pour des commandes de
moteurs lectriques, ou les Z89323/373/ ... /473 de Zilog sont des processeurs o l'on a
optimis les avantages du DSP et ceux du microcontrleur. D'autres, comme les DSP 56000
de Motorola sont issus de la technologie du microprocesseur 68000. Dans la commande et le
contrle de systmes complexes, le DSP joue la fois le rle du microcontrleur, et celui du
calculateur rapide en temps rel pour obtenir tous les signaux ncessaires la commande.
C'est le cas du DSP Texas TMS320F240x qui permet la commande des moteurs asynchrones
en contrle vectoriel ou en flux orient, ainsi que celle des moteurs synchrones et des moteurs
pas--pas.
Mais une autre approche possible consiste considrer un noyau DSP lintrieur dun
circuit intgr comportant de nombreuses oprations. La socit Hewlett Packard propose la
vente des logiciels permettant la cration puis lintgration dun noyau DSP dans un ASIC
(Applied Specific Integrated Circuit). Il peut servir, lintrieur du composant intgr, en
paralllisme un processeur RISC (Reduced Instruction Set Computer). Citons, par
exemple, le DSP TMS320C54x associ au cur ARM7, ou bien le MPC823 de Motorola qui
runit la fois un DSP56800, un cur Power PC et un module RISC. Le DSP peut aussi tre
associ dautres processeurs par lintermdiaire du port hte. Il peut servir en paralllisme
un microprocesseur.
5.2 Noyau DSP
Soit un processeur assurant en un seul cycle dhorloge lopration arithmtique lmentaire
MR=X.Y+R
Il sagit par exemple deffectuer des oprations arithmtiques du type produit de convolution
x(n).y(n-k)
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 61 /77
Il est alors ncessaire que le processeur possde une architecture de Harvard avec deux
mmoires vives au minimum, cest--dire une mmoire de programme et une mmoire de
donnes. Les donnes x(n) proviendront par exemple de la mmoire de donnes, et y(n k) de
la mmoire programme. Ces mmoires communiquent avec quatre bus internes au moins,
cest--dire un bus dadresse pour chacune des mmoires, un bus de donnes, et un bus de
programme. Un systme gnrateur dadresses, appel pointeur, simpose pour activer les
mmoires en lecture ou en criture.
La rapidit de calcul sobtient non seulement grce un cycle dhorloge trs court, et donc
une frquence leve, de lordre de 200MHz pour certains processeurs, mais aussi grce la
gestion dun pipeline. Tout cela rduit, en dfinitive, un noyau DSP implant soit dans un
composant ddi, soit dans un composant intgr, soit encore sur une carte de traitement
dimages ou de flot de donnes. Le DSP est en principe un composant squentiel synchrone,
cest--dire que toutes les oprations programmes ne sont effectues que lorsquun front
dhorloge apparat, do limportance de la frquence de lhorloge. Nanmoins, il commence
apparatre des DSP asynchrones tel le stDSP 16 bits de LG Semicon. Dans ce cas, le
transfert des donnes est contrl par des signaux spcifiques dentre et de sortie : les
registres du pipeline sont ouverts pour le dbut de la transmission, puis ferms une fois la
donne transmise et place dans un nouveau registre.
6- CLASSIFICATION DES DSP
Il est impossible deffectuer une classification dfinitive des DSP, car chaque constructeur
met sur le march tous les ans un nouveau composant qui surclasse les anciens ou les
concurrents par la puissance de calcul, la rapidit (gestion du pipeline et frquence
dHorloge), le nombre de registres, de Timers, de ports srie
6.1 Virgule fixe ou flottante
Un point essentiel des DSP est la reprsentation des nombres (les donnes) quils peuvent
manipuler. Il est possible de distinguer deux familles :
Les DSP virgule fixe : les donnes sont reprsentes comme tant des nombres
fractionnaires virgule fixe, (exemple -1.0 +1.0), ou comme des entiers classiques. La
reprsentation de ces nombres fractionnaires sappuie la mthode du complment deux .
Lavantage de cette reprsentation (qui nest quune convention des informaticiens) est de
permettre facilement laddition binaire de nombres aussi bien positifs que ngatifs.
Les DSP virgule flottante : les donnes sont reprsentes en utilisant une mantisse et un
exposant. La reprsentation de ces nombres seffectue selon la formule suivante :
n = mantisse x 2
exposant
. Gnralement, la mantisse est un nombre fractionnaire (-1.0 +1.0),
et lexposant est un entier indiquant la place de la virgule en base 2 (cest le mme mcanise
quen base 10).

EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 62 /77
6.1.1 Les DSP virgules flottantes
Les DSP virgule flottante sont plus souples et plus faciles programmer que les DSP
virgule fixe. Un DSP comme le TMS320C30 manipule des nombres forms avec une
mantisse de 24 bits et un exposant de 8 bits (taille de la donne en mmoire : 32 bits). Les
valeurs intermdiaires des calculs sont mmorises dans des registres avec un format de 32
bits de mantisse et un exposant de 8 bits (taille du registre : 32 + 8 bits supplmentaires). La
dynamique disponible est trs grande, elle va de -1 x 2
128
(1-2
-23
) x 2
127
, toutefois la
rsolution reste limite 24 bits au mieux. Outre les nombres fractionnaires, ce DSP sait
galement manipuler les entiers avec une prcision de 32 bits.
La trs grande dynamique propose par les DSP virgule flottante permet virtuellement de ne
pas se soucier des limites des rsultats calculs lors de la conception dun programme. Cet
avantage a cependant un prix, savoir quun systme bas sur un DSP virgule flottante a un
cot de fabrication suprieur par rapport un systme bas sur DSP virgule fixe. La puce
dun DSP virgule flottante ncessite la fois une surface de silicium plus importante (cur
plus complexe), et un nombre de broches suprieur, car la mmoire externe est elle aussi au
format 32 bits. Le systme revient donc plus cher (exemple : 2 x 32 broches ne serait ce que
pour les bus de donnes externes avec une architecture Harvard de base). Un DSP virgule
flottante est plutt adapt (sans tre impratif) des applications dans lesquelles :
- les coefficients varient dans le temps (exemple : les filtres adaptatifs),
- le signal et les coefficients ont besoin dune grande dynamique,
- la structure mmoire est importante (exemple : traitement dimage),
- la prcision est recherche sur toute une gamme dynamique importante (exemple :
traitements audiophoniques de qualit professionnelle).
De part leurs facilits de programmation, ils peuvent galement se justifier dans des projets ou
le temps et la facilit de dveloppement sont des facteurs importants. On les trouve galement
dans des produits de faible volume de production, pour lesquels le prix du DSP nest pas
significatif.
6.1.2 Les DSP virgules fixes
Un DSP virgule fixe est un peu plus compliqu programmer quun DSP virgule flottante.

Figure 25 : Reprsentation des nombres entiers cods sur 4 bits en complment 2
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 63 /77

Figure 26 : Reprsentation des nombres fractionnaires cods sur 4 bits en complment 2
Dans un DSP virgule fixe typique comme le TMS320C25, les nombre sont cods sur 16 bits
(rappel : des entiers classiques ou des fractionnaires). Toutefois, sur ce DSP, les calculs sont
effectus avec des accumulateurs de 32 bits. Lorsque les rsultats doivent tre stocks en
mmoire, les 16 bits les moins significatifs sont perdus. Ceci permet de limiter les erreurs
darrondis cumulatives. Il est toujours possible de stocker sparment en mmoire les 16 bits
faibles puis les 16 bits fort sil ny a plus de registres libres lors dune tape de calcul.
Cette particularit nest pas toujours disponible sur tous les DSP. Dans ce cas, les calculs
requrant absolument une double prcision sont raliss en chanant deux deux des
instructions spciales manipulant des donnes 16 bits en simple prcision, au dtriment du
temps dexcution.
La prcision des calculs est un point critique des DSP virgule fixe, car le concepteur de
programmes doit rester vigilant chaque tape dun calcul. Il doit rechercher la plus grande
dynamique possible (c..d. exploiter au mieux la gamme des nombres disponibles), pour
conserver une bonne prcision des calculs, tout en vitant autant que faire ce peu les
dbordements du ou des accumulateurs. Les bits supplmentaires des accumulateurs (les bits
de garde) prvus cet effet permettent de rduire cette contrainte. Les programmeurs
contournent les limites des DSP virgule fixe en dterminant lavance, et avec soins, la
prcision et la dynamique ncessaire (par mthode analytique ou avec des outils de
simulation) pour raliser leurs projets. Il est galement possible deffectuer des oprations en
virgule flottante dans un DSP virgule fixe par le biais de routines logicielles adquates.
Cette approche est nanmoins pnalisante en temps dexcution, mme sur un DSP virgule
fixe trs rapide. En termes de rapidit, les DSP virgule fixe se placent d'ordinaire devant
leurs homologues virgule flottante, ce qui constitue un critre de choix important. Les DSP
virgule fixe sont les plus utiliss, car ils sont moins chers que les DSP virgule flottantes.
On les trouve dans tous les produits de grande diffusion ou le cot est un facteur important. Il
peut cependant exister des exceptions, certains DSP virgule fixe se prsentant comme des
micro contrleurs perfectionns plus chers quun DSP virgule flottante de base.
6.2 Classification virgule fixe / flottante des DSP
La classification la plus simple est celle dfinissant si le DSP appartient la famille des DSP
virgule flottante ou DSP virgule fixe. Pratiquement, lorsque les donnes sont sur 16 bits, le
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 64 /77
DSP est virgule fixe. Cest galement le cas pour la famille DSP56000 24 bits de
Motorola. Les donnes sont virgule flottante pour des DSP de 32 bits
Voyons le cas des DSP fabriqus par Texas Instruments (dsigns par TMS) et Analog
Devices (dsigns par ADSP). Le classement du tableau 1.3 est effectu selon le nombre de
bits du bus de donnes et le temps dexcution dun cycle, puis dune opration complexe,
comme la transforme de Fourier rapide 1024 points de calcul.

Table 6 : Comparaison entre diverses catgories de DSP
- Les TMS320Clx, C2x, C5x ou ADSP2105, 21 01 sont 16 bits virgule fixe.
- Les TMS320Clx sont utiliss pour le contrle des disques durs dans les ordinateurs.
- Les TMS320C2x ou ADSP-2105 servent au fonctionnement des fax.
- Les TMS320C5x ou ADSP-21 01 sont utiliss dans les modems.
- Les TMS320C3x, C4x ou ADSP-21010, 21020 sont 32 bits virgule flottante.
- Les TMS320C3x ou ADSP-21010 sont utiliss pour les systmes Hi-Fi, synthse
vocale, et dans les processeurs graphiques 3 dimensions.
- Les TMS320C4x, TMS320C6x ou ADSP-21020 sont conus pour le fonctionnement
en parallle, avec dautres systmes processeurs (applications : la ralit virtuelle
et la reconnaissance dimages).
6.3 Performance des DSP
Plus que pour un microprocesseur classique, les performances dun DSP conditionnent
son domaine dapplication. La plupart des DSP sont particulirement destins des
applications temps rel et spcialises, cest dire des applications o le temps de
traitement est bien sr primordial, mais o la diversit des vnements traiter nest pas
notablement importante. De ce point de vue, lapproche DSP sapparente plus une tude
lectronique visant raliser une ou des fonctions de traitements de signal, que dune
approche informatique temps rel et/ou multitche traditionnelle. Il existe cependant des
applications ou le DSP assure la fois des fonctions de traitements numriques du signal
et les fonctions gnrales dun microprocesseur au cur dun systme informatique
classique.
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 65 /77
Dans tous les cas, les performances du DSP sont critiques. Le concepteur dun systme
base de DSP doit valuer dune part la puissance ncessaire pour raliser les
traitements numriques voulus, et dautre part les performances des DSP disponibles pour
raliser son application.
6.4 Puissance de calcul dun DSP
C'est un autre critre de classification des DSP. Cette puissance de calcul dpend de la
rapidit de l'excution des instructions, et donc de l'horloge. Dans un DSP, le MAC
(multiplicateur et accumulateur) calcule le produit de deux entres codes sur N bits, dans
un temps record de 7ns 150ns. Un cycle d'horloge !. La multiplication est obtenue de
manire asynchrone. Le rsultat est charg dans un accumulateur 2 x N bits.
Lutilisateur choisit de garder seulement les N bits de poids fort en simple prcision, et
effectue alors une troncature ou alors l'ensemble du rsultat en double prcision. Bien
entendu, si le DSP est virgule flottante, l'effet de la troncature est moins gnant.

Figure 27 : Evolution du temps dexcution dune opration MAC selon Texas Instruments
La mthode classique pour valuer les performances dun DSP est de se baser sur sa
vitesse dexcution. Encore faut-il trouver une bonne dfinition de ce quest la vitesse
dexcution, ce qui nest pas forcment simple. Cette mthode de base consiste donc
compter le nombre dinstructions effectues par seconde. Un obstacle apparat alors, car
une instruction ne signifie pas forcment la mme chose dune famille de DSP lautre.
La Table 7 rsume les principales dfinitions en usage.
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 66 /77


Table 7 : Dfinitions des units les plus courantes de mesures des performances des DSP
Une autre mthode consiste dfinir une fois pour toute une opration de rfrence
comme tant un MAC , puisquil sagit dune fonction commune tous les DSP. Il ne
reste plus qu compter le nombre de MAC par seconde. Cependant cette dfinition
napporte pas beaucoup dinformations sur les performances des DSP modernes. En effet,
un MAC est excut en un seul cycle. Sachant que sur les DSP rcents la plupart des
instructions sont galement excutes en un cycle, cela revient donc mesurer les MIPS
du DSP. Il faut galement tenir compte du fait que certains DSP en font plus dans un seul
MAC (nombre, format et taille des oprandes traits) que dautres.

6.5 Mesure du temps dexcution ( Benchmark )
La vitesse de calcul pure dun DSP nest pas une indication universelle, les mthodes et
les rsultats diffrent dun DSP lautre. De plus elle ne rend pas compte d'un certain
nombre de perfectionnement dont peuvent bnficier tel ou tel DSP. Certains DSP
proposent en effet des modes dadressages plus performants que dautres. Ces modes sont
spcialement adapts des algorithmes standards du traitement du signal (exemple : le
mode dadressage dit bits reversing pour acclrer les calculs des FFT). Les
instructions itratives sont galement importantes en terme de performance (rapidit des
boucles logicielles) et ne devraient pas tre ignores. Enfin, le temps daccs la
mmoire est un autre paramtre incontournable. Certains DSP intgrent des blocs de
mmoire vive rapide. Cette mmoire est place dans lespace dadressage du DSP au
mme titre que de la mmoire vive externe, ce qui permet dy ranger donnes et
programmes sans avoir effectuer des transfre permanents de ou vers lextrieur. Les
ventuels cycles dattentes pouvant tre ncessaires pour adresser une mmoire externe
lente sont ainsi vits. Pour toutes ces raisons, la mesure des performances par
benchmark complte avantageusement la mesure de vitesse pure. Elle consiste mesurer
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 67 /77
le temps que met le DSP pour excuter des programmes standards de traitements du
signal. Encore faut-il dfinir ce quest un programme standard de traitement du signal.
Le point faible des benchmarks rside dans cette dfinition des dalgorithmes standards.
Quel domaine dapplications faut-il choisir ? Quels sont les algorithmes les plus
reprsentatifs ? Il existe plusieurs systmes de benchmarks se proposant de servir de
rfrence. Ainsi, le BDT benchmark est couramment utilis, un autre benchmark
frquemment utilis est le Standard Performance Evaluation Corporation , ou SPEC95,
qui couvre plusieurs domaines tels que les vocodeurs, lasservissement en position des
ttes de lectures des disques dur, les modems, voire les applications multimdia sur PC.
Dans la pratique, un autre problme se pose : la qualit de limplmentation des
algorithmes peu varier dun systme de dveloppement lautre. Ainsi par exemple,
qualit gale, un filtre numrique peut demander plus ou moins de ressources processeur
en fonction de telle ou telle implmentation. Cet aspect nest pas pris en compte par les
benchmarks.
La mesure des capacits dun DSP par benchmark reste nanmoins intressante, car elle
tend mesurer la performance globale du systme de traitement numrique (y compris les
capacits du programmeur !)

Table 8 : Exemple dun tableau comparatif de Benchmark

7- ARCHITECTURE FONCTIONNELLE
7.1 Architecture dun processeur
Un processeur est un composant intgr (en technologie C-MOS) ou une partie de
composant susceptible d'excuter des instructions selon un programme d'instructions
prtabli sur des donnes numriques. Le programme, et parfois les donnes, sont
enregistrs dans des mmoires numriques. Larchitecture est ce qui dtermine d'emble
et de manire dfinitive les principales caractristiques du processeur en particulier la
rapidit d'excution des instructions. Elles sont lies au nombre de bus internes, qui sont
des liaisons parallles N bits, la valeur mme de N, aux oprations possibles sur les
donnes transitant sur les bus et enfin la puissance de calcul de l'unit centrale. Les bus
sont relis des registres temporaires pour stocker provisoirement les codes d'instructions,
des adresses ou des donnes. D'autres types de registres existent :
- les registres de contrle ou d'tat, qui ne sont pas stocks en mmoire car ils sont
adresss directement par une instruction, par mesure de scurit. Ces registres sont
essentiels car ils dterminent le droulement prcis d'une instruction. Certains d'entre
eux sont en lecture seule, d'autres en criture seule.
- les registres dfinissant les conditions de fonctionnement d'un port (srie, DMA, hte
...), des interfaces avec des mmoires de sortie ou du Timer, qui ont une adresse en
mmoire de donnes.
Les instructions s'excutant au cur du processeur appel unit centrale, comportant
dans le cas le plus classique, une seule unit arithmtique de traitement des donnes.
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 68 /77
l'entre des units de calcul constituant l'unit centrale, les donnes sont charges dans des
registres temporaires qui, lors de la ralisation de l'instruction de calcul, vont tre relis
l'unit de calcul ; le rsultat de l'opration sera disponible dans un registre (temporaire) de
sortie. Larchitecture est conue pour que les instructions puissent :

- charger les donnes dans un registre temporaire d'entre en lisant le contenu d'une
mmoire vive une adresse donne, les donnes transitant par un bus de donnes et
les adresses pour la lecture par un autre bus ;
- effectuer une opration logique ou arithmtique sur une donne ou entre deux donnes
dans l'unit centrale;
- effectuer des tests sur le rsultat obtenu (dpassement, signe...) ;
- modifier certains registres ;
- aller crire un rsultat une adresse de la mmoire prvue.

Toutes ces instructions doivent en principe tre excutes en un seul cycle d'horloge.
Larchitecture contient donc un noyau DSP si elle comporte une unit centrale laquelle est
compose d'une ou plusieurs units de traitement, chacune comportant des units de
calcul, dont l'ALU (Arithmetic and Logic Unit) le MAC (Multiplier and ACcumulator), le
dcaleur barillet (Barrel Shifter) et enfin des multiplexeurs d'aiguillage des donnes. En
plus de 1'unit centrale, le noyau DSP comporte un squenceur, pour envoyer les adresses
des instructions enregistres dans la mmoire programme, et un ou plusieurs gnrateurs
d'adresses (parfois appels pointeurs) agissant sur les bus d'adresses.
7.2 Architecture de Von Neumann et de Harvard
chaque cycle d'horloge, le processeur sait par le compteur de programme l'instruction
qu'il doit faire excuter. Nous avons vu qu'il va chercher chaque instruction en mmoire,
l'excute avec les donnes correspondantes et retourne les donnes rsultantes en
mmoire. Dans l'architecture de la machine de Von Neumann, le programme et les
donnes sont enregistrs sur la mme mmoire. Chaque instruction contient la commande
de l'opration effectuer et l'adresse de la donne utiliser, il faut donc souvent plusieurs
cycles d'horloge pour excuter une instruction. La Figure 28 indique une architecture
simple de Von Neumann, constitue dun bus de donnes et de programme et dun bus
d'adresses. On voit que les changes s'effectuent de manire simple entre l'unit
arithmtique et logique (ALU), c'est--dire l'unit centrale et la mmoire unique, par un
bus transitant les codes de programme et les donnes. On a ainsi des donnes colles
aux instructions. Les microprocesseurs et beaucoup de microcontrleurs utilisent cette
architecture car elle est trs souple pour la programmation

Figure 28 : Architecture de Von Neumann

Dans l'architecture dite de Harvard (car mise au point dans cette universit amricaine en
1930), on spare systmatiquement la mmoire de programme de la mmoire des donnes
: l'adressage de ces mmoires est indpendant. La Figure 29 indique une architecture
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 69 /77
simple de Harvard, constitue dun bus de donnes, dun bus de programme et de deux
bus d'adresse.

Figure 29 : Architecture de Harvard
On voit que les changes s'effectuent de manire double entre l'unit centrale et les deux
mmoires, ce qui permet une grande souplesse pour l'enregistrement et l'utilisation des
donnes. D'ailleurs, la mmoire de programme est galement utilise en partie comme
mmoire de donnes pour obtenir encore plus de possibilits de traitement avec des
algorithmes complexes.
Larchitecture gnralement utilise par les microprocesseurs est la structure Von Neuman
(exemples : la famille Motorola 68XXX, la famille Intel 80X86). Larchitecture Harvard
est plutt utilise dans des microprocesseurs spcialiss pour des applications temps rels,
comme les DSP.
Il existe cependant quelques rares DSP structure Von Neuman. La raison de ceci est lie
au cot suprieur de la structure de type Harvard. En effet, elle requiert deux fois plus de
bus de donnes, dadresses, et donc de broches sur la puce. Or un des lments
augmentant le cot de productions des puces est prcisment le nombre de broches
implanter. Pour rduire le cot de la structure Harvard, certains DSP utilisent
larchitecture dite Structure de Harvard modifie . lextrieur, le DSP ne propose
quun bus de donnes et un bus dadresse, comme la structure Von Neuman. Toutefois,
lintrieur, la puce DSP dispose de deux bus distincts de donnes et de deux bus distincts
dadresses. Le transfert des donnes entre les bus externes et internes est effectu par
multiplexage temporel.
7.3 Utilisation de pipelines
Pour amliorer les performances de lunit de traitement, les DSP les plus rcents utilisent
la mthode du pipeline. Elle consiste imposer un ordre et un rythme dans le droulement
des instructions de manire optimiser en rapidit leur excution. En un cycle processeur,
les oprations lmentaires suivantes peuvent tre excutes en parallle :

1. aller chercher linstruction en mmoire programme (Fetch) ;
2. raliser le dcodage de linstruction, et des adresses des oprandes (Decode) ;
3. lire les oprandes en mmoire de donnes (Read) ;
4. excuter lopration et crire le rsultat (Execute).

Le principe de pipeline consiste dcouper le travail en tches lmentaires de mme
dure pour permettre leur ralisation en parallle. Il faut prvoir des registres tampon entre
chaque opration lmentaire, ce qui montre la Table 9.
Il y a donc en permanence quatre instructions dans le pipeline, ce qui est le plus souvent
invisible, sauf sil y a conflit dans le pipeline, ce qui se passe quant lune des quatre
instructions exige plus dun cycle dhorloge. Dans la plupart des cas, DSP rattrape le
conflit en dcalant alors les autres instructions dun cycle.
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 70 /77

Table 9 : Principe de pipeline

8- MTHODES ET OUTILS DE DVELOPPEMENTS
8.1 Gnralits
Un processus de dveloppement typique pourrait tre celui de la Figure 30 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 Figure 30, crer une
application DSP, cest mener de front deux tudes distinctes.
- La partie matrielle : elle inclue la mise en uvre 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.
- 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 cur du systme informatique de
lapplication. Ainsi, le cas chant, un DSP peut excuter la fois un systme
dexploitation temps rel et assurer les fonctions de traitement numrique du signal.
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 71 /77

Figure 30 : Exemple dun processus de dveloppement typique
8.2 Dfinition des ressources ncessaires
Cette phase doit permettre dvaluer les besoins ncessaires la mise en uvre 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.


EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 72 /77
8.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.
- 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.

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 uvre quun microprocesseur classique.
8.4 Structure matrielle de dveloppement
Un environnement (ou systme) de dveloppement pour DSP peut tre scind en deux
parties principales:
- 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).
8.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.
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 73 /77
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 lui-mme, 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 uvre du DSP cible, le test dun module logiciel peut donc se faire rapidement
ds sa cration. Comme lindique la figure 31, 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.
8.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 ncessaires sa mise en uvre, 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. La communication avec le module
dvaluation seffectue au travers dune liaison srie 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 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.
8.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. 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 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
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 74 /77
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 curs
des fonctions dmulation (points darrts, registres spciaux, etc.) Cette approche permet
de simplifier la conception des mulateurs et tends les rendre moins chers.
8.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.

Figure 31 : 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 uvre du DSP
sont donns en C. Les outils de dbogage acceptent indiffremment lun, lautre, ou le
mlange des deux langages. Certaines socits indpendantes des constructeurs
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 75 /77
fournissent des librairies de fonctions de traitements numriques du signal prtes
lemploi. Le langage C facilite lintgration des librairies, voire mme la mise en uvre
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.
9- Utilisation dun logiciel pour programmer une interface C
9.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 sous-
programmes 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.
9.2 Les gnrateurs de codes vers dSPACE
La socit Scientific Software propose deux logiciels: MATLAB et SIMULINK et une carte
d'application nomme dSPACE. 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.
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 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.
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 76 /77
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.
9.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 sous-
programmes sont disponibles et il est possible d'effectuer toutes les simulations ncessaires
pour vrifier le fonctionnement.
10- Commande des moteurs lectriques
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 uvre du programme du composant et selon les performances obtenues.
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.
Applications
Commande dun moteur asynchrone triphas par une carte dSPACE DS1104 utilisant le DSP
de Texas instrument TMS320F240, on envisage les commandes suivantes :
- Commande scalaire
- Commande vectorielle
- Commande direct du couple
EMI Support Cours commande Numrique des Processus

DR. A. ABBOU Page 77 /77
Bibliographie
[1] Kazmierkowski M.P., Krishnan R., Blaabjerg F., Control in Power Electronics Selected Problems,
Academic Press, 2002.

[2] E. Godoy and E. Ostertag, Commande numrique des systmes. France: Ellipses, 2005

[3] dSPACE DS1104 R&D Controller Board, RTI Reference, Features Reference, Control Desk
guide, 2006.

[4] Bose B.K., Modern Power Electronics and AC Drives, Pearson Education, 2002.

[5] D. Jaume, S. Thelliez, and M. Verg. Commande des Systmes Dynamiques par Calculateur.
Eyrolles, France, 199

[6] G.F. Franklin, J. D. Powell, and A. Emami-Naeini. Feedback Control of Dynamic Systems.
Addison-Wesley Publishing Company, Inc., New-York, 1994.

[7] P. Borne, G. Dauphin-Tanguy, J.P. Richard, F. Rotella, and I. Zambettakis. Analyse et Rgulation
des Processus Industriels. Tome 1 : Rgulation continue. Technip, France, 1993.

[8] ADMC401 DSP Motor Controller Developers Reference Manual Rev. 2.1, 11 Septembre 2000

[9] ADSP-2100 Family Assembler Tools & Simulator Manual Second Edition (11/94)

[10] ADSP-2100 Family Users manual Third Edition (9/95)

S-ar putea să vă placă și