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: (Va bene, quindi fanno affidamento sul CMRR dell'ADC stesso come parte del filtro anti-aliasing. Non mi piace quell'idea.)
Uscita DAC:
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>