CAN报文的传送和帧结构

合集下载

CAN总线结构与帧格式

CAN总线结构与帧格式

状态值 ➢ 收发器 打开 ➢ 数据线路电压
0 V 至 5 V Komfort 舒适总线 约2,5 V Antrieb 驱动总线
CAN总线结构与帧格式
CAN总线系统数据的格式
0-优势
在CAN-数据总线系统中通常连接数个控制单 元。
只有当所有的控制单元发送“1”-Bit,在总 线上的信息逻辑上是“1”。
所不同的是,过载帧与错误帧之前没有帧间空间,多个过载 帧之间也不是由帧间空间隔离的。
CAN总线结构与帧格式
技术数据说明:
最大安全传输速率:1 Mbps = 1 Megabit per sec. = 1 000 000 bits per sec.
ISO标准:高速/低速分界点 125000bps
一个完整的信息传递平均周期:大约1ms(根据信息长度)
数据总线-线路
如果一个控制单元发送一个低位的字节并认出一 个高位的字节, 将停止发送并开始接收。
自动变速器控制 单元失败
CAN总线结构与帧格式
低位 高位
发动机控制单元 失败
CAN总线信号电压
CAN总线上是差分信号,一个差分信号是用一个数值 来表示两个物理量之间的差异。 0—显性—CANH对地3.5V,CANL 1.5V 1—隐性—CANH对地2.5V,CANL 2.5V
CAN总线结构与帧格式
CAN Bus 数据总线优点
与其他数据传输方式相比,CAN数据总线有如下优点:
➢ 数据传输时的高安全性及可靠性 ➢有利于降低成本 ➢ 数据传输速度较快( max. 1Mbps ),而且信息交换实时进行 ➢ 能以单线模式工作(出于安全因素,正常情况下双线同时工作) ➢ 国际标准化的数据传输协议利于实现在各车型上的统一ISO11898

can报文多帧中的som

can报文多帧中的som

can报文多帧中的som(最新版)目录1.概述2.Can 报文的基本概念3.Can 报文多帧的结构4.SOM 在 Can 报文多帧中的应用5.总结正文1.概述CAN(控制器局域网)是一种常用于车辆和工业控制领域的通信协议。

CAN 协议的主要特点是多主控制器、高噪声环境下的抗干扰能力和实时性。

在 CAN 通信中,数据传输采用多帧结构,即一个数据帧由多个帧组成。

本文将介绍 CAN 报文多帧中的 SOM(Start of Message)的概念及其应用。

2.Can 报文的基本概念CAN 报文由多个帧组成,分别是:起始符(Start of Frame, SOF)、仲裁字段(Arbitration Field, AF)、控制字段(Control Field, CF)、数据字段(Data Field, DF)和 CRC 字段(Cyclic Redundancy Check Field, CRC)。

其中,SOF 是 CAN 报文的起始符,标志着一个新的数据帧的开始。

3.Can 报文多帧的结构CAN 报文多帧是指在一个数据帧内,传输多个帧的数据。

这种方式可以提高数据传输的效率,降低通信的复杂度。

在 CAN 报文多帧中,每个帧之间都包含有 SOM,用于指示该帧数据的开始。

SOM 由一个特殊的同步段和一个标识符组成,用于同步接收端和标识帧的数据长度。

4.SOM 在 Can 报文多帧中的应用SOM 在 CAN 报文多帧中的应用主要体现在以下几个方面:(1)帧同步:SOM 作为 CAN 报文的起始符,可以实现接收端与发送端的帧同步,确保接收端能够正确识别数据帧的开始。

(2)帧长度指示:SOM 中的标识符用于指示该帧数据的长度,接收端根据标识符可以知道该帧数据帧的长度,从而正确解析数据。

(3)错误检测:SOM 可以帮助接收端检测数据帧的完整性和正确性。

如果接收端在接收过程中发现 SOM 的同步段或标识符有误,可以判断该帧数据存在错误。

CAN总线过载帧及数据帧详解

CAN总线过载帧及数据帧详解

CAN 总线过载帧及数据帧详解CAN:Controller Area Network,控制器局域网是一种能有效支持分布式控制和实时控制的串行通讯网络。

本文首先介绍了CAN 总线系统结构及数据传输,其次详细的阐述了CAN 总线过载帧及数据帧,具体的跟随小编一起来了解一下吧。

CAN 总线系统结构1、CAN 控制器接收控制单元中微处理器发出的数据,处理数据并传给CAN 收发器2、CAN 收发器将数据传到总线or 从总线接收数据给控制器3、CAN 数据传递终端避免数据传输终了反射回来4、CAN 数据总线传输数据的数据线,两根CAN-high and CAN-low,差分信号CAN 总线系统的数据传输CAN 总线节点上的节点发送数据是以报文的形式广播给网络中所有节点。

收发器接收到数据就把数据传送给控制器,再由控制器检查判断是不是所需数据。

不是则忽略。

1、网络上任何一个节点在任何时候都可以发送数据2、多个节点发送数据,优先级低主动退出发送3、短帧结构,每帧数据信息为0~8 字节(具体用户定义),对数据编码而不是地址编码4、CAN 每帧都有CRC 校验和其他检验措施,严重错误的情况下具有自动关闭输出的功能CAN 总线系统数据格式CAN-bus 通信帧共分为数据帧、远程帧、错误帧、过载帧和帧间隔五种类型,我们详细的来介绍CAN 总线过载帧及数据帧。

一、数据帧结构上由7 个段组成,其中根据仲裁段ID 码长度的不同,分为标准帧(CAN2.0A)和扩展帧(CAN2.0B)。

帧起始、帧结束仲裁段显性隐性总线仲裁从该分析过程得出结论是:帧ID 值越小,优先级越高对于同为扩展格式数据帧、标准格式远程帧和扩展格式远程帧的情况同理。

控制段数据段CRC 段ACK 段二、过载帧。

CAN的工作原理

CAN的工作原理

CAN的工作原理CAN(Controller Area Network)是一种广泛应用于汽车电子系统中的通信协议。

它的工作原理基于串行通信,通过在多个节点之间传输数据来实现高效的通信。

本文将详细介绍CAN的工作原理。

一、引言概述CAN是一种高度可靠的通信协议,广泛应用于汽车电子系统中。

它具有高速传输、抗干扰能力强等特点,为汽车电子系统的稳定运行提供了重要的支持。

下面将从数据传输、帧结构、错误检测和纠正、总线访问和网络管理五个方面详细介绍CAN的工作原理。

二、数据传输1.1 传输速率:CAN协议支持多种传输速率,常见的有1Mbps、500kbps和250kbps等。

传输速率的选择取决于系统的需求和总线长度。

1.2 传输方式:CAN使用差分信号进行数据传输,通过CAN控制器将数字信号转换为差分信号,并在接收端将差分信号还原为数字信号。

1.3 传输距离:CAN总线的传输距离通常受到总线长度和传输速率的限制。

为了保证信号的质量,需要合理设计总线的布局和使用合适的终端电阻。

三、帧结构2.1 帧类型:CAN帧分为数据帧和远程帧两种类型。

数据帧用于传输数据,远程帧用于请求数据。

2.2 帧格式:CAN帧由起始位、标识符、控制位、数据域和校验位组成。

起始位用于同步传输,标识符用于区分不同的CAN帧,控制位用于指示帧的类型和长度,数据域用于存储传输的数据,校验位用于检测传输过程中的错误。

2.3 帧优先级:CAN帧的优先级由标识符的位值决定,位值越小的帧优先级越高。

通过帧优先级的设置,可以实现对不同类型数据的优先传输。

四、错误检测和纠正3.1 位错误检测:CAN使用CRC(循环冗余校验)算法对数据进行校验,以检测位错误。

如果接收到的CRC校验值与发送方计算的校验值不一致,则认为数据传输存在错误。

3.2 错误标志位:CAN控制器会在浮现错误时设置错误标志位,通过读取错误标志位可以判断总线的错误情况,如位错误、帧错误和CRC错误等。

can总线的传输原理

can总线的传输原理

can总线的传输原理
CAN总线是一种高效、可靠的通信协议,广泛应用于汽车、工业控制等领域。

它的传输原理是基于一种双线串行通信方式,即CAN总线采用两根线进行数据传输,分别称为CAN_H和CAN_L线。

CAN总线的传输原理主要包括以下几个方面:
1.差分传输
CAN总线采用差分传输方式,即在CAN_H和CAN_L两根线上同时传送相反的电压信号。

这种方式可以有效地抵消外界干扰和噪声,提高数据传输的可靠性。

2.帧结构
CAN总线的数据传输是以帧为单位进行的。

每个帧由一个起始位、一个标识符、一个控制位、若干个数据位和一些附加信息组成。

其中标识符用于区分不同类型的消息,控制位则用于指示该帧是数据帧还是远程帧。

3.仲裁机制
当多个节点同时发送消息时,会产生冲突。

为了解决这个问题,CAN
总线采用了仲裁机制。

在数据帧中,标识符越低的节点具有更高的优
先级。

当多个节点同时发送消息时,会根据标识符进行比较,并自动
选择优先级最高的节点发送消息。

4.错误检测
CAN总线还具有强大的错误检测和纠正能力。

每个节点都会监测总线上的信号,并在发现错误时自动进行纠正。

如果一个节点发现了错误,它会向其他节点发送错误信息,并尝试重新发送数据。

总之,CAN总线是一种高效、可靠的通信协议,其传输原理包括差分传输、帧结构、仲裁机制和错误检测等方面。

这些特点使得CAN总线在汽车、工业控制等领域得到广泛应用。

can中连续帧发送算法

can中连续帧发送算法

can中连续帧发送算法CAN(控制器局域网)总线是一种用于实时控制的串行通信协议。

在CAN总线上,发送数据时可以采用多帧传输,即连续帧数据发送。

这种发送方式可以在保证通信效率的同时,确保数据的完整传输。

以下是CAN中连续帧发送算法的基本原理:1. 帧结构:CAN总线上的帧分为标准帧和扩展帧两种。

标准帧包含29位,扩展帧包含51位。

其中,标识符(ID)是区分不同帧的关键字段。

具有相同ID的帧属于同一消息。

2. 多帧发送:当数据超过8个字节时,可以通过多帧发送的方式进行传输。

多帧发送的帧数由控制字决定。

例如,控制字为11时,表示可以发送2个数据包。

3. 控制字:控制字用于指示帧的类型和传输数据的长度。

控制字的第2位表示帧的类型,第3位表示数据包个数。

例如,控制字为10时,表示请求发送数据;控制字为11时,表示响应发送请求;控制字为13时,表示消息结束。

4. 数据解析:在接收到连续帧时,需要根据ID、控制字和数据字节等信息进行解析。

首先判断帧的类型和数据包个数,然后根据数据包顺序解析数据。

例如,对于一个包含2个数据包的连续帧,需要依次解析这两个数据包。

5. 重装:在接收到连续帧后,需要将各个帧的数据重新组装成原始的数据结构。

这通常包括将数据字节重新组合成完整的数据包,以及将多个数据包组合成原始的消息。

综上所述,CAN总线中的连续帧发送算法主要包括帧结构设计、多帧发送、控制字设置、数据解析和重装等步骤。

通过这种算法,可以在保证通信效率的同时,实现数据的可靠传输。

在实际应用中,可以根据具体需求调整帧结构和控制字,以满足不同场景下的通信要求。

CAN总线帧结构

CAN总线帧结构
发送一个认可错误标志。 认可错误标志包含6个连续的隐性位。
2. 错误界定符 错误界定符由8个隐性位构成。错误标志发送后,每个站都送出1
个隐性位,并监视总线,直到检测到1个隐性位为止,然后开始发送剩 余的7个隐性位。
四、超载帧
超载帧包括两个位场:超载标志和超载界定符,超载帧的产生可能有以 下三种原因:
1、间歇场:由3个隐性位组成,间歇期间,不允许启动发送数据帧或 远程帧,它仅起标注超载条件的作用。
2、总线空闲:总线空闲场周期可为任意长度,此时总线是开放的,因 此任何需要发送的站均可访问总线。
3、暂停发送场是指:错误认可站发送完一个报文后,在下一次报文发 送认可总线空闲之前,它紧随间歇场后送出的8个隐性位(延迟传送)。
型的出错标志,取决于其所处的错误状态。 (1)激活错误标志
当节点处于错误激活状态时,检测到一个总线错误时,这个节点将 产生一个激活错误标志,中断当前的报文发送。
激活错误标志由6个连续的显性位构成。错误标志叠加序列的总长度 最小为6位,最大为12位。
三、出错帧
(2)认可错误标志 当节点处于错误认可状态时,检测到一个总线错误时,该节点将
一、数据帧
2、仲裁场
SRR的全称是“替代远程请求ቤተ መጻሕፍቲ ባይዱ(Substitute Remote Request BIT)”, SRR是一隐性位。它在扩展格式的标准帧RTR位上被发送,并代替标准帧的RTR 位。因此,如果扩展帧的基本ID和标准帧的识别符相同,标准帧与扩展帧的冲突 是通过标准帧优先于扩展帧这一途径得以解决的。
对于CAN技术规范2.0B,标准格式和扩展格式的仲裁场不同,在标准格式中,11位 标识符和远程发送请求位RTR组成,标识符位为ID.28--ID.18。

can工作原理

can工作原理

can工作原理
CAN(Controller Area Network)是一种串行通信总线技术,
用于在汽车等领域的电子控制单元(ECU)之间进行通信。

CAN的工作原理如下:
1. 帧结构:CAN通信使用帧(Frame)结构进行数据传输。

每帧包含了标识符(Identifier)、控制位(Control Bits)、数据
域(Data Field)和帧校验序列(CRC)等部分。

2. 总线拓扑结构:CAN通信中存在一个主控节点和多个从节点。

主控节点负责控制总线上的数据传输,在传输过程中,拥有较高的优先级。

从节点则被动地接收和发送数据。

3. 数据传输:CAN通信采用的是非归零编码和差分传输机制。

在数据传输时,通过将数据和时钟信号进行异或运算,减小了传输的干扰和误差。

4. 简化通信:CAN具有较高的抗干扰能力,能在恶劣环境下
稳定工作。

它采用了帧优先级和冲突检测机制,可以方便地实现多个节点的同时通信。

5. 错误检测与容错:CAN使用CRC机制对传输的数据进行检错,确保数据的准确性。

同时,CAN还具备故障检测、错误
帧重传等功能,保证了通信的可靠性。

6. 通信速率:CAN通信可以根据需要进行不同的波特率设置,典型速率包括125kbps、250kbps、500kbps和1Mbps。

这使得
CAN系统可以适应不同的应用需求。

总的来说,CAN的工作原理基于帧结构、总线拓扑结构和数据传输机制。

它提供了高效、可靠且灵活的通信方式,因此被广泛应用于汽车等领域的电子控制系统中。

CAN总线协议的报文帧结构形式

CAN总线协议的报文帧结构形式

CAN总线协议的报文帧结构形式在报文传输时,不同的帧具有不同的传输结构,下面将分别介绍四种传输帧的结构,只有严格按照该结构进行帧的传输,才能被节点正确接收和发送。

(1)数据帧:由七种不同的位域(Bit Field)组成:帧起始(Start of )、仲裁域(Arbitration Field)、控制域(Control Field)、数据域(DataField)、CRC域(CRC Field)、应答域(ACK Field)和帧结尾(End of )。

数据域的长度可以为0~8个字节。

1)帧起始(SOF):帧起始(SOF)标志着数据帧和远程帧的起始,仅由一个“显性”位组成。

在CAN的同步规则中,当总线空闲时(处于隐性状态),才允许站点开始发送(信号)。

所有的站点必须同步于首先开始发送报文的站点的帧起始前沿(该方式称为“硬同步”)。

2)仲裁域:仲裁域由标识符和RTR位组成,标准帧格式与扩展帧格式的仲裁域格式不同。

标准格式里,仲裁域由11位标识符和RTR位组成。

标识符位 有ID28~IDl8。

扩展帧格式里,仲裁域包括29位标识符、SRR位、IDE位、RTR 位。

其标识符有ID28~ID0。

为了区别标准帧格式和扩展帧格式,CAN l.0~1.2版本协议的保留位 r1现表示为IDE位。

IDE位为显性,表示数据帧为标准格式;IDE位为隐性,表示数据帧为扩展帧格式。

在扩展帧中,替代远程请求 (Substitute Remote Request,SRR)位为隐性。

仲裁域传输顺序为从最高位到最低位,其中最高7位不能全为零。

RTR的全称为“远程发送请求(Remote TransmissionRequest)”。

RTR位在数据帧里必须为“显性”,而在远程帧里必须为“隐性”。

它是区别数据帧和远程帧的标志。

3)控制域:控制域由6位组成,包括2个保留位(r0、r1同于CAN总线协议扩展)及4位数据长度码,允许的数据长度值为0~8字节。

CAN报文的传送及帧结构

CAN报文的传送及帧结构

CAN 报文的传递和帧构造在进行数据传递时,发出报文的节点为该报文的发送器。

该节点在总线安闲或丢掉仲裁前恒为发送器,假如一个节点不是报文发送器,并且总线不处于安闲状态,则该节点为接收器。

构成一帧的帧开端、仲裁场、控制场、数据场和CRC 序列均借助位填补规则进行编码。

当发送器在发送的位流中检测到5位连续的相同数值时,将自动在实质发送的位流中插入一个补码位。

而数据帧和远程帧的其余位场则采纳固定格式,不进行填补,犯错帧和超载帧相同是固定格式。

报文中的位流是依据非归零( NZR)码方法编码的,所以一个完好的位电平要么是显性,要么是隐性。

在“隐性”状态下,C AN总线输出差分电压Vdiff=Vcanh-Vcanl 近似为零,在“显性”状态下,以大于最小阈值的差分电压表示,以下图。

在总线安闲或“隐性”位时期,发送“隐性”状态。

在“显性”位时期,“隐性”状态改写为“显性”状态。

CAN 有两种不一样的帧格式,不一样之处为辨别符场的长度不一样:拥有11位辨别符的帧称之为标准帧;而含有29位辨别符的帧为扩展帧。

CAN报文有以下 4个不一样的帧种类:数据帧:数据帧将数据从发送器传输到接收器。

远程帧:总线节点发出远程帧,恳求发送拥有同一辨别符的数据帧。

错误帧:任何节点检测到总线错误就发犯错误帧。

过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间供给一附带的延时。

数据帧和远程帧能够使用标准帧及扩展帧两种格式。

它们用一个帧间空间与前面的帧分隔。

1.数据帧数据帧由 7个不一样的位场构成:帧开端( Start of Frame )、仲裁场(Arbitration Frame )、控制场(Control Frame )、数据场( Data Frame )、 CRC场( CRC Frame)、应答场( ACK Frame)、帧结尾( End of Frame)。

数据场的长度为 0到 8位。

报文的数据帧一般构造以下图。

在中存在两种不一样的帧格式,其主要差异在表记符的长度,在标准帧格式里,仲裁场由11位辨别符和远程恳求位(RTR)构成。

CAN基础知识

CAN基础知识

CAN基础知识CAN总线是一种数据通信协议,也叫做控制区域网络,它最早被用于汽车领域中的电子控制单元之间的通信。

CAN总线是一种串行通信协议,它具有高可靠性、实时性和高效性等优势。

在现代工业自动化、机器人、航空、航天、军事、医疗和智能家居等领域也有广泛应用。

CAN总线协议的特点:1. 帧结构:CAN总线采用的是分布式控制器结构,总线上的每个设备都可以发送和接收数据。

数据以帧为单位进行传输,一帧数据包括控制信息(例如优先级、长度、发送和接收地址等)和实际数据内容。

帧的结构简单、信息量丰富。

2. 速率:CAN总线的数据传输速率可以达到1Mbps,对于实时性要求高的应用具有很大的优势。

3. 冲突检测:CAN总线采用一种称之为“非破坏性位多投票”机制来解决冲突问题。

当总线上有两个或以上的设备同时发送数据时,位值不同的设备会获得主控权,而位值相同的设备需要继续发送,直到识别出哪个设备获得主控权。

4. 失败机制:当CAN总线上的某个节点出现故障或断开连接时,系统可以及时识别并且调整其它设备的优先级,保证整个系统的可靠性。

5. 远程帧:CAN总线还提供了远程帧的功能,允许设备主动请求数据或汇报错误,从而保障系统的高效性和可控性。

6. 兼容性:CAN总线的协议是开放标准,任何一个符合协议规范的设备可以接入总线,这样就可以保证系统的兼容性和扩展性。

目前,CAN总线的三个主要版本是CAN 2.0A、CAN 2.0B和CAN FD。

CAN 2.0A和2.0B是较早的版本,最大区别在于帧ID的长度和规定。

CAN FD(FlexRay数据链路)是一种新的高速CAN总线协议,可以提供更高的数据传输速率和更大的数据传输容量。

在汽车领域中,CAN总线已成为电子控制单元之间通信的标准协议,包括发动机控制模块(ECM)、变速器控制模块(TCM)、刹车系统、空调系统和仪表盘等。

此外,CAN总线还广泛用于工业自动化领域中的控制系统,如PLC、机器人控制系统、工业网络等。

转:CAN总线之CAN的报文格式

转:CAN总线之CAN的报文格式

转:CAN总线之CAN的报⽂格式⼀、帧CAN协议的报⽂传输主要由下⾯的4种帧来实现:数据帧:从发送端携带数据到接收端。

远程帧:总线单元发出远程帧,请求发送具有同⼀识别符的数据帧。

错误帧:任何单元检测到⼀总线错误就发出错误帧。

过载帧:过载帧⽤以在先⾏的和后续的数据帧(或远程帧)之间提供⼀附加的延时。

同时帧间空间⽤来间隔数据帧/远程帧与其他帧。

1.数据帧⼀个完整的数据帧有7部分组成,依次为帧起始(SOF)、仲裁场(Arbitration Field)、控制场(Control Field)、数据场(Data Field)、CRC场、应答场(ACK Field)、帧结尾(EOF)。

帧起始是数据帧和远程帧开始的标志,它是⼀个显性位。

⼀个CAN节点只有在总线处于空闲状态时才可以发送帧起始。

仲裁场在帧起始之后,控制场之前,共12位(注:协议的讲解以CAN2.0A为基础[3],CAN2.0B版本的仲裁场为32位[4])分为两部分11位的标识符和1位的远程发送请求位(RTR)。

在数据帧中RTR为显性,在远程帧中RTR为隐性。

所以如果相同标识符的数据帧与远程帧发⽣冲突,数据帧优先。

仲裁场之后便是控制场。

控制场的头两位为保留位,为隐性。

后⾯是数据长度代码(DataLengthCode)。

数据长度代码指⽰了数据场中字节的个数。

数据长度的⼤⼩在DLC的表⽰。

DLC最⼤为8。

对于超出8的情况,各⼚家有不同的实现。

有的实现忽略“越界”DLC,传输8 bytes的数据和“错误”的DLC。

有的传输8 bytes的数据并改DLC 为8。

有的直接不传输任何东西。

数据场在控制场之后,传输数据的长度由DLC决定。

如果DLC为0,则没有数据场。

数据场中⾼位先传输。

CRC场在控制场和数据场之后,由CRC序列和界定符组成。

CRC序列是帧起始,仲裁场,控制场和数据场组成的位流的CRC校验值。

其中CRC校验的⽣成多项式为X15+ X 14+ X10+ X8+ X7+ X4+ X3+ 1。

CAN交流分享1--标准与帧结构

CAN交流分享1--标准与帧结构

1.什么是CAN总线?CAN的英文翻译是Controller Area Network,中文含义是控制器局域网,最早由德国汽车电子公司博世开发,并以此形成国际标准,是一种能够实现分布式实时控制的串行通信网络。

CAN总线采用的是抗干扰能力强的双绞线,一根线为CAN_H,另外一根为CAN_L。

CAN 控制器通过一个收发器连接到总线上,总线的电平由CAN_H和CAN_L的电位差来确定,总线有显性和隐性2个电平,在任一给定的时间内,总线总是处于这2个电平之一。

2. CAN总线有哪些标准?针对物理层及链路层等底层协议的标准:IOS11898,CAN2.0针对应用层及故障诊断规范协议的标准:SAE J1939,ISO14229,ISO15765针对应用层,在遵循国际标准的前提下,各汽车公司有相应的自定义协议。

3. CAN报文格式3.1 CAN总线帧结构CAN协议报文传输过程:数据帧、远程帧、错误帧、过载帧和帧间隔。

数据帧:用于发送节点向接收节点传送数据的帧。

数据帧主要包括如下七个部分:帧起始,仲裁场,控制场,数据场,CRC场,ACK场,帧结束。

帧内容的详细解析,如图1所示。

(1)帧起始:表示数据帧开始。

(2)仲裁场:表示帧优先级,由标识符(ID)和远程传输请求位(RTR)组成。

RTR说明是数据帧还是请求帧,请求帧没有数据字节。

(3)控制场:表示数据的字节数及保留位,由IDE、R0、DLC组成。

标识符扩展位(IDE),说明是标准帧还是扩展帧。

R0保留位(用于将来扩展)。

DLC用来说明数据长度。

(4)数据场:显示数据内容,一个帧数据可最多可以发送8个字节Byte,1个字节有8个位Bite。

如图2所示,这部分也是我们平时最关注的内容。

(5)CRC场:检查帧的传输错误。

(6)ACK场:确认可以正常接收,包括应答位和应答分隔符。

(7)帧结束:表示数据帧结束。

图1a canscope中的帧解析(中间绿色部分为8个字节的DATA)图1b canscope中的帧解析图1c canscope中的帧解析图2a帧数据图2b 帧数据(解析:40为第1字节,此字节的第6位为1)字节Byte从小到大位Bite从大到小。

can报文多帧中的som

can报文多帧中的som

can报文多帧中的som(实用版)目录1.概述2.Can 报文的基本概念3.Can 报文的多帧结构4.som 在 Can 报文中的应用5.总结正文1.概述CAN(控制器局域网) 是一种常用于车辆和工业控制系统中的通信协议。

CAN 协议的主要特点是多主控制器,高可靠性和实时性。

在 CAN 协议中,数据是通过报文进行传输的,而一个报文可以包含多个帧,这些帧可以包含不同的信息。

2.Can 报文的基本概念CAN 报文是由多个帧组成的,每个帧都包含不同的信息。

CAN 报文中最常见的帧是数据帧和遥控帧。

数据帧用于传输数据,而遥控帧用于控制设备。

CAN 报文的第一个帧是起始帧,它标志着报文的开始。

接下来的帧包括仲裁帧、数据帧或遥控帧、CRC 帧和应答帧,它们依次组成了 CAN 报文的主要部分。

3.Can 报文的多帧结构CAN 报文的多帧结构是其最显著的特点之一。

这种结构使得 CAN 协议可以支持多个设备之间的通信,同时还保证了数据的可靠性和实时性。

在 CAN 报文中,每个设备都可以发送数据,但是在发送数据之前,设备需要进行仲裁,以确保只有一个设备可以在同一时刻发送数据。

这种仲裁机制可以防止数据冲突和丢失,从而保证了 CAN 协议的高可靠性。

4.som 在 Can 报文中的应用SOM(System on Module) 是一种嵌入式系统设计方法,它将整个系统的功能集成到一个模块中。

SOM 可以在 CAN 报文中应用,以实现对嵌入式系统的控制和管理。

通过在 SOM 中集成 CAN 控制器,可以实现对 CAN 网络的监控和管理,从而提高嵌入式系统的可靠性和实时性。

5.总结CAN 报文的多帧结构是其高可靠性和实时性的基础,这种结构可以支持多个设备之间的通信,同时还可以保证数据的可靠性和实时性。

汽车can 报文格式解析

汽车can 报文格式解析

汽车can 报文格式解析CAN(Controller Area Network)是一种常用于车辆领域的通信协议。

CAN总线上的数据传输使用CAN报文进行。

CAN报文由以下几个部分组成:1. 帧类型(Frame Type):CAN报文一共有4种帧类型,分别是数据帧(Data Frame)、远程帧(Remote Frame)、错误帧(Error Frame)和过载帧(Overload Frame)。

2. 帧格式(Frame Format):CAN报文一共有两种帧格式,分别是标准帧(Standard Frame)和扩展帧(Extended Frame)。

标准帧由11位标识符组成,扩展帧由29位标识符组成。

3. 标识符(Identifier):标识符用于唯一标识CAN报文的发送者或接收者。

在标准帧中,标识符由11位组成,其定义了报文的优先级和内容。

在扩展帧中,标识符由29位组成,可以提供更多的信息。

4. 控制位(Control Bits):控制位用于控制CAN报文的传输和处理过程。

其中包括Start of Frame(SOF)位、远程帧请求位(RTR)和相关的错误检测和校验位等。

5. 数据域(Data Field):数据域用于携带CAN报文的数据内容。

在数据域中,可以包含0到8个字节的数据。

6. CRC(Cyclic Redundancy Check):CRC用于检测CAN报文中是否存在错误。

CRC位由发送节点根据报文内容计算得出,并随报文一起发送。

7. 结束位(End of Frame):结束位用于标识CAN报文的结束。

通过解析CAN报文的各个部分,可以获取报文的类型、地址、数据内容等信息,进而进行相应的处理和响应。

can 报文解析

can 报文解析

can 报文解析CAN报文解析CAN(Controller Area Network)是一种广泛应用于汽车和工业控制系统的串行通信协议。

CAN总线上的通信采用CAN报文进行,CAN报文是指在CAN总线上传输的数据包。

CAN报文的结构如下:1. 帧起始位(SOF):用于表示报文的开始,为一个低电平信号。

2. 报文标识符(ID):占据11位或29位,用于区分不同的报文。

3. 控制位(CTL):位于ID后面的两位,用于指示报文的类型。

4. 数据长度码(DLC):占据4位,用于指示数据段的长度。

5. 数据段(Data):占据0-8字节,用于携带数据信息。

6. 校验位(CRC):占据15位或17位,用于校验报文的准确性。

7. 报文结束位(ACK):用于表示正常接收到报文,为高电平信号。

CAN报文解析的过程主要包括以下几个步骤:1. 解析帧起始位:通过检测CAN总线上的电平变化来确定帧起始位的位置,确保准确解析报文。

2. 解析报文标识符:根据报文标识符的位数和大小,将其转换为对应的十进制或十六进制数值,用于区分不同的报文。

3. 解析控制位:根据控制位的数值,确定报文的类型,包括数据帧、远程帧和错误帧。

4. 解析数据长度码和数据段:根据数据长度码确定数据段的长度,然后解析数据段中的每个字节,获取报文携带的数据信息。

5. 解析校验位:根据校验位的位数和类型,计算出校验值,并与报文中的校验位进行比对,确保报文的准确性。

6. 解析报文结束位:通过检测CAN总线上的电平变化来确定报文结束位的位置,用于确认报文的接收状态。

解析CAN报文的目的是获取报文中携带的数据信息,并进行相关的数据处理。

在汽车领域,CAN报文常用于车辆的诊断和控制。

例如,车辆的引擎控制单元(ECU)会定期发送包含车辆信息的CAN报文,而诊断仪器则可以解析这些报文,获取车辆的工作状态和故障信息。

此外,CAN报文的解析还可以用于工业控制领域的通信系统。

can报文的组成

can报文的组成

CAN报文的组成1. 引言CAN(Controller Area Network)是一种高可靠性、实时性强的串行通信协议,广泛应用于汽车、工业控制和航空航天等领域。

CAN报文是CAN总线上进行数据传输的基本单位,它由多个字段组成,每个字段都有特定的功能和格式。

本文将详细介绍CAN报文的组成,并对各个字段进行解析和说明。

2. CAN报文格式CAN报文由以下几个字段组成:帧起始位(SOF)、标识符(ID)、远程传输请求位(RTR)、数据长度码(DLC)、数据域(Data Field)、CRC(循环冗余校验码)和帧结束位(EOF)。

下面将对每个字段进行详细介绍。

2.1 帧起始位(SOF)帧起始位是一个固定为“0”的位,用于标识一个CAN报文的开始。

2.2 标识符(ID)标识符是CAN报文中用于区分不同消息的唯一标识。

它由11位或29位构成,分别称为标准帧和扩展帧。

标准帧的ID长度为11位,扩展帧的ID长度为29位。

ID 中包含了消息的优先级、发送节点以及消息类型等信息。

2.3 远程传输请求位(RTR)远程传输请求位用于区分数据帧和远程帧。

当RTR为0时,表示数据帧;当RTR为1时,表示远程帧。

数据帧用于实际的数据传输,而远程帧用于请求其他节点发送数据。

2.4 数据长度码(DLC)数据长度码指示了CAN报文中数据域的长度。

它由4位构成,可以表示0到8个字节的数据。

2.5 数据域(Data Field)数据域是CAN报文中实际携带的数据。

它的长度由DLC字段决定,可以包含0到8个字节的数据。

每个字节都由8位二进制数表示。

2.6 CRC(循环冗余校验码)CRC是用于检测CAN报文传输过程中是否发生错误的校验码。

它由15位或17位构成,分别称为CRC-15和CRC-17。

发送节点在发送报文时计算CRC,并将其添加到报文中。

接收节点在接收报文时也会进行CRC计算,并将计算结果与接收到的CRC 进行比较,以判断是否有错误发生。

can数据传递的构成

can数据传递的构成

CAN(Controller Area Network)数据传递的构成涉及多个方面,以确保在车辆或其他应用中可靠、高效地传输信息。

CAN协议被广泛用于汽车和工业自动化等领域,因其稳定性和灵活性而受到青睐。

以下是CAN数据传递的主要构成部分:报文(Message):CAN通信的基本单位是报文,由发送节点广播到总线上。

每个报文包含标识符(ID)和最多8个字节的数据。

标识符决定了报文的优先级和接收节点。

帧结构(Frame Structure):CAN的帧结构包括数据帧和远程帧。

数据帧用于传输数据,由帧起始、仲裁场、控制场、数据场、CRC场、ACK场和帧结束组成。

远程帧用于请求数据,其结构较为简单,没有数据场。

仲裁(Arbitration):当多个节点同时发送报文时,CAN通过仲裁机制确保高优先级报文优先传输。

节点在发送时同时监听总线,通过比较标识符的位值进行仲裁。

低优先级节点在检测到冲突时会主动退让。

错误检测与处理(Error Detection and Handling):CAN协议采用CRC校验和ACK场进行错误检测。

接收节点会在ACK场发送应答以表示成功接收。

若发送节点未收到应答或检测到CRC错误,会进行重传。

位定时与同步(Bit Timing and Synchronization):CAN协议通过位定时确保所有节点以相同的速率发送和接收数据。

节点根据总线上的位流进行同步,以确保正确解码报文。

过滤器与接收(Filtering and Reception):节点通过配置过滤器来选择性地接收报文。

过滤器根据报文的标识符判断是否接收该报文,从而减轻处理器的负担。

总线状态与故障处理(Bus States and Fault Handling):CAN总线有三种状态:主动错误状态、被动错误状态和总线关闭状态。

节点会根据其通信状况在这三种状态之间切换。

当检测到严重通信故障时,节点会进入总线关闭状态,以保护总线免受进一步损坏。

CAN报文格式

CAN报文格式

CAN报⽂格式CAN协议的报⽂传输过程中有:数据帧、远程帧、错误帧、过载帧和帧间隔。

1.数据帧:⽤于发送节点向接收节点传送数据的帧。

2.远程帧:⽤于接收节点向具有相同ID的发送节点传送数据的帧。

3.错误帧:⽤于当检测出错误时向其他节点通知错误的帧。

4.过载帧:⽤于接收节点通知其尚未做好准备的帧。

5.帧间隔:⽤于将数据帧及远程帧与前⾯的帧分隔开来。

标准帧和扩展帧:数据帧和远程帧都可以使⽤标准帧格式或者扩展帧格式RTR:远程发送请求位,数据帧为显性,远程帧为隐性。

SRR:代替远程请求位(在扩展格式中在RTR位置,所以得此名),该位为隐性位。

在这个地⽅占个位以保持标准帧和扩展帧IDE对齐,便可以判断标准帧优先于扩展帧。

IDE:标识符扩展位,标准帧为显性,扩展帧为隐性。

R0、R1:保留位。

DLC:数据长度位。

CRC:校验位。

CRC分隔符:隐性位ACK:应答位和应答界定位。

在应答域中,发送器发出两个隐性位。

接收器接收到报⽂后,在应答位期间,⽤显性位填充应答位作为回应,应答界定则为保持隐性。

帧结束:由7个隐性位组成。

数据帧:SOF帧起始:数据帧开始的段。

仲裁场:该帧优先级的段。

控制场:数据的字节数以及保留位。

数据场:数据内容。

CRC场:校验数据。

应答场:确认正常接收的段。

帧结尾:数据帧结束的段。

远程帧:通过发送远程帧,作为数据接收器的节点可以发起各⾃数据源的数据传送请求,即向数据发送器请求发送具有相同ID的数据帧。

远程帧没有数据段。

错误帧:错误类型:应答错误,填充错误,CRC错误,格式错误错误帧由错误标志的叠加和结束符组成。

错误标志有主动(积极)错误标志和被动(消极)错误标志。

主动(积极)错误标志为6个显性位,被动(消极)错误标志为6个隐性位。

错误积极节点:如果检测到⼀个错误条件,就会发送积极错误标志。

这将引起其它节点检测到填充错误,并开始发送错误标志。

因此错误标志叠加在6~12位之间。

节点发送完错误标志之后就发送⼀个隐性位,并监控总线,直到总线上出现⼀个隐性位,然后再发送7个隐性位。

CAN总线报文浅析

CAN总线报文浅析

CAN总线报⽂浅析1. CAN的报⽂格式在总线中传送的报⽂,每帧由7部分组成。

CAN两种报⽂格式,其唯⼀的不同是(ID)长度不同,标准格式为11位,扩展格式为29位。

在标准格式中,的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位(RTR)组成的仲裁场。

RTR位标明是还是请求帧,在请求帧中没有数据字节。

控制场包括标识符扩展位(IDE),指出是标准格式还是扩展格式。

它还包括⼀个保留位 (ro),为将来扩展使⽤。

它的最后四个位⽤来指明数据场中数据的长度(DLC)。

数据场范围为0~8个字节,其后有⼀个检测数据错误的(CRC)。

应答场(ACK)包括应答位和应答分隔符。

发送站发送的这两位均为隐性电平(逻辑1),这时正确接收报⽂的接收站发送主控电平(逻辑0)覆盖它。

⽤这种⽅法,发送站可以保证⽹络中⾄少有⼀个站能正确接收到报⽂。

的尾部由帧结束标出。

在相邻的两条报⽂间有⼀很短的间隔位,如果这时没有站进⾏总线存取,总线将处于空闲状态。

如图11所⽰,具体某⼀位或某⼏位下⾯会详细介绍。

图11 CAN总线报⽂结构2. 数据帧数据帧是使⽤最多的帧,结构上由7段组成,其中根据仲裁段ID码长度的不同,分为标准帧(CAN2.0A)和扩展帧(CAN2.0B)。

数据帧是由:帧起始,仲裁断,控制端,数据段,CRC段,ACK段和帧结束构成。

如图21所⽰(具体的帧结构下⾯会详细介绍)。

图2–1数据帧类型及结构3. 帧起始和帧结束帧起始:由单个显性位组成,总线空闲时,发送节点发送帧起始,其他接收节点同步于该帧起始位。

帧结束:由7个连续的隐形位组成。

(注:显性电平和隐性电平是相对于CAN_H和CAN_L⽽⾔的差分信号电平,并⾮TTL电平上的⾼低电平,需要注意)如图2-2所⽰。

图2–2帧起始和帧结束4. 仲裁段CAN-bus是如何解决多个节点同时发送数据,即总线竞争的问题?该问题由仲裁段给出答案。

CAN-bus并没有规定节点的优先级,但通过仲裁段帧ID规定了数据帧的优先级。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CAN 报文的传送和帧结构9.2.2 CAN 报文的传送和帧结构在进行数据传送时,发出报文的节点为该报文的发送器。

该节点在总线空闲或丢失仲裁前恒为发送器,如果一个节点不是报文发送器,并且总线不处于空闲状态,则该节点为接收器。

构成一帧的帧起始、仲裁场、控制场、数据场和CRC 序列均借助位填充规则进行编码。

当发送器在发送的位流中检测到5位连续的相同数值时,将自动在实际发送的位流中插入一个补码位。

而数据帧和远程帧的其余位场则采用固定格式,不进行填充,出错帧和超载帧同样是固定格式。

报文中的位流是按照非归零(NZR )码方法编码的,因此一个完整的位电平要么是显性,要么是隐性。

在“隐性”状态下, CAN 总线输出差分电压=— 近似为零,在“显性”状态下,以大于最小阈值的差分电压表示,如图9.2所示。

在总线空闲或“隐性”位期间,发送“隐性”状态。

在“显性”位期间,“隐性”状态改写为“显性”状态。

图9.2总线上的位电平表示CAN 有两种不同的帧格式,不同之处为识别符场的长度不同:具有11位识别符的帧称之为标准帧;而含有29位识别符的帧为扩展帧。

CAN 报文有以下4个不同的帧类型: ● 数据帧:数据帧将数据从发送器传输到接收器。

● 远程帧:总线节点发出远程帧,请求发送具有同一识别符的数据帧。

● 错误帧:任何节点检测到总线错误就发出错误帧。

● 过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。

数据帧和远程帧可以使用标准帧及扩展帧两种格式。

它们用一个帧间空间与前面的帧分隔。

1. 数据帧数据帧由7个不同的位场组成:帧起始(Start of Frame )、仲裁场(Arbitration Frame )、控制场(Control Frame )、数据场(Data Frame )、CRC 场(CRC Frame )、应答场(ACK Frame )、帧结尾(End of Frame )。

数据场的长度为0到8位。

报文的数据帧一般结构如图9.3所示。

diff V CANH V CANL V图9.3 报文的数据帧结构在CAN2.0B中存在两种不同的帧格式,其主要区别在标识符的长度,在标准帧格式里,仲裁场由11位识别符和远程请求位(RTR)组成。

如图9.4所示。

在扩展帧格式里,仲裁场包括29位识别符、替代远程请求位(SRR)、识别符扩展位(IDE)和RTR位。

如图9.5所示。

图9.4 标准格式中的数据帧图9.5 扩展格式中的数据帧扩展格式是CAN协议的一个新特色。

为了使控制器的设计相对地简单,不要求执行完全的扩展格式,但必须完全支持标准格式。

新的控制器至少应具有以下属性,才被认为是符合CAN规范:●每一新的控制器支持标准格式;●每一新的控制器可以接收扩展格式的报文,不能因为格式差别而破坏扩展帧格式。

下面具体分析数据帧的每一个位场。

(1)帧起始帧起始(SOF)标志数据帧或远程帧的开始,仅由一个“显性”位组成。

只有在总线空闲时才允许节点开始发送(信号)。

所有节点必须同步于首先开始发送报文的节点的帧起始前沿,如图9.3所示。

(2)仲裁场仲裁场由标识符和远程发送请求位(RTR位)组成。

RTR位在数据帧中为显性,在远程帧中为隐性。

对于CAN2.0A标准,标识符长度为11位,这些位按ID.10到ID.0的顺序发送,最低位是ID0, 7个最高位(ID.10-ID.4)必须不能全是“隐性”,如图9.6所示。

图9.6 CAN2.0A的仲裁场的组成对于CAN2.0B标准,标准格式帧与扩展格式帧的仲裁场标识符格式不同。

标准格式里,仲裁场由11位识别符和RTR位组成。

识别符位由ID.28…ID.18组成。

如图9.4所示。

而在扩展格式里,仲裁场包括29位识别符、替代远程请求位SRR、标识位IDE、远程发送请求位RTR。

其识别符由ID-28…ID-0组成,其格式包含两个部分:11位(ID.28…ID.18)基本ID、18位(ID.17…ID.0)扩展ID。

如图9.5所示,扩展格式里,基本ID首先发送,其次是SRR位和IDE位。

扩展ID的发送位于SRR位和IDE位之后。

SRR的全称是“替代远程请求位(Substitute Remote Request BIT)”,SRR是一隐性位。

它在扩展格式的标准帧RTR位上被发送,并代替标准帧的RTR位。

因此,如果扩展帧的基本ID和标准帧的识别符相同,标准帧与扩展帧的冲突是通过标准帧优先于扩展帧这一途径得以解决的。

IDE的全称是“识别符扩展位(Identifier Extension Bit)”,对于扩展格式,IDE位属于仲裁场;对于标准格式,IDE位属于控制场。

标准格式的IDE位为“显性”,而扩展格式的IDE位为“隐性”。

(3)控制场控制场由6个位组成,其结构如图9.7所示。

标准格式和扩展格式的控制场格式不同。

标准格式里的帧包括数据长度代码、IDE位(为显性位,见上文)及保留位r0。

扩展格式里的帧包括数据长度代码和两个保留位:r1和r0。

其保留位必须发送为显性,但是接收器认可“显性”和“隐性”位的任何组合。

数据长度代码(标准格式以及扩展格式)DLC,如表9.1所示。

IDE/r1图9.7 控制场结构表9.1 数据帧长度代码DLC,数据帧允许的数据字节数为{0,1,…7,8}。

其他的数值不允许使用。

(4) 数据场数据场由数据帧里的发送数据组成。

它可以为0~8个字节,每字节包含了8个位,首先发送最高有效位。

(5) 循环冗余码CRC 场CRC 场包括CRC 序列(CRC Sequence ),其后是CRC 界定符(CRC Delimiter ),如图9.8所示。

图9.8 循环冗余码CRC 场① CRC 序列(适合标准格式和扩展格式)CRC 序列由循环冗余码求得的帧检查序列组成,最适用于位数低于127的帧。

为进行CRC 计算,被除的多项式系数由无填充位流给定。

组成这些位流的成分是:帧起始、仲裁场、控制场、数据场(假如有的话),而15个最低位的系数是0。

将此多项式被下列多项式发生器除(其系数以2为模):X 15+X 14+X 10+X 8+X 7+X 4+X 3+1这个多项式除法的余数就是发送到总线上的CRC 序列。

为了实现这个功能,可以使用15位的位移寄存器—CRC_RG(14:0)。

如果NXTBIT 指示位流的下一位,那么从帧的起始到数据场末尾都由没有填充的位顺序给定。

CRC 序列的计算如下:CRC_RG=0; //初始化移位寄存器REPEATCRCNXT=NXTBIT EXOR CRC_RG (14);CRC_RG (14:1)=CRC_RG (13:0); //寄存器左移一位CRC_RG (0)=0;IF CRCNXT THENCRC_RG (14:0)=CRC_RG (14:0)EXOR(4599H);END IFUNTIL (CRC 序列起始或有一错误条件)② CRC 界定符(标准格式以及扩展格式)CRC 序列之后是CRC 界定符,它包含一个单独的“隐性”位。

(6)应答场(ACK Field )应答场长度为2个位,包含应答间隙(ACK Slot )和应答界定符(ACK Delimiter ),如图9.9所示。

在ACK 场(应答场)里,发送节点发送两个“隐性”位。

当接收器正确地接收到有效的报文,接收器就会在应答间隙(ACK Slot)期间向发送器发送一“显性”位以示应答。

①应答间隙所有接收到匹配CRC序列(CRC Sequence)的节点会在应答间隙(ACK Slot)期间用一“显性”的位写入发送器的“隐性”位来做出回答。

②应答界定符应答界定符是应答场的第二个位,并且是一个必须为“隐性”的位。

因此,应答间隙(ACK Slot)被两个“隐性”的位所包围,也就是CRC界定符(CRC Delimiter)和应答界定符(ACK Delimiter)。

图9.9 应答场(7)帧结尾(标准格式以及扩展格式)每一个数据帧和远程帧均由一标志序列界定。

这个标志序列由7个“隐性”位组成。

2. 远程帧作为接收器的节点,可以通过向相应的数据源节点发送远程帧激活该源节点,让该源节点把数据发送给接收器。

远程帧也有标准格式和扩展格式,而且都由6个不同的位场组成:帧起始、仲裁场、控制场、CRC场、应答场、帧结尾。

与数据帧相反,远程帧的RTR位是“隐性”的。

它没有数据场,数据长度代码DLC的数值是不受制约的(可以标注为容许范围0~8里的任何数值),此数值是相应于数据帧的数据长度代码。

远程帧结构如图9.10所示。

图9.10远程帧结构3. 错误帧错误帧由两个不同的场组成,如图9.11所示。

第一个场是不同节点提供的错误标志(Error Flag)的叠加,第二个场是错误界定符。

为了能正确地终止错误帧,“错误认可”的节点要求总线至少有长度为3个位时间的总线空闲(如果“错误认可”的接收器有局部错误的话)。

因此,总线的载荷不应为100%。

错误帧图9.11 错误帧结构(图中统一起见出错帧改为错误帧)(1) 错误标志有两种形式的错误标志:激活错误标志和认可错误标志(有的文献译为:“主动”和“被动”错误标志或“活动”和“认可”错误标志)。

●“激活错误”标志由6个连续的“显性”位组成。

●“认可错误”标志由6个连续的“隐性”的位组成,除非被其他节点的“显性”位重写。

检测到错误条件的“错误激活”的节点通过发送“激活错误”标志指示错误。

错误标志的格式破坏了从帧起始到CRC界定符的位填充规则(参见“编码”),或者破坏了ACK 场或帧结尾场的固定格式。

所有其他的节点由此检测到错误条件,并与此同时开始发送错误标志。

所形成的“显性”位序列就是把各个节点发送的不同的错误标志叠加在一起的结果,这个序列的总长度最小为6个位,最大为12个位。

检测到错误条件的“错误认可”的节点通过发送“认可错误”标志指示错误,“错误认可”的节点等待6个相同极性的连续位,当这6个相同的位被检测到时,“认可错误”标志的发送就完成。

(2) 错误界定符错误界定符包括8个“隐性”的位。

错误标志传送了以后,每一个节点就发送一个“隐性”的位,并一直监视总线直到检测出一个“隐性”的位为止,然后就开始发送其余7个“隐性”位。

4. 过载帧过载帧(Overload Frame)包括两个位场:过载标志和过载界定符,其结构如图9.12所示。

图9.12 过载帧结构有三种过载的情况会引发过载标志的传送:●接收器的内部情况,需要延迟下一个数据帧和远程帧。

●在间歇(Intermission)的第一和第二字节检测到一个“显性”位。

如果CAN节点在错误界定符或过载界定符的第8位(最后一位)采样到一个显性位,节点会发送一个过载帧。

该帧不是错误帧,错误计数器不会增加。

根据过载情况1而引发的过载帧只允许起始于所期望的间歇的第一个位时间,而根据情况2和情况3引发的过载帧应起始于所检测到“显性”位之后的位。

相关文档
最新文档