32G12K128--CAN过滤器--掩码模式?
请问一下,1. 32G的CAN目前的滤波器,实际就是掩码模式么? 目前并不具有列表模式。对么?
2.掩码模式用于过滤出一组符合要求的ID,而列表模式用于过滤出一个或多个符合要求的ID。
那么在当前32G的CAN滤波器配置下,我们只能过滤出一组相对连续范围内的ID,如果在同一个总线网络内,存在标准帧和扩展帧,且ID的覆盖范围很大(包括MCU需要识别和无需识别的ID);这样,滤波器就参数就非常不好配置了。请问有什么办法和建议处理这样的情况么?
3.实际运用是一个热管理控制器运用,该型车没有做网关隔离,导致总线挂的整车VCU,中控屏,DC/DC , BMS等设备都在一个网络内,各种数据都在总线上,许多数据我的热管理控制器并不需要,但是需要的数据也比较多且ID分布比较广。控制器必须要使用滤波。 可选的方案是将can1和can2两个外设都挂进can总线网络
然后一个专门用来收集标准帧,一个专门用于收集拓展帧
设置方法是,将所有想要获取的id相或,例如想要收集id3和id5
那么就是acr=111 amr=010(相异或,0是进行比较,1是放弃比较)
当然,这样可能会导致接受标准帧的部分有接收到拓展帧,但是总比全接受过来好得多
或者可以让标准帧的数据部分也参与进来,这样碰撞的概率就大大降低了
亦或者是设定想要读取到的id后,等待读取到数据,然后再切换amr和acr寄存器,读取下一个想要的数据,唯一的问题就是会漏数据,这个主要看对遗漏数据的接受程度了,如果对面是一直广播发送,漏一两个数据也无所谓的情况,这么用也是可以的 王昱顺 发表于 2025-3-29 07:43
可选的方案是将can1和can2两个外设都挂进can总线网络
然后一个专门用来收集标准帧,一个专门用于收集拓展帧 ...
嗯 ,感谢。CAN1总线和CAN2总线,都在不同网络内,
CAN1接口的网络相对干净,主要是CAN2存在这个问题。
看样子,基于目前MCU的情况,也只能是尽量过滤了,
想要达到S32K或者TraveII的效果确实不行。
再次感谢。
页:
[1]