发表于:2002-01-23 11:33:00
楼主
DeviceNet 的CAN部件一览表(略)
CAN 参考文献
[1] Anonymous, MC68HC05X4 HCMOS Microcomputer Unit, Motorola LTD, 1992.
[2] Terry, K., Software Driver Routines for the Motorola MC68C05 CAN Module (AN464),Motorola LTD., 1993
[3] Anonymous, 80c51-Based 8-Bit Microcontrollers,Data Handbook IC20, Philips, 1995.
[4] Anonymous, 82527 Serial Communications Controller Architectural Overview, Intel Corporation, February 1995, Order Number: 272410-002
[5] Anonymous, 8227 Serial Communications Controller, Controller Area Network Protocol., Intel Corporation, December, 1995, Order Number: 272250-006
[6] Anonymous, 87C196CA/87C196CB Advanced 16-Bit CHMOS Microcontroller with Integrated CAN 2.0, Intel Corporation, October, 1993, Order Number: 272405-002
[7] BOSCH CAN Specification - Version 2.0, Part A, 1991, Robert Bosch GmbH
[8] ISO 11898:1993 – Road vehicles – Interchange of digital information – Controller area Network (CAN) for high-speed communication.
通信协议和应用
在DeviceNet规范卷I的第3章、第4章和第5章中定义了DeviceNet通信协议(Device Protocol)。这些章节分别详细介绍连接,报文协议和与通信相关的对象。
使用DeviceNet的应用同标准或应用特定对象相结合产生所谓的设备描述。设备描述是从网络的角度对设备的定义。DeviceNet规范卷II的第6章有一个对象库。DeviceNet规范卷II的第3章是设备描述库。ODVA协调工业专家们的工作,开发新对象和设备描述的规范。这项任务是由ODVA中的特别兴趣小组(SIGs)完成的。
DeviceNet支持选通、轮询、周期、状态改变和应用触发的数据传送方式,用户可根据设备性能和应用要求选择主/从、多主和点对点或三种方式组合的配置。数据通信方式的选择,可以明显加快系统的反应时间。一种流行的DeviceNet应用采用标准的、预定义的连接组,使设备在主/从连接组之下工作。
连接
DeviceNet通信协议是基于连接概念的协议。要想同设备交换信息,就必须先与它建立连接。
要想建立一个连接,每个DeviceNet产品,都必须具有一个未连接信息管理器(UCMM)或一个未连接端口,二者都是通过保留某些可用的CAN标识符实现其功能的。DeviceNet规范卷I的第4章详细介绍了UCMM,第7章详细介绍未连接端口。
当用UCMM或未连接端口建立一个显式信息连接时,这个连接可用于从一个节点向其它节点传送信息,或建立附加的I/O连接。一旦建立了连接,就可以在网络设备之间传送I/O数据。此时,DeviceNet I/O报文的所有协议都包含在11位的CAN标识符中,其它部分都是数据。
11位的CAN标识符用来定义连接ID。DeviceNet将11位的CAN标识符分为4组,前三个定义组包括两个区,一个6位的MAC ID(媒体访问控制标识符),另一个是报文ID(Message ID)。信息组的定义如图7所示,组4信息用于离线通信。
设备可以是客户机或服务器或兼之。客户机和服务器可是生产者、消费者或兼之。在典型的客户机设备中,它的连接将产生请求和消费响应。在典型的服务器设备中,它的连接将消费请求和生产响应。DeviceNet提供几种该模式的变形。某些客户机或服务器中的连接只能消费报文。这些连接将是周期或状态改变报文的目的地。类似地,某些客户机或服务器中的连接只能生产报文,这些连接是周期或状态改变报文的源。使用周期和状态改变连接可以大幅度降低对网络带宽的要求。
通过设计,DeviceNet系统中的节点能负责管理各自的标识符。这些标识符交错分布在整个范围内。所有的节点都有一个完整的适用于自己的并与MAC ID无关的报文优先权系列。重复MAC ID算法保证了CAN标识符的唯一性,而不需要网络集中工具或记录。
与此相关的问题是重复节点的检测。DeviceNet使用CAN标识区中的设备地址,CAN的标识区提供了检测设备地址重复的机制。事先防止地址重复要优于地址重复问题发生后再解决问题。其它基于CAN的网络则没有考虑这一点。
图7. DeviceNet具有4个定义信息组(图略)
节点管理自己标识符的另一个重要好处在于用户可以随时增加和删除节点,以及在现存的节点中增加额外的点对点报文,而不需要了解网络当前的配置。不必定位或重构网络的集中记录。由于节点知道哪些ID已经被使用,因此,只需要用一个工具请求将一个I/O连接加到两个设备间,指定优先级、数据路径(类、实例、属性)和生产触发的条件(周期、轮询、或状态改变)。
对象模型
对象模型为管理和实现DeviceNet产品组件的属性(数据)、服务(方法或步骤)和行为提供了一个模板(见图8)。模型为每个属性提供了由4个数字组成的寻址方案,它们分别是节点地址(MAC ID)、对象类标识符、实例编号和属性编号。这四级地址与显式报文连接相结合,将数据从DeviceNet网络上的一点传送到另一点。下表列出四个地址组件的范围:
地址 最低 最高
节点 0 63
类 1 65535
实例 0 65535
属性 1 255
图8. DeviceNet对象模型(图略)