Maîtriser les taux d'erreur de code ADC : Ce qu'il faut savoir
Alors que les convertisseurs analogique-numérique (ADC) haute vitesse ont augmenté en taux d'échantillonnage, le problème des erreurs de code — aussi appelées codes étincelles (sparkle codes) — dans les données de sortie de l'ADC s'est accru. Une erreur de code est définie comme une erreur dans le code de sortie d'un ADC qui dépasse un seuil défini. Ce seuil est le plus souvent défini comme le niveau où une erreur dépasse l'amplitude attendue du bruit de l'ADC de sorte que l'erreur peut être facilement identifiée en présence de bruit.
Une autre façon d'expliquer cette définition du seuil d'erreur est que l'amplitude de l'erreur se produit avec une probabilité dépassant la probabilité attendue de cette amplitude compte tenu du bruit gaussien supposé de l'ADC. Fig. 1 montre un exemple d'erreur de code trouvée dans les échantillons de sortie d'un ADC. L'échantillon erroné est clairement visible comparé à l'ajustement sinusoïdal idéal et dépasse largement le bruit des autres échantillons du graphique.
Le taux d'erreur de code (CER) d'un ADC, aussi parfois appelé taux d'erreur de mot (WER) ou taux d'erreur de métastabilité, est défini comme le nombre moyen d'erreurs par échantillon et est mesuré en comptant le nombre moyen d'échantillons entre erreurs consécutives. Il est le plus souvent défini comme un ordre de grandeur, tel que 10 –12 erreurs/échantillon. Le temps moyen entre erreurs dépend donc du taux d'échantillonnage du convertisseur. Le CER mesuré est précis seulement quand l'ADC tourne au taux d'échantillonnage auquel le CER a été mesuré. En général, réduire le taux d'échantillonnage peut améliorer le CER de plusieurs ordres de grandeur.
Examinons d'où viennent les erreurs de code pour comprendre pourquoi le taux d'échantillonnage est un facteur majeur.
Qu'est-ce qui fait scintiller un ADC ?
Une architecture ADC multi-étapes, comme un ADC flash pipeline ou un ADC à registre d'approximation successive (SAR), convertit la tension échantillonnée en bits numériques par étapes, et chaque étape consécutive repose sur le résultat de l'étape précédente. Considérons un ADC flash pipeline haute vitesse basique, comme montré en Fig. 2 . Cet ADC simplifié montre deux étapes de conversion où chaque étape successive produit un code numérique estimant plus finement le signal d'entrée.
Le fonctionnement de l'ADC montré est le suivant :
-
La première étape échantillonne la tension d'entrée et convertit grossièrement le signal analogique d'entrée en code numérique en utilisant l'ADC de première étape. L'ADC flash de cette étape fonctionne en comparant la tension échantillonnée contre des références de tension statiques, générées à partir de la tension de référence principale de l'ADC (V REF), en utilisant des comparateurs haute vitesse. La sortie des comparateurs flash est un échantillon numérique encodé en thermomètre représentant la tension d'entrée.
-
Le code thermomètre converti est ensuite envoyé directement au DAC de première étape. Ce DAC sort la tension analogique correspondant à l'échantillon grossièrement converti.
-
Soustraire la sortie du DAC de première étape de la tension d'entrée originale résulte en la tension d'erreur de quantification ou tension de résidu (V RES). Le résidu est ensuite amplifié et ré-échantillonné (pipeline) pour la seconde étape.
-
L'ADC de seconde étape quantifie V RES pour obtenir une estimation plus précise (plus haute résolution) de la tension analogique d'entrée originale.
Le processus de création de V RES introduit une boucle de décision haute vitesse. Dans une période d'horloge d'échantillonnage, la tension échantillonnée doit être convertie en code numérique par l'ADC de première étape. Le code numérique doit être sorti du DAC de première étape, soustrait de la tension d'entrée originale et ré-échantillonné par la seconde étape. La boucle de décision haute vitesse introduit des erreurs de code car le comparateur dans l'ADC flash a un temps d'établissement qui est une fonction de la différence entre la tension échantillonnée et V REF.
Plus simplement, un comparateur met plus de temps à s'établir quand la tension d'entrée (V CAP1) est proche de la tension de référence (telle que 7 * V REF /8) du comparateur. Théoriquement, si V CAP1 est infiniment proche de la tension de référence du comparateur, le comparateur ne s'établira jamais car il fonctionnera dans sa région linéaire.
Le bruit empêchera cela de se produire réellement, mais si le comparateur met trop de temps à s'établir, alors le DAC de première étape peut utiliser le code numérique incorrect pour sortir la tension analogique quantifiée. Le résultat est un V RES qui ne correspond pas au code de sortie numérique réel de l'ADC de première étape. L'ADC de seconde étape convertit alors le mauvais V RES, ce qui résulte en une erreur de code.
Qu'est-ce qui affecte le CER ?
Vous devriez maintenant avoir assez de détails pour tirer des conclusions sur ce qui affecte le CER. Le CER dépend clairement du taux d'échantillonnage. Un taux d'échantillonnage plus rapide réduit le temps dont dispose la boucle de décision pour prendre une décision. Moins de temps pour décider résulte en augmentations exponentielles de la probabilité que le comparateur n'ait pas établi à temps.
— Matt Guibord est ingénieur systèmes dans les convertisseurs haute vitesse chez Texas Instruments.
Embarqué
- Commentaires C++ : Bonnes pratiques pour un code lisible et maintenable
- Maîtriser la gestion d'erreurs en C : Bonnes pratiques et techniques
- Maîtriser le fraisage CNC : fabrication de précision métallique expliquée
- Moulage sous Pression (Die Casting) Expliqué : Précision, Efficacité et Avantages de Production
- Capteurs numériques dans les machines industrielles : fonctionnement, types et bonnes pratiques
- Maîtriser l'automatisation des presses : techniques, sécurité et efficacité
- Tout sur le fer forgé : propriétés, utilisations et histoire
- Fonte centrifuge : principe, applications, avantages et inconvénients
- Maîtriser le moulage sous pression : procédés, avantages et applications