当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]CAN总线一直以实时性强、传输距离远、抗干扰能力强、数据保证到达等特点而广泛应用于高可靠性的场合。但常常在观察CAN通信波形时,我们会发现差分电平在ACK段突然增高,这是

CAN总线一直以实时性强、传输距离远、抗干扰能力强、数据保证到达等特点而广泛应用于高可靠性的场合。但常常在观察CAN通信波形时,我们会发现差分电平在ACK段突然增高,这是什么原因导致的呢?这里结合测试实例对ACK电平偏高的原因做简单分析。

一、ACK简介

ACK的作用:确认一帧报文是否正常接收。

以标准数椐帧为例,从结构上看分成7段,分别为起始段、仲裁段、控制段、数椐段、CRC校验段、ACK应答段、帧结束段,如图1所示:

 

图1 标准数椐帧结构

ACK段长度为2个位,包含应答间隙(ACK SLOT)和应答界定符(ACK DELIMITER)。在应答场里,发送站发送两个“隐性”位。当接收器正确地接收到有效的报文,接收器就会在应答间隙(ACK SLOT)期间(发送ACK信号)向发送器发送一“显性”的位以示应答。如图2 (CANScope测试的ACK段波形图)所示:

 

图2 ACK应答位结构

应答间隙:所有接收到匹配CRC序列(CRC SEQUENCE)的节点会在应答间隙(ACK SLOT)期间用一“显性”的位写入发送器的“隐性”位来作出回答,由于CAN总线线与的原理,只要总线上有一个节点正确接收到数据,则ACK SLOT就会被填入显性电平。

ACK界定符:ACK界定符是ACK场的第二个位,并且是一个必须为“隐性”的位。因此,应答间隙(ACK SLOT)被两个“隐性”的位所包围,也就是CRC界定符(CRC DELIMITER)和ACK界定符(ACK DELIMITER)。

当一个接收节点接收的帧起始到CRC段之间的内容没发生错误时,它将在ACK段发送一个显性电平。 如图3所示:

 

图3 ACK应答过程分析

二、CAN总线ACK电平偏高原因分析

以使用ZLG致远电子CANScope测试某电车CAN网络为例,20多个CAN节点采样手牵手方式组网,线两端各接120欧电阻,通讯能够正常,但差分信号波形应答位电平偏高较多,如图4所示,从CANScope的波形图中可以清楚的看到ACK电平突增。

 

图4 CAN数椐帧波形分析

CAN总线通信存在异常,ACK应答有问题?——NO

分析如下:

首先,我们看一款CAN收发器的典型内部结构图,CANH、CANL连接总线。

 

图5 CAN收发器的典型内部结构图

总线显性时(逻辑为0),收发器内部Q1、Q2导通,CANH、CANL之间产生压差;隐性时(逻辑为1),Q1、Q2截止,CANH、CANL处于无源状态,压差为0。

按照标准,在总线输出为显性时,CANH=3.5V,CANL=1.5V,差分分电平:CANH-CANL=2V,总线网络电阻为60欧,流经终端电阻的电流约为33mA(2V/60欧);

然而,CAN收发器在输出显性时,CANH电平并不是标准的3.5V,而是5V(VCC)通过一个二极管降压得到的,二极管的压降由负载电流决定。图6所示的VDH为CANH对应的二极管压降,VDL为CANL对于的二极管压降,流过的电流越大,二极管的压降就越大。可知:

CANH的电压=5V-VDH CANL的电压=0V+VDL

 

图6 CAN收发器等效结构

在CAN总线网络中,当一帧报文被各个节点接收时,在ACK阶段,多个CAN节点同时响应(都发显性),流过终端电阻的电流被各个CAN节点均分,那么平均到每个节点的电流就减小了,如下图所示,VDH、VDL的压降也减小,相应CANH-CANL的差分电压就增大了,即ACK应答电平偏高。

 

图7 CAN网络等效结构

三、ACK的意义

当CAN总线上只有一个节点可收发数据时,总线上因无接收节点在ACK SLOT时间内 发送“显性”位填充,而始终保持隐性,发送者会检测到这个隐性位而知道发送失败,此条报文需要重发。因此这个节点会一直重发数据直到发送成功或发送被取消。

当总线上有多个CAN节点组网通信时,由于总线电平线与的原理,只要总线上有一个节点正确接收到数据,则ACK SLOT就会被填入显性电平(此时认为数据帧发送成功), 那么,接收错误的节点如何来告知发送者此次发送不成功呢?这就要用到CAN的错误帧,当一个接收节点收到错误数据时,它立即广播发送一个错误帧,其它的节点和发送者也都会收到这个错误帧而丢掉此次报文,发送节点重新发送,这才是ACK的意义。

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

CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。

关键字: can总线 通信 电子控制

CAN总线和485总线都是常见的串行通信协议,它们在工业自动化、机器人控制等领域被广泛应用。本文将从物理层、数据传输方式、网络拓扑结构、通信速率和应用范围等方面比较CAN总线和485总线的区别。

关键字: can总线 485总线

CAN总线是一种串行通信协议,能有效的支持具有很高安全等级的分布实时控制 应用范围十分广泛,从高速网络到低价位的多路接线都可以使用CAN,主要运用于汽车电子航天等行业,使用CAN连接发动机的控制单元等汽车部件,CAN总...

关键字: can总线 can总线原理

众所周知,霍尔传感器是一种磁传感器,用它可以检测磁场及其变化,可在各种与磁场有关的场合中使用。霍尔传感器以霍尔效应为其工作基础,是由霍尔元件和它的附属电路组成的集成传感器;其在工业生产、交通运输和日常生活中都有应用,因此...

关键字: 霍尔传感器 磁场 波形

在这篇文章中,小编将为大家带来示波器的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 示波器 波形 被测信号

CAN总线在设计之初,就规定了物理层CAN_H和CAN_L采用双绞线差分传输,这样做的目的是提高抗干扰能力,因为当总线上CAN_H与CAN_L遇到干扰可以“同上同下”变化,从而差分值保持不变。

关键字: can总线

CAN是Controller Area Network 的缩写,目前CAN总线被广泛的应用在汽车电子领域和工业的现场总线中。

关键字: can总线 电路设计

目前视频领域所采用的压缩技术大都是属于类似 MPEG系列的技术。虽然MPEG-4或H.264/AVC已经获得较高的压缩比,但想在2.5G甚至2G移动通信网路上采用这种压缩方式实现视频传送还是比较困难,

关键字: can总线 sae

随着电子控制系统单元(ecu)在汽车上广泛应用,汽车电子化程度越来越高。电控系统的增加虽然提高了汽车的动力性、经济性和舒适性,但随之增加的复杂电路,必然导致车身布线庞大而且复杂,安装空间短缺。同时,为

关键字: can总线 电子控制

引言   随着信息科学的快速发展, 人们对数据采集后的信号形式的要求越来越多, 单一的信号形式已经没有办法满足实际工程的需要。网络信号、USB总线信号、RS232总线信号以及CAN总线信

关键字: can总线 co2128
关闭
关闭