CAN总线应用层协议.ppt
《CAN总线应用层协议.ppt》由会员分享,可在线阅读,更多相关《CAN总线应用层协议.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、CAN和CANopen标准在OSI网络模型中的原理图 应用层协议内容 应用层提供一组服务和协议 通讯规范提供配置设备的方法和通讯数据,定义了设备之间的数据如何通讯。 设备规范为设备增加了设备相关的类行为 CAL(CAN Application Layer)协议是目前基于CAN的高层通讯协议中的一种,提供了4种应用层服务功能 CMS (CAN-based Message Specification) CMS提供基于变量、事件、域类型的对象,以设计和规定一个设备(节点)的功能如何被访问(例如,如何上载下载超过8字节的一组数据(域),并且有终止传输的功能)。 NMT (Network Managem
2、enT) 提供网络管理(如初始化、启动和停止节点,侦测失效节点)服务。这种服务是采用主从通讯模式(所以只有一个NMT主节点)来实现的。 DBT (DistriBuTor) 提供动态分配CAN ID(正式名称为COB-ID,Communication Object Identifier)服务。这种服务是采用主从通讯模式(所以只有一个DBT主节点)来实现的。 LMT (Layer ManagemenT) LMT提供修改层参数的服务:一个节点(LMT Master)可以设置另外一个节点(LMT Slave)的某层参数(如改变一个节点的NMT地址,或改变CAN接口的位定时和波特率)。 CMS为它的消息
3、定义了8个优先级,每个优先级拥有220个COB-ID,范围从1到1760。剩余的标志(0,1761-2031)保留给NMT,DBT和LMT。 COB-ID越低优先级越高。通信接 口和协议软件用于提供在总线上收发通信对象的服务,不同CANopen设备间的通信是通过交换通信对象来完成的。 对象字典描述了设备使用的所有数据类型、通信对象和应用对象,对象字典位于通信程序和应用程序之间,用于向应用程序提供接口,应用程序对对象字典进行操 作,即可实现CANopen通信。它包括功能部分和通信部分,通信部分通过对对象字典进行操作实现CANopen通信,而功能部分则根据应用要求来实现。 CAL提供了所有的网络管
4、理服务和报文传送协议,但并没有定义CMS对象的内容或者正在通讯的对象的类型。而这正是CANopen切入点。 CANopen是在CAL基础上开发的,使用了CAL通讯和服务协议子集,提供了分布式控制系统的一种实现方案。 CANopen的核心概念是设备对象字典(OD:Object Dictionary),对象字典不是CAL的一部分,而是在CANopen中实现的。 对象字典(OD:Object Dictionary)是一个有序的对象组;每个对象采用一个16位的索引值来寻址,为了允许访问数据结构中的单个元素,同时定义了一个8位的子索引,CANopen网络中每个节点都有一个对象字典。对象字典包含了描述这个
5、设备和它的网络行为的所有参数。 OD通过通信对象描述了设备的所有功能,介于应用程序和通信接口直接 在CANopen 网络系统中每个节点都有唯一的一个对象字典,而且每个节点的对象字典都具有相同的结构,但具体的内容要根据不同的设备而定, 包括CANopen网络上的消息帧,以及其内容和功能。 管理消息 服务数据对象 过程服务对象 特殊功能对象 层管理,网络管理和ID分配服务:如初始化,配置和网络管理(包括:节点保护)。 Boot-up消息、Heartbeat消息、NMT消息 服务和协议符合CAL中的LMT,NMT和DBT服务部分。这些服务都是基于主从通讯模式:在CAN网络中,只能有一个LMT,NMT
6、或DBT主节点以及一个或多个从节点。 1: Start_Remote_node (0 x01) 2:Stop_Remote_Node (0 x02) 3: Enter_Pre-Operational_State (0 x80) 4: Reset_Node (0 x81) 5:Reset_Communication (0 x82) 6:设备初始化结束,自动进入Pre_Operational状态,发送Boot-up消息 通知NMT主节点已经到就绪状态 NMT-slave节点发布Boot-up报文通知NMT-Master节点它已经从initialising状态进入pre-operational状态。
7、 Heartbeat协议是为了解决错误控制,显示节点当前状态而引入的。Heartbeat消息周期性地由节点发出,表示该节点目前仍然在工作。 由NMT主节点发送,迫使从节点状态转换。使用2B数据单帧,第一个数据字节是命令,第二个字节是目标节点的ID 只有NMT-Master节点能够传送NMT Module Control报文。NMT Module Control消息不需要应答。NMT消息格式如下: 通过节点保护服务,NMT主节点可以检查每个节点的当前状态,当这些节点没有数据传送时这种服务尤其有意义。 SDO提供客户访问服务器的对象字典(OD)的功能 访问者被称作客户 (client),对象字典被
8、访问且提供所请求服务的CANopen设备别称作服务器(server)。 通过SDO服务,可以访问对象字典的条目,这些条目可能包含有任意长度的数据和数据类型。 客户的CAN报文和服务器的应答CAN报文总是包含8字节数据(尽管不是所有的数据字节都一定有意义)。一个客户的请求一定有来自服务器的应答。SDO有2种传送机制: 加速传送(Expedited transfer):最多传输4字节数据 分段传送(Segmented transfer) : 传输数据长度大于4字节 为了进行标准的分段DH速传送,SDO定义了6个确认服务(SDO下载,SDO上传,启动SDO上传,启动SDO下载,下载SDO段和上传SD
9、O段)和一个非确认服务(中止SDO传送)。如:启动SDO下载协议与对象字典的关系一个节点向其它节点发送SDO时,所使用报文CANID为600h+NodeID例如 将值0 x31FF写入节点0 x01的索引为0 x6012,子索引为2的对象字典中,对应的字节赋值,如图2所示。根据SDO协议,连接对象报文的标识符(COBID)为600h+01h=601h。Byte0为2B,表示客户向服务器发出下载请求。采用加速传送方式,并且显示字节长度。Bytel和2表示索引和子索引分别为6012h和2h。Byte3为02h,表示传送的数据为2个字节。Byte4和5表示传送数据值为0 x31FF。 通过使用索引和
10、子索引(在CAN报文的前几个字节),SDO使客户机能够访问设备(服务器)对象字典中的项(对象)。 SDO通过CAL中多元域的CMS对象来实现,允许传送任何长度的数据 协议是确认服务类型:为每个消息生成一个应答(一个SDO需要两个ID)。SDO请求和应答报文总是包含8个字节 用来传输实时数据, 数据从一个生产者传到一个或多个消费者。数据传送限制在1到8个字节 PDO通讯没有协议规定。PDO数据内容只由它的CAN ID定义,假定生产者和消费者知道这个PDO的数据内容。 每个PDO在对象字典中用2个对象描述:PDO通信参数和PDO映射参数,所謂PDO的映射,就是將PDO的數據指向對象字典的某個位置
11、PDO消息的内容是预定义的 PDO訪問:由於PDO都是用來傳送較短且實時性較高的控制數據和狀態數據,因此,PDO數據在傳送時,是不會像SDO一樣,在數據包裡指定要對哪個Index進行操作,PDO在進行數據交換之前,要先設定好是對哪個Index操作的,這個動作就是PDO Mapping,映射好了PDO的數據對象,則PDO的數據就會被從站自動指向對象字典裡的某個Index Sub-index上,這樣就加快了數據交換的效率。同步(通过接收SYNC对象实现同步) 非周期:由远程帧预触发传送,或者由设备子协议中规定的对象特定事件预触发传送。 周期:传送在每1到240个SYNC消息后触发。 异步 由远程帧
12、触发传送。由设备子协议中规定的对象特定事件触发传送。 同步:用来同步网络中节点,基于主从概念 时间戳:为设备提供一个时间标准 紧急事件:紧急事件由设备的内部错误触发,每个错误事件只发送一次,不重复发生。 为了减小简单网络的组态工作量,CANopen定义了强制性的缺省标识符(CAN-ID)分配表。这些标志符在预操作状态下可用,通过动态分配还可修改 缺省ID分配表是基于11位CANID,包含一个4位的功能码部分和一个7位的节点ID(Node-ID)部分。 使用预定义的主从连接集。ID是缺省的,不需要配置。如果节点支持,PDO数据内容也可以配置。 上电后修改PDO的ID(在预操作状态),使用(预定义
13、的)SDO在节点的对象字典中适当位置进行修改。 使用CAL DBT服务:节点或从节点最初由它们的配置ID指称。节点ID可以由设备上的拨码开关配置(1)在开发过程中不必要将CANopen协议中的各项内容都一一编写,只要根据应用的具体要求按照CANopen协议编写即可。对象字典都要通过软件实现,这是实现CANopen的关键。(2)组建对象字典时并没有必要把协议规定的所有项都包括进去,另外还要留出足够的空间,使得用户可以根据以后的具体需要向对象字典中添加功能项。(3)一般应用中,如果CANopen网络不复杂,使用预定义的标识符分配就能满足要求。对于特别大的系统,如果要制定标识符分配,这需要大量的软件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAN 总线 应用 协议
限制150内