首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Canbus总线冻结-如何忽略错误帧?

Canbus总线冻结-如何忽略错误帧?
EN

Stack Overflow用户
提问于 2022-02-07 22:21:06
回答 2查看 258关注 0票数 0

我正试图通过can与车辆控制单元(VCU)进行通信。我已经计算出命令(索引、数据和频率),并可以通过PCanView on Windows验证其功能。现在,我使用带有python-can库的Nvidia系统发送相同的命令,并且可以使用candump验证这些命令。然而,当我在发送这些命令时为车辆引擎供电时,canbus就会结冰(这是当VCU开始期待我发送的can命令时,如果它没有收到预期的数据,它就会陷入故障状态)

我过去曾成功地使用python与其他can设备对话,并且我对代码本身的正确性很有信心。硬件连接也很好,因为我可以接收来自车辆的非VCU消息.我还可以在重新启动canbus之后接收VCU消息。

是什么导致公共汽车僵住了?有什么办法可以预防吗?(通过在套接字中设置某种配置,可以自己分层吗?)

请注意,重新启动总线将不会解决问题,因为车辆一旦出现故障就无法恢复,除非重新启动。

任何帮助都将不胜感激!

EN

回答 2

Stack Overflow用户

发布于 2022-02-15 22:09:16

好吧,原来是硬件问题。CAN电缆的长度有点太长了。当车辆开机时,总线接收大量的数据传输,而CAN电缆上则充斥着大量的数据。我仍然不知道故障的机理,但减小电缆长度使其全部正常工作。

票数 0
EN

Stack Overflow用户

发布于 2022-03-10 20:38:57

电缆长度可能是原因,但要注意总线拓扑,尤其是CAN终端所在的位置。

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

https://stackoverflow.com/questions/71026164

复制
相关文章

相似问题

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