一种单处理芯片的控驱一体系统架构的制作方法

文档序号:20036952发布日期:2020-02-28 11:21阅读:238来源:国知局
一种单处理芯片的控驱一体系统架构的制作方法

【技术领域】

本发明涉及控制系统领域,尤其涉及一种单处理芯片的控驱一体系统架构。



背景技术:

过去二十年来,由于通用机床、专机设备等工业需求旺盛,工业控制系统零部件供应商所开发的控制器、驱动器、用户界面、应用软件等,均以一个独立的、多功能的、多场合兼容性的设计,这种可自由组合的柔性的设计,在一定程度上可以满足用户为机器快速实现一个相对可靠的控制系统的需求。

直到工业机器人时代的到来,不同于传统机床设备,虽然“控制器+驱动器”的方式能为机器人提供实时的多轴联动控制,但这个联动因控制器、驱动器是通过串行总线进行数据交换,使该系统只能实现毫秒级的运动控制,在一些高速高精度场合会遇上瓶颈。另外,机器人是一个非线性时变系统,其运动过程时刻承受着包括重力、摩檫力在内的外力作用,不同姿态时的作用力始终在变化,按照传统的“控制器+驱动器”的形式,驱动器各轴将独立工作在位置伺服模式,外部力的变化会影响其插补点的响应速度,导致机器人整体轨迹精度及响应速度受限,进而不能完成轨迹精度要求高、速度要求高的场景。因此面对机器人越来越普及的时代,需要一个针对机器人应用而高度整合和优化的控制系统。



技术实现要素:

本发明旨在解决上述问题而提供一种系统架构,该架构解决了分散的“控制器+驱动器”结构所带来的数据延迟高、数据带宽低的问题。该系统架构突破了毫秒级的运动控制界限,打破了高速高精度场合遇到的瓶颈。突破了原有控制系统中控制由一个芯片完成、驱动由另一芯片完成的架构限制,将任务拆分成实时任务和非实时任务、由单个芯片处理完成,实现了控制和驱动的一体化,提高控驱一体的整体系统性能。

为实现上述目的,本发明的系统架构通过以下架构设计实现:

单处理芯片处理cpu的实时任务和cpu的非实时任务,所述cpu的实时任务和cpu的非实时任务之间通过共享内存进行数据交换,单处理芯片还包括fpga阵列,cpu的实时任务、cpu的非实时任务和fpga之间,通过单处理芯片内部的高速并行总线进行数据交换。所述cpu的非实时任务运行在linux内核环境下,cpu的非实时任务包含应用软件和路径规划。所述cpu的实时任务运行在实时操作系统环境下,运行机器人闭环控制算法,包括动力学算法、运动学算法及插补、位置闭环控制和速度闭环控制。所述的fpga设置轴的定周期驱动算法逻辑,轴的逻辑包括轴电流闭环驱动模型、轴驱动信号输出、轴电流信号输入、轴编码器信号输入。所述的轴驱动信号输出连接功率放大电路,用于驱动电机运动,所述的功率放大电路为驱动桥电路。所述的轴电流信号输入连接电流采样电路,通过连接电流采样电路进行电机电流信号采集,所述的电流采样电路为精密adc电路。所述的轴编码器信号输入连接编码器采样电路,通过编码器采样电路进行电机编码器信号采集,所述的编码器采样电路为高速差分接口电路

实现机器人轴的控制通过以下步骤可完成:

1)fpga以62.5us为周期运行轴电流信号输入逻辑,通过电流采样电路进行轴电流信号采集,并保存为实际电流数据;以62.5us为周期运行轴编码器信号输入逻辑,通过编码器采样电路进行轴编码器信号的采集和解码,并保存为实际编码器位置和实际编码器速度。

2)cpu的实时任务以125us为周期运行机器人的闭环控制算法,通过高速并行总线获取由步骤1中生成的实际编码器位置和实际编码器速度,计算机器人末端实际位置和末端实际速度,并更新到共享内存中。

3)cpu的非实时任务运行应用软件生成机器人末端目标位置序列,同时,从共享内存获取机器人末端实际位置和末端实际速度,并运行机器人路径规划任务,计算机器人轨迹方程,并把轨迹方程更新到共享内存中。

4)cpu的实时任务以125us为周期运行机器人闭环控制算法,通过共享内存获取由步骤3生成的轨迹方程,以125us的间隔,从该轨迹方程提取下一周期的点数据,该点数据包括但不限于:位置、速度、加速度。提取出来的点数据,结合由步骤2中获取的实际编码器位置和实际编码器速度,作为位置闭环控制和速度闭环控制的输入进行运算,并生成轴电流和力矩数据,并通过高速并行总线下发到fpga中。

5)fpga以62.5us为周期运行轴电流环驱动模型逻辑,通过由步骤4下发的轴电流和力矩数据,结合由步骤1生成的实际电流数据,运算轴电流闭环驱动模型,并把运算结果通过轴驱动信号输出,输出到功率放大电路上,从而控制机器人的轴按照规则运行。

本发明的贡献在于提供了一种单处理芯片的控驱一体系统架构,该架构的cpu的非实时任务和cpu的实时任务之间通过共享内存进行数据交换、cpu的非实时任务、cpu的实时任务与fpga之间,通过单处理芯片内部的高速总线进行数据交换,突破了毫秒级的运动控制界限,打破了高速高精度场合遇到的瓶颈。突破了原有控制系统中控制由一个芯片完成、驱动由另一芯片完成的架构限制,将任务拆分成实时任务和非实时任务、由单个芯片处理完成,实现了控制和驱动的一体化,提高控驱一体的整体系统性能。

【附图说明】

图1是本发明系统架构的结构框图。

图2是本发明具体实施例的结构框图。

【具体实施方式】

下列实施例是对本发明的进一步解释和补充,对本发明不构成任何限制。

实施例1

如图1、2所示,本实施例的一种单处理芯片的控驱一体系统架构,所述的单处理芯片cpu的非实时任务和cpu的实时任务,所述cpu的非实时任务和cpu的实时任务之间通过共享内存进行数据交换,单处理芯片还包括fpga阵列,cpu的非实时任务、cpu的实时任务和fpga之间,通过单处理芯片内部的高速并行总线进行数据交换。

本实施例中的单处理芯片为xc7020芯片,控制4轴控驱一体系统,cpu的非实时任务由a9core0处理器进行处理,cpu的实时任务由a9core1处理器进行处理,a9core0处理器和a9core1处理器之间通过共享内存进行数据交换,a9core0处理器、a9core1处理器和pfga之间,通过xc7020芯片内部的axi总线进行数据交换,该种架构突破了毫秒级的运动控制界限,打破了高速高精度场合遇到的瓶颈。

实施例2

如图1、2所示,所述的a9core0处理器运行在linux内核环境下,运行非实时任务,包括应用软件、路径规划。所述的a9core1处理器运行在实时操作系统环境下,运行机器人闭环控制算法,包括动力学算法、运动学算法及插补、位置闭环控制和速度闭环控制。所述的fpga设置轴的定周期驱动算法逻辑,轴的逻辑包括轴电流闭环驱动模型、轴驱动信号输出、轴电流信号输入、轴编码器信号输入。

除了所述xc7020芯片外,还包括外围辅助电路,所述的轴驱动信号输出连接4轴功率放大电路,用于驱动电机运动,具体的4轴功率放大电路为igbt驱动桥电路。所述的轴电流信号输入连接4轴电流采样电路,通过4轴连接电流采样电路进行电机电流信号采集,所述的电流采样电路为精密adc电路。所述的轴编码器信号输入连接4轴编码器采样电路,通过4轴编码器采样电路进行电机编码器信号采集,所述的4轴编码器采样电路为高速差分接口电路。

具体实施步骤如下:

s1:fpga以62.5us为周期运行4轴电流信号输入逻辑,通过精密adc电路进行4个轴电流信号采集,并保存为实际电流数据;以62.5us为周期运行4个轴编码器信号输入逻辑,通过高速差分接口电路进行4个轴编码器信号的采集和解码,并保存为实际编码器位置和实际编码器速度。

s2:a9core1处理器以125us为周期运行机器人的闭环控制算法,通过xc7020单处理芯片内置的axi总线获取由步骤1中生成的实际编码器位置和实际编码器速度,计算机器人末端实际位置,并更新到共享内存中。

s3:a9core0处理器运行应用软件生成机器人末端目标位置序列,同时,从共享内存获取由步骤2生成的机器人末端实际位置和实际速度,并运行机器人路径规划任务,计算机器人轨迹方程,并把轨迹方程更新到共享内存中。

s4:a9core1处理器以125us为周期运行机器人闭环控制算法,通过共享内存获取由步骤3生成的轨迹方程,以125us的间隔,从该轨迹方程提取下一周期的点数据,该点数据包括但不限于:位置、速度、加速度。提取出来的点数据,结合由步骤2中获取的实际编码器位置和实际编码器,作为位置闭环控制和速度闭环控制的输入进行运算,并生成轴电流和力矩数据,并通过axi总线下发到fpga中。

s5:fpga以62.5us为周期运行轴电流环驱动模型逻辑,通过由步骤4下发的轴电流和力矩数据,结合由步骤1生成的实际电流数据,运算轴电流闭环驱动模型,并把运算结果通过轴驱动信号输出,输出到igbt驱动桥电路上,从而控制机器人的轴按照规则运行。

本实施例突破了原有控制系统中控制由一个芯片完成、驱动由另一芯片完成的架构限制,将任务拆分成实时任务和非实时任务、由单个芯片处理完成,实现了控制和驱动的一体化,提高控驱一体的整体系统性能。

尽管通过以上实施例对本发明进行了揭示,但本发明的保护范围并不局限于此,在不偏离本发明构思的条件下,对以上各构件所做的变形、替换等均将落入本发明的权利要求范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1