首页 理论教育DeviceNet数据链路层简介

DeviceNet数据链路层简介

【摘要】:DeviceNet的数据链路层遵循CAN协议规范,并通过CAN控制器芯片实现。DeviceNet的数据链路层中MAC子层的功能主要是传送规则,即控制帧结构、执行仲裁、错误检测、出错标定和故障界定。DeviceNet采用CSMA/NBA的方法解决总线访问冲突问题。同样,为进行故障界定,在DeviceNet上的每个节点中都设有两种计数器:发送错误计数器和接收错误计数器。

DeviceNet的数据链路层遵循CAN协议规范,并通过CAN控制器芯片实现。DeviceNet的数据链路层中MAC子层的功能主要是传送规则,即控制帧结构、执行仲裁、错误检测、出错标定和故障界定。LLC子层的主要功能是为数据传送和远程数据请求提供服务,确认由LLC子层接受的报文实际已被接受,并为恢复管理和通知超载提供信息。

1.MAC帧

CAN在MAC子层定义了4种帧格式,分别是数据帧、远程帧、超载帧和出错帧。在DeviceNet上传输数据采用的是数据帧格式;远程帧格式在DeviceNet中没有使用;超载帧是用来进行数据流的控制,在DeviceNet中没有使用,但也没有禁用;出错帧则用于错误和意外情况的处理。

2.总线仲裁机制

网络上各节点要通信时,哪个节点有优先权在网上发送数据?几个节点同时在网上发送数据,发生“碰撞”时,谁有权继续发送?各种网络的媒体访问控制协议就是负责整个“仲裁”的。以太网采用带碰撞的载波监听多路访问冲突检测仲裁机制。DeviceNet和CAN采用优先级仲裁机制,即带非破坏性的载波监听多路访问逐位仲裁(CSMA/NBA)机制。(www.chuimin.cn)

CAN协议规范定义总线数值为两种互补的逻辑数值之一:显性(逻辑0)和隐性(逻辑1)。任何发送设备都可以驱动总线为显性,当同时向总线发送显性位和隐性位时,最后总线上出现的是“显性”位。当且仅当总线空闲或发送隐性位期间,总线为隐性状态。

在总线空闲时,每个节点都可尝试发送,但如果多于两个的节点同时开始发送,发送权的竞争需要通过11bit标识符的逐位仲裁来解决。DeviceNet采用CSMA/NBA的方法解决总线访问冲突问题。网络上每个节点拥有一个唯一的11bit标识符,这个标识符的值决定了总线冲突仲裁时节点优先级的高低。标识符值越小,优先级越高,标识符值小的节点在竞争仲裁中为获胜的一方。这种机制不同于以太网,总线上不会发生冲突,竞争中获胜的节点可以继续发送,直至完成为止。这种机制保证了总线上的信息不会丢失,总线资源也得到最大程度的利用,不会浪费。

3.错误诊断和故障界定机制

DeviceNet的故障界定机制参考了CAN现场总线的错误界定机制。同样,为进行故障界定,在DeviceNet上的每个节点中都设有两种计数器:发送错误计数器和接收错误计数器。