用TMS320LF2407和FPGA实现电能质量监测

时间:2020-10-11 11:14:05 理工毕业论文 我要投稿

用TMS320LF2407和FPGA实现电能质量监测

摘要:提出用TMS320LF2407和FPGA实现电能监测的一种方案,阐述各模块的设计和实现方法,本方案中,FPGA用于采样16路交流信号并进行64次谐波分析;DSP和于电力参数的计算。为了提高其通用性,还用FPGA设计了与外界通信的并口、串口模块,并实现了同TMS320LF2407的并行和串行通信。

随着人们对电能质量要求的日益提高,如何保证电能质量就成为一个热门话题。电能质量监测的一项主要内容是谐波检测,即对多路模拟信号进行采集并进行谐波分析。本系统对16路50Hz模块信号进行采样并进行64次谐波分析。如果仅仅依靠一个MCU(单片机或控制型DSP)来进行处理,往往达不到实时性要求,所以采用DSP和FPGA相结合的方法。利用DSP对电力参数进行计算,利用FPGA进行谐波分析。

系统主要包括数据采集电路、ADC模块、FPGA模块、DSP模块及上位机显示模块,其结构如图1所示。

图1 系统框图

1 数据采集电路和ADC模块

对经过互感器调理成-3.3~ 3.3V(ADC测量的最大量程)的信号进行采样。根据香农抽样定理,对最高频率fc的连续信号进行抽样,须保留其全部内容。抽样频率fs满足条件为:fs≥2fc。如图1系统框图所示,本系统中,ADC采用的是MAX125,其单通道的转换时间为3μs。若利用内部的采样保持器,可以同时采样4路信号,转换时间为12μs。为了同时采集已经过调理的16路模拟信号,必须对其进行采样/保持。在前向通道使用16路采样/保持器(SMP04),再使用多路开关(MAX306)依次选择这16路信号,输入到MAX125的一个通道(CH1A),并由FPGA发出转换信号CONVST。待转换结束,MAX125发出INT中断,通知FPGA读取转换结果。总之,由FPGA中的ADC控制模块完成对MAX125、MAX306及SMP04的控制以及对MAX125信号的中断响应。

2 FPGA模块

FPGA模块主要完成通信、数据采集、ADC模块的数据读取、保存及底层的信号预处理计算——谐波分析。FPGA工作流程如图2所示。其子模块有:ADC控制模块、ADC采样数据保存区、FFT工作RAM、FFT运算结果保存区、开方修改正表、开方运算单元、谐波系数存放区以及串行、并行通信控制模块。

图2 FPGA工作流程图

(1)ADC控制模块

图3所示ADC控制模块除了完成对MAX125、MAX306及SMP04的控制外,还要响应MAX125的中断(INT)来读取转换结果,并将其保存到ADC采样数据保存区。如图3所示,为了更准确地产生控制时序,对系统的.采样周期及相位的锁定都采取了相应的处理。待采样信号先经过方波转换电路,将其转换成0~ 3.3V的方波信号,再经过FPGA中的数字锁相环模块,根据外部时钟和计数器测量出其周期,作为下一个待采样信号的采样周期。这样就减小了由于待采样信号频率的漂移而带来的采样周期的误差。本系统采用的数字锁相环在FPGA中实现,其具体的性能为:锁相环的捕捉带Δfmax=12.5Hz,锁相频率为50Hz±12.5Hz=37.5~62.5Hz,随后产生的采样周期Ts能够满足实际应用的要求。同时,根据多路开关信号和计数器,产生ADC采样数据保存区地址,保存来自MAX125的14位数字量。

(2)谐波分析模块

本系统中,采用快速傅里叶变换(FFT)进行谐波分析,主要因为FFT使N点DFT的乘法计算由N2次减少到(N/2)log2N次。由FFT工作流程图可知,本系统在分析64次谐波时,整个运算分6级。在第一级蝶形运算中,蝶形运算单元根据算法控制模块的控制信号,从ADC采样数据保存区取出原始数据,从旋转因子ROM中取出旋转因子,进行FFT的第一级蝶形运算,并将结果存入FFT工作RAM。在以后的各级蝶形运算中,蝶形运算单元从FFT工作RAM中取出间数据,从旋转因子ROM中取出旋转因子,进行运算,直至第六级蝶形运算结束,并将结果存放到运算结果保存区,以便进行各次谐波系数计算。