首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CAN总线通信中ACK是否是强制的

在CAN总线通信中ACK是否是强制的
EN

Stack Overflow用户
提问于 2019-04-10 18:28:43
回答 3查看 1.1K关注 0票数 0

我正在为GPS追踪器做一个CAN模拟器,他们只记录CAN数据,不发送ACK。是否可以使用mcp2515/tja1050使用raspberry发送CAN数据,而总线上没有任何会触发ACK的设备?

EN

回答 3

Stack Overflow用户

发布于 2019-04-10 18:32:39

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

有些器件在仅发送CAN帧而不尝试重传时采用“一次性”传输模式。如果你的发射器有这个模式,你可以做你所描述的,否则你会得到很多重传。

票数 0
EN

Stack Overflow用户

发布于 2019-04-10 19:22:31

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

但是,出于开发/调试/测试的目的,您可以将您自己的节点设置为“回送模式”,这意味着它将与自己对话。如果你还需要合适的硬件的话,这是很方便的。

票数 0
EN

Stack Overflow用户

发布于 2019-04-12 21:32:21

您可以尝试将控制模式presume-ack设置为on。

假设您使用ip命令创建can套接字,如下所示

代码语言:javascript
复制
ip link set <DEVICE> type can presume-ack on

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55610268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档