对于大多数SoC(System on a Chip)设计而言,时钟发生器模块是必不可少的组成部分。提供时钟参考源一般有两种方式[1]:一种是使用晶体
。它可提供频率精度很高的时钟信号,并且该频率受电源电压、温度以及工艺(PVT)的影响很小,但需要额外占用两个PAD来连接芯片外面的晶体,从而增加了芯片的面积和成本。同时,对于外部环境的干扰,晶体
。对于对时钟频率要求不是太高的应用环境,采用内部的振荡器既能节约面积,又能够保证其工作的可靠性。目前,出于功耗和性能的考虑,芯片往往设计多种工作模式。当芯片空闲时,为了节约功耗,可以让芯片进入休眠模式。在休眠模式下,芯片主时钟会被关闭。为了使芯片能从休眠模式中被唤醒,芯片仍然需要一个低频的时钟信号[2-3]。此时,低频时钟电路的功耗是最受关注的指标,在
本文设计的振荡器除了作为MCU芯片的低功耗模式时钟以及睡眠模式唤醒源,还可用作上下电复位电路中滤波以及延时的时钟源[4]。要求在低于复位放开阈值电压时即能工作,故该振荡器工作电压范围应较大。本文采用的振荡器属于张弛振荡器,主要由与电源无关的电流源/恒流源充放电电路、迟滞比较器和控制开关组成。通过改进的对电容充放电方式,在保证输出频率对电源电压敏感度的基础上,省去了该振荡器对参考电压的需求,即不需要参考源模块配合其工作,因而达到了逐步降低芯片功耗的目的。
本文设计的振荡器结构如图1所示,由基准电流源/恒流源充放电电路以及比较器组成。
其工作原理为:由基准电流源电路产生与电源无关的电流,用该电流的镜像电流对电容进行充放电。其中,当S1为高电平时,S2为低电平,即此时比较器的输出为低电平。从而通过PMOS管M5对C0的左端N1进行恒流充电,同时通过NMOS管M6对C0的右端N2进行恒流放电。随着N1点的电位上升N2点电位下降,当N1与N2的电位差大于迟滞比较器的迟滞窗口时,比较器的输出跳变为高电平,导致S1跳变为低电平,同时S2跳变为高电平。同理,通过PMOS管M5对C0的左端N1进行恒流放电,同时通过NMOS管M6对C0的右端N2进行恒流充电。N1点电位下降,N2点电位上升,当N2与N1的电位差大于迟滞比较器的迟滞窗口时,比较器输出反相,变为低电平。从而完成了时钟信号产生一个周期的变化过程。
由于迟滞比较器的输入级采用NMOS管,为了使电容两端的电压在迟滞比较器正常工作输入范围以内,在设计中添加M7,使得工作时N1、N2点的电压不会低于一个NMOS管的阈值电压和两个过驱动电压之和,进而达到了迟滞比较器正常工作时对输入电压的要求。
其中,ΔV为迟滞比较器的迟滞窗口大小。由式(1)可知振荡周期与迟滞窗口、充放电电流以及电容大小有关。由于充放电电流是由与电源无关的电流源产生,比较器迟滞窗口也与电源电压无关,因此,电路的输出频率受电源电压的影响较小。
在常见的张弛比较器[5]中,比较器的电压判决常常要参考源模块提供参考电压用来与电容充放电极板上的电压做比较,由此产生时钟信号。而参考源的产生需要另外消耗功耗,同时参考源的温度特性会影响输出频率的温度特性。而在本设计中,通过对电容两端进行充放电,消除了振荡器对参考电压源的需求,从而节省了功耗。
由于S1和S2的反相对称性影响输出时钟信号的占空比,因此采用正反馈结构来提高S1和S2的反相对称性,来提升了输出时钟信号的占空比特性。
由M1~M6以及RP1和RD2组成与电源电压无关的电流源[6],如图2所示,MS1~MS3为启动电路[7]。正常工作时,MS4管开启,将MS3管栅极电压拉低,从而MS3管关断,不影响电流源电路正常工作;当电流源处于异常零状态时,M5/6管的栅极维持高电平,M1/2管的栅极电压保持低电平,MS4管关断,MS3管开启,从而将M5/6管的栅极拉低,使得电流源电路开启。
电流源支路上产生的电流为M1和M2的ΔVGS与电阻的比值,其中,为了进一步提升电流与电源电压的不相关性,采用cascode结构。为了更好的提高温度特性,电阻采用多晶硅电阻RP1和扩散电阻RD2串联的形式实现。其中,多晶硅电阻为负温度系数,扩散电阻为正温度系数,故采用特殊的比例串联多晶硅电阻和扩散电阻,使总电阻值与温度无关。
在本设计中,使用的迟滞比较器如图3所示。采用高增益开环比较器的输入级使用内部正反馈实现迟滞结构[8]。
其中,M5管栅极偏置电压取自电流源产生电路。为了使电路内部正反馈系数大于负反馈系数,M6/7的宽长比应该大于M3/4的宽长比。通过改变该宽长比和流过M5的电流能调节该比较器的迟滞窗口。
该上电复位电路采取GSMC 0.18 μm CMOS工艺设计。使用Cadence Spectre工具对电路进行仿真,在典型情况下,电路中充放电电容两端的电压波形以及输出CLK波形如图4所示。从图中能够正常的看到,由于恒流源充放电的缘故,电容两端电压的上升和下降基本上呈线性变化,但在开关切换的瞬间会有一些毛刺,恶化了电容两端电压的线性变化特性,但并没影响到电路正常工作。输出CLK信号的占空比为49.97%、在5 V电源供电下,整体电路消耗平均电流为2.67 μA。
在不同的温度和电源电压下,电路CLK信号输出频率如图5所示。从图中能够正常的看到,在电源电压从2 V~5.5 V,以及温度从-40 ℃~+85 ℃的变化范围内,其输出频率从115.6 kHz~125.2 kHz变化,与典型条件下的123.6 kHz的输出频率相比,其输出频率误差范围为-6.5%~1.3%。
在不同电源电压和温度下,振荡器消耗的平均电流如图6所示。从图中能够正常的看到,在电源电压从2 V~5.5 V、以及温度从-40 ℃~+85 ℃的变化范围内,平均电流消耗从0.95 μA到3.4 μA变化。
本文所设计的振荡器电路采取弛豫充放电的原理,通过改进的方式对电容两端进行恒流充放电,并使用比较器的方式对电容两端电压作比较,省去了比较器对参考电平的需求,使设计更简单,并且节省了参考电平产生模块所需的功耗。仿真结果证明,在较宽的电源电压和温度范围内,振荡器能产生频率稳定的方波信号,整体功耗较小,能满足MCU低功耗低频振荡器的要求。除了MCU芯片,该振荡器还适用于其他对降耗要求比较高的低频应用场合。
[6] Zhang Xun,Wang Peng,Jin Dongming.Sub-1V CMOS voltage reference based on weighted VGS[J].Chinese Journal of Semiconductors,2006,27(5):7