Direttamente dal foglio dati: è davvero un circuito di filtro sensibile?


12

Cirrus Logic CS42426-CQZ è un CODEC audio che desidero utilizzare in una scheda audio USB personalizzata. È possibile scaricare la scheda tecnica da lì.

Nella pagina 61, il foglio dati ha un circuito consigliato per ciascun canale A / D e D / A, ma non riesco a vedere lo scopo di tale complessità. Certo, stanno convertendo tra differenziale e single-ended, ma ci sono anche modi più semplici per farlo.

Ho copiato i loro schemi in alcuni software di simulazione open source ( http://qucs.sourceforge.net/ ) e la risposta in frequenza non corrisponde nemmeno allo scopo dichiarato. Ma almeno la risposta udibile è piuttosto piatta:

ADC In: Nel (Va bene, quindi fanno affidamento sul CMRR dell'ADC stesso come parte del filtro anti-aliasing. Non mi piace quell'idea.)

Uscita DAC: Su

Suppongo che in realtà siano seri sull'uso di quei circuiti in un'applicazione del mondo reale, ma qualcosa non sembra giusto al riguardo. Come ho detto, la risposta udibile è piuttosto piatta, quindi probabilmente suonerà bene senza telefoni cellulari o altre RF, ma penso di poter fare di meglio con i vecchi classici di OpAmps 101. Siete d'accordo?

C'è davvero una buona ragione per avere un aumento dell'ADC audio da guadagno nominale a 20kHz a un picco a 300kHz? O affinché il DAC faccia lo stesso da 20Hz a circa 0,5Hz?


Per completezza, ecco i file di simulazione. Copiali in file di testo semplice, modifica l'estensione in .sch se il tuo sistema se ne frega, e aprili in Qucs:

ADC In:

<Qucs Schematic 0.0.18>
<Properties>
  <View=785,329,2079,1333,0.883466,0,0>
  <Grid=10,10,1>
  <DataSet=DiffAmpIn.dat>
  <DataDisplay=DiffAmpIn.dpl>
  <OpenDisplay=1>
  <Script=DiffAmpIn.m>
  <RunScript=0>
  <showFrame=0>
  <FrameText0=Title>
  <FrameText1=Drawn By:>
  <FrameText2=Date:>
  <FrameText3=Revision:>
</Properties>
<Symbol>
</Symbol>
<Components>
  <GND * 1 1120 480 0 0 0 0>
  <VProbe In 1 1110 460 28 -31 0 0>
  <GND * 1 940 640 0 0 0 0>
  <C C4 5 1010 520 -26 17 0 0 "100 uF" 1 "" 0 "neutral" 0>
  <GND * 1 1080 640 0 0 0 0>
  <R R18 5 1080 590 16 -10 0 3 "10 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <.DC DC1 5 930 700 0 41 0 0 "26.85" 0 "0.001" 0 "1 pA" 0 "1 uV" 0 "no" 0 "150" 0 "no" 0 "none" 0 "CroutLU" 0>
  <C C6 5 1230 420 -26 17 0 0 "470 pF" 1 "" 0 "neutral" 0>
  <R R23 5 1310 380 -9 10 0 2 "634 Ohm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <R R22 5 1350 500 -9 10 0 2 "91 Ohm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <OpAmp OP3 5 1230 500 -26 -42 1 0 "1e6" 0 "15 V" 0>
  <R R27 5 1300 570 16 -10 0 3 "634 Ohm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <C C8 5 1600 610 17 -26 0 1 "2700 pF" 1 "" 0 "neutral" 0>
  <Vac V1 5 940 590 18 -26 0 1 "1 V" 1 "1 kHz" 1 "0" 0 "0" 0>
  <C C7 5 1390 660 -26 17 0 0 "470 pF" 1 "" 0 "neutral" 0>
  <R R24 5 1470 620 -9 10 0 2 "634 Ohm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <R R25 5 1510 740 -9 10 0 2 "91 Ohm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <OpAmp OP4 5 1390 740 -26 -42 1 0 "1e6" 0 "15 V" 0>
  <GND * 1 1260 780 0 0 0 0>
  <R R26 5 1310 760 -9 10 0 2 "332 Ohm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <.AC AC1 5 930 750 0 41 0 0 "log" 1 "0.1 Hz" 1 "100 MHz" 1 "901" 1 "no" 0>
  <VProbe Diff 1 1820 610 -16 28 0 3>
  <GND * 1 1760 740 0 0 0 0>
  <VProbe Neg 1 1750 720 28 -31 0 0>
  <GND * 1 1760 500 0 0 0 0>
  <VProbe Pos 1 1750 480 28 -31 0 0>
</Components>
<Wires>
  <1080 480 1100 480 "" 0 0 0 "">
  <1080 480 1080 520 "" 0 0 0 "">
  <1040 520 1080 520 "" 0 0 0 "">
  <940 520 980 520 "" 0 0 0 "">
  <940 520 940 560 "" 0 0 0 "">
  <940 620 940 640 "" 0 0 0 "">
  <1080 620 1080 640 "" 0 0 0 "">
  <1080 520 1080 560 "" 0 0 0 "">
  <1080 520 1200 520 "" 0 0 0 "">
  <1300 420 1300 500 "" 0 0 0 "">
  <1260 420 1300 420 "" 0 0 0 "">
  <1180 420 1200 420 "" 0 0 0 "">
  <1300 500 1320 500 "" 0 0 0 "">
  <1380 500 1400 500 "" 0 0 0 "">
  <1180 380 1180 420 "" 0 0 0 "">
  <1180 380 1280 380 "" 0 0 0 "">
  <1400 380 1400 500 "" 0 0 0 "">
  <1340 380 1400 380 "" 0 0 0 "">
  <1270 500 1300 500 "" 0 0 0 "">
  <1180 420 1180 480 "" 0 0 0 "">
  <1180 480 1200 480 "" 0 0 0 "">
  <1300 500 1300 540 "" 0 0 0 "">
  <1400 500 1600 500 "" 0 0 0 "">
  <1600 500 1600 580 "" 0 0 0 "">
  <1600 640 1600 740 "" 0 0 0 "">
  <1300 600 1300 720 "" 0 0 0 "">
  <1460 660 1460 740 "" 0 0 0 "">
  <1420 660 1460 660 "" 0 0 0 "">
  <1340 660 1360 660 "" 0 0 0 "">
  <1460 740 1480 740 "" 0 0 0 "">
  <1340 620 1340 660 "" 0 0 0 "">
  <1340 620 1440 620 "" 0 0 0 "">
  <1500 620 1560 620 "" 0 0 0 "">
  <1540 740 1560 740 "" 0 0 0 "">
  <1560 740 1600 740 "" 0 0 0 "">
  <1560 620 1560 740 "" 0 0 0 "">
  <1430 740 1460 740 "" 0 0 0 "">
  <1340 660 1340 720 "" 0 0 0 "">
  <1340 720 1360 720 "" 0 0 0 "">
  <1260 760 1260 780 "" 0 0 0 "">
  <1260 760 1280 760 "" 0 0 0 "">
  <1340 760 1360 760 "" 0 0 0 "">
  <1300 720 1340 720 "" 0 0 0 "">
  <1600 740 1710 740 "" 0 0 0 "">
  <1710 740 1740 740 "" 0 0 0 "">
  <1710 620 1710 740 "" 0 0 0 "">
  <1710 620 1800 620 "" 0 0 0 "">
  <1600 500 1710 500 "" 0 0 0 "">
  <1710 500 1740 500 "" 0 0 0 "">
  <1710 500 1710 600 "" 0 0 0 "">
  <1710 600 1800 600 "" 0 0 0 "">
</Wires>
<Diagrams>
  <Rect 880 1239 498 359 3 #c0c0c0 1 10 1 0.1 1 1e+08 1 -0.540919 1 6 1 -1 0.5 1 315 0 225 "" "" "">
    <"In.v" #0000ff 0 3 0 0 0>
    <"Diff.v" #ff0000 0 3 0 0 0>
  </Rect>
  <Rect 1480 1239 498 359 3 #c0c0c0 1 10 1 0.1 1 1e+08 1 -1 0.5 1 1 -0.100118 1 4.34333 315 0 225 "" "" "">
    <"Pos.v" #0000ff 0 3 0 0 0>
    <"Neg.v" #ff0000 0 3 0 0 0>
  </Rect>
</Diagrams>
<Paintings>
</Paintings>

Uscita DAC:

<Qucs Schematic 0.0.18>
<Properties>
  <View=-56,169,1878,1394,0.909091,0,88>
  <Grid=10,10,1>
  <DataSet=DiffAmpOut.dat>
  <DataDisplay=DiffAmpOut.dpl>
  <OpenDisplay=1>
  <Script=DiffAmpOut.m>
  <RunScript=0>
  <showFrame=0>
  <FrameText0=Title>
  <FrameText1=Drawn By:>
  <FrameText2=Date:>
  <FrameText3=Revision:>
</Properties>
<Symbol>
</Symbol>
<Components>
  <GND * 1 40 660 0 0 0 0>
  <IProbe Neg 1 370 500 -26 16 0 0>
  <IProbe Pos 1 370 620 -26 16 0 0>
  <R R16 5 250 620 -9 10 0 2 "0 Ohm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <R R17 5 250 500 -9 10 0 2 "0 Ohm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <GND * 1 460 560 0 0 0 0>
  <R R19 5 550 680 -9 10 0 2 "1.65 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <C C2 5 550 620 -26 17 0 0 "5800 pF" 1 "" 0 "neutral" 0>
  <R R21 5 730 680 -9 10 0 2 "1.87 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <R R23 5 730 620 -9 10 0 2 "887 Ohm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <R R18 5 550 440 -9 10 0 2 "5.49 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <C C1 5 550 500 -26 17 0 0 "1800 pF" 1 "" 0 "neutral" 0>
  <R R20 5 730 440 -9 10 0 2 "6.19 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <R R22 5 730 500 -9 10 0 2 "2.94 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <C C5 5 890 680 -26 17 0 0 "22 uF" 1 "" 0 "neutral" 0>
  <OpAmp OP1 5 870 560 -26 -42 1 0 "1e6" 0 "15 V" 0>
  <C C3 5 890 620 -26 17 0 0 "1200 pF" 1 "" 0 "neutral" 0>
  <C C4 5 890 500 -26 17 0 0 "390 pF" 1 "" 0 "neutral" 0>
  <GND * 1 960 700 0 0 0 0>
  <GND * 1 1320 560 0 0 0 0>
  <VProbe Out 1 1310 540 28 -31 0 0>
  <C C6 5 1090 560 -26 17 0 0 "22 uF" 1 "" 0 "neutral" 0>
  <R R24 5 1170 560 -9 10 0 2 "1 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <R R25 5 1260 630 19 -8 0 3 "47.5 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "US" 0>
  <GND * 1 1260 680 0 0 0 0>
  <GND * 1 1040 520 0 0 0 0>
  <VProbe Amp 1 1030 500 28 -31 0 0>
  <.DC DC1 5 30 730 0 39 0 0 "26.85" 0 "0.001" 0 "1 pA" 0 "1 uV" 0 "no" 0 "150" 0 "no" 0 "none" 0 "CroutLU" 0>
  <.AC AC1 5 30 780 0 39 0 0 "log" 1 "0.1 Hz" 1 "10 MHz" 1 "801" 1 "no" 0>
  <Vac V1 5 40 610 18 -26 0 1 "0 V" 1 "1 kHz" 1 "0" 0 "0" 0>
  <Vac V3 5 190 620 -26 18 0 0 "1 V" 1 "1 kHz" 1 "0" 0 "0" 0>
  <Vac V2 5 190 500 -26 -50 0 2 "1 V" 1 "1 kHz" 1 "0" 0 "0" 0>
</Components>
<Wires>
  <280 620 340 620 "" 0 0 0 "">
  <40 640 40 660 "" 0 0 0 "">
  <40 560 40 580 "" 0 0 0 "">
  <40 560 140 560 "" 0 0 0 "">
  <140 500 160 500 "" 0 0 0 "">
  <140 620 160 620 "" 0 0 0 "">
  <140 500 140 560 "" 0 0 0 "">
  <140 560 140 620 "" 0 0 0 "">
  <280 500 340 500 "" 0 0 0 "">
  <400 500 420 500 "" 0 0 0 "">
  <400 620 420 620 "" 0 0 0 "">
  <420 440 420 500 "" 0 0 0 "">
  <420 440 520 440 "" 0 0 0 "">
  <420 620 420 680 "" 0 0 0 "">
  <420 680 520 680 "" 0 0 0 "">
  <460 560 500 560 "" 0 0 0 "">
  <500 560 500 620 "" 0 0 0 "">
  <500 620 520 620 "" 0 0 0 "">
  <580 620 660 620 "" 0 0 0 "">
  <580 680 660 680 "" 0 0 0 "">
  <660 680 700 680 "" 0 0 0 "">
  <660 620 660 680 "" 0 0 0 "">
  <660 620 700 620 "" 0 0 0 "">
  <500 500 500 560 "" 0 0 0 "">
  <500 500 520 500 "" 0 0 0 "">
  <580 500 660 500 "" 0 0 0 "">
  <580 440 660 440 "" 0 0 0 "">
  <660 440 700 440 "" 0 0 0 "">
  <660 440 660 500 "" 0 0 0 "">
  <660 500 700 500 "" 0 0 0 "">
  <760 680 860 680 "" 0 0 0 "">
  <920 680 960 680 "" 0 0 0 "">
  <760 440 960 440 "" 0 0 0 "">
  <760 500 840 500 "" 0 0 0 "">
  <760 620 840 620 "" 0 0 0 "">
  <840 580 840 620 "" 0 0 0 "">
  <840 500 840 540 "" 0 0 0 "">
  <840 620 860 620 "" 0 0 0 "">
  <840 500 860 500 "" 0 0 0 "">
  <910 560 960 560 "" 0 0 0 "">
  <960 500 960 560 "" 0 0 0 "">
  <920 500 960 500 "" 0 0 0 "">
  <960 440 960 500 "" 0 0 0 "">
  <920 620 960 620 "" 0 0 0 "">
  <960 620 960 680 "" 0 0 0 "">
  <960 680 960 700 "" 0 0 0 "">
  <1120 560 1140 560 "" 0 0 0 "">
  <1200 560 1260 560 "" 0 0 0 "">
  <1260 560 1300 560 "" 0 0 0 "">
  <1260 560 1260 600 "" 0 0 0 "">
  <1260 660 1260 680 "" 0 0 0 "">
  <1000 520 1020 520 "" 0 0 0 "">
  <960 560 1000 560 "" 0 0 0 "">
  <1000 560 1060 560 "" 0 0 0 "">
  <1000 520 1000 560 "" 0 0 0 "">
</Wires>
<Diagrams>
  <Rect 300 1119 498 359 3 #c0c0c0 1 10 1 0.1 1 3e+06 1 -0.422698 1 4.66459 1 -1 0.5 1 315 0 225 "" "" "">
    <"Pos.i" #0000ff 0 3 0 0 0>
    <"Neg.i" #ff0000 0 3 0 0 0>
  </Rect>
  <Rect 880 1119 498 359 3 #c0c0c0 1 10 1 0.1 1 3e+06 1 -0.00012118 0.0002 0.00133304 1 -1 0.5 1 315 0 225 "" "" "">
    <"Amp.v" #0000ff 0 3 0 0 0>
    <"Out.v" #ff0000 0 3 0 0 0>
  </Rect>
</Diagrams>
<Paintings>
</Paintings>

Hai usato gli op-amp giusti?
Andy aka

@Andyaka Questa è simulazione. Ho usato il modello generico di amplificatore operazionale, che è impostato di default per un guadagno interno di 1e6 e clip a + -15V. Nessuna altra impostazione. La scelta dell'amplificatore operazionale fisico non ha ancora importanza.
AaronD,

Se devi sapere, sto progettando il mio circuito reale con LM833, ma questo non ha nulla a che fare con questa simulazione. Mi aspetto che qualsiasi amplificatore operazionale faccia questo in questo circuito.
AaronD,

Risposte:


5

Mi piace questa domanda. È un ottimo esempio di come gli schemi di dati siano ottimi per mostrare concetti, ma non per essere usati così come sono.

Osservando la descrizione del filtro, sembra che i concetti principali siano: risposta piatta nella banda del passaggio audio, bassa impedenza della sorgente agli ingressi ADC, funzionamento centrato su un VQ di 2,7 V e l'attenuazione di 20 dB è adeguata per l'antialiasing .

Il cappuccio da 2700pF implica che l'ADC è commutato sull'ingresso del condensatore, senza alcun buffer. A 6 MHz sono circa 10 Ohm di impedenza di uscita del filtro. Mentre sarebbe facile usare qualcosa come un integratore con perdita per ottenere l'attenuazione e la centratura attorno a VQ, l'impedenza di uscita sarebbe maggiore.

La disposizione dell'amplificatore, a volte chiamata "nella compensazione del carico del circuito" è di far fronte al carico capacitivo sugli OpAmps. Una compensazione come questa ha una Q regolabile in modo che la transizione in roll-off possa essere molto più nitida di una semplice RC. Spesso è necessaria una certa quantità di ottimizzazione per ottenere la planarità desiderata. In questo caso, tuttavia, sembra che ci sia un errore nello schema che ha causato un picco con i valori della parte.

Ecco uno schema con i designatori di riferimento:

inserisci qui la descrizione dell'immagine

Puoi vedere dove penso che lo schema vada storto, con la connessione di R4. Ma, prima di approfondire, esaminiamo come dovrebbe funzionare il circuito.

Con caricamento capacitivo, un OpAmp perderà il margine di fase. Un buon OpAmp avrà in genere un margine di fase di circa 60 gradi. Ma anche un carico di 100pF può far diminuire il margine di fase a 40 o 45 gradi, con una risposta di picco. L'aggiunta di R2, C2 e R3 consente all'amplificatore di mantenere il margine di fase con carico. C2 ripristina la larghezza di banda, aumentando il margine di fase. R3 aiuta a minimizzare la perdita del margine di fase con l'aggiunta di C4. R2 fornisce feedback a bassa frequenza per correggere eventuali errori passband causati da R3.

La risposta del circuito può essere regolata regolando il valore di C2. Aumentando C2 si riduce la Q del filtro. Alle basse frequenze prevale il loop di R2, ma il loop C2 domina a frequenze più alte dove l'impedenza C2 è inferiore a R2 + R3. Quindi la caduta su R3 non è compensata e il segnale viene attenuato da R3 C4 e l'eventuale rolloff dell'amplificatore.

Considera solo la sezione non invertente con l'amplificatore ideale. La funzione di trasferimento, tralasciando lo zero di C1 R1 sarebbe:

C2s(R2+R3)+1VoVin =C2s(R2+R3)+1C2C4R2R3s2+s(C2R2+C2R3)+1

Il denominatore assomiglia sospettosamente alla classica forma quadratica che contiene Q e , quindi ne derivano.ωo

Q =R2R3C4(1R2+1R3)C2(R2+R3)3/2

ωo =1R2+1R3C2C4(R2+R3)

Poiché l'amplificatore ideale è stato usato per rendere le cose gestibili, Q va all'infinito mentre C2 va a zero. Questo non sarà un problema poiché ci preoccupiamo solo delle frequenze inferiori alla larghezza di banda dell'amplificatore. Con un vero amplificatore Q cadrebbe con il guadagno dell'amplificatore. Inserendo i valori per R2, R3 e C4 possiamo tracciare Q in funzione di C2.

inserisci qui la descrizione dell'immagine

Q diminuisce all'aumentare del valore di C2. Se l'amplificatore è troppo alto, basta aumentare il C2 per appiattire la risposta.

Ora, guardando la curva, sembra che C2 di 470pF abbia una Q di ~ 0,8. Questa sarebbe una risposta piuttosto piatta. Quello che è successo?

Nel foglio dati lo schema mostra R4 collegato all'uscita U1. Questo fa 2 cose cattive. Innanzitutto, dopo aver avuto qualche problema a compensare gli effetti a bassa frequenza di R3 e R6, il collegamento di R4 a U1 in uscita aggiunge il ritorno di R3. Se osservi l'impedenza di uscita del filtro vedrai che è vero. In secondo luogo, provoca un picco con C2 e C3 di 470 pF (il picco di Q è di circa 300 pF, più o meno di quel Q diminuisce). Se R4 è collegato al nodo con R2 R3 e C4, Q agisce come previsto. Inoltre, l'impedenza di uscita del filtro rimarrà molto bassa attraverso la banda passante audio, fino al rolloff e quindi seguirà l'impedenza C4.


Caspita, ottima risposta! Stavo per annullare il loro circuito e inviare il mio segnale bufferizzato ad alta tensione attraverso un semplice divisore con resistore differenziale accoppiato in CA, mantenendo anche il cappuccio di ingresso per la memorizzazione della carica e il rolloff finale RC. Ma con la tua spiegazione di come dovrebbe funzionare e funziona se è fatta bene, penso che mi piaccia di più il tuo buffer corretto.
AaronD,

Tuttavia, c'è un punto che vorrei mettere in discussione: che -20dB è adeguato per l'antialiasing. Ciò è probabilmente vero se i componenti ad alta frequenza sono una piccola parte del segnale originale, ma non lo è il rumore esterno. L'intero punto di scegliere questo ADC a 24 bit con ~ 100dB S / N invece di un ADC a 16 bit è di registrare con una qualità di almeno 16 bit in un attimo con un pensiero minimo verso il livello del segnale. Dato il rumore invariato ad alta frequenza con un segnale di livello ridotto, penso di voler quasi nulla a 6MHz come posso ottenere con un effetto minimo a 20kHz e una ragionevole complessità del circuito.
AaronD,

@AaronD - Mi chiedo che anche -20dB sia sufficiente. La mia esperienza è con ADC Flash e SAR. Ma la teoria di Sigma Delta sembra essere quella con il sovracampionamento, l'integrazione e la decimazione, il rumore di quantizzazione viene modellato, spingendo il rumore fuori dalla banda passante verso frequenze più elevate. Pertanto, il rumore della banda passante è basso, mentre intorno alla frequenza di campionamento è alta. Se è dell'ordine di -20dB, qualsiasi rumore lasciato dall'anti-alias si perde nella modellatura. Guarda analog.com/static/imported-files/tutorials/MT-022.pdf per iniziare, se non l'hai già fatto. Prova e scopri se è vero. In bocca al lupo.
gsills

Sì, forse è così. Inizia alias su Fs / 2, che è 6MHz per Fs = 12MHz, ma il filtro digitale lo rimuove ancora fino a raggiungere Fs - BW. Solo allora appare nel segnale desiderato, e da allora è significativamente inferiore a -20 dB, proveniente dallo stesso filtro analogico.
AaronD,

2

Cirrus ha in realtà una nota applicativa che descrive l'intento dei circuiti: http://www.cirrus.com/en/pubs/appNote/an241-1.pdf

Dalle descrizioni in quel documento, hai ragione che i picchi non dovrebbero essere lì.

In generale, il modello potrebbe essere errato in due punti:

  1. Le caratteristiche dell'ingresso ADC e dell'uscita DAC non vengono modellate. I circuiti potrebbero aspettarsi una certa sorgente / carico.

  2. Il modello di amplificatore operazionale utilizzato potrebbe non essere sufficiente per questo circuito. Ho scoperto che alcuni circuiti che escono oltre 1 MHz richiedono un prodotto con guadagno BW più elevato rispetto ai tipici modelli generici. La documentazione della scheda di valutazione per questo ADC mostra che utilizzano questo circuito con un amplificatore operazionale 2068 che ha un prodotto guadagno-BW a 27 MHz.

EDIT: dopo aver guardato più in profondità, i valori esatti vengono utilizzati sulla loro scheda di valutazione per questa parte. Quindi la mia raccomandazione è di prima modellarlo con la stessa parte che stanno usando, il 2068. Questo dovrebbe sperare che mostri il corretto funzionamento.

EDIT2: Ho gestito il circuito ADC attraverso QUCS e non hanno modelli di spezie adeguati per veri amplificatori operazionali. LT Spice di Linear Technology è un ottimo simulatore di spezie gratuito. Passare attraverso il circuito da lì dà una bella risposta piatta come previsto. (Se apri questa immagine in una nuova scheda, esplode in modo da poter vedere i dettagli).

Risultati della scansione CA del circuito ADC


Buona scoperta! Spiega l'obiettivo un po 'meglio e fornisce esempi per molteplici situazioni, ma non è una spiegazione dettagliata di come funziona il circuito. (Immagino presumano che se sei abbastanza informato per apprezzare le loro specifiche, sei abbastanza ben informato per capirlo?) Ho scoperto che se rimuovo i cappucci 470p attorno agli opamp (circuito aperto), la simulazione fa quello che Mi aspetto, ma quando sono lì, ottengo il picco di ~ 4dB a ~ 300kHz. Potrebbero essere aggiunte nel mondo reale per aiutare l'amplificatore specifico con cui hanno testato e non necessariamente necessario per il mio?
Aaronne il

Inoltre, poiché ne hai trovato uno per il buffer ADC, ne ho cercato uno complementare per il DAC. Non c'è. Almeno non una corrispondenza esatta. Tuttavia, ciò che ho trovato aveva la stessa topologia che ho trovato nel foglio dati con circa lo stesso livello di spiegazione della nota ADC. Ma questo ha fatto un lavoro molto migliore nella scelta dei valori dei componenti per preservare il CMRR e non comportarsi in modo errato come quello del foglio dati. ( cirrus.com/en/pubs/appNote/AN048Rev2.pdf )
AaronD

Vorrei suggerire di inserire prima il modello per il 2068 nella simulazione. I condensatori 470 pF sono per stabilità o per il filtro passa-basso di cui parlano. Avevo assunto quest'ultimo, ma ora non ne sono così sicuro.
cavernicolo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.