导言
在许多嵌入式体系的实践运用中,需求扩展FP-GA(现场可编程门阵列)模块,将CPU完结有困难或完结功率低的部分用FPGA完结,如数字信号处理、硬件数字滤波器、各种算法等,或许运用FPGA来扩展I/O接口,如完结多路PWM(脉宽调制)输出、完结PCI接口扩展等。经过合理的体系软硬件功用区分,结合优异高效的FPGA规划,整个嵌入式体系的功率和功用能够得到最大极限的进步。
在电机操控等许多运用场合,需求发生多路频率和脉冲宽度可调的PWM波形。本文用Altera公司FPGA产品开发东西QuartusⅡ,规划了6路PWM输出接口,并下载到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的运用规划关键是体系软硬件功用的区分。
CPU经过数据线向FPGA写入守时常数操控PWM的频率、初始相位和占空比,并经过外部发动信号操控PWM的发动。
写出完结相应功用的Verilog程序描绘。部分源程序如下:
QuartusⅡ中新建一个项目/文件时可选的规划输入(在Software Files和Other Files标签中还要其他规划输入办法挑选),该窗口从菜单“File”→“New”翻开,图中显现了“Device Design files”标签下的规划输入办法有AHDL(Altera 公司开发的HDL言语)、方块图/原理图、EDIF、Verilog和VHDL输入办法。另外在“Software Files‘’和”Other Files“标签下还有TCL言语、波形图等其他输入办法。
3、 逻辑仿真和器材验证
行为级仿真是在HDL源代码规划完结之后,经过规划测验渠道文件(鼓励和测验矢量)来验证规划的正确性。逻辑仿真是在逻辑归纳之后,对生成的门级网表进行验证。测验渠道文件与选用行为级仿真的测验渠道文件,这样能够确保规划验证的共同性。而且,逻辑验证是一种抱负的门级网表,不存在延时信息。器材验证也称地图后仿真,它是在FPGA完结之后,提取出门级网表和延时信息进行验证,测验渠道文件与行为级相同。器材验证成果是比较挨近实在硬件的成果。彻底经过这3层的验证,根本上能够确保规划的成果与测验渠道文件共同。
行为仿真和器材仿真也可直接在QuartusⅡ中进行,其间输入鼓励波形和输出调查节点在QuartusⅡ波形输入窗口进行设置,在规划经过功用仿真后,需求进一步挑选器材仿真以验证规划的正确性。器材仿真时包含了所挑选的对应FPGA预算延时或实践延时信息,故仿真速度较功用仿真慢许多。经过仿真能够及早发现规划中的过错,并根据具体情况进行修正,包含修正硬件完结架构、规划代码、束缚条件等一个或多个方面。器材仿真经往后,则能够将规划下载到芯片,进行硬件功用验证。
在564 ps时间CPU向PWM写入新的操控常数后,下一个周期的PWM输出占空比马上发生了相应改动。
相应规划在QuartusⅡ下编译经往后进行器材仿真的波形,由图4可见,其时序功用正确。经过器材下载编程办法下载到相应的FPGA,就能够结合整个嵌入式体系进行硬件调试。
4、 结束语
在FPGA开发软件中完结规划今后,软件会发生一个终究的编程文件,QuartusⅡ中是.pof或.sof。现在的FPGA根本都选用在体系编程办法,关于EEP-ROM/Flask/SRAM工艺的在体系可编程FPGA,厂家供给编程电缆,如Altera公司供给的下载电缆类型有ByteBlasterⅡ并口下载电缆、USB BlasterTMUSB口下载电缆、MasterBlaster 通讯缆线(USB或RS-232端口)等,其装备办法能够有自动/被迫串行装备办法、JTAG办法等。电缆一端装在计算机的相应接口上,另一端接至PCB(印制电路板)上的编程插头,它向体系板上的器材供给装备或编程数据,这便是所谓的ISP(在线体系编程)。
在电机操控等许多运用场合,需求发生多路频率和脉冲宽度可调的PWM波形,本文经过运用Altera公司FPGA产品开发东西QuartusⅡ,规划了6路PWM输出接口,并下载到FPGA,完结与CPU的协同作业。在嵌入式体系中经过FPGA扩展体系功用的规划是一种有用的办法。
责任编辑:gt