电压比较器在单片机中的出现始于20世纪90年代末。当时,大家认为这项技术仅降低了成本而已。因为,这样的比较器需要的硅器件较少,又能使单片机比较两个模拟电压。于是,认为电压比较器仅仅是一个“1位ADC”的观点始终占据主导地位,并且一直持续到21世纪的头几年。
幸运的是,当8位单片机开始不断涉足更多的混合信号应用时,越来越多具有模拟背景的设计人员开始使用单片机。这些采用混合信号单片机的设计人员非常熟悉电压比较器的灵活性和功能,便着手发掘其潜能。使用片上电压比较器的应用不断涌现,包括传感器输出的模拟信号到数字信号的转换、逻辑门、放大器以及电源转换。
遗憾的是,混合信号单片机设计人员的人数尚不足以有效推广电压比较器。因此,本文旨在使设计人员认识到不起眼的片上电压比较器可能给混合信号应用带来的价值。全面探讨这个主题需要数百页的篇幅,我们将尽量多地选取一些可能的应用进行阐述。
我们首先将讨论传感器-数字转换。大多数模拟传感器会产生与其测量的环境因素成比例的阻值、电感或电容值的变化。热敏电阻阻值的变化与温度成比例,湿度传感器改变其电容值,而某些接近传感器甚至会改变自身的电感值。传统的转换方法先将电阻、电容或电感转换为电压,然后使用一个ADC将电压转换为数字值。但是,假使我们可以将传感器的输出直接转换为数字值,又会怎样?
图1 R/C/L传感器-数字转换器
利用不起眼的片内电压比较器构建简单的张弛振荡器,可以将电阻、电容或电感转换为可变的频率,然后使用定时器外设来测量该频率。图1显示了两个简单的振荡器电路。除了简单这一显而易见的优点外,两个电路由于自身会对输入信号求平均,因而具有一定的噪声抑制能力。不过,其分辨率还由采样时间决定。
在两个电路中,电阻R1、R2和R3提供滞回电压,根据比较器的输出状态来调节比较器跳变电平的大小。左边电路中的R4和L1与右边电路中的R4和C1作用相同,用于设置工作频率。通过用适当的阻性、容性或感性传感器替换R4、C1或L1,就能构建一个频率可随传感器输出值变化的变频振荡器。然后使用TImer0和TImer1将频率转换为数字值。TImer1的计数频率与振荡器频率相同,TImer0设置采样周期。当Timer0溢出时,Timer1停止计数,它的当前值就是转换的结果。
图2 使用比较器的逻辑与/或和异或电路
这一对内部定时器与少量的外部元件和一些软件相结合,向设计人员提供了一种使用比较器测量电阻、电感或电容的简便方法。设计人员只需延长Timer1的计数周期,就可以提高转换器的分辨率。
此外,大多数带有片上比较器的新型单片机在比较器的反相输入端上有一个2选1或4选1的模拟多路开关。只需给每个传感器添加一个电阻R4,然后将传感器/电阻的接点连接到多路开关的各个输入端,设计人员就能在多达4个传感器中选择转换器的输入。
构建逻辑门只不过是将二极管逻辑与一些电阻组合起来,以实现必需的逻辑功能。图2给出了实现了逻辑“与(AND)”和逻辑“或(OR)”功能的简单电路,以及略为复杂的逻辑“异或(XOR)”功能的电路。
图2中,左边的电路实现逻辑“与”和逻辑“或”功能。要实现逻辑“与”功能,选择R3和R4的值,使得反相输入端的电压高于VDD/2。要实现逻辑“或”功能,选择可使反相输入端的电压略低于VDD/2的值。(R1和R2的值应相等)。在逻辑“与”配置中,A和B两个输入端必须同为高电平以将同相输入端的电压拉高到VDD/2之上,才能使输出变为高电平。在逻辑“或”配置中,A或B中必须至少有一个为高电平以将同相输入端的电压拉至VDD/2,才能拉高输出电平。要构建逻辑“非与(NAND)”或“非或(NOR)”电路,只需将反相和同相输入端交换即可。
图2中,右边的电路用于实现逻辑“异或”功能。如果A或B中有一个为低电平,那么反相输入端将被钳位在0.7V,若另一个输入为高电平,就会产生高电平输出。如果A和B均为高电平,那么同相输入端的电压将保持为略低于VDD,而反相输入端被拉至VDD——导致输出低电平。(注:对于任何逻辑电路,选定的电阻值应足够大以使所有电流处于1~10mA范围内,这样比较器的输出驱动电路才能容易地驱动逻辑)。
图3 同相和反相运放电路
接下来,让我们研究如何将比较器用做低频运放。只需使用一个足够低频的低通滤波器来对脉冲链进行滤波,任何占空比可变的数字信号均可被转换为直流电压。要使用比较器来构建运放,我们将使用同样的滤波器求平均功能来生成反馈和输出电压(见图3)。 在同相电路中,R1和R2如同在常规运放电路中一样,用于确定增益。C1和R3/C2充当滤波器对比较器输出端的PWM数字信号求均值,并将求得的结果作为反馈的直流电平和电路的线性输出。在反相电路中,R4和R5确定增益,C3和R6/C4充当平均滤波器将数字PWM信号转换为线性电压。注:在反相拓扑结构中,需要R7和R8来产生电路的虚拟地。
最后要讲述的是开关电源电路。产生交变电源电压的一种方法是产生由输出反馈电压门控的PWM开关信号。在该电路中,一个比较器产生斜坡波形,而另一个提供输出电压的反馈信号。图4中的原理图给出了使用两个比较器的实现方案。
在该电路中,比较器U1a是一个脉冲发生器,与前面所述的将传感器输出转换为数字信号的振荡器类似,其工作频率由R4、R5和C1决定。电路中R5的作用是确保C1上的充电电压绝不会低于约1.5V。这一点非常重要,因为U1b通过将U1a的同相输入端拉至约0.7V来控制振荡器的工作,使其停振。(注:振荡器被设计为在关断时将输出拉为低电平,因此此时Q1也将处于截止状态)。
图4 使用两个比较器的升压式开关电源
当振荡器运行时,Q1会定期导通,使得电流流过L1。当Q1截止时,流过L1的电流会使D3正偏,从而给C2充电,继而抬高输出电压。C2上采样得到的输出电压经过分压后与D2上的正向电压作比较。如果输出电压过高,U1b会关断振荡器,C2会向负载放电,从而使输出电压降低。当输出电压跌落到所需电压以下时,U1b的输出就会变成高电平,振荡器重新起振,将重新有电流流向C2。
有了电压比较器,可以实现将R/C/L传感器的输出转换为数字值的电路、逻辑门和放大器,甚至是开关电源,所有这些都能通过分立式元件和比较器构建。
因此,当下次查找单片机时,若看见带有比较器的器件,请停下来思考一下使用比较器能够构建的复杂功能,这可以节省在材料方面的开销。作为混合信号设计人员,能够说明简单电压比较器的强大功能,别人将刮目相看。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)