TI中文支持网
TI专业的中文技术问题搜集分享网站

SN65HVD231: CAN帧重复发送

Part Number:SN65HVD231

您好:

我选择了两块CAN芯片(SN65HVD231DR)在两个芯片之间进行通讯。MCU发送数据给CPU,CPU不回。

 如图。

在红色的点,看CAN的通讯报文,发现有一些帧,非固定,会有一帧多次发送的现象。但是在黄色的点看CAN的通讯报文,不会出现一帧多次发送的情况。

请问这个问题是什么原因?如何解决?

Kailyn Chen:

CAN芯片2到CPU的距离很长吗?

一帧多次发送,我想是因为通讯数据有误,所以会自动重发,保证通讯正确。

一帧多次发送,有错误报文吗?

,

yulong feng:

芯片的距离不长。

在总线上看,是没有多次发送的情况的。只有经过了CAN芯片2后连着CPU端的报文出现了重复发送问题。

没有错误的报文,比如重复发了三次,报文都是一样的。

,

Kailyn Chen:

您好,CAN收发器的职责很简单:它所要做的就是获取 TXD 上的内容并将其置于 CAN 总线上。 然后,它接收 CAN 总线上的任何数据并将其放置在 RXD 引脚上。CAN2目前是多次发送,是因为它在TXD端接收到了数据。所以我怀疑不是收发器的问题。是不是CAN控制器的设置问题。

CAN控制器的职责:设置 CAN 帧,然后通过 TXD 引脚将其发送到 CAN 收发器。 然后,如果它看到 CAN 帧返回到 RXD 引脚,它将对该帧进行解码,并将其转换为 MCU 可以理解的数据。

,

yulong feng:

Hi,针对问题我再进一步描述一下。

图中的CAN芯片是您说的收发器。

目前是MCU发,CPU是只接收,不回复。且黄色的位置(总线),报文不会重复发送。我理解的CAN控制器应该是MCU内部的一个模块(是这样吗?还是我弄错了)

按照我的理解,我认为MCU的CAN控制器是没问题的,否则总线上应该也是会重复发送?

,

Kailyn Chen:

是的,您没理解错,SN65HVD231是收发器,也就是架构图里的CAN1和2, 控制器是MCU的一个模块。

总线上看不到重复发送,那么CAN2多次发送的数据不是从总线上获取的吗?确实是个很奇怪的现象。

CAN2更换一片试试呢?

,

yulong feng:

谢谢您的回复。

CAN2多次发送的数据是从总线上获取的,没有其他的途径了。CAN2这边也换了一个芯片试过,但是是同型号的。我再尝试下看看能不能换个其他型号的芯片。如果有想到其他的方法请给我留言~谢谢!

,

Kailyn Chen:

yulong feng 说:CAN2多次发送的数据是从总线上获取的,没有其他的途径了

是的。好我这边也再看看这个问题,然后有任何思路都会给您答复。

,

yulong feng:

Hi,我这边发现问题了,是这个监控报文的CANtool只能接在CANH和CANL上(黄色点处),接在其他地方可能就会导致一些问题。

,

Kailyn Chen:

您好,非常感谢您的反馈。后续有其他问题,我们再讨论。

赞(0)
未经允许不得转载:TI中文支持网 » SN65HVD231: CAN帧重复发送
分享到: 更多 (0)