一种具有双数据通道的EtherCAT主站系统技术方案

技术编号:24088233 阅读:32 留言:0更新日期:2020-05-09 06:56
本申请公开了一种具有双数据通道的EtherCAT主站系统,包括微处理器、随机存取单元、FPGA模块和以太网物理层模块,并通过以太网物理层模块连接一组伺服从站;通过随机存取单元配合微处理器对EtherCAT主站协议栈进行运行和维护;过程数据驱动模块以驻留在FPGA存储模块中的过程数据镜像为数据源,使用实时数据通道实现主站的周期性通信;微处理器无需取走过程数据镜像,而是通过地址映射通信总线进行字节访问。本申请利用硬件优化了数据传输路径,降低了周期性通信的延迟和抖动,可实现较短的主站周期,适用于数控机床高速插补运动控制。

An EtherCAT master system with dual data channels

【技术实现步骤摘要】
一种具有双数据通道的EtherCAT主站系统
本申请涉及工业以太网现场通信领域,具体涉及一种适用于工业自动化高速通信的EtherCAT主站系统。
技术介绍
倍福公司起初推广EtherCAT协议,其主要优势之一是可以采用处理器加外扩网卡的通用体系架构来实现主站功能,EtherCAT协议的数据链路层和应用层均由软件实现。针对通用网卡单缓存的操作效率不高、系统软中断实时性不强等问题,EtherCAT协议使用从站分布时钟机制来弥补主站实时性上的的不足,可以达到纳秒级的多轴同步精度。该方案实施简便、成本低廉、可移植性好,能满足大部分应用场景(通信周期为500μs以上)的性能要求。由于上述方案并不能满足一些对主站实时性要求高的应用场合,有不少专利针对EtherCAT主站的实时性提出多种改进方案。专利文献CN201510107162.X公开了一种基于FPGA的EtherCAT主站装置,其主站采用FPGA来实现EtherCAT协议数据链路层功能。该主站的应用层程序和EtherCAT协议驱动模块均同步于FPGA产生的等时中断。该方案利用FPGA协议驱动模块来分担处理器的EtherCAT报文处理任务,提高了EtherCAT数据链路层的效率。在报文的调度策略上,在每一个中断周期,周期性报文和非周期性报文各发送一帧,周期性报文优先发送。专利文献CN201510870564.5公开了一种基于ARM的嵌入式EtherCAT主站构建方法,该方案使用ARM来分担数控系统CPU在EtherCAT主站上的分布时钟、状态机以及帧运算等程序任务,CPU与ARM通过FPGA内存来实现指令与数据的交互,从而达到减轻主机运算任务、提升运行速度的目的。专利文献CN201511031363.2公开了一种EtherCAT通信系统主站及通信方法,该方案使用FPGA来实现EtherCAT协议数据链路层功能。CPU应用程序向FPGA收发单元发送指令和数据,FPGA收发单元实现报文的处理;周期性报文的发起时刻由FPGA分布时钟单元控制,克服了软中断带来的不稳定性。现有的解决方案主要集中在利用额外的协处理单元来替代主机处理器去完成EtherCAT协议数据链路层的工作,从而提高报文的处理效率。利用FPGA的并行处理和硬件实现特性来实现EtherCAT报文的组装和解析,可以在一定程度上起到加速的作用,而数据流的路径规划同样是影响主站实时性的主要因素之一,在现有方案中依然存在数据反复迁移的现象。再者,EtherCAT主站的实时性主要由周期性过程数据通信决定,通信协议无差别地使用硬件实现,不仅造成资源浪费,而且会丧失灵活性。
技术实现思路
本申请的目的是提供一种具有双数据通道的EtherCAT主站系统,在保留传统EtherCAT主站原有的标准数据通道的情况下,开辟旁路实时数据通道并用于周期性过程数据通信,进一步缩短通信栈软件的处理时间,实现高频率、低抖动的过程数据等时同步传输、以及快速的时钟同步运动控制。为了实现上述任务,本申请采用以下技术方案:一种具有双数据通道的EtherCAT主站系统,包括微处理器、随机存取单元、FPGA模块和以太网物理层模块,并通过以太网物理层模块连接一组伺服从站;通过随机存取单元配合微处理器对EtherCAT主站协议栈进行运行和维护;所述FPGA模块用于在EtherCAT协议的数据链路层同时提供标准数据通道和旁路实时数据通道;其中,所述的标准数据通道用于将微处理器提供的EtherCAT报文转换成数据流并发送给所述的以太网物理层模块,或者将以太网物理层模块上传的数据流恢复成数据报文并转交给微处理器;旁路实时数据通道则用于同步于FPGA模块中的时钟模块发起的周期脉冲信号,直接从驻留在FPGA模块内的过程数据镜像区提取信息,产生过程数据报文并发送给以太网物理层模块,或者将以太网物理层模块上传的数据流恢复成报文,并从中提取有效信息,更新到过程数据镜像区;所述微处理器用于根据应用层任务的需要,通过微处理器接口模块实现对所述过程数据镜像区进行字节访问;所述的以太网物理层模块用于将来自FPGA模块的数据流转换为差分信号发送到物理介质中,将被各个伺服从站处理完的报文通过物理介质返回EtherCAT主站,然后通过以太网物理层模块转换成数据流后进入FPGA模块。进一步地,所述FPGA模块包括所述的微处理器接口模块、时钟模块以及存储模块、过程数据驱动模块、调度模块和以太网模块,其中:所述存储模块分别与微处理器接口模块、过程数据驱动模块、调度模块连接,过程数据驱动模块连接微处理器接口模块和时钟模块,时钟模块连接调度模块、以太网模块,以太网模块与所述以太网物理层连接。进一步地,所述微处理器接口模块包括三个数据交互子模块:控制寄存器模块、状态寄存器模块和存储单元控制模块,其中:所述控制寄存器模块与状态寄存器模块包含多个寄存器,微处理器通过地址映射通信总线向控制寄存器模块的特定寄存器中写入控制数据,或者从状态寄存器模块的特定寄存器中读取反馈数据,从而实现对FPGA模块的状态控制;所述存储单元控制模块将微处理器通过地址映射通信总线所发起的读写请求转换为对FPGA模块中存储器的读写信号,实现低延迟、可变长度的数据猝发传输;所述的微处理器接口模块还包括来自FPGA模块的硬件中断信号线,用于传递过程数据驱动模块向微处理器发起的同步中断信号。进一步地,所述存储模块包括所述的过程数据镜像区,以及实时发送缓冲区、实时接收缓冲区、标准发送缓冲区和标准接收缓冲区,其中:所述的过程数据镜像区分别连接过程数据驱动模块和微处理器接口模块中的存储单元控制模块,由微处理器和过程数据驱动模块互斥访问;所述的实时发送缓冲区和实时接收缓冲区的A端口均连接过程数据驱动模块,由过程数据驱动模块写入和读取报文;标准发送缓冲区和标准接收缓冲区的A端口均连接微处理器接口模块中的存储单元控制模块,由微处理器写入和读取报文;所述实时发送缓冲区、实时接收缓冲区、标准发送缓冲区和标准接收缓冲区的B端口,通过调度模块中间接连接以太网模块。进一步地,所述过程数据驱动模块负责在每个周期的等时脉冲信号信号产生后,从过程数据镜像区获取过程数据并封装成过程数据报文,然后写入实时发送缓冲区;当以太网模块接收到过程数据报文并写入实时接收缓冲区后,过程数据驱动模块负责从实时接收缓冲区中提取过程数据并更新到过程数据镜像区,完成后向微处理器发出同步中断信号。进一步地,所述时钟模块提供两个脉冲信号输出,其中一个信号输出是等时脉冲信号,由时钟模块周期产生,其周期由微处理器通过微处理器接口模块中的寄存器进行设定;另一个信号输出是提前脉冲信号,其输出时刻以等时脉冲信号的产生时刻为基准,提前一个可变的时间量。进一步地,所述调度模块包括一个具有标准态、过渡态和实时态的有限状态机,用以协调实时数据通道与标准数据通道对以太网接口的共享,该状态机按照标准态-过渡态-实时态的顺序反复循环转换;当状态机处于标准态时,以太网本文档来自技高网
...

【技术保护点】
1.一种具有双数据通道的EtherCAT主站系统,其特征在于,包括微处理器(1)、随机存取单元(2)、FPGA模块(10)和以太网物理层模块(9),并通过以太网物理层模块(9)连接一组伺服从站;通过随机存取单元(2)配合微处理器(1)对EtherCAT主站协议栈进行运行和维护;/n所述FPGA模块(10)用于在EtherCAT协议的数据链路层同时提供标准数据通道和旁路实时数据通道;其中,所述的标准数据通道用于将微处理器(1)提供的EtherCAT报文转换成数据流并发送给所述的以太网物理层模块(9),或者将以太网物理层模块(9)上传的数据流恢复成数据报文并转交给微处理器(1);旁路实时数据通道则用于同步于FPGA模块(10)中的时钟模块(6)发起的周期脉冲信号,直接从驻留在FPGA模块(10)内的过程数据镜像区(4.1)提取信息,产生过程数据报文并发送给以太网物理层模块(9),或者将以太网物理层模块(9)上传的数据流恢复成报文,并从中提取有效信息,更新到过程数据镜像区(4.1);/n所述微处理器(1)用于根据应用层任务的需要,通过微处理器接口模块(3)实现对所述过程数据镜像区(4.1)进行字节访问;/n所述的以太网物理层模块(9)用于将来自FPGA模块(10)的数据流转换为差分信号发送到物理介质中,将被各个伺服从站处理完的报文通过物理介质返回EtherCAT主站,然后通过以太网物理层模块(9)转换成数据流后进入FPGA模块(10)。/n...

【技术特征摘要】
1.一种具有双数据通道的EtherCAT主站系统,其特征在于,包括微处理器(1)、随机存取单元(2)、FPGA模块(10)和以太网物理层模块(9),并通过以太网物理层模块(9)连接一组伺服从站;通过随机存取单元(2)配合微处理器(1)对EtherCAT主站协议栈进行运行和维护;
所述FPGA模块(10)用于在EtherCAT协议的数据链路层同时提供标准数据通道和旁路实时数据通道;其中,所述的标准数据通道用于将微处理器(1)提供的EtherCAT报文转换成数据流并发送给所述的以太网物理层模块(9),或者将以太网物理层模块(9)上传的数据流恢复成数据报文并转交给微处理器(1);旁路实时数据通道则用于同步于FPGA模块(10)中的时钟模块(6)发起的周期脉冲信号,直接从驻留在FPGA模块(10)内的过程数据镜像区(4.1)提取信息,产生过程数据报文并发送给以太网物理层模块(9),或者将以太网物理层模块(9)上传的数据流恢复成报文,并从中提取有效信息,更新到过程数据镜像区(4.1);
所述微处理器(1)用于根据应用层任务的需要,通过微处理器接口模块(3)实现对所述过程数据镜像区(4.1)进行字节访问;
所述的以太网物理层模块(9)用于将来自FPGA模块(10)的数据流转换为差分信号发送到物理介质中,将被各个伺服从站处理完的报文通过物理介质返回EtherCAT主站,然后通过以太网物理层模块(9)转换成数据流后进入FPGA模块(10)。


2.根据权利要求1所述的具有双数据通道的EtherCAT主站系统,其特征在于,所述FPGA模块(10)包括所述的微处理器接口模块(3)、时钟模块(6)以及存储模块(4)、过程数据驱动模块(5)、调度模块(7)和以太网模块(8),其中:
所述存储模块(4)分别与微处理器接口模块(3)、过程数据驱动模块(5)、调度模块(7)连接,过程数据驱动模块(5)连接微处理器接口模块(3)和时钟模块(6),时钟模块(6)连接调度模块(7)、以太网模块(8),以太网模块(8)与所述以太网物理层连接。


3.根据权利要求1所述的具有双数据通道的EtherCAT主站系统,其特征在于,所述微处理器接口模块(3)包括三个数据交互子模块:控制寄存器模块(3.1)、状态寄存器模块和存储单元控制模块(3.2),其中:
所述控制寄存器模块(3.1)与状态寄存器模块包含多个寄存器,微处理器(1)通过地址映射通信总线向控制寄存器模块(3.1)的特定寄存器中写入控制数据,或者从状态寄存器模块的特定寄存器中读取反馈数据,从而实现对FPGA模块(10)的状态控制;
所述存储单元控制模块(3.2)将微处理器(1)通过地址映射通信总线所发起的读写请求转换为对FPGA模块(10)中存储器的读写信号,实现低延迟、可变长度的数据猝发传输;
所述的微处理器接口模块(3)还包括来自FPGA模块(10)的硬件中断信号线,用于传递过程数据驱动模块(5)向微处理器(1)发起的同步中断信号。


4.根据权利要求2所述的具有双数据通道的EtherCAT主站系统,其特征在于,所述存储模块(4)包括所述的过程数据镜像区(4.1),以及实时发送缓冲区(4.2)、实时接收缓冲区(4.3)、标准发送缓冲区(4.4)和标准接收缓冲区(4.5),其中:
所述的过程数据镜像区(4.1)分别连接过程数据驱动模块(5)和微处理器接口模块(3)中的存储单元控制模块(3.2),由微处理器(1)和过程数据驱动模块(5)互斥访问;所述的实时发送缓冲区(4.2)和实时接收缓冲区(...

【专利技术属性】
技术研发人员:马平苏攀杰刘胜旺叶永盛邓腾飞
申请(专利权)人:广东工业大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1