autosar
AUTOSAR 是一个全球性的、由主要汽车厂商、零部件供应商和工具开发商共同制定的开放式汽车软件架构标准。 它的核心目标是实现 “软硬件分离” ,让汽车软件不再依赖于特定的硬件,从而提升开发效率、可维护性并降低成本。
一、背景:为什么需要AUTOSAR?
在AUTOSAR出现之前,汽车电子电气架构面临巨大挑战:
软件与硬件强耦合:
每个ECU(电子控制单元,即汽车里的“小电脑”)的软件都是为其特定的硬件(芯片)量身定制的。
如果想更换一个芯片供应商,整个软件几乎需要重写,费时费力。
复杂性爆炸式增长:
现代汽车拥有上百个ECU(如发动机控制、刹车、车窗、空调、信息娱乐系统等),软件代码量已达数亿行。
各ECU之间需要频繁通信,网络拓扑结构极其复杂。
开发效率低下,成本高昂:
主机厂(如大众、丰田)和不同的 Tier 1 供应商(如博世、大陆)之间没有统一的接口标准。
每次合作都需要大量的协调和集成测试工作,重复造轮子现象严重。
难以实现创新功能:
像自动驾驶、高级网联功能这样的复杂系统,需要多个ECU深度协同。如果没有统一的标准,集成这些功能将是一场噩梦。
二、AUTOSAR 是什么?
AUTOSAR 不是一个具体的软件产品,而是一套规范、方法论和标准。你可以把它想象成汽车软件界的 “安卓系统” 或 “建筑行业的标准图纸”。
它的核心思想是 “分层架构”,如下图所示:
应用层
内容:包含具体的汽车功能软件,例如车窗控制算法、发动机控制逻辑等。
特点:这部分的软件由主机厂或供应商独立开发,是实现其产品差异化和核心竞争力的地方。AUTOSAR 不关心这里面的具体算法。
运行时环境
作用:它是连接应用层和基础软件层的“中间件”或“桥梁”。
功能:提供统一的通信接口。无论ECU在哪个硬件上,应用层软件都通过RTE进行通信,实现了 “软硬件分离”。这是AUTOSAR的精髓所在。
基础软件层
内容:提供各种基础服务,不包含具体的应用逻辑,类似于PC的操作系统和驱动程序。它又被细分为:
服务层:提供网络管理、内存管理、诊断服务等操作系统级别的功能。
ECU抽象层:将对ECU硬件的访问(如IO端口、ADC转换)抽象成统一的接口,隐藏硬件细节。
微控制器抽象层:直接与微控制器打交道,是最底层的驱动程序。
复杂驱动:为一些时序要求非常苛刻或特殊的传感器/执行器提供直接访问硬件的通道,作为标准BSW的补充。
方法论和工具
AUTOSAR还定义了一套完整的开发流程和文件格式(如ARXML),用于描述整个系统的软件组件、接口和ECU资源。开发者使用支持AUTOSAR的工具链(如Vector的DaVinci,ETAS的ISOLAR)来进行配置和代码生成。
三、作用与核心价值
AUTOSAR 的作用可以总结为以下几点:
提高软件的可重用性和可互换性
软件复用:为一个ECU开发的软件组件,可以更容易地移植到另一个ECU上。
供应商互换:主机厂可以更自由地选择硬件供应商,因为上层的应用软件不再依赖于底层硬件。
管理日益增长的ECU软件的复杂性
通过标准化的接口和分层架构,将复杂的系统分解为易于管理的模块,降低了开发和集成的难度。
提升开发效率,缩短产品上市时间
标准化意味着不同团队、不同公司之间可以并行开发,最后通过标准接口进行集成,大大减少了协调和测试的工作量。
确保整个产品生命周期的质量和可靠性
标准化的通信和诊断机制,使得软件更加稳定,也便于在整个车辆生命周期内进行维护、升级和诊断。
为未来汽车创新(如自动驾驶、OTA升级)奠定基础
一个稳定、标准化的软件架构是实现高级网联功能和持续迭代(FOTA)的先决条件。
2、autosar规定了什么?
对应用软件与底层软件之间以及应用软件之间的接口进行标准化
给出一个控制器软件参考架构
规范分布式开发流程中的交换格式
3、autosar架构:即2中的控制器软件参考架构
三、作用与核心价值
AUTOSAR 的作用可以总结为以下几点:
提高软件的可重用性和可互换性
软件复用:为一个ECU开发的软件组件,可以更容易地移植到另一个ECU上。
供应商互换:主机厂可以更自由地选择硬件供应商,因为上层的应用软件不再依赖于底层硬件。
管理日益增长的ECU软件的复杂性
通过标准化的接口和分层架构,将复杂的系统分解为易于管理的模块,降低了开发和集成的难度。
提升开发效率,缩短产品上市时间
标准化意味着不同团队、不同公司之间可以并行开发,最后通过标准接口进行集成,大大减少了协调和测试的工作量。
确保整个产品生命周期的质量和可靠性
标准化的通信和诊断机制,使得软件更加稳定,也便于在整个车辆生命周期内进行维护、升级和诊断。
为未来汽车创新(如自动驾驶、OTA升级)奠定基础
一个稳定、标准化的软件架构是实现高级网联功能和持续迭代(FOTA)的先决条件。
四、经典AUTOSAR与自适应AUTOSAR
随着汽车向更高程度的智能化和网联化发展,经典AUTOSAR在应对高性能计算需求时显得力不从心。因此,AUTOSAR联盟在2017年发布了 自适应AUTOSAR。
特性 | 经典AUTOSAR | 自适应AUTOSAR |
---|---|---|
目标平台 | 资源受限的微控制器,如发动机、刹车控制ECU | 高性能处理器,如自动驾驶域控制器、智能座舱主机 |
操作系统 | 基于OSEK/VDX标准的实时操作系统 | 基于POSIX标准的高性能OS(如Linux、QNX) |
通信方式 | 静态配置的CAN/LIN/FlexRay总线通信 | 动态的、基于服务的通信(类似互联网的SOA架构) |
执行特性 | 固定时间触发,硬实时 | 事件驱动,软实时 |
软件更新 | 难度较大,通常需回厂 | 支持动态更新和OTA |
简单来说:
经典AUTOSAR 负责控制车辆“身体” 的部分(如底盘、动力系统),要求高实时性和可靠性。
自适应AUTOSAR 负责处理“大脑” 相关的复杂功能(如自动驾驶、信息娱乐),要求高算力和灵活性。
在现代汽车的“域控制器”架构中,两者常常协同工作,共同构成未来汽车软件的“数字底座”。
总结
AUTOSAR 是汽车行业为了应对软件定义汽车时代挑战而制定的核心基础设施。它通过标准化的软件架构,实现了软硬件解耦,极大地提升了开发效率、软件质量和可维护性,是推动汽车产业向智能化、网联化发展的关键基石技术。