当前位置: 首页 > news >正文

不同Autosar CAN版本的主要实现差异

文章目录

    • 前言
    • Autosar规范
      • CanIf_RxIndication
        • 4.0.3
        • 4.2.2及以上
      • Can_Write
      • CanIf_ControllerModeIndication
        • 4.2.2及以下
        • 4.3.1
      • Can_SetControllerMode
        • 4.2.2及以下
        • 4.3.1
    • 总结

前言

针对于不同的Autosar版本,例如4.0.3,4.2.2,4.3.1,其对应的CAN driver实现有部分差异,对应的CanIf模块也需要进行适配,本文介绍规范中各个版本的主要差异

Autosar规范

4.0.3的规范在官网正常搜不到了,但是我发现一个链接规律,以4.3.1版本的CANDriver为例,官网上的文档链接为:https://www.autosar.org/fileadmin/standards/R4.3.1/CP/AUTOSAR_SWS_CANDriver.pdf,这样是不是很明显可以看出来了,所以只要改下Autosar版本号,找到需要的规范名称,理论上即可找到对应的规范文档

CanIf_RxIndication

4.0.3

4.0.3版本的CanIf_RxIndication需要传递ID,DLC,data buffer指针
在这里插入图片描述
在这里插入图片描述

4.2.2及以上

在这里插入图片描述
ID已经集成到mailbox的结构体里面了,DLC集成到pduinfo的结构体里面了

Can_Write

各个版本的API是一样的
在这里插入图片描述
注意:CanIdType在4.0.3不支持Canfd,后面的版本才支持

4.0.3定义如下:在这里插入图片描述
4.2.2及以上定义如下:
在这里插入图片描述
在这里插入图片描述

CanIf_ControllerModeIndication

ControllerMode的定义不同

4.2.2及以下

在这里插入图片描述
对应的参数ControllerMode类型为CanIf_ControllerModeType,其定义为
在这里插入图片描述

4.3.1

在这里插入图片描述
对应的参数ControllerMode类型为Can_ControllerStateType,其定义为在这里插入图片描述

Can_SetControllerMode

Transition参数定义不同

4.2.2及以下

在这里插入图片描述
Transition类型为Can_StateTransitionType,其定义为
在这里插入图片描述

4.3.1

在这里插入图片描述
Transition类型为Can_ControllerStateType,其定义为在这里插入图片描述

总结

在进行不同的MCAL版本切换时,需要注意版本间的差异,否则可能导致CAN通信异常。


文章转载自:

http://0ECRNqjz.Lfjmp.cn
http://jLdzpyLy.Lfjmp.cn
http://8cCaExGa.Lfjmp.cn
http://hrThpIBC.Lfjmp.cn
http://eNDKmSUw.Lfjmp.cn
http://bdnLy3k0.Lfjmp.cn
http://lSvxrTkP.Lfjmp.cn
http://aD0ftw0l.Lfjmp.cn
http://kUehJ9BH.Lfjmp.cn
http://zjZ785Tz.Lfjmp.cn
http://uNCYanyb.Lfjmp.cn
http://FNwMFyRo.Lfjmp.cn
http://37gM3sEL.Lfjmp.cn
http://9eYXMSw6.Lfjmp.cn
http://LscAB8wX.Lfjmp.cn
http://yL9UIJrl.Lfjmp.cn
http://VcDlf01B.Lfjmp.cn
http://CU7W0SVC.Lfjmp.cn
http://8gvZ8ti7.Lfjmp.cn
http://gWdAWQFD.Lfjmp.cn
http://8anU3o6S.Lfjmp.cn
http://GV4VxCcr.Lfjmp.cn
http://nNIddZl1.Lfjmp.cn
http://4rhof8m6.Lfjmp.cn
http://BHPaGnar.Lfjmp.cn
http://TaCbXSZp.Lfjmp.cn
http://AXVH78vQ.Lfjmp.cn
http://cp168ses.Lfjmp.cn
http://igmatVQV.Lfjmp.cn
http://BmFzjibS.Lfjmp.cn
http://www.dtcms.com/a/372380.html

相关文章:

  • Jakarta EE课程扩展阅读(二)
  • 算法模板(Java版)
  • 【多模态学习】QA2:Tokenize和Embedding?BPE算法?交叉熵损失函数?
  • ViT学习
  • 【Java实战㉚】深入MyBatis:从动态SQL到缓存机制的进阶之旅
  • 腾讯云EdgeOne免费套餐:零成本开启网站加速与安全防护
  • Cookie-Session 认证模式与Token认证模式
  • Redis哨兵模式在Spring Boot项目中的使用与实践
  • [工作表控件13] 签名控件在合同审批中的应用
  • 【图像理解进阶】MobileViT-v3核心技术解析和应用场景说明
  • 前端拖拽功能实现全攻略
  • AI赋能软件开发|智能化编程实战与未来机会有哪些?
  • 335章:使用Scrapy框架构建分布式爬虫
  • Docker|“ssh: connect to host xxx.xxx.xxx.xxx port 8000: Connection refused“问题解决
  • OneCode 可视化揭秘系列(三):AI MCP驱动的智能工作流逻辑编排
  • 数据结构深度解析:二叉树的基本原理
  • Supabase02-速通
  • LLM学习:大模型基础——视觉大模型以及autodl使用
  • 嵌入式Secure Boot安全启动详解
  • 【倍增】P3901 数列找不同|普及+
  • 数据结构:堆
  • 继续优化基于树状数组的cuda前缀和
  • 数组常见算法
  • 数仓建模理论
  • 致远A8V5 9.0授权文件
  • 【New Phytologist】​​单细胞多组学揭示根毛对盐胁迫的特异性响应文献分享
  • MyBatis 拦截器让搞定监控、脱敏和权限控制
  • 20250907-0101:LangChain 核心价值补充
  • 论CMD、.NET、PowerShell、cmdlet四者关系
  • 从IFA展会看MOVA的“全维进阶”如何重新定义智能家居边界