现场总线是应用于现场、实现节点间双向串行数字式通信的系统,这几年发展很快。目前,企业设备级的控制普遍采用现场总线技术。在现场总线的控制系统中,连接到现场总线上的仪器仪表均具有网络通讯功能,这样使得工厂现场级的设备连接成网,然后通过现场设备网可以和企业级的Intranet网互连,甚至连上Internet。现场总线技术使得企业控制朝信息化、网络化的方向发展,使得控制系统更易于扩充和维护;另一方面,现场总线的各个设备均具有独立的控制功能,使得控制功能分散,减轻了主控制器的负荷,可进一
步降低系统的成本,分散风险,提高可靠性。
但是,现场总线的发展目前受到多方面的限制,一个方面的限制是由于现场总线的标准太多(目前国际上已有40多种现场总线),难以实现互操作性,也难以达到开放性的初衷;另外一个方面,现场总线控制系统弱于传统DCS控制系统的一个方面就是传输速度太慢,而且目前各现场总线已经达到性能(如响应时间、带宽等)的极限,不能适应新的更高要求的控制应用需求。
目前,全社会都在讲究创新,在控制领域也要求创新,所谓创新包括新的理论和新的技术。IT行业发展很快,不断产生新的设备和新的标准,如果能将这些新的技术引进到控制领域,无疑也是一种创新。因此,对于现场总线的限制,目前已经有许多新的思想提出解决方案。有人从计算机网络得到启发,将广泛使用的计算机互连局域网——以太网引入到现场总线领域,产生了工业以太网。本文则提出采用新的技术——火线(firewire)即IEEE1394,来代替已有的现场总线。一方面可以大幅度提高性能,降低成本,另一方面以改进的标准1394协议代替各种现场总线标准,可消除目前现场总线领域中的“战国”现象。
2IEEE 1394简介
IEEE 1394即火线(Firewire)是美国苹果公司率先提出的一种高品质、高传输速率的串行总线技术。1995年被IEEE认定为串行工业总线标准,命名为1394—1995,后来又在其基础上增加了被称为1394a的附加规范。近年又计划提出新的1394b规范。世界几大计算机公司包括IBM、Apple、Micrososft等都支持这种总线。虽然目前多数计算机不含1394的接口,但越来越多的迹象表明,1394将成为一种新的串行总线标准,得到广泛使用。
1394本来主要应用于实时多媒体领域,例如消费电子应用,如数码摄像机,DVD,数字VCRs以及音乐系统。在PC机上,它主要用于大容量存储器以及打印机、扫描仪之上,作为这些设备的数字化高速接口。由此看出,1394作为一种标准总线,可以在不同的工业设备间架起一座沟通的桥梁。对于PC机而言,采用1394的典型意义在于,在一条1394总线上可以接入63个设备,大大减少了计算机外设接口的数量。
1394的主要特点包括:
(1)支持多种总线速度,适应不同应用要求。1394a支持的速度范围为100Mbps,200Mbps和400Mbps,其中支持100Mbps和200Mbps的总线设备已经推出。1394b支持的速度更高,为800Mbps,1600Mbps和3200Mbps。不象USB,在一个1394系统中,各种速度的设备可以共存,但不互相影响通讯速度。
(2)即插即用,支持热插拔。这就意味着在任何时刻,用户均可以将设备加入到总线中或从总线中移去而不必关掉电源或重新启动计算机。总线控制器会自动重新配置好设备。每个设备的资源均由总线控制自动分配,用户不作任何繁琐的配置工作。
(3)支持两种传输方式。即同步和异步的传输方式。设备可以根据需要动态地选择传输方式,总线自动完成带宽分配。异步传输方式类似于内存映射I/O总线方式,此时,它类似于PCI总线,任何设备可以在64位的地址空间内进行读写操作。异步传输实际上是由一个发送应答行为组合而成的,对于不同的传输速度,异步包的大小是不一样的。同步传输(又称等时传输)方式下,一个重要的特点是总线控制器为每次传输保证足够的带宽。它不是用地址空间而使用频道进行数据的传输。每个频道有一个频道号,发送方和接收方在指定号的频道上进行数据的读写操作。同步周期为125μs。两种传输方式可以适用不同的传输要求:在要求实时传输并对数据的完整性要求不严格的场合,可采用同步传输方式。如果对数据的完整性要求较高的话,采用异步传输方式更好。
(4)支持点到点通信模式。和USB的主从式结构不同,1394是多主总线(类似于PCI),每个设备都可以获取总线的控制权,与其他设备进行通信。这使得设备的直接互连成为可能。
(5)遵循ANSI IEEE1212控制及状态寄存器(CSR)标准,该标准定义了64位的地址空间,可寻址1024条总线的63个节点,每个节点可包含256TB的内存空间。
(6)支持较远距离的传输。普通线缆环境下,两个设备之间的最大距离可达到4.5 m(高级线缆可达15 m),使用中继器可以延长两个设备间的距离至72 m,跨越最多16个中继器。1394b规范支持多介质传输,用玻璃光缆或5类双绞线传输,设备间距离可达100 m以上。
(7)1394支持公平仲裁原则,为每一种传输方式保证足够的传输带宽。同时,支持错误检测和处理。
(8)1394六线电缆具有电源线,可传输8~40 V的直流电压,某些特定的节点可通过电源线向总线供电,其他节点可以从总线获取能量。
1394总线的物理拓扑结构包括两种类型,一种是总线底板结构,还有一种是电缆结构,这两种结构之间要通过总线桥连接,本文主要讨论采用电缆环境的1394。从物理结构来讲,1394的电缆是由6根屏蔽双绞线组成,其中两对双绞线用于信号的传递,另外一对用于供应电源。1394a标准的附录中还规定了一种4根导线的可选无源连接电缆。
3IEEE 1394的协议结构
1394的协议栈由3层组成:物理层、链路层以及事务层。另外还有一个管理层。物理层和链路层由硬件构成,而事务层主要由软件实现。如图3—1所示。
物理层提供了1394的电气和机械接口,它的功能是重组字节流并将它们发送到目的节点上去。同时,物理层为链路层提供服务,解析字节流并发送数据包给链路层。
链路层提供了给事务层确认的数据包服务,包括:寻址、数据组帧以及数据校验。链路层还提供直接面向应用的服务,包括产生125 μs的同步周期。链路层支持两种传输模式。链路层的底层(对应于OSI的介质访问层,也有的书上将它归为物理层)提供了仲裁机制,以确保同一时间上只有一个节点在总线上传输数据。
事务层为应用提供服务。它定义了3种基于请求响应的服务,分别为read、write和lock。事务层只支持异步传输。同步传输服务由链路层提供。
管理层定义了一个管理节点所使用的所有协议、服务以及进程。电缆环境下,1394定义了两大类管理。总线管理(BM)以及同步资源管理(IRM)。BM包含总线的电源管理信息、拓扑结构信息以及不同节点的速度极限信息,以便协调不同速度设备之间的通信。IRM管理同步资源,如可用频道信息以及带宽的分配。可充当管理层角色的节点是可选的。
一般来讲,物理层以及链路层由电路来实现,通常集成在一芯片上。而事务层是由软件来实现的。由此可以看出,1394定义了分层的协议结构,这使得它更适合于网络应用,通过各协议层的配合工作,可以为终端用户提供可靠、快速的通信服务。
4IEEE 1394用于现场总线的可行性
上面介绍了1394的特点,下面结合现场总线的应用需求讨论一下1394用于现场总线的可行性。主要从1394的栈协议层上探讨这种可行性。我们知道,大部分现场总线对OSI7层模型进行了简化,只保留了物理层、链路层以及应用层。1394实际上也包含了3层协议栈,即物理层、链路层和事务层。下面,我们从各层协议入手,探讨1394如何满足工业现场的需要。
4.1物理层
现场总线的物理层定义了数据传输所需的机械、电子或光学的特性。物理层主要负责传输位(bit)信息。现场总线物理层的能力由收发器的驱动能力和位编码方式来体现。另外,物理层应该使物理连接更方便。就位编码方式而言,大多数现场总线使用曼彻斯特编码和NRZ方式;收发器的形式因总线而异,常用的是RS-485。
从前面1394物理层的特点可以看出,1394物理层提供了在串行总线上高性能传输数据比特包所需的物理和机械接口。1394的即插即用特性使得在该总线上添加设备和删除设备的工作很简单。物理层数据传输的位编码采用的是DS(DataStrobe数据选通编码),相对于曼彻斯特编码而言,该编码方式可以降低数据传输占用的带宽,提高数据的传输速率,同时简化编码和解码电路。1394接口采用5线/4线电缆,用6针或4针连接器进行连接。它代替了大多数传统现场总线使用的RS485接口,获得了更好的传输速度。表4—1是RS485接口和1394接口之间性能的主要差别。
由表4—1可以看出,除了在传输距离一栏逊于RS485以外,1394在其它的物理特性方面均强于RS485,将1394用于现场总线,势必获得更佳的物理特性。
4.2数据链路层
对于现场总线来说,数据链路层的作用很重要。工业应用要求传送高可靠、高实时的数据。
1394数据链路层的下述特性可以保证数据传输的实时性:
(1)1394定义了两种传输事务,同步传输和异步传输事务。同步事务,又叫等时事务,是指以固定的时间间隔(125μs)在指定的信道向一个或多个节点传送数据。由此可见,等时传输可以保证充分的实时性。1394为同步传输保留了80%的总线带宽,这可以保证足够的实时性能。但实时传输有一个缺点,它是一种无应答的传输方式,不保证所传输数据的完整性,但可以保证已接收到数据的正确性。
异步传输事务类似于内存映射的IO总线的模式如PCI。使用异步传输的节点、使用64位的地址空间对总线上的节点进行访问。异步传输方式是一种确认的传输方式,它可以保证传输的可靠性,但是实时性差于同步传输模式,为保证异步传输的实时性,1394规范规定:异步传输必须至少占有20%的传输带宽。
(2)为保证每个节点获得对总线的公平访问权限,1394提供了4种仲裁服务:公平仲裁服务;优先级仲裁服务;立即仲裁服务以及等时仲裁服务。前3种仲裁方式适用于异步传输方式。对于每一个参与异步传输的节点,1394通过公平间隔规则保证每个异步节点都有机会获得通信权,通过优先给仲裁服务保证实时性要求高的节点对总线的优先使用权利,通过即时仲裁服务返回确认包以保证发送和接收的正确性。等时钟裁服务为等时数据的传输提供仲裁服务。另外,1394a还定了一些增强的仲裁服务以便更好地提高运行效率。1394数据链路层还采取了一些措施保证传输的可靠性。同步事务每一个同步包,均含有CRC域,目的站点可以根据该域判断已接收的数据正确与否。
1394链路层的这些特性,使之能较好地适应工厂应用的要求。
4.3事务层
现场总线上的各个仪器仪表之间的通信主要依赖于异步通信包进行的。为保证异步传输的进行,为应用层提供相应的服务,1394专门为异步传输定义了事务层。
ISO七层协议框架和现场总线协议框架中并没有规定事务层,1394中增加的事务层并不多余,而是为了更加可靠地保证异步数据的传输。由于1394用于现场总线时,在其上传输的数据包大部分为异步数据包,这些异步事务由事务层进行管理,因此,事务层的作用较重要。事务层的功能类似于传输层,它提供了节点和节点之间的可靠传输。
事务层定义了3种服务:
(1)读:请求者从响应节点的特定空间读取数据。
(2)写:请求者向一个或多个响应者的某地址空间写数据。
(3)锁定:请求者向响应者某个地址空间写数据,然后由响应者处理该数据再返回给请求者。
事务层提供的这种反复确认服务,可以保证异步传输的正确性,对现场总线的应用很有帮助。
4.4应用层
现场总线应用层的主要作用提供变量、事件、中断以及程序的处理和传输服务。不同的现场总线,由于其功能出发点不一样,因此对应用层的定义也不一样,应用层的复杂度正比于被控制设备的复杂度。不同于OSI标准中规定的应用层标准,工业现场总线的应用层要定义得越简单越好,这主要是为了缩短数据包的长度,减少数据包处理时间,增加数据包传递的快速性。
1394并没有单独定义真正的应用层,这主要是由于在传输层、链路层和物理层定义了较强的功能。应用层的功能由事务层(异步传输)以及数据链路层(同步传输)来实现。由于1394总线的事务层对异步事务的传输提供了可靠的服务,因此,应用层传输的可靠性高。
51394用于现场总线的不足
在现阶段,1394并不能完全取代现有的现场总线标准,主要是1394还有许多不足:
5.11394的传输距离太短
5.21394没有完整的应用层
1394没有提供处理时间和空间实时数据的服务,也没有提供变量服务,没有提供数据的编码和解码服务等。因此,在某些应用场合,需要为1394定义一个应用层。Philippe Dellemagne为火线的工业应用定义了一个应用层[3]。
5.31394的两种传输模式需要进行完善
工业现场需要传递的特点是少量、高实时、高可靠性。1394的同步传输模式可以保证传递的实时性,并能同时传递大量的数据,但对数据的传输完整性不做保证。这样,可能在传递过程中发生数据的丢失现象。对于某些场合,这种丢失可能会引起问题。更适合于工业现场应用的异步传输模式,但总线上的节点数据多时,特别是同步传输的节点增加时,其传输的实时性会受到影响。这些问题需要在总线配置、节点配备、软件等方面加以考虑。
5.41394是一项新的技术,其技术标准还在不断变化和提高中。
目前1394的推广使用还不是很普及。
总之,由于1394并不是针对工业现场应用而定义的,要将1394用于工业现场,必须完善其协议,按照工业应用的具体要求定义合适的应用层协议,同时,对已有物理层协议和链路层协议进行改进。
6结论和展望
1394本来是为PC和消费电子领域开发的新的互连标准,其成本低廉、传输速度高,适合于实时性要求高,短距离的工业网络中使用。目前,1394在仪器仪表工业已有成功应用的例子,如HP公司率先推出E8491A仪器系统[7]。另外,在1394行业联盟之内也成立了一个由Andreas Schloissnik领导的仪器与工业控制工作组(Instrumentation And Industrial Control Working Group,IIWG),其目标是定义将1394应用到仪器仪表和工业控制中所需的协议。目前,该工作组定义了以下的规范:
(1)工业映像传感器(照相机)规范(Industrial Image Sensors(Cameras));
网址:www.1394tacom/Technology/Specifications/Descriptions/IIDC-Spec-v1-30.htm
(2)工业应用的基本点到点传输协议(Basic peer to peer transfer protocol for industrial applications)
网址:www/1394tacom/Technology/Specifications/Descriptions/iicp1.0.htm
(3)GPIB1394命令映射集(Mapping GPIB(IEEE488)command over 1394)
网址:www.1394tacom/Technology/Specifications/Descriptions/iicp4881.0.htm)
(4)即将完成的工业用连接器规范(Industrial type connector specification)和将要着手制定的带声音信号的映像传感器规范。
该工作组定义了用电子仪表和工业控制设备的高效1394异步通信协议IICP,用以取代通行的GPIB。IICP协议在已有的1394三层协议之上加上IICP层以及IICP488层。这两层协议位于客户软件或设备软件之下,起到类似次应用层的作用[6]。相信在不久的将来,会看到工业现场总线中的1394产品。