• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > CAN总线和基于CAN总线的高层协议

CAN总线和基于CAN总线的高层协议

录入:edatop.com     点击:

2.2 交换过程数据

在一分布式自动化系统的设备之间发送过程数据是CAN 通讯系统的目的,它应以最高效率的方式完成。因此,对于应用规定的数据(过程数据、I/O数据)其传送应该根据产生者使用者的模型来执行,其意思就是说, 通过相关的信息ID推断所发送的数据。信息的产生者和使用者在这种情况下被假设拥有使用数据的知识或明白发送数据的含义。

在CAN基本协议中,各个节点采用规定的模式交换数据。CAN的数据流由数据帧、远程帧、错误帧和超载帧4种不同的帧类型所表示和控制。数据帧携带数据从发送器至接收器。远程帧由总线单元发出,请求发送具有同一识别符的数据帧。任何单元检测到一总线错误就发出错误帧。超载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。

但是,DeviceNet和CANopen在过程数据交换采用不同的解决方案。DeviceNet过程数据通过"I/O信息"传送,CANopen过程数据通过"过程数据对象"(PDOs Process Data Object)传送。

DeviceNet 支持下列的触发模式:循环、改变状态和应用对象触发。通过循环触发的模式当指定信息的传送触发定时器终止时,信息的发送就会被启动。通过状态改变的模式当检测到应用对象状态改变时,信息发送就会开始,当一特定间隔时间结束而没有发送信息,信息也会被发送。通过应用对象触发模式,应用对象可以决定何时触发信息的发送,当一特定间隔时间结束而没有发送信息时信息也会被发送。

CANopen的触发模式划分为事件、应用请求或预定义同步信息接收后的触发模式。事件触发可以在子协议(Profile)或应用指定的事件(异步 PDO)中产生。PDO的发送也可以通过接收一远程请求信息而被触发。"同步PDO" 是通过接收同步信息的一指定号码而被循环触发的。同步信息也可以被用作为整个网络中数据获得的同步以及输出数据滤波的同步。传输实时数据时,数据从一个生产者传到一个或多个消费者,传送限制在1到8个字节,即一个PDO可以传输最多64个数字I/O值或者4个16位的AD值。

数据交换过程中,网络设备会产生或者消耗一个以上的映射应用对象。DeviceNet和CANopen为灵活地将应用数据映射到通讯对象而提供了非常完善的方法。

DeviceNet 中,应用数据的分组是由集合对象的实例(instance)规定的。这个"集合"对象的实例定义了发送的应用对象数据格式。一个设备可能包含多于一个 I/O集合而且其相应集合的选择也是一个可配置的设备选项。

CANopen 规定了有关应用对象映射,应用对象通过一个叫"PDO映射记录"的数据结构映射到PDO中。这个结构以对象标识符列表(对象目录索引子索引)和数据长度的形式规定了映射的应用对象数据。由于PDO映射可通过SDO(Service Data Object)访问,所以PDO映射可通过配置工具配置。

2.3 建立过程数据信息连接

在CAN 网络里,信息生产者发送信息以及信息消耗者接收信息,其各自标识符的分配建立了通讯路径。通过已经分配的信息标识符的预定义信息可以建立信息的连接,或通过信息的各种标识符分配来达到建立信息的连接目的。非预定义标识符分配的主要优点是:建立任何类型的通讯结构的可能性,根据应用需求的最大数量信息标示符的有效性以及面向控制而设计的信息标示符分配有效性。

在一预定义信息的系统中,信息的功能和信息的标示符已经被定义DeviceNet和 CANopen使用1:n系统结构的预定义连接组方法。根据预定义组,一个已经分配了从设备预定义查询连接的DeviceNet主机,已经知道关于发送查询请求以及期待查询响应信息的信息ID,因为它们来源于从机的MAC-ID。同样的,在CANopen中除了其他的预定义信息之外, 默认的预定义连接组提供了2个预定义的接收和发送PDO, 默认PDO的用法和含义是由设备的类型决定。

DeviceNet标识符分配方法是通过设备拥有的信息标示符库决定的,这个标示符出自于信息发送设备的标示符库。DeviceNet最大为64个设备发布有效的标识符。在连接过程中,一个产生模块的信息从它的信息ID库中,分配一个空闲的信息ID,并将此空闲的信息ID与它的源MAC ID(Source MAC ID)结合在一起,产生一个所谓的"连接ID"。而CANopen的变量标识符分配方案基于中央信息标识符库,系统管理员通过SDO(Service Data Object)信道设置设备对象目录中相应的PDO标识符实现信息连接的建立。

2.4 网络管理

由于应用是分布的,所以必须处理某些事件,如应用部件的故障或节点的故障,如果同一应用还没有被分配,则这些事件就不会出现。因此,对于一个正确的网络管理,其主要任务是检测和显示网络中的错误,并通过服务以一协调的方式控制分布节点的通讯。状态取决于系统的解决方案,网络的功能性可以通过显式网络管理设施提供,或通过其他方法提供。

CAN网络的错误检测包括位错误、填充错误、CRC错误、格式错误和应答错误,每当检测到一个错误该节点的错误计数器就加1,当节点的错误计数器大于或等于256时,节点进入总线关闭状态。

CANopen 网络管理基于CAL NMT(Network ManagemenT)服务元素,这些元素应用了"节点保护"原则来检测节点故障。为了这个目的,一个NMT主机通过一个远程请求帧对网络的每个节点 NMT从机循环发送一个保护请求。被访问的从机用它的实际通讯状态响应每个请求。如果NMT主机检测到节点状态改变或被访问的节点没有响应,就会有一个保护错误告示NMT主机应用。当节点连接到网络上后,节点保护就启动。每一个节点也监督到达节点的保护请求信息。节点的"生存时间"过期后如果没有进一步的保护请求信息,则此节点的应用被告之有网络错误。

根据面向连接的设计,DeviceNet中的每个连接都受到监控。因此,根据配置的期望信息包速率(expected packet rate),每个接收的连接端点都有静止看门狗定时器(Inactivity/Watchdog-Timer),用于监控到达节点的信息。如果定时器溢出,连接就会执行专有的超时行动。在接收到创建服务(Create Service)显式信息后,可以通过使用专有的显式信息服务的顺序来配置连接,并且,要在整个连接完成了配置以后才允许连接。在访问每个 DeviceNet节点之前,每个节点必须重复执行MAC ID检查,使用这个特殊的协议顺序,可以确保设备MAC ID的唯一性。所有的DeviceNet模块都要求参与这个MAC ID的检测算法。

2.5 设备建模和设备子协议

除了标准的通讯外, 还要求相似设备在开放式自动化系统中应具有额外的互用性和可交换性。CAN协议各个厂商间的设备功能可交换性较差DeviceNet和CANopen在这方面改进了很多。DeviceNet和CANopen以设备模型的形式描述网络上所看见的设备的功能性。为了提高相似设备的可交换性,DeviceNet 和CANopen规定了工业自动化中主要设备类型的设备子协议,以确保不同厂家器件的相同基本标准行为。除了设备的功能性描述外,设备模型还提供关于设备的身份特点、版本号、状态诊断信息、通讯设施和配置参数的描述。

DeviceNet的节点模型包括了几个对象,其中一些是由DeviceNet要求的,其他则是由产品的应用功能要求的。对象提供有关于设备中特殊部件的描绘和相关的数据属性以及数据的过程服务的描绘。DeviceNet中的对象访问是基于一个具有等级划分的访问方案,对象访问包括媒体访问控制标识符、类型标识符、实例标示符以及属性标识符。媒体访问控制标识符用以将一个节点从同一网络中的所有其他节点中区分开来,类型标识符用以识别对象类型,实例标示符用以在相同类型的所有实例中识别一个实例,属性标示符用以识别一个类型或实例里的属性。

DeviceNet的设备子协议(Device Profile) 包含三方面的信息:设备类型的对象模型、设备类型的I/O数据格式以及配置数据和数据的公共接口。一个设备可能包含高达32个嵌入对象,而且这些对象都是总线可寻址的实体。根据嵌入对象的级别可以确定属性、行为和事件。

CANopen通过对象目录描述对象设备的功能性。目录项是由一个16位索引和一个8位子索引号码识别,数据和参数的功能被规定其中。除了用于定义数据类型的区段外,还有3个主要的区段,分别是:通讯子协议区段、标准化的设备子协议区段和厂商细节区段。通讯子协议区段信息对于任何CANopen设备类型都是一致的,并包含与信息、参数和功能相关的设备。这些信息参数和功能又与设备的鉴别、错误管理、包括将应用对象映射到过程数据对象的设备通讯信道的定义有关。CANopen设备子协议区段为特殊类别的基本标准设备的功能性提供了一个接口,其中有些条目是强制的,有些是可选的。强制的、共有的条目要确保设备在一个定义的基本方式中运转。主要工业设备不同的设备子协议用以提高设备的可交换性。厂商特殊的或不标准的设备的功能性可以通过厂商特殊子协议区段进行提供。

3 结束语

文章通过对CAN、DeviceNet、CANopen在五方面的比较,使CAN总线用户更深入的了解这几种总线。这几种协议最明显的不同是信息标识符的使用。DeviceNet基于面向连接的观点,CANopen基于面向信息的观点。DeviceNet、CANopen协议和 CAN协议构成了一个完整的协议体系CAN总线因其具备其独特的设计思想、优良的性能和高可靠性在汽车、医学、机器人等领域有着很好的应用,而CAN的高层协议DeviceNet、CANopen满足了不同产品的兼容和互操作性,使得CAN总线的功能更加的丰富和适应更加复杂的应用,进一步推进了CAN总线在工业领域的推广和应用。

作者:叶子 来源:电子发烧友网

上一篇:基于AT89C51应用系统的串行通信设计
下一篇:PC/104标准四串口通信板设计

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图