新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于DeviceNet总线的从设备通迅适配器设计

基于DeviceNet总线的从设备通迅适配器设计

作者: 时间:2012-11-29 来源:网络 收藏


DeviceNet是基于连接的网络
  DeviceNet中的连接提供在多种应用之间交换信息的路径,当建立一个连接时,与连接相关的信息的传送就会分配一个标识符,称为连接标识符(CID, Connection Identifier)。如果某个连接需要双向数据交换,则应该分配两个不同的连接标识符。
DeviceNet通讯协议是基于连接概念的协议。要想同设备交换信息,就必须先与它建立连接。要想建立一个连接,每个DeviceNet产品,都必须具有一个未连接信息管理器(UCMM)或一个未连接埠,二者都是通过保留某些可用的CAN标识符实现其功能的。DeviceNet规范卷I的第4章详细介绍了UCMM。
  当用UCMM或未连接端口建立一个显式报文连接时,这个连接可用于从一个节点向其它节点传送信息,或建立附加的I/O连接。一旦建立了连接,就可以在网络设备之间传送I/O数据。此时,DeviceNet I/O报文的所有协议都包含在11位的CAN标识符中,其它部分都是数据。
  11位的CAN标识符用来定义连接ID。DeviceNet将11位的CAN标识符分为4组,前三组的连接ID包括了6位的媒体访问控制标识符(MAC ID)以及信息标识符(Message ID)。信息组的定义如下图所示,组4信息用于离线通讯。设备可以是客户机或服务器或兼之。客户机和服务器可是生产者,消费者或兼之。在典型的客户机设备中,它的连接将产生请求和消费响应。在典型的服务器设备中,它的连接将消费请求和生产响应。DeviceNet提供几种该模式的变形。某些客户机或服务器中的连接只能消费报文。这些连接将是周期或状态改变报文的目的地。类似的,某些客户机或服务器中的连接只能生产信息。这些连接是周期或状态改变报文的源,使用周期和状态改变连接可以大幅度降低对网络带宽的要求。


DeviceNet具有4个定义的信息组

  通过设计,DeviceNet系统中的节点能够对自己的标识符进行管理。这些标识符交错分布在整个范围内。所有的节点都有一个完整的它们能获得的报文优先权范围,而与它们的MAC ID无关。重复MAC ID算法保证了CAN标识符的唯一性,而不需要网络集中工具或记录。与此相关的问题是重复节点的检测。因为DeviceNet的设备地址是在CAN的标识场中,CAN的标识场提供了检测设备地址重复的机制。防止地址重复优于问题发生后再解决问题 其它基于CAN的网络则没有考虑到这些问题。

DeviceNet的报文传送
  DeviceNet应用层定义如何分配标识符(控制优先权),如何用CAN数据场指定服务,传送数据以及判断它的含义。报文在通讯网络中流动的方式是很重要的。老式的通讯技术是由具有特定源和目的地址的报文组成的。DeviceNet使用更为有效的生产者/消费者模式,取代了传统的源/目的的传输方式。该模式要求对报文打包,使它具有数据标识场。标识符还提供解决多级优先权(仲裁中使用)的手段,以便更高效传送I/O 数据,并供多个消费者使用。
  带有数据的设备用正确的标识符在网络上发送数据。所有需要数据的设备在总线上监听报文。设备通过对识别标识符来决定是否接受该报文。采用生产者 ― 消费者模式,报文将不再专属于特定的源或目的。控制器发出的一个信息,用很窄的带宽就可以供多个马达启动器使用。
  DeviceNet定义了两种不同类型的报文,称作I/O报文和显式报文。I/O报文 适用于实时性要求较高和面向控制的数据。I/O报文数据帧中的8位数据场不包含任何与协议有关的位,只有当I/O报文为大报文经过分割后形成的I/O报文片段时,数据场中有一位由报文分割协议使用。连接标识符提供了I/O报文的相关信息,在I/O报文利用连接标识符发送之前,报文的发送和接受设备都必须先进行设定。设定的内容包括源和目的对象的属性,以及数据生产者和消费者的地址。显式报文 则适用于两个设备间多用途的点对点报文传递,是典型的请求-响应通讯方式,常用于节点的配置、问题诊断等。显示报文通常使用优先级低的连接标识符,并且该报文的相关信息包含在显示报文数据帧的数据场中,包括要执行的服务和相关对象的属性及地址。

预定义的主/从连接组
  DeviceNet提供了一个功能很强的应用层协议,允许动态配置设备间的连接。但考虑到有些设备根本不需要也没有资源去使用这一强大功能,DeviceNet指定了一套称为预定义主/从连接组的连接标识符,用来简化主/从结构中I/O和配置型数据的传送。
  许多传感器和执行器要实现的功能在设计时就已经预先决定了(如,感受压力、启动马达等等),因此这些设备将要生产和/或消费的数据的类型和数量在上电前就已经知道了。这些设备通常提供输入数据或请求输出数据和配置数据。预定义主/从连接组可以满足设备的这些要求,它提供的连接对象的全部配置在设备上电时就完成了。在启动数据流时,主机设备唯一必须执行的一个步骤就是要广播对从机内该预定义连接组的所有权。
  信息组2用于定义这些标识符组2信息的一个明显不同之处在于MAC ID没有指定为源MAC ID,允许使用目的MAC ID。该类连接的使用有严格的规则,以防止总线上出现重复CAN标识符。目的MAC ID的使用允许被集中的设备和必须同许多节点通讯的设备(主机)向其它节点借用标识符。此外,预留了MAC ID和信息ID区。从而允许组ID和MAC ID进入CAN标识场最高的8个有效位。这点非常重要,因为许多低成本,8位的CAN芯片只能硬件过滤前8位。目的MAC ID的使用进一步体现了允许设备利用硬件进行过滤的优点。另一主要的优点就是预定义主/从组大幅度简化了连接的建立,只需要用很少的信息来建立和运行I/O连接。预定义组包括一个显式报文连接和可选的几个不同的I/O连接,包括位选通命令/响应,查询命令/响应,状态改变和周期。

DeviceNet对象模型与设备描述
  对象模型 为管理和实现DeviceNet产品组件的属性(数据),服务(方法或步骤)和行为提供了一个模板。模型为每个属性提供了由4个数字组成的寻址方案。它们分别是节点地址(MAC ID),对象类标识符,实例编号和属性编号。这四级地址与显式报文连接相结合,将数据从DeviceNet网络上的一点传送到另一点。下表列出四个地址组件的范围:

DeviceNet地址组件的范围


下图是一个通用DeviceNet设备的对象模型:

  标识对象DeviceNet产品一般都有一个标识对象实例(1实例)。此实例包含各种属性,如供货商ID、设备类型、产品代码、版本、状态、序列号、产品名称和说明。标识对象要求的服务是Get_Atrribute_Single和Reset。
  报文路由对象 DeviceNet产品一般都有一个报文路由对象实例(1实例)。报文路由对象向其它对象传送显式报文。一般在DeviceNet网络中它不具有外部可视性。
  DeviceNet对象 DeviceNet产品一般都有一个DeviceNet对象实例(1实例)。该实例有下列属性:节点地址或MAC ID ,波特率,总线关闭,总线 关闭计数器,单元选择和主机的MAC ID 。唯一要求的服务是Get_Atrribute_Single。
  汇编对象 DeviceNet产品一般具有一个或多个可选的汇编对象。这些对象的主要任务就是将来自不同应用对象的多个属性(数据)组合成一个能够随单个信息传送的属性。
  连接对象 DeviceNet产品一般至少包括两个连接对象。每个连接对象代表DeviceNet网络上两节点间虚拟连接中的一个端点。两种连接类型分别称为显式报文连接和I/O报文连接。显式报文包括属性地址,属性值和服务代码来描述所请求的行为。I/O报文只包含数据。I/O报文中,所有有关如何处理数据的信息都包含在与该I/O报文相关的连接对象中。 晶振相关文章:晶振原理
上拉电阻相关文章:上拉电阻原理


评论


技术专区

关闭