-
2020-12-18 20:40:05
满意答案
1、在总线中传送的报文,每帧由7部分组成。CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。
在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位 (RTR)组成的仲裁场。RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。
控制场包括标识符扩展位(IDE),指出是标准格式还是扩展格式。它还包括一个保留位 (ro),为将来扩展使用。它的最后四个位用来指明数据场中数据的长度(DLC)。数据场范围为0~8个字节,其后有一个检测数据错误的循环冗余检查(CRC)。
应答场(ACK)包括应答位和应答分隔符。发送站发送的这两位均为隐性电平(逻辑1),这时正确接收报文的接收站发送主控电平(逻辑0)覆盖它。用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。
报文的尾部由帧结束标出。在相邻的两条报文间有一很短的间隔位,如果这时没有站进行总线存取,总线将处于空闲状态。
2、CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,在欧洲已是汽车网络的标准协议。
CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
00分享举报
更多相关内容 -
一条CAN报文到底有多少位?
2020-12-28 19:46:17今天我们就从最基本的帧格式来解惑一条CAN报文的到底有多少位。CAN报文帧分为几种呢?CAN-bus通信帧共分为数据帧、远程帧、错误帧、过载帧和帧间隔。而数据帧和远程帧又有标准帧和扩展帧两种。其帧类型以及用途如表 ...CAN-bus总线是应用最广泛的现场总线之一,而很多非常熟练的CAN工程师,面对一条CAN报文到底有多少位的问题时,却不能非常准确地回答。今天我们就从最基本的帧格式来解惑一条CAN报文的到底有多少位。
CAN报文帧分为几种呢?CAN-bus通信帧共分为数据帧、远程帧、错误帧、过载帧和帧间隔。而数据帧和远程帧又有标准帧和扩展帧两种。其帧类型以及用途如表 1所示:
表 1 帧类型及用途
Ø 数据帧
数据帧从结构上看分为7段,分别为起始段、仲裁段、控制段、数据段、CRC校验段、ACK应答段、帧结束段。如图1:
图 1 标准数据帧跟扩展数据帧结构图
· 帧起始段:该段由单个显性位构成,在总线空闲时才允许发送,所有节点必须同步于开始发送的数据帧的起始位;
· 标准帧仲裁段:标准帧的仲裁段由11位ID码和一个显性位RTR码组成,RTR码为远程帧标识位;
· 扩展帧仲裁段:扩展帧的仲裁段由29位ID码、一位显性的SRR码、一位隐性的IDE码和一位显性的RTR码组成;
· 标准帧控制段:标准帧的控制段由单位显性的IDE、保留位r0和4位数据长度代码DLC组成,DLC数据段采用BCD编码;
· 扩展帧控制段:扩展帧的控制段由两个保留位r1和r0和4位的DLC数据段组成,r1和r0都为显性填充,接收时无论保留位是显性还是隐性都没有影响;
· 数据段:一个数据段为8个字节;
· CRC校验段:CRC校验段由15位
-
汽车CAN总线数据帧解析---汽车语言知多少
2020-12-28 19:46:13CAN协议的报文传输主要由下面的4种帧来实现:(今天我就来说说数据帧)数据帧:远程帧:错误帧:过载帧:数据帧数据帧:结构上由7段组成,其中根据仲裁段ID码长度的不同,分为标准帧(CAN2.0A)和扩展帧(CAN2.0B)。...CAN协议的报文传输主要由下面的4种帧来实现:(今天我就来说说数据帧)数据帧:
远程帧:
错误帧:
过载帧:
数据帧
数据帧:结构上由7段组成,其中根据仲裁段ID码长度的不同,分为标准帧(CAN2.0A)和扩展帧(CAN2.0B)。
数据帧是由:帧起始,仲裁断,控制端,数据段,CRC段,ACK段和帧结束构成。
数据帧
帧起始和帧结束
帧起始:由单个显性位组成,总线空闲时,发送节点发送帧起始,其他接收节点同步于该帧起始位。
帧结束:由7个连续的隐形位组成。
结构图
仲裁段
CAN-bus是如何解决多个节点同时发送数据,即总线竞争的问题?该问题由仲裁段给出答案。
仲裁段
仲裁机制
网络上有3个节点都是1(隐性)的时候,总线相与为1(隐性),只要总线上的节点有0,总线就表现成0(显性)。最终的结果就是节点ID越小,优先级越高。
控制段
控制段共6位,标准帧的控制段由扩展帧标志位IDE、保留位r0和数据长度代码DLC组成;
扩展帧控制段则由IDE、r1、r0和DLC组成
控制段
数据段
一个数据帧传输的数据量为0~8个字节,这种短帧结构使得CAN-bus实时性很高,非常适合汽车和工控应用场合
数据量小,发送和接收时间短,实时性高,被干扰的概率小,抗干扰能力强。
数据段
CRC段
CAN-bus使用CRC校验进行数据检错,CRC校验值存放于CRC段。 CRC校验段由15位CRC值和1位CRC界定符构成
CRC段
ACK段
当一个接收节点接收的帧起始到CRC段之间的内容没发生错误时,它将在ACK段发送一个显性电平
-
一条CAN报文到底有多少位?-汽车电子-与非网
2021-01-11 19:55:58CAN-bus 总线是应用最广泛的现场总线之一,而很多非常熟练的CAN 工程师,面对一条 CAN报文到底有多少位的问题时,却不能非常准确地回答。今天我们就从最基本的帧格式来解惑一条 CAN 报文的到底有多少位。CAN 报文帧...CAN-bus 总线是应用最广泛的现场总线之一,而很多非常熟练的CAN 工程师,面对一条 CAN报文到底有多少位的问题时,却不能非常准确地回答。今天我们就从最基本的帧格式来解惑一条 CAN 报文的到底有多少位。
CAN 报文帧分为几种呢?CAN-bus 通信帧共分为数据帧、远程帧、错误帧、过载帧和帧间隔。而数据帧和远程帧又有标准帧和扩展帧两种。其帧类型以及用途如表 1 所示:
表 1 帧类型及用途
Ø数据帧
数据帧从结构上看分为 7 段,分别为起始段、仲裁段、控制段、数据段、CRC 校验段、ACK 应答段、帧结束段。如图 1:
图 1 标准数据帧跟扩展数据帧结构图
l 帧起始段:该段由单个显性位构成,在总线空闲时才允许发送,所有节点必须同步于开始发送的数据帧的起始位;
l 标准帧仲裁段:标准帧的仲裁段由 11 位 ID 码和一个显性位 RTR 码组成,RTR 码为远程帧标识位;
l 扩展帧仲裁段:扩展帧的仲裁段由 29 位 ID 码、一位显性的 SRR 码、一位隐性的 IDE 码和一位显性的 RTR 码组成;
l 标准帧控制段:标准帧的控制段由单位显性的 IDE、保留位 r0 和 4 位数据长度代码 DLC 组成,DLC 数据段采用 BCD 编码;
l 扩展帧控制段:扩展帧的控制段由两个保留位 r1 和 r0 和 4 位的 DLC 数据段组成,r1 和 r0 都为显性填充,接收时无论保留位是显性还是隐性都没有影响;
l 数据段:一个数据段为 8 个字节;
lCRC 校验段:CRC 校验段由 15 位的校验码和 1 个隐性位填充的 CRC 界定符组成,CRC 校验范围为帧起始、仲裁段、控制段和数据段;
lACK 段:ACK 段由 ACK 码和一个隐性位 ACK 界定符组成,发送节点在 ACK 段发送两个隐性位,接收节点在收到的报文 ACK 前面的帧格式没有错误时,他将发出 ACK 码为显性位的报文。
l 帧结束段:由 7 个连续的隐性位组成。
Ø远程帧
远程帧帧格式跟数据帧类似,也分为标准帧跟扩展帧,但是远程帧属于被请求发送节点发送的报文,而数据帧是发送节点的报文。如图 2,远程帧没有数据帧。
图 2 标准远程帧和扩展远程帧的结构图
参照数据帧可了解远程帧的结构,但是两者之间也有不同:
lSRR 段和 RTR 段:数据帧是显性电平,远程帧是隐性电平;
l 节点性质:数据帧是发送节点发出的报文格式,远程帧是被请求发送的节点发送的报文格式;
lCRC 校验范围:数据帧是帧起始、仲裁段、控制段和数据段,而远程帧则是帧起始、仲裁段和控制段。
了解了数据帧跟远程帧的标准报文格式后,有些人可能会问了,我有时看到的报文为什么跟你的标准格式的位数不一样呢?
Ø位填充
CAN-bus 属于异步串行通信,这种通信方式没有时钟线,所以各个收发器的时钟不可能完全一致,时钟不一致就会造成偏差。所以为了解决这个问题,CAN 总线采用同步的方式来校准时钟。CAN-bus 规定信号的跳变沿为同步信号,只要信号发生变化,节点时钟就被同步一次。CAN-bus 还规定同步的最大周期为 5 个位。
但是问题来了,要是出现连续性的 5 个位甚至更长时间没有边沿跳变(例如数据段全为 0x56),那该如何解决呢?CAN-bus 对这种情况又进行了规范,如果传输的位信号连续 5 个位是相同的,就要插入一个电平相反的位,这个就是 CAN-bus 的“位填充”规则。如图 4。
图 4 位填充规则
Ø0x00 和 0x55
由于位填充规则的存在,所以就存在即使两个帧都是标准数据帧,但发送不同 ID 或者数据段的时候报文时间会不同,图 5 为 1M 波特率下 ID 跟数据都为 0x00 的标准数据帧报文。原本 108 个位的标准数据帧的真实的报文时间为 123us。
图 5 标准数据帧 0x00 报文
而 0x55 的标准数据帧报文格式则如图 6:ID 为 555H,数据段为 55H,报文没有出现连续的相同位,所以填充位最少,8 位的数据段位时间为标准的 8us,全报文时间为 108us。
图 6 标准数据帧 0x55 报文
下表给出了标准数据帧、扩展数据帧、标准远程帧、扩展远程帧四种帧类型在发送不同 ID 和数据时位时间的差别。
表 2 不同 ID 和数据位填充位数不一样
通过 CAN-Scope 总线分析仪的报文接收和示波器,可以将每一帧报文跟波形做一一对应,快速分析总线上的报文时间和波形情况,实现 CAN 总线的快速故障定位和干扰排除。
-
【解惑】CAN报文到底有多少位?
2020-12-28 19:46:18今天我们就从最基本的帧格式来解惑一条CAN报文的到底有多少位。CAN报文帧分为几种呢?CAN-bus通信帧共分为数据帧、远程帧、错误帧、过载帧和帧间隔。而数据帧和远程帧又有标准帧和扩展帧两种。其帧类型以及用途如表1... -
CAN报文:数据帧详解
2022-07-26 11:13:33CAN报文数据帧详解 -
CAN总线过载帧及数据帧详解
2020-12-18 20:39:53本文首先介绍了CAN总线系统结构及数据传输,其次详细的阐述了CAN总线过载帧及数据帧,具体的跟随小编一起来了解一下吧。CAN总线系统结构1、CAN 控制器接收控制单元中微处理器发出的数据,处理数据并传给CAN收发器2、... -
Python实现CAN报文转换工具教程
2020-09-16 22:01:18主要介绍了Python实现CAN报文转换工具教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
CAN扩展帧和标准帧格式对比分析.docx
2020-05-15 13:41:46CAN扩展帧和标准帧格式对比分析.docx -
CAN扩展帧ID 字节位解释
2022-08-10 19:40:07汽车CAN网络,CAN-ID解释 -
CAN报文解析
2021-09-03 10:08:06文章目录CAN报文定义CAN编码格式(Intel、Motorola)CAN总线数据传输规则Intel格式编码Motorola格式编码注意CAN协议中CAN报文种类CAN报文的组成帧ID的组成数据段的组成CAN报文的解析 CAN报文定义 CAN报文是指发送... -
CAN报文解析—案例
2021-02-06 18:51:35CAN报文是指发送单元向接受单元传送数据的帧。我们通常所说的CAN报文是指在CAN线(内部CAN、整车CAN、充电CAN)上利用ECU和CAN卡接收到的十六进制报文。 2. CAN协议中CAN报文种类 报文传输过程中有:数据帧、远程帧... -
CANoe:CAN报文发送前的字节预处理(applILTxPending函数)
2022-04-16 12:31:262)applILTxPending函数的说明:可以对每一帧的特定字节做数据操作处理; (applILTxPending函数通常用于计算滚动的Checksum和Counter上,对字节的处理非常方便) 3)applILTxPending函数的参数解析: 二、... -
Can帧中的Startbit位,字节序概述
2022-04-21 16:05:21报文名为BCM_2A1,报文长度(DLC)为8 bytes, 有一个信号名为rearRightDoorStatus,其起始位为28, 信号长为16bit。 1 字节序 Intel处理器传统上是小端的,Motorola处理器一直是大端的。 Big-endian 是“大端”(最高... -
CAN总线结构与CAN总线标准帧
2020-12-18 20:40:02我知道,我对与电子有关的所有事情都很着迷,但不论从哪个角度看,今天的现场可编程门阵列(FPGA),都显得“鹤立鸡群”,真是非常...CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层... -
一种基于Matlab的CAN报文解析方法与流程
2021-04-18 05:57:11本发明涉CAN通信技术领域,具体为一种基于Matlab的CAN报文解析方法。背景技术:当前,汽车电子行业相关电子控制系统(BMS、VCU、MCU、地面或车载充电机、智能仪表等)之间都普遍采用了CAN总线通信方式进行数据的交互。... -
CAN数据帧分析
2022-06-08 10:07:57CAN数据帧分析 -
CAN总线报文解析
2018-11-07 10:23:14CAN的报文格式 在总线中传送的报文,每帧由7部分组成。CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。 在标准格式中,报文的起始位称为帧起始(SOF),然后... -
CAN报文格式
2017-04-17 13:20:43CAN协议的报文传输过程中有:数据帧、远程帧、错误帧、过载帧和帧间隔。 1.数据帧:用于发送节点向接收节点传送数据的帧。 2.远程帧:用于接收节点向具有相同ID的发送节点传送数据的帧。 3.错误帧:用于当... -
CAN转以太网设备实现can报文与tcp/udp报文之间的高效低延时转换
2022-04-18 09:56:37LCNET系列工业级CAN转以太网设备提供一路...测试示例的参数设置:UDP模式,CAN波特率500Kbps,分包帧数为1(即接收到一个CAN帧就封装成一个UDP报文发送到网络中),分包时间间隔为0(即为 7-8 个 CAN 帧连续发送所需的