LES PROCESSEURS DU SIGNAL (DSP) DANS LE CONTRÔLE NUMERIQUE Étude d’un DSP dédié au contrôle moteur.
Cours Dsp Esprit p1 2011
-
Upload
sourourkanzari -
Category
Documents
-
view
234 -
download
1
Transcript of Cours Dsp Esprit p1 2011
-
8/18/2019 Cours Dsp Esprit p1 2011
1/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 20111
Concepts et Pratique des
Processeurs Numériques des
Signaux (DSP)
Chiheb REBAI, Nadia [email protected], [email protected]
École Supérieure Privé d’Ingénierie et deTechnologies
© ESPRIT, février 2011
mailto:[email protected]:[email protected]:[email protected]:[email protected]
-
8/18/2019 Cours Dsp Esprit p1 2011
2/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 20112
Objectifs du cours
Mise en évidence de:Fonctionnalités de base des processeurs numériques des signaux (DSP)
Architectures des cores et des périphériques des DSPs
Méthodologies et Outils de développement, de vérification et de mise au point
Compétences à acquérir:
Maîtrise des architectures matérielles des DSPs
Maîtrise du jeu d’instructions pour la programmation des DSP
Spécification des applications d’implantation sur DSP
Règles de structuration et de développement de codes DSP
Maîtrise des outils de développement et de test des applications DSP
-
8/18/2019 Cours Dsp Esprit p1 2011
3/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 20113
Programme du module
Séance 1 Concepts de base des DSP: définition et architecturegénérique
C. Rebai
Séance 2 Étude des DSP AD-Blackfin: architecture et jeud’instructions
C. Rebai
Séance 3 Initiation à l’environnement de développement intégré
Visual DSP++
C. Rebai
Séance 4 Application 1: Familiarisation avec le jeu d’instructions
du DSP BlackfinC. Rebai
M. Attia
Séance 5 Application 2: Implantation d’un filtre à réponse
impulsionnelle finie (FIR)C. Rebai
M. Attia
Séance 6 Application 3: Chargement des porteuses d’unmodulateur DMT
C. RebaiM. Attia
Séance 7 Application 4: Fonctions de traitement d’images C. Rebai
M. Attia
-
8/18/2019 Cours Dsp Esprit p1 2011
4/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 20114
Partie 1
Concepts de base des DSP
Définition des DSP
Applications des DSP
Représentations et traitements des donnéesFonctionnalités de base des DSP
Classification des technologies DSP
-
8/18/2019 Cours Dsp Esprit p1 2011
5/50 ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 20115
Définition des DSP
École Supérieure Privé d’Ingénierie et deTechnologies
-
8/18/2019 Cours Dsp Esprit p1 2011
6/50 ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 20116
Définition d’un DSP
Composant électronique utilisant conjointement du matériel (Hard) et du logiciel (Soft)
pour mettre en œuvre une application de traitement de signal
Système DSP: interagit fortement avec son environnement (contraintes de temps réel et
de dynamique des phénomènes physiques)
Composants du DSP (unités de traitement, contrôleurs, registres, bus, mémoire, ports
E/S, périphériques,…): fixent les performances expérimentales du système
Ressources logicielles (jeu d’instructions, moniteur, OS) offrent la flexibilité au système
Conditionnementdes
Signaux
Conversiondes
Données
TraitementNumérique
des Signaux
Environnement
externe
Interface
Hôte
-
8/18/2019 Cours Dsp Esprit p1 2011
7/50 ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 20117
1
0
)()()( N
k
k n xk hn yProduit deconvolution
Les opérations pour chaque TAP :Two data fetches
Multiply
Accumulate
Memory write-back to update delay line
Object i f
1 FIR Tap / DSP instruction cycle
1 Z
1 Z
1 Z . . . .
. . . .
h(0) h(1)h(N-2) h(N-1)
y(n)
x(n) x(n-1)
Opération «DSP » fondamentale
Filtre FIR
-
8/18/2019 Cours Dsp Esprit p1 2011
8/50 ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 20118
Système à usage général
Une mémoire pour lecode et les données
Double utilisation des busdonnées et adresses
CPU
(Core)Sorties
MémoireProg & Données
Entrée
Interfaces
B u s a d r e s s
e s
B u s D o n n é e s
1. Instruction fetch
2. Data_1 fetch
3. Data_2 fetch
Plusieurs cycles !
Architecture Von Neumann
-
8/18/2019 Cours Dsp Esprit p1 2011
9/50 ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 20119
tap : MOV AX, [SI] ; lecture coefficients
MUL [DI] ; multiplication AX*[DI] AX
ADD DX,AX ; accumulation
INR SI ; avancement pointeurs
INR DI
LOOP tap
Implantation avec un microprocesseur x86 d’Intel
h(0)h(1)
.
.
.
h(N-1)
.
.
.
x(n)
.
.
.
X(n-N+1)
SI
DI
DX 0
SI @coef
DI @samples
CX N
1
0
)()()( N
k
k n xk hn y
Limitations de l’architecture
Von Neumann
-
8/18/2019 Cours Dsp Esprit p1 2011
10/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201110
Mémoire PM et DM séparées
Bus indépendants pour Chaque
mémoire
En 1 cycle :
Instr. Fetch & Data fetch
Memory Mapped IO
Core : Chemins de données
optimisés, MAC, adressage
approprié des données
Software : instructions dédiéesaux applications (FFT, video,
parole,…)
Mémoire
Programme CPU(Core)
Sorties
MémoireDonnées
Entrées
Interfaces
PMADMA
PMD
DMDIntégration des CAN et CNAdans certains DSP
Architecture Harvard
-
8/18/2019 Cours Dsp Esprit p1 2011
11/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201111
Plus de puissance de calcul
MémoireProgramme
&Données secondaires
CPU(Core)
Cache Sorties
MémoireDonnées
Entrées
Interfaces
PMADMA
PMD
DMD
DMA
PCI
USB
COM
…
Architecture Harvard modifiée
Architecture Harvard: Accès simultanée aux
données et aux instructions
Architecture Harvard modifiée:
Accès simultanée à 2 données (DM) etune instruction
Donne les performances de 3 bus avec
une architecture à 2 bus
-
8/18/2019 Cours Dsp Esprit p1 2011
12/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201112
Traitement de fi l trage
En un seul cycle machine
Lecture d’un coefficient h de la PM
Lecture d’un échantillon x de la DM
Multiplication et accumulation
Program Memory Data Bus
Accumulator
ProgramMemory
DataMemory Multiplexer Multiplexer
Data Memory Data Bus
ALUMAC
Chemin de données dans un DSP
-
8/18/2019 Cours Dsp Esprit p1 2011
13/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201113
Classes de processeurs
Microcontrôleurs
Architecture: CPU, RAM, ROM, interfaces série / parallèle, timer, circuits d’interruptions Applications: contrôle / commande de processus
Caractéristiques: pas d’exigence de vitesse, jeu d’instructions compact
Exemples: 8051, 68HC11, PIC,…
Microprocesseurs
Architecture: CPU mono-chip, nécessite des circuits additionnels externes
RISC: Reduced Instruction Set Computer
CISC: Complex Instruction Set Computer
Exemples: Pentium-Series, PowerPC, MIPS,…
Processeurs Numériques des Signaux (DSP) Architecture:
CPU optimisée pour traitement mathématique temps réel rapide et répétitif
RAM, ROM, interfaces série / parallèle, timer, circuits d’interruptions
Exemples: ADSP-21xx, AD-BF-5xx, AD-TS-xxx, TMS320Cxx,…
É
-
8/18/2019 Cours Dsp Esprit p1 2011
14/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201114
Applications
des DSP
École Supérieure Privé d’Ingénierie et deTechnologies
-
8/18/2019 Cours Dsp Esprit p1 2011
15/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201115
Produits électroménagers
Cafetière, machines à laver, fours à micro-onde,…
Électronique grand public
Caméras et appareils photos numériques, décodeursvidéo, téléphones portables, PDA,…
Automobile
ABS, GPS, contrôle moteur, informatique de confort,…
Avionique, spatial, procédés industriels
Systèmes de navigation aérienne et maritime,
systèmes de contrôle des procédés industriels
Télécommunications et informatique
Terminaux, nœuds de transfert, équipement de
transmission, périphériques informatiques
Domaines d’application
-
8/18/2019 Cours Dsp Esprit p1 2011
16/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201116
Capacité de traitement DSP
Radio numérique
-
8/18/2019 Cours Dsp Esprit p1 2011
17/50
-
8/18/2019 Cours Dsp Esprit p1 2011
18/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201118
Exemple: téléphone portable
-
8/18/2019 Cours Dsp Esprit p1 2011
19/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201120
Position dans le marché des S.C
É l S é i P i é d’I gé i i t d
-
8/18/2019 Cours Dsp Esprit p1 2011
20/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201121
Représentations et
traitement des données
École Supérieure Privé d’Ingénierie et deTechnologies
-
8/18/2019 Cours Dsp Esprit p1 2011
21/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201122
Représentation en virgule fixe
-(215) 214 ... 21 20
Cas d’un DSP 16 bits
215 214 ... 21 20
-(20) 2-1 2-2 ... 2-14 2-15
2-1 2-2 ... 2-14 2-15
Unsigned Integer 16.0
Signed Integer 16.0 Signed Fractional 1.15
Unsigned Fractional 0.16
Format P.Q sur (P+Q) bits : Partie entière sur P bits & Partie fractionnelle sur Q bits
-(2P-1) 2P-2 ... 20 2-1 ... 2-(Q-1) 2-Q
Partie entière Partie Fractionnelle
2P-1 2P-2 ... 20 2-1 ... 2-(Q-1) 2-Q
Signed P.Q (complément à 2)
Unsigned P.Q
-
8/18/2019 Cours Dsp Esprit p1 2011
22/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201123
Plages de variation en format 16
bits
-
8/18/2019 Cours Dsp Esprit p1 2011
23/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201124
Exemple de numérisation de
signal
-
8/18/2019 Cours Dsp Esprit p1 2011
24/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201125
Extension de signe : Augmenter la précision sans perdre la valeur
décimal 4 bits 8 bits
0 0000 0000
1 0001 0001
-1 1111 11111111
0011 (3 décimal)
+ 0111 (7 décimal)
= 1010 (-6 décimal ??)
cas d’un signal inversion de
polarité
Overflow Mise à l’échelle (scaling)
faible résolution de représentation et qques bits
fort poids à 0
Bits de garde
Prévoir les débordements et utiliser l’extension de
signe
Saturation :
au maximum négatif ou au maximum positif
Sur 16 bits : 0x7FFF ou 0x8000
Arithmétique à virgule fixe
-
8/18/2019 Cours Dsp Esprit p1 2011
25/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201126
01110001 Cas Integer: (8.0)*(8.0)=(16.0)
Cas Fractional
01001110
0110111000100010
78*113= 8814 = 00100010 01101110
Aucun ajustement nécessaire. Mais signed ou unsigned ?
Unsigned : (0.8)x(0.8)=(0.16)
Règle générale : (P.Q) x (P’.Q’) => (P+P’).(Q+Q’)
Signed : (1.7)x(1.7)=(2.14)
01001110= +0.60937501110001=+0.8828125
0010001001101110 =+0.26898193359375
Décalge à gauche => (1.15)
0100010011011100=+0.5379638671875
X Y
01001110=0.3046875
01110001=0.44140625
0010001001101110=0.134490966796875
Aucun ajustement nécessaire
Il faut spécifier le format pour la Multiplication: IS,IU,FS,FU
Multiplication à virgule fixe
-
8/18/2019 Cours Dsp Esprit p1 2011
26/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201127
01110001 01001110
0110111000100010
X Y
Unsigned Fractional Troncature
0.134490966796875
0110111000100010
Arrondissement (Rounding)
2-9 ... 2-16
0.1328125
xxxxxxxx
00100010Si xxxxxxxx < (10000000 =0.5*2-8)
00100010
00100010
0.1328125
00100011Si xxxxxxxx ≥ (10000000 =0.5*2-8)
0.13671875
L’arrondissement ou la troncature peuvent être
spécifiés dans l’instruction de multiplication
Arrondissement et troncature
-
8/18/2019 Cours Dsp Esprit p1 2011
27/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201128
Virgule flottante ( floating point) : IEEE Standard 754
S C M
n bits
N = (-1)S * (1+M )* 2C - 127
Simple précision : n=32 bitsC sur 8 bits
M sur 23 bits
Double précision : n=64 bits
C sur 11 bits
M sur 52 bits
N = (-1)S * (1+M) * 2C - 1023
DSP à virgule flottante: Gestion de la virgule par le Hardware
DSP à virgule fixe : des Librairies (Software) pour gérer la virgule flottante
Représentation en virgule flottante
École Supérieure Privé d’Ingénierie et de
-
8/18/2019 Cours Dsp Esprit p1 2011
28/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201129
Fonctionnalités de base
des DSP
École Supérieure Privé d Ingénierie et deTechnologies
-
8/18/2019 Cours Dsp Esprit p1 2011
29/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201130
Caractéristiques Fonctionnelles
Rapidité et flexibilité des unités de traitement arithmétique
• Unités de traitement parallèle: ALU, MAC, SHIFTER • Fonctionnement parallèle du MAC et ALU
• Pas de pipeline arithmétique
Trafic sans contraintes du flux de données entre UTA et mémoires• Data Address Generators: DAG
• Fonctionnement parallèle: recherche de 2 opérandes pendant 1 seul cycle
• Supporte matériellement :circular buffering
Séquencement efficace des tâches• Supporte des cycles singuliers de branchement (delayed branching)
• “Zero overhead looping” en hard
Facilité de programmation• Jeu d’instructions en assembleur algébrique + fonctions C
• Précision et plage dynamique étendue pour les unités de traitement
-
8/18/2019 Cours Dsp Esprit p1 2011
30/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201131
Architecture DSP de base
-
8/18/2019 Cours Dsp Esprit p1 2011
31/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201132
Exemp le du fi l t re
1
0
)()()( N
k
k n xk hn y
h(0)
h(1)
.
.
.
h(N-1)
.
.
.
x(n)
.
.
.
X(n-N+1)
1
0
)1()()1( N
k
k n xk hn y
h(0)
h(1)
.
.
.
h(N-1)
.
.
.
x(n+1)
x(n)
.
.
.
X(n-N+2)
x(n+1)
Wraparound
Wrap
around
D
é c al a g e
Instant n Instant n+1
Adressage circulaire
P o s t M o d i f y
Adressage circulaire
-
8/18/2019 Cours Dsp Esprit p1 2011
32/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201133
Index Modify Length Base
I0 M0 L0 B0
I1 M1 L1 B1.
.
.
.
.
.
.
.
.
.
.
.
Registres du DAG
I : pointe sur la case mémoire en cours d’accès
M: contient le pas d’avancement de I après accès
L : spécifie la taille du buffer circulaire (si L=0adressage non circulaire)
B : adresse de base du Buffer
Z(0)
Z(1)
.
.
.
Z(N-1)
REG=[I0+M0];
REG z(k)
I0 I0+M0 -B0 mod (L0)
Post Modify & Adressage circulaire
Data Address Generator DAG)
-
8/18/2019 Cours Dsp Esprit p1 2011
33/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201134
x(0)
x(4)
x(2)
x(6)
x(1)
x(5)
x(3)
x(7)
F(0)
F(1)
F(2)
F(3)
F(4)
F(5)
F(6)
F(7)
Four 2-point
FFTs
Two 4-point
FFTs
One 8-point FFT
000
100
010
110
001
101
011
111
000
100
010
110
001
101
011
111
x(0)
x(4)
x(2)
x(6)
x(1)
x(5)
x(3)
x(7)
En mémoireA l’entrée de
La FFT
Bit Reversed Adressing permet une lecture des échantillons
dans l’ordre de traitement par la FFT
Bit Reversed Adressing
-
8/18/2019 Cours Dsp Esprit p1 2011
34/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201135
IF Instruction fetchDOF Decode and operand fetch
EX ExecutionWB Write back
2 Instructions : 8 cycles
Instr. 1 Instr. 2 Cycles
1 2 3 4 5 6 7 8 9IF DOF EX WB IF DOF EX WB IF
Exécution séquen tiel le
Unité d’exécution
-
8/18/2019 Cours Dsp Esprit p1 2011
35/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201136
2 Instructions : 5 cycles
Exceptions : Jump, Call, … Pipeline Update
Exécution en pipeline
-
8/18/2019 Cours Dsp Esprit p1 2011
36/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201137
IndependentI/O Bu s
CPU
Interface Interface
Peripheral Peripheral
Memory
Memory b us
Instructions dédiées I/O (in,out)
CPU
Interface Interface
Peripheral Peripheral
Memory
common memory& I/O bus
Memory Mapped I/O
Architecture à Bus indépendants Architecture à Bus commun
Interfaces d’entrées sorties
-
8/18/2019 Cours Dsp Esprit p1 2011
37/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201138
Arch itectur e à Bu s commun
Configuration de l’interface etassociation d’un pointeur mémoire àun flux d’entrée
Auto incrémentation du pointeur
à chaque acquisition
Buffer circulaire
Génération d’une interruption aumoment du Wrap around
Acquisition se déroule en
Background ce qui libère le
Processeur
CPU
Interface
Peripheral
MemoryInterface
Peripheral
Auto buffering
-
8/18/2019 Cours Dsp Esprit p1 2011
38/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201139
CPU
Interface
Peripheral
MemoryContrôleurDMA
DMA setup :
Adresse source
Adresse destination
Sens du transfert
Taille des données à transférer
Launch DMA
A la fin du transfert une interruption
est générée
Transfert se déroule en
Background ce qui libère le
Processeur
Direct Memory Access: DMA
École Supérieure Privé d’Ingénierie et deT h l i
-
8/18/2019 Cours Dsp Esprit p1 2011
39/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201140
Classification des
technologies DSP
d’Analog Devices Inc.
Technologies
-
8/18/2019 Cours Dsp Esprit p1 2011
40/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201141
Technologies DSP …
Technologie DSP d’ADI…
-
8/18/2019 Cours Dsp Esprit p1 2011
41/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201142
Limerick Ireland
Wilmington MA
Norwood MA
Greensboro NC
Santa Clara CA
Taipei Taiwan
Manila Philippines
Cambridge MA
Cavite Philippines
Belfast U.K.
Classification des DSP 16 bits
-
8/18/2019 Cours Dsp Esprit p1 2011
42/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201143
Caractéristiques - ADSP21xx
-
8/18/2019 Cours Dsp Esprit p1 2011
43/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201144
Caractéristiques - ADSP218x
-
8/18/2019 Cours Dsp Esprit p1 2011
44/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201145
-
8/18/2019 Cours Dsp Esprit p1 2011
45/50
DSP 32 bits virgule flottante
-
8/18/2019 Cours Dsp Esprit p1 2011
46/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201147
DSP Tiger SHARC
-
8/18/2019 Cours Dsp Esprit p1 2011
47/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201148
DSP de la famille Blackfin
-
8/18/2019 Cours Dsp Esprit p1 2011
48/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201149
Repérage des ADSP-XXxx
-
8/18/2019 Cours Dsp Esprit p1 2011
49/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201150
École Supérieure Privé d’Ingénierie et deTechnologies
-
8/18/2019 Cours Dsp Esprit p1 2011
50/50
ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 201151
Finde la 1ère partie…
Technologies