EtherCAT通信系统主站及通信方法

文档序号:9891139阅读:4459来源:国知局
EtherCAT通信系统主站及通信方法
【技术领域】
[0001 ] 本发明涉及EtherCAT通信领域,更具体地说,涉及一种EtherCAT通信系统主站及通信方法。
【背景技术】
[0002 ] EtherCAT (以太网控制自动化技术,简称ECAT)是一个以以太网为基础的开放架构的现场总线系统,以其独有的“on the fly”通信方式,使通信数据帧经过各个站点时,在数据帧不作停留的情况下,处理相应站点的数据,从而大幅降低了数据处理时间,缩短了通信周期。加上其分布时钟(Distribute Clock,DC)的同步机制,使得EtherCAT广泛应用于高速、高精的运动控制领域。
[0003]EtherCAT从站通过EtherCAT从站控制器(ESC)得以实施。而主站没有专用的ASIC(Applicat1n Specific Integrated Circuits,专用集成电路),EtherCAT主站通常由运行在操作系统(Windows、Linux、VxWorks等)上的纯软件,并结合标准以太网卡驱动实现。
[0004]在实际应用中,EtherCAT主站往往运行在运动控制器一端,运动控制器会产生周期规划的数据,而这些数据能否通过EtherCAT主站实时发送至各个伺服从站,这是影响该控制系统的控制性能的关键因素。因此E t h e r C A T主站的实时性以及主站与从站的同步性能,对高速、高精的运动控制来说,是至关重要的。
[0005]为实现EtherCAT主站与伺服从站的实时同步,运动控制器的周期中断时钟必须与所有伺服从站的分布时钟(DC)同步,否则运动控制器周期规划的多轴同步运动(如插补运动)数据在伺服端不能保证被同步执行。这样一来,控制精度便无从谈起。
[0006]传统的EtherCAT主站是基于操作系统0S(0perating System)的纯软件架构。由于操作系统多任务的调度是非常复杂的并且是非实时的,所以想要在操作系统上执行Ims以下的EtherCAT实时任务,必须跟操作系统供应商深度合作(如Windows)或者给操作系统(如Linux等)打上实时补丁。例如通过实时补丁RT Patch产生的定时器(Timer)为EtherCAT通信提供主站时钟(Clock Μ),如图1所示,EtherCAT主站将此主站时钟直接设定给参考时钟从站SLO(SlaveO)作为其分布时钟,其后的伺服从站又以参考时钟的分布时钟为参考进行同步。由于EtherCAT主站的收发包行为通过操作系统下的以太网适配器(EthernetAdapter)的驱动程序后存在延时不确定性,这必然会给整个EtherCAT网络的分布时钟直接引入一个抖动,从而破坏伺服从站间的同步性能,因此传统的EtherCAT主站方案无法保证运动控制器的周期中断时钟与伺服从站的分布时钟达到同步。
[0007]然而,不管是与操作系统供应商深度合作或者还是为操作系统打实时补丁,都需通过修改操作系统底层任务调度,从而提高EtherCAT主站任务的实时性。但这势必会对操作系统的稳定性带来很大的挑战和风险。而且即便通过这样的实时改造,想要获得500us以下的实时性能,也是需要性能超强的(PU才能实现,这势必又对系统的成本造成冲击。

【发明内容】

[0008]本发明要解决的技术问题在于,针对上述EtherCAT通信中实时性能较差、成本较高的问题,提供一种EtherCAT通信系统主站及通信方法。
[0009]本发明解决上述技术问题的技术方案是,提供一种EtherCAT通信系统主站,包括主处理模块、FPGA以及以太网收发器,并通过所述以太网收发器连接参考时钟从站和伺服从站;所述主处理模块包括TOO交互单元,所述FPGA包括roo收发单元、分布时钟单元以及物理层控制单元;其中:所述分布时钟单元,用于根据FPGA的时钟信号周期性地生成分布时钟报文,以实现运动控制器时钟和伺服从站的时钟同步;所述数据收发单元,用于按照通信周期将来自roo交互单元的从站交互数据封装为EtherCAT数据帧并将来自物理层控制单元的EtherCAT数据帧解封后传送给TOO交互单元;所述物理层控制单元,用于控制以太网收发器实现EtherCAT数据帧的全双工收发以及分布时钟报文的发送。
[0010]在本发明所述的EtherCAT通信系统主站中,所述分布时钟单元包括延时设置单元、时钟发送单元以及启动控制单元,其中:所述延时设置单元,用于测算主站到参考时钟从站的传输延时和时间偏置并将计算结果设置到参考时钟从站;所述时钟发送单元,用于定时将FPGA的时钟发送到各个伺服从站;所述启动控制单元,用于在主站与伺服从站的时钟同步以后,计算各个伺服从站的同步信号启动时间和主站的中断启动时间,所述伺服从站的同步信号启动时间与主站的中断启动时间在相位上对齐。
[0011]在本发明所述的EtherCAT通信系统主站中,所述主站的主处理模块包括文件解析单元、站点扫描单元、状态机管理单元、配置单元以及邮箱通信单元,所述FPGA包括SDO收发单元,所述SDO收发单元用于通过物理层控制单元实现文件解析单元、站点扫描单元、状态机管理单元、配置单元以及邮箱通信单元与各个伺服从站的数据交互。
[0012]在本发明所述的EtherCAT通信系统主站中,所述主站包括两个以太网收发器,且其中一个以太网收发器用于进行数据报文的收发、另一个以太网收发器用于实现主站环形冗余,所述物理层控制单元包括端口管理单元,该端口管理单元用于实现端口连接状态和环形冗余处理。
[0013]在本发明所述的EtherCAT通信系统主站中,所述物理层控制单元包括报文过滤单元,用于过滤非EtherCAT报文。
[0014]本发明还提供一种EtherCAT通信系统主站通信方法,所述主站包括主处理模块、FPGA以及以太网收发器,并通过所述以太网收发器连接参考时钟从站和伺服从站;所述方法包括以下步骤:
[0015](a)所述FPGA根据该FPGA的时钟信号周期性地通过以太网收发器向伺服从站发送分布时钟报文,以实现运动控制器时钟和伺服从站的时钟同步;
[0016](b)所述FPGA按照通信周期将来自主处理模块的PDO封装为EtherCAT数据帧并将来自物理层控制单元的EtherCAT数据帧解封后传送给主处理模块;
[0017](c)所述FPGA控制以太网收发器实现EtherCAT数据帧的全双工收发。
[0018]在本发明所述的EtherCAT通信系统主站通信方法中,所述步骤(a)包括:
[0019](al)所述FPGA测算主站到参考时钟从站的传输延时和时间偏置并将计算结果设置到参考时钟从站;
[0020](a2)所述FPGA定时将FPGA的时钟发送到各个伺服从站;
[0021](a3)所述FPGA在主站与伺服从站的时钟同步以后,计算各个伺服从站的同步信号启动时间和主站的中断启动时间,所述伺服从站的同步信号启动时间与主站的中断启动时间在相位上对齐。
[0022]在本发明所述的EtherCAT通信系统主站通信方法中,所述方法还包括:
[0023]所述FPGA通过以太网收发器实现主站和从站间的SDO的收发;
[0024]所述主处理模块根据FPGA接收的从站设备描述文件解析出与配置相关的从站信息;
[0025]所述主处理模块通过FPGA对连接到EtherCAT网络上的所有时钟参考从站和伺服从站进行扫描,获取在线的从站数和各个从站的设备描述信息;
[0026]所述主处理模块通过FPGA完成各从站的应用层状态切换管理;
[0027]所述主处理模块通过FPGA对从站进行相关配置
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1