计算器里的开关电源 / The 2-BJT SMPS in an HP Calculator

For now this article is not available in english. It seems that Google Translate does a reasonable job translating this write-up into English. Please give it a try if you’re interested.

对于我这代人来说,计算器属于“在远古时期就已经成熟的科技”。在我接触计算器的时候,各大厂商早已迈过了技术攻坚的阶段,所有设计目标仅仅是为了抢占市场和极限的cost-down服务。

人类在电子技术上取得的巨大成就令人叹为观止:LCD,LCD驱动器和超低功耗CMOS技术已经如此的成熟,以至于即便使用光效非常低的廉价太阳能电池板,在将大半能量浪费在包括线性稳压,Biasing在内的各类无关的环节的前提下,这些计算器仍然能够在昏暗的环境中正常工作。

70年代的设计师如果看到现代的计算器,不知道会发出怎样的感叹呢?对于70年代的计算器而言,这样的设计是无比奢侈的,甚至不切实际。在70年代,距离LCD技术成熟还有十年以上的时间差。在70年代想要做一台计算器的话,可供选择的显示器件有:

名称 发光机理 典型工作条件(1980年以前) 型号
Nixie
辉光管
惰性气体辉光放电 180V 36uA/seg
6.4mW/seg
SP-330
VFD
荧光管
阴极射线-磷光体发光 20V 30uA/seg
0.6mW/seg
Futaba
14-ST-62AI
LED
发光二极管
载流子复合 8.2V ~250uA/seg
2.1mW/seg
HP55

通过这张表可以看出,70年代的电子工程师想要设计一个省电的计算器是非常困难的:每一种显示技术都需要较高的电压,还需要在此基础上加入驱动电路的电压裕量,在70年代这个裕量可能达到1V以上。有时为了取得更好的效果,更长的寿命或更高的效率,还需要十分复杂的电路去驱动,消耗了更高的电压裕量……在这样的条件下,使用开关电源并不是锦上添花,而是在当时的技术限制下的无奈之举。

作为对比,我又测量了一下手头一台Sharp EL-211计算器,这台1980年的低端四则运算计算器的LCD每一段的平均功耗仅有120nW,0.00012mW。作为破坏性创新的一个典范,LCD技术在显示效果,可靠性等方面全面落后的情况下,就功耗比传统显示技术要低几个数量级这一点,就足以让它一统江湖——以今天马后炮的视角来看是毫无疑问的。

本文大体上还是基于Jacques LAPORTE 和 Daniel WEED发布的文章。本文的内容不会超越他们的作品的讨论范围,仅仅是在原文的基础上增加了一些数值计算。感兴趣的话可以阅读这两篇非常细致的文章:

此外,因为这个电路实现的是一个Boost转换器,读者应该了解一些关于Boost转换器设计的基础知识。数年前我翻译过一系列关于开关电源设计基础知识的文章,可供阅读:

https://lithcore.cn/1678
开关电源基础知识

HP45 的开关电源(图片来源:Jacques Laporte)
简化后的电路
进一步简化 – Blocking Oscillator

HP的电源设计基于一种被称为“Blocking Oscillator”的设计,从振荡器的角度来说,在诸多振荡器架构中,Blocking Oscillator是一种能够让三极管工作在饱和-截止状态之间的振荡器。而开关电源之所以能取得很高的效率,正是因为其中的三极管工作在开关状态,没有功率损失。(历史上还存在一种现在已经淘汰的,基于振荡器的升压线性电源,其中的有源器件工作在线性区,有很大的功率损耗。)因此Blocking Oscillator,这个早在1930年就已经成熟的电路[1],自诞生之初就成为低成本开关电源的首选架构。

在90年代时,Z. Kaparnik在Everyday Practical Electronics杂志上发表了一篇文章,其中提到了一种“用1V点亮LED的方法”。这个电路后来被人称为“焦耳小偷”(Joule Thief),成为了一种被当时的电子爱好者津津乐道的,有史以来最简单的开关电源架构。实质上,“焦耳小偷”也是Blocking Oscillator的一种变体而已。

“焦耳小偷”自激开关电源(图片来源:Wikipedia)

虽然本文主要着重分析HP Classic系列计算器(1972)的开关电源设计,这样的设计在1970年代其实相当的普遍,甚至可以说是PWM控制器流行起来之前的主流设计。接下来开始分阶段对这个电路进行分析:

方波振荡器

启动阶段

在启动时,BE1结处于高阻抗的截止状态,Rbias对C进行充电。当电压超过BE1结阈值电压Vth时,三极管离开截止区。此时三极管的电流变化经过变压器形成了正反馈,加速C的充电,使得Vbe1快速上升,三极管立即进入饱和区。

一般工作状态

在饱和区中,三极管的集电极维持一个较低的电压(Vce,sat),电感两侧的电压可以视作直流,因此其电流以恒定速度上升。当到达三极管的饱和电流(集电极能够维持的最大电流)之后,IL1无法再继续上升。这种不连续性会通过变压器反馈到基极,造成基极电位下降,IL1开始下降。IL1的下降会造成相反方向的正反馈,最终的结果是三极管阻抗瞬间上升,直至VC1从Vce,sat达到最大值Vce,sat+Vce,amp(因为是boost,后者取决于工作条件,如果没有限制的话Vce,amp会无限升高)

假设电路中没有损耗,VC1迅速的翻转经过变压器的L2传递到电容上,就像开关电容电路那样将Vbe1翻转到一个接近Vth-n*Vc,amp的数值,n是匝数比。

自启动之后,该电路实际上不完全依赖RC的时间常数保证正常工作:当VC1处于高电平时,负载对电流的需求使得电感中的电流线性下降。当电感中的电流为0时,上述的因电流无法继续改变造成的正反馈将在相反的方向发生,最终的结果是VBE会跳变到Vth;电感电流从0开始线性上升。

取决于电感电流从下降变为上升的条件是“RC到达阈值”还是“电感电流为0”,该电路的工作状态分别类似于现代Boost变换器设计中的“CCM”(连续导通模式)和“BCM”(临界导通模式)。这使得这个电路具有极强的鲁棒性,无论外部电路的工作条件是怎样、无论负载的电容是否充电,这个电路均能正常工作。

我第一次看到这里时被惊讶的说不出话,我无法想象一个同时支持两种导通模式,同时可以可靠地从各种静止状态移动至工作状态的Boost转换器竟然只需要一个三极管就可以实现!

由此可以计算该电路的频率与占空比,假设电路工作在较低的,可以忽略电荷储存效应和寄生参数的频率下:

充放电阶段对应的斜率,与现代boost电源无异
工作频率,占空比计算

占空比计算时忽略了很多因素,因此仅能作为一个在稳态下大致正确的数值。这个数值与实际测量结果吻合。

其中有一个比较棘手的问题:集电极能够维持的最大饱和电流IC,sat究竟是多少?根据半导体物理可知这其实是无法准确计算的,一个粗略的估计值是β*Ib,bias的二分之一。因为这个数值本身无法准确计算,即使是粗略估计值中的beta也能出现数倍的偏差,我们绝对不能设计一个工作状态依赖于IC,sat准确值的电路。幸运的是,直观看来,这个电路中的beta只要足够大就能维持计算器的正常工作。

此外实际上,输出电压会快速升高到电源电压的两倍左右,之后随着时间无限升高。我们希望的是一个稳压电源,因此在上述计算中都把输出电压当作稳定值。(也没有考虑输出纹波的问题)

原设计不是有三个输出吗,为什么只考虑了一个?因为这是一个变压器电路,而图中所示的输出端是直接和变压器相连的。假如不考虑变压器的非线性,其他的输入端也可以等效到这一个输入端上。

负反馈稳压

我们有了一个非常可靠的方波振荡器。但是因为这是boost架构,如果不加以限制的话,在输出能力大于实际输出电流的情况下,VC的振荡幅度会持续上升。因此需要用某种方式制作一个负反馈环路,约束输出电压。

HP35的设计

在他们的第一台计算器:HP35中,惠普的工程师选择控制的变量是Ic,sat(通过控制向Ib注入的电流来控制Ic,sat)。前文提到过,Ic,sat不是一个很稳定的值,随着温度等因素的变化Ic,sat会发生显著变化。那么一个符合直觉的选择是将负反馈加到Ic,sat上,似乎能够起到一石二鸟的效果?

然而实际上这个电路的可靠性并不是非常好。如果Q2采用未经选择的晶体管,向Q1注入的电流同样会产生巨大个体偏差。我在J.Laporte的文章中读到:HP当时选用的晶体管是频谱仪部门用剩下的。或许这些晶体管的参数已经经过Tracer测试,是比较均一的数值。或许他们是希望在制造过程中增加一个晶体管测试环节,通过将麻烦转移到制造环节来降低成品因工作环境变化而导致的不稳定性?我们不得而知。

此外HP35的电源确实是没有电压基准的,其Vss的输出电压固定为电源的一个倍数。因为镍镉电池的电压特性还算是不错,在整个放电周期里电压变化幅度不是很大,也许这样的设计就够用了。Vss是数字逻辑的主要供电电压,其稳定性要优先保证,除了Vss以外的两路输出主要是用作衬底偏置,IO,显示之类的环节,其准确值不是那么重要,只要不是太高就都可以接受。

HP45以后的设计

在HP45以后,Vss有了一个齐纳二极管进行稳压。齐纳二极管的阴级接了反馈三极管的基极——大约在0.7V左右,那么输出电压就维持在0.7+Vzener的水平。

这个电路乍一看好像没什么问题,仔细一看觉得好像有点问题,经过仔细分析后才会感觉到它的巧妙之处!

首先,这个反馈回路是连续工作的,还是间断工作的?答案是后者。看上去似乎反馈三极管Q2是通过控制从Q1的基极吸走了多少电流来控制Q1的开关过程。然而经过前文的讨论,在大部分工作时间里(BCM模式),Rbias向Q1的基极注入的电流完全是微不足道的,也完全不影响开关过程。

如果说Q2导通的程度足够高,其吸走的电流不但超过Rbias的注入,还影响到通过C传来的正反馈电流,那么会发生什么?

HP45电源的断续模式

当Q2导通程度足够高的时候,C的脉冲电流会被吸收,直到脉冲电流的幅度不足以支持下一个工作周期的正反馈,此时Q1会完全停止工作,其基极的电荷会被Q2吸收。随着负载使用电容里的能量,输出电压逐渐下降,Q2的作用越来越弱。在某一时刻,Rbias的电流超过了Q2从基极吸收的电流,Q1的基极重新开始充电,Q1重新进入工作状态。

典型工作波形

是的!HP仅用两个晶体管就制作出了一个可靠的断续模式Boost开关电源。这简直是太疯狂了。而且这个反馈回路的设计如同神来之笔,如果Q1基极附近的器件不是这个电路中的那种设计的话,Q2的反馈必然会干扰Q1的正常工作。在线性状态下这种反馈是无法实现的,只有断续模式可以做到。

总结

当然,这种基于自激振荡的解决方案终究是IC时代之前的产物。集成电路导致的一个基本的事实是,对于电路设计而言,晶体管数量和成本之间没有任何关系,绝大多数时候通过增加几十个晶体管来省掉芯片外的一个电阻成为了属于我们这个时代的“低成本巧妙设计”。这个事实对于几年前的我来说是更加难以置信的。

除此之外,现代PWM控制器,就像是许多其他将线性电路转换为数字电路的努力一样,极大地简化了设计,同时规避了绝大多数的不确定性(无论是晶体管增益还是偏置电流)。这种简单的分立器件设计最致命的问题是频率上的不确定性。因为频率不确定导致的EMI问题迫使HP的工程师在机器内部贴上了铁片来减少辐射泄露。这样的麻烦在现在已经很容易解决了。

或许我只是比较享受分析它时感受到的美感吧?

2 thoughts on “计算器里的开关电源 / The 2-BJT SMPS in an HP Calculator”

Leave a Reply