Adaptive AUTOSAR平台与车用高性能控制器开发
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.2 AP(自适应平台)与CP(经典平台)的对比

无论是自适应平台还是经典平台,总体目标都是一致的:更好的管理数量增多,功能复杂度增加的汽车ECU、改善ECU软件质量和可靠性、提升产品升级灵活性,缩短产品推向市场的时间、可拓展的架构解决方案。但是它们在各方面都有很大的区别。

首先,CP AUTOSAR一般运行在8bit、16bit、32bit的微控制器(MCU)中,如英飞凌的TC3xx、瑞萨的RH850等。AP AUTOSAR可以运行在64bit的高性能处理器(MPU)、CPU等中,如瑞萨的H3、英伟达的Xavier等。除此之外,AP AUTOSAR也可以运行在虚拟硬件上。

硬件不同,其算力也不同。CP是无法运行在高算力的芯片上的,而AP则可以在算力高于20000 DMIPs的芯片上运行。芯片算力越高,就意味着相同时间可以处理更为复杂的算法,那么软件可实现的功能也就越高。

CP和AP的软件架构也是不同的,CP的软件架构有明显的上下层关系,其软件架构如图1-23所示。

图1-23 AUTOSAR CP的软件架构

可以看出,AUTOSAR CP主要有微控制器层、基础软件层、RTE层和应用层。AUTOSAR CP架构设计原则为:

1)CP AUTOSAR将与硬件相关的以及通用系统功能定义为BSW模块。

2)应用功能定义为独立的软件组件SWC。

3)RTE分离SWC和BSW。

4)BSW可配置,并且可以被多个产品线的ECU重复使用。

5)CP是不开源的。

而AP的软件架构则如图1-24所示。

图1-24 AP的软件架构

图中所有的模块均称为功能集群(Functional Clusters,FC),功能集群又分成两部分:Foundation(FO)和Service。每个功能集群都是相互独立的,没有相互依存(Dependency)的关系,也就是说,一个厂家搭建的软件架构不一定需要设计图1-24中所有的FC,只需要根据软件需求设计相应的FC即可,可以降低系统开发成本。AP的设计原则是:

1)遵循面向服务的架构(SOA)设计范式(理念)。

2)充分利用其他领域软件成熟技术,重用软件市场成熟组件,缩短开发周期。

3)充分利用各种开源软件。

在软件开发过程阶段,CP与AP都主要都包括以下三个阶段:

1)设计阶段:设计ARXML。

2)代码生成:基于ARXML生成代码。

3)集成:集成Application、编译调试等。

AP与CP在软件开发过程中主要有以下不同:

1)在AUTOSAR AP设计阶段,需要进行Service和Manifest的设计,而CP则无此过程;CP需要进行ECU配置设计,而AP没有ECU配置这个设计项。

当然,CP与AP都需要进行系统设计和诊断设计,具体的不同体现在设计细节上。

2)在代码生成时,CP生成的是基础软件模块相关的代码,AP生成的是FC相关的代码和Manifest,需要注意的是,AP中不是所有的FC都会生成相关的代码和Manifest。

3)集成时,AP AUTOSAR需要考虑OEM Application Cloud,而CP则不用。

AP在软件设计阶段不需要考虑软件应用具体部署到什么位置,即哪个ECU。软件开发人员只需要按照软件的功能需求进行软件开发即可,AP程序的验证也可以不在ECU上验证,AP可以通过将软件部署到虚拟ECU来验证各类软件的正确性。

4)CP与AP还有一个很大的区别是通信方式。以往汽车ECU间的通信是通过CAN,各ECU将信号往总线上发送,各个ECU又从总线上各取所需。在以往的车辆上,这种通信方式是可以的,但是当新的技术涌现出来,总线上已经不足以传输数量如此庞大的信号时,我们就需要提出一种新的通信方式以满足传输大量信号数据的需求。这时候面向服务的通信架构(Service Oriented Architecture,SOA)就出现了,SOA是将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间已定义好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。而在AP系统中,所有应用由一组服务组成,其中一个服务可以依次使用另一个服务,应用程序可以根据其需要使用一个或多个服务。服务可以驻留在应用程序运行的本地ECU上,也可以位于正在运行AP另一个实例的远程ECU上。数据只在需要的时候传输,总线的使用率降低了很多。

5)CP与AP的调度方式也是不同的,CP AUTOSAR OS采用固定的任务调度配置。在OS Task中调度BSW Main Functions以及SWC的Runnable Entities,按既定规则顺序执行,并协同BSW Modules和App SWC的模式切换。而AP AUTOSAR支持多种动态调度策略,配置在运行时完成,配置信息在Manifest文件中体现。AP AUTOSAR中与调度相关的模块主要为执行管理(EM)和状态管理(SM),应用程序运行在Process、Thread中。CP AUTOSAR中,任务的调度周期可以到微秒(μs)级别;而AP AUTOSAR是在毫秒(ms)级,一般是几十至上百毫秒。

6)CP的状态管理较为简单,而AP主要有以下三种状态管理:

①Function Group(FG)State:功能组状态。Machine State:Machine状态是一种典型的功能组状态。

②Process State:进程状态。EM通过Function Group来改变Process State。

③Execution State:进程的执行状态。

AP的状态管理结构如图1-25所示。

图1-25 AP的状态管理架构

CP与AP的主要区别见表1-1。

表1-1 CP与AP的主要区别

因此,与CP相比,基于AP开发的ECU具有更加智能、更大的计算力(基于SOA架构使得AP能够支持多核并行处理),更好的安全性,更好的兼容性,更灵活敏捷的开发,更易实现物联(基于以太网的SOA通信,更易实现无线、远程、云连接以及部署V2X应用)。