新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 用FPGA实现多路PWM输出的接口设计与仿真

用FPGA实现多路PWM输出的接口设计与仿真

作者:徐军 王华东 江苏财经职业技术学院时间:2008-05-29来源:电子工程师收藏

0 引言

本文引用地址:http://www.eepw.com.cn/article/83299.htm

  在许多嵌入式系统的实际应用中,需要扩展(现场可编程门阵列)模块,将CPU实现有困难或实现效率低的部分用实现,如数字信号处理、硬件数字滤波器、各种算法等,或者利用来扩展I/O接口,如实现多路(脉宽调制)输出、实现PCI接口扩展等。通过合理的系统软硬件功能划分,结合优秀高效的FPGA设计,整个嵌入式系统的效率和功能可以得到最大限度的提高。

  在电机控制等许多应用场合,需要产生多路频率和脉冲宽度可调的波形。本文用Altera公司FPGA产品开发工具QuartusⅡ,设计了6路输出接口,并下载到FPGA,实现与CPU的协同工作。

1 FPGA概述

  PLD(可编程逻辑器件)可分为SPLD(简单可编程逻辑器件),CPLD(复杂可编程逻辑器件)和FPGA,其实它们只是在起初有一些差别,现在的区别已经比较模糊了,PLD可统称为FPGA。目前世界上有十几家生产CPLD/FPGA的公司,知名度较大的有Altera,Xil-inx,Lattice,Actel等,其中Altera和Xilinx占有了60%以上的市场份额。

  Altera公司是最大PLD供应商之一,20世纪90年代以后发展很快。主要产品有:MAX3000/7000、FLEX10K、APEX20K、ACEX1K、StratiX、Cyclone等。开发软件为MaxplusⅡ和QuartusⅡ。普遍认为其开发工具MaxplusⅡ和QuartusⅡ是最成功的FPGA开发平台之一,配合使用Altera公司提供的免费OEM HDL综合工具可以达到较高的效率。

  对于系统设计人员来说,FPGA是一种可以自己编程的芯片。它从芯片制造厂商那里出来时是内部没有连线的。用户可以进行设计输人(电路图输入、状态机输入或者HDL输入);然后进行仿真和验证;接着用一些专用软件(如Synopsys FPGA-Compiler、Synplici-ty Synplify、Examplar Leonardo等)进行逻辑综合;最后使用各个FPGA厂商自身的后端实现的软件(如Al-tera Quartus、Xilinx ISE等)进行布局布线,生成一个配置所需设计的电路连线关系的二进制流文件,通过一根连接PC机和FPGA芯片的下载线,将配置文件下载到芯片中。

  本文以使用QuartusⅡ软件设计PWM为例,介绍FPGA设计的流程,它包括设计输入、约束输入、逻辑综合、逻辑验证(综合后仿真)、布局布线(器件实现)和器件验证(版图后仿真)等几部分。

2 多路PWM的设计实现

  PWM技术最初是在无线电技术中用于信号的调制,后来在电机调速中得到了很好的应用。在直流伺服控制系统中,通过专用集成芯片或中小规模数字集成电路构成的传统PWM控制电路往往存在电路设计复杂、体积大、抗干扰能力差以及设计困难、设计周期长等缺点,因此PWM控制电路的模块化、集成化已成为发展趋势。它不仅可以使系统体积减小、重量减轻且功耗降低,同时可使系统的可靠性大大提高。随着电子技术的发展,特别是ASIC(专用集成电路)设计技术的日趋完善,数字化的EDA(电子设计自动化)工具给电子设计带来了巨大变革,在电机控制等许多应用场合,需要产生多路频率和脉冲宽度可调的PWM波形,这可通过FPGA丰富的硬件资源和可以配置I/O引脚来实现。嵌入式系统中FPGA的应用设计关键是系统软硬件功能的划分。

  图1是实现的3路PWM硬件结构框图。CPU通过数据线向FPGA写入定时常数控制PWM的频率、初始相位和占空比,并通过外部启动信号控制PWM的启动。

  根据图1,写出实现相应功能的Verilog程序描述。部分源程序如下:


  

pwm相关文章:pwm原理



上一页 1 2 下一页

关键词: FPGA 逻辑仿真 PWM

评论


相关推荐

技术专区

关闭