“NC嵌入PC”的开放式数控系统结构模型,充分利用了PC机的丰富资源(内存空间大、硬盘容量大和高速运算功能的CPU),使这种结构模式成为开放数控系统的主流设计。DSP因其高速、强实时控制能力而迅速得到了广泛的应用,但由于其有限的PWM输出口,要实现多轴控制,单个DSP芯片就显得鞭长莫及。在多轴控制卡设计中,最常用的有三种设计方案:(1)采用主DSP作为主控制器,实现对多个从DSP节点的监控和管理,每个从DSP控制一个轴运动,多个从DSP芯片通过总线与主DSP芯片进行通讯,形成一个主从式的分布式控制结构;(2)DSP只负责复杂的控制算法,发送数据给FPGA,FPGA存储DSP最新的脉冲宽度,发出PWM波,控制多轴运动;(3)单个DSP负责复杂的控制算法,通过输出选择逻辑开关来选择D/A通道,驱动电机轴运动。高速F2812 DSP芯片和大容量可编程逻辑器件FPGA的出现,使单个DSP控制多轴运动成为可能。利用FPGA的并行性对DSP的PWM功能进行扩展,从而可实现高精度的不同电机的多轴控制,并且FPGA和DSP都支持在系统可编程,因此大大缩短了设计周期,而且在硬件不变的情况下,可以根据需要通过修改软件以扩展功能,体现出其良好的硬件平台开放性。
1 开放数控系统的结构模型
F2812 DSP是TI公司最新推出的32位定点处理器,系统处理能力为150MIPS,指令周期6.67ns,实时控制能力很强。两个事件管理器模块EVA、EVB中各有两个通用定时器,三个完全比较单元,能够支持8通道的16位PWM输出。在电流环等采样获取中,因其频率比较高(20kHz),每测一次电流就重新调整新的PWM波的脉冲宽度,如果EVA、EVB同时工作,在定时器中断响应时可能检测不到电流的变化,这样对于16位的DSP处理器的两个EV只能有一个得到有效的应用。但是F2812高达150MIPS的处理能力,能够很好的捕捉到电流的变化,定时器中断也能得到及时响应,其EVA、EVB能够同时得到应用。因此,一片F2812 DSP能够很好地控制两台三相伺服电机和四台步进电机。
图1为开放数控系统的结构模型,在硬件方面实现了模块化设计,通过ISA总线与PC机通讯,由PC机控制各实时模块的协调工作。对伺服电机的驱动信号,由F2812 DSP通过其EVA、EVB完成两通道的PWM波形输出,FPGA扩展PWM功能,完成另两通道PWM的控制输出;对步进电机的驱动,全部由F2812 DSP的EV完成,控制四轴联动。充分利用了F2812 DSP的内部资源和FPGA的速度快、多路并行、灵活性高的优点。
本数控模型包括六部分:
(1)DSP插补板,由DSP完成比较复杂的插补和位置控制计算,并通过事件管理器控制两电机轴的驱动信号的产生。FPGA接收DSP最新脉冲宽度,产生PWM控制信号,控制多种电机(步进电动机、直流电动机、交流电动机)的驱动电路。
(2)位置反馈,主要用于闭环和半闭环数控系统中。半闭环系统中,用于检测丝杠或电机轴的回转角,间接测出机床运动部件的位移,经位置反馈装置进行处理后通过总线送回到控制系统和伺服系统,并与控制指令相比较,经过位置控制计算,精确控制电机的运行。闭环系统中,直接测出工作台的实际位置,然后通过位置控制控制电机运行。位置反馈模块作为单独的模块通过总线与PC机进行通讯,用户可根据实际要求设计自己的反馈模块,而与DSP插补板没有关系,从而体现其开放性。
(3)开关量I/O控制和辅助功能控制。I/O控制是CNC装置和机床驱动部件之间传递信息的接口,主要用于接收各种开关、按钮以及机床上各行程限位开关等信号。辅助功能也通过I/O端口实现,常用的辅助功能有程序停,主轴启、停、转向,冷却泵的接通和断开,刀库的起、停等。
(4)故障检测功能,主要对驱动电路、电机运行方面等进行故障检查,对故障的原因进行定位和报警提示,保护硬件电路的运行。例如电流过限、短路、断路、电压过高或过低等硬件故障。由于DSP有错误自检的功能,可以自己设计软硬件处理故障的电路,用于保护DSP的正常运行,例如看门狗电路、 存储器读写错误、指令溢出、过载等错误。
(5)驱动单元,设计三种不同电机的带有速度控制的驱动装置。
(6)PC机功能设计,完成数据参数的输入,运动控制监视,手动操作,通过总线与其他实时控制单元通信,提供友好的人机界面,编写各控制单元的通信软件。
2 软件开放性设计
在软件设计方面,许多开放式数控系统均采用面向对象(OOP)的技术,将数控功能模块化,构建基本类库。利用派生功能,当需要扩展某基类的功能时,通过从基类中派生出新的基类来完成新的功能,较好地实现了软件重用和二次开发的功能。这种传统的OOP技术仅仅是软件源代码级的可重用,它存在互操作能力差、可移植性不强、扩展不方便等缺点,不能很好满足一个开放式数控系统所强调的要求。在数控系统中引入COM作为底层支持可以更好的满足数控系统开放的要求。COM技术中组件的二进制级交互保证了所构建出的数控系统具有良好的可重用性,可以快速方便地扩展,而不必再关注数控组件的内部实现,扩充功能时只需要修改或更换相关的组件而不必再重新编译原系统,可以快速满足新的生产需要,提高软件的开发效率和可维护性。
为了更好地实现软件的重用性和二次开发功能,将与底层无关的软件功能用WDM技术实现。WDM(Windows Driver Model)是Microsoft为Windows 98和Windows 2000作业系统提供一系列I/O服务及二进制相容设备的驱动方式,有助于减少在Windows平台上对硬件设定所花费的成本。在PC端,PC和运动控制卡之间进行中断和I/O操作的接口采用WDM实现,将与硬件有关的操作屏蔽起来。对应用程序而言,可见的是一个虚拟化的设备对象,PC程序可以根据任务的实时性来选择和控制卡的通讯方式。对于实时性要求高的紧迫任务,如紧急停车或出错处理,应用程序可以用直接写端口的方式向控制卡发送中断请求。而对于一般实时性和大批量的数据传输的任务,应用程序可以用与WDM进行消息映射的方式完成,然后再完成硬件的相关操作。通过模块化的WDM体系结构中灵活统一的接口,使操作系统可以动态地配置不同的驱动程序模块来支持特定的设备。这样更好的体现了软件的重用性和可移植性,利于软件的二次开发。表1描述了软件的层次结构。
3 DSP插补板的设计
DSP插补板原理如图2所示。DSP插补板通过ISA总线与PC机通讯,双口RAM用于PC机与DSP交换信息,实现数据双向通讯。控制步进电机时,只需要控制每台电机输入的步进脉冲和转向,就可以控制一台步进电机,所以步进电机可以直接由F2812 DSP的事件管理器控制,实现四台电机的联动。控制伺服电机时,需要控制逆变器的六支开关管(如无刷直流电机和交流异步电机)的开关动作,用F2812 DSP的EVA、EVB分别控制两通道的PWM输出,FPGA控制另两通道的PWM输出。FPGA接收DSP数据线传来的三相脉宽,设置好死区寄存器和周期寄存器,完成PWM的输出控制逆变器六支开关管的动作,实现四轴的联动。
由于FPGA需要设计两通道的PWM输出和总线与控制卡的通讯功能,因此所需要的逻辑单元很大。在设计仿真后,确定FPGA选用Altera公司的Flex10K系列的EPF10K30A。由于其配置单元为SRAM,属于易失性可编程器件,编程信息在系统断电后会丢失,所以在设计FPGA时就需要外扩一个Flash存储器,在每次上电工作时,需要从器件外部的Flash中将编程信息写入器件的SRAM中,从而可以进行任意次数的编程、快速编程、实现板极和系统级的动态配置,充分体现了硬件的开放性设计。
4 硬件设计
图3为DSP插补板的硬件接线图。硬件接线需要注意以下几个问题:因为DSP的时钟和FPGA不同,数据传输不能正常完成,DSP通过总线向FPGA只写数据,可以在FPGA中做DPRAM来实现DSP与FPGA的数据交换,在DPRAM的一侧用DSP时钟读写,另一侧用FPGA系统时钟读写,可以很好地完成数据的读写交换。DSP的速度较快,为了保证DSP的运行速度,外部存储器需要具有一定的速度,否则DSP访问外部存储器时需要加入等待周期,且C2000系列的DSP只能同异步的存储器直接相接。本设计要驱动不同种类的电动机的四轴联动,需要的数据量比较大,控制算法比较复杂,选用存储空间大的CY7C104BV33-12作为外扩存储器。F2812 DSP采用统一寻址方式,CY7C104BV33既可以作为程序存储器,也可以作为数据存储器。CY7C104BV33采用3.3V供电,可以与DSP直接相接。DSP系统中难免存在5V/3.3V混合供电现象,I/O为3.3V供电的DSP,其输入信号电平不允许超过电源电压3.3V,5V器件输出信号高电平可达4.4V,长时间超常工作会损坏DSP器件,输出信号电平一般无需变换。本设计采用74LVC245A(8位、3.3V)进行电平转换,方向控制信号由DSP的/RD控制。
5 PWM发生器的实现
图4为FPGA实现PWM设计框图,以驱动一台电机6个功率器件为例。它主要由脉宽寄存器、缓冲寄存器、周期寄存器、死区寄存器、死区发生器、比较器组成。脉宽寄存器接收来自DSP刷新后送来的三相PWM信号脉宽;缓冲寄存器实现对脉宽数据的缓冲;周期寄存器决定PWM的载波周期;死区寄存器决定上下桥臂的死区时间;比较寄存器将三相脉宽值与三角载波进行比较,最后生成三相PWM信号PA、PB、PC,再经过死区发生器处理,最后产生6个中心对称的PWM驱动信号,驱动三相逆变器的6个功率器件。为了实现三相的同步,将三相脉宽寄存器中的值放入各自的缓冲寄存器中,通过基准计数器计数达到最大时,发出三相同步信号SYN,在SYN下将三个脉宽值从缓冲寄存器中取出与三角波进行比较,达到三相同步的目的。
6 实验结果分析
图5为在MAX PLUSⅡ环境下仿真的FPGA驱动直流电机的PWM波形,采用VHDL设计的带有死区功能的PWM输出,控制逆变器六支开关管AH、AL、BH、BL、CH、CL。AH、BH、CH设为高有效,AL、BL、CL设为低有效,A相占空比50%,B相占空比40%,C相占空比60%。仿真波形符合DSP中EV产生PWM波形的标准,证明了FPGA在DSP的控制下能够很好地完成电机的控制,FPGA并行扩展了DSP的EV模块功能。
本文在开放数控模型的基础上,提出了一个经济、高速的开放数控系统结构模型。该数控系统在软硬件平台体现出了良好的开放性,能控制多种电机四轴联动,符合开放数控发展方向。给出了FPGA产生带死区功能的PWM输出的仿真图形,理论上证明了该结构模型的正确性和可行性。其经济高效的性能,符合市场发展的需要。
评论
查看更多