为什么接收中存在硬件接受过滤器?



输入图片描述

我对CAN HW对象感兴趣。

我意识到CAN接受过滤器,在改变CAN ID过滤。

为什么在接收中可以存在硬件接受过滤器?

当收到CAN消息时,是否执行CAN仲裁程序?

发送CAN报文时,是否需要进行CAN仲裁?

接受过滤器用于根据其id过滤接收到的CAN消息,以便固件不会被它不感兴趣的消息中断。过滤器在硬件接收到消息后应用。如果消息不能通过任何过滤器,它将被丢弃。这可以防止不必要的硬件中断。

TX端不需要任何过滤器,因为固件设计者选择发送什么。

每个节点在传输期间通过对总线进行采样来执行CAN仲裁过程。如果发送节点仲裁失败,则停止发送,稍后再试。

总线上的节点只接收赢得仲裁的消息。仲裁程序是必不可少的。CAN协议的一部分,它总是在那里和必要的。

最新更新