CAN总线通信中是否必须ACK

问题描述 投票:0回答:3

我正在为GPS跟踪器制作CAN模拟器,它们只记录CAN数据并且不发送ACK。是否可以使用覆盆子发送CAN数据,使用mcp2515 / tja1050,总线上没有任何会触发ACK的设备?

raspberry-pi3 can-bus socketcan
3个回答
0
投票

这通常会产生连续的重传。

一些设备在发送CAN帧时具有“一次性”发送模式,并且不尝试重发。如果您的发射器具有此模式,您可以执行您所描述的操作,否则您将获得大量重新传输。


0
投票

不可能,您需要至少2个积极参与通信的节点。然而,这可以通过在总线上提供另一个CAN控制器来解决,除了ACK部分之外,它不需要做任何智能操作。

但是,对于开发/调试/测试目的,您可以将自己的节点置于“环回模式”,这意味着它将与自身对话。如果您还有合适的硬件,可以派上用场。


0
投票

您可以尝试将controlmode presume-ack设置为on。

假设您正在使用ip命令创建类似的插槽

ip link set <DEVICE> type can presume-ack on

这将忽略丢失的ACK。但是我不确定这是否适用于所有控制器。

© www.soinside.com 2019 - 2024. All rights reserved.