您现在的位置: 华玉生活网 >> 技术文库 >> 无线 >> 正文>> 繁体中文

基于SubmergeFrame方法的CAN以太网网关,CAN总线,以太网,网关,SubmergeFrame方法

以太网凭借其成本低、开放性强以及具有广泛的开发、应用软硬件支持等明显优势,已经成为目前应用最为广泛的局域网络技术之一,而CAN总线也以星火燎原之势成为应用最普遍的现场总线之一[1]。由于CAN总线的传输速率受到传输距离的限制,在应用中往往以CAN总线作为现场控制局部网络,连接现场监控设备和高级智能设备,而将以太网作为企业信息传输主干网,连接各个现场控制局部网络,传统的CAN-以太网网关往往无法适应较大规模和重网


以太网凭借其成本低、开放性强以及具有广泛的开发、应用软硬件支持等明显优势,已经成为目前应用最为广泛的局域网络技术之一,而CAN总线也以星火燎原之势成为应用最普遍的现场总线之一[1]。由于CAN总线的传输速率受到传输距离的限制,在应用中往往以CAN总线作为现场控制局部网络,连接现场监控设备和高级智能设备,而将以太网作为企业信息传输主干网,连接各个现场控制局部网络,传统的CAN-以太网网关往往无法适应较大规模和重网络负荷环境,本文对在不改变操作系统、网络协议且不增加硬件成本的基础上实现高效的CAN总线的以太网接入问题的研究具有一定参考价值。

1 嵌入式CAN-以太网网关

网关是一种网络互联设备,一般分为协议网关,安全网关和应用网关,对于嵌入式CAN-以太网网关,由于CAN总线连接的嵌入式节点和智能仪表等与PC机和服务器相比功能较弱,嵌入式节点不直接支持TCP/IC等网络协议,而由网关进行网络协议的转换,所以嵌入式CAN-以太网网关主要作为协议网关。

1.1 嵌入式CAN-以太网网关性能要求

对CAN网关的具体性能要求是与应用类型相关的,不同应用的侧重点及其指标也不一样,一般来说,对CAN网关都有以下要求:

1)实时性。网关的响应要快,不能影响系统的实时性。

2)可靠性。网关须具有高可靠性,能满足工控系统要求,这包括两方面内容:一方面,网关要能够稳定运行;另一方面,在自身出现故障时不影响所在的网络。

3)开放性。由于CAN协议本身并没有对应用层作出规定,在应用中存在各种互不兼容的应用层协议,因此网关需要解决用层协议的兼容性问题。

4)通用性。网关要能直接应用于CAN总线的以太网接入,而无须进行复杂的二次开发。

5)高效性。网关要高效实现网络的无缝互联,而不能构成系统的瓶颈。

1.2 CAN-以太网网关结构

以太网作为企业信息传输主干网接入Internet,CAN总线作为现场控制网络实现服务器与嵌入式控制器之间的信息传输,网关实现二者之间的无缝转换,图1为一种CAN-以太网网关的结构框图。

tr>

本方案以Philips公司的基于ARM7TDMI内核的芯片LPC2294为CPU构建网关,LPC2249支持实时仿真和跟踪,带有256KB高速FLASH存储器,采用LQFP144封装,功耗极低,并带有32位定时器,8路10ADC,PWM通道,9个外部中断以及112个GPIO口(不使用外部存储器时);特别是它带有4路独立的CAN控制器,使得它非常适合于构建CAN网关,由于LPC2294支持内部总线,因此CPU与以太网控制芯片RTL8019之间的硬件连接以及驱动程序的编写都比较简单,但相对于使用带有内置以太网控制器的ARM芯片的网关方案,其抗干扰能力相对较弱,在硬件布线时须充分考虑抗电磁干扰问题。

2 以太网帧与CAN帧分析

在网关效率的研究中,对以太网和CAN总线,特别是对其帧结构的深入理解是必需的。

2.1 以太网网络

以太网是一个局部区域多计算机通信系统,是符合IEEE802.3、ISO/IEC8802-3或IEEE802.12ISO/IEC8802-12标准的,采用冲突检测的载波监听多点接入(CSMA/CD)机制的计算机局域网[2]

以太网帧是以太网网络通信信号的基本单元,是对其进行网络性能分析的基础。以太网发展时间较长,衍生出的相应规范较多,如10Mbps-10BaseT Ethernet(802.3)、100Mbps-Fast Ethernet(802.3u)、1000Mbps-Gigabit Ethernet(802.3z))和10 Gigabit Ethernet(IEEE 802.3ae)等,一般将以太网帧分为数据帧和管理帧。其中数据帧又分为以太网基本帧和VLAN采用的扩展帧等。以太网基本帧和VLAN采用的一种扩展帧结构如图2所示。

图2中:

◇帧前导。0、1交错的56位图形。

◇帧起始符(SOF)。占8位,表示一帧的开始。

◇目的地址与源地址。各占8字节,表示目的和源的MAC地址。

◇帧长度/帧类型(L/T)。2字节,MAC帧内不包括任何填充的数据字段长度或类型。

◇数据。占用的字节数a由数据量决定,须满足a≤1500字节。

◇填充。占用字节数b根据需要而定,须满足a+b≥46字节。

◇帧校验区(FCS)。占4字节,用于帧的差错校验。

需要注意的是,对于基本帧,MAC客户数据区数据最低不能少于46节,最高不能多于1500字节,网络MAC帧的尺寸不能小于64字节,最大不能超过1518字节。这里不包括帧前导和帧起始符两个区域,共计18字节。

2.2 CAN总线

CAN是一种采用多主工作方式、非破坏仲裁技术和接收滤波工作方法的数据通信协议,按照ISO有关标准,CAN的拓扑结构为总线式,因此也称为CAN总线[3]

CAN协议中每帧的数据量都不超过8字节,以短帧多发的方式实现数据的高实时性,纠错能力非常强,传输数据的准确性高,真正的高速网络,传输速率可以达到1Mbit/s。它的通信介质可以是双绞线、同轴电缆或光导纤维[4]

CAN2.0B中存在两种不同的帧结构,其区别在于标识符场的长度。具有11位标识符场的称为“标准帧”,具有29位标识符场的称为“扩展帧”[5]。CAN2.0B协议规定的两种帧结构如图3所示。

图3中:

◇SOF帧起始,由一个显性位构成,占1位宽度;

◇替代远程请求SRR(Substitute Remote Request),占1位宽度;

◇远程发送请求RTR(Remote Transmission Request),占1位宽度;

IDE(IDentifier Extension),占1位宽度;

◇数据长度码DLC,表示数据场的长度,占4位;

◇r1、r0为保留位,各占1位宽度;

◇帧结束,为7个隐性位。

从上述分析中可以看出,CAN协议为了提高实时性采用了短帧结构,而以太网帧相对要长得多,CAN协议采用载波侦听多路存取/消息优先仲裁(CSMA/AMP)机制解决冲突,而以太网帧采用CSMA/CD机制,这两点构成了CAN与以太网之间的主要差异,也是传统CAN-Ethernet网关效率底下的主要原因。

3 Submerge Frame方法研究

3.1 Submerge Frame方法介绍

为了讨论方便,我们称为以太网发往CAN总线的数据帧为“下行的”,而CAN总线发往以太网的帧为“上行的”。

Submerge Frame方法是一种基于隧道技术的处理方法,它包括上行和下行两部分,对于下行数据,以太网中的服务器将即将传输的CAN帧中的前k个作为传输的数据一起打包送入以太网中;嵌入式网关根据规定对以太网帧解包,将恢复的CAN帧按照优先级依次传输。对于上行数据,嵌入式网关将收到的帧按照优先级排队,然后将前k个CAN帧作为传输数据打包送入以太网中,基于Submerge Frame方法的以太网帧结构图4所示,其中1#-k#为k个完整的CAN帧。

Submerge Frame方法的实现过程很简单,它基于优先级对等待服务的需CAN帧进行排队 ,当可以使用媒体时,将队列中的前k个帧合并作为上层数据打包送入以太网。从帧格式可以看出,将CAN帧打包以太网帧和CAN帧数据恢复都非常简单。

Submerge Frame方法并不主动等待k个帧的到来,它总是尽可能地将CAN帧送出,以缩短信息传输延时。

3.2 Submerge Frame方法效率研究

Submerge Frame方法效率包括下行数据效率和上行数据效率两部分。

下行数据效率的关键在于以太网的传输等待时间长短,以太网采用1-坚持CSMA/CD动态信道分配方式。当网络上的任何一个节点需要传递数据时,它首先侦听信道,看其他站点是否有数据传送,如果信道忙,则它就继续等待,直到信道空闲再进行发送尝试,为了方便计算,可以假设在稳定的重负载情况下每帧数据平均发送时间为P,则信道效率η满足[6]

式中,:2τ为每个竞争时槽的时间长度;A为在某个时间槽内一个工作站获得传输媒体的概率。

设以太网各节点发送数据帧的平均帧长为F,网络带宽为B,则上式可以变为:

从式(2)中可以看出,信道效率η由决定,在具体应用环境中以太网中工作站的数目一般是固定的,因此,τ、A、B都是定值。此时,网络的效率帧长F决定,F越大,局域网的效率越高。

从上述分析中已经得知,CAN的帧长为:60-124位(扩展帧),40104位(标准帧)。若简单采用隧道技术,需将其补足46位,在最差情况下,有信息只占信息总量的10%;即使在最好情况下,有效信息也只占信息总量的33.6%,而此时,由于帧长F=64字节,η仅为帧长1518字节时的,可得,在一个有20个节点的100M赫兹交换以太网中,з约为50%。

在实际应用中,由于网络负载随具体情况变化较大,实际应用中Submerge Frame方法处理下行数据的效率也随之变化。总体来说,网络负载越重,传输等待时间就越长,Submerge Frame方法的效率也就越高。

上行数据的讨论集中在网关对接收到的CAN帧的处理上,设CAN总线上由7个发送节点,不妨设这些节点所发送的信息帧的标识符为1,…,N。其中:1#节点所发送的信息帧具有最小标识符,从而具有最高优先级,N#节点具有最低优先级。由于CAN到主发送机制,所以i节点发送信息帧是参数为λi的Poisson过程[7]。就网关内部而言,排队过程是非抢占的。若一次对k个帧进行打包,整个传输过程就形成了一个具有N个优先级的M/G/k队列。

这样,信息帧i的排队时间分为4部分:1)先于i到达且优先级高于i的、还未获得服务的信息帧的服务时间;2)后于i到达、优先级高于i的信息帧的服务时间;3)正在接受服务的信息帧的剩余传送时间;4)以太网阻塞延时。这样,即可得到信息帧i的平均等待时间:

式中:λi为信息帧i的到达率,i=1,…,N;μi为信息帧i的服务率,i=1,…,N;ρi为信息帧i的使用率,ρi=(i=1,…,N)即服务强度;Wi为信息帧i的等待时间,i=1,…,N;Xi为在总线上的传送信息帧i的时间,即占用服务台的时间。

采用常规CAN时的最大排队时间可由非抢占式任务的调度理论获得,这里不再赘述。

从式(3)中可以看出Submerge Frame方法在处理上行数据时可以明显提高传输效率;

◇整个系统的平均服务时间由;

◇服务强度变为原来的1/k,系统稳定的概率更高;

◇缩短了后续帧的等待时间、以太网的阻塞时间以及高优先级CAN帧的传输延时。

3.3 Submerge Frame 方法中的关键问题

Submerge Frame方法实现简单,其效率在于队列k的选择,对于下行数据,k值可以相对固定。下行数据一般由服务器根据控制条件发出,因为可以对发出的CAN帧的数目和目的网络进行充分优化,k值就可以通过对应用的分析得出,对于上行数据,k值的大小与CAN网络节点数量,以太网网络规模、负载以及控制域的条件密切相关,也就是说,CAN总线网络规模越大,以太网负载越重,控制域上报信息和突发事件频度越高,k值也就越大,一般而言,以太网网络实际可用带宽要比CAN带宽大,所以在轻载情况下k值一般不会太大,当发生网络阻塞时,k值会急剧上升,在一定规模的网络中,k值可以得出一个统计学量,在此不做讨论。

由于Submerge Frame 方法中k值和服务等待时间紧密相连,这就形成了网络效率和服务时间之间的矛盾。k值越大,网络效率提高就越多,但也就意味着服务等待时间越长,实时性相对较差,k值越小,服务时间越短,同时伴随着网络效率的下降,在极限情况下就退化成了M/G/1队列,Submerge Frame方法的效率降至最低。

4 结论

Submerge Frame方法是一种被动的状态,即在网络服务时间长时将等待服务队列中的前k个帧合并,使平均服务时间从,从而提高了服务强度,增强了系统稳定性,由于网络实时性更为重要,Submerge Frame方法并不主动等待若干个帧的到来。在实际应用中,网络周期流量构成网络负载的主要部分之一,而这种周期流量的周期往往是可以控制的。基于Submerge Frame方法的CAN-以太网网关已经在安徽省“十五”二期科技攻关项目——井下安全生产数字化平台中得到应用。在应用中通过对周期流量产生时间的充分优化,网关在重网络负载环境中运行稳定,安全达到了预期目标。


  • 扩展阅读
  • 上一个文章:
  • 【返回网站首页】 【返回无线】
  • 下一个文章:
  • 【字体: 】【】【发表评论】【加入收藏】【告诉好友】【打印此文
    文章 软件 电影 商品

    相关文章

    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    | 服务声明 | 充值中心| 华安五金电器 | 收费标准| 论坛| 留言| 实用查询| 会员中心| 下载帮助| 设为首页|

    技术支持:瑞达科技 即时交谈QQ:237013889 QQ群:13810759 E-Mail:237013889@qq.com
    非盈利网站,如有侵权,请来信来电告知,第一时间处理,谢谢!
    桂ICP备17008104号 华玉生活网网站统计
    tj