基于S3C2440的Ethercat实现

发布时间:2022-12-21  

  1 引言

  工业以太网由于低成本、易于组网和具有相当高的数据传输速率、资源共享能力强以及易于Internet连接等特点,以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。以太网与IEEE802·3系列标准相类似。以太网最早由Xerox(施乐)公司创建,在1980年,DEC、lntel和Xerox三家公司联合开发成为一个标准。以太网是应用最为广泛的局域网,包括标准的以太网(10Mbit/s)、快速以太网(100Mbit/s)和10G(10Gbit/s)以太网,采用的是CSMA/CD访问控制法,它们都符合IEEE802.3。


  2 Ethercat技术介绍

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

  

 

  EtherCAT 是开放的实时以太网络通讯协议,最初由德国倍福自动化有限公司(BeckhoffAutomaTIon GmbH) 研发。EtherCAT为系统的实时性能和拓扑的灵活性树立了新的标准,同时,它还符合甚至降低了现场总线的使用成本。EtherCAT的特点还包括高精度设备同步,可选线缆冗余,和功能性安全协议(SIL3)。通过采用EtherCAT技术, Beckhoff突破了其它以太网解决方案的这些系统限制:不必再像从前那样在每个连接点接收以太网数据包,然后进行解码并复制为过程数据。当帧通过每一个设备(包括底层端子设备)时,EtherCAT从站控制器读取对于该设备十分重要的数据。同样,输入数据可以在报文通过时插入至报文中。在帧被传递 (仅被延迟几位)过去的时候,从站会识别出相关命令,并进行处理。此过程是在从站控制器中通过硬件实现的,因此与协议堆栈软件的实时运行系统或处理器性能无关。网段中的最后一个EtherCAT从站将经过充分处理的报文返回,这样该报文就作为一个响应报文由第一个从站返回到主站。


  2.2 Ethercat协议

  Ethercat主张"以太网控制自动化技术" 。它是一个开放源代码,高性能的系统,目的是利用以太网协议(最惠国待遇系统局域网),在一个工业环境,特别是对工厂和其他制造业的关注,其中利用机器人和其他装备线上的技术。Ethercat采用标准的IEEE802-3以太网帧,帧结构如图2。Ethercat在标准以太网帧结构中使用了一个特殊的以太网帧类型0x88A4,采用这种方式可以使控制数据直接写入以太网帧内,并且可以与遵守其它协议的以太网帧在同一网络中并行。一个Ethercat帧中可以包含若干个Ethercat子报文,每个报文都服务于一块逻辑过程映像区的特定内存区域,由FMMU(Fieldbus MemoryManagement Unit)寄存器和SM (SyncManager)寄存器定义,该区域最大可达4GB字节。Ethercat报文由一个16位的WKC(Working Count)结束,其数据区最大长度可达1486个字节。在报文头中由8位命令区数据决定主站对从站的寻址方式,由于数据链独立于物理顺序,因此可以对Ethercat从站进行任意的编址。

  

 

  图2 Ethercat帧结构

  2.3 Ethercat性能


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

  ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。


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

  表1 接口规范

  

 

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


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

  

 

  图3 从站节点结构框图

  4 数据交换

  主从站之间交换的数据主要分两种形式:一种是周期性数据;另一种是非周期性数据。周期性数据传输可以根据任务的紧迫性划分其优先级,通过采用EDF算法调度任务,把划分好优先级的任务放入缓冲区供系统调用。缓冲区为在内存中分配的一段空间,两端都可以访问缓冲区中的数据;非周期性数据采用邮箱方式传输,此时一端写入数据到内存,且只有此段内存写满后另一端才能开始从内存中读取数据,并且只能当内存中的数据全部读出时,才能重新写入数据。针对这两种数据通信方式,从站程序可以对非周期性数据通信采用查询方式,对周期性通信采用中断方式,程序流程图如图4、图5所示。

  

 

  图4 中断方式

  

 

  图5 查询方式

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

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


  EDF全称Earliest Deadline First。最早截止时间优先算法(EDF)也称为截止时间驱动调度算法(DDS),是一种动态调度算法。EDF在调度时,任务的优先级根据任务的截止时间动态分配。截止时间越短,优先级越高。如果一个任务集负载U<=1,则是可调度的。EDF 调度算法已被证明是动态最优调度, 而且是充要条件。处理机利用率最大可达100% 。但瞬时过载时, 系统行为不可预测, 可能发生多米诺骨牌现象, 一个任务丢失时会引起一连串的任务接连丢失。所有实时任务必须满足以下限制条件:

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

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

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

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

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

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

 

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

  

 

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

  EDF是最优动态可抢占优先级调度,对于任何实时任务集,只要存在可行的动态调度算法,则必可由EDF调度。需要注意的是,EDF只在出现任务实例就绪时调整任务的优先级。


  6 结束语

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

文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>