甲类的耳放, 自己动手 10 元人民币就够了。
如何用4个晶体管做一个纯甲类电流反馈型 CLASS A JLH1969 耳放?
不少爱好者热衷于找 "最发烧" 的 OPAMP
例如 OPA627/OPA637, AD797, AD8620/8610, OPA2132/2134 等等
来搭建自己的耳机放大器.
然而,
很多人没有注意到就算是最好的这类OPAMP,它们的开环带宽其实惨不忍睹.
40 多年前, John Linsley Hood 就已经给大家设计了一个非凡的 CFA,
JLH1969, 故名思义就是 JLH 在 1969 年发表的电路. 为什么一个 40 多年前的电路现在还是那么热呢? JLH1969无疑是历史上最受欢迎的功放电路之一,几十年来仿制者无数。
从图里面您可以观察到:
开环的时候, 增益有 57dB, 而 -3dB带宽仍然有 100KHz 左右.
而且 THD 仍然是可以看的(没到 1%)
代码:
.OPTIONS plotwinsize=0
.OPTIONS numdgt=14
Direct Newton iteration for .op point succeeded.
Fourier components of V(tp2)
DC component:0.000223925
Harmonic Frequency Fourier Normalized Phase Normalized
Number [Hz] Component Component [degree] Phase [deg]
1 1.000e+03 7.748e-01 1.000e+00 7.23° 0.00°
2 2.000e+03 4.022e-03 5.192e-03 108.86° 101.62°
3 3.000e+03 3.169e-05 4.091e-05 175.86° 168.63°
4 4.000e+03 2.264e-06 2.922e-06 -133.28° -140.51°
5 5.000e+03 8.255e-07 1.065e-06 -27.12° -34.35°
6 6.000e+03 6.415e-07 8.280e-07 -78.38° -85.61°
7 7.000e+03 6.956e-07 8.978e-07 9.59° 2.36°
8 8.000e+03 7.594e-07 9.801e-07 -70.47° -77.70°
9 9.000e+03 7.525e-07 9.712e-07 33.97° 26.74°
Total Harmonic Distortion: 0.519191%
您可能会好奇, 闭环的时候呢? 下面就是闭环的数据.
10 dB 左右的闭环增益, THD 0.000497%, 够好了吧? 1MHZ 闭环带宽。就算是金耳朵也不可能听到 100KHZ 。 不服来辩。 当然有软件伺候:
眼尖的读者也许会说, 这些都是小信号的数据,没有说服力。下面就是大信号的数据,
1000毫伏PP输入, 5.26伏pp输出。
Total Harmonic Distortion 只有区区 0.007157%, 而且主要是 2次谐波,
3 次谐波在 -100dB 以下。
喜欢听胆机的都说喜欢2次谐波的 “胆味”, 老烧都说 2次谐波 就是胆味的来源,
如果喜欢 “胆味”, 这点 0.007% 的胆味应该不会让您失望。
至于2次谐波是否悦耳, 不服也可以来辩, 也有软件伺候:
一个好的耳放只有好看的 THD 和带宽是不够的, 挑剔的老烧不会满足于这些指标。
老烧们也许会很关心噪音。
下面就是 JLH1969 耳放的噪音表现:
人耳最敏感的区域, 您会发现 JLH1969 的噪音只有 19纳伏而已。
骨灰级的老烧也许会问, TIM, SLEW RATE 和 PHASE MARGIN 呢?
如果去掉 Q2 上的补偿电容 C7, 把增益调整到 0 DB
Slew Rate 大约是 55,000,000~60,000,000 V/S.
老烧会问, 你为什么要强调 Slew Rate 的那么多个零呢?
情况是这样的: 请看
TIM 比较复杂, 以后再述。
PHASE MARGIN 当然是要补偿以后再说了。
如果 Q2 上的补偿电容 C7 取 100 皮法, 那么这个耳放大致是这样的:
因为它的超高带宽, 观察的频点已经到了 RF,
也就是 10MHz 与 30 MHz 之间。
根据下图可以看出, 适当的补偿以后的相位裕度。
反转时的增益 (-18DB)远小于1, 电路是稳定的。
JLH1969 的性能是如此的优越, 它仍然是有缺点的。
很多人焊好了板子以后发现插上耳机就自激。
为哈捏?
第一
40多年前, John Linsley Hood 摆弄它的时候, 晶体管没有现在那么快。
FT 没有现在的那么高。
现在随随便便找个晶体管, FT 都是 10MHZ, 100MHZ, 200MHZ 的。
这就是问题的根源之一。 了解了这一点, 您就知道不需要用太快的晶体管,
大机的话 2N3055 或者 TIP 41 足矣。如果找不到慢的晶体管怎么办?
在发射极上套个磁珠吧。
第二
很多读者崇尚 “补品” 元件, 害怕自己不用 “补品” 元件 的话,
会给发烧论坛的老烧耻笑。
“补品” 元件的经销商或者雇员可能会问, 用“补品” 元件有错么? 贡献 GDP 和纳税难道不是公民的义务吗?
当然, “补品” 元件本身是没有错的。 所谓的“错" 是因为被用到了不合适的地方。或者说没意义的地方。 例如那些智商堪虞的 “保险丝” 老烧。 不服来辩, 有智商测试伺候:
举例来说, 自举电容不需要用“补品” 元件, 2016版智商測試举例来说, 自举电容不需要用“补品” 元件,
只须用最便宜最普通的铝电解就好了。
原因是这样的, 当频率升高的时候,
电解电容的寄生串联电感抑制了自举的效率, 降低增益, 让电路趋于稳定。
第三, 补偿电容是不能省的。 因为电路太快了, 您必须折衷。
看回 LM3886, LM1875 的 DATASHEET 您也会发现同样的建议。
第四, 不要忘记耳机是个复杂的电抗元件。
您需要茹贝尔网络来吸收耳机的反射能量。
看回 LM3886, LM1875 的 DATASHEET 您也会发现同样的建议。
第五, 在某些情况下, 容性负载会让电路振荡。
而耳机线的寄生电容在 500皮法到 2000 皮法之间。
----------------------------------------------------------
如图, 没有适当补偿的电路加上了 500皮法的容性负载,
义无反顾地振荡起来了。
当您把输出级换成 2N3055 就很稳定,
虽然没有补偿,
虽然带上了容性负载,
坚如磐石。
如果您看过其他一些高速放大器的应用指南, 您可能会发现它们的输出端会串一个很小的阻尼电阻。
这也是个折衷的手段。
如果您把上图中的输出级换回高速的 2N5550/5551, 不补偿的话振荡是不可避免的。
而如果您按照这里的方法串上一个 10 欧的阻尼电阻就会发现振荡消失了。
结语:
讲了那么多, 不如做一个来玩玩吧? 成本只有不到 10 元。
10 元。10 元。10 元。10 元。10 元。
只要 10 元。10 元。10 元。10 元。10 元。10 元。只要 10 元。
8伏低压版 JLH1969 (John Linsley Hood) 耳放 LTSpice 仿真文件
Version 4
SHEET 1 996 680
WIRE -336 -320 -400 -320
WIRE -272 -320 -336 -320
WIRE -240 -320 -272 -320
WIRE -80 -320 -160 -320
WIRE 608 -320 -80 -320
WIRE 704 -320 608 -320
WIRE 784 -320 704 -320
WIRE 784 -288 784 -320
WIRE 704 -272 704 -320
WIRE 608 -256 608 -320
WIRE -400 -240 -400 -320
WIRE -272 -240 -272 -320
WIRE -80 -240 -80 -320
WIRE 544 -208 304 -208
WIRE 704 -176 704 -208
WIRE 784 -176 784 -208
WIRE 784 -176 704 -176
WIRE 784 -144 784 -176
WIRE -80 -128 -80 -160
WIRE 144 -128 -80 -128
WIRE 304 -128 304 -208
WIRE 304 -128 224 -128
WIRE -400 -112 -400 -176
WIRE -272 -112 -272 -176
WIRE -80 -80 -80 -128
WIRE 608 -80 608 -160
WIRE -336 16 -336 -320
WIRE -80 16 -80 -16
WIRE 272 16 -80 16
WIRE 48 80 -80 80
WIRE 112 80 48 80
WIRE 272 80 272 16
WIRE 272 80 192 80
WIRE 608 80 608 0
WIRE 608 80 272 80
WIRE 608 112 608 80
WIRE 768 112 608 112
WIRE 976 112 832 112
WIRE -80 144 -80 80
WIRE -496 192 -640 192
WIRE -336 192 -336 96
WIRE -336 192 -432 192
WIRE -288 192 -336 192
WIRE -144 192 -208 192
WIRE 48 192 48 80
WIRE 608 208 608 112
WIRE 976 224 976 112
WIRE -640 240 -640 192
WIRE 304 240 304 -128
WIRE 544 256 368 256
WIRE 560 256 544 256
WIRE -80 288 -80 240
WIRE 240 288 -80 288
WIRE -336 304 -336 192
WIRE -80 336 -80 288
WIRE 48 352 48 272
WIRE 304 384 304 336
WIRE 368 384 368 256
WIRE 368 384 304 384
WIRE 608 384 608 304
WIRE 976 384 976 304
WIRE -640 400 -640 320
WIRE 304 416 304 384
WIRE -336 560 -336 384
WIRE -80 560 -80 416
WIRE -80 560 -336 560
WIRE 48 560 48 416
WIRE 48 560 -80 560
WIRE 304 560 304 496
WIRE 304 560 48 560
WIRE 608 560 608 464
WIRE 608 560 304 560
WIRE 608 624 608 560
FLAG 608 624 0
FLAG 976 384 0
FLAG -272 -112 0
FLAG 784 -144 0
FLAG -640 400 0
FLAG -400 -112 0
SYMBOL pnp -144 240 M180
SYMATTR InstName Q1
SYMATTR Value BC556B
SYMBOL res -96 320 R0
SYMATTR InstName R1
SYMATTR Value 33K
SYMBOL res -192 176 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R2
SYMATTR Value 1000
SYMBOL res -320 112 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R3
SYMATTR Value 100K
SYMBOL res -320 400 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R4
SYMATTR Value 67K
SYMBOL res -256 -304 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R5
SYMATTR Value 33K
SYMBOL res 96 96 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R6
SYMATTR Value 900
SYMBOL res -96 -256 R0
SYMATTR InstName R7
SYMATTR Value 600
SYMBOL res 240 -144 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R8
SYMATTR Value 2000
SYMBOL res 624 16 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R9
SYMATTR Value 1
SYMBOL res 624 480 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R10
SYMATTR Value 1
SYMBOL res 992 320 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R11
SYMATTR Value 300
SYMBOL res 320 512 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R12
SYMATTR Value 8K
SYMBOL npn 240 240 R0
SYMATTR InstName Q2
SYMATTR Value 2N2222
SYMBOL npn 544 -256 R0
SYMATTR InstName Q3
SYMATTR Value 2N2222
SYMBOL npn 544 208 R0
SYMATTR InstName Q4
SYMATTR Value 2N2222
SYMBOL cap -288 -240 R0
SYMATTR InstName C1
SYMATTR Value 220?
SYMBOL cap 32 352 R0
SYMATTR InstName C2
SYMATTR Value 470?
SYMBOL cap -96 -80 R0
SYMATTR InstName C3
SYMATTR Value 470?
SYMBOL cap 832 96 R90
WINDOW 0 0 32 VBottom 0
WINDOW 3 32 32 VTop 0
SYMATTR InstName C4
SYMATTR Value 330?
SYMBOL res 32 176 R0
SYMATTR InstName R13
SYMATTR Value 300
SYMBOL cap -432 176 R90
WINDOW 0 0 32 VBottom 0
WINDOW 3 32 32 VTop 0
SYMATTR InstName C5
SYMATTR Value 4.7?
SYMBOL voltage 784 -304 R0
WINDOW 123 0 0 Left 0
WINDOW 39 24 44 Left 0
SYMATTR SpiceLine Rser=0.05
SYMATTR InstName V1
SYMATTR Value 12
SYMBOL cap 688 -272 R0
SYMATTR InstName C6
SYMATTR Value 1000?
SYMBOL voltage -640 224 R0
WINDOW 123 24 132 Left 0
WINDOW 39 0 0 Left 0
SYMATTR Value2 AC 0.3 0
SYMATTR InstName V2
SYMATTR Value SINE(0 0.3 1000)
SYMBOL zener -384 -176 R180
WINDOW 0 24 72 Left 0
WINDOW 3 24 0 Left 0
SYMATTR InstName D2
SYMATTR Value BZX84C6V2L
TEXT -672 648 Left 0 !.tran 0 100 0 1e-7
细心调试的话, 四个晶体管也能获得不俗的 THD 表现:
Direct Newton iteration for .op point succeeded.
N-Period=1
Fourier components of V(afout)
DC component:3.61504e-005
Harmonic Frequency Fourier Normalized Phase Normalized
Number [Hz] Component Component [degree] Phase [deg]
1 1.000e+03 2.988e-01 1.000e+00 0.18° 0.00°
2 2.000e+03 8.477e-08 2.837e-07 -173.55° -173.72°
3 3.000e+03 2.837e-08 9.494e-08 11.55° 11.37°
4 4.000e+03 1.136e-08 3.803e-08 0.06° -0.11°
5 5.000e+03 9.196e-09 3.078e-08 -0.04° -0.22°
6 6.000e+03 7.664e-09 2.565e-08 -0.01° -0.19°
7 7.000e+03 6.569e-09 2.199e-08 -0.01° -0.19°
8 8.000e+03 5.748e-09 1.924e-08 -0.01° -0.19°
9 9.000e+03 5.109e-09 1.710e-08 -0.01° -0.19°
Total Harmonic Distortion: 0.000031%(0.000026%)
Date: Sun Mar 25 03:23:52 2018
Total elapsed time: 313.632 seconds.