CAN和CANopen的差别
CAN协议及其高层协议DeviceNet和CANopen的比较
CAN协议及其高层协议DeviceNet和CANopen的比较CAN协议及其高层协议DeviceNet和CANopen的比较1 引言从1982年2月RobertBosch公司在SAE(汽车工程协会)大会上宣布CAN控制器局部网的那一刻开始, CAN已经走过20多年的历史。
1992年,Mercedes(奔驰)在他们的高级客车中使用CAN技术,相继Volvo、Volkswagen、BMW 等几十家公司都在各自的汽车上应用CAN技术。
今天,在欧洲几乎每一辆新客车均装有CAN控制器局部网。
CAN技术近年在我国发展也比较迅猛,国内的高级客车也都开始应用CAN技术。
CAN的协议在应用过程中,用户层直接访问数据链接层,每个厂商提供的数据调用方式各不相同,而CAN的标准没有规定应用层的相关信息,因此,CAN设备的兼容性和互换性不是很规范。
而且,随着应用领域的扩展,CAN协议在实际工业控制应用过程中,即使执行一些简单的分布式网络,除了标准中的物理层和数据链接层外,客户还要求有更多的功能,如发送长于8字节的数据块、响应和确定数据传送、标识符分配、网络节点的状态等。
如果这些功能正确执行,通信和应用过程的界线就十分清晰,将明显提高各个厂商之间的设备互换性和兼容性。
鉴于这些原因,产生了一些针对不同的目的和要求的基于CAN协议的较高层协议标准。
下面就对CAN协议及其较高层协议DeviceNet和 CANopen进行一些比较。
2 三种协议的比较项目∙CAN(Controller Area Network)1993年形成了CAN总线国际标准,2003年又进行了修订,是BOSCH公司为改进汽车内部电器线路开发的一种总线。
CAN协议的实现简单,成本低,可靠性高,抗干扰能力强。
∙DeviceNet在美国市场占有率比较高,它是由美国Rockwell公司在CAN的基础上推出的一种低成本的通信链接,它使用抽象的对象模型,其协议和规范都是开放的,用户将设备连接到系统时无需购买硬件、软件和许可权。
CAN总线的浅析CANopen协议
CAN总线的浅析CANopen协议在设计嵌入式系统,尤其是分布式嵌入式系统时,解决好系统各单元间可靠、有效的通信是系统设计成败的关键,对实时性和安全可靠性要求高的网络而言就更是如此。
解决这一问题有多种方案,如RS232/485串行总线、CAN、ProfitBus、FF、WorldFIP、LonWorks等各类型的现场总线,还有嵌入式以太网等。
其中,尽管RS485串行总线协议的性能不高,但由于其在硬件成本以及开发简便性上的巨大优势,目前仍然是国内广泛的总线应用。
随着嵌入式系统应用的发展,RS485性能上的不足逐渐显露出来,已经不能满足设计一个高性能、高实时性系统的要求。
尽管还需要实践的证明,但笔者经过多年的观察和实践,感觉到CAN总线是其中最有希望成功的。
选择CAN总线实现通信的原因选择CAN总线作为最佳候选者,主要是基于以下几方面原因:CAN串行总线具有高性能CAN的传输距离可以达到10公里;通信速率最高可达1Mbps;具有完善的错误检测机制;采用“多重访问冲突仲裁”机制的帧传输方式,可保证不丢失信息;每一帧中最多可以传输8个字节数据,可提供很高的实时性等等。
性能上的优势保证了CAN可以应用在很多的领域,在汽车工业、船舶运输、机械控制、工厂自动化、楼宇自动化等都可以看到CAN的应用。
CAN在硬件成本上很具优势除了性能外,和其它现场总线相比,CAN总线在硬件成本上也有很大优势。
从硬件芯片上来说,智能节点要收发信息需要一个CAN控制器和一个CAN收发器。
经过20多年的发展,CAN已经获得了国际上各大半导体制造商的大力支持,据CAN最主要的推广组织CIA(自动化CAN)统计,目前已经有20余种CAN控制器和收发器可供选择,片内集成CAN控制器的单片机更多达100余种。
CAN在开发成本上的优势也很明显目前,从广泛应用的8位/16位单片机,到DSP和32位的PowerPC、ARM等嵌入式处理器,均在芯片内部含有CAN总线硬件接口单元。
(完整word版)CANOPEN协议详解
一、CAN-BUS介绍1.CAN的基本概念、特点CAN 是 Controller Area Network的缩写(以下称为 CAN),是 ISO*1国际标准化的串行通信协议。
CAN 协议如表 3 所示涵盖了 ISO 规定的 OSI 基本参照模型中的传输层、数据链路层及物理层。
CAN 协议中关于 ISO/OSI 基本参照模型中的传输层、数据链路层及物理层,具体有哪些定义如图所示。
ISO/OSI 基本参照模型【注】*1 OSI:Open Systems Interconnection (开放式系统间互联)CAN的特点CAN 协议具有以下特点。
(1) 多主控制在总线空闲时,所有的单元都可开始发送消息(多主控制)。
最先访问总线的单元可获得发送权。
(2) 消息的发送在 CAN 协议中,所有的消息都以固定的格式发送.总线空闲时,所有与总线相连的单元都可以开始发送新消息。
两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为 ID)决定优先级。
ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。
两个以上的单元同时开始发送消息时,对各消息 ID 的每个位进行逐个仲裁比较.仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。
(3)系统的柔软性与总线相连的单元没有类似于“地址”的信息。
因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。
(4)通信速度根据整个网络的规模,可设定适合的通信速度。
在同一网络中,所有单元必须设定成统一的通信速度。
即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信.不同网络间则可以有不同的通信速度。
(5)远程数据请求可通过发送“遥控帧”请求其他单元发送数据。
(6) 错误检测功能·错误通知功能·错误恢复功能所有的单元都可以检测错误(错误检测功能)。
CAN总线的浅析CANopen协议
CAN总线的浅析CANopen协议作者:IC 文章来源:本站原创点击数:288 更新时间:2005-5-23通过采用高层协议将CAN的应用推向深化,和其他的现场总线相比,CAN只定义了物理层和数据链路层的规范(遵循OSI标准),这种设计和CAN规范定义时的历史条件有关,也可以使CAN能够更广泛地适应不同的应用条件,但必然给用户应用带来一些不便。
用户在应用CAN协议时,必须自行定义高层协议。
如何将CAN协议的应用推向更深的层次,同时满足产品的兼容和互操作性?国际上通行的办法是发展基于CAN的高层应用协议,只用在应用层上,不同公司的产品才可能实现互操作,好的应用层协议更可以为用户带来系统性能的飞跃。
在CAN总线协议飞速发展的20年中,很多领域都制定了CAN在该领域应用时所采用的高层协议规范。
其中,比较著名的有美国汽车工程师协会(SAE)制定的车内通信规范J1939等。
这些协议和规范对CAN的推广起了很大的作用,但总体来说,协议的模块化特性都不太好,一般只能应用于特定的领域。
为了能够把CAN推广到更多的领域,欧洲一些公司推出了CAL(应用层CAN)协议,尽管CAL在理论上正确,并在工业上可以投入应用,但每个用户都必须设计一个新的子协议,因为CAL 是一个真正的应用层协议。
CAL 可以被看作一个应用CAN 方案的必要理论步骤,但在这一领域它不会被推广。
从1993 年起,由Bosch公司领导的一个欧洲机构研究出一个协议原型,由此发展成为CANopen规范。
CANopen是一个基于CAL的子协议,采用面向对象的思想设计,具有很好的模块化特性和很高的适应性,通过扩展可以适用于大量的应用领域。
在CANopen规范基本完成之后,Bosch将其移交给CIA组织,由其进行维护与发展。
在1995年,CIA发表了完整版的CANopen通信子协议;仅仅用了5年的时间,它已成为全欧洲最重要的嵌入式网络标准。
CANopen不仅定义了应用层和通信子协议,而且为可编程系统、不同器件、接口、应用子协议定义了大量的行规,遵循这些行规开发出的CANopen设备将能够实现不同公司产品间的互操作。
CAN CANopen学习笔记
PART1——CAN1 CAN 基础知识CAN 总线是一种通用的串行通信协议,包含OSI 网络模型中的物理层和数据链路层,全部通过硬件来实现。
CAN 总线不分主从,每个节点只要需要,都可作为主站,向网络上其他节点发送信息。
物理层主要是通过CAN 收发器来实现。
1.1 CAN 收发器CAN 收发器安装在CAN 控制器内部,负责逻辑信号和电信号的转换,也即信息的收发。
将逻辑信号转为电信号,并将其送入传输线;或者,将传输线的电信号转为逻辑信号。
传输线跟电线一样,分一高一低,即CANH 和CANL 。
TIPS :电信号,指随着时间而变化的电压或电流CAN 收发器如图1.1所示。
由一个电路进行控制,也意味着控制单元的某个时间段只能进行一个操作,收或者发。
图1.1 收发器原理图开关闭合输出低电平,用逻辑“0”来表示,即显性电平; 开关断开输出高电平,用逻辑“1”来表示,即隐性电平。
当总线上连接有多个节点时,只要其中1个节点输出低电平,则总线激活,总线电平为低电平;总线上所有节点都输出高电平时,总线电平才为高电平,此时总线未激活。
原理如图1.2所示。
图1.2 多节点收发器原理图1.2 CAN 总线终端电阻CAN 网络中,网络的源端(起始节点)和末端需各安装一个终端电阻。
注:上图所示电阻并非终端电阻。
有两种接法,一般采用左图接法,如图1.3所示,左边高速,右边低速。
主要作用是:● 提高总线抗干扰能力 ● 提高信号质量。
通过终端电阻来消除在通信电缆中的信号反射,在通信过程中,有两种原因导致信号反射:阻抗不连续和阻抗不匹配。
阻抗不连续,信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射。
数据收发器与传输电缆之间的阻抗不匹配,这种原因引起的反射,主要表现在通讯线路处在空闲方式时,整个网络数据混乱,为了提高网络节点的拓扑能力,CAN 总线两端需要接有120Ω的抑制反射的终端电阻。
图1.3 两种终端电阻接线方式1.3 CAN 报文CAN 总线的报文有5种类型,数据帧、远程帧、错误帧、过载帧和帧间隔。
CAN总线与CANopen协议
CAN总线与CANOpen协议一CAN总线简介1.1 引言在20世纪90年代的汽车研究领域,采用总线分布式控制获得了很大的成功。
用户要求汽车的控制系统具有优越的性能以保证汽车的安全性和舒适性,因此越来越多的具有超强计算能力的电子设备加载在汽车上。
这就要求不同的电子设备之间能够进行通信和数据交换,以达到信息共享协调工作的目的。
德国的博世公司(Bosch)率先将CAN总线(Controller Area Network)应用于汽车电子控制系统,解决了控制系统的部件之间的以及控制系统与测试设备主机的数据交换问题,替代了原有网络(用于车体控制的LIN网络、用于厂内环境控制的MOST 网络及原有车内通信的Flecray网络等)实现的功能。
由于其独特的设计思想和高可靠性,在不同总线标准的竞争中获得了广泛的认可,并逐渐成为汽车最基本的控制网络,广泛应用于火车、机器人、楼宇控制、机械制造、数字机床、医疗器械、自动化仪表等领域。
图1.1 早期的ECU(汽车电子控制单元)通信CAN总线是一种串行通信协议,具有较高的通信速率的和较强的抗干扰能力,可以作为现场总线应用于电磁噪声较大的场合。
由于CAN总线本身只定义ISO/OSI模型中的第一层(物理层)和第二层(数据链路层),通常情况下CAN 总线网络都是独立的网络,所以没有网络层。
在实际使用中,用户还需要自己定义应用层的协议,因此在CAN总线的发展过程中出现了各种版本的CAN应用层协议,现阶段最流行的CAN应用层协议主要有CANopen、DeviceNet和J1939等协议。
图1.2 基于总线(CAN)的ECU通信1.2 CAN总线的特点CAN总线并不采用物理地址的模式传送数据,而是每个消息有自己的标识符用来识别总线上的节点。
标识符主要有2个功能:消息滤波和消息优先级确定。
节点利用标识符确定是否接收总线上的传送的消息当有2个或更多节点需要传送数据时,根据标识符确定消息的优先级。
CAN、CANOPEN与伺服技术讲座
CAN总线技术基本知识(三)
• CAN 是怎样工作的 • CAN 通讯协议主要描述设备之间的信息传递方式,CAN 层的定义与开放系统互连模型OSI 一致,每一层与另一设 备上相同的那一层通讯,实际的通讯发生在每一设备上相 邻的两层而设备只通过模型物理层的物理介质互连,CAN 的规范定义了模型的最下面两层数据链路层和物理层。 CAN 总线物理层没有严格规定,能够使用多种物理介质 例如双绞线光纤等,最常用的就是双绞线信号,使用差分 电压传送(常用总线收发器),两条信号线被称为 CAN_H 和CAN_L ,静态时均是2.5V 左右,此时状态表 示为逻辑1, 也可以叫做隐位,用CAN_H 比CAN_L 高表 示逻辑0 ,称为显位,此时通常电压值为CAN_H = 3.5V 和CAN_L= 1.5V,竞争时显位优先。
CAN总线技术基本知识(七)
• 什么是标准格式CAN 和扩展格式CAN? • 标准CAN 的标志符长度是11 位,而扩展格式CAN 的标志 符长度可达29 位。CAN 协议的2.0A 版本规定CAN 控制 器必须有一个11 位的标志符,同时在2.0B 版本中规定 CAN 控制器的标志符长度可以是11 位或29 位。遵循 CAN2.0B 协议的CAN 控制器可以发送和接收11 位标识符 的标准格式报文或29 位标识符的扩展格式报文。如果禁 止CAN2.0B,则CAN 控制器只能发送和接收11 位标识符的 标准格式报文,而忽略扩展格式的报文结构但不会出现错 误 • 目前Philips 公司主要推广的CAN 独立控制器均支持 CAN2.0B 协议即支持29 位标识符的扩展格式报文结构
CAN总线技术基本知识(八)
• CAN总线报文传送由4—远程帧:通过总线单元发送,用于请求发送具有 相同标识符的数据帧 —出错帧:任何检测出总线错误的单元都可发送 —超载帧:用于提供当前的和后续的数据帧的附加 延迟
can总线与canopen协议
竭诚为您提供优质文档/双击可除can总线与canopen协议篇一:•canopen协议讲解根据ds301的内容进行介绍1、can总线can标准报文2、canopen应用层协议canopen协议不针对某种特别的应用对象,具有较高的配置灵活性,高数据传输能力,较低的实现复杂度。
同时,canopen完全基于can标准报文格式,而无需扩展报文的支持,最多支持127个节点,并且协议开源。
一个标准的canopen节点(下图),在数据链路层之上,添加了应用层。
该应用层一般由软件实现,和控制算法共同运行在实时处理单元内。
一个标准的canopen节点canopen应用层协议细化了can总线协议中关于标识符的定义。
定义标准报文的11比特标识符中高4比特为功能码,后7比特为节点号,重命名为通讯对象标识符(cob-id)。
功能码将所有的报文分为7个优先级,按照优先级从高至低依次为:网络命令报文(nmt)同步报文(sync)紧急报文(emeRgency)时间戳(time)过程数据对象(pdo)服务数据对象(sdo)节点状态报文(nmterrcontrol)7位的节点号则表明canopen网络最多可支持127个节点共存(0号节点为主站)。
下表给出了各报文的cob-id范围。
nmt命令为最高优先级报文,由canopen主站发出,用以更改从节点的运行状态。
sync报文定期由canopen主站发出,所有的同步pdo根据sync报文发送。
emeRgency报文由出现紧急状态的从节点发出,任何具备紧急事件监控与处理能力的节点会接收并处理紧急报文。
time报文由canopen主站发出,用于同步所有从站的内部时钟。
pdo分为4对发送和接收pdo,每一个节点默认拥有4对发送pdo和接收pdo,用于过程数据的传递。
sdo分为发送sdo和接收sdo,用于读写对象字典。
mterrorcontrol报文由从节点发出,用以监测从节点的运行状态。
状态机canopen的每一个节点都维护了一个状态机。
CAN协议及其高层协议DeviceNet和CANopen的比较教学内容
C A N协议及其高层协议D e v i c e N e t和C A N o p e n的比较CAN协议及其高层协议DeviceNet和CANopen的比较CAN协议及其高层协议DeviceNet和CANopen的比较1 引言从1982年2月RobertBosch公司在SAE(汽车工程协会)大会上宣布CAN控制器局部网的那一刻开始, CAN已经走过20多年的历史。
1992年,Mercedes(奔驰)在他们的高级客车中使用CAN技术,相继Volvo、Volkswagen、BMW 等几十家公司都在各自的汽车上应用CAN 技术。
今天,在欧洲几乎每一辆新客车均装有CAN控制器局部网。
CAN技术近年在我国发展也比较迅猛,国内的高级客车也都开始应用CAN技术。
CAN的协议在应用过程中,用户层直接访问数据链接层,每个厂商提供的数据调用方式各不相同,而CAN的标准没有规定应用层的相关信息,因此,CAN设备的兼容性和互换性不是很规范。
而且,随着应用领域的扩展,CAN协议在实际工业控制应用过程中,即使执行一些简单的分布式网络,除了标准中的物理层和数据链接层外,客户还要求有更多的功能,如发送长于8字节的数据块、响应和确定数据传送、标识符分配、网络节点的状态等。
如果这些功能正确执行,通信和应用过程的界线就十分清晰,将明显提高各个厂商之间的设备互换性和兼容性。
鉴于这些原因,产生了一些针对不同的目的和要求的基于CAN协议的较高层协议标准。
下面就对CAN协议及其较高层协议DeviceNet和 CANopen进行一些比较。
2 三种协议的比较项目•CAN(Controller Area Network)1993年形成了CAN总线国际标准,2003年又进行了修订,是BOSCH公司为改进汽车内部电器线路开发的一种总线。
CAN协议的实现简单,成本低,可靠性高,抗干扰能力强。
•DeviceNet在美国市场占有率比较高,它是由美国Rockwell公司在CAN的基础上推出的一种低成本的通信链接,它使用抽象的对象模型,其协议和规范都是开放的,用户将设备连接到系统时无需购买硬件、软件和许可权。
can报文实例解析和canopen报文实例解析
can报文实例解析和canopen报文实例解析CAN(Controller Area Network)是一种用于汽车和其他工业应用的通讯协议。
它使用多主站结构,允许多个节点同时通讯。
而CANopen是CAN协议的一个应用层协议,用于扩展CAN通讯的应用范围。
对于CAN报文实例解析,它涉及到对实际接收到的CAN报文的解析过程。
这通常包括以下几个步骤:1.帧接收:当CAN控制器接收到一个帧时,它会将其存储在缓冲区中。
2.错误检查:CAN控制器会对接收到的帧进行错误检查,包括检查位错误、填充错误等。
3.帧处理:如果帧通过了错误检查,控制器会将其发送到应用层进行处理。
4.应用层解析:在应用层,根据CANopen协议或其他相关协议,解析出帧中的数据,并将其转换为有意义的信息。
对于CANopen报文实例解析,它是在CANopen协议的基础上进行的。
CANopen 定义了设备如何通过CAN总线进行通讯,包括设备如何发送和接收数据,以及如何处理错误等。
在CANopen报文实例解析中,通常需要遵循以下步骤:1.设备识别:首先确定接收到的CAN帧是哪个设备的消息。
2.节点通讯管理:根据CANopen协议,处理节点之间的通讯,包括数据请求和响应等。
3.数据解析:根据设备的对象字典(Object Dictionary)解析出实际的数据。
对象字典定义了设备中各种参数的地址和类型。
4.应用处理:将解析出的数据应用到实际的应用中,例如控制设备的动作等。
总的来说,无论是普通的CAN报文实例解析还是CANopen报文实例解析,关键在于正确地解析出帧中的数据,并根据相关协议进行相应的处理。
在实际应用中,解析过程可能会根据具体的设备和需求有所不同。
CAN及CANOPEN协议解析
各个通讯对象介绍
RPDO 有两种工作方式: 同步 接收到同步PDO消息后,在收到下一个SYNC消息时发送给应用程序。 异步 接收到PDO消息后,直接发送给应用程序。
各个通讯对象介绍
各个通讯对象介绍
与PDO相关的对象词典: 描述PDO数据类型的对象词典:
PDO入口参数的对象词典:
各个通讯对象介绍
下载(Download)是指对对象字典进行写操作,上传(Upload)指对对象 字典进行读操作。
各个通讯对象介绍
与SDO相关的对象词典: 描述SDO数据类型的对象词典:
SDO入口参数的对象词典:
各个通讯对象介绍
❖ 举例说明: 使用下面的SDO消息,值0x3FE将写到节点ID为2的对象字典中索引
为0x1801,子索引为3的对象中去,使用启动域下载协议,加速传输(2 字节数据):
CANopen主要特点介绍
❖ 采用面向对象的方式来描述,具体设备模型为:
C
A
N 总
应用程序
对象词典
通讯接口
线
❖ 通讯对象: 过程数据对象PDO;服务数据对象SDO;特殊功能对象;网络管理对象NMT。 ❖ 对象词典: 包含描述这个设备和它的网络行为的所有参数。以EDS文档的形式存在。 ❖ 应用程序: 包括功能部分和通信部分。
使用下面的SDO消息,同样的对象字典中索引为0x1801,子索引为 3的对象将被读出,使用启动域上传协议,服务器使用加速传输方式应 答(2字节数据):
CAN及 CANOPEN协议
zspking
目录
❖ CAN与CANopen协议介绍; ❖ CAN协议简单介绍; ❖ CANopen协议介绍; ❖ CANopen对象词典; ❖ CANopen通讯机制; ❖ CANopen通讯对象;
CAN和CANopen简介
一、和简介CAN总线全称为Controller Area Network即控制器局域网是国际上应用最广泛的现场总线之一,已经在汽车制造、机械制造、包装机械、烟草等行业得到了广泛的应用。
CAN总线是德国BOSCH公司从80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。
通信速率可达1MBPS。
CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。
采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。
数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。
同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。
CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。
CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。
另外,CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。
CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。
CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。
CAN总线插卡可以任意插在PC、AT、XT兼容机上,方便地构成分布式监控系统。
CAN及CANOPEN协议解析
CAN及CANOPEN协议解析CAN(Controller Area Network)是一种用于实时应用的串行通信协议,最初由德国Bosch公司开发。
CAN协议主要用于汽车电子控制单元(ECU)之间的通信,但也被广泛应用于其他领域,如工业自动化和机械控制等。
CAN协议是一种基于事件触发的通信协议,其特点是高可靠性、实时性和抗干扰能力强。
CAN总线上的设备可以同时发送和接收数据,无需主从节点的切换,每个节点都有唯一的标识符,用于区分不同的设备。
CAN协议在物理层采用差分信号进行通信,具有抗干扰能力强的特点。
CAN总线上的设备通过发送和接收电平差分信号来进行通信。
其中,低电平表示逻辑1,高电平表示逻辑0。
由于采用了差分信号,CAN总线可以进行长距离传输,并且具有较高的抗干扰能力。
在数据链路层上,CAN协议采用了帧格式来进行数据的发送和接收。
CAN帧由多个字段组成,包括报文标识符(CANID)、控制位(控制帧或数据帧)、数据长度编码和数据域等。
CAN帧可以分为标准帧和扩展帧,标准帧有11位的CANID,而扩展帧有29位的CANID,扩展帧的CANID可以用于更灵活的数据传输。
CAN协议在应用层上定义了一些常用的通信协议,如CANopen。
CANopen是一种通用的高层协议,用于在CAN总线上实现设备之间的通信和数据交换。
CANopen协议定义了一套标准的对象字典,用于描述设备的功能和参数配置。
设备可以通过读写对象字典中的数据来实现通信和配置。
CANopen协议还定义了一套通信和设备管理的规则,包括心跳检测、节点状态和网络管理等。
这些规则确保了设备之间的可靠通信和及时响应。
CANopen协议还支持多种通信模式,如点对点、广播和组播,以满足不同应用场景的需求。
总之,CAN及CANopen协议是一种用于实时通信的串行通信协议,在汽车电子和工业控制等领域得到了广泛应用。
它们具有高可靠性、实时性和抗干扰能力强的特点,并且支持灵活的数据传输和设备管理。
CAN和CANopen的区别和联系
CAN和CANopen的区别和联系
1、CAN与CANopen的共同点与不同点:
CAN只定义了物理层与链路层,⽽没有定义⽤户层,⽤户可根据⾃⼰的需要定义⼀些⽹络上的通信约定; CANopen是在CAN的基础上定义了⽤户层,即规定了⽤户、软件、⽹络终端等之间⽤来进⾏信息交换的约定。
2、从OSI⽹络模型的⾓度来看同,现场总线⽹络⼀般只实现了第1层(物理层)、第2层(数据链路层)、第7层(应⽤层)。
因为现场总线通常只包括⼀个⽹段,因此不需要第3层(传输层)和第4层(⽹络层),也不需要第5层(会话层)第6层(描述层)的作⽤。
CAN(Controller Area Network)现场总线仅仅定义了第1层、第2层(见ISO11898标准);实际设计中,这两层完全由硬件实现,设计⼈员⽆需再为此开发相关软件(Software)或固件(Firmware)。
同时,CAN只定义物理层和数据链路层,没有规定应⽤层,本⾝并不完整,需要⼀个⾼层协议来定义CAN报⽂中的11/29位标识符、8字节数据的使⽤。
⽽且,基于CAN总线的⼯业⾃动化应⽤中,越来越需要⼀个开放的、标准化的⾼层协议:这个协议⽀持各种CAN⼚商设备的互⽤性、互换性,能够实现在CAN⽹络中提供标准的、统⼀的系统通讯模式,提供设备功能描述⽅式,执⾏⽹络管理功能。
3、can2.0是物理层和链路层协议,基本上由硬件来实现,CANOpen是应⽤层协议基本上由软件来实现。
CAN和CANopen的差别
CAN和CANopen的差别CAN及CANopen介绍第一部分:CAN硬件介绍CAN:最早的现场总线、最广泛应用的现场总线CANopen:CIA定义的最为成功的CAN应用层协议,在基于CAN的自动化系统中居于领导地位,欧洲标准EN-50325-4 CAN+CANopen:机器自动化(MA)领域最为成功的总线解决方案,在欧美广泛被应用CAN总线系统解决方案即是利用CAN总线的优点及其特长为机器自动化设备提供高效、可靠、性价比高的解决方案。
作为机器自动化领域总线解决方案倡导者,CAN总线系统解决方案更能满足您对性价比的要求。
现场总线(Fieldbus)技术从提出到现在有二十多年了,作为工业数据总线,它主要解决工业现场的智能化仪器仪表、控制器、执行机构等现场设备间的数字通信以及这些现场控制设备和高级控制系统之间的信息传递问题,通过模拟变数字实现了不同公司产品间的互操作性问题,使用户有了更大的选择权,尤其它解决了流行几十年的传统系统过于封闭、难以维护的缺点。
采用现场总线控制技术,可大大简化系统集成的工作量、为控制系统的安装调试节省大量的费用,而系统的可靠性、稳定性却得到大幅提高,配合现场总线技术的各类总线诊技术进一步提高了整个系统的性能。
强大的通讯功能又使得系统更加开放透明。
CAN现场总线技术是集自动控制技术、通讯技术、传感技术、计算机技术、诊断技术、微电子技术、网络技术等于一体,是个革命性的技术,正被广泛应用于自动化各个领域。
目前广泛使用的其它现场总线还有Profibus、DeviceNet、ControlNet、HART、FF等等,但是CAN总线是所有现场总线中最早出现的,也是最适合于机器自动化领域的现场总线,如今它已经广泛应用于汽车、飞机、轮船、印刷、纺织、电子等等加工领域,是目前应用领域最为广泛的现场总线。
现场总线是一种革命性的通讯控制技术,因其具有很多普通控制方式不具有的优点,所以才得到了迅速的推广应用,与老的控制方式比较起来它主要的优势如下:节约布线成本,减少布线时间,减小出错机率(对于大型设备尤为突出,如果当驱动器、变频器、传感器等放置到现场的话,可以节省大量的电缆费用);减小施工难度,缩短施工周期降低系统总成本(从安装、系统维护、升级方面大幅降低系统成本)可靠性更高,抗干扰能力更强(比传统485通讯方式更为可靠,更不易受干扰)走线少、全数字信息交互(模拟量通常易受干扰)信息量更大(节点数据信息、状态信息、异常信息等均可方便提供)实时性更高(比传递485通讯速度大大提高,是485通讯速度的100倍左右,且避免了485通讯方式的多控制器之间交换方式,直接由一个PLC来协调处理,实时性大为提高)可维护性更强(可以很方便检测出系统故障所在,且几乎所有的CAN从站都具有故障诊断能力,便于排查及处理)开发性更加(目前全球范围内生产总线产品设备的厂家达上千家,客户可以任意选择适合字节的设备)CAN总线除了具有一般总线所具有的优点外,还专门根据机械自动化的特点,根据其需求提供了一些非常具有优势的技术特点: 高速的数据传输速率高达1Mbit/s;CAN协议最大的特点是废除了传统的站地址编码,代之以对数据通信数据块进行编码,可以多主方式工作;CAN采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,有效避免了总线冲突;任何一个节点均可自动发送报文,不需主站询问;可根据报文的ID决定接收或屏蔽该报文可靠的错误处理和检错机制可选择对网络进行三种操作:无处理、停止故障从站、停止整个网络CAN节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其它操作不受影响发送的信息遭到破坏后可自动重发节点在错误严重的情况下具有自动退出总线的功能报文不包含源地址或目标地址,仅用标识符来指示功能信息优先级信息CAN可以点对点、一点对多点(成组)及全局广播集中方式传送和接受数据;采用不归零码(NRZ—Non-Return-to-Zero)编码/解码方式,并采用位填充(插入)技术;革命化的报文传输方式:SDO主要用来在设备之间传输低优先级的数据,典型是用来对从设备进行配置、管理;PDO一次性可传送8个字节的数据,没有其它协议预设定(意味着数据内容已预先定义),主要用来传输需要高频率交换的数据。
CAN总线与CANopen协议
CAN总线与CANopen协议CAN总线是指控制器局域网(Controller Area Network)的一种通信总线,在工业和汽车电子领域得到广泛应用。
CAN总线采用了一种强大的通信协议,即CANopen协议。
本文将详细介绍CAN总线和CANopen协议的特点、应用以及优势。
首先,CAN总线是一种串行通信协议,用于在各种设备之间传输数据。
它具有高速性能、高可靠性和高实时性。
CAN总线采用了分布式网络拓扑结构,可以连接多个设备,从而实现设备间的数据交换。
每个设备通过在总线上发送和接收CAN帧来进行通信。
另一个特点是CAN总线的高可靠性。
CAN总线采用了一种冲突检测和仲裁机制,可以自动检测和解决数据冲突,从而确保数据传输的准确性。
即使在出现错误或干扰的情况下,CAN总线仍然能够保持稳定的数据传输。
此外,CAN总线还具有高实时性。
CAN总线采用了时间触发机制,在每个数据帧中都预留了时间槽,以保证数据的及时传输。
这使得CAN总线非常适合用于需要实时数据传输和控制的应用领域,例如汽车电子系统和工厂自动化。
CANopen协议是一种在CAN总线上运行的高层通信协议,用于定义设备之间的通信方式和数据交换格式。
CANopen协议提供了一套标准的通信对象,包括网络管理、节点配置、数据传输等功能。
CANopen协议的优势之一是其灵活性和可扩展性。
CANopen协议可以适应不同的应用需求和系统配置,可以根据实际情况定义和配置通信对象。
此外,CANopen协议还支持网络管理功能,包括节点的配置和管理、网络参数的设置等。
另一个优势是CANopen协议的开放性和标准化。
CANopen协议是一个开放的通信标准,可以由不同的供应商进行实现和支持。
这使得不同设备之间的互操作性成为可能,从而方便了设备的集成和应用。
此外,CANopen协议还具有较低的通信负载和资源占用。
CANopen协议采用了一种高效的通信方式,可以减少通信片段和协议开销,从而提高通信的效率和实时性。
CANopen和CAN的概念
第一部分CAN和CANopen的概念一、CAN和CANopen简介CAN总线全称为Controller Area Network即控制器局域网是国际上应用最广泛的现场总线之一,已经在汽车制造、机械制造、包装机械、烟草等行业得到了广泛的应用。
CAN总线是德国BOSCH公司从80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。
通信速率可达1MBPS。
CAN总线通信接口中集成了CAN 协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。
采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。
数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。
同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。
CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。
CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。
另外,CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。
CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。
CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。
CAN总线插卡可以任意插在PC、AT、XT兼容机上,方便地构成分布式监控系统。
can报文实例解析和canopen报文实例解析
can报文实例解析和canopen报文实例解析CAN报文实例解析:CAN(Controller Area Network)是一种常用的实时网络通信协议,常用于汽车、工业控制等领域。
CAN总线上的通信消息被称为CAN帧,它由CAN标识符、数据长度码、数据域和CRC校验等部分组成。
下面我们通过一个简单的CAN报文实例来解析CAN帧的结构。
假设我们有一个CAN帧,CAN标识符为0x123,数据长度码为8,数据域为0x12 0x34 0x56 0x78。
根据CAN帧的结构,我们可以将这个CAN帧拆分为以下几个部分:1. CAN标识符:0x123,占11位。
CAN标识符用于标识CAN总线上的消息发送者和接收者,以及消息的优先级。
不同的CAN设备可以根据CAN标识符识别消息的类型和发送者。
2. 数据长度码:8,占4位。
数据长度码指示了CAN帧数据域中的字节数量,最大可传输的数据长度为8个字节。
3. 数据域:0x12 0x34 0x56 0x78,共32位。
数据域是CAN帧中实际传输数据的部分,这里包含了4个字节的数据,分别为0x12、0x34、0x56、0x78。
4. CRC校验:CRC校验用于检测CAN帧数据的完整性,保证数据的传输正确性。
通过以上分析,我们可以看到一个CAN帧的结构非常清晰,每个部分都有特定的作用,确保数据的可靠传输。
CAN总线的高效性和实时性使得它在许多领域得到广泛应用,带来了许多便利和效益。
CANopen报文实例解析:CANopen是建立在CAN总线上的高层协议,用于实现设备之间的通信和控制。
CANopen报文是CANopen协议中的基本通信单元,包括了多个字段,用于描述消息的类型、数据内容和发送者等信息。
下面我们通过一个简单的CANopen报文实例来解析CANopen报文的结构。
假设我们有一个CANopen报文,包含了一个NMT(网络管理)帧,其CAN标识符为0x700,数据长度码为2,数据域为0x01 0x05。
CAN与CANopen总结
1 CAN总线1.1 介绍1、CAN协议(Conroller Area Network Protocol)为Robert Bosch公司开发(1982年),最初应用于汽车内部网络的通讯。
CAN通讯具有严格的错误检测机制、高传输速率,兼低成本、易于实施,特别适合节点之间关键数据传输的小型嵌入式网络通讯;2、CAN网络各节点平等竞争,无所谓主从,CAN通讯基于生产/消费者模型,一个节点生产(发送)的数据可同时为网络上的一个或几个节点同时消费也即接收(本人强烈鄙视某些教科书上将CAN网络描述为多主方式!!);3、CAN协议严格的规范了OSI模型中的数据链路层,并未对物理层作出强硬的约束,因此,CAN帧msg 可传输在各种物理介质上,比较常见的为双绞线信号传输;4、CAN总线上的逻辑电平:CAN-bus采用差分电压信号驱动,用显性电平(逻辑0)、隐性电平(逻辑1)标识,当CAN-bus表现为显性时,CAN-bus为差分电压驱动状态,CANH电平为“Gnd”偏上,CANL电平为“Vcc”偏下;当CAN-bus表现为隐性状态时,CAN-bus为未驱动空闲状态,此时CANL、CANH电平均为“Vcc”的一半,比如:假设Gnd=0V,Vcc=5V,则CANH=CANL=2.5V。
总线上的先行隐性电平会被显性电平所改写;1.2 CAN笔记一下图是用ZLG CAN test抓到的CAN数据:1.2.1 帧格式报文传输由以下4 个不同的帧类型所表示和控制:- 数据帧:数据帧携带数据从发送器至接收器。
- 远程帧:总线单元发出远程帧,请求发送具有同一识别符的数据帧。
- 错误帧:任何单元检测到一总线错误就发出错误帧。
- 过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。
数据帧(或远程帧)通过帧间空间与前述的各帧分开。
1 数据帧数据帧由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结束。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CAN和CANopen的差别
CAN及CANopen介绍第一部分:CAN硬件介绍CAN:最早的现场总线、最广泛应用的现场总线
CANopen:CIA定义的最为成功的CAN应用层协议,在基于CAN的自动化系统中居于领导地位,欧洲标准
EN-50325-4
CAN+CANopen:机器自动化(MA)领域最为成功的总线解决方案,在欧美广泛被应用
CAN总线系统解决方案即是利用CAN总线的优点及其特长为机器自动化设备提供高效、可靠、性价比高的解决方案。
作为机器自动化领域总线解决方案倡导者,CAN总线系统解决方案更能满足您对性价比的要求。
现场总线(Fieldbus)技术从提出到现在有二十多年了,作为工业数据总线,它主要解决工业现场的智能化仪器仪表、控制器、执行机构等现场设备间的数字通信以及这些现场控制设备和高级控制系统之间的信息传递问题,通过模拟变数字
实现了不同公司产品间的互操作性问题,使用户有了更大的选择权,尤其它解决了流行几十年的传统系统过于封闭、难以维护的缺点。
采用现场总线控制技术,可大大简化系统集成的工作量、为控制系统的安装调试节省大量的费用,而系统的可靠性、稳定性却得到大幅提高,配合现场总线技术的各类总线诊技术进一步提高了整个系统的性能。
强大的通讯功能又使得系统更加开放透明。
CAN现场总线技术是集自动控制技术、通讯技术、传感技术、计算机技术、诊断技术、微电子技术、网络技术等于一体,是个革命性的技术,正被广泛应用于自动化各个领域。
目前广泛使用的其它现场总线还有Profibus、DeviceNet、ControlNet、HART、FF等等,但是CAN总线是所有现场总线中最早出现的,也是最适合于机器自动化领域的现场总线,如今它已经广泛应用于汽车、飞机、轮船、印刷、纺织、电子等等加工领域,是目前应用领域最为广泛的现场总线。
现场总线是一种革命性的通讯控制技术,因其具有很多普通控制方式不具有的优点,所以才得到了迅速的推广应用,与老的控制方式比较起来它主要的优势如下:
节约布线成本,减少布线时间,减小出错机率(对于大型设备尤为突出,如果当驱动器、变频器、传感器等放置到现场的话,可以节省大量的电缆费用);
减小施工难度,缩短施工周期
降低系统总成本(从安装、系统维护、升级方面大幅降低系统成本)
可靠性更高,抗干扰能力更强(比传统485通讯方式更为可靠,更不易受干扰)
走线少、全数字信息交互(模拟量通常易受干扰)
信息量更大(节点数据信息、状态信息、异常信息等均可方便提供)
实时性更高(比传递485通讯速度大大提高,是485通讯速度的100倍左右,且避免了485通讯方式的多控制器之间交换方式,直接由一个PLC来协调处理,实时性大为提高)
可维护性更强(可以很方便检测出系统故障所在,且几乎所有的CAN从站都具有故障诊断能力,便于排查及处理)
开发性更加(目前全球范围内生产总线产品设备的厂家达上千家,客户可以任意选择适合字节的设备)
CAN总线除了具有一般总线所具有的优点外,还专门根据机械自动化的特点,根据其需求提供了一些非常具有优势的技术特点:
高速的数据传输速率高达1Mbit/s;
CAN协议最大的特点是废除了传统的站地址编码,代之以对数据通信数据块进行编码,可以多主方式工作;
CAN采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,有效避免了总线冲突;
任何一个节点均可自动发送报文,不需主站询问;
可根据报文的ID决定接收或屏蔽该报文
可靠的错误处理和检错机制
可选择对网络进行三种操作:无处理、停止故障从站、停止整个网络
CAN节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其它操作不受影响
发送的信息遭到破坏后可自动重发
节点在错误严重的情况下具有自动退出总线的功能
报文不包含源地址或目标地址,仅用标识符来指示功能信息优先级信息
CAN可以点对点、一点对多点(成组)及全局广播集中方式传送和接受数据;
采用不归零码(NRZ—Non-Return-to-Zero)编码/解码方式,并采用位填充(插入)技术;
革命化的报文传输方式:
SDO
主要用来在设备之间传输低优先级的数据,典型是用来对从设备进行配置、管理;
PDO
一次性可传送8个字节的数据,没有其它协议预设定(意味着数据内容已预先定义),主要用来传输需要高频率交换的数据。
PDO的传输方式打破了现有的数据问答式传输理念,采用全新的数据交换模式,设备双方在传输前先在各个设备定义好数据接收和发送区域,在数据交换时直接发送相关的数据到对方的数据接收区即可,减少了问答式的询问时间,从而极大的提高了总线通讯的效率,从而得到了极高的总线利用率开放的现场总线标准中CANopen是最著名和成功的一种,已经在欧洲和美国获得广泛的认可和大量应用。
1992年在德国成立了“自动化CAN用户和制造商协会”(CiA,CANinAutomation),开始着手制定自动化CAN的应用层协议CANopen。
此后,协会成员开发出一系列CANopen 产品,在机械制造、铁路、车辆、船舶、制药、食品加工等
领域获得大量应用。
目前CANopen协议已经欧洲最重要的工业现场总线标准EN-50325-4。
ED系列伺服是标准的CAN从站设备,严格遵循CANopen 2.0A/B协议,任何支持该协议的上位机均可以与其进行通讯。
ED伺服内部使用了一种严格定义的对象列表,我们把它称作对象辞典,这种对象辞典的设计方式基于CANopen 国际标准,所有的对象有明确的功能定义。
这里说的对象(Objects)类似我们常说的内存地址,有些对象如速度和位置等可以由外部控制器修改,有些对象却只能由驱动器本身修改,如状态、错误信息。
这些对象如下:
Index Sub Bits 属性含义
例如:6040 00 16(=0x10) RW 设备状态控制字
2509 00 8(=0x08) R 主从电子齿轮比参数设置
2509 02 32(=0x20) W 映射的从轴速度
2509 03 16(=0x10) MW 电子齿轮比分子
2509 04 16(=0x10) MW 电子齿轮比分母
2509 05 8(=0x08) W 齿轮模式
对象的属性有下面几种:
1. RW(读写):对象可以被读也可以被写入
2. RO(只读):对象只能被读
3. WO(只写):只能写入
4. M(可映射):对象可映射,类似间接寻址
5. S(可存储):对象可存储在Flash-ROM区,掉电不丢失CAN 通讯协议主要描述设备之间的信息传递方式,CAN 层的定义与开放系统互连模型OSI 一致,每一层与另一设备上相同的那一层通讯,实际的通讯发生在每一设备上相邻的两层而设备只通过模型物理层的物理介质互连,CAN 的规范定义了模型的最下面两层数据链路层和物理层。
CAN 总线物理层没有严格规定,能够使用多种物理介质例如双绞线光纤等,最常用的就是双绞线信号,使用差分电压传送(常用
总线收发器),两条信号线被称为CAN_H 和CAN_L ,静态时均是2.5V 左右,此时状态表示为逻辑1,也可以叫做隐位,用CAN_H 比CAN_L 高表示逻辑0 ,称为显位,此时通常电压值为CAN_H = 3.5V 和CAN_L= 1.5V,竞争时显位优先。
标准CAN从站CAN通讯接口图:■注意:
1、所有从站的
2、7脚直接相接即可,采用串连的方式接线,不能采用星型连接方式;
2、PLC端和最后一个负载端需要借120欧姆的终端电租;
3、对于我们5020-CAN、ED400、CANopen I/O设备是6、9脚不需要外部24V电源供电的,但ED100、ED200是需要外接24V电源的;
4、通讯电缆请采用屏蔽线,并做好接地处理(短距离通讯时3脚地线可。