一种基于DSP2812实现对电网电压软件锁相的设计概述

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进行相位和频率分析的原理如下。

对某一单一频率信号

一种基于DSP2812实现对电网电压软件锁相的设计概述

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

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。三角波信号由定时器模拟产生,则定时器的定时周期为