工业以太网确定性调度的设计与实现.docxVIP

  • 8
  • 0
  • 约3.51千字
  • 约 7页
  • 2022-04-17 发布于天津
  • 举报

工业以太网确定性调度的设计与实现.docx

【Word版本下载可任意编辑】 PAGE 1 - / NUMPAGES 1 工业以太网确定性调度的设计与实现 工业控制网络对网络的实时性要求很高,不仅要求传输速度快,数据传输还要具有确定性。以太网的通信存在不确定性,不能满足实时性要求,成为以太网应用于工业控制领域的主要障碍。本设计实现的实时以太网[2]就是网络中每个节点的通信被严格地限定在规定时间内,确保在同一网段内同时只有一台在发送数据。 1.前言 工业控制网络是一种特定应用的网络,和商业信息网络相比,它具有自身的要求和特点,其中非常重要的一点就是实时性要求高,不仅要求传输速度快,还要求响应快,并且数据传输要具有确定性。以太网的通信调度方式——带有冲突检测的载波侦听多路访问机制(CSMA/CD),是一种非确定性的通信调度方式。网络每个节点要通过竞争来取得信息的发送权:节点监听信道,只有发现信道空闲时才能发送信息。信息开始发送后,还需要检查是否发生碰撞,如发生碰撞,则需等待,等待的时间取决于“二进制指数退避算法”得出的随机延迟[1][4],这种随机延迟为工业通信的数据传输增加了难以防止的不确定性。 2.系统模型 本设计通过在以太网MAC层之上增加确定性调度层,上层采用了EPA[3](EthernetofPlantAutomation)协议的数据封装格式,因此使数据包的类型判断和调度发送时间的获取成为可能。EPA是一种基于工业以太网的现场总线标准,是在控制系统与现场测量、控制装置之间,以及现场测量、执行机构之间开展通信的分布式数字控制系统。这样对所有的上层数据包在整个实时网段范围内开展数据包统一调度发送,从而防止碰撞现象的发生并确保数据传输确实定性要求。通信模型如图1所示: 图1实时以太网通信模型 3.系统设计 本设计是在嵌入式平台下实现的,利用ARM7处理器和Cs8900网络接口芯片搭建的硬件平台开展开发,在同一网段中,每一个运行的设备等同于一个网络节点。 上层采用EPA协议封装,分实时数据和非实时数据开展发送和接收。实时数据到达后,通过实时通信服务接口向下递交,对数据开展缓存处理,等待调度发送。下一个发送周期到来后,将用新的实时数据更新相应缓冲区;非实时通信服务通过OS中提供的BSD接口来提供,但是为了实现确定性的调度,非实时数据包穿越TCP/IP协议栈到达数据链路层时,不允许直接调用硬件驱动接口开展数据包收发操作,而是通过一个虚拟的驱动接口将数据包放入相应的发送和接收队列。修改原E-NIC的驱动接口,使其成为虚拟驱动接口,无法直接将数据递交给硬件驱动,而是入非周期队列。对硬件网卡的收发操作在硬件驱动接口中实现。设计图如图2: 图2以太网确定性调度设计图 确定性调度层负责何时调用硬件驱动接口收发数据帧。当确定性调度层收到数据帧时,根据以太网帧首部的type字段来区分实时数据帧和非实时数据帧。若是实时数据帧,将用收到的实时数据更新相应缓冲区;若是非实时数据,则将其放入相应的接收队列并通过任务通信机制通知上层协议栈数据帧到达事件。确定性调度层的调度表由调度算法生成。 4.主要模块描述 实时通信服务接口、虚拟驱动接口、时钟同步服务和实时调度算法为本设计的四个主要模块。 4.1实时通信服务接口 实时通信服务接口负责为上层应用(协议)提供周期性实时消息的实时通信服务。 周期性实时消息的发送和接收采用缓冲机制,即为本节点在运行过程中要发送的每个周期性实时消息在内存中定义相应的缓冲区,每当上层应用通过实时通信服务接口发送新的消息时,即用该新消息值更新其对应缓冲区中的旧消息值;为本节点在运行过程中要接收的每个周期性实时消息在内存中定义相应的缓冲,每当上层应用通过实时通信服务接口接收新的消息时,则将对应缓冲区中的消息值返回。节点在运行过程中将要发送的每个周期性实时消息必须要有与其对应的已知的目标地址(包括目标MAC地址-用于识别节点,端口号-用于识别实时消息所对应的缓冲区元素)。 实时通信服务接口要提供以下接口函数: (1)RtAppInterface() 创立实时接口函数,用于实时周期性消息的发送和接收。 (2)RtMapping() 将由RtAppInterface()函数创立的接口进程映射到特定的地址(MAC,端口号(即缓冲元素的索引))。 (3)RtSend() 使用已创立和映射完毕的实时接口进程开展实时消息的发送。 (4)RtRecv() 使用已创立和绑定完毕的实时接口进程开展实时消息的接收。 4.2虚拟驱动

文档评论(0)

1亿VIP精品文档

相关文档