Note d`application - Dolphin Integration
Transcription
Note d`application - Dolphin Integration
Note d'application PLL G74HC4046, G74HCT4046 Dolphin Integration 8 chemin des Clos BP 65 38242 MEYLAN CEDEX France Tel : (33) 4 76 41 10 96 Fax : (33) 4 76 90 29 65 E-mail :[email protected] Web-site : http://www.dolphin.fr Présentation de la PLL La PLL (Phase Locked Loop) est un composant très utilisé pour les applications nécessitant des signaux stables en fréquence, (modulation de fréquence, synthèse, multiplication, division de fréquence, etc…). Les utilisateurs de Smash disposent actuellement d’un modèle comportemental de PLL, disponible sur certaines versions du logiciel. Il a donc été décidé de développer un modèle plus générique, en langage SPICE et VERILOG. La boucle à verrouillage de phase se compose de plusieurs éléments simples: un oscillateur contrôlé en tension, trois comparateurs de phase, quelques suiveurs et amplificateurs pour la mise en forme des signaux et l'adaptation d’impédance. Ces composants sont câblés dans le circuit intégré selon la figure suivante. Un filtre passe bas externe sert à lisser la sortie du comparateur de phase. Modèle de la PLL: C2 6 C1A 7 C1B 4 3 COMP OUT VCO 14 IN IN X3 12 X2 R1 R1 PHASE COMPARATOR 1 VCO Gnd PC1 2 OUT PC2 13 OUT GND 11 R2 PHASE COMPARATOR 2 R2 R4 OUT 1 R5 PCP PC3 GND PHASE COMPARATOR 3 X1 15 C1 OUT GND DEM INH OUT 5 10 VCO IN 9 R3 GND (d'après Data Book Philips Semiconductors) Etude du VCO (Voltage controlled oscillator) Caractéristiques L’oscillateur contrôlé en tension délivre un signal dont la fréquence varie en fonction de la tension appliquée sur son entrée. L’entrée du VCO est en haute impédance. Typiquement, la résistance d’entrée vaut 5 MΩ. Ceci permet de simplifier la conception des filtres passe bas en donnant au concepteur une gamme de valeurs de composants suffisamment large. R1 VCOIN 0 5E6 Une sortie démodulation (DEMOUT) est prévue pour charger le filtre passe bas. Cette sortie est constituée par un circuit suiveur. Pour simplifier, on emploie une source commandée et deux résistances: EDMO DMT 0 VALUE { V(VCOIN) } RDMO DMT 0 1E12 RDMOUT DEMOUT DMT 25 RDMO (1000 GΩ) évite les problèmes de convergence. RDMOUT (25 Ω) est la résistance de sortie du montage suiveur. La fréquence de sortie du VCO est calculée en fonction des éléments connectés au composants: R1, R2 et C1. Deux constantes de temps R1C1 et R2C1 sont ainsi créées et contrôlent respectivement la fréquence de référence (F0) et la plage de fréquence (2Fl). Les notices nous donnent des relations entre ces composants et les fréquences utilisées. Pour le modèle, nous avons utilisé : F0=K0/R1C1 Fl=Kl/R1C1 La fréquence d’offset est donnée par Foff=Koff/R2C2 Les caractéristiques en fréquence du VCO F(OUTVCO) F0+Fl+ Foff Fmax F0 2Fl lié à R1,C1 Fmin Foff lié à R1,C1 lié à R2,C1 0 0.9V ½ Vcc Vcc-0.9V Vcc V(INVCO) (d’après databook Philips Semiconductors) Pour calculer ces fréquences, on utilise des sources de tension commandées par les équations suivantes : EFOFF FOFF 0 VALUE { 18.2/(2*VAL_R2*VAL_C1AB) } EFO FO 0 VALUE { 6/(VAL_R1*VAL_C1AB) } EFL FL 0 VALUE { 6/(VAL_R1*VAL_C1AB) } Ces trois sources permettent de calculer Foff, F0, Fl EFCNT FCNT 0 VALUE { (2*V(FL)*V(VOIN)/V(VP)) } EFTMP FTMP 0 IF { V(VCOIN)<(V(VP)-0.9) } THEN { V(FCNT) } ELSE { (V(FO)+V(FL)+V(FOFF) ) } EFVCO FVCO 0 IF { V(VCOIN)<0.9 } THEN { V(FOFF) } ELSE { V(FTMP) } Ces trois autres sources mettent en forme l’équation de la fréquence en fonction de la tension d’entrée suivant la figure ci-dessus. La fréquence de commande du VCO est disponible sur le nœud FVCO. Ce signal est intégré pour être utilisé en commande d’une fonction Sinus. En effet la seule multiplication de la fréquence par le temps conserve les discontinuités dues aux sauts de fréquence. Ceci aurait pour effet de reproduire ces discontinuités gênantes sur la fréquence de sortie du VCO. Comparaison ancien/nouveau VCO avec et sans intégration 1ère trace: 2ème trace: 3ème trace: commande du VCO modèle de VCO simple modèle de VCO avec intégrateur. Discontinuités le modèle simple de VCO Linéarité du modèle avec intégrateur Dans la figure ci dessus, le VCO simple est commandé par l’équation suivante : EVCO2 N3 0 VALUE { sin((V(IN)+1) * 2*PI*10k *time()) } La fréquence d’entrée du VCO est intégré par la fonction d'intégration suivante : GRVAR G1 N6 R2 N6 C1 N7 R3 N6 N7 0 IF { time()==0 } THEN { V(N7)/1u } ELSE { V(N7)/1E8 } 0 FVCO 0 1 N7 1m 0 1 0 1E8 Schéma équivalent de la fonction : R2 1mΩ N6 N7 I G1: I(G1)=FVCO R1 1E8 Ω C1 1F GRVAR 1u ou 1E8 Ω 0 Les résistances R1 et R2 servent à favoriser la convergence lors de la simulation. GRVAR facilite le calcul du point de repos en simulant une résistance de 1mΩ destinée à décharger C1. En négligeant ces composants, R1 et G1 sont en parallèle. Aux bornes de C : donc I=CdU/dt V(N7)=∫ I.dt = ∫ V(FVCO).dt (avec C=1). Ce signal est ensuite utilisé pour commander les oscillations du VCO (EX1 sert à la mise en forme du signal): EX1 EQ1 NR1 0 VALUE { (-V(N7))/1000 } VCOOU 0 VALUE { 2.5*(1+sgn(sin(V(NR1)*1000*6.2831))) } On obtient ainsi un signal carré de 5V d’amplitude et de fréquence FVCO, commandée par la tension VCOIN. FVCO obéit à la caractéristique fréquence-tension définit par la figure 2 Caractéristique fréquence/tension de commande, tension de sortie du VCO 1ère trace: 2ème trace: 3ème trace: 4ème trace: 5ème trace: . signal d'entrée du VCO fréquence d'oscillation VCO sortie du VCO entrée d'inhibition de la sortie intégration de la fréquence Remarques: Les fréquences de références du VCO apparaissent sur la caractéristique: Foff=1.5 kHz fréquence d'offset, F0=8.33 kHz lorsque la tension d'entrée du VCO vaut 2.5V, 2 Fl=11.8 kHz, qui est la plage de capture en fréquence, N7 est l'intégration de la fréquence et commande le sinus du VCO. (les fréquences utilisées sont pour C=6nF, R1=100k, R2=1M, voir exemple.) Une broche INH permet l’inhibition du circuit VCO, ceci pour des raisons d’économie d’énergie. EIN0 VCOOUT 0 IF { V(NEN)<2.5 } THEN { V(VCOOU) } ELSE { 0 } RQVCO VCOOUT 0 1E8 Quelque résistances sont utilisées comme interfaces d’entrée/ sorties: R10 PC2OUT VCC 5000 R11 PC2OUT GND 5000 Résistances de tirage pour PC2OUT (sortie analogique) RRA RR1 0 1E6 RRB RR2 0 1E6 RCX1 C1A 0 1 Interfaçage des composants externes R1,R2, C1 RCX2 C1B 0 1 RSGN SIGIN 0 150000 RCPN COMPIN 0 150000 Résistances d’entrée sur SIGIN et COMPIN RVP VCC VP 0.001 RVN GND VN 0.001 RVPN VP VN 1000 "Isolation" de l’alimentation Pour visualiser correctement la tension sur le nœud d’entrée INH, et l’utiliser après dans une source commandée, on utilise un buffer suivi d’un nœud d’interface : buf #(10, 10) B1(NEN,INH); >>> SPICE N0 NEN GND VCC I4106F5 Ceci permet de fixer une tension de seuil entre les niveaux haut et bas à 2.5V. Etude des comparateurs de phase Trois comparateurs de phase sont disponibles dont les entrées signal et comparaison (SIGIN et COMPIN) sont communes. Le premier comparateur, PC1 est constitué d’une porte XOR. Sa plage de comparaison est limitée à 180°. Le comparateur 3, PC3, se compose d’une bascule RS, et PC2 de deux bascules mises à zéro par un circuit logique. Comparateur PC1 PC2 PC3 fonctionnement porte XOR 2 bascules RS sortie 3 états 1 bascule RS plage de comparaison 0 à 180° -360 à 360° 0 à 360° fonction de transfert PC1OUT= VCC/Π *(ΦSIGIN-ΦCOMPIN) PC2OUT= PC3OUT= VCC/4Π VCC/2Π *( ΦSIGIN-ΦCOMPIN) *(ΦSIGIN-ΦCOMPIN) simulation comparative des comparateurs de phase 1ère trace: 2ème trace: 3ème trace: 4ème trace: 5ème trace: 6ème trace: signal d'entrée signal à comparer avec SIGIN sortie du 1er comparateur de phase sortie du 3ème comparateur de phase sortie analogique du 2ème comparateur sortie numérique du 2ème comparateur PC1 peut ainsi bloquer la PLL sur des fréquences harmoniques de la fréquence de référence F0. PC2 repère l’avance de phase de SIGIN sur COMPIN par un niveau haut et le retard par un niveau bas. Si les signaux sont en phase, la sortie est à Vcc/2. PCPOUT est alors au niveau haut et peut être utilisé comme indication du blocage de la PLL. C’est le comparateur qui offre la plus grande plage de capture à la PLL. La tension moyenne de sortie de PC3 est plus élevée que celle de PC2, ce qui donne une plus grande rapidité à la PLL. Mais sa plage de comparaison est plus réduite. Utilisation de la PLL Caractéristiques Les circuits G74HC4046 et G74HCT4046 prennent trois paramètres : PARAMS: VAL_C1AB=40p VAL_R1=1E10 VAL_R2=1E10 Par défaut, les résistances sont prises infinies, et le condensateur a la valeur minimale supportée par le VCO. Les mesures sur abaques donnent : K0=5 Kl=3.5 Koff=9 Ce qui donne, pour C=6nF; R1=100KΩ; R2=1MΩ Foff= 1.5 KHz F0= 9 kHz Fl= 6 kHz Plages des paramètres recommandées par le constructeur: composant R1 R2 C1 F0,Fl,Foff valeur min. 3 3 40 20 Valeur max. 300 300 Illimité 10M unité kΩ kΩ pF Hz Pour ces plages de valeurs, on obtient les fréquences suivantes: Valeur de F0 en fonction de C1, pour deux valeurs de R1 (10k, 100k) Les courbes en grisé représentent les valeurs du modèle de simulation, tracées sur le graphique de la notice technique (Philips semiconductors) Valeur typique de la fréquence d'offset (Foff) en fonction de C1, pour trois valeurs de R2: 3k, 10k, 300k. Valeur typique de la plage de capture en fréquence (2 Fl) en fonction de R1C1. Pour tester la PLL dans son ensemble, on l'utlise en circuit d'asservissement en fréquence. Un diviseur par 4, réalisé à l'aide de deux bascules JK permet d'obtenir en sortie du VCO un signal de fréquence quatre fois supérieure à la référence. Cette référence est créée par deux horloges sélectionnées par une porte ou, pour obtenir une perturbation. On définit les valeurs de composants ci-dessus, comme paramètres de la PLL, ce qui nous donne une fréquence de référence de 8.3 kHz et une plage de capture en fréquence allant jusqu'à 14 kHz. Par conséquent, on choisit un filtre dont la constante de temps est 3.10-4, pour couper les harmoniques au delà de 12 kHz (la fréquence du signal à asservir ne dépasse pas 12 kHz). Schéma du montage : Diviseur par 4 PLL Filtre et rebouclage du VCO Entrée d'inhibition (provoque aussi le "reset" des bascules du diviseur) Alimentation Commande de la PLL avec perturbation Simulation correspondante: 1ère trace: signal de référence 2°trace: sortie du diviseur de fréquence, pour visualiser le signal asservi 3° trace: sortie du VCO, de fréquence = 4x la fréquence de la référence 4°trace: sortie du comparateur de phase (PC2) et signal filtré, réinjecté sur l'entrée du VCO 5°trace: fréquence d'oscillation du VCO (avec apparition des fréquences de saturation basse et haute) La sortie du filtre lisse la sortie du comparateur de phase. Celle-ci est inférieure à 2.5V lorsque la fréquence du VCO est inférieure à la fréquence de référence et supérieure sinon. La fréquence du VCO est quatre fois supérieure à celle de la sortie du diviseur. Cette simulation fait apparaître "l'accrochage" en fréquence de la PLL, pour les deux fréquences de référence ( 1.5 et 3kHz soit pour le VCO 6 et 12kHz). On peut repérer cette phase grâce à la stabilisation de la tension de sortie du filtre, et donc de la fréquence du VCO. On peut observer aussi les saturations de la fréquence du VCO, lorsque la tension appliquée sur son entrée sort de la plage d'utilisation (0.9V à VCC-0.9V). Description du schéma (.NSX) : // Netlist generated by Client/SMASH server // Any text frames containing .NSX as the first line are included in this file // Any text frames containing .IPA as the first line are included in .IPA file // Component values and references to simulation models are defined in .PAT file // .IPA is referenced by an `include statement in .PAT file. // Netlist C1 N00002 N00003 C1_VALUE C2 OUTFILTRE 0 C2_VALUE R1 N00012 0 R1_VALUE R2 N00009 0 R2_VALUE R3 PCOUT OUTFILTRE R3_VALUE V2 VCC 0 5 X1 N00002 N00003 OUTDIV N00026 0 INH N00022 PCOUT N00023 N00025 N00009 N00012 REF VCC OUTFILTRE OUTVCO G74HC4046 PARAMS: VAL_C1AB=6n VAL_R1=100000 VAL_R2=1000000 X4 OUTVCO N00017 N00017 N00019 N00017 N00017 N00013 N00013 N00019 OUTDIV N00020 N00021 0 VCC G74LS73 X7 INH N00013 NOT X9 N00004 N00006 NOT X10 N00010 N00011 REF OR X11 N00006 N00007 N00011 AND X12 N00005 N00004 N00010 AND Paramètres de la simulation (.PAT) : // Include .ipa (schematic text frame) file: `include "thc4046.ipa" .printall .lprintall .OP EPS_V=1u VMIN=0 VMAX=5 DELTAV=-2 EPS_I=100p MAXITER=500 .TRACE .LTRACE .LTRACE .LTRACE .TRACE .TRACE .LTRACE .LTRACE .LTRACE .LTRACE .LTRACE .TRACE .TRACE .TRACE .EPS TRAN TRAN TRAN TRAN TRAN TRAN TRAN TRAN TRAN TRAN TRAN TRAN TRAN TRAN V(OUTVCO) MIN=-5.0000004E-001 MAX=5.5000003E+000 REF OUTDIV OUTVCO V(OUTFILTRE) V(PCOUT) MIN=-4.8824899E-001 MAX=5.4879755E+000 V(X1.FVCO) MIN=-4.8333333E+002 MAX=2.3516667E+004 X1.NQ1 X1.NQ2 X1.CLR X1.OUT2 X1.INP V(PCOUT) MIN=-4.8803406E-001 MAX=5.4879560E+000 V(VCC) MIN=4.9998233E+000 MAX=5.0001212E+000 V(X1.VP) MIN=4.9999086E+000 MAX=4.9999916E+000 100u 10 50u .H .TRAN .METHOD 10n 1.000E-017 10u 250m 2 1n 30m 0 BE /*DO_NOT_EDIT*/.CLK N00017 0 S1 /*DO_NOT_EDIT*/.PARAM C1_VALUE = 6n /*DO_NOT_EDIT*/.PARAM C2_VALUE = 6n /*DO_NOT_EDIT*/.PARAM CLOCK3_RISING_EDGE_TIME = 250000 /*DO_NOT_EDIT*/.PARAM CLOCK3_FALLING_EDGE_TIME = 500000 /*DO_NOT_EDIT*/.PARAM CLOCK3_PERIOD = 500000 /*DO_NOT_EDIT*/.CLK N00005 0 S0 CLOCK3_RISING_EDGE_TIME S1 CLOCK3_FALLING_EDGE_TIME S0 .REP CLOCK3_PERIOD /*DO_NOT_EDIT*/.PARAM CLOCK4_RISING_EDGE_TIME = 500000 /*DO_NOT_EDIT*/.PARAM CLOCK4_FALLING_EDGE_TIME = 1000000 /*DO_NOT_EDIT*/.PARAM CLOCK4_PERIOD = 1000000 /*DO_NOT_EDIT*/.CLK N00007 0 S0 CLOCK4_RISING_EDGE_TIME S1 CLOCK4_FALLING_EDGE_TIME S0 .REP CLOCK4_PERIOD /*DO_NOT_EDIT*/.PARAM NSET2_FALLING_EDGE_TIME = 10000000 /*DO_NOT_EDIT*/.PARAM NSET2_RISING_EDGE_TIME = 20000000 /*DO_NOT_EDIT*/.CLK N00004 0 S1 NSET2_FALLING_EDGE_TIME S0 NSET2_RISING_EDGE_TIME S1 /*DO_NOT_EDIT*/.PARAM R1_VALUE = 1000000 /*DO_NOT_EDIT*/.PARAM R2_VALUE = 100000 /*DO_NOT_EDIT*/.PARAM R3_VALUE = 100000 /*DO_NOT_EDIT*/.PARAM SET1_RISING_EDGE_TIME = 100000 /*DO_NOT_EDIT*/.PARAM SET1_FALLING_EDGE_TIME = 1000000 /*DO_NOT_EDIT*/.CLK INH 0 S0 SET1_RISING_EDGE_TIME S1 SET1_FALLING_EDGE_TIME S0 /*DO_NOT_EDIT*/.LIB D:\PRISTEL98\\SEVENTY4\74HC.LIB /*DO_NOT_EDIT*/.LIB D:\PRISTEL98\\SEVENTY4\74LS.LIB /*DO_NOT_EDIT*/.LIB D:\PRISTEL98\\GENERIC\SMASHMOD.LIB