évoquée dans nos colonnes.Il conviendra en
effet de veiller aux paramètres traditionnels
des cartes d’acquisition : nombre de voies,
fréquence d’échantillonnage, multiplexage
des voies, résolution numérique, mémoire
d’acquisition…
Mais l’objectif est ici, avant tout, de fournir
des éléments de réponse à celui qui serait
susceptible de se lancer dans l’intégration de
cartes intelligentes de traitement numérique
du signal. Force est de constater que pour
l’utilisateur de solutions d’acquisition de
données traditionnelles, ces cartes peuvent
paraître complexes à utiliser et surtout à pro-
grammer.
Pourquoi choisir une carte
d’acquisition intelligente ?
Les raisons sont évidemment très diverses
mais l’on peut citer quelques généralités.
Une chaîne d’acquisition traditionnelle sur
PC par exemple procède de la façon suivan-
te : restitution du signal par les capteurs ou
les sondes, conversion analogique-numé-
rique par les cartes,transfert des échantillons
via le bus PCI (ou ISA) et traitement des don-
nées par le processeur du PC.Cette façon de
procéder, notamment avec l’augmentation
des fréquences d’échantillonnage,a quelques
inconvénients qui se comprennent aisément.
D’une part,le bus interne du PC (qu’il soit de
type PCI ou autre) est un goulot d’étrangle-
ment lorsque le flux d’échantillons est trop
élevé.Le bus classique PCI 32 bits/33 MHz
par exemple ne dépasse pas les 132 Mo/s
théoriques (en pratique 80 Mo/s, voire
moins). Lorsque l’on numérise en continu
à plus de 100 Méch./s sur 14 bits (même
sur une seule voie),celui-ci ne sera pas assez
rapide. On pourra donc perdre des échan-
tillons (à plus forte raison encore, si on a
d’autres transferts sur le bus de type “son,
Internet, accès disque dur”ou autres)…
D’autre part,dans cette architecture,le pro-
cesseur du PC est utilisé pour le calcul et le
traitement des données. Or celui-ci a déjà
son “travail de processeur”à faire :les nom-
breuses tâches généralistes des applications
tournant sur le PC. Il résulte de l’ensemble
“bus de transfert, processeur PC, système
d’exploitation”une absence de déterminis-
me bien connue.
Opter pour une carte d’acquisition intelli-
gente,c’est à la fois soulager le flux d’infor-
mation vers le bus de transfert et soulager la
charge de calcul du processeur.De manière
générale, les cartes avec DSP et FPGA per-
mettent de faire un traitement ou un pré-
traitement du signal immédiatement après
la conversion analogique-numérique (FFT,
décimation,corrélation,intégration…) afin
d’envoyer vers le contrôleur une informa-
tion plus pertinente pour l’utilisateur que les
données brutes.Il faut faire le parallèle avec
les “cartes son”et les cartes graphiques des PC
bureautiques. Celles-ci soulagent le proces-
seur central en effectuant les algorithmes spé-
cifiques à l’affichage et au son.
L’implémentation de cartes intelligentes per-
met surtout de réaliser des systèmes où l’in-
formation est traitée en temps réel pendant
le cours de l’acquisition. «Celui qui n’a pas de
contraintes de temps réel n’a pas besoin de s’embarrasser
la vie avec des FPGA,ni même des DSP »,assure
Patrick Delrue,président d’Horizon Technologies,
société spécialisée dans l’acquisition de don-
nées.«Très souvent,ceux qui choisissent de telles cartes
ont besoin d’acquérir une information,de la traiter dans
le laps de temps imposé par l’application et de générer une
consigne»,poursuit M.Delrue.
Digital Signal Processor
Les DSP ou “Digital Signal Processors”sont,
comme leur nom l’indique,des processeurs
dédiés au traitement du signal.Cela signifie
qu’au lieu d’avoir un jeu d’instructions géné-
ralistes comme les processeurs classiques,ils
comportent un certain nombre d’instruc-
tions dédiées au calcul mathématique binai-
re. «Les DSP comprennent par exemple les instructions
dites “MAC”pour Multiply and Accumulate.Ces ins-
tructions permettent,en un seul cycle d’horloge,de faire une
multiplication et une addition.Un processeur classique
nécessitera deux cycles d’horloge pour faire la même opé-
ration»,explique Hervé Brouchery,ingénieur
système chez Texas Instruments.
Les DSP se programment en langage C/C++
ou en assembleur, plus proche du langage
machine. Le langage C/C++ sera ensuite
compilé afin d’être compréhensible par le
processeur.«La majeure partie de la programmation
peut être effectué en C ou en C++ mais pour disposer d’un
code optimisé,il faut parfois coder certaines parties en
assembleur»,précise M.Brouchery.
Le marché du DSP est phagocyté par les deux
poids lourds que sont Texas Instruments avec sa
gamme de DSP C6X et Analog Devices avec la
famille Sharc. On trouvera ensuite Motorola
avec les familles G4 et G5 à cheval entre le
DSP et le processeur RISC. Les deux grands du
domaine proposent tous deux des environ-
nements de développement intégrés (IDE,
Integrated Development Environnement)
dédiés à la programmation des DSP : Code
Composer Studio pour Texas Instruments et
VisualDSP++ pour Analog Devices.
Ces environnements de programmation
comprennent des compilateurs C et C++
spécifiques aux instructions des familles de
DSP.Ils intègrent également des simulateurs
permettant de programmer et de déboguer
sans la présence physique du DSP,des ému-
lateurs permettant de télécharger le code
compilé sur le DSP et de déboguer sur le
matériel, des profilers pour la caractérisa-
tion des temps d’exécution du code. Sans
oublier les nombreuses bibliothèques de
fonctions déjà écrites… Ces environnements
ne sont pas fournis avec les cartes et l’on doit
se les procurer chez le fournisseur du DSP.
Les critères de choix d’un DSP sont similaires
à celui d’un processeur :en premier lieu,on
trouve la fréquence d’horloge du processeur
et le nombre de bits des données (en majo-
rité sur 16 bits ou 32 bits).Toutefois,com-
me pour les processeurs conventionnels, il
ne faut pas prendre au pied de la lettre ces
caractéristiques : un DSP moins performant
57
MESURES 763 - MARS 2004
G
uide d’achat
Les modules au format
PMC (PCI Mezzanine
Card) avec CAN et FPGA
intégrés sont très appréciés
puisqu’ils peuvent se gref-
fer à la fois sur des cartes
VME et sur des cartes
cPCI.
Il existe désormais des cartes avec
DSP intégrés au format PXI/cPCI
3U.Cette carte distribuée par Acqui-
sys en France dispose de drivers origi-
naux pour Linux,RT Linux et QNX.
Pentek
UEI