企业简介

作为中国自动化领域的权威旗舰网络媒体,控制网创立于1999年7月,是中国举行的第十四届IFAC (International Federation of Automatic Control)大会的中国官方组织机构的唯一指定网站。控制网是中国自动化学会专家咨询工作 委员会(ECC)的秘书处常设之地。是北京自控在线文化传播有限公司开设的网站。

  • 公司类型:其他

联系方式
  • 控制网
  • 地址:北京市海淀区上地十街辉煌国际2号楼1504室
  • 邮编:100085
  • 电话:010-57116291 / 59813326
  • 传真:010-59813329
  • 网址:http://www.kongzhi.net
  • Email:mahongliang@kongzhi.net
  • 联系人:市场部
案例详细
标题ARCNET局域网的协议剖析和应用技术
技术领域工业以太网
行业
简介
内容

 曾祝林,刘凤芳

1  引言
ARCNET最初由美国Datapoint公司于1977年成功开发并用于办公局域网中,后来以太网以其更快的传输速率和大量的数据传输量使办公室网络的需求由ARCNET转向以太网。而ARCNET时间的确定性,数据传输的可靠性和组网的灵活性,使其在工业实时控制系统中找到了新的应用途径―嵌入式控制系统的应用。
ARCNET广泛应用于实时控制的各个领域,诸如印刷、电力、船舶、铁路运输、楼宇自动化等领域都可以见到它的身影。
ARCNET常常嵌入到具体系统中,国外很多仪器设备都设有ARCNET网络接口标准。目前全球已有大约1000万个ARCNET节点应用于工业控制领域中[2]。国内的应用也有一定发展,一些技术人员开始尝试用ARCNET网络构造实时控制系统,完成国外进口产品的升级换代。但其发展还远远不够,为了更好地推广ARCNET技术,促进工业自动化的发展,本文从ARCNET的技术及应用等角度,加以介绍。
2  ARCNET工作机制
ARCNET局域网采用了优化的令牌总线协议(IEEE802.4),除了具有令牌总线网的一般特点外,还具有如下特点:
①  网络中每个节点保存有下一个节点的逻辑地址,可以生成一个网络活动节点地址表。
②  为了避免目的节点没有空闲缓冲区而引起信息的丢失,设置了空闲缓冲区查询帧,通过查询可以减少不必要的数据重传,提高了网络运行效率。
ARCNET是一个真正开放标准协议,1999年成为美国国家标准ANSI/ATA878.1。从OSI参考模型来看,它提供了网络的物理层和数据链路层服务,说明ARCNET能方便地在两个节点之间实现数据包的发送和接收。
2.1  逻辑环的建立
在ARCNET网络中,每个节点均有一个唯一的MAC(Medium Access Control)地址,其取值范围为0~255,其中0是网络广播地址。每个节点在系统初始化或重构时确定它在逻辑环中的下一个节点,并将下一个节点的ID值保存在各自专用的寄存器NID(Next ID)中,并按MAC地址从小到大的顺序构成一个逻辑环路。图1是一个典型的4个节点的逻辑环。

       
    a 网络拓扑结构                 b 逻辑环
图1  逻辑环的建立

令牌作为一组独特的信号序列,沿着逻辑环从一个节点传向逻辑邻居(而非物理邻居),因而与节点在网络上的物理位置以及网络的拓扑结构无关。
2.2  节点的进网或退网
当一个节点加电或840ms(2.5Mbps速率下)没有收到令牌时,它即发出一个重构脉冲,使总线终止一切活动,造成令牌丢失,从而引发系统重构。经过重构形成新的逻辑环,新节点也就加入网络中。重构时间的多少取决于网上节点的多少和数据传输速率的大小,通常为20~30ms。
当一个节点由于故障或断电而退出网络时不需要进行整个逻辑环的重构,因为当逻辑环的上一个节点(存有退网节点的ID值)向它发送令牌时,不可能收到它的响应,因而令牌发送者将它的NID值加1,重发令牌,直到收到响应,即找到逻辑环中新的下一个节点为止(实际上新的下一个节点就是故障节点在原逻辑环的下一个节点),节点的退网也就完成。
根据现场实际情况,多数网络故障是节点故障,对于ARCNET网络,只需该节点退网,即可保证网络中其它节点正常工作。由于节点退网无需网络重构,因而网络故障恢复时间很短。
网络中节点的增加或退出都是由网络自动完成,不需外界的介入。
2.3  数据的接收和发送
ARCNET局域网的数据传输速率为156.25K~10Mbps,其用户数据的长度为0~507字节,有两种ARCNET数据帧模式,其中短帧模式用户数据的最大长度为253字节,长帧模式用户数据的最大长度为507字节,只要按一定的格式将用户数据写入协议控制器内置的2K RAM中,在数据发送时,协议控制器会自动将其组织到ARCNET的数据帧中。传输数据在协议控制器内置的2K RAM中的存放格式如图2所示。

                        地址      短帧模式            长帧模式 

0

SID

0

SID

1

DID

1

DID

2

256-N

2

0

.

未用

3

512-N

.

DATA 1

.

未用

.

DATA 2

.

DATA 1

.

.

.

DATA 2

.

.

.

.

.

DATA N-1

.

DATA N-1

255

DATA N

511

DATA N

N为用户数据的长度;SID为源节点地址;DID为目的节点地址;DID为0表示广播地址
图2  传输数据在2K RAM中的存放格式

在数据传送的过程中,一旦源节点CPU将待发的用户数据写入协议控制器的内部RAM,在该节点持有令牌时,相当于接收到令牌传送帧(ITT,Invitation to Transmit,简称令牌),首先向目的节点发送一个空闲缓存查询帧(FBE,Free Buffer Enquiry),查询目的节点是否有足够的接收缓存,目的节点如有,则回答一个确认帧(ACK, Acknowle-dgement),否则回答一个否认帧(NAK, Negative Acknowledgement)。源节点只有收到来自目的节点的ACK帧后才向其发送一个含有用户数据的数据帧(PAC, Packet)。如果目的节点收到了数据,且通过了CRC校验,则回送一个ACK帧,告诉源节点数据接收成功,否则目的节点不回发任何信息,导致源节点超时,源节点认为数据发送失败,等下一次收到令牌时重发该数据帧,至此节点传输过程结束,令牌被传递给下一个节点。图3是节点156向节点255发送数据包的具体过程。

                
a 等待令牌信号             b 检查是否可发送

                    
     c 可发送回答确认               d 送出数据

                 
              e 发送完成                    f 令牌传向下一个节点
图3  数据的传送过程

ARCNET支持广播消息。广播消息发出后无需回送确认帧,通过消息广播一次可以将消息传送给网络上的所有节点,可见广播速度很快。
3  ARCNET局域网的性能分析
3.1  安全机制
ARCNET局域网通过下列几种途径确保数据的安全传输。
① 数据发送前通过发送FBE帧对目的节点的接收准备进行确认。
② 每个数据帧中都含有一个CRC-16的帧校验序列。
③ 一旦令牌丢失,将引发重构,自动重构网络。
④ 协议控制器提供强大的网络故障诊断功能。
此外,由于协议控制器内置2K RAM,可储存8页短帧模式的用户数据和4页长帧模式的用户数据。即使节点CPU不读取RAM中的数据,数据充满RAM也无关紧要,当RAM要溢出时,节点CPU在收到FBE帧时可回送NAK帧,使RAM不再接收数据,此时源节点将不再发送数据,将令牌传送给下一节点,因此,即使某一节点无法通信,整个网络也不会锁闭。
3.2  数据吞吐量和总开销
由于ARCNET使用令牌传送机制来仲裁节点对网络的访问权,因而网络性能在时间上是可预测的或可确定的。正是由于ARCNET的时间可确定性,使其在工业实时控制领域中的应用经久不衰。
反映局域网性能的一个重要参数就是“一个节点在能够发送信息之前必须等待的时间”,这个参数表示了各个节点每秒钟能发送的信息数,也就是网络的吞吐量。
在2.5Mbps的数据传输速率下,ARCNET协议控制器执行简单的令牌传送约需28.2µs(协议控制器响应时间12.6µs+令牌码传送时间15.6µs),因而令牌绕逻辑环一周的传递时间为28.2×Nnodes(µs),Nnodes为网络中活动节点数,一个节点从接收到令牌到发送数据为止,共需117.2µs的处理时间,传输每个字节需11个时钟周期,一个字节的传输时间为11×400ns=4.4µs(速率为2.5Mbps时,每个时钟周期为100ns)。因此令牌绕逻辑环一周最坏情况下的传输时间是网上每个节点均有数据需要发送,其大小可表示为(28.2+117.2+4.4×Nbytes)×Nnodes(µs) (Nbytes为每个数据包发送的字节数),因而等待时间Tw的范围为:
28.2×Nnodes µs<Tw<(145.4+4.4×Nbytes)×Nnodes µs
若一网络中活动节点数为100个,令牌环绕一周约有2%的节点需要发送信息,其信息包的总长度为100字节,则一个节点发送数据的等待时间为:
Tw=(145.4+4.4×100) ×100×2%+28.2×100×98%=3934µs
即一个节点在一秒钟内可发送约256个信息包。事实上Datapoint公司的实验表明即使在一个具有175个节点的重载网络中,节点有信息发送的次数与总的具有令牌的次数之比也很少超过2%[3]。由此可见ARCNET局域网的性能是很高的。
此外从数据传输的效率来看,若一个节点信息包的长度253字节,其传输总时间为145.4+4.4×253=1258.6µs,传输数据所花时间为4.4×253=1113.2µs,数据传输效率约为88%(1113.2/1258.6×100%=88%),也是相当高的。
3.3  几种流行的现场总线协议比较

表1  几种流行的现场总线协议的性能比较

从表中看出,这几种网络的性能各有特点,PROFIBUS在PLC组网中应用较多,CAN在底层设备上的应用有着鲜明的特点,LONWORKS则具有支持较多的通信介质和全面的上层软件的特点。而ARCNET传输速度快,数据量大,支持多种网络拓扑。此外,与工业以太网相比,ARCNET采用令牌传递方式数据传递更可靠。因此,从控制网络层次上看,若将子系统分成三个层次:设备级、控制级和信息级,则ARCNET协议是控制级上的最佳选择。
4  ARCNET局域网的组网技术
ARCNET局域网的组网相当灵活,用户可以有多种组合。由于ARCNET协议支持多种拓扑结构,诸如总线型、星型、树型、环型网(ARCNET协议本身不支持环型,但经过开发商提供的特殊的集线器可以组成环网)。至于传输介质,一般有三类通信介质可供选择:同轴电缆、双绞线和光纤,这些介质各有利弊,如果网络中使用有源HUB,则三种介质可以混合使用,由此可见ARCNET组网的灵活性。
4.1  最大网段长度的确定
对于局域网工程应用而言,网络中网段的长度是一个需要关注的问题。网段是指一个完整的网络中去掉HUB之后若干部分中的任何一个,在无集线器网络或总线网络中,整个ARCNET网络就是一个网段,所有节点都连接到这个网段上。而有集线器的网络就有多个网段组成。一个网段允许的最大电缆长度取决于所使用的收发器与电缆类型,表2给出了几种典型的电缆和网络拓扑结构下网段上最大电缆的长度和最大节点数的参考指标[5]。

表2  几种典型的通信介质和网络拓扑结构下的网段长度
 

注意:(1) 最大网段的长度是以标准电缆的衰减和最坏情况下收发器的功率预算为基础算出的;(2) 最大节点数不包括HUB端口(因为其内部无协议控制器),但是网段最大电缆长度包括连接到HUB端口的电缆长度。
4.2  协议控制器和收发器的选用
ARCNET的协议全部由硬件完成,称为ARCNET协议控制器,因而减轻了节点CPU的开销和软件设计周期,提高了效率。
早期的协议控制器的收发缓存必须另外扩展2K RAM,因而其芯片的引脚较多,体积较大,而且对网络的诊断功能不强。笔者曾使用COM90C65设计ARCNET局域网,由于其诊断功能不足,只有通过增加软件开销来加强网络管理功能,但是效果不佳,在产生活动节点地址表方面也颇费周折,而对令牌的监视则束手无策。尽管后来的COM90C66将2K RAM内置到协议控制内部,但是使用上还存在许多不便。近几年推出的COM 200系列芯片,无论在结构上和功能上都作了很大改进,使开发人员应用更为便捷,而且在组网上提供了更多的灵活性,如通过对内部寄存器的设置可灵活改变数据传输速率,根据网络中节点数目的多少设置重构时间,以得到更短的重构时间,进一步提升了系统的可靠性和快速性。通过某些寄存器的配合使用,较少的软件开销,便可得到网络节点活动地址表以及网络的故障信息,大大方便了网络管理。
在收发器方面与早期的为2.5Mbps优化的双脉冲收发器相比,收发器的尺寸减少了很多,而且可以工作在10Mbps的传输速率下,当传输距离相对较短时,设计者可以选择成本较低的RS-485收发器。市场上可以购买到日本Standard Microsystem公司生产的ARCNET收发器,它能很好地工作在10Mbps下,而且输出电压较早期有很大的减少。
4.3  软件开发
早期的ARCNET网络部件的开发环境不是很好,这在一定程度限制了它的应用。笔者当初设计ARCNET应用系统时,网络装置的调试和应用程序的开发占用了许多精力。如今ARCNET开发商对这些环节做了很大改进,有很多的开发工具可供选择。
根据应用层面和使用人员的层次,开发商们提供了灵活的部件。如各种类型的ARCNET网卡和丰富的ARCNET集线器可供用户选择,并提供相应的驱动程序。其中的空协议栈驱动是嵌入式网络普遍采用的方式,在这种方式中,数据链路层可以直接和应用层对话,用户在应用程序中根据自己的需要定义协议。当传输速度非常重要,而与其他系统的连通性要求不高时,这种方式是最好的选择。
如果用户自行设计网卡,则提供基于PC机的调试软件和驱动程序的源代码供用户参考。更为便捷的是某些供应商还提供开发装置的仿真板和网络分析仪,以方便设计人员分析网络的性能,进一步缩短开发周期。
5  结语
由于ARCNET网络具有传输时间的确定性,网络组建的灵活性和数据传输的可靠性,在实时控制系统中有着广泛的应用,甚至有观点提出ARCNET已成为现场总线技术应用的三个层次中不可或缺的部分。国内的设计人员也开始关注ARCNET网络技术,并在设备改造和国外配件的升级换代方面做了成功的尝试。笔者希望通过本文的介绍,起到抛砖引玉的作用,促进ARCNET在国内的进一步应用,以丰富现场总线控制技术在我国的发展。