一文详述CAN及CANopen协议,万字内容,目录清晰,需耐心阅读

 关注菲益科公众号—>对话窗口发送 “CANoe ”或“INCA”,即可获得canoe入门到精通电子书和INCA软件安装包(不带授权码)下载地址。

目录

1 CAN概述

1.1 什么是CAN

1.2 CAN的历史

1.3 CiA组织

1.4 CAN的OSI模型

1.5 CAN的特性

1.6 CAN的拓扑结构

1.7 CAN的数据帧

1.8 常见的CAN应用层协议

2 CANopen概述

2.1 什么是CANopen

2.2 CANopen网络模型

2.3 CANopen常见规范

2.4 CANopen对象字典

2.5 CANopen通讯标识符

3 CANopen协议概述

3.1 常用术语

3.2 通讯状态机

3.3 通讯报文

4 CANopen管理报文

4.1 NMT模块控制报文

4.2 NMT节点保护报文

4.3 心跳报文

4.4 NMT BOOT-UP启动报文

5 CANopen紧急报文

6 SDO(服务数据对象)通讯

6.1 SDO功能

6.2 SDO的通讯对象标识符(COB_ID)

6.3 SDO读报文

6.4 SDO读报文示例

6.5 SDO 写报文

6.6 SDO写报文示例

6.7 SDO通讯失败报文

7 PDO(过程数据对象)通讯

7.1 PDO功能

7.2 PDO通讯参数

7.3 PDO通讯对象标识符(COB_ID)

7.4 PDO的传输类型

7.5 PDO映射

7.6 PDO报文

7.7 PDO和SDO总结

9 同步报文

9.1 同步报文的功能

9.2 同步报文的数据帧

9.3 同步报文的传输类型

9.4 同步循环周期与窗口时间

9.5 伺服周期性同步位置模式(CSP)原理

9.6 同步周期对运动控制性能的影响

10 电子数据表格(EDS)


正文

1 CAN概述

1.1 什么是CAN

Controller Area Network,控制器局域网,是国际上应用最广泛的现场总线之一。

20世纪80年代初德国Bosch公司为解决现代汽车中众多控制单元、测试仪器之间的实时数据交换而开发的一种串行通信协议。

1.2 CAN的历史

  • 1983年,Bosch开始研究车上网络技术。
  • 1986年,Bosch在SAE(美国汽车工程师学会)大会公布CAN协议。
  • 1987年,Intel和Philips先后推出CAN控制器芯片。
  • 1991年,Bosch颁布CAN 2.0技术规范,CAN2.0包括A和B两个部分。
  • 1991年,CAN总线最先在Benz S系列轿车上实现。
  • 1993年,ISO颁布CAN国际标准ISO-11898。
  • 1994年,SAE颁布基于CAN的J1939标准。
  • 2003年,Maybach发布带76个ECU的新车型(CAN,LIN,MOST)。
  • 2003年,VW发布带35个ECU的新型Golf。

1.3 CiA组织

1992年,一些公司创建了非盈利性组织CAN in Automation(CiA),以提供与CAN相关的技术、产品和市场营销方面的信息。此举旨在提升CAN的形象,并且为CAN协议未来的发展铺平道路。到2020年年初,已有670家公司加入CiA组织。

1.4 CAN的OSI模型

七层模型,亦称OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。

从OSI网络模型的角度来看同,现场总线网络一般只实现了第1层(物理层)、第2层(数据链路层)、第7层(应用层)。因为现场总线通常只包括一个网段,因此不需要第3层(传输层)和第4层(网络层),也不需要第5层(会话层)第6层(描述层)的作用。

CAN只定义物理层和数据链路层,没有规定应用层。

数据链路层:包括介质访问控制(MAC)层和逻辑链路控制(LLC)层,关键是形成数据帧。

物理层:有时也称物理接口,是实现物理连接的功能描述和执行连接的规程,提供用于建立、保持和断开物理连接的机械、电气、功能和规程的条件,物理层有四个重要特性:

  • 机械特性——连接器、引脚数、引脚排列。
  • 电气特性——信号电平高低、阻抗和阻抗匹配、传输速度和距离。
  • 功能特性——信号线(数据、控制、地线)的功能分配和确切定义。
  • 规程特性——各信号线的工作规则和时序。

1.5 CAN的特性

采用双线差分信号,两根线构成总线,CAN High与CAN Low,这两根线之间的电位差可以对应两个不同的逻辑状态进行编码。

静态时均是2.5V左右,此时状态表示为逻辑1,也可以叫做隐性位,用CAN_H比CAN_L高表示逻辑0,称为显性位,此时通常电压值为CAN_H=3.5V和CAN_L=1.5V,竞争时显位优先。

使用双绞线作为总线介质时,总线长度≤40米, 传输速率可达1Mbps。

协议本身对节点的数量没有限制,实际应用中节点数目受网络硬件的电气特性所限制,总线上节点的数量可以动态改变,广播发送报文,报文可以被所有节点同时接收。

  • CAN是多主站结构。
  • 每个报文的内容通过标识符识别,标识符在网络中是唯一的:
  • 标识符描述了数据的含义;
  • 某些特定的应用对标识符的分配进行了标准化。
  • 根据需要可进行相关性报文过滤。

CAN总线和CANopen协议是现代工业领域中常用的通信标准。CAN(Controller Area Network)总线是一种高可靠性、实时性和高性能的串行通信系统,广泛应用于汽车电子、工业自动化、机械控制等领域。 CAN总线通过一对差分信号线实现数据的传输,具有抗干扰能力强、传输距离远等优点。它采用了分布式控制的方式,所有节点共享总线,通过标识符来识别不同的消息。CAN总线为实时通信提供了基础,可以同时传输多种不同优先级的数据,具有确定性和可扩展性。 CANopen协议CAN总线上应用层的一种通信协议,它定义了在CAN总线上节点之间的数据传输规则和通信方式。CANopen协议提供了一种标准化的、开放的、高度可配置的通信和设备控制服务,为工业自动化系统中的设备提供了互联互通的环境。 CANopen协议定义了一套对象典的数据结构,其中包括网络管理对象、设备配置对象、应用对象等。通过访问这些对象,可以实现对CAN总线上节点的配置、诊断和控制。CANopen协议还定义了一种基于事件驱动的通信机制,可以确保实时数据的传输和同步。 CANCANopen为工程师提供了一种便捷而可靠的通信方式,使得多个设备之间可以通过共享CAN总线进行高效的数据交换。此外,CAN总线和CANopen协议的开放性也为设备的互操作性和可扩展性提供了保障,能够满足不同应用领域的求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值