发表于:2002-01-23 11:27:00
楼主
DeviceNet可以使用几种不同类型的连接器(图5略)。开放式和密封式的连接器都可以使用。还可以使用大尺寸(小型)和小尺寸(微型)的可插式密封连接器。对于不要求使用密封式连接器的产品,可以使用开放式连接器。如果不要求可插式连接器,可以用螺丝或压接式连接直接接到电缆上。DeviceNet规范包括如何使用这些电缆和连接器组件,构建单端口或多端口分接头的相关信息。
状态指示器和配置开关
尽管DeviceNet不要求产品有状态指示器,但产品若带有状态指示器,则必须遵守DeviceNet规范。DeviceNet规范建议状态指示器应包括模块状态LED和网络状态LED,或两者相结合的模块状态/网络状态LED。
状态指示器由双色(绿/红)LED组成,使用开、关或闪烁的组合来表达信息。模块状态LED指示设备是否有电,操作是否正常。网络状态LED指示通信链路的状态。
CAN和DeviceNet
DeviceNet的数据链路层完全根据CAN规范和CAN控制器芯片实际特性来定义。CAN规范定义了两种总线状态,“显性”(逻辑0)和“隐性”(逻辑1)。任何发送器都可以将总线驱动为“显性”状态。没有发送器处于显性状态时,总线只能是隐性状态:
CAN定义了四种类型的帧:
数据帧 远程帧
超载帧 出错帧
DeviceNet使用数据帧传送数据。远程帧在DeviceNet中没有被使用,超载帧和出错帧则用于例外情况的处理。数据帧格式如图6所示。
较高优先权的数据取得总线通信权
同以太网类似,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和自动重试在内的多种错误检测和故障限制方法。这些对应用来说高度透明的方法,可以防止故障节点破坏(中断)网络。
图6 CAN数据帧 (图略)
To be continued...