没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论








基于基于Verilog HDL的的SPWM全数字算法的全数字算法的FPGA实现实现
本文结合SPWM算法及FPGA的特点,以Actel FPGA作为控制核心,用Verilog HDL语言实现了可编程死区延时
的三相六路SPWM全数字波形,并在Fushion StartKit开发板上实现了各功能模块,通过逻辑分析仪和数字存储
示波器上验证了SPWM波形及死区时间,为该技术进一步应用和推广提供了一个平台。
随着信号处理技术及集成电路制造工艺的不断发展,全数字化SPWM(正弦脉宽调制)算法在调速领域越来越受到青睐。实现
SPWM控制算法的方法很多,其中模拟比较法因电路复杂、且不易与数字系统连接而很少采用;传统的微处理器因不能满足电
机控制所要求的较高采样频率(≥1 kHz)而逐渐被高性能的DSP硬件系统所取代,但该系统成本高、设计复杂。与传统方法相
比,在现场可编程逻辑器件FPGA上产生一种新的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)
资源评论


weixin_38506835
- 粉丝: 5
- 资源: 958
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
