当前位置:文档之家› CANopen协议中文简介

CANopen协议中文简介

CANopen 协议介绍流行欧洲的CAN-bus高层协议

目录

1、介绍 (1)

2、CAL 协议 (2)

3、CANopen (3)

3.1 对象字典OD (3)

3.2 CANopen通讯 (4)

3.3 CANopen预定义连接集 (6)

3.4 CANopen标识符分配 (8)

3.5 CANopen boot-up过程 (8)

3.6 CANopen消息语法细节 (9)

4、总结 (18)

5、说明 (19)

北京博控自动化技术有限公司 www.bocon.com.cn

1、介绍

从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 网络中提供标准的、统一的系统通讯模式,提供设备功能描述方式,执行网络管理功能。

应用层(Application layer):为网络中每一个有效设备都能够提供一组有用的服务与协议。

通讯描述(Communication profile):提供配置设备、通讯数据的含义,定义数据通讯方式。

设备描述(Device proflile):为设备(类)增加符合规范的行为。

下面的章节将介绍基于CAN的高层协议:CAL协议和基于CAL协议扩展的CANopen协议。CANopen 协议是CAN-in-Automation(CiA)定义的标准之一,并且在发布后不久就获得了广泛的承认。尤其是在欧洲,CANopen协议被认为是在基于CAN的工业系统中占领导地位的标准。大多数重要的设备类型,例如数字和模拟的输入输出模块、驱动设备、操作设备、控制器、可编程控制器或编码器,都在称为“设备描述”的协议中进行描述;“设备描述”定义了不同类型的标准设备及其相应的功能。依靠CANopen协议的支持,可以对不同厂商的设备通过总线进行配置。

在OSI模型中,CAN标准、CANopen协议之间的关系如下图所示:

C iA DS P-401C iA DS P-404 CiA DSP-xxx

Application

C hip

Data Link

Physical Layer

图1.1 CAN、CANopen标准在OSI网络模型中的位置框图

北京博控自动化技术有限公司https://www.doczj.com/doc/e118609882.html,

2、CAL 协议

CAL(CAN Application Layer)协议是目前基于CAN的高层通讯协议中的一种,最早由Philips医疗设备部门制定。现在CAL由独立的CAN用户和制造商集团CiA(CAN in Automation)协会负责管理、发展和推广。

CAL提供了4种应用层服务功能:

CMS (CAN-based Message Specification)

CMS提供了一个开放的、面向对象的环境,用于实现用户的应用。CMS提供基于变量、事件、域类型的对象,以设计和规定一个设备(节点)的功能如何被访问(例如,如何上载下载超过8字节的一组数据(域),并且有终止传输的功能)。

CMS从MMS (Manufacturing Message Specification)继承而来。MMS是OSI为工业设备的远程控制和监控而制定的应用层规范。

NMT (Network ManagemenT)

提供网络管理(如初始化、启动和停止节点,侦测失效节点)服务。这种服务是采用主从通讯模式(所以只有一个NMT主节点)来实现的。

DBT (DistriBuTor)

提供动态分配CAN ID(正式名称为COB-ID,Communication Object Identifier)服务。这种服务是采用主从通讯模式(所以只有一个DBT主节点)来实现的。

LMT (Layer ManagemenT)

LMT提供修改层参数的服务:一个节点(LMT Master)可以设置另外一个节点(LMT Slave)的某层参数(如改变一个节点的NMT地址,或改变CAN接口的位定时和波特率)。

CMS为它的消息定义了8个优先级,每个优先级拥有220个COB-ID,范围从1到1760。剩余的标志(0,1761-2031)保留给NMT,DBT和LMT,见表2-1。

表2-1映射到CAL服务和对象的COB-ID(11位CAN标识符)

COB-ID 服务或对象

0 NMT 启动/停止服务

1 - 220 CMS对象 优先级0

221 - 440 CMS对象 优先级1

441 - 660 CMS对象 优先级2

661 - 880 CMS对象 优先级3

881 - 1100 CMS对象 优先级4

1101 - 1320 CMS对象 优先级5

1321 - 1540 CMS对象 优先级6

1541 - 1760 CMS对象 优先级7

1761 - 2015 NMT 节点保护

2016 - 2031 NMT,LMT,DBT服务

注意这是CAN2.0A标准,11位ID范围[0,2047],由于历史原因限制在[0,2031]。如果使用CAN2.0B 标准,29位ID并不改变这个描述;表中的11位映射到29位COB-ID中的最高11位,以至于表中的COB-ID 范围变得增大许多。

3、CANopen

CAL提供了所有的网络管理服务和报文传送协议,但并没有定义CMS对象的内容或者正在通讯的对象的类型(它只定义了how,没有定义what)。而这正是CANopen切入点。

CANopen是在CAL基础上开发的,使用了CAL通讯和服务协议子集,提供了分布式控制系统的一种实现方案。CANopen在保证网络节点互用性的同时允许节点的功能随意扩展:或简单或复杂。

下面先介绍对象字典(OD:Object Dictionary),然后再介绍CANopen通讯机制。

3.1 对象字典OD

对象字典(OD:Object Dictionary)是一个有序的对象组;每个对象采用一个16位的索引值来寻址,为了允许访问数据结构中的单个元素,同时定义了一个8位的子索引,对象字典的结构参照表3-1。不要被对象字典中索引值低于0x0FFF的‘data types’项所迷惑,它们仅仅是一些数据类型定义。一个节点的对象字典的有关范围在0x1000到0x9FFF之间。

表3-1 CANopen对象字典通用结构

索引对象

0000 Not

used

0001 - 001F 静态数据类型(标准数据类型,如Boolean,Integer 16)

0020 - 003F

复杂数据类型

(预定义由简单类型组合成的结构如PDOCommPar,SDOParameter)0040 - 005F 制造商规定的复杂数据类型

0060 - 007F 设备子协议规定的静态数据类型

0080 - 009F 设备子协议规定的复杂数据类型

00A0 - 0FFF Reserved

1000 - 1FFF

通讯子协议区域

(如设备类型,错误寄存器,支持的PDO数量)

2000 - 5FFF 制造商特定子协议区域

6000 - 9FFF

标准的设备子协议区域

(例如“DSP-401 I/O 模块设备子协议”:Read State 8 Input Lines等) A000 - FFFF Reserved

CANopen网络中每个节点都有一个对象字典。对象字典包含了描述这个设备和它的网络行为的所有参数。

一个节点的对象字典是在电子数据文档(EDS:Electronic Data Sheet)中描述或者记录在纸上。不必要也不需要通过CAN-bus“审问”一个节点的对象字典中的所有参数。如果一个节点严格按照在纸上的对象字典进行描述其行为,也是可以的。节点本身只需要能够提供对象字典中必需的对象(而在CANopen 规定中必需的项实际上是很少的),以及其它可选择的、构成节点部分可配置功能的对象。

CANopen由一系列称为子协议的文档组成。

通讯子协议(communication profile),描述对象字典的主要形式和对象字典中的通讯子协议区域中的对象,通讯参数。同时描述CANopen通讯对象。这个子协议适用于所有的CANopen设备。

还有各种设备子协议(device profile),为各种不同类型设备定义对象字典中的对象。目前已有5种不数

同的设备子协议,并有几种正在发展。

设备子协议为对象字典中的每个对象描述了它的功能、名字、索引和子索引、数据类型,以及这个对象是必需的还是可选的,这个对象是只读、只写或者可读写等等。

设备子协议定义了对象字典中哪些OD对象是必需的,哪些是可选的;必需的对象应该保持最少数目以减小实现的工作量。

可选项――在通讯部分和与设备相关部分――可以根据需要增加以扩展CANopen设备的功能。如果需要的项超过了设备子协议中可以提供的,在设备子协议中已预留由足够空间提供给厂商的特定功能使用。

对象字典中描述通讯参数部分对所有CANopen设备(例如在OD中的对象是相同的,对象值不必一定相同)都是一样的。对象字典中设备相关部分对于不同类的设备是不同的。

3.2 CANopen通讯

前面说明了CANopen中对象字典的概念,现在我们来介绍在CANopen网络中的通讯消息,它们的内容和功能,换句话:CANopen通讯模式。

注意:请区分对象字典中的对象(使用对象字典索引和子索引)和通讯对象(或者消息,使用COB-ID)。

CANopen通讯模型定义了4种报文(通讯对象):

1.管理报文

层管理,网络管理和ID分配服务:如初始化,配置和网络管理(包括:节点保护)。

服务和协议符合CAL中的LMT,NMT和DBT服务部分。这些服务都是基于主从通讯模式:在CAN网络中,只能有一个LMT,NMT或DBT主节点以及一个或多个从节点。

2.服务数据对象SDO(Service Data Object)

通过使用索引和子索引(在CAN报文的前几个字节),SDO使客户机能够访问设备(服务器)对象字典中的项(对象)。

SDO通过CAL中多元域的CMS对象来实现,允许传送任何长度的数据(当数据超过4个字节时分拆成几个报文)。

协议是确认服务类型:为每个消息生成一个应答(一个SDO需要两个ID)。SDO请求和应答报文总是包含8个字节(没有意义的数据长度在第一个字节中表示,第一个字节携带协议信息)。

SDO通讯有较多的协议规定。

3.过程数据对象PDO(Process Data Object)

用来传输实时数据,数据从一个创建者传到一个或多个接收者。数据传送限制在1到8个字节(例如,一个PDO可以传输最多64个数字I/O值,或者4个16位的AD值)。

PDO通讯没有协议规定。PDO数据内容只由它的CAN ID定义,假定创建者和接收者知道这个PDO的数据内容。

每个PDO在对象字典中用2个对象描述:

PDO通讯参数:包含哪个COB-ID将被PDO使用,传输类型,禁止时间和定时器周期。

PDO映射参数:包含一个对象字典中对象的列表,这些对象映射到PDO里,包括它们的数据长度(in bits)。创建者和接收者必须知道这个映射,以解释PDO内容。

PDO消息的内容是预定义的(或者在网络启动时配置的):

映射应用对象到PDO中是在设备对象字典中描述的。如果设备(创建者和接收者)支持可变PDO 映射,那么使用SDO报文可以配置PDO映射参数。

PDO可以有多种传送方式:

同步(通过接收SYNC对象实现同步)

非周期:由远程帧预触发传送,或者由设备子协议中规定的对象特定事件预触发传送。

周期:传送在每1到240个SYNC消息后触发。

异步

由远程帧触发传送。

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

表3-2给出来了由传输类型定义的不同PDO传输模式,传输类型为PDO通讯参数对象的一部分,由8位无符号整数定义。

表3-2 PDO传输类型定义

触发PDO的条件

(B = both needed O = one or both)

PDO传输传输类型

SYNC RTR Event

0 B - B

同步,非循环

1-240 O - -

同步,循环

241-251 - - - Reserved

252 B B -

同步,在RTR之后253 - O -

异步,在RTR之后254 - O O

异步,制造商特定事件255 - O O

异步,设备子协议特定事件

说明:

SYNC –接收到SYNC-object。

RTR-接收到远程帧。

Event –例如数值改变或者定时器中断。

传输类型为:1到240时,该数字代表两个PDO之间的SYNC对象的数目)。

一个PDO可以指定一个禁止时间,即定义两个连续PDO传输的最小间隔时间,避免由于高优先级信息的数据量太大,始终占据总线,而使其它优先级较低的数据无力竞争总线的问题。禁止

时间由16位无符号整数定义,单位100us。

一个PDO可以指定一个事件定时周期,当超过定时时间后,一个PDO传输可以被触发(不需要触发位)。事件定时周期由16位无符号整数定义,单位1ms。

PDO通过CAL中存储事件类型的CMS对象实现。PDO数据传送没有上层协议,而且PDO报文没有确认(一个PDO需要一个CAN-ID)。每个PDO报文传送最多8个字节(64位)数据。4.预定义报文或者特殊功能对象

同步(SYNC)

在网络范围内同步(尤其在驱动应用中):在整个网络范围内当前输入值准同时保存,随后传送(如果需要),根据前一个SYNC后接收到的报文更新输出值。

主从模式:SYNC主节点定时发送SYNC对象,SYNC从节点收到后同步执行任务。

在SYNC报文传送后,在给定的时间窗口内传送一个同步PDO。

用CAL中基本变量类型的CMS对象实现。

CANopen建议用一个最高优先级的COB-ID以保证同步信号正常传送。SYNC报文可以不传送数据以使报文尽可能短。

时间标记对象(Time Stamp)

为应用设备提供公共的时间帧参考。

用CAL中存储事件类型的CMS对象实现。

北京博控自动化技术有限公司www.bocon.co https://www.doczj.com/doc/e118609882.html,

紧急事件(Emergency)

设备内部错误触发。

用CAL中存储事件类型的CMS对象实现。

节点/寿命保护(Node/Life guarding)。

主从通讯模式

NMT主节点监控节点状态:称作节点保护(Node guarding)。

节点也可以(可选择)监控NMT主节点的状态:称作寿命保护(Life guarding)。当NMT 从节点接收到NMT主节点发送的第一个Node Guard报文后启动寿命保护。

检测设备的网络接口错误(不是设备自身的错误):通过应急指示报告。

根据NMT节点保护协议实现: NMT主节点发送远程请求到一个特定节点,节点给出应答,应答报文中包含了这个节点的状态。

Boot-UP

主从通讯模式

NMT从节点通过发送这个报文,向NMT主节点说明该节点已经由初始化状态进入预操作状态。

图3-1 CANopen 设备

上面提到的通讯对象类型中有二个对象用于数据传输。它们采用二种不同的数据传输机制实现: SDO用来在设备之间传输大的低优先级数据,典型的是用来配置CANopen网络上的设备。

PDO用来传输8字节或更少数据,没有其它协议预设定(意味着数据内容已预先定义)。

一个CANopen设备必须支持一定数量的网络管理服务(管理报文,administrative messages),需要至少一个SDO。每个生产或消费过程数据的设备需要至少一个PDO。所有其它的通讯对象是可选的。一个CANopen设备中CAN通讯接口、对象字典和应用程序之间的联系如图3-1所示。

3.3 CANopen预定义连接集

为了减小简单网络的组态工作量,CANopen定义了强制性的缺省标识符(CAN-ID)分配表。这些标志符在预操作状态下可用,通过动态分配还可修改他们。CANopen设备必须向它所支持的通讯对象的提供相应的标识符。

缺省ID分配表是基于11位CAN-ID,包含一个4位的功能码部分和一个7位的节点ID(Node-ID)部分。如图3-2所示。

图3-2 预定义连接集ID

Node-ID由系统集成商定义,例如通过设备上的拨码开关设置。Node-ID范围是1~127(0不允许被使用)。

预定义的连接集定义了4个接收PDO(Receive-PDO),4个发送PDO(Transmit-PDO),1个SDO (占用2个CAN-ID),1个紧急对象和1个节点错误控制(Node-Error-Control)ID。也支持不需确认的NMT-Module-Control服务,SYNC和Time Stamp对象的广播。

缺省ID分配表如表3-3所示。

表格 3-3 CANopen预定义主/从连接集CAN标识符分配表

注意:

PDO/SDO 发送/接收是由(slave)CAN节点方观察的。

NMT 错误控制包括节点保护(Node Guarding),心跳报文(Heartbeat)和Boot-up协议。

3.4 CANopen标识符分配

ID地址分配表与预定义的主从连接集(set)相对应,因为所有的对等ID是不同的,所以实际上只有一个主设备(知道所有连接的节点ID)能和连接的每个从节点(最多127个)以对等方式通讯。两个连接在一起的从节点不能够通讯,因为它们彼此不知道对方的节点ID。

比较上表的ID映射和CAL的映射,显示了具有特定功能的CANopen对象如何映射到CAL中一般的

CMS对象。

CANopen网络中CAN 标识符(或COB-ID)分配3种不同方法:

使用预定义的主从连接集。ID是缺省的,不需要配置。如果节点支持,PDO数据内容也可以配置。

上电后修改PDO的ID(在预操作状态),使用(预定义的)SDO在节点的对象字典中适当位置进行修改。

使用CAL DBT服务:节点或从节点最初由它们的配置ID指称。节点ID可以由设备上的拨码开关配置,或使用CAL LMT服务进行配置。当网络初始化完毕,并且启动后,主节点首先通

过”Connect_Remote_Node”报文(是一个CAL NMT服务)和每个连接的从设备建立一个对话。

一旦这个对话建立,CAN通讯ID(SDO和PDO)用CAL DBT服务分配好,这需要节点支持扩

展的boot-up。

3.5 CANopen boot-up过程

在网络初始化过程中,CANopen支持扩展的boot-up,也支持最小化boot-up过程。

扩展boot-up是可选的,最小boot-up则必须被每个节点支持。两类节点可以在同一个网络中同时存在。

可以用节点状态转换图表示这两种初始化过程,如图3-3所示。扩展boot-up的状态图在预操作和操作状态之间比最小化boot-up多了一些状态。

图3-3 CANopen最小化boot-up节点状态转换图

注意:

图3-3中括号内的字母表示处于不同状态那些通讯对象可以使用。

a. NMT ,

b. Node Guard ,

c. SDO ,

d. Emergency ,

e. PDO ,

f. Boot-up

状态转移(1-5由NMT服务发起),NMT命令字(在括号中):

1: Start_Remote_node (0x01)

2:Stop_Remote_Node (0x02)

3: Enter_Pre-Operational_State (0x80)

4: Reset_Node (0x81)

5:Reset_Communication (0x82)

6:设备初始化结束,自动进入Pre_Operational状态,发送Boot-up消息

在任何时候NMT服务都可使所有或者部分节点进入不同的工作状态。NMT服务的CAN报文由CAN 头(COB-ID=0)和两字节数据组成;第一个字节表示请求的服务类型(‘NMT command specifier’),第二个字节是节点ID,或者0(此时寻址所有节点)。

仅支持最小化boot-up的设备叫最小能力设备。最小能力设备在设备初始化结束后自动进入预操作l 状态。在这个状态,可以通过SDO进行参数配置和进行COB-ID分配。

设备进入准备状态后,除了NMT服务和节点保护服务(如果支持并且激活的话)外,将停止通讯。(因此‘Stopped’是描述这个状态的一个好名字)

3.6 CANopen消息语法细节

在以下部分中COB-ID使用的是CANopen预定义连接集中已定义的缺省标志符。

3.6.1 NMT模块控制(NMT Module Control)

只有NMT-Master节点能够传送NMT Module Control报文。所有从设备必须支持NMT模块控制服务。NMT Module Control消息不需要应答。NMT消息格式如下:

NMT-Master NMT-Slave(s)

COB-ID Byte 0 Byte 1

0x000 CS Node-ID 当Node-ID=0,则所有的NMT从设备被寻址。CS是命令字,可以取如下值:

命令字NMT服务

1 Start Remote Node

2 Stop Remote Node

128 Enter Pre-operational State

Node

129 Reset

130 Reset

Communication

3.6.2 MNT节点保护(NMT Node Guarding)

通过节点保护服务,MNT主节点可以检查每个节点的当前状态,当这些节点没有数据传送时这种服务尤其有意义。

NMT-Master节点发送远程帧(无数据)如下:

NMT-Master NMT-Slave

COB-ID

0x700+Node_ID

NMT-Slave节点发送如下报文应答:

NMT-Master NMT-Slave

COB-ID Byte0

0x700 + Node_ID Bit 7 : toggle Bit6-0 : 状态

数据部分包括一个触发位(bit7),触发位必须在每次节点保护应答中交替置“0”或者“1”。触发位在第一次节点保护请求时置为“0”。位0到位6(bits0~6)表示节点状态,可为下表中的数值。

Value 状态

0 Initialising

1 Disconnected *

2 Connecting *

3 Preparing *

4 Stopped

5 Operational

127 Pre-operational

注意:带*号的状态只有支持扩展boot-up的节点才提供。注意状态0从不在节点保护应答中出现,因为一个节点在这个状态时并不应答节点保护报文。

或者,一个节点可被配置为产生周期性的被称作心跳报文(Heartbeat)的报文。

Heartbeat Producer Consumer(s)

COB-ID Byte 0

0x700 + Node_ID 状态

状态可为下表种的数值:

状态意义

0 Boot-up

4 Stopped

5 Operational

127 Pre-operational 当一个Heartbeat节点启动后它的Boot-up报文是其第一个Heartbeat报文。Heartbe at消费者通常是NMT-Master节点,它为每个Heartbeat节点设定一个超时值,当超时发生时采取相应动作。

一个节点不能够同时支持Node Guarding和Heartbeat协议。

3.6.3 NMT Boot-up

NMT-slave节点发布Boot-up报文通知NMT-Master节点它已经从initialising状态进入pre-operational 状态。

NMT-Master NMT-Slave

COB-ID Byte 0

0x700 + Node_ID 0

3.6.4 过程数据对象(PDO)

作为一个例子,假定第二个transmit-PDO映射如下(在CANopen中用对象字典索引0x1A01描述):

对象0x1A01 : 第二个Transmit-PDO映射

子索引值意义

0 2 2个对象映射到PDO中

1 0x60000208 对象0x6000,子索引0x02,由8位组成

2 0x64010110 对象0x6401,子索引0x01,由16位组成

在CANopen I/O模块的设备子协议(CiA DSP-401)定义中,对象0x6000子索引2是节点的第2组8位数字量输入,对象0x6401子索引0x01是节点的第1组16位模拟量输入。

这个PDO报文如果被发送(可能由输入改变,定时器中断或者远程请求帧等方式触发,和PDO的传输类型相一致,可以在对象0x1801子索引2中查找),则由3字节数据组成,格式如下:

PDO-producer PDO-consumer(s)

COB-ID Byte 0 Byte 1 Byte 2

0x280+Node_ID 8位数据量输入 16位模拟量输入

(低8位)16位模块量输入(高8位)

通过改变对象0x1A01的内容,PDO的内容可被改变(如果节点支持(可变PDO映射))。

注意在CANopen中多字节参数总是先发送LSB(little endian)。

不允许超过8个字节的数据映射到某一个PDO中。

在CANopen Application Layer and Communication Profile (CiA DS 301 V 4.02 )中定义了MPDO(multiplexor PDO),允许一个PDO传输大量变量,通过在报文数据字节中包含源或目的节点ID、OD 中的索引和子索引来实现。举个例子:如果没有这个机制,当一个节点有64个16位的模拟通道时,就需要16个不同的Transmit-PDOs来传送数据,

3.6.5 服务数据对象(SDO)

SDO用来访问一个设备的对象字典。访问者被称作客户 (client),对象字典被访问且提供所请求服务的CANopen设备别称作服务器(server)。客户的CAN报文和服务器的应答CAN报文总是包含8字节数据(尽管不是所有的数据字节都一定有意义)。一个客户的请求一定有来自服务器的应答。

SDO有2种传送机制:

加速传送(Expedited transfer):最多传输4字节数据

分段传送(Segmented transfer):传输数据长度大于4字节

SDO的基本结构如下:

Client Server / Server Client

Byte 0 Byte 1-2 Byte 3 Byte 4-7

SDO

Command Specifier

对象索引对象子索引**

(**最大4字节数据(expedited transfer)或4字节字节计数器(segmented transfer)或关于block transfer参数) 或者

Client Server / Server Client

Byte 0 Byte 1-70

SDO 命令字最大7字节数据(segmented transfer)SDO 命令字包含如下信息:

下载/上传(Download / upload)

请求/应答(Request /response)

分段/加速传送(Segmented / expedited transfer)

CAN帧数据字节长度

用于后续每个分段的交替清零和置位的触发位(toggle bit)

SDO中实现了5个请求/应答协议:启动域下载(Initiate Domain Download),域分段下载(Download Domain Segment),启动域上传(Initiate Domain Upload),域分段上传(Upload Domain Segment)和域传送中止(Abort Domain Transfer)。

在CANopen通讯协议的最新版本中,引入了一种新的SDO传送机制:

块传送(Block transfer):当传送数据长度大于4字节时,多个分段只由1个确认报文应答(如果是下载,则由服务器启动传送,如果是上传,则由客户启动传送)以增加总线吞吐量。

相应的协议为:启动块下载(Initiate Block Download),块分段下载(Download Block Segment),块下载结束(End Block Download),启动块上传(Initiate Block Upload),块分段上传(Upload Block

Segment)和块上传结束(End Block Upload)。

下载(Download)是指对对象字典进行写操作,上传(Upload)指对对象字典进行读操作。

这些协议的SDO 命令字(SDO CAN报文的第一个字节)语法和细节在下面部分说明:(‘-’表

示不相关,应为0)。

启动域下载(Initiate Domain Download)

Bit 7 6 5 4 3 2 1 0

Client 0 0 1 - n e s Server 0 1 1 - - - - - 说明:

n :如果e=1,且s=1,则有效,否则为0;表示数据部分中无意义数据的字节数(字节8-n 到7数据无意义)。

e : 0 =正常传送,1 = 加速传送。

s :是否指明数据长度,0 = 数据长度未指明,1 = 数据长度指明。

e = 0,s = 0:由CiA保留。

e = 0,s = 1 :数据字节为字节计数器,byte 4是数据低位部分(LSB),byte 7是数据高位部

分(MSB)。

e = 1 :数据字节为将要下载(download)的数据。

域分段下载(Download Domain Segment)

Bit 7 6 5 4 3 2 1 0

Client 0 0 0 t n c Server 0 0 1 t - - - - 说明:

n :无意义的数据字节数。如果没有指明段长度,则为0。

c : 0 =有后续分段需要download,1 = 最后一个段。

t :触发位,后续每个分段交替清零和置位(第一次传送为0,等效于request/response)。

启动域上传(Initiate Domain Upload)

Bit 7 6 5 4 3 2 1 0

Client 0 1 0 - - - - - Server 0 1 0 - n e s 说明:n,e,s:与启动域下载相同。

域分段上传(Upload Domain Segment)

Bit 7 6 5 4 3 2 1 0

Client 0 1 1 t - - - - Server 0 0 0 t n c 说明:n,c,t :与域分段下载相同。

SDO 客户或服务器通过发出如下格式的报文来中止SDO传送:

域传送中止(Abort Domain Transfer)

Bit 7 6 5 4 3 2 1 0

1 0 0 - - - - -

C / S

在域传送中止报文中,数据字节0和1表示对象索引,字节2表示子索引,字节4到7包含32位中止码,描述中止报文传送原因,见表3-4所示。

表3-4 域传送中止SDO:16进制中止代码表(字节4到7)

中止代码代码功能描述

0503 0000 触发位没有交替改变

0504 0000 SDO协议超时

0504 0001 非法或未知的Client/Server 命令字

0504 0002 无效的块大小(仅Block Transfer模式)

0504 0003 无效的序号(仅Block Transfer模式)

0503 0004 CRC错误(仅Block Transfer模式)

0503 0005 内存溢出

0601 0000 对象不支持访问

0601 0001 试图读只写对象

0601 0002 试图写只读对象

0602 0000 对象字典中对象不存在

0604 0041 对象不能够映射到PDO

0604 0042 映射的对象的数目和长度超出PDO长度

0604 0043 一般性参数不兼容

0604 0047 一般性设备内部不兼容

0606 0000 硬件错误导致对象访问失败

0606 0010 数据类型不匹配,服务参数长度不匹配

0606 0012 数据类型不匹配,服务参数长度太大

0606 0013 数据类型不匹配,服务参数长度太短

0609 0011 子索引不存在

0609 0030 超出参数的值范围(写访问时)

0609 0031 写入参数数值太大

0609 0032 写入参数数值太小

0609 0036 最大值小于最小值

0800 0000 一般性错误

0800 0020 数据不能传送或保存到应用

0800 0021 由于本地控制导致数据不能传送或保存到应用

0800 0022 由于当前设备状态导致数据不能传送或保存到应用

0800 0023

对象字典动态产生错误或对象字典不存在

(例如,通过文件生成对象字典,但由于文件损坏导致错误产生)启动块下载(Initiate Block Download)

Bit 7 6 5 4 3 2 1 0 Client 1 1 0 - - cc s 0 Server 1 0 1 - - sc - 0 说明:

cc :客户数据是否使用CRC校验,0 = no,1 = yes。

sc :服务器数据是否使用CRC校验,0 = no,1 = yes。

s :是否指明数据集长度,0=数据集长度未指明,1=数据集长度指明。

s=0 :由CiA保留。

s=1 :数据字节为字节计数器,字节4:LSB,字节7:MSB。

服务器字节4表示blksize,即每块中分段的数目,0

块分段下载(Download Block Segment)

Bit 7 6 5 4 3 2 1 0

Client c 0

Client c 1

…etc… c seqno

Server 1 0 1 - - - 1 0 说明:

c :是否有后续分段需要download,0=yes,1=no。

seqno :分段号,0

客户数据字节:每分段至多包括7字节数据被download。

服务器字节1:表示最后一个被成功接收的分段号;如果为0,表示分段号为1的分段未正确接收,所有段必须重传。

服务器字节2:包含blksize,每个块中分段的数目,客户机必须使用它进行下一次块下载,0

块下载结束(End Block Download)

Bit 7 6 5 4 3 2 1 0

Client 1 1 0 n - 1 Server 1 0 1 - - - - 1 说明:

n :指示最后一个块的最后一个段中无意义数据的字节数。

客户数据bytes1+2 为整个数据集的16位CRC;只有当启动块下载报文中 cc和sc同时为1时CRC才有效。

启动块上传(Initiate Block Upload)

Bit 7 6 5 4 3 2 1 0

Client 1 0 1 - - cc 0 0 Server 1 1 0 - - sc 0 Client 1 0 1 - - - 1 1 说明:

cc :客户数据是否使用CRC校验, 0=no ,1=yes。

sc :服务器数据是否使用CRC校验, 0=no, 1=yes。

s :是否指明数据集长度,0=数据集长度未指明,1=数据集长度指明。

s=0:由CiA保留。

s=1:数据字节为字节计数器,字节4:LSB,字节7:MSB。

客户数据字节4:表示blksize,即每块中分段的数目,0

客户数据字节5:表示协议转换字(pst:Protocol Switch Threshold),用于是否允许改变SDO 传送协议,0=不允许改变,1=允许改变(如果要upload的数据字节数少于或等于pst,Server可

以通过Initiate Domain Upload协议应答改变到Upload Domain协议)。

块分段上传(Upload Block Segment)

Bit 7 6 5 4 3 2 1 0

Server c 0

Server c 1

..etc… c seqno

Client 1 1 0 - - - 1 0 说明:

c :是否有后续分段需要download,0=yes,1=no。

seqno :分段号,0

服务器数据字节:每分段至多包括7字节数据被download。

客户字节1:表示最后一个被成功接收的分段号;如果为0,表示分段号为1的分段未正确接收,所有段必须重传。

客户字节2:包含blksize,每个块中分段的数目,客户机必须使用它进行下一次块下载,0

块上传结束(End Block Upload)

Bit 7 6 5 4 3 2 1 0

Server 1 1 0 n - 1 Client 1 0 1 - - - - 1 说明:

n :指示最后一个块的最后一个段中无意义数据的字节数。

服务器数据bytes1+2 为整个数据集的16位CRC;只有当启动块上传报文中 cc和sc同时为1时CRC才有效。

下面给出几个例子说明如何使用SDO来访问一个节点的对象字典。

使用下面的SDO消息,值0x3FE将写到节点ID为2的对象字典中索引为0x1801,子索引为3的对象

中去,使用启动域下载协议,加速传输(2字节数据):

Client Server (节点#2)

COB-ID

Byte

0 1 2 3 4 5 6-7

602 2B 01 18 03 FE 03 - Client Server(节点#2)

582 60 01 18 03 - - - 使用下面的SDO消息,同样的对象字典中索引为0x1801,子索引为3的对象将被读出,使用启动域

上传协议,服务器使用加速传输方式应答(2字节数据):

Client Server(节点#2)

COB-ID

Byte

0 1 2 3 4 5 6-7

602 40 01 18 03 - - - Client Server(节点#2)

582 4B 01 18 03 FE 03 -

3.6.6 应急指示对象(Emergency Object)

应急指示报文由设备内部出现的致命错误触发,由相关应用设备已最高优先级发送到其它设备。适用于中断类型的错误报警信号。

一个应急报文由8字节组成,格式如下:

sender receiver(s)

COB-ID Byte 0-1 Byte 2 Byte 3-7

0x080+Node_ID 应急错误代码

错误寄存器

(对象0x1001)

制造商特定的错误区域

16进制的应急错误代码如下表3-5所示。应急错误代码中‘xx’部分由相应的设备子协议定义。

表3-5 应急错误代码(16进制)

应急错误代码代码功能描述

00xx Error Reset 或No Error

10xx Generic

Error

20xx Current

21xx Current,device input side

22xx Current,inside the device

23xx Current,device output side

30xx V oltage

31xx Mains

voltage

32xx V oltage inside the device

33xx Output

voltage

40xx Temperature

41xx Ambient

temperature

42xx Device

tempearture

50xx Device

hardware

60xx Device

software

61xx Internal

software

62xx User

software

63xx Data

set

70xx Additional

modules

80xx Monitoring

81xx communication

8110 CAN

overrun

8120 Error

Passive

8130 Life Guard Error

或Heartbeat Error

8140 Recovered from Bus-Off

82xx Protocol

Error

8210 PDO no processed

Due to length error

8220 Length

exceedd

90xx External

error

F0xx Additional

functions

FFxx Device

specific

错误寄存器(Error Register)在设备的对象字典(索引0x1001)中,表3-6说明了错误寄存器的位定义。设备可以将内部错误映射到这个状态字节中,并可以快速查看当前错误。

表3-6 8位错误寄存器位定义

Bit错误类型

0 Generic

1 Current

2 V oltage

3 Temperature

4 Communication

5 Device profile specific

6 Reserved(

=0)

7 Manufacturer

specific 制造商特定错误区域可能包含与设备相关的其它的错误信息。

4、总结

基于CAN总线的CANopen网络通讯具有以下特点:

使用对象字典(OD:Object Dictionary)对设备功能进行标准化的描述。

使用ASCII文档:电子数据文档(EDS)和设备配置文件(DCF)对设备及其配置进行标准化的描述。

CANopen网络的数据交换和系统管理基于CAL中CMS服务。

系统boot-up和节点保护(Node Guarding)的标准基于CAL中NMT服务。

定义了整个系统的同步操作。

定义了节点特定的应急报文。

为与CANopen通讯协议和相应的设备子协议保持一致,以使制造商的产品能够用于任何CANopen网络,以下3种层次的兼容性要求需要满足(对日益增长的设备兼容性的要求):

一致性:

设备连接到CANopen网络后不能影响其他设备的通讯:应用层的一致性。

互用性:

设备能够同网络上的其它节点交换数据:通讯协议的一致性。

互换性:

设备能够代替另外一个同类设备:设备子协议的一致性。

一个CANopen设备至少应该具有(最小能力设备):

一个节点ID,

一个对象字典(内容由设备功能决定),

一个SDO,能够访问对象字典中必需的对象(只读),

支持下列NMT从设备服务:

Reset_Node, Enter_Preoperational_State, Start_Remote_Node,

Stop_Remote_Node, Reset_Communication,

缺省的标识符分配。

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) 节点状态报文(NMT Err Control) 7 位的节点号则表明CANopen 网络最多可支持127个节点共存(0 号节点为主站)。 下表给出了各报文的COB-ID 范围。 NMT 命令为最高优先级报文,由CANopen 主站发出,用以更改从节点的运行状态。 SYNC 报文定期由CANopen 主站发出,所有的同步PDO 根据SYNC报文发送。 EMERGENCY报文由出现紧急状态的从节点发出,任何具备紧急事件监控与

处理能力的节点会接收并处理紧急报文。

TIME 报文由CANopen 主站发出,用于同步所有从站的内部时钟。 PDO 分为4 对发送和接收PDO,每一个节点默认拥有4对发送PDO 和接收PDO,用于过程数据的传递。 SDO 分为发送SDO 和接收SDO,用于读写对象字典。 MT Error Control报文由从节点发出,用以监测从节点的运行状态。 状态机 CANopen 的每一个节点都维护了一个状态机。该状态机的状态决定了该节点当前支持的通讯方式以及节点行为。 初始化时,节点将自动设置自身参数和CANopen 对象字典,发出节点启动报文,并不接收任何网络报文。 初始化完成后,自动进入预运行状态。在该状态,节点等待主站的网络命令,接收主站的配置请求,因此可以接收和发送除了PDO 以外的所有报文。 运行状态为节点的正常工作状态,接收并发送所有通讯报文。 停止状态为一种临时状态,只能接收主站的网络命令,以恢复运行或者重新启动。

常见网络端口和网络协议

常见网络端口和网络协议 常见端口号: HTTP——80 FTP——21 TELNETt——23 SMTP ——25 DNS——53 TFTP——69 SNMP——161 RIP——520 查看端口状况: Netstat –n 应用层、表示层、会话层(telnet、ftp、snmp、smtp、rpc) 传输层、网络层(IP、TCP、OSPF、RIP、ARP、RARP、BOOTP、ICMP) 端口号的范围: 0~255 公共应用 255~1023 商业公司 1024~65535 没有限制 或: 1-1023 众所周知端口 >=1024 随机端口 下面介绍的这些端口都是服务器默认的端口,所以认识这些服务器端口对我们学习,和故障排错时很有帮助的。 下面列出了这些服务所对应的端口。 ftp-data20/tcp#FTP, data ftp21/tcp#FTP. control telnet23/tcp smtp25/tcp mail#Simple Mail Transfer Protocol pop3110/tcp#Post Office Protocol - Version 3 domain53/udp#Domain Name Server tftp69/udp#Trivial File Transfer http80/tcp www www-http#World Wide Web https443/tcp ms-sql-s1433/tcp#Microsoft-SQL-Server ms-sql-m1434/udp#Microsoft-SQL-Monitor 终端服务3389/tcp [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal

常用网络通信协议简介

常用网络通信协议简介 常用网络通信协议 物理层: DTE(Data Terminal Equipment):数据终端设备 DCE(Data Communications Equipment):数据电路端接设备 #窄宽接入: PSTN ( Public Switched Telephone Network )公共交换电话网络 ISDN(Integrated Services Digital Network)ISDN综合业务数字网 ISDN有6种信道: A信道 4khz模拟信道 B信道 64kbps用于语音数据、调整数据、数字传真 C信道 8kbps/16kbps的数字信道,用于传输低速数据 D信道 16kbps数字信道,用于传输用户接入信令 E信道 64kbps数字信道,用于传输内部信令 H信道 384kbps高速数据传输数字信道,用于图像、视频会议、快速传真等. B代表承载, D代表Delta. ISDN有3种标准化接入速率: 基本速率接口(BRI)由2个B信道,每个带宽64kbps和一个带宽16kbps的D信道组成。三个信道设计成2B+D。 主速率接口(PRI) - 由很多的B信道和一个带宽64Kbps的D信道组成,B信道的数量取决于不同的国家: 北美和日本: 23B+1D, 总位速率1.544 Mbit/s (T1) 欧洲,澳大利亚:30B+2D,总位速率2.048 Mbit/s (E1) FR(Frame Relay)帧中继

X.25 X.25网络是第一个面向连接的网络,也是第一个公共数据网络. #宽带接入: ADSL:(Asymmetric Digital Subscriber Line)非对称数字用户环路 HFC(Hybrid Fiber,Coaxial)光纤和同轴电缆相结合的混合网络 PLC:电力线通信技术 #传输网: SDH:(Synchronous Digital Hierarchy)同步数字体系 DWDM:密集型光波复用(DWDM:Dense Wavelength Division Multiplexing)是能组合一组光波长用一根光纤进行传送。这是一项用来在现有的光纤骨干网上提高带宽的激光技术。更确切地说,该技术是在一根指定的光纤中,多路复用单个光纤载波的紧密光谱间距,以便利用可以达到的传输性能(例如,达到最小程度的色散或者衰减)。 #无线/卫星: LMDS:(Local Multipoint Distribution Services)作区域多点传输服务。这是一种微波的宽带业务,工作在28GHz附近频段,在较近的距离双向传输话音、数据和图像等信息。 GPRS:(General Packet Radio Service)通用分组无线服务技术。 3G:(3rd-generation,3G)第三代移动通信技术 DBS:(Direct Broadcasting Satellite Service)直播卫星业务 VAST: 协议:RS-232、RS-449、X.21、V.35、ISDN、FDDI、IEEE802.3、IEEE802.4、IEEE802.5等。 RS-232:是个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries

CANopen协议介绍

CANopen ?????????CAN-bus????

?? 1??? (1) 2?CAL ?? (2) 3?CANopen (3) 3ˊ1 ????OD (3) 3ˊ2 CANopen?? (4) 3ˊ3 CANopen8?Н??▊ (6) 3ˊ4 CANopen????? (8) 3ˊ5 CANopen boot-up?? (8) 3ˊ6 CANopen?????? (9) 4??? (18) 5??? (19)

1??? ?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 ??Ё????????????????????????????????ˊ???z ????Application layer?????Ё??????????????????????? z ?????Communication profile???????????????Н??Н???????z ?????Device proflile?????????????????? ??????????CAN??????CAL?????CAL?????CANopen???CANopen ???CAN-in-Automation(CiA)?Н???П?????????Й?????????????????CANopen?????????CAN?????Ё?:??????????????????????????????????????????????????????????????ā????ā???Ё?????ā????ā?Н????????????????????CANopen????????????????????????? ?OSI??Ё?CAN???CANopen??П?????????? C iA DS P-401C iA DS P-404 CiA DSP-xxx Application C hip Data Link Physical Layer ?1.1 CAN?CANopen???OSI????Ё?????

常用的网络协议有哪些

NAT:网络地址转换 Port Address Translation, 端口地址转换 局域网:LAN, Local Area Nerwork 网络服务提供商:Internet Server Provider 网络视频传输的服务质量(QoS) 而在Windows XP中,将安装光盘中的“VALUEADD\MSFT\NET\NETBEUI”目录下的“nbf.sys”文件拷贝到%SYSTEMROOT%\SYSTEM32\DRIVERS\目录中,再将“netnbf.inf”文件拷贝 到%SYSTEMROOT%\INF\目录中;这样在安装“协议”的时候,在选择窗口中就可以看到“NetBEUI 协议”了 常用的网络协议有哪些? 作者:来源:发表时间:2007-11-09 浏览次数:大中小 ARP(Address Resolution Protocol)地址解析协议 它是用于映射计算机的物理地址和临时指定的网络地址。启动时它选择一个协议(网络层)地址,并检查这个地址是否已经有别的计算机使用,如果没有被使用,此结点被使用这个地址,如果此地址已经被别的计算机使用,正在使用此地址的计算机会通告这一信息,只有再选另一个地址了。 SNMP(Simple Network Management P)网络管理协议 它是TCP/IP协议中的一部份,它为本地和远端的网络设备管理提供了一个标准化途径,是分布式环境中的集中化管理的重要组成部份。 BGP4(Border Gateway Protocol Vertion 4)边界网关协议-版本4 它是用于在自治网络中网关主机(每个主机有自己的路由)之间交换路由信息的协议,它使管理员能够在已知的路由策略上配置路由加权,可以更方便地使用无级内部域名路由(CIDR),它是一种在网络中可以容纳更多地址的机制,它比外部网关协议(EGP)更新。BGP4经常用于网关主机之间,主机中的路由表包括了已知路由的列表,可达的地址和路由加权,这样就可以在路由中选择最好的通路了。BGP在局域网中通信时使用内部BGP(IBGP),因为IBGP不能很好工作。 DHCP(Dynamic Host Configuration Protocol)动态主机配置协议 它是在TCP/IP网络上使客户机获得配置信息的协议,它是基于BOOTP协议,并在BOOTP协议的基础上添加了自动分配可用网络地址等功能。这两个协议可以通过一些机制互操作。DHCP协议在安装TCP/IP协议和使用TCP/IP协议进行通迅时,必须配置IP地址、子网掩码、缺省网关三个参数,这三个参数可以手动配置,也可以使用DHCP自动配置。 FTP(File Transfer Protocol)文件传输协议 它是一个标准协议,是在计算机和网络之间交换文件的最简单的方法。象传送可显示文件的HTTP 和电子邮件的SMTP一样,FTP也是应用TCP/IP协议的应用协议标准。FTP通常用于将网页从创作者上传到服务器上供人使用,而从服务器上下传文件也是一种非常普遍的使用方式。作为用户,您可以用非常简单的DOS界面来使用FTP,也可以使用由第三方提供的图形界面的FTP来更新(删除,重命名,移动和复制)服务器上的文件。现在有许多服务器支持匿名登录,允许用户使用FTP和ANONYMOUS作为用户名进行登录,通常可使用任何口令或只按回车键。 HDLC(High-Level Data Link Control)高层数据链路协议

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总线相对于Ethernet具有非破坏性避免总线冲突的特点(CSMA/CA协议,与CSMA/CD协议相似),这种方式可以保证在产生总线冲突的情况下,具有更高优先级的信息没有被延时传输。 其物理传输层详细和高效的定义,使得CAN总线具有其它总线无法达到的优势,注定其在工业现场总线中占有不可动摇的地位,CAN总线通信主要具有如下所示的优势和特点: (1)CAN总线上任意节点均可在任意时刻主动的向其它节点发起通信,节点没有主从之分,但在同一时刻优先级高的节点能获得总线的使用权,在高优先级的节点释放总线后,任意节点都可使用总线; (2)CAN总线传输波特率为5Kbps~1Mbps,在5Kbps的通信波特率下最远传输距离可以达到10Km,即使在1Mbps的波特率下也能传输40m的距离。在1Mbps波特率下节点发送一帧数据最多需要134μs; (3)CAN总线采用载波监听多路访问、逐位仲裁的非破坏性总线仲裁技术。在节点需要发送信息时,节点先监听总线是否空闲,只有节点监听到总线空

常用通信协议介绍

常用通信协议介绍 RS-232-C RS-232-C是OSI基本参考模型物理层部分的规格,它决定了连接器形状等物理特性、以0和1表示的电气特性及表示信号意义的逻辑特性。 RS-232-C是EIA发表的,是RS-232-B的修改版。本来是为连接模拟通信线路中的调制解调器等DCE及电传打印机等DTE拉接口而标准化的。现在很多个人计算机也用RS-232-C作为输入输出接口,用RS-232-C作为接口的个人计算机也很普及。 RS-232-C的如下特点:采用直通方式,双向通信,基本频带,电流环方式,串行传输方式,DCE-DTE间使用的信号形态,交接方式,全双工通信。RS-232-C在ITU建议的V.24和V.28规定的25引脚连接器在功能上具有互换性。 RS-232-C所使用的连接器为25引脚插入式连接器,一般称为25引脚D-SUB。DTE端的电缆顶端接公插头,DCE端接母插座。RS-232-C所用电缆的形状并不固定,但大多使用带屏蔽的24芯电缆。电缆的最大长度为15m。使用RS-232-C在200K位/秒以下的任何速率都能进行数据传输。

RS-449 RS-449是1977年由EIA发表的标准,它规定了DTE和DCE 之间的机械特性和电气特性。RS-449是想取代RS-232-C而开发的标准,但是几乎所有的数据通信设备厂家仍然采用原来的标准,所以RS-232-C仍然是最受欢迎的接口而被广泛采用。 RS-449的连接器使用ISO规格的37引脚及9引脚的连接器,2次通道(返回字通道)电路以外的所有相互连接的电路都使用37引脚的连接器,而2次通道电路则采用9引脚连接器。 RS-449的电特性,对平衡电路来说由RS-422-A规定,大体与V.11具有相同规格,而RS-423-A大体与V.10具有相同规格。 V.35 V.35是通用终端接口的规定,其实V.35是对60-108kHz群带宽线路进行48Kbps同步数据传输的调制解调器的规定,其中一部分内容记述了终端接口的规定。 V.35对机械特性即对连接器的形状并未规定。但由于48Dbps-64Kbps的美国Bell规格调制解调器的普及,34引脚的ISO2593被广泛采用。模拟传输用的音频调制解调器的电气条件使用V.28(不平衡电流环互连电路),而宽频带调制解调器则使用平衡电流环电路。

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,用于读写对象字典。

各种网络协议

Windows中常见的网络协议 1.TCP/IP协议 TCP/IP协议是协议中的老大,用得最多,只有TCP/IP协议允许与internet 进行完全连接。现今流行的网络软件和游戏大都支持TCP/IP协议。 2.IPX/SPX协议 IPX/SPX协议是Novell开发的专用于NetWare网络的协议,现在已经不光用于NetWare网络,大部分可以联机的游戏都支持IPX/SPX协议,例如星际、cs。虽然这些游戏都支持TCP/IP协议,但通过IPX/SPX协议更省事,不需要任何设置。IPX/SPX协议在局域网中的用途不大。它和TCP/IP协议的一个显著不同是它不使用ip地址,而是使用mac地址。 https://www.doczj.com/doc/e118609882.html,BEUI协议 NetBEUI协议是有IBM开发的非路由协议,实际上是NetBIOS增强用户接口,是Windows 98前的操作系统的缺省协议,特别适用于在“网上邻居”传送数据,大大提高了在“网上邻居”查找电脑的速度。如果一台只装了TCP/IP协议的Windows 98电脑想加入到WINNT域,也必须安装NetBEUI协议。 4.Microsoft网络的文件和打印机共享 在局域网中设置了ip地址与子网掩码,网线也连接正常,但在“网上邻居”中别人就是看不到自己的电脑,估计多半是由于没有把本机的“Microsoft网络的文件和打印机共享”启用。 因为协议分为7层:应用层表示层会话层传输层网络层数据链路层物理层而这7层所使用的协议是不同的,所以你的问题基本是网络层的协议,而不是应用层的协议! 下述参考: 网络层协议:包括:IP协议、ICMP协议、ARP协议、RARP协议。 传输层协议:TCP协议、UDP协议。 ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。 IP是英文Internet Protocol(网络之间互连的协议)的缩写,中文简称为“网协”,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因

CANopen协议—PDO介绍

机械工程学院机械设计及理论研究所 目录 第一章PDO实例分析 (1) 一、目的: (1) 二、手段: (1) 三、分析: (1) 四、过程: (2) 4.1.对象字典的编写 (2) 4.1.1各节点ID分配表定义 (2) 4.1.2对节点1进行对象字典编写 (2) 4.1.3对节点2进行对象字典编写 (3) 4.1.4对节点3进行对象字典编写 (5) 4.2节点1发送数据至节点2、节点3 (6) 4.2.1节点1发送数据至总线 (6) 4.2.2 节点2、节点3从总线接收数据 (7) 4.3 节点2 发送数据至节点3 (8) 4.3.1 节点2 发送数据至总线 (8) 4.3.2 节点3从总线接收数据 (9) 参考文献 (10)

第一章PDO实例分析 一、目的: 实例的目的如图1-1所示,实现节点1的数据(A、B)传送到节点2、节点3,同时实现节点2传输数据(C、D)至节点3 。 图1-1 数据传输目的 二、手段: 使用PDO进行数据传送。 三、分析: 图1-2 SDO客户/服务器通讯模式[1] PDO通信是基于生产者/消费者(Producer/Consumer)模型,主要用于传输实时数据。产生数据的节点将带有自己节点号的数据放到总线上,需要该数据的节点可以配置为接收该节点发送的数据[3]。

四、过程: 4.1.对象字典的编写 对象字典的结构和条目对于所有设备是共同的,本例中采用索引定位,子索引确定对象的思想构建对象字典,方法是使用结构体定义子索引,子索引结构体的成员变量包含对象的属性(读写权限,数据类型,数据长度等)和指向对象的指针,定义索引时包含指向子索引的指针和子索引数目,对象字典各项在代码中采取如图1-3所示的方式来组织构建,这样可以方便地通过索引和子索引一找到对应的项,对象定义为指针的形式可以通过主站的SDO报文进行读写,实现对对象字典的灵活配置,同时这种方式实现通讯层与应用层共享数据变量的特点。对象字典的条目格式如图1-3所示: 图1-3 对象字典模块结构图 4.1.1各节点ID分配表定义 表1-1 各节点ID分配表 4.1.2对节点1进行对象字典编写 节点1发送数据至节点2、节点3,故需定义TPDO,我们在此处定义为TPDO1。节点1的应用数据区、TPDO1的通讯参数和映射参数在对象字典中的定义分别如表1-2、1-3和1-4所示。 表1-2 节点1的应用数据区在对象字典中的定义 表1-3 节点1的TPDO1通讯参数在对象字典中的定义

软考网络工程师常用协议名称——必背

软考网络工程师常用协议名称——必背SAP;service access point /服务访问点。N+1实体从N服务访问点SAP获得N服务。15 CEP;connection end point /连接端点。N连接的两端叫做N连接端点。16 SNA;系统网络体系结构。是一种以大型主机为中心的集中式网络。20 APPN Advanced Peer-to-Peer Networking 高级点对点网络21 X.25;包括了通信子网最下边的三个逻辑功能层,即物理层、链路层和网络层。22 VC;virtual circuit /虚电路连接。23 PAD;packet assembly and disassembly device /分组拆装设备。在发送端要有一个设备对信息进行分组和编号,在接收端也要有一个设备对收到的分组拆去头尾并重排顺序。具有这些功能的设备叫做PAD.(在以数据报的传播方式中)50 CATV;有线电视系统。51 TDM;time division multiplexing /时分多路复用。52 WDM;wave division multiplexing /波分多路复用。53

CDMA;code division multiple access /码分多路复用。53 CRC ;cyclic redundancy check /循环冗余校验码。59 PSTN;public switched telephone network /公共交换电话网。61 DTE;data terminal equipment /数据终端设备。62 DCE;data circuit equipment/数据电路设备。 62 TCM;trellis coded modulation /格码调制技术。现代的高速Modem(调制解调器)采用的技术。66 Modem:modulation and demodulation /调制解调器,家用电脑上Internet(国际互联网)网的必备工具,在一般英汉字典中是查不到这个词的,它是调制器(MOdulator)与解调器(DEModulator)的缩写形式。Modem是实现计算机通信的一种必不可少的外部设备。因为计算机的数据是数字信号,欲将其通过传输线路(例如电话线)传送到远距离处的另一台计算机或其它终端(如电传打字机等),必须将数字信号转换成适合于传输的模拟信号(调制信号)。在接收端又要将接收到的模拟信号恢复成原来的数字信号,这就需要利用调制解调器。66

CANopen协议介绍

CANopen协议介绍(讲义) 2010-10-12 15:58:28| 分类:技术文档| 标签:|举报|字号大中小订阅 很长一段时间以来,很多人问我CANopen 总线优势到底在什么地方,我也大体的给了口头的讲述,但是比较笼统,没办法做到详细解释,加上纯技术的话语比较晦涩,遇上内行还能多聊几句,如果是刚接触的,那就是云里雾里了。这次正好要进行公司业务员培训,要讲讲CANopen,在整理过程中把我的讲义贴出来,希望能帮到大家,以下内容是我讲课的口述内容,比较白话,不能作为资料,大家见谅,鉴于我整理也比较辛苦,也算个小小的知识产权,所以PPT我就不 贴出来了。^-^ 讲义内容: 通常CANopen协议相关的一些资料相对来说比较晦涩,非专业人士看起来比较困难。我尽量以浅显易懂的方式将CANopen 协议的框架和它在实际应用中存在的优缺 点展示给大家。

我按照最先接触的内容由浅入深的讲解,直接讲CANopen协议会有点跳跃的感觉,所以,我以产品作为切入点,分析一下如何使用,在这个过程中,让大家理解什么是CANopen协议。首先,我们拿到一个产品,比方说是编码器,它的用途是作为位置传感器,那我们就需要将编码器送出的数据进行采集。一般自然界中存在的信号有多种形式,大多以模拟量形式存在,类似于人感觉到温度的高低、水流的快慢、风力的大小等等。但这是很模糊的概念,今天热了还是冷了,风大风小,没有比较是很难界定的,为了规范这些量,方便描述时的统一性,温度计量标准有华氏和摄氏、水流有每秒多少立方、风力有级数。这些,就是数字量。数字量在人与人之间传递时,可以通过嘴和耳,语言和听力,在设备之间如何来传递呢?学过数电的人知道,灯泡有两种状态,亮和暗,在最基础的电路回路里,“通”和“断”是两个最基本的状态,我们可以把他理解为“1”和“0”,这样,就有了表述的方法。但是单独使用这两种状态是无法传递信息的,如何把编码器

CANOPEN协议详解.pdf

一、CAN-BUS 介绍 1.CAN 的基本概念、特点 CAN 是Controller Area Network 的缩写(以下称为 CAN ),是ISO*1国际标准化 的串行通信协议。CAN 协议如表 3 所示涵盖了ISO 规定的OSI 基本参照模型中的传输层、数据链路层及物理层。 CAN 协议中关于ISO/OSI 基本参照模型中的传输层、数据链路层及物理层,具体有哪些定义如图所示。 . ISO/OSI 基本参照模型ISO/OSI 基本参照模型 各层定义的主要项目软件 控制 7 层:应用层 由实际应用程序提供可利用的服务。6 层:表示层 进行数据表现形式的转换。如:文字设定、数据压缩、加密等的控制5 层:会话层 为建立会话式的通信,控制数据正确地接收和发送。4 层:传输层控制数据传输的顺序、传送错误的恢复等,保证通信的品质。 如:错误修正、再传输控制。 3 层:网络层进行数据传送的路由选择或中继。 如:单元间的数据交换、地址管理。 硬件 控制 2 层:数据链路层 将物理层收到的信号(位序列)组成有意义的数据,提供传输错误控 制等数据传输控制流程。如:访问的方法、数据的形式。 通信方式、连接控制方式、同步方式、检错方式。应答方式、通信方式、包(帧)的构成。位的调制方式(包括位时序条件)。 1 层:物理层 规定了通信时使用的电缆、连接器等的媒体、电气信号规格等,以实 现设备间的信号传送。 如:信号电平、收发器、电缆、连接器等的形态。【注】*1 OSI :Open Systems Interconnection (开放式系统间互联)

CAN的特点 CAN 协议具有以下特点。 (1) 多主控制 在总线空闲时,所有的单元都可开始发送消息(多主控制)。最先访问总线的单元可获得发送权。 (2) 消息的发送 在CAN 协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连 的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为ID)决定优先级。ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利 的单元则立刻停止发送而进行接收工作。 (3) 系统的柔软性 与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在 总线上的其它单元的软硬件及应用层都不需要改变。 (4) 通信速度 根据整个网络的规模,可设定适合的通信速度。 在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度 与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以 有不同的通信速度。 (5) 远程数据请求 可通过发送“遥控帧”请求其他单元发送数据。 (6) 错误检测功能·错误通知功能·错误恢复功能 所有的单元都可以检测错误(错误检测功能)。 检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。 正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单 元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。 (7) 故障封闭 CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的 数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。 (8) 连接 CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。 但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连 接的单元数增加;提高通信速度,则可连接的单元数减少。 2. CAN协议及标准规格

常见的网络协议

常见的网络协议 摘要:网络协议是操纵计算机在网络介质上进行信息交换的规则和约定。网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的集合,它规定了通信时信息必须采纳的格式和这些格式的意义。大多数网络都采纳分层的体系结构,每一层都建立在它的下层之上,向它的上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏蔽。在网络的各层中存在着许多协议,接收方和发送方同层的协议必须一致,否则一方将无法识不另一方发出的信息。网络协议使网络上各种设备能够相互交换信息。常见的协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议等。 1 IP协议 1.1 IP协议简介

IP是英文Internet Protocol(网络之间互连的协议)的缩写,中文简称为“网协”,也确实是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守 IP协议就能够与因特网互连互通。正是因为有了IP协议,因特网才得以迅速进展成为世界上最大的、开放的计算机通信网络。因此,IP协议也能够叫做“因特网协议”。通俗的讲:IP地址也能够称为互联网地址或Internet地址。是用来唯一标识互联网上计算机的逻辑地址。每台连网计算机都依靠IP地址来标识自己。就专门类似于我们的电话号码样的。通过电话号码来找到相应的使用电话的客户的实际地址。全世界的电话号码差不多上唯一的。

IP地址也是一样。 1.2 IP地址(IP v4) 所谓IP地址确实是给每个连接在Internet 上的主机分配的一个32bit地址。 按照TCP/IP(Transport Control Protocol/Internet Protocol,传输操纵协议/Internet协议)协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,确实是4个字节。例如一个采纳二进制形式的IP 地址是“00001010000000000000000000000001”,这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。因此,上面的IP地址能够表示为“10.0.0.1”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1

网络各种通信协议介绍

通信协议 SIP、MGCP、H.323、H.248、TCP/IP、PPPoE等等各种通信协议 什么是sip协议? SIP(Session Initiation Protocol)是由IETF定义,基于IP的一个应用层控制协议。由于SIP 是基于纯文本的信令协议,可以管理不同接入网络上的会晤等。会晤可以是终端设备之间任何类型的通信,如视频会晤、既时信息处理或协作会晤。该协议不会定义或限制可使用的业务,传输、服务质量、计费、安全性等问题都由基本核心网络和其它协议处理。SIP得到了微软、AOL、等厂商及IETF和3GPP等标准制定机构的大力支持。支持SIP的网络将提供一个网桥,以扩展向互联网和无线网络的各种设备提供融合业务能力。这将允许运营商为其移动用户提供大量的信息处理业务,通过SMS互通能力与固定用户和2G无线用户交互。SIP也是在UMTS3GPP R5/R6版本中使用的信令协议,因此可以保护运营商目前的投资而及具技术优势和商业价值。 SIP的技术优势 *独立于接入:SIP可用于建立与任何类型的接入网络的会晤,同时还使运营商能够使用其它协议。 *会晤和业务独立:SIP不限制或定义可以建立的会晤类型,使多种媒体类型的多个会晤可以在终端设备之间进行交换。 *协议融合:SIP可以在无线分组交换域中提供所有业务的融合协议。 什么是h.323协议? H.323是一套在分组网上提供实时音频、视频和数据通信的标准,是ITU-T制订的在各种网络上提供多媒体通信的系列协议H.32x的一部分。H.323协议被普遍认为是目前在分组网上支持语音、图像和数据业务最成熟的协议。采用H.323协议,各个不同厂商的多媒体产品和应用可以进行互相操作,用户不必考虑兼容性问题。该协议为商业和个人用户基于LAN、MAN的多媒体产品协同开发奠定了基础。 什么是RTP协议? 实时传输协议(RTP)是一个Internet协议标准,它描述了程序管理多媒体数据实时传输的方式。最初在Internet工程任务组(IETF)的请求注解(RFC)1869中对RTP协议进行了描述,RTP由IETF的音视频传输工作组设计,它支持多个地域上分布的参与者的视频会议。RTP普遍应用于Internet的电话应用中。RTP本身并不保证多媒体数据的实时传输(因为这取决于网络特性),但是,当数据尽最大努力到达后它将提供必要的方法来管理这些数据。 RTP与控制协议(RTCP)配合工作,RTCP使得大的组播网络能够监视数据传输。监视能使接收器侦测到任何的包丢失,还可以补偿任何的延迟抖动。两个协议都独立于下面的传输层和网络层协议。RTP头中的信息将告诉接收器如何重建数据,并描述了比特流失如何打包的。通常,RTP工作于用户数据报协议(UDP)之上,但它也能使用其他的传输协议。会话发起协议(SIP)和H.232都使用RTP。 什么是udp协议? UDP协议是英文UserDatagramProtocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。 与我们所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议

常用网络通信协议

常用网络通信协议 物理层: DTE(Data Terminal Equipment):数据终端设备 DCE(Data Communications Equipment):数据电路端接设备 #窄宽接入: PSTN ( Public Switched Telephone Network )公共交换电话网络 ISDN(Integrated Services Digital Network)ISDN综合业务数字网 ISDN有6种信道: A信道 4khz模拟信道 B信道 64kbps用于语音数据、调整数据、数字传真 C信道 8kbps/16kbps的数字信道,用于传输低速数据 D信道 16kbps数字信道,用于传输用户接入信令 E信道 64kbps数字信道,用于传输内部信令 H信道 384kbps高速数据传输数字信道,用于图像、视频会议、快速传真等. B代表承载, D代表Delta. ISDN有3种标准化接入速率: 基本速率接口(BRI)由2个B信道,每个带宽64kbps和一个带宽16kbps的D信道组成。三个信道设计成2B+D。 主速率接口(PRI) - 由很多的B信道和一个带宽64Kbps的D信道组成,B 信道的数量取决于不同的国家: 北美和日本: 23B+1D, 总位速率1.544 Mbit/s (T1) 欧洲,澳大利亚:30B+2D,总位速率2.048 Mbit/s (E1) FR(Frame Relay)帧中继 X.25 X.25网络是第一个面向连接的网络,也是第一个公共数据网络. #宽带接入: ADSL:(Asymmetric Digital Subscriber Line)非对称数字用户环路

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) 错误检测功能·错误通知功能·错误恢复功能 所有的单元都可以检测错误(错误检测功能)。 检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。 正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。 (7) 故障封闭 CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。 (8) 连接 CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。 2. CAN协议及标准规格

相关主题
文本预览
相关文档 最新文档