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).