CP_AUTOSAR分层软件架构内容简介

0、前言

  随着汽车功能需求日益增加,稳定安全的AUTOSAR分层软件架构逐渐作为一个热词呈现在汽车电子软件开发领域。那么AUTOSAR分层软件架构到底包括了哪些内容?架构之间的是什么关系?本篇博文旨在介绍分层软件架构的概念,不涉及到软件架构的详细设计和动态的软件接口。作为一个AUTOSAR软件开发工程师需要具备有全局视野,先了解顶层设计再找准自己的技术栈,才能更好的在整个架构中理解自己的角色。

1、综述

1.1 AUTOSAR应用范围及拓展性

  AUTOSAR,为汽车ECU而生!这些ECU都会有如下共同的特征:

  • 与硬件强交互,如传感器,执行器;
  • 连接到车辆网络上,像CAN,LIN,FlexRay 或者 以太网;
  • 典型的16位/32位微控制器,其通常只有有限的计算能力和内存资源;
  • 实时操作系统;
  • 从片内/片外的闪存中执行程序指令。

  NOTE:在 AUTOSAR 概念中,ECU通常是指一个微控制器加上一些外设和一些软件配置。

  AUTOSAR 拓展性:
  AUTOSAR 软件架构是总体的方法论:

  • 模块是标准的,但功能是可以扩展的;
  • 当前架构中不存在的模块,可以集成到复杂驱动模块,即 Complex Drivers,CDD;
  • 未来标准模块也会继续拓展。

1.2 架构总体介绍

  在前面章节介绍了AUTOSAR的软件架构,在最高的抽象级别上被划分为三层,从上到下依次是:应用层(Application Layer)、运行时环境(Runtime Environment,RTE)、基础软件层(Basic Software,BSW)。

在这里插入图片描述
  AUTOSAR基础软件层可以进一步划分为四个部分:服务层(Services Layer)、ECU抽象层(ECU Abstraction Layer)、微控制器抽象层(Microcontroller Abstraction Layer)、复杂驱动层(Complex Drivers)。

在这里插入图片描述
  AUTOSAR基础软件层可以进一步划分为功能组,例如系统服务层、内存和通信服务等。

在这里插入图片描述
  一、基础软件层,Basic Software Layer:
  微控制器抽象层(Microcontroller Abstraction Layer),位于基础软件层的最底层。它主要包含一些内部驱动程序,可以实现对微控制器和外设的直接访问,如内存,通信,I/O接口等。其主要任务,就是制作出一个更高级别的软件层,使其独立于微控制器而存在。这样做的好处是,当平台切换不同的芯片时,软件架构基本上不需要大的改变。
在这里插入图片描述

  ECU抽象层(ECU Abstraction Layer),为微控制器抽象层提供接口,也会包含了一些外部设备的驱动。它主要负责提供诸多的应用层接口(API),使其被调用时便可以直接访问一些外设和设备,而不去管这些设备的位置(在μC内部/外部)和连接方式(pin脚,或者其它)。其主要任务,就是制作一个更高级别的软件层,使其独立于ECU硬件的布置。这样做的好处是,当平台切换不同的硬件时,比如EE存储,摄像头等,软件架构基本上不需要大的改变。
在这里插入图片描述
  复杂驱动层(Complex Drivers Layer),范围从硬件跨越到RTE层。其主要任务,是为集成一些特殊功能组件提供可能性,比如设备的驱动:

  • 这些驱动未曾出现在AUTOSAR的标准模块;
  • 带有非常高的时效性;
  • 出于移植目的。
    在这里插入图片描述
      服务层(Services Layer),位于基础软件层的最上层,其主要应用于应用层软件相关的:当访问属于ECU抽象层内的I/O信号时,服务层(Services Layer)主要提供如下功能:
  • 操作系统功能组件;
  • 车辆网络通讯和管理服务;
  • 内存服务(NVM管理);
  • 诊断服务(包括UDS通讯、错误内存和故障处理);
  • ECU状态管理和模式管理;
  • 逻辑和临时程序流监控(看门狗管理);
      其主要任务是为了应用程序、RTE和基础软件模块提供基础服务。
    在这里插入图片描述

  二、运行时环境,Runtime Environment,RTE:
  RTE是为应用层软件提供通讯服务的一层,应用层软件主要为(AUTOSAR软件组件,SWC、传感器/执行器组件)。通过RTE,可以实现AUTOSAR应用组件和其它组件之间的通信。其主要任务,就是将应用层组件独立于特定ECU的映射。
在这里插入图片描述
  软件架构—服务类型介绍:

  • 输入/输出,Input/Output(I/O):访问传感器、执行器和板载外设的标准接口;
  • 内存,Memory:访问内/外部内存(非易失性存储)的标准接口;
  • 加密,Crypto:对加密原语的标准化访问,包括内部/外部硬件加速器;
  • 通讯,Communication:访问:车辆网络系统,ECU车载通信系统,ECU内部软件;
  • 车外通讯,Off-board Communication:访问:车到端通信、无线网络系统、ECU车外通讯;
  • 系统,System:提供标准化(操作系统,计时器,错误内存)、提供ECU特定服务(ECU状态管理,看门狗)和库函数;

  基础软件层模块类型—内部驱动介绍:
  内部驱动(驱动包含了控制和访问内部和外部设备的功能),位于微控制器抽象层。而内部设备位于微控制器上,例如:

  • 内部EEPROM;
  • CAN控制器;
  • ADC;

  基础软件层模块类型—外部驱动介绍:
  外部驱动,位于ECU抽象层,其通过微控制器抽象层来访问外部设备。外部设备位于微控制器之外,比如:

  • 外部EEPROM;
  • 外部看门狗;
  • 外部闪存;

  比如:带有SPI接口的外部EEPROM的驱动通过SPI总线的处理程序/驱动程序,来访问外部EEPROM设备。

  基础软件层模块类型—接口介绍:
  接口模块,Interface (interface module) 包含了从模块中抽象出来的功能,这些功能都被架构性的放置在接口里面。例如,接口模块从特定设备的硬件实现中抽象出来。它可以提供一个通用的API,可以来访问特定类型的设备,与该类型的现有设备的数量无关,与不同设备的硬件实现也无关。
  接口不会改变数据的内容。
  一般来说,接口位于ECU抽象层。
  举例:CAN通信系统的接口提供了一个通用的API,来访问CAN通信网络,这与ECU内部的CAN控制器的数量无关,与硬件实现(片上或片外)也无关。

  基础软件层模块类型—处理程序介绍:
  处理程序是一个特定的接口,它控制一个或多个客户端对一个或多个驱动程序的并发、多重和异步访问。也就是说,它执行缓冲、排队、仲裁和多路复用。
  处理程序不改变数据的内容。
  处理程序功能通常包含在驱动程序或接口中(例如SPI HandlerDriver, ADC driver)。

  基础软件层模块类型—管理模块介绍:
  管理模块为多个客户提供特定的服务。在单纯的处理程序功能不足以从多个客户端抽象的所有情况下,都需要它。
  除了处理程序功能之外,管理模块还可以评估、更改或调整数据的内容。
  一般来说,接口位于服务层。
  案例:NVRAM管理模块,管理着内/外部存储设备(如闪存和EEPROM存储器)的并发访问。它还执行分布式和可靠的数据存储,数据检查,提供默认值等。

  软件层—库介绍:
  库是服务于某些功能的函数集合,库:

  • 可由BSW模块(包括RTE)、SW-Cs、库或集成代码调用;
  • 在同一保护环境中的调用者的上下文中运行;
  • 只能调用库函数;
  • 没有内部状态;
  • 不需要任何的初始化;
  • 同步,无需等待点;

   在AUTOSAR中,指定了如下的库文件:

  • 不动点数学;
  • 浮动点数学;
  • 不动点数据拟合;
  • 浮动点数据拟合;
  • 扩展函数(如, 64位运算);
  • 位扩展;
  • 端到端的通信;
  • CRC计算;
  • 原子性多核安全操作。

   AUTOSAR分层软件架构的具体内容将会在下一节中展开介绍!

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本节属于《跟朱老师学智能网联汽车开发系列课程》的第2季《智能网联汽车开发核心课程》第6部分的第3个课程,本课程主要讲解AutoSar的RTOS。首先围绕ISO17356-3标准文档,来逐行解读OSEKOS的诸多特性。包括任务状态和调度策略,优先级,抢占,资源优先级天花板机制,Counter和Alarm机制等。然后结合AutoSar官方文档来补充讲解AutoSarOS的补充特性,如调度表机制、MultiCore多核的支持、栈监控和OS-Application、4种保护机制等。学完本课程将对AutoSarOS有深度理解和掌握。 智能网联汽车未来十年最值得期待的风口。综合叠加了电动汽车替代传统燃油汽车、自动驾驶辅助甚至替代人工驾驶、传统汽车座舱升级智能座舱、整车和零部件乃至产业链的国产自主可控化等发展趋势。AI、IoT、云计算、大数据、芯片和半导体、操作系统、5G等国家重点发展的“硬科技”,都和智能网联汽车有很紧密的关系。所以除了传统车企外,涌现了“蔚小理”这样的造车新势力,引入了Tesla这样的鲶鱼,又吸引了华为、百度、大疆、小米这样的中国高科技以及互联网巨头。智能网联汽车相较于传统汽车来说,最大的变化是:整车的核心技术和竞争点从机械技术转向了计算机技术。所以从车企到tire1等汽车产业链上下游,都将注意力转向了“车载计算机及其相关技术”的研究和实践。域控制器、hypervisor、车载以太网、SOME/IP、DoIP、SOA、AGL和QNX、OTA、C-V2X、AutoSAR CP和AP、ROS、SLAM、激光雷达、超声波雷达、毫米波雷达、深度相机、传感器前融合后融合、ADAS、AR-HUD、智能驾驶算法、算力平台、英伟达Xavier和Orin、高通骁龙8155和Ride、华为MDC、地平线征程3和征程5、MobileEye EyeQ5、TI TDA4、 NXP S32G等等,以上列出了一些关心汽车行业的人经常会看到听到的“关键词”。这些都是实现智能网联汽车所需要的关键技术,也是汽车行业工作者形成行业竞争力,试图去理解和分析行业发展趋势的关键技术底蕴。但是客观上智能网联汽车涉及到的技术杂、学科多、内容深,而且本身这些技术都在快速发展演变,这就造成了学习困难、不成体系。这对于传统汽车行业的“老人”,以及有兴趣进入智能汽车行业的“新人”来说,都是很大的障碍和挑战,急需解决方案。本训练营及课程体系就是为解决这个问题。我们将通过系统化的课程,全面覆盖智能网联汽车的“车端”新技术(就是前段中列出的那些关键词),控制深度深入浅出的讲解相关原理和概念、分析相关技术发展趋势。最终目标是希望大家有一定深度的理解智能网联汽车的原理和相关技术,能从整体上认知智能网联汽车这个产品,具备行业趋势的分析研判能力,具备行业上下游之间或者模块与模块之间的沟通能力,帮助大家在智能网联汽车获取核心竞争力,助力个人发展。
### 回答1: AUTOSAR(Automotive Open System Architecture)是汽车行业中的一个开放式标准,旨在实现汽车电子系统的软件和硬件部分的标准化和自动化。 AUTOSAR基础软件是AUTOSAR标准的核心组成部分,它提供了标准化的软件组件和接口,以支持汽车电子控制单元(ECU)之间的功能和数据交换。 AUTOSAR基础软件的主要目标是提供模块化的软件架构,以实现可重用性和平台互操作性。它分为四个主要模块:运行时环境(RTE)、通信堆栈、硬件抽象层(HAL)和诊断堆栈。 RTE模块提供了软件组件之间的通信机制,包括数据和服务的传输、事件触发和调度。通信堆栈模块实现了不同ECU之间的网络通信,如CAN、FlexRay和Ethernet等。硬件抽象层模块提供了ECU和硬件之间的接口,以支持硬件相关的功能和操作。诊断堆栈模块提供了故障检测和诊断功能,以支持车辆的故障排除和维修。 AUTOSAR基础软件具有以下优点:首先,它提供了标准化的软件组件和接口,使得不同的汽车电子系统可以轻松地进行集成和交互。其次,它提高了汽车软件的可重用性,减少了开发成本和时间。另外,它提供了跨平台的互操作性,使得不同厂商的硬件和软件可以无缝地进行集成。最后,它提供了诊断和故障排除的机制,帮助识别和修复车辆的故障。 总体而言,AUTOSAR基础软件是实现汽车电子系统标准化和自动化的关键组成部分,它为汽车行业提供了一种统一的开发和集成方法。通过使用AUTOSAR基础软件,汽车制造商可以更加高效地开发、测试和维护汽车电子系统,从而提高产品质量和可靠性。 ### 回答2: AUTOSAR,全称为“Automotive Open System Architecture”,是一种面向汽车电子系统的开放式软件架构。它旨在提供标准化的软件平台,以促进汽车电子系统的开发和集成。 02_AUTOSAR基础软件是AUTOSAR架构中的重要组成部分。它主要包括AUTOSAR标准化软件组件、接口和服务等。这些基础软件的设计目标是提供一个可重用的、可扩展的、可移植的和可靠的平台,用于开发汽车电子系统的软件。 AUTOSAR基础软件的核心是运行时环境(Run-Time Environment,RTE),它提供了各个应用软件组件之间的通信和数据交换机制。RTE还负责资源管理、消息传递、触发器和事件处理等任务。通过RTE,不同的软件组件能够共享信息和资源,并在系统中协调工作,实现各个电子控制单元之间的互操作性。 此外,AUTOSAR基础软件还包括操作系统抽象层(Operating System Abstraction Layer,OSAL),对底层操作系统的接口进行了抽象,使得应用软件可以独立于特定的操作系统而进行开发。同时,还有通信堆栈(Communication Stack),用于实现不同汽车电子系统之间的通信,包括CAN、FlexRay、Ethernet等。 AUTOSAR基础软件的使用可以提高汽车电子系统开发的效率和可靠性。通过标准化的软件组件和接口,不同供应商开发的软件可以更容易地集成在一起。此外,基于AUTOSAR的系统架构可以提高软件的重用性,减少开发时间和成本。 总之,AUTOSAR基础软件是AUTOSAR架构中的关键组成部分,为汽车电子系统的开发和集成提供了标准化的平台和工具。它将车载软件的开发过程标准化,并促进不同软件供应商之间的合作和互操作。 ### 回答3: AUTOSAR(汽车开放系统架构)是一种用于汽车电子系统设计的国际标准,旨在提供一种开放、标准化的软件体系结构。02_AUTOSAR基础软件是AUTOSAR架构中最底层的软件组件,主要包括操作系统、通信栈、I/O驱动程序等。 操作系统是AUTOSAR基础软件的关键组成部分之一,它负责管理和协调整个汽车电子系统中的各个软件组件。它提供了任务管理、时间管理、资源管理等功能,保证系统的稳定和可靠运行。 通信栈是AUTOSAR基础软件的另一个重要组成部分,它负责在整个汽车电子系统中实现各个软件组件之间的通信。通信栈提供了一套统一的接口和协议,使得不同的软件组件能够方便地进行数据交换和消息传递。 I/O驱动程序是AUTOSAR基础软件中的另一个重要模块,它负责控制和管理汽车电子系统中的各种输入输出设备。I/O驱动程序提供了一套统一的接口,使得软件开发人员可以方便地访问和控制各种外部设备,如传感器、执行器等。 通过使用02_AUTOSAR基础软件,汽车电子系统设计人员可以更加方便地开发和维护复杂的汽车电子功能。它提供了一种标准化的软件架构,将不同的软件组件进行模块化设计,降低了系统开发和集成的复杂性。同时,02_AUTOSAR基础软件也提供了一套统一的接口和协议,使得不同的汽车电子系统可以方便地进行集成和交互,提高了系统的可扩展性和兼容性。 总之,02_AUTOSAR基础软件是一种标准化、模块化的软件架构,它为汽车电子系统的设计和开发提供了一种统一的框架和方法,降低了系统开发和维护的难度,提高了系统的稳定性和可靠性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值