【CAN】Basic CAN和Full CAN

发布时间:2024年01月14日


>>返回总目录<<

1 Basic CAN和Full CAN区别

Basic CAN和Full CAN的定义在AUTOSAR_SWS_CANDriver中的描述如下,Basic表示一个HardwareObject可以处理多个L-PDUs,Full表示一个Hardware Object只能处理一个L-PDU。Basic和Full是针对CAN Controller的缓存架构来说的,Full CAN的特征是一个buffer对应一个ID的报文,且新的报文会覆盖旧的报文,不会被缓存,Basic CAN的特征是以FIFO buffer的方式缓存特定ID报文,可以缓存一定的历史报文。
在这里插入图片描述

2 Basic CAN和Full CAN使用场景

  • 1. 应用报文
    一般配置成Full CAN,一般不需要缓存历史报文,使用最新接收的数据即可。对于发送的应用报文,如果都配置成Full CAN,而RAM中发送硬件缓存数量最多为32,那么只能发送32帧报文,而项目中实际需要发送的应用报文一般大于32帧,此时可以将比较重要的报文配置成Full CAN,其他报文配置成Basic CAN。这样硬件发送缓存区Tx Buffers就采用Dedicated Tx Buffers 和 Tx FIFO结合使用的配置方式。
    在这里插入图片描述

  • 2. 诊断报文

  • 配置成Basic CAN,因为诊断报文需要按照顺序进行处理,且数据不能被覆盖。

  • 3. 网络管理报文
    接收的配置成Basic CAN,因为一个节点接收的是一个区间内的NM报文;发送配置Full和Basic都可以,一般配置成Full,因为每个节点发送的NM报文的CAN ID是唯一的。

  • 4. 标定报文
    一般配置成Full类型。


参考:
[1]【AUTOSAR-CAN】CAN的 “BasicCAN架构” 和 “FullCAN架构”
[2] Autosar通信栈:FullCAN和BasicCAN基础

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