微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于DSP的软件锁相环的实现

基于DSP的软件锁相环的实现

时间:02-06 来源:互联网 点击:

序中记录两个CAP1 中断事件之间的TIMER 计数值N,可计算出T。同时,采用软件滤波来判断CAP1信号是否为毛刺干扰,其过程如下:电网基波频率波动一般不超过依0.2 Hz,当产生CAP1中断时,可以计算本次与前次的计数差值,如果远小于工频周期计数差值,则认为捕获的中断为干扰产生,如该中断非连续两次以上出现,则中断返回。同时对产生的中断次数进行累加,达到设定范围时对电压过零时刻正弦表格的指针位置进行判断,调整正弦表格指针地址,实现过零指针的校准。

  

1.5 A/D转换及相频计算

过零信号经过软件滤波及校准后,在捕获到输入电压信号过零点时,直接将发正弦信号的指针归零,保证输入电压信号过零时DSP发出的基准同步过零,从而实现相位同步。A相电压过零信号送入管脚CAP1,作为一个采样周期的基准,该周期的128 倍频信号作为每次ADC 启动基准。在系统初始化后开启CAP1,并设置启动ADC、相应的模数转换、数据分析、控制量投出等操作,直到关机或者发生故障。由于F2812 的系统时钟频率非常高,为150 MHz,即中断服务程序的响应延迟时间非常小,可以忽略。在CAP1 的中断服务程序中,根据待测信号周期T来设置F2812 事件管理器的通用定时器TIMER,每隔驻T/128 s自动启动一次A/D转换进行数据采集。

A/D 转换后的信号使用滑动窗口的FFT 算法,以滑动窗口的DFT和Pruning-FFT为基础,利用DFT对特定次谐波进行选择计算,根据滑动窗口快速响应以及Pruning-FFT 快速计算的特点,使DSP的处理速度达到理想值。使用FFT进行相位和频率分析的原理如下。

对某一单一频率信号

  

通过上述分析得出初相角、频率,将数据存入对应寄存器中,完成基波及谐波的相频计算功能。

1.6 SPWM输出的相频调整

软件锁相输出是由捕获中断和定时器中断共同完成,捕捉中断可以完成电压周期和相位的计算,定时器中断用来输出SPWM波形。在本方案中,三角载波是利用通用定时器的连续增减计数模式产生的,当通用定时器有效后,开始递增计数,直到等于周期寄存器的值,定时器开始递减计数,递减到零时,重新开始递增计数,并重复以上过程,从而形成三角载波信号。得到三角波后,通过比较单元来控制输出波的极性,产生PWM 波。

TMS320F2812 系列DSP 片内带有比较单元,可提供6对可编程的PWM信号,这为实现上述算法提供了极大的便利。当定时器发生周期中断时,就需要重新装载比较器的值,即此刻的正弦值。设定载波比为21(载波比应为奇数且能被3 整除),即1个正弦波的周期等于21 个载波的周期,则相邻的两个三角波峰值对应的正弦波相位差为360毅/21= 17.143毅,假定上一周期中断装载的正弦值为sin兹,则本周期中断所需装载的正弦值为sin(兹+17.143毅)。

例如:输出正弦信号的频率为250 Hz(5 次谐波)时,其三角波的频率则为5.25 kHz。三角波信号由定时器模拟产生,则定时器的定时周期为

  

5 次谐波的初相角兹是电压经FFT 计算得到与A相电压过零点的相位差值。根据x和兹值,产生相应的PWM 波。因正弦值实时计算时用得较多,在确定相位分辨率后,例如1毅,会导致大量重复计算。因此,采用查表法,按顺序预存一个周期为420 点的正弦值,相位的分辨率为360毅/420=0.857毅,因每次比较器的装载值是上一次移相17.143毅后的正弦值,所以只需将上一次装载值的地址加上一定的偏移量,即为本次所需的装载值地址,该偏移量为420/21=20。可见,将正弦计算简化为读相应地址的存储器值,会大大提高程序的效率。

通过读取寄存器中基波及谐波电压的初相角频率以及与过零点相位差的值,调整对应的正弦表格初相角指针地址,通过修改定时器周期寄存器来改变正弦波的频率,修改比较寄存器来改变正弦波的幅值和相位,在下一个过零信号过零点投出相位和频率控制量,即可完成对基波及谐波电压及SPWM 输出时的相位锁定。

2 实验结果与分析

在一台低压有源电力滤波装置中,采用基于TMS320F2812芯片为核心控制器的软件锁相环的设计方案。实验结果验证,该方案能够很好地实现对基波及特定次谐波电压相位的跟踪和锁定。

图5(a)给出同步过零信号波形,电压信号(正弦波)为A相电压,过零信号为方波。电路设计时将电压采样信号幅值转化为3.3 V,满足过零信号能被管脚CAP1 识别的条件。如图5(a)所示,过零信号与电压采样信号同步。

图5(b)给出功率模块锁相输出

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top