AutoSAR入门到精通讲解 (AuroSAR-CP描述) 1.1 AutoSAR-CP简介

1. 概述

近年来,自动驾驶新能源汽车比较火爆,AutoSAR工程师也是极奇需缺,本专栏记录AutoSAR学习过程。

2. 什么是AutoSAR

2.1 简易描述

AUTOSAR 就是Automotive Open System Architecture的简称,中文翻译就是汽车开放系统架构。 将汽车电子控制单元(ECU)的软件底层做了一个标准的封装。使得大家都能共用一套底层软件,只需要修改其中的一些参数,就可以匹配不同硬件,也可以匹配不同的应用层软件。如此之后,用户只需要专心负责应用层功能开发即可,底层都交给AutoSAR工程师就行了更加容易理解但不是很准确的讲就是: “就是一套写的比较好的底层软件”。其实现了硬件驱动的封装(类似于STM32的库),实现了操作系统的功能。用户只需要开发操作系统上层的软件应用即可(类似于基于安卓开发App

2.2 AutoSAR架构描述

首先我们来看一张整体的架构图,以后我们会在这张图上细分和深入,添加细节来补充完整。首先就能看出AutoSAR主要分为3个层级:应用软件层(AppL),实时运行环境(RTE)和基础软件层(BSW

  • 应用软件层(Application Layer):存放用户应用层代码的地方
  • 实时运行环境层(Runtime Environment):提供应用层所需要的一些资源,同时将应用层和底层分离
  • 基础软件层(Basic Software):这一层从图中就可以看出,比其它几层都庞大,它主要是将对硬件的操作封装成统一AutoSAR标准的接口,供上层系统调用,需要将其封装到一个标准操作系统的状态才行
  • 硬件层(Hardware):由硬件工程师设计的PCBA
    在这里插入图片描述

3. AutoSAR层级介绍

3.1 应用软件层(APPL)

该层是由一个一个SWC组成的,每个SWC咱们可以理解为一个.c文件,而整个应用软件层就是一个文件夹。如下图说明了对应关系,可以看出,这里的整个工程就是我们的AutoSAR架构,而其中的AppLRTEBSW都分别对应一个文件夹,而我们的SWC组件就是一个一个的.c文件(和.h

  • (注意:标准AutoSAR工程与其有较大差异,这里只是做一个大致划分)

在这里插入图片描述

3.2 实时运行环境层(RTE)

什么是RTE呢?将硬件层比做我们常用的PC主机,BSW层比作我们的Ubuntu或者Windows系统,AppL就是QQ、微信等应用程序,而RTE就像是虚拟机(VM)一样,兼容各个硬件平台,AppL可以随意跑在上面。

3.3 基础软件层(BSW)

基础软件层又分为四大类,分别是如下描述:

  • 硬件抽象层(MCAL):可能用过STM32的童鞋应该都知道库的概念,硬件抽象层又叫MCAL,就是将芯片的寄存器操作都封装成一个AutoSAR规定的统一的库Api。就是说这套Api是不同厂商都支持的,但是底层怎么实现,就是芯片厂商的事了。同时也有软件工具EB,可以通过界面配置MCAL功能
  • ECU抽象层:如果说MCAL只封装了芯片,那么ECU抽象层就是将硬件上所有的硬件都进行了封装。比如我们的控制器上有一个主芯片英飞凌的TC397,还有采样电路,电源电路,CAN电路等等。而MCAL就是封装了芯片上有的功能。而ECU抽象层就是将所有的这些都做一个统一的封装。所以不管硬件是如何实现的,这里封装后,也形成了统一的Api
  • 服务层:这里有是更加高级的一层了,服务层里是包含操作系统(OS)的。OS将使用ECU抽象层的Api,再对上层暴露出服务接口,其实就是嵌入式实时操作系统(RTOS)所作的工作。
  • 复杂驱动:又叫做CDD,主要工作是将AutoSAR未定义的一些功能封装起来,给应用层提供接口来调用这些功能。(简单说就是其他的概念)

4. AutoSAR工具链介绍

目前主流的主要是以下两种开发模式:

  • MATLAB + DaVinci(国内主流,参考书籍有《基于AUTOSAR规范的车用电机控制器软件开发》)
  • MATLAB + ETAS(博世和联电主要用这个,参考书籍有《AUTOSAR规范与车用控制器软件开发》)

4.1 工具链介绍

这里主要介绍第一种国内主流的工具链:MATLAB + DaVinci

  • MATLAB :主要是应用层做算法用的,比较方便实用
  • DaVinci Developer:主要用来搭建设计APPL的框架架构
  • DaVinci Configurator pro: 主要用来配置BSW和自动生成RTE

返回总目录

  • 67
    点赞
  • 497
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
课程大纲1-什么是 AutoSAR 为什么要学习 AutoSAR2-AutoSAR课程大纲3-用Linux操作系统思维理解AutoSAR4-AutoSAR出现的背景和行业状况5-AutoSAR运行的硬件环境ECU6-AutoSAR优势和代码演示7-AutoSAR开发方法论8-汽车电子岗位介绍9-AUTOSAR工具链讲解10-BSW概述-111-BSW概述-212-CAN总线物理层讲解-113-CAN总线物理层讲解-214-CAN总线物理层讲解-标准和仲裁机制15-CAN总线物理层讲解-数据帧16-CAN总线物理层讲解-错误检测机制17-CAN总线物理层讲解-位时间和同步18-CAN总线DBC文件讲解19-AutoSAR通信概述-通信服务架构120-AutoSAR通信概述-通信服务架构221-AutoSAR通信概述-PDU和收发数据流22-CAN总线网络传输层CanTp讲解-Can诊断网络分层23-CAN总线网络传输层CanTp讲解-CanTp组帧拆帧过程-124-CAN总线网络传输层CanTp讲解-CanTp组帧拆帧过程-225-CAN总线网络传输层CanTp讲解-CanTp时间参数和诊断数据流26-车载以太网第一讲-车载以太网基础知识MAC PHY27-车载以太网第一讲-车载以太网和工业以太网区别28-车载以太网在Autosar上的应用-以太网协议栈软件架构29-车载以太网在AutoSAR上的应用-Soad PduR30-LIN总线入门精通第一讲-Lin总线基础知识31-LIN总线入门精通第一讲-Lin协议格式32-LIN总线入门精通第一讲-Lin帧类型33-LIN总线的通信矩阵和LDF文件讲解34-LIN总线在AutoSAR上的应用35-Lin总线诊断应用-LinTp传输层36-Lin总线诊断应用-Lin主节点诊断流程37-SPI总线基础知识38-AutoSAR SPI应用39-协议数据单元PDU和服务数据单元SDU40-Pdu Router(PduR)模块详解41-Com模块讲解-报文和信号42-Com模块讲解-COM内部实现原理43-诊断功能第一讲-诊断基础知识44-诊断功能第二讲-UDS服务讲解-UDS基础知识45-诊断功能第二讲-UDS服务讲解-物理寻址和功能寻址46-诊断功能第二讲-UDS服务讲解-具体服务讲解-147-诊断功能第二讲-UDS服务讲解-具体服务讲解-248-诊断功能第二讲-DCM模块讲解49-诊断功能第四讲-OBD服务50-存储知识和AUTOSAR存储架构51-AUTOSAR 存储服务之Fee换页策略52-Autosar BswM模块讲解53-AutoSAR OS和OSEK OS54-AutoSAR应用软件层-RTE层概述55-AutoSAR应用软件层-AppL层概述

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式内核源码

给我一点肉啊

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值