第九章 can应用层协议

上传人:xzh****18 文档编号:50611706 上传时间:2018-08-09 格式:PPT 页数:60 大小:1.06MB
返回 下载 相关 举报
第九章 can应用层协议_第1页
第1页 / 共60页
第九章 can应用层协议_第2页
第2页 / 共60页
第九章 can应用层协议_第3页
第3页 / 共60页
第九章 can应用层协议_第4页
第4页 / 共60页
第九章 can应用层协议_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《第九章 can应用层协议》由会员分享,可在线阅读,更多相关《第九章 can应用层协议(60页珍藏版)》请在金锄头文库上搜索。

1、第九章 CAN应用层协议nCAN基本协议的应用nCANopennDeviceNetnSAE J1939CANopen概述CAN和CANopen标准在OSI网络模型中的原理图CAN基本协议的应用nCAN三层协议:物理层、数据链路层、 应用层 n应用层:明确CAN消息帧的11位标识符 和8字节数据如何使用nCAN协议只对物理层和数据链路层作了描述 和规定,而对于应用层则没有说明。如果每 个都可以为自己的产品设计一个应用层协议 。不同厂商的设备之间不能互相操作CANopen概述n应用层协议内容n应用层提供一组服务和协议n通讯规范提供配置设备的方法和通讯数据, 定义了设备之间的数据如何通讯。n设备规范

2、为设备增加了设备相关的类行为CAL(CAN Application Layer)nCAL(CAN Application Layer)协议是目 前基于CAN的高层通讯协议中的一种, 提供了4种应用层服务功能nCMS (CAN-based Message Specification)nCMS提供基于变量、事件、域类型的对象, 以设计和规定一个设备(节点)的功能如何 被访问(例如,如何上载下载超过8字节的 一组数据(域),并且有终止传输的功能) 。 CAL(CAN Application Layer)nNMT (Network ManagemenT)n提供网络管理(如初始化、启动和停止节点 ,侦测

3、失效节点)服务。这种服务是采用主 从通讯模式(所以只有一个NMT主节点)来 实现的。CAL(CAN Application Layer)nDBT (DistriBuTor)n提供动态分配CAN ID(正式名称为COB-ID ,Communication Object Identifier)服务 。这种服务是采用主从通讯模式(所以只有 一个DBT主节点)来实现的。CAL(CAN Application Layer)nLMT (Layer ManagemenT)nLMT提供修改层参数的服务:一个节点( LMT Master)可以设置另外一个节点(LMT Slave)的某层参数(如改变一个节点的 N

4、MT地址,或改变CAN接口的位定时和波特 率)。CAL(CAN Application Layer)nCMS为它的消息定义了8个优先级,每个优先级拥有 220个COB-ID,范围从1到1760。剩余的标志(0, 1761-2031)保留给NMT,DBT和LMT。 COB-ID越低 优先级越高。CANopen协议介绍n通信接 口和协议软件用于提供在总线上收发通信对象的服务,不 同CANopen设备间的通信是通过交换通信对象来完成的。n 对象字典描述了设备使用的所有数据类型、通信对象和应用对象 ,对象字典位于通信程序和应用程序之间,用于向应用程序提供 接口,n应用程序对对象字典进行操 作,即可实现

5、CANopen通信。它包括 功能部分和通信部分,通信部分通过对对象字典进行操作实现CANopen通信,而功能部分则根据应用要求来实现。 CANopen协议介绍nCAL提供了所有的网络管理服务和报文传送协 议,但并没有定义CMS对象的内容或者正在通 讯的对象的类型。而这正是CANopen切入点。 nCANopen是在CAL基础上开发的,使用了CAL 通讯和服务协议子集,提供了分布式控制系统 的一种实现方案。nCANopen的核心概念是设备对象字典(OD: Object Dictionary),对象字典不是CAL的一部 分,而是在CANopen中实现的。 对象字典(OD)n对象字典(OD:Obje

6、ct Dictionary)是一个有序的 对象组;每个对象采用一个 16位的索引值来寻址,为了 允许访问数据结构中的单个 元素,同时定义了一个8位 的子索引,CANopen网络中 每个节点都有一个对象字典 。n对象字典包含了描述这个设 备和它的网络行为的所有参数。 对象字典(OD)对象字典(OD)nOD通过通信对象描述了设备的所有功能,介于应用程 序和通信接口直接n在CANopen 网络系统中每个节点都有唯一的一个对象 字典,而且每个节点的对象字典都具有相同的结构, 但具体的内容要根据不同的设备而定, 通信模型n包括CANopen网络上的消息帧,以及其 内容和功能。n管理消息n服务数据对象n过

7、程服务对象n特殊功能对象管理消息n层管理,网络管理和ID分配服务:如初始化,配置和 网络管理(包括:节点保护)。 nBoot-up消息、Heartbeat消息、NMT消息n服务和协议符合CAL中的LMT,NMT和DBT服务部分。 这些服务都是基于主从通讯模式:在CAN网络中,只 能有一个LMT,NMT或DBT主节点以及一个或多个从节 点。 Boot-up消息n1: Start_Remote_node (0x01) n2:Stop_Remote_Node (0x02) n3: Enter_Pre-Operational_State (0x80) n4: Reset_Node (0x81) n5:

8、Reset_Communication (0x82) n6:设备初始化结束,自动进入 Pre_Operational状态,发送Boot-up消息 n通知NMT主节点已经到就绪状态Boot-up消息nNMT-slave节点发布Boot-up报文通知NMT- Master节点它已经从initialising状态进入pre- operational状态。 Heartbeat消息nHeartbeat协议是为了解决错误控制,显示节点 当前状态而引入的。Heartbeat消息周期性地由 节点发出,表示该节点目前仍然在工作。NMT消息n由NMT主节点发 送,迫使从节点 状态转换。使用 2B数据单帧, 第一个

9、数据字节 是命令,第二个 字节是目标节点 的IDNMT消息n只有NMT-Master节点能够传送NMT Module Control报 文。NMT Module Control消息不需要应答。NMT消息格式如下: NMT消息n通过节点保护服务,NMT主节点可以检查每个节点的当 前状态,当这些节点没有数据传送时这种服务尤其有 意义。 服务数据对象(SDO)nSDO提供客户访问服务器的对象字典(OD)的功能n访问者被称作客户 (client),对象字典被访问且提供所请求服 务的CANopen设备别称作服务器(server)。n通过SDO服务,可以访问对象字典的条目,这些条目可能包含 有任意长度的数

10、据和数据类型。n客户的CAN报文和服务器的应答CAN报文总是包含8字节数据 (尽管不是所有的数据字节都一定有意义)。一个客户的请 求一定有来自服务器的应答。服务数据对象(SDO)nSDO有2种传送机制: n加速传送(Expedited transfer):最多传输4字节数据 n分段传送(Segmented transfer) : 传输数据长度大于4字节n 服务数据对象(SDO)n为了进行标准的分段DH速传送,SDO定义了6个确认服务(SDO下 载,SDO上传,启动SDO上传,启动SDO下载,下载SDO段和上传SDO 段)和一个非确认服务(中止SDO传送)。如:启动SDO下载协议与对 象字典的关

11、系服务数据对象(SDO)n一个节点向其它节点发送SDO时,所使用报文CANID为600h+Node ID 例如 将值0x31FF写入节点0x01的索引为0x6012,子索引 为2的对象字典中,对应的字节赋值,如图2所示。根据SDO协议, 连接对象报文的标识符(COBID)为600h+01h=601h。Byte0为2B, 表示客户向服务器发出下载请求。采用加速传送方式,并且显示 字节长度。Bytel和2表示索引和子索引分别为6012h和2h。Byte3 为02h,表示传送的数据为2个字节。Byte4和5表示传送数据值为 0x31FF。服务数据对象(SDO)n通过使用索引和子索引(在CAN报文的前

12、几个字节) ,SDO使客户机能够访问设备(服务器)对象字典中 的项(对象)。n SDO通过CAL中多元域的CMS对象来实现,允许传送 任何长度的数据n协议是确认服务类型:为每个消息生成一个应答(一 个SDO需要两个ID)。SDO请求和应答报文总是包含8 个字节过程数据对象PDOn用来传输实时数据, 数据从一个生产者传到一个或多 个消费者。数据传送限制在1到8个字节nPDO通讯没有协议规定。PDO数据内容只由它的CAN ID定义,假定生产者和消费者知道这个PDO的数据内 容。n每个PDO在对象字典中用2个对象描述:PDO通信参数 和PDO映射参数,所謂PDO的映射,就是將PDO的數據指向對象字典

13、的某個位置 nPDO消息的内容是预定义的过程数据对象PDOnPDO訪問:由於PDO都是用來傳送較短且實時性較高的 控制數據和狀態數據,因此,PDO數據在傳送時,是不 會像SDO一樣,在數據包裡指定要對哪個Index進行操 作,PDO在進行數據交換之前,要先設定好是對哪個 Index操作的,這個動作就是PDO Mapping,映射好了 PDO的數據對象,則PDO的數據就會被從站自動指向對 象字典裡的某個Index Sub-index上,這樣就加快了 數據交換的效率。过程数据对象PDO过程数据对象PDOn同步(通过接收SYNC对象实现同步) n非周期:由远程帧预触发传送,或者由设备子协议中规定的

14、对象特定事件预触发传送。 n周期:传送在每1到240个SYNC消息后触发。 n异步 n由远程帧触发传送。n由设备子协议中规定的对象特定事件触发传送。 预定义消息或者特殊功能对象n同步:用来同步网络中节点,基于主从 概念n时间戳:为设备提供一个时间标准n紧急事件:紧急事件由设备的内部错误 触发,每个错误事件只发送一次,不重 复发生。预定义的连接设置 n为了减小简单网络的组态工作量,CANopen定义了强 制性的缺省标识符(CAN-ID)分配表。这些标志符在 预操作状态下可用,通过动态分配还可修改n缺省ID分配表是基于11位CANID,包含一个4位的功 能码部分和一个7位的节点ID(Node-ID

15、)部分。预定义报文或者特殊功能对象CANopen标识符分配 n使用预定义的主从连接集。ID是缺省的,不需 要配置。如果节点支持,PDO数据内容也可以 配置。 n上电后修改PDO的ID(在预操作状态),使用 (预定义的)SDO在节点的对象字典中适当位 置进行修改。n使用CAL DBT服务:节点或从节点最初由它们 的配置ID指称。节点ID可以由设备上的拨码开 关配置注意事项 n(1)在开发过程中不必要将CANopen协议中的各项内容都一一编写 ,只要根据应用的具体要求按照CANopen协议编写即可。对象字 典都要通过软件实现,这是实现CANopen的关键。n(2)组建对象字典时并没有必要把协议规定

16、的所有项都包括进去, 另外还要留出足够的空间,使得用户可以根据以后的具体需要向 对象字典中添加功能项。n(3)一般应用中,如果CANopen网络不复杂,使用预定义的标识符 分配就能满足要求。对于特别大的系统,如果要制定标识符分配 ,这需要大量的软件编程。n(4)对于CANopen网络中必须实现的管理功能,一般由一个节点来 实现,但也可以由几个节点分别承担。尤其对于SYNC报文传输和 标识符的分配,分开来实现会更好。 DeviceNetn设备层现场总线DeviceNetnDeviceNet是20世纪90年代中期发展起来的一种基 于CAN技术的开放型、符合全球工业标准的低成本 、高性能的通信网络。它通过一根电缆将PLC、传 感器、光电开关、操作员终端、电动机、轴承座、 变频器和软启动器等现场智能设备连接起来,是分 布式控制系统减少现场I/O接口和布线树立、将控 制功能下载到现场设备的理想解决方案DeviceNetnDeviceNet不仅可以作为设备级的网络,还可以作为控制级的网络 ,通过DeviceNet提供的服务还可以实现以太网上的实时控制。较 之

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 多媒体应用

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号