现实世界中的信号在时间上是连续的,而另一方面,信号数字化表示的精密有限,而且采样时间上不连续,因此导致了量化。明显的量化源包括ADC,具有截位、舍入、溢出误差特性的计算引擎以及脉宽调制(PWM)发生器。
使用更长字长的ADC可将ADC的量化误差最小化(嵌入式控制器中一般采用的是12位ADC)。另外设计者也需要注意采样多个电流时会产生的误差。如果使用一个ADC来连续采样两个电流,那么所产生的误差就能得到限制。
如果使用带双取样和保持电路的ADC,就可以避免这种误差。算法的数值表示是量化效应存在的最关键领域。同时使用模拟和实验分析法来研究实际的数字控制器,是一种分析量化误差的实用方法。下面图1所示的系统就采用了模拟执行和试验执行。
图1:数字处理器的选择是执行数字马达控制系统时需要考虑的一个主要问题
该系统的算法采用了三种格式:16位定点、32位定点和32位IEEE-754单精度,全都使用了同
一种32位定点数字控制器-TI公司的TMS320F2812,以及用于32位定点编程的TI“IQmath”库。
“IQmath”库让设计师能够轻松快速地将以浮点格式编写的C语言代码转换成32位定点格式。由于在定点处理器上执行浮点演算效率不够高,浮点格式的实现需要更长的4kH的采样时间。因此,为公平起见,实验结果将只在16位和32位定点格式之间进行比较。
为了比较三种数据格式对数值精度的影响,对估计的速度响应和相应的d轴和q轴参考电流分别进行了观察。
图2:同时使用模拟和实验分析法来研究实际的数字控制器是一种分析量化误差的实用方法
16位定点系统(上图2)出现了伪瞬态和振铃现象,而32位则没有。实验的结果也显示了相似的特征。在实际系统中,这些瞬态现象会带来可闻噪音和振动(如下图3)。
采样频率任何数字系统都必须考虑的一个关键因素是采样频率-奈奎斯特定理。必须得出系统中最高的频率分量。通常做法是为一阶系统选择至少4倍的频率。为了展示这一效果,我们分解了一个简单的单极传输函数。该传输函数用公式表示为:G(s) = s + 100/100在恰当的采样间隔中,系数没有问题。但当采样过度时,就会产生严重的分辨率问题。检查一下系数大小,就能发现量化效应。随着采样率的提高,分子系数会下降。
当采样率为10微秒时,系数下降到了0.00099950016,显示为0x0020。这意味着系数有一个5位的分辨率,这对16位处理器来说是个严重问题。此时,如果采用32位运算,可以获得更好的数值。在这种情况下,一个能够用原生32位表示分数的32位处理器,如TMS320F2812,就可以避免这些问题。
产生PWM输出嵌入式控制器中的数字脉宽调制器(PWM)使用一个计数器和一个比较缓存器来产生PWM输出。但这种方案有它的缺点:PWM输出中最小的变化等于计数器的时钟周期,当PWM频率增加时会带来量化问题。
这一点在控制与马达控制反相器相关的功率因子校正阶段时尤其重要,在这种情况下,超过200kHz的PWM频率都是很常见的。此时100MHz组件的PWM分辨率约为8到9位,会产生极限周期的问题。而TMS320F280x数字信号控制器首次实现的高分辨率PWM架构就可以解决这个问题,这种架构可以提供150ps的分辨率。
图3:该系统分别用了模拟实现和实际实现,其中的算法用16位定点、32位定点和32位IEEE-754单精密度浮点三种不同格式实现
图4:16位定点系统出现了伪瞬态和振铃现象,而32位则没有
上面的图4显示了运行中的高分辨率PWM和标准PWM。从软件曲线中可以看出,当高分辨率功能关闭时阶梯就会产生。
而当开启高分辨率功能时,就形成了黄色曲线。很明显,高分辨率PWM可以将PWM输出中的量化误差降低几个数量级,因而显著降低由较低分辨率的PWM引起的极限周期。
系统设计人员可以使用32位运算来改进马达控制系统的性能。而且,32位运算可让设计者无需再详细检查算法的量化问题,使他们可以使用更高的采样率,从而提升系统带宽。为了充分了解量化效应并获得最好的性能,设计人员必须通过高分辨率PWM这样的技术改进来恰当解决输出量化的问题。