核心导读:采用分立元件或CPLD、FPGA 进行电源的信号发生和测量的设计,会增加硬件设计复杂程度,延长开发周期。为了简化电源信号发生及测量的硬件设计,缩短开发周期,本文提出一种基于DSP 的嵌入式操作平台,采用DDS( 直接数字式频率合成器) 及乘法器矢量测量技术的设计方案。该方案利用DSP 的高速运算能力,通过实时计算来实现分立元件或CPLD、FPGA 的硬件逻辑功能。实验结果表明该方案切实可行。
0 引言
电源的信号测控部分由DDS信号发生和信号测量组成。DDS 在电源设计中的应用早已存在。在早期的DDS 设计中,硬件组成由计数器、触发器等多种多个分立逻辑元件组成; 而在出现可编程逻辑器件CPLD、FPGA 后,DDS 的硬件构成简化了许多。电源的信号测量,分为频率、幅值及相位的测量。频率的测量采用脉冲填充法; 幅值测量则随着A/D 转换器的采样速度及处理器速度的提高,由原来的有较大延迟的真有效值转换发展为周期实时采样计算;相位测量则在幅值测量的基础上,由原来的间相脉冲填充法发展为乘法器矢量测量。
DSP 的高速处理能力,使其可以实现DDS 中的CPLD 或FPGA 及测量电路中的模拟数字混合乘法器的功能,从而使电源的信号发生及测量的硬件设计更简单。
1 设计方案
方案设计如图1 所示。DSP 以等时间间隔快速、连续读取扩展程序存储器中的波形数据,送入并行高速D/A,并行高速D/A 即可输出预设信号波形。
输出信号幅值的调整不如波形数据读取操作那么频繁,且对操作完成时间的长短、精度要求也不如波形数据读取高,所以选择串行多通道D/A。这样既可以降低成本,又可以简化部分硬件设计。以N 个波形读取时间间隔为计时基础,DSP 通过并行高速A/D 对经信号处理后的被测信号进行连续采样,通过计算,可得出被测信号有效值及相位。
2 DDS 的DSP 实现
2. DDS 原理
DDS 是利用相位累加原理直接合成所需波形的一种频率合成技术,典型的DDS 模型由W 位相位累加器、移相加法器、波形存储器ROM 查找表( LUT) 、D/A 转换器( DAC) 以及低通滤波器( LPF) 构成。其中相位累加器由W 位加法器与W 位累加寄存器级联构成。
DDS 工作时,每来一个时钟脉冲p,加法器将相位步进值Δθ 与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。
累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。相位累加器输出的数据作为查表地址,从波形存储器( ROM) 中提取对应的波形抽样值( 二进制编码) ,送入D/A 转换器C 中。在相位累加器的数据输出范围0 ~ 2W – 1,与波形存储器中一个完整周期波形的地址,按照特定的函数关系对应起来的前提下,相位累加器的每次溢出,DDS 就相应的输出了一个周期的波形。因此,相位累加器的溢出频率就是DDS 输出的信号频率。由此可推导出DDS 输出的信号频率公式:
从公式( 1) 可以看出,在相位累加器宽度W 为定值、相位步进值Δθ 为1 时,可得出DDS 的最小输出频率,即DDS 的频率分辨率fr。因此,只需要调整相位步进值Δθ,就可以使DDS 的频率以fr的整数倍输出。
2. 2 DDS 工作模式选择
根据公式可以看出,在相位累加器宽度W 为定值的前提下,DDS 的输出频率,取决于Δθ 和fclk。
Δθ 取值为DDS 的相位分辨率时,DDS 输出信号的每个周期由固定点数组成,此时fout与fclk成比例关系,DDS 为调频模式; fclk为定值时,DDS 输出信号在单位时间内由固定点数组成,此时fout与Δθ 成比例关系,DDS 为调相模式。
调频模式,其关键点为采用锁相环技术对预置输出频率进行倍频[3 - 4]。与调相模式相比,调频模式不仅要多出锁相环及相应倍频逻辑电路的设计,且在进行频率调整时,信号会有短时间的失锁,造成输出信号的振荡。因此,调相模式是本设计中DDS 的最佳选择。
2. 3 DSP 实现DDS 的优势
无论是用分立逻辑器件还是CPLD 或FPGA 设计DDS,其目的都是为了将相位累加器的累加、输出、波形数据查表等这些运算处理通过硬件电路高速实现。唯一的区别就是应用CPLD 或FPGA 设计DDS,可以将诸多分立器件实现的逻辑电路,通过VHDL 等编程语言编程固化在单一芯片上,从而达到简化硬件电路设计目的。而采用DSP 设计DDS,则完全可以利用其高速运算能力,通过软件编程来完成相位累加器的累加、输出、波形数据查表等运算。因此,相比于采用CPLD 或FPGA,采用DSP设计DDS 更灵活高效。
2. 4 基于DSP 的DDS 的参数设计
2. 4. 1 标准时钟脉冲fclk
的设计从公式( 1) 可以看出,在相位累加器宽度W 为定值、相位步进值Δθ 为1 时,可得出DDS 的最小输出频率,即DDS 的频率分辨率fr。因此,只需要调整相位步进值Δθ,就可以使DDS 的频率以fr的整数倍输出。
在P 足够多且每点波形数据分辨率与P 匹配的前提下,即可忽略DDS 信号输出的高频谐波含量,从而省略硬件设计中的滤波器环节,避免了由滤波器产生的相位偏移。当P = 10000 时,完全可以满足要求。如设计最大输出频率65Hz,可得fclk = 0. 65MHz。
fclk可利用DSP 计数器的中断产生。考虑到DSP 的工作频率均为MHz 的整数倍,所以fclk取值1MHz,更加便于中断的准确产生。
2. 4. 2 相位累加器宽度W 的选取
P = 10000 时,W 取值27 即可满足设计频率调节细度≤0. 01Hz 的要求。但相位累加值θ 在DSP 中定义为4 字节的操作数,W 取值27 时,DSP 需对相位累加值进行上限判断处理后再提取波形数据,从而产生细小的波形畸变并增加一定的运算量。考虑到可利用操作数的自然溢出来减少DSP 的判断及运算操作,所以W 取值32。
2. 4. 3 周期波形点数P 的选取
由于DSP 中没有现成的除法指令,除法是靠被除数与除数之间的移位相减来实现的,采用该函数的算法将增加DSP 的运算量。因此,可以通过事先将P ÷ 2W 作为系数,减少求数组下标运算步骤。但P ÷ 2W 可能为小数,如果取整计算,将使下标出现跳跃性变化,导致输出波形畸变增大。不取整计算时,如使用定点DSP,虽然价格便宜且运算速度较快,但会增加系统运算量。而使用浮点DSP,运算速度较慢且硬件费用会有相对提高。考虑到DSP 要进行多线程的任务工作,需要较快的运算速度,因此选用定点DSP,并对波形数据数组下标的算法进行进一步的改进。
将公式中P 的点数由相位调节细度要求的最低点数Pmin调整至大于Pmin的最小的2 的X 次幂。
在DSP 中,所有的值都用二进制来表示。所以,在公式( 5) 里所有变量的取值均为无符号整数的前提下,A 的获得就简化成了对θ 进行( W – X) 次的右移。
从而大大降低DSP 的运算量。以相位分辨率≤0. 03°为例,P 取值16384 =214,A 的表达式即简化为θ /218。
3 信号测量
信号需要测量频率、有效值、相位三个参量。信号处理电路采用传统的互感器采样加低通滤波。电压信号处理电路比电流信号处理电路,多设置一过零比较的波形变换功能单元,其作用是将电压被测信号由正弦波变换为方波,为信号测量提供周期信号。
3. 1 频率测量
频率测量相对简单,采用传统的脉冲填充法,即DSP 利用周期方波作为中断信号,用DSP 的计数脉冲的频率除以中断间隔内计数器的计数脉冲数,就可获得输出信号的频率。
3. 2 有效值测量
有效值测量即对被测信号进行区域内积分后取平均值。通过RC 电路实现硬件积分,响应速度慢,且增加相应的硬件开销。而利用DSP 的高速计算能力,通过相应计算即可得出有效值,可提高相应速度,节省硬件开销。
式中Vm为有效值; T 为采样周期; Um为被测正弦波峰值;ω 为被测正弦波角频率; φ 为被测正弦波初始相位。
积分的计算过程,等价于在积分区间内对被测信号进行足够多的、等间隔采样,并进行累加求和计算。因此,公式 可变换为:
为保证测量值的准确,被测信号每个周期内的采样次数应≥100。因此,在以标准时钟脉冲fclk( 1MHz) 为计时基准、被测信号最高频率65Hz 时,每次采样间隔应≤153 个标准时钟脉冲。
3. 3 相位测量
相位的测量,借鉴了模拟数字混合乘法器进行矢量测量的原理。模拟数字混合乘法器进行矢量测量的原理如下:
对于正弦信号,矢量测量就是测量相对于标准正弦信号的相位和幅值。如图2 所示,设被测信号V( t) = U( t) sin( ωt + φ) ,两片Rom 中分别存有正弦和余弦函数表,锁相环实现数字sin^( ωt) ,cos^( ωt) 与V( t) 同频同步。模拟信号V( t) 输入到乘法型D/A 的参考电压端,与数字量sin^( ωt) ,cos^( ωt) 在D/A 转换器实现模拟数字混合乘法运算,低通滤波器完成积分求平均值运算,低通滤波输出的是直流信号。
综上所述,模拟数字混合乘法器矢量测量的原理可简述为,将被测信号幅值与标准正弦、余弦分别相乘并计算其有效值,然后通过对两有效值进行反正切运算即可获得被测信号与标准信号的相位差。
从公式可以看出,被测信号的采样值,在相位测量中可被重复利用。因此相位测量也可以采用与有效值测量相同的时钟脉冲及采样间隔。从图2 中可以看出,被测信号与标准正弦D/A、余弦D/A 的相乘,其实质是被测信号采样值与标准正弦、余弦查表值相乘。由于相位测量的采样以标准时钟脉冲fclk为计时基准,每次采样前必有一个刚被查表取出的电压正弦波数据值被送至D/A 输出,该数据值对应相位累加器输出值θ 。根据正弦与余弦的函数关系式cosa =sin( a + 90°) ,将θ 偏移2W-2 ( 此操作等价于移相90°后查表获得余弦数据值。因此,模拟数字混合乘法器矢量测量相位,完全可以通过DDS 的查表功能与有效值测量功能相结合,利用软件来实现。
4 结束语
通过对DDS 和模拟数字混合乘法器矢量测量原理的分析,提出了以DSP 嵌入式系统为硬件基础,利用软件编程实现DDS 相位逻辑运算、积分运算、矢量的模拟数字混合乘法的设计思路。采用该设计思路进行电源,可大大简化硬件设计,节省硬件成本,缩短开发时间。