Académique Documents
Professionnel Documents
Culture Documents
P
DigitalSignalProcessor
Olivier Romain
Professeur des Universités
olivier.romain@u-cergy.fr
http://olivieromain.free.fr 1
Objectif de ce
cours
Sensibiliser l’étudiant à l’architecture d’un
DSP
2
Plan du
cours
Partie 1 : Quelles architectures pour le traitement du signal ?
Introduction aux DSP
Visual DSP++
GPU
3
Références
Internet
www.ti.com
www.freescale.com
www.analog.com
www.dspguide.com
www.dspguru.com
www.dsprelated.com
http://www.tde.lth.se/ugradcourses/DSPDesign/DSPDesign-eng.html
http://www.bdti.com/articles/evolution/sld001.htm
Livres
Les DSP : Famille ADSP218X : Principe et Applications, Michel Pinard, Dunod
DSP : Les processeurs de traitement du signal. Famille 320C50, Geneviève
Baudoin, Ferial Virolleau, Dunod
The scientist and Engineer’s guide to digital signal processing. Steven W smith.
www.dspguide.com
4
Partie 1
5
Synoptiqued’une application de
TNS
caméra
Numérique
Consignes
microphone
CAN µP CNA
son
capteurs
Résultats
6
Contraintes d’une application de
TNS
Travaille à intervalles réguliers sur des
valeurs discrètes d’un signal continue
7
Paramètres d’une
TNS
Latence :
Cadence :
8
Algorithmes
types
Corrélations : mesure de vraisemblance
Convolutions : filtrage
Filtres numériques
FIR : Réponse Impulsionnelle Finie
IIR : Réponse Impulsionnelle Infinie
Etc.
9
Corrélation
Mesure la ressemblance de deux signaux
Utilisée dans les systèmes radar, sonar, etc.
Formulation mathématique
Signal C représente la corrélation des signaux a et
b
10
Convolution
Fonction mathématique utilisée en filtrage des données
Formulation mathématique
Convolution rapide
x FFT
IFFT y
h FFT 11
Filtre
FIR
N échantillons les plus récents dans
une ligne à retards X(i)
Filtre non-récursif
12
Filtre IIR
Sortie dépend des échantillons
d’entrées et des valeurs des sorties
aux instants précédents pondérées.
Filtre récursif
13
Algorithmes types : Filtres FIRvs
IIR
FIR IIR
14
TFD
TFD : Transformée
de Fourier Discrète
FFT d’un vecteur
numérique
TFD 4 points
15
TFD
Même sous-matrice
TFD 4 points Etage Butterfly
Inversion des colonnes 2
et 3
TFD
Sorties inversées
Entrées inversées
16
Estimation des
besoins
Ordre de grandeur des applications TNS
17
Quel processeur utiliser
?
18
Classification
ASIC
19
Quel processeur pour le TNS
?
20
Quels processeurs pour le TNS
?
Conclusion
21
Partie
2
Caractéristiques générales
des DSP
22
Introduction
DSP ont 30 ans
Introduits par Texas
Instrument en 1982
TMS32010
Evolutions
SIMD
Multi-coeurs
VLIW
Hétérogène
Processeur Généraliste +
DSP
23
Types de DSP
24
Codage en virgule
fixe
On utilise N bits (M+P) pour représenter les
nombres binaires non signés ou signés
(complément à 2)
M bits pour la partie entière
P bits pour la partie fractionnaire
b p1 )
25
Codage en virgule
fixe
26
Exemple
27
Format 16
bits
28
Codage en virgule
flottante
Sur N bits, les nombres x est représenté par une mantisse M et
un exposant E.
29
Codage en virgule
flottante
.2 Formats (IEEE754)
Simple précision sur 32 bits.
Double précision 64 bits.
30
Codage en virgule
flottante
Virgule fixe (>90% des ventes des
DSP)
Virgule flottante
31
Exemple de DSP
existants
32
Pourquoi un DSP est
rapide ?
33
Quel est le
problème ?
On veut réaliser un filtrage passe-bas par un
filtre FIR de 50 coefficients
Le calcul de la sortie nécessite 50 MACs
34
Quel est le
problème ?
General Processor DSP
1 multiplication : 70 1 Multiplication + 1
cycles horloge addition + accès
1 addition : 10 cycles mémoires : 1 voir <1
horloge cycles horloge
35
Exemple
Benchmark des
DSP de Analog
Device
Données
constructeurs
accessibles à :
http://
www.analog.com/
processors/
36
Pourquoi un DSP est
rapide ?
Quelles sont les caractéristiques d’un DSP qui
permettent de réaliser un traitement le plus
rapidement possible ( >=1MAC par cycle ) ?.
4 facteurs :
1. Architecture matérielle //
2. Mode d’adressage
3. DMA
4. Pipeline
37
1.
Architectures
38
Architecture Harvard :
TMS32010
Virgule fixe 16 bits
Instructions et mémoires
séparées
1 MAC en 1 cycle
horloge
Instructions
Données
SHARC
Super HARvard Computing
Architecture
SIMD
SIMD : Single Instruction
Multi Data Stream
Unités d'exécution
multiples.
Blackfi
nVirgule fixe 16 bits
SIMD : même instruction
simultanément.
2 Multiplieurs de 16 bits
4 Additionneurs 8 Bits
2 Additionneurs 40 Bits
43
Mode
d’adressage
Objectifs :
Puissance d’un DSP dépend de ces modes
d’adressage
Direct
Valeur spécifiée à une adresse mémoire
DM(R1, 0x20045) ou PM(R1, 0x320001)
Indirect
A une adresse mémoire spécifiée adresse mémoire de
l’instruction ou de l’opérande
DM(R1, R3 ) à l’adresse de R3 adresse cherchée
45
Mode
d’adressage
Pré & Post-incrémentation
Attention :
RB incrémenté avant ou après accès mémoire
pré-incrémentation et post-incrémentation
46
Adressage
circulaire
But : Moyen :
Ne conserver que les n dernières Adressage modulo longueur du buffer
valeurs des entrées, ou d'un calcul
précèdent, comme dans une FIFO Ressources (dépend du DSP) :
sans gestion explicite de la Registre d’index (RI)
mémoire. position courante dans le buffer
Registre d’incrément (RM)
RI=RI+RM
Registre de base (RB)
Adresse du début du buffer
Registre de longueur (RL)
Taille du buffer circulaire
Adressage circulaire :
exemple
48
Exercice
49
Adressage de type bit
reverse
Adressage avec inversion de l'ordre des bits
Pour faire des calculs comme la FFT, on peut avoir
besoin de manipuler directement certains bits des
adresses.
Adressage bit
reverse
Transformée de Fourrier Discrète de taille 4
Algorithme dit du Papillon Butterfly
51
3. Le DMA : Direct Memory
Access
Signal N
1
analogique Echantillonnage
et Conversion A/N X(n) A(k)* X(n
k
d’entrée k)
0
Contrôleur Processeur
Codec
de DMA
Signal
analogique Conversion Y(n)
de sortie N/A
53
DMA :
paramètres
Certain paramètres ont besoin d’être définie avant de
commencer le transfert DMA. Ces paramètres sont :
Configuration
Décrit certain caractéristiques du transfert DMA comme la taille des
données, la direction du transfert……
Start Address
Spécifie l’adresse a partir de laquelle le transfert DMA commencera.
Count
Spécifie le nombre d’éléments que le contrôleur DMA transférera.
Modify
Spécifie pas d’incrémentation après le transfert de chaque
le
donnée.
54
Conclusion
55
Partie
3
Carte Blackfin
561
1. Détails de la carte de développement
2. Environnement logiciel
56
1. Famille
Blackfin
Analog Device
Depuis 2001 : BF535
57
ADSP
BF561
5
8
ADSP
BF561
DSP BF561
Processor
5
9
Schéma fonctionnel du
BF561
60
Caractéristiques
techniques
BF561 Coeur
Dual core à 600MHz 2 MAC de 16 bits
> 1.2 GMACs 2 ALU de 40 bits
328ko de mémoire intégrée / 4 ALU de 8 bits
coeur Un registre à décalage de 40 bits
61
Caractéristique carte
développement
Fréquence d’horloge du cœur : 600MHz.
Interface USB pour le déboguage
Mémoire
32 MB de SDRAM (16M x 16 bits)
62
Codec Audio
AD1836
Le codec AD1836 permet d’acquérir des signaux audio
sur deux entrées analogiques (canaux stéréo 0 et 1)
indépendantes à une fréquence d’échantillonnage fixe de
96kHZ. Il permet aussi de restituer à partir de données
numériques des signaux analogiques sur trois canaux de
sortie indépendant.
6
3
Codec
AD1836
L’interface série SPORT0 du DSP permet d’envoyer et
de recevoir les données respectivement en entrées ou
en sorties du CODEC.
64
2. Environnement
de développement
65
66
67
68
69
70
71
72
73
74
75
76
Application au
TP
Aiguës
Filtres FIR
Lecteur
MP3
Médium
CODEC CODEC
DSP
son AD1836 AD1836
Grave
77
Partie
4
Alternativeaux
DSP
78
Introduction
79
TNS sur
FPGA
Multiplieur HW enfouie dans
un FPGA
« Cœur de DSP »
Analog IO
One 12-bit, 125-million samples per
second (MSPS) analog-to-digital (A/
D) converter—TI ADS5520
83
Exemple : architecture tuile de
calcul
Processeur
84
Fin du
cours
85