Skip to content

Convertisseurs Analogique-Numérique

Principe général

Un convertisseur analogique-numérique (ADC) transforme une tension continue \(V_{in}\) en un mot binaire de \(N\) bits. La résolution théorique est caractérisée par le quantum :

\[q = \frac{V_{ref}}{2^N}\]

Le processus comporte deux opérations fondamentales :

  • Échantillonnage : prélèvement de la valeur de \(V_{in}\) à des instants réguliers (théorème de Shannon : \(f_s \geq 2 \cdot f_{max}\))
  • Quantification : arrondi de la valeur échantillonnée à la valeur la plus proche parmi les \(2^N\) niveaux disponibles, introduisant une erreur de quantification bornée à \(\pm q/2\)

Les deux architectures dominantes — SAR et Sigma-Delta — abordent différemment le compromis entre résolution, vitesse et complexité.


Convertisseur SAR — Approximations successives

Architecture

flowchart LR
    VIN(["V_in"]):::sig --> SH["S/H"]:::bloc
    SH --> CMP{{"Comparateur"}}:::bloc
    CMP -->|"1 ou 0"| SAR["Registre SAR"]:::ctrl
    SAR --> CODE(["Code N bits"]):::sig
    SAR --> CDAC["CDAC"]:::bloc
    CDAC -->|"V_DAC"| CMP
    CLK(["Horloge"]):::clk -.->|"N cycles"| SAR

    classDef sig  fill:#e8eaf6,stroke:#3949ab,color:#1a237e
    classDef bloc fill:#e3f2fd,stroke:#1565c0,color:#0d47a1
    classDef ctrl fill:#ede7f6,stroke:#4527a0,color:#311b92
    classDef clk  fill:#fce4ec,stroke:#880e4f,color:#880e4f

Principe — recherche dichotomique

Le SAR réalise une recherche binaire bit par bit, du MSB vers le LSB. À chaque cycle d'horloge, le DAC interne (réseau CDAC) génère une tension de référence comparée à \(V_{in}\) :

  • \(V_{in} >\) V_DAC → bit = 1, la tension DAC augmente au prochain cycle
  • \(V_{in} <\) V_DAC → bit = 0, la tension DAC diminue au prochain cycle

Exemple : conversion 4 bits, \(V_{in} = 0{,}7 \cdot V_{ref}\)

Étape Bit testé V_DAC Comparaison Décision
1 B3 (MSB) \(0{,}500 \cdot V_{ref}\) \(V_{in} >\) V_DAC 1
2 B2 \(0{,}750 \cdot V_{ref}\) \(V_{in} <\) V_DAC 0
3 B1 \(0{,}625 \cdot V_{ref}\) \(V_{in} >\) V_DAC 1
4 B0 (LSB) \(0{,}6875 \cdot V_{ref}\) \(V_{in} >\) V_DAC 1

Résultat : 1011 — erreur \(< 1\) LSB. La conversion nécessite exactement N cycles d'horloge.

Architecture interne : le CDAC

Le DAC interne est un réseau de condensateurs binaires (Capacitive DAC). Lors de la phase d'échantillonnage, tous les condensateurs chargent \(V_{in}\). Lors de la conversion, ils sont commutés entre \(V_{ref}\) et GND pour générer \(V_{DAC}\). Ce réseau cumule les fonctions d'échantillonneur-bloqueur et de DAC, sans résistances (dissipation minimale).

Spécifications clés

Paramètre Définition
INL (Integral Non-Linearity) Écart maximal entre la courbe de transfert réelle et la droite idéale
DNL (Differential Non-Linearity) Déviation de la largeur d'un pas — si DNL < −1 LSB, codes manquants
ENOB Résolution réelle : \(\text{ENOB} = \frac{\text{SINAD} - 1{,}76}{6{,}02}\)
SINAD Rapport signal / (bruit + distorsion)
SFDR Plus grand parasite spurieux par rapport au fondamental
THD Distorsion harmonique totale

Caractéristiques

  • Résolution : 8 à 18 bits
  • Fréquence d'échantillonnage : 1 kSPS à 5 MSPS (précision), jusqu'à 100+ MSPS (faible résolution)
  • Latence : 1 cycle — déterministe, idéal pour les boucles de régulation
  • Multiplexage : excellent — le CDAC se réinitialise à chaque conversion
  • Filtre anti-repliement : requis en externe (pas de sur-échantillonnage)

Convertisseur Sigma-Delta (\(\Sigma\Delta\))

Chaîne de traitement complète

flowchart LR
    VIN(["V_in"]):::sig --> AAF["Filtre RC"]:::bloc
    AAF --> MOD["Modulateur ΣΔ — 1 bit — fs élevé"]:::ctrl
    MOD -->|"bitstream 1 bit à fs"| DEC["Décimateur sinc ÷ OSR"]:::bloc
    DEC -->|"N bits à fout"| OUT(["Sortie N bits"]):::sig

    classDef sig  fill:#e8eaf6,stroke:#3949ab,color:#1a237e
    classDef bloc fill:#e3f2fd,stroke:#1565c0,color:#0d47a1
    classDef ctrl fill:#ede7f6,stroke:#4527a0,color:#311b92

Principe — trois mécanismes combinés

1. Sur-échantillonnage (Oversampling)

L'ADC échantillonne à \(f_s \gg 2 f_{max}\). Le rapport de sur-échantillonnage est :

\[\text{OSR} = \frac{f_s}{2 \cdot f_{BW}}\]

Le sur-échantillonnage étale la puissance de bruit de quantification (constante) sur une bande \([0,\, f_s/2]\) plus large, réduisant la densité spectrale dans la bande utile. Gain seul : +0,5 bit par doublement de l'OSR — insuffisant pour atteindre 24 bits.

2. Mise en forme du bruit (Noise Shaping)

flowchart LR
    VIN(["V_in"]):::sig --> SUM((("Σ"))):::sum
    SUM --> INT["Intégrateur"]:::bloc
    INT --> Q{{"Compar. 1 bit"}}:::bloc
    Q --> BS(["Bitstream"]):::sig
    Q --> DAC["DAC 1 bit"]:::bloc
    DAC -->|"retour négatif"| SUM

    classDef sig  fill:#e8eaf6,stroke:#3949ab,color:#1a237e
    classDef bloc fill:#e3f2fd,stroke:#1565c0,color:#0d47a1
    classDef sum  fill:#fff9c4,stroke:#f9a825,color:#e65100

La fonction de transfert du bruit de quantification \(E(z)\) est un filtre passe-haut (ordre 1) :

\[\text{NTF}(z) = 1 - z^{-1}\]

Le bruit est rejeté vers les hautes fréquences, libérant la bande utile. Pour un modulateur d'ordre \(L\), la puissance de bruit résiduelle dans la bande utile vaut :

\[P_{bruit} \approx \frac{\pi^{2L}}{2L+1} \cdot \frac{q^2}{12} \cdot \frac{1}{\text{OSR}^{2L+1}}\]

Le gain en résolution pour un modulateur d'ordre \(L\) est :

\[\text{Gain (bits)} \approx \frac{2L+1}{2} \cdot \log_2(\text{OSR}) - \frac{L \cdot \log_2(\pi^2)}{2}\]

Exemple : OSR = 256, ordre \(L = 3\) → gain ≈ 17,5 bits au-dessus du bit de quantification.

3. Décimation numérique

Le filtre décimateur intégré dans le composant :

  1. Filtre passe-bas — rejette le bruit repoussé en haute fréquence par le noise shaping
  2. Sous-échantillonnage — réduit \(f_s\) au débit utile \(f_{out} = f_s / \text{OSR}\)
  3. Augmentation de résolution — produit un mot de N bits à partir du bitstream 1 bit

Le filtre est typiquement un filtre sinc (\(\text{sinc}^{L+1}\)) ou un FIR à phase linéaire. Le retard de groupe est :

\[\tau \approx \frac{L \cdot M}{f_s}\]

Effet du noise shaping sur le spectre de bruit

flowchart TB
    subgraph NYQ["ADC Nyquist — bruit uniforme"]
        direction LR
        N1["▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓"]
        L1["Bruit réparti de 0 à fs/2"]
    end
    subgraph OSR["Sur-échantillonnage seul — bruit dilué"]
        direction LR
        N2["▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░"]
        L2["Densité réduite dans la bande utile"]
    end
    subgraph NS["Noise shaping ΣΔ — bruit repoussé en HF"]
        direction LR
        N3["░░░░▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓"]
        L3["Plancher très bas dans fBW — décimateur rejette le reste"]
    end
    NYQ --> OSR --> NS

Caractéristiques

  • Résolution : 16 à 32 bits
  • Bande passante : DC à quelques kHz (précision), jusqu'à ~10 MSPS (audio haute vitesse)
  • Filtre numérique intégré : programmable (coupure, ordre) — élimine des composants externes
  • Précision DC : excellente — offset < 1 µV, dérive < 10 nV/°C
  • Multiplexage : difficile — settling time = latence du filtre décimateur

Tableau comparatif

Critère SAR Sigma-Delta
Résolution typique 8 – 18 bits 16 – 32 bits
Vitesse maximale jusqu'à 100 MSPS quelques SPS à ~10 MSPS
Latence 1 cycle — déterministe élevée (filtre décimateur)
Bande passante signal large (DC à MHz) étroite (DC à quelques kHz)
Filtre anti-repliement externe requis (contraignant) simple RC ou inexistant
Filtre numérique intégré ✓ (sinc, FIR, IIR programmable)
Multiplexage multi-voies ✓ excellent ✗ difficile (settling filtre)
Précision DC bonne excellente
Plancher de bruit limité par le CDAC amélioré par OSR + noise shaping
THD dépend du CDAC très faible
Sensibilité au jitter horloge critique à haute résolution atténuée par l'OSR
Consommation faible à modérée modérée à élevée
Intégration MCU ✓ très répandu ✗ souvent externe
Coût faible à modéré modéré à élevé

Guide de sélection

flowchart TD
    START(["Choix de l'ADC"]):::start --> Q1{"Résolution > 18 bits ?"}

    Q1 -->|"Oui"| SD["✅ Sigma-Delta"]:::sd
    Q1 -->|"Non"| Q2{"Bande passante du signal ?"}

    Q2 -->|"> quelques kHz"| SAR["✅ SAR"]:::sar
    Q2 -->|"DC à quelques kHz"| Q3{"Latence critique ?"}

    Q3 -->|"Oui — temps réel"| SAR
    Q3 -->|"Non"| Q4{"Multiplexage multi-voies rapide ?"}

    Q4 -->|"Oui"| SAR
    Q4 -->|"Non"| SD

    classDef start fill:#fce4ec,stroke:#c62828,color:#b71c1c
    classDef sar   fill:#e8f5e9,stroke:#2e7d32,color:#1b5e20
    classDef sd    fill:#e3f2fd,stroke:#1565c0,color:#0d47a1

Applications typiques

SAR : acquisition de données industrielles, commande moteur, oscilloscopes, radar, communications RF, conditionnement de capteurs rapides (courant, vibration).

Sigma-Delta : pesée industrielle, capteurs de pression différentielle, analyseurs de gaz, électroencéphalographie (EEG), instrumentation de laboratoire, interfaces audio haute fidélité (24 bits / 192 kHz), compteurs d'énergie.