本帖最后由 wt418995874 于 2012-8-15 21:28 编辑 脉冲宽度调变(Pulse Width Modulation;PWM)允许处理器的数字输出信号控制或驱动模拟电路,可应用于测量、通信、功率控制、信号转换等。 模拟电路 一个模拟信号具有连续变化的值,它的最小时间和最小振幅是无限的(亦即,解析度是无限小的)。一个9伏特的电池是一种模拟装置,它的输出电压不一定都是9V,而是会随着时间变化的,它的值可能是任何的实数值。同理,从电池中流出的电流量不是限定在一定范围里的可能值。模拟信号与数字信号的区别是很清楚的,因为数字信号总是从「预先决定的(predetermined)」有限的可能值之集合中选出一个值来,例如:{0V, 5V}集合。 模拟电压和电流可以直接用来控制装置,譬如:汽车音响的声音。在一台简单的模拟收音机中,频率选择钮是连接到一个可变电阻上。当旋转选择钮时,电阻值会上升或下降,因此电阻电流也会增加或降低,而驱动扬声器的电流量也会改变,最后使它的声音增加或降低。一个模拟电路就像收音机一样,它的输出值和它的输入值是呈线性的正比关系。 直觉上,我们知道模拟控制并不经济,有时也不实用。模拟电路的电压或电流常会随着时间飘移,所以很难微调。可以解决这种问题的精准的模拟电路之体积可能非常大、非常重,而且很贵—旧型的立体音响就是属于这一类型。模拟电路也很耗电,很容易发热。模拟电路对噪音效应也很敏感。由于它具有无限小的解析度,所以在模拟电路中的任何扰动或噪音必然会改变它的电流值。 数字控制 以数字信号来控制模拟电路,可以使系统成本和功率损耗大幅地减少。而且,由于多数的微控制器和DSP已经内建了PWM控制器,因此很容易实现。简言之,PWM是一种能将模拟信号准位编成数字码的技术。透过高解析度的计数器,将一个方波的工作周期调变,藉此,将特定的模拟信号准位编码。PWM信号仍然是数字的,因为在任何时候,直流供电不是开启的就是关闭的。藉由连续的开启和关闭脉冲,将电压或电流供应给类比负载。在负载上有直流供电时称为「开启时间(on-time)」,没有时称为「关闭时间(off-time)」。假设频宽足够,任何一个类比值都可以利用PWM来编码。 大多数的负载、电感和电容需要比10Hz还要高很多的调变频率。如果增加开关开启和关闭的时间各成为5秒,则工作周期仍然是50%,但是在灯泡开启时,它的亮度会增加。为了让灯泡只能得到4.5V,工作週期时间必须小于负载对开关切换的反应时间。为了得到微光(dimmer)的效果,必须增加调变的频率大小。上述原理也适用于其它的PWM应用。一般的调变频率范围是从1 kHz至200 kHz。 虽然不同的PWM控制器具有不同的编程功能和技术细节,但是大体而言,它们的基本原理是相同的。 通信和控制 PWM的一个优点是:从处理器到控制器的信号都是数位的;因此,不需要数字模拟转换(DAC)。由于信号都是数字的,所以噪音效应可以降低。噪音只有在唯一一种情况下才会影响数字信号:噪音强度大到足以将逻辑1改变成逻辑0,反之亦然。 利用PWM信号来控制模拟电路的另一个好处是它可以增加抗噪音的能力,这也是为何有时可以使用PWM来通信的主要原因。从一个模拟信号切换至PWM可以大幅增加通信通道的长度。一个适当的RC或LC网路能移除调变的高频方波,并将信号还原成类比形式。 PWM的应用 PWM的应用非常多,一个具体的例子是:利用PWM来控制剎车器(brake)。简言之,剎车器就是将车轴仅仅夹住。在许多剎车器中,抓力或制动力的大小是由一个类比输入信号控制。施加在剎车器上的电压或电流越大,抓力就越大。 PWM控制器的输出可以连接至一个开关,此开关位于电源和剎车器之间。为了产生更多的制动力,软件只需要增加PWM输出的工作周期。如果需要特定的剎车力量,就必须求出工作周期和剎车力量之间的数学关系。求得的公式或查看表(lookup table)需要依照工作温度、剎车器的磨损情况…等因素做微调。若要将压力施加在剎车器上,譬如:100 psi,软件必须反向求出工作週期。然后,据此改变PWM信号的工作週期,剎车器就会依此做出反应。如果此系统有一个感测器,则还可以藉由封闭回路控制电路来微调工作週期,直到获得期望的正确动力。 SoC处理器的PWM 一般的SoC处理器也可以内建PWM控制器,这是利用SoC内部的标准计时器来产生PWM信号。透过符合暂存器(match register)可以选择特定的应用项目。例如:7个符合暂存器支援6个单边控制或3个双边控制或两者混合的PWM输出信号。符合暂存器也支援下列功能: ˙特定的中断产生时,继续计时。 ˙特定的中断产生时,停止计时。 ˙特定的中断产生时,重置计时器。 每个符合暂存器的外部输出信号具有下列的功能: ˙符合时,输出低值。 ˙符合时,输出高值。 ˙符合时,切换输出值(原是低值变高值,原是高值变低值)。 ˙符合时,不做任何事。 PWM控制器具有下列的功能: ˙脉冲周期和宽度(工作週期)是由计时器的计时数目设定。因此,解析度和重复率之间的取舍可以很有弹性。所有的PWM输出信号的重复率是相同的。 ˙双边控制的PWM输出可以被设定为正的脉冲波缘,或负的脉冲波缘。 ˙符合暂存器的更新是跟随脉冲输出讯号同步完成的,以避免产生错误的脉冲。软件必须先释出(release)新的符合值,之后它们才会生效。 ˙如果PWM模式不有启动,它可以当成一个标准的计时器。 ˙32-bit的计时器/计数器具有一个可程式化的32-bit预分频器(prescaler)。 ˙具有数个32-bit的撷取通道,当一个输入信号做瞬间转换时,这些通道能够撷取计时值。一个撷取事件也会产生一个中断。 PWM建立在标准的计时器区块上,并继承了计时器的所有特性。计时器是用来计算週边时脉的週期数,并可以产生中断;当达到指定的时间值时(藉由符合暂存器组的协助),系统会执行特殊的工作。PWM控制器的功能和计时器类似,并且以符合暂存器的事件为基础。两个符合暂存器能够用来提供一个单边控制的PWM输出。其中,一个符合暂存器控制PWM周期率,当符合时,将计数器重置;另一个符合暂存器控制PWM的边缘位置。额外的单边控制的PWM输出只需要一个符合暂存器即可,因为所有的PWM输出信号的重复率(周期率)都是相同的。多个单边控制的PWM输出在每一个PWM周期的起始位置(当符合暂存器符合时),都具有一个上升缘。 三个符合暂存器能够用来提供一个双边控制的PWM输出。其中,一个符合暂存器控制PWM周期率。其它符合暂存器控制PWM的两个边缘位置。额外的双边控制的PWM输出只需要两个符合暂存器即可,因为所有的PWM输出信号的重复率都是相同的。 |
|