您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
   
 
 订阅
AUTOSAR简介
 
作者:蓝天遇上白云
   次浏览      
 2024-11-25
 
编辑推荐:
本文简要介绍了AUTOSAR相关内容。 希望对您的学习有所帮助。
本文来自于微信公众号嵌入式爱好者之家,由火龙果软件Linda编辑、推荐。

1.什么是AUTOSAR?

AUTOSAR – 汽车开放系统架构

  • 中间件和系统级标准,由汽车制造商、电子和软件供应商以及工具供应商共同开发。

  • 超过100个成员

  • 口号:“在标准上合作,在实施上竞争”

  • 实际情况:目前OEM(原始设备制造商)和Tier1供应商之间的斗争

  • 目标:促进汽车生命周期内软件组件的可移植性、组合性和集成性.

2.组件和接口的标准化

  • 实现汽车功能的软件被封装在软件组件中。

  • 接口标准化是支持功能的可扩展性和可转移性的关键。

  • 任何符合标准的软件组件实现都可以以显著减少的努力集成到系统中。

  • 标准化可以逐步发展到:

    • 术语

    • 标准化的数据类型

    • 接口的部分描述(无语义)

    • 接口的完整描述(无语义)

    • 接口的完整描述(含语义)

    • 功能域的部分定义

    • 功能域的完整定义

    • 功能域的低度分解

    • 功能域的高度分解

    • 功能方面

    • 行为和实现方面

    • 抽象层次

    • 分解层次

    • 架构定义层次

3.功能域

  • 功能接口的规范分为6个域:

    • 车身/舒适

    • 动力总成

    • 底盘

    • 安全

    • 多媒体/远程信息处理

    • 人机界面

  • 由于知识产权问题和分解层次的不同,这些域可能需要不同的处理方式。

  • 在AUTOSAR的第一阶段,预计只有车身/舒适、底盘和动力总成领域会有成果,其他领域优先级较低。

    4.AUTOSAR架构

    AUTOSAR架构中的软件组件(SW-C)通过虚拟功能总线(Virtual Functional Bus)进行通信。

    每个ECU(电子控制单元)都有自己的系统配置提取(ECU Extract of System Configuration),这是从系统配置描述中提取的信息,专门针对该ECU。

    4.1 AUTOSOSAR SW-C

    AUTOSOSAR软件组件封装了一个运行在AUTOSOSAR基础设施上的应用程序。AUTOSOSAR SW-C具有明确定义的接口,这些接口被描述并标准化。

    – SW-C 描述

    对于AUTOSOSAR软件组件的接口以及其他所需的集成方面,AUTOSOSAR提供了一种标准的描述格式(SW-C描述)。

    4.2 虚拟功能总线(VFB)

    VFB是AUTOSAR在抽象 (技术独立) 级别上提供的所有通信机制 (以及与基本软件的接口) 的总和。定义了具体系统的连接后,VFB允许在早期开发阶段进行虚拟集成。

    4.3 系统约束和ECU描述

    为了将AUTOSAR SW组件集成到ECU网络中,AUTOSAR为系统以及ECU的资源和配置提供了描述格式。

    – AUTOSAR架构: 在ecu上映射

    AUTOSAR定义了构建具体的ecu系统的方法和工具支持。这包括在每个ECU上配置和生成运行时环境 (RTE) 和基本软件 (RTOS)。

    4.4 运行时环境 (RTE)

    从AUTOSAR软件组件的角度来看,RTE在特定ECU上实现VFB功能。

    4.5 基础软件

    基本软件提供在ECU上执行的基础设施。

    AUTOSAR软件组件,AUTOSAR的基本概念是: 应用程序和基础设施之间的分离。AUTOSAR中的应用程序由通过连接器相互连接的软件组件组成。

    5.AUTOSAR Component

    5.1 通用 “AUTOSAR Component” 概念

    • AUTOSAR软件组件

    • 传感器/执行器软件组件 (特殊情况)。

    • 组合 - 组件的逻辑互连。与原子软件组件相比,组合中的组件可以分布在多个ecu上。

    • ECU抽象

    • Complex Device Driver

    • AUTOSAR服务。

    每个AUTOSAR软件组件封装了应用程序的部分功能。-AUTOSAR不规定软件组件的粒度。根据应用程序域的要求,AUTOSAR软件组件可能是一个小的、可重用的功能 (如过滤器),也可能是封装整个syb system的较大块。

    AUTOSAR软件组件是 “原子软件组件” 原子意味着AUTOSAR软件组件的每个实例被静态地分配给一个ECU。

    实现AUTOSAR软件组件

    Autosar并未规定应如何实现AUTOSAR软件组件-组件可以是手写的或从模型生成的。

    装运一个AUTOSAR软件组件

    AUTOSAR软件组件的装运包括:

    • 完整和正式的软件组件说明,其中指定了必须如何为组件配置基础结构,以及

    • 组件的实现,可以作为 “目标代码” 或 “源代码” 提供。

    AUTOSAR软件组件说明包含:

    • 软件组件提供和需要的操作和数据元素

    -使用Port Interface概念进行描述

    • 对基础设施的要求,

    • 软件组件所需的资源 (内存,CPU时间等),

    • 有关软件组件的具体实现的信息。

    • 此描述的结构和格式称为 “软件组件模板”。

    源代码组件实现独立于:

    - ECU的微控制器类型和组件映射在其上的ECU类型。

    • AUTOSAR基础设施负责为软件组件提供关于ECU硬件的标准化视图

    - 与之交互的其他组件的位置。组件描述定义它提供或需要的数据或服务。该部件不知道它们是从相同ECU上的部件还是从不同ECU上的部件提供的。

    - 软件组件在系统中或在一个ECU中实例化的次数。

    5.2 AUTOSAR 组件描述级别

    最高 (最抽象) 的描述级别是虚拟功能总线。这里用数据类型和接口、端口和它们之间的连接以及分层组件的方式来描述组件。在这个层面上表达了组件的基本通信特性及其相互之间的通信关系。

    -软件组件

    -组合

    -接口

    RTE级别的组件描述: 中间级别允许给定组件的行为描述。此行为通过RTE概念表示,例如RTE事件和可调度单元。例如,对于在VFB上的接口中定义的操作,该行为指定由于该操作的调用而激活了哪些单元。

    -Runnables

    -事件

    -与运行时环境的交互

    实现级别的组件描述: 描述的最低 (最具体) 级别指定给定行为的实现。更准确地说,这种行为的可调度单元被映射到代码。上面的两层限制了组件提供的RTE API,现在的实现利用了这个API。

    -组件实现

    -sw组件的资源消耗

    6. 面向组件的设计

    什么是SW组件?可重用的自包含artefact实现具有给定属性的功能。

    6.1 组件结构关键概念: 信息隐藏和封装

    组件依赖关系以接口和端口的形式描述,不存在任何内部隐藏的依赖关系。因此,理论上来说,只要组件实现了相同的逻辑并向其余系统提供相同的公共通信接口,它们就可以相互替代。一旦利用软件组件模板定义了一个组件,一种新的组件类型就被定义出来了。这种组件可以在系统内任意次数地使用,也可以在不同的系统中使用。组件是在虚拟功能总线上开发的,这是一种不直接依赖于 ECU 和通信总线的抽象通信通道,它们不得直接调用操作系统或通信硬件。

    —— 因此,它们是可以迁移的,并且可以在开发过程的后期阶段部署到 ECU 上。

    6.2 组件、端口和接口

    一个组件具有明确定义的端口,组件具有定义明确的端口,组件可以通过这些端口与其他组件进行交互。通过这些端口,端口始终只属于一个组件,并表示组件与其他组件之间的交互点。为了定义组件端口所提供的或需要的服务,引入了AUTOSAR接口的概念。AUTOSAR接口可以是

    – 客户端-服务器接口,定义一组可以调用的操作

    – 发送者-接收者接口,适用于数据导向的通信

    端口可以是:

    - PPort(提供的接口)

    - RPort(所需接口)

    当PPort提供一个接口时,属于该端口的组件:

    - 提供"客户端-服务器接口"中定义的操作的实现。

    - 生成"数据导向发送者-接收者接口"中描述的数据。

    当组件的RPort需要一个AUTOSAR接口时,组件可以:

    - 当接口是一个客户端-服务器接口时,调用操作。

    - 读取发送者-接收者接口中描述的数据元素。

    6.3 通信模式

    6.3.1. 概述

    基本通信模式

    客户端-服务器

    发送方-接收方

    接口规范

    指定发送方接收方通信传输的信息

    指定哪些服务可以通过客户端服务器通信调用

    接口的正式描述在软件组件模板中,包括可以使用的数据类型和接口兼容性。

    基本通信模式的详细行为由属性指定。通过这些属性,例如数据队列的长度和接收方的行为(阻塞、非阻塞等)以及发送方(周期发送等)可以被定义。

    6.3.2 客户端-服务器通信

    服务器是服务的提供者,而客户端是服务的使用者。客户端发起通信,请求服务器执行一项服务,如有必要则传送一组参数。服务器等待来自客户端的通信请求,执行所请求的服务,并向客户端的请求分发响应。启动方向用于分类AUTOSAR软件组件是客户端还是服务器。单个AUTOSAR软件组件可以根据软件实现既是客户端又是服务器。在服务请求发出后直到收到服务器的响应期间,客户端可以被阻止(同步通信)或不被阻止(异步通信)。

    在VFB模型视图中由三个软件组件和两个连接组成的客户端-服务器通信示例。

    6.3.3 发送方-接收方通信

    模型用于异步分布信息的情况,其中发送者将信息分发给一个或多个接收者。发送者不会被阻塞(异步通信),也不会期望或接收到接收者的响应(数据流或控制流),发送者只是提供信息,接收者自主决定何时以及如何使用它。

    分配信息的责任在于通信基础设施。发送者不知道接收者的身份或数量。

    在AUTOSAR中如何建模发送方-接收方通信的示例

    6.4. AUTOSAR组件、接口和端口

    组件模型中组件、端口和接口的可视化表示

    6.4.1 AUTOSAR组件: 连接

    两个组件最终通过将一个组件的p端口连接到另一个组件的兼容r端口来连接。

    - 该模型表明,可以定义没有任何端口的组件,这似乎违反直觉,但这只适用于完全自包含的组件。

    端口是否实际兼容是由“PortInterface”描述的。如稍后所示,这些端口接口声明了各自端口所需和服务的数据元素。

    端口接口有一个名为 “isService” 的属性。此标志指示接口中描述的服务或数据实际上是由AUTOSAR服务而不是其他AUTOSAR组件提供的。

    6.4.2 AUTOSAR组件: 通信行为

    AUTOSAR软件组件通过虚拟功能总线进行通信。他们需要表达交换数据的需求和能力的方式,这目前可以通过两种类型的属性来实现:

    通信属性,允许指定影响RTE生成或实时实际通信的通信参数。这种属性的一个例子就是上述的通过连接器的传输时间。

    应用级别属性,允许描述不影响RTE生成的交换数据的特性,而是指示开发人员如何处理数据。这种属性的一个例子就是一个标志,表示数据是“过滤”的还是“原始”的。

    6.4.3 AUTOSAR组件: 传感器/执行器组件

    传感器/执行器组件是特殊的AUTOSAR软件组件,它们封装了微控制器的依赖关系(这在MCAL中完成,即微控制器抽象层,它是运行在ECU上的AUTOSAR基础设施的一部分)和电子元件的依赖关系(这由ECU-抽象处理,也是AUTOSAR基础软件的一部分)。

    典型的从物理信号到软件信号 (例如汽车速度) 和返回 (例如汽车灯) 的转换过程。

    AUTOSAR基础设施并不隐藏传感器和执行器的具体细节。对特定传感器和/或执行器的依赖是在“传感器/执行器软件组件”中处理的,这是一种特殊类型的软件组件。此类组件独立于其映射的ECU,但取决于为其设计的特定传感器和/或执行器。

    - 例如,“传感器组件组件”通常输入ECU输入引脚处的电信号的软件表示形式(例如,由传感器产生的电流),并输出传感器测量的物理量(例如,汽车速度)。

    通常,由于性能问题,此类组件需要在其对应的传感器/执行器物理连接的ECU上运行。

    6.4.4 虚拟功能总线 (VFB)

    虚拟功能总线是整个车辆的AUTOSAR软件组件互连的抽象。可以独立指定不同软件组件之间以及软件组件与其环境 (例如硬件驱动程序,操作系统,服务等) 之间的通信。可以独立于任何底层硬件 (例如通信系统) 指定。VFB的功能由通信模式提供。

    从AUTOSAR软件组件的VFB查看端口,可以连接复杂的设备驱动程序,ECU抽象和AUTOSAR服务。复杂的设备驱动程序,ECU抽象和AUTOSAR服务是基本软件的一部分。

  •    
    次浏览       
     
    相关文章

    CMM之后对CMMI的思考
    对软件研发项目管理的深入探讨
    软件过程改进
    软件过程改进的实现
     
    相关文档

    软件过程改进框架
    软件过程改进的CMM-TSP-PSP模型
    过程塑造(小型软件团队过程改进)
    软件过程改进:经验和教训
     
    相关课程

    以"我"为中心的过程改进(iProcess )
    iProcess过程改进实践
    CMMI体系与实践
    基于CMMI标准的软件质量保证

    最新活动计划
    C++高级编程 12-25 [线上]
    白盒测试技术与工具实践 12-24[线上]
    LLM大模型应用与项目构建 12-26[特惠]
    需求分析最佳实践与沙盘演练 1-6[线上]
    SysML建模专家 1-16[北京]
    UAF架构体系与实践 1-22[北京]
     
     
    最新文章
    iPerson的过程观:要 过程 or 结果
    基于模型的需求管理方法与工具
    敏捷产品管理之 Story
    敏捷开发需求管理(产品backlog)
    Kanban看板管理实践精要
    最新课程
    基于iProcess的敏捷过程
    软件开发过程中的项目管理
    持续集成与敏捷开发
    敏捷过程实践
    敏捷测试-简单而可行
    更多...   
    成功案例
    英特尔 SCRUM-敏捷开发实战
    某著名汽车 敏捷开发过程与管理实践
    北京 敏捷开发过程与项目管理
    东方证券 基于看板的敏捷方法实践
    亚信 工作量估算
    更多...