当前位置:首页 > 电源 > 数字电源
[导读] 随着信号处理技术及集成电路制造工艺的不断发展,全数字化SPWM(正弦脉宽调制)算法在调速领域越来越受到青睐。实现SPWM控制算法的方法很多,其中模拟比较法因电路复杂、且不

 随着信号处理技术及集成电路制造工艺的不断发展,全数字SPWM(正弦脉宽调制)算法在调速领域越来越受到青睐。实现SPWM控制算法的方法很多,其中模拟比较法因电路复杂、且不易与数字系统连接而很少采用;传统的微处理器因不能满足电机控制所要求的较高采样频率(≥1 kHz)而逐渐被高性能的DSP硬件系统所取代,但该系统成本高、设计复杂。与传统方法相比,在现场可编程逻辑器件FPGA上产生一种新的SPWM控制算法,具有成本低、研发周期短、执行速度高、可扩展能力强等优点。该技术进一步推动了变频调速技术的发展。

本文结合SPWM算法及FPGA的特点,以Actel FPGA作为控制核心,用Verilog HDL语言实现了可编程死区延时的三相六路SPWM全数字波形,并在Fushion StartKit开发板上实现了各功能模块,通过逻辑分析仪和数字存储示波器上验证了SPWM波形及死区时间,为该技术进一步应用和推广提供了一个平台。

1 Actel Fushion器件介绍[1-2]

Actel Fushion系列器件是一款具有模拟功能的Flash架构FPGA,结合先进的Flash FPGA数字技术和模拟技术,融合了FPGA数字内核、ADC、Flash存储器、模拟的I/O、RTC等部分。Fushion器件内部具有2 Mbit到8 Mbit不等的用户可用的Flash存储器;30个通道、最高12位精度、最高600 kS/s采样率的ADC;片内100 MHz的RC振荡器与PLL(锁相环)共同为FPGA提供时钟;Fushion内部40 bit的RTC除支持典型的RTC应用外,还可以控制片内1.5 V的电压调整器以实现低功耗的睡眠和唤醒模式。这些特点极大地提高了单芯片的功能,简化了整个系统设计,大幅度减少了电路板面积和系统的总成本。

Fushion系列AFS600内部含有用户使用的容量为4 Mbit的Flash存储器,内部存储器模块以Flash memory Block(FB)形式划分,每个FB限制为2 Mbit的空间,用户可以单独使用每个FB块,也可以自行用逻辑来级联所有的FB块以构建大容量的Flash存储器。Flash 存储器读操作可以从FB阵列、页面缓冲区或状态寄存器中读取数据。

2 数字系统电路总体设计方案

2.1 SPWM算法原理[3]

正弦脉宽调制技术(SPWM)是调制波为正弦波、载波为三角波或锯齿波的一种脉宽调制法,是现代变频调速系统中应用最为广泛的脉宽调制方式,目前有自然采样法、规则采样法、等面积法等。其中规则采样法计算简单,但谐波含量较大;一种改进的等面积法谐波含量低,但计算复杂,不利于系统实现;自然采样法是在正弦波和三角波的自然交点时刻控制功率开关器件的通断,是最理想的采样方法。

本文采用等腰三角波和三路相差120°的正弦波比较生成SPWM波,在Fushion StartKit开发板上采用自然采样法,结合数字频率合成技术DDS,生成死区延时可调的SPWM全数字波形。

2.2 数字系统电路总体方案设计[4-7]

Verilog HDL硬件描述语言具有很好的易读性和可重用性,结合Verilog HDL硬件描述语言设计规范及SPWM工作机理,用自顶向下的分割方法对整个系统进行总体方案设计。首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。系统顶层功能方框图如图1所示。

根据顶层设计的思想,采用Verilog HDL语言分别实现各个模块的设计,最后把各个模块嵌入到顶层模块中,使各个模块有机地组成一个完整的整体。

3 系统模块的设计与实现

3.1 直接数字频率合成模块[8]

直接数字频率合成DDS是采用数字化技术,通过控制频率控制字直接产生所需的各种不同频率信号,突破了模拟频率合成法的原理,从“相位”的概念出发进行频率合成。这种合成方法不仅可以给出不同频率的正弦波,而且还可以给出不同初始相位的正弦波,甚至可以给出各种任意波形。电路一般包括基准时钟、频率累加器、相位累加器、幅度/相位转换电路、D/A 转换器。在设计中,将要输出的波形数据(如正弦函数表)预先存在ROM(或RAM)单元中,然后在系统标准时钟频率下,按照一定的顺序从ROM(或RAM)单元中读出数据,再进行D/A转换,就可以得到一定频率的输出波形。本设计直接利用从Flash存储器的存储单元中读出的离散正弦函数值与生成的三角波进行比较,实现系统的全数字化要求。

3.2 三角波产生模块

本模块采用同步三角波调制方法,利用可逆计数器对输入时钟进行计数。计数器先执行加法,从0计数到255,再执行减法计数从255到0,从而形成三角载波。如此反复就可以得到峰峰值255连续的三角波形。输入时钟是系统时钟通过锁相环输出的1 MHz的时钟。

3.3 建立正弦函数表

三角波的幅值范围在0~255,而正弦波的幅值在-1~+1之间,为了实现等幅值比较,将正弦波上移一个单位后,再将所有值同乘以128,使正弦波的幅值也在0~255之间。即:

m=128×(sin(x)+1) (1)

式(1)用C语言对此函数在一个周期(0~2π)内完成768个量化并且直接生成Flash存储器的初始化文件(.ahx)格式,再用SmartGen输入将Flash 存储器配置成常用的数据存储器,将预先生成的.ahx文件导入生成data Storage宏模块,就建立了正弦函数表。生成正弦函数表的流程图如图2所示。

3.4 三相正弦波产生和输出模块[9,10]

FPGA的Fushion芯片理论上可以实现任何方式的数学运算逻辑,但由于芯片的容量限制,并不是任何计算都能实现的。因此需事先将正弦函数离散并加载到FPGA的Flash存储器中,在正弦调制波的离散过程中即可将一个周期完整地离散。因此,只对其中A相进行离散化处理,数据存储在Flash存储器中,每个数据分配1个地址。即可以利用计数器来产生取正弦波数据的地址,通过数字频率合成技术改变计数器的计数频率就可以改变正弦波的频率。这样即可先输出一路的正弦波,另外两路正弦波产生的方法与此类似,只是起始取数据的地址相差120°,即分别从第256和第512个数据开始取数。

为了在每个调制波周期查找正弦函数表以及分别与载波进行比较,在设计中采用时分复用技术。即依据三相关系,由一个地址计数器,通过基本量加1转移到另一地址计数器中,并且在跳转过程中,这一地址计数器加1指向下一单元,从而分时取出三相地址单元的内容。利用对正弦表寻址的高速度,使一个正弦表在不同时间段查询不同相的正弦波的幅值,以达到减少正弦表所占用的FPGA资源的目的。这样就大大减少了逻辑数目,仅增加了地址选择器和三个同步存储器,实现了正弦函数表的复用,在很大程度上节省了芯片的资源。

电路的具体实现:相位互差120°的三路地址数据并行输入,通过一个三选一的选择器进行选择,选择器的控制端接三进制的计数器。如计数器为0时,输出A相地址,取出A相正弦值;为1时,输出B相地址,取出B相正弦值;为2时,输出C相地址,取出C相正弦值。因此只要使输入的三相地址周期性变化,就可实现并行输入的三相地址数据在时间上的连续,也就实现了三相地址数据的合成。这样就可以利用一个正弦表来得到三相的正弦值,达到减少正弦表占用FPGA资源的目的。

查表时每次只能输出一相的数据,所以每次产生的数据需利用寄存器先暂存一下。首先输出A相,通过暂存器l存入到A相存储器;接着输出B相,利用暂存器2存入到B相存储器;最后输出C相,利用暂存器3存入到C相存储器中。这样,三相正弦波数据都存储在各自的存储器中,这三个寄存器采用同步控制信号,当控制信号触发时,同时输出三相的正弦波数据用于后面的比较。该部分用状态机实现,其状态转换图如图3所示。

其部分程序代码如下:

case(state1)

A: //初始化状态

begin

ADDRES1out2)

outdata4=1;

else outdata4=0;

if(outdata1>out2)

outdata5=1;

else outdata5=0;

if(outdata2>out2)

outdata6=1;

else outdata6=0;

end

3.6 时延控制死区输出模块

对于SPWM三相桥式逆变器,由于开关管固有开关时间Ts的影响,开通时间Ton往往小于关断时间Tof,因此容易发生同臂两只开关管同时导通的短路故障。为了避免这种故障的发生,通常要设置开关死区ΔT,以保证同桥臂上的一只开关管可靠关断后,另一只开关管才能开通。死区的设置方式有两种:一种是提前关断、延时开通的双边对称设置;另一种是按时关断、延滞Δt开通的单边不对称设置。根据FPGA的编程特点,选择了按时关断、延滞Δt开通的单边不对称设置,并且时延死区的调节与控制与时延控制死区模块的输入时钟clk有关。

根据延时模块中延时信息:Δt=2×Tclk

clk是锁相环输出时钟CLK 1 MHz(本文采用的是1 MHz)的2次分频得到的时钟,只要改变顶层模块中对CLK 1 MHz的分频系数,就可以精确控制延滞Δt的大小,本文计算值Δt=4μs。

另外,死区调节单元还能消除由于FPGA器件本身时延造成的毛刺。其部分死区控制程序代码如下:

always@(posedge clk or posedge rst)

begin

if(rst) //异步复位

begin //初始化寄存器

q

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

SPWM控制方法从采用模拟电路到全数字化方案,完成优化的实时在线的SPWM信号输出,对于不同的波形,其调制处理芯片的算法、频率输出范围、波形产生机理等方面有很大的不同。

关键字: SPWM 波形

SPWM(Sinusoidal Pulse Width Modulation,正弦脉冲宽度调制)是一种在电力电子领域广泛应用的调制技术,主要用于变频器、逆变器等设备中。

关键字: SPWM 载波频率

在现代电子设计中,硬件描述语言(HDL)如Verilog和VHDL成为了设计复杂数字电路和系统的关键工具。这些语言允许工程师以文本形式描述电路的行为和结构,从而简化了设计流程,提高了设计效率。本文将详细介绍如何使用Ver...

关键字: HDL Verilog 5分频电路 全加法器

面对我国航天型号任务发展与需求的快速变化,空间站、深空探测、北斗导航等软件密集型系统迅速扩大,智能化、网络化需求越来越多。

关键字: HDL 代码自动

正弦脉宽调制(Sine Pulse Width Modulation,简称SPWM)是一种广泛应用于电力电子设备中的调制方法,特别是在交流电压调制器、逆变器和变频器等领域。SPWM通过将参考波形(通常为正弦波)与载波(在...

关键字: 正弦脉宽调制 SPWM 输出波形

随着硬件设计复杂性的不断增加,高层次综合(HLS)技术已成为加速设计流程、提高设计效率的关键手段。HLS允许设计师使用高级编程语言(如C、C++)来描述硬件行为,然后通过综合工具将这些描述转化为底层的硬件描述语言(HDL...

关键字: HLS HDL 硬件设计

推挽升压电路和SPWM逆变电路,实现了将12VDC输入电压转换为110VAC交流正弦电压输出。实验表明,该逆变器具有电压纹波小、动态响应高和全数字等特点,能够满足实际需要。

关键字: SPWM 逆变电路 电压

SPWM又是如何调制的哪?所谓正弦脉宽调制,就是脉宽与占空比按正弦规律变化,脉宽就是脉冲时间的长短,可以是正脉冲,也可以是负脉冲,而占空比就是脉宽与周期的比值,是在一个周期内脉宽所占周期的百分比。

关键字: SPWM 正弦 脉宽调制

PWM控制的基本原理很早就已经提出,但是受电力电子器件发展水平的制约,在上世纪80年代以前一直未能实现.直到进入上世纪80年代,随着全控型电力电子器件的出现和迅速发展。

关键字: PWM SPWM

在此次合作中,双方将充分利用各自在应用生物学和工程领域的互补专业知识,共同创立并壮大多家数字生物平台公司 北京2024年7月29日 /美通社/ -- 全球领先的半导体公司Analog Devices, Inc.&nbs...

关键字: ADI PIONEER 数字化 全数字
关闭