Академический Документы
Профессиональный Документы
Культура Документы
P
Digital Signal Processor
Olivier Romain
Professeur des Universités
olivier.romain@u-cergy.fr
http://olivieromain.free.fr
1
Objectif de ce cours
2
Plan du cours
n Partie 1 : Quelles architectures pour le traitement du signal ?
q Introduction aux DSP
q Visual DSP++
q GPU
3
Références
n Internet
q www.ti.com
q www.freescale.com
q www.analog.com
q www.dspguide.com
q www.dspguru.com
q www.dsprelated.com
q http://www.tde.lth.se/ugradcourses/DSPDesign/DSPDesign-eng.html
q http://www.bdti.com/articles/evolution/sld001.htm
n Livres
q Les DSP : Famille ADSP218X : Principe et Applications, Michel Pinard, Dunod
q DSP : Les processeurs de traitement du signal. Famille 320C50, Geneviève
Baudoin, Ferial Virolleau, Dunod
q The scientist and Engineer’s guide to digital signal processing. Steven W smith.
www.dspguide.com
4
Partie 1
5
Synoptique d’une application de TNS
caméra
Numérique
Consignes
microphone
CAN µP CNA
son
capteurs
Résultats
6
Contraintes d’une application de TNS
n Travaille à intervalles réguliers sur des
valeurs discrètes d’un signal continue
7
Paramètres d’une TNS
n Latence :
n Cadence :
8
Algorithmes types
n Corrélations : mesure de vraisemblance
n Convolutions : filtrage
n Filtres numériques
q FIR : Réponse Impulsionnelle Finie
q IIR : Réponse Impulsionnelle Infinie
n Etc.
9
Corrélation
n Formulation mathématique
q Signal C représente la corrélation des signaux a et b
10
Convolution
n Fonction mathématique utilisée en filtrage des données
n Formulation mathématique
n Convolution rapide
x FFT
IFFT y
h FFT 11
Filtre FIR
n N échantillons les plus récents dans
une ligne à retards X(i)
q Filtre non-récursif
12
Filtre IIR
n Sortie dépend des échantillons
d’entrées et des valeurs des sorties
aux instants précédents pondérées.
q Filtre récursif
13
Algorithmes types : Filtres FIR vs IIR
n FIR n IIR
14
TFD
n TFD : Transformée
de Fourier Discrète
q FFT d’un vecteur
numérique
n TFD 4 points
15
TFD
Même sous-matrice
n TFD 4 points Etage Butterfly
q Inversion des colonnes 2
et 3
n TFD
q Sorties inversées
q Entrées inversées
16
Estimation des besoins
17
Quel processeur utiliser ?
18
Classification
ASIC
19
Quel processeur pour le TNS ?
20
Quels processeurs pour le TNS ?
n Conclusion
21
Partie 2
22
Introduction
n DSP ont 30 ans
q Introduits par Texas
Instrument en 1982
q TMS32010
n Evolutions
q SIMD
q Multi-coeurs
q VLIW
q Hétérogène
n Processeur Généraliste +
DSP
23
Types de DSP
24
Codage en virgule fixe
n On utilise N bits (M+P) pour représenter les
nombres binaires non signés ou signés
(complément à 2)
q M bits pour la partie entière
q P bits pour la partie fractionnaire
25
Codage en virgule fixe
26
Exemple
27
Format 16 bits
28
Codage en virgule flottante
n Sur N bits, les nombres x est représenté par une mantisse M et un
exposant E.
29
Codage en virgule flottante
n .2 Formats (IEEE754)
q Simple précision sur 32 bits.
q Double précision 64 bits.
30
Codage en virgule flottante
n Virgule fixe (>90% des ventes des
DSP)
n Virgule flottante
31
Exemple de DSP existants
32
Pourquoi un DSP est rapide ?
33
Quel est le problème ?
34
Quel est le problème ?
35
Exemple
n Benchmark des
DSP de Analog
Device
n Données
constructeurs
accessibles à :
http://
www.analog.com/
processors/
36
Pourquoi un DSP est rapide ?
n Quelles sont les caractéristiques d’un DSP qui
permettent de réaliser un traitement le plus
rapidement possible ( >=1MAC par cycle ) ?.
n 4 facteurs :
1. Architecture matérielle //
2. Mode d’adressage
3. DMA
4. Pipeline
37
1. Architectures
38
Architecture Harvard : TMS32010
n Instructions et mémoires
séparées
39
Architecture SHARC : Analog Device
Instructions Données
SHARC
Super HARvard Computing
Architecture SIMD
q Unités d'exécution
multiples.
Blackfin
n Virgule fixe 16 bits
n SIMD : même instruction
simultanément.
n 2 Multiplieurs de 16 bits
n 4 Additionneurs 8 Bits
n 2 Additionneurs 40 Bits
43
Mode d’adressage
n Objectifs :
q Puissance d’un DSP dépend de ces modes
d’adressage
n Direct
q Valeur spécifiée à une adresse mémoire
n DM(R1, 0x20045) ou PM(R1, 0x320001)
n Indirect
q A une adresse mémoire spécifiée ó adresse mémoire de
l’instruction ou de l’opérande
n DM(R1, R3 ) à l’adresse de R3 ó adresse cherchée
45
Mode d’adressage
q Attention :
n RB incrémenté avant ou après accès mémoire
q pré-incrémentation et post-incrémentation
46
Adressage circulaire
n But : n Moyen :
q Ne conserver que les n dernières q Adressage modulo longueur du buffer
valeurs des entrées, ou d'un calcul
précèdent, comme dans une FIFO n Ressources (dépend du DSP) :
sans gestion explicite de la mémoire. q Registre d’index (RI)
n position courante dans le buffer
q Registre d’incrément (RM)
n RI=RI+RM
q Registre de base (RB)
n Adresse du début du buffer
q Registre de longueur (RL)
n Taille du buffer circulaire
Adressage circulaire : exemple
48
Exercice
49
Adressage de type bit reverse
51
3. Le DMA : Direct Memory Access
N −1
Signal
analogique Echantillonnage
X(n)
∑ A(k)* X (n − k )
et Conversion A/N k=0
d’entrée
Contrôleur
Codec Processeur
de DMA
Signal
analogique Conversion N/A Y(n)
de sortie
53
DMA : paramètres
n Certain paramètres ont besoin d’être définie avant de commencer le
transfert DMA. Ces paramètres sont :
q Configuration
n Décrit certain caractéristiques du transfert DMA comme la taille des
données, la direction du transfert……
q Start Address
n Spécifie l’adresse a partir de laquelle le transfert DMA commencera.
q Count
n Spécifie le nombre d’éléments que le contrôleur DMA transférera.
q Modify
n Spécifie le pas d’incrémentation après le transfert de chaque
donnée.
54
Conclusion
55
Partie 3
56
1. Famille Blackfin
n Analog Device
q Depuis 2001 : BF535
57
ADSP BF561
58
ADSP BF561
DSP BF561
Processor
59
Schéma fonctionnel du BF561
60
Caractéristiques techniques
n BF561 n Coeur
q Dual core à 600MHz q 2 MAC de 16 bits
n > 1.2 GMACs q 2 ALU de 40 bits
q 328ko de mémoire intégrée / q 4 ALU de 8 bits
coeur q Un registre à décalage de 40 bits
61
Caractéristique carte développement
n Fréquence d’horloge du cœur : 600MHz.
n Interface USB pour le déboguage
n Mémoire
q 32 MB de SDRAM (16M x 16 bits)
62
Codec Audio AD1836
n 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.
63
Codec AD1836
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
78
Introduction
79
TNS sur FPGA
q IP FIR
Carte DSP Cyclone II
n Cyclone II
q techno 90nm
n Analog IO
o One 12-bit, 125-million samples per
second (MSPS) analog-to-digital (A/
D) converter—TI ADS5520
n Processeur graphique
utilisée sur la carte
pour l’affichage sur un
moniteur
n Depuis peu utilisé
pour le calcul
n Architecture
massivement parallèle
83
Exemple : architecture tuile de calcul
Processeur
84
Fin du cours
85