首页 理论教育现场总线数据链路层及其子协议详解

现场总线数据链路层及其子协议详解

【摘要】:对于没有链路活动调度能力的设备来说,它的数据链路层要对来自总线的链路数据做出响应。最后是帧校验,基金会现场总线数据链路层所使用的是循环冗余校验。数据链路层还支持一些子协议,如链路维护、LAS传输和调度传输等。

数据链路层(DLL)位于物理层与总线访问子层之间,为系统管理内核和总线访问子层访问总线媒体提供服务。在数据链路层上生成的协议控制信息可以对总线上的各类链路传输活动进行控制。总线通信中的链路活动调度,数据的发送与接收,活动状态的检测、响应,总线上各个设备间的链路时间同步,都是通过数据链路层来完成的。在每个总线段上有一个媒体访问控制中心,称为链路活动调度器(LAS)。LAS具有链路活动调度能力,可以形成链路活动调度表,并按照链路活动调度表生成各类链路协议数据,链路活动调度是该设备中数据链路层的重要任务。对于没有链路活动调度能力的设备来说,它的数据链路层要对来自总线的链路数据做出响应。

LAS拥有总线上所有设备的清单,由它来掌管总线段上的各个设备对总线的操作。任何时候每个总线段上都只有一个LAS处于工作状态,总线上的设备只有得到LAS的许可,才能向总线上发送数据。因此LAS是总线上的通信中心。

基金会现场总线的通信活动可分为两类:受调度通信和非调度通信。由LAS按照预定的调度时间表周期性发起的通信活动,称为受调度通信。在预定的调度时间表之外的时间,通过得到令牌的机会发送信息的通信方式称为非调度通信。受调度通信和非调度通信都是由LAS掌管的。此外,LAS还负责一些其他功能,它定期地对总线段发布数据链路时间和调度时间。LAS还监视着总线段上的设备,为新入网的设备找一个未被使用的地址,并把新设备加入到活动列表中;对于总线上对传递令牌没有反应的设备,也就是失效设备,从活动表中除去。

在功能上,DLL可以分成两层,即访问总线和控制数据链路的数据传输。

1.数据链路层中的介质访问功能

并不是所有的总线设备都可以成为链路活动调度器。按照设备的通信的能力,基金会现场总线把通信设备分为3类。

(1)基本设备

基本设备是那些能够接收并响应令牌的设备。所有设备包括LAS和桥均具有基本设备的功能,接收并响应令牌。

具有令牌的设备可以在总线上发送数据,在某一时刻,只有一个设备持有令牌。LAS提供给设备两种令牌:一种称为应答令牌,对所有的设备进行轮询,具有周期性;另一种称为授权令牌,这是在特定的时间段内访问总线,具有非周期性。

(2)链路主设备

链路主设备是那些能够成为LAS的设备,其中具有最低节点地址的成为LAS,其余的作为备份。LAS有以下5项主要功能:

1)维护调度,发送令牌给网络设备

2)探查未使用地址,将其分配给新设备,并加到活动表上。

3)在链路上周期分配数据链路时间和链路调度时间。

4)发送授权令牌给设备,进行无调度数据传输控制。

5)监视设备响应授权令牌,从活动表上删掉不能使用或不能返回令牌的设备。

(3)桥

当网络中几个总线段进行扩展连接时,用于两个总线段之间的连接设备称为网桥。网桥属于链路主设备,它担负着下游的各个总线段的系统管理时间的发布,因此必须是LAS,否则无法对下游各段的数据链路时间和应用时钟进行再分配。

一个总线段上可以连接各种通信设备,也可以挂上多个链路主设备,但是一个总线段上同时只能有一个LAS,没有成为LAS的链路主设备起着后备LAS的作用。

2.数据链路层中的数据传输功能(www.chuimin.cn)

现场总线基金会在数据链路层中提供了3种传输数据的机制,一种无连接数据传输,两种面向连接的数据传输,分别对应于现场总线访问子层FAS的3种VCR类型。

(1)无连接数据传输

无连接数据传输是在两个数据链路服务访问之间的独立数据单元的排队传输。DLL不需要控制报文和应答信息。

(2)面向连接的分布数据传输

这种传输是发布者的数据协议单元在缓冲器之间的传输。数据单元只有发布者地址,索取者知道所要接收的信息来自哪一个发布者。

这种传输是用户和服务器间的协议数据单元的排队传输。用户的VCR端点作为初始端,发送建立连接的请求给服务器,由服务器决定是否建立连接。这种连接提供有序和无序两种连接。很明显,这种数据传输类型用于FAS中的客户/服务器VCR。DLL层很重要的一个作用是组装信息帧。基金会现场总线共定义了24种帧,分别用于各种服务。

DLL的帧结构如图7-8所示。

978-7-111-55649-7-Chapter07-9.jpg

图7-8 DLL的帧结构

这里帧控制用来区分各种帧类型及作用。源地址2一般不使用,只有在一种建立连接的数据链路协议数据单元才出现。参数进一步说明帧的性质。用户数据是从上层接收来的协议

数据单元。最后是帧校验,基金会现场总线数据链路层所使用的是循环冗余校验。

通过使用这些协议数据单元,DLL为上层提供了如下服务:

1)管理DLSAP———地址、队列和缓冲器。

2)面向连接的服务。

3)无连接数据传输服务。

4)时间同步服务,提供时间源同步和对系统管理之间的时间同步。

5)为数据发布者缓冲器提供强制分布服务。

数据链路层还支持一些子协议,如链路维护、LAS传输和调度传输等。