输入图片描述
我对CAN HW对象感兴趣。
我意识到CAN接受过滤器,在改变CAN ID过滤。
为什么在接收中可以存在硬件接受过滤器?
当收到CAN消息时,是否执行CAN仲裁程序?
发送CAN报文时,是否需要进行CAN仲裁?
接受过滤器用于根据其id过滤接收到的CAN消息,以便固件不会被它不感兴趣的消息中断。过滤器在硬件接收到消息后应用。如果消息不能通过任何过滤器,它将被丢弃。这可以防止不必要的硬件中断。
TX端不需要任何过滤器,因为固件设计者选择发送什么。
每个节点在传输期间通过对总线进行采样来执行CAN仲裁过程。如果发送节点仲裁失败,则停止发送,稍后再试。
总线上的节点只接收赢得仲裁的消息。仲裁程序是必不可少的。CAN协议的一部分,它总是在那里和必要的。