P1PY7204 Acquisition de données Cours
|
|
|
- Bernadette Marier
- il y a 10 ans
- Total affichages :
Transcription
1 ANNEE Semestre d Automne 2012 Master de Sciences, Technologies, Santé Mention Physique- Spécialité Instrumentation P1PY7204 Acquisition de données Cours Denis Dumora [email protected] Version 6.0 : 11 septembre 2012
2 2
3 Objectifs du cours L objectif de ce cours d option de Master 1 est d apporter à des étudiants en physique souhaitant se diriger vers un Master professionnel ou s intéressant à l expérimentation en physique les notions nécessaires à la mise en oeuvre des systèmes d acquisition de données. Le traitement théorique de l information physique transformée en information numérique ne sera pas abordé de manière exhaustive et formelle, le cours s attachant surtout à présenter certains aspects pratiques de l acquisition de données. Ce cours/td intégré s articule autour de deux grandes parties, la transformation de la donnée physique en information numérique du point de vue de l électronique d une part et l aspect informatique d autre part. La première partie est abordée au travers de trois thèmes, le premier en guise d introduction met en place un certain nombre de définitions et fait surtout le point sur ce qu impose le concept d acquisition de données. Le second thème s attache à détailler le processus de transformation de la grandeur physique à la donnée numérique en donnant en exemple un certain nombre de dispositifs électroniques utilisés. Le troisième thème aborde enfin des aspects un peu plus pratiques mettant en évidence les contraintes et les limitations des dispositifs précédemment décrits. La seconde partie est consacrée à l apprentissage des principes de programmation d une acquisition de données à travers le logiciel LabVIEW R.Oninsisterasurlesspécificitésd unetelleprogrammationenparticulieren terme de déroulement du programme. Ces différents thèmes trouveront leur application dans des travaux pratiques qui suivront l approche du cours avec une partie plutôt électronique et une partie plutôt axée sur la programmation LabVIEW R. En résumé L objectif du cours est l étude du processus d acquisition de données. L approche choisie est résolument pratique, l objectif final étant : 1. De comprendre raisonnablement les concepts théoriques. 2. D acquérir une maîtrise de l approche logicielle. 3. D être capable de mettre en pratique, les deux premières parties dans la réalisation pratique de montages faisant appel à un système d acquisition de données. 3
4
5 Table des matières Fiche d UE 12 I De la grandeur Physique à la donnée informatique 15 1 Acquisition de données Introduction Qu est ce qu une acquisition de données Exemple d un système d acquisition autonome Un autre exemple plus près de la physique : Les éléments d une acquisition de données informatique En résumé Partie matérielle Partie logicielle La tâche à réaliser Grandeurs Physiques Continuité dans le temps Grandeurs analogiques Quantité d information Données informatiques Rappels sur les signaux Classification Retour sur les outils Transformée de Fourier Energie d un signal Classification énergétique des signaux Outils d étude des signaux échantillonés Codage des grandeurs physiques Introduction Echantillonnage Modélisation d un échantillonneur idéal Un peu d analyse spectrale
6 TABLE DES MATIÈRES TABLE DES MATIÈRES Transformée de Fourier d un peigne de Dirac Conséquences sur l échantillonnage Spectres Conséquences pour la reconstruction du signal Que se passe-t-il si f e < 2F? Conversion du signal Principe Retour sur le codage - notion de MSB, LSB Quelques convertisseurs Analogique Numérique CAN à rampe Convertisseur à approximations successives Flash ADC La voie indirecte - VCO Numérique )Analogique Principe Caractéristiques d un codeur Numérique Analogique Principe de fonctionnement Convertisseur Numérique Analogique à résistances pondérées Aspects plus réalistes Convertisseur Numérique Analogique à réseau en échelle Commutation en tension Commutation en courant Résumé Vers les systèmes réels Introduction Echantillonneur-Bloqueur Pourquoi a-t-on besoin d un échantillonneur-bloqueur? Quand a-t-on besoin d un Echantillonneur-Bloqueur? Principe Cas réel Vers un modèle réaliste Erreurs dûes à l Echantillonneur-Bloqueur Echantillonnage Transition Echantillonnage vers Blocage Blocage Transition Blocage vers Echantillonnage Au final Quelques valeurs caractéristiques Bruits et Erreurs de codage
7 TABLE DES MATIÈRES TABLE DES MATIÈRES Retour sur la quantification Bruit de Quantification Caractéristiques quantification linéaire Quantification non linéaire Retour sur le rapport Signal Bruit Erreurs des convertisseurs Erreurs Statiques Erreur d offset Erreur de gain Erreur de linéarité différentielle (ou DNL) Erreur de linéarité intégrale (INL) Erreur de monotonicité Compensation des erreurs Erreurs dynamiques Erreur d hystérésis Glitch Retour sur le codage Principe de codage Codage unipolaire Binaire naturel DCB (Décimal Codé en Binaire) Résumé Codage bipolaire Code amplitude de signe Code binaire décalé Code complément à deux Code complément à Résumé Retour sur les Glitches Analogique vs Numérique Communiquer les données Introduction Eléments de communication Définition d un langage commun pour la communication Les contraintes sur le matériel Les contraintes sur les informations communes Définition d un lieu pour dialoguer Configuration
8 TABLE DES MATIÈRES TABLE DES MATIÈRES 4.3 Interfaçage d instruments Eléments à mettre en œuvre La liaison RS Caractéristiques Description de la communication RS232 en résumé Dialoguer en RS Remarques sur le dialogue RS232 avec un instrument GPIB (IEE-488) Conclusion L approche logicielle Introduction Description d une carte d acquisition NI-PCI6221M Description Lecture des caractéristiques Le logiciel d acquisition de données Ecriture du logiciel d acquisition de données dans un langage classique (C, fortran, C++, Visual Basic...) Exécution parallèle Exécution parallèle et langages classiques II Introduction à LabVIEW R 70 6 Premiers pas en LabVIEW R Introduction Objectifs Qu est ce que LabVIEW R? Programme LabVIEW R Instruments Virtuels (VI) L environnement LabVIEW R La Face Avant Le Diagramme Terminaux Nœuds Structures Fils Les Outils Barres d outils de la face avant et du diagramme La palette de commandes
9 TABLE DES MATIÈRES TABLE DES MATIÈRES La palette de fonctions La palette d outils La fenêtre d aide contextuelle <Ctrl+H> Le clic droit Créer un VI Démarrage de LabVIEW R Méthodologie Construction de la face avant Mise en forme de la face avant - retour sur les objets de LabVIEW R Construction du diagramme Exécution du VI Entrer les paramètres Exécution Exécution continue Exécution des VIs Mise au point du code Structures Structures conditionnelles If... Else Case Boucles While For Comportement des boucles en LabVIEW R Séquences Boîtes de calcul sous-vis Un VI plus complexe Analyse et Ecriture du code Création d un sous-vi Modification d un sous-vi Inclure unsous-vi dans un programme Conclusion Acquisitions Introduction Configurer la carte avec MAX R Accéder au matériel - Contrôle d instruments GPIB Communication série, RS232, USB,
10 TABLE DES MATIÈRES TABLE DES MATIÈRES Paramètrages Matériel VISA R Les cartes d acquisition DAQ Ecrire un VI d acquisition - programmation par l exemple Windows n est pas un système temps réel... et ça complique un peu les choses NI-DAQ, NI-DAQmx les drivers National Instrument L assistant DAQ Acquérir des signaux analogiques Acquérir des signaux numériques Produire des signaux analogiques Produire des signaux numériques VIs d acquisition Entrées analogiques Sorties analogiques Entrées/Sorties Numériques - Compteurs/Timers Déclenchement Conclusion
11
12 Libellé de l'ue : Acquisition et Projets Libellé court : Acquisition et Projets Code ue Apogée: P1PY7204 Niveau : M1 Période :Semestre d'automne ECTS :6 Responsable : Philippe BARBERET Composante : UFR DE PHYSIQUE Discipline : Physique Public concerné : Pré-requis recommandés : Formation initiale Cours d'informatique et programmation de licence ou équivalent, cours d'électronique de licence ou équivalent Objectifs pédagogiques : Permettre à l'étudiant de Master de comprendre les différents points critiques du processus d'acquisition de données, en insistant plus particulièrement sur la transformation du signal physique et données informatiques et sur l'interfaçage système physique-ordinateur. Initiation aux projets Compétences acquises : Bases de la programmation LabView, compréhension de la problématique liée à l'acquisition de données Programme - descriptif :
13 I-L'ACQUISITION DE DONNEES I- 1 Introduction à l'acquisition de données: Définitions : qu'est ce qu'une acquisition de données. Les caractéristiques fondamentales des grandeurs mises en oeuvre. L'ordinateur comme exemple de système d'acquisition. I- 2 De la grandeur Physique à la donnée informatique : Notions d'échantillonnage. Notions de numérisation. Conversion Numérique-Analogique. Conversion Analogique-Numérique. Montages électroniques. Etude des principales caractéristiques d'un CNA, CAN. I- 3 Aspects pratiques de l'acquisition de données : Déclenchement. Limitations. Bruits. I- 4 Interfaçage avec l'utilisateur (introduction à l'écriture de codes d'acquisition de données) : Principes de base. Montages. Prise en main du logiciel. Principaux paramètres. Premières applications. simples. Notion de processus parallèles. I- 5 Application à l'acquisition de données : La carte d'acquisition. Signaux analogiques. Signaux digitaux. Production de signaux Acquisition de signaux Traitement des données Montages. Exploration des limitations du système d'acquisition. Pilotage et acquisition des signaux d'un CAN et CNA. II PROJETS D'INSTRUMENTATION Projets d'instrumentation en matière de capteurs physique, de détecteurs, de chaîne laser, de chaîne d'acquisition de données. Les projets sont en lien étroit avec le projet professionnel de l'étudiant et peuvent permettre de l'affiner, parfois dans l'objectif de mieux préparer un stage industriel. Dans le cadre des projets, l'étudiant est amené à étudier, développer et tester un dispositif expérimental complet. Ce travail, réalisé en groupe, permet également de confronter l'étudiant à la gestion de projet au sein d'une équipe. Bibliographie : Volume des enseignements : Nombre d'heures en présentiel Cours Magistraux (CM) 0.00 Travaux Dirigés (TD) 0.00 Travaux Pratiques (TP) Cours Intégrés (CI) Travaux Dirigés sur machine (TDM) 0.00 Accompagnement Répartitions des enseignements : Semaines Durée
14 CM 00h00 TD 00h00 TP X X X X X X X X 03h00 CI X XX XX X X 02h00 TDM 00h00 DS 00h00 Mode d'évaluation : Modalités de contrôle des connaissances Epreuves 1ère session Type d'évaluation Détails éventuels Durées Coefficients TP - Epreuve terminale 01h30 0,25 Examen écrit 01h30 0,25 Soutenance 00h h00 00h00 00h00 00h00 00h00 00h00 Epreuves 2ème session (éventuellement) Type d'évaluation Détails éventuels Durées Coefficients Examen écrit ou oral (selon l'effectif) 01h30 Informations complémentaires sur les MCC : 00h00 00h00 00h00 00h00 00h00 00h00 00h00 00h00 Forme d'enseignement : Enseignement présentiel Site de formation : Université Bordeaux 1 (Talence) Langue d'enseignement : Français
15 Première partie De la grandeur Physique à la donnée informatique 15
16 Thème 1 Acquisition de données Sommaire 1.1 Introduction Qu est ce qu une acquisition de données Exemple d un système d acquisition autonome Un autre exemple plus près de la physique : Les éléments d une acquisition de données informatique En résumé La tâche à réaliser Grandeurs Physiques Continuité dans le temps Grandeurs analogiques Quantité d information Données informatiques Rappels sur les signaux Classification Retour sur les outils Introduction Ce chapitre va s attacher à présenter la problématique de l acquisition de données physiques par l étude des différences fondamentales entre les grandeurs physiques et la représentation de celle-ci que peut traiter un ordinateur. Le cheminement pour transformer la mesure de la grandeur physique en donnée informatique fera l objet de la seconde partie de ce chapitre, illustré par un exemple de système d acquisition de données très courant, l ordinateur personnel. 1.2 Qu est ce qu une acquisition de données Une définition assez générale d une acquisition de données est l ensemble des dispositifs permettant de transformer l information contenue dans une grandeur physique en une information exploitable par l observateur. Un système d acquisition de données doit donc être non seulement capable de faire la mesure ou plutôt l ensemble des mesures, et de rendre l information contenue dans celle-ci disponible pour une exploitation immédiate ou future. Celà suppose donc que la mesure traduise fidèlement la grandeur physique, que sa représentation conserve elle aussi cette information et enfin que cette dernière puisse être éventuellement sauvegardée sur un support perenne en vue d une analyse ultérieure. 16
17 THÈME 1. ACQUISITION DE DONNÉES 1.2. QU EST CE QU UNE ACQUISITION DE DONNÉES Exemple d un système d acquisition autonome L archéologue... (Jean Philippe Lauer) Ce système très performant regroupe chacune des caractéristiques décrites dans la définition de la section précédente,... Il a fait ses preuves jusqu au milieu du siècle dernier. Donnée Physique Système d acquisition Information exploitable capteur codeur système de sauvegarde Un cartouche à Saqqarah œil cerveau main Une représentation de cartouche dans un ouvrage sur l Ancien Empire Fréquence d acquisition Quelques acquisitions par semaine (au mieux). Nombre de voies d acquisition 1 Volume de données Un cahier par mois. Consommation 2500kCal/jour (en trois repas) Cycle utile < 50% (12h par jour) 17
18 THÈME 1. ACQUISITION DE DONNÉES QU EST CE QU UNE ACQUISITION DE DONNÉES Un autre exemple plus près de la physique : Donnée Physique Système d acquisition détecteur / codeur Information exploitable contrôle / pilotage contrôle / sauvegarde Salle d acquisition niveau 1 Salle d acquisition niveau 2 p p un évènement p p Détecteur ATLAS sur LHC Un évènement à l écran Fréquence d acquisition Un évènement toutes les 25ns. Puis réduction en ligne par l électronique. Traitement On-Line Niveau 1 Niveau 2 Niveau 3 Entrée (evts/s) Sortie (evts/s) facteur de réduction Nombre de voies d acquisition ' centaine de millions Volume de données 320M o/s pour les données brutes (27CDs par minute) 3200T o/an pour les données brutes, 2000T o/an de données reconstruites. Consommation par voie, beaucoup moins que le dispositif précédent... Cycle utile 30% sur un an Les éléments d une acquisition de données informatique Principe d une acquisition de données du type de celle mise en œuvre dans les travaux pratiques associés à ce cours (dispositif intermédiaire entre les deux exemples précédents) capteur interface matérielle A l extérieur de l ordinateur Système d acquisition de données carte d acquisition de données Ordinateur Dans l ordinateur start O rdinateur horloge + - & ei RAZ compteur A0 A1 A2 A3 CNA transforme la grandeur physique en signal électrique Code le signal électrique en donnée numérique Sauvegarde les données numériques Exploite les données sauvegardées Génère des signaux pour piloter le dispositif d acquisition Pilote la carte d acquisition Commande de l acquisition En résumé Un système d acquisition de données informatisé complet est constitué à la fois d une partie matérielle et d une partie logicielle 18
19 THÈME 1. ACQUISITION DE DONNÉES 1.3. LA TÂCHE À RÉALISER Partie matérielle Capteur transforme le signal physique en signal électrique (le plus souvent). Codeur transforme le signal provenant du capteur en donnée numérique exploitable par l observateur Stockage permet de traiter les données numériques a posteriori. Permet donc de s affranchir de la durée et de l instant où se produit l évènement physique Remarque : Dans la plupart des systèmes d acquisition de données, il faut insérer entre le capteur et le codeur, une logique de décision qui ne déclenche le codage que si l on a affaire à un bon évènement. Une section du cours sera consacrée à ce type de dispositif et en décrira tout l intérêt Partie logicielle Contrôle gére le paramétrage, le démarrage et l arrêt de l acquisition de donnée. Acquisition gère le processus de transfert de l information codée dans la carte d acquisition vers l ordinateur. Sauvegarde gère le processus de transfert des données numériques sur un support perenne (mémoire, disque dur, bande...).... Visualisation permet à l observateur de vérifier le bon fonctionnement du processus d acquisition Analyse en ligne permet d obtenir une première estimation des grandeurs physiques et donc de la même façon de contrôler le fonctionnement du processus d acquisition. Remarque 1 : Les deux derniers points ne sont pas indispensables au fonctionnement de l acquisition de données, ils permettent cependant de ne pas faire une acquisition de données en aveugle. En général, seule une partie des évènements est traitée par ces processus en ligne a seule fin de contrôle du bon déroulement de l acquisition. Remarque 2 : L analyse à proprement parler se fait off-line c est à dire a posteriori, et c est d ailleurs tout l intérêt d une acquisition de données de s affranchir de la durée et de la fréquence propre du phénomène à étudier. On peut imaginer un traitement de plusieurs heures pour un phénomène d une durée d une fraction de ns, ce qui est le quotidien des physiciens des particules. 1.3 La tâche à réaliser La tâche à réaliser par le système d acquisition de données tel qu il sera étudié dans ce cours est donc la transformation de la grandeur physique en donnée informatique. La partie du travail dévolue au capteur fera l objet d un cours au second semestre, le présent cours s attache donc à étudier la transformation d un signal électrique en sortie d un capteur quelconque en donnée informatique. Afin de comprendre le rôle du dispositif d acquisition, il est necessaire de revenir sur la définition et les caractéristiques des différents signaux intervenant dans le processus. 1.4 Grandeurs Physiques De manière générale, la caractéristique commune à la plupart des grandeurs physique est leur continuité Continuité dans le temps L utilisation d un système d acquisition par un physicien est la plupart du temps motivée par la nécessité pour l expérimentateur de suivre l évolution du système physique étudié au cours du temps. Les grandeurs physiques étudiées sont en général des fonctions du temps (même si ce n est pas cette caractéristique que l on exploite), le temps étant pris à chaque instant. Entre deux dates données, la grandeur physique à mesurer est définie à chaque instant. 19
20 THÈME 1. ACQUISITION DE DONNÉES 1.5. DONNÉES INFORMATIQUES Grandeurs analogiques Un grand nombre de grandeurs physiques étudiées peuvent prendre un nombre infini de valeurs entre deux bornes données, on dit alors qu elles sont analogiques. Par exemple, la tension aux bornes d un condensateur lors de l étude de la décharge de celui-ci à travers une bobine, est telle qu elle prend à chaque instant une valeur différente entre E et 0. Elle prend donc une infinité de valeurs différentes durant une durée donnée Quantité d information La continuité, dans le temps et dans le nombre de valeurs qu elle peut prendre, implique dans le cas où l on àaffaireàunsignalquelconquelanécessitéd unequantitéd informationinfinieafindedécrirelagrandeur physique considérée. Remarque : L étude de phénomènes physiques ne pouvant prendre qu un nombre fini de valeurs différentes ne modifie en rien la nécessité d une quantité d information infinie pour les décrire du fait de leur continuité dans le temps. 1.5 Données informatiques La quantité d informations stockée dans un ordinateur est limitée par l espace mémoire dont celui-ci dispose, un ordinateur est donc un dispositif électronique traitant des volumes finis de données numériques, c est à dire des données ne pouvant prendre qu un nombre fini de valeurs différentes. Chaque valeur est codée par une succession de 0 et de 1 sous forme d un nombre binaire qui correspond pour l électronique à une succession d états hauts et d états bas d une tension de référence ( V =0V ou V = V ref ). Le nombre de valeurs différentes codables dépend de la profondeur de codage c est à dire du nombre de bits (unité binaire pouvant prendre pour valeur 0 ou 1) utiliséspourcoderlesvaleurs.uncodagesurn bits permet de coder 2 n valeurs différentes. Pour un ordinateur l unité de codage est l octet 8 bits ou le mot 16, 32 ou 64 bits (2, 4 ou 8 octets), nous verrons que ces valeurs universelles ne le sont pas pour les systèmes d acquisition de données, puisqu il est fréquent de trouver des codeurs sur 10, 12 ou 16 bits voire même 11 ou 13 dans certains matériels!!! La représentation d un signal en sortie d un système d acquisition de données sera donc un tableau de nombres binaires codés sur n bits (n étant la profondeur de codage). 1.6 Rappels sur les signaux Le rôle d une acquisition de données va donc être de transcrire l information contenue dans la grandeur physique dans les données informatiques. Pour celà, il est bon de s intéresser aux caractéristiques des signaux et à la façon de les traiter. Cette section se propose donc de revenir de façon légère sur les outils d étude des signaux Classification De manière générale, il est possible de classer les signaux dans les quatre catégories suivantes : signaux continus en temps et en amplitude x (t) ceux produits par les processus physiques. appelés aussi signaux analogiques. Ce sont généralement signaux discrets en temps et continus en amplitude x e (t = nt e ) ces signaux sont dits échantillonnés. Ils ne sont définis qu à des instants donnés multiples d une période T e appelée période d échantillonnage. En revanche, leur amplitude peut varier continument. 20
21 THÈME 1. ACQUISITION DE DONNÉES 1.6. RAPPELS SUR LES SIGNAUX signaux discrets en temps et discrets en amplitude x q [n] ces signaux sont dits numériques. Ils ne sont définis qu aux instants d échantillonnage et leur amplitude ne peut prendre qu un nombre fini de valeurs multiples du pas de quantification. Ce type de signaux est celui délivré en sortie d un convertisseur analogique numérique (CAN). C est ce type de signaux que l on aura en fin de processus d une acquisition de données. signaux continus en temps et discrets en amplitude x q (t) ces signaux quantifiés dont la valeur est maintenue constante entre deux périodes d échantillonnage, sont du type de ceux produits par un convertisseur numérique analogique (CNA). x(t) continu Temps x e(t=nt e) discret Amplitude continu t t x (t) q signal analogique signal physique x [n] q signal échantillonné Amplitude discret t n signal numérique maintenu signal numérique donnée informatique Retour sur les outils... Un même signal peut être représenté de deux manières différentes suivant que l on se place dans le domaine temporel ou le domaine fréquentiel Transformée de Fourier Comme écrit précédemment, un signal physique peut être en général caractérisé par sa continuité dans le temps et sa continuité en amplitude. L outil permettant de mettre en évidence ses propriétés dans le domaine des fréquences est la transformée de Fourier (série de Fourier si le signal est périodique). Un signal analogique quelconque continu dans le temps aura, à condition que sa transformée de Fourier existe, comme représentation dans le domaine fréquentiel un spectre continu de fréquences dont l amplitude est caractéristique du signal. A cette densité spectrale d amplitude,, il faut ajouter une densité spetrale de phase pour avoir l information complète sur le signal dans le domaine fréquentiel. Cette densité spectrale d amplitude est par définition la transformée de Fourier du signal analogique considéré X ( f) = ˆ +1 1 x (t)exp( 2 ft) dt 21
22 THÈME 1. ACQUISITION DE DONNÉES 1.6. RAPPELS SUR LES SIGNAUX On considère de la même façon la transformée de Fourier inverse x (t) = ˆ +1 1 X ( f)exp( 2 ft) df Dans le cas où la fonction x (t) ne possède pas de symétrie particulière sa densité spectrale d amplitude est une fonction complexe, ce que l on écrit x (t)! X ( f) =X r (f)+ X i (f) Les densités spectrales du module et de la phase sont alors données par : X ( f) X (f) = q X 2 r (f)+ X 2 i (f) (f) = arctan X i (f) X r (t) Energie d un signal Lorsqu un signal est de durée finie (signal non permanent), on définit l énergie du signal, les propriétés de la transformée de Fourier permettent d écrire cette énergie aussi bien dans le domaine temporel que dans le domaine fréquentiel W = W = ˆ +1 ˆ x 2 (t) dt X ( f) 2 Cette double écriture est connue sous le nom de théorème de Parseval. L expression de l énergie conduit à définir la densité spectrale d énergie du signal S x (f) df S x (f) X ( f) 2 = X ( f).x ( f) Classification énergétique des signaux Le calcul de l énergie du signal permet de définir une autre classification des signaux : Si l énergie du signal W x = +1 1 x2 (t) dt < 1 on a affaire à un signal à énergie finie On classe parmi ces signaux tous les signaux non permanents dans le temps. Si au contraire W x! 1 on a affaire à un signal à énergie infinie C est bien évidemment le cas des signaux permanents. Le calcul de l énergie n est donc pas pertinent pour caractériser les signaux permanents. La grandeur à calculer est alors la puissance moyenne P x d un signal x (t). P x 1 lim T!1 T ˆ T 2 T 2 x 2 (t) dt X 2 eff On définira les signaux en fonction des valeurs de P x. Si la puissance moyenne du signal P x < 1,onaaffaireàunsignalàpuissancefinie c est le cas de tous les signaux périodiques, quasi-périodique et aléatoires permanents. Certain signaux non physiques sont tels que P x! 1 exemple x (t) =e t pour 1 <t<1 22
23 THÈME 1. ACQUISITION DE DONNÉES 1.6. RAPPELS SUR LES SIGNAUX Outils d étude des signaux échantillonés La transformée de Fourier telle que présentée précedemment permet l étude des signaux continus, l étude spectrale des signaux numériques doit être elle menée en utilisant la transformée de Fourier discrète (TFD). Il faudra donc modifier l analyse en fonction des trois opérations menées lors de la numérisation Le signal est échantillonné temporellement. La durée d analyse est limitée dans le temps. Les fréquences sont discrètes dans l analyse spectrale numérique. Ces trois différences entre le signal physique analogique et sa représentation numérique sont loin d être minimes du point de vue de l étude spectrale des signaux. Chacune des conséquences des opérations d échantillonnage et de numérisation sur le signal fera l objet du début du chapitre suivant. 23
24 Thème 2 Codage des grandeurs physiques Sommaire 2.1 Introduction Echantillonnage Modélisation d un échantillonneur idéal Un peu d analyse spectrale Conséquences sur l échantillonnage Conversion du signal Principe Quelques convertisseurs Analogique Numérique Numérique )Analogique Principe Caractéristiques d un codeur Numérique Analogique Principe de fonctionnement Résumé Introduction Le chapitre 1 a permis d introduire les notions essentielles intervenant dans les problèmes liès à l acquisition de données, ce chapitre va être consacré à la transformation de l information contenue dans la grandeur physique mesurée à une information codée sous forme de donnée informatique. En clair, ce chapitre va aborder les processus mis en œuvre pour passer d une grandeur analogique continue dans le temps à une grandeur numérique échantillonnée. Les mots clés de ce chapitre seront donc échantillonnage, Conversion Analogique Numérique, Conversion Numérique Analogique, quelques notions d analyse de Fourier seront aussi nécessaires pour modéliser le problème. 2.2 Echantillonnage Nous avons vu dans le premier chapitre que la première étape de la transformation d un signal physique en données informatiques est l échantillonnage du signal, c est à dire la transformation d un signal défini à chaque instant en un signal connu qu à un nombre fini d instants. Dans cette section, on se propose d étudier le spectre des signaux échantillonnés et la reconstruction analogique des signaux échantillonnés. Dans un premier temps, nous ne regarderons que les aspects traitement du signal de l échantillonnage. 24
25 THÈME 2. CODAGE DES GRANDEURS PHYSIQUES 2.2. ECHANTILLONNAGE Modélisation d un échantillonneur idéal De manière très générale, un échantillonneur idéal peut être schématisé par : e(t) e i(nt e) δ Te (t) Le signal échantillonné peut être vu comme le produit du signal physique par un peigne de distribution de Dirac (chaque pic de Dirac étant espacé de son voisin de T e,lapérioded échantillonnagedusignal). e i (t) =e (t). Te (t) = +1X n= 1 e (t). (t nt e ) Effectuer un échantillonnage sur un signal continu e (t), c estàdiredupointdevuemathématiquefabriquer un nouveau signal e i (t) nul partout sauf aux instants d échantillonnage T e, 2T e,...,nt e,...oùe i (t) prend respectivement les valeurs e (T e ), e (2T e ),...,e (nt e ), Un peu d analyse spectrale La distribution peigne de Dirac et la transformée de Fourier sont les outils mathématiques parfaitement adaptés pour traiter le problème d échantillonnage. Compte tenu de leurs difficultés respectives, nous ferons une approche un peu moins rigoureuse maus aussi proche que possible de la réalité Transformée de Fourier d un peigne de Dirac On a écrit le peigne de Dirac Te (t) = P +1 n= 1 (t nt e)= P +1 n= 1 t n f e La transformée de Fourier d une fonction peigne est une fonction peigne, de poids f e = 1 T e n P+1 o P n +1 F{ Te (t)} = F n= 1 t f e = f e fe (f) =f e k= 1 (f kf e) La transformée de Fourier du signal échantillonné s écrit alors E e (f) =E (f) f e fe (f) =f e +1 X n= 1 E (f kf e ) Un échantillonnage en temps implique donc une périodicité en fréquence. 25
26 THÈME 2. CODAGE DES GRANDEURS PHYSIQUES 2.2. ECHANTILLONNAGE Transformée de Fourier d un peigne de Dirac T e est périodique, elle est donc développable en série de Fourier rappel : si f (x) est périodique alors on a f (x) = P +1 n= 1 ne n2 f0x Ici, on a Te (t) = P +1 n= 1 (t nt e)= P +1 n= 1 ne n!0t avec! 0 = 2 T e Les coefficients de Fourier sont données par n = 1 T e Te 2 Te 2 T e (t) e n!0t dt = 1 T e P +1 n= 1 ˆ Te 2 (t nt e ) e n!0t dt Te 2 {z } nul sauf pour n=0 (les autres (t nt e ) sont nuls sur l intervalle ) T e 2, Te 2 ) n = 1 Te 2 T e (t) e!0t dt = 1 Te T e 2 On a alors Te (t) = 1 P +1 T e n= 1 e n!0t = 1 P +1 T e n= 1 e n2 f0t = 1 P T e n= 1 1 (f nf 0) e 2 ft df Le passage au dernier terme de l égalité vient de la propriété de la distribution de Dirac +1 1 x (t) (t t 0) dt = x (t 0 ) On reconnaît dans la dernière expression trouvée pour Te (t), l écritured unetransforméedefourierinverse.la transformée de Fourier d un peigne de Dirac est donc un peigne de Dirac, son poids est 1 T e = f e et sa fréquence 1 T e = f e également. F ( +1 X n= 1 (t nt e ) ) = 1 T e +1 X n= 1 f n T e F{ Te (t)} = f e fe (f) Conséquences sur l échantillonnage Spectres Spectre de l échantillonneur f -3f e -2f e -f e 0 f e 2f e 3f e Spectre du signal Physique e(f) Spectre du signal échantillonné f -f N 0 f N e (f) N f -3f e -2fe-fN -2f e -fe-fn -f e -f N 0 f N f e f e+fn 2f e 2f e+fn 3f e f N est appelée fréquence de Nyquist f N = fe 2 = 1 2T e Conséquences pour la reconstruction du signal Si la fréquence d échantillonnage n est pas au moins 2 fois supérieure à la fréquence maximale du signal échantillonné, il y a alors perte de l information (les différentes répétitions du signal se mélangent (dans le domaine 26
27 THÈME 2. CODAGE DES GRANDEURS PHYSIQUES 2.2. ECHANTILLONNAGE des fréquences), on ne peut plus les extraire avec un filtre. Théorème de Shannon Un signal analogique x (t) ayant une largeur de bande finie limitée à 2F Hzne peut être reconstruite exactement àpartirdeseséchantillonsx (n t) que si ceux-ci ont été prélevés avec une période T e = 1 f e apple 1 2F. x(t) X(f) t f -f N -F 0 F f N Que se passe-t-il si f e < 2F? Exemple considérons une sinusoïde cos (2 f 0 t) Le théorème de Shanon impose une fréquence d échantillonnage minimale de deux échantillons par période ) T e = 1 2f 0. Soit f e une fréquence d échantillonnage si 2f 0 >f e écrivons, f 0 = fe 2 + f ( f>0) La séquence des échantillons est alors assimilée à une suite de fréquences f alias telle que f alias = f e f 2 n o Le signal vu est alors E cos 2 fe 2 + f = cos 2 fe 2 f Conséquence pour notre problème Toutes les fréquences du signal à échantillonner situées au delà de la moitié de la fréquence d échantillonnage vont venir perturber la reconstruction, elles vont être vues comme un bruit pour le signal. Afin d éviter le repliement du spectre, il faut introduire un filtre que va couper les fréquences au delà de fe 2 avant l échantillonnage. e(t) g(t) e (nt ) i e δ Te (t) Le filtre antirepliement idéal serait un filtre passe-bas idéal de bande passante B = fe 2.Enréalité,toutfiltre réel comporte une bande de transition qui reporte la bande passante limite B M au delà de la bande passante effective. G(f) Filtre idéal Filtre réel f -F max 0 F max 27
28 THÈME 2. CODAGE DES GRANDEURS PHYSIQUES 2.3. CONVERSION DU SIGNAL 2.3 Conversion du signal L étape d échantillonnage ayant été sommairement décrite, concentrons nous maintenant sur la numérisation du signal Principe Problème : On veut coder le signal analogique échantillonné e i (nt e ) sur q bits soit 2 q valeurs discrètes. L opération, après échantillonnage, consiste à remplacer chacune des valeurs mesurées par sa plus proche représentation parmi les 2 q valeurs accessibles. Cette opération est appelée quantification (digitizing en anglais). Chacune des valeurs accessibles est représentée par une donnée binaire codée de telle sorte que les valeurs permettent de numériser des signaux dont l amplitude se situe dans la plage utile de conversion. On appelle k, lepasdequantification, ilreprésenteladifférencemaximaleentredeuxvaleursanalogiques donnant la même quantification. Lorsque tous les k sont identiques, sur la plage de conversion, on dit que la quantification est uniforme Retour sur le codage - notion de MSB, LSB Tout réel peut s écrire suivant les puissances N = a n x n + a n 1 x n a 0 x 0 + a 1 x a n x n avec x base et a un nombre entier compris entre 0 et x 1. Pourlebinaire,onax =2. Dans les CNA et CAN, le premier bit (celui de rang n) estappelémsb (Most Significant Bit), son poids représente la moitié de la pleine échelle du convertisseur, le suivant représente le quart,... Exemple : sur 8 bits, on compte de 0 à 255. Le MSB représente le nombre 128 ( ). Le bit de poids le plus faible LSB représente la quantité minimale que l on pourra identifier soit 1. On nomme cette quantité quantum. Dans le CAN, le quantum est la plus petite variation de la grandeur analogique d entrée qui va provoquer une variation de une unité du code de sortie. On exprime la résolution en % de la pleine échelle. Ainsi, un système 8 bits a une résolution de =0, 4%. nombre de bits nombre de points résolution en % 0, 4 0, 09 0, 02 0, Quelques convertisseurs Analogique Numérique CAN à rampe Ce type de convertisseur a été le premier à avoir été imaginé, il est basé sur la comparaison entre le signal inconnu et une rampe de tension connue. Simple rampe principe : le signal échantillonné e i est mémorisé et isolé sous forme analogique, par un dispositif capacitif dit bloqueur. 28
29 THÈME 2. CODAGE DES GRANDEURS PHYSIQUES 2.3. CONVERSION DU SIGNAL V (<0) ref R générateur de rampe C - + V s e i start - + horloge fin rampe comparateur & RAZ A 0 A 1 A 2 A 3 compteur Une impulsion start remet le compteur à 0 et décharge le condensateur. On a i = V ref R = C duc dt = C dv S dt ) V S = V ref RC t Au temps t 0,ondéclenchesimultanément Une porte reliant le signal e i bloqué et un comparateur Une rampe de tension V S (à partir du circuit intégrateur), envoyée à l autre entrée du comparateur. Une porte ET permettant la transition d un signal d horloge de période T vers un compteur. La porte ET a trois entrées Une de contrôle (mise à 1 à t 0 ) Une issue du comparateur (aussi à 1 à t 0 ) Une issue de l horloge V s e i Si N est le nombre de ticks d horloge comptés, on a e i = V ref (t 1 t 0) RC = NT. Problème : Si e i n est pas de même polarité que V S,ilfautundoublecomparateur.Larampedébute à V mais le comptage ne débutera pour les valeurs négatives que lorsque V S = e i et s arrêtera pour V S =0.Pourlesvaleurspositives,lecomptagedébuteàV S =0et s arrête à V S = e i. start e i rampe horloge XOR + inverseur & t 0 Compteur t 1 t Propriétés de ce type de convertisseur simple précision 10 3 mais est sensible au bruit variation de RC avec la température nécessite un étalonnage fréquent nécessité d une horloge stable le temps de conversion est variable une source d erreur vient de la précision de l instant d échantillonnage Convertisseur double rampe Afin de s affranchir des défauts du convertisseur simple rampe, on a imaginé un système double rampe. On applique la tension à mesurer à un intégrateur pendant un temps donné t 1 = N 1 T.Onobtientalors t une tension V 1 = e 1 i RC. Puis on commute l intégrateur sur une tension de référence E de polarité opposée. V S va alors décroître T linéairement de V 1 à 0. OncompteletempsdedécroissanceV 1 = EN 2 RC. En égalant les deux membres : e i N 1T RC = EN 2 T RC ) e i = Propriétés de ce type de convertisseur EN2 N 1 29
30 THÈME 2. CODAGE DES GRANDEURS PHYSIQUES 2.3. CONVERSION DU SIGNAL précision 10 5 nécessité d une référence de tension stable incovénient : le temps de codage... il faut un système de calcul numérique pour effectuer l opération e i = EN2 N 1. Convertisseur à rampe numérique Plutôt que d utiliser un intégrateur pour générer la rampe, on peut utiliser un convertisseur Numérique-Analogique start horloge + - & RAZ compteur e i CNA A 0 A 1 A 2 A Convertisseur à approximations successives C est le système le plus utilisé actuellement Principe : Déterminer les n bits du résultat en n coups d horloge grâce à une logique générant celui-ci par approximations successives. Fonctionnement : Exemple d un codeur 8 bits. Par coup d horloge 1. Premier coup d horloge Le programme génère le bit 7 (MSB) à 1 et tous les autres à 0. Le résultat est mémorisé dans un registre et envoyé au CNA qui génère le signal V S (128 le quantum) V S est comparée à e i,latensioninconnue. Si e i >V S le bit est retenu, sinon, il est mis à Second coup d horloge On recommence la séquence précédente avec le bit 6. Exemple : e i = 158, 392 le quantum 1. Premier coup d horloge : bit 7 à 1 Comparaison 158, 392 > 128, vrai! on conserve le bit 7 à Second coup d horloge : bit 7 à 1, bit6 à 1 Comparaison 158, 392 > = 192, faux! on met le bit 6 à Troisième coup d horloge : bit 7 à 1, bit6 à 0, bit5 à 1 Comparaison 158, 392 > = 160, faux! on met le bit 5 à Quatrième coup d horloge : bit 7 à 1, bit6 à 0, bit5 à 0, bit4 à 1 Comparaison 158, 392 > = 144, vrai! on conserve le bit 4 à Cinqième coup d horloge : bit 7 à 1, bit6 à 0, bit5 à 0, bit4 à 1, bit3 à 1 Comparaison 158, 392 > = 152, vrai! on conserve le bit 3 à Sixième coup d horloge : bit 7 à 1, bit6 à 0, bit5 à 0, bit4 à 1, bit3 à 1, bit2 à 1 Comparaison 158, 392 > = 156, vrai! on conserve le bit 2 à Septième coup d horloge : bit 7 à 1, bit6 à 0, bit5 à 0, bit4 à 1, bit3 à 1, bit2 à 1, bit1 à 1 Comparaison 158, 392 > = 158, vrai! on conserve le bit 1 à Huitième coup d horloge : bit 7 à 1, bit6 à 0, bit5 à 0, bit4 à 1, bit3 à 1, bit2 à 1, bit1 à 1, bit0 à 1 Comparaison 158, 392 > = 159, faux! on met le bit 0 à 0. 30
31 THÈME 2. CODAGE DES GRANDEURS PHYSIQUES 2.3. CONVERSION DU SIGNAL ) Résultat après 8 coups d horloge e i Principe l information est stockée dans un registre e i + Σ horloge et logique de commande interne }sortie numérique CNA tension de référence U 0 Avantage : temps de conversion indépendant de e i Ce temps est très court (on trouve des convertisseurs 10 ou 12 bits capables de traiter 20 millions d échantillons par seconde. La précision dépend du CNA Flash ADC Pour une conversion ultra-rapide (acquisition de données de phénomènes rapides), on peut utiliser un convertisseur de type Flash (ou encore parallèle) Ce dispositif s appuie sur l emploi de 2 n bits. Exemple (pour faciliter le dessin...) Comparateur 3 bits! 2 3 1=7comparateurs!!! 1 comparateurs associés à un décodeur pour une conversion sous n 31
32 THÈME 2. CODAGE DES GRANDEURS PHYSIQUES 2.4. NUMÉRIQUE )ANALOGIQUE 10V 3kΩ 7V 1kΩ 6V C 7 C 1 C 2 C 3 C 4 C 5 C 6 C 7 D 0 D 1 D 2 e i < 1V V < e i < 2V V < e i < 3V V < e i < 4V V < e i < 5V V < e i < 6V V < e i < 7V V < e i kΩ 5V - + C 6 1kΩ 1kΩ 4V 3V C 5 C 4 Décodeur D 0 D 1 D 2 }Sortie Numérique 1kΩ 2V - + C 3 1kΩ 1V - + C 2 1kΩ C 1 e i résolution 1V Le décodeur identifie le comparateur de rang le plus élevé qui a basculé et donne la valeur qui y est associée. Le coût d un tel comparateur est élevé puisqu il réclame l emploi de 2 n 1 comparateurs et d un réseau de résistances identiques. On sait cependant fabriquer des flash ADC 16 bits fonctionnant à 10 8 échantillons par seconde La voie indirecte - VCO VCO pour Voltage Controlled Oscillator Le dispositif convertit la valeur de la tension d entrée en une fréquence par un oscillateur commandé en tension La fréquence du signal étant proportionnelle à la tension d entrée, il ne reste plus qu à compter les passages par 0 du signal durant un temps calibré T pour avoir le nombre binaire représentant la tension d entrée. 2.4 Numérique )Analogique Nous avons étudié dans le cadre des systèmes d acquisition de données des dispositifs permettant de passer des grandeurs physiques analogiques aux données informatiques numériques, ces dispositifs assurent la conversion Analogique-Numérique 32
33 THÈME 2. CODAGE DES GRANDEURS PHYSIQUES 2.4. NUMÉRIQUE )ANALOGIQUE Des dispositifs assurant la conversion inverse existent aussi. Nous les avons déjà vus dans le cadre des CAN à approximations successives ou des CAN à rampe numérique. Mais, leur utilité va bien au delà puisqu ils sont au centre des dispositifs de commande, pour lesquels l ordinateur pilote l interface physique. Les convertisseurs Numériques Analogiques ont pour rôle comme leur nom l indique de transformer une donnée numérique en grandeur analogique. Un convertisseur Numérique Analogique est un dispositif produisant une grandeur en sortie qui possède q =2 n valeurs distinctes On le dit à loi uniforme si ces valeurs sont régulièrement espacées sur une plage de valeurs allant de 0 à 2 n suivant : V S = d 1 2 n 1 + d 2 2 n d n 2 où est le pas de quantification Principe Le principe de base est assez simple I 0/2 I 0/4 d 1 d 2 I = d 1 I 02 + d 2 I d n I 0 2 n Des interrupteurs commandés par des variables binaires, d i (d i =0interrupteur ouvert, d i =1interrupteur fermé) contrôlent le passage des courants provenant de la source de courant, vers le point de sommation. n I 0/2 d n Dans un système réel, un filtrage en sortie élimine les défauts de synchronisation des interrupteurs Caractéristiques d un codeur Numérique Analogique Pour un codeur n bits quantum 1 q 2n linéarité pleine échelle 2 n 1 précision 1 2 quantum ou 1LSB en général monotonie (absence d erreur de codage) Un code correspondant à une augmentation de un quantum ne doit pas donner un signal inférieur au précédent. Temps de conversion : temps au bout duquel une valeur stable est obtenue à 1 2 quantum prés LSB ±1/2LSB -LSB
34 THÈME 2. CODAGE DES GRANDEURS PHYSIQUES 2.4. NUMÉRIQUE )ANALOGIQUE Principe de fonctionnement Convertisseur Numérique Analogique à résistances pondérées e i R 2R 4R 8R 16R 32R 64R 128R a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 I - + R 1 I = V S R 1 a I = V 7 ref R + a6 a1 2R V S 64R + a0 128R ) V S = V ref R 1 128R (128 a a a 1 + a 0 ) La difficulté avec ce système réside dans la précision exigée pour les résistances. En effet, pour assurer la linéarité, elles doivent toutes avoir la même précision (mieux qu un LSB!!!!) Pour un codeur 8 bits, les résistances vont de R à 128R, laprécisiondoitdoncêtre R< R 128. Pour un codeur 16 bits, les résistances vont de R à 32768R, laprécisiondevientalorsimpossibleàobtenir,il faut envisager un autre dispositif. En effet, les résistances couvrant une telle gamme ne sont pas réalisées toutes suivant la même technologie ce qui rend difficile la maîtrise de leur comportement en fonction des paramètres extérieurs. De plus, si R 1 est incorrecte, on a une erreur de gain Aspects plus réalistes R 2R 4R 8R 16R 32R 64R 128R - + R 1 E V S = R 1 R + E 2R + E 8R + E 64R On utilise comme interrupteur des transistors MOS dont la conductance est affectée par la tension de grille On stocke le mot dans un registre dont on envoie le contenu de chaque bit sur la grille (en général 0 ou 5V )dechaquetransistormos V S E Convertisseur Numérique Analogique à réseau en échelle Nous avons vu que la structure précédente pouvait s avérer difficile à réaliser lorsque le codage se fait sur un nombre important de bits. Le dispositif suivant n utilise lui que deux types de résistances R et 2R pour effectuer la conversion ce qui réduit de beaucoup la difficulté de réalisation du dispositif. De plus, sur une gamme R à 2R, ilestpossiblederéaliser 34
35 THÈME 2. CODAGE DES GRANDEURS PHYSIQUES 2.4. NUMÉRIQUE )ANALOGIQUE les résistances en adoptant les mêmes solutions technologiques et donc de très fortement limiter la dispersion des caractéristiques des éléments du dispositif. L architecture générale devient donc : R R R A 2R 2R 2R 2R 2R Il reste à imaginer le dispositif de commutation Commutation en tension Chaque résistance 2R est commutable soit vers la source de tension soit vers la masse gràce à deux transistors MOS connectés aux sorties Q et Q de l élément de registre correspondant. Si une sortie est à 1, l autreestà0. UnseuldesdeuxMOSestconducteur àlafois. 2R Q Q Avantage : vu du point A l impédance reste toujours la même quel que soit le mot codé, elle vaut R Le générateur de tension équivalent sera représentatif du nombre binaire. R 1 R 2R 2R 2R 2R 2R R R - + V S E Exercice : trouver le générateur de Thévenin équivalent à R 1 R 2R 2R 2R 2R 2R R R - + V S E E 35
36 THÈME 2. CODAGE DES GRANDEURS PHYSIQUES 2.4. NUMÉRIQUE )ANALOGIQUE 2R 2R R E E/2 R R R R R R 2R 2R 2R R 2R 2R 2R 2R E/2 E E/4 E E/8 E R 1 R R - + V S E/16 E/2 V S = R 1 R E 2 + E 16 )V S = 9ER1 16R ) c est proportionnel à 9!!!! 9?biensûr,oncode Commutation en courant Plutôt que de commuter en tension (ce qui prend du temps car le courant doit s établir dans la résistance 2R à la commutation), on peut commuter en courant. Comme précédemment, les résistances 2R sont reliées sur une ligne ou une autre, mais ici, ce sera la masse ou l entrée inverseuse de l amplificateur (aussi au potentiel 0). L intérêt, c est que le courant qui circule dans les résistances est toujours le même quel que soit l état de commutation donc le temps d établissement est quasi-nul. E R R R R 2R 2R 2R 2R R V S 36
37 THÈME 2. CODAGE DES GRANDEURS PHYSIQUES 2.5. RÉSUMÉ 2.5 Résumé Qu est ce qui n a pas réellement été abordé dans ce chapitre? Nous n avons étudié que des systèmes idéalisés sans nous demander si ils accomplissent vraiment ce qu on leur demande de faire. Par exemple, nous avons complètement passé sous silence les incertitudes liées au codage que gagne-t-on que perd-on lors de l échantillonnage? que gagne-t-on que perd-on lors de la quantification? que gagne-t-on que perd-on lors de la synthèse du signal analogique? Comment est traité le bruit dans ce type de circuits électroniques? C est l objet de la suite. 37
38 Thème 3 Vers les systèmes réels Sommaire 3.1 Introduction Echantillonneur-Bloqueur Pourquoi a-t-on besoin d un échantillonneur-bloqueur? Principe Cas réel Vers un modèle réaliste Erreurs dûes à l Echantillonneur-Bloqueur Quelques valeurs caractéristiques Bruits et Erreurs de codage Retour sur la quantification Bruit de Quantification Caractéristiques Retour sur le rapport Signal Bruit 3.4 Erreurs des convertisseurs Erreurs Statiques Erreurs dynamiques Glitch Retour sur le codage Principe de codage Codage unipolaire Codage bipolaire Retour sur les Glitches Analogique vs Numérique Introduction Le chapitre 2 a permis d introduire les étapes de principe d une acquisition de données et de présenter un certain nombre de dispositifs supposés réaliser la conversion du signal physique à la donnée informatique. Cependant, un certain nombre d éléments indispensables au fonctionnement d un système réel n ont pas été abordés. En effet, si les dispositifs de numérisation ont été décrits de façon assez complète, seuls des systèmes idéaux ont été présentés, qu en est-il de leur fonctionnement réel, quelle est leur réponse à un signal physique, comment ces systèmes traitent-ils le bruit immanquablement associé à ces signaux, quelle confiance peut-on avoir dans le signal ainsi numérisé, représente-t-il de façon fidèle la grandeur physique mesurée? C est à ces différentes question que la seconde partie de ce chapitre se propose de répondre. Même si la nécessité d échantillonner le signal physique est apparue clairement dans les chapitres précédents et que le principe mathématique de cette opération ainsi que ses conséquences ont été présentés au cours du 38
39 THÈME 3. VERS LES SYSTÈMES RÉELS 3.2. ECHANTILLONNEUR-BLOQUEUR chapitre précédent, le disppositif physique réalisant l opération n a pas été détaillé. Ce sera l objet de la première partie du chapitre avec la description du principe d un échantillonneur-bloqueur. Les mots clés de ce chapitre seront donc échantillonneur-bloqueur, bruit de quantification, erreur de codage Echantillonneur-Bloqueur Nous avons vu dans les chapitres précédents que la première étape de la transformation d un signal physique en données informatiques est l échantillonnage du signal, c est à dire la transformation d un signal défini à chaque instants en un signal connu qu à un nombre fini d instants. Bien que le chapitre précédent détaille le principe de cette opération du point de vue mathématique ainsi que les conséquences sur le signal échantillonné, on ne s est pas attardé sur le détail de la réalisation pratique de cette opération, c est ce qui va être fait ici Pourquoi a-t-on besoin d un échantillonneur-bloqueur? Le chapitre précédent a présenté l échantillonnage comme l opération consistant à ne mesurer le signal à différents instants espacés dans le temps. En fait, lors de la mesure, ce signal est numérisé par un des dispositifs décrits au chapitre précédent, le passage du signal physique analogique continu dans le temps vers le signal numérique échantillonné n est donc pas réalisé en une phase d échantillonnage suivie d une phase de numérisation, mais une seule phase comprenant la numérisation de l échantillon à pris à l instant t. Or nous avons vu que quelle que soit la technique employée pour la numérisation l opération prend un certain temps. Si cette phase de numérisation a une durée non négligeable devant la fréquence caractéristique du signal physique, alors celui-ci aura eu le temps de varier durant la phase de numérisation, ce qui soulève bien évidemment des questions quant à la représentation numérique obtenue pour le signal physique mesuré. Il apparaît donc nécessaire de s assurer que lors de l opération de numérisation le signal physique en entrée du dispositif reste constant et conserve la valeur qu il avait au moment choisi pour l échantillonnage. C est ce rôle que va assurer l échantillonneur bloqueur. V e V s 0 E B E B E B E t 0 T e 2T e 3T e t La figure ci-dessus montre l évolution des tensions en entrée et en sortie d un échantillonneur-bloqueur, le signal de sortie conserve durant la durée du blocage la valeur qu avait la tension d entrée à l instant de l échantillonnage Quand a-t-on besoin d un Echantillonneur-Bloqueur? Le rôle de l Echantillonneur-Bloqueur est de maintenir la tension d entrée du dispositif de numérisation constante durant l opération de codage. Il est légitime de se demander quel sens on peut donner au terme constant pour un signal analogique devant être numérisé. En effet, le chapitre précédent a abordé les notions de pas de codage et donc de différence minimale de tension entre deux signaux pour pouvoir les distinguer. Donc vu du codeur, un signal sera constant si sa variation durant la durée de codage ne fait pas varier le résultat obtenu. Les paramètres importants à prendre en considération sont donc La fréquence d entrée du signal L amplitude du signal 39
40 THÈME 3. VERS LES SYSTÈMES RÉELS 3.2. ECHANTILLONNEUR-BLOQUEUR Donc si le signal à échantillonner-numériser est de faible amplitude et varie lentement dans le temps par rapport au temps de codage, on pourra se passer d un Echantilonneur-Bloqueur. Afin de se faire une idée plus quantitative des grandeurs mises en jeu, considérons l exemple suivant : On souhaite numériser la tension sinusoïdale suivante e (t) =2E cos 2 ft avec un codeur n bits de pleine échelle 2E dont le temps de conversion est T c Afin de savoir quand l Echantillonneur-Bloqueur devient nécessaire calculons 1. La valeur maximale de la variation du signal d entrée au cours du temps 2. La résolution du codeur de dt Max =2 fe q = 2E 2 n La condition pour que la variation de la tension durant le temps de conversion soit inférieure à la résolution du convertisseur s écrit alors : de dt Max T c <q On obtient donc la fréquence maximale du signal d entrée en fonction de la durée de conversion f< 1 2 n T c Une rapide application numérique donne pour un codeur 8 bits T c = 1ms ) f < 1, 2Hz T c = 1µs ) f < 1, 2kHz Les ordres de grandeur montrent qu il n est possible de se passer d un Echantillonneur-Bloqueur que dans le cas de l étude de signaux variant très lentement (la Température par exemple). Dans le cas général, l utilisation d un Echantillonneur-Bloqueur est indispensable Principe Le dispositif Echantillonneur-Bloqueur doit donc réaliser la tache de substituer au signal d entrée le signal tel qu il était au moment de l échantillonnage. Le dispositif doit donc être capable de mémoriser la valeur de la tension au moment de l échantillonnage et de couper la tension d entrée pour lui substituer cette tension mémorisée durant la phase de numérisation. On utilise pour celà une capacité couplée à un interrupteur suivant le schéma général suivant : Interrupteur Entrée C Sortie L interrupteur assure quand il est ouvert l isolation du signal d entrée et quand il est fermé, charge le condensateur afin que celui-ci mémorise la nouvele valeur de la tension. Si on décompose les étapes dans le cas idéal, ona 40
41 THÈME 3. VERS LES SYSTÈMES RÉELS 3.2. ECHANTILLONNEUR-BLOQUEUR Interrupteur fermé On transmet directement l entrée sur la sortie Interrupteur ouvert V s = V C = V e V s = V C 6= V e La tension de sortie reste constante et égale à la dernière valeur de la tension d entrée avant ouverture de l interrupteur. La première phase est appelée phase d échantillonnage, la seconde phase de blocage (Sample and Hold) Cas réel Il est clair que l utilisation d un interrupteur et d une capacité va introduire des constantes de temps supplémentaires dans le montage. En effet, la modification des tensions lors des différentes phases ne pourra se faire instantanément. De plus, il est évident que lors de la phase bloquée, le condensateur va finir par se décharger dans la résistance de sortie du montage. 1. Al entrée,considéronsr E la résistance d entrée du circuit amont. Lors de la phase de charge du condensateur, celui-ci va donc se charger à travers la résistance R e introduisant ainsi une constante de temps de charge donnée par charge = R E C 2. AlasortieconsidéronsR S la résistance de sortie lors de la phase de blocage. Cette résistance représente à la fois la résistance de fuite du condensateur ainsi que la résistance du circuit aval, R S est donc à considérer comme étant en parallèle avec C. LaprésencedeR S va provoquer la décharge du condensateur et donc limiter le maintien de la tension aux bornes du codeur. Le temps caractéristique de décharge est alors donné par decharge = R S C On obtient alors le modèle équivalent suivant pour l Echantillonneur-Bloqueur R E Entrée C R S Sortie On peut alors en regardant très en détail et pour des constante de temps très exagérées avoir pour le tension de sortie le comportement suivant V E B E B E V s 0 T e V e 2T e Les limitations de l Echantillonneur-Bloqueur sont alors évidentes, la vitesse de fonctionnement du dispositif va être liée à la constante de temps de charge du condensateur, sa limitation en résolution quant à elle sera liée à la constante de décharge de celui-ci (capacité à maintenir une tension constante ). 41
42 THÈME 3. VERS LES SYSTÈMES RÉELS 3.2. ECHANTILLONNEUR-BLOQUEUR Vers un modèle réaliste Afin de s affranchir des résistance d entrée et de sortie des systèmes amont et aval, on va isoler l Echantillonneur- Bloqueur entre deux suiveurs. Entrée - + C - + Sortie La complexification du dispositif, introduit de nouvelles limitations qui vont être rapidement passées en revue dans la section suivante Erreurs dûes à l Echantillonneur-Bloqueur Comme celà a été vu l échantillonneur fonctionne en quatre phases distinctes, l échantillonnage, la transition échantillonnage vers blocage, la phase de blocage, et la transition blocage vers échantillonnage. A chacune de ces étapes, il va être possible d identifier une source d erreur affectant la fidélité de la représentation numérique finale du signal d entrée Echantillonnage L introduction d un Amplificateur Opérationnel suiveur va introduire deux types d erreurs 1. Un erreur liée à l offset qu introduit l Amplificateur Opérationnel 2. Une erreur liée au gain du suiveur qui n est rigoureusement pas égal à 1. Exemple : prenons deux AO dont le gain est connu avec une précision relative de 0, 01% (1 pour 10000). Le gain total de l Echantillonneur-Bloqueur va s écrire G = G E G S où G E et G S sont respectivement les gains du suiveur d entrée et du suiveur de sortie. L incertitude relative sur le gain total s écrit alors bien évidemment L application numérique donne 12 bits G G G G apple G E G E + G S G S apple 0, 02% = ' = soit le pas de quantification d un codeur Transition Echantillonnage vers Blocage La transition vers l état bloqué n est pas instantannée, l interrupteur mettant un certain temps à basculer, ce qui signifie que la tension utilisée comme référence ne sera pas celle de l instant du début de la transition mais celle de l instant où l interrupteur a effectivement commuté. De plus, l interrupteur peut introduire des charges au niveau de la capacité de stockage modifiant ainsi la tension bloquée Blocage Durant la phase de blocage, comme celà a déjà été indiqué, le condesateur va se décharger (dans la résistance de fuite et par le courant de polarisation de l AO) ce qui va provoquer une variation de la tension aux bornes de la capacité. dv dt = 1 C Un autre phénomène peut se produire, il peut en effet exister une capacité de couplage entre les machoires de l interrupteur ouvert, cette capacité va ainsi pouvoir transmettre dans une certaine mesure les variations de la tension d entrée à la tension de sortie. 42
43 THÈME 3. VERS LES SYSTÈMES RÉELS 3.3. BRUITS ET ERREURS DE CODAGE Transition Blocage vers Echantillonnage Comme nous l avons déjà vu, cette phase n est pas instantanée. Le temps de charge de la capacité ne permettra pas un basculement instantanné vers la tension d entrée. Il y aura donc un délai dans le suivi de la tension d entrée par la tension de sortie au moment du basculement Au final La figure suivante tente de résumer les phases détaillées du fonctionnement de l Echantillonneur-Bloqueur. +V V E (%) Transparence (db) Durée d acquisition 0 -V V S Délai d ouverture Délai d ouverture Droop rate (taux de fuite) Durée d établissement du mode bloqué Echantillonnage Track mode Blocage Holdmode Toutes ces sources d erreur provenant de l Echantillonneur-Bloqueur doivent être prise en compte et comparées à la résolution du codeur (Nombre de bits de codage). Il ne sert en effet à rien de choisir un codeur 16 bits si les erreurs introduites par l Echantillonneur-Bloqueur sont supérieures à l erreur de quantification... La même réflexion doit être menée pour le choix de la vitesse du convertisseur Quelques valeurs caractéristiques Le tableau suivant présente quelques valeurs caractéristiques associées à différents Echantillonneur-Bloqueurs Modèle Durée d acquisition Droop rate Délai d ouverture (µsec) (µv.ms 1 ) (ns) HS SP5330 0, , 1 LF398 C S = 1000pF C S = 10000pF Bruits et Erreurs de codage Cette section est consacrée à la description des sources d imperfection de codage lors de la conversion Analogique- Numérique ou inversement. Il sera donc question des différents bruits introduits lors de l échantillonnage et de la numérisation Retour sur la quantification Lors de la quantification d un signal, la tension analogique échantillonnée est convertie en un nombre binaire codé sur n bits. 43
44 THÈME 3. VERS LES SYSTÈMES RÉELS 3.3. BRUITS ET ERREURS DE CODAGE V m et +V m.lepas de quan- n bits vont permettre de coder 2 n niveaux de tension distincts répartis entre tification est alors défini par q = 2V m 2 n Ce qui conduit à la caractéristique en marche d escalier bien connue pour le convertisseur Analogique Numérique. sortie numérique centre droite idéale largeur du pas (1LSB) entrée analogique Bruit de Quantification Lors de la numérisation, on commet donc une erreur de codage entre le signal échantillonné et la valeur du code donnée par le codeur. Cette erreur irréductible est appelée bruit de quantification. La courbe d évolution de cette erreur de quantification avec la valeur de l entrée analogique a la forme d une dent de scie dont l amplitude est d un pas de quantification. erreur de quantification +1/2LSB 0-1/2LSB entrée analogique Cependant, les caractéristiques de cette courbe dépendent de la façon dont le signal va être numérisé. En effet, plusieurs principes de quantification sont utilisables, certains sont linéaires d autre non en fonction des spécificités du signal à numériser. La sous section suivante va être consacré à la caractérisation de ce bruit de quantification Caractéristiques quantification linéaire La quantification est dite linéaire si l espacement entre niveaux numériques successifs est égal sur toute la gamme de codage à la même valeur. Dans le cas d un signal variant de V m à +V m,les2 n niveaux sont alors codés avec un pas de quantification unique q = 2Vm 2. n Il existe alors plusieurs possibilités pour coder le signal, celles-ci se distinguent par l endroit où est prise la tension de référence pour le codage. quantification linéaire par défaut de codage Le signal d entrée est codé de telle sorte que l on ait pour chaque pas [nq, (n + 1) q]! nq 44
45 THÈME 3. VERS LES SYSTÈMES RÉELS 3.3. BRUITS ET ERREURS DE CODAGE Ce type de codage produit par conséquent une erreur de quantification comprise entre 0 et q. sortie numérique 7q 6q 5q 4q 3q 2q q 0 entrée analogique q 0 erreur de quantification entrée analogique Il est alors possible d estimer la puissance du bruit de quantification. Pour celà si on considère un signal de large amplitude, on peut estimer que le bruit de quantification est en dent de scie. La puissance du bruit de quantification peut alors être estimée en calculant la moyenne quadratique de l erreur. P " = " 2 (t) = q2 3 Démonstration : Bruit de quantification q 0 e(t) T t " (t) = qt T pour t 2 [0,T] Calcul de la moyenne quadratique P " = " 2 (t) = 1 T T 0 "2 (t) dt P " = 1 qt T T T 0 2 dt = q 2 T 3 T 0 t2 dt = q2 T 3 T 3 3 = q2 3 quantification linéaire centrée codage Le signal d entrée est codé de telle sorte que l on ait pour chaque pas de h (2n 1) q 2, (2n + 1) q i 2! nq La quantification est donc centrée. Ce type de codage produit par conséquent une erreur de quantification q comprise entre 2 et + q 2. sortie numérique 7q 6q 5q 4q 3q 2q q 0 entrée analogique La puissance du bruit de quantification est alors q/2 -q/2 erreur de quantification entrée analogique P " = " 2 (t) = q2 12 Ce qui explique pourquoi on préfère en général utiliser ce type de quantification... 45
46 THÈME 3. VERS LES SYSTÈMES RÉELS 3.4. ERREURS DES CONVERTISSEURS Quantification non linéaire L utilisation d une quantification linéaire bien que paraissant la plus raisonnable peut s avérer inadaptée dans certains domaines. En effet, les méthodes précédentes montrent que le bruit de quantification est indépendant de l amplitude du signal à coder, ce qui peut être très pénalisant dans certaines applications (le rapport Signal Bruit étant beaucoup plus faible pour les petits signaux). Dans le cadre de l audio, par exemple pour la téléphonie, on fera plutôt appel à une quantification logarithmique bien adaptée à la courbe de sensibilité de l oreille elle aussi logarithmique avec l amplitude du son. Le codage va se faire de telle façon que le rapport Signal Bruit reste à peu près constant quel que soit le signal du niveau d entrée Retour sur le rapport Signal Bruit On définit le rapport Signal/Bruit (SNR) de la façon suivant SNR db = 10 log P Signal P Bruit Les puissances étant définies comme précédemment par la moyenne quadratique du signal. Donc pour un codage linéaire centré, on a SNR db = 10 log P Signal q 2 12 = 10 log P Signal q 2 Le pas de quantification est donnée par q = 2Vm 2 n + 10 log 12 = 10 log P Signal q donc SNR db = 10 log P Signal ( 2Vm 2 n ) = 10 log P Signal (2V m) log 2 n SNR db = 10 log P Signal (2V m) n log SNR db =6n log P Signal (2V m ) 2 Par conséquent, on constate que le rapport Signal/Bruit augmente de 6dB par bit supplémentaire de codeur. Ce paramètre peut être très important dans le choix de nombre de bits de codage. 3.4 Erreurs des convertisseurs Jusqu alors seuls des convertissuers idéaux ont été envisagés, l erreur commise lors de la numérisation se résumant alors à l erreur de quantification qui est irréductible et doit être associé au fonctionnement normal du convertisseur, on a alors pour les CAN et les CNA les caractéristiques idéales suivantes sortie numérique centre droite idéale largeur du pas (1LSB) entrée analogique sortie analogique droite idéale largeur du pas (1LSB) entrée numérique 46
47 THÈME 3. VERS LES SYSTÈMES RÉELS 3.4. ERREURS DES CONVERTISSEURS Il existe de nombreux facteurs qui font que la réponse effective du convertisseur s éloigne sensiblement de la réponse idéalisée. La présence de nombreux composants dans les dispositifs ainsi que d AO va conduire à divers types d erreur qui peuvent se manifester soit en régime statique soit en régime dynamique donc dépendant du signal à coder. Les sections suivantes vont s attacher à faire l inventaire de ces sources d erreur Erreurs Statiques Erreur d offset Elle correspond à un décalage entre la courbe idéale et le codage effectif. La présence d AO et de comparateurs dans les montages convertisseurs est la source de cette erreur. sortie numérique droite idéale Erreur d offset caractéristique effective On la définit comme l écart au code 000. entrée analogique sortie analogique caractéristique effective droite idéale Erreur d offset entrée numérique Erreur de gain La pente générale de la réponse effective est différente de la pente idéale sortie numérique droite idéale caractéristique effective entrée analogique sortie analogique droite idéale caractéristique effective entrée numérique Elle peut provenir d une erreur sur les tension référence, sur le gain des AO ou sur les caractéristiques de réseau de résistance incorrecte. On mesure cette erreur par rapport à la pleine échelle Erreur de linéarité différentielle (ou DNL) Ces erreurs sont définies pour chacun des paliers et correspondent à la différence entre la largeur effective du palier et la largeur idéale de celui-ci. 47
48 THÈME 3. VERS LES SYSTÈMES RÉELS 3.4. ERREURS DES CONVERTISSEURS sortie numérique largeur du pas effective DNL Elle s exprime en fraction de LSB. codage idéal codage effectif largeur du pas idéale entrée analogique sortie analogique codage effectif codage idéal DNL largeur effective du pas largeur idéale du pas (1LSB) entrée numérique Erreur de linéarité intégrale (INL) Comme son nom l indique, elle caractérise pour chaque palier l erreur intégrale du codage. Elle est donc définie comme la différence à chaque palier entre le codage effectif et le codage idéal. Pour les CAN, il y a deux façon de mesurer cette différence soit entre flancs effectif et flanc idéal d un même palier (INL nulle pour erreur nulle), soit entre flanc et milieu de palier (INL demi-quantum pour erreur nulle). sortie numérique transition idéale INL transition effective codage idéal codage effectif entrée analogique sortie analogique codage effectif codage idéal INL (001) INL (101) entrée numérique Erreur de monotonicité Le convertisseur doit assurer la monotonicité du codage avec le signal d entrée, c est à dire qu une entrée croissante doit produire un code croissant, une entrée décroissante un code décroissant. Il y a erreur de monotonicité quand cette règle n est pas respectée par le codeur. sortie numérique codage effectif droite idéale entrée analogique sortie analogique droite idéale codage -3 effectif entrée numérique 48
49 THÈME 3. VERS LES SYSTÈMES RÉELS 3.5. RETOUR SUR LE CODAGE Compensation des erreurs Ces différentes sources d erreurs contribuent à détériorer la qualité du codage et par conséquent à la perte d information du signal d entrée. Il est donc important avant d utiliser un codeur de s assurer de ces caractéristiques et de compenser dans la mesure du possible les erreurs de codage. Erreur de quantification Elle est intrinsèque au codage et ne peut être compensée Erreur d offset Elle peut être compensée par un circuit électronique qui va ramener le code nul à zéro, ce qui permet en outre de récupérer la pleine échelle. On peut aussi ayant mesuré l offset, le corriger après acquisition lors d une phase de calibration des données, dans ce cas on ne restaure pas la pleine échelle. Erreur de gain Comme précédemment, la correction peut-être hardware ou software avec les mêmes conséquences sur la game dynamique du codeur Erreur de linéarité différentielle Elle peut être prise en compte (pas réellement corrigée) lors du traitement aposterioridesdonnées,pourcelàilfautavoirmesurél erreurpourchaquepalier Erreur de linéarité intégrale Elle peut être prise en compte de la même façon que la précédente. Erreur de monotonicité Elle peut éventuellement (à condition d avoir une idée de l allure du signal d entrée) être corrigée par un traitement à posteriori (traitement des bits manquants) Erreurs dynamiques Erreur d hystérésis Il est possible que les tensions qui font basculer d un code au suivant ne soient pas les mêmes dans le sens montant et le sens descendant, cette erreur traduit la présence d hystérésis dans le comparateur ou de la décharge incomplète de condensateurs, elle dépend donc de la forme et de la fréquence du signal Glitch Lorsque qu un CNA convertit un nombre binaire en tension analogique, l établissement de la tension se fait par commutation d un certain nombre d interrupteurs afin de générer la sortie. A chaque commutation correspond l établissement d un courant. Plus le courant à commuter est grand plus le temps d établissement de celui-ci va être long. L établissement du MSB correspond donc au basculement le plus lent. L établissement de la tension affichée ne se fait donc pas instantanément, mais à travers le passage par une phase transitoire de valeurs intermédiaires. Par exemple : le passage du code 0111 au code 1000 deux valeurs distinctes de Vmax 16 pour un codage 4 bits se fait de la façon suivante : 0111! 0110! 0100! 0000! 1000 Le dernier passage du code 0000 au code 1000 représente un grand saut de tension Vmax 2 :c estleglitch. Pour passer de Vmax 2 V max 16 à Vmax 2,onpassepar0!!! 3.5 Retour sur le codage Principe de codage Le codage sert à établir la correspondance entre le signal analogique et sa représentation binaire. Plusieurs méthodes pauvent petre employées selon le type de signal à coder. Signal de signe constant Le codage est alors dit unipolaire Signal de signe variable Le codage est dit bipolaire On peut alors encore distinguer dans chacune des catégories différentes façon de réaliser le codage. 49
50 THÈME 3. VERS LES SYSTÈMES RÉELS 3.5. RETOUR SUR LE CODAGE Codage unipolaire Binaire naturel Le code est représenté par un n uplet (b n 1 b n 2...b 1 b 0 ) de n bits pouvant prendre la valeur 0 ou 1. Le codage d un entier N est alors tel que b n 1 est alors le MSB b 0 est le LSB nx 1 N = n i 2 i = b n 1 2 n 1 + b n 2 2 n b b i=0 La tension de sortie du CNA est alors donnée par V = q b n 1 2 n 1 + b n 2 2 n b b DCB (Décimal Codé en Binaire) Chaque chiffre décimal est codé sur un mot de 4 bits. V = V ref 10 b b b b V ref 100 a a a a Ce type de codage est bien adapté à l affichage décimal des données Résumé N Binaire Naturel DCB ( ) : : : : : : : : : : : : : : : : Codage bipolaire Code amplitude de signe Ce code reprend le code bianire naturel, le codage prend alors la forme [code signe][code binaire naturel] Le code signe est mis à 0 pour le nombres positifs à 1 pour les nombres négatifs. Ce type de code est utilisé pour les multimètres digitaux, il est en revanche inadapté au calcul. 50
51 THÈME 3. VERS LES SYSTÈMES RÉELS 3.5. RETOUR SUR LE CODAGE Code binaire décalé On attribue le code 0000 à V ref le code 1111 à +V ref b n 1 joue le rôle de bit de signe. Ce type de codage est présent dans les CNA. V = q b n 1 2 n 1 + b n 2 2 n b b V ref Code complément à deux C est un code binaire décalé dont le bit de signe est inversé V = q b n 1 2 n 1 + b n 2 2 n b b V ref Ce type de codage est adapté aux calculs arithmétiques Code complément à 1 Pour les nombres positifs, ce code est équivalent au codage binaire naturel. Pour les chiffres négatifs, le code est le complément bit à bit du binaire naturel. Ce type de codage est utilisé pour les compteurs Résumé N Amplitude de signe Binaire décalé Complément à 2 Complément à Retour sur les Glitches Nous avons vu que les glitches sont liés au nombre de commutations des interrupteurs chargés d établir les courants nécessaires à la production de la tension de sortie codée par un nombre binaire. On peut alors légitimement se poser la question de savoir s il est possible de minimiser ce nombre de commutations. C est ce que ce propose de faire le code Gray réfléchi qui est tel que seul un bit est modifié entre deux valeurs binaires consécutives. Ceci se traduit par le codage unipolaire présenté dans le tableau suivant. 51
52 THÈME 3. VERS LES SYSTÈMES RÉELS 3.6. ANALOGIQUE VS NUMÉRIQUE N Binaire Naturel Code Gray réfléchi Analogique vs Numérique Analogique inconvénients bruit dérive mémorisation difficile condensateur piste magnétique (séquentiel) consommation importante avantages caractère analogique facilité des réglages Numérique inconvénients quantification et échantillonnage plus de bits ) plus lent et plus cher inutilisable pour des fréquences > 10GHz avantages insensible aux bruits et dérives si erreur, il y a possibilité de mettre en place des algorithmes de correction facilité de transmission on peut régénérer le signal isolement galvanique facilité de traitement numérique intelligence de la programmation dialogue homme-machine commande adaptative 52
53 Thème 4 Communiquer les données Sommaire 4.1 Introduction Eléments de communication Définition d un langage commun pour la communication Définition d un lieu pour dialoguer Configuration Interfaçage d instruments Eléments à mettre en œuvre La liaison RS GPIB (IEE-488) Conclusion Introduction Les chapitres précédents ont permis de mettre en évidence les éléments de la chaîne d acquisition de données permettant de transformer le signal physique en données numériques. La dernière étape consiste à comprendre comment récupérer les données codées sur l ordinateur afin de les exploiter. Ce chapitre pourrait constituer un livre entier ou plus certainement plusieurs rayons d une bibliothèque car la problématique va bien audelà de l acquisition de données, puisqu elle concerne de manière générale la communication entre systèmes électroniques. Des mots-clés aussi variés que port série, port parallèle, USB, Ethernet, BlueTooth, Wifi, PCI, RJ-45, TCP-IP, registre, adresse de base, etc, etc font partie de ce monde qu il n est question que d effleurer dans ce chapitre. L objectif principal du chapitre est de mettre en évidence les mécanismes généraux qui permettent l échange d informations entre un système électronique (ici le système d acquisition de données) et le système utilisateur (ordinateur par exemple). Bien évidemment, une carte d acquisition de données réelle présente des fonctionnalités qui s étendent bien au-delà de la transformation du signal physique en données numériques. De tels systèmes pour être opérants doivent en général gérer un déclenchement, éventuellement un retard des signaux, diverses mises en forme, une vitesse d acquisition variable et donc un fréquence de base de temps configurable, plusieurs gammes de gains, chaque valeur codée doit être stockée au minimum le temps de son transfert vers le système utilisateur hôte, etc, etc... L ensemble de ses informations doit donc être pris en charge par le système chargé de la communication des données. Afin d illustrer de façon relativement simple les processus de communication entre systèmes, l exemple de la communication série par RS232 permettant entre autre d interfacer un instrument de mesure avec l ordinateur servira de support. 53
54 THÈME 4. COMMUNIQUER LES DONNÉES 4.2. ELÉMENTS DE COMMUNICATION 4.2 Eléments de communication La mise en œuvre d une communication efficace entre système électroniques ne diffère pas réellement dans ces principes des nécessités d une communication réussie entre humains. Au départ, il est nécessaire de définir : Un langage commun Un lieu où peut se faire le dialogue Définition d un langage commun pour la communication Pour un dialogue entre deux systèmes comme la carte d acquisition et le PC par exemple, la mise en place d un langage commun suppose d une part de partager un matériel commun et d autre part des informations communes à échanger (compréhensibles par les deux systèmes) : Les contraintes sur le matériel Un échange de signaux électriques compatibles pour les signaux logiques, mêmes états hauts et bas, même vitesse de changement d état des signaux... Une connectique commune Il faut pourvoir mettre en liaison les deux systèmes Un protocole commun Qui parle/qui écoute... Contrôle et sécurisation des informations transmises... Ces contraintes sont communes à tous les systèmes devant communiquer. Il apparaît donc nécessaire de définir des standards pour assurer un minimum de compatibilité entre les différents éléments. Il semble raisonnable que la carte réseau de l ordinateur, la carte son, la carte d acquisition, partagent une partie interface de communication avec l ordinateur suivant les mêmes normes. Il semble encore plus raisonnables que tous les ordinateurs, tout au moins, tous ceux partageant la même architecture partagent les mêmes normes de communication. Dans le cas contraire, l étage électronique chargé de la communication de chaque système devrait être adapté à chaque modèle d ordinateur ce qui ferait certainement flamber les coûts du matériel électronique et exploser les coûts de développement des logiciels de pilotage de ces systèmes. Dans le cas de la carte d acquisition utilisée en salle de TPs (carte NI-PCI6221M), cette norme est PCI (Peripheral Component Interconnect), cette norme a été dominante pour les cartes électroniques embarquées dans les PC, elle désormais supplantée par la norme PCI Express plus performante A gauche, 5 connecteurs PCI sur une carte-mère d un ordinateur. A droite 4 connecteurs PCI Express (en haut) et 1 connecteur PCI (en bas) 54
55 THÈME 4. COMMUNIQUER LES DONNÉES 4.2. ELÉMENTS DE COMMUNICATION Les contraintes sur les informations communes Afin de permettre le dialogue entre deux systèmes, il est nécessaire de posséder en plus du matériel des mots communs. Il est donc nécessaire de définir un jeu d instructions. Dans la cadre des échanges entre le PC et une carte d acquisition de données, ces mots-clés devront permettre par exemple de : définir les paramètres de l acquisition calibre des voies fréquence d acquisition mode de déclenchement... récupérer les valeurs des grandeurs physiques codées Définition d un lieu pour dialoguer... Les échanges entre l ordinateur et la carte se font à travers une zone de mémoire (dans le PC) qui va être utilisée pour stocker les informations. Une zone est allouée en écriture Une zone est allouée en lecture Dans chacune de ces zones de adresses mémoires fixées sont affectées aux différentes informations qui doivent être échangées. Dialoguer avec la carte d acquisition revient donc pour l ordinateur à lire ou écrire dans ces zones de mémoire et traiter l information. Vu schématique de ce que pourrait être la cartographie de la zone mémoire allouée à une carte d acquisition par l ordinateur. Cet accès direct à la mémoire est en général masqué pour l utilisateur, mais aussi pour le programmeur qui n a accès qu a des fonctions de plus haut niveau qui elles accedent explicitement à ces zones de la mémoire. Ces fonctions de haut-niveau (c est à dire à la syntaxe à peu près compréhensible par un humain), sont regroupées dans des librairies de logiciel appelées pilotes ou drivers (sous Windows R,ceslibrairiessontengénéraldes librairies dynamiques et portent l extension.dll) Configuration... Le mise en œvre d une carte électronique dans un PC a longtemps demandé à l utilisateur de se charger de la configuration du matériel, ce qui rendait très concrète cette problématique. Il arrivait souvent que l utilisateur ait à résoudre des problèmes de conflits entre cartes quand plusiers périphériques partageaient par exemple la même plage d adresse par défaut ou le même canal d interruption (canal physique par lequel la carte sollicite l ordinateur en interrompant les tâches qu il est en train d accomplir). Depuis l avènement du PCI et des bus modernes (USB par exemple), les cartes ajoutées dans le PC sont devenues Plug&Play. La configuration et l identification d une nouvelle carte se fait automatiquement, le PC étant capable de lire les caractéristiques de la carte et de paramétrer celles-ci afin d éviter les conflits. Cette facilité raccourcit de façon sensible le délai entre l achat de la carte et sa mise en route effective, la contrepartie étant que tout l aspect, accès au matériel est désormais masqué pour l utilisateur. Il est cependant possible d avoir accès aux informations relatives à cette configuration en ouvrant (sous Windows R ) le Panneau de configuration et en sélectionnant Système. 55
56 THÈME 4. COMMUNIQUER LES DONNÉES 4.2. ELÉMENTS DE COMMUNICATION Dans la fenêtre Propriétés système, choisir l onglet Matériel et cliquer sur le Gestionnaire de périphériques. La liste de l ensemble des périphériques s affiche alors dans une fenêtre. En sélectionnant Data Acquisition Devices, on a alors accès à la liste des périphériques NI installés sur l ordinateur, et donc à la carte d acquisition NI-PCI6221M référencée PCI L ouverture du menu PCI-6221, permet alors d accéder aux propriétés de ce matériel. L onglet Pilote donne des informations sur le driver utilisé pour piloter la carte. L onglet Ressources quant à lui indique les plages d adresses mémoire utilisées pour le dialogue avec la carte ainsi que le canal d interruption (IRQ) utilisé par la carte pour solliciter une action du PC. Un examen des propriétés des autres périphériques permet de constater que cette organisation du dialogue n est pas spécifique à la carte d acquisition mais se retrouve pour chacun d entre eux. 56
57 THÈME 4. COMMUNIQUER LES DONNÉES 4.3. INTERFAÇAGE D INSTRUMENTS 4.3 Interfaçage d instruments L interfaçage d instruments permet d illustrer de façon simple les problématiques décrites dans le début du chapitre. En effet, l interfaçage d un instrument de mesure avec un ordinateur consiste essentiellement à mettre en place les éléments de communication entre systèmes décrits précédemment. La particularité est que dans ce cas ces éléments de communication apparaissent à l utilisateur plutôt que de rester enfouis au fond des circuits de la carte d acquisition ou de l ordinateur, puisque c est à lui de les mettre en place. L interfaçage d instruments consiste donc à faire communiquer : Un instrument de mesure c est à dire un système d acquisition/numérisation de données ou un système de commande, donc de production de signaux (alimentation, GBF,...) avec un ordinateur. Les sections suivantes s appuyent essentiellement sur la liaison RS232 et dans une moindre mesure sur le GPIB deux standards très répandus en instrumentation Eléments à mettre en œuvre. Pour qu un échange d information puisse avoir lieu entre un instrument de mesure et un ordinateur puisse s effectuer, il est nécessaire de mettre en place une connexion entre l instrument ou le PC physique liaison série RS232, cable USB, liaison ethernet, ou pour les standards industriels, GPIB,... sans fil : Wifi, Bluetooth, infrarouge Définition d un standard matériel des signaux électriques communs Forme des signaux circulant sur les lignes Norme des signaux numériques tension de l état bas, tension de l état haut, tolérance largeur temporelle Définition d un standard électrique Un langage commun Définition d un protocole commun La mise en œvre de ces différents éléments se fait à travers l élaboration de normes soutenues à l origine par un constructeur (HP pour GPIB par exemple) ou plus courament par un consortium de constructeurs (EIA) pour RS232. Ces normes sont ensuite pour nombre d entre elles formalisées par l IEEE. (GPIB = IEEE-488, Ethernet = ISO/IEC , Wifi = IEEE ). Ces différentes normes définissent de façon plus ou moins contraintes, la connectique, le standard électrique, le protocole d échange d information,... Interfacer un instrument avec un ordinateur demande donc de respecter chacun des critères de la norme. Cette dernière affirmation peut sembler triviale, cependant, beaucoup des déboires rencontrés lors de la mise en œuvre viennent d un non respect de celle-ci : problème de connectique problème de câblage (cable droit/cable croisé) de niveau des signaux signaux logiques atténués ne franchissant pas les seuils haut ou bas à cause : d une trop grande longueur de cable d une impédance non adaptée d un problème de masse non respect du protocole d échange d information Fréquent lorsque les appareils échangent suivant un protocole non normalisé Il est donc clair que les standards de communication entre instruments, les moins contraignants sont ceux pour lesquel la mise en œuvre peut s avérer la plus délicate. Le premier message correctement échangé entre les deux systèmes doit donc être vécu comme l étape majeure à atteindre sur le chemin de la réalisation de la communication. En effet, cette simple étape valide un grand nombre des aspects cités plus haut, le matériel fonctionne, la connectique et le câblage sont bons, les signaux ont les bonnes caractéristiques et le protocole est compris, envoyé et reçu correctement, il ne reste plus qu à maîtriser le langage, c est à dire connaître les différentes commandes à envoyer. Dans le cas contraire, l identification de la panne ou de l erreur peut s avérer délicate et demande des tests spécifiques qui peuvent se révéler fastidieux à mener. 57
58 THÈME 4. COMMUNIQUER LES DONNÉES 4.3. INTERFAÇAGE D INSTRUMENTS De manière générale, avant de démarrer, une lecture très attentive des documents fournis par le contructeur est indispensable La liaison RS232 La liaison RS232 constitue un bon exemple pour illustrer la communication entre systèmes, cette norme a, àl origine,étédéveloppéedanslesannées60 pour piloter les modems. A l origine, la norme préconisait un connecteur 25 broches qui s est rapidement révélé encombrant sur les PC et surtout sur dimensionné puisque seuls quelques lignes étaient utilisée. Il a été supplanté par le célèbre conecteur sub-db9 Connecteur Sub-DB9 mâle vu de face Ce connecteur présent sur tous les PCs jusqu à un passé récent tend à disparaître. Ceci ne marque pourtant pas la fin du protocole RS232 puisque il est possible de piloter un appareil demandant une liaison RS232 depuis un port USB à l aide d un adaptateur capable de convertir les signaux d un protocole vers l autre Caractéristiques La liaison RS232 est une liaison série asynchrone. série cela signifie que les différents bits constituant le message sont transmis 1 à 1 de façon séquentielle et sur la même ligne. asynchrone l intervalle de temps séparant chaque bit de donnée est aléatoire. Al opposé,pouruneliaisonparallèle, chaquebitconstituantunoctetestenvoyésurunfilspécifique,tousles bits du même octet étant envoyés simultanément. 8 fils sont donc dédiés à l envoi d un octet. Une liaison est dite synchrone si les bits d information arrivent à intervalle régulier, ce qui du point de vue de l électronique nécessite que les deux systèmes communicant aient une horloge commune. La liaison RS232 est du point de vue matériel une des interfaces les plus simples puisque dans sa version la plus réduite seuls trois fils suffisent pour établir la communication entre deux instruments : Rx Tx GND L octet est envoyé bit à bit sur Tx de l émetteur, le LSB en premier. Il est reçu sur Rx du récepteur et est reconstitué par ce dernier. Dans les schémas précédents, les fils 2, 3 et 5 correspondent à Tx, Rx et la masse, les autres lignes peuvent être utilisées pour assurer diverses tâches de synchronisation des signaux mais la communication peut se faire en n utilisant seulement les 3 fils cités précédemment Description de la communication Les vitesses de transmission Tx et Rx doivent être identiques, ces vitesses sont exprimées en bauds (1 baud =1bitparseconde). Cesvitessessontnormalisées..., 9600, 4800, 2400, 1200,... bauds. La communication peut se faire dans les deux sens (duplex) Emission d abord puis réception ensuite (half-duplex) Emission et réception simultanées (full-duplex) La transmission est asynchrone 58
59 THÈME 4. COMMUNIQUER LES DONNÉES 4.3. INTERFAÇAGE D INSTRUMENTS Il n y a pas d horloge commune entre l émetteur et le récepteur. L envoi de bits supplémentaires sont alors indispensables au fonctionnement de la liaison : bit de début de mot (start) bit(s) de fin de mot (stop) Contrôle de l intégrité du message Il est possible d utiliser un bit supplémentaire appelé bit de parité permettant la détection des erreurs de transmission. Exemple : Transmission du code hexadécimal 82 avec un bit de stop, sans bit de parité 82hex donne en binaire, la transmission est alors la suivante En jaune les états haut (+3V/+ 25V ), en blanc les états bas ( 3V/ 25V ). Rappel, la transmission débute par le LSB. La parité La parité est une technique très simple qui permet de vérifier que le contenu d un mot n a pas été changé accidentellement lors de sa transmission. L émetteur compte le nombre de 1 dans le mot et met le bit de parité à 1 si le nombre trouvé est impair, ce qui rend le total pair : c est la parité paire. (Il est aussi possible de travailler en parité impaire, la convention inverse est alors choisie). Exemple : Transmission du code hexadécimal 82 puis F 1 avec deux bit de stop, et bit de parité en parité paire. L information à transmettre est donc 82hex ce qui donne en binaire, et F 1hex 82hex ce qui donne en binaire RS232 en résumé La liaison RS232 a l intérêt d être extrêmement simple à mettre en œuvre, elle peut n employer que trois fils dans sa version la plus réduite. La tolérance sur les signaux est extrêmement large l état haut est défini pour des tensions entre +3V et +25V,l étatbaspour 3V et 25V ce qui autorise des atténuations de signaux non négligeables. La communication peut se faire sur de longues distances moyennant quelques modifications, des normes voisines existent RS422/RS485. En revanche la vitesse de transmission est assez réduite Dialoguer en RS232 Le dialogue avec les instruments se fait en transmettant les informations sous forme de code ASCII (mots clés alpha numériques). On écrit sur le port série (COM1,2,3 selon le brochage) du texte ASCII à partir de la console (par exemple...) Avant de commencer le dialogue, il est nécessaire de définir les paramètres de la ligne. Paramétrage du port série Dans le gestionnaire de périphériques à partie de la fenêtre paramètres 59
60 THÈME 4. COMMUNIQUER LES DONNÉES 4.3. INTERFAÇAGE D INSTRUMENTS Il est cependant préférable de configurer le port au niveau de l application gérant le dialogue à partir de l hyerterminal windows par exemple. RS232 avec l hyperterminal Comme cela a été présenté en introduction de cette section la liaison RS232 aétéàl originedéveloppéepourlacommunicationentrel ordinateuretunmodem,c estàdirepourpiloter les ancêtres de nos connexions ADSL au débit. Il n est donc pas étonnant que l hyperterminal de windows qui permet la connection au réseau téléphonique à travers un modem soit un des outils permettant de dialoguer selon la norme RS232. Ouverture de l hyperterminal 60
61 THÈME 4. COMMUNIQUER LES DONNÉES 4.3. INTERFAÇAGE D INSTRUMENTS Un vestige du temps où on accédait à internet par l hyperterminal... répondre non. Configuration de la connexion La fenêtre suivante apparaît... Suivie des fenêtres de configuration de la connexion Nommer la connexion Choisir le port série à utiliser Configurer le port série 61
62 THÈME 4. COMMUNIQUER LES DONNÉES 4.3. INTERFAÇAGE D INSTRUMENTS Configurer le terminal La dernière fenêtre paramètre le comportement du terminal (les trames envoyées sont affichées) ainsi que la fin de transmission, un caractère de fin de ligne (retour chariot \r ou saut de ligne \n) étantajoutéen fin de message. Exemple de dialogue avec un oscilloscope Textronix TDS1002 Demander son nom à l oscilloscope et obtenir la réponse Demander le tableau contenant le contenu de l oscillogramme affiché (en terme de valeur codée) et l obtenir Remarques sur le dialogue RS232 avec un instrument. Protocole L exemple précédent montre que l envoi de la chaîne d identification IDN? provoque une réponse de l instrument. C est le signe que l instrument répond à la norme SCPI (Standard Commands for Programmable Instruments). Comme son nom l indique, cette norme vise à définir un jeu d instructions relativement standardisé. On le rencontre en général sur les instruments comportant un nombre d instruction important (nombreux paramètres configurables) comme les oscilloscope ou les instruments de mesure complexe (détections synchrones,...). Cette syntaxe peut être retrouvée pour différents protocoles RS232 et dérivés bien sur (RS422/RS485) mais aussi GPIB. Si l appareil ne répond pas à IDN?, c estqu ilutiliseunautrestandardpourlaconstructiondesmessages (MODBUS par exemple mais il y en a beaucoup d autres) ou pire son propre jeu d instruction et sa propre méthode de construction des trames ASCII. Dans tous les cas une sérieuse étude du manuel de programmation de l appareil est nécessaire, elle permet au final de gagner un temps considérable. 62
63 THÈME 4. COMMUNIQUER LES DONNÉES 4.4. CONCLUSION GPIB (IEE-488) GPIB signifie (General Purpose Interface Bus), cette liaison a été développée par HP pour permettre une communication à haut débit entre ses instruments. C est devenu un standard très répandu dans le domaine de l instrumentation en physique. Il repose sur une liaison parallèle sur 8 fils de données (on transmet donc simultanément un octet de données). La liaison comprend en réalité 24 fils, un certain nombre de ligne étant utilisées pour différentes tâche de synchronisation et de pilotage de l interface. Ce connecteur est fréquemment trouvé à l arrière des instruments complexes comme les oscilloscopes, un des avantages du GPIB outre sa vitesse réside dans le fait que l on peut chaîner plusieurs instruments et ainsi assurer leur commande et l échange de données à partir d un seul port GPIB du PC ce qui n est pas le cas pour RS232 (mais qu il l est pour RS485). Connecteur GPIB à l arrière d un oscilloscope Tektronix TDS1002 Cable blindé GPIB 4.4 Conclusion Ce chapitre a présenté les éléments mis en œuvre dans la transmission des données codées vers l ordinateur, bien que ce processus soit généralement caché à l utilisateur, il est néanmoins essentiel. L exemple de l interfaçage d instruments avec un ordinateur permet de mettre en avant les problématiques liées à la transmission des données. Les concepts abordés dans ce chapitre vont bien au-delà de la transmission de résultats numérisés d expériences de physiques. Les principes présentés ici auraient pu tout aussi bien trouver leur place dans un cours sur la transmission des données en télécommunication ou sur internet. 63
64 Thème 5 L approche logicielle Sommaire 5.1 Introduction Description d une carte d acquisition NI-PCI6221M Le logiciel d acquisition de données Ecriture du logiciel d acquisition de données dans un langage classique (C, fortran, C++, Visual Basic...) Introduction Les chapitres précédents ont été consacrés d une part aux principes généraux de traitement des signaux en vue d une acquisition de données et à certains dispositifs électroniques mettant en œuvre ces principes. Si le matériel joue un rôle essentiel dans les systèmes d acquisition de données, la très grande majorité d entre eux nécessite aussi le développement de logiciels ne serait-ce que pour assurer l interface entre l utilisateur et le matériel. De manière générale, le logiciel peut intervenir sous plusieurs formes et à différents niveaux dans les systèmes d acquisition de données. Du plus visisble comme l interface utilisateur qui permet à l observateur de communiquer avec les cartes d acquisition en envoyant des commandes ou en récupérant les données codées pour les sauvegarder ou les visualise, jusqu au plus intime à travers la programmation de certains éléments de carte d acquisition afin de leur faire accomplir certaines tâches de façon autonomes. Ce chapitre va s appuyer sur la description des fonctionnalités d un type particulier de système d acquisition afin d illustrer certaines spécificités de la programmation dédiée à l acquisition de données et de mettre en évidence certaines difficultés d écriture de logiciels dans les langages classiques de programmation C, Fortran,... difficultés n existant pas dans des langages dédiés à ces tâches. Le but de ce chapitre n est pas de faire la publicité de tels langages spécifiques, comme LabVIEW R dont l apprentissage est l objet des chapitres suivants, mais de sensibiliser le lecteur aux contraintes logicielles apparaissant rapidement lors de la programmation d une acquisition de données. Le système servant à illustrer cette approche logicielle est celui utilisé en travaux pratiques une carte NI- PCI6221M enchassée dans le bus PCI d un PC standard. Le descriptif de la carte d acquisition et de son interfacage avec le PC va servir de point de départ à l étude des spécificités des logiciels de pilotage du système. Encore une fois, ce chapitre n a pas pour but de décrire l ensemble des composantes logicielles d un système d acquisition de données celles-ci pouvant prendre un grand nombre de formes de la programmation d un microcontroleur, dédié à une tâche précise, à la visu de contrôle de la qualité des données acquises. 64
65 THÈME 5. L APPROCHE LOGICIELLE 5.2. DESCRIPTION D UNE CARTE D ACQUISITION 5.2 Description d une carte d acquisition La description de la carte d acquisition utilisée en TPs va servir de support à la mise en évidence des contraintes non seulement de câblage des signaux en entrée de la carte mais aussi de programmation du logiciel pilotant le système d acquisition de données formée par la carte, sa nappe permettant sa connexion aux capteurs et le PC dans laquelle elle est insérée NI-PCI6221M Description Résumé des spécifications Entrées Analogiques 16 voies entrées simples. 8 voies différentielles. Type de convertisseur A/N : approximations successives. Résolution 16 bits (1/65536). Tensions d entrée (bipolaire) 20V ( 10V/+10V ), 10V ( 5V/+5V ), 1V ( 0, 5V/+0, 5V ),400mV ( 200mV/ +200mV ) Précision 3100µV (gamme de tension max), 112µV (gamme de tension min) Sensibilité 97, 6µV (gamme de tension max), 5, 2µV (gamme de tension min) Couplage DC Taux d échantillonnage 250kS/s Tension maximale d entrée par rapport à la masse ±11V Mémoire embarquée 4095 échantillons Sorties Analogiques 2 voies Résolution 16 bits (1/65536). Tensions de sortie (bipolaire) 10V/+10V Précision 3230µV Taux d échantillonnage 833kS/s Courant de commande 5mA Entrées/Sorties Numériques 24 entrées/sorties. Compatibles 5V TTL. Etat à l allumage : Entrée (haute impédance) (50k pull-up à +5V DC) Entrées/Sorties Compteur/Timer 2 voies up/down, counter/timer Compatibles 5V TTL. Horloge de référence Counter/Timer 80MHz Fréquence source maximale 80MHz Trigger Digital Rôle Entrées analogiques Démarrage, référence, pause déclenchement, horloge d échantillonnage Sorties analogiques Démarrage, pause déclenchement, horloge d échantillonnage Counter/Timer source, porte Compatibles 5V TTL. Réponse front montant ou descendant Spécifications complètes Disponibles à l adresse http ://sine.ni.com/ds/app/doc/p/id/ds-15/lang/fr 65
66 THÈME 5. L APPROCHE LOGICIELLE 5.2. DESCRIPTION D UNE CARTE D ACQUISITION Lecture des caractéristiques Carte PCI La carte vient s enchâsser dans un connecteur PCI de la carte mère d un PC, comme n importe quelle carte périphérique (carte réseau, carte son, etc). Le bus sur lequel transiterons les données acquises par la carte est donc celui du PC qui est par conséquent une partie intégrante du système d acquisition de données. Le logiciel pilotant l acquisition de données doit donc gérer les communications entre la carte d acquisition elle même et le PC, en utilisant les ressources du système d exploitation d une façon assez similaire à ce que fait un programme classique demandant par exemple des entrées au clavier ou des communications réseau. Entrées analogiques Les entrées peuvent être utilisées en deux modes entrées simples ou voies différentielles suivant le cablage des entrées. Le schéma suivant décrit brièvement les possibilités de connexion des entrées analogiques en fonction de la nature du signal source (référencé à la masse ou non) Signal d entrée non référencé à la masse (masse Signal d entrée référencé à la masse flotante) a) a) b) c) b) a) mode différentiel (deux voies d entrées a) mode différentiel (deux voies d entrées utilisées) utilisées) b) mode entrée simple référencée à la masse b) mode entrée simple non référencée à la masse c) mode entrée simple non référencée à la masse *le mode correspondant à la case du centre n est pas conseillé, les deux masses pouvant ne pas être au même potentiel 66
67 THÈME 5. L APPROCHE LOGICIELLE 5.3. LE LOGICIEL D ACQUISITION DE DONNÉES Le logiciel d acquisition de données doit donc permettre d éventuellement paramétrer les caractéristiques des voies d entrée analogique. Tensions d entrée Les différentes plages de tension d entrée analogiques sont accessible à travers différents gains qui doivent éventuellement pouvoir être réglées par le logiciel d acquisition de données lors du paramètrage de celle-ci. Entrées analogiques Le logiciel doit bien évidemment permettre de lire la tension analogique appliquée à chacune des voies d entrée. Sorties_analogiques Le logiciel doit permettre d afficher la tension de sortie sur chacune des voies analogiques. Entrée/Sortie Numériques Ces entrées sorties sont dites numériques car elles ne peuvent sortir ou entrer que deux états. Un état haut et un état bas. Dans le cas de la carte proposée, ces entrées/sorties sont au standard TTL (Transistor-Transistor Logic) pour lequel l état haut est à +5V et l état bas est à 0V (d autres standard de signaux logiques existent). Les voies analogiques étant bidirectionnelles, le logiciel doit pouvoir définir la direction entrée ou sortie de celles-ci. Counter/Timer Comme son nom l indique cette fonctionnalité peut être utilisée de deux manières soit en temps que compteur d impulsion en entrée soit en temps qu horloge. Pour pouvoir piloter cette fonctionnalité de la carte d acquisition, le logiciel d acquisition doit pouvoir gérer au minimum, le départ, l arrêt et la réinitialisation (reset) du counter/timer. Trigger digital Le trigger digital permet de déclencher l acquisition de données au niveau du matériel c est àdirelecodagedel informationarrivantsurl entréeoulesentréessurlesquellessontfaitesl acquisition de données. Le logiciel doit pouvoir paramétrer ce trigger (front montant ou descendant par exemple). Le logiciel doit pouvoir aussi être sensible à l état de ce trigger ou éventuellement le forcer pour débloquer l acquisition par exemple. Multiplexeur des voies analogiues Connecteur 68-pin vers capteurs DAQ horloge Connecteur PCI enfiché sur la carte mère du PC carte NI-PCI6221M utilisée en TP 5.3 Le logiciel d acquisition de données La section précédente a présenté la carte d acquisition et a permis de cerner un certain nombre de contraintes au niveau du pilotage des différents types de voies accessibles sur la carte. Lors du dialogue entre le PC et la carte d acquisition le logiciel doit donc être capable de régler les différentes configurations matérielles, démarrer le processus d acquisition, contrôler son déroulement (le déclenchement peut par exmple être logiciel), gérer la lecture des données acquises et les transférer dans la mémoire du PC. 67
68 THÈME 5. L APPROCHE LOGICIELLE 5.3. LE LOGICIEL D ACQUISITION DE DONNÉES Comme pour n importe quelle carte périphérique du PC, ceci se fait en écrivant les instructions dans une zone mémoire du PC à laquelle va accéder la carte (Un adresse dite de base est attribuée à la carte, les plages mémoires suivante étant utilisées pour l échange d informations entre la carte et le PC. Outre cette gestion des échanges avec la carte d acquisition, le logiciel doit aussi pouvoir gérer la sauvegarde des données, sur disque par exemple, et éventuellement assurer une visualisation de contrôle des évènements acquis et bien évidemment réaliser l interface avec l utilisateur (contrôle et pilotage) Ecriture du logiciel d acquisition de données dans un langage classique (C, fortran, C++, Visual Basic...) L ensemble de ces langages est caractérisé par un même mode d éxécution dit séquentiel. Une seule instruction est exécutée à la fois par l ordinateur, une seule partie de programme s exécute à un instant donné. Cette approche qui peut sembler très raisonnable n est en général pas vraiment adaptée à l acquisition de données. En effet, dans de nombreux cas concrets l utilisateur a besoin d intervenir dans l éxécution du programme alors que le processus d acquisition est en cours. L exemple le plus évident est la gestion d un arrêt d urgence qui interrompt l acquisition à un instant quelconque tout en conservant les données déjà acquises. Mais il est aussi souvent nécessaire d autoriser l utilisateur à régler des paramètres de l acquisition durant celle-ci, ou encore à réagir à un changement dans la grandeur physique acquise. Le programme d acquisition doit donc en général être facilement déroutable, c est à dire qu une sollicitation extérieure et inattendue doit pouvoir faire changer rapidement le cours de l exécution. Dans un langage à exécution séquentielle, la sollicitation extérieure ne pourra être prise en compte que lorsque le programme exécutera la ligne d instructions prenant en compte le changement d état, si le programme ne passe jamais par cette ligne de code, la sollicitation extérieure ne sera jamais prise en compte. Même s il y passe, celà ne se fera qu après que la tâche précédente ait été terminée. Si on reprend l exemple de l arrêt d urgence et que l on suppose que celui-ci doit se produire par l appui sur la touche z du clavier, on peut imaginer un code contenant une grande boucle relisant toutes les insctructions àchaqueitérationafindelirerégulièrementl étatduclavier.mêmedecettefaçon,l arrêtnepourraêtrepris en compte que lors du passage du programme par l instruction si la touche z est enfoncée alors. Le temps de réaction est alors conditionné par le processus le plus lent contenu dans la boucle, ce qui n est pas un comportement satisfaisant pour un arrêt d urgence Exécution parallèle La solution pour pouvoir tenir compte d une intervention extérieure sur le déroulement du programme est d envisager une exécution parallèle de celui-ci. Une partie du code réalisant par exemple la tâche d acquisition, l autre partie ou les autres parties s occupant en même temps de réagir aux sollicitations extérieures devant dérouter l exécution. Celà suppose aux différentes parties du programme s exécutant en pmarallèle de pouvoir communiquer entre elle (il ne sert à rien de se rendre compte que la touche z a été enfoncée, si on ne peut pas le faire savoir à la partie de code qui gère l acquisition de données). Les langages classiques n ont pas été élaborés pour l acquisition de données, il n existe donc pas de mécanisme simple pour réaliser ce type d exécution. Les langages dédiés à l acquisition de données intègrent eux cette approche comme processus central de leur fonctionnement, ce qui facilite l élaboration des codes Exécution parallèle et langages classiques Malgré ce qui a été écrit précedemment, des procedés existent pour résoudre le problème de l exécution parallèle et de réactivité des codes d acquisition dans les langages classiques. Ceux-ci reposent sur deux types d approche : Le Multiprocessing où le code du programme est dupliqué plusieurs fois en mémoire, seule la zone de données étant partagée. Les différentes images du programme (process) s exécutent en parallèle et accomplissent chacun un bout du programme s échangeant les informations par la zone de données. Par exemple, le premier process peut exécuter les routines relatives à l acquisition de données pendant que le second s intéresse à tester l état du clavier. 68
69 THÈME 5. L APPROCHE LOGICIELLE 5.3. LE LOGICIEL D ACQUISITION DE DONNÉES Le Multithreading qui peut être vue comme une version allégée du processus précédent puisque seules les différentes fonctions à exécuter en parallèle sont dupliquées. Ces notions sont assez difficiles à mettre en œuvre et supposent un niveau de connaissance du langage de programmation et du fonctionnement de la machine assez élevé. En particulier, pour pouvoir assurer une certaine synchronisation entre les différentes exécutions parallèles des mécanismes de priorités, d exclusion ou de sémaphores doivent être mis en place. Cela permet d éviter qu une partie du programme lise une zone mémoire qui aurait dû être mise à jour par un autre process mais qui ne l a pas encore fait ou bien qu un process écrive dans une zone mémoire que devait lire un autre process avant qu elle soit modifiée. Doit-on pour autant proscrire les langages classiques de l acquisition de données? Bien évidemment non. La puissance des langages classiques et la robustesse des processus de contrôle d éxécution décrits précédemment font que les codes produits sont extrêmement efficaces. Ils demandent cependant d avoir été programmé avec un grand soin en respectant des normes précises (POSIX par exemple pour C). Une preuve de l efficacité des langages classiques pour l acquisition de données êut se trouver dans le fait que des langages orientés acquisition de données comme LabVIEW R ont leurs modules écrits en C ou C++. Seul l habillage permet de rendre l accès aux processus parallèles indolores pour le programmeur débutant. En général, cette facilité d utilisation se paie par une perte des performances moindres en terme de rapidité et d occupation d espace mémoire. Les développements de gros codes d acquisition se fait de manière générale dans des langages classiques (essentiellement C et C++). L objectif de ce cours n étant que d introduire les concepts d acquisition de données, la seconde partie sera consacrée à LabVIEW R,unlangageorientéversl acquisitiondedonnéespermettantderéaliserdefaçonrelativement simple et rapide des interfaces utilisateur et des programmes d acquisition de données. 69
70 Deuxième partie Introduction à LabVIEWR 70
71 Thème 6 Premiers pas en LabVIEWR Sommaire 6.1 Introduction Objectifs Qu est ce que LabVIEW R? Programme LabVIEW R Instruments Virtuels (VI) L environnement LabVIEW R La Face Avant Le Diagramme Les Outils Créer un VI Démarrage de LabVIEW R Méthodologie Exécution du VI Exécution des VIs Mise au point du code Structures Structures conditionnelles Boucles Séquences Boîtes de calcul sous-vis Un VI plus complexe Création d un sous-vi Modification d un sous-vi Inclure unsous-vi dans un programme Conclusion Introduction Ce chapitre est le premier de ceux consacrés à l apprentissage des spécificités de la programmation d acquisitions de données. Le choix de LabVIEW R pour illustrer l approche logicielle dans l acquisition de données est motivé par la simplicité de mise en œuvre des mécanismes logiciels spécifiques décrits dans le chapitre précédent. Bien que LabVIEW R ne soit ni un logiciel gratuit, ni à proprement parler un standard, le choix de LabVIEW R est motivé par sa présence dans les laboratoires, et ce, quelle que soit la discipline en physique bien entendu (physique fondamentale, mécanique et électronique), mais aussi dans d autres disciplines scientifiques comme la 71
72 THÈME 6. PREMIERS PAS EN LABVIEW R 6.2. OBJECTIFS chimie et la biologie. LabVIEW R est aussi assez largement répandu dans le domaine industriel pour des tâches de contrôle et de diagnostic. La version actuelle de LabVIEW R est la LabVIEW R 2012 (à l automne 2012), celle disponible sur les machines de la salle PI du CRPHY est 8.2 (sortie en 2007). Bien que de nombreuses modifications aient été apportées entre les deux versions, les concepts présentés dans les chapitres qui suivent sont communs aux deux versions, ils les sont aussi avec des versions antérieures à celle présente au CRPHY. Si des éléments spécifiques à une version sont présentés, un indication de la version concernées sera donnée. 6.2 Objectifs L objectif des chapitres consacrés à LabVIEW R est de permettre à l étudiant de posséder les bases pratiques permettant la mise en œuvre d applications simples utilisant la carte d acquisition de données. Comme celà deviendra évident au fil des chapitres, cette introduction à LabVIEW R n est pas à proprement parler un cours d informatique, mais réellement une introduction à la conception de logiciels d instrumentation numérique. Les qualités d analyse à mettre en œuvre et les méthodes de résolution des problèmes sont plus proches de celle de l instrumentation que de celles de l informatique. Les éléments de programmation exposés dans ces chapitres sont immédiatement mis en application dans les TPs qui accompagnent le cours. 6.3 Qu est ce que LabVIEW R? LabVIEW R (Laboratory Virtual Instrument Engineering Workbench) est un langage de programmation dédié au contrôle d instruments et à l analyse des données. Sa conception orientée vers l acquisition de données rendent sa programmation très spécifique. En effet, contrairement aux autres langages basés sur une programmation textuelle (le code est un texte) LabVIEW R utilise un langage de programmation graphique : le langage G. L exécution même du code est spécifique, en effet, contrairement aux langages classiques dont l éxécution est séquentielle, celle des programmes écrits en LabVIEW R est pilotée par le flux de données, une instruction ne s éxécutant que lorsque les données nécessaires à son éxécution sont disponibles (cette notion sera illustrée plus loin dans le cours). Un programme LabVIEW R ne se présente donc pas comme un texte mais comme un graphique comportant des icônes reliés par des fils. LabVIEW R intègre l acquisition de données, l analyse, le traitement, la présentation des données ainsi que leur sauvegarde et leur transmissison. Pour l acquisition de données, LabVIEW R gère un grand nombre de standards RS232, GPIB, VXI ainsi que les cartes d acquisition intégrées au PC Pour l analyse, LabVIEW R dispose d un très grand nombre de fonctions mathématiques et de traitement du signal. LabVIEW R intègre de plus un très grand nombre d éléments graphiques et de représentation des donénes qui permettent de développer facilement une interface utilisateur d aspect professionnel. LabVIEW R dispose de plus d une très grande base de modules téléchargeables mis à disposition par les développeurs, ce qui facilite le développement des codes. 6.4 A quoi ressemble un programme LabVIEW R? Afin de comprendre l aspect très particulier d un programme LabVIEW R,ouvronsunexempledecode Power Spectrum Example. vi 72
73 THÈME 6. PREMIERS PAS EN LABVIEW R 6.4. PROGRAMME LABVIEW R Instruments Virtuels (VI) Pour l utilisateur, un programme écrit en LabVIEW R se présente comme une fenêtre graphique représentant la face avant d un instrument de mesure d où le nom d instruments virtuels (VI) donné aux codes LabVIEW R (l extension du nom des programmes LabVIEW R est.vi). Comme pour un instrument matériel, la face avant représente l interface entre la machine et l utilisateur. On distingue alors deux types d objets sur la face avant. 1. Des contrôles qui permettent à l utilisateur de transmettre une information à la machine. 2. Des indicateurs qui permettent à la machine de transmettre une information à l utilisateur. Bouton Rotatif Selecteur liste Selecteur liste Sélecteur numérique Indicateur Numérique Graphe (tableau de réels) Indicateur LED (booléen) Interrupteur (2 positions) Indicateur numérique De manière générale, pour l utilisateur, un VI c est une face avant avec ses boutons, ses entrées numériques, ses sélecteurs et ses indicateurs graphiques qui miment autant que possible le fonctionnement d un instrument matériel. Ainsi, par exemple, les boutons à deux positions de la face avant peuvent avoir différentes actions mécaniques, ils peuvent se comporter en interrupteurs, en déclencheurs ou encore en boutons poussoirs. Mais du point de vue informatique, un bouton à deux position, ne peut prendre que deux valeurs (ON/OFF), c est donc la 73
74 THÈME 6. PREMIERS PAS EN LABVIEW R 6.5. L ENVIRONNEMENT LABVIEW R représentation graphique d un bouléen. A ce titre, dans le code, un bouton aura le même comportement qu une LED qui elle aussi est la représentation graphique d un booléen. Il en est ainsi de tous les types de variables. Le graphe présenté dans la face avant ci-dessus est pour LabVIEW R,unindicateur,maisc estaussisurtoutun tableau de réels. 6.5 L environnement LabVIEW R La Face Avant La face avant est l interface avec l utilisateur, elle comporte donc 1. Les contrôles ou commandes d entrée 2. Les indicateur représentant les états de sortie du programme 3. Des cadres et différents éléments cosmétiques qui permettent de rendre l utilisation du VI intuitive. Par défaut, cette fenêtre est sur fond gris mais il est possible de la modifier avec les outils de coloriages décrits dans la section Boîte à outils. Il est cependant évident que ces éléments ne suffisent pas à faire fonctionner le programme, car contrôles et indicateurs jouent le rôle des variables dans les langages classiques. Il est donc important d aller voir ce qui se passe derrière la face avant Le Diagramme En cliquant sur le menu Fenêtre/Afficher le diagramme de la Face Avant, la fenêtre diagramme s affiche, cette fenêtre est celle qui contient le code du programme à proprement parler. Dans le cas de l exemple proposé, elle présente l aspect suivant : La fenêtre diagramme est donc chargée de mettre en relation les entrées et les sorties ainsi que les différents éléments fonctionnels du programme. 74
75 THÈME 6. PREMIERS PAS EN LABVIEW R 6.5. L ENVIRONNEMENT LABVIEW R Terminaux Un étude de ce diagramme permet de reconnaître entre autres les éléments de la face avant. Comme écrit plus haut, dans le code seul le type de la variable est représenté ainsi que sa fonction. Sur le diagramme, ces variables sont dénomées terminaux. Comme dans de nombreux langages, les variables LabVIEW R sont donc typées, un code de couleurs appliqué au terminal permet d identifier rapidement le type d une variable : bleu : pour les entiers. orange : pour les réels et les complexes. vert : pour les booléens. rose : pour les chaînes de caractères. d autres couleurs sont utilisées pour les types spéciaux ou les variables agglomérés. Contrairement à la plupart des autres langages, les variables sont directionnelles, c est à dire que les contrôles sont destinés à être des entrées et les indicateurs des sorties. La distinction de direction se fait par le cerclage du terminal : plein : pour les contrôles. vide : pour les indicateurs. Achaquecontrôledelafaceavantcorresponddoncunterminalpleinetàchaqueindicateurunterminalvide, sur le diagramme. Le terminal contient la valeur de l objet graphique correspondant. Le diagramme ci-dessus montre aussi d autres valeurs numériques, des constantes qui sont elles aussi typée et ne peuvent comme on peut s en douter n être accédées qu en lecture seulement Nœuds En LabVIEW R,lesterminauxreprésententles variables deslangagesclassiques,lesnœudsquantàeux représentent les opérateurs du langage, ils se présentent sous la forme d icônes possédant sur leur face gauche des pattes d entrée et sur leur face droite des pattes de sortie. Remarque : Il est à noter que le choix du côté des entrées et du côté des sorties est purement conventionnel car comme précisé plus loin dans le cours, ce n est pas la position des entrées et des sorties sur le diagramme qui contrôle l exécution du programme. Un programmeur peu facetieux pourrait inverser la convention et coder de droite à gauche, ce qui n est malgré tout pas recommandé pour des raisons de clarté de lecture du diagramme. Les nœuds sont donc à la fois les opérateurs simples du langages comme l addition, la soustraction, les opérations logiques, les conversions de type, mais aussi des sous-programmes complexes prenant des arguments en entrée et donnant des valeurs en sortie Structures Comme dans beaucoup de langages, il apparaît rapidement qu un programme ne peut être efficace qu à conditions de disposer de mécanismes permettant de détourner son exécution, c est le rôle des structures qui s apparentent par leur forme à celles existant en langage C. LabVIEW R possède donc des boucles For et While des structures conditionnelles if.. else case... (calquée sur la structure switch..case. du C) des structures de séquence Elles sont spécifiques à LabVIEW R et permettent de détermier l ordre d exécution de certaines partie de code. Il est à noter que sur le diagramme seule l un des éléments de la condition ou de la séquence est affiché, les autres sont cachés et accessibles par un sélecteur situé en haut de la structure Fils Enfin, l ensemble des terminaux et des nœuds sont mis en relation par des fils, ce qui fait souvent ressembler un diagramme LabVIEW R àunschémaélectronique. 75
76 THÈME 6. PREMIERS PAS EN LABVIEW R 6.5. L ENVIRONNEMENT LABVIEW R Les Outils Barres d outils de la face avant et du diagramme Ces deux barres d outils se ressemblent beaucoup, celle du diagramme étant complétée d outils de suivi de l exéction du code, elle se présente sous la forme suivante Face Avant et Diagramme Lance l exécution du VI/ VI principal en cours d exécution Diagramme seulement VI non exécutable (erreurs dans le VI) sous-vi en cours d exécution Exécution continue Stop (arrête l exécution du VI) Pause (suspend l exécution du VI) Choix de la fonte d un champ de texte Aligner les objets Distribuer les objets Changer le plan de l objet, permet de superposer des objets. Exécution pas à pas Visualise le flot de données Entre dans une structure ou un sous-vi lors de l exécution. La structure ou le sous- VI concerné se met à clignoter lorsqu il est prêt à être exécuté. Saute l exécution détaillée d une structure ou d un sous-vi lors de l exécution. Termine l exécution détaillée d une structure ou d un sous-vi La palette de commandes Cette fenêtre est associée à la face avant, elle est accessible par un clic droit sur une partie vierge de la face avant ou en sélectionnant le menu Fenêtre/afficher la palette de commandes. Ellepermetdecréersurla face avant toutes les commandes et indicateurs quels que soit leur type. Chaque icone de la palette correspond à une rubrique qui permet d accéder à une fenêtre secondaire contenant l ensemble des éléments relatifs àcetterubriqueutilisablessurlafaceavant. Nombres Booléens Chaînes de caractères Tableaux Clusters Graphiques Types spéciaux... 76
77 THÈME 6. PREMIERS PAS EN LABVIEW R 6.5. L ENVIRONNEMENT LABVIEW R La palette de fonctions Cette fenêtre est associée diagramme, elle est accessible par un clic droit sur une partie vierge de la face avant ou en sélectionnant le menu Fenêtre/afficher la palette de fonctions. Ellepermetdecréersurlediagramme toutes les fonctions de LabVIEW R. Chaque icone de la palette correspond à une rubrique qui permet d accéder à une fenêtre secondaire contenant l ensemble des éléments relatifs à cette rubrique utilisables sur le diagramme. Structures Opérations numériques Opérateurs logiques Comparaisons Fonctions temporelles Entrées/Sorties Acquisition Traitement du signal Statistiques Fonctions réseau... Fonctions crées par l utilisateur La palette d outils La palette d outils est accessible sur la face avant et sur le diagramme. Elle permet de modifier les couleurs, les valeurs, de câbler les entrées et les sorties des terminaux et des nœuds. Elle permet d accéder aux sondes et de placer des points d arrêt sur le diagramme. 77
78 THÈME 6. PREMIERS PAS EN LABVIEW R 6.6. CRÉER UN VI Outils d opération Outil flêche Outil texte Outil fils de liaison Outil propriétés Outil défilement Outil ajouter/retirer un point d arrêt Outil sonde Outil prendre couleur Utilisé pour changer les valeurs des objets sur la face avant. Utilisé pour sélectionner/déplacer des éléments. Utilisé pour changer les dimensions des objets sur la face avant. Utilisé pour changer les commentaires ou les étiquettes. Utilisé pour relier les terminaux et les nœuds sur le diagramme. Utilisé pour relier les contrôles et les indicateurs aux connecteurs de l icone d un sous-vi. Un fil pointillé indique une mauvaise liaison. Utilisé pour accéder directement aux propriétés d un objet. Pas très utile puisque il est possible d accéder directement aux propriétés d un objet par le clic-droit. Utilisé pour déplacer l intérieur d un fenêtre d un seul coup. Utilisé pour insérer ou retirer un point d arrêt sur le diagramme. Utilisé pour insérer une sonde sur un fil du diagramme. Utilisé pour trouver la couleur d un objet pour pouvoir la reproduire grâce à l outil changer couleur. Outil changer couleur Utilisé pour changer la couleur des objets sur la face avant ou le diagramme La fenêtre d aide contextuelle <Ctrl+H> Donne les informations relatives à l objet situé sous le curseur de la souris Le clic droit LabVIEW R est un langage utilisant des variables complexes dans le sens qu elles cachent un peu plus qu un simple nombre... Le clic droit permet d accéder à un menu contextuel qui peut permettre De configurer les paramètres initiaux des variables. De configurer leur comportement. De configurer le domaine de variation. Et bien d autres choses encore Créer un VI Démarrage de LabVIEW R Lors du lancement de LabVIEW R,lafenêtredelancementproposedifférentesoptions 78
79 THÈME 6. PREMIERS PAS EN LABVIEW R 6.6. CRÉER UN VI Fenêtre d accueil LabVIEW R 8 La création d un nouveau VI se fait en cliquant sur la rubrique Nouveau VI (ou Blank VI). Objectif : L objectif est de créer un VI faisant la somme de deux réels et affichant le résultat Méthodologie Comme celà a été présenté, la face avant doit afficher les entrées et les sorties. La conception d un programme LabVIEW R est donc sensiblement différente de celle d un programme écrit dans un langage classique, en effet, l analyse du problème doit débuter par l identification des objets devant apparaître sur la face avant. On commence donc le travail par l identification des contrôles et indicateurs. La face avant est donc construite en premier. Dans le cas du problème proposé, on identifie deux contrôles réels correspondant aux deux nombres à additionner et un indicateur réel qui va recueillir le résultat de l opération Construction de la face avant En cliquant avec la souris sur le contrôle ou l indicateur dans la palette de commandes, on sélectionne l objet à inclure dans le programme et en maintenant le bouton gauche de la souris enfoncé, on tire l objet sur la face avant. 1. Dans le cas de l exemple proposé, on sélectionne dans la palette de commande, sous menu numérique, un contrôle numérique. 79
80 THÈME 6. PREMIERS PAS EN LABVIEW R 6.6. CRÉER UN VI 2. Lorsqu il est possé sur la face avant, l objet prend le nom de numérique1. Pour des raisons de clarté du code, il est impératif de donner des noms explicites aux objets sur la face avant. D autres bonnes raisons pour nommer correctement les variables seront exposées par la suite. Afin de renomer, un objet de la face avant, il faut sélectionner l outil texte sur la palette d outils et cliquer sur l étiquette de l objet afin d éditer le texte. 3. On recommence l opération avec le second contrôle ainsi qu avec l indicateur qui contiendra le résultat. Une fois terminée la face avant ressemble à ce qui suit : Elle comporte deux contrôles numériques pour les entrées et un indicateur numérique pour afficher le résultat. La construction de la partie fonctionnelle de la face avant est terminée. Le concepteur s il le souhaite peut personnaliser la face avant, mais les éléments ajoutés ne serviront qu l aspect cosmétique de l application. Remarque :Laflèched exécutiondelabarredemenuestentièrecequisignifiequel applicationtellequ elle est écrite est exécutable. Cependant, comme seule la face avant a été construite l exécution du VI ne conduira àaucunrésultat,puisquelediagrammen apasétéconstruit Mise en forme de la face avant - retour sur les objets de LabVIEW R Les objets LabVIEW R sont beaucoup plus complexes que de simples variables, comme celà a été indiqué précédemment dans le cours, ils transportent non seulement l information d une variable typée classique mais ont une apparence à l écran qui peut être modifiée par l utilisateur. Certains de ses paramétrages vont être présentés dans cette section. Ces paramètres sont accessibles par le menu contextuel associé à l objet, celui-ci est activé par un clic droit. 1. Contrôles et Indicateurs Numériques (a) Modifier la représentation Cette rubrique du menu contextuel permet de choisir le type de la variable numérique (réel, entier, entier non signé, complexe, simple précision, double précision...). (b) Format et précision Permet de configurer le nombre de chiffre significatif et l apparence du terminal. 80
81 THÈME 6. PREMIERS PAS EN LABVIEW R 6.6. CRÉER UN VI (c) Range Permet de configurer le domaine de variation de la variable ainsi que l action à prendre quand la valeur atteint les bornes. 2. Contrôles et Indicateurs Booléens (Boutons seulement) (a) Action mécanique Permet de configurer le comportement du bouton, interrupteur, déclencheur, bouton poussoir. 3. Contrôles et Indicateurs Chaînes de caractères Choix de limitation à une ligne ou à un retour à la ligne automatique, ou encore à une représentation façon mot de passe. 4. Indicateurs Graphes Choix du format et du comportement des axes et du type de graphique. 5. Pour tous les Contrôles et Indicateurs (a) Valeur par défaut Il est possible de définir une valeur par défaut qui sera celle de la variable au chargement du VI de LabVIEW R. (b) Couleurs L outil pinceau permet de choisir la couleur des éléments d un objet afin de personnaliser son apparence. Important : Il est à noter que même lorsque le VI est arrêté la face avant est active, il est donc possible de modifier les valeurs en face avant, celà permet en particulier pour les booléen d afficher et de configurer les deux états (vrai ou faux) pour par exemple donner à chacun d eux une couleur différente. Bien évidemment, comme le VI est arrêté ces changements ne modifient pas les résultats affichés. Ils ne le seront qu après avoir lancé l exécution Construction du diagramme Une fois la face avant contruite, le diagramme présente l aspect de la figure ci-dessous. On y reconnaît les deux terminaux correspondant aux contrôles, cerclés d un trait gras ainsi que le terminal correspondant à l indicateur, cerclé d un trait maigre. La couleur orange des terminaux indique que les variables sont de type réel, le symbole DBL du terminal donnant le format réel double précision du terminal. Aucune relation n existant entre les entrées et les sorties, l exécution du programme, même si elle se fait sans erreur, ne produira pas de résultat. L écriture d un programme fonctionnel passe donc par la construction du diagramme mettant en relation les entrées et les sorties. C est à dire apporter sur le diagramme les nœuds (ou opérateurs) permettant d accomplir la tâche envisagée. Dans l exemple très simple choisi, il s agit donc dans un premier temps de placer l opérateur addition dans le diagramme. L opération s apparente beaucoup à celle mise en œuvre pour construire la face avant mais en utilisant la palette de fonctions en lieu et place de la palette de commandes. 81
82 THÈME 6. PREMIERS PAS EN LABVIEW R 6.6. CRÉER UN VI 1. L élément somme est sélectionné à partir du sous menu numérique de la palette de commande. Une fois selectionné d un clic gauche de la souris, on tire l opérateur addition sur le diagramme en maintenant le bouton gauche de la souris appuyé et en ne le relachant qu à l emplacement choisi. 2. Il faut alors mettre en relation les terminaux et les nœuds d opération. Ceci se fait en sélectionnant l outil bobine de la palette d outils. On clique sur le terminal correspondant au premier nombre, un fil extensible pointillé apparaît alors entre ce terminal et l extrémité de la bobine, un clic sur le connecteur supérieur gauche de l opérateur addition fixe le fil qui devient alors continu et prend la couleur orange correspondant au type de valeur transitant par ce fil. 3. L opération est recommencée pour chacun des terminaux. Remarque : Tant que l opération n est pas complétée, la flèche d exécution du VI est brisée, indiquant que le programme comporte des erreurs. Insertion des nœuds fonctionnels Câblage I Exécution du VI Une fois le VI complètement câblé, il est opérationnel comme l indique la flèche d exécution non brisée dans la barre de menu. Le VI créé doit donc calculer la somme de deux réels et afficher le résulat. 82
83 THÈME 6. PREMIERS PAS EN LABVIEW R 6.6. CRÉER UN VI Entrer les paramètres Avant de lancer le VI, il faut initialiser les paramètres. Pour celà, il y a deux méthodes, soit directement éditer la valeur du contrôle avec la fonction texte de la palette d outils. Soit utiliser l outil doigt pour cliquer sur les curseurs montant ou descendant des deux contrôles numériques de la face avant afn d afficher les valeurs désirées Exécution Il ne reste plus ensuite qu à cliquer sur la flèche d exécution. On peut remarquer que comme attendu le résutat s affiche dans l indicateur résultat. Puis le programme s arrête. Cette valeur reste la valeur de réultat tant qu une nouvelle exécution du VI n a pas été lancée. Remarque : Ce mode d exécution manque singulièrement d interactivité de la part d un logiciel destiné à l acquisition de données Exécution continue Si au lieu de cliquer sur la flèche d exécution, on clique sur la double flèche d exécution continue. Il est possible de modifier les paramètres d entrée durant l exécution et de voir l effet immédiat sur le résultat. Ce comportement semble plus conforme à celui qu on attend d une application LabVIEW R. Attention :Lemoded exécutioncontinuerevientàrelancer sans arrêt le programme, l interactivité n est donc qu apparente. Ce mode est donc à réserver à la mise au point des codes. Ce n est pas avec cette méthode que sera géré le comportement interactif d un code LabVIEW R Exécution des VIs L exemple précédent peut être modifié pour par exemple calculer la moyenne des deux réels. L analyse du problème montre que la face avant va être identique à la précédente puisque l utilisateur va devoir entrer deux réels et le programme afficher un réel comme résultat. Seul le diagramme est modifié, puisqu il faut rajouter suite à l opérateur somme un nœud diviser commelamoyenneneportequesurunnombreconnuàl avance de réels (2), la branche inférieure du nœud de division sera cablée sur une constante réelle (2, 00). Deux méthodes pour créer la contante : Sélectionner l outil bobine et placer l extréminité du fil de l icone sur le connecteur inférieur gauche du nœud diviser. Appuyer sur le clic droit de la souris, un menu contextuel apparaît, parmi les rubriques proposées créer.lasourisplacéesurcetteligneouvreunsous-menuproposantunelistedechoix indicateur, commande, constante. Sélectionner créer une constante, un terminal affichant 0, 00 apparaît alors, il est automatiquement relié au connecteur du nœud diviser. Ouvrir dans la palette de fonctions, la rubrique numérique et sélectionner l icone constante numérique. Par défaut, la constante créée est de type entier (terminal de couleur bleue) et vaut 0. Il faut donc changer la constante numérique entière en réel double précision (voir paragraphe changement de représentation) et lui affecter la valeur 2, 00. Au final, le VI ressemble à la figure suivante 83
84 THÈME 6. PREMIERS PAS EN LABVIEW R 6.6. CRÉER UN VI Pour comprendre le déroulement du programme, il est important de se rappeler qu en LabVIEW R c est le flux de données qui pilote l exécution du programme. Un nœud du diagramme ne peut être exécuté que si chacune des valeurs nécessaires à son exécution sont présente sur ses connecteurs d entrée. Pour le VI précédent, c est donc la somme qui sera exécutée en premier, la division viendra ensuite puisqu elle nécessite de connaître le résultat de la somme. On peut schématiser le déroulement du VI de la manière suivante : Mise au point du code Un code LabVIEW R n est pas fonctionnel tant que la flèche d exécution apparaît brisée. Une méthode de mise au point consisste à cliquer sur la flèche brisée, une fenêtre apparaît alors indiquant l expression qui pose problème. D autre mécanismes permettent la mise au point d un programme ne comportant pas d erreurs de syntaxe (flèche d exécution entière). Exécution pas à pas Elle permet de suivre le déroulement du programme en suivant le flux des données. Il est alors possible avec les outils de la barre de menu du diagramme de suivre en détail le comportement des différents éléments du programme. Point_d arrêt Il est possible de placer un point d arrêt sur un fil. Le programme s exécute alors puis se met en pause. L élément devant être exécuté en suivant apparaît en clignotant sur le diagramme. Un clic sur le bouton pause relance le programme, jusqu au prochain point d arrêt. Le point d arrêt est accessible à partir de l outil point d arrêt de la palette d outils ou en utilisant dans le menu contextuel (clic droit) la rubrique point d arrêt, unefoislasourispositionnéesurlefilsurlequelle point d arrêt doit être placée. La sonde LabVIEW R permet de poser un sonde sur les fils de connexion, ce qui permet d afficher au vol la valeur transitant par le fil sur lequel est posée la sonde. Lasondeestaccessibleàpartirdel outil sonde de la palette d outils ou en utilisant dans le menu contextuel (clic droit) la rubrique sonde, une fois la souris positionnée sur le fil sur lequel la sonde doit être placée. 84
85 THÈME 6. PREMIERS PAS EN LABVIEW R 6.7. STRUCTURES 6.7 Structures Comme pour beaucoup de langages, LabVIEW R afin d avoir de pouvoir accomplir des tâches complexes doit faire appel à des éléments de codes permettant de dérouter l éxécution du programme. Ces éléments de test, de répétition (boucles) ou d organisation (séquences) sont appelées structures. Entantqu élémentsdeprogrammation, elles apparaissent sur le diagramme et sont accessibles par le premier sous menu de la palette de fonctions. Les structures se comportent comme des nœuds, c est à dire qu elle ne peuvent recevoir des valeurs qu au début de leur exécution et n en produire que quand celle-ci est complètement terminée. Cette étanchéité des structures associée au typage (conctrôle/indicateur) des terminaux va poser quelques difficultés pour réaliser certains calculs, les mécanismes pour contourner ces difficultés sont présentés dans cette section Structures conditionnelles If... Else Cette structure doit être cablée en entrée sur la valeur bouléenne qui va être testée. Si cette valeur est vraie alors le code présent dans la structure visible lorsque le sélecteur est sur vrai sera exécutée sinon ce sera le code présent dans la structure affichée quand le sélecteur est sur faux Case Cette structure est la même que la précédente, ce n est que le fait de la câbler à un entier qui lui fait changer de nature. La structure case est fortement inspirée de la structure switch... case : du C. La valeur entière définit les différents cas à traiter. Le sélecteur peut permettre de traiter autant de cas que nécessaire. Afin que ce genre de structure fonctionne correctement, il faut définit un comportement par défaut, c est à dire quand aucune des conditions n est remplie Boucles While Cette structure répète le code quelle contient tant que la condition qui est cablée à la boucle est fausse (à gauche) ou vrai (à droite). Ce type de boucle doit donc être utilisé quand le nombre de répétition est a priori inconnu, la condition d arrêt survenant lors de l exécution du programme. Attention, laconditiond arrêtétantàl intérieurdelaboucle,il faut veiller à ce que le changement d état soit visible à l intérieur (il doit être lu à chaque itération). L itérateur peut être utilisé, il compte le nombre de fois que le code de la boucle a été répété (première itération i =0). 85
86 THÈME 6. PREMIERS PAS EN LABVIEW R 6.7. STRUCTURES For Cette structure répète le code quelle contient le nombre de fois cablé sur le N en haut à gauche de la boucle. Ce type de boucle doit donc être utilisé quand le nombre de répétition est connu avant d entrer dans la boucle. L itérateur peut être utilisé, il compte le nombre de fois que le code de la boucle a été répété (première itération i =0). Si un seul tableau entre dans la boucle, alors le câblage du nombre d itérations devient optionnel. La boucle sera répétée autant de fois qu il y a d éléments dans le tableau Comportement des boucles en LabVIEW R Une des particularités de LabVIEW R en comparaison des autres langages réside dans la manière de faire référence aux variables. En effet, non seulement, une variable est typée mais en plus elle est directionnelle, c est àdirequ elleestsoitunevariableenlecture(typecontrôle)soitunevariableenécriture(typeindicateur). Ce comportement est imposé par le fait que c est le flux de donnée qui doit piloter l exécution du programme. Dans le code, le mécanisme standard pour accéder à une variable n est pas comme dans de nombreux langages d y faire référence (c est à dire indiquer de façon symbolique la zone mémoire de l ordinateur dans laquelle est stockée la valeur de la variable), mais de récupérer la valeur de celle-ci qui transite sur le fil de connexion. Ce mécanisme rend impossible l écriture en LabVIEW R de l équivalent du bout de code C suivant ; int x; int y; x = 1; y = x; x = x + 1; En effet, une variable LabVIEW R ne peut a priori qu être à gauche (indicateurs) ou à droite (contrôles) du signe égal. Celà renvoit aux notions plus générales en informatique de lvalue (pour left value, à gauche du signe égal) et rvalue (pour right value, à droite du signe égal). Cette propriété de LabVIEW R contraint assez fortement le comportement du code, en particulier lors de l exécution des boucles, puisque, par exmple, la dernière ligne du code C ci-dessus, est un grand classique de la programmation dans les boucles. LabVIEW R offre plusieurs solutions pour résoudre cette difficulté, une spécialement adaptée aux boucles nommé registre à décalage, l autred usagemoinsspécifiquefaisantappelàlanotionde variables locales qui sera présentée plus loin dans le cours. Le comportement spécifique des boucles est résumé dans le graphique suivant : 86
87 THÈME 6. PREMIERS PAS EN LABVIEW R 6.7. STRUCTURES Indexation Automatique c est le comportement par défaut en LabVIEW R, Un tableau en entrée ne transmet à l itération i que son i eme éléments, donc une variable simple et pas un tableau. Chaque itération produit une valeur en sortie, produisant en fin de boucle un tableau de N éléments calculés dans la boucle. Indexation Désactivée En entrée, la variable est transmise sans interprétation. Le comportement n est donc pas changé pour les variables simple, en revanche pour les tableaux, l ensemble du tableau est transmis à l intérieur de la boucle à chaque itération. En sortie, lorsque l indexation est désactivée, seule la dernière valeur calculée est transmise. Registre à Décalage (Shift Register) Ce mécanisme inspiré de l électronique permet de résoudre le problème posé par l impossibilité a priori en LabVIEW R d utiliser à l itération i +1,unrésultatcalculéàl itérationi. Lavaleur calculée à l itération i est stockée dans le registre à décalage qui la restitue à l itération suivante. Il faut prendre la précaution d initialiser le registre à décalage (à Nombre 2 pour le premier exemple, à 0 pour le second). L accès à l indexation ou au registre à décalage se fait en amenant la souris sur le bord vertical de la boucle et en cliquant sur le bouton droit de celle-ci. Le menu contextuel propose alors entre autres choses de modifier le mécanisme d indexation ou de créer un registre à décalage. Ces mécanismes concernent aussi bien les boucles For que les boucles While Séquences Les séquences permettent de définir l ordre d exécution des instructions, la symbolique utilisée est celle d un pellicule de cinéma. Le code de l image indexée 0 est exécuté en premier puis celui de l image indexée 1 ainsi de suite. Il est possible de faire communique les éléments d un séquence entre eux (pour utiliser une valeur calculée dans une image précédente). Cela se fait en déplaçant la souris sur le bord de la séquence et en actionnant le clic droit, le menu contextuel proppose alors d ajouter une séquence locale. Sous ce vocable pas très clair se cache, un mécanisme qui se matérialise par une petite boîte collée à la bordure de la séquence. Si une sortie est cablée dans l image, alors la boîte apparaîtra comme une entrée dans toutes les images suivantes, cette entrée pourra être cablée sur un nœud en vue de son utilisation. Bien évidemment, la petite boîte est inopérante dans les images précédent celles sur laquelle a été câblée la sortie. 87
88 THÈME 6. PREMIERS PAS EN LABVIEW R 6.8. SOUS-VIS Boîtes de calcul LabVIEW R permet aussi de définir des boîtes de calcul permettant d écrire certaines expressions mathématiques de façon plus compactes qu à l aide des nœuds. La boîte de calcul, doît être contruite en faisant apparaître les variables d entrée et de sortie sur les côtés de la boîte, en utilisant le clic droit de la souris de la même façon que précédemment. Il faut donner un nom aux variables d entrée et de sortie car ce sont ces noms de variables qui sont utilisés dans la boîte de formule. LabVIEW R contrôle automatiquement la syntaxe de la boîte, laissant apparaître la flèche brisée tant que celle-ci n est pas correcte. 6.8 sous-vis. Avec leurs terminaux, leurs nœuds et leurs fils, les codes LabVIEW R deviennent rapidement illisibles. L analyse d un code ancien revient souvent à déméler une forêt de fils, ce travail est d autant plus fastidieux que LabVIEW R se prête assez mal à la rédaction de long commentaires explicatifs sur le fonctionnement de tel ou tel algorithme. La programmation LabVIEW R,pourêtreefficaceimposeuncertainnombrederègleslorsdelaconceptiond un code. 1. Les terminaux doivent avoir des noms explicites. Il est préférable de les ordonner (plutôt à gauche du diagramme pour les contrôles, à droite pour les indicateurs). 2. Le câblage doit être le plus direct possible en minimisant les croisement de fils. 3. Le diagramme doit être le plus réduit et ordonné possible, mettant en évidence les différentes fonctionnalités. Cette section se propose d illustrer le troisième point, en présentant la conception de sous programmes LabVIEW R, les sous-vis Un VI plus complexe Afin d illustrer ce mécanisme, on modifie légèrement le cahier des charges du problème de calcul de moyenne : Objectif : Créer un VI calculant la moyenne d un tableau de réels et affichant le résultat ainsi qu un LED rouge si la moyenne est inférieure à 10, vertesinon.lamoyennedoitêtrecalculéeenfaisantlasommedeséléments du tableau dans une boucle Analyse et Ecriture du code La face avant doit comporter un tableau de réels en entrée (contrôle), un indicateur réel et une LED. 1. Création d un tableau sur la face avant. (a) Dans la palette de commande, rubrique tableaux et clusters sélectionner Tableau. Un cadre apparaît sur la face avant, lui correspond sur le diagramme un terminal de couleur noire. Le tableau créé est donc un tableau de rien!!! (pas de type). (b) Faire glisser dans le cadre Tableau une commande numérique réelle. Le tableau devient alors un tableau de réels, comme l indique la couleur orange du terminal sur le diagramme. (c) Sur la face avant, l index indique le premier élément affiché. Il est possible en agrandissant le cadre du tableau d afficher simultanément plusieurs éléments du tableau. (d) Comme pour n importe quelle variable, un clic droit de la souris sur l index permet d accéder aux propriétés du tableau, un clic droit sur un élément permet d accéder aux propriétés des éléments du tableau. 2. Création des autres éléments, indicateur numérique et LED. 3. Sur le diagramme, la somme des éléments du tableau se fait en utilisant un registre à décalage. Le résultat est le suivant : 88
89 THÈME 6. PREMIERS PAS EN LABVIEW R 6.8. SOUS-VIS Création d un sous-vi Le programme ainsi construit accomplit bien la tâche pour laquelle il a été conçu à savoir calculer la moyenne d un tableau de réels de taille inconnue, l afficher et afficher l état de la LED de contrôle. Maintenant, il faut se poser la question suivante : que ferait-on si on devait calculer les moyennes de 4 tableaux les afficher avec leur LED de contrôle? Devrait-on multiplier le nombre de boucles par 4 dans le diagramme? Cela marcherait, bien évidemment mais conduirait à un VI diagramme dont la taille dépasserait largement la taille physique de l écran donc très difficile à lire. Cela signifie en plus dupliquer du code ce qui entraîne des risques d erreur. Une des règles de la programmation LabVIEW R étant d obtenir des diagrammes les plus simples et les plus lisibles possibles, il est intéressant lorsqu un bout de code fonctionne de pouvoir le réutiliser sans avoir à chaque fois à le modifier. C est pour cette raison que dès qu une fonctionnlité est implémentée et qu elle fonctionne, il est important de la transformer en sous-vi. Deux mécanismes de création des sous-vis existent : 1. sous-vi automatique Cette méthode est recommandée quand le code LabVIEW R créé est simple. (a) Al aidedel outilsélection de la palette d outils, sélectionnerlapartiedecodeàtransformerensous programme. (b) Aller dans le menu Edition, sélectionner Créer un sous-vi. (c) LabVIEW R crée alors une nouvelle fenêtre contenant le code. Le bout de code sélectionné dans le programme principal étant remplacé par une icone. (d) Le sous-vi doit alors être enregistré, son icône modifiée et éventuellement ces connecteurs. 2. sous-vi manuel Cette méthode est plus adaptée pour les codes rendant la sélection des éléments du sous-vi complexe. (a) Ouvrir un nouveau VI vide. (b) Sélectionner sur le programme principal (sur le diagramme) les éléments devant être inclus dans le sous-vi. Les copier (Ctrl-C) (c) Les coller (Ctrl-V) sur le diagramme du nouveau VI. (d) Le sous-vi doit alors être sauvegardé, son icone modifiée et ses connecteurs définis. (e) Le sous-vi doit être incorporé au code principal en lieu et place de la partie sélectionnée Modification d un sous-vi Du point de vue du code, un sous-vi a les mêmes propriétés qu un VI, il s en distingue néanmoins par une différence fondamentale, il accepte des arguments et peut donc être inclus dans un VI de niveau supérieur. Cet empilement de VIs va donc imposer une certaine rigueur dans la conception des sous-vis. 1. Lors de la création d un sous-vi, il est important de lui donner un nom explicite, c est à dire un nom ayant un rapport avec la fonctionnalité assurée ce qui rendra son utilisation plus simple. L objectif étant pour l utilisateur de se constituer une bibliothèque de sous-vi personnalisés. 2. La modification de l icône est aussi indispensable, en effet, LabVIEW R produit une icone par défaut identique à un numéro près pour tous les VIs. Dans un but de rendre la lecture des diagrammes plus aisée, il est donc indispensable de personnaliser les icônes en leur donnant des aspects si possible en rapport avec leur fonctionnalité. 89
90 THÈME 6. PREMIERS PAS EN LABVIEW R 6.8. SOUS-VIS. Afin de modifier l icône, il suffit de double-cliquer sur sa représentation dans le coin supérieur droit de la face avant ou du diagramme. Un petit éditeur graphique s ouvre alors permettant de modifier l aspect de l icone qui peut avoir trois représentations différentes en fonction du nombre de couleurs maximal du système sur lequel s exécute le VI. 3. Enfin l édition des connecteurs du sous-vi peut s avérer indispensable. Cela se fait en sélectionnant Afficher le connecteur dans le menu contextuel obtenu après un clic droit de la souris sur la représentation de l icone du VI sur la face avant du sous-vi. Le nombre et la disposition des connecteurs peuvent eux aussi être choisis. Les liaisons entre connecteurs et Contrôles ou Indicateurs de la face avant se font en cliquant successivement sur le connecteur et le contrôle/indicateur correspondant Inclure unsous-vi dans un programme Pour inclure un sous-vi dans un programme, il faut sélectionner le VI en cliquant sur l icône Sélectionner un VI de la palette de commande. L icone apparaît alors sur le diagramme, les connecteurs sont matérialisés par des pattes dont le code couleur est celui des variables d entrée et de sortie attendues.le sous-vi apparaît donc comme un nœud sur le diagramme. Au final, le programme principal calculant la moyenne d un tableau prend l aspect suivant. Si l objectif est de calculer les 4 moyennes des éléments de 4 tableaux, il suffit d utiliser 4 fois le sous-vi calculant la moyenne du tableau, ce qui donne une lecture du code beaucoup plus simple que celle obtenue utilisant 4 boucles... 90
91 THÈME 6. PREMIERS PAS EN LABVIEW R 6.9. CONCLUSION 6.9 Conclusion Ce chapitre a présenté LabVIEW R et les éléments de base d un langage permettant de concevoir rapidement des applications offrant une interface utilisateur puissante et conviviale. La richesse de LabVIEW R empêche de lui consacrer un cours exhaustif, les chapitres suivant vont donc se focaliser sur les éléments du langage permettant d aborder les problèmes pratique d acquisition de données, objectif du cours. 91
92 Thème 7 Acquisitions Sommaire 7.1 Introduction Configurer la carte avec MAX R Accéder au matériel - Contrôle d instruments GPIB Communication série, RS232, USB, VISA R Les cartes d acquisition DAQ Ecrire un VI d acquisition - programmation par l exemple Windows n est pas un système temps réel... et ça complique un peu les choses NI-DAQ, NI-DAQmx les drivers National Instrument L assistant DAQ VIs d acquisition Conclusion Introduction Ce chapitre est consacré à la description des fonctionnalités de LabVIEW R associées à l acquisition de données. Cette description est centrée sur l utilisation des cartes d acquisitions (DAQ) Plug And Play du type de celles construite par National Instrument et insérées dans les slots du BUS du PC. La première section décrit très succintement l utilitaire de configuration des matériels d acquisition MAX R qui est livré avec les distributions de LabVIEW R.Lasecondesectionrevientsurlecontrôled instrumentsetlesdifférentsmatérielsadressables par LabVIEW R,enfinlecœurduchapitredécritplusendétailslefonctionnementetsurtoutlaprogrammation des cartes d acquisition (DAQ). Si l essentiel du chapitre décrit le principe de fonctionnement et l utilisation de carte National Instrument ou compatible, il arrive bien souvent que les outils facilitant l accès à ces cartes ne conviennent pas pour les cartes fournies par d autres constructeurs. Dans ce cas, il faut en général revenir à une approche moins assistée de la programmation. Les principes généraux en sont illustrés à la fin du chapitre à travers la description des fonctions d acquisition de base des anciennes versions de LabVIEW R qui sont plus proches de celles fournies par les autres constructeurs de matériel d acquisition. Il faut cependant garder à l esprit que chaque constructeur, dans le meilleur des cas, fournit ses propres librairies LabVIEW R qui exige donc une étude détaillée de la documentation jointe au matériel pour une mise en œvre optimale. Dans un certain nombre de cas, seuls les pilotes Windows R sont fournis, l utilisateur devra alors par lui même les interfacer avec LabVIEW R,cetravail de programmation avancée est largement au-delà des objectifs de ce cours. Sauf information contraire, les sections suivantes concernent le matériel estampillé National Instrument (ou compatible). 92
93 THÈME 7. ACQUISITIONS 7.2. CONFIGURER LA CARTE AVEC MAX R 7.2 Configurer la carte avec MAX R Les systèmes d acquisition produits par National Instruments et fonctionnant sous Windows R sont tous désormais Plug & Play, les plages d adresse ainsi que les canaux d interruption à travers lesquels Windows R va échanger des informations avec la carte sont attribués automatiquement par le système. National Instruments propose un utilitaire permettant la configuration et l exploration des différents périphériques d acquisition de données. Ce programme appelé MAX R fait apparaître dans sa section périphériques et interfaces les différents matériels connectés. Permettant de modifier leur configuration, comme les plages de tension de la carte par exemple. MAX R permet aussi de tester le matériel, une batterie de diagnostics est proposée à l utilisateur afin de mettre en évidence une éventuelle défaillance de la ressource matérielle. Le rôle de MAX R est non seulement de permettre la configuration matérielle des périphériques d acquisition mais aussi de transmettre ces configurations à LabVIEW R qui peut alors faire les contrôles nécessaires lors de la mise enœuvre des VIs. Un autre rôle important de MAX R est d attribuer les numéros de périphérique, numéros par lesquels LabVIEW R fait référence aux différents matériels installés sur le PC. 7.3 Accéder au matériel - Contrôle d instruments Comme cela va être décrit dans la section suivante LabVIEW R permet de construire des programmes d acquisition de données utilisant les cartes d acquisition (DAQ) insérées dans le PC, mais il permet aussi de piloter des instruments susceptibles eux aussi de prendre des données. Cette capacité de contrôle d instruments se fait àtraversdesinterfacesetdesprotocolesspécifiquesquivontêtretrèssuccintementdécritsdanscettesection. Les deux grandes standards utilisés pour le contrôle d instruments sont les liaisons série et le GPIB. La liaison série qui occupe tous les ordinateurs est souvent assez déroutante à programmer car le protocole de communication peut se révéler assez peu normaliser. Ecrire un programme pour une interface série demande souvent de longs moments de mise au point tant sur la partie logicielle que sur la partie matérielle (cable croisés oou pas par exemple...) Le bus GPIB est quant à lui un standard bien mieux définit laissant beaucoup moins de place à l interprétation en terme de norme de signaux et de protocole d échange d information entre le PC et l instrument. Cependant, l interface GPIB qui n est pas implémenté en standard sur les PC demande l achat d une carte spécifique à insérer dans le PC ainsi que de connecteurs dont le coût est assez élevé. Ce chapitre va donc décrire très rapidement ces deux interfaces ainsi que VISA R,unoutilsdeprogrammation développé dans LabVIEW R et chargé de gommer pour le programmeur, les différences entre protocoles. Chaque type d interface apparaissant alors comme piloté suivant une syntaxe commune GPIB De nombreux instruments de mesure professionnels sont désormais, de fait, de véritables systèmes d acquisition de données (oscilloscopes numériques, multimètres, sondes de température, etc, etc...), le rôle du PC va donc dans ce cas se résumer à envoyer les instruction de configuration à l appareillage et à récupérer les données acquises àtraversunprotocoledonnéafindelestraiteraveclecalculateurdel ordinateuroudelesstocker.lanorme IEE 488.2, connue sous le nom de GPIB (General Purpose Interface Bus) définit les caractéristiques électriques, mécaniques (connectique), fonctionnelles de l interface ainsi que le protocole d échange d informations. Le GPIB est une liaison parallèle 8 bits, permettant un débit de données allant jusqu à 1Mo/s. Une fois les paramètres caractéristiques de la liaison GPIB configurées avec MAX R,l échangeavecl appareilse fait à travers une série d instructions au format standardisé mais dont la syntaxe dépend de chaque appareillage. Avant de programmer un instrument GPIB, il faut donc lire attentivement sa documentation. Les appareillages sont repérés par leur numéro de bus (numéro de la carte de contrôle GPIB) et par leur numéro d appareil (0 à 30). Comme indiqué pus haut, le code de programmation se présentant sous forme de chaîne de caractères en ASCII dépend de chacun des appareillages mis en œuvre bien qu un effort de standardisation important conduise à une syntaxe à peu près commune pour ce qui concerne les taches standard (comme *idn? qui demande à l appareil de renvoyer ses données d indentification ou FUNC :MEAS.). 93
94 THÈME 7. ACQUISITIONS 7.3. ACCÉDER AU MATÉRIEL - CONTRÔLE D INSTRUMENTS Communication série, RS232, USB,... Ces types de ports sont présents sur tous les PCs, on pourait donc croire qu ils constituent donc la voie privilégiée pour le pilotage des instruments, cependant un petit retour historique permet de comprendre pourquoi le besoin de définir d autres norme s est fait ressentir. A l origine, la liaison série a été utilisée en informatique pour relier deux terminaux entre eux. Etant donné son faible coût et sa présence sur tous les ordinateurs, elle s est ensuite ouverte au contrôle d instruments mais sans réelle standardisation, ni sur le plan de la connectique (brochage des paires de fils) ni sur les caractéristiques du protocole. De plus, aucun protcole automatique de configuration du port n existe, il est donc nécessaire de régler les paramètrs soit même Paramètrages Le principe de la communication série étant de faire passer toute l information sur le même fil, il est nécessaire pour synchroniser l échange de données de configurer un certain nombre de paramètres. Vitesse de transmission de l information en bits par secondes (on parle de bauds) Nombre de bits de données (7 ou 8) Bit de parité (existant ou non) permet un contrôle de bonne réception des données envoyées (toute les données devant être paires ou impaires selon les cas) Bits d arrêts (1, 1, 5 ou 2) Définit le temps d attente après une transmission. Contrôle de flux (handshake) Permet l attente d un accusé de réception envoyé soit sur les lignes matérielles (RTS/CTS lignes servant au contrôle des informations envoyées) soit logicielle (XON/XOFF), soit ne pas attendre d accusé de réception. Chacun de ces points de configuration est indépendant, une liaison série ne pouvant être opérationnelle qu à la condition que ces paramètres soient identiques pour les deux ports reliés Matériel Il existe principalement deux normes matérielles pour le communicaion série RS-232 c est la liaison la plus commune sur les PC, elle utilise des tensions référencées par rapport à une masse commune et est par conséquent très sensible au bruit. Les longueurs de cables sont donc limitées à une quizaine de mètres. Elle équipe cependant beaucoup d intruments de mesure. RS-429, RS-422, RS-423, RS Ces liaisons utilisent des paires croisées différentielles qui permettent des communications à plus longues distance et des débits plus élevés en s affranchissant des bruits. Elles trouvent leur application dans les communications en milieu industriel très bruité. Connectique Les connecteurs les plus répandus pour les ports série sont des connecteurs 9 broches (DB-9) ou 25 broches (DB-25). Ceux à l arrière d un PC sont de type mâle, en ravanche ceux des appareillages peuvent être mâles ou femelles, les câbles de liaison pouvant être croisés ou droits suivant le brochage interne de l appareil de mesure. La mise en œuvre d un contrôle série pour un appareil de mesure demande un lecture plus qu attentive de la brochure et en général une certaine combativité pour obtenir le fonctionnement désiré VISA R VISA R n est ni une interface ni un protocole de communication mais une couche logicielle bas niveau qui permet de s affranchir dans une certaine mesure de la nature de l interface à piloter. Elle permet de communiquer avec les ports d entrée/sortie installés sur le PC sans se soucier (en théorie) de l interface. Cela présente l avantage de rendre les codes portables d une interface à l autre et de s affranchir des spécifités de chacunes des interfaces, VISA R s en chargeant à la place du programmeur. LabVIEW R possède une série de fonctions permettant d accéder aux commandes VISA R. 94
95 THÈME 7. ACQUISITIONS 7.4. LES CARTES D ACQUISITION DAQ. Les fonctions VISA R font appel à une ressource du système (terme désignant un appareil connecté sur un port (série, USB, GPIB,...)), qui possède un nom identifiant le type d interface, une adresse et un type de session. Les fonctions VISA R les plus intensivement utilisées se résument alors à VISA Read et VISA Write permettant de lire l information depuis l appareil de mesure ou de l envoyer vers celui-ci. 7.4 Les cartes d acquisition DAQ. La section précédente a présenté un des aspects très intéressants de LabVIEW R,lepilotaged instrumentsde mesure par le PC, cette section va s attacher a présenter un autre aspect essentiel de LabVIEW R àsavoirla transformation du PC en véritable système d acquisition de données à l aide d une carte DAQ Ecrire un VI d acquisition - programmation par l exemple Une bonne manière d apprendre à écrire les VIs d acquisition est d aller chercher dans les nombreux exemples accessibles par le menu d aide LabVIEW R (Aide/Recherche d exemples). Cependant afin de rendre cette recherche d exemple efficace, il est nécessaire de définir les mots-clés du problème, ceci est aussi vrai pour n importe quelle recherche d exemples que ce soit dans la base d exemple locale de LabVIEW R ou dans celle accessible sur intenet. Pour une tâche de programmation d une acquisition de donnée par carte DAQ, les exemples sont donc à chercher dans la rubrique Entrées/Sorties Matérielles (Hardware Input and Output), puis dans la rubrique DAQ (au passage on remarque que c est aussi à ce niveau là que l on peut atteindre les exemples concernant le pilotage d instruments). Il faut alors identifier le type de voie d acquisition que l on veut piloter (Entrée Analogique, Sortie Analogique, Entrée/Sortie digitale, Compteur, etc...). C est ensuite que les choses se compliquent puisque LabVIEW R propose une bonne vingtaine d exemples différents pour chacune des rubriques citées précédemment. Aceniveau,ilfautavoirunebonneidéedelatâcheàaccompliretsurtoutcomprendrelemodedefonctionnement des cartes DAQ National Instruments, tout est une question de temps Windows n est pas un système temps réel... et ça complique un peu les choses... Toutes les communications entre LabVIEW R et la carte d acquisition passent par le système d exploitation du PC. Si l on considère un PC sous Windows R (bien que le fonctionnement soit différent, le problème existe aussi sous LINUX), le traitement des instructions se fait par queues de messages provenant des différents programmes s exécutant sur l odinateur et qui sont traitées les unes après les autres. Le temps entre l envoi d une instruction par un programme et son exécution effective n est donc pas constant et dépend des autres programmes s exécutant en parallèle sur l ordinateur. On dit que le système n est pas temps réel. Ce comportement est sans importance pour la plupart des applications standard dont le résultat ne dépend pas de la durée de l exécution. L incertitude sur la durée d exécution d une instruction étant petite, il n est pas non plus pénalisant pour les acquisitions de données à faible fréquence d échantillonnage (10 100Hz). En revanche, cette incertitude sur la durée d exécution d une instruction rend Windows R complétement inopérant pour les acquisitions demandant une fréquence d échantillonnage élevée. Cette difficultée, a priori insurmontable puisqu elle dépend du système d exploitation et donc du cœur du programme du PC, a été contournée en permettant le cas échéant de confier l essentiel de la tâche d acquisition àlacartedaqelle-même,larendantainsiindépendantedusystèmed exploitationetdelachargeéventuelle du PC, en terme de logiciels s exécutant. LabVIEW R proppose donc deux manières de construire une acquisition de données, l une réservée aux acquisitions à faible fréquence ou celles indépendantes du paramètre temps, faisant appel àdesfonctionsaccédantdirectementauxdifférentesvoiesmatériellesdelacartedaq. l autre pour les acquisition haute fréquence, faisant appel à des fonctions préparant dans un premier temps la tâche d acquisition au niveau de la carte DAQ, avant de déclencher son exécution séquencée par l horloge interne de la carte. L échange avec LabVIEW R se faisant alors à un rythme beaucoup plus lent et supportable par le système d exploitation à travers un tampon de mémoire (buffer) implanté sur la carte. 95
96 THÈME 7. ACQUISITIONS 7.4. LES CARTES D ACQUISITION DAQ. Les fonctions LabVIEW R sont donc doublées, les unes destinées à la mesure point à point (mesure directe), les autres aux mesures d échantillons multiple (en passant par le buffer de la carte). Si les premières conduisent à des VIs simples puisque les actions sont directement adressées aux voies matérielles, les secondes demandent une approche plus complexe, puisque les tâches à effectuer doivent être définies à l avance (taille du buffer d échange, éventuelle forme de signal pour la génération, définition de la fréquence d échatillonnage, nombre de répétitions de l échantillonnage...), transférées dans la mémoire de la carte et ce n est qu ensuite que la tâche d acquisition peut démarrer. Ceci conduit à des VIs sensiblement plus développés NI-DAQ, NI-DAQmx les drivers National Instrument National Instrument propose pour l ensemble des matériels qu il commercialise, un jeu de drivers spécifiques supposés optimiser l accès aux cartes du constructeur. Ces drivers portent le nom de NI-DAQ pour l ancienne génération et NI-DAQmx pour la nouvelle. Les fonctionnalités associées à ses drivers sont accessibles à travers une séries de nœuds accessibles par le menu E/S de mesure de la palette de fonctions. Leur objectif est de simplifier tout l aspect laborieux lié àl accèsaumatériel. La philosophie générale est de définir à l avance la tâche àaccompliretdetransmettrecettetâcheàlacarte. Suite à un ordre de départ, la carte se charge de façon quasi autonome de l acquisition. Cette façon indirecte de d accéder au matériel est très efficace pour des tâches d acquisition simples. Il faut cependant «entrer» dans la logique de programmation NI-DAQmx, ce qui n est pas forcément évident. National Instrument a délibérément fait des choix stratégiques dans l approche de l acquisition de données visant à faciliter voire même à rendre élémentaire la tâche de l Ingénieur pilotant un banc de mesure (mesure de signaux temporel et analyse du signal). Cependant, cette approche n est pas nécessairement adaptée aux nécessités du physicien (détection et caractérisation d évènements aléatoires en particulier). Pour effectuer des tâches d acquisition moins élémentaires cette approche peut s avérer redoutablement complexe L assistant DAQ Depuis la version 8 de LabVIEW R,laconstructiondeVIpourdesacquisitionssimplesaétélargementfacilitée par l apparition d un assistant qui permet de configurer les paramètres principaux de l acquisition, cet assistant est accessible à partir du menu E/S de mesure / DAQmx- Data Acquisition de la palette de fonctions. 96
97 THÈME 7. ACQUISITIONS 7.4. LES CARTES D ACQUISITION DAQ. L assistant permet, en particulier, de configurer les paramètres suivants : Type de voies Numériques Analogiques Compteurs Sens Entrée Sortie Référencement pour les voies analogiques Différentiel Référencé à la masse... de définir le processus d acquisition Nombre d échantillons à acquérir Mode de fonctionnement Déclenchement... Cliquer sur l icône affichée sur le diagramme provoque l ouverture de l assistant Acquérir des signaux analogiques Choisir la tâche à accomplir Choisir la voie d acquisition 97
98 THÈME 7. ACQUISITIONS 7.4. LES CARTES D ACQUISITION DAQ. Paramétrer la tâche Rendre le VI d acquisition opérationnel Le diagramme ressemble alors à ce qui suit, il faut alors connecter aux nœud les paramètres extérieurs de configuration qui rendront le VI opérationnel. Une version finalisée à la mode NIDAQmx du VI pourrait ressembler par exemple à ce qui suit : Acquérir des signaux numériques Il existe deux façons d adresser les voies numériques, on peut soit adresser les lignes individuellement, l information à passer (ou à recevoir) à la ligne individuelle est donc l état haut ou bas de la voie, l argument est donc de type booléen ou plutôt tableau de booléen car plusieurs voies peuvent être adressées simultanément. Cependant, les lignes individuelles sont physiquement groupées par paquets de 8 sur le composant, ce paquet de lignes prend alors le nom de port. Il est alors possible d adresser directement le port. L information envoyée est donc un paquet de 8 états de ligne (des 0 ou des 1 informatiques) qui représentent un octet de données, l information est donc contenue dans un entier non signé (U8) ou plutôt un tableau d entiers non signés puisque plusieurs ports sont adressables simultanément. Choisir la tâche à accomplir 98
99 THÈME 7. ACQUISITIONS 7.4. LES CARTES D ACQUISITION DAQ. Choisir la voie d acquisition (lignes numériques) Paramétrer la tâche (lignes numériques) Rendre le VI d acquisition opérationnel (lignes numériques) Le diagramme ressemble alors à ce qui suit, il faut alors connecter au nœud les paramètres extérieurs de configuration qui rendront le VI opérationnel. 99
100 THÈME 7. ACQUISITIONS 7.4. LES CARTES D ACQUISITION DAQ. Choisir la voie d acquisition (ports numériques) Paramétrer la tâche (ports numériques) Rendre le VI d acquisition opérationnel (ports numériques) Le diagramme ressemble alors à ce qui suit, il faut alors connecter au nœud les paramètres extérieurs de configuration qui rendront le VI opérationnel. 100
101 THÈME 7. ACQUISITIONS 7.4. LES CARTES D ACQUISITION DAQ Produire des signaux analogiques Choisir la tâche à accomplir Choisir la voie d acquisition Paramétrer la tâche Rendre le VI d acquisition opérationnel Le diagramme ressemble alors à ce qui suit, il faut alors connecter au nœud les paramètres extérieurs de configuration qui rendront le VI opérationnel. 101
102 THÈME 7. ACQUISITIONS 7.4. LES CARTES D ACQUISITION DAQ Produire des signaux numériques Choisir la tâche à accomplir Choisir la voie d acquisition (lignes numériques) Paramétrer la tâche (lignes numériques) 102
103 THÈME 7. ACQUISITIONS 7.4. LES CARTES D ACQUISITION DAQ. Rendre le VI d acquisition opérationnel (lignes numériques) Le diagramme ressemble alors à ce qui suit, il faut alors connecter au nœud les paramètres extérieurs de configuration qui rendront le VI opérationnel. Choisir la voie d acquisition (ports numériques) Paramétrer la tâche (ports numériques) 103
104 THÈME 7. ACQUISITIONS 7.4. LES CARTES D ACQUISITION DAQ. Rendre le VI d acquisition opérationnel (ports numériques) Le diagramme ressemble alors à ce qui suit, il faut alors connecter au nœud les paramètres extérieurs de configuration qui rendront le VI opérationnel VIs d acquisition Dans le cas où la carte d acquisition n est pas compatible avec NIDAQ ou NIDAQmx, la reconnaissance de la carte par MAX R n est pas possible. Les fonctions présentées précédemment ne sont alors d aucune utilité. Dans le pire des cas, le programmeur doit lui même écrire les VIs d acquisition qui accèdent aux pilotes Windows R (fichiers.dll) de la carte. Cette tâche demande une compréhension des concepts de l acquisition de données et du fonctionnement de Windows R qui se situe bien au delà du propos de ce cours. En revanche, nombre de cartes sont livrées non seulement avec les pilotes Windows R mais aussi avec lun jeu de fonction LabVIEW R permettant d accéder à ces pilotes. Même si ces fonctions sont spécifiques à chaque constructeur de matériel, un certain nombre de principes généraux peuvent être illustrés à partir des anciennes fonctions d acquisitions du matériel National Instrument (avant la mise en œvre de NIDAQ). L ensemble des VIs d acquisition sont groupés dans la palette Acquisition de données. On y trouve les VIs permettant d accéder aux Entrées Analogiques, Sorties Analogiques, Entrées/Sorties Numérique ainsi qu aux Compteurs/Timers. En ouvrant ces différentes palettes, on peut constater que les VIs sont organisés dans une arborescence allant des VIs permettant d effectuer les tâches simples d acquisition de données jusqu à des VIs beaucoup plus pointus permettant d opérer au plus près du matériels, ces derniers sont réservés à un utilisateur expérimenté. 104
105 THÈME 7. ACQUISITIONS 7.4. LES CARTES D ACQUISITION DAQ Entrées analogiques Les quatres VIs permettant d accéder aux voies Analogiques en lecture (leur nombre dépend du modèle de la carte d acquisition), suivent l organisation décrite plus haut. Deux permettent de faire l acquisition d une seule valeur (acquisition directe) sur une ou plusieurs voies. Deux permettent de faire l acquisition de plusieurs valeurs avec une période d échantillonnage sur une ou plusieurs voies. Les arguments communs à ces fonctions sont Le numéro de périphérique (c est le numéro de la carte d acquisition affecté par le gestionnaire de configuration de périphériques fourni par le constructeur du matériel) Le numéro de voie, ou les numéros de voies données dans un tableau. Les limites hautes et basses qui définissent le gain de la carte. Les valeurs de sorties peuvent être de deux types : Des valeurs numériques ou des tableaux de valeurs numériques. C est l ancienne forme de sortie des données LabVIEW R,ellecorrespondaurésultatdelamesureoudupointéchantillonnésansnotiondetemps. Des WaveForms ou des tableaux de WaveForms, qui correspondent à la nouvelle forme de sortie des données, àsavoirunclustercomportanttroischampsnumériques: Une date de départ de la mesure t 0. Un pas de temps dt entre chacune des valeurs mesurées. Un tableau de valeur Y correspondant aux valeurs mesurées (les mêmes que celles de l ancien format). Le choix du type de variable de sortie se fait en sélectionnant le format choisit dans le menu contextuel obtenu par clic droit sur l icone entrée analogique considérée. Il est possible d accéder aux champs du cluster (en particulier au tableau de données) en utilisant les fonctions permettant de désassembler les clusters Sorties analogiques Les quatres VIs permettant d accéder aux voies Analogiques en écriture (leur nombre dépend du modèle de la carte d acquisition), suivent l organisation décrite plus haut. Deux permettent de faire la génération d une seule valeur (la valeur est directement affichée sur la voie) sur une ou plusieurs voies. Deux permettent de faire la génération d un signal avec une période d échantillonnage sur une ou plusieurs voies. Le modèle de signal doit être généré au préalable, sa forme transférée dans le buffer de la carte, cette mémoire est ensuite lue par la carte, une, ou plusieurs fois à une fréquence donnée par l utilisateur. Attention, lorsd unegénération continue, il faut penser à stopper la génération et à remettre la voie à 0 avec le VI de génération d une seule valeur. Les arguments communs à ces fonctions sont Le numéro de périphérique (c est le numéro de la carte d acquisition affecté par le gestionnaire de configuration de périphériques fourni par le constructeur du matériel) Le numéro de voie, ou les numéros de voies données dans un tableau Entrées/Sorties Numériques - Compteurs/Timers Deux types de ports numériques sont accessibles sur les cartes multifonction Des Entrées/Sorties Numériques. Des Compteurs/Timers Les arguments communs à ces fonctions sont Le numéro de périphérique (c est le numéro de la carte d acquisition affecté par le gestionnaire de configuration de périphériques fourni par le constructeur du matériel) Le numéro de voie, ou les numéros de voies données dans un tableau. 105
106 THÈME 7. ACQUISITIONS 7.5. CONCLUSION Entrées/Sorties Numériques De la même manière que ce qui a été présenté précédemment avec l assistant, les voies numériques sont groupées par ports, unevoieindividuelleprenantlenomdeligne. Il est possible d accéder à une ligne individuelle d un port donné et d afficher ou de lire son état (rappel une ligne numérique ne peut avoir que deux états haut ou bas), la valeur est alors un booléen. Il est aussi possible d adresser le port entier en une seule opération la valeur écrite ou lue est alors un entier codé sur un nombre de bits dépendant de la largeur du port (8 bits en général, mais certaines carte ont des ports 16 bits). Le code binaire associé à la valeur de l entier correspond directement à l état des lignes individuelles du port. Les ports étant bidirectionnel, il peut s avérer nécessaire des les configuer en lecture ou en écriture (les VIs simples s en chargent eux-même). Compteurs/Timers Les compteurs sont un ensemble de registres permettant de compter les fronts d un signal extérieur ou d une horloge. Ils sont utilisés pour le comptage, la mesure de fréquence, ou pour générer des impulsions Déclenchement Le déclenchement n est pas abordé dans ce chapitre, mais il faut savoir qu il est bien évidemment possible de configurer un déclenchement pour les acquisitions par l intermédiaire d une carte DAQ. Ce trigger peut être logiciel, mais surtout matériel, les cartes présentant une ou deux voies dédiées au déclenchement par un signal extérieur. Leur emploi nécessite de se référer aux exemples fournis avec les distributions de LabVIEW R. 7.5 Conclusion Ce chapitre a présenté de façon succinte les possibilités de LabVIEW R dans le domaine de l acquisition de données. Le champ couvert, par conséquent les possibilités offertes par LabVIEW R sont bien plus étendues que ce qui est présenté ici. Ce chapitre doit permettre au lecteur de se familiariser avec les notions associées àl acquisitionetdepouvoirdéfinircorrectementlesmotsclésassociésàlatâcheàaccompliretpouvoirainsi effectuer une recherche fructueuse dans les nombreux exemples proposés dans l aide. 106
107 Conclusion Ce cours consacré à l acquisition de données a présenté dans une première partie, les principes et les dispositifs électroniques permettant de passer d une grandeur physique à une donnée informatique exploitable par le physicien. L objectif n est pas de permettre au lecteur de pouvoir créer ses dispositifs mais de comprendre en quoi consiste le processus d acquisition de données. Il en va de même pour la seconde partie consacrée à l aspect logiciel à travers une introduction à LabVIEW R pour laquelle il n est évidemment pas question de faire le tour des possibilités de ce logiciel extrêmement riche, mais d en comprendre les objectifs ainsi que la philosophie, à savoir permettre à des non informaticiens de produire des codes d acquisition de données au moindre effort. L objectif est ici de donner les briques de bases permettant de se lancer dans l inconnu que constitue en général la rédaction d un programme d acquisition de données. En général, cette tâche n a qu un rapport assez lointain avec ce que le programmeur à l habitude de faire ou a déjà fait puisque le code d acquisition répond en général à un problème spécifique pour une configuration matérielle spécifique. Cependant, cette nouveauté n est en général qu apparente, les principes de bases restant les mêmes quel que soit le matériel utilisé et même le logiciel d acquisition mis en oeuvre. Il est clair que ce cours mériterait probablement un développement sur les notions de représentation graphique et de sauvegarde de fichiers sous LabVIEW R. Il est aussi probable qu un chapitre consacré à la notion de déclenchement et de temps mort pourrait apporter un complément non négligeable aux notions abordées ici. Ce sera peut-être pour les prochaines moûtures
INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE
INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE Le schéma synoptique ci-dessous décrit les différentes étapes du traitement numérique
La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)
La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA) I. L'intérêt de la conversion de données, problèmes et définitions associés. I.1. Définitions:
I- Définitions des signaux.
101011011100 010110101010 101110101101 100101010101 Du compact-disc, au DVD, en passant par l appareil photo numérique, le scanner, et télévision numérique, le numérique a fait une entrée progressive mais
Transmission de données. A) Principaux éléments intervenant dans la transmission
Page 1 / 7 A) Principaux éléments intervenant dans la transmission A.1 Equipement voisins Ordinateur ou terminal Ordinateur ou terminal Canal de transmission ETTD ETTD ETTD : Equipement Terminal de Traitement
Numérisation du signal
Chapitre 12 Sciences Physiques - BTS Numérisation du signal 1 Analogique - Numérique. 1.1 Définitions. Signal analogique : un signal analogique s a (t)est un signal continu dont la valeur varie en fonction
TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S
FICHE Fiche à destination des enseignants TS 35 Numériser Type d'activité Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S Compétences
CHAPITRE V. Théorie de l échantillonnage et de la quantification
CHAPITRE V Théorie de l échantillonnage et de la quantification Olivier FRANÇAIS, SOMMAIRE I INTRODUCTION... 3 II THÉORIE DE L ÉCHANTILLONNAGE... 3 II. ACQUISITION DES SIGNAUX... 3 II. MODÉLISATION DE
- Instrumentation numérique -
- Instrumentation numérique - I.Présentation du signal numérique. I.1. Définition des différents types de signaux. Signal analogique: Un signal analogique a son amplitude qui varie de façon continue au
Chaine de transmission
Chaine de transmission Chaine de transmission 1. analogiques à l origine 2. convertis en signaux binaires Échantillonnage + quantification + codage 3. brassage des signaux binaires Multiplexage 4. séparation
Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté
Compétences travaillées : Mettre en œuvre un protocole expérimental Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique
Equipement. électronique
MASTER ISIC Les générateurs de fonctions 1 1. Avant-propos C est avec l oscilloscope, le multimètre et l alimentation stabilisée, l appareil le plus répandu en laboratoire. BUT: Fournir des signau électriques
UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd
UE 503 L3 MIAGE Initiation Réseau et Programmation Web La couche physique A. Belaïd [email protected] http://www.loria.fr/~abelaid/ Année Universitaire 2011/2012 2 Le Modèle OSI La couche physique ou le
TD1 Signaux, énergie et puissance, signaux aléatoires
TD1 Signaux, énergie et puissance, signaux aléatoires I ) Ecrire l'expression analytique des signaux représentés sur les figures suivantes à l'aide de signaux particuliers. Dans le cas du signal y(t) trouver
Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN)
1/5 Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN) Objectifs : Reconnaître des signaux de nature analogique et des signaux de nature numérique Mettre en
Chapitre 13 Numérisation de l information
DERNIÈRE IMPRESSION LE 2 septembre 2013 à 17:33 Chapitre 13 Numérisation de l information Table des matières 1 Transmission des informations 2 2 La numérisation 2 2.1 L échantillonage..............................
Acquisition et conditionnement de l information Les capteurs
Acquisition et conditionnement de l information Les capteurs COURS 1. Exemple d une chaîne d acquisition d une information L'acquisition de la grandeur physique est réalisée par un capteur qui traduit
Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test
11 juillet 2003 Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test Mariane Comte Plan 2 Introduction et objectif
J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE
RANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE Un message numérique est une suite de nombres que l on considérera dans un premier temps comme indépendants.ils sont codés le plus souvent
UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
ECTS INFORMATIQUE ET RESEAUX POUR L INDUSTRIE ET LES SERVICES TECHNIQUES
ECTS INFORMATIQUE ET RESEAUX POUR L INDUSTRIE ET LES SERVICES TECHNIQUES CHAPITRES PAGES I DEFINITION 3 II CONTEXTE PROFESSIONNEL 3 HORAIRE HEBDOMADAIRE 1 er ET 2 ème ANNEE 4 FRANÇAIS 4 ANGLAIS 5 MATHEMATIQUES
Régler les paramètres de mesure en choisissant un intervalle de mesure 10µs et 200 mesures.
TP Conversion analogique numérique Les machines numériques qui nous entourent ne peuvent, du fait de leur structure, que gérer des objets s composés de 0 et de. Une des étapes fondamentale de l'interaction
Systèmes de transmission
Systèmes de transmission Conception d une transmission série FABRE Maxime 2012 Introduction La transmission de données désigne le transport de quelque sorte d'information que ce soit, d'un endroit à un
VIII- Circuits séquentiels. Mémoires
1 VIII- Circuits séquentiels. Mémoires Maintenant le temps va intervenir. Nous avions déjà indiqué que la traversée d une porte ne se faisait pas instantanément et qu il fallait en tenir compte, notamment
Convertisseurs statiques d'énergie électrique
Convertisseurs statiques d'énergie électrique I. Pourquoi des convertisseurs d'énergie électrique? L'énergie électrique utilisée dans l'industrie et chez les particuliers provient principalement du réseau
Donner les limites de validité de la relation obtenue.
olutions! ours! - Multiplicateur 0 e s alculer en fonction de. Donner les limites de validité de la relation obtenue. Quelle est la valeur supérieure de? Quel est le rôle de 0? - Multiplicateur e 0 s alculer
ELEC2753 Electrotechnique examen du 11/06/2012
ELEC2753 Electrotechnique examen du 11/06/2012 Pour faciliter la correction et la surveillance, merci de répondre aux 3 questions sur des feuilles différentes et d'écrire immédiatement votre nom sur toutes
1. PRESENTATION DU PROJET
Bac STI2D Formation des enseignants Jean-François LIEBAUT Denis PENARD SIN 63 : Prototypage d un traitement de l information analogique et numérique (PSoC) 1. PRESENTATION DU PROJET Les systèmes d éclairage
Automatique Linéaire 1 Travaux Dirigés 1A ISMIN
Automatique Linéaire 1 Travaux Dirigés Travaux dirigés, Automatique linéaire 1 J.M. Dutertre 2014 TD 1 Introduction, modélisation, outils. Exercice 1.1 : Calcul de la réponse d un 2 nd ordre à une rampe
LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION
LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION ) Caractéristiques techniques des supports. L infrastructure d un réseau, la qualité de service offerte,
- MANIP 2 - APPLICATION À LA MESURE DE LA VITESSE DE LA LUMIÈRE
- MANIP 2 - - COÏNCIDENCES ET MESURES DE TEMPS - APPLICATION À LA MESURE DE LA VITESSE DE LA LUMIÈRE L objectif de cette manipulation est d effectuer une mesure de la vitesse de la lumière sur une «base
Chapitre 2 : communications numériques.
Chapitre 2 : communications numériques. 1) généralités sur les communications numériques. A) production d'un signal numérique : transformation d'un signal analogique en une suite d'éléments binaires notés
8563A. SPECTRUM ANALYZER 9 khz - 26.5 GHz ANALYSEUR DE SPECTRE
8563A SPECTRUM ANALYZER 9 khz - 26.5 GHz ANALYSEUR DE SPECTRE Agenda Vue d ensemble: Qu est ce que l analyse spectrale? Que fait-on comme mesures? Theorie de l Operation: Le hardware de l analyseur de
Technique de codage des formes d'ondes
Technique de codage des formes d'ondes Contenu Introduction Conditions préalables Conditions requises Composants utilisés Conventions Modulation par impulsions et codage Filtrage Échantillon Numérisez
Université de La Rochelle. Réseaux TD n 6
Réseaux TD n 6 Rappels : Théorème de Nyquist (ligne non bruitée) : Dmax = 2H log 2 V Théorème de Shannon (ligne bruitée) : C = H log 2 (1+ S/B) Relation entre débit binaire et rapidité de modulation :
Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN
Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Table des matières. Introduction....3 Mesures et incertitudes en sciences physiques
Expérience 3 Formats de signalisation binaire
Expérience 3 Formats de signalisation binaire Introduction Procédures Effectuez les commandes suivantes: >> xhost nat >> rlogin nat >> setenv DISPLAY machine:0 >> setenv MATLABPATH /gel/usr/telecom/comm_tbx
LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES
LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES Compétences mises en jeu durant l'activité : Compétences générales : S'impliquer, être autonome. Compétence(s) spécifique(s) : Reconnaître des signaux de nature
Chapitre 18 : Transmettre et stocker de l information
Chapitre 18 : Transmettre et stocker de l information Connaissances et compétences : - Identifier les éléments d une chaîne de transmission d informations. - Recueillir et exploiter des informations concernant
CAPTEURS - CHAINES DE MESURES
CAPTEURS - CHAINES DE MESURES Pierre BONNET Pierre Bonnet Master GSI - Capteurs Chaînes de Mesures 1 Plan du Cours Propriétés générales des capteurs Notion de mesure Notion de capteur: principes, classes,
Précision d un résultat et calculs d incertitudes
Précision d un résultat et calculs d incertitudes PSI* 2012-2013 Lycée Chaptal 3 Table des matières Table des matières 1. Présentation d un résultat numérique................................ 4 1.1 Notations.........................................................
Chapitre 1 Régime transitoire dans les systèmes physiques
Chapitre 1 Régime transitoire dans les systèmes physiques Savoir-faire théoriques (T) : Écrire l équation différentielle associée à un système physique ; Faire apparaître la constante de temps ; Tracer
Chap17 - CORRECTİON DES EXERCİCES
Chap17 - CORRECTİON DES EXERCİCES n 3 p528 Le signal a est numérique : il n y a que deux valeurs possibles pour la tension. Le signal b n est pas numérique : il y a alternance entre des signaux divers
Eléments constitutifs et synthèse des convertisseurs statiques. Convertisseur statique CVS. K à séquences convenables. Source d'entrée S1
1 Introduction Un convertisseur statique est un montage utilisant des interrupteurs à semiconducteurs permettant par une commande convenable de ces derniers de régler un transfert d énergie entre une source
Filtres passe-bas. On utilise les filtres passe-bas pour réduire l amplitude des composantes de fréquences supérieures à la celle de la coupure.
Filtres passe-bas Ce court document expose les principes des filtres passe-bas, leurs caractéristiques en fréquence et leurs principales topologies. Les éléments de contenu sont : Définition du filtre
LÕenregistrement. 10.1 Enregistrement analogique et enregistrement numžrique
10 LÕenregistrement numžrique 10.1 Enregistrement analogique et enregistrement numžrique Tout processus d enregistrement, comme nous l avons vu dans les chapitres précédents, débute par la conversion des
SUJET ZÉRO Epreuve d'informatique et modélisation de systèmes physiques
SUJET ZÉRO Epreuve d'informatique et modélisation de systèmes physiques Durée 4 h Si, au cours de l épreuve, un candidat repère ce qui lui semble être une erreur d énoncé, d une part il le signale au chef
TP Modulation Démodulation BPSK
I- INTRODUCTION : TP Modulation Démodulation BPSK La modulation BPSK est une modulation de phase (Phase Shift Keying = saut discret de phase) par signal numérique binaire (Binary). La phase d une porteuse
Introduction : Les modes de fonctionnement du transistor bipolaire. Dans tous les cas, le transistor bipolaire est commandé par le courant I B.
Introduction : Les modes de fonctionnement du transistor bipolaire. Dans tous les cas, le transistor bipolaire est commandé par le courant. - Le régime linéaire. Le courant collecteur est proportionnel
CONVERTISSEURS NA ET AN
Convertisseurs numériques analogiques (xo Convertisseurs.doc) 1 CONVTIU NA T AN NOT PLIMINAI: Tous les résultats seront exprimés sous formes littérales et encadrées avant les applications numériques. Les
I. TRANSMISSION DE DONNEES
TD I. TRANSMISSION DE DONNEES 1. QU'EST-CE QU'UN CANAL DE TRANSMISSION? 1.1 Rappels Une ligne de transmission est une liaison entre les deux machines. On désigne généralement par le terme émetteur la machine
Contribution à la conception par la simulation en électronique de puissance : application à l onduleur basse tension
Contribution à la conception par la simulation en électronique de puissance : application à l onduleur basse tension Cyril BUTTAY CEGELY VALEO 30 novembre 2004 Cyril BUTTAY Contribution à la conception
Cours 9. Régimes du transistor MOS
Cours 9. Régimes du transistor MOS Par Dimitri galayko Unité d enseignement Élec-info pour master ACSI à l UPMC Octobre-décembre 005 Dans ce document le transistor MOS est traité comme un composant électronique.
GENIE DES SYSTEMES INDUSTRIELS
MASTER SCIENCES, TECHNOLOGIES, SANTE/STAPS GENIE DES SYSTEMES INDUSTRIELS Spécialité Risques Industriels et Maintenance www.univ-littoral.fr OBJECTIFS DE LA FORMATION L objectif du master régional GSI
T500 DUAlTACH. JAQUET T500 DualTach Instrument de mesure et de surveillance équipé de 2 entrées fréquence TACHYMETRE 2 CANAUX
02-09 T500 DUAlTACH JAQUET T500 DualTach Instrument de mesure et de surveillance équipé de 2 entrées fréquence JAQUET T500 DualTach Instrument multi canal de mesure et de surveillance pour applications
Chapitre I La fonction transmission
Chapitre I La fonction transmission 1. Terminologies 1.1 Mode guidé / non guidé Le signal est le vecteur de l information à transmettre. La transmission s effectue entre un émetteur et un récepteur reliés
Transmission d informations sur le réseau électrique
Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en
Le multiplexage. Sommaire
Sommaire Table des matières 1- GENERALITES... 2 1-1 Introduction... 2 1-2 Multiplexage... 4 1-3 Transmission numérique... 5 2- LA NUMERATION HEXADECIMALE Base 16... 8 3- ARCHITECTURE ET PROTOCOLE DES RESEAUX...
Echantillonnage Non uniforme
Echantillonnage Non uniforme Marie CHABERT IRIT/INP-ENSEEIHT/ ENSEEIHT/TéSASA Patrice MICHEL et Bernard LACAZE TéSA 1 Plan Introduction Echantillonnage uniforme Echantillonnage irrégulier Comparaison Cas
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée
2.1 Le point mémoire statique Le point mémoire statique est fondé sur le bistable, dessiné de manière différente en Figure 1.
Mémoires RAM 1. LOGIUE STATIUE ET LOGIUE DYNAMIUE Le point mémoire est l élément de base, capable de mémoriser un bit. Il y a deux approches possibles. L approche statique est fondée sur la l'utilisation
SIGNAUX NUMERIQUES ET MODULATIONS NUMERIQUES
SIGNAUX NUMERIQUES ET MODULATIONS NUMERIQUES ----------------------------------------------------------------------------------------------------------------- LES SIGNAUX NUMERIQUES Un signal numérique
Cours d électricité. Circuits électriques en courant constant. Mathieu Bardoux. 1 re année
Cours d électricité Circuits électriques en courant constant Mathieu Bardoux [email protected] IUT Saint-Omer / Dunkerque Département Génie Thermique et Énergie 1 re année Objectifs du chapitre
Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?
Compétences générales Avoir des piles neuves, ou récentes dans sa machine à calculer. Etre capable de retrouver instantanément une info dans sa machine. Prendre une bouteille d eau. Prendre CNI + convocation.
Chapitre 22 : (Cours) Numérisation, transmission, et stockage de l information
Chapitre 22 : (Cours) Numérisation, transmission, et stockage de l information I. Nature du signal I.1. Définition Un signal est la représentation physique d une information (température, pression, absorbance,
WWW.ELCON.SE Multichronomètre SA10 Présentation générale
WWW.ELCON.SE Multichronomètre SA10 Présentation générale Le SA10 est un appareil portable destiné au test des disjoncteurs moyenne tension et haute tension. Quoiqu il soit conçu pour fonctionner couplé
ProCod. Manuel d utilisation. Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF 11069 DF 08 / 10
Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF 11069 DF 08 / 10 Manuel d utilisation ProCod TWK France 13-15, avenue de Stalingrad 93170 BAGNOLET T. 01 43 62 00 05 F. 01 43 63
LABO 5-6 - 7 PROJET : IMPLEMENTATION D UN MODEM ADSL SOUS MATLAB
LABO 5-6 - 7 PROJET : IMPLEMENTATION D UN MODEM ADSL SOUS MATLAB 5.1 Introduction Au cours de séances précédentes, nous avons appris à utiliser un certain nombre d'outils fondamentaux en traitement du
BTS Groupement A. Mathématiques Session 2011. Spécialités CIRA, IRIS, Systèmes électroniques, TPIL
BTS Groupement A Mathématiques Session 11 Exercice 1 : 1 points Spécialités CIRA, IRIS, Systèmes électroniques, TPIL On considère un circuit composé d une résistance et d un condensateur représenté par
Système d automation TROVIS 6400 Régulateur compact TROVIS 6493
Système d automation TROVIS 6400 Régulateur compact TROVIS 6493 pour montage encastré (dimensions de la face avant 48 x 96 mm / 1.89 x 3.78 ) Application Régulateur compact à microprocesseur avec logiciel
Master Energie spécialité Energie électrique
03/12/2013 http://www.univ-fcomte.fr Master Energie spécialité Energie UFR Sciences, techniques, et gestion de l'industrie http://stgi.univ-fcomte.fr/ Dénomination officielle : Master Sciences, technologies,
COACH-II Manuel d utilisation
COACH-II Manuel d utilisation MA-COACH-II_FR Page 1 on 25 Rev: 29/03/2011 1. INTRODUCTION...3 2. VUE GENERALE...4 3. DIMENSIONS MECANIQUES...5 4. CARACTERISTIQUES TECHNIQUES...6 4.1. Générales...6 4.1.1.
Systèmes de communications numériques 2
Systèmes de Communications Numériques Philippe Ciuciu, Christophe Vignat Laboratoire des Signaux et Systèmes CNRS SUPÉLEC UPS SUPÉLEC, Plateau de Moulon, 91192 Gif-sur-Yvette [email protected] Université
Le transistor bipolaire
IUT Louis Pasteur Mesures Physiques Electronique Analogique 2ème semestre 3ème partie Damien JACOB 08-09 Le transistor bipolaire I. Description et symboles Effet transistor : effet physique découvert en
0 20mV; 0 40mV; 0 80mV; 0 160mV; 0 320mV; 0 640mV; 0 1,28V; 0 2,56V 0 5V; 0 10V
ITM carte d entrèes analogues INTERFACES DE PROCES La carte ITM a 8 isolées entrées analogiques, chaque canal a un 16 bit A/N convertisseurs, avec une haute stabilité et une très haute rapport de réjection
DimNet Gradateurs Numériques Evolués Compulite. CompuDim 2000
DimNet Gradateurs Numériques Evolués Compulite La gamme des gradateurs Compulite est conçue autour des technologies les plus récentes et les plus évoluées que ces 20 dernières années ont vu apparaître.
Transmission des signaux numériques
Transmission des signaux numériques par Hikmet SARI Chef de Département d Études à la Société Anonyme de Télécommunications (SAT) Professeur Associé à Télécom Paris. Transmission en bande de base... E
ISO/CEI 11172-3 NORME INTERNATIONALE
NORME INTERNATIONALE ISO/CEI 11172-3 Première édition 1993-08-01 Technologies de l information - Codage de l image animée et du son associé pour les supports de stockage numérique jusqu à environ Ii5 Mbit/s
Résonance Magnétique Nucléaire : RMN
21 Résonance Magnétique Nucléaire : RMN Salle de TP de Génie Analytique Ce document résume les principaux aspects de la RMN nécessaires à la réalisation des TP de Génie Analytique de 2ème année d IUT de
Les techniques de multiplexage
Les techniques de multiplexage 1 Le multiplexage et démultiplexage En effet, à partir du moment où plusieurs utilisateurs se partagent un seul support de transmission, il est nécessaire de définir le principe
Fiche technique CPU 314SC/DPM (314-6CG13)
Fiche technique CPU 314SC/DPM (3146CG13) Données techniques N de commande 3146CG13 Type CPU 314SC/DPM Information générale Note Caractéristiques SPEEDBus Technologie SPEED7 24 x DI, 16 x DO, 8 x DIO, 4
M1107 : Initiation à la mesure du signal. T_MesSig
1/81 M1107 : Initiation à la mesure du signal T_MesSig Frédéric PAYAN IUT Nice Côte d Azur - Département R&T Université de Nice Sophia Antipolis [email protected] 15 octobre 2014 2/81 Curriculum
SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique
SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des
Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:
Travaux Pratiques 3. IFT 1002/IFT 1005. Structure Interne des Ordinateurs. Département d'informatique et de génie logiciel. Université Laval. Hiver 2012. Prof : Bui Minh Duc. Tous les exercices sont indépendants.
Logiciel de Base. I. Représentation des nombres
Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) [email protected] I. Représentation des nombres Codage et représentation de l'information Information externe formats
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
EP 2 339 758 A1 (19) (11) EP 2 339 758 A1 (12) DEMANDE DE BREVET EUROPEEN. (43) Date de publication: 29.06.2011 Bulletin 2011/26
(19) (12) DEMANDE DE BREVET EUROPEEN (11) EP 2 339 758 A1 (43) Date de publication: 29.06.2011 Bulletin 2011/26 (21) Numéro de dépôt: 09179459.4 (51) Int Cl.: H04B 1/69 (2011.01) H03K 5/08 (2006.01) H03K
ANALYSE SPECTRALE. monochromateur
ht ANALYSE SPECTRALE Une espèce chimique est susceptible d interagir avec un rayonnement électromagnétique. L étude de l intensité du rayonnement (absorbé ou réémis) en fonction des longueurs d ode s appelle
Exemple d acquisition automatique de mesures sur une maquette de contrôle actif de vibrations
Exemple d acquisition automatique de mesures sur une maquette de contrôle actif de vibrations Valérie Pommier-Budinger Bernard Mouton - Francois Vincent ISAE Institut Supérieur de l Aéronautique et de
Les transistors à effet de champ.
Chapitre 2 Les transistors à effet de champ. 2.1 Les différentes structures Il existe de nombreux types de transistors utilisant un effet de champ (FET : Field Effect Transistor). Ces composants sont caractérisés
SCL LOGICIEL DE CONTROL
SCL LOGICIEL DE CONTROL Version 1.3 MRC AUDIO LD- 500 www.mrcaudio.com 1 Contenu 1 - Bienvenu a MRC AUDIO SCL v1.3 2 - Installation du logiciel 3 - Configuration du programme SCL 4 - Contrôle des installations
sous réserve de validation des modifications DROIT ECONOMIE GESTION SCIENCES DU MANAGEMENT FINANCE
sous réserve de validation des modifications Niveau : MASTER année Domaine : Mention : DROIT ECONOMIE GESTION SCIENCES DU MANAGEMENT M2 Spécialité : FINANCE 120 ES Volume horaire étudiant : 335 h 35 h
Programme Pédagogique National du DUT «Réseaux et Télécommunications» Présentation de la formation
Programme Pédagogique National du DUT «Réseaux et Télécommunications» Présentation de la formation PPN Réseaux et Télécommunications publié par arrêté du 24 juillet 2008 Sommaire 1 Présentation générale
ELP 304 : Électronique Numérique. Cours 1 Introduction
ELP 304 : Électronique Numérique Cours 1 Introduction Catherine Douillard Dépt Électronique Les systèmes numériques : généralités (I) En électronique numérique, le codage des informations utilise deux
MEMOIRES MAGNETIQUES A DISQUES RIGIDES
MEMOIRES MAGNETIQUES A DISQUES RIGIDES PARTIE ELECTRONIQUE Le schéma complet de FP5 est donnée en annexe. Les questions porterons sur la fonction FP5 dont le schéma fonctionnel de degré 2 est présenté
Caractéristiques des ondes
Caractéristiques des ondes Chapitre Activités 1 Ondes progressives à une dimension (p 38) A Analyse qualitative d une onde b Fin de la Début de la 1 L onde est progressive puisque la perturbation se déplace
Mesures de temps de propagation de groupe sur convertisseurs de fréquence sans accès aux OL
Mesures de temps de propagation de groupe sur convertisseurs de fréquence sans accès aux Comment mesurer le temps de propagation de groupe sur des convertisseurs de fréquence dans lesquels le ou les oscillateurs
Choix d une carte Acquisition de Données
Choix d une carte Acquisition de Données BUT : J ai arrangé un document de National Instrument pour sensibiliser les Techniciens/Ingénieurs à l acquisition de données. D une manière assez rapide ils identifieront
Formation des enseignants. Le tensiomètre. Objet technique modélisable issu de l environnement des élèves
Le tensiomètre Objet technique modélisable issu de l environnement des élèves Un peu d'histoire C'est en 1628 que W. Harvey découvrit la circulation du sang. C'est pourtant seulement en 1730 que la pression
