当前位置:首页 > 通信技术 > 通信技术
[导读]CAN-bus总线是应用最广泛的现场总线之一,而很多非常熟练的CAN工程师,面对一条CAN报文到底有多少位的问题时,却不能非常准确地回答。今天我们就从最基本的帧格式来解惑一条CAN报文的到底有多少位。

CAN-bus总线是应用最广泛的现场总线之一,而很多非常熟练的CAN工程师,面对一条CAN报文到底有多少位的问题时,却不能非常准确地回答。今天我们就从最基本的帧格式来解惑一条CAN报文的到底有多少位。

CAN报文帧分为几种呢?CAN-bus通信帧共分为数据帧、远程帧、错误帧、过载帧和帧间隔。而数据帧和远程帧又有标准帧和扩展帧两种。其帧类型以及用途如表 1所示:

Ø 数据帧

数据帧从结构上看分为7段,分别为起始段、仲裁段、控制段、数据段、CRC校验段、ACK应答段、帧结束段。如图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位的校验码和1个隐性位填充的CRC界定符组成,CRC校验范围为帧起始、仲裁段、控制段和数据段;

ACK段:ACK段由ACK码和一个隐性位ACK界定符组成,发送节点在ACK段发送两个隐性位,接收节点在收到的报文ACK前面的帧格式没有错误时,他将发出ACK码为显性位的报文。

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

Ø 远程帧

远程帧帧格式跟数据帧类似,也分为标准帧跟扩展帧,但是远程帧属于被请求发送节点发送的报文,而数据帧是发送节点的报文。如图 2,远程帧没有数据帧。

参照数据帧可了解远程帧的结构,但是两者之间也有不同:

SRR段和RTR段:数据帧是显性电平,远程帧是隐性电平;

节点性质:数据帧是发送节点发出的报文格式,远程帧是被请求发送的节点发送的报文格式;

CRC校验范围:数据帧是帧起始、仲裁段、控制段和数据段,而远程帧则是帧起始、仲裁段和控制段。

了解了数据帧跟远程帧的标准报文格式后,有些人可能会问了,我有时看到的报文为什么跟你的标准格式的位数不一样呢?

Ø 位填充

CAN-bus属于异步串行通信,这种通信方式没有时钟线,所以各个收发器的时钟不可能完全一致,时钟不一致就会造成偏差。所以为了解决这个问题,CAN总线采用同步的方式来校准时钟。CAN-bus规定信号的跳变沿为同步信号,只要信号发生变化,节点时钟就被同步一次。CAN-bus还规定同步的最大周期为5个位。

但是问题来了,要是出现连续性的5个位甚至更长时间没有边沿跳变(例如数据段全为0x56),那该如何解决呢?CAN-bus对这种情况又进行了规范,如果传输的位信号连续5个位是相同的,就要插入一个电平相反的位,这个就是CAN-bus的“位填充”规则。如图 4。

Ø 0x00和0x55

由于位填充规则的存在,所以就存在即使两个帧都是标准数据帧,但发送不同ID或者数据段的时候报文时间会不同,图5为1M波特率下ID跟数据都为0x00的标准数据帧报文。原本108个位的标准数据帧的真实的报文时间为123us。

而0x55的标准数据帧报文格式则如图 6:ID为555H,数据段为55H,报文没有出现连续的相同位,所以填充位最少,8位的数据段位时间为标准的8us,全报文时间为108us。

下表给出了标准数据帧、扩展数据帧、标准远程帧、扩展远程帧四种帧类型在发送不同ID和数据时位时间的差别。

通过CAN-Scope总线分析仪的报文接收和示波器,可以将每一帧报文跟波形做一一对应,快速分析总线上的报文时间和波形情况,实现CAN总线的快速故障定位和干扰排除。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

CAN和CANopen区别

关键字: canopen can

工业现场CAN环境复杂多变,工程师面对信号的杂、乱、差却是束手无策,追根溯源对于信号的各种地你接对了吗?CAN总线以其高可靠性、实时性、灵活性以及严谨的数据处理机制等特点,在工业现场和汽车行业得到广泛应用,但随着环境干扰...

关键字: can 通信技术

你知道常常弄混的总线分类吗?总线是什么?度娘的完整定义总线是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束,按照计算机所传输的信息种类。

关键字: 系统总线 lin can fd技术

奔驰推出Smart汽车专用iPhone助驾系统 戴姆勒集团(戴姆勒奔驰)日前宣布,将为旗下迷你车品牌Smart fortwo推出一套整合iPhone的娱乐、导航一体化系统,这将是第一款由汽车厂商开发

关键字: 电动车 can 驱动

摘要:基于提高CAN总线组网能力的考虑,提出一种新颖的CAN中继器设计方法;阐述以LPC2119控制器为核心的硬件设计方案;详细分析在μC/OSII实时操作系统下的软件实现过程;针对中继器

关键字: can 中继器 lpc2119 cosii

  在中国移动及产业链加紧布局TD-LTE长期演进技术的同时,作为TD-SCDMA近期演进技术——多载波TD-HSPA+最近也获得了重大突破,这无疑是TD-SCDMA产业

关键字: can lin 通信网络

  从家庭住屋到大型住宅楼和办公楼及至工厂,建筑物自动化都是发展越来越多的一个极重要方面。受需要增强安全性和提高能源效率这两项21世纪最重要优先任务的推动,建筑物和工业厂房中运行的系统变得越来越

关键字: can 汽车网络

  CAN波特率的简单计算   假设我们先不考虑BTR0中的SJW位和BTR1中的SAM位。那么,BTR0和BTR1就是2个分频系数寄存器;它们的乘积是一个扩展的分频系数。即:

关键字: can 波特率

  CAN网络阻抗   问题的开始是由CAN网络开始的,如下图是一个CAN的网络的基本模型,两端是120欧姆的电阻,   can网络用的线材的特性阻抗是也是120欧姆的,下面有几

关键字: can

  日前,德州仪器 (TI) 宣布推出 3 款最新器件进一步丰富业界首个汽车电机驱动器系列,帮助 TI 客户设计符合 ISO26262 功能安全要求的汽车应用。该 DRV32xx-Q1 系列目前

关键字: can 电源管理
关闭
关闭