2. Acquisition de données et Interfaçage
Acquisition
de données
Interfaçage
Soft
Logiciel
Hard
Matériel
Programmation E/S de données Cartes d’acquisitions
Ordinateur
Bus
•Déclaration
•Boucle (while, for)
•Tableau 1D et 2D
•Gestion d’erreurs
•Gestion des
graphiques
•Gestion de fichiers
•Assistant DAC
•Déclenchement de
mesure
•Cadencement de
mesure
•Caractéristiques
•Nombre de voies Analogiques et
Numériques
•Multiplexage des entrées
•Entrées analogiques et
numériques
•Sortie analogique et numériques
•PCI
•USB
•RS232
•VME
•PXI
5. Architecture d’ordinateur
1 : Socket ou slot du processeur
2 : Prise de l'alimentation
électrique de la carte mère
(ici du 24 broches)
3 : Prise de l'alimentation
électrique du ventilateur
du processeur
4 : voir détail sur
l'image ci-dessous
5 : Slot(s) mémoire
(ici pour DDR2-SDRAM
sur 240 broches)
6 : Port IDE
7 : Port Floppy
8 : Port PCI Express 16x
9 : Port PCI Express 1x
10 : Port PCI
11 : Pile
12 : Chipset
13 : Port Serial ATA
14 : Port USB interne
6. ■1 : Port PS/2 souris
■2 : Port PS/2 clavier
■3 : Port parallèle
■4 : Port série
■5 : Port série (sur les nouveaux modèles de carte mère, il n'existe plus qu'un seul port série)
■6 : Port Firewire (sur la carte mère présentée ici, l'emplacement est prévue, mais elle est dépourvue de ce port)
■7 : Port USB
■8 : Port LAN
■9 : Port USB
■10 : Prise Jack d'entrée de son auxiliaire
■11 : Prise Jack de sortie (pour un branchement sur haut-parleurs ou un casque)
■12 : Prise Jack d'entrée de son microphone
Architecture d’ordinateur
7. Un bus informatique
désigne l'ensemble des lignes
de communication connectant
différents composants d'un
ordinateur.
On distingue deux types de bus :
• le bus système (ou bus interne),
qui relie le microprocesseur à la
mémoire vive ;
• le bus d’extension (ou bus
d’entrées/sorties), qui relie le
microprocesseur aux connecteurs
d’entrées/sorties et aux
connecteurs d’extension.
Les bus PCI
8. Les bus PCI express
Développé par Intel, ce nouveau bus est destiné à
remplacer les bus PCI et AGP. Lors de sa sortie, le
gain de performances par rapport à l'AGP était
inexistant. C'est désormais fini aujourd'hui, les
cartes graphiques étant maintenant capables d'en
exploiter toute la bande passante. Le bus PCI
express est un bus série, chaque "X" signifie que le
bus peut transporter 250 Mo/s de données. Il existe
différentes vitesses et différents ports associés pour
le PCI express :
Le PCI Express 1X : sa bande passante est de
250 Mo/s (presque le double de celle du bus
PCI)
Le PCI Express 2X : sa bande passante est de
500 Mo/s
Le PCI Express 4X : sa bande passante est d'1
Go/s
Le PCI Express 8X : sa bande passante est de 2
Go/s
Le PCI Express 16X : sa bande passante est de
4 Go/s (le double de celle de l'AGP 8X)
Port PCI Express (de haut en bas : ×4,
×16, ×1 et ×16), comparé au traditionnel
Port PCI 32-bit (en bas)
9. Cartes d’acquisitions
• En fonction des applications auxquelles elles sont
destinées, ces cartes comportent divers accès désignés
comme entrées/sortie (E/S) selon qu’ils reçoivent de
l’information (E) ou génèrent des signaux électriques (S)
• Suivant la nature et la fonction de ces signaux on
distingue :
• Les E/S analogique, les E/S numérique
• Les E/S de comptage et base de temps (timers)
• Quand une carte possède des E/S analogiques,
numérique et des compteurs(timers), on parle de
cartes d’acquisition multifonctions
10. Entrées analogiques
Ces entrées reçoivent les signaux
issus des capteurs ou de leurs
conditionneurs associé et les délivrent
aux dispositifs de la chaine
d’acquisition organisé pour fournir la
données numérique correspondante
avec la résolution et la précision
spécifiée
Le signal issus est après
échantillonnage-blocage, converti par
un convertisseur CAN (de résolution 8,
12 ou 16 bits), la donnée numérique
pouvant être stockée dans un registre
FIFO ou une mémoire RAM
• 8 simultaneously sampled
analog inputs, 3 MS/s per
channel with warp mode
enabled (see Overview tab)
• 4 input ranges from ±1.25 to
±10 V
Deep onboard memory (16 or
32 MS)
• 8 hardware-timed digital I/O
lines; two 24-bit counters;
analog and digital triggering
• Included NI-DAQmx driver
software and LabVIEW
SignalExpress interactive data-
logging software
• Optimized integration with NI
LabVIEW, LabWindows™/CVI,
and Measurement Studio
• 16 simultaneously
sampled analog inputs at
up to 204.8 kS/s
•24-bit resolution ADCs
with 113 dB dynamic
range
•4 gain settings up to +30
dB for input ranges from
±316 mV to 10 V
•Software-configurable 4
mA IEPE and TEDS for
microphones and
accelerometers
•Variable antialiasing
filters
•AC-coupled analog
inputs at 0.5 Hz
11. Sortie analogique
Associées aux entrées analogiques, les cartes d’acquisitions disposent souvent de
sorties analogiques qui délivrent des signaux utiles ou complémentaires à la fonction
d’acquisition et qui permettent :
Soit de générer une forme d’onde (stimulus) appliquée à un dispositif à tester afin
d’étudier ses réactions sur les entrées analogiques de la carte
Soit de commander un actionneur en fonction des entrées analogiques. Il peut s’agir
par exemple d’augmenter la température d’un four lorsque la température, mesurée sur
une entrée analogique, passe sous un seuil défini.
Typiquement, une carte offre deux sorties analogiques, généralement
associées à deux CNA dont les caractéristiques métrologiques sont :
Résolution, gamme de tension ou de courant de sortie.
Slew rate, temps d’établissement.
12. E/S numériques
Regroupées en 8 ou 16, elles sont utiles pour le contrôle/commande
de processus. Leurs caractéristiques sont :
Le nombre de lignes disponibles
La vitesse d’acquisition (entrées numériques) et de génération de données
(sorties numériques)
La quantité de courant disponible sur chaque ligne
• Il faut faire appel à des accessoires de conditionnement de signaux qui
vont permettre par exemple à une carte d’acquisition de données d’ouvrir
et de fermer une vanne (100V, 2A) a partir des lignes numériques (TTL)
(de 0-5V et quelques mA)
13. E/S de comptage et base de temps (timers)
Ces E/S servent à compter on décompter des événements binaires, à synchroniser
des impulsions ou à générer des signaux carrée et des trains d’impulsions. Selon la
fonction des signaux on distingue trois type d’accès : la porte la source et la sortie.
La porte est une entrée numérique pour déclencher ou inhiber le fonctionnement du
compteur.
La source est une entrée qui fournit la base de temps du compteur.
La sortie délivre des signaux carrées et des impulsions.
Caractéristiques :
La résolution est le nombre de bits que le compteur utilise. Une haute résolution signifie
que le compteur est capable de compter un grand nombre d’événements.
La vitesse d’horloge détermine la vitesse de réaction vis-à-vis de l’entrée numérique
source. Plus la fréquence est élevée, plus le compteur peut incrémenter rapidement et
détecter des signaux de plus haute fréquence sur l’entrée et générer des signaux de
plus haute fréquence en sortie
14. Transfert sur le bus
Il existe trois mécanismes de transfert des données : les E/S
programmées, les interruptions et le Direct Access Memory (DMA).
Les E/S programmées (appelé aussi polling) : le processeur du PC est dédié à
l’acquisition de données généralement par une boucle d’attente de ces données. Cette
méthode se traduit par une grande lenteur des applications car le processeur est
complètement monopolisé durant les opération d’acquisition.
Avec le mécanisme des interruptions, le microprocesseur, exécutant une certaine
tâche, est interrompu par le programme d’acquisition pour enregistrer des données des
mesures dans une mémoire. Contrairement au polling, l’acquisition peut être
considérée comme une tâche de fond.
Le mode de transfert le plus efficace est le DMA. Il fait appelle à un circuit de contrôle
spécifique, qui lit les données d’entrée et les enregistre dans une mémoire tampon. Le
transfert en DMA est transparent pour le processeur qui peut être tout entier occuper
aux opérations d’analyse et d’affichage. C’est bien sûr le mécanisme le plus efficace
pour les applications combinant l’acquisition et le traitement d’un grand nombre de
données.
15. Carte enfichable et format de bus
L’unité centrale, la mémoire, les ports E/S de l’ordinateur, implantés sur la
carte mère, sont reliés entre eux par le bus interne.
Afin de pouvoir ajouter les fonctions supplémentaires requises par les
taches particulières à remplir (instrument de mesure par exemple), un bus
dit d’extension permet la connexion des cartes d’acquisitions à l’ordinateur.
L’évolution des unités centrales et des microprocesseurs a entraîné une
évolution simultanée des bus et par conséquence des cartes enfichables
La structure des bus est un facteur déterminant des performances d’un
système.
16. Cartes aux formats de bus anciens
Bus ISA (Industry Standard Architecture)
Bande passante 1 MHz
Les convertisseurs A/N n’ont jamais dépassés 1Méch/s
Il existe des cartes capables d’échantillonner des signaux à
plusieurs Méch/s dotées de mémoires intégrées, mais ces cartes ne
peuvent en aucun cas autoriser un traitement en temps réel de
signaux rapides.
Bus EISA (Extended ISA)
Bus amélioré
Permet d’obtenir des vitesses plus élevées
Très vite abandonné avec l’arrivée des bus
PCI
17. Cartes au format du bus PCI
PCI (Peripheral Component Interconnect)
Généralisation 1995
Le bus PCI peut théoriquement envoyer et recevoir des données sur 32 bits en mémoire avec une vitesse de 132 Mo/s.
Carte PCI maître
Pour tirer toutes les performances du bus PCI, il est obligatoire de disposer de carte capable non
seulement de de supporté le mode de transfert DMA, mais aussi de prendre le contrôle du bus comme
maître du bus.
Le processeur n’intervient que lorsque les données ont été transmises en mémoire.
Avantage : le processeur peut réaliser d’autres tâches lors du transfert de données en mémoire
ensuite effectue le traitement de ces données.
Carte PCI esclave
Le transfert de données passe vers la mémoire à travers le microprocesseur.
Le doit recourir au principe d’interruption pour assurer le transfert de de données vers la mémoire
Inconvénient : détériorer les performances globales du système d’acquisition.
18. Comparatifs
Bus PCI Bus ISA
Bus PC
Card
(PCMCIA)
Vitesse de transfert
maximale
(théorique)
132 Mo/s 8 Mo/s 20Mo/s
DMA
DMA sur carte
d’acquisition de
données, maître de bus
DMA sur la carte mère
du PC. La carte
d’acquisition de
données est esclave du
bus
DMA sur la carte
d’acquisition de
données, maître du bus
19. Boitiers externes
Lorsqu’il n’y a pas de place dans le PC et
lorsque qu’on n’a pas besoin de vitesse de
transfert de données, il existe des matériels
sous forme de boitiers relier au PC via
l’interface série (RS232 ou RS 422)
Il n’est pas bien sûr question de transferts
de données en DMA.
Les performance sont moindre, mais
suffisante pour un bon nombre
d’applications.
L’arrivée du port USB (Universal Serial Bus)
a remplacer les ports parallèles et séries.
Leurs avantages est que ce type d’interface
permet l’insertion à chaud et peut atteindre
des vitesses de transfert de 12 Mbits/s
IEEE 802.11g (Wi-Fi) wireless and
Ethernet communications
interfaces
32 single-ended or 16 differential
analog inputs
16-bit resolution; 250 kS/s
aggregate sampling rate
±200 mV, ±1 V, ±5 V, and ±10 V
programmable input ranges
Advanced security with 128-bit
AES data encryption and IEEE
802.11i (WPA2) support
16 analog inputs (16-bit), 1.25 MS/s
single-channel (1 MS/s aggregate)
2 analog outputs (16-bit, 2.8 MS/s); 24
digital I/O (8 clocked); 32-bit counters
Use mass termination version with SCC
signal conditioning
NI Signal Streaming for bidirectional
high-speed data streams over USB;
OEM version available
16 differential BNC analog
inputs (16-bit); 1.25 MS/s
single-channel (1 MS/s
aggregate)
4 BNC analog outputs (16-bit,
2.8 MS/s); 48 digital I/O (32
clocked, 8 BNC); two 32-bit
counters
Use mass termination version
with SCC signal conditioning
NI Signal Streaming for
sustained high-speed data
streams over USB; OEM
version available
102.4 kS/s simultaneously sampled on
five analog input channels
4 channels with software-selectable
IEPE signal conditioning (0 or 2.1 mA;
no IEPE on 5th channel)
24-bit resolution; 101 dB dynamic
range; antialiasing filters
Portable bus-powered device for USB
20. Logiciel pilote ou driver
Une carte d’acquisition de données est maintenant fournie avec son driver
permettant de programmer directement les registre de la carte, de gérer son
fonctionnement et son intégration au sein des ressource du PC (interruption du µP,
DMA, mémoire, …).
Le développeur doit être capable de
Acquérir les données aux fréquences d’échantillonnage spécifiées
Acquérir les données en tache de fond, laissant les opérations de traitement en tâche principale
(principe de l’acquisition de données en continu).
Supporter les mode de transfert par E/S programmées, par interruption et par DMA.
Gérer les flux de données de et vers le disque dur du PC.
Permettre la réalisation simultanée de plusieurs fonctions.
Gérer plusieurs cartes d’acquisition de données dans un même système.
Intégrer la programmation de la partie conditionnement.
Programmer les décisions d’action lors des applications de régulation.
…
21. Principe de mémoire tampon
L’acquisition de données en continu fait appel au principe de la mémoire tampon utilisée de
manière circulaire. Les opérations d’interruption ou DMA placent les données issues de
l’acquisition dans la mémoire tampon, laquelle est lue par le programme d’application pour
effectuer les opération de traitement, comme la sauvegarde sur disque dur ou le rafraîchissement
de l’affichage graphique. Quand la mémoire tampon est pleine, les opérations d’interruption ou de
DMA réinitialise la mémoire. De cette façon, l’acquisition et le traitement de données peuvent être
soutenu indéfiniment, à condition que l’application puisse capturer et traiter les données plus
rapidement que la mémoire se remplit.
Le développeur peut se contenter de manipuler le logiciel driver pour piloter sa carte. Mais pour la
plupart des applications, il est nécessaire de travailler à un niveau supérieure, avec une autre
"couche logicielle" , qui va appeler les fonctions du logiciel driver pour organiser les opérations
d’acquisition de données, mais surtout y ajouter les opérations de traitement et de présentation.
22. Langages généralistes
Bien qu’il existe de plus en plus de logiciels spécialisés, et que ces logiciels soit de
plus en plus complets, la plupart des développeurs ont toujours préféré écrire leurs
propre programme à l’aide de langage généraliste traditionnels
Le C et C++ sont les langages les plus utilisés, devant le VB , le basic, l’assembleur,
le Pascal, le Fortran, le Delphi …
Il faut bien avouer que les langages informatique de manière générale ne brillent pas
par leur facilité d’utilisation. Le développeur doit combiner la connaissance de la
mesure et de l’informatique, ce qui n’est pas souvent le cas.
Les langage traditionnels offrent une souplesse et une standardisation sans égales.
Un développeur qui se lance dans un programme d’acquisition de données peut être
sûr qu’il arrivera à ses fins. Reste à savoir dans quels délai, car un développeur doit
implanter avec ce langage de programmation, les fonctions de contrôle des
instruments, les algorithmes de traitement de signal, la création des interfaces
homme machine …
En d’autre termes, le développeur va devoir passer beaucoup de temps à l’écriture
de son programme, dans tous les compartiments : acquisition, analyse, présentation
et décision.