DeviceNet的数据链路层彻底依据CAN标准和CAN控制器芯片实践特性来界说。CAN标准界说了两种总线状况,“显性”(逻辑0)和“隐性”(逻辑1)。任何发送器都能够将总线驱动为“显性”状况。没有发送器处于显性状况时,总线只能是隐性状况:
CAN界说了四种类型的帧:
l 数据帧 l 长途帧
l 超载帧 l 犯错帧
DeviceNet运用数据帧传送数据。长途帧在DeviceNet中没有被运用,超载帧和犯错帧则用于例外情况的处理。数据帧格局如图所示。
较高优先权的数据获得总线通讯权
同以太网相似,DeviceNet在总线闲暇时任何节点都能够测验发送,这供给了网络固有的点对点的通讯才能。当两个或多个节点一同想要拜访网络时,非损坏性逐位裁定机制会处理潜在的抵触,而不会丢掉数据或糟蹋带宽。比较而言,以太网所运用的抵触检测器,会导致丢掉数据和带宽的糟蹋。发生抵触的两个节点有必要回退偏重新发送数据。
CAN运用仅有的、非损坏性逐位裁定机制。CAN的这一特性使得在处理总线抵触(决议“胜者”时,不会由于要求优先权高的节点重发数据而丢掉总线的吞吐才能。
CAN运用逐位裁定的办法处理抵触。CAN网络上一切接纳器经过一个帧的开始位(由隐性转变为显性)同步。标识符和RTR(长途传送恳求)位一同组成裁定区,裁定区是为了便于媒体拜访。DeviceNet不运用RTR位,因而总线拜访优先权也不将其考虑在内。当设备进行发送时,它要监督(接纳)自己发送的内容,以确认两者是否共同,然后能够在发送时进行检测。在节点发送裁定区时,假如发送了一个隐性位一同却接纳到一个显性位,它就中止发送。一同进行发送的两个节点中,裁定的胜者是具有较低值的11位标识符的节点。CAN还规则了具有29位标识符的数据帧格局,但DeviceNet没有运用该格局。
控制区包含两个固定位和一个4位的长度区。长度区能够是0-8中的任一个数字,标明数据区中的字节数。0-8字节的数据长度关于具有少数但有必要频频交流I/O数据的低端设备来说很抱负。一同8个字节使简单设备能够灵敏地发送确诊数据,或向驱动器发送速度基准和加速度值。
CRC校验区是循环冗余校验字,CAN控制器用它来检测帧过错。校验字经过对它前面的位进行核算得到。ACK应对中的显性位标明除了发送者以外至少有一个接纳器接受到报文。
CAN运用包含CRC和主动重试在内的多种过错检测和毛病约束办法。这些对应用来说高度通明的办法,能够避免毛病节点损坏(中止)网络。