多CPU架构伺服驱动控制器简介

time2018-2-16 22:39:14

伺服驱动器是用来控制伺服电机的一种控制器,一般是通过位置、速度和力矩三种方式对电机进行控制,实现高精度的系统定位。


目前,伺服控制器CPU的架构主要有:1单CPU架构ARM(Acorn RISC Machine)控制器;2 单CPU架构DSP (Digital Signal Process)控制器;3 ARM+FPGA+DSP架构的多CPU控制器。方法3 是目前最先进的架构,前两种方法都有局限性。方法1和方法2这种单CPU架构的控制器,一个CPU集算法、采集控制、通讯、显示功能于一体,当算法复杂度和实时性要求高时往往会顾此失彼。而方法3的架构中各个CPU的分工明确,ARM负责通信和显示功能,DSP负责算法运算,FPGA负责采集和控制。方法3 的技术瓶颈是满足伺服控制器的实时性要求需要几个CPU之间的高速数据通信,因此,如果能够找到一个高速的通信方式完全可以发挥各个CPU的特性,就像一个多核CPU在工作一样。


本研究基于ARM+FPGA+DSP架构 ,采用并口通信的方法用于几个CPU之间的内部高速通信;此外伺服驱动器作为伺服系统的一部分还需要和主控器和编码器进行高速通信,来满足整个伺服系统的实时性要求,本架构采用EtherCAT和高速485接口用于控制器和其他设备进行高速通信,描述了系统的原理架构和软件设计架构。


多CPU架构控制器原理分析

此架构的控制器中ARM负责通信和显示功能,DSP负责算法运算,FPGA负责采集和控制,如图1所示。FPGA采集相电压、相电流等物理量通过并口传给DSP;ARM通过EtherCAT接收主控制器命令,通过高速485采集码盘的速度和位置等信息,通过并口传给FPGA中转下再传到DSP;DSP中执行伺服控制的算法,利用FPGA和ARM中采集的数据进行计算,把计算结果再通过并口传给FPGA和ARM,由FPGA和ARM进行相关的控制操作。


此架构控制器中几个CPU之间的双口RAM通信:用双口RAM中各位数据都是的整数倍为单位进行数据传输,能完成数据的输入和输出。用双口RAM通信的原理如2所示。用双口RAM通信具有各数据位同时传输,传输速度快、效率高的特点,多用在实时、快速的场合。


此架构控制器的对外接口有EtherCAT和高速485。码盘的接口一般采用485接口,所以本控制器也采用485的接口,用DMA来实现;伺服控制器与主控制之间的接口有EtherCAT和PROFINET等协议,本控制器采用应用比较广的EtherCAT接口。实时以太网EtherCAT是由倍福开发的一种工业以太网技术。它以高速率、高有效数据利用率、完全符合以太网标准、刷新周期短、同步性能好等优势,在伺服通讯领域中得到越来越多的应用。


结论

市面上的伺服驱动器CPU的架构主要有单ARM控制器和单DSP控制器。单ARM控制器方案在通信和控制方面存在优势,但是复杂算法在实现的时候往往会因为运算耗时而降低整个系统实时性;单DSP控制器方案中在算法中存下优势,但是在对外通信和控制方面往往会实现起来比较复杂。采用ARM+FPGA+DSP架构的多CPU控制器方案完全解决了上述两种方法的弊端,充分发挥了各个CPU的优势。本文论述的架构在本公司的伺服驱动器产品中进行试验和应用,证明了“ARM+FPGA+DSP架构的多CPU控制器架构”的可行性和技术优势。


如图9中的红色标记框图所示,整个伺服驱动器系统的CPU使用率在75.22%(A:空跑时优先级最低的计数器个数;B满算法运行时优先级最低计数器的个数;CPU使用率=(A-B)/A*100),此CPU架构达到了控制CPU使用率和提高系统效率的目标。


如图10中的离线惯量辨识2s周期(0.5转速)PI不变时跟随情况,通道1是转速给定,通道2是电磁转矩,通道3是实际转速,通道4是实际A相电流。速度采集首先通过ARM的高速485采集码盘数据,并通过并口传给DSP和FPGA,经过算法处理再把数据下发给码盘,整个闭环过程通过并口传输,满足了伺服驱动器的算法实时性要求,此CPU架构达到了提高整个系统实时性的目标。

作者:天津电气科学研究院有限公司   郭永新   蔡建军   曲晓伟   王春辉   汤士忠


topPointer
bottomPointer