背景技术
运动控制系统是以电动机为控制对象,以控制器为核心,以电力电子、功率变换装置为执行机构,在控制理论指导下组成的电气传动控制系统。目前,通用运动控制器从结构上主要分为如下三大类:
(1)基于PC总线的以DSP和FPGA作为核心处理器的开放式运动控制器
基于PC总线的运动控制器是利用计算机硬件和操作系统,并结合用户开发的运动控制应用程序来实现的,具有高速的数据处理能力。它以PC作为信息处理平台,充分利用DSP的高速数据处理能力和FPGA的超强逻辑处理能力,使PC的信息处理能力和开放式的特点与运动控制器的运动轨迹控制能力结合起来,具有信息处理能力强、开放程度高、运动轨迹控制准确、通用性好的特点,并能够实现闭环控制。
从用户使用的角度来看,这些基于PC的运动控制器之间的差异主要是硬件接口(输入/输出信号的种类、性能)和软件接口(运动控制函数库的功能函数)。
(2)基于工控机的开放式运动控制器
基于工控机的开放式运动控制器,它提供给用户很大的灵活性,它的运动控制软件全部装在工控机中,而硬件部分仅是工控机与伺服驱动和外部I/O之间的标准化通用接口。用户可以在windows平台和其他操作系统的支持下,利用开放的运动控制内核,开发所需的控制功能,构成各种类型的高性能运动控制系统,从而提供给用户更多的选择和灵活性。
基于工控机的开放式运动控制的特点是开发、制造成本相对较低,能够给予系统集成商和开发商更加个性化的开发平台。
其中第(1)种和第(2)种类型都是基于PC机的运动控制系统,在当前应用范围最为广泛。但系统在结构和性能上都存在很大的局限性:
实时性和可靠性差:采用通用的操作系统,与数控无关的任务可能占用了更多的开销,并且还影响着系统的实时性和稳定性。
成本高:能满足数控加工要求的工控机配上运动控制卡,使得系统成本很难降低。
便携性不足:由于必须配备相应的工控机,使系统体积庞大且笨重,便携性方面存在缺陷。
(3)以微处理器或者专用芯片作为核心的运动控制器
这类运动控制器结构简单,大多数只能输出脉冲信号,工作在开环控制方式。这类控制器对单轴的点位控制场合是基本满足要求的,但对于要求多轴协调运动和高速轨迹插补控制的设备,通常不能满足要求。并且控制器处理芯片只能作为专用,不能解放出来去进行其它工作。
发明内容
本发明针对现有技术存在的上述不足,提供一种运动控制片上系统,该系统采用基于IP核的设计方法,挂接在片上总线的运动控制IP核支持两种工作方式,一种是自主地从存储器读取数控指令并译码执行,嵌入式处理器核所做的工作只是对插补输出进行简单的起停控制以及对部分中断的响应,这在最大程度上降低了嵌入式处理器核在运动控制功能上的开销,使嵌入式处理器核可以有效执行除数控任务以外的其它实时任务,另一种方式是运动控制处理器IP核直接由嵌入式处理器核通过访问寄存器的方式进行控制,可以执行一些特定的运动控制指令功能。
本发明通过以下技术方案实现:
一种运动控制片上系统,其通过总线接口模块挂接在片上总线上,运动控制片上系统包括:
片上总线、嵌入式处理器核、存储器系统、DMA控制器、通信模块IP核、运动控制IP核以及若干外设接口,嵌入式处理器核、存储器系统、DMA控制器、通信模块IP核、运动控制IP核以及若干外设接口皆连接在片上总线上;
运动控制IP核包括:片上总线接口模块、自动指令读取模块、自动变量读取模块、寄存器组、插补控制模块、单轴控制模块、速度控制模块、脉冲输出模块、中断处理模块;片上总线接口连接自动指令读取模块、自动变量读取模块和寄存器组,插补控制模块、单轴控制模块和速度控制模块也与寄存器组相连;
其中,自动指令读取模块通过片上总线自主从存储器系统中读取数控指令并获取指令参数或变量,将插补位置相关数据发送至插补控制模块,将速度控制相关数据发送至速度控制模块,当读取到可立即执行的指令时,基于当前参数,自动的开始执行相应的动作;经插补控制和速度控制处理产生的脉冲,通过脉冲输出模块,产生特定形式的驱动脉冲;在此期间,中断处理模块可进行各种形式的中断输入处理和中断输出。
较佳的,自动指令读取模块和自动变量读取模块,自主的通过总线读取存储器系统中的指令或者变量,获取控制信息和参数交由寄存器组。
较佳的,运动控制片上系统还支持直接访问嵌入式处理器核的寄存器进行控制,运动控制片上系统在两种方式间协调工作,并可灵活切换。
较佳的,插补控制模块采用基于状态机原理的数字积分插补算法完成插补输出。
较佳的,运动控制IP核还包括速度控制模块,用以在控制X、Y、Z、U四轴中任意三轴联动的驱动速度,或任意一轴的单轴驱动速度,驱动速度包括进行直线加/减速和S曲线加/减速。
较佳的,嵌入式处理器核包括PLC核,当数控指令类型为非G指令时,嵌入式处理器核授权PLC核读取数控指令并执行动作。
较佳的,PLC核执行动作完成后,嵌入式处理器核指示运动控制IP核从存储器系统中读取下一个数控任务。
较佳的,脉冲输出模块根据参数配置情况,输出多种形式的驱动脉冲。
较佳的,中断处理模块,根据中断屏蔽/使能情况,处理外部输入的各种中断,并对外输出中断。
较佳的,若干外设接口支持现场总线接口,在工业现场实现组态编程及系统监控的分布式控制,现场总线接口包括CAN、EPA。
具体实施方式
下面结合实施例对本发明作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式,但本发明的保护范围不限于下述的实施例。
本申请文件中采用的术语解释如下:
AMBA:高级微控制器总线体系(Advanced Microcontroller Bus Architecture)是由ARM公司推出的一种流行的工业标准片上总线标准。2.0版AMBA标准定义了三组总线:AHB(AMBA高性能总线)、ASB(AMBA系统总线)、和APB(AMBA外设总线)。
AHB:高级高性能总线(Advanced High-performance Bus),属于AMBA总线体系一部分。
APB:高级外设总线(Advanced Peripheral Bus),属于AMBA总线体系一部分。
SOC:片上系统(System on a Chip)。
IP核:是一段具有特定电路功能的硬件描述语言程序(Intellectual Property core)。
运动控制:指在复杂条件下,对机械运动部件的位置、速度等进行实时的控制管理,使其按照预定的运动轨迹和规定的运动参数进行运动。
CPU:中央处理器(Central Processing Unit)。
DMA:直接存储器存取(Direct Memory Access)。
MCP:(Motion Control Processor,运动控制处理器)本文中指采用模块化设计方法完成的一种基于AMBA总线的实现运动控制功能的硬IP核。
G、S、M、T指令:中华人民共和国机械行业标准JB/T 3208-1999公布的数控机床控制代码指令。
PLC:可编程逻辑控制器(Programmable Logic Controller)。
DSP:数字信号处理器(Digital Signal Processor)。
FPGA:现场可编程门阵列(Field Programmable Gata Array)。
请参见图1,图1为本发明实施例一种基于AMBA总线的运动控制片上系统的结构图,所述一种基于AMBA总线的运动控制片上系统的主要内容在于图1中的虚线框内部分,它是一种基于AMBA总线结构的集成芯片解决方案,但本发明在此并不做限制,技术人员也可以将本发明应用与任意其他类型的总线。包括:嵌入式处理器核、存储器系统、DMA控制器、通信模块IP核、运动控制IP核以及若干外设接口;运动控制IP核包括:片上总线、自动指令读取模块、自动变量读取模块、寄存器组、插补控制模块、单轴控制模块、速度控制模块、脉冲输出模块、中断处理模块;片上总线接口连接自动指令读取模块、自动变量读取模块和寄存器组,插补控制模块、单轴控制模块和速度控制模块也与寄存器组相连。
以下举一例子说明本发明的工作过程:
用户在上位机PC上编写的数控程序存入零件程序缓冲区,经编译程序进行译码处理,再经过相应的数据处理程序处理后,将数据处理结果存储在缓冲器中。
以太网通信模块通过以太网报文发送机制,从上位机PC处获取已经编译处理后的用户数控指令,并将该数据存入存储器系统,可以根据实际选择存入Flash或SRAM(Static Random Access Memory,静态随机存储器)中,这里不作限定,传输方式也不限于以太网。
嵌入式处理器(CPU)核采用通用的32位ARM内核。当嵌入式处理器核运行过程中需要调用运动控制功能时,就会发送命令指示运动控制IP核开始从存储器的指定位置取指令运行,或者直接访问控制运动控制处理器MCP。
自动取指令执行工作模式下,运动控制(MCP)IP核在DMA控制器的控制下,从存储器的指定地址段读取用户数控指令。当所读取的用户数控指令是G指令时,运动控制IP就会自动译码并执行插补输出,控制进给电机运动;对于非G指令,如M、S、T等数控辅助指令,CPU会授权内嵌PLC软核从存储器中读取用户数控辅助指令并执行,这包括主轴电机起停、正反转和转速控制,冷却液开关控制,润滑开关控制,夹具的松紧,自动换刀控制等功能。执行完毕之后即给嵌入式处理器核送出中断,以告知嵌入式处理器核当前指令执行完毕,嵌入式处理器核再通知运动控制IP继续从存储器读取下一个用户数控任务并执行。此外,PLC除了译码执行数控程序的辅助指令外,还可以接受来自传感器或控制面板的I/O信号,并可将需要的中断等信息传递给嵌入式处理器核,由嵌入式处理器核指示运动控制IP核作出响应,同样,运动控制IP核本身的中断处理模块也会处理一些中断输入和中断输出。此外,运动控制IP核支持嵌入式处理器核直接控制执行的工作方式,与自动取指令执行方式结合,灵活性更高,可以执行常见的G代码指令和特定的运动控制指令功能。特定的运动控制指令功能包括:单轴位置控制中的点动、中断定位、多段速定位、可变速运行、回原点等功能。
图2为本发明实施例运动控制IP核的结构框图。运动控制IP核通过APB总线接口挂接在APB总线上,通过AHB/APB桥与挂接在AHB总线上的嵌入式处理器核、DMA控制器进行数据交互。
寄存器组通过APB总线接口进行读写操作。插补开始时,在DMA控制器的控制下,从存储器中读取已经过编译处理的用户数控指令,将插补位置相关数据交由插补控制模块,将速度控制相关数据交由速度控制模块。
自动指令读取模块通过片上总线自主从存储器系统中读取数控指令并获取指令参数或变量,当读取到可立即执行的指令时,基于当前参数,自动的开始执行相应的动作;经插补控制和速度控制处理产生的脉冲,通过脉冲输出模块,产生特定形式的驱动脉冲。
基于状态机原理的插补控制模块根据寄存器组的信息,进行终点判断、溢出脉冲的输出等。
速度控制模块根据当前的速度控制信息,进行自动的加减速控制,包括直线加减速控制和S曲线加减速控制。
脉冲输出模块是将来自插补控制模块输出的溢出脉冲分配给相应的X、Y、Z、U四个进给轴进行脉宽变换后,以指定的脉冲形式进行输出。可以通过APB接口配置寄存器信息,实现对驱动脉冲输出模式的选择,包括:
正原理,符号 + 脉冲;
正原理,CW+CCW;
90°相位差2相脉冲;
负原理,符号 + 脉冲;
负原理,CW+CCW;
负原理,90°相位差2相脉冲。
来自编码器反馈的脉冲输入一个高级定时器,可以进行脉冲个数计数和频率的测量,进而可以得到当前位置和速度信息,以形成半闭环的反馈。该信息可以交由插补控制模块作出相应的调节。
值得说明的是:
1、用于将上位机编译处理后的用户数控指令写入挂接在AMBA总线上的存储器的通信方式不限于以太网,可以是任意一种当前流行的数据通信方式。
2、数控程序的编译处理过程不限于由上位机完成,也可以直接交由嵌入式处理器核进行处理。
3、作为嵌入式处理器的CPU内核通常采用通用的32位ARM内核,但也可以采用其它可用的微处理器。
4、用于实现硬件插补控制的算法可以是实施例中述及的基于状态机原理的数字积分插补算法,也可以是其它插补算法。
5、片上系统可以是AMBA、CoreConnect、Wishbone、OCP、Avalon等任意一种SoC片上总线。
6、外设接口支持现场总线接口,现场总线接口包括CAN、EPA等接口。
与当前技术相比较,本发明最大的优势在于,挂接在片上总线上的运动控制IP核可以完整的完成数控指令所需的插补算法和加减速控制,无论插补精度和驱动速度都得到保证。此外运动控制IP核支持两种工作方式,一种是自主地从存储器中读取数控指令并译码执行,嵌入式处理器核所做的工作只是对插补输出进行简单的起停控以及对部分中断的响应,这在很大程度上降低了嵌入式处理器核的开销,使嵌入式处理器核可以有效执行除数控任务以外的其它实时任务。另一种方式是运动控制IP核直接由嵌入式处理器核控制,与自动取指令执行的方式结合,两者相互协调,可灵活切换,灵活性更高,可以执行常见的G代码指令和特定的运动控制指令功能。特定的运动控制指令功能包括:单轴位置控制中的点动、中断定位、多段速定位、回原点等功能。本身硬核IP提高了系统稳定性和实时性,能够达到较高的性能指标。另一方面,通过自动的控制读取指令的长度,充分利用了指令周期,节省了系统的时钟资源和存储空间。
以上公开的仅为本申请的一个具体实施例,但本申请并非局限于此,任何本领域的技术人员未经创造性工作而产生的变化,都应落在本申请的保护范围内。