Application note sur la mise en oeuvre d`un convertisseur AN pour
Transcription
Application note sur la mise en oeuvre d`un convertisseur AN pour
PROJET P08B01 CARTE ENTREES/SORTIES ANALOGIQUES POUR PLATINE FPGA XILINX NOTE D’APPLICATION MISE EN OEUVRE D'UN CONVERTISSEUR ANALOGIQUE/NUMERIQUE POUR DES FREQUENCES D'ECHANTILLONNAGE SUPERIEURES A 1 MHZ SOMMAIRE 1. Introduction ......................................................................................................................................................4 2. Théorie des convertisseurs analogiques/numériques....................................................................4 a. Échantillonnage d’un signal analogique ...........................................................................................4 • Exemple de calcul de la fréquence de coupure d’un filtre de Butterworth d’ordre 4 pour une fréquence d’échantillonnage de 10mhz .............................................................................7 b. Échantillonnage d’un signal analogique ...........................................................................................8 c. Codage, SNR et non-linéarité des convertisseurs .........................................................................9 3. Filtres anti-repliement .............................................................................................................................. 11 a. Filtres actifs ............................................................................................................................................... 11 b. Filtres passifs ............................................................................................................................................ 12 c. Dimensionnement d’un filtre ............................................................................................................. 14 4. Placement et routage.................................................................................................................................. 15 5. Contact ............................................................................................................................................................. 16 [2] TABLE DES ILLUSTRATIONS Figure 1 : traitement numérique d'un signal analogique x(t)..........................................................................4 Figure 2 : exemple de signal analogique x(t) et de son homologue échantillonné xe(t) .......................4 Figure 3 : exemple de signal échantillonné issu d'un bloqueur d'ordre zéro ...........................................5 Figure 4 : échantillonnage d'un signal x(t) ..............................................................................................................5 Figure 5 : exemple de période d'échantillonnage insuffisante par rapport aux variations du signal analogique en entrée ........................................................................................................................................................6 Figure 6 : peigne de Dirac et son spectre dans le domaine fréquentiel .......................................................6 Figure 7 : spectres d'un signal analogique et de ce même signal échantillonné ......................................7 Figure 8 : exemple de recouvrement spectral........................................................................................................7 Figure 9 : exemple de quantification et d'erreur d'un can ................................................................................9 Figure 10 : exemple de table de codage des données en sortie du convertisseur ............................... 10 Figure 11 : valeurs de SNR usuels ............................................................................................................................ 10 Figure 12 : effet de non-linéarité .............................................................................................................................. 10 Figure 13 : diagrammes de Bode de filtres différent pour un ordre identique ..................................... 11 Figure 14 : simulation d'un passe-bas actif .......................................................................................................... 12 Figure 15 : éditeur de filtre de RFSIM99 ............................................................................................................... 13 Figure 16 : diagramme de Bode du filtre passe-bas simulé .......................................................................... 13 Figure 17 : passe-bas avec des valeurs réelles pour les inductances et les capacités ........................ 13 Figure 18 : digramme de Bode du nouveau filtre .............................................................................................. 14 [3] 1. Introduction Devant la nécessité grandissante de pouvoir contrôler par informatique des systèmes physiques, la problématique réside souvent dans la réalisation d’une interface permettant de récupérer un signal issu d’un appareil afin de le lire et de le traiter en conséquence. Or la plupart des signaux à traiter sont analogiques ; c'est-à-dire qu’ils varient de manière continue et-ce en fonction d’une variable continue qui est le temps. Pour pouvoir travailler ou simplement stocker ce signal, il faudra donc utiliser un convertisseur analogique/numérique (CAN) pour relier le signal du phénomène physique analogique au système de traitement informatique et donc par définition numérique. Dans le cadre de notre projet B01 de 2008 réalisé au cours de notre dernière année de filière génie électrique au sein de Polytech’Clermont-Ferrand, nous avons eu à réaliser une carte destinée à être utilisée dans des TP de contrôle commande et utilisant un convertisseur analogique/numérique à une fréquence de fonctionnement moyenne (10MHz). Nous allons ici présenter comment mettre en œuvre des convertisseurs analogiques/numériques pour des fréquences supérieures à 1MHz. 2. Théorie des convertisseurs analogiques/numériques Les convertisseurs analogiques/numériques sont des composants qui doivent convertir un signal analogique continu en un signal discret utilisable par un système informatique. Figure 1 : traitement numérique d'un signal analogique x(t) La conversion A/N est réalisée en trois étapes au sein des convertisseurs. Ces trois étapes sont l’échantillonnage du signal à une fréquence Te, sa quantification et son codage. a. Échantillonnage d’un signal analogique Lorsqu’un signal x(t) dont l’amplitude varie au cours du temps est mis en entrée d’un convertisseur A/N, il est converti en une suite de valeur régulièrement espacées et représentatives du signal originel. Dans un cas idéal, cela donnera le schéma de la Figure 2. Figure 2 : exemple de signal analogique x(t) et de son homologue échantillonné x e (t) [4] Le signal passera ensuite par un bloqueur d’ordre zéro afin que la valeur échantillonnée puisse être maintenue pour être correctement quantifié par le convertisseur. Figure 3 : exemple de signal échantillonné issu d'un bloqueur d'ordre zéro Reste qu’il faut penser à adapter la fréquence Te d’échantillonnage du système au signal x(t) placé en entrée et plus exactement par rapport à la rapidité des variations du signal à traiter. De plus il faudra prendre en compte le théorème de Shannon pour éviter des problèmes de repliement qui donnerait un signal échantillonné xe(t = n.Te) non représentatif du signal x(t). Après la phase d’échantillonnage, le signal x(t) va pouvoir être représenté par lui-même multiplié par une multitude d’impulsions de Dirac espacées à la période d’échantillonnage Te du système et appelées « Peigne de Dirac » (il sera noté δTe(t)). Ainsi : . . Ce qui donnera le schéma suivant : Figure 4 : échantillonnage d'un signal x(t) Comme nous l’avons évoqué précédemment, un problème peut apparaître si les variations du signal d’entrée sont trop importantes en comparaison de la période d’échantillonnage du convertisseur analogique/numérique. Dans ce cas, le signal échantillonné xe(n.Te) ne serait pas une image dans le plan discret de son homologue continu et on aurait une perte d’informations comme le montre le schéma suivant. [5] Figure 5 : exemple de période d'échantillonnage insuffisante par rapport aux variations du signal analogique en entrée Ici xe(n.Te) correspondrait au signal x(t) en entrée mais pourrait aussi correspondre au signal de fréquence plus faible dessiné en pointillé sur le schéma. D’autre part, il faudra toujours veiller à ce que le théorème de Shannon soit respecté à savoir que la fréquence du signal x(t) à échantillonné ne devra jamais dépasser la fréquence fn dite de Nyquist avec fn = fe/2 (ou fe correspond à la fréquence d’échantillonnage du système) etce afin d’éviter les problèmes de repliements. Ainsi pour un convertisseur travaillant à une fréquence de 1MHz, le signal en entrée ne devra jamais dépasser les 500KHz sous peine de ne pas avoir une information numérique fidèlement retranscrite. Plus précisément, à chaque signal x(t) dans le domaine temporel correspond à un spectre X(f) dans le domaine fréquentiel. Lorsqu’on échantillonne un signal x(t) avec un peigne de Dirac δTe(t), cela revient à effectuer la convolution des spectres dans le domaine fréquentiel des deux signaux. Or le spectre du peigne de Dirac D(f) correspond à une série d’impulsions d’amplitude 1/Te et de fréquence fe comme le montre le schéma suivant. Figure 6 : peigne de Dirac et son spectre dans le domaine fréquentiel Ainsi le spectre d’un signal x(t) échantillonné correspond au spectre du signal originel mais répété tous les k.fe (avec k un entier relatif). Ce qui nous donne le schéma suivant : [6] Figure 7 : spectres d'un signal analogique et de ce même signal échantillonné Ainsi, à cause de cette répétition spectrale autour des multiples de fe, si la période Te augmente, alors fe va diminuer et il va arriver un moment ou à force de diminuer fe, les spectres vont se superposer, rendant une restitution du signal initial impossible. Cette fréquence limite correspond à fn et il faudra toujours s’assurer de pouvoir maintenir la fréquence du signal x(t) toujours strictement inférieure à la fréquence de Nyquist. Figure 8 : exemple de recouvrement spectral Ainsi pour pouvoir correctement mettre en œuvre un convertisseur analogique/numérique dans un montage, on ne lui enverra jamais le signal analogique directement à ses bornes mais on le ferra passer auparavant par un filtre passe-bas de fréquence de coupure compatible avec la fréquence d’échantillonnage du signal. • Exemple de calcul de la fréquence de coupure d’un filtre de Butterworth d’ordre 4 pour une fréquence d’échantillonnage de 10mhz pour un recouvrement inférieur à 1% On sait que le recouvrement des filtres de type Butterworth est donné par la formule suivante : Où m représente l’ordre du filtre. Ici on aura f = fc, fe = 10MHz et m = 4. [7] 1 1 Puisqu’en f = fc le réponse fréquentielle du filtre vaut 0,707 (car à fc, le gain est de -3dB), √ alors l’amplitude du recouvrement ne sera de 1% soit 0,00707. En considérant le premier spectre centré en fe, on aura : On a donc : D’où on tire : 1 1 0,00707 1 1 1 0,00707 !1 "#1$0,00707% & ' ( 4,45 Donc pour fe = 10Mhz, on aura : ( 1. 10+ ( 2,25-. 4,45 4,45 Ainsi pour réaliser un filtre de Butterworth d’ordre 4 pour un système échantillonnant à 10MHz et minimisant le recouvrement spectral à 1%, la fréquence de coupure fc du système devra être de 2,25MHz environ. On remarquera que dans le cadre d’un projet qui utilise un convertisseur de 12 bits avec un signal en entrée de tension variant entre 0V et 5V, un recouvrement spectral de 1% représentera une tension 0,05V soit l’équivalent d’un peu moins de 6 bits de poids faible. il faudra plutôt essayer de réaliser ce calcul en minimisant le recouvrement à la moitié de la résolution du bit de poids faible afin de bénéficier de la meilleure précision possible. b. Échantillonnage d’un signal analogique Un convertisseur analogique/numérique délivre une information numérique codée en fonction d’un pas de quantification Q. Pour un convertisseur travaillant entre 0 et Vmax et possédant un nombre de bits n, ce pas se calcule sous la forme suivante : / 012 23 [8] Soit pour un CAN travaillant entre 0V et 5V sur 12 bits, on aura un pas de quantification de : / 5 ( 1,210 2 L’erreur de quantification sera toujours égale à la moitié du pas de quantification d’où pour notre convertisseur précédent une erreur Eq de : 45 0,0012 0,610 2 La résolution du convertisseur sera donnée par la formule 72 72 1 1 2 4096 8 d’où pour notre exemple : Cela nous permet de tracer le schéma récapitulatif suivant pour un convertisseur 4 bits prenant en entrée un signal compris entre -1V et +1V. Figure 9 : exemple de quantification et d'erreur d'un can c. Codage, SNR et non-linéarité des convertisseurs Les convertisseurs ont chacun des méthodes bien précises pour coder le signal échantillonné et quantifié précédemment. Nous n’en parlerons donc pas en détail mais la Figure 9 représente un exemple de table de codage d’un convertisseur analogique/numérique travaillant sur 12 bits. On notera la présence d’un bit OTR (Out Of Range) indiquant que le signal d’entrée est hors des limites de quantification du convertisseur. Ce convertisseur travaille en mode différentiel mais bien souvent on pourra mettre VINB = 1/2*VINA = VREF. [9] Figure 10 : exemple de table de codage des données en sortie du convertisseur Le SNR (Signal Noise Ratio) est le rapport signal sur bruit d’un convertisseur analogique/numérique. Il est défini comme le quotient de la valeur efficace du signal en entrée du convertisseur sur celle du bruit (qui peut être directement du à la quantification du signal). Ce rapport dépend donc directement de la résolution du convertisseur mais surtout de la plage de variation du signal en entrée de ce dernier. On trouvera généralement les valeurs suivantes sur la plupart des convertisseurs : Figure 11 : valeurs de SNR usuels Pour finir sur la théorie des convertisseurs AN, il faut noter que ce sont des composants réels dont le comportement est rarement linéaire. La non-linéarité des CAN est quantifiable et indiquée dans les datasheet des constructeurs. Ainsi la relation entrée/sortie des convertisseurs n’est jamais linéaire mais pourra se présenter sous la forme suivante : Figure 12 : effet de non-linéarité Bien souvent cette non-linéarité sera égale à ½ LSB. [10] 3. Filtres anti-repliement A l’entrée du convertisseur il faut placer un filtre passe-bas bas afin que l’on respecte toujours dans les conditions de Shannon. Il faut donc savoir quel type de filtre utiliser et aussi savoir le dimensionner correctement. Pour des fréquences moyennes de l’ordre du MHz et supérieures, la technologie des capacités capacités commutées est à proscrire car les fabricants de composants ne fabriquent pas de filtres passe-bas passe bas avec des fréquences de coupures qui dépassent les centaines de KHz. Il ne reste plus que les filtres passifs de type LC et les filtres actifs utilisant des es amplificateurs-opérationnels amplificateurs rapides (AOP). De plus, on préférera travailler avec des filtres de Butterworth par rapport aux autres filtre de Tchebyshev ou elliptiques car les filtres de même si ils ont une pente plus faible, ils possèdent un gain constant const dans la bande passante ainsi qu’aucune oscillations comme le montre la Figure suivante. Figure 13 : diagrammes de Bode de filtres différent pour un ordre identique a. Filtres actifs La solution fournie par les filtres actifs est une solution qui fonctionnera correctement pour des fréquences moyennes ne dépassant pas la dizaine de MHz. En effet, si l’on souhaite réaliser des filtres actifs d’ordre important (ordre 4 par exemple) et pour une fréquence de coupure coupu de 5MHz par exemple, il faudra pouvoir se fournir des AOP possédant des produits gain-bande gain très importants (GBP pour Gain Bandwith Product). On simulera par exemple un filtre actif de Butterworth d’ordre 4, de fréquence de coupure fc = 5MHz, de gain nul nul dans la bande passante par l’intermédiaire du logiciel Filter Pro de chez Texas Instruments (en libre téléchargement). téléchargement) Cela nous donne les résultats suivants. suivants Figure 14 : simulation d'un passe-bas actif Comme on peut le constater, cette solution nécessite un montage assez compliqué ainsi que des composants (AOP) possédant un produit gain-bande de 653MHz pour le plus rapide ce qui correspond à un produit introuvable car cette valeur est trop importante au vu de ce qui se fait sur le marché voire dans le meilleur des cas à un composant au prix très onéreux. b. Filtres passifs Une autre solution consistera à utiliser des filtres passifs de type LC. Outre l’absence d’alimentation, les filtres LC passifs possèdent les avantages suivants : dynamique très importante (peuvent permettre des niveaux de tension et courant élevés), bruit très faible (fortement réduit par rapport aux filtres actifs, car on s’affranchit en grande partie du bruit thermique provenant des résistances et du bruit des aop), possibilité de travailler à fréquence élevée, jusqu’à quelques GHz (disparition des problèmes liés à la bande passante limitée des montages faisant intervenir des composants actifs tels que des AOP), faible sensibilité de la réponse du filtre aux variations des valeurs des composants. On souhaitera donc plutôt travailler avec des filtres passifs facilement réalisables, constitués par des montages plus simples par rapport aux filtres actifs correspondant mieux aux contraintes de faible bruit des applications utilisant des convertisseurs analogiques/numériques et moins chers que leurs confrères précédemment cités. La simulation d’un filtre passif de Butterworth d’ordre 4 avec fc = 5MHz et un gain nul dans la bande passante sera réalisé grâce au logiciel RFSIM99 (logiciel gratuit). On pourra utiliser son éditeur de filtres pour réaliser des filtres passifs correspondant à nos attentes. [12] Figure 15 : éditeur de filtre de RFSIM99 Nous pourrons ensuite changer les valeurs calculées des composants avec des valeurs réelles afin de vérifier si les changements de valeurs ont ou non un impact fort sur le comportement du filtre avant de l’implanter dans notre chaine de conversion de signal. Le résultat obtenu est visible sur le graphe suivant. On remarque qu’à la fréquence de coupure théorique de 5MHz, le gain est bien de -3dB. Le gain est bien nul dans la bande passante. Figure 16 : diagramme de Bode du filtre passe-bas simulé En utilisant des valeurs réelles, comme indique sur le dessin suivant : Figure 17 : passe-bas avec des valeurs réelles pour les inductances et les capacités [13] On obtient on diagramme de Bode quasi-identique avec un déplacement de la fréquence de coupure à 4,9MHz et non pas 5MHz. Figure 18 : digramme de Bode du nouveau filtre La solution utilisant un filtrage passif sera dons la privilégiée dans le cadre de la réalisation d’un carte possédant un convertisseur analogique/numérique. Il faudra ensuite être capable de dimensionner correctement son filtre par rapport aux caractéristiques du montage final souhaitées. c. Dimensionnement d’un filtre Afin d’obtenir un filtrage le plus optimal possible, il faudra veiller à bien calculer la fréquence de coupure et l’ordre du filtre nécessaire. L’effet du recouvrement ne devra pas être calculé comme précédemment par rapport à un pourcentage du signal d’entrée mais devra plutôt être calculé de telle manière à ce qu’il soit inférieure à la résolution liée à la quantification et à la non-linéarité du convertisseur. Ainsi pour un CAN de n bits possédant une non-linéarité de ± ½ LSB, sa résolution ne sera pas de 8 mais plutôt de 8:; . Pour que le recouvrement à la fréquence de coupure soit inférieur à la résolution du convertisseur, il faudra : <1 = 23> D’où : Que l’on peut approximer à : 1 = 23> = 23> [14] Donc : Ce qui donne après développement : = 23> = ?1 @23> A B Ainsi dans le cadre de notre projet et pour un CAN de 12bits travaillant à 10MHz et possédant une non-linéarité de ± ½ LSB, la fréquence de coupure serait : Pour un ordre 4, fc ≈ fe/7,7 soit fc ≈ 1,3MHz, Pour un ordre 6, fc ≈ fe/4,6 soit fc ≈ 2,2MHz, Pour un ordre 8, fc ≈ fe/3,6 soit fc ≈ 2,8MHz. 4. Placement et routage Lors du placement des composants afin de réaliser la CAO de la carte qui comportera le convertisseur analogique/numérique, il est nécessaire de suivre certaines règles. En ce qui concerne les alimentations du système, si les alimentations (tension de référence, alimentation du convertisseur, …) sont fournies par des alimentations à découpages implantées sur la carte recueillant le convertisseur analogique/numérique, il faut veiller à bien séparer et isoler les composants cités précédemment des composants de précision tels que le convertisseur. Il faut penser à implanter au moins un plan de masse. On peut relier les masses analogiques des masses numériques à l’aide d’une self de choc afin de minimiser les bruits de haute fréquence dans les masses mais pour des fréquences de l’ordre de plusieurs dizaines de MHz, les selfs de choc ne sont pas réellement nécessaires. Les parties analogiques doivent êtres séparées au maximum des parties numériques en les plaçant aux extrémités de la carte (utiliser plusieurs couches séparées par des plans de masse). Il faut de plus suivre toutes les règles usuelles de CAO à savoir minimiser les angles droits au niveau des pistes ou ne pas mettre côte à côte des pistes d’alimentation, d’horloge ou de signaux numériques et les signaux analogiques. Espacer suffisamment les pistes et utiliser les tailles les plus grandes possibles si le composant le permet (pour des composants à boitier SOIC, utiliser des pistes de 0,6mm ; pour des composants à boitier plus petit, penser à bien espacer les pistes les unes des autres). Il faudra placer comme toujours les capacités de découplage au plus près des composants et minimiser au plus la longueur des pistes. En ce qui concerne les horloges de commande du convertisseur, veiller aux tensions minimales pour la reconnaissance de l’état haut, et pour ce qui est des signaux numériques, s’assurer de la compatibilité entre le convertisseur et le système qui viendra récupérer les données converties (LVTTL, LVCMOS, 5V admissible). [15] 5. Contact Cette note d’application a été réalisée par Matthias MALECKI dans le cadre des projets industriels au sein du département de Génie Electrique de Polytech’Clermont-Ferrand. Pour toutes questions concernant cet écrit vous pouvez me contacter par mail : [email protected] ou bien [email protected] (réf. : Polytech’Clermont-Ferrand projet P08B01).