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 :
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 :
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) :
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 :
Le gain en résolution pour un modulateur d'ordre \(L\) est :
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 :
- Filtre passe-bas — rejette le bruit repoussé en haute fréquence par le noise shaping
- Sous-échantillonnage — réduit \(f_s\) au débit utile \(f_{out} = f_s / \text{OSR}\)
- 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 :
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.