Sunteți pe pagina 1din 50

École Supérieure Privé d’Ingénierie et de

Technologies

Concepts et Pratique des


Processeurs Numériques des
Signaux (DSP)

Chiheb REBAI, Nadia Khouja


chiheb.rebai@supcom.rnu.tn, nadia.khouja@supcom.rnu.tn

© ESPRIT, février 2011

1  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


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

2  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Programme du module

Séance 1 Concepts de base des DSP: définition et architecture C. Rebai


générique
Séance 2 Étude des DSP AD-Blackfin: architecture et jeu C. Rebai
d’instructions
Séance 3 Initiation à l’environnement de développement intégré C. Rebai
Visual DSP++
Séance 4 Application 1: Familiarisation avec le jeu d’instructions C. Rebai
du DSP Blackfin M. Attia
Séance 5 Application 2: Implantation d’un filtre à réponse C. Rebai
impulsionnelle finie (FIR) M. Attia
Séance 6 Application 3: Chargement des porteuses d’un C. Rebai
modulateur DMT M. Attia

Séance 7 Application 4: Fonctions de traitement d’images C. Rebai


M. Attia

3  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Partie 1

Concepts de base des DSP

Définition des DSP


Applications des DSP
Représentations et traitements des données
Fonctionnalités de base des DSP
Classification des technologies DSP

4  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


École Supérieure Privé d’Ingénierie et de
Technologies

Définition des DSP

5  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Définition d’un DSP

Conditionnement Conversion Traitement


Environnement des des Numérique Interface
externe Signaux Données des Signaux Hôte

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

6  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Opération «DSP» fondamentale
N 1
Produit de y(n)h(k)x(nk) Filtre FIR
convolution k 0

x(n) x(n-1)
1
Z Z 1 .... Z 1

h(1) h(N-2) h(N-1)


h(0)

y(n)
....

Les opérations pour chaque TAP :


Two data fetches
Objectif

Multiply 1 FIR Tap / DSP instruction cycle


Accumulate
Memory write-back to update delay line

7  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Architecture Von Neumann

Interfaces Système à usage général

Entrée
Une mémoire pour le
CPU code et les données

(Core) Double utilisation des bus


données et adresses
Sorties

1. Instruction fetch
2. Data_1 fetch
Bus Données
Bus adresses

3. Data_2 fetch
Mémoire
Prog & Données
Plusieurs cycles !

8  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Limitations de l’architecture
Von Neumann
N 1
y(n)h(k)x(nk) SI
k 0 h(0)
Implantation avec un microprocesseur x86 d’Intel h(1)
.
DX  0 .
.
SI  @coef
h(N-1)
DI  @samples .
CX  N .
.
tap : MOV AX, [SI] ; lecture coefficients DI x(n)
MUL [DI] ; multiplication AX*[DI] AX .
.
.
ADD DX,AX ; accumulation
X(n-N+1)
INR SI ; avancement pointeurs
INR DI
LOOP tap

9  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Architecture Harvard
Interfaces

Mémoire PM et DM séparées
DMA
PMA Bus indépendants pour Chaque
Entrées mémoire

Mémoire En 1 cycle :
Programme CPU
Instr. Fetch & Data fetch
PMD (Core)
Memory Mapped IO
Sorties
Core : Chemins de données
optimisés, MAC, adressage
approprié des données

Mémoire Software : instructions dédiées


Données aux applications (FFT, video,
parole,…)
Intégration des CAN et CNA DMD
dans certains DSP

10  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Architecture Harvard modifiée
Plus de puissance de calcul Interfaces

DMA
PMA PCI
Entrées
Mémoire USB
CPU
Programme
(Core) COM
&
Données secondaires PMD
Cache Sorties …

DMA
Architecture Harvard: Accès simultanée aux
données et aux instructions
Architecture Harvard modifiée:
Accès simultanée à 2 données (DM) et
une instruction
Donne les performances de 3 bus avec Mémoire
une architecture à 2 bus Données
DMD

11  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Chemin de données dans un DSP

Program Memory Data Bus

Data Memory Data Bus

Program Data
Memory Memory Multiplexer Multiplexer

MAC
ALU
Traitement de filtrage
En un seul cycle machine
Lecture d’un coefficient h de la PM
Accumulator
Lecture d’un échantillon x de la DM
Multiplication et accumulation

12  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


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,…

13  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


École Supérieure Privé d’Ingénierie et de
Technologies

Applications
des DSP

14  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Domaines d’application
Produits électroménagers
Cafetière, machines à laver, fours à micro-onde,…

Électronique grand public


Caméras et appareils photos numériques, décodeurs
vidé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

15  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Capacité de traitement DSP
Radio numérique

16  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Applications télécom.
LAN câblé
RNIS, xDSL (30 – 500 MIPS), ATM, IP (3000 MIPS),…

LAN sans fils


WLL (DECT: 30 MIPS), WLAN (WiFi: 30 – 1000 MIPS),
WiMax,… UWB,…

WAN
GSM (30 MIPS), UMTS (300 MIPS), MBS (3000 MIPS),…. a

Applications multimédia BTS


BTS

Communication: Visiophone, TV numérique, Web-phone, BTS


Terminal

vidéosurveillance,…
Diffusion: Audio (DAB), Vidéo (DVB),…
Manipulation: services interactifs, gestion de multiples flots
d’information (MPEG4),…

17  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Exemple: téléphone portable

18  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Position dans le marché des S.C

20  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


École Supérieure Privé d’Ingénierie et de
Technologies

Représentations et
traitement des données

21  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Représentation en virgule fixe

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 Signed P.Q (complément à 2)

Partie entière Partie Fractionnelle


2P-1 2P-2 ... 20 2-1 ... 2-(Q-1) 2-Q Unsigned P.Q

Cas d’un DSP 16 bits

Unsigned Integer 16.0 Unsigned Fractional 0.16

215 214 ... 21 20 2-1 2-2 ... 2-14 2-15

Signed Integer 16.0 Signed Fractional 1.15

-(215) 214 ... 21 20 -(20) 2-1 2-2 ... 2-14 2-15

22  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Plages de variation en format 16
bits

23  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Exemple de numérisation de
signal

24  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Arithmétique à virgule fixe
Extension de signe : Augmenter la précision sans perdre la valeur

décimal 4 bits 8 bits


0 0000 00000000
1 0001 00000001
-1 1111 11111111

Mise à l’échelle (scaling)


Overflow
faible résolution de représentation et qques bits
0011 (3 décimal) fort poids à 0
+ 0111 (7 décimal) Bits de garde
= 1010 (-6 décimal ??) Prévoir les débordements et utiliser l’extension de
signe
cas d’un signal inversion de
polarité Saturation :
au maximum négatif ou au maximum positif
Sur 16 bits : 0x7FFF ou 0x8000

25  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Multiplication à virgule fixe
X Y
01110001 01001110 Cas Integer: (8.0)*(8.0)=(16.0)
78*113= 8814 = 00100010 01101110
Aucun ajustement nécessaire. Mais signed ou unsigned ?

Cas Fractional
00100010 01101110 Règle générale : (P.Q) x (P’.Q’) => (P+P’).(Q+Q’)

Unsigned : (0.8)x(0.8)=(0.16) Signed : (1.7)x(1.7)=(2.14)

01001110=0.3046875 01001110= +0.609375


01110001=0.44140625 01110001=+0.8828125
0010001001101110=0.134490966796875 0010001001101110 =+0.26898193359375

Aucun ajustement nécessaire Décalge à gauche => (1.15)


0100010011011100=+0.5379638671875

Il faut spécifier le format pour la Multiplication: IS,IU,FS,FU

26  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Arrondissement et troncature
Unsigned Fractional Troncature
X Y 00100010 01101110 00100010
01110001 01001110 0.1328125

Arrondissement (Rounding)
00100010 xxxxxxxx

00100010 01101110 00100010


Si xxxxxxxx < (10000000 =0.5*2-8)
2-9 ... 2-16 0.1328125

0.134490966796875
00100011
Si xxxxxxxx ≥ (10000000 =0.5*2-8)
0.13671875

L’arrondissement ou la troncature peuvent être


spécifiés dans l’instruction de multiplication

27  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Représentation en virgule flottante

Virgule flottante ( floating point) : IEEE Standard 754

n bits
S C M

Simple précision : n=32 bits Double précision : n=64 bits


C sur 8 bits C sur 11 bits
M sur 23 bits M sur 52 bits

N = (-1)S * (1+M )* 2C - 127 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

28  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


École Supérieure Privé d’Ingénierie et de
Technologies

Fonctionnalités de base
des DSP

29  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


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

30  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Architecture DSP de base

31  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Adressage circulaire
Exemple du filtre
Instant n Instant n+1
y ( n)   h( k ) x ( n  k ) y (n  1)   h(k ) x(n  k  1)
N 1 N 1

k 0 k 0

h(0) h(0)
Post Modify

Wrap
h(1) around h(1)
. .
. .
. .

h(N-1) h(N-1)
. .
x(n+1) . .
. Adressage circulaire .

x(n) Wrap
x(n+1)
Décalage

. around x(n)
.
.
.
.
.

X(n-N+1) X(n-N+2)

32  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Data Address Generator (DAG)

Registres du DAG
Post Modify & Adressage circulaire

Index Modify Length Base


I0 M0 L0 B0 Z(0)

I1 M1 L1 B1 Z(1)
. . . . .
. . . .
. . . . .
.
Z(N-1)
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=0 REG=[I0+M0];

adressage non circulaire) REGz(k)

B : adresse de base du Buffer I0  I0+M0 -B0 mod (L0)

33  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Bit Reversed Adressing
A l’entrée de
En mémoire La FFT

000 x(0) F(0)


000 x(0)
001 x(1) 100 x(4) F(1)

010 x(2) 010 x(2) F(2)


110 x(6) F(3)
011 x(3)
100 x(4) 001 x(1) F(4)

101 x(5) 101 x(5) F(5)

110 x(6) 011 x(3) F(6)


111 x(7) 111 x(7) F(7)
Four 2-point Two 4-point One 8-point FFT
FFTs FFTs

Bit Reversed Adressing permet une lecture des échantillons


dans l’ordre de traitement par la FFT

34  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Unité d’exécution
Exécution séquentielle

Instr. 1 Instr. 2 Cycles

1 2 3 4 5 6 7 8 9
IF DOF EX WB IF DOF EX WB IF

2 Instructions : 8 cycles

IF Instruction fetch
DOF Decode and operand fetch
EX Execution
WB Write back

35  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Exécution en pipeline

2 Instructions : 5 cycles

Exceptions : Jump, Call, … Pipeline Update

36  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Interfaces d’entrées / sorties

Architecture à Bus indépendants Architecture à Bus commun

CPU Memory CPU


common memory
Independent & I/O bus
I/O Bus Memory bus

Interface Interface Memory Interface Interface

Peripheral Peripheral Peripheral Peripheral

Instructions dédiées I/O (in,out) Memory Mapped I/O

37  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Auto buffering

Architecture à Bus commun


Configuration de l’interface et
association d’un pointeur mémoire à
CPU
un flux d’entrée

Auto incrémentation du pointeur


à chaque acquisition
Interface Interface Memory
Buffer circulaire

Génération d’une interruption au


Peripheral Peripheral
moment du Wrap around

Acquisition se déroule en
Background ce qui libère le
Processeur

38  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Direct Memory Access: DMA
DMA setup :
 Adresse source
CPU  Adresse destination
 Sens du transfert
 Taille des données à transférer

Interface Contrôleur Memory


DMA
Launch DMA
Peripheral A la fin du transfert une interruption
est générée

Transfert se déroule en
Background ce qui libère le
Processeur

39  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


École Supérieure Privé d’Ingénierie et de
Technologies

Classification des
technologies DSP
d’Analog Devices Inc.

40  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Technologies DSP …

41  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Technologie DSP d’ADI…

Belfast, U.K.

Limerick, Ireland
Wilmington, MA
Santa Clara, CA Cambridge, MA
Norwood, MA
Greensboro, NC Taipei, Taiwan

Manila, Philippines
Cavite
, Philippines

42  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Classification des DSP 16 bits

43  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Caractéristiques - ADSP21xx

44  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Caractéristiques - ADSP218x

45  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Caractéristiques - ADSP219x

46  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


DSP 32 bits virgule flottante

47  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


DSP Tiger SHARC

48  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


DSP de la famille Blackfin

49  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


Repérage des ADSP-XXxx

50  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011


École Supérieure Privé d’Ingénierie et de
Technologies

Fin
de la 1ère partie…

51  ESPRIT, C. Rebai, N.Khouja Concepts et Pratique des DSP – Février 2011

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