从单晶体管到运算放大器

本文为一个趣味小项目,仅需用到三种很便宜的TO-92直插晶体管(2N3904,2N3906,J112),读者可以直接在洞洞板上搭建电路。

1-射极跟随器

有时候在电路中需要⼀个跟随器做缓冲,单个晶体管做的射极跟随器就能实现这⼀功能。

Emitter_Follower_Sch

这个电路非常简单,但缺点也非常明显:

1.只能输出单一极性的电流(NPN灌电流,PNP拉电流)。

2.输入到输出会有一个固定的PN结压降。

2-甲类缓冲器

普通的单管射极跟随器,其输出电流只能为单⼀极性,在某些需要同时输出正负电流的情况下,就不适⽤了。

此时我们可以给输出加上⼀个到负电源的恒流源负载,这样就可以输出正负电流了。

Class-A_Buffer_Sch

这个电路解决了之前射极跟随器只能输出单一极性电流的问题,但是同样有很多缺点:

1.静态功耗很大,有10mA。

2.拉电流能力有限,最大为10mA;要增强拉电流的能力,就要增大恒流源的电流,但这样又会让静态功耗增加。

3.效率低,理论最大效率仅为50%。

3-"钻石"缓冲器

上⼀个甲类缓冲器,虽然能输出正负电流,但其静态功耗太⼤,并且拉电流能⼒有限,还有输⼊输出固定的PN结压差。

那么能不能⽤前⾯两个电路,拼出正负两个部分,⼀个部分专⻔负责灌电流,⼀个部分专⻔负责拉电流?

这样⼦静态时的电流很⼩,灌拉电流的能⼒都很强,还⼏乎没有固定的输⼊输出压差。

Diamond_Buffer_Sch

其中,上半部分为灌电流的上拉网络,与之对偶的下半部分为拉电流的下拉网络;Q1与I1,Q2与I2组成了上文中的的甲类缓冲器(下图中的红框内);Q3,Q4组成了基础部分的射极跟随器(下图中绿框内):

Diamond_Buffer_Sch_Marked

由于所有晶体管都工作在线性区,其V_{BE}压差都是一个PN结的压差,所以Q3与Q4的基极电压分别约为V_{IN}+0.7VV_{IN}-0.7V,然后这个0.7V的压差又会分别被Q3与Q4的V_{BE}抵消掉,刚好构成一个输出电压约等于输入电压的模拟缓冲器。

另外,Q3和Q4的射极上都串联了一个电阻,这个电阻的作用是提升热稳定性:如果没有R3,R4,那么当输出级晶体管温度上升,V_{BE_{ON}}减小时,静态电流会急剧增大,增大的静态电流又会提升功耗,造成温度进一步上升,形成正反馈,进而导致发生热击穿。有了R3,R4后,当温度上升导致静态电流增加,电阻上的压降会形成一个负反馈来抵消负温度系数带来的正反馈,进而提升热稳定性。

这两个电阻会让这个模拟缓冲器的增益略微小于1,因为射极电阻会与负载电阻分压。

此外,利用R3与R4当作检流电阻,还可以增加两个晶体管,给这个缓冲器加上输出限流的功能,如下图:

Diamond_Buffer_with_Current_Limit_Sch

让R3,R4上的压降达到0.7V左右时,Q5与Q6就会开始分别切断Q3与Q4基极的电流供应,进而实现限流。此时相当于,I1+Q3+Q5+R3,I2+Q4+Q6+R4分别会构成两个恒流源,其电流为\frac{V_{BE_{ON}}}{R_{SENSE}}

此缓冲器的最大输出电流能力与I1,I2的电流大小和Q3,Q4的β有关。2N3904与2N3906的β在I_{C}比较大时衰减很快(如下图)

2N3906_Beta

在2mA的前级驱动电流下大约最多只能输出100mA电流。

而2N4401与2N4403的β更高且衰减更晚(如下图)

2N4403_Beta

在散热条件允许时,可以轻松达到200mA以上,所以将输出级更换为2N4401与2N4403,可以在不怎么提升静态功耗的前提下,获得更强的输出驱动能力。

4-电流反馈放大器

前⾯的⼏个电路都是缓冲器,没有放⼤信号的能⼒。

那么有没有办法,利⽤前⾯⼏个电路,拼出⼀个可以放⼤信号的,真正的"放⼤器"?

Current_Feedback_Operational_Amplifier_Sch

其中,Q1~Q4与I1~I2,Q9~Q12与I3~I4都是"钻⽯"缓冲器(下图中的红框内);Q5与Q6,Q7与Q8为电流镜(下图中的绿框内):

Current_Feedback_Operational_Amplifier_Sch

其中,R5-R8的作用是提升电流镜的匹配性,降低晶体管制造误差/温度误差带来的影响。例如,假如两个晶体管的V_{BE_{ON}}因为各种原因相差了100mV,如果不接电阻的话,那两边的电流相差会巨大无比;但是有了这个200Ω的电阻,100mV的失配只会带来0.5mA的误差。

由于CFA的增益类型不是简单的电压增益,而是跨阻增益,所以其反馈电阻R_{FB}基本就决定了DC电压增益的大小。更大的R_{FB}会带来更低的DC开环增益,而主极点与次主极点都没有变,所以增益曲线会在更低的频率下变为0,这会影响运放的速度,但是运放的相位裕度会提高,同理,更小的R_{FB}会带来更高的速度但是相位裕度会降低。

如果希望输出级有更高的压摆率,可以把I3与I4换成动态偏置电流源(Q13与Q14),具体电路如下:

Current_Feedback_Operational_Amplifier_with_Slew_Boost_Sch

这样子更改之后,在误差电压接近0(也就是静态)的时候,输出级偏置电流基本就是Q3与Q4的静态电流,略小于2mA;当误差电压变大时,Q3或Q4开始向R_{FB}输出电流,之后对应的Q13或Q14会按1:1增大对应输出级的偏置电流,这样子就可以实现动态偏置,同时达到低静态电流与高动态压摆率。

当然,输入端的保护也是必要的,一般来说在如下的两个位置各加上一个二极管(D1与D2),即可防止输入级过载:

Current_Feedback_Operational_Amplifier_with_Input_Protection_Sch

这样,当输入级有一个阶跃,I1/I2给Q1/Q2的射极节点充电/放电的速度不够时,二极管可以把输入旁路到这两个节点之一,这样子就不用担心脆弱的BE结反向击穿了。

5-电压反馈放大器

上文所做的电流反馈运算放⼤器,仍然存在以下的几个问题:

失调较⼤,由于NPN与PNP晶体管的电性能不可能完全对偶,其|V_{BE_{ON}}|不可能完全相等,而他们之间|V_{BE_{ON}}|的差异体现在运放性能上,就是失调电压比较大,大约为||V_{BE_{ON_{NPN}}}|-|V_{BE_{ON_{PNP}}}||,也就是"钻石"缓冲器的输入输出压差。

反相输⼊端I_{BIAS}很⼤,由于反相输入端实际上是"钻石"缓冲器的输出,所以I_{BIAS}肯定小不了。

类似的,反相输入端的电流噪声也不会小。

这些问题会让应⽤上受到⼀定的限制,有没有办法解决这些问题?

Voltage_Feedback_Operational_Amplifier_Sch

其中,Q1~Q4与I1~I2,Q9~Q12与I3~I4,Q13~Q16与I5~I6都是"钻⽯"缓冲器(下图中的红框内);Q5与Q6,Q7与Q8为电流镜(下图中的绿框内):

Voltage_Feedback_Operational_Amplifier_Sch_Marked

这个电压反馈运算放大器相比之前的电流反馈运算放大器,给IN-多增加了一个"钻⽯"缓冲器,用缓冲后的IN+与IN-信号去驱动R13这个负载电阻,产生的误差电流与之前的CFA一样,经由电流镜送到高阻节点,去驱动输出"钻⽯"缓冲器。R13这个电阻的作用非常类似与CFA的R_{FB},决定了这个运放的DC开环增益。

如果需要加上频率补偿电容,那么应该加在高阻节点上,即Q6与Q8的集电极,也就是输出"钻⽯"缓冲器的输入,因为主极点在这里。

如果想让运放做到无限大容性负载稳定,可以在输出级"钻⽯"缓冲器的输入与输出之间,加上一个串联的RC。正常工作时,由于"钻⽯"缓冲器的输出始终会跟随输入,所以这个串联的RC两端的电压基本不会有变化,也就不会影响整体电路的工作。在输出缓冲器输出端有大容性负载时,输出节点会被大电容拖住,无法及时跟随输入,此时容性负载补偿容阻两端就出现了变化的电压,这个补偿网络就开始发挥作用,影响高阻节点的阻抗(相当于增大频率补偿电容),进而调整运放环路响应,做到容性负载稳定。补偿网络带来的零点会使相位超前,确保即使负载电容无限大,其总的相移也不会超过180°,这样也就做到了无线容性负载稳定。

下图展示了加上频率补偿电容(C1)与容性负载补偿容阻(Rc+Cc)后的原理图:

Voltage_Feedback_Operational_Amplifier_Compensated_Sch

附录-电流源设计

上文中所有提到的设计中的恒流源,都可以用晶体管来实现,如下:

独立恒流源设计

⽤⼀个耗尽型的JFET(或者耗尽型NMOS也可)和⼀个电阻,即可搭出⼀个⾮常简单的恒流源:

JFET_Current_Source

调整这个电阻(R1)的阻值,即可调整恒流源的电流。

对于甲类缓冲器,单个这样的恒流源可能达不到10mA,可能需要多个并联。

高低边恒流源设计

在上述独⽴恒流源的基础上,增加两个电流镜,即可获得⼀个⾼边⼀个低边的恒流源:

Current_Source_HS&LS

上文中所有的对称高边+低边恒流源都可以用它来产生。下图为VFA的样例:

Voltage_Feedback_Operational_Amplifier_Full_Sch

发表回复