0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于S3C2440的Ethercat实时

电子工程师 来源: 计算机与信息技术 作者: 廖焕柱 方康玲 曹 2021-04-08 16:20 次阅读

1 引言

工业以太网由于低成本、易于组网和具有相当高的数据传输速率、资源共享能力强以及易于Internet连接等特点[1],使其在工业中应用越来越多。Ethercat技术是德国BECKHOFF公司提出的实时工业以太网技术,它基于标准的以太网技术,具备灵活的网络拓扑结构。系统配置简单,具有高速、有效数据率高等特点,全双工特性完全得以利用[2]。

2 Ethercat技术介绍

2.1 Ethercat的系统组成及运行原理

o4YBAGBuunOAImPKAAA-8nB8L7Y649.png

Ethercat采用了主从介质访问方式,在基于Ethercat的通信系统中,主站控制从站发送或接收数据。主站发送数据帧,从站在数据帧经过从站时读取相应报文中的输出数据。同时,从站的输入数据插入到同一数据帧的相关报文中。当该数据帧经过所有从站并与从站进行数据交换后,由Ethecat系统中末端从站将数据帧返回[3]。图1由一个主站和3个从站组成的线性拓扑结构的简单Ethercat系统。

2.2 Ethercat协议

Ethercat以标准以太网技术为基础,在MAC(媒体访问层)增加了一个确定性调度的软件层,该软件层实现了通信周期内的数据帧的传输。Ethercat采用标准的IEEE802-3以太网帧,帧结构如图2。Ethercat在标准以太网帧结构中使用了一个特殊的以太网帧类型0x88A4,采用这种方式可以使控制数据直接写入以太网帧内,并且可以与遵守其它协议的以太网帧在同一网络中并行。

一个Ethercat帧中可以包含若干个Ethercat子报文,每个报文都服务于一块逻辑过程映像区的特定内存区域,由FMMU(Fieldbus Memory Management Unit)寄存器和SM (SyncManager)寄存器定义,该区域最大可达4GB字节。Ethercat报文由一个16位的WKC(Working Count)结束,其数据区最大长度可达1486个字节。在报文头中由8位命令区数据决定主站对从站的寻址方式,由于数据链独立于物理顺序,因此可以对Ethercat从站进行任意的编址[4]。

o4YBAGBuuoWAOwn4AADGN9i8NrM423.png

图2 Ethercat帧结构

2.3 Ethercat性能

Ethercat整个协议处理过程都在硬件中进行。EtherCAT在网络性能上达到了一个新的高度。1000个分布式I/O数据的刷新周期仅为30μs,其中包括端子循环时间。通过一个以太网帧,可以交换高达1486字节的过程数据,几乎相当于12000个数字量I/O。而这一数据量的传输仅用300μs。100个伺服轴的通讯只需100μs[5]。在此期间,可以向所有轴提供设置值和控制数据,并报告它们的实际位置和状态。分布式时钟技术保证了这些轴之间的同步时间偏差小于1μs [6]。

3 基于ARM的从站节点控制器的硬件设计

Ethercat从站节点的协议部分可以直接利用BECKHOFF公司的从站控制器ESC。ESC从站控制器提供3种接口规范如表1,具体采用哪一种方式可以设置控制器的EEPROM来选择。

表1 接口规范

o4YBAGBuuqCALs5SAADGBhCTQYg900.png

本文设计的Ethercat从站节点硬件包括从站协议控制器、从站CPU和网络接口等部分组成。Ethercat从站中最关键部分是Ethercat协议控制器,它实现Ethercat的物理层与数据链路层的协议。现在市场上有多种Ethercat协议控制器可供使用,如FPGA实现和ASIC实现。从站CPU采用ARM920T核的S3C2440芯片。接口连接方式采用16位异步微处理器方式[7]。从站的硬件实现如图3所示。

其中ARM控制器实现Ethercat对现场任务的收集与调度;Ethercat从站控制器实现Ethercat协议;EEPROM用于保存从站配置数据和从站描述数据;网络接口用于主从站之间或从站与从站之间的连接,根据Ethercat从站控制器的不同网络接口可以分别为2-4个,网络接口采用标准以太网物理层器件就可以。

pIYBAGBuurOAVyPrAABcHqg1doU321.png

图3 从站节点结构框图

4 数据交换

主从站之间交换的数据主要分两种形式:一种是周期性数据;另一种是非周期性数据。周期性数据传输可以根据任务的紧迫性划分其优先级,通过采用EDF算法调度任务,把划分好优先级的任务放入缓冲区供系统调用。缓冲区为在内存中分配的一段空间,两端都可以访问缓冲区中的数据;

非周期性数据采用邮箱方式传输,此时一端写入数据到内存,且只有此段内存写满后另一端才能开始从内存中读取数据,并且只能当内存中的数据全部读出时,才能重新写入数据。针对这两种数据通信方式,从站程序可以对非周期性数据通信采用查询方式,对周期性通信采用中断方式,程序流程图如图4、图5所示[8]。

pIYBAGBuu06AE8moAABoUXjCyVQ695.png

图4 中断方式

o4YBAGBuu16AeJR2AACGxOjiecI598.png

图5 查询方式

5 最小截止优先(EDF,Earliest Deadline First)算法

系统对周期性任务采用最小优先级优先算法进行调度,调度算法在ARM微控制器中实现。处理器对紧迫性事件的处理能力决定了系统处理突发事件的能力,把系统各种需要调度的任务按照紧迫程度用优先级来划分,通过采用最小截止期优先算法来动态优先处理突发事件,很好地提高了Ethercat网络实时性能。

EDF(Earliest Deadline First)是一种动态可抢占优先级实时调度,所有实时任务必须满足以下限制条件:

(1)所有实时任务均为周期任务,且周期大于或等于截止期。

(2)所有实时任务必须在其截止期到来前结束。

(3)所有实时任务相互独立。

(4)所有实时任务具有恒定的运动时间。

任务按周期由大到小排列为

pIYBAGBuu5SANMzMAAAIDKHZhRc228.png

EDF以任务的截止期与当前时刻的距离确定任务优先级(称这一距离为时限距离),距离越近,优先级越高,因此,EDF总是选择当前最迫切需要完成的任务获得处理器。Liu和Layland证明如下:

对于由n个周期任务组成实时任务集,当且仅当:

o4YBAGBuu6WAQnBKAAAP_X8tO9g417.png

其中Ci为计算机时间,该任务集能够由EDF调度。

EDF是最优动态可抢占优先级调度,对于任何实时任务集,只要存在可行的动态调度算法,则必可由EDF调度。需要注意的是,EDF只在出现任务实例就绪时调整任务的优先级。因为在其它时刻,任务实例按时限距离的长短的排序关系不变,因此任务间优先级的排序不变[9]。

6 结束语

EDF算法是对周期性任务的动态优先级调度算法,存在以下缺点:①调度算法是针对周期性任务而言的,没有考虑对实时系统中突发任务(非周期性任务)的调度,且周期任务要求彼此独立。②调度算对周期和时限宽度相同的同步周期任务,即使在处理器利用率很低的情况下,也可能产生不了合理的调度。因此在这种情况下,必须进行调度算法的可行性分析[10]。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16073

    浏览量

    176967
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10798

    浏览量

    210702
  • EDFA
    +关注

    关注

    0

    文章

    24

    浏览量

    12133
  • 工业以太网
    +关注

    关注

    10

    文章

    610

    浏览量

    42302
收藏 人收藏

    评论

    相关推荐

    MHMF082L1C3-MINAS A6BL (EtherCAT) 系列 技术资料 -EtherCAT 通信规格篇- 松下

    电子发烧友网为你提供Panasonic(Panasonic)MHMF082L1C3-MINAS A6BL (EtherCAT) 系列 技术资料 -EtherCAT 通信规格篇-相关产品参数、数据手册
    发表于 11-04 19:22
    MHMF082L1<b class='flag-5'>C3</b>-MINAS A6BL (<b class='flag-5'>EtherCAT</b>) 系列 技术资料 -<b class='flag-5'>EtherCAT</b> 通信规格篇- 松下

    MHMF042L1C3-MINAS A6BL (EtherCAT) 系列 技术资料 -EtherCAT 通信规格篇- 松下

    电子发烧友网为你提供Panasonic(Panasonic)MHMF042L1C3-MINAS A6BL (EtherCAT) 系列 技术资料 -EtherCAT 通信规格篇-相关产品参数、数据手册
    发表于 10-10 19:04
    MHMF042L1<b class='flag-5'>C3</b>-MINAS A6BL (<b class='flag-5'>EtherCAT</b>) 系列 技术资料 -<b class='flag-5'>EtherCAT</b> 通信规格篇- 松下

    MHMF041L1C3-MINAS A6BL (EtherCAT) 系列 技术资料 -EtherCAT 通信规格篇- 松下

    电子发烧友网为你提供Panasonic(Panasonic)MHMF041L1C3-MINAS A6BL (EtherCAT) 系列 技术资料 -EtherCAT 通信规格篇-相关产品参数、数据手册
    发表于 09-10 18:46
    MHMF041L1<b class='flag-5'>C3</b>-MINAS A6BL (<b class='flag-5'>EtherCAT</b>) 系列 技术资料 -<b class='flag-5'>EtherCAT</b> 通信规格篇- 松下

    MHMF041L1C3-MINAS A6B 系列 (EtherCAT) 技术资料 -EtherCAT 通信规格篇- 松下

    电子发烧友网为你提供Panasonic(Panasonic)MHMF041L1C3-MINAS A6B 系列 (EtherCAT) 技术资料 -EtherCAT 通信规格篇-相关产品参数、数据手册
    发表于 09-10 18:45
    MHMF041L1<b class='flag-5'>C3</b>-MINAS A6B 系列 (<b class='flag-5'>EtherCAT</b>)  技术资料 -<b class='flag-5'>EtherCAT</b> 通信规格篇- 松下

    MHMF022L1C3-MINAS A6BL (EtherCAT) 系列 技术资料 -EtherCAT 通信规格篇- 松下

    电子发烧友网为你提供Panasonic(Panasonic)MHMF022L1C3-MINAS A6BL (EtherCAT) 系列 技术资料 -EtherCAT 通信规格篇-相关产品参数、数据手册
    发表于 08-08 18:39
    MHMF022L1<b class='flag-5'>C3</b>-MINAS A6BL (<b class='flag-5'>EtherCAT</b>) 系列 技术资料 -<b class='flag-5'>EtherCAT</b> 通信规格篇- 松下

    MHMF022L1C3-MINAS A6B 系列 (EtherCAT) 技术资料 -EtherCAT 通信规格篇- 松下

    电子发烧友网为你提供Panasonic(Panasonic)MHMF022L1C3-MINAS A6B 系列 (EtherCAT) 技术资料 -EtherCAT 通信规格篇-相关产品参数、数据手册
    发表于 08-08 18:38
    MHMF022L1<b class='flag-5'>C3</b>-MINAS A6B 系列 (<b class='flag-5'>EtherCAT</b>)  技术资料 -<b class='flag-5'>EtherCAT</b> 通信规格篇- 松下

    基于全志T507-H的Linux-RT + Igh EtherCAT主站案例分享

    方法,生动说明Linux-RT + Igh EtherCAT的强大之处!同时,我们对于T3/A40i、T113-i、RK3568、RK3588J、AM62x、AM64x、NXP i.MX 8M
    发表于 07-17 11:18

    MHMF012L1C3-MINAS A6B 系列 (EtherCAT) 技术资料 -EtherCAT 通信规格篇- 松下

    电子发烧友网为你提供Panasonic(Panasonic)MHMF012L1C3-MINAS A6B 系列 (EtherCAT) 技术资料 -EtherCAT 通信规格篇-相关产品参数、数据手册
    发表于 07-04 19:15
    MHMF012L1<b class='flag-5'>C3</b>-MINAS A6B 系列 (<b class='flag-5'>EtherCAT</b>)  技术资料 -<b class='flag-5'>EtherCAT</b> 通信规格篇- 松下

    基于S3C2440和专用DSP的嵌入式四轴运动控制器

     PCL6045BL是一种新型专用DSP运动控制芯片,它具有强大的数据处理能力和较高的运行速度,可以实现高精度的多轴伺服控制。为解决精密制造对低成本、可移植性强的通用型多轴数控系统的迫切需求,文中给出一种基于ARM 微处理器S3C2440与DSP运动控制芯片
    发表于 05-03 10:44 418次阅读
    基于<b class='flag-5'>S3C2440</b>和专用DSP的嵌入式四轴运动控制器

    瑞米派实时系统与EtherCAT移植-米尔Remi Pi

    3.实时性测试 空载测试 <pre class="brush:cpp;toolbar:false" style="
    发表于 04-30 18:14

    STM32有没有EtherCAT实时工业以太网的支持?

    请问各位大虾和STM的技术支持门,STM32有没有EtherCAT实时工业以太网的支持. 谢谢!
    发表于 04-09 06:29

    【正运动】高速高精,超高实时性的PCIe EtherCAT实时运动控制卡 | PCIE464

    提升运动控制的效率和精度,使其成为3C电子制造、半导体、装配、精密加工、锂电和光伏、机器人等领域单机或整条自动化产线的理想选择。PCIE464产品概述PCIE464是一款基于PCI Express
    发表于 01-24 09:48

    S3C2440的SPI0与AD7739通信,S3C2440作为主机,请问波特率应根据什么设置,应设置为多少?

    我用的S3C2440的SPI0与AD7739通信,S3C2440作为主机,请问波特率应根据什么设置,应设置为多少?问题比较低级,请勿见笑。
    发表于 12-22 06:56

    CC-LINKIE转EtherCAT协议具体应用

    实时响应。 在CCLINKIE转EtherCAT协议应用中,CCLINKIE网络中的数据可以通过无锡耐特森CCLINKIE转EtherCAT网关设备转换为EtherCAT协议,然后
    发表于 12-17 13:02

    基于S3C2440的VGA显示技术原理图

    发表于 11-08 08:31 0次下载
    基于<b class='flag-5'>S3C2440</b>的VGA显示技术原理图