Autosar AP – AP和CP差异

■ 硬件

     1. 芯片类型:

         CP AUTOSAR一般运行在8bit16bit32bit的微控制器(MCU)中,如英飞凌的TC3xx,瑞萨的RH850等。

         ▪ AP AUTOSAR可以运行在64bit的高性能处理器(MPU)、CPU等中,如瑞萨的H3,英伟达的Xavier等。除此之外,AP AUTOSAR也可以运行在虚拟硬件上。

     2. 芯片算力:

         ▪ 运行CP AUTOSAR 的芯片算力一般低于1000 DMIPs

         ▪ AP AUTOSAR可以运行在算力高于20000 DMIPs的芯片上

OS

      1. OS类型:

          ▪ CP AUTOSAR OS是基于OSEK标准的。

          ▪ AP AUTOSAR OSPOSIX OS(UNIX, linux),且至少应包含PSE51子集。

      2. 开发商:

          CP AUTOSAR OS一般由CP AUTOSAR供应商开发,如AUBASSVECTOR等。

          ▪ AP AUTOSAR 配套的OS一般是由专门的OS厂商开发的,如eSOLeMCOS、黑莓的QNX

■ 架构

     1. CP AUTOSAR

         软件分为三层:Applicationruntime environment(RTE)basic software(BSW)

          Application Layer,不依赖于硬件的

          ▪ 软件模块间通过RTE交互,并通过RTE访问BSW

          ▪ RTE体现了application的所有接口

          ▪ BSW又分为3大层和复杂驱动:服务层、ECU抽象层、MCU抽象层

          ▪ 服务层又细分为不同的服务组件,比如系统服务、存储服务、通信服务等

Autosar AP – AP和CP差异_第1张图片

■ 架构

     2. AP AUTOSAR

         Adaptive AUTOSAR标准定义了一个ARA运行环境,分为两种接口类型:serviceAPIs。平台由根据服务(Platform Service)和Adaptive AUTOSAR基础(Platform Foundation)分组的多个功能栈(功能集群)组成。

         ▪ 聚合了自适应平台功能

         ▪ 定义了功能栈需求规范

         ▪ 从应用程序和网络角度描述软件平台的行为

         ▪ 但不限制最终在自适应平台中的具体软件架构设计

Autosar AP – AP和CP差异_第2张图片

 

 

■ 架构设计原则

     1. CP AUTOSAR设计原则:

         ▪ CP AUTOSAR将于硬件相关的以及通用系统功能定义为BSW模块

         ▪ 应用功能定义为独立的软件组件SWC

         ▪ RTE分离SWCBSW
         ▪ BSW可配置,并且可以被多个产品线的ECU重复使用

         ▪ 不开源

     2. AP AUTOSAR设计原则:

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

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

         ▪ 充分利用各种开源软件

■ 开发流程

     从开发流程来看,APCP都主要包括以下三个阶段:

         ▪ 设计阶段:设计ARXML

         ▪ 代码生成:基于ARXML生成代码

         ▪ 集成:集成Application,编译调试等

    不同点

         ▪ 在AP AUTOSAR设计阶段,需要进行ServiceManifest的设计。

         ▪ CP则不用。CP需要进行ECU配置设计,而AP没有ECU配置这个设计项。

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

Autosar AP – AP和CP差异_第3张图片

 

■ 接口

     CP AUTOSAR常用的接口是Sender-ReceiverClient-Server

     AP AUTOSAR常用的接口是Service Interface

     当设计CP AUTOSARAP AUTOSAR之间的通信时,需要进行信号到服务的转换设计,当前能提供该功能模块的只   有ETASSignal2Service Function Cluster

     Signal-2-Service功能集群:

     ▪ 从信号到服务(CPAPSignal2Service

     ▪ 从服务到信号(APCPService2Signal

■ 通信方式

     CP AUTOSAR是基于信号的通信,主要包括CANLinFlexRay等。

     AP AUTOSAR是面向服务的通信,支持基于以太网的SOME/IPIPCRPC等。

     CP AUTOSAR虽然可以支持SOME/IP,但是CP AUTOSARSOME/IP只不过是把Sender-ReceiverCAN通信转换成了Client-Server的以太网通信,整个通信链路仍是静态配置的,并不是真正的面向服务的通信。

■ 调度方式

     CP AUTOSAR OS采用固定的任务调度配置。在OS Task中调度BSW Main Functions以及SWCRunnable Entities,按既定规则顺序执行。并协同BSW ModulesApp SWC的模式切换。

     AP AUTOSAR 支持多种动态调度策略,配置在运行时完成,配置信息在Manifest文件中体现。

     AP AUTOSAR中与调度相关的模块主要为执行管理(EM)和状态管理(SM),应用程序运行在ProcessThread中。

     CP AUTOSAR中,任务的调度周期可以到us级别。而AP AUTOSAR是在ms(一般是几十上百)级。

■ 状态管理

     CP AUTOSAR 通过模式开关组件处理不同的状态:

        BSW模式(Network Online, Offline

        Application模式(Normal等)

        Vehicle 模式(ActiveInactive

     AP AUTOSAR主要通过以下三种状态来进行状态管理:

        ▪ Function GroupFGState:功能组状态

        ▪ Process State:进程状态,EM通过Function Group来改变Process State

        ▪ Execution State:进程的执行状态

■ 状态管理

CP状态管理

Autosar AP – AP和CP差异_第4张图片

 

AP状态管理

Autosar AP – AP和CP差异_第5张图片

 

Safety

     1. CP AUTOSAR中的Safety机制主要有:

          ▪ 与OS相关的Safety机制:内存保护,时序保护,硬件保护

          ▪ E2E保护:End to End,端到端的通信保护,为防止通信链路中可能存在的故障HW/SW), 在 通信节点 之间 执行的 一种数据保护协议/机制。

          ▪ 看门狗管理器: Alive 监视, Deadline 监视, Logic 监视

          ▪ 硬件诊断: Core Test RAM Test Flash Test

      2. AP AUTOSARara::com支持E2E

Security

     1. CP AUTOSAR中的Security方案主要包括:

          ▪ SecOCSecure Onboard Communication

          ▪ CSMCrypto Service Manager

        

         主要流程为:

          ▪ 添加/验证身份验证信息

          ▪ 实现上下层模块的接口

          ▪ 由PduR路由配置解决

          ▪ 维护缓冲区以存储和修改安全的I-PDU

      2. AP AUTOSAR中与Security相关的模块主要为:

          ▪ ara::iam:身份验证管理

          ▪ ara::crypto:用于通用加密操作和安全密钥管理

             -> Adaptive Application提供接口,负责加密原语的构建和监督

             -> 提供了通过标准化接口访问加密算法的多种实现的基础结构

             -> 该规范对加密堆栈的内部体系结构和实现没有任何限制

Autosar AP – AP和CP差异_第6张图片

■ 时间同步

     CP AUTOSAR与时间同步相关的模块为StbM

     AP AUTOSAR与时间同步相关的模块为ara::tsync

■ 开发语言

     CP AUTOSAR主要使用的是C语言,相关的标准是MISRA C

     ▪ AP AUTOSAR主要使用的是C++语言,相关的标准是ISO/IEC 14882:2014

■ 代码执行

     CP AUTOSAR上的应用程序直接从ROM执行代码

     AP AUTOSAR上的应用程序则是从持久性内存加载到RAM中运行

■ 地址空间

     ▪ CP AUTOSAR所有应用程序具有相同的地址空间,其Safety主要通过内存保护单元(MPU)支持。

     ▪ AP AUTOSAR上,每个应用程序都有自己的(虚拟)地址空间,这是通过内存管理单元(MMU)来支持的。

 

Update

     ▪ CP AUTOSAR自身是不支持OTA的,这就意味着要更新在CP AUTOSAR上运行的应用程序,就必须更新这个ECU的代码。通过其他控制器对运行CP AUTOSAR的控制器进行更新不算CP AUTOSAR自身的OTA

     ▪ AP AUTOSAR是自身支持OTA的,AP AUTOSAR可以自己删除/更新/增加单个Application,而且AP AUTOSAR也可以更新某个功能集群(FC)的代码,只是这种用例比较少见。

■ 应用场景

     ▪ CP AUTOSAR一般应用在对实时性要求高、对功能安全要求高、对算力要求较低的场景中,如引擎控制、制动系统等。

    ▪ AP AUTOSAR一般应用在对实时性有一定要求、对功能安全有一定要求,对算力要求较高的场景中,如:

        ① 传感器融合处理、运行时动态更新

        ② 自动驾驶中

        ③ OTA

你可能感兴趣的:(车载技术,p2p,网络协议,网络)