CANBUS协议-物理层及链路层详细分析资料
- 格式:ppt
- 大小:649.50 KB
- 文档页数:22
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协议链路描述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器件之间建立兼容性,为了达到设计的透明度和实施的灵活性,根据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协议的核心,其特性不存在修改的灵活性。
CAN总线(CAN-bus)是一种串行通信总线系统,被广泛应用于汽车和工业自动化领域,CAN总线的物理层定义了总线的位速率、位定时、电气特性、传输介质等。
CAN总线的位速率可以根据实际需要进行设置,常见的有500Kbps和250Kbps等。
CAN总线的位定时决定了通信的可靠性和稳定性,需要满足一定的时序要求。
数据链路层是CAN总线的重要组成部分,包括逻辑链路控制、媒体访问控制和差错控制等子层。
逻辑链路控制子层负责建立和维护通信节点之间的逻辑连接;媒体访问控制子层采用CSMA/CD协议,实现总线访问控制和数据传输;差错控制子层用于检测和处理总线上的错误。
在实际应用中,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总线采用差分信号传输和冲突检测机制,具有抗干扰能力强的特点。
can总线应用层协议实例解析一、简介CAN总线(Controller Area Network)是一种广泛应用于汽车、工业自动化、家庭等领域的现场总线技术。
它是一种串行通信协议,可以在短距离和长距离传输中实现高可靠性的数据传输。
本篇文章将通过一个简单的CAN总线应用层协议实例来解析CAN总线的物理层、数据链路层和应用层。
二、物理层CAN总线的物理层包括传输介质、收发器和信号电平。
其中,传输介质可以是双绞线、同轴电缆等;收发器负责将数字信号转换为模拟信号或反向转换;信号电平采用差分电压进行数据传输,具有抗干扰能力强、传输距离远等优点。
三、数据链路层CAN总线的数据链路层定义了数据传输的规则和机制,包括数据帧、远程帧和错误控制。
数据帧由标识符、数据段和控制段组成,用于传输实际的数据;远程帧用于请求发送数据,但没有数据段;错误控制包括位错误检测和错误帧发送等功能。
四、应用层CAN总线的应用层定义了实际应用中需要的数据格式和协议。
例如,在汽车中,应用层可以定义车辆控制指令、传感器数据等的数据格式和协议。
应用层还提供了应用程序接口,使得用户可以轻松地使用CAN总线进行通信。
五、协议实例下面是一个简单的CAN总线应用层协议实例,用于控制车辆的灯光系统:1. 数据帧格式:每个数据帧包括标识符、控制段和数据段。
在此实例中,标识符表示灯光控制指令,控制段包括指令类型和指令参数,数据段包括指令的具体参数值。
2. 指令类型:指令类型包括打开前大灯、关闭前大灯、打开尾灯等。
每个指令类型都有一个唯一的标识符。
3. 指令参数:指令参数根据指令类型的不同而变化。
例如,打开前大灯的指令参数包括亮度等级和闪烁频率,关闭尾灯的指令参数为空。
4. 数据传输:当车辆的灯光控制系统接收到一个数据帧时,它会根据标识符判断指令类型和参数,然后执行相应的控制操作。
同时,控制系统还可以将传感器数据或其他信息封装成数据帧发送到CAN总线上。
5. 错误控制:如果数据传输过程中出现错误,控制系统会自动发送错误帧,通知其他节点出现错误。
文库资料 ©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所示。
例如通信电缆被一个电磁脉冲辐射了,根据中学的物理知识我们知道交变的磁场能感应出产生交变的电场,反映在信号电位上就是出现了瞬间的电压跌落或尖峰。
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)。
在非破坏性位定址中,每个节点在发送数据时都会监测总线上的数据信号。
如果发送的数据与总线上的数据不一致,节点会停止发送数据,以避免干扰其他节点的通信。
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. 远程帧:远程帧用于请求其他节点发送特定标识符的数据帧。
接收节点收到远程帧请求后,会发送相应的数据帧回应。