基于EtherC AT的机器人自配置总线设计与实现

来源:网络  作者:网络转载   2019-09-22 阅读:304

摘要:在机器人控制系统中,以EtherCAT为代表工业以太网被引入以提高控制数据传输的快速性、稳定性、实时性。本文在EtherCAT的基础上,设计了基于FPGA的专用以太网芯片,可在控制节点自动识别从站节点信息,并自动配置成机器人控制器的软PLC的I/O数据的高速总线系统REEX(Real-timeEtherCAT-basedExtendExpress)。采用此系统,在扩展IO时,将无需修改控制软件,IO端口信息将自动显示在示教器界面,降低了机器人控制系统的使用难度,提高了用户体验。

1引言

随着计算机技术的高速发展,现场总线组网内部的从设备的处理能力得到了巨大的提升,每个从设备节点对数据的需求也随之高涨,同时同一子网内组网设备的数量要求也有较大提升,这就对现场总线的带宽提出了很高的要求。而传统现场总线无法满足这种需求。

以太网(Ethernet)作为一种高带宽的设备间传输方式,具有①数据传输距离长、传输速率高、数据包容量大,②使用通用以太网元器件,性能价格比高的特点,完全满足了上述需求。其中工业以太网是以太网技术在工业领域的应用,由于其在性能、成本等多方面的优势,现已逐渐取代传统的现场总线成为工业现场通信的主流技术。

目前工业界主流的以太网协议主要有EtherCAT、EthernetPowerlink、PROFINetRT/IRT、SERCOSIII、Ethernet/IP、ModbusTCP等,这几种工业以太网协议也被IEC收录进了IEC61158标准第四版中,并得到了大量的应用。

主流工业以太网为兼容IEEE802.3标准,主站多采用标准以太网硬件,同时也导致主站软件功能复杂,开发难度大,使用不灵活,价格昂贵等问题。特别大多数的商业主站对从站的配置是静态的,不具备动态的自配置功能,或者需要用户支付高昂的授权费用。

机器人控制系统中,EtherCAT工业以太网总线越来越多的得到应用。EtherCAT数据刷新周期短,可用于工业的现场的实时控制,1000个分布式I/O数据的刷新周期仅为30usM,分布式是种技术保证了轴与轴之间的同步时间偏差小于1us。

EtherCAT从站物理层接口有MII和EBUS两种类型。MII是标准的以太网物理接口,使用外部PHY芯片;EBUS是使用LVDS标准定义的物理层,无需外部PHY芯片,作为EtherCAT扩展总线使用。EBUS的优点在于取消了PHY芯片,消除了数据传输在PHY上的传输延时;但缺点是只适合短距离传输,同时EBUS只是在物理层上做了修改,在应用层上,通过EBUS扩展IO,在大多数商用EtherCAT主站上也无法做到自适应。

针对这种情况,本文设计了一种适用于机器人控制系统的,以EtherCAT总线为基础,使用ESC芯片+FPGA芯片作为专用以太网硬件对EtherCAT做出扩展,具有自配置功能的高速总线系统,是能够解决设备热插拔、自配置等需要高价购买的功能,同时又能提供媲美其他工业以太网总线性能的系统,我们称之为基于EtherCAT的高速扩展总线REEX(Real-timeEtherCAT-basedExtendExpress)总线系统。

2系统整体架构

为实现设备热插拔、自配置等功能,REEX总线系统中的控制节点,如图1所示,要具有一定的处理能力来处理总线的状态,同时,控制节点又可以作为机器人控制系统中的某个从节点将总线上的设备信息、状态等数据反馈给机器人主控单元。

为了能够实现在同一个MCU内部集成ESC从站协议栈以及REEX主站协议栈,由于通用操作系统,譬如Linux等,实时性能无法达到ESC从站协议的要求,只能采用具有高实时性的RTOS来实现。控制节点MCU在RTOS下直接驱动2个网口作为ESC从站网口,同时驱动SPI接口与控制节点FPGA通讯,完成REEX主站协议栈。

REEX总线从站节点,如图2所示,存储有自身节点的节点号、节点类型、数据长度等信息,并具有数据转发功能,能够在短时间内从以太网帧中取数据、存数据,并快速的将以太网数据帧转发给下一节点。同时,在需要处理能力的从节点中,譬如模拟量AI/AO模块,编码器Encoder模块等,需要在该节点中增加具有处理能力的MCU。

2.1系统拓扑

常见的网络拓扑结构有:星型结构、环型结构、总线结构、分布式结构、树型结构、网状结构、蜂窝状结构等,如图3所示。

以太网拓扑结构跟带宽占用率有很大关系,一个数据包能够包含所有节点的数据并且拥有遍历所有节点的传输路径是提升带宽利用率的有效途径。

从常见网络拓扑来讲,线型以及环型拓扑结构中,数据包遍历所有节点的路径较短,且专用以太网硬件避免了总线仲裁等开销,是带宽利用效率最高的拓扑结构。EtherCAT和SERCOSIII等总线的常用拓扑结构也选择了线型结构。

如图4所示,REEX采用了线型结构,最大程度的利用了带宽。

2.2专用以太网芯片

之前的介绍中提到了REEX总线采用了专用以太网硬件以规避在整个数据链路上的数据包冲突。由于FPGA的灵活性以及强大的性能,可以用来作为实现专用以太网MAC芯片的功能,从而更高的利用通讯带宽,提升了数据的传输效率。

在某些种类的从站中,需要用到MCU来挂载外设,譬如驱动AD/DA芯片等。MCU与FPGA之间通过SPI进行通讯。

REEX控制节点和从站节点的以太网链路层均采用了FPGA来替代通用MAC的功能。整个REEX链路上,所有数据帧的发送与接收都是由FPGA来实现的。REEX网络模型如图5左侧所示,图中右侧为标准ISO/OSI参考模型分布。REEX的控制节点和从站节点的网络模型是一致,只是传输层的处理协议不同。

由于为了能够更高的利用带宽,减少数据传递过程中无用数据的数量,FPGA对以太网数据帧的格式进行了修改,形成了REEX所特有的帧结构,如图6所示。

FPGA接收处理流程如图7所示。FPGA的FIFO接收上一节点所发送或者转发的数据帧后,将数据帧中本节点的内容取出,存入FIFO,同时将本节点上一周期从外部获取的数字量或者模拟量等数据更新到FIFO的相应位置,稍后将FIFO的内容转发给下一节点。同时,对接收缓冲区的数据进行初步解析,根据接收到的命令来执行不同的任务。

图8所示为FPGA发送处理流程。FPGA在接收流程中将FIFO数据更新完毕后,会置位FIFO_SOF以及FIFO_DV,触发发送流程。FPGA还包含了任务处理、自配置、地址配置模块等。任务处理模块会分析数据帧的内容,根据不同的命令来执行相应的自配置、地址配置、复位、时间同步等任务模块。

2.3控制节点

控制节点是整个REEX网络的核心,管理着REEX的所有节点。控制节点的MCU通过对该节点的FPGA的控制,来驱动整个REEX正常工作。

REEX通讯过程分为通讯复位、自动检索、板号设置、时间同步、周期通讯等几个过程,如图9所示。

通讯复位:MCU设置FPGA总线复位寄存器,命令FPGA向总线环路发送通讯复位帧,从而初始化整个通讯过程。

自动检索:MCU向FPGA发起自动检索命令,FPGA向总线环路发送自动检索帧,并等待自动检索帧的返回。返回的检索包内按照物理链路的顺序存放了所有从站节点的信息。MCU将这些信息存入共享内存中,并自动分配对应长度的数据区,使得ESC从站协议栈能够获取到REEX的数据。

板号设置:MCU可向FPGA发起板号设置命令,FPGA向总线环路发送板号设置帧,并等待该帧返回。

时间同步:MCU发起同步命令,FPGA向总线环路发送时间同步帧,各从节点测量传输延时,并进行补偿。

周期通讯:MCU发起周期通讯命令,FPGA将周期性的向总线环路发起数据交换帧。

3系统集成及测试

机器人控制系统采用了开放式的控制架构,使用了CODESYS软件平台提供了软PLC编程环境,同时集成了EtherCAT主站功能。

在此架构下,我们通过REEX总线的控制节点所提供的ESC从站协议栈,可以方便的将REEX总线集成到机器人控制系统中。

如图10所示,REEX的数据区映射在机器人控制系统的EtherCAT数据区中,通过IO映射,可以将这部分数据区传递到机器人示教器系统中。这样,从用户角度来看,在示教器系统中即可观察到REEX总线的数据了。

使用本文所述的基于以太网的自配置高速总线系统,应用在新时达机器人控制柜SRC2.6版本上,控制新时达SP120码垛机器人。REEX总线共挂载DI/DO/AI/AO多种从站板卡,控制周期2ms,能够提供高速、可靠的IO扩展能力。

4结论

本文设计了一种基于EtherCAT,使用FPGA作为专用以太网芯片的自配置高速总线系统,REEX总线。通过使用自定义的FPGA模块替代了通用以太网MAC层芯片,在数据链路层上实现了REEX数据传输模型。同时基于自定义的REEX传输模型,在应用层实现了自配置功能,并将REEX总线数据映射到机器人控制系统的示教器界面,实现了无需人工配制即可扩展物理IO的功能,简化了机器人操作的步骤,提升了用户体验。

标签: 总线
打赏

免责声明:
本站部份内容系网友自发上传与转载,不代表本网赞同其观点;
如涉及内容、版权等问题,请在30日内联系,我们将在第一时间删除内容!

购物指南

支付方式

商家合作

关于我们

微信扫一扫

(c)2008-2018 DESTOON B2B SYSTEM All Rights Reserved
免责声明:以上信息由相关企业或个人自行免费发布,其真实性、准确性及合法性未证实。请谨慎采用,风险自负。本网对此不承担任何法律责任。

在线咨询

在线咨询:

QQ交流群

微信公众号