CAN和CANopen相关技术
dzsc.com文章出处: 发布时间: 2008/08/29 | 1776 次阅读 | 0次推荐 | 0条留言
一、CAN和CANopen简介
CAN总线
总线
总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。通俗的说,就是多个部件间的公共连线,用于在各个部件之间传输信息。人们常常以MHz表示的速度来描述总线频率。 [全文]
全称为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兼容机上,方便地构成分布式监控系统。
而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)
◆闭环控制器(DSP
DSP
dsp是digital signal processor的简称,即数字信号处理器。它是用来完成实时信号处理的硬件平台,能够接受模拟信号将其转换成二进制的数字信号,并能进行一定形式的编辑,还具有可编程性。由于强大的数据处理能力和快捷的运行速度,dsp在信息科学领域发挥着越来越大的作用。 [全文]
404)
◆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被设备传送
◆ RXPD
- 1
- 2
- 3
- 4
前往页