This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: can驱动调试:无法新增过滤器。

Part Number: TDA4VM


Hi~,

我在调试tda4vm mcu域的can驱动的时候,配置的过滤器id以及掩码如下:

使用的测试工具:canoe。

但是当我想新增can过滤器的时候,比如说我想新增第十个过滤器的时候,通过canoe发送的该数据帧无法收到,在调试时发现,发送第十个新增的数据帧时,无法触发can的中断,无法通过中断处理函数获取数据。

我猜测tda4vm的can处理流程是:can节点先将数据帧发送到总线,can处理器先将数据帧进行过滤,过滤成功后的数据帧,才会触发can中断,才开始处理数据帧。
所以我猜测是can处理器在通过掩码进行过滤时,无法过滤,导致无法触发中断。
希望ti工程师能帮忙验证我的猜测,并且能提供该问题的解决方法。谢谢。

  • 已为您咨询TI资深工程师,一旦得到回复会立刻回复给您

  • can节点先将数据帧发送到总线,can处理器先将数据帧进行过滤,过滤成功后的数据帧,才会触发can中断,才开始处理数据帧。

    是的,只有当 CAN 帧通过接受过滤器时才会触发中断。在 CAN 系统中,一个节点将数据帧发送到总线上,然后总线上的所有其他节点都会接收到该数据帧。然后每个节点根据它们的 CAN 标识符和掩码值过滤传入的数据帧,以确定它们是否应该处理该帧。

    您需要验证掩码设置是否正确,并使用不同的 CanHwFilterCode 值进行测试。

    您是否使用与第十个过滤器图像中提到的相同的掩码值?如果是这样,那么您需要处理 CanHwFilterCode。

    我可以知道您在 TDA4VM 中使用的是哪个 SDK 版本吗?

    请使用 MCAL 配置器在配置文件中添加更改。