骁龙820A汽车 ADAS 分享方案介绍—AUTOSAR架构

news/2024/7/7 12:27:37

骁龙820车用处理器使用智能后视摄像头和停车辅助功能为驾驶员提供重要的提醒和信息,让驾驶员感知其周围环境,提高其对汽车的控制能力和安全意识,从而确保驾驶员的安全。而这一切都归功于集成了Qualcomm Hexagon 680 DSP 和带有多个传感器的图像信号处理器,由于车载智能化程度的不断提高,我们现今对于整个车载行业制定也一套统一的规范架构。
AUTOSAR分层结构及应用软件层功能
在这里插入图片描述
图中所示,算上复杂驱动层(Complex Device Drivers),AUTOSAR架构中共分六层:
1.应用软件层(Application Layer)
2.运行环境RTE(Runtime Environment)
3.服务层(Services Layer)
4.ECU抽象层(ECU Abstraction Layer)
5.微控制器抽象层(Microcontroller Abstraction Layer)
6.复杂驱动(Complex Device Drivers)
自上而下逐层介绍:

应用软件层
AUTOSAR的软件被组织在独立的单位软件组件(software-component)中,其中封装了部分或全部汽车电子的功能与行为,包括对具体模块功能的实现以及对应描述,但是对外界仅仅开放了定义好的接口,称之为PortPrototypes,而所有ECU内部组件之间的通信及获取其他ECU资源的动作就都必须要通过接口来访问RTE来完成了。
应用软件层内的通信关系如下:
1.软件组件能和同一个ECU上其他软件组件通信
2.软件组件能和位于不同ECU上的其他软件组件通信
3.软件组件能和有端口并位于同一个ECU上的基础软件(BSW)进行通信

虚拟功能总线VFB及运行环境RTE
虚拟功能总线(VFB)是 底层基础软件与网络拓扑结构的抽象,是AUTOSAR提供的所有通信机制的集合,在信息数据交互的过程中,应用程序被建模为组合组件。当系统进行配置时, 软件组件就会被映射到指定ECU上,而同时组件间的虚拟连接也被映射到了CAN, FlexRay,MOST等总线上。最后软件组件利用预先定义好的端口,通过VFB来实现通信。
运行环境RTE即是具体单个ECU上对VFB接口的实现,可以理解成是面向对象的编程语言中对象的创建。
各软件组件之间不允许直接进行通信,由RTE封装好了下层如OESK、COM等通信层BSW后,为上层提供数据通信所需的RTE API,再使用端口或者Sender-Receiver通信和Client-Server通信的方式进行交互。
软件组件「SWC1」的运行实体A通过端口「switch」向外发送名为a的数据元素,软件组件「SWC2」的运行实体B则通过端口「cmd」接收该数据。 该过程中运行实体A调用的RTE API是Rte_Write_Switch_a, 运行实体B实现时调用的RTE_API是Rte_Read_cmd_a。可见软件组件在与其他软件进行通信时,并不依赖模块所处的网络环境及特定拓扑结 构。有些ECU 内部的S/R通信API可以直接映射到赋值语句,而其他某些ECU内的C/S通信API则可以映射为调用服务运行实体的语句。
基础软件层(BSW)层内划分及其功能服务层(Services Layer)被分为3个部分:

  1. 通信服务(Communication Services)
    包括CAN、LIN、FlexRay在内的整车网络系统、ECU网络及软件组件内的访问进行了统一封装,模块则通过通信硬件抽象层进行通信:
    对上层的应用软件层隐藏了协议以及报文属性
    提供了统一的总线通信接口供应用软件层调用
    提供了统一的网络管理服务
    提供了统一的诊断通信接口
  2. 内存服务(Memory Services)
    将微控制器内外内存的访问进行统一封装,而NVRAM管理器提供了一个RAM镜像,来支持数据的快速读取。
    以统一的格式为上层的应用软件层传输非易失性数据
    抽象了内存地址以及属性
    为数据的保存、加载、校验保护、验证以及安全存储提供了统一的机制
  3. 系统服务(System Services)
    提供RTOS服务,包括中断管理、资源管理、任务管理等
    提供功能禁止管理、通信管理、 ECU状态管理、看门狗管理、同步时钟管理、基本软件模式管理等服务。
    ECU抽象层被分为4部分
  4. I/O硬件抽象层(I/O Hardware Abstraction)
    通过I/O硬件抽象中的信号接口来访问不同的I/O设备
    对电流、电压、频率等I/O信号进行封装传输
    对上层的应用软件层隐藏下层的ECU硬件
  5. 通信硬件抽象层(Communication Hardware Abstraction)
    通信硬件抽象将微控制器及板上所有的通信信道都进行了封装,并对CAN、FlexRay、LIN、MOST等通信方式进行了抽象的定义。
  6. 内存硬件抽象层(Memory Hardware Abstraction)
    将片内、板上的内存资源进行统一封装,如对片内EEPROM和片外的EEPROM都提供了统一的访问机制。
  7. 车载设备抽象层(On-board Hardware Abstraction)
    对ECU上特殊的一些外设进行封装,如WatchDog以及时钟等。
    微控制器抽象层(Microcontroller Abstraction Layer)被划分为四部分
  8. I/O驱动(I/O Drivers)
    用于驱动模拟及数字I/O信号,如ADC, PWM,DIO。
  9. 通信驱动(Communication Drivers)
    负责车辆各模块及整车通信,SPI、CAN等。
  10. 内存驱动(Memory Drivers)
    控制设备芯片内存(如片内Flash、EEPROM)及外部映射设备(外置Flash)。
  11. 微处理器驱动(Microcontroller Drivers)
    驱动如看门狗(Watchdog)、时钟模块(Clock Unit)并负责RAM测试及对微控制器抽象层内部设备和映射的微控制器抽象层外部设备的内存访问等功能。
    在这里插入图片描述
    复杂驱动(Complex Device Drivers)
    通过对复杂传感器评估,利用中断、TPU、PCP等来实现实时性高的传感器采样、执行器控制等功能。
    AUTOSAR架构对软件组织结构的统一,使得当底层硬件配置升级时不需要更改整个系统,有利于未来整车系统软件的更新,而目前各OEM都在着力研发的智能汽车、自动驾驶等技术都对现有的汽车架构提出了较高的要求,因而AUTOSAR的推广也成为了汽车电子行业的趋势。

http://www.niftyadmin.cn/n/2642664.html

相关文章

睡眠多少分钟一个循环_睡眠分多少阶段

展开全部国际睡眠医学将睡眠阶段分为五期e69da5e6ba903231313335323631343130323136353331333431353362:入睡期、浅睡期、熟睡期、深睡期、快速动眼期。1、入睡期阶段1是睡眠的开始,昏昏欲睡的感觉就属于这一阶段。此时脑波开始变化,频率渐缓…

bootstrap-datetimepicker在火狐下报错的问题

2019独角兽企业重金招聘Python工程师标准>>> 最近些项目,使用了bootstrap-datetimepicker插件显示日期,但是在火狐浏览器下会报错: TypeError: (intermediate value).toString(...).split(...)[1] is undefined从网上查了资料&…

Machine Learning Project Walkthrough: Preparing the features

2019独角兽企业重金招聘Python工程师标准>>> 1: Recap In the past mission, you removed all of the columns that contained redundant information, werent useful for modeling, required too much processing to make useful, or leaked information from the …

js string转json有斜杠_三十、深入Python中的Pickle和Json模块

「Author:Runsen」听过Python序列化pickle和Json标准库吗?picklepickle模块是以二进制的形式序列化后保存到文件中(保存文件的后缀为".pkl"),不能直接打开进行预览。而python的另一个序列化标准模块 json,可以直接打开查…

高通820A在5G时代来临的表现

在2019年新春CES展,手机界酝酿着一场大变革,即5G通信时代的到来。说到5G技术,可不仅仅只用在手机上,5G通信可以联络到任务网络设备,主要是以传输数据的速度快,会让消费者们体验前所未有的改变,得…

Android IPC机制(三)使用AIDL实现跨进程方法调用

上一篇文章中我们介绍了使用Messenger来进行进程间通信的方法,但是我们能发现Messenger是以串行的方式来处理客户端发来的信息,如果有大量的消息发到服务端,服务端仍然一个一个的处理再响应客户端显然是不合适的。另外,Messenger用…

骁龙 820A芯片机器学习方案介绍

高通公司推出了多项计划以进一步推动智能互联汽车领域的发展,包括使用高通Snapdragon 820A为下一代大众信息娱乐系统提供动力,宣布在德国进行Cellular V2X试验,揭示出一种新的高端带宽千兆LTE用于车辆,并演示Snapdragon 820A如何为…

cocosc++怎么打印_VS2010-win32下cocos2dx控制台打印的方法

在xcode中 直接使用printf 或者 cout<但是在VS2010 却死活不好用 真郁闷-----------------10-9更新----------------下面的代码在 自己建立的项目里都已经存在啦AllocConsole(); freopen("CONIN$", "r", stdin); freopen("CONOUT$", "…