Aller au contenu principal
Brouillon non relu. Ce cours est un brouillon non relu par l'enseignant : le contenu est à faire vérifier avant toute utilisation en classe.

S6 — Chaîne d'information

Objectif du chapitre. Décrire la chaîne d'information d'un système asservi : les capteurs (principes, caractéristiques — étendue, sensibilité, résolution), les codeurs incrémentaux et absolus, le codage de l'information (binaire, hexadécimal, complément à 2), la conversion analogique/numérique (quantification, échantillonnage, Shannon), le traitement (moyenne, filtrage simple) et la transmission (bus, protocoles — notion). L'objectif est de savoir décrire la conversion analogique-numérique : choisir le nombre de bits et la fréquence d'échantillonnage d'un convertisseur (CAN) à partir de l'étendue et de la bande passante du signal.

Notions​

1. Capteurs et caractéristiques​

Un capteur est un dispositif qui mesure une grandeur physique (position, vitesse, effort, température, pression) et la transforme en une grandeur électrique exploitable (tension, courant, signal numérique).

Caractéristiques essentielles :

  • Étendue (plage de mesure) : la différence entre la valeur maximale et la valeur minimale que le capteur peut mesurer ; ex. un capteur de position d'étendue [−10,+10] cm[-10, +10]\,\text{cm} a une étendue de 20 cm20\,\text{cm}.
  • Sensibilité : le rapport entre la variation de la sortie et la variation de l'entrée ; pour un capteur linéaire de sortie VV (en volts) et d'entrée xx (en mètres), la sensibilité est S=VxS = \dfrac{V}{x} (en V/m).
  • Résolution : la plus petite variation de l'entrée que le capteur peut détecter ; pour un capteur numérique de nn bits, la résolution est eˊtendue2n−1\dfrac{\text{étendue}}{2^n - 1} (ou eˊtendue2n\dfrac{\text{étendue}}{2^n} selon la convention).

Exemple. Un capteur de position linéaire de étendue [0,10] cm[0, 10]\,\text{cm} et de sensibilité 0,1 V/mm0{,}1\,\text{V/mm} : pour x=4 cmx = 4\,\text{cm}, la sortie est V=0,1×40=4 VV = 0{,}1 \times 40 = 4\,\text{V} ; si le capteur est numérique sur 1010 bits, la résolution est 10 cm210≈0,01 cm=0,1 mm\dfrac{10\,\text{cm}}{2^{10}} \approx 0{,}01\,\text{cm} = 0{,}1\,\text{mm}.

2. Codeurs incrémentaux et absolus​

Un codeur est un capteur de position angulaire (ou linéaire) qui code la position en un signal numérique.

  • Codeur incrémental : il détecte les variations de position (pas la position absolue) ; il émet des impulsions (signaux AA et BB déphasés de 90∘90^\circ) à chaque pas ; il faut un compteur pour reconstituer la position (en comptant les impulsions) ; la position est perdue si on coupe l'alimentation (il faut repartir d'un point repère).

Quadrature A/B (détectation du sens). Les deux signaux AA et BB sont sinusoïdaux (ou carrés) déphasés de 90∘90^\circ (un quart de période) : c'est la quadrature. Le sens de rotation se lit sur le déphasage :

  • si le front montant de AA précède celui de BB (quand AA passe à 11, BB est encore à 00 puis devient 11) → rotation dans le sens direct ;
  • si le front montant de BB précède celui de AA → rotation dans le sens inverse.

Le compteur bipolaire (il compte +1+1 ou −1-1 selon le sens) exploite la quadrature pour détecter le sens et doubler la résolution (on lit les deux fronts montants et descendants de AA et BB, soit 4 fronts par pas au lieu de 1). Numérique : un codeur de 10241024 impulsions/tour en quadrature a une résolution de 360∘1024×4≈0,088∘\dfrac{360^\circ}{1024 \times 4} \approx 0{,}088^\circ (quadruple de la résolution sans quadrature).

  • Codeur absolu : il code directement la position absolue (chaque position a un code unique) ; il émet un mot binaire (sur nn bits) qui représente la position ; la position est conservée si on coupe l'alimentation (le code est toujours valable).

Exemple. Un codeur incrémental de 10241024 impulsions/tour (1010 bits) : la résolution est 360∘1024≈0,35∘\dfrac{360^\circ}{1024} \approx 0{,}35^\circ ; un codeur absolu de 1010 bits a la même résolution (0,35∘0{,}35^\circ) mais code chaque position directement (pas de comptage).

3. Codage de l'information​

L'information est codée en binaire (suite de bits 00 et 11) ; un mot binaire de nn bits représente 2n2^n valeurs distinctes.

  • Binaire : base 22 ; chaque chiffre est 00 ou 11 ; ex. (1011)2=1×23+0×22+1×21+1×20=1110(1011)_2 = 1 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 1 \times 2^0 = 11_{10}.
  • Hexadécimal : base 1616 ; chaque chiffre est 00 à 99 puis AA à FF (A=10A = 10, F=15F = 15) ; un chiffre hexadécimal = 4 bits ; ex. (1B)16=(0001 1011)2=2710(1B)_{16} = (0001\,1011)_2 = 27_{10}.
  • Complément à 2 : représentation des nombres signés (positifs et négatifs) sur nn bits ; le premier bit (bit de poids fort) est le bit de signe (00 = positif, 11 = négatif) ; un nombre négatif −x-x est codé par le complément à 2 de xx (on complète à 11 puis on ajoute 11) ; la plage de représentation est [−2n−1,2n−1−1][-2^{n-1}, 2^{n-1} - 1].

Exemple. Sur 88 bits, la plage est [−128,+127][-128, +127] ; le nombre −5-5 est codé ainsi : 5=(0000 0101)25 = (0000\,0101)_2 ; complément : (1111 1010)2(1111\,1010)_2 ; complément à 2 : (1111 1011)2=−5(1111\,1011)_2 = -5.

4. Conversion analogique-numérique (CAN)​

La conversion analogique-numérique (CAN) transforme un signal analogique (continu en temps et en amplitude) en un signal numérique (discrétisé en temps et en amplitude) ; elle se fait en trois étapes :

1. Échantillonnage. Le signal est échantillonné (on mesure sa valeur à des instants réguliers) ; la fréquence d'échantillonnage fef_e (en Hz) doit satisfaire le théorème de Shannon-Nyquist :

fe≥2 fmax⁡\boxed{f_e \geq 2\,f_{\max}}

où fmax⁡f_{\max} est la fréquence maximale du signal (la bande passante) ; sinon on a un repliement de spectre (aliasing) : les hautes fréquences sont confondues avec les basses fréquences (le signal est déformé).

Statut — Admis (théorème de Shannon-Nyquist). Le théorème fe≥2fmax⁡f_e \geq 2 f_{\max} est admis en PCSI (sa démonstration complète passe par l'analyse de Fourier et le repliement de spectre, hors programme). Il faut savoir l'appliquer pour choisir fef_e et expliquer l'aliasing quand la condition n'est pas respectée.

2. Quantification. Chaque échantillon est arrondi à la valeur la plus proche d'une échelle de valeurs discrètes ; le nombre de niveaux de quantification est N=2nN = 2^n (pour nn bits) ; l'écart entre deux niveaux consécutifs est le pas de quantification :

Δ=eˊtendue2n\boxed{\Delta = \frac{\text{étendue}}{2^n}}

où étendue est la plage de tensions que le convertisseur peut mesurer (ex. 00 à 5 V5\,\text{V}).

3. Codage. Chaque niveaux de quantification est associé à un mot binaire de nn bits (le code).

Erreur de quantification. L'erreur de quantification est bornée par ±Δ2\pm \dfrac{\Delta}{2} (la moitié du pas) ; l'erreur moyenne (en valeur quadratique) est Δ12\dfrac{\Delta}{\sqrt{12}} ; le rapport signal/bruit (dynamic range) est :

DR=6,02 n+1,76(en dB)\text{DR} = 6{,}02\,n + 1{,}76 \quad (\text{en dB})

où le décibel (dB\text{dB}) est l'unité logarithmique du rapport de puissances (ou d'amplitudes) : N (dB)=10 log⁡10P1P2=20 log⁡10A1A2\text{N (dB)} = 10\,\log_{10}\dfrac{P_1}{P_2} = 20\,\log_{10}\dfrac{A_1}{A_2} (le facteur 2020 vient du fait que la puissance est proportionnelle au carré de l'amplitude : P∝A2P \propto A^2) ; le dynamic range est le rapport entre le signal maximal (la moitié de l'étendue) et le bruit de quantification (l'erreur moyenne Δ/12\Delta/\sqrt{12}), exprimé en dB ; chaque bit ajouté augmente le DR d'environ 6,02 dB6{,}02\,\text{dB} (le pas Δ\Delta est divisé par 22, soit −6,02 dB-6{,}02\,\text{dB} de bruit).

Exemple. Un convertisseur de 88 bits avec une étendue de 00 à 5 V5\,\text{V} : le pas de quantification est Δ=528≈0,0195 V\Delta = \dfrac{5}{2^8} \approx 0{,}0195\,\text{V} ; l'erreur de quantification est bornée par ±0,0098 V\pm 0{,}0098\,\text{V} ; le dynamic range est 6,02×8+1,76≈49,9 dB6{,}02 \times 8 + 1{,}76 \approx 49{,}9\,\text{dB}.

5. Traitement et transmission​

Traitement. Le signal numérique est traité par un microcontrôleur ou un microprocesseur : moyenne (filtrage moyennant pour réduire le bruit), filtrage (filtrage numérique simple — filtre passe-bas, passe-haut), calcul (calculs arithmétiques, logiques).

Transmission. Le signal est transmis via un bus (bus série — I²C, SPI, UART ; bus parallèle) ; le protocole définit les règles de communication (horloge, framing, parité, contrôle d'erreur) ; la notion de protocole est essentielle pour assurer la fiabilité de la transmission.

Exemple. Un capteur de température numérique (type DS18B20) est connecté à un microcontrôleur via un bus 1-Wire (un seul fil de donnée + masse, avec adressage des capteurs sur le bus) ; le microcontrôleur lit la température (en degrés Celsius) et la traite (moyenne, filtrage).

Capacités exigibles​

  • S6.conversion — Décrire la conversion analogique-numérique : expliquer les trois étapes (échantillonnage, quantification, codage) ; appliquer le théorème de Shannon-Nyquist fe≥2fmax⁡f_e \geq 2 f_{\max} pour choisir la fréquence d'échantillonnage ; calculer le pas de quantification Δ=eˊtendue2n\Delta = \dfrac{\text{étendue}}{2^n} et l'erreur de quantification (bornée par ±Δ/2\pm \Delta/2) ; choisir le nombre de bits nn à partir de la résolution exigée ; distinguer un codeur incrémental (il détecte les variations, il faut un compteur, la position est perdue à la coupure) d'un codeur absolu (il code la position absolue, la position est conservée).

Pièges classiques​

  • Théorème de Shannon-Nyquist : la fréquence d'échantillonnage doit être au moins 2 fois la fréquence maximale du signal (fe≥2fmax⁡f_e \geq 2 f_{\max}) ; il ne faut pas échantillonner à fe=fmax⁡f_e = f_{\max} (sinon on a un repliement : une composante de fréquence ff est confondue avec la composante de fréquence ∣f−kfe∣|f - k f_e| la plus proche, k∈Zk \in \mathbb{Z}) ; en pratique, on choisit fe≥5 fmax⁡f_e \geq 5\,f_{\max} (marge de sécurité).
  • Pas de quantification : 2n2^n ou 2n−12^n - 1 : le pas de quantification est Δ=eˊtendue2n\Delta = \dfrac{\text{étendue}}{2^n} (pas 2n−12^n - 1) ; il ne faut pas oublier le facteur 2n2^n (sinon on surestime la résolution) ; pour un convertisseur de nn bits, il y a 2n2^n niveaux (pas 2n−12^n - 1).
  • Erreur de quantification : ±Δ/2\pm \Delta/2 : l'erreur de quantification est bornée par ±Δ2\pm \dfrac{\Delta}{2} (la moitié du pas) ; il ne faut pas confondre l'erreur maximale (±Δ/2\pm \Delta/2) et l'erreur moyenne (Δ/12\Delta/\sqrt{12}) ; l'erreur moyenne est plus petite que l'erreur maximale.
  • Codeur incrémental : position perdue : un codeur incrémental détecte les variations de position (pas la position absolue) ; si on coupe l'alimentation, la position est perdue (il faut repartir d'un point repère) ; il ne faut pas supposer que la position est conservée (sinon on perd la trajectoire) ; un codeur absolu conserve la position (le code est toujours valable).
  • Complément à 2 : plage : la plage de représentation sur nn bits est [−2n−1,2n−1−1][-2^{n-1}, 2^{n-1} - 1] (pas [−2n−1+1,2n−1−1][-2^{n-1} + 1, 2^{n-1} - 1]) ; il ne faut pas oublier que le nombre négatif le plus petit est −2n−1-2^{n-1} (pas −2n−1+1-2^{n-1} + 1) ; sur 88 bits, la plage est [−128,+127][-128, +127] (pas [−127,+127][-127, +127]).
  • Étendue : max − min : l'étendue est la différence entre la valeur maximale et la valeur minimale (pas la valeur maximale seule) ; il ne faut pas confondre l'étendue et la valeur maximale (sinon on divise par la mauvaise grandeur) ; pour une étendue [−10,+10] cm[-10, +10]\,\text{cm}, l'étendue est 20 cm20\,\text{cm} (pas 10 cm10\,\text{cm}).
  • Résolution : 2n2^n ou 2n−12^n - 1 : la résolution d'un capteur numérique de nn bits est eˊtendue2n\dfrac{\text{étendue}}{2^n} (ou eˊtendue2n−1\dfrac{\text{étendue}}{2^n - 1} selon la convention) ; il ne faut pas oublier la convention (sinon on a une résolution légèrement différente) ; en pratique, on utilise 2n2^n (plus simple).

Graphe de référence​

Dynamic range (rapport signal/bruit) d'un convertisseur en fonction du nombre de bits nn : DR=6,02 n+1,76\text{DR} = 6{,}02\,n + 1{,}76 (en dB). La courbe est linéaire : pour n=8n = 8, DR≈49,9 dB\text{DR} \approx 49{,}9\,\text{dB} ; pour n=10n = 10, DR≈61,9 dB\text{DR} \approx 61{,}9\,\text{dB} ; pour n=12n = 12, DR≈74,0 dB\text{DR} \approx 74{,}0\,\text{dB} ; pour n=16n = 16, DR≈98,1 dB\text{DR} \approx 98{,}1\,\text{dB}. Plus le nombre de bits est grand, plus le dynamic range est grand (meilleure précision).

Dynamic range d'un convertisseur en fonction du nombre de bits

Pour aller plus loin​

Annales utilisables sur ce chapitre (§4 de l'annexe Ressources, exercices et annales) : e3a S2I PSI, CCINP S2I PSI — parties « modélisation » et « asservissement » ; sujets UPSTI PCSI.

Voir aussi Ressources, exercices et annales pour les manuels recommandés et les banques d'exercices gratuites.