版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于基于FPGAFPGA的工的工 业以太网实时性业以太网实时性 研究研究 基于基于FPGAFPGA的工业以太网实时性的工业以太网实时性 研究研究 目 录 第一章 绪论 第二章 工业以太网实时性提高的解决方案 第三章 提高工业以太网实时性的方案选择 第四章 工业以太网实时性研究平台的设计实现 第一章 绪论 1、以太网及其在工业上的应用 (1)什么是以太网 以太网是指OSI参考模型中的物理层和数据链路层规 范,相当于IEEE802.3规范。在IEEE802.3规范中,数据链 路层被分为LLC子层和MAC子层。 工业以太网典型应用体系结构 1.1 一个典型的支持工业以太网应用的结构一个典型的支持工业
2、以太网应用的结构 (2)以太网用于工业控制领域 90年代中期,当现场总线大战正浓时,传统上用于办 公室和商业的以太网开始逐渐进入工业控制领域。 随着工业自动化系统不断向分散化、智能化的实时控 制的发展, 以及Intranet/Internet等信息技术的飞速发展, 加上工业以太网本身的优越性,以太网更是走向前台,发 展迅速。 (3)以太网用于工业控制领域的优势 开放性好,是一种标准的开放式网络; 数据传输率很高; 资源共享性好; 易于与Internet连接; 投入成本低; 2、FPGA应用于工业以太网优点 FPGA 内部实现PHY和 MAC,使用不同的协议或是用户 改变执行命令,只需根据具体需
3、要改写FPGA 的配置文件。 这种多协议方法大大降低了开发成本,减小编码量。 FPGA 逻辑电路是可编程的,I/O管脚支持多种协议,现 有的IP 接口应用广泛,所以在现有的应用处理器和FPGA 之间很容易实现通信信道。 3、以太网应用于工业控制系统时需要解决 的问题 实时性不确定性的问题; 工业环境适应性问题; 防暴和安全性问题; 新老网络兼容问题; 这些问题中实时性、确定性及可靠性问题是长期阻碍 以太网进入工业控制领域的主要障碍。 第二章 工业以太网实时性提高 的解决方案 1、工业以太网的实时性分析 以太网从信息发送到信息接收之间的全部通信延迟,称 作端到端的通信延迟。它主要包括下面几个部分
4、:a、排队 延迟;b、发送延迟;c、传输延迟。 如果用Tdelay,Tqueue,Tsend和Ttrans分别表示通信 延迟、排队延迟、发送延迟和传输延迟,则有: Tdelay= Tqueue+Tsend+Ttrans 2、工业以太网实时性的解决方案 改进以太网实时性的途径有: 1、从以太网技术本身寻找解决方法,包括改进以太网存取 控制方法、采用全双工交换式以太网、采用信息优先级调度算 法、采用虚拟局域网(VLAN)技术等; 2、采用实时以太网协议,包括采用在TCP/IP之上进行实时 数据交换方案(如Ethernet/IP )、采用经优化处理和提供旁路 实时通道实时扩展的工业以太网协议体系结构
5、的通信协议模型 (如Profinet V2、Modbus/TCP)、采用集中调度提高实时性 的解决方案(如EPA、Profinet V3、Powerlink)、采用类似 Interbus现场总线“集总帧”通信方式提升以太网实时性能 (如EtherCAT)。 采用实时以太网协议 (1)Ethernet/IP实时以太网 Ethernet/IP实时以太网技术是由controlNet国际组 织CI、工业以太网协会IEA 和开放的DeviceNet供应商协 会ODVA等共同开发的工业网络标准。 Ethernet/IP实时扩展成功之处在于TCP/IP之上附加 CIP(common industrial p
6、rotocol),并在应用层进行 实时数据交换和运行实时应用,其通信协议模型如图2.1 所示。 图图2.1 Ethernet/IP通信协议模型通信协议模型 (2)Modbus-IDA实时以太网 Modbus-IDA实时扩展的方案是为以太网建立一个新 的实时通信应用层,采用一种新的通信协议RTPS(real- time publish/subscribe)实现实时通信,该协议的实现 则由一个中间件来完成。Modbus-IDA通信协议模型如图 2.2 所示。 图图2.2 Modbus-IDA通信协议模型通信协议模型 (3)ProfiNet实时以太网 ProfiNet构成从I/O级直至协调管理级的基
7、于组件的分 布式自动化系统的体系结构方案。ProfiNet通信协议模型 如图2.3所示。 IT应用 HTTP SNMP DHCP 标准参数实时数据 TCP/UDP IP RTIRT 实时 实时转换器ASIC Profinet应用 实时 以太网 图图2.3 ProfiNet通信协议模型通信协议模型 从图中可以看出,ProfiNet提供一个标准通信通道和两 类实时通信通道。标准通道是使用TCP/IP协议的非实时通 信通道,主要用于设备参数化、组态和读取诊断数据。实 时通道RT是软实时SRT(Software RT)方案,主要用于过 程数据的高性能循环传输、事件控制的信号与报警信号等。 它旁路第3
8、层和第4 层,提供精确通信能力。为优化通信功 能,ProfiNet根据IEEE 802.1p定义了报文的优先级,最多 可用7 级。实时通道IRT 采用了IRT(isochronous real- time)等时同步实时的ASIC 芯片解决方案,以进一步缩短 通信栈软件的处理时间,特别适用于高性能传输、过程数 据的等时同步传输、以及快速的时钟同步运动控制,在 1ms时间周期内,实现对100多个轴的控制,而抖动不足 1s。 (4)Ethernet Powerlink 实时以太网 Powerlink协议对第3和第4层的TCP/UDP/IP栈进行了 实时扩展。增加的基于TCP/IP的Async中间件用
9、于异步数 据传输,Isochron等时中间件用于快速、周期的数据传输。 Powerlink通信协议模型如图2.4所示。 应用层 AsyncISOChron TCPUDP IP CSMA/CD 以太网 PowerLink 图图2.4 Powerlink通信协议模型通信协议模型 从图中看出,Powerlink栈控制着网络上的数据流量。 Ethernet Powerlink避免网络上数据冲突的方法是采用 SCNM(slot communication network management) 时间片通信网络管理机制。SCNM能够做到无冲突的数据 传输,专用的时间片用于调度的等时同步传送的实时数据; 共
10、享的时间片用于异步的数据传输。在网络上,只能指定 一个站为管理站,它为所有网络上的其它站建立一个配置 表和分配的时间片,只有管理站能接收和发送数据,其它 站只有在管理站授权下才能发送数据,为此Powerlink 需 要采用基于IEEE 1588的时间同步。 (5)EPA 实时以太网 EPA网络拓扑结构如图2.5所示:它由两级网络组成,即 过程监控级L2网和现场设备级L1网。现场设备级L1网用于工 业生产现场的各种现场设备(如变送器、执行机构和分析仪 器等)之间以及现场设备与L2网的连接。过程监控级L2网主 要用于控制室仪表、装置以及人机接口之间的连接。无论是 L1网还是L2网,均可分为一个或几
11、个微网段。 为了提高网络的实时性能,EPA对ISO/IEC 8802.3协议 规定的数据链路层进行了扩展,在其之上增加了一个EPA通 信调度管理实体(communication scheduling management entity,简称EPA -CSME)。EPA-CSME不 改变IEC8802.3数据链路层提供给DLS-User的服务,也不改 变与物理层的接口,只是完成对数据报文的调度管理。该数 据链路层模型如图2.6所示。 (5)EPA 实时以太网 EPA网络拓扑结构如图2.5所示: 图2.5 EPA网络拓扑结构 图2.6 EPA数据链路层模型 在一个EPA微网段内,所有EPA设备的通
12、信均按周期 进行,完成一个通信周期所需的时间T称为一个通信宏周 期。通信宏周期T分为两个阶段,第一阶段为周期报文传 输阶段Tp,第二个阶段为非周期报文传输阶段Tn。 图图2.7 EPA通信周期发送示意图通信周期发送示意图 第三章 提高工业以太网实时性的方案 选择 本系统采用MODbus协议实现工业以太网的实时 性。 通过分析MODbus工业以太网所遵循的MAC层 中的CSMA/CD通信机制,给出了针对现有技术 的以太网通信延时的解决方案,同时给出了基于 BEB算法的改进算法。 通过对MODbus协议构成的分析,并在采用了套 接字与多线程技术的基础上,设计出基于 MODbus协议工业以太网通信的
13、二层网络。 这样的以太网协议可以实现工业现场的数据快速 通信,提高工业以太网的实时性。 1、Modbus协议简介 Modbus是工业控制网络协议的一种,是施奈德 公司最先倡导的一种通信协议,经过大多数公司 的实际应用,已经逐渐被认可,成为一种标准的 通信协议。 Modbus为用户提供了一种开放、灵活和标准的 通信技术,降低了开发和维护的成本。通过此协 议,控制器相互之间、控制器经由网络(例如以太 网)和其它设备之间可以通信。 (1)Modbus协议传输模式 当在Modbus网络上通信时,协议决定了每个控 制器需要设备地址,识别按地址发来的消息,决 定要产生何种行动。如果需要回应,控制器将生 成
14、反馈信息并用Modbus协议发出。 (2)查询一回应循环 MODbus协议周期由“查询”和“回应”组成,一直处于两者循环中 ,其原理图如图3.1所示: 图3.1 查询-回应周期及原理 (2)查询一回应循环 查询:查询报文中的功能代码告之被选中的从设备 要执行何种功能。 回应:如果从设备产生正常的回应,在回应报文中 的功能代码是在查询报文中的功能代码的回应。 (3)Modbus的消息帧 Modbus的消息帧有以下几种模式: ASCII模式: RTU模式: 图3.2 ASCII模式 图3.3 RTU模式 (4) Modbus功能码 Modbus定义的功能代码范围为1127,不同功 能的设备往往只使
15、用其中的一部分。在主机要求 传输中,功能代码告诉从机要执行一个什么动作 。在从机响应传输中,如果从机发送的功能代码 与主机发送的功能代码相同,则表明从机己执行 所要求的功能;如果不同则表明从机没有执行所 要求的功能,返回了一个错误信息。 2、通信延时分析 当信息从一端发送到另一端接收时,这之间的全 部通信延迟,称作端到端的通信延迟 。它主 要包括排队延 、发送延迟 和传输延迟 ,则有: = + + delay T queue T send T trans T delay T queue T send T trans T 3、提高通信实时性的方案 随着技术的发展,以太网取得了巨大的进步,其 中交
16、换式以太网技术的发展与应用大大的改善了 以太网技术中由于CSMACD介质访问方式产生 的不确定问题,它与快速以太网、千兆以太网技 术结合,使以太网的实时性得到了很大的改善。 本系统在modbus协议的基础上,采用了改进的 BEB(二进制指数后退算法)算法,能够很好改 善系统的实时性。 (1)BEB算法介绍 以下用表示退避时间,Max_Backoff表示退避上限时 间,Collision表示冲突次数Max_Exponent 表示最大 退避指数,Max_Collision表示最大冲突次数,Slot表 示时间槽,即数据在最长路径上来回传输的时间。BEB 算法中Max_Exponent=10,Max_
17、Collision=16。节 点发现冲突后等待的退避时间TBackoff为时间槽Slot 的整数倍,这个整数是从0到退避上限之间随机选取的 。即: =nSlot,n0,Max_BackoffnR 其中,退避上限为: Max_Backoff = 1 i = min10, Collision,Collision16 Backoff T i 2 (2)BEB算法的局限性 局限一: 由以上对BEB算法的介绍可以知道:BEB算法不利 于实时信息的传送。这里所说的实时信息是指必 须在一定的时限内完成传输的信息,一旦超过这 个时限该信息就失效了。而在BEB算法下,冲突 次数Collision越大的信息其退避
18、上限 Max_Backoff,就越大,这个信息等待的退避时间 就有可能越长,从而导致该实时信息超时的概率 加大。 (2)BEB算法的局限性 局限二: 当网络重载时,采用BEB算法可能会导致捕获效应的产 生。即首先发送成功的节点会被尝试计数器清零,使 Collision=O。 (3)算法改进 改进算法是在CSMACD协议的基础上,通过修 改其冲突退避算法BEB的退避上限Max_Backoff 来提高网络对实时信息的处理能力。 问题的关键在于选择避让上限。因为避让上限 Max_Backoff越大,可以选择的时间间隙系数范 围更广。避让时间就可能会长一些,导致延迟时 问比较长。 (3)算法改进 那么
19、,可以提出一种假设,动态地缩小避让上限 Max_Backoff ,n的选择范围相应变窄,进而缩小 避让时问的选择范围。问题也就转化为动态地缩小i 的取值,以前的取值是i=min10, Collision。随 着碰撞次数Collision的增大,其避让上限就会越来 越大。反过来考虑会发现:随着碰撞次数Collision 的增大,反而使避让上限越来越小,分析流程如图 3.4。 (3)算法改进 图3. 4分析流程图 (3)算法改进 用数学表达式表示为: Max_Backoff= -1 i=max1,MAX_Exponent - f(Collision)+1 CollisionMax_Collisio
20、n 函数f()可以根据每个节点的不同实时性要求分别 设置不同的函数。但所选取的函数必须为单调递 增函数。实时性要求高的节点k可以取大一些。 i 2 RkkCOllisionCollisionf,)( 1)效果一 改进算法实现了实时信息优先级的动态提高,随 着冲突次数Collision的增大,其退避上限渐减小 ,最小时为1。从而退避时间随机选取范围也就减 小,最小时为0或1倍的Slot。这样就增加了实时 信息的竞争成功概率。 2)效果二 BEB算法的捕获效应是由于单个节点长时间占用总 线,导致其它节点无法发送信息造成的。而在上述 改进算法下,首次尝试发送的信息一旦遇到冲突后 ,其冲突次数Coll
21、ision为1,即得其退避上限 Max_Backoff=1023,得退避时间 为0到1023 中随机选取的整数倍个时间槽Slot,这样就大大降 低了该节点竞争成功的概率,进而减小了一个节点 长时间占用总线的可能性。 Backoff T 四 工业以太网实时性研究平台的 设计实现 基于FPGA的网络节点的设计 1、工业以太网实现方案 以太网的实现方案有多种,现行的大体上可以分为以下 几种: (1)基于单片机的以太网的设计 现阶段使用较多的单片机有:51系列、AVR系列、PIC 系列以及凌阳系列。这几种单片机的工作频率普遍不高(基 本不超过50MHz),所以基于低端单片机的以太网一般是实 现10M以
22、太网。另外一般单片机片内的RAM比较小,所以若 需要获取较高的实际传输速率,则需要外扩RAM。 针对未集成EMAC和EPHY的芯片,我们可以考虑两种方 案:一是选择网络控制芯片以及相关的网络接口设计以太网 接口电路,二是选择合适的以太网模块,在此基础上进行开 发。两种设计方案如下图1、图2所示。 图图 1 未集成未集成EMAC、EPHY的单片机以太网设计硬件的单片机以太网设计硬件方案一方案一示意图示意图 图图 2 未集成未集成EMAC、EPHY的单片机以太网设计硬件的单片机以太网设计硬件方案二方案二示意图示意图 (2)基于DSP或ARM的以太网的设计 现在的DSP以TI的DSP为主流,所以这里
23、也以TI的DSP 来做说明。TI的DSP有以下几种类型:C2000系列、 C5000系列、C6000系列和达芬奇系列。 一般来说C2000系列、C5000系列的DSP片内没有集 成EMAC模块,C6000系列和达芬奇系列片内集成了 EMAC模块。所以针对C2000、C5000系列单片机其硬件 设计方案与图1所示设计方案基本一致,只是DSP性能一 般优于单片机,所以可以选择实现100M以太网。 对于C6000系列、达芬奇系列的DSP由于其资源丰富、 工作频率高,可以实现100M或1G以太网。与C2000的实 现不同的是,图1所示的硬件设计方案中的以太网控制器 (EMAC+PHY)需要换成以太网收
24、发器(只是集成了 PHY)。 (3)基于FPGA的以太网的设计 现场可编程门阵列FPGA融合了以太网的知识产权核心模 块、RTE协议以及其他工业网络标准,FPGA让设计师可以设 计一个单一平台上支持任何一种通讯标准。这不仅减少了影 响因素,也节约了时间。设备制造商可以用合理的价格为其 自动化产品加入标准联网功能,同时由于FPGA的再编程能 力在系统中保持了设计的灵活度。通过使用预置的可以实施 复杂和特殊功能(比如微处理器或者DSP功能)的知识产权 核心模块,FPGA配置的效率大大提升了。这些IP核心模块在 不同的设计、不同规格的FPGA设备之间都可以很容易的实 现重用,甚至对于新一代的FPGA
25、设备也是如此。 2、基于FPGA的工业以太网的设计刘流程 图图3 FPGA开发流程图开发流程图 3、以太网在FPGA上的实现 (1)系统硬件模块 图图4 系统硬件结构系统硬件结构 系统硬件结构模块如图5所示,系统包含:电源、时 钟、隔离变压、网口、JTAG等部分。其中比较关键的隔 离变压电路如图所示,包含滤波电路、变压电路、LED显 示部分。 图图5 隔离变压电路隔离变压电路 (2)系统软件设计 FPGA内部结构简单的可以分为一下几部分:时钟管 理模块,NIOS内核,MAC模块,PHY模块以及其他部分。 其中时钟管理模块负责整个系统时钟的提供,是系统正常 运行的重要部分;NIOS内核是FPGA
26、设计的一大特色,相 当于一个可以任意配置的CPU;MAC模块负责帧数据的 发送接收等工作;PHY模块负责数据的解码编码工作。将 MAC和PHY在FPGA内部实现,当需要修改协议的相关内 容时,不需要更换芯片或者是重新制版,只需要修改相应 模块即可,其内部结构框图如图6所示。 图图6 FPGA内部结构内部结构 图图7 系统的内部实现整体图系统的内部实现整体图 以太网上位机的设计以太网上位机的设计 本文根据对工业以太网的分析,结合实验研究的基本 要求,对节点采集到的信息以及网络传输的相关的情况做 详细的表现。上位机分多个模块分别对整个系统的相关信 息进行获取,对软件的数据流向做出了详细的分析设计,
27、 并且可以对节点进行控制。系统整体框架如图8所示: 1、上位机的结构 上位机软件总体可以分为三个模块:通信与网关控制 模块、数据库存储查询模块、节点信息管理模块。 上位机结构图如图8所示: 图图8 上位机结构图上位机结构图 通信与网关控制模块主要负责数据监听线程, 终端原始数据解析分类,响应帧处理; 数据库存储查询模块主要负责向SQL存储其他 模块传输的数据,更新管理数据表,查询数据窗 口界面显示,访问数据库提取相应数据信息等; 节点信息管理模块主要负责界面显示,节点状 态显示,节点拖动管理,移动节点定时刷新,实 时数据显示,网络拓扑结构显示,网关控制台、 节点网络数据处理,离线节点、新加入节
28、点处理, 数据发送打包管理,查询控制命令号,节点报警 决策分析。 2、各个模块的设计 上位机的各个模块能够正常运行,根据系统的需求, 对各个模块做相应的设计,是其更好的完成系统要求完成 的任务。 模块间接口定义是表明各个模块之间的数据交流以及 相互关联,三个数据接收模块都是通过线程来监听数据, 并对监听到的数据进行分类处理,同时将数据发送到数据 库存储模块,对于数据部分则发送到节点信息管理模块, 此模块对数据进行处理,判断是否超警戒以及更新界面显 示数据等,并访问数据库,提取警戒信息进行综合判断, 模块间的接口关系具体见图9。 节点信息管理模块可以向数据库存储查询模块发送数 据查询命令,数据库存储查询模块返回节点数据与状态信 息;同时节点信息管理模块还可以像通信与网关控制台模 块发送控制命令,通信与网关控制台模块返回相关节点的 数据;数据库存储查询模块中的节点数据也是由通信与网 关控制模块发送的。 图图9 上位机模块间接口描述上位机模块间接口描述 (1)通信与网关控制模块的设计 此模块采用UDP通信协议,采用命令帧的形式来配置 终端设备,控制命令类型有14种,被动接收数据类型有3 种,有选择性的运用其中46种控制命令,对终端设备进 行配置。此模块还完成控制命令的响应帧处理,对被动接 收数据类型进行分类处理,将离线事件和新加入网络事件 分别发送给节点信息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论