你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于STM32双路CAN1、CAN2滤波器分配CAN2SB

[复制链接]
亮-414869 提问时间:2017-11-28 17:10 /
芯片:STM32F429 事由:因为之前一直使用CAN1,这次CAN1的端口被占用了,所以接到了CAN2上,所以就涉及到了CAN1、CAN2共用的滤波分配问题。CAN2的起始滤器编号定义在CAN_FMR中的CAN2SB中,官网资料是这样叙述的:


当CAN2SB[5:0] = 28时,所有CAN1的滤波器都能够被使用,我理解的是都能够被CAN2使用,此时CAN1、CAN2共用这28个滤波器。
当CAN2SB[5:0] = 0时,不会为CAN1分配任何滤波器,我理解的是都分配给CAN2使用,此时CAN2独用这28个滤波器。
然而,当我分别把这个值设为28和0时,发现结果一样的,CAN1、CAN2都可以用这28个滤波器。这我就纳闷了,并对其他的值的实际效果作了怀疑。于是全部做了测试。由于CAN2SB[5:0],占了6位,最大值是63,所以测试时没我没局限在28,而是从0测到63.结果如下图:

总结一下测试结果:
当值 num为0时,CAN1、CAN2可用全部28滤波器;
当1<= num <= 27时,CAN1使用编号0 ~ num-1滤波器,CAN2使用编号num-1 ~ 27的滤波器,符合文档描述。
当28<= num <=58时,CAN1、CAN2可用全部28滤波器;
当59<= num <= 63时,CAN1使用编号0 ~ num-59滤波器,CAN2使用编号num-59 ~ 27的滤波器。

疑问1:当num = 0时,与文档描述不符,还是我理解的不对?
疑问2:当num >= 28时,CAN1、CAN2可用全部28滤波器,为什么当num >= 59后又发生了变化呢?我看了一下58、59的二进制并没有特别啊。
有没有研究过这个问题的朋友出来发表一下意见。
还请ST的FAE看到后,给我们做一下解答。

CAN2SB

CAN2SB

测试结果

测试结果
收藏 1 评论2 发布时间:2017-11-28 17:10

举报

2个回答
夜太黑 回答时间:2020-11-19 17:50:05
顶一下,,,,三年了都没人回复!!!!!!!!
遇事不决 问我春风 回答时间:2021-9-24 18:06:34
楼主你好,我现在也在测STM32F407双路CAN的问题,但是怎么设置CAN2SB都无法将过滤器分配给两路CAN,他们一直都是共用的,想请教你当时是怎么配置的,有源代码吗,可以的话分享给我,840312033@qq.com,非常感谢!

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版