打印
[其他ST产品]

ST芯片 CAN 滤波器配置(简约版)

[复制链接]
634|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
这篇**默认若干细节已经被知道了:

CAN 消息 ID 的组成
CAN 消息的 ID 的竞争的原理(类似“线与”的特性)
另外,没有照搬 ST 的参考手册,翻译一遍也没啥意义。
但是,手册一定要读,如果想对自己的代码彻底放心的话。
也没有放代码,硬件配置相关的操作,放代码没有多大意义。

总体原则
STM32 的 CAN 收发的总体原则是,硬件邮箱(就是几组发送缓存)发送,硬件 FIFO 接受。
要知道 滤波器的配置仅和接收有关;发送的消息的 ID 是组包时“随意”写的(这里的随意是指,硬件没有做限制)。
滤波器配置的核心资源是 filter banks,这是一组外设寄存器,它们的配置和使用是相当灵活的(通过若干个相关寄存器的设置)。
相关寄存器的名字啊,配置细节啊,还是参考手册吧,这里就不堆砌了。
filter banks
假设有 28 个 filter banks,那么这 28 FB 是可以任意被分配给 FIFO0 或者 FIFO1 的(有个寄存器,忘记叫啥名字了)。
Each filter bank i is composed of two 32-bit registers. ——每个 filter bank 都是成对的 32bit 的寄存器。
为什么会有两个呢?这两个该怎么用呢?

使用特权

评论回复
沙发
王派oo|  楼主 | 2022-4-30 23:58 | 只看该作者
Identifier Mask / Identifier List
这涉及到 ST 芯片设计的两个模式,屏蔽位模式 / ID 列表模式。(名字是我自己起的)
一个 filter bank 被设置为屏蔽位模式 Identifier Mask 后,可以过滤一组 CAN ID,符合约束条件的 ID 的消息都被接收。
一个 filter bank 被设置为 ID 列表模式 Identifier List 后,仅匹配一个 CAN ID,和这个 ID 相等的消息才被接收。

使用特权

评论回复
板凳
王派oo|  楼主 | 2022-4-30 23:59 | 只看该作者
Identifier Mask
In mask mode the identifier registers are associated with mask registers specifying which bits of the identifier are handled as “must match” or as “don’t care”.

使用特权

评论回复
地板
Pulitzer| | 2022-10-7 08:05 | 只看该作者

在掌握对象的变化频度时是有效的

使用特权

评论回复
5
Uriah| | 2022-10-7 15:06 | 只看该作者

中断产生于单片机内部和外部的各种设备

使用特权

评论回复
6
Bblythe| | 2022-10-7 18:05 | 只看该作者

多次检查也会给单片机带来负荷,对功耗不利

使用特权

评论回复
7
童雨竹| | 2023-6-1 07:02 | 只看该作者

分别记录车牌区域的上下高度。然后通过RGB-HSV颜色转换

使用特权

评论回复
8
Pulitzer| | 2023-6-1 08:05 | 只看该作者

通过OV7670摄像头进行图像采集

使用特权

评论回复
9
公羊子丹| | 2023-6-1 09:08 | 只看该作者

根据色彩的变化记录每一行的颜色跳变点,由此识别出车牌区域。

使用特权

评论回复
10
公羊子丹| | 2023-6-1 10:01 | 只看该作者

图像由前景和背景组成,在灰度直方图上,前景和背景会形成高峰,在双峰之间的最低谷处就是阈值。

使用特权

评论回复
11
Wordsworth| | 2023-6-1 11:04 | 只看该作者

要将多余空间去除。对于第一个字符从第一行开始向下扫描,把那些一行中所有的点的灰度值全为0的点去掉,直到扫描到有一行不全为0时为止。

使用特权

评论回复
12
Clyde011| | 2023-6-1 12:07 | 只看该作者

计算量小,计算快。缺点也严重:在不同的图像中,颜色分布差别大,处理效果也不会很好。

使用特权

评论回复
13
万图| | 2023-6-1 14:03 | 只看该作者

切割完了第四个字符之后,再依次扫描剩下的空间,直到所扫描的这一竖上的所有点的灰度值不全为0时,认为是字符的开始并依次扫描直到所扫描的这一竖上的所有点的灰度值全为0时认为是字符的结束。

使用特权

评论回复
14
Uriah| | 2023-6-1 15:06 | 只看该作者

需要设定一个阈值来对像素点进行设置

使用特权

评论回复
15
帛灿灿| | 2023-6-1 17:02 | 只看该作者

在内存中开辟七个长为车牌长的七分之一和宽为车牌宽的区域

使用特权

评论回复
16
Bblythe| | 2023-6-1 18:05 | 只看该作者

二值化就是让图像的像素点矩阵中的每个像素点的灰度值为0(黑色)或者255(白色

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

306

帖子

0

粉丝