目录
一. 汽车电控系统及汽车软件发展趋势
1. 从电子电气的视角看汽车发展史
2. 汽车发展三大趋势
3. 汽车电子产品图谱
4. 典型的汽车电子控制系统
5. 汽车电子开发流程-总体遵循V模型
6. 汽车上有什么软件
7. 汽车行业正在发生什么样的变化
二. AUTOSAR方法论及软件架构
1. AUTOSAR的前生
2. AUTOSAR的起源
3. 什么是AUTOSAR
4. AUTOSAR方法论
5. AUTOSAR软件架构
三. AUTOSAR能解决什么问题
1. 谁最想用AUTOSAR?
2. AUTOSAR能解决那些问题?
机械控制 --> 微处理器控制 --> 基于网络的电控系统 --> 无人驾驶
电动化:对传统汽车的全面升级、包括更强的动力性能和全车智能控制的通用接口,是汽车智能化、网联化的最佳载体。
智能化:以智能计算平台为核心、以处理芯片、新型传感、通信网络、操作系统、人工智能算法等软硬件为基本的构成,显著提升汽车的决策、计算、通信等功能。
网联化:是5G重要的应用场景,5G赋能汽车与外界人、车、物的双向通信、赋予汽车新感知。
车身电子系统:BCM(车身控制器)、保险丝、地板线束、车门线束、顶棚线束、仪表台线束、USB/HSMI线、电动后视镜、车窗升降电机、尾门电动撑杆、门窗开关、雨刮电机、天窗电机、车辆诊断OBD、一键启动开关、照明系统、开关等。
底盘电子系统:转向系统、转向阻力电机、扭矩传感器、悬架系统、车高传感器、电子减震器、悬架电控单元、轮毂电机、制动系统、智能辅助、电子真空泵、ABS传感器、车速传感器、
发动机电子系统:发动机管理ECU、蓄电池、发电机、启动机、温度传感器、爆震传感器、氧气传感器、发动机线束、冷却系统、水泵、点火系统、进排气系统、进排气温度传感器、电子增压器、变速传动系统、电磁阀等。
信息娱乐与网联系统:以太网、CAN总线、T-BOX、天线、蓝牙模块、GPS模块、射频模块、车载信息娱乐系统、中控、组合仪表、HUD、流媒体后视镜、车载导航等。
安全舒适系统:安全系统、安全气囊控制单元、碰撞传感器、座椅调节电机、主动降噪单元、电喇叭、空调系统等。
自动驾驶系统:毫米波雷达、单目摄像头、激光雷达、固态激光雷达、机械旋转激光雷达、AI芯片、CPU、FPGA、超声波雷达、多目摄像头、夜市系统、360全景影像等。
传感器:控制器的输入装置,把汽车运行中各种工况信息、如车速、各种介质的温度、发动机运转工况等,转化成电信号给控制器。
控制器:ECU(Electronic Control Unit)主要是采集各种传感器及总线的数据,执行控制算法、通过执行器来控制汽车。
执行器:根据控制器的指令来控制汽车运行的部件,比如发动机、变速箱、电机等。
从上图可以看到,V模型是从上到下,从左到右,也是从下到上的开发流程。从上到下依次分为系统需求,系统架构,软件需求,软件架构,软件详细设计,软件单元(代码)。从上到下的流程是不是看着很像瀑布模型的流程?从左到右是指每一层级都有相对应的测试,如系统需求对应的系统测试。如当系统需求完成,下层级的系统架构,软件需求就会开始工作,于此同时,系统测试也将开始编写测试用例和搭建测试环境。而从下到上是指测试从下往上一层层的测试。如系统测试的开始条件是系统集成测试/软件测试完成且无无重大bug。
车载软件:如车载信息娱乐系统(In-Vehicle-Information简称IVI)基于QNX、Android开发。
车控软件:如发动机控制系统、电机控制系统、车身控制系统,基于AUTOSAR CP开发。
智控软件:如智能自动驾驶、智能座仓,基于AUTOSAR AP开发。
软件定义汽车
高内聚、低耦合、OTA
传统汽车的ECU刷完系统出厂后,基本不会再更改,除非出问题了,去4s店进行升级。
最新的汽车要具备软件更新升级功能,可以进行环境学习、迭代和优化。
那么主机厂面临着架构设计的挑战、功能安全的挑战和信息安全的挑战。
由于处理器CPU不断升级及不同实时操作系统的接口API不同,导致应用程序的移植性差等,为了改变这种状况,1993年德国汽车工业界提出了OSEK(Offene Systeme and deren Schnittstellen fur dieElektronik im Kraftfahr-zeug)体系,其含义是汽车电子开放式系统及其接口。
在1995年召开的研讨会上,众多的厂商对OSEK和VDX的认识达成了共识,产生了OSEK/VDX规范(1997年发布),简称OSEK规范。
OSEK规范的来源:汽车上有很多MCU,并且对价格非常敏感,不同的MCU来自不同的厂商,比如英飞凌、瑞萨、恩智浦等,并且相同厂商的芯片也分很多种类型,比如8位、16位、32位,不同的芯片有不同的功能。芯片不一样,芯片的指令集就不一样,操作系统就需要不断的适配,不同的操作系统开发又提供不同的接口,导致在操作系统之上跑的应用移植性很差,为了改变这一现象提出了OSEK规范。
操作系统规范(OSEK Operating System OSEK OS)
通信规范(OSEK Communication OSEK COM)
网络管理规范(OSEK Net Management OSEK NM)
OSEK实现语言(OSEK Implementation Language OIL)
此后,各软件生产厂商相继推出了符合OSEK规范的产品。
随着汽车向着更高的安全性、经济环保性、舒适性、便捷性发展,汽车电子系统的复杂性增加,导致ECU需求急剧增加,OSEK已经满足不了这种需求,汽车行业中的从业人员在很早的时候就预测到了这样的发展趋势,在2003年的时候,AUTOSAR联盟成立,目的是一起开发并建立一套真正的开发的汽车电子电气架构(也就是我们现在所说的AUTOSAR标准或者AUTOSAR架构)
由以上我们可以看出,AUTOSAR与OSEK二者都是汽车电子软件的标准。
OSEK基于ECU开发,AUTOSAR基于整车汽车电子开发。
AUTOSAR中规定的操作系统是OSEK OS的延伸,而通信和网络管理虽然和OSEK有区别,但思路一样。
AUTOSAR = AUTomotive Open System Architecture
AUTOSAR是一个国际组织,是一套汽车软件开发的方法论,是一个软件架构。
由全球各家汽车制造商、零部件供应商以及各种研究、服务机构共同参与的一种汽车电子系统的合作开发框架,并建立了一个开放的汽车控制器(ECU)标准软件架构。
AUTOSAR联盟核心成员(9家)
AUTOSAR联盟高级成员(66家)
上图为AUTOSAR的核心思想。
OEM(车厂)、Tier1(零部件供应商)、Tier2(基础软件供应商)、Tier3(芯片硬件供应商)
车厂在准备逻辑系统设计和物理系统设计时,AUTOSAR提供一个工具给车厂,车厂使用这个工具来进行设计工作。设计完成后,整个车辆的所有功能就被抽象出来了,比如几百个功能,这些个功能就叫做SWC,建模完成。接下来建设功能模块之间互相通信的通信矩阵,这个通信模型就叫做COM。接下来把抽象的功能萃取到ECU中,比如某两个功能放到一个ECU中,某五个功能放到另一个ECU中,这样以此类推,整车所有的功能就分解到所有的ECU中。那么车厂是如何将这些信息给到ECU中呢?不是通过书写一些文档来完成的,而是通过一个工具来完成的。这个工具使用的语言是标记语言,比如xml,在AUTOSAR中叫做arxml。接下来就可以把需求输入到ECU,当前的ECU就可以参照arxml进行设计,比如几路通信、几路can、几路eth等,框架建立好之后,把这套模型放到matlab中,matlab会把里面具体的功能全部实现。matlab的实现即功能的实现,仅限于上层的实现,也就是把应用都做好了,但是这些应用要跑到一个操作系统上,应用之间的通信也需要一些中间件的支持,那么这一套东西就叫做基础软件,这个基础软件可以叫做操作系统,也可以叫做操作系统和中间件。这个基础软件不是固定的,而是可以配置的,根据不同的ECU和功能,进行相应的配置,即基础软件配置。基于以上的操作,一个ECU就开发完成了。上边提到的基础软件配置,只是基础软件的一部分代码,原操作系统本身还有很多功能,比如任务调度,中断控制等,这些就在基础软件开发中完成。接下来就是芯片,以及相应的编译器。所有以上的开发都是按照统一的标准和规范来完成的,那么就把这些所有的C代码都放在一起,组成一个工程,编译成一个可执行文件,烧写到板卡中,一个控制器就设计完成了。
第六层是硬件,主芯片。
第五层硬件驱动,比如MCU的时钟、DIO、PWM、内存等。
第四层是ECU的抽象,即板卡中除了主芯片之外还有一些外围芯片,在这一层把板卡所有的接口做一层封装。
第三层就是服务层,比如存储服务、加密服务、网络服务、诊断服务等。
第二层就是运行时环境,把上层和底层连接起来。
第一层就是应用层。
SWC(Software Component)------------------------SWC设计工具
开发人员编写的应用程序,在AUTOSAR中叫软件组件。
RTE(Run Time Enviroment)------------------------RTE配置工具
实现了应用程序与基础软件的分离,使SWC与ECU的映射无关,负责应用程序与基础软件之间的数据交换。
BSW(Basic Software)---------------------BSW配置工具 + BSW静态代码
基础软件,为ECU提供基础的通信服务等功能,与硬件有关。AUTOSAR规范最主要的内容就是定义了底层软件的通用功能。
Microsoft Controller ----------------------MCAL配置工具 + MCAL静态代码
OEM最想用AUTOSAR,因为AUTOSAR可以提高效率、降低成本、提升质量。
Tier1最开始不想用AUTOSAR,因为已经开发好的控制器需要改成AUTOSAR的架构。但是从长远来看,满足AUTOSAR标准的控制器,可以用到多家使用了AUTOSAR标准的车厂,只要稍作修稿满足个性化需求就OK了,而不用重新开发一款产品。
移植难、集成难、支持功能安全、支持信息安全、提供OTA方案。