【AUTOSAR开发实战】(1)AUTOSAR介绍
文章目录一、前言二、应用层APPL1.什么是应用层2.软件组件Software Component, SWC三、运行时环境层RTE四、基础软件层BSW五、工具链一、前言AUTOSAR(AUTomotiveOpenSystemARchitecture)汽车开放系统架构。其核心思想是“统一标准、分散实现、集中配置”即提供统一、开放的软件架构标准和平台软件构建在不同的汽车平台上复用应用软件整合到ECU中建立独立于硬件的、分层的软件架构分散实现要求软件系统层次化、模块化并且降低应用与平台之间的耦合度将所有模块的配置信息以统一的格式集中管理起来集中配置生成系统。 与传统汽车电子开发方法相比AUTOSAR通过模块化、标准化使硬件和软件的相互独立性大大提高。。同时软件代码可以重复使用和移植缩短了开发周期也降低了开发成本。 基于以上思想AUTSOAR软件架构分为应用层Application Layer运行时环境层RTERuntime Environment和基础软件层BSWBasic Software Layer。 应用层侧重于应用软件的开发由软件组件SWCSoftware Component组成各个软件组件内部可以包含一个或多个运行实体RunnableEntity软件组件之间通过Port端口形成逻辑连接。 运行时环境层为软件组件之间及软件组件与基础软件之间提供虚拟总线功能VFBVirtual Function Bus即软件组件与其他软件组件或基础软件的数据交互需要通过运行环境层提供的标准软件接口实现。运行环境层与微控制器之间为基础软件层。 这种分层架构优势在于一方面OEM可以专注于开发特定的、有竞争力的应用层软件在运行环境层之上另一方面它使OEM所不关心的基础软件层在运行环境层之下得到标准化。二、应用层APPL1.什么是应用层通俗来讲应用层是实现具体车辆功能的软件集合相当于手机里的各种APP手机APP微信聊天、高德导航、相机拍照汽车ASW自动跟车、车道保持、语音交互、氛围灯控制特点应用层代码不直接操作CAN控制器、GPIO引脚或ADC寄存器只关心“做什么”不关心“怎么做”所有与外界的交互都必须通过RTE2.软件组件Software Component, SWCSWC是应用层的基本构建块就像积木一样通过组合不同的SWC可以构建出复杂的汽车功能。每个SWC都由以下部分组成端口Port—— SWC的“插槽”发送——接收接口SR Port采用全局变量的方式传递数据发送者产生数据不关心谁接收接收者接收数据不关心数据哪来的可以多个接收者同时接收同一份数据通信是单向的没有建立“连接”的概念异步性 发送者随时可以发送数据接收者随时可能接收到数据两者在时间上是解耦的客户——服务器接口CS Port使用函数的方式传递数据服务器提供特定的服务或操作等待被调用客户端请求服务并等待服务器完成操作并返回结果通信是双向的客户端发起请求服务器返回响应形成一个完整的交互同步性 客户端在发出调用后通常会阻塞等待直到收到服务器的响应在swc和swc之间 每一个operation都是一个函数这个函数在Server端实现在client端调用在swc和service之间每一个operation对应一个宏指向runnable接口Interface—— 端口的“协议规范”定义端口上传输什么、怎么传输发送——接收接口SR Port——传输状态信息客户——服务器接口CS Port——传输服务请求可运行实体Runnable—— SWC的“功能函数”由RTE事件触发例如每10ms执行一次。具体内容会在后续介绍。内部行为Internal Behavior定义SWC内部如何工作包含一个或多个Runnable定义Runnable之间的调度关系。三、运行时环境层RTE 它让原本只能在特定环境运行的程序能在不同平台上正常工作它将上层应用的“通用请求”翻译成底层系统能理解的“具体指令”不同厂商的软件都能通过这个“标准翻译器”相互协作。四、基础软件层BSW微控制器抽象层MCAL芯片寄存器操作的标准化封装提供统一的硬件访问接口实现软件与具体芯片的解耦。ECU抽象层在MCAL基础上对ECU板级硬件资源外设、接口、电路进行统一抽象与管理形成设备无关的访问接口。服务层提供操作系统、存储管理、诊断服务、通信管理等系统级服务是BSW的功能核心与协调中枢。复杂设备驱动CDD处理非标准化或性能关键的特殊硬件功能为AUTOSAR标准未涵盖的特定需求提供定制化解决方案。层次MCAL直接操作芯片 → ECU抽象层整合板级硬件 → 服务层提供系统服务 → CDD补充特殊功能五、工具链我在工作中最常使用的是以下几种工具DaVinci Developer用来设计AppL的架构DaVinci Configurator用来配置BSW并在代码中生成RTEcanoe用于整车网络仿真、测试与分析canape用来ECU标定、诊断与测量制作界面