AUTOSAR软件架构

AUTOSAR软件整体框架为分层式设计,以中间件RTE(Runtime Environment)为界,隔离上层的应用层(Application Layer)与下层的基础软件(Basic Software)。如下图所示AUTOSAR体系架构分层标准。

图 1 AUTOSAR体系架构分层标准

应用层软件由1个或多个软件组件SWC(Software Component)实现,SWC中封装了部分或者全部ECU功能,包括对其具体功能的实现以及对应描述,如控制大灯,空调等部件的运作,但与ECU硬件系统没有连接。

中间层RTE主要是给应用层提供通信手段,这里的通信是一种广义的通信,可以理解成接口。应用层与其他软件的信息交互有两种,第一种是应用层中的不同SWC之间的信息交互;第二种是应用层SWC与基础软件之间的信息交互。而RTE就是这些交互使用的接口的集散地,它汇总了所有交互的接口。

不同SWC之间的通信是通过调用RTE提供的API函数实现的,都在RTE的管理和控制之下。每个API遵循统一的命名规则,且只和软件组件自身的描述有关。RTE层的软件都是由工具供应商提供的配置工具自动生成的。而SWC的软件可以通过工具生成也可以由用户自行编写,但要符合RTE层的API接口。

基础软件通常是实现ECU的基础功能,如IO操作,AD操作,诊断,CAN通信,操作系统等。根据不同功能,可对基础软件继续细分成四部分,分别为服务层(Service Layer),ECU抽象层(ECUAbstract Layer),复杂驱动(ComplexDriver)和MCAL(Microcontroller Absstraction Layer),四部分之间的互相依赖程度不尽相同。为了满足不同ECU间的互操作性,基础软件通常也是借助工具提供商的工具自动生成。

图 2 AUTOSAR分层架构

服务层部分主要为应用程序、RTE以及基础模块提供服务如:操作系统功能、网络通信与管理服务、存储服务、诊断服务、ECU管理、看门狗管理。

图 3 服务层

ECU抽象层包含许多外部设备驱动,使得更高层软件与ECU硬件分布无关。如外部CAN Transceiver驱动、外部EEPROM驱动。

图4 ECU抽象层

微控制器抽象层包含许多内部驱动,使得更高层软件与为微控制器无关。如IO驱动、AD驱动、CAN驱动。

图5 微控制器抽象层

复杂驱动层实现复杂传感器模拟和执行器控制(直接访问具体中断或复杂微控制器外设),以及不支持AUTOSAR BSW分层架构的驱动,如喷射控制,电子阀控制等。

图6 复杂驱动层

AUTOSAR开发方法

AUTOSAR方法论描述了从系统底层配置到ECU可执行代码产生过程的设计步骤,可以分为建立抽象系统描述(需求)、建立VFB系统描述、开发软件组件、开发系统和子系统、开发BSW、软件集成这几个步骤,从大的阶段来讲可分为系统配置、ECU设计与配置、软件集成三个阶段。图7表述了从SWC描述阶段到ECU提取的过程。

图7 AUTOSAR开发方法

通过建立抽象系统描述,可描述为1个或多个SWC组件,通过VFB系统,将1个或多个SWC组件组合起来构成整个系统。使用支持SWC软件开发组件的工具根据ECU描述、系统约束描述将软件需求映射到ECU上。图8描述了借助AUTOSAR配置工具从系统底层配置到ECU可执行代码生成的过程。

图8 AUTOSAR开发方法

首先借助配置工具生成系统配置描述文件,再提取各个ECU相关的描述将SWC映射到各个ECU上,再将子系统独立出来,之后就可以开发单个ECU的SWC、BSW最后将生成的代码集成,生成可执行文件下载到ECU上运行。

浅谈AUTOSAR架构及开发方法相关推荐

  1. 浅谈三层架构 通过这个,+Java开发模式经验。终于相通了,动软到底是为什么这么做...

    浅谈三层架构 收藏 自己理解的原理 http://www.cnblogs.com/mahaisong/archive/2011/05/12/2044665.html 浅谈三层架构  通过这个,+Jav ...

  2. Java架构师成长之道之浅谈计算机系统架构

    Java架构师成长之道之浅谈计算机系统架构 Java架构师成长之旅 1.1 信息技术发展趋势 目前信息技术主要经历了互联网.移动互联网以及以大数据.云计算.人工智能和区块链为代表的新兴技术三个阶段.而 ...

  3. 浅谈分布式架构搭建-理论知识

    浅谈分布式架构搭建 基础 理念 技术选型 后端技术设计 总体架构设计 关键案例设计 架构师搭建架一般优先考虑的是安全性.稳定性.高吞吐量.哈哈,菜鸟的我让我装个B,回忆一下以前架构搭建 基础 理念 C ...

  4. 浅谈在游戏陪玩开发中常见的几种加密算法及实现

    前言 数字签名.信息加密是游戏陪玩开发前后端都经常需要使用到的技术,应用场景包括了用户登入.交易.信息通讯.oauth 等等,不同的应用场景需要游戏陪玩开发时使用到不同的签名加密算法,或者需要搭配不一 ...

  5. 必看!清华大学刘洋教授“浅谈研究生学位论文选题”方法,3月7日1小时视频公开课(附视频PPT下载)...

    来源:专知 本文约700字,建议阅读5分钟 清华大学计算机系长聘教授刘洋老师在线讲授了关于<浅谈研究生学位论文选题方法>的课程. 标签:论文研究方法 [ 导读 ]在继续抗击疫情之际,3月7 ...

  6. 【强烈推荐】清华大学刘洋老师【浅谈研究生学位论文选题方法】讲座

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 在继续抗击疫情之际,3月7日,清华大学计算机系长聘教授刘洋老师在线讲授了关于< ...

  7. 浅谈iPhone和iPad开发中的图标设置

    浅谈iPhone和iPad开发中的图标设置 图标大小问题 我们的辛辛苦苦做出来的应用程序在iPhone上的表示仅仅是一个图标,对这个图标不可以不谨慎对待,不能因为大小不对头这些小问题而失真啊什么的. ...

  8. 经验 | 清华大学计算机系教授~浅谈研究生学位论文选题方法

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :清华大学,专知 AI博士笔 ...

  9. 浅谈tcpwrapper的基本使用方法

    浅谈tcpwrapper的基本使用方法 曾几何时,不知道你是否与笔者小神一样,有在FreeBSD下实现与WIN2000中的IPSec安全策略实现访问控制的一样功能的想法呢?也许这对刚刚接触FreeBS ...

最新文章

  1. Java笔试题二:读程序
  2. java中遍历map的两种方式
  3. JS数组方法汇总 array数组元素的添加和删除
  4. 离职那天!同龄的CTO悄悄私信我,他的年薪是我的10倍
  5. MariaDB强势席卷DB-Engines榜单后续,与阿里云达成全球独家战略合作
  6. ubuntu中提示找到make命令的解决方案
  7. 异常检测3——AutoEncoder异常检测
  8. dockerfile详解-dockerfile构建过程解析,dockerfile体系结构保留字解析,案例解析
  9. Android之WindowManager+OpenGL+EGL绘制(十七)
  10. Hash 表的时间复杂度为什么是 O(1)(面试版)
  11. linux配置dhcp超级作用域,Linux DHCP服务器 超级作用域
  12. 【质量管理】SMT电子厂超实用的六西格玛(6σ)质量管理工具一览表!
  13. 启动docker-compose时报/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarnin
  14. 089 定积分之双纽线、心形线、摆线
  15. 医院预约挂号系统-系统结构
  16. 如何申请百度API Key
  17. ubuntu java 中文_Ubuntu下 JAVA GUI 程序汉字显示为方框解决办法
  18. 休闲娱乐之和成熟的男生谈恋爱
  19. 如何创建并签署CAB文件
  20. Spotfire 数据分析学习之一

热门文章

  1. 大数据的十大发展方向
  2. js 监听手机端键盘弹出和收起事件
  3. 西邮linux兴趣小组2019-2021三年纳新试题浅析
  4. 数据挖掘:基于关联挖掘的商品销售分析
  5. 使用Java代码打印log日志
  6. iOS中运用coreText 进行文字自适应
  7. atom编辑器下载安装
  8. C语言:十进制转十六进制并组合输出
  9. 2021年广东省工程技术研究中心申报指南
  10. OpenCV读取AVI文件