【CAN】Hardware Object的配置规则

发布时间:2024年01月14日


>>返回总目录<<

1. 前言

在英飞凌的芯片中,MCAN模块有一块Message RAM,这块空间主要用来划分过滤空间、接收数据空间以及发送数据空间,至于如何切分Message RAM,由用户或者工具设置。虽然Message RAM区可以按需切割,但是,切割的顺序需要按照手册要求实现,Message RAM如下所示:
在这里插入图片描述
这里以Vector的Configurator配置工具进行介绍,对Can Controller中RAM缓存区的配置是在Can->CanConfigSet->CanHardwareObjects中进行配置的。
在这里插入图片描述

2 发送缓存区的配置

如果Hardware Object的Object Type配置为Transmit,则该Hardobject Object指向的是RAM缓存区的Tx Buffers。进一步,如果Handle Type配置为Full,则该Hardware Object占用Tx Buffers中的一个element(也即一个PDU缓存区),也可以说该element使用的是Tx Dedicated Buffer模式;如果Handle Type配置为Basic,则该Hardware Object占用Tx Buffers中的一个或多个elements,这个(些)elements使用的是Tx FIFO Buffer模式。
这里有一个Hardware FIFO的勾选项,如果一个Can Controller中配置了多个Basic类型的发送Hardware Object,其中最多只能有一个可以勾选Hardware FIFO配置项,否则配置界面会报错,其实不难理解,因为2.2节介绍过Tx Buffers中最多存在一个Tx FIFO Buffer。从界面中也可以看到,Hardware FIFO不勾选时,Object Hw Size配置项默认为1,不支持用户编辑,Hardware FIFO勾选后,才可以输入。
那么对于未勾选Hardware FIFO的Basic类型Hardware Object,其对应的element是什么缓存模式?
当配置两个Basic,默认都不勾选Hardware FIFO,默认Hw Size为1。此时寄存器中可以看到,只有两个Tx Dedicated Buffer,而没有Tx FIFO Buffer。由此可以看出,即使配置成Basic类型的发送Hardware Object,如果不勾选FIFO选项,其本质上还是一个Dedicated类型的element。
在这里插入图片描述
在这里插入图片描述
当配置两个Basic,其中一个勾选Hardware FIFO,且Hardware FIFO设置为20,另一个不勾选,默认Hw Size为1。此时寄存器中可以看到,有一个Tx Dedicated Buffer,和一个Tx FIFO Buffer,且其长度为20。也即2.2节中的Dedicated Tx Buffers 和 Tx FIFO结合使用模式。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

3 接收缓存区的配置

如果Hardware Object的Object Type配置为Receive,则该Hardobject Object指向的是RAM缓存区的Rx FIFO 0,Rx FIFO 1或Rx Buffer。进一步,如果Handle Type配置为Full,则该Hardware Object占用Rx Buffer中的一个element(也即一个PDU缓存区),也可以说该element使用的是Rx Dedicated Buffer模式;如果Handle Type配置为Basic,则该Hardware Object对应Rx FIFO 0或者Rx FIFO 1。这里注意, 一个CAN Controller只能配置两个Basic类型的Hardware Object,分别对应的是Rx FIFO0和Rx FIFO1,否则会报如下的错误。
在这里插入图片描述

4 Hardware Object的配置顺序

Hardware Object的配置顺序:Tx Full CAN -> Tx Basic CAN -> Rx Full CAN -> Rx Basic CAN,CAN Controller(n)的所有Hardware Object要在CAN Controller(n-1)之前。
在这里插入图片描述
Hardware Object在Mailbox中的处理顺序如下:
在这里插入图片描述
在中断场景时,Rx FullCANs优先Rx BasicCANs进行处理;在polling场景下,Rx FullCANs优先Rx BasicCANs进行处理。
在这里插入图片描述

文章来源:https://blog.csdn.net/m0_38045338/article/details/135580076
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。