LabVIEW FPGA番外篇:实验69-基于FPGA生成多路中心对齐的PWM输出

本节实验教会大家如果使用LabVIEW编写下位机FPGA程序使其产生多路中心对齐的PWM输出。注意,这里不是产生带死区的互补PWM,而是产生中心对齐的PWM输出。关于带死区时间的FPGA PWM互补输出可以参考《LabVIEW FPGA开发宝典》第49个实验。
一般情况下,生成中心对齐的PWM互补输出,常用于运动控制应用。例如,在FET或IGBT这类H桥里面,使用中心对齐的PWM意味着开关状态切换的频率是使用正常PWM信号时的一半。这就减少了开关的磨损,也减少了FET或IGBT产生的热量,还能改善系统的动态特性。
本节实验我们使用LabVIEW直接对黑金FPGA开发板(比如Spartan6、ARTIX7、KINTEX7)进行编程,输出3路中心对齐的PWM波出来,用户可以直接在FPGA程序前面板上对生成的PWM周期频率和占空比进行动态修改。
图1显示的是基于FPGA两种不同方式(单周期定时循环和普通while循环)实现的多路中心对齐PWM项目浏览器;图2是基于FPGA产生多路中心对齐的PWM程序前面板;图3是基于单周期定时循环实现的多路中心对齐PWM程序框图;图4是基于普通while循环实现的多路中心对齐PWM程序框图;图5是基于FPGA在线仿真运行时的实际效果图。

(单周期定时循环SCTL和普通while循环)



