账号:
密码:
智动化 / 文章 /

在高速运动控制要求下 CPU与FPGA的分工合作
[作者 盧傑瑞]   2020年09月16日 星期三 浏览人次: [8650]

基本上有接触过自动控制架构的每个人,几乎都知道可以透过CPU、FPGA以及PLC来进行复杂伺服马达的运动控制,例如双轴插值(Interpolation)、凸轮控制等。但是到目前为止,甚少发现利用PLC来负责这些动作的计算。


这时会有个疑问出现,为什么不利用PLC来控制?通常来说,这些由PLC进行控制非常不错,但是PLC大多是负责多工的(multi-tasking)处理,所以几乎没有余力可以再负担复杂的伺服马达计算。


因此在进行运动控制时,就需要采单一Tasking处理才能达到高速运算的作业目标。另外,也不适合用PLC来编写双轴插值和凸轮控制等复杂的作业,最好将伺服放大器和CPU组合一起作为伺服马达的专用机制,即使以后进行修改也可以降低成本。


不适合透过PLC单独对伺服马达高速控制

因此,透过CPU、FPGA与其他机构的搭配可以减轻PLC程式的负担,另一方面,CPU具有高速计算能力适用于控制伺服马达,因此PLC可以专注担任其他机器控制(感应马达等)和讯息控制来分配处理负载。


什么是简单运动单元(Simple Motion Unit)?简单运动单元可以执行与CPU相同的控制(双轴插值、凸轮控制等),并且可以透过来自PLC的命令轻松进行操作。


由于它是受限需要于PLC的命令输出,因此在连续执行伺服马达时,CPU可以比简单运动单元更快地完成操作。此外,简单运动单元还有一个优点就是比CPU便宜,并且可以使用常规MOV命令轻松控制PLC的程序。不过却有一些情况,并不常利用这种廉价而又容易进行操控,简单运动单元来做为伺服马达的马达,而是要使用麻烦的CPU呢?


这是因为在进行高度运动控制时,又可以不受PLC扫描时间影响的一种高速系统架构。 PLC的扫描时间会受到程式容量的影响,因此伺服马达的多轴控制无法避免增加PLC的程式量。如果CPU可以控制伺服马达的操作模式和时序,就可以大幅减少PLC程序的负载。


运算单元的配置相当重要

运动系统控制的过程包括在设备的智慧化和自动化中,具有离线(Off Line)计算能力以及智慧,并透过线上(On Line)计算实现功能的流程。由于离线计算没有时间限制,因此即使运算单元的能力不佳也可以利用时间来弥补,但是在即时的On Line计算中,运算单元的配置就变得相当重要。


对于软性即时(Soft Real Time)处理,可以采用具有高性能OS的CPU,但是当需要FArm/硬性即时(Hard Real Time)处理,或许微处理器或FPGA会更易于使用。因为FPGA除了有高精致的优点,在需要即时处理的情况下更具有优势。


举例来说,图1是利用FPGA完成的一个采样频率为1 MHz的机器人运动控制系统,在这样的FPGA高精细执行高速讯号处理的架构下,可以获得的控制性能非常好,可以轻松达到精确控制 (使用解析度为10 nm的光学编码器进行定位,并且误差在1或2个脉冲之内)。还可以藉由FPGA的高精细度,透过高速讯号处理等方式消除运算系?中的噪讯,提高控制系?的增益。



图1 : 利用FPGA完成1 MHz采样频率运动控制实验(source:Increments)
图1 : 利用FPGA完成1 MHz采样频率运动控制实验(source:Increments)

这样一来,就可以不用受到像传统的H∞最佳化控制理论的限制与约束,可以提高增益,使得系统性能得以大幅度提升。这样的机制比起费尽心力的设计补偿器更容易获得更好的性能。


CPU与FPGA的互补与优劣势

就工业控制器的开发与使用而言,所有工程师都希望尽可能地降低控制器成本,微控制器已经大量的使用,例如安川电机和三菱CPLD,由于物联网的趋势而被广泛使用。现今由于缺乏通用介面(尤其是通讯系统)的灵活性,而又回到了采用微控制器,或者导入SoC FPGA来实现Linux on ARM中的高阶功能,同时在FPGA中进行控制的例子。


虽说FPGA的优势性目前正在扩大,如果不能在指令级确保并行性,与CPU相较之下就会显得逊色,毕竟这样的FPGA只能当作运算工具,用来执行向量运算的并行ALU。


实际上用于机器人运动控制的命令值生成与数据相关,是循序运算或使用三角函数计算的,因此使用FPGA进行效率非常低。反之,这会使得CPU被采用的频率更高,即使非常努力的设计FPGA运用架构,相信也无法达到期望值。


另外,因为对于机器人的运动控制,在校正错误的反馈(Feedback)这一部分,包括从观察(计算器输入)到校正指令输出(计算器输出)的过程,当然是愈快愈好。所以希望能获得高速处理能力,而工程师就需要更高密度的设计I/O系统和电路,这也是FPGA将常被导入架构应用的原因之一。


如同人体的反射动作与思考判断后动作

为了更容易理解上述的要求,在这里以模拟的方式来说明该运算单元(图2)。



图2 : 讯号判断的处理与传输架构 (source:Increments)
图2 : 讯号判断的处理与传输架构 (source:Increments)

就人体身体的感测机制而言,例如包括眼睛、耳朵和皮肤等生理感测器,从外界的刺激现象获得感受讯号后,会将这些感受讯号传递至入体内相关机制,有一些讯号会进入大脑,有一些讯号会进入脊髓,并对肌肉或骨骼系统等发出命令。


而进入大脑的讯号通过间脑的中继中心,随后在颞叶和顶叶进行判别,再透过颞叶和枕叶的感觉部分,在额叶做出决定并在小脑发出动作控制讯号,这些讯号再通过间脑进入肌肉骨骼系统。


这样的处理机制相当类似于CPU的功能。因为利用FPGA中的平行算术逻辑单元(Arithmetic Logic Unit;ALU)来执行的加速运算,等同于增加顶叶和额叶等结合区的面积并增加计算量。


另一方面,因为脊髓反射动作没有经过大脑,因此速度很快,这样的反射中心类似于为FPGA上精心设计的I/O系统电路。由于肌肉骨骼系统是在脑以外励起作用并反映,就像是效应器,使用笔和纸进行记录和读取等使用外部工具。


在使用SoC FPGA的设计中,就像需要利用大脑的讯号处理是透过CPU进行运算,而脊髓所发生的反射动作则是经过FPGA处理。 CPU可以进行运算程序来完成许多不同的事情,但是各种过程(中断和汇流排控制)都需要时间等待,才能在CPU处理。


源于I/O所造成时间的延迟累加

透过以下的例子,就可以了解运算工作分配的重要性,如果不能善用类似脊髓可自发生反射动作的FPGA,解决一些即时性的Feedback或校正错误,而是无限度的将计算工作丢给CPU,就会出现不断累加的计算时间延迟结果。


这个例子是测量每个程序所需的过程时间来了解反应速度的区别。在此项实测中,采用ARM CPU与FPGA搭配,并用AXI4通讯协定来连接,对应在Arm CPU上映射的I /O的写/读速度(图3)。这个测试是执行30000次所需的控制时间,每次读写100次所花费的时间除以100,而测量计时器放置在FPGA上。



图3 : 利用ARM CPU上映射的I /O的写/读速度(source:Increments)
图3 : 利用ARM CPU上映射的I /O的写/读速度(source:Increments)

执行机器人运动控制所需的代码,在此是采用了时钟获取时间(clock_gettime),由于时钟获取时间本身的负荷,会有1us左右的误差。可以发现进行第10000次之后,在计算三角函数时所需要的计算时间出现了增加的现象。



图4 : 进行第10000次之後,计算时间出现增加(source:Increments)
图4 : 进行第10000次之後,计算时间出现增加(source:Increments)

从受体到效应器的往返时间

结果是,从FPGA向Arm CPU发送出中断,并使用FPGA上的计时器,测量了直到从Arm进行I/O写入为止的时间。同时也考虑到AXI4的速度和Arm计算时间,它花费了很长的时间。从往返时间中减去AXI4通讯时间和Arm操作时间,使用处理器的程序处理时间如下(图5~6)。



图5 :  3万次的封包来回时间(source:Increments)
图5 : 3万次的封包来回时间(source:Increments)

图6 :  3万次的运算处理时间(source:Increments)
图6 : 3万次的运算处理时间(source:Increments)

从例子可以发现,在处理中断的过程中,可以发现有延迟的情况出现,由于中断使用UIO的速度很慢,所以应该利用内和运算来进行处理,相信回应速度会比较快(图7)。



图7 : 利用内和运算进行处理,相信回应速度会比较快。(source:Increments)
图7 : 利用内和运算进行处理,相信回应速度会比较快。(source:Increments)

如果要在短时间内使用Arm处理器进行采样,就必须管理时程。如果想利用Arm CPU进行短时间采样时,就不得不认真考虑处理中断这个动作时所耗费的时间。


而在控制方面,讯号处理系统会受到时间轴的抖动影响,可以对FPGA做精确时间的平均采样,或许这非常有用。另外,还能透过FPGA本身的高精致度特性,在电脑程式中建立很多执行绪,每个执行绪都有自己的时钟,并且严格定时,相信这对于在执行各种操作的机器人运动控制系统中是非常有用的。


相关文章
人工智慧和自动化:中小企业转型良方
HMI与PLC━将智慧工厂带向新境界
PLC稳固智能化之路
2023年机器人发展重要驱动力预测
辅助机器人制造再辟新局
comments powered by Disqus
  相关新闻
» 帆宣与隹世达合组「达宣智慧」公司 启动智慧医疗引擎
» 经济部提供融资协助工具机拓展海外市场
» 海大与法国浜海大学合作推升智慧永续海洋
» 国研杯智慧机械竞赛成绩揭晓 联合大学机器人挑战高尔夫夺冠
» AI台北智慧城市展样貌 开箱大巨蛋数位场馆
  相关产品
» igus马达控制系统快速设定 无须程式设计协助
» 凌华支援第14代 Intel处理器用於先进工业与 AI 解决方案
» 新型 igus 拖链系统适用於无尘室 SCARA 机器人
» 智慧监测良方 泓格微型气象站提供资讯面面俱到
» 凌华新款5G IIoT远端边缘网路闸道器采用Arm架构


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 / E-Mail: webmaster@hope.com.tw