CANopen协议讲解.doc
《CANopen协议讲解.doc》由会员分享,可在线阅读,更多相关《CANopen协议讲解.doc(25页珍藏版)》请在咨信网上搜索。
1、根据DS301的内容进行介绍1、CAN总线 CAN标准报文2、CANopen应用层协议CANopen 协议不针对某种特别的应用对象,具有较高的配置灵活性,高数据传输能力,较低的实现复杂度。同时,CANopen 完全基于CAN 标准报文格式,而无需扩展报文的支持,最多支持127个节点,并且协议开源。一个标准的CANopen 节点(下图),在数据链路层之上,添加了应用层。该应用层一般由软件实现,和控制算法共同运行在实时处理单元内。 一个标准的CANopen 节点CANopen 应用层协议细化了CAN 总线协议中关于标识符的定义。定义标准报文的11 比特标识符中高4 比特为功能码,后7 比特为节点号
2、,重命名为通讯对象标识符(COB-ID)。功能码将所有的报文分为7个优先级,按照优先级从高至低依次为:网络命令报文(NMT)同步报文(SYNC)紧急报文(EMERGENCY)时间戳(TIME)过程数据对象(PDO)服务数据对象(SDO)节点状态报文(NMT Err Control)7 位的节点号则表明CANopen 网络最多可支持127个节点共存(0 号节点为主站)。下表给出了各报文的COB-ID 范围。NMT 命令 为最高优先级报文,由CANopen 主站发出,用以更改从节点的运行状态。SYNC 报文 定期由CANopen 主站发出,所有的同步PDO 根据SYNC报文发送。EMERGENCY
3、报文 由出现紧急状态的从节点发出,任何具备紧急事件监控与处理能力的节点会接收并处理紧急报文。TIME 报文 由CANopen 主站发出,用于同步所有从站的内部时钟。PDO 分为4 对发送和接收PDO,每一个节点默认拥有4对发送PDO 和接收PDO,用于过程数据的传递。SDO 分为发送SDO 和接收SDO,用于读写对象字典。MT Error Control报文 由从节点发出,用以监测从节点的运行状态。状态机CANopen 的每一个节点都维护了一个状态机。该状态机的状态决定了该节点当前支持的通讯方式以及节点行为。初始化时,节点将自动设置自身参数和CANopen 对象字典,发出节点启动报文,并不接收
4、任何网络报文。初始化完成后,自动进入预运行状态。在该状态,节点等待主站的网络命令,接收主站的配置请求,因此可以接收和发送除了PDO 以外的所有报文。运行状态为节点的正常工作状态,接收并发送所有通讯报文。停止状态为一种临时状态,只能接收主站的网络命令,以恢复运行或者重新启动。CANopen节点状态转换图 CANopen节点状态转换条件3、Device ModelCommunication 提供通信对象和传输经过底层的数据的适当功能;Object Dictionary 对此设备上的应用程序对象,通信对象和状态机的行为有影响的所有数据项的集合。Application 由在处理环境方面的设备功能组成。
5、设备应用在数据条目中的完整描述在对象字典中叫设备子文件(device profile)4、OD每个节点维护一个对象字典(Object Dictionary, OD)。该对象字典保存了节点信息、通讯参数和所有的过程数据,是CANopen 节点的核心数据结构。上层应用程序也主要通过读写对象字典和CANopen 应用层进行交互。CANopen 对象字典为两级数组结构,通过索引(16bits)和子索引(8bits)来编址。设备子文件中最重要的就是对象字典的描述, 对象字典在slave节点中一般是在设备初始化写好的不会修改,而在master节点中可以在运行过程中动态修改,不修改的OD一般存在ROM中,而
6、修改的存在RAM中。由于它是由16bits的位索引,所以最多有65536个entries.根据节点所支持的通讯方式,每一个节点都必须实现1000h1FFFh 当中的一个必要子集,同时实现6000h 以上部分的数据区。数据区大小由节点的功能自行决定。1000h 以下部分所有的节点都不需实现。对象字典作为在CAN总线上连接application和通信的媒介,其允许来自application数据在CAN 网络上进行交换。CANopen定义了可以进入对象字典的服务和通信对象。每一个入口通过索引和子索引来编址。在一个主索引里中的子索引入口的类型和属性可能会变化。5、PDO数据处理对象 (PDO) 特别适
7、合快速的数据处理传输。通信模块针对这些数据处理对象定义了一个PDO producer 和一个或多个PDO consumers。PDO的传输是由事件触发的,这样的事件可以是代表一个PDO变量的变化;可以是时间的过期或者是接收到一个特定的消息。过程数据直接在一个CAN消息中传输而不需要协议头文件。一个PDO的长度是在0到8个字节之间。PDOs包含在其映射参数和通信参数中。TPDOs 和RPDOs的最大的数可以被定义为512。一个简单的CANopen设备一般支持4个PDOs。实际当中,对一个具体的CANopen设备而言,其PDOs的个数由应用层或设备profile来决定的。3.1PDO的结构映射参数
8、在对象词典中一个PDO由临近的条目构成。所谓的映射参数定义了这些条目的连接。一个映射参数通过索引、分索引和位数定义数据源。例如:一个CAN消息最多有8个字节。这意味着当使用一个PDO时,在一个PDO中发送8个字典的对象条目。3.2PDO的结构通信参数为了传输一个PDO,通信参数定义了传输的性质和CAN标识符(CAN identifier)。PDO通信参数是在对象词典的条目(RPDOs: index 0x14000x15FF,TPDOs: 0x1800-0x19FF)如果允许,映射参数在数据服务对象帮助下可以通过CAN修改。3.2 COB-ID(CAN 标识符, 分索引 1)COB-ID作为身份
9、证明,PDO的优先权在总线入口(access)之前。对于每一个CAN消息来说只允许有一个发送者(生产者)。然而,对这个已存在的消息来说其允许多个接收者(消费者)。位30=0,著对这个PDO来说一个远程发送请求(RTR)是被允许。3.3 PDO连接的例子设备A的输入2和3被转移到设备B的输出1和3。两个设备都支持完全映射。传输和接收都是PDOs使用的是相同的标识符0x01C0。因此设备B自动的接收由设备A发送的PDO。设备B作为接收者根据映射原理分析数据:它传递第一个字节到输出1,传递第二个字节到输出3。在另一方面,发送设备A以同样的字节存储它的输入2和3。6、SDO数据字典作为应用层和通信层的
10、主要数据交换媒介。一个CANopen设备的所有数据的入口可以通过对象字典来管理。每一个对象字典的入口可以用索引和子索引来表示其地址。CANopen定义了所谓的SDO就是用于进入到这些入口。通信模块基于客户-服务器框架上的数据交换。读或写入口总是由客户来初始化并且是由服务器服务。每一个CANopen设备必须有一个数据服务对象服务器来进入到它的对象字典。SDO 发送需要两类不同的COB IDs (CAN identifier)。第一个COB ID 用于从客户到服务器发送一个请求。服务器通过第二个COB ID发送反馈信号到客户。不同的 COB ID必须用于各自的方向以防止在CAN总线上的冲突。通信p
11、rofile定义了COB IDs 可以用default SDP server。每一个CANopen设备可以处理127个SDO servers. CANopen 标准CiA DS-301 定义了不同的协议用于发送SDOs。读OD 入口称作为上传,写入口称为下载。一个正在进行的发送可以在终止转移服务帮助下由客户或服务器来中断。TPDO 传输的是采样的数据,当发生触发TPDO 传输的事件时,各个TPDO 根据自己的传输类型决定是否进行采样并传输。TPDO 的传输分为同步和异步两大类,传输类型为同步的,需要在接收到同步消息(SYNC) 时采样数据。同步又分为周期和非周期两种。传输类型0 为非周期传输,
12、表示只有接收到同步消息并且规定的事件发生才进行采样数据发送,具体是在收到同步对象后,判断规定的事件是否发生,如果发生则进行采样并触发TPDO 的发送。传输类型1240 为周期传输,传输类型的值表示在接收到对应个数的同步消息后采样并触发TPDO 的发送,例如某个TPDO的传输类型为10,就表示此TPDO 每次接收到10 个同步消息后采样并发送数据。传输类型252 为非周期传输,在接收到同步对象后进行采样但不发送,在接收到请求该数据的远程帧后发送。传输类型253-255 为异步传输,定义为此三种类型的TPDO在接收到远程帧或规定的事件发生后进行传输。7、CANopen中的协议CAN message
13、 in CANopen数据放在CAN帧中是按最小位在前的顺序存放。NMT protocol设置节点进入操作设置节点进入停止设置节点进入预操作设置节点进入复位应用设置节点进入复位通信配置所有节点时,使用nodeID=00Node Guard Protocol主节点发送下列命令来询问节点的状态节点响应HeartBeat Protocol节点周期传送它的状态。Bootup Protocol节点进入预操作状态时,它发送:SDO protocol 所有SDO帧都具有相同的CAN帧长度:8bytes数据和rtr=0.SDO Download expedited protocol为了写0xd0d1到服务器节
14、点对象字典,客户机发送请求:SDO Upload expedited protocol为了读0xd0d1到服务器节点对象字典,客户机发送请求:SDO abort protocolAbort code (hexa)0503 0000 Toggle bit not alternated0504 0000 SDO protocol timed out0504 0001 Client/server command specifier not valid or unknown0504 0002 Invalid block size (block mode only)0504 0003 Invalid s
15、equence number (block mode only)0504 0004 CRC error (block mode only)0504 0005 Out of memory0601 0000 Unsupported access to an object0601 0001 Attempt to read a write only object0601 0002 Attempt to write a read only object0602 0000 Object does not exist in the object dictionary0604 0041 Object cann
16、ot be mapped to the PDO0604 0042 The number and length of the objects to be mapped whould exeed PDO length0604 0043 General parameter incompatibility reason0604 0047 General internal incompatibility in the device0606 0000 Access failed due to a hardware error0607 0010 Data type does not match, lengt
17、h of service parameter does not match0607 0012 Data type does not match, length of service parameter too hight0607 0013 Data type does not match, length of service parameter too low0609 0011 Sub-index does not exist.0609 0030 Value range of parameter exceeded (only for write access)0609 0031 Value o
18、f parameter written too hight0609 0032 Value of parameter written too low0609 0036 Maximum value is less than minimum value0800 0000 General error0800 0020 Data cannot be transferred or stored to the application0800 0021 Data cannot be transferred or stored to the application because of local contro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CANopen 协议 讲解
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。