CAN总线多节点通信异常分析及解决

发布时间:2022-12-21  

一、CAN物理层特征

CAN收发器的作用是负责逻辑电平和信号电平之间的转换。即从CAN控制芯片输出逻辑电平到CAN收发器,然后经过CAN收发器内部转换将逻辑电平转换为差分信号输出到CAN总线上,CAN总线上的节点都可以决定自己是否需要总线上的数据。


市场上常用的收发器(例如: VP230、TJA1040、TCAN337等)多为ISO 11898标准。在此标准中,对于CAN的信号逻辑1和0的产生:当CAN_H为3.5V,CAN_L为1.5V,差值为2V左右时为显性(dominant)电平表示,而两者相等为2.5V左右时为隐性(recessive)电平表示1。

 

 

可以看到上图中的当第一段为隐性,CAN_H和CAN_L电平几乎一样,也就是说CAN_H和CAN_L电平很接近甚至相等的时候,总线表现隐性的,而两线电位差较大时表现为显性的,按照定义的:

  • CAN_H - CAN_L < 0.5V 时候为隐性的,逻辑信号表现为"逻辑1"- 高电平。

  • CAN_H - CAN_L > 0.9V 时候为显性的,逻辑信号表现为"逻辑0"- 低电平。

CAN总线采用的"线与"的规则进行总线冲裁。即1&0=0;所以0为显性。这句话隐含的意思是,如果总线上只要有一个节点将总线拉到低电平(逻辑0),即显性状态,总线就为低电平(逻辑0),即显性状态,而不管总线上有多少节点处于传输隐性状态(高电平或是逻辑1),只有所有节点都为高(隐性),总线才为高,即隐性。


CAN总线终端的两个120Ω的终端电阻的作用是使阻抗连续,消除反射。


二、CAN总线三节点通讯异常现象

测试工具:

1.PC端:利用USB转CAN模块将PC机作为一个节点挂载到CAN总线,收发器型号采用TI公司的VP230;

2.ECU:此处使用TI公司的MSP432单片机,由于其电路板没有CAN收发器,所以此处外接收发器VP230;

3.ARM开发板:开发板上已经内嵌了两个CAN通道,收发器采用的是恩智浦的TJA1040。

 

问题1:ARM用户板(节点1,收发器:tcan337)与ECU(节点2,收发器:vp230)两节点可以正常进行CAN通信,但是当总线上加入第3个节点PC端(节点3,USB转CAN模块,收发器:vp230)后,通信出现异常,节点1和节点3均可以正常发送和接收总线数据,但是节点2可以收到总线数据,却无法发送数据。

 

 

针对问题1,使用ARM开发板、ECU、PC分别进行了两节点测试和三节点测试,测试结果证明,PC与ARM、ECU之间的两节点通信均无任何问题;使用两个PC端与ARM、ECU之间分别构成3节点通信也均正常;使用ARM开发板上的两个CAN通道与PC端构成3节点通信也正常;使用两个ECU与PC构成3节点通信也正常。但是,当ARM开发板与ECU同时挂载到CAN总线上时,就会出现通信异常。


问题2:ARM开发板(节点1,收发器:TJA1040)与MCU(节点2,收发器:vp230)两节点进行CAN通信时,节点1发送一次数据后,总线将一直处于占用状态,此后节点1无法发送和接收总线数据,而节点2将一直读取总线数据。

 

 

问题3:当PC与ECU两节点通信时,通信正常,但是当总线接入关机状态下的ARM开发板时,总线通信出现异常,ECU将无法收到来自PC端的数据;而当总线接入工作状态下的ARM开发板时,总线异常情况与问题1相同。

 

 

三、CAN总线三节点通信异常问题成因分析与解决措施

通过了解CAN物理层特征可知,CAN_H、CAN_L在隐性状态时的对地电压均为2.5V左右,经实际测量, ARM端CAN总线隐性对地电压约为2.3V,PC端CAN总线隐性对地电压约为2.2V,而ECU端CAN总线的隐性对地电压约为1.5V,由于总线电压的差异,CAN总线的对地电压被强制拉低,导致CAN控制器无法正常识别总线数据。


当ECU端的收发器VP230的供电由3.3V更改为5V后,其总线隐性对地电压约等于2.3V,此时ARM、ECU、PC间的任意两节点、三节点通信均正常。


四、CAN总线4、5节点通信测试

为了进一步了解多节点CAN总线通信,将总线上的节点数增加至4节点和5节点,在实际测试中,利用ARM开发板上的2个CAN通道(NXP公司的TJA1040收发器)、2个 USB转CAN模块(TI公司的VP230)、1个ECU(TI公司的VP230)分别进行了各式组合,构成4节点CAN通讯均正常,但是任意5节点通信均出现异常情况,分别由各个节点发送数据,总存在一些节点无法接收到数据。


通过对CAN总线的物理层分析,认为造成这种现象可能有两个原因,一是不同型号的CAN收发器之间通信匹配的问题,二是CAN总线的驱动能力不足造成的。


为了进一步验证上述问题,利用两块ARM开发板上4个CAN通道(NXP公司的TJA1040收发器)进行测试,测试结果发现3个CAN通道可正常通信,但是4节点出现通信异常,异常现象和5节点通信时的问题相同。


由此分析可知,不同收发器的驱动能力会有一些差异,但是这并不是造成此现象的原因。而对CAN总线物理层结构特性进一步了解,总线需要在终端连接两个120欧电阻,但是通过对所有测试点的电路检测可知,每个节点收发器的CAN_H与CAN_L之间均连接了1个120欧电阻,而CAN通信时仅需在总线终端各加1个电阻即可。


将总线中多余的120欧电阻去掉,而只保留两个节点的电阻,通过测试发现,此时的4节点、5节点通信均正常。


那为什么只在物理上最远的两个节点加这个匹配电阻,而不是在所有的节点都加上匹配电阻?


高频信号传输时,信号波长相对传输线较短,信号在传输线终端会形成反射波,干扰原信号,所以需要在传输线末端加终端电阻,使信号到达传输线末端后不反射。对于低频信号则不用。


CAN总线两端必须连接终端电阻才可以正常工作,终端电阻应该与通讯电缆的阻抗相同,典型值为120欧姆。终端电阻的作用,一方面就是吸收信号反射及回波,而产生信号反射的最大来源便是阻抗不连续以及不匹配。另一方面,如果是加在单独的两根线上,相当于一个开环的状态,根据产生信号反射的来源,也就是说这种连接方式会导致单线上阻抗更加不连续,在末端突然变为0,会导致反射成倍增加。高速CAN所加的两个120欧的电阻实际上模拟的是线束连接无穷远的时候在传输线上产生的特性阻抗(而不是实际阻抗),这是个典型经验值,具体值取决于所采用的线束类型。CAN低速之所以不加终端电阻,是因为不同的频率时,同样的连接方式所产生的信号反射和回波差异很大,频率越高,反射和回波就会越强烈。另外不同的频率下,传输线的特性阻抗是不同的。第三方面,当一个显性位发送到至少包含一个CAN驱动处于开启状态的网络上时,意味着有电流经过终端电阻,因此,CAN_H和CAN_L具有了不同的电压值。也就是说,在显性状态时,终端电阻会稳定并增强差分电压,当去掉一个或两个终端,通过示波器可以明显看到一是信号不稳,二是差分电压会有变化,缺少终端或没有终端电阻时所测到的电压是单纯由CAN驱动器所产生的,离发送端越远,电压差异越大。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    的以单片机为核心的分布式多机测控系统为简化通信物理层大多采用电流环或RS-485/RS-422总线。 电流环形式因较RS-485/RS-422总线形式连线复杂等原因已基本退出历史舞台。而RS-485总线接线形式较RS-422总线......
    金升阳推出超薄型R4S系列CAN/485隔离收发模块; 【导读】为满足客户多样的设计需求,金升阳通过技术方案革新及平台升级,紧跟市场步伐,加快完成了CAN/485总线隔离收发模块R4系列......
    . 何时需要 RS-485 总线端接,如何正确进行端接? RS-485 总线端接在许多应用中都很有用,它有助于提高信号完整性并减少通信问题。“端接”是指将电缆的特性阻抗与端接网络相匹配,使总线......
    基于89C51单片机的485总线接口的软硬件设计提高可靠性和稳定性;引言 近年来,由于人们防火意识的不断增强以及有关法律、法规的不断完善,火灾自动报警系统得到迅猛发展和广泛应用,已成为预防火灾、保障......
    RS-485收发器常见问题解答;RS-485 总线端接在许多应用中都很有用,它有助于提高信号完整性并减少通信问题。“端接”是指将电缆的特性阻抗与端接网络相匹配,使总线......
    件采用片上二氧化硅电容作为隔离层,在RS-485协议控制器和物理层总线之间创建一个完全隔离的接口,与隔离电源集成在单个SOIC封装内,可有效防止数据总线......
    是意法半导体新系列收发器芯片的首款产品,为现代高性能工业应用提供强大而可靠的 RS-485信号传输解决方案。新收发器支持的数据速率远高于原有的RS-485 标准,可以延长电缆长度实现多点连接,总线......
    。 产品特性 • 符合 TIA/EIA-485-A 标准 • 信号传输速率:高达5Mbps • 失效防护接收器(总线开路、 短路......
    线路的总长度往往超过400米,而分机系 统上电或复位又常常不在同一个时刻完成。如果在此时某个75176的DE端电位为“1”,那 么它的485总线输出将会处于发送状态,也就是占用了通信总线,这样其它的分机就无法与 主机......
    ADM3070E数据手册和产品信息;EVAL-RS485FDEBZ 标准RS-485全双工(14引脚SOIC封装)评估板EVAL-RS485FDEBZ 下载 打印 标准RS-485全双......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>