基于FPGA非正弦波形发生器的电路设计
扫描二维码
随时随地手机看文章
摘要:文中提出了一种基于FPGA中LPM(Library Parameterized Modules)的非正弦波形发生器的电路设计方案,并完成系统的软硬件设计。该系统的硬件部分主要用来生成和输出非正弦波形信号,由3.3 V和正负5 V电源模块,DA9708芯片、截止频率为1kHz的二阶低通滤波器、正负5 V的幅度调节器构成。软件部分采用QuartusII进行硬件描述语言进行编程,在MATLAB中生成非正弦波形数据。通过MATLAB仿真与实验输出波形对比表明,该非正弦波形发生器的设计实现周期短、输出非正弦波形平滑稳定,达到设计要求。
关键词:非正弦波形发生器;FPGA;LPM;DA9708
随着直流输电技术的应用发展,高压电缆线路和补偿电容的增多,电力系统中的谐波分量将大大增加,它给电力设备和弱电系统带来了谐波污染,并且电力电子装置的日益增多,使电网中的高次谐波愈来愈严重。因此,检验谐波控制设备的性能,或者测试负载设备在收到扰动时的工作情况等,需要一些专门的谐波发生器来产生所需的谐波。目前设计信号波形发生器的方法主要有3种:传统的直接频率合成技能(DS),锁相环式频率合成器(PLL),直接数字式合成器(DDS)。文献中设计了基于FPGA LPM多功能信号发生器,其产生的波形为锯齿波,三角波,阶梯波和方波等规则波形,其波形数据采用数据表格输入,对于复杂的畸变波形信号的产生有很大的局限性。
以上信号发生器和一些常用的函数发生器都只能产生常用的正弦波、方波和锯齿波等常规波形,作为电路的激励源,能满足一般的实验和研究的需要,不能满足检验谐波控制设备的需要,因此文中提出了一种基于FPGA中LPM的畸变波形发生器的电路设计。该系统对保证今后电力系统谐波的检测与研究,具有十分重要的技术意义和经济价值。
1 电路设计原理
LPM是FPGA中的参数可设置模块库,Altera提供的可参数化宏功能模块是基于Altera器件的结构做了优化设计。QuartusII中含有功能强大的LPM_ROM模块。在波形发生器的设计中,在ROM中储存有数据,改变地址,就可以读出对应地址的数据,改变地址的变化频率,通过建立参数化的 LPM_ROM并存入所需要额波形数据并进行验证。
图1所示的畸变波形发生器的结构由4个部分组成:FPGA模块、8位DA芯片、二阶低通滤波器、幅度调节器。FPGA采用EP4CE30F23C8N,顶层singal.vhdl在FPGA中实现,包含2个部分:一是ROM的地址信号发生器,由6位计数器担任;二是一个谐波信号数据ROM,由 LPM_ROM模块构成。LPM_ROM底层是FPGA中的EAB、ESB或M4K等模块。地址发生器的时钟CLK的输入频率f0与每周期的波形数据点数 (选择512点)得出D/A输出的频率f的关系是:
2 系统硬件设计
模拟输出硬件电路图如图2和图3所示。
该模拟端硬件电路由电源模块,高速DA9708芯片、截止频率为1 kHz的二阶低通滤波器、正负5 V的幅度调节电路构成。DA9708采用单电源供电的低功耗电流输出型高速数模转换器,转换速度高达125MSPS,建立时间不大于35 ns,转换精度为1/4LSB,内置1.2 V参考电压,输出端采用查分电流输出。
3.3 V和负5 V电源模块如图4和图5所示,其分别采用LM1117和MC34063电源芯片,LM1117提供电流限制和热保护,芯片电路包含1个齐纳调节的带隙参考电压以确保输出电压的精度在±1%以内,输出端需要一个至少10μF的钽电容可以改善瞬态响应和稳定性。
AD9708芯片差分输出以后,为了防止噪声干扰,电路中接入了二阶低通滤波器,截止频率为1 kHz,其Multisium仿真电路如图6所示。
频率响应如图7所示,由图7可知,其截止频率为1 kHz。
滤波器之后,使用了2片高性能145MHz带宽的运放AD8065,实现差分变单端,以及幅度调节功能,是整个电路性能得到而最大限度的提升。幅度调节,使用的是5K的电位器,最终的输出范围-5~5 V(10 Vpp)。
3 系统软件设计
3.1 系统软件结构设计
系统软件设计结构图如图8所示。
在软件设计中,由MATLAB生成畸变波形数据,在文档编辑器中生成LPM可识别的mif文件,然后导入LPM模块,在FPGA运行过程中,时钟设定为40 MHz,并且对LPM模块进行查表法输出。
3.2 MATLAB生成谐波波形数据文件
电网稳态的供电电压波形为工频正弦波形,数学表达式为:
Usin(ωt+α)项称为基波,其周期与原畸变波形的周期相同,其它各相均为谐波。由于谐波的频率是基波频率的整数倍,所以Usin(3wt+α)项称为三次谐波,Usin(5wt+α)项称为五次谐波。在matlab仿真中的含1,3,5次谐波的畸变波形如图9所示,并产生畸变波形数据。
Matlab生成波形数据的部分程序为:
3.3 定制LPM_ROM初始化数据文件
QuartuslI能接受的LPM_ROM中的初始化数据文件的格式有2种:Memory Initialization File(.mif)格式和Hexadecimal(Intel-Format)File(.hex)格式,利用QuartusII的Text File编辑,以后缀名mif格式存盘,便可得到Memory Initializationg File格式的文件。本设计采用512点谐波波形数据,将MATLAB生成的512点波形数据导入QuartusII中。
生成mif文件的部分程序为:
WIDTH=8;
DEPTH=512;
ADDRESS_RADIX=UNS;
DATA_RADIX=UNS;
CONTENT BEGIN
0:80;
1:82;
2:84;
3:86;
…(数据略去)
END;
4 实验对比
对设计好的电路板进行编程后,通过FPGA板中JTAG仿真器把程序加载到系统中运行,用TEK示波器进行测量得出了具体变波形图,图 10和图11列出了含3,5,7次谐波的畸变波形信号,并通过MATLAB仿真与输出波形进行了对比,其中,左侧为示波器实际测量波形,右侧为 MATLAB仿真波形。
5 结论
该系统采用MATLAB生成畸变波形数据以及基于FPGA中的LPM模块系统对波形数据进行处理,最后通过硬件电路对数字信号进行模拟转换输出,通过对比实验波形和MATLAB仿真波形,得出了系统产生的波形具有了谐波信号的特征,并且输出波形平滑稳定,没有杂波,可以用于检测谐波控制设备的性能,极大缩短了畸变波形发生器开发的周期,具有很好的应用前景。