Vous êtes sur la page 1sur 35

Traitement du signal

Temps Réel
(DSP)
Mohamed Anouar BEN MESSAOUD

1
Plan

• Généralités sur les DSPs

• Caractéristiques des DSPs

• Architecture des DSPs

• Programmation par un DSP

• Etude des cas


2
Généralités sur
les DSPs

3
DSP: une introduction
• Quel est le contexte d’utilisation du traitement
numérique du signal (TNS) ?
• De quelles solutions dispose-t-on pour
effectuer ce travail ?
• Quelle est la spécificité d’un processeur DSP
(Digital Signal Processor) ?

4
Chaîne de Traitement Numérique

Signal original
Grandeur physique

Signal
Capteur Adaptation du Signal analogique Traité
signal d’entrée
Gain + Démodulation

Mem
fs

Filtre Filtre de
CAN DSP CNA
anti-repliement lissage

Ports Reconstruction
Echantillonage du signal
E/S
Quantification
Signal analogique
Signal numérique
5
Chaîne de Traitement Numérique (2)
Signaux analogiques
(RF, capteur physique,
Mem
microphone…)
calcul

Adapteur DSP Adapteur


Analogique / Numérique /
Numérique Analogique
Ports
Démodulation analogique E/S Modulation analogique
gain, échantillonnage, CNA, amplification…
quantification…
Calculs
numériques
Adapteur Adapteur
Numérique / Numérique /
Numérique Numérique
Traduction de protocole

Transmission depuis un module numérique :


coprocessing, acquisition (capteur CCD)
6
Applications des processeurs DSP

80,0% source : Will Strauss, Forward


Concepts,
publié dans Programmable Logic2018
60,0%

40,0%

20,0%

0,0%
Consumer
Wireless Multipurpose Wireline Computer Automotive
electronics

72,5% 8,4% 8,2% 4,7% 3,3% 2,5%

Parts de marché vente DSP programmables (2018)

Rmq: Les SoCs, et ASIC sont également très utilisés pour des
applications similaires, mais ne sont pas comptabilisés ici.
7
Applications

• Communications • Image / vidéo


– Software Defined Radio – Compression/Codage
– Sans fil (cellulaires, télévision – Composition
numérique, radio numérique)
– Filaire (DSL, cable) – Traitement
– Modem
– Cryptage • Militaire
– Imagerie
• Audio • radar, sonar…
– Mixage et édition – Cryptographie
– Effets – Guidage de missiles
– Suppression de bruit
– Navigation
– Annuleur d’echo

8
Applications

• Biomédical • Automatisation
– Equipements de monitoring – Commande de machines
• Signaux biophysiques – Contrôle de moteurs
• ElectroEncéphaloGramme – Robots Humanoïdes
(EEG)
– Servomécanismes
• ElectroCardioGramme (ECG)
– Radiographie
– Electro-GlotoGraphe (EGG) • Electronique Automobile
• Instrumentation – Contrôle du moteur
– Analyseurs de spectre – Assistance au freinage
– Générations de fonctions – Aide à la navigation
– Commandes vocales
– Analyseurs de régimes
transitoires
– Mesures séisme

9
Constructeurs de processeurs DSP

70%
Chiffres 2017
60% Source : Forward Concepts
Wireless/DSP Market Bulletin, 4 Fevrier 2017
50%
40%
30%
20%
10%
0%
Texas Analog Autres (NXP,
Freescale (Agere)
Instruments Devices NEC,
65% 12% 7% 3% 13%

Parts de marché vente DSP programmables (2017)

dspvillage.ti.com Marché de 17.8 Milliards de $ en


www.freescale.com 2017 2016-2017: +16.7%
Agere -> LSI, Infineon 2017-2018:+7% (prévision)
www.analog.com
10
Source: http://www.fwdconcepts.com/
Famille TMS320 Texas Instruments

C2000 C5000 C6000

Lowest Cost Efficiency Performance &


Control Systems Best MIPS per Best Ease-of-Use
 Motor Control Watt / Dollar / Size  Multi Channel and
 Storage  Wireless phones Multi Function App's
 Digital Ctrl Systems  Internet audio players  Comm Infrastructure
virgule fixe 16 bits  Digital still cameras  Wireless Base-stations
 Modems  DSL
 Telephony  Imaging
 VoIP  Multi-media Servers
virgule fixe 16 bits  Video

virgule fixe et flottante, 32 bits

Clients mobiles Infrastructure 11


12
Famille DSP Analog Devices

TigerSHARC : virgule flottante 24 bits, hautes performances


ADSPBFxx (Blackfin) : virgule fixe 16 bits, hautes performances
SHARC : virgule fixe ou flottante 32 bits
ADSP21xx : virgule fixe 16 bits 13
Traitement numérique vs. analogique

En quoi le passage par le numérique est-il intéressant,


même lorsque l’entrée et la sortie sont analogiques ?

Signal Circuit électronique


Signal
analogique à composants
analogique
analogiques

Signal CAN DSP CNA Signal


analogique analogique

Signal Signal
numérique numérique
14
Traitement Numérique vs. Analogique

Numérique Analogique
Fixes et connus à
Dépend de la qualité
Précision / RSB l'avance Liés à la taille
des composants
des mots mémoire
(16/24/32 bits)
Echantillonnag Bruit électromagnétique,
Sources de bruit e température,
Quantificatio humidité,
vieillissement
n
Matériel
Reconfigurabilité Changer le logiciel Calibration
nécessaire
(Arrivée récente de puces reprogrammables
incluant des composants analogiques)
Largeur de Peut travailler à très
bande Limitée par l'échantillonnage haute fréquence
utilisable
15
Un exemple: la radio logicielle
(Software Defined Radio : SDR)

• Complexité accrue des traitements sur le signal


– Modulation à large bande, multi-utilisateurs (CDMA, OFDMA…) et adaptative
– Egalisation, estimation de canal
– Codes correcteurs d’erreurs (Turbo-codes)
• Multiplicité des protocoles de communication
– Reconfigurabilité logicielle du protocole utilisé

SDR Development Platform


(www.lyrtech.com)
TMS320DM6446 SoC ARM+DSP
Virtex-4 SX35 FPGA
DAC/ADC
RF Module

16
Image: Agilent Technologie, http://www.soccentral.com/results.asp?CatID=488&EntryID=24811
Le cahier des charges
• Traitement temps réel
– Latence maximale autorisée entre l’arrivée d’une donnée et la
disponibilité du résultat du calcul correspondant.
• Débits de données important
– Signaux numériques = quantité importante de données
transmises séquentiellement
• Charge de calcul importante
– Convolution, FFT…
– Charge de calcul = Débit × Complexité du calcul
• Maîtrise de la précision des calculs

• Traitements répétitifs

17
Opérations classiques en TNS

• MAC : multiplication-accumulation
– acc ← acc + bi . xi
– Filtres à réponse impulsionelle finie (RIF):
P1

y(n)  b(i)x(n i)


i0

– Filtres à réponse impulsionelle infinie (RII):


P1 Q1
y(n)   b(i)x(n  i)   a( j) y(n  j)
i0 j1

18
Opérations classiques en TNS
• MAC
– Filtrage (convolution)
– Correlation
– Produit scalaire
• FFT
– Analyse spectrale
• DCT
– Compression d’images
• Compare Select and Store
– Algorithme de Viterbi (Com. num.)
• Génération de formes d’ondes
– Communications numériques

19
Plateformes matérielles pour le
traitement numérique du signal

20
Solutions matérielles pour le TNS
• Processeur
– Processeur d’usage général Architecture
– Microcontrôleur processeur
– DSP (Digital Signal Processor)
• Multiprocesseurs
– GPU (Graphics Processing Unit)
• Architectures reconfigurables
– FPGA (Field-Programmable Gate Array)
• Architectures figées Architecture
spécialisée
– ASSP (Application Specific Standard Product)
– ASIC (Application-Specific Integrated Circuit)

21
Exemple d'un filtre RIF y(n) 
P1

 b(i)x(n  i)
Architecture dédiée (FPGA / ASIC) i0

p
x(n)

b(0) b(1) b(2) b(3) b(4) b(5)

Architecture systolique dédiée


Traitement fortement parallèle y(n)
Efficace pour le RIF, mais peu flexible
22
Exemple d'un filtre RIF y(n) 
P1

 b(i)x(n i)
Architecture processeur i0

Mémoire CPU
E/S
unités de
x y b programme calcul
registres

Architecture de type processeur


Traitement séquentiel
Programme stocké en mémoire : facile à modifier
23
Microprocesseur d’usage général
(General Purpose Processor, GPP)

• Intel Pentium • Nombreuses fonctionnalités pas


• Motorola PowerPC, 68000 toujours utiles
• Digital Alpha Chip – Augmente le coût et la
consommation électrique
• Sun SPARC
• Gestion matérielle de la mémoire
• PXA250 (RISC) virtuelle
– Nécessaire pour l’utilisation de
• Formats de données variés systèmes d’exploitation avancés
– sur 32 ou 64 bits • Fonctionnalités dynamiques qui
• Adaptés aux langages évolués compliquent la garantie temps
réel
• Bonnes performances en calcul – Cache de données
numérique
– Instructions spécifiques (MMX,
SSE…)

• Tendance aux évolutions multi-


coeurs
24
Microcontrôleur

• Motorola 68HC11 • Peu adapté aux signaux


• Intel 8751 numériques
• MicroChip PIC16/17 – Périphériques à faible débit
– Données sur 8 ou 16 bits
• Cypress PsoC
• Faible coût • Adaptés aux tâches de
contrôle
• Faible consommation – Embarqué, temps réel
électrique – Calculs logiques

• Mémoire limitée
• Utile pour calculs peu
complexes

25
Processeur DSP

• Texas Instrument (Editeur : • Processeur


Composer studio) – Programme en mémoire
TMS320Cxxxx, – Exécution séquentielle
– Jeu d'instruction spécialisé
• Freescale 56000, 96000
• Calculs numériques
• Analog Devices (Editeur : – Addition, Multiplication
VisualDSP++)ADSPxxxx, SHARC, – Unités de calcul spécialisées
Blackfin (filtrage, FFT…)
• Entrée-sortie de données
– Grand débit
• Architecture spécialisée pour les – Périphériques intégrés
traitements numériques
– Coût, encombrement et consommation
au plus juste

26
DSP et processeur d’usage général

• Un processeur DSP est préférable pour:


– Minimiser la taille
– Minimiser la consommation
– Traitement temps-réel à grand débit
• Un processeur d’usage général est préférable pour:
– Disposer d’une grande quantité de mémoire
– Développer sous un système d’exploitation avancé
– Nécessité de mixer calcul numérique et autres tâches

27
Exemple : TMS320C6200 vs. Pentium

Processor Pea ISR P o w er U n i t Area Volum e


k la t e n c y Pric
MIP S e
P en t iu 2400 1.14 s 4.25 W $29 5.5” x 2.5” 8.789 in 3
m III
1200
C6200 1600 0.09 s 1.94 W $25 1.3” x 1.3” 0.118 in 3
200 M H z

C6200 2400 0.06 s $96 1.3” x 1.3” 0.118 in 3


300 M H z

BDTImarks: Berkeley Design Technology Inc. DSP benchmark


results (larger means better) http://www.bdti.com/bdtimark/results.htm
Source: http://www.ece.utexas.edu/~bevans/courses/ee382c/lectures/processors.html

28
Principales Caractéristiques de 3 Familles de
DSP TI
Mesures de performance des DSPs
GPU (Graphics Processing Unit)
• Nombreuses unités de calcul indépendantes en parallèle • NVIDIA
• Streaming Processor (SP) • ATI
• Texture Filtering Unit (TF)
• Programmation spécifique (CUDA, OpenCL…)
• Très efficace si GPU disponible (calcul scientifique, traitement d’image)
• Risqué (aéronautique)
SP TF

Nvidia GeForce 8800 Series GPU Block Diagram


31
FPGA (Field-Programmable Gate Array)

• Altera
• Xilinx

• Logique reconfigurable
– VHDL compilé puis chargé sur
la puce
– Facile à reconfigurer (mais
pas en cours de
fonctionnement)
• Produits récents intégrent
des blocs « DSP » Exemple d’architecture:
– Unités arithmétiques simples Altera Stratix
• Adapté si calculs fortement
parallélisables

32
ASSP (Application Specific Standard Product)

• Puce spécialisée pour une application spécifique


– Peut être programmable ou pas
Exemple: Micronas MDE9500 « Single-chip DigitalTV mixed-signal decoder »
Fonctionnalités nécessaires pour un poste de télé numérique

Décodage analogique, démultiplexage,


décryptage, décodage MPEG2, interface
vers sortie vidéo ou numérique, télétexte…

33
ASIC (Application-Specific Integrated Circuit)

• Puce conçue entièrement • Conception prend du temps


pour l'application visée – Développement d'un circuit
– Parfaitement adapté à
l’application complet en VHDL
• Meilleures performances • Cœurs licenciables
– Calcul et vitesse – Intégration d’IP
– Consommation • cœurs DSP
• Passage par un fondeur • modules d’E/S
– Coûts de développement – Permet la réutilisation de
élevés
conceptions éprouvées
– Peu flexible
– Personnalisation possible de
l’architecture

34
Compromis pour l’implantation
d’algorithmes de traitement du signal

ASIC ASSP FPGA DSP GPP GPU

Matériel dédié Matériel générique


Complexité dans le logiciel

Performance pour une application spécifique


Contraintes temps réel
Flexibilité
Contraintes de consommation Délai de mise sur le marché
Coût de développement plus faible

35

Vous aimerez peut-être aussi