STM32单片机CAN通信,CAN控制器采用TJA1050,CANH与CANL输出波形一致是怎么回事呢?

采用STM32单片机CAN通信,CAN控制器采用TJA1050,CANH与CANL输出波形一致是怎么回事呢?网上说是CAN短路,但是电路板上并无短路啊,是什么原因呢?附上波形图及电路图,帮忙分析一下
这个是电路图

CAN总线通过CAN控制器接口芯片上的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低 电平或悬浮状态。

CAN总线的接口芯片目前用的比较多的就是SJA1000,它是将数据转换成CAN数据帧,但要与CAN总线连接还必须用PCA82C250,说得更准确点是:SJA1000和PCA82C250必须配对使用。

扩展资料:

CAN总线通过CAN收发器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。

这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。

而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现像在网络中,因个别节点出现问题,使得总线处于“死锁”状态。

参考资料来源;百度百科-CAN总线

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-08-22
电路貌似没什么问题,,,你这个两个信号一致应该是软件配置错误,因为CANH和CANL上没信号,中间跨接120R电阻,所以两个脚波形一致,,,仔细检查一下你的CAN配置吧追问

意思是单片机程序的问题吗?同一个程序在开发板上能运行呢,自己设计的板子上就不行,can收发器都是TJA1050

追答

首先检查一下CAN相关的硬件电路是否一致吧,说不定用的不同的CAN之类的,,,

本回答被网友采纳
第2个回答  推荐于2018-02-06
CAN是一种由带有CAN控制器组成的高性能串行数据局域通信网络,是国际上应用最广泛的现场总线之一属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。 CAN总 线通过CAN控制器接口芯片上的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低 电平或悬浮状态。本回答被网友采纳
相似回答