如何解决为什么 CAN 硬件接受过滤器存在于接收中?
我对 CAN HW 对象感兴趣。
我知道 CAN 接受过滤器改变了 CAN ID 过滤。
为什么在接收中存在 CAN 硬件接受过滤器?
当收到CAN报文时,是否执行CAN仲裁程序?
发送CAN报文时,是否不需要CAN仲裁?
解决方法
接受过滤器用于根据接收到的 CAN 报文的 ID 对其进行过滤,这样固件就不会被它不感兴趣的报文所中断。过滤器是在硬件收到报文后应用的。如果消息无法通过任何过滤器,则将其丢弃。这可以防止不必要的硬件中断。
TX 端不需要任何过滤器,因为固件设计者选择发送什么。
每个节点在发送期间通过对总线进行采样来执行 CAN 仲裁程序。如果发送节点仲裁失败,则停止发送,稍后再试。
总线上的节点只接收赢得仲裁的消息。仲裁过程是 CAN 协议必不可少的嵌入部分,它始终存在且必要。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。