e栈轻量AUTOSAR方案介绍(LightSAR)

85d2e06dd99d7d43dd2b95d4fc79f478.png

轻量AUTOSAR架构示意

 

---轻量AUTOSAR方案概述---

  • 什么是轻量AUTOSAR?

    轻量AUTOSAR指的是将标准AUTOSAR中的BSW服务模块ECU抽象层模块功能轻量化的轻AUTOSAR版本。轻量AUTOSAR在保证软件架构、各功能栈功能符合标准AUTOSAR的前提下,简化功能栈内各模块功能,实现常用的基本功能。因为功能的精简,得以模块的配置项减少,易于维护,功能稳定,使用者可以通过手动修改配置项并辅助必要的代码生成工具(如通信栈)就可以实现常用的功能,具有以下优点

    ①摆脱繁琐的配置工具的使用

    ②源代码交付,可读性高,可手动修改配置并使用

    ③无需昂贵且局限的License、工具等费用

    ④功能精简,执行效率提高

    ⑤快速、高效、低成本地实现AUTOSAR方案落地

    ⑥功能栈间耦合度低,可灵活选择仅单功能栈或部分功能栈轻量实现

    ⑦符合AUTOSAR标准,能与系统现有的AUTOSAR功能栈兼容并存

 

  • 轻量AUTOSAR适用范围?

    适用于软件上需要符合AUTOSAR架构,但是只需要使用到标准AUTOSAR中一些常用的基本功能,又无力承担目前市场上标准(全功能)AUTOSAR方案所需的高昂费用的,使用CAN或LIN通信的中小型项目。相比于费用高昂的标准AUTOSAR方案,更为适合中小项目使用,可以高效、低成本、快速的在项目上部署AUTOSAR。

 

  • 轻量AUTOSAR主要实现的功能

  • 支持CAN、LIN通信总线(Com stack)

  • 支持周期性TASK的简单周期调度,非抢占(Os)

  • 支持基本上下电管理(EcuM)、通信管理(ComM)

  • 支持总线基本状态管理(CanSm)、网络管理(Nm)

  • 支持基本诊断(Dcm、Dem)、标定(Xcp)、存储(Nvmstack)

  • 支持基本看门狗管理(WdgM)

  • 支持IOHWAB硬件抽象管理,支持各种Sbc、Trcv、IO驱动芯片驱动   

 

  • 轻量AUTOSAR架构

    轻量AUTOSAR同标准AUTOSAR一样,BSW部分仍然由MCAL+ECU抽象层+BSW服务3层组成,简化其中的BSW服务层和ECU抽象层模块,这些模块大部分可通过简单的手动修改配置+etool通信栈一键代码生成工具进行维护,不再依赖复杂的工具配置,无项目、产品License限制。

    轻量AUTOSAR方案主要模块如下:

3f967653c2ede0249d6b8361260baf02.png

轻量AUTOSAR组成方案

注:MCAL部分仍然需要由各MCU厂商提供MCAL包(这部分不同MCU的实现差异性很大,硬件关联性高,很难独立于硬件单独存在,因此由各MCU厂商主导开发最为合适)。

 

---各组件功能与方案详细介绍---

1,轻量BSW服务

  • Os

    e栈社区提供轻量Os解决方案(不支持任务抢占),基于Gpt定时触发实现了TASK调度(包括周期性和初始化TASK的调度),通过配置AlarmCycle和AlarmTime设置TASK执行周期和间隔执行时间。提供标准的StartOS/ShutdownOS等接口和TASK定义,更多信息见轻量OS方案介绍

     

  • EcuM

    EcuM负责系统的上电初始化、下电流程管理等。e栈社区提供轻量EcuM模块,实现AUTOSAR标准的上电流程管理、状态管理、下电管理。更多信息见轻量EcuM方案介绍

    d492b34b0c10355577a09dc7336ea385.png

    EcuM代码示意

     

  • WdgM

    WdgM负责程序Alive、Deadline、程序流等监控,并在监控到异常时通过看门狗执行复位或进入安全模式。e栈社区提供轻量WdgM模块,实现AUTOSAR标准中基本的看门狗管理、程序Alive监控功能。更多信息见轻量WdgM方案介绍

     

     

  • NvM

    NvM负责系统的NvRAM数据管理,如上电读取、下电存储等。e栈社区提供轻量NvM模块,实现AUTOSAR标准中的Read/Write Block、ReadAll/WriteAll等操作。更多信息见轻量NvM解决方案介绍

     

     

  • ComM(Can/Lin)

    ComM提供系统级别的通信管理服务。e栈社区提供AUTOSAR标准接口的ComM模块,通过CanSM、CanNM、Com实现对通信状态的管理,内部具体实现用户可根据项目实际情况进行调整。更多信息见轻量AUTOSAR方案ComM模块代码包介绍

     

     

  • CanSM/LinSM

    CanSM负责CAN控制器、收发器的状态管理,包括Busoff管理等。e栈提供AUTOSAR标准的轻量CanSM模块,实现基本CAN控制器、收发器的收发状态管理,和Busoff的快恢复、慢恢复管理。更多信息见轻量AUTOSAR方案CanSM模块代码包介绍

     

  • CanNM

    CanNm提供一种直接、分布式的网络管理方式。e栈社区提供轻量CanNM模块,实现基本的网络管理状态机、网络管理报文发送控制,PNC局部网络管理。更多信息见轻量AUTOSAR方案CanNM模块代码包介绍

    可拓展支持Osek NM网络管理。

     

     

  • Com(Can)

    AUTOSAR中,Com模块为系统提供基于信号的通信服务。e栈社区提供轻量Com通信栈(Can),实现包括报文发送控制,报文组包、解包,超时监控,CRC/RC校验,PduGroup通信控制,Buffer发送等标准AUTOSAR Com服务。更多信息见轻量AUTOSAR方案Com通信栈介绍

     

     

  • Xcp/Ccp

    e栈社区提供简易Xcp、Ccp模块,实现了基本的测量和标定功能。更多信息见公众号内菜单-》BSW服务模块库。

     

  • Dcm

    e栈社区提供轻量Dcm模块,实现基本的诊断服务解析、响应、session管理、secure管理,用户可根据项目的诊断需求,手动配置该模块以实现更多诊断服务。

     

  • Dem

    e栈社区提供轻量Dem模块,实现故障debounce、故障记录等基本功能。

 

2,ECU抽象层

    ECU抽象层提供板级外设芯片的驱动(比如外部看门狗、Can收发器等)和相应的接口抽象模块(比如WdgIf、CanIf等),这部分模块用户可以选择自主开发或者由AUTOSAR方案供应商代为开发,e栈社区提供一下常用的Sbc、Transceiver、高低边等外设芯片的驱动代码包,详见公众号内菜单-》外设驱动库。

    e栈社区目前提供以下功能组件的代码包和解决方案:

 

  • Sbc/WdgExt/WdgIf

    e栈社区提供AUTOSAR标准接口的WdgIf模块,并提供常用的Sbc的驱动(如TLF35584FS6500等,Sbc一般包括电源管理、看门狗、Can/Lin Transceiver等功能)。用户也可以选择自主开发或从第三方购买,驱动接口需遵循AUTOSAR标准接口,e栈社区提供Sbc驱动的定制开发工程服务。整体WdgM看门狗管理栈轻量解决方案见WdgM模块代码包介绍

 

  • Fee/Ea/Eep/MemIf

    e栈社区提供AUTOSAR标准接口的MemIf模块,用户可根据实际项目情况,调整里面的调用。Fee一般随同MCAL包一同提供。整体NvM存储栈轻量解决方案见NvM模块代码包介绍

 

  • CanTrcv/CanIf/LinTrcv/LinIf

    e栈社区提供AUTOSAR标准接口的CanIfLinIf模块,并提供常用的CanTrcv、LinTrcv驱动,如TJA1145等。用户也可以选择自主开发或从第三方购买,驱动接口需遵循AUTOSAR标准接口。整体通信服务栈轻量解决方案见轻量AUTOSAR方案Com通信栈介绍

 

  • IoExtDrv

    IoExtDrv指的是高低边驱动、H桥驱动、外部AD采集、RTC等外设芯片的驱动,这些驱动抽象化了IO类外设芯片的驱动,如97889301等,提供驱动接口给IoHwAb调用。e栈社区提供部分常用的高低边、H桥、AD采集、RTC等芯片的驱动,目前支持的外设驱动见公众号内菜单-》外设驱动库。如果项目使用的外设不在列表内,需要用户自主开发或从第三方购买。

 

  • IoHwAb

    IoHwAb全称为IO Hardware Abstraction,为上层提供硬件板子上所有IO资源的抽象化接口,在接口内一般调用MCAL接口和各外设驱动提供的接口以访问到具体的IO资源。用户在理清所有硬件资源后,就可以自己设计IoHwAb接口并codeing实现接口。IO栈功能详细介绍见CP AUTOSAR功能栈简介-IOHWAB

 

3,MCAL

    MCAL全称为Microcontroller Abstraction Layer,实现MCU驱动,并且AUTOSAR标准详细定义了各模块应提供的驱动接口,包括但不局限于MCU驱动、CAN驱动、Fls驱动等。一般MCAL驱动包由MCU芯片厂商免费提供或有偿提供,用户在拿到MCAL包后需根据自己设计的硬件资源和功能,对MCAL进行配置开发,以实现具体的硬件功能。e栈社区可提供对MCAL包的配置、开发和支持服务。

80a292c79043d902335116e91157861f.png

MCAL模块示例

4,etool工具

    为提供项目开发效率,特别是通信栈、诊断栈的更新维护,e栈社区提供了一套etool工具,一键生成配置代码,详见etool使用手册

   通信栈配置方面,etool可以自动转换通信数据库文件(如dbc、ldf),生成完整的通信栈配置代码,包括Pdu、Signal、Pack/Unpack Api、Rte Com、Initial Value等完整的通信栈配置和代码,实现一键更新通信矩阵,简化项目开发过程中更新通信栈的开发维护工作,提升整体项目开发效率。

529bbb3ba8c20146f2fb3e464b77716b.png

etool一键生成通信栈代码示例

    诊断栈配置方面,etool提供一个Excel文件,在Excel中配置好项目所需要的DID、DTC、Snapshot、ExtendedData等数据后,可通过etool一键生成诊断栈配置代码和用户需要实现的User API接口和框架(如获取DID数据等),用户仅需更新实现这些User API即可。

d0ec32e4d222c0f42df4a0db3f5b2ca9.png

 

etool配置诊断栈示例

9113725e9361875394a05e536c301da7.png

etool配置诊断栈生成示例

edd326a4df4632dc66c4872bb9fd7330.png

e083b8b949102bdfe0bf5e074c504543.png

etool配置诊断栈生成代码示例

 

 

e栈社区拥有一套完整的轻量AUTOSAR技术解决方案,应用项目广泛,代码成熟,相比于费用高昂的标准AUTOSAR包,更为适合中小项目使用,可以快速、高效、低成本的落地AUTOSAR。微信关注“e栈社区”工作号或添加“estacks”微信了解更多!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值