Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
CD\DSP\Cours\Chap3 M. Correvon
T A B L E D E S M A T I E R E S
PAGE
3. PÉRIPHÉRIQUES DE L’ADMC401...........................................................................................................................1
3.1 INTRODUCTION ...........................................................................................................................................................1
3.2 CONVERTISSEURS ANALOGIQUE – NUMÉRIQUE .......................................................................................................3
3.2.1 Description générale.............................................................................................................................. 3
3.2.2 Commande de conversion. .................................................................................................................... 6
3.2.3 Horloge propre au bloc ADC. ............................................................................................................... 6
3.2.4 Configuration d’un canal analogique. ................................................................................................... 6
3.2.5 Format des données (acquisition) et détection de dépassement de capacité.......................................... 8
3.2.6 Commande des modes de travail de l’ADC. ......................................................................................... 9
3.2.6.1 Acquisitions simultanées................................................................................................................... 9
3.2.6.2 Acquisitions séquentielles ............................................................................................................... 10
3.2.6.3 Mode de calibration de l’offset ....................................................................................................... 11
3.2.6.4 Mode de calibration du gain............................................................................................................ 11
3.2.7 Conversion continue rapide................................................................................................................. 11
3.2.8 Optimisation des performances de l’ADC. ......................................................................................... 12
3.2.9 Activation des interruptions liées au modulateur PWM...................................................................... 12
3.3 MODULATEURS PWM .............................................................................................................................................13
3.3.1 Description générale............................................................................................................................ 13
3.3.2 Unité de génération des signaux PWM pour 3 branches..................................................................... 15
3.3.2.1 Fréquence de pulsation : registre de contrôle PWMTM.................................................................. 16
3.3.2.2 Temps d’antichevauchement : registre de contrôle PWMDT ......................................................... 17
3.3.2.3 Mode de mise à jour des sorties : registres de contrôle MODECTRL et SYSSTAT ...................... 17
3.3.2.4 Largeur du signal de synchronisation : registre de contrôle PWMSYNCWT................................. 19
3.3.2.5 Rapports cycliques liés aux registres PWMCHA, PWMCHB et PWMCHC.................................. 20
3.3.2.6 Comportement de l’unité de génération des signaux PWM en saturation....................................... 23
3.3.2.7 Impulsions minimums des paires de signaux de sortie : registre de contrôle PWMPD .................. 24
3.3.2.8 Résolution des signaux PWM ......................................................................................................... 24
3.3.3 Unité de contrôle des signaux PWM de sortie .................................................................................... 25
3.3.3.1 Inversion des signaux complémentaires de l’unité de génération des signaux PWM ..................... 26
3.3.3.2 Activation et désactivation des signaux PWM ................................................................................ 26
3.3.3.3 Contrôle des moteurs DC sans collecteur........................................................................................ 26
3.3.3.4 Contrôle des moteurs à réluctances variables, mode SR ................................................................. 27
3.3.4 Unité de contrôle des signaux de Gate ................................................................................................ 28
3.3.4.1 Modulation avec porteuse haute fréquence ..................................................................................... 28
3.3.4.2 Contrôle de polarité des signaux de sortie....................................................................................... 29
3.3.5 Unité de déclenchement du bloc PWM ............................................................................................... 29
3.3.6 Limite des caractéristiques externes du bloc PWM............................................................................. 30
3.3.7 Activation des interuption liés au modulateur PWM. ......................................................................... 30
3.4 INTERFACE POUR CODEUR INCRÉMENTAL ...............................................................................................................31
3.4.1 Description générale............................................................................................................................ 31
3.4.1.1 Interface encodeur ........................................................................................................................... 31
3.4.1.2 Timer............................................................................................................................................... 33
3.4.1.3 Compteur d’événement ................................................................................................................... 33
3.4.2 Structure de l’étage d’entrée de l’interface encodeur .......................................................................... 33
3.4.2.1 Introduction ..................................................................................................................................... 33
3.4.2.2 Etage de synchronisation et filtrage numérique .............................................................................. 33
3.4.2.3 Définition du sens de déplacement.................................................................................................. 36
3.4.2.4 Mode quadrature ou train d’impulsions et sens de déplacement ..................................................... 37
3.4.2.5 Mode de mise à jour du compteur/décompteur ............................................................................... 38
3.4.2.6 Validation des marques de référence ou de synchronisation........................................................... 38
3.4.2.7 Mode de reconnaissance unique des marques de référence............................................................. 41
3.4.2.8 Détection d’erreurs de comptage/décomptage ................................................................................ 41
3.4.2.9 Etat des entrées de l’interface encodeur .......................................................................................... 42
3.4.2.10 Registres dédicacés au bloc d’interface....................................................................................... 42
3.4.3 Timer................................................................................................................................................... 43
3.4.3.1 Architecture du Timer ..................................................................................................................... 43
3.4.3.2 Opérations du Timer........................................................................................................................ 44
3.4.3.3 Registres de contrôle pour le timer.................................................................................................. 44
3.4.4 Compteur et chronométrie d’événements............................................................................................ 45
3.4.4.1 Descriptions..................................................................................................................................... 45
3.4.4.2 Mémorisation des données produites par le bloc de compteur et chronométrie.............................. 46
3.4.4.3 Registre d’état du compteur et chronométrie d’événement............................................................. 47
3.4.4.4 Registres dédicacés au bloc compteur et chronométrie d’événements............................................ 47
3.4.5 Activation des interruptions liées à l’interface pour codeur incrémental. ........................................... 48
3.5 ENTRÉES /SORTIES DIGITALES PROGRAMMABLES ...................................................................................................48
3.5.1 Introduction ......................................................................................................................................... 48
3.5.2 Configuration des PIO......................................................................................................................... 49
3.5.3 Lecture/écriture des lignes PIO ........................................................................................................... 49
3.5.4 Génération d’interruption par les lignes PIO....................................................................................... 49
3.5.5 Lignes PIO utilisées pour l’activation/désactivation les sorties du modulateur PWM........................ 52
3.6 CHRONOMÉTRIE D’ÉVÉNEMENTS SÉQUENTIELS......................................................................................................53
3.6.1 Généralités .......................................................................................................................................... 53
3.6.2 Définition des événements .................................................................................................................. 53
3.6.3 Génération d’interruption.................................................................................................................... 55
3.6.4 Mode de travail ................................................................................................................................... 55
3.6.5 Activation de l’interruption ETU. ....................................................................................................... 56
3.7 MODULATEURS PWM AUXILIAIRES........................................................................................................................57
3.7.1.1 Registres dédicacés au bloc modulateurs PWM auxiliaires ............................................................ 59
3.8 TIMER ALLOUÉ À LA FONCTION WATCHDOG ..........................................................................................................60
3.8.1 Description .......................................................................................................................................... 60
3.8.1.1 Registres de contrôle du Watchdog timer ....................................................................................... 60
3.9 CONTRÔLEUR D’INTERRUPTIONS PROGRAMMABLE PIC.........................................................................................61
3.9.1 Description .......................................................................................................................................... 61
3.10 SYNTHÈSE DES REGISTRES D’ÉTAT, DE CONTRÔLE ET DE DONNÉES DES PÉRIPHÉRIQUES..................................63
Bibliographie
LES PERIPHERIQUES DE L’ADMC401 Page 1
3. PÉRIPHÉRIQUES DE L’ADMC401
3.1 INTRODUCTION
Comme pour un microcontrôleur, l’ADMC401 possède en plus du cœur DSP un certain
nombre de périphériques spécialement sélectionnés pour le contrôle de moteur. La plupart
des applications liées aux contrôles de systèmes électromécaniques, demande le contrôle de
codeurs optiques ou magnétiques, la mesure de grandeurs électriques (courant, tension, …),
le contrôle de variateur de courant (électronique de commutation), … Ces périphériques, une
fois initialisés ne « consomment » pas de temps de calcul supplémentaire, ils sont autonomes.
La Figure 3-1, illustre l’existence des périphériques suivants :
− un timer de surveillance (Watchdog) permettant d’éviter au programme de se
retrouver dans un boucle infinie (erreur de programmation) ou dans un état indéterminé
(EMC). En effet ce timer doit être régénéré à un ou plusieurs emplacements du
programme sans quoi une interruption sera générée ;
− une initialisation à l’enclenchement (Power On Reset) garantissant des états, sur les
sorties des bus DMA et DMD et sur les signaux des divers périphériques, compatibles
avec des applications temps réelles ;
− un contrôleur d’interruptions (Interrupt Controller) assurant la gestion des
interruptions provenant de divers sources (PI0, PWM contrôleur, …) ;
− une interface pour encodeur incrémentaux, (Encoder Interface) réalisant le
comptage / décomptage de signaux logiques en quadrature tels que fournis par les
codeurs optiques, magnétiques, sonde de Hall, …) ;
− la saisie d’évènements séquentiels (Event Capture Unit) permettant de connaître la
distance entre deux flancs d’un même signal ou entre des signaux distincts. On peut
facilement réaliser une mesure de fréquence par comptage sur temps fixe ou
chronométrie ;
− des entrées / sorties digitales (12) programmables (Digital I/O Unit) permettant entre
autres de générer des interruptions individuelles (4) ou groupées ;
− deux canaux auxiliaires PWM (2 Channel Auxiliary PWM Timer) fournissant deux
signaux digitaux de fréquence et de rapport cyclique variable. Ces signaux peuvent être
utilisés pour le contrôle des alimentations à découpage comme par exemple le contrôle
du facteur de puissance ;
− huit canaux de conversion Analogique / Numérique (8 Channel 12 bits AD
Converter) pour l’acquisition de grandeurs électriques analogiques comme les signaux
sin – cos d’un codeur optique, les courants et tensions d’un variateur de courant, la
température, …Les grandeurs sont codées sur 12 bits ;
− une source de tension de référence de précision (Precision Voltage Reference)
utilisable comme référence de tension pour la conversion analogique – numérique. La
précision et la stabilité de cette source sont compatibles avec les exigences de la
conversion sur 12 bits ;
− un contrôleur PWM (16 bits PWM Generation) permettant la commande d’un
convertisseur de fréquence avec circuit intermédiaire en U. Six canaux produisent les
commandes nécessaires. La polarité, la fréquence, le rapport cyclique, le temps
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 2
EVENT DIGITAL
WATCH DOG POWER ON INTERRUPT ENCODER
CAPTURE I/O
TIMER RESET CONTROLLER INTERFACE
UNIT UNIT
DMA
16 Bits
DMD 14 Bits
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 3
SHA A
ASHAN
VIN0 ADC0[15...0]
VIN1 M ADC1[15...0]
VIN2 U ADC2[15...0]
VIN3 X
ADC3[15...0]
DATA
ADC4[15...0]
M 12-BITS
GAIN
U PIPELINE ADC5[15...0]
X FLASH ADC ADC6[15...0]
VIN4 ADC7[15...0]
M
VIN5 U ADCXTRA[15...0]
Out of Range
VIN6 X ADCOTR[7...0]
End of Conversion
VIN7 ADCSTAT[4...0]
Control signal
ADCCTRL[4...0]
BSHAN
SHA B
PWMSYNC
CONVST MULTIPLEXER, SHA & ADC CONTROL
CLKOUT
CAPT
CAPB VOLTAGE
VREF REFERENCE INTERNAL
REFERENCE
REFCOM GENERATION
& CONTROL SIGNAL
SENSE
CML
L’architecture de base du bloc de conversion est basée sur un convertisseur pipeline de quatre
étages, avec en entrée deux échantillonneurs bloqueurs (SAmple and Hold) à large bande et
un multiplexeur. Chaque SHA est lui-même connecté à un multiplexeur dont les entrées ne
sont rien d’autre que les quatre canaux analogiques d’un groupe.
Grâce à la structure de l’ADC, le temps réel de conversion est de 3½ cycles de la fréquence
de l’horloge du bloc ADC.
L’ADC peut travailler selon deux modes de conversion, soit
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 4
MSB LSB
ADC DATA
Figure 3-3 : Registres des valeurs converties dans la RAM de données interne
A la fin de conversion d’un couple de d’entrée VINx, VINx+4, le bit N°x du registre de contrôle
ADCSTAT est mis à « 1 ». Le résultat de cette structure pipeline fait que le temps global de
conversion de l’ensemble des canaux est inférieur à 2us (avec FCLKOUT=26MHz). Une
interruption est générée lorsque la conversion des huit canaux est terminée (ADC End-of-
Conversion Interrupt : 0x0030). Si le résultat de la conversion d’un canal particulier doit être
connue avant, le registre de contrôle ADCSTAT peut être interrogé pour définir si la
conversion d’un couple de canaux particulier est terminée.
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 5
Chaque entrée est représentée par un bit du registre ADCOTR. La mise à « 1 » d’un bit
indique que l’entrée correspondante est hors de la plage de conversion (OuT of Range). Pour
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 6
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 7
La même structure permet de convertir les signaux VIN4 à VIN7 après soustraction de du
signal connecté à l’entrée BSHAN.
Une tension de référence, pouvant être interne ou externe permet de définir les limites de la
plage de conversion.
+VREF
VIN0
V CORE 12 bits
A/D CORE
ASHAN
-VREF
La contrainte sur la plage de tension des entrées peut être définie comme :
AVSS −0.3V <VINx < AVDD+0.3V
3.3
AVSS −0.3V <V{A/ B}SHAN < AVDD+0.3V
et
L’amplificateur opérationnel utilisé sur les entrées VINx doit répondre à des critères
particuliers. En effet, les entrées ont leur capacité contre la masse AGND qui varie
brusquement lors de la commutation des canaux par le multiplexeur. La condition donnée par
le fabricant est le temps de recouvrement de la tension à ±1mV de l’amplificateur doit être
inférieur à 70ns pour une capacité contre AGND de 6pF avec une variation de ±4pF. Cette
condition est difficile à estimer par simple lecture des caractéristiques des composants. Si la
condition d’unipolarité des signaux d’entrée VINx n’est pas applicable, un décalage de
tension peut être obtenu en ajoutant un étage d’entrée.
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 8
2VREF
VREF
V DD
0V
RS
VIN0
V EE ADMC401
RS
ASHAN
VREF
10uF 0.1uF
SENSE
En plus des 12 bits de conversion, le bloc ADC donne un bit supplémentaire par registre
ADC afin de permettre la gestion des grandeurs hors plage de conversion.
Suite à une séquence de conversion d’une grandeur analogique quelconque VINx, le bit
ADCOTR[x] et le MSB de la valeur numérique convertie permettent de savoir si la
conversion est correcte ou en dépassement de capacité supérieure ou inférieure.
Le Tableau 3-2 donne toutes les possibilités pouvant apparaître.
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 9
00 : acquisitions simultanées
01 : acquisitions séquentielles
ADC MODE
10 : calibrage de l’offset
11 : calibrage du Gain
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 10
VIN5}, {VIN6, VIN7}. Lorsque le signal de commande d’une conversion est actif (flanc
montant), les bits ADCSTAT[0, 1, 2, 3] sont mis à « 0 ».
De plus lorsque l’entrée VIN7 est convertie et sauvée dans le registre ADC7, une interruption
de fin de conversion est générée (ADC End-OF-Conversion). Cette interruption peut être
masquée en mettant le bit PICMASK[0].
CLKADC
t
CONVERT START
t CLKADC
Le pire cas pour le temps global de conversion, défini entre le flanc montant du signal de
commande de conversion et le flanc montant du signal d’interruption de fin de conversion (8
canaux convertis vaut :
Le temps de conversion vaut donc 1.88us pour une fréquence d’horloge de l’oscillateur ou du
cristal externe de 13MHz (FCLKOUT=26MHz). Dans ce mode, le temps entre la conversion de
deux paires de signaux {VINx, VINx+4} et { VINx+1, VINx+5} est de 8tCKLOUT, soit
308ns@26MHz.
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 11
CLKADC
t
CONVERT START
t CLKADC
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 12
AD. Le résultat de chaque conversion est mémorisé dans le registre ADCXTRA. Ce registre
est mis à jour tout les tCKLADC ou 4tCKLOUT, soit 154ns @ 26MHz. Cette caractéristique
permet de suivre de manière continue l’évolution d’une grandeur analogique. Le bit
ADCSTAT[4] permet de s’assurer que le signal placé sur VIN0 se trouve bien dans la plage
de conversion. Aucun autre bit d’état n’est modifié et aucune interruption n’est générée. Lors
d’une séquence de conversion, le registre ADCXTRA n’est pas mis à jour.
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 13
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 14
Dans ce mode, il est possible de produire une asymétrie par rapport au signal de
synchronisation et par conséquent une réduction des harmoniques du courant de ligne
pour un convertisseur de fréquence. Cette technique permet également de réduire le
temps mort équivalent du modulateur PWM et par conséquent d’améliorer la
dynamique du système lorsque celui ci est intégré dans un asservissement
Le mode de mise à jour est commandé par un bit du registre de contrôle MODECTRL.
Le générateur PWM génère également un signal de synchronisation PWNSYNC. En mode
de mise à jour simple (Single Update Mode), ce signal est synchronisé avec la position 0 du
compteur/décompteur. En mode de mise à jour double (Double Update Mode), le signal
PWMSYNC est synchronisé avec les deux valeurs extrêmes du compteur/décompteur. La
largeur de PWMSYNC peut être programmée au moyen du registre de contrôle
PWMSYNCWT.
Les signaux PWM générés (AH, AL, BH, BL, CH, CL) peuvent être désactivés de plusieurs
manière. Pour des raisons de sécurité, une commande de désactivation rapide doit pouvoir se
faire de façon asynchrone (hardware). En effet une perte de l’horloge ou une erreur software
ne doivent en aucun cas empêcher la coupure rapide d’un convertisseur de puissance. Trois
voies de désactivation sont possibles :
− Hardward
Broche (entrée) de contrôle PWMTRIP
Cette entrée est complètement dédicacée à ce contrôle particulier. Lorsque
PWMTRIP est à l’état logique « 0 », les six sorties (AH, AL, BH, BL, CH, CL)
sont instantanément mises dans l’état OFF (état logique déterminé par le
registre de contrôle PWMPOL). De plus une interruption (IRQ2) est générée
(PWM Trip Interrupt : (0x0058)).
Broche (entrée/sortie programmable) de contrôle PIO0 – PIO11.
Chaque ligne du port d’entrée sortie programmable (PIO0 – PIO11) peut être
configurées pour une commande de désactivation asynchrone des signaux
PWM. Le mécanisme de désactivation des sorties du générateur PWM est
identique à celui généré par le signal PWMTRIP. Les entrées programmables
peuvent également induire une interruption (IRQ2), (PIO0 : 0x0048, PIO1 :
0x004C, PIO2 : 0x0050, PIO3 : 0x0054, PIO4-PIO11 : 0x003C,)
− Software
En forçant le bit PWMSWT[0] à « 1 », il est possible de désactiver les sorties
du générateur PWM.
Le registre de contrôle SYSSTAT donne un certain nombre d’information sur l’état du
générateur PWM. Comme l’état du signal PWMTRIP, la polarité des sorties ainsi la phase du
compteur/décompteur en mode de double mise à jour.
La Figure 3-12 montre la structure du schéma bloc du générateur PWM. La génération des
six signaux de sortie AH, AL, BH, BL, CH, CL est contrôlée par quatre blocs principaux :
− L’unité de génération des signaux PWM (Three phase PWM timing unit)
Cette unité la génération de trois paires de signaux complémentaire avec intégration
de temps d’antichevauchement basé sur un signal PWM de référence triangulaire
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 15
AH
THREE-PHASE OUTPUT GATE AL
PWM TIMING CONTROL DRIVE BH
UNIT UNIT UNIT BL
CH
CLK SYNC SR RESET SYNC CLK POL CL
CLOCKOUT PWMPOL
CLOCKOUT
PWMSYNC
PWMSYNC PWMSR
PWMTRIP
PWMTRIP
OR PIO0
PIOPWM PIO1
DETECT
PIO11
PWMSWT[0] PIOPWM[11...0]
PWM SHUTDOWM CONTROLLER
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 16
[PWMTM]
t
[PWMTM]t CLKOUT
[PWMTM]t CLKOUT
1LSB
tCLKOUT
La fréquence de pulsation minimum est limitée par la capacité du registre PWMTM dont la
valeur maximum vaut 0xFFFF → 65635.
6
FCLKOUT 26 ⋅ 10
FPWM = = = 198Hz @ 26MHz 3.10
2 ⋅ [PWMTM] 2 ⋅ 65'635
La résolution sur la période de pulsation est donnée par
2 2
∆TPWM = 2 ⋅ tCLKOUT = = = 77ns @ 26MHz 3.11
FCLKOUT 26 ⋅ 106
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 17
Ce temps est identique pour les trois paires de signaux de sortie. On a la relation suivante
entre le contenu du registre et le temps mort effectif
TA = 2 ⋅ [PWMDT] ⋅ tCLKOUT 3.12
3.3.2.3 Mode de mise à jour des sorties : registres de contrôle MODECTRL et SYSSTAT
L’unité de génération des signaux PWM peut travailler dans deux modes distincts. La
sélection du mode se fait en forçant le bit MODECTRL[6].
Le premier mode (Single update mode) est activé en forçant à « 0 » le bit MODECTRL[6].
Ce mode permet la validation des registres de contrôle PWMTM, PWMDT, PWMPD,
PWMSYNCWT des registres de commande des rapports cycliques PWMCHA, PWMCHB
et PWMCHC et du registre PWMSEG se fait au flanc montant du signal PWMSYNC, signal
qui apparaît une fois par période de pulsation, soit lorsque le compteur/décompteur est dans
l’état correspondant à la valeur interne minimum, soit 0.
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 18
La Figure 3-17 montre que les signaux de sortie de l’unité de génération des signaux PWM
sont tous symétriques par rapport au point milieu de la période de pulsation.
UP/D OWN COUNTER
[PWMTM]
t
PWMSYNC
([PWMSYNCWT]+1) t CLKOUT
Le second mode (Double update mode) est activé en forçant à « 1 » le bit MODECTRL[6].
UP/DOWN COUNTER
[PWMTM] 2
[PWMTM] 1
t
PWMSYNC
([PWMSYNCWT] 1 +1) t CLKOUT ([PWMSYNCWT] 2 +1) t CLKOUT
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 19
Comme pour le mode précédent, la validation des registres de contrôle et de commande des
rapports cycliques se fait au flanc montant du signal PWMSYNC, signal qui apparaît deux
fois par période de pulsation, soit lorsque le compteur / décompteur est dans les états
correspondant aux valeurs internes extrêmes, soit 0 et [PWMTM].
On voit que, dans ce mode, il est possible rendre les sorties de l’unité de génération des
signaux PWM asymétriques par rapport au milieu de la période de pulsation.
Dans le cas de la double mise à jour, il est nécessaire de savoir en tout temps dans quelle
phase se trouve le compteur/décompteur (incrémentation ou décrémentation), Cette
information est fournie par le bit SYSSTAT[3]. En effet ce bit vaut « 0 » lorsque le système
se trouve dans la première phase (incrémentation) et « 1 » pour la seconde (décrémentation).
Ce bit va donc permettre de choisir un algorithme particulier afin de répondre aux exigences
de la commande proprement dite et de minimiser le taux d’harmonique dans le circuit
intermédiaire du convertisseur de fréquence.
Un autre avantage de la double mise à jour est la réduction du délai entre la validation des
rapports cycliques et leurs effets est divisé par deux. On peut donc ainsi soit améliorer la
dynamique de l’asservissement, soit diminuer la fréquence de pulsation par deux afin de
diminuer dans une même proportion les pertes de commutation dans les composants de
puissance.
Label Registre en lecture seule Allocation
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SYSSTAT : 0 0 0 0 0 0 0 0 0 0 0 0 DM(0x2016)
0 : 1ère phase (comptage)
Phase du PWM
1 : 2ème phase (décomptage)
0 : état logique LO
état de la pin PWMTRIP
1 : état logique HI
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 20
soit
Après un reset, le registre PWMSYNCWT est initialisé à 0x27 soit 39 en décimal. La largeur
d’impulsion par défaut vaut donc 1.54us@26MHz.
Label Registre en lecture et écriture Allocation
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PWMSYNCWT : 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 DM(0x2060)
Figure 3-21 : Registres de contrôle des rapports cycliques pour les trois branches
Le temps pendant lequel le signal de la partie supérieure d’une branche est actif sur une
demi-période de pulsation (commande de fermeture du contacteur statique) provient d’un
ajustement de la valeur du registre de contrôle des rapports cycliques avec le temps
d’antichevauchement défini dans le registre de contrôle PWMDT.
Les signaux de sortie de l’unité de génération des signaux PWM sont tous actifs à l’état bas.
L’état actif étant défini par l’état fermé (ON) du contacteur statique commandé par le signal
PWM correspondant.
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 21
Et pour le signal AL
Bien entendu la valeur minimum des temps TAH et TAL et par conséquent des rapports
cycliques DAH et DAL ne peut être inférieure à 0 et supérieure à TPWM respectivement 1.
[PWMCHA]t CLKOUT
[PWMCHA]t CLKOUT
AH
2[PWMDT]t 2[PWMDT]t
t
AL CLKOUT CLKOUT
t
PWMSYNC
([PWMSYNCWT]+1)t CLKOUT
t
SYSSTAT [3]
Figure 3-22 : Signaux typiques des sorties AH et AL du bloc modulateur PWM en mode « single
update » avec l’entrée PWMPOL = « 0 » et PWMSEG=0x1FF
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 22
DAH =
TAH
=
([PWMCHA1] + [PWMCHA2]) − ([PWMDT1] + [PWMDT2]) 3.24
TPWM [PWMTM1] + [PWMTM 2]
t
PWMSYNC
([PWMSYNCWT] 2+1)t CLKOUT ([PWMSYNCWT] 2+1)t CLKOUT
t
SYSSTAT [3]
Figure 3-23 : Signaux typiques des sorties AH et AL du bloc modulateur PWM en mode « Double
update » avec l’entrée PWMPOL = « 0 » et PWMSEG=0x1FF
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 23
Comme pour le mode « Single update » la valeur minimum des temps TAH et TAL et par
conséquent des rapports cycliques DAH et DAL ne peut être inférieure à 0 et supérieure à TPWM
respectivement 1.
Les caractéristiques temporelles des signaux de sortie BH, BL, CH et CL se déterminent en
programmant les registres PWMCHB et PWMCHC de manière identique à ce qui a été
présenté ci-dessus.
t
AL 2[PWMDT]t CLKOUT
t
AH FULL OFF
t
AL 2[PWMDT]t CLKOUT
t
Dead time inserted
PWMSYNC
t
[PWMTM]t CLKOUT [PWMTM]t CLKOUT
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 24
− Ouverture complète
Ce mode de fonctionnement est obtenu en gardant xH(1) à l’état logique « 1 » et
respectivement xL(1),à l’état logique « 0 » entre deux valeurs successives du signal
de synchronisation PWMSYNC. Pour obtenir ce mode il faut soit respecter les
relations définissant TxH et TxL, soit jouer sur les largeurs d’impulsions minimale de
xH(1) et xL(1).
− Modulation normale
Dans ce mode de fonctionnement, les relations 3.17, 3.18, 3.22 et 3.23 sont
utilisables.
(1)
: x représente une des commandes de branches, soit A, B, et/ou C
La transition d’un état « Full ON » en un état « Full OFF », dans certaines situations,
nécessite un temps d’antichevauchement supplémentaire afin d’éviter le non-respect des
contraintes imposées par la technologie des composants de puissance utilisés. Quel que soit le
mode utilisé (« Single or Double update »), l’unité de génération des signaux PWM ajoute un
temps d’antichevauchement si c’est nécessaire.
L’adjonction un temps d’antichevauchement est en général nécessaire lorsqu’une transition à
lieu à la frontière ou à l’intérieur d’une impulsion du signal PWMSYNC.
3.3.2.7 Impulsions minimums des paires de signaux de sortie : registre de contrôle PWMPD
Les composants de puissances utilisés en électronique de commutation présentent des temps
de commutation à l’ouverture et à la fermeture non-négligeables. De plus la chaîne de
commande électronique entre la sortie du DSP et les composants de puissance demande un
certain délai de propagation qui peut être différent selon la polarité de la transition. Les
impulsions trop courtes ne permettent donc pas au composant de puissance de passer d’un
état conducteur à un état bloqué ou vice-versa. En limitant la valeur minimale des impulsions
de commande, on limite les pertes de commutation sans altérer le comportement du système.
Un registre de contrôle PWMPD d’une capacité de 10 bits est prévu pour définir une largeur
d’impulsion minimale sur tout les signaux PWM (AH, AL, BH, BL, CH et CL). Toute
impulsion inférieure à cette valeur est purement et simplement supprimée et le signal
complémentaire est maintenu.
Le temps minimum est défini par la relation
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 25
soit 77ns@26MHz.
Dans le mode « Double update », il est possible, en agissant sur les valeurs des registres de
contrôle PWMCHA, PWMCHB et PWMCHC de corriger d’un incrément le temps (tCLKOUT)
d’enclenchement.
soit 38.5ns@26MHz
Le Tableau 3-3 illustre, pour une capacité maximum du nombre de bits du registre de
contrôle PWMTM, la fréquence minimum correspondante, la résolution du rapport cyclique
et du temps d’enclenchement, ceci pour les deux modes de mise à jour. Les valeurs sont
données pour une fréquence d’horloge CLKOUT de 26 MHz
PWMTM Single Update Double Update
Résolution FPWM Résolution FPWM Résolution
[bits] [KHz] D [%] ∆TON [ns] [KHz] D [%] ∆DTON [ns]
7 101.56 0.781 77 203.12 0.390 38.5
8 50.78 0.390 77 101.56 0.195 38.5
9 25.39 0.195 77 50.78 0.098 38.5
10 12.70 0.098 77 25.39 0.049 38.5
11 6.35 0.049 77 12.70 0.024 38.5
12 3.17 0.024 77 6.35 0.012 38.5
Tableau 3-3 : Fréquences PWM minimums, et résolutions correspondantes
AH↔AL AL AH BL BH CL CH
0 : Croisement désactivé
BH↔BL
1 : croisement activé 0 : signal activé
CH↔CL 1 : signal désactivé
Figure 3-26 : Registre de contrôle des croisements entre commande d’une même branche
La configuration des signaux PWM est obtenue par la programmation du registre de contrôle
PWMSEG.
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 26
3.3.3.1 Inversion des signaux complémentaires de l’unité de génération des signaux PWM
La mise à « 1 » des bits PWMSEG[6, 7, 8] permet d’inverser les signaux complémentaires,
respectivement AH/AL, BH/BL, CH/CL. Après un RESET, les valeurs par défaut de ces trois
bits sont « 0 ».
2[PWMDT]t 2[PWMDT]t
t
AL CLKOUT CLKOUT
BH
t
t
BL
CH
t
t
CL
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 27
En effet pour ce type de moteur une des branches doit être ouverte (non active (OFF)) et deux
branches doivent simultanément avec une partie haute (H) et une partie basse (L) active
(ON). La Figure 3-27 illustre le cas particulier ou les signaux AH et BL sont actifs (« 1 ») et
la branche C ouverte.
Pour réaliser la commande illustrée à la Figure 3-27, il faut que :
− PWMCHA=PWMCHB
− le registre PWMSEG ait
à « 0 » les bits :
PWMSEG[8,6] : ({AH, AL}, {CH, CL} non croisés),
PWMSEG[4,3] : (AH, BL → « ON »)
à « 1 » les bits
PWMSEG[7] : (BH ↔ BL : croisement),
PWMSEG[5,2,1,0] : (CH, CL, BH, AL → « OFF »),
soit [PWMSEG] = 0000000010100111=0x00A7
AH BH BH
Phase A
Phase B
Phase B
AL BL BL
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 28
Est une subdivision de l’horloge CLKOUT. Sachant que [PWMGATE7-0] peut varier de 0 à
255, on peut définir la plage de fréquence de commutation disponible.
4([GDCLK] 1 +1)tCLKOUT t
Figure 3-30 : Exemple d’une modulation des signaux par une porteuse haute fréquence
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 29
Figure 3-31 : Registre de contrôle d’activation de la fonction PWMTRIP pour les PIO
En plus des possibilités de désactivation hardware, il est possible de réaliser cette fonction en
forçant à « 1 » le bit PWMSWT[0].
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 30
L’effet est similaire à une commande hardware PWMTRIP ou PIOx . Une commande
hardware n’a par contre aucun effet sur le registre de contrôle PWMSWT. Il est donc
possible de savoir si la désactivation du bloc PWM a été crée par une commande hardware
ou software en lisant le bit PWMSWT[0]. Après lecture le bit PWMSWT[0] est
automatiquement forcé à « 0 ».
Quelle que soit la source de la commande de désactivation du bloc PWM, une interruption
spécifique aux périphériques de l’ADMC401 est activée « IRQ 2 : PWM Trip Interrupt »
dont le vecteur d’interruption est 0x0058. Le signal de synchronisation PWMSYNC est
maintenu à « 0 » alors que les compteurs et timers internes continuent à fonctionner.
La réactivation du bloc PWM ne peut se faire qu’en annulant la source de la désactivation
puis en écrivant de nouvelles valeurs dans les registres de contrôle PWMCHA, PWMCHB.
PWMCHC et PWMTM.
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 31
CLOCK DIVIDER
TIMEOUT
EIUSCALE[7...0]
ENCODER EVENT EETDIV[15...0]
EIUTIMER[15...0] TIMER EETSTAT[0]
EIUPERIOD[15...0] EETT[15...0]
PULSE EETDELTAT[15...0]
DECIMATOR EETN[7...0]
A 16-BITS
EIA EETCNT[15...0]
QUADRATURE EUICNT[15...0]
B UP/DOWN
EIB EIUMAXCNT[15...0]
COUNTER EIUCNTRL[8...0]
PROGRAMABLE
EIUSTAT[7...0]
NOISE FILTERS
Z EISLATCH[15...0]
EIZ ENCODER EIZLATCH[15...0]
S COUNTER EIUFILTER[5...0]
EIS CONTROL
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 32
Les pins EIA et EIB sont des entrées dédicacées aux signaux en quadrature des deux canaux
principaux de l’encodeur.
La broche EIZ est l’entrée en principe dédicacée au signal de référence, signal issu des
marques de référence placées sur la règle ou sur le disque incrémental. La broche EIS est une
entrée permettant une synchronisation entre la valeur contenue dans le compteur/décompteur
et d’autres grandeurs d’acquisition.
Ces deux entrées peuvent donc être utilisées pour mémoriser le contenu du compteur/
décompteur dans les registres EIZLATCH pour EIZ et EISLATCH pour EIS. En effet, il est
possible par programmation soit de mémoriser l’état du compteur/décompteur sur le flanc
montant des signaux présents sur les entrées EIZ et EIS, ou sur le flanc montant si le sens du
mouvement mesuré est positive et sur le flanc descendant si le sens du mouvement est
négative.
L’interface d’entrée de l’encodeur possède des filtres numériques programmables sur ses
quatre entrées EIA, EIB, EIS et EIZ. Ce filtrage rudimentaire permet d’éliminer certaines
impulsions parasites pouvant affecter le contenu du compteur/décompteur. L’interface
encodeur travaille à la fréquence d’horloge interne CLKOUT. Dans le cas idéal, la fréquence
maximum des signaux en quadrature EIA et EIB est de 4.33MHz@FCLKOUT=26MHz, ainsi la
fréquence de comptage /décomptage est de 17.3MHz.
EIA (Cos)
t
EIB (Sin)
t
EIS EIZ
t
Mémorisation Mémorisation
sur flanc montant sur flanc descendant
Déplacement positif de x Déplacement négatif de x
1. le signal de référence, placé sur la broche EIZ, lorsqu’il est sujet à une transition active
(flanc montant ou descendant), met à zéro le compteur/décompteur ;
2. l’entrée EIZ n’est pas activée et la mise à « 0 » du compteur/décompteur à lieu en
fonction du sens de déplacement de la valeur maximum admissible contenue dans le
registre EIUMAXCNT ;
3. le compteur/décompteur est mis à « 0 » une seule fois lors de la première transition
active de l’entrée de référence EIZ.
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 33
Ces trois modes sont définis par programmation des registres de contrôle EIUCTRL et
EIUSTAT.
L’interface encodeur permet également d’implanter une vérification de l’état du
compteur/décompteur. Il s’agit ici de vérifier, lors de l’apparition de l’impulsion
correspondant au signal de référence de l’encodeur, que l’état du compteur/décompteur est
bien à la valeur attendue. Les deux valeurs possibles sont « 0 » ou la valeur maximum
contenue dans EUIMAXCNT, ceci selon le sens de déplacement. Si une erreur est détectée,
une interruption est générée.
3.4.1.2 Timer
L’interface pour encodeur contient un timer de 16 bits dont la structure est identique à celui
contenu dans la partie DSP. Ce timer contient un registre de comptage, un registre de période
permettant la remise à « 0 » du timer qui travaille ainsi en boucle et un registre de facteur
d’échelle qui permet de diviser le signal d’horloge CLKOUT afin de fixer la référence temps
pour le registre de comptage. Lorsque le compteur a atteint sa valeur maximum, une
interruption est générée et un certain nombre de registres de l’interface encodeur sont
mémorisés afin de permettre une mesure précise de la position et, par chronométrie, un calcul
de la vitesse.
3.4.2.1 Introduction
L’interface encodeur est principalement constituée d’un compteur/décompteur de 16 bits
pour des signaux d’entrée en quadrature ou une entrée pour un train d’impulsions et la
seconde pour un signal indiquant le sens de déplacement. La valeur courante du
compteur/décompteur est accessible dans un registre de 16 bits EIUCNT. Un second registre
EIUMAXCNT permet dans certaines conditions de fixer la valeur maximum du
compteur/décompteur. Tant que ce registre n’est pas chargé, l’interface encodeur n’est pas
initialisé et le bit EIUSTAT[2] est à « 1 ». Le contenu de EIUMAXCNT permet une mise à
jour de l’état du compteur/décompteur. En effet selon le sens de déplacement le compteur/
décompteur est
− forcé à « 0 » lorsqu’il a atteint la valeur définie dans EIUMAXCNT (comptage) ;
− forcé à [EIUMAXCNT] lors d’un décomptage.
Le registre EIUMAXCNT permet également de déceler une erreur de comptage/décomptage.
Toutes ces opérations sont programmables par le registre de contrôle EIUCTRL
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 34
Les trois signaux fondamentaux issus d’un encodeur standard (ChannelA → EIA, ChannelB
→ EIB, Reference → EIZ), auxquels il faut ajouter une entrée supplémentaire de
mémorisation (EIS) sont dans un premier temps synchronisés avec l’horloge interne de base
des périphériques (CLKOUT). Cette première étape permet d’éliminer la nature asynchrone
du monde analogique, soit l’encodeur lui-même.
EIAS A
EIA
EIBS B
EIB
INPUT THREE STAGE
SYNCHRONISATION DIGITAL FILTER
EIZS
EIZ STAGE Z
EISS
EIS S
CLKOUT
CLOCK CLKFILTER
DIVIDE
EIUFILTER[5...0]
Suite à cette opération de synchronisation, les quatre signaux (EIAS, EIBS, EIZS et EISS)
sont appliqués à l’entrée d’un filtre numérique programmable qui valide l’état du signal si
celui-ci prend la même valeur durant trois cycles consécutifs de l’horloge interne
(CLKFILTER) du filtre numérique.
X1
Shift register Y
EIx
X2
M
CLKFILTER U
X
A
Si l’état du signal d’entrée EIx change à l’intérieur d’un intervalle de trois périodes de
l’horloge CLKFILTER , la sortie est maintenue à sa valeur précédente. La période de
CLKFILTER peut être programmée à l’aide des bits EIUFILTER[5 … 0]. Ces six bits sont
utilisés pour diviser la fréquence de l’horloge de base des périphériques (CLKOUT). Si la
valeur N est écrite dans EIUFILTER[5 … 0], la période de l’horloge interne du filtre prend la
valeur
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 35
CLKOUT
t
EIA
t
EIB
t
EIAS
1 2 3 4 5 1 2 3 4 1 2 3 4 5 1
t
EIBS
x 1 1 1 2 3 4 1 2 3 4 5 1 2 3
t
A
3 t CLKFILTER 3 t CLKFILTER 3 t CLKFILTER
t
B
3 t CLKFILTER 3 t CLKFILTER 3 t CLKFILTER
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 36
La valeur par défaut (après un RESET) du registre de contrôle EIUFILTER[5…1] est 0x00.
Dans ce cas la fréquence interne du filtre FCLKFILTER est égale à la fréquence FCLKOUT et le
filtrage est minimum.
Comme mentionné précédemment, il y a une liaison directe entre la fréquence d’horloge du
filtre FCLKFILTER et la fréquence maximum applicable sur les entrées EIA, EIB ou sur les
largeurs d’impulsions sur EIZ et EIS. Ces paramètres sont proportionnels à la vitesse de la
partie mobile et à la résolution de l’encodeur. L’influence du filtre sur la largeur de
l’impulsion admissible sur l’entrée EIZ et EIS est différente de celle des signaux EIA et EIB.
En effet sur les codeurs standard, la marque de référence à une largeur correspondant à une
période, une demi-période ou un quart de période des signaux incrémentaux (Canal A →
EIA, Canal B → EIB). Si les deux premiers cas ne posent pas de problème, lorsque la largeur
de l’impulsion est inférieure au quart de la période, la fréquence du filtre numérique doit être
doublée, soit pour N=3, FFILTERMIN=2.15MHz. C’est ce dernier cas qui est le plus fréquent en
pratique.
N+1 N+1 N+1
N=3
CLKOUT 1 2 3 4 5 6 7 8 9 10 11 12
CLKFILTER
t
t
EIX
1 2 3 t
X
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 37
t t
B B
n+3
n+2
n+1
n-1
n-2
n-3
n+1
n+2
n+3
n+4
n-3
n-2
n-1
n
n
t t
QUADRATURE QUADRATURE
t t
DIRECTION DIRECTION
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 38
t t
t t
EIZS EIZS
falling edge
rising edge
t t
EIUCNT EIUCNT
n-1 n [EIUMAXCNT]
n n-1 n-2
n-3 n-2 n-3
2 3 3 2 1
0 1 0
t t
"0" EIUCNT [EIUMAXCNT] EIUCNT
Lorsque le bit EIUCTRL [1] (ZERO) du registre de contrôle EIUCTRL est mis à 0 (valeur
par défaut), le signal de la marque de référence n’est pas utilisé. Dans ce cas, la mise à jour
du compteur/décompteur se fait soit en forçant « 0 » après avoir atteint la valeur maximum
définie par le contenu du registre EIUMAXCNT (déplacement dans le sens positif), soit en
forçant la valeur contenue dans EIUMAXCNT lorsque le compteur/décompteur a atteint
« 0 », pour un déplacement dans le sens négatif.
Pour un encodeur incrémental rotatif de N traits, le nombre de transitions des signaux en
quadrature 4N et par conséquent la valeur maximum du compteur/décompteur est de 4N-1.
C’est cette dernière valeur qui doit être écrite dans EIUMAXCNT.
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 39
En pratique, il est souvent fait usage d’un signal de marque de référence et d’un signal de
synchronisation. Le signal de synchronisation est en général utilisé pour définir la période
d’échantillonnage d’une boucle d’asservissement quelconque. Suite à l’apparition
d’événements sur Z et S, il est souhaitable de mémoriser sans délai l’état du
compteur/décompteur (registre EIUCNT). Trois modes de mémorisation sont à disposition.
− EIUCTRL [7] et/ou EIUCTRL [8] à « 0 »
Dans ce cas le comportement de l’interface encoder est le même pour Z que pour S, excepté
la destination de la mémorisation de l’état du registre qui est pour le premier cas le registre
EIZLATCH et pour le second EISLATCH.
Lors d’un flanc montant de Z, respectivement S, le registre d’état du compteur EIUCNT est
mémorisé sans autre condition dans les registres EIZLATCH respectivement EISLATCH.
On voit sur la Figure 3-42 que, selon le sens de déplacement, la valeur mémorisée est
fonction de la largeur de l’impulsion sur Z ou S.
Ce mode est en général utilisé lorsque Z ou S sont associés à des interrupteurs de fin de
course, des détecteurs de proximité, ou à un signal de synchronisation lié à la période
d’échantillonnage d’une boucle d’asservissement
EIUCTRL[7]=0 Sens de déplacement positif
EIUCTRL[8]=0
A
n+1
n+3
n+1
n-1
Up/Down
t Counter EIZLATCH[15...0]
B
n+2
n+4
n+6
EISLATCH[15...0]
EIUCNT[15...0]
n
n
t
Z, S
A
n+5
n+3
n+1
n-1
Up/Down
t n+4 EIZLATCH[15...0]
Counter
B
n+4
n+2
EISLATCH[15...0]
n-2
EIUCNT[15...0]
n
n+4
t
Z, S
− EIUCTRL[7] à « 1 »
Dans ce cas le registre d’état du compteur EUICNT est mémorisé dans le registre
EIZLATCH à la première transition des signaux en quadrature A, B qui suivent un flanc
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 40
n+1
n+3
n+1
n-1 Up/Down
t Counter EIUZLATCH
EIZLATCH[15...0]
B
n+2
n+4
n+6
EIUCNT[15...0]
n
n+1
t
Z
A
n+5
n+3
n+1
n-1
Up/Down
t Counter EIZLATCH[15...0]
B
n+4
n+2
n-2
EIUCNT[15...0]
n
n
t
Z, S
− EIUCTRL[8] à « 1 »
Dans ce cas les opérations de mémorisations sont un peu différentes du cas précédent. En
effet le contenu du registre EIUCNTdu compteur/décompteur est mémorisé dans le registre
EISLATCH au flanc montant du signal S si le sens de déplacement est positif et au flanc
descendant si le sens de déplacement est négatif.
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 41
n+1
n+3
n+1
n-1
Up/Down
t Counter
n
B
n+2
n+4
n+6
EISLATCH[15...0]
EIUCNT[15...0]
n
n
t
Z, S
A
n+5
n+3
n+1
n-1
Up/Down
t Counter
n
B
n+4
n+2
EISLATCH[15...0]
n-2
EIUCNT[15...0]
n
n+1
t
Z, S
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 42
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 43
3.4.3 Timer
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 44
EIUSCALE EIUPERIOD
Timer Enable
Pour une fréquence de l’horloge CLKOUT de 26MHz, le timer peut générer des interruptions
jusqu’à tTIMEOUT = 2.52ms pour [EIUSCALE]= « 0 » et [EIUPERIOD]= « 65’635 ». La
valeur maximum, pour [EIUSCALE]= « 255 » et [EIUPERIOD]= « 65’635 » étant
tTIMEOUT = 0.646s
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 45
3.4.4.1 Descriptions
Cette unité de comptage d’événement et chronométrie fait partie intégrante de l’interface
encodeur. Elle permet une mesure précise du temps écoulé entre l’apparition de plusieurs
événements successifs et par conséquent une meilleure définition de la mesure de vitesse que
l’utilisation du calcul de la différence entre deux états du compteur/décompteur rapportée à la
période de la mesure.
A
B
t
Quadrature t
pulses
t
[EIUCNT]
1LSB
[EUICN T]
VELOCITY
t
EVENTS
ENCODER EVENT
TIMER VALUE
t
[EETDELTAT]
[EETT]
EET LATCH
t
1LSB
EVENT
t CLKEET
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 46
En se référant à la Figure 3-34, on voit que cette unité est constituée d’un diviseur de
fréquence permettant la définition d’une horloge (CLKEET) dont la période est un multiple
de la période de l’horloge de base des périphériques (CLKOUT). Le compteur d’événement
est incrémenté à chaque flanc montant de CLKEET. La valeur de division est contenue dans
le registre EETDIV d’une capacité de 16 bits. Fort de cette définition, on peut écrire la
relation
FCLKOUT
FCLKEET = 3.36
[EETDIV]
− EIUCTRL[4] = « 1 »
Dans ce mode, les trois états sont mémorisés lorsque le timer (EIUTIMER) a atteint la
fin d’une période (timeout). A cet instant, les opérations suivantes sont exécutées :
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 47
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 48
3.5.1 Introduction
Parmi les périphériques de l’ADMC401, on trouve douze entrées/sorties programmables
individuellement. De plus chaque PIO (PIO0 … PIO11) peut être configuré en sources
d’interruptions. La détection des interruptions est programmable soit sur un flanc (montant
ou descendant, soit sur un état (« 0 » ou « 1 »).
Quatre lignes (PIO0 … PIO3), lorsqu’elles sont programmées en entrées, possèdent leur
propre vecteur (pointeur) d’interruption dans la table d’interruption. Les lignes restantes
(PIO4 … PIO11) ont une ligne d’interruption commune débouchant sur un vecteur
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 49
d’interruption unique. Dans ce cas, c’est le registre PIOFLAG qui permet de déterminer
quelle ligne est à l’origine de l’interruption.
Le registre PIOPWM permet de programmer chaque ligne PIO pour la désactivation
asynchrone des sorties (AH, AH, BH, BL, CH, CL) du modulateur PWM. Dans ce cas le
comportement est identique à celui provoqué par la ligne PWMTRIP .
Ce registre de douze bits a un bit associé à chaque ligne. Le bit PIODIR[0] correspond à la
configuration de la ligne PIO0, etc … La mise à « 0 » du bit PIODIR[x] permet de configurer
la ligne x en entrée. Par défaut (après un RESET) tous les bits de PIODIR sont mis à « 0 ».
Dans ce cas les douze lignes sont configurées en entrée ce qui permet d’éviter des conflits
d’état en phase d’initialisation. Chaque ligne possède une résistance pull-down et par
conséquent les lignes non connectées sont vues comme des entrées à l’état « 0 ».
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 50
Le registre PIOINTEN est utilisé pour activer/désactiver le mode d’interruption propre aux
lignes PIO4 à PIO11.
Label Registre en lecture et écriture Allocation
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PIOINTEN : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DM(0x2046)
0 = Interrupt Disable
1 = Interrupt Enable
Les interruptions peuvent être activées soit sur les flancs ou sur les états des signaux présents
sur les lignes PIO. Deux registres sont utilisés pour définir le type d’événement susceptible
d’activer une interruption. Chacun de ces registres a un bit dédicacé à une ligne.
− Registre PIOMODE
Ce registre permet de définir si l’interruption est activée sur un état ou sur un flanc.
Un « 0 » correspond à une sensibilité au flanc (PIOMODE[x] ligne x utilisée
comme interruption sur un flanc) ;
un « 1 » correspond à une sensibilité sur un état (PIOMODE[x] ligne x utilisée
comme interruption sur un état).
Label Registre en lecture et écriture Allocation
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PIOMODE : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DM(0x2041)
0 = Edge sensitive
1 = Level sensitive
− Registre PIOLEVEL
Ce registre permet de définir si l’interruption activée sur un état ou sur un flanc doit
être considérée sur un niveau « 0 » ou « 1 », respectivement sur un flanc
« descendant » ou « montant ».
Un « 0 » correspond à une sensibilité à un état « 0 » ou a un flanc « descendant »
PIOMODE[x]= « 1 », PIOLEVEL[x]= « 0 », sensibilité sur l’état « 0 ».
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 51
Par défaut (après un RESET), les interruptions de toutes les lignes sont désactivées.
Les quatre lignes d’interruptions individuelles PIO0 à PIO3 ont leur propre vecteur
d’interruption généré par le registre PICVECTOR. Le reste des lignes PIO4 à PIO11 possède
le même vecteur d’interruption. C’est à l’aide des flags contenus dans le registre PIOFLAG
que l’on peut déterminer la source précise de la demande de l’interruption
JUMP Interrupt routine
u PIO4
’ PIO5 PICVECTOR
PIO6
u
PIO7
n PIO8
& 0x003C PIO4-PIO11 Interrupt vector
PIO9
é PIO10
v PIO11
é
n Figure 3-65 : Gestion des interruptions pour les lignes PIO
e
ment sur les lignes PIO4 à PIO11 provoque une demande d’interruption via le vecteur
d’interruption 0x003C, le flag correspondant du registre PIOFLAG est mis à « 1 ». Dans ce
cas il est nécessaire de tester chaque FLAG selon un ordre correspondant à la priorité désirée
puis d’exécuter la routine d’interruption correspondante (polling).
Label Registre en lecture seule Allocation
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PIOFLAG : 0 0 0 0 DM(0x2047)
0 = No Interrupt
1 = Interrupt Flagded
Figure 3-66 : Registre contenant les FLAG propres aux lignes PIO4 à PIO11
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 52
Les lignes configurées en sortie peuvent également être utilisées pour générer des
interruptions. Dans ce cas l’écriture du bit approprié du registre PIODATA provoquera une
interruption selon le contenu des registres PIOINTEN, PIOMODE, PIOLEVEL.
3.5.5 Lignes PIO utilisées pour l’activation/désactivation les sorties du modulateur PWM
Le registre PIOPWM permet l’utilisation des lignes PIO pour la désactivation immédiate des
sorties AH, AL, BH, BL, CH, CL du bloc modulateur PWM.
Label Registre en lecture et écriture Allocation
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PIOPWM : 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 DM(0x2042)
0 = PWM Trip Disable
1 = PWM Trip Enable
Figure 3-67 : Registre de configuration des PIO pour le contrôle des sorties du modulateur PWM
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 53
3.6.1 Généralités
Parmi les périphériques disponible sur l’ADMC401, on trouve deux entrées ETU0 et ETU1
permettant la capture d’événements (Event Timer Unit). Il est donc possible de mesurer le
temps séparant deux événements apparaissant sur une même entrée. Un ensemble de registres
permet de configurer la nature et la séquence des événements à observer. Un événement
propre à un signal est défini soit comme flanc (montant ou descendant) soit comme un état
(niveau logique « 0 » ou 1 »). Suite à une séquence bien définie, une interruption peut être
générée. Il est donc possible de mesurer une fréquence, une période, un rapport cyclique,
voire la durée d’une impulsion.
Capture Channel 0
EVENT
ETU0 ETUA0[15...0]
DETECTOR
ETUB0 [15...0]
ETUAA0[15...0]
ETUDIVIDE[15...0]
ETUTIME [15...0]
ETU TIMER ETUCONFIG [7...0]
ETUCTRL [1...0]
ETUSTAT [1...0]
ETUA1[15...0]
ETUB1 [15...0]
EVENT
ETU1 ETUAA1[15...0]
DETECTOR
Capture Channel 1
L’état du Timer peut être lu à n’importe quel moment. Deux événements distincts EVENT A
et EVENT B doivent être définis pour déclencher une mesure. En initialisant les bits
appropriés du registre de configuration ETUCONFIG, il est possible de définir les
événements EVENT A et EVENT B sous forme de l’apparition de flancs sur les entrées de
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 54
0 = Single Mode
ETU1 : Mode
1 = Free-running
0 = Next Event A
ETU1 : Interrupt
1 = Event B
0 = Falling Edge
ETU1 : Event B
1 = Rising edge
0 = Falling Edge
ETU1 : Event A
1 = Rising edge
0 = Single Mode
ETU0 : Mode
1 = Free-running
0 = Next Event A
ETU0 : Interrupt
1 = Event B
0 = Falling Edge
ETU0 : Event B
1 = Rising edge
0 = Falling Edge
ETU0 : Event A
1 = Rising edge
Associés à chaque canal, il y a trois registres de données ETUA0, ETUB0, ETUAA0 pour le
canal ETU0 et ETUA1, ETUB1, ETUAA1 pour le canal ETU1.
Label Registres en lecture seule Allocation
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ETUA0 : DM(0x2050)
ETUB0 : DM(0x2051)
ETUAA0 : DM(0x2052)
ETUA1 : DM(0x2053)
ETUB1 : DM(0x2054)
ETUAA1 : DM(0x2055)
ETUTIME : DM(0x2056)
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 55
ETU0 :
0 : Not Captured
1 : Captured
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 56
ETU0 :
0 : Do Not Captured
1 : Start Captured
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 57
– MODECTRL[8]= « 0 » :
Les deux modulateurs PWM sont en mode décalé. Dans ce mode la fréquence de
commutation des deux signaux de sorties AUX0 et AUX1 sont identiques et contrôlés par
le registre AUXTM0.
FCLKOUT
FAUX 0,1 = 3.38
2([AUXTM0] + 1)
Les durées des niveaux « 1 » (ON) de AUX0 et AUX1 sont contrôlés par les registres
AUXCH0 et AUXCH1.
Le registre AUXTM1 définit le décalage entre les flancs montants des deux signaux de
sortie AUX0 et AUX1
Pour que le mode de travail soit correct, le contenu de AUXTM1 doit être plus petit que
celui de AUXT0. Dans ce mode le rapport cyclique peut varier de 0% à 100%.
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 58
AUX0
2([AUXTM0]+1)t C LKO UT
2[AUXCH0]t C LKO UT
t
AUX1 2([AUXTM1]+1)t C LKO UT
2[AUXCH1]t C LKO UT
t
Figure 3-75 : Signaux PWM auxiliaires pour le mode indépendant
– MODECTRL[8]= « 1 » :
Les modulateurs PWM se trouvent en mode indépendant. Dans ce mode, les deux
modulateurs sont complètement indépendants l’un de l’autre. La fréquence de
commutation et le rapport cyclique peuvent être programmés selon les relations suivantes :
FCLKOUT
FAUX0 = 3.42
2([AUXTM0] + 1)
FCLKOUT
FAUX1 = 3.43
2([AUXTM1] + 1)
AUXCH0
DAUX0 = TON AUX0FCLKOUT = 3.44
[AUXTM0] + 1
AUXCH1
DAUX1 = TON AUX1FCLKOUT = 3.45
[AUXTM1] + 1
Les valeurs de AUXTM0 et AUXTM1 peuvent varier entre 0x00 et 0xFF. La plage de
variation des fréquences de commutations vaut donc :
Le rapport cyclique peut varier de 0% à 100%, il suffit que TON AUX0,1 soit supérieur à TAUX0,1 .
La Figure 3-76 illustre ce mode de travail
Pour les deux modes, la résolution maximale sur les signaux est de 8 bits. Une augmentation
de la fréquence de commutations entraîne une diminution de la résolution.
L’écriture des registres AUXCH0 et AUXCH1 peut avoir lieu à n’importe quel moment. La
prise en compte de ces nouvelles valeurs est effective au prochain cycle PWM. Dans le mode
indépendant, l’écriture de nouvelles valeurs dans les registres AUXTM0 ou AUXTM1
provoquent une mise à « 0 » des timers internes et du même coup un nouveau cycle PWM.
Par défaut (après un RESET) le bit MODECRTL[8] est à « 0 » activant le mode décalé. Les
valeurs par défaut de AUXTM0 et AUXTM1 sont 0xFF ce qui correspond à la fréquence de
commutations minimale et à un décalage nul. Les registres AUXCH0 et AUXCH1 sont eux
initialisés à 0x00.
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 59
AUX0
2([AUXTM0]+1)t CLKOUT
2[AUXCH0]t CLKOUT
t
AUX1 2([AUXTM0]+1)t CLKOUT
2[AUXCH1]t CLKOUT
t
2[AUXTM1]t CLKOUT
Figure 3-77 : Registres des paramètres utiles à la génération des signaux PWM
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 60
3.8.1 Description
Un Timer (Watchdog timer) est utilisé pour contrôler la bonne exécution d’un programme.
Le but ici est d’éviter que, suite à une erreur (programmation, perturbations externes,
modification non volontaire du contenu de la mémoire programme (RAM), …), l’exécution
du programme soit confinée dans une boucle infinie par exemple. Grâce à un timer
(décompteur), il est possible de stopper (RESET) l’exécution du programme si celui-ci n’a
pas remis à jour le contenu du timer avant qu’il n’arrive à « 0 ».
Le watchdog timer est initialement désactivé (après un RESET), et le flag WDFLAG (bit
SYSSTAT[1]) est également mis à « 0 ». Le watchdog timer est activé en écrivant une valeur
dans le registre WDTIMER. Une fois le watchdog timer initialisé, le timer décompte à la
fréquence de l’horloge CLKIN. Pour éviter l’activation d’une erreur (arrivée à « 0 » du
décompteur), il est nécessaire de charger le registre WDTIMER avec une n’importe quelle
valeur. Cette action permet de recharger la valeur initiale (première écriture) dans le registre
WDTIMER et par conséquent de réinitialiser le décompteur. Le temps de décomptage est
défini comme
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 61
3.9.1 Description
L’ADMC401 utilise la ligne IRQ2 du DSP pour générer une interruption sur un
périphérique.
PIC IMASK
IRQ2
PIOFLAG[10..0] PICMASK 0x0000 : JU M P Startup;
NOP;
NOP;
Decoder NOP;
0x0004 : DM (TE M P_I4_SAVE)=I4;
ADC End-of-Conversion 0x0030 I4=DM (PICVEC TO R);
JM P I4;
PWMSYNC 0x0034 NOP;
PIO7
M NOP;
NOP;
PIO8
0x003C U PICVECTOR
PIO9 X
PIO10
0x0030 : I4=DM (TEM P_I4_SAVE);
PIO11 JM P ADC_ISR;
NOP;
EIU Counter Error 0x0040
PERIPHERAL INTERRUPTS
NOP;
ETU 0x0044 0x0034 : I4=DM (TEM P_I4_SAVE);
JM P P WM SYN C_ISR ;
PIO0 0x0048 NOP;
NOP;
PIO1 0x004C
PIO2 0x0050
PIO3 0x0054
0x0058 : I4=DM (TEM P_I4_SAVE);
PWM Trip 0x0058 JM P P WM TRIP _ISR;
NOP;
NOP;
Les sources d’interruptions dues aux périphériques sont multiples. Il s’agit, dans l’ordre de
priorité de :
1. fin de conversion numérique analogique (ADC End-of-Conversion) ;
2. signal d’échantillonnage (PWMSYNC) ;
3. fin d’une période du timer EIU (EIU Loop Timer Timout) ;
4. activation d’une interruption par la ligne PIO4 -PIO11 ;
5. détection d’erreurs de comptage/décomptage (EIU Counter Error) ;
6. fin d’une séquence d’événements (ETU) ;
7. activation d’une interruption par la ligne PIO0 ;
8. activation d’une interruption par la ligne PIO1 ;
9. activation d’une interruption par la ligne PIO2 ;
10. activation d’une interruption par la ligne PIO3 ;
11. activation d’une erreur sur le modulateur PWM (PWM Trip).
Un contrôleur d’interruptions programmable (PIC : Programmable Interrupt Controller) est
utilisé afin d’éviter l’introduction d’un délai supplémentaire dû à la recherche de la source
d’interruption par software. Suite à l’apparition d’une interruption sur un périphérique, le
contrôleur d’interruption (PIC) génère une adresse qui pointe le vecteur correspondant dans
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 62
Adresse de la table
Sources
d’interruption
RESET Startup (ou mise sous tension avec PUCR= « 1 ») 0x00 (Priorité la plus élevée)
POWER-DOWN (non masquable) 0x2C
Fin de conversion numérique analogique(ADC End-of-Conversion) 0x30
Signal d’échantillonnage (PWMSYNC) 0x34
Fin d’une période du timer EIU (EIU Loop Timer Timout) 0x38
PERIPHERIQUES
Activation d’une interruption par la ligne PIO4 ---PIO11 0x3C
Détection d’erreurs de comptage/décomptage (EIU Counter Error) 0x40
Fin d’une séquence d’événement (ETU) 0x44
Activation d’une interruption par la ligne PIO0 0x48
Activation d’une interruption par la ligne PIO1 0x4C
Activation d’une interruption par la ligne PIO2 0x50
Activation d’une interruption par la ligne PIO3 0x54
Activation d’une erreur sur le modulateur PWM (PWM Trip) 0x58
Port sériel N°0 : transmission (SPORT0 Transmit) 0x10
Port sériel N°0 : réception (SPORT0 Receive) 0x14
Interruption software N°1 0x18
Interruption software N°0 0x1C
Port sériel N°1 : transmission ou IRQ1 (SPORT1 Transmit or IRQ1 ) 0x20
Port sériel N°1 : réception IRQ0 (SPORT1 Receive or IRQ0 ) 0x24
Timer (Interval Timer Interrupt) 0x28 (Priorité la plus basse)
Tableau 3-5 : Table d'interruptions par ordre de priorités
Les quatre premières entrées PIO (PIO0 – PIO3) possèdent chacune leur propre ligne
d’interruption. Par contre les huit lignes restantes PIO4 – PIO11 ont une ligne d’interruption
commune. Le registre PIOFLAG peut être utilisé pour définir la source de l’interruption.
Un registre de 11 bits, PICMASK permet de masquer chacune des 11 sources d’interruptions.
Lorsqu’une interruption est demandée par un périphérique, le contrôleur d’interruption
fournit une adresse prédéfinie et la ligne IRQ2 est activée pour autant qu’elle ne soit pas
masquée. Le déroulement du programme est alors interrompu et le pointeur d’adresse PC
prend la valeur PM(0x0004). A cette adresse, une instruction de saut dont la destination est
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 63
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 64
Valeur par
Adresse Nom Type Bits Fonction
défaut
0x203D – 0x203F Réservé
0x2040 PIOLEVEL R/W [11…0] 0x0000 Sélection des interruptions PIO
0x2041 PIOMODE R/W [11…0] 0x0000 Mode d’interruption (états/flancs)
0x2042 PIOPWM R/W [11…0] 0xFFF Désactivation des sorties PWM
0x2043 Réservé
0x2044 PIODIR R/W [11…0] 0x0000 Contrôle en entrée/sortie de PIO
0x2045 PIODATA R/W [11…0] Valeur des PIO
0x2046 PIOINTEN R/W [11…4] 0x000 Activation/désactivation des interrup. PIO
0x2047 PIOFLAG R [11…4] Flag pour les interruptions PIO11 … PIO4
0x2048 – 0x204F Réservé
0x2050 ETUA0 R [15…0] Capture de l’évènement A sur le canal 0
0x2051 ETUB0 R [15…0] Capture de l’évènement B sur le canal 0
0x2052 ETUAA0 R [15…0] Capture de l’évènement AA sur le canal 0
0x2053 ETUA1 R [15…0] Capture de l’évènement A sur le canal 1
0x2054 ETUB1 R [15…0] Capture de l’évènement B sur le canal 1
0x2055 ETUAA1 R [15…0] Capture de l’évènement AA sur le canal 1
0x2056 ETUTIME R [15…0] Valeur du Timer
0x2057 – 0x205B Réservé
0x205C ETUCONFIG R/W [7…0] 0x00 Configuration de l’ETU
0x205D ETUDIVIDE R/W [15…0] 0x0000 Division de l’horloge pour l’ETU
0x205E ETUSTAT R [1, 0] Etat de l’ETU
0x205F ETUCTRL R/W [1, 0] 0x0 Contrôle de l’ETU
0x2060 PWMSYNCWT R/W [7…0] 0x27 Largeur du signal PWMSYNC
0x2061 PWMSWT R/W [0] 0x0 Interruption software des sorties PWM
0x2062 – 0x206F Réservé
0x2070 EETN R/W [7…0] 0x000 Décimateur de l’EET
0x2071 EETDIV R/W [15…0] 0x0000 Division de l’horloge pour l’ETU
0x2072 EETDELTAT R [15…0] 0x0000 Valeur maximum du compteur EET
0x2073 EETT R [15…0] 0x0000 Valeur présente du compteur EET
0x2074 EETSTAT R [0] 0x0 Etat de l’EET
0x2075 0x23FF Réservé
Tableau 3-6 : Plan mémoire (DM) des registres dédicacés aux périphériques
CD\DSP\Cours\Chap3
LES PERIPHERIQUES DE L’ADMC401 Page 65
BIBLIOGRAPHIE
[1] Single-Chip, DSP-Based
High Performance Motor Controller
REV. B
[2] ADMC401 DSP Motor Controller
Developer’s Reference Manual
Rev. 2.1, 11 Septembre 2000
[3] ADSP-2100 Family
Assembler Tools & Simulator Manual
Second Edition (11/94)
[4] ADSP-2100 Family
User’s manual
Third Edition (9/95)
CD\DSP\Cours\Chap3