CAN和CANopen相关技术

发布者:Yinyue1314最新更新时间:2011-08-13 关键字:CAN  CANopen 手机看文章 扫描二维码
随时随地手机看文章

  一、CAN和CANopen简介   

    CAN总线全称为Controller Area 包装机械、烟草等行业得到了广泛的应用。CAN总线是德国BOSCH公司从80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达1MBPS。CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。

CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节   不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。

另外,CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。CAN总线插卡可以任意插在PC、AT、XT兼容机上,方便地构成分布式监控系统。

而CANopen是基于CAN总线的应用层协议,在开放的现场总线标准中CANopen是最著名和成功的一种,已经在欧洲和美国获得广泛的认可和大量应用。1992年在德国成立了“自动化CAN用户和制造商协会”(CiA,CANinAutomation),开始着手制定自动化CAN的应用层协议CANopen。此后,协会成员开发出一系列CANopen产品,在机械制造、铁路、车辆、船舶、制药、食品加工等领域获得大量应用。目前CANopen协议已经成为了一种新的工业现场总线标准EN-50325-4。CANopen协议是CAN-in-Automation(CiA)定义的标准之一,在欧洲,CANopen协议被认为是在基于CAN的工业系统中占领导地位的标准。大多数重要的设备类型,例如数字和模拟的输入输出模块、驱动设备、操作设备、控制器、可编程控制器或编码器,都在称为“设备描述”的协议中进行描述;“设备描述”定义了不同类型的标准设备及其相应的功能。依靠CANopen协议的支持,可以对不同厂商的设备通过总线进行配置。

二、CANopen的基本知识   

EDS文件   

EDS (Electronic Data Sheet)   EDS文件描述了CAN网络上设备通信属性(波特率、输出类型、I/O提供…)。它由设备制造商提供,用于在配置工具中配置节点(就像Windows里的设备驱动程序)。

PDO   PDO (过程数据对象)   

CANopen帧包含I/O数据   区分在:   

1、传送PDO:TXPDO 带有节点提供给其他节点的数据   

2、接收PDO:RXPDO 节点消耗的数据   传送的方向从节点的观点看总是可见的。PDO没有必要包含所有节点映象。通常模拟量和数字量被分成不同的PDO进行传送。对输出也是同样如此!   SDO   SDO (服务数据对象)   CANopen帧包含参数   SDO主要用于在程序运行时,从设备读参数或者向设备写参数   COB-ID   COB-ID(通讯对象标识符)   每个CAN帧以一个COB-ID开头,COB-ID作为CAN帧的标识符。

在配置阶段,每个节点在接收COB-ID时,对帧来说,他是提供者或者消费者。

三、关于CANopen   

介绍   

CANopen是一个标准的工业控制系统现场总线协议。它特别适合实时控制的PLC ,因为它为集成的和可传输的工业应用提供了一个高效、低成本的解决方案。

CANopen协议   

CANopen协议是建立在CAL协议基础上的一个子协议。通过定义设备规范,它甚至更加适合于标准工业组件。C   ANopen是一个CIA(CAN in Automation)标准,投入市场之初,它就迅速被推广。在欧洲,CANopen现在已经被公认为基于CAN设计的工业系统的工业标准。

物理层   

CAN使用差分驱动两总线(公共回路)。CAN信号是CAN-high和CAN-low线之间的电压差值。

CANopen协议   

1:CAN-high线   

2:CAN-low线   

3:终端电阻:120Ω   

4:节点   

根据电磁兼容要求,总线可以使用平行、双绞或者屏蔽走线方式。单线结构使反射最小化。

CANopen规范文件   

通讯规范文件   

CANopen规范文件时基于“通信规范文件”的,用来规定主要通讯机制和它们的描述(DS301)。

设备规范文件   

在设备规范文件中描述了工业自动化领域最重要的设备类型,同时也定义了设备功能类型。

标准设备描述例子为:   ◆数字量和模拟量输入/输出模块(DS401)   ◆电机(DS402)   ◆控制设备(DS4P403)   ◆闭环控制器(DSP404)   ◆PLC   (DS405)   ◆编码器(DS406)   通过CAN总线配置设备   通过CAN总线配置设备的可能性是制造商要求自治的基本原则之一。

CANopen规范文件的通用规格   CANopen是符合以下规定文件的,用于CAN系统的一套规范:   ◆开发的总线系统   ◆无协议超负荷的实时数据交换   ◆可重新定义尺寸的模块化设计   ◆设备互用性和交换性   ◆被大量国际制造商支持   ◆标准的网络配置   ◆访问所有的参数设备   ◆同步和循环过程数据/事件驱动数据   CANopen产品认证   在市场上提供CANopen认证产品的制造商都是CiA组织成员。

CAN标准   CANopen协议被CIA组织定义并且可访问该组织(须遵守某些限制)站点:http://www.can-cia.com.对主从设备的源代码可以从不同的供应商得到。

与CANopen网络通讯   通讯协议文件基于CAL服务和协议。

它提供用户对两种交换类型的访问:SDO、PDO。

在上电时,设备进入一个初始化阶段,接着进入预处理阶段。在这个阶段,只有SDO可以通讯。在接到一个启动命令后,设备进入工作状态,在这个阶段PDO可以进行通讯,SDO通讯仍然有效。

CANopen启动Boot-up   启动过程 最小设备配置指定了简化的启动程序。这个过程描述如下:   CANopen启动Boot-up   详细步骤介绍:   1、模块上电   2、模块初始化,进入预处理状态   3、NMT服务:启动远程节点   4、NMT服务:预处理   5、NMT服务:停止远程节点   6、NMT服务:重启节点   7、NMT服务:重启节点通讯   初始   进入“重新启动通讯”后,设备进入初始模式。

该状态允许的操作有:   ◆定义要求的通讯对象(SDO、PDO、紧急事件处理)   ◆安装相关的CAL服务   ◆配置CAN控制器   初始化完成后设备自动进入预处理模式。

预处理   进入预处理的条件:   ◆在初始化完成后   ◆在正常工作模式下,接收到“进入预处理”NMT命令   在这种情况下,设备的配置可以被修改。然而只有SDO可以用来读或写设备的参数。

当配置完成后,通过接收相关的命令,设备进入以下的工作状态:   ◆停止 ,当接收到“停止远程节点”NMT命令   ◆运行 ,当接收到“启动远程节点”NMT命令   停止   如果设备处于“预处理”或者“正常工作”状态,接收到“节点停止”命令(NMT服务),设备进入“停止状态”。

在这种情况下,设备不能被配置。不能读写设备相关参数(SDO),只有从设备的监视功能(即节点保护)有效。

操作   当设备处于“预处理”状态,接收到“启动远程节点”,设备进入操作状态。在“运行”状态,当使用“节点启动”NMT服务启动CANopen网络,所有的设备功能性被使用,PDO、SDO均可进行通讯。

过程数据对象(PDO)   PDO定义   PDO是过程数据通信相关的通信对象,它能保证过程数据的实时交换。

一个CANopen设备的PDO对象定   义了它与网络上其他CANopen设备之间的隐式数据交换。

当设备运行时,PDO交换被激活。

PDO类型   有两种PDO类型:   ◆ TXPDO/TPDO:PDO被设备传送   ◆ RXPDO/RPDO:PDO被设备接收   PDO的供给者与消费者   PDO基于“供给者/消费者”模型。传送的叫“供给者”,接收的叫“消费者”。

PDO的传送模式   ◆同步(通过接收SYNC对象实现同步)   非周期:由远程帧预触发传送,或者由设备子协议中规定的对象特定事件预触发传送。 周期:传送在每1到240个SYNC消息后触发。

◆ 异步   由远程帧触发传送。

由设备子协议中规定的对象特定事件触发传送。

服务数据对象(SDO)   SDO定义   服务数据对象SDO允许使用显示请求交换数据。

当设备处于预处理、工作状态,SDO服务是有效的 。

SDO的类型   有两种SDO类型:   ◆读SDO(上传)   ◆写SDO(下载)   客户端/服务器模型   SDO协   议是基于“客户端/服务器”模型。

对于下载SDO   客户端发送一个标示被写对象的请求,服务器返回一个确认信息。

对于上传SDO   客户端发送一个标示被读对象的请求,服务器返回被读对象的数据。

对于一个未处理的SDO   对于以上的两种情况,如果一个SDO不能被处理,服务器返回一个错误代码。

“节点保护”和“寿命保护”   使用期限的定义   “使用期限”参数是按以下来计算的:   使用期限=保护时间(看门狗时间)使用期限系数;保护时间的典型值在250ms到2S之间。对象0X100CH含有以毫秒时间定义的保护时间,对象0X100DH含有“使用期限系数”。

监控机制:   1、节点保护   2、心跳报文   监控激活   如果两个参数中有一个为零,那么模块不执行监控,即无寿命保护。为了激活监控,必须在两个对象中输入非零的数值。

保证可靠工作   为了保证可靠工作,建议设置“使用期限系数”为2。如果不是只样,主模块会产生延时(例如,在“节点保护”时高优先级信息的处理或者内部处理时),模块会转入预处理模式而不产生错误。

监控的重要性   这两种保护机制对CANopen系统的安全运行特别重要,特别是对不工作于事件-被控模式的设备。

从设备的监控   监控按以下的方法执行:   ◆ 主设备发送远程帧,来读取从设备的状态;   COB-ID   0x700+Node_ID   从设备答复:   COB-ID Byte0   0x700+Node_ID Bit 7 : toggle Bit6-0 : 状态   ◆从设备可以被配置为产生周期性的被称着“心跳报文”的报文,周期性的发送从设备的状态。

COB-ID Byte0   0x700+Node_ID状态   主设备的监控   如果主设备基于严格循环请求“保护”信息,从设备可以检测主设备的状态。如果从设备在也定义的使用期限内没有收到主设备的请求(保护错误),它会认为主设备故障。这种情况下相应输出进入出错状态并且从设备进入预处理状态。

“保护”协议   在第一个“保护”信息里,“锁住位”(t)的值是0,然后在每个后来的保护信息里,该位都会改变,只有可以显示信息是否丢失。总线头部用7个剩余的位来指示网络状态:   网络状态 响应   被停止 0x04或0x84   预处理 0x7f或0xff   操作 0x05或0x85   四、CANopen设备   CAN总线网络中有如下几类设备:   (1) PLC:PLC做CAN上的一个主站,起到中央控制器的作用,对整个系统的工作起安排、调度、执行各个操作等作用。作为CAN网络中的主站,PLC可以访问网络中任何节点的任何可以访问的数据,并起总线监控作用,实时监控总线上各个节点的工作状态,如果出现错误并执行相应的处理程序;   (2) 分散式I/O:通常由电源部分、通信适配器部分、接线端子部分组成。 分散式I/O不具有程序存储和程序执行,通信适配器部分接收主站指令,按主站指令驱动I/O,并将I/O输入及故障诊断等信息返回给主站。

(3) 驱动器、传感器、执行机构等现场设备:即带CAN接口的现场设备,可由主站在线完成系统配置、参数修改、数据交换等功能。至于哪些参数可进行通信及参数格式由CANopen行规决定。

关键字:CAN  CANopen 引用地址:CAN和CANopen相关技术

上一篇:基于CAN总线技术在车站信号系统中的应用
下一篇:TranSwitch的HDMI 1.4技术被用于下一代高清电视

推荐阅读最新更新时间:2024-05-02 21:32

CAN总线在石油修井机上的应用
0 引言     石油修井机是由一台或两台动力机驱动绞车和转盘,绞车用动力机、绞车、井架等均安装在汽车载重底盘、专用底盘或牵引式底盘上的石油修井装置。     在油田上广泛使用卡特彼勒发动机或康明斯发动机作动力机,使用艾里逊传动箱或国产的凯星传动箱进行动力传递。在汽车行走时,发动机的动力经过传动箱传送到底盘,驱动车辆行走。在修井机作业时,通过切换装置,发动机的动力经过传动箱传送到作业台上,可以进行立井架、驱动绞车或转盘等修井作业。在驾驶室、井口作业平台都需要对发动机油门位置、传动箱的换档进行操作,传动箱的工况也要与发动机的工况进行匹配。整个控制系统如果用传统的方式进行控制,传递各种命令和交换信息,会在汽车底盘和工作台上布置
[嵌入式]
CAN总线技术在工业码垛机器人控制系统中的应用研究
目前在用的工业码垛机器人种类繁多,但根据其多轴控制系统的技术特点一般可分为三种类型:1)基于PLC的多轴控制系统;2)基于PC的多轴控制系统;3)基于总线的多轴控制系统。其中,总线控制系统具有数字信号传输、系统完全开放等优点,得到广泛的应用。笔者通过研究发现,基于现场总线,尤其是CAN总线的工业码垛机器人在实际应用中具有便于组网、性价比高、扩展性强等特点,在大工业生产中具有广阔的发展前景。 工业码垛机器人 笔者所在科研团队开发的新型工业码垛机器人(机构简图如图1所示),其主体机械结构是基于平衡吊原理的七杆机构,具有承载力大、稳定性好、结构紧凑、节省能耗等特点。机器人的动力由四台交流伺服电机提供,分别负责机器人沿水平方向、沿垂直
[嵌入式]
汽车电子CAN总线分布式控制系统应用方案
CAN总线是一种用于实时应用的串行通讯协议总线,为汽车行业而开发,以此取代昂贵而笨重的配电线束。 自出现以来,CAN总线在车辆的各个领域有着广泛的应用,包括货车、客车、火车、缆车、叉车和许多其它车辆。因为其实现了复杂的故障限制机制和控制算法,CAN协议如今是车辆内部网络通信的技术标准,而CAN总线是能够实现整车各电子控制装置之间的通讯数据转发的智能电控设备,也是所有车辆类型中汽车控制网络的灵活性强且性价比较高的解决方案。 CAN总线分布式控制系统 传统油车 主要使用CAN进行连接的电子控制模块包括引擎管理、悬置装置、巡航控制、传输、点火、HVAC、远距离信息技术和后照明等。汽车方面的应用包括两个类别:车身控制(针对乘客舒适
[嵌入式]
eCAN模块与SJA1000的应用比较
引 言   TMS320F2812是TI公司新推出的DSP芯片,内嵌CAN总线控制器eCAN模块(以下简称为eCAN),性能较已有的DSP(如TMS320C24x)内嵌的控制器有很大的提高;数据传输更加灵活方便,数据量较大,可靠性更高,功能更加完备。而SJA1000是Philips半导体公司推出的新型独立CAN控制器,是PCA82C200的替代产品,支持CAN2.0B协议,完全兼容CAN2.0A,是目前应用比较多的CAN独立控制器之一。   CAN总线系统通信的软件一般可以分为三个主要模块:系统初始化模块、信息发送模块和信息接收模块。下面以TMS320F2812内嵌的eCAN模块与广州周立功公司的DP51+仿真实验仪之间的CAN
[应用]
基于CAN总线的小水电多功能自动化装置的研发
1引言 目前我国众多小水电站的自动化水平落后,机电设备陈旧老化,安全事故频繁,自动控制系统的运行需要多人值班,进行设备的维护及事故处理,严重影响小水电的经济效益。近几年,多数小水电站要求进行自动化设备的技术改造,提高测控技术水平,降低事故率,提出尽可能少人值班或无人值班的要求。 总线技术的发展及应用,为解决以上问题带来方便。采用高速现场总线技术——CAN总线,可将小水电站多种测控系统的功能要求进行模块化多功能集中设计,构成基于CAN总线的小水电多功能一体测控装置。 2小水电站测控系统的特点及CAN总线的确定 2.1小水电站测控系统的特点 小水电站的测控系统主要有发电机组保护、转速测控、温度巡检、综合测控、同期控制、顺序控制、
[工业控制]
基于<font color='red'>CAN</font>总线的小水电多功能自动化装置的研发
用无扼流圈收发器简化CAN总线实现方式
由于汽车内电子元器件的密度在逐年增加,我们需要确保车内网络在电磁兼容性(EMC) 方面保持高性能。这样的话,当不同子系统被集成在一个较大解决方案中,并且在常见(嘈杂)环境中运行时,这些子系统能够正常运转。虽然有很多不同的车内网络互连标准,并且汽车原始设备制造商 (OEM) 对于EMC也有多种不同的要求,这篇文章主要讨论一个已经被证明具有特别挑战性的话题:一个控制器局域网 (CAN) 总线的射频 (RF) 放射。 CAN使用均衡的差分信令来发送波特率,高达1Mbps(或者更高,前提是使用 灵活数据速率 变量)的二进制数据。理想情况下,差分信令的使用避免了所有外部噪声耦合。由于每一半差分对(被称为CANH和CANL)在变化时是对称的
[汽车电子]
用无扼流圈收发器简化<font color='red'>CAN</font>总线实现方式
基于CANopen协议在车载设备中的应用研究
引言 在现代战争中,随着武器装备系统的机动化、自动化和信息化程度的不断提高,军用车辆上的车载设备也不断增多,其中很多设备如车载雷达、车载 光学 瞄准设备、车载武器设备等,都需要一个稳定的水平平台作为基座,以保证武器系统的瞄准、跟踪和精确打击。同时,随着网络技术的不断发展,车辆系统中的网络化程度也越来越高,这就要求一个车载装置能和其它的设备进行互连,从而有利于形成整车 监控 系统。目前,在车辆中大多数设备都通过 CAN 总线进行连接,但是其应用层协议的不统一给不同厂商之间的设备互连带来了困难。 CANopen 是基于CAN(Controller Area Network)总线的应用层协议,它最初由从事工业控制的CiA (CA
[汽车电子]
基于<font color='red'>CANopen</font>协议在车载设备中的应用研究
CAN线束布局设计原则
CAN线束要求 线束布局设计要求网络中多个车载ECU和离线工具,具体详见图2。 对于CAN线束设计,一般要求如下几点: 1) CAN总线总长度<40m; 2) ECU间距<20m; 3) ECU节点数量<20个; 4) 线束使用屏蔽线(高速CAN)或者双绞线(低速CAN); 5)线束要求支线必须尽可能短;诊断节点直接与总线相连,端口长度应该尽可能短,要求最长为lm。从连接器中诊断仪之间的连线也应该尽可能短,最长不超过5m。 6) CAN 线在布局线束时尽量保持走线顺畅,避免出现CAN线回折现象。确保每条支线与主干线相接时,CAN_H和CAN_L的连接点尽量保持在主干线的同一位置上。原则上各节点之间的节点距离D 不允许等长度
[嵌入式]
<font color='red'>CAN</font>线束布局设计原则
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved