电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

【5A文】通信功能与总线接口附件-CANopen协议简介与应用开发

86页
  • 卖家[上传人]:Jerm****014
  • 文档编号:68955311
  • 上传时间:2019-01-11
  • 文档格式:PPT
  • 文档大小:3.47MB
  • / 86 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、CANopen协议简介与应用开发,要 点: CANopen协议简介; CANopen协议具体应用开发。,CANopen协议是建立在CAN基础上的通信网络技术,是欧洲CiA组织定义的几种CAN高层协议标准之一,因其开放性和低成本等优势,发布后不久就得到了广大厂商和用户的亲睐。在欧洲,在众多基于CAN的工业系统中,CANopen协议是事实上占据领导地位的标准。目前CANopen协议已经在运动控制、车辆工业、电机驱动、工程机械、船舶海运、楼宇自动化等行业得到广泛的应用。,一 CANopen协议简介,协议特性 基于多种网络通信模式,适合对时间要求苛刻的通讯场合。 以对象字典的形式来定义标准设备描述文件,并通过SDO(服务数据对象) 报文存取。 包含标准的设备监护服务信息(节点监视/心跳)、网络管理信息以及紧急信息对象。 支持同步、异步传输模式。 提供预定义连接集,简化系统配置工作。 在实际应用中,一般以主从式结构模式为主。,1.1 主节点主要的功能 控制从节点运行状态; 通过SDO对对象字典的参数进行读取和修改; 监视从节点的运行状况和是否发生错误(即进行节点保护); 由从节点中获得相应的信息

      2、和运行状态;启动和终止SDO通讯; 发送SYNC报文; 提供分配特定标识符等网络管理的服务。,1.2 从节点功能 负责底层的网络通讯和控制任务,每个从节点只完成属于自己范围内的特定任务。 进行实时数据的传输,即PDO (过程数据对象)的通讯。 响应主节点发送的管理信息帧。 对自己负责的底层设备进行数据采集和控制。,1.3 从节点架构 CAN驱动:CAN控制器初始化,报文收发处理。 通信对象:收发和解析各种报文对象,实现数据交互过程。 对象字典:存储节点所有信息,向通信对象和应用程序提供接口。 应用程序:实现节点的功能,如控制、数据采集等,用户自定义。,1、 CAN驱动程序 CAN控制器初始化程序; CAN中断处理程序; CAN报文发送程序。,2、对象字典 对象字典就是一个有序的对象组,每个对象采用一个16位的索引值来寻址,为了允许访问数据结构中的单个元素,同时也定义了一个8位的索引值,这个索引值通常被称为子索引。 每个CANopen设备都有一个对象字典,对象字典包含了描述这个设备和它的网络行为的所有参数,对象字典通常用电子数据文档(EDS)来记录这些参数。,通信子协议 SYNC报文参数

      3、设置(1005H、1006H、1007H) SDO报文参数设置 客户端SDO(1200H-127FH) 服务器SDO(1280H-12FFH) 接收PDO报文参数设置 PDO通信参数(1400H-15FFH) PDO映射参数(1600H-17FFH) 发送PDO报文参数设置 PDO通信参数(1800H-19FFH) PDO映射参数(1A00H-1BFFH) 设备子协议 与特定设备相关的参数,用于存储设备的相关参数。(6000H-9FFFH),对象的结构,Index: 指出该对象在对象字典中的位置 Object:指明该对象的类型 Name:对象的名称 Type: 指明该对象的数据类型 Attrib: 对象的属性值 M/O: 说明该对象是强制实现的还是可选的,从节点对象字典实现 由于从节点需要实现的对象字典项不是很多,也不复杂,所以可以直接采用二维数组的形式来实现。例如:,对象字典实现 将所有对象集合起来,得到对象字典; const indextable ObjDict_objdict = (subindex*)ObjDict_Index1000,sizeof(ObjDict_Index1

      4、000)/sizeof(ObjDict_Index10000), 0x1000, (subindex*)ObjDict_Index1001,sizeof(ObjDict_Index1001)/sizeof(ObjDict_Index10010), 0x1001, (subindex*)ObjDict_Index1003,sizeof(ObjDict_Index1003)/sizeof(ObjDict_Index10030), 0x1003, ;,扫描函数 根据对象字典的实现方式,相应的扫描函数实现如下: const indextable * ObjDict_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t *callbacks) int i; *callbacks = NULL; switch(wIndex) case 0x1000: i = 0;break; case 0x1001: i = 1;break; case 0x1003: i = 2;*callbacks = ObjDict_Index1003_call

      5、backs; break; case 0x1005: i = 3;*callbacks = ObjDict_Index1005_callbacks; break; case 0x1008: i = 4;break; case 0x1009: i = 5;break; case 0x100A: i = 6;break; case 0x1010: i = 7;break; case 0x1011: i = 8;break; ,存取函数 由getODentry()和setODentry()函数来实现,思路如下: 通过扫描函数定位到指定对象的入口; 检查对应对象的访问权限,若越权返回错误码; 若权限正确,允许访问,根据调用的函数,将指定内容copy进指定对象,或将指定对象里的内容copy到目标地址(注意检查是否越界); 返回。,3、报文对象 报文格式 基于CAN总线的报文格式 11位标识符(或29位)+1-8byte数据 标识符格式 Node-ID由系统集成商定义,例如通过设备上的拨码开关设置。Node-ID范围是1127(0不允许被使用)。,CANopen协议定义了四种报文对象,分别是: 网

      6、络管理报文对象NMT 服务数据对象SDO 过程数据对象PDO 预定义报文或特殊功能对象,1.4 NMT 管理报文(Network Management)主要负责层管理、网络管理和ID分配服务,例如,初始化、配置和网络管理(其中包括节点保护)。 网络管理中,同一个网络中只允许有一个主节点、一个或多个从节点,并遵循主从模式。,NMT状态机,从节点内必须实现一个状态机,其状态转换由主节点控制,不同的状态对应不同的报文对象可用性,目的是使主节点可以控制从节点在总线上的通信行为。,Initialisation:从节点上电后自动进入该状态,主要完成节点的硬件初始化,通信参数和应用参数的重置,成功后自动进入Pre-Operational状态。,Pre-Operational:在此状态中,从节点SDO被允许,主节点通过SDO完成从节点通信参数的设置,如从节点的PDO参数映射设置。主节点发送start_remote_node命令使从节点进入Operational状态。 Operational:在此状态中,从节点完成自己的正常工作,采集数据,控制设备,与主节点通信,所有报文对象类型都被允许。 Stoppe

      7、d:当从节点发生错误时,或主节点检测到从节点出错了,通过发送stop_remote_node命令使从节点进入此状态,除了接受NMT报文,其他报文对象都被禁止,以此消除对总线的不良影响。若主节点检测到错误节点恢复正常,仍可通过NMT报文让其正常运行。,只有NMT-Master节点能够传送NMT 状态控制报文(通常都是主节点)。所有从设备必须支持NMT模块控制服务。NMT 状态控制消息不需要应答。NMT消息格式如右图:,第一个字节表示从节点收到命令后需要进入的状态,第二个字节是接收命令的从节点ID,若为0,此时所有节点都接收该命令,实现 定义一个状态数组 包含所有的报文类型 状态改变函数 原子操作 状态报文可用性设置 状态转换,实现(续) 状态转换最终还需要报文的解析来实现报文可用性的控制。 canDispatch() UNS16 cob_id = UNS16_LE(m-cob_id); switch(cob_id 7) 检查COB_ID对应的报文对象在目前节点状态下是否可用; 若可用,则进入相应的报文处理函数; 不可用则跳出; ,NMT节点保护 通过节点保护服务,NMT主节点可以检查每个

      8、节点的当前状态,当这些节点没有数据传送时这种服务尤其有意义。 数据部分包括一个触发位(bit7),触发位必须在每次节点保护应答中交替置“0”或者“1”。触发位在第一次节点保护请求时置为“0”。位0到位6(bits06)表示节点状态,可为下表中的数值。,NMT心跳报文 从节点可被配置为产生周期性的被称作心跳报文的报文。 当一个Heartbeat节点启动后它的Bootup报文是其第一个心跳报文。 Heartbeat消费者通常是主节点,它为每个Heartbeat节点设定一个超时值,当超时发生时采取相应动作。 一个节点不能够同时支持Node Guarding和Heartbeat协议!,1.5 SDO SDO是服务数据对象接口(Service Data Object)的缩写,顾名思义提供服务数据的访问接口,所谓服务数据指一些实时性要求不高的数据,一般是指节点配置参数,因此,SDO一般用来配置和获得节点的配置参数,充当OD对外的接口,其优先级只比心跳(Heartbeat)高。,SDO基于CS模式,所有报文都需要确认。通常从节点作为SDO服务器,主节点作为客户端。客户端通过索引和子索引,访问服务器上

      9、的任意对象字典,SDO的上传与下载,是从server的角度去理解的, 上传:client对server的OD进行读操作; 下载:client对server的OD进行写操作。,传送机制: 加速传送:最多传送4Byte数据 分段传送:传送数据大于4Byte 报文基本结构:,SDO 命令字包含如下信息: 下载/上传(Download / Upload) 请求/应答(Request /Response) 分段/加速传送(Segmented / Expedited ) CAN帧数据字节长度 用于后续每个分段的交替清零和置位的触发位 SDO中实现了5个请求/应答协议:启动域下载 ,域分段下载,启动域上传 ,域分段上传和域传送中止。,命 令 字 细 节,命 令 字 细 节 ( 续 ),实现方案SDO线程 借鉴操作系统多线程机制的一套SDO服务处理方法,每个SDO线程表示的是与网络上其他节点建立的一个SDO链接,相当于在两个节点间建立一个SDO通讯路径,其中每个节点都拥有一个对这个路径的描述,在通讯过程中双方通过这个路径来交流,SDO通讯结束则释放该线程,每个节点可以同时与多个节点建立多个这样的路径且互不影响,就如同操作系统的多线程机制一样。,一次SDO访问是这样完成的: SDO发起节点(client)收集足够的信息,建立一个SDO线程,将收集的信息以特定格式放入参数表,形成一帧SDO请求,发送出去; server收到这帧请求,为它建立一个SDO线程,将这帧请求解析以获得足够信息来初始化这个SDO线程对应的参数表; 程序按照参数表的描述去执行server的功能收集数据,然后将收集到的数据形成SDO应答帧返回给client; 如果此次请求结束则释放该线程,否则等待下一帧请求到来;client在收到应答后判断该请求是否还有后续请求,无则释放此SDO线程; 如果在这个过程中,server 和client所在节点有收到其他节点的SDO请求或需要通过SDO请求其它节点,则新建SDO线程来实现,跟上面的步骤一样。,1.6 PDO PDO(Process Data Object )被用来传输实时数据,数据从一个生产者传到一个或多

      《【5A文】通信功能与总线接口附件-CANopen协议简介与应用开发》由会员Jerm****014分享,可在线阅读,更多相关《【5A文】通信功能与总线接口附件-CANopen协议简介与应用开发》请在金锄头文库上搜索。

      点击阅读更多内容
    TA的资源
  • 中考化学专题12 常见的酸和碱-中考化学备考百日捷进提升系列

    中考化学专题12 常见的酸和碱-中考化学备考百日捷进提升系列

  • 中考语文复习:记叙文阅读指导

    中考语文复习:记叙文阅读指导

  • 中考历史(人教版-北部湾专版)总复习课件-8年级上册-第4单元

    中考历史(人教版-北部湾专版)总复习课件-8年级上册-第4单元

  • 人教版八年级语文上册优品课件-第6课 阿长与《山海经》-1

    人教版八年级语文上册优品课件-第6课 阿长与《山海经》-1

  • 中考历史(人教版-北部湾专版)总复习课件-8年级上册-第1单元

    中考历史(人教版-北部湾专版)总复习课件-8年级上册-第1单元

  • 中考历史高分突破系列-近四年选择题剖析与实战训练

    中考历史高分突破系列-近四年选择题剖析与实战训练

  • 中考语文(人教版-通用版)总复习课件:专题15-议论文阅读

    中考语文(人教版-通用版)总复习课件:专题15-议论文阅读

  • 中考化学专题10 碳及其氧化物-中考化学备考百日捷进提升系列

    中考化学专题10 碳及其氧化物-中考化学备考百日捷进提升系列

  • 中考物理高分突破复习-第6章 质量和密度

    中考物理高分突破复习-第6章 质量和密度

  • 中考历史(人教版-北部湾专版)总复习课件-9年级上册-第7单元

    中考历史(人教版-北部湾专版)总复习课件-9年级上册-第7单元

  • 中考英语高分突破系列-语法精练精讲-第五节介词和介词短语

    中考英语高分突破系列-语法精练精讲-第五节介词和介词短语

  • 人教版八年级语文上册优品课件-桥之美-1

    人教版八年级语文上册优品课件-桥之美-1

  • 中考语文(人教版-通用版)总复习课件:专题12-文言文阅读-第2节-课外文言文阅读

    中考语文(人教版-通用版)总复习课件:专题12-文言文阅读-第2节-课外文言文阅读

  • 中考英语高分突破系列-语法精练精讲-第十一节句子种类、简单句和主谓一致

    中考英语高分突破系列-语法精练精讲-第十一节句子种类、简单句和主谓一致

  • 中考英语高分突破系列-语法精练精讲-第一节名 词

    中考英语高分突破系列-语法精练精讲-第一节名 词

  • 中考语文复习现代文阅读解题攻略课件-第三章-文学类文本阅读1

    中考语文复习现代文阅读解题攻略课件-第三章-文学类文本阅读1

  • 中考语文复习现代文阅读解题攻略课件-第一章-说明文阅读 1

    中考语文复习现代文阅读解题攻略课件-第一章-说明文阅读 1

  • 中考化学专题08 空气和水-中考化学备考百日捷进提升系列

    中考化学专题08 空气和水-中考化学备考百日捷进提升系列

  • 中考物理高分突破复习-第12章 欧姆定律

    中考物理高分突破复习-第12章 欧姆定律

  • 中考英语高分突破系列-题型解题指导-第一节语法选择

    中考英语高分突破系列-题型解题指导-第一节语法选择

  • 点击查看更多
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.