首页 理论教育现场总线介质访问控制和MAC层协议

现场总线介质访问控制和MAC层协议

【摘要】:介质访问控制层是数据链路层的一部分。LLC与介质无关,MAC则依赖于介质。局域网中存在多种介质访问控制协议,其中使用最广泛的是载波多路监听。LonTalk的MAC是该协议的一种改进。在MAC层中,为提高紧急事件的响应时间,提供一个可选择优先级的机制。

介质访问控制层(Media Access Control,MAC)是数据链路层的一部分。由于网络介质多种多样,相应的就有多种介质访问控制方法。所以,为了使数据帧传输独立于所采用的物理介质和介质访问的控制方法,将数据链路层分为两个子层:逻辑链路控制LLC和介质访问控制MAC。LLC与介质无关,MAC则依赖于介质。所谓MAC协议就是确定设备怎样才可以安全地发送数据包,以减少冲突的控制算法

LonTalk在物理层协议上支持多种通信协议,也就是为适应不同的通信介质而支持不同的数据解码和编码。例如,通常双绞线使用差分曼彻斯特编码;电力线使用扩频;无线通信使用频移键控(FSK)。由于LonTalk考虑对各种介质的支持,LON总线可以允许使用非常广泛的通信介质,如双绞线、电力线、无线电、红外线、同轴电缆、光纤甚至是用户自定义的通信介质。

LonTalk支持在通信介质上的硬件碰撞检测。LonTalk可以自动地将正在发生碰撞的报文取消,重新再发。如果没有碰撞检测,当碰撞发生时,只有到响应或应答时才会重发报文。

1.LonTalk MAC子层

LonTalk协议的MAC子层是链路层的一部分,使用OSI各层协议的标准接口和链路层的其他部分进行通信,如图5-28所示。局域网中存在多种介质访问控制协议,其中使用最广泛的是载波多路监听(CSMA)。LonTalk的MAC是该协议的一种改进。

978-7-111-55649-7-Chapter05-49.jpg

图5-28 MAC子层通信框图

对于常用的CSMA/CD,在轻负载的情况下具有很好的性能,但当在重负载情况下,一包数据在发送,可能有许多网络节点等待网络空闲。一旦这包数据发送完毕,网络空闲,这些等待发送的节点就会马上发送报文,而同时发送必然产生碰撞。产生碰撞后,由避让算法使之等待一段时间再发,如果这段时间相同,重复的碰撞仍会发生,使得网络效率大大降低。

2.可预测P-坚持CSMA

LonTalk MAC子层协议使用改进的CSMA介质访问控制协议,该协议称为带预测的P-坚持CSMA(Predictive P-Presistent CSMA)。它在保留CSMA协议优点的同时,注意克服它在控制网络中的不足。带预测的P-坚持CSMA,所有的节点根据网络积压参数等待随机时间来访问介质,这就有效地避免了网络的频繁碰撞。每个节点发送前随机地插入0~W个很小的随机时间片,因此网络中任一节点在发送普通报文前平均插入W/2个随机时间片。而W则根据网络积压参数(Backlog)变化进行调整,其公式为WBL×Wbase。其中Wbase=16,BL为网络积压的估计值,它是对当前发送周期有多少个节点需要发送报文的估计。图5-29给出了带预测的P-坚持CSMA概念示意图。图中Beta1为空闲时间周期,Beta1>1bit+物理延时+MAC响应时间;Beta2为随机时间周期,Beta2>2bit×物理延时+MAC响应时间。

当一个节点试图占用通道发送信息时,首先在Beta1周期检测通道有没有信息发送,以确定网络空闲。若空闲,节点产生一个随机等待T,T为0~W时间片中的一个。当延时结束时,节点发送报文;否则节点检测有否信息发送和接收信息,然后再重复MAC算法。(www.chuimin.cn)

978-7-111-55649-7-Chapter05-50.jpg

图5-29 带预测的P-坚持CSMA概念示意图

3.可预测P-坚持CSMA实现

可预测P-坚持CSMA在保留P-坚持CSMA的优点前提下,通过对网络负载的预测,在网络轻载时,给网上节点分配数目较少的随机时隙以减少节点媒介访问延时;在网络重载时,给网上节点分配数目较多的随机时隙以减少各节点因同时发送消息带来的冲突。由此可见,由于实现了随机时隙数目的动态调整,从而实现了概率P值的动态调整。可以看出,随机等待时间T等于随机时隙数目乘以时隙长度

节点对某一时刻网络负载进行预测的结果反映在BL的网络积压取值上。BL是对当前网络繁忙程度的估计,每一个节点都有一个BL值。某个要发送消息的节点在它发送的消息包中插入将要应答该消息的接收节点的数目,所有收到该消息包的节点的BL值通过加上该应答数使自身的BL值更新;每个节点在消息包发送结束时,BL值自动减1。由此实现了每个节点都能动态地预测在某一时刻有多少节点要发送消息包。

4.优先级带预测的P-坚持CSMA

实验表明,36个LonWorks节点互联,采用一般的P-坚持算法。当每秒要传输的报文达500~1000包时,碰撞率由10%上升到54%,而采用预测P-坚持算法在500包以下时碰撞率很低,在500~1000包时稳定在10%,可是预测P-坚持CSMA不能避免冲突,只能降低冲突至最小。在MAC层中,为提高紧急事件的响应时间,提供一个可选择优先级的机制。该机制允许用户为每个需要优先级的节点分配一个特定的优先级时间片(Priority Slot),在发送过程中,优先级数据报文将在那个时间片里将报文发送出去。优先级时间片从0~127,0表示不需等待立即发送,1表示等待一个时间片,……低优先级的节点需等待较多的时间片,而高优先级的节点需等待较少的时间片。这个时间片加在P-概率时间片之前(即节点的随机等待时间T之前)。非优先级的节点必须等待优先级时间片都完成后,再等待P-概率时间片后发送。这样,加入优先级的节点具有更快的响应时间。优先级带预测的P-坚持CSMA概念示意图如图5-30所示。

978-7-111-55649-7-Chapter05-51.jpg

图5-30 优先级带预测的P-坚持CSMA概念示意图