CANBUS协议-物理层及链路层详细分析资料
CAN Bus简介
CAN总线在智能网联汽车中的技术挑战
需要解决高实时性、高可靠性、高安全性等方面的技术问题。
THANKS
感谢观看
CAN Bus技术演进
高速CAN总线技术
目前CAN总线已达到1Mbps,未来将进一步提高至4Mbps或更高,以满足日益增长的数 据传输需求。
低压CAN总线技术
低压CAN总线以其灵活性和低成本性在汽车电子领域得到广泛应用,未来将进一步优化 其性能和可靠性。
CAN总线与互联网技术的融合
随着物联网技术的发展,CAN总线将与互联网技术融合,实现远程监控和管理,提高汽 车智能化水平。
CAN Bus被用于工业自动化控制 系统中的数据传输和控制,例如工 厂自动化生产线、机器人控制系统 等。
其他领域
除了汽车和工业自动化领域,CAN Bus还被应用于医疗设备、航空航 天、智能家居等领域中。
02
CAN Bus通信协议
CAN协议概述
01
CAN是控制器局域网(Controller Area Network)的缩写, 它是一种用于汽车和其他工业应用场合的通信协议。
应用
与CAN控制器一起广泛应用于汽 车、工业自动化、楼宇自动化等
领域。
CAN总线电阻
作用
CAN总线电阻用于匹配总 线上的阻抗,以确保数据 传输的稳定性和可靠性。
类型
分为终端电阻和线电阻两 种类型。
应用
在CAN总线系统中,终端 电阻通常用于连接CAN控 制器和CAN收发器,而线 电阻用于连接其他设备。
灵活性
CAN Bus支持多种数据传输速 率,同时可以适应不同的网络 环境,具有较强的灵活性。
成本效益
CAN协议规范解析
CAN协议规范解析CAN(Controller Area Network,控制器局域网)是一种高性能、实时性强、可靠性高的现场总线通信协议。
它最初是由德国Bosch公司为汽车电子系统开发的,现已广泛应用于汽车、工业自动化、电力系统等领域。
CAN协议规范完整,包括物理层、数据链路层、网络层和应用层。
1.物理层CAN协议的物理层使用两根信号线CAN_H和CAN_L构成差分传输线路。
CAN_H线接收高电平信号,CAN_L线接收低电平信号,通过这种方式实现数据的传递和接收。
这种差分传输方式具有抗干扰能力强、传输距离远等优点。
物理层还包括传输速率的定义,CAN协议支持多种传输速率,常用的有1 Mbps、500 kbps、250 kbps、125 kbps等。
选择不同的传输速率可以根据实际需求进行配置。
2.数据链路层数据链路层主要负责将上层应用发送的数据封装成CAN帧,并在总线上进行传输。
CAN帧由以下四个部分组成:起始位(SOF)、标识符(ID)、数据域(Data)和CRC校验码。
起始位用于同步接收方的时钟,标识符用于区分不同的数据帧,数据域用于传输应用数据,CRC校验码用于检测数据的传输错误。
CAN协议支持标准帧和扩展帧两种类型的数据帧,标识符的长度不同,标准帧为11位,扩展帧为29位。
扩展帧可以提供更多的ID范围,适用于大规模网络通信。
数据链路层还包括数据帧的发送和接收机制。
CAN协议采用一种优先级机制,不同的数据帧有不同的优先级,优先级高的数据帧可以打断正在传输的低优先级数据帧。
这种机制能够保证高优先级数据的实时性和可靠性。
3.网络层网络层主要负责CAN网络中节点之间的通信,包括数据的路由和过滤。
CAN网络支持多个节点的连接,节点之间可以通过总线进行双向通信。
每个节点可以发送和接收数据帧,通过标识符来区分不同节点的数据帧。
网络层还包括数据的过滤和控制,可以根据接收节点的ID进行过滤,只接收符合条件的数据帧。
标准CANBUS协议链路描述
标准CANBUS协议链路描述1.物理层描述1.1诊断座定义诊断座使用标准OBD II接口,诊断接头采用CAN诊断接头,诊断座形状见图1所示。
1 2 3 4 5 6 7 89 10 11 12 13 14 15 16图1 诊断座形状其中16pin表1 引脚定义2.链路层描述2.1 电气特性(1) 工作电平TOOLS工作电平:12V(2) 通讯电平总线电平0 = 显性(dominant)总线电平1 = 隐性(recessive)总线闲置= 隐性(recessive)CAN_HIGH: 隐性为2.5V,显性为3.5VCAN_LOW:隐性为2.5V,显性为1.5V2.2位格式2.3通讯方式CAN通讯方式。
2.4波特率使用的波特率为500Kbps。
2.5帧格式帧格式:Extended CAN ,请参考ISO CAN 协议CAN 标准帧信息为11个字节包括两部分信息和数据部分,前3个字节为信息部分字节1 为帧信息第7位FF 表示帧格式(在标准帧中FF=0,在扩展帧中FF=1)第6位RTR 表示帧的类型(RTR=0表示为数据帧RTR=1表示为远程帧)DLC 表示在数据帧时实际的数据长度字节2-3 为报文识别码11位有效字节4-11 为数据帧的实际数据,远程帧时无效CAN诊断器数据帧格式:本数据帧采用不定长格式,其各部份含义如下:0x55,0xAA,LEN,Data1,,Data2,…,Datan,CS说明:1、长度(LEN)含义规定为LEN之后的字节个数(不包含LEN及CS);2、CS为0xAA之后所有字节(不包含CS)的异或校验。
CAN总线的分层结构
CAN总线的分层结构
CAN技术协议规范的目的是为了在任何两个CAN器件之间建立兼容性,为了达到设计的透明度和实施的灵活性,根据1SO/OSI参考模型,CAN被细分为物理层(Physical Layer)和数据链路层(Data Link Layer)。
图1为CAN的IS0/OSI 的参考模型的层结构:
图 1 CAN的IS0/OSI参考模型的分层结构
(1)物理层定义信号传输的方法,因而涉及驱动器/接收器的特性、位定时、位编码、解码、同步等内容,但对总线媒体装置,诸如驱动器/接收器特性未作规定,以便允许根据它们的应用,对发送媒体和信号电平进行优化。
(2)数据链路层包括逻辑链路控制子层(LLC,Logical Link Control)、介质访问控制子层(MAC,Medium Access Control)。
逻辑链路控制子层(LLC)主要负责为远程数据请求以及数据传输提供服务,涉及报文滤波、过载通知、以及恢复管理等。
介质访问控制子层(MAC)的作用主要是定义传送的规则,也就是控制帧的结构、执行总线仲裁、错误检测、错误标定(Error signaling)、故障界定(Fault confinement)以及总线的开启与关闭、报文的接收和发送等。
MAC子层是CAN协议的核心,其特性不存在修改的灵活性。
CANBUS协议-物理层及链路层详细分析
CAN如何工作(二)
CAN 能够使用多种物理介质,例如双绞线、光纤等,最常用的就 是双绞线。信号使用差分电压传送,两条信号线被称为“CAN_H” 和 “CAN_L”, 静态时均是2.5V 左右,此时状态表示为逻辑1 ,也可 以叫做“隐性” 。用CAN_H 比CAN_L 高表示的逻辑0, 称为“显 性”,此时通常电压值为CAN_H =3.5V 和CAN_L = 1.5V 。
CAN,全称为“Controller Area Network”, 即控制器局域 网,是国际上应用最广泛的现场总线之一。最初,CAN 被设计作为汽 车环境中的微控制器通讯,在车载各电子控制装置ECU 之间交换信 息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、 仪表装备、电子主干系统中,均嵌入CAN 控制装置。
流控帧在不同的车上可能会不一样。
命令交互方式(四)
发多帧回一帧:
Tools : 08H FCH00H 10H 16H 01H 02H 03H 04H 05H 06H ECU : 08H FDH00H 30H 00H 00H 00H 00H 00H 00H 00H Tools : 08H FCH00H 21H 07H 08H 09H 0AH0BH 0CH 0DH Tools : 08H FCH00H 22H 07H 0EH 0FH 10H 11H 12H 13H Tools : 08H FCH00H 23H 14H 15H 16H 00H 00H 00H 00H ECU : 08H FDH00H 04H 41H 02H FFH 01H 00H 00H 00H
CANBUS协议物理层 及链路层详细分析
2012-2-20
目的
本文档的目的是指导我们熟悉CANBUS通讯协议的物理层及链路层,便于我 们更好的开展有关CANBUS的相关工作。
CAN-Bus的一些知识点解析
CAN基本协议的应用 CANopen
CANopen概述
CAN和CANopen标准在OSI网络模型中的原理图
CAN基本协议的应用
CAN三层协议:物理层、数据链路层、 应用层 应用层:明确CAN消息帧的11位标识符 和8字节数据如何使用
CAN协议只对物理层和数据链路层作了描述 和规定,而对于应用层则没有说明。如果每 个都可以为自己的产品设计一个应用层协议。 不同厂商的设备之间不能互相操作
CMS提供基于变量、事件、域类型的对象, 以设计和规定一个设备(节点)的功能如何 被访问(例如,如何上载下载超过8字节的 一组数据(域),并且有终止传输的功能)。
CAL(CAN Application Layer)
NMT (Network ManagemenT)
提供网络管理(如初始化、启动和停止节点, 侦测失效节点)服务。这种服务是采用主从 通讯模式(所以只有一个NMT主节点)来实 现的。
NMT消息
由NMT主节点发 送,迫使从节点 状态转换。使用 2B数据单帧, 第一个数据字节 是命令,第二个 字节是目标节点 的ID
NMT消息
只有NMT-Master节点能够传送NMT Module Control报 文。NMT Module Control消息不需要应答。NMT消息
CANopen协议介绍
通信接 口和协议软件用于提供在总线上收发通信对象的服务,不 同CANopen设备间的通信是通过交换通信对象来完成的。 对象字典描述了设备使用的所有数据类型、通信对象和应用对象, 对象字典位于通信程序和应用程序之间,用于向应用程序提供接 口, 应用程序对对象字典进行操 作,即可实现CANopen通信。它包括 功能部分和通信部分,通信部分通过对对象字典进行操作实现 CANopen通信,而功能部分则根据应用要求来实现。
canbus标准
CAN总线(CAN-bus)是一种串行通信总线系统,被广泛应用于汽车和工业自动化领域,CAN总线的物理层定义了总线的位速率、位定时、电气特性、传输介质等。
CAN总线的位速率可以根据实际需要进行设置,常见的有500Kbps和250Kbps等。
CAN总线的位定时决定了通信的可靠性和稳定性,需要满足一定的时序要求。
数据链路层是CAN总线的重要组成部分,包括逻辑链路控制、媒体访问控制和差错控制等子层。
逻辑链路控制子层负责建立和维护通信节点之间的逻辑连接;媒体访问控制子层采用CSMA/CD协议,实现总线访问控制和数据传输;差错控制子层用于检测和处理总线上的错误。
在实际应用中,CAN总线可以采用单线或双线模式,根据实际情况选择合适的线数和线型。
同时,为了提高总线的可靠性和稳定性,可以采用一些措施,如波特率自适应、节点故障检测和自动重发等。
总之,CAN总线是一种广泛应用于汽车和工业自动化领域的串行通信总线系统,具有高可靠性和稳定性。
CAN总线标准定义了总线的物理层和数据链路层,为实际应用提供了重要的支持和保障。
can总线报告资料
can总线报告资料一、概述CAN(Controller Area Network)总线是一种广泛应用于汽车和工业领域的串行通信协议。
它具有高可靠性、高实时性和高带宽的特点,被广泛应用于车辆电子控制系统、工业自动化控制系统等领域。
本报告旨在介绍CAN总线的基本原理、应用领域和技术特点。
二、CAN总线的基本原理1. 物理层CAN总线采用双绞线进行数据传输,通信速率可达到1Mbps。
它采用差分信号传输,具有抗干扰能力强的特点。
CAN总线的物理层标准有CAN 2.0A和CAN 2.0B两种,分别适用于不同的应用场景。
2. 数据链路层CAN总线采用CSMA/CD(Carrier Sense Multiple Access with Collision Detection)的数据链路层协议。
它通过监听总线上的数据活动来实现多节点之间的数据传输。
当多个节点同时发送数据时,会发生冲突,此时通过冲突检测和重新发送机制来解决冲突问题。
3. 帧格式CAN总线的数据传输以帧为单位进行。
CAN帧由起始位、标识符、控制位、数据域和校验位组成。
其中,标识符用于区分不同的数据帧,数据域用于传输实际数据,校验位用于检测数据的正确性。
三、CAN总线的应用领域1. 汽车电子控制系统CAN总线被广泛应用于汽车电子控制系统,如发动机控制单元(ECU)、制动系统、空调系统等。
它可以实现多个控制单元之间的高速数据传输和实时协同工作,提高整车的性能和安全性。
2. 工业自动化控制系统CAN总线在工业自动化领域的应用也非常广泛。
它可以连接各种传感器、执行器和控制器,实现工业设备之间的数据交换和控制。
通过CAN总线,工业自动化系统可以实现高效、可靠的数据传输和实时控制。
3. 其他领域除了汽车和工业领域,CAN总线还被应用于其他领域,如航空航天、医疗设备、军事装备等。
它的高可靠性和实时性使得CAN总线成为这些领域中的首选通信协议。
四、CAN总线的技术特点1. 高可靠性CAN总线采用差分信号传输和冲突检测机制,具有抗干扰能力强的特点。
(汽车诊断协议KWP2000,CANBUS)sid,pid应用详细分析
详细介绍-Upload/Download Functiona点l U击n添it加标题
35- RequestUpload(请求上传)
详细介绍-Upload/Download Functiona点l U击n添it加标题
36- TransferData(数据传输)
详细介绍-Upload/Download Functiona点l U击n添it加标题
详细介绍-Input/Output Control Functio点n击al添加标题
2F- inputOutputControlByCommonIdentifier Request SId (动作测试)
详细介绍-Remote Activation Of Routin点e 击Fu添nc加ti标on题al Unit
1A- readEcuIdentification Request Service Id(读ECU版本信息) 常用在KWP2000协议中 如: Req:82 10 F1 1A 94 31 Ans:8C F1 10 5A 94 50 5F 38 32 38 20 56 34 36 20 CC
详细介绍-Data Transmission Functiona点l U击n添it加标题
37- RequestTransferExit(传输结束)
第四部分
实例分析
实例分析
14蒙迪欧大灯协议文档
点击添加标题
实例分析
14蒙迪欧大灯协议文档
点击添加标题
实例分析
14蒙迪欧大灯协议文档点击来自加标题第五部分常见SID,PID组合
常见SID,PID组合
读VIN码(车架号) 0902 22F190
17- ReadStatusOfDiagnosticTroubleCodes service (读取诊断故障代码及状态)
can总线应用层协议实例解析
can总线应用层协议实例解析一、简介CAN总线(Controller Area Network)是一种广泛应用于汽车、工业自动化、家庭等领域的现场总线技术。
它是一种串行通信协议,可以在短距离和长距离传输中实现高可靠性的数据传输。
本篇文章将通过一个简单的CAN总线应用层协议实例来解析CAN总线的物理层、数据链路层和应用层。
二、物理层CAN总线的物理层包括传输介质、收发器和信号电平。
其中,传输介质可以是双绞线、同轴电缆等;收发器负责将数字信号转换为模拟信号或反向转换;信号电平采用差分电压进行数据传输,具有抗干扰能力强、传输距离远等优点。
三、数据链路层CAN总线的数据链路层定义了数据传输的规则和机制,包括数据帧、远程帧和错误控制。
数据帧由标识符、数据段和控制段组成,用于传输实际的数据;远程帧用于请求发送数据,但没有数据段;错误控制包括位错误检测和错误帧发送等功能。
四、应用层CAN总线的应用层定义了实际应用中需要的数据格式和协议。
例如,在汽车中,应用层可以定义车辆控制指令、传感器数据等的数据格式和协议。
应用层还提供了应用程序接口,使得用户可以轻松地使用CAN总线进行通信。
五、协议实例下面是一个简单的CAN总线应用层协议实例,用于控制车辆的灯光系统:1. 数据帧格式:每个数据帧包括标识符、控制段和数据段。
在此实例中,标识符表示灯光控制指令,控制段包括指令类型和指令参数,数据段包括指令的具体参数值。
2. 指令类型:指令类型包括打开前大灯、关闭前大灯、打开尾灯等。
每个指令类型都有一个唯一的标识符。
3. 指令参数:指令参数根据指令类型的不同而变化。
例如,打开前大灯的指令参数包括亮度等级和闪烁频率,关闭尾灯的指令参数为空。
4. 数据传输:当车辆的灯光控制系统接收到一个数据帧时,它会根据标识符判断指令类型和参数,然后执行相应的控制操作。
同时,控制系统还可以将传感器数据或其他信息封装成数据帧发送到CAN总线上。
5. 错误控制:如果数据传输过程中出现错误,控制系统会自动发送错误帧,通知其他节点出现错误。
CAN-bus现场总线基础教程【第1章】现场总线CAN-bus-CAN-bus物理层(2)
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.第1章 现场总线CAN-bus1.1 CAN-bus 物理层物理层主要是完成设备间的信号传送,把各种信息转换为可以传输的物理信号(通常为电信号或光信号),并将这些信号传输到其他目标设备。
基于该目的,CAN-bus 对信号电平、通信时使用的电缆及连接器等做了详细规定。
CAN-bus 由ISO 标准化后发布了两个标准,分别是ISO11898(125kbps~1Mbps 的高速通信标准)和ISO11519(小于125kbps 的低速通信标准)。
这两个标准仅在物理层不同,在数据链路层是相同的。
1.1.1 CAN 收发器与信号电平位于CAN-bus 物理层的器件要完成逻辑信号与电缆上物理信号的转换,该器件被称为收发器,其外形如图1.1所示。
图1.1 CAN 收发器的引脚与实物图CAN-bus 使用两根线缆进行信号传输,如图1.2所示,这两根线缆的名称分别为CAN_High 和CAN_Low (简称CAN_H 和CAN_L )。
CAN 收发器根据两根线缆之间的电压差来判断总线电平,这种传输方式被称为差分传输。
线缆上传输的电平信号只有两种可能,分别为显性电平和隐性电平,其中显性电平代表逻辑0,隐性电平代表逻辑1。
ISO11898和ISO11519-2电信号数据对比如表1.1所示。
表1.1 ISO11898和ISO11519-2电信号数据对比图1.2 双绞线文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.双绞线(屏蔽/非屏蔽)双绞线(屏蔽/非屏蔽)CAN-bus 采用双绞线连接,并配合差分传输方式,可以有效的抑制共模干扰。
共模干扰是指信号线上的干扰信号的幅度和相位都相同,如图1.3所示。
例如通信电缆被一个电磁脉冲辐射了,根据中学的物理知识我们知道交变的磁场能感应出产生交变的电场,反映在信号电位上就是出现了瞬间的电压跌落或尖峰。
1.5-CAN-bus-物理层
CAN-bus网络
目录
CAN收发器与信号电平 接插件 线与原理 同步与位填充 传输速率与距离
终端电阻
CAN收发器
负责逻辑信号和物理信号之间的转换。
010111 TXD GND Vcc
101000 RXD
S CAN收发器 CANH
CANL Vio
ห้องสมุดไป่ตู้
① 将逻辑信号转换成物理信号。此收发器转换得到 的信号为差分电平信号。
CAN-bus物理层简介
物理层把各种信息转换成物理信号,并将这些信号传输到其它目标设备。
ISO/OSI模型 应用层
由收发器转换 常用收发器:
TJA1050
由电缆传输 常用电缆:
双绞线
逻辑链路子层 媒介访问控制子层 物理信号子层
数据链路层 物理层
物理介质连接 驱动器、收发器 介质相关接口 连接器
对于不同的CAN-bus标准,仅物理层不相同
高速CAN-bus 终端电阻接法
使线路阻抗连续,信号波形完整
小结
ISO/OSI模型 应用层
数据链路层 物理层
CAN-bus规范对物理层的信号电平、信号同步 与位填充、通信速率与距离以及终端电阻等进 行了详细规定,只用符合相同物理层规定的 CAN节点才能互相通信。
CAN-bus网络
时间/t
位填充
发送多个相同位时无跳变沿用 于同步,导致误差不断累计
数据 波形
时间/t
n n+1 0 1 2 3 4 5 6 7 8 9 10 0 1 2 0 1 2 0 1 2 3 4 5 6 7
CAN-bus如何消除这种累计误差?
位填充
在连续5个相同位后插入一个相 反位,产生跳变沿,用于同步
can bus总线工作原理
CAN总线工作原理1. 介绍CAN(Controller Area Network)总线是一种串行通信协议,用于在汽车、工业控制和其他领域的电子设备中传输数据。
它是一种高性能、可靠且实时的通信系统,可以连接多个节点,使它们能够相互通信。
CAN总线的工作原理基于分布式网络的概念,其中每个节点都可以发送和接收消息。
这种分布式的通信架构使得CAN总线非常适合在复杂的系统中进行数据交换。
2. 物理层CAN总线的物理层使用差分信号传输,其中两根导线分别被称为CAN_H和CAN_L。
CAN_H线携带高电平信号,而CAN_L线携带低电平信号。
这种差分信号的设计可以提高抗干扰能力,使得CAN总线能够在噪声环境中可靠地工作。
CAN总线的物理层还定义了传输速率,常见的速率包括1 Mbps、500 kbps、250 kbps和125 kbps等。
较高的速率可以提供更高的数据传输能力,但也会增加传输的误码率。
3. 数据帧格式CAN总线使用数据帧来传输信息。
数据帧由以下几个部分组成:•报文起始位(SOF):用于标识报文的开始。
•标识符(ID):用于唯一标识报文的发送者和接收者。
•控制位(Control):包含一些控制信息,例如数据长度和帧类型。
•数据域(Data):包含实际的数据信息。
•CRC(Cyclic Redundancy Check):用于检测数据传输过程中的错误。
•确认位(ACK):用于确认数据帧是否被成功接收。
•结束位(EOF):用于标识报文的结束。
CAN总线使用基于事件的通信模式,即只有在总线空闲时才能发送数据帧。
当多个节点同时尝试发送数据时,会发生冲突,这种情况称为总线冲突。
为了解决总线冲突,CAN总线采用了一种冲突检测和处理机制,称为非破坏性位定址(Non-Destructive Bitwise Arbitration)。
在非破坏性位定址中,每个节点在发送数据时都会监测总线上的数据信号。
如果发送的数据与总线上的数据不一致,节点会停止发送数据,以避免干扰其他节点的通信。
11第十一章CAN-bus物理层概论
用于传输延时补偿
用于同步
位时间:8~25;同步段:1、传输延时:1~8或更多、缓冲段1:1~8或更多、缓冲段
2:max(Phase_Seg1,位处理时间)同步宽度SJW=1~min(4,Phase_Seg1/tq);单 位:tq
共44页
3
相位误差为正
总线延时段
相位缓冲段
可以变长
可以缩短
相位误差为负
第十一章 CAN-bus物理层
解决的问题:物理信号、介质访问、介质接口和总线介质
11.1 物理信号 11.2 传输介质 11.3 网络拓扑结构 11.4 总线介质访问 11.5 物理层标准 11.6 改善电磁兼容性的措施
共44页
1
11.1 物理信号
一、位表示
CAN协议中的数字编码使用带位填充功能的NRZ编码,位 填充只在CAN数据帧和远程帧中的SOF、仲裁场、控制场、数 据场、CRC序列中使用,发送器每检测到5个连续的相同值序列, 就会在其后插入一个反码位。数据帧和远程帧剩余部分(CRC分 隔符、ACK场和EOF)以及出错帧和超载帧都有一个固定的形式, 不允许填充。
(11 2d)
根据公式11-2d得到的位速率与对应的最大总线长度见表 11-1。对于总线长度>100m的情况,也可以根据下列的经验 公式确定传输线最大长度。
Lmax bitRate 60
(11 3)
共44页
8
11.2 传输介质
表示“隐性”和“显性”信号的能力是CAN总线仲裁方法 的基本先决条件,即所有节点都为“隐性”信号时,总线介质 才处于“隐性”状态,只要有一个节点发送了“显性”信号, 总线就呈现“显性”状态。使用光学介质时,“隐性”信号通 过状态“暗”表示,“显性”信号通过状态“亮”表示。使用 电气介质时,“隐性”信号或用低电平表示,或用高电平表示,
CANBUS协议-物理层及链路层详细分析解析
点。
一个典型的CAN应用于汽车控制的例子如下所示:
CAN的发展历程
CAN 最初出现在80 年代末的汽车工业中,由德国Bosch 公司最 先提出。当时由于消费者对于汽车功能的要求越来越多,而这些功能 的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越 复杂,同时意味着需要更多的连接信号线。提出CAN 总线的最初动机 就是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断 增加的信号线。于是他们设计了一个单一的网络总线,所有的外围器 件可以被挂接在该总线上。1993 年,CAN 已成为国际标准 ISO11898(高速应用)和ISO11519 低速应用。由于CAN总线具有很高的
CAN如何工作(一)
CAN 通讯协议主要描述设备之间的信息传递方式。CAN 层的定义 与开放系统互连模型OSI 一致。每一层与另一设备上相同的那一层通 讯,实际的通讯发生在每一设备上相邻的两层,而设备只通过模型物 理层的物理介质互连,CAN 的规范定义了模型的最下面两层:数据链 路层和物理层。物理层:规定通讯介质的物理特性(如电气特性和信 号交换的解释);数据链路层:规定了在介质上传输的数据位的排列 和组织(如数据校验和帧结构)。
命令交互方式(一)
发一帧回一帧 发一帧回多帧 发多帧回一帧
发多帧回多帧
流控制帧说明
命令交互方式(二)
CAN的链路层描述
CAN2.0A标准帧格式 CAN2.0B扩展帧格式 ISO 15765协议数据格式 命令交互方式
CAN2.0A标准帧格式
7 6 5 4 3 2 1 0
字节1
字节2 字节3 字节4 字节5 字节6 字节7 字节8 字节9
FF
ID.2-ID.0 数据1 数据2 数据3 数据4 数据5 数据6
1.6 CAN-Bus数据链路层
数据段的长度码,占4bit; BCD编码,范围0~8
保留位0和1,各占1bit, 总是用隐性电平填充
数据段
一个数据帧传输的数据量为0~8个字节,这种短帧结构使得CANbus实时性很高,非常适合汽车和工控应用场合。
数据帧 展 帧
ID 11 1 1
ID 18 1 1 1
DLC
与标准帧相同
4
SRR
IDE
RTR
r1
r0
帧起始和帧结束
帧起始和帧结束用于界定一个数据帧,无论是标准数据帧或扩展
数据帧都包含这两个段。
数据帧 结构
帧起始
仲裁段
控制段
数据段
CRC段
ACK段
帧结束
标准帧 或 扩展帧
……
由单个显性位组成。总线空 闲时,发送节点发送帧起始, 其他接收节点同步于该帧起 始位。 由7个连续的隐性位组成。
被动 错误
TEC > 255
总线 关闭
数据帧的收发 都被禁止
目
录
概述
数据帧 远程帧
错误帧 过载帧与帧间隔
小结
过载帧
当某个接收节点没有做好接收下一帧数据的准备时,将发送过载帧
以通知发送节点;过载帧由过载标志和过载帧界定符组成。
过载帧结构:
1
过载标志
1 1 1 1 1
+
1
过载帧界定符
1 1 1 1 1 1 1
5
种类型。 数据帧 远程帧 错误帧 过载帧 帧间隔
用于发送节点向接收节点传送数据,是使用最多的帧类型
用于接收节点向某个发送节点请求数据 用于当某节点检测出错误时向其他节点通知错误的帧 用于接收节点向发送节点通知自身接收能力的帧
CAN总线协议
CAN总线协议协议名称:CAN总线协议一、引言CAN总线协议是一种用于控制器局域网(Controller Area Network)的通信协议,旨在实现不同设备之间的可靠通信。
本协议规定了CAN总线通信的物理层、数据链路层和应用层的相关规范和要求。
二、物理层1. 传输介质:CAN总线协议使用双绞线作为传输介质,可选用不同的传输速率,包括1 Mbps、500 kbps、250 kbps、125 kbps等。
2. 帧格式:CAN总线协议采用非归零码(Non-Return-to-Zero)的差分信号传输方式。
每个CAN帧由起始位、标识符、控制位、数据域、CRC校验码和结束位组成。
3. 线路电平:CAN总线协议定义了两个不同的电平,分别为高电平(H)和低电平(L)。
CAN总线上的节点通过差分电压来解析通信信号。
三、数据链路层1. 帧类型:CAN总线协议定义了四种不同类型的帧,包括数据帧(Data Frame)、远程帧(Remote Frame)、错误帧(Error Frame)和过载帧(Overload Frame)。
2. 帧发送:节点在发送数据帧之前,需要首先发送一个帧开始位(SOF)来同步接收节点。
发送节点在发送完整帧后,等待接收节点的确认帧(ACK)来确认数据的接收情况。
3. 帧接收:接收节点在接收到完整的数据帧后,发送确认帧(ACK)给发送节点。
如果接收到错误帧,接收节点会发送错误帧回应(Error Frame Acknowledge)来通知发送节点。
四、应用层1. 标识符:CAN总线协议中的标识符用于区分不同的消息。
标识符由11位或29位组成,其中11位标识符用于标准帧,29位标识符用于扩展帧。
2. 数据域:CAN总线协议中的数据域可包含0至8字节的数据。
发送节点和接收节点使用相同的标识符来识别数据域中的信息。
3. 远程帧:远程帧用于请求其他节点发送特定标识符的数据帧。
接收节点收到远程帧请求后,会发送相应的数据帧回应。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
字节7
数据4
字节8
数据5
字节9
数据6
字节10
数据7
字节11
数据8
CAN2.0A标准帧为11个字节,包括信息和数据两部分,前3个字节为信息部分。 字节1 :第7位FF表示帧格式(在标准帧中FF=0,在扩展帧中FF=1);第6位RTR 表示帧的 类型(RTR=0表示为数据帧 RTR=1表示为远程帧);DLC 表示在数据帧时实际的数据长度,上图
CAN的主要特性
低成本 极高的总线利用率 很远的数据传输距离(长达10Km) 高速的数据传输速率(高达1Mbit/s) 可根据报文的ID决定接收或屏蔽该报文 可靠的错误处理和检错机制 发送的信息遭到破坏后,可自动重发 节点在错误严重的情况下具有自动退出总线的功能 报文不包含源地址或目标地址,仅用标志符来指示功能、优先级信息
CAN如何工作(二)
CAN 能够使用多种物理介质,例如双绞线、光纤等,最常用的就 是双绞线。信号使用差分电压传送,两条信号线被称为“CAN_H” 和 “CAN_L”, 静态时均是2.5V 左右,此时状态表示为逻辑1 ,也可 以叫做“隐性” 。用CAN_H 比CAN_L 高表示的逻辑0, 称为“显 性”,此时通常电压值为CAN_H =3.5V 和CAN_L = 1.5V 。
命令交互方式(一)
发一帧回一帧 发一帧回多帧 发多帧回一帧 发多帧回多帧 流控制帧说明
命令交互方式(二)
发一帧回一帧:
Tools : 08H FCH 00H 03H 19H 02H FFH 00H 00H 00H 00H ECU : 08H FDH 00H 04H 59H 02H FFH 01H 80H 01H 00H
CAN的链路层描述
CAN2.0A标准帧格式 CAN2.0B扩展帧格式 ISO 15765协议数据格式 命令交互方式
CAN2.0A标准帧格式
7
6
5
4
3
2
10字节1FFRTRx
x
DLC 数据长度
字节2
报文识别码 ID.10-ID.3
字节3
ID.2-ID.0
x
x
x
x
x
字节4
数据1
字节5
数据2
字节6
数据3
中是指从字节4-字节11. 字节2-3 :为报文识别码(过滤ID的高11位) 字节4-11:为数据帧的实际数据,远程帧时无效。
CAN2.0B扩展帧格式
7
6
5
4
3
2
1
0
字节1
FF
RTR
x
x
DLC 数据长度
字节2
报文识别码
ID.28-ID.21
字节3
ID.20-ID.13
字节4
ID.12-ID.5
字节5
CANBUS协议物理层 及链路层详细分析
2012-2-20
目的
本文档的目的是指导我们熟悉CANBUS通讯协议的物理层及链路层,便于我 们更好的开展有关CANBUS的相关工作。
培训内容
什么是CAN CAN的发展历程 CAN的主要特性 CAN如何工作 CAN的物理层描述 CAN的链路层描述
什么是CAN
ID.4-ID.0
x
x
x
字节6
数据1
字节7
数据2
字节8
数据3
字节9
数据4
字节10
数据5
字节11
数据6
字节12
数据7
字节13
数据8
字节1:为帧信息 第7位FF 表示帧格式(在标准帧中FF=0,在扩展帧中FF=1);第6位RTR 表示
帧的类型(RTR=0表示为数据帧 RTR=1表示为远程帧); DLC表示在数据帧时实际的数据长度, 上图中是 指字节6-字节13
一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。 实际应用中,节点数目受网络硬件的电气特性所限制。例如当使用 Philips P82C250 作为CAN 收发器时,同一网络中允许挂接110 个节 点。
一个典型的CAN应用于汽车控制的例子如下所示:
CAN的发展历程
CAN 最初出现在80 年代末的汽车工业中,由德国Bosch 公司最 先提出。当时由于消费者对于汽车功能的要求越来越多,而这些功能 的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越 复杂,同时意味着需要更多的连接信号线。提出CAN 总线的最初动机 就是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断 增加的信号线。于是他们设计了一个单一的网络总线,所有的外围器 件可以被挂接在该总线上。1993 年,CAN 已成为国际标准 ISO11898(高速应用)和ISO11519 低速应用。由于CAN总线具有很高的 实时性能,因此,CAN已经在汽车工业、航空工业、工业控制、安全 防护等领域中得到了广泛应用。
CAN的物理层描述
可分为单线CAN协议和双线CAN协议。单线CAN协议目前主要出现 在GM和OPEL车系里面,1号脚通讯,波特率为33.3K。双线CAN协议常 见的波特率有500K(6/14)、 500K(3/8)、 250K(6/14)、125K(3/11)、 50K(1/9),括号内为通讯脚位。单、双线CAN协议的命令交互格式基 本一致。
CAN如何工作(一)
CAN 通讯协议主要描述设备之间的信息传递方式。CAN 层的定义 与开放系统互连模型OSI 一致。每一层与另一设备上相同的那一层通 讯,实际的通讯发生在每一设备上相邻的两层,而设备只通过模型物 理层的物理介质互连,CAN 的规范定义了模型的最下面两层:数据链 路层和物理层。物理层:规定通讯介质的物理特性(如电气特性和信 号交换的解释);数据链路层:规定了在介质上传输的数据位的排列 和组织(如数据校验和帧结构)。
字节2-5 为报文识别码(过滤ID的高29位) 字节6-13 为数据帧的实际数据,远程帧时无效
ISO 15765协议数据格式(一)
N_AI:地址信息部分 N_PCI:协议控制信息部分 N_Data:数据区
ISO 15765协议数据格式(二)
SF_DL:单帧数据域的字节长度,N_PCI的长度不包括在内 FF_DL:多包数据的数据域字节总长度 SN:多包数据的数据包编号 FS:流控制状态信息 BS:数据块大小(Block Size) STmin:多包数据传输的最小时间间隔
CAN,全称为“Controller Area Network”, 即控制器局域 网,是国际上应用最广泛的现场总线之一。最初,CAN 被设计作为汽 车环境中的微控制器通讯,在车载各电子控制装置ECU 之间交换信 息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、 仪表装备、电子主干系统中,均嵌入CAN 控制装置。