基于FPGA的UPFC控制器IP设计

技术分类: EDA工具与服务  可编程器件  | 2007-06-26
来源:电子元器件应用 | 李兰英 高俊锋

  2.2 正弦波寻址模块

  要使输出的正弦波的频率跟电网频率fe保持一致,可通过锁相环PLL把电网频率fe倍频720倍后作为正弦波输出的激励信号feq。虽然Altera的Cyclone系列也带有PLL,但是它的PLL功能非常有限。由于它只能对固定频率信号进行一定的倍频,而不能对变化的频率信号在一定范围内任意倍频。所以必须用模拟锁相环PLL把电网频率fe倍频后作为UPFC控制器IP核的multi_freq输入信号。当电网频率fe的第一个上升沿到来时,load为高电平,此后UPFC控制器IP核开始计算正弦波的地址。正弦波的地址等于电网频率fe个数的累加值与相位寄存器、相位偏移参数之和。下面为其实现的伪代码:

  2.3 正弦波数据查找模块

  正弦波数据查找模块由正弦信号发生器和正弦数据存储器ROM构成。构成ROM的初始化数据文件有两种格式:Memory Initialization File(.mif)和Hexadecimal (Intel-Formal)File (.hex),应用时可选其中任意一种。但设计之前必须考虑所用FPGA片上ROM的大小,同时也要考虑输出数据的分辨率。因为UPFC控制器IP核的地址变化范围为0~719,输出的波形数据是16位,所以正弦数据ROM应由720个16位数据构成。

  为了输出数据的分辨率,同时也为了能使正弦波的幅值得到调整,必须预先存储一组合适的正弦波形数据。选取的正弦波形函数为:

  f(x)=1023×[sin(πx/360)+1]/2

  正弦波的数值可在0~1023中变化。在设计正弦信号发生器时,可以利用Quartus提供的MegaWizard。Plug -In Manage工具提供的LPM_ROM来定制正弦信号数据ROM宏功能块,然后将其在上层文件中实例化。

  2.4 正弦波幅值计算模块

  由于定制的正弦数据存储器ROM的最大数据是1023,即只占用了10位数据宽度,还有6位数据宽度用于调节正弦波形的幅值。正弦波形的幅值最大调节量是其选择波形的64倍。实际上,输出正弦波形的数据等于查找到的正弦信号数据与幅值寄存器的乘积。虽然Verilog语言提供了乘法功能,但是它在有的综合器中是不能被综合的,所以必须自己设计一个乘法器。该乘法器同样可以利用Meg

aWizard Plug-In Manage工具提供的LPM_MULT来定制一个16×16的乘法器。

  3 系统验证

  使用Quartus5.1对UPFC控制器IP核的Verilog程序进行综合时,可选用Altera公司的CycloneIIEP2C35评估板。该板有33216个逻辑单元,105个M4k存储模块,35个18×18乘法单元,4个PLL和475个I/O脚。UPFC控制器IP核在Quartus 中编译通过,即可利用波形编辑器对其进行功能仿真。图3是其功能仿真波形。实际上,Quartus提供有嵌入式逻辑分析仪SignalTap II,可以对输出信号进行实时测试。在实际监测中,通过SignalTap II可将测得的样本信号暂存于目标器件的嵌入式RAM中,然后通过器件的JTAG端口和USB Blaster下载线将采得的信息传出,并送入主机进行分析。图4为UPFC控制器IP核输出的实际波形图。

仿真波形

  4 结束语

  本UPFC控制器IP能使输出正弦波频率跟电网频率保持一致,且输出正弦波的幅值和相位可根据需要进行调节;输出的三角载波的频率、幅值和相位保持不变。同时,将UPFC控制器IP核和Nios II相结合还可提高系统的抗干扰能力。

0
0
(请您对文章做出评价)
1】【2
加载中

对文章的评论

更多评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销

  • 博客推荐

  • 论坛推荐

  • 在线研讨会