【简介】
以下是 K3 的 FlexCAN 的功能框图,我们主要研究了解下框图中的RAMS 的资源划分情况。


CAN IP 内部集成了message buffer 用于缓存发送接收的报文,MBs 在CAN 内部的地址范围为 0x80~0x67f 根据CAN消息的payload 的不同对该部分区域进行管理,CAN报文的数据管理方式如下固定的8字节的header + payload的方式。

按照上述的管理方式可知Can 报文的payload 越小支持的MB数量越多8字节场景支持96MB,16 字节payload 支持0x600 /(8+16) = 64 , 64字节payload 支持0x600 /(8+64) = 21 个MB.
8字节和64字节数据格式对应RAM 分配如下:

MB 的空间同时也可以根据配置作为接收数据的RX_FIFO来使用,对应的数据管理方式如下。

使用多少个MB 作为接收过滤器可以通过该寄存器进行配置。

除了上述的使用MB作为接收过滤器的方式外,K3 芯片还支持了增强型的FIFO 该FIFO 的配置不占用MB资源,可以让更多的MB用于消息发送,对应的filter 的地址如下。

Filter 的配置支持如下的类型。

对应过滤器配置说明如下:

我要赚赏金
