电压比较器在单片机中的出现始于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)。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。