一种基于rtx+dsp的多轴运动控制器通信系统的制作方法
【专利摘要】本发明公开了一种基于RTX+DSP的多轴运动控制器通信系统,涉及机器人控制器通信领域。PC端采用基于Windows XP+RTX的开发平台,在Visual Studio 2005中编程分别创建Windows进程和RTX进程,通过共享内存交换数据。Windows进程通过MFC界面实现外界指令输入和相关运动学计算,同时负责触发RTX部分的相关线程,RTX进程负责位置点规划和与控制板卡的数据收发。DSP模块通过配置W5300芯片实现与PC端的以太网通信,同时DSP和FPGA之间通过双口RAM实现数据通信,DSP完成位置环的计算,FPGA完成速度环和电流环的计算。整个多轴运动控制器通信系统分工明确,易于实现,充分发挥了每个部分的功能,可以同时满足多轴运动控制的实时性要求和通信要求。
【专利说明】
一种基于RTX+DSP的多轴运动控制器通信系统
技术领域
[0001]本发明涉及机器人控制器通信领域,尤其涉及一种基于RTX+DSP的多轴运动控制器通信系统。
【背景技术】
[0002]随着计算机技术的发展以及机器人控制器开放性、扩展性的迫切需求,基于PC的机器人控制器已经是一种趋势,因为PC机具有通用性、成本低以及良好的通讯功能等优点。Windows操作系统拥有丰富的图形数据接口,并有广泛的用户基础。采用Windows的通用PC很符合开放式结构控制器的需求,是一个很好的选择。基于Windows平台的运动控制系统由于开放性高、可拓展性好等优点在现代工业控制中得到了大范围的应用。
[0003]Windows是通用操作系统,难以满足机器人多轴实时控制所需的调度功能。因此在RTX以前极少采用Windows进行实时应用开发。IntervalZero公司的RTX产品通过向Windows添加实时性能弥补了这一缺陷,并且提供了创建和调试实时应用程序的实用工具,此外还可以对软硬件性能进行测量和微调。
[0004]经检索发现,中国专利授权公开号为CN203324763U,名称为“一种多轴运动控制器”的专利中给出了一种从上位机到数字控制器的多轴运动控制的设计架构,但是在上位机部分并没有配置专门用于实时通信的模块,通信方式与本方案不同,实时性和通信效率与本方案相比也较低。
[0005]因此,本领域的技术人员致力于开发一种基于RTX+DSP的多轴运动控制器通信系统,实现上位机PC对于机器人运动的实时性控制,有效提高了多轴机器人控制的精度和效率。
【发明内容】
[0006]有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如何实现多轴运动控制器中多个芯片的连接和通信,充分利用了各个芯片的优势和性能,独立分工又互为一体。
[0007]为实现上述目的,本发明提供了一种基于RTX+DSP的多轴运动控制器通信系统,包括实时控制平台和多轴运动控制器,所述实时控制平台搭建于PC端的Windows XP和RTX;所述多轴运动控制器包括W5300模块、DSP模块和FPGA模块,所述实时控制平台通过RTX专用网卡与所述W5300模块上外接的RJ45网口相连接。
[0008]进一步地,所述实时控制平台被配置为基于Visual Stud1 2005分别创建Windows进程和RTX进程,所述Windows进程和RTX进程之间通过共享内存进行数据交互。
[0009]进一步地,所述Windows进程包括MFC界面的数据输入部分以及所述多轴运动控制器的运动学计算部分。
[0010]进一步地,所述Windows进程被配置为将计算出的位置点信息写进所述共享内存,等待所述RTX进程被触发时调用。
[0011]进一步地,所述RTX进程包括实现与所述多轴运动控制器通信的数据接收和发送线程,以及实现多轴运动控制器所需要的单点运动的位置规划线程和连续多点运动的位置规划线程。
[0012]进一步地,所述线程的触发通过共享内存部分的线程标志位实现,所述线程标志位的赋值操作由MFC界面部分的用户输入操作决定。
[0013]进一步地,所述W5300模块和所述DSP模块被配置为通过数据线和地址线的方式进行通讯,由所述DSP模块以触发中断的方式对所述W5300模块进行配置和控制。
[0014]进一步地,所述DSP模块和所述FPGA模块通过双口 RAM进行数据共享,所述DSP模块以访问外部存储器的方式对所述FPGA模块的双口RAM存储空间进行读写访问。
[0015]进一步地,所述多轴运动控制器的所述DSP模块接收来自所述实时控制平台的位置指令,与反馈的位置值相减进行各个轴的位置环的运算,同时将各个轴的速度值发送到所述FPGA模块,由所述FPGA模块完成速度环和电流环的运算。
[0016]进一步地,所述DSP模块的数据接收中断优先级要高于数据发送中断优先级。
[0017]本发明所述的多轴运动控制器数据通信系统,包括RTX实时模块、控制器W5300模块、控制器DSP模块和控制器FPGA模块。用户在Windows MFC控制界面下进行操作,发送控制指令,指令经过相关机器人运动学计算之后通过共享内存的形式把伺服位置点传递给RTX实时模块,RTX模块按照以太网通信协议TCP/IP,通过创建套接字的方式,实时向控制器端的以太网通讯协议栈芯片W5300发送控制信息,W5300芯片由DSP进行配置和控制,同时通过W5300芯片将运动控制中的伺服信息传递到PC端进行显示和处理。DSP端与FPGA通过共享双口 RAM进行数据通信。DSP端接收到PC端的位置点信息和FPGA模块反馈的位置信息之后进行位置闭环处理,将处理的结果通过共享RAM传递给FPGA模块进行速度环和电流环的控制,最终实现机器人的多轴实时控制。
[0018]在上述技术方案中,Windows下的控制和RTX模块的通讯实现是通过在VisualStud1中进行编程、创建多个线程实现的。
[0019]在上述技术方案中,PC端的控制分为2个部分,界面操作部分由操作者下发操作命令,命令通过进行相关运动学计算之后转化为一系列位置点,通过共享内存,将这些位置点共享给RTX实时操作部分。RTX部分创建了多个线程用于实现多轴运动控制的不同功能,线程的触发依靠共享内存部分的线程标志位的值的改变实现,由用户的选择决定。RTX实时操作部分根据网络通信协议通过RTX专用网卡,与控制板卡进行数据通信,实现与控制器DSP模块的数据实时发送和接收功能。
[0020]在上述技术方案中,所用DSP型号为TI公司的TMS F28335芯片。
[0021 ] 在上述技术方案中,DSP对以太网协议栈芯片W5300进行配置和控制,W5300通过专门网口与PC端的RTX专用网卡通过网线连接,实现DSP和PC端的实时通讯。
[0022]在上述技术方案中,DSP和W5300之间通过数据线和地址线连接,DSP采用中断的方式通过W5300进行以太网通讯。根据运动控制要求,数据接收中断优先级要高于数据发送中断优先级。
[0023]在上述技术方案中,DSP和FPGA之间通过数据线和地址线连接,通过在FPGA中建立双口 RAM,DSP可以以访问外部存储器的方式对保存在这个区域的数据进行读写操作,从而能实现DSP和FPGA间的数据通信。
[0024]本发明的基于Windows XP+RTX+DSP的实时运动控制器通信模块,采用了RTX实时扩展模块,控制器运动控制中的实时数据接收和发送可以不受Windows本身进程的影响,可以满足对于实时性控制要求比较高的多轴机器人运动控制的场合。
[0025]本发明的运动控制器通信模块中,PC端的数据处理模块和输入输出模块同RTX数据通信模块分别在2个工程中完成编程,并通过共享内存部分共享数据信息,这样可以有效降低上层编程开发的难度,同时实现过程逻辑清晰,功能独立,便于通信功能的测试。
[0026]本发明的控制器通信模块硬件划分明确,充分利用了PC、W5300、DSP及FPGA的各自的优点,采用了常见的通信协议以及连接方式,各部分功能划分清晰,易于分块调试实现,降低了开发的成本和周期,同时保证了通信的实时性和高效性。
[0027]以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
【附图说明】
[0028]图1是本发明的一个较佳实施例的整体结构示意图;
[0029]图2是本发明的一个较佳实施例的Windows进程和RTX进程的结构功能示意图;
[0030]图3是本发明的一个较佳实施例的整体功能示意图;
[0031 ]图4是本发明的一个较佳实施例的各模块连接结构示意图;
[0032]图5是本发明的一个较佳实施例的DSP和W5300的通信连接方式;
[0033]图6是本发明的一个较佳实施例的DSP模块通信功能实现的流程图。
【具体实施方式】
[0034]下面结合附图对本发明的实施例作详细说明,本实施例在以本发明技术方案前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0035]如图1所示,本发明的硬件部分具体由一台安装有WindowsXP系统的多核台式计算机,RTX支持的标准网卡及网线,多轴运动驱控一体控制板卡组成。其中多轴运动驱控一体控制板卡又包括W5300模块、DSP模块、FPGA模块以及模块之间的互联部分。
[0036]台式机安装有RTX实时模块,同时台式机安装有微软公司的VisualStud12005编程环境。RTX模块实时功能的实现需要先添加RTX支持的网卡专门用作与多轴运动控制板卡的通讯。
[0037]在本发明的多轴运动控制器通信系统中,PC端的上层控制系统主要实现运动控制中机器人各轴的目标位置点的数据的计算产生以及下发,同时负责接收多轴运动控制器反馈的各轴的位置点坐标。
[0038]在Visual Stud1 2005编程环境中,需要在同一个解决方案中建立2个工程分别用于实现多轴运动的目标位置点和反馈位置的运动学计算以及数据通信中的目标位置点下发和反馈位置点的接收,分别由Windows进程和RTX进程实现,如图2所示。
[0039]在Windows进程模块中,创建MFC操作界面,由MFC界面负责接收来自机器人操作者的操作命令,这些命令经过相应的运动学计算之后,转化为一系列的目标位置点。通过2个工程之间的共享内存区域,可以将这些位置点共享给RTX进程模块。
[0040]在RTX进程模块中,根据Windows进程模块提供的位置点信息,在确定好运动时间和位置规划周期之后,可以完成多轴运动控制所需要的位置规划。在进行位置规划的过程中,实时将位置规划产生的多个轴的位置点信息,通过套接字编程的方式,可以实时性地下发给多轴运动控制器模块,不受Windows本身的进程的影响,可以大幅度提高运动控制的效率,保证运动控制的准确性和时效性。
[0041]在RTX进程模块中,创建多个线程用于实现运动控制中的多种功能,比如单点运动和连续运动功能。多个线程中每个线程的触发都依靠这2个工程的共享内存部分的线程标志位实现,线程标志位的值的改变在Windows进程模块实现。在MFC界面部分中,当操作者选择了相应的运动控制模式之后,会进入相应的处理函数,在处理函数中对所选择的控制模式的相应线程的标志位置I。随之触发RTX进程中的相关线程,完成位置规划和数据通信。
[0042]PC端与多轴运动控制器各模块的通信内容如图3所示。PC端通过RTX实时通信模块将计算好的各轴的目标位置值发送给W5300和DSP模块,同时接收DSP和W5300模块发送的运动状态参数,如各轴的位置反馈值。DSP模块根据RTX发送的位置值和反馈的位置值完成各轴的位置环计算,将计算出的各轴的速度值发送给FPGA模块,同时接收FPGA模块反馈的数值。FPGA模块完成各轴的速度环和电流环的计算,实现电机的三环控制。
[0043]DSP模块的通讯任务主要包括:实时接收PC上位机控制指令以及配置参数;定时地向PC控制端发送状态数据等。从系统功能的角度看,前者的实时性要求更高,因为需要根据控制指令完成实时的闭环控制。因此,体现在中断优先级上,则是数据接收中断要高于数据发送中断。
[0044]DSP模块的通信功能实现的具体函数流程图如图6所示。在本实施例中,状态数据的定时发送采用DSP28335的CPU定时器O(TINTO)实现,其CPU优先级为5,PIE组优先级为7;数据接收通过GP1采用外部中断(XINTl)实现,其CPU中断优先级为5,PIE组优先级为4。通过写中断选择寄存器(GP10XINT1SEL),中断配置寄存器(XINT1CR),并对中断入口函数地址进行设置,即可实现以太网通讯。
[0045]PC端与多轴运动控制板卡和多轴运动控制板卡上各模块之间的连接方式如图4所示。以太网通讯协议栈芯片W5 300与RJ45型号的连接器连接,RJ45型号的连接器通过网线与RTX实时模块的专用网卡连接,实现了 PC端和多轴运动控制板卡的连接。以太网通讯协议栈芯片W5300通过数据线和地址线与DSP28335连接和数据通信,除此之外还需要读写使能信号、中断信号、片选信号以及复位信号等,如图5所示。DSP模块和FPGA模块之间的通讯方式是通过双口RAM实现的。具体实现方式是在FPGA内部创建一块双口RAM,同时DSP模块可以通过访问外部存储器的方式对这块双口 RAM进行读写操作,实现DSP和FPGA之间的数据共享。
[0046]以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
【主权项】
1.一种基于RTX+DSP的多轴运动控制器通信系统,其特征在于,包括实时控制平台和多轴运动控制器,所述实时控制平台搭建于PC端的Windows XP和RTX;所述多轴运动控制器包括W5300模块、DSP模块和FPGA模块,所述实时控制平台通过RTX专用网卡与所述W5300模块上外接的RJ45网口相连接。2.如权利要求1所述的基于RTX+DSP的多轴运动控制器通信系统,其特征在于,所述实时控制平台被配置为基于VisuaI Stud1 2005分别创建Windows进程和RTX进程,所述Windows进程和RTX进程之间通过共享内存进行数据交互。3.如权利要求2所述的基于RTX+DSP的多轴运动控制器通信系统,其特征在于,所述Windows进程包括MFC界面的数据输入部分以及所述多轴运动控制器的运动学计算部分。4.如权利要求3所述的基于RTX+DSP的多轴运动控制器通信系统,其特征在于,所述Windows进程被配置为将计算出的位置点信息写进所述共享内存,等待所述RTX进程被触发时调用。5.如权利要求2所述的基于RTX+DSP的多轴运动控制器通信系统,其特征在于,所述RTX进程包括实现与所述多轴运动控制器通信的数据接收和发送线程,以及实现多轴运动控制器所需要的单点运动的位置规划线程和连续多点运动的位置规划线程。6.如权利要求5所述的基于RTX+DSP的多轴运动控制器通信系统,其特征在于,所述线程的触发通过共享内存部分的线程标志位实现,所述线程标志位的赋值操作由MFC界面部分的用户输入操作决定。7.如权利要求1所述的基于RTX+DSP的多轴运动控制器通信系统,其特征在于,所述W5300模块和所述DSP模块被配置为通过数据线和地址线的方式进行通讯,由所述DSP模块以触发中断的方式对所述W5300模块进行配置和控制。8.如权利要求1所述的基于RTX+DSP的多轴运动控制器通信系统,其特征在于,所述DSP模块和所述FPGA模块通过双口 RAM进行数据共享,所述DSP模块以访问外部存储器的方式对所述FPGA模块的双口RAM存储空间进行读写访问。9.如权利要求1所述的基于RTX+DSP的多轴运动控制器通信系统,其特征在于,所述多轴运动控制器的所述DSP模块接收来自所述实时控制平台的位置指令,与反馈的位置值相减进行各个轴的位置环的运算,同时将各个轴的速度值发送到所述FPGA模块,由所述FPGA模块完成速度环和电流环的运算。10.如权利要求1所述的基于RTX+DSP的多轴运动控制器通信系统,其特征在于,所述DSP模块的数据接收中断优先级要高于数据发送中断优先级。
【文档编号】G05B19/042GK106094663SQ201610705482
【公开日】2016年11月9日
【申请日】2016年8月22日
【发明人】吴建华, 刘超, 杨启杰, 熊振华, 盛鑫军
【申请人】上海交通大学