账号:
密码:
CTIMES / 文章 /   
在高速运动控制要求下 CPU与FPGA的分工合作
 

【作者: 盧傑瑞】2020年09月16日 星期三

浏览人次:【1538】
  

基本上有接触过自动控制架构的每个人,几??都知道可以透过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本身的高精致度特性,在电脑程式中建立很多执行绪,每个执行绪都有自己的时钟,并且严格定时,相信这对於在执行各种操作的机器人运动控制系统中是非常有用的。


相关文章
智慧制造的「四大要件」
开创台湾机器感知产业
BCM将高压电池转化至SELV系统
让笔记型电脑重获生机
Certus-NX 引领通用 FPGA 创新
comments powered by Disqus
相关讨论
  相关新闻
» 智慧光制造为电子业升温 台湾国际雷射展盛大登场
» TPCA Show 2020扩大联展 PCB全年产值挟5G成长1.5%
» 工研院串起台湾产业链 国产雷射抢攻国际智慧商机
» 产研合作成效高 工研院携手产业实现AI落地创新商机
» 网路资安业者首发工业级丛集式IPS 智慧工厂防护更上层楼
  相关产品
» 循环铝材新应用 靠真空压铸技术翻身加值
» 中美万泰推出医用电脑电源内装设计WMP-24G-PIS
» 中美万泰推出新款Intel第八代Whisky Lake工业级触控电脑
» 安勤触控双萤幕AIO POS终端机RiVar模组化扩充快速
» 三菱日立J系列燃气涡轮机商业运转达到100万小时

AD


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

Copyright ©1999-2020 远播信息股份有限公司版权所有 Powered by O3
地址:台北市中山北路三段29号11楼 / 电话 (02)2585-5526 / E-Mail: webmaster@ctimes.com.tw