微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于FPGA电火花加工脉冲电源设计

基于FPGA电火花加工脉冲电源设计

时间:06-06 来源:互联网 点击:

  0、引 言

  数控电火花(electrical discharge machining,EDM)机床是一种实现工件精密加工的特种加工工具。早期的电火花成型加工机床的脉冲电源电路是用分立元件组成,或者是用单片机来实现。分立元件电路设计复杂,电路调试困难,基于单片机或者是32位的嵌入式CPU的脉冲电源性能有了很大的提高,也具有了很高的智能性,但对于不同的处理器,其移植性不太好,而且如果硬件电路一旦完成就不能进行更改与升级。而采用现场可编程门阵列FPGA在很好的继承单片机或者是嵌入式CPU设计的电源的优点的同时,还拥有一些新的特点。本文提出的方案采用的是Altera公司的cylone II芯片,将Altera提供的NIOS II处理器配置到芯片上,并在NIOS II中加入用户自己用HDL语言编写的可以产生PWM的用户IP模块后就可以产生参数化的脉冲波,即提出了一种新型的智能脉冲电源。

  1、脉冲电源的原理设计

  数控机床的脉冲电源电路主要由脉冲发生器,隔离放大电路,直流电源电路,功率放大电路,开关电路5部分。放电脉冲的产生过程如下,首先是脉冲发生器产生高频参数化的脉冲信号,经过光耦的隔离后,由功率推动电路进行功率放大,从而控制高频开关管的通断。高频开关管的另一端接的是直流电源,该直流电经过开关管的通断而产生高频的放电加工脉冲电源。其核心部分即是脉冲发生器的设计。

  2、嵌入式脉冲发生器的设计

  只有设计出了高频率的、参数化的脉冲发生器,脉冲加工电源的精度、参数化才可以实现。该电源系统中采用的是性价比较好的Altera公司的Cyclone II序列的FPGA芯片EP2C8Q208C7。其逻辑资源足够实现系统的功能。

  2.1 嵌入式系统硬件设计

  系统中使用的是一种软核式的Nios II处理器,并选择其类型为Nios/f型。Nios II处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS。嵌入式CPU定制的过程是在Quartus II中实现的。Quartus II是Altera提供的FPGA/CPLD开发集成环境,它可以完成系统的设计与仿真。整个设计过程是:图形或HDL编译、分析与综合(analysissynthesis)、适配器件(filter)、仿真、编程文件汇编(assembler)、下载配置到FPGA。 该系统中除了采用NIOS II和一些常用的外设IP,还有一个用户IP。用户IP用于产生PWM的模块pulse_generator是用VHDL编写状态机来实现的。其中一个模块用状态机实现3种状态:分别空闲、脉宽和脉间。并由时钟输入、状态控制信号以及计数器状态来确定3种状态之间的转换,一般情况是在系统启动后,由空闲状态进入脉宽状态后便会在脉宽、脉间2种状态之间切换,实现连续的PWM。Pulse_generatot的另一个模块就是Pulse_generator与Avalon总线的接口,通过该接口,可以读写Pulse_generator模块中个寄存器的状态,控制PWM脉宽与脉间的大小。在HDL编写好用户模块后,用Quartus进行编译综合正确后,可以进行下一步的寄存器头文件_regs.h以及C函数的编写,在该文件的中定义的是用户模块的访问方法,提供了硬件与软件的接口。最后将HDL文件、寄存器文件、驱动程序在SOPC Builder中将其集成成为一个完整的、具有Avalon总线接口的用户IP。将用户IP与Altera的IP结合起来就可以生成硬件的脉冲发生器,它的结构如图1中所示。

构成过程是在SOPC Builder中添加NIOS II、pulse_generator、uart_jatg等模块,然后在SOPCBuilder中generate生成自定制的NIOS II内核,并在工程文件.bdf文件中加入前面生成的NIOSII内核、系统时钟引脚、延时复位、PLL等模块,并将PWM的输出引脚指定到FPGA的I/O口,编译综合后就会生成硬件系统描述的.ptf文件。以上硬件电路全部在FPGA芯片中实现,对用户是不可见的,所以其保密性好,用户外部可见的仅仅是电路的I/O。由于硬件电路是用HDL实现的,因此可以进行系统升级。

  2.2 软件编程实现

  软件编程采用Altera提供的软件编译环境NIOS II IDE。Nios II IDE基于开放和可扩展的Eclipse平台,不仅可以将通用用户界面和业界最好的开发环境完美结合,还能够与第三方工具无缝地集成在一起。Nios II IDE提供了完整的C/C++软件开发套件,包括编辑器、项目管理器和构建工具、调试器和兼容CFI(common flash interface)的Flash编程器。Altera提供含有支持Micrium的MicroC/OS-II实时操作系统(RTOS)。该系统不用用户修改任何代码即可进行系统移植。使Nios II开发者能很容易地在Nios II IDE中实现多任务软件开发。

  软件的开发过程是在IDE中创建一个工程文件,工程所指定的硬件系统即是在Quartus中生成的.ptf文件。新的工程将包括2个库,一个是用户的API库,另一个是系统库,系统的库中包含了用户进行软件编程时需要的各种头文件、驱动程序等。在用户库中可以使用C/++或者是汇编语言编写脉冲参数的实现功能,在写好后就可以对软件工程进行编译、调试得到希望的结果后就可以软件的工程文件.elf下载到开发器件上。如果需要调整脉冲、脉间的参数,则可以在NIOS IDE中对脉宽与脉间的比例以及周期长度进行修改。同时通过对I/O口输出的高低电平,可以控制每一路大功率管的关断与否,从而做到了电流大小的控制,具有非常高的灵活性。这样可以得到新的适合进行粗、中精、精加工的脉冲序列。用户程序中对脉冲控制及参数控制的代码如下:


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top