CPAUTOSARRTE介绍

原创 汽车电子与软件 2024-11-25 08:11

作者 | 不可说
出品 | 汽车电子与软件



#01
CP与RTE  


AUTOSAR RTE(运行时环境,Run-Time Environment)是AUTOSAR ECU架构的核心组成部分,它与操作系统(OS)、AUTOSAR COM以及其他基本软件模块共同实现了虚拟功能总线(VFB)的概念。

         

 

VFB可以被理解为一种中间件,它介于系统和系统软件之间,用于共享和调度系统上的各种资源。同时,VFB也可以被视为RTE层,用于各个软件组件(SWC)之间的交互,包括服务、数据收发、模式切换等功能。

         

 

具体而言,RTE通过实现AUTOSAR虚拟功能总线接口,完成了AUTOSAR软件组件之间的通信。这一实现是针对特定ECU的AUTOSAR VFB接口的具体化。RTE不仅提供了基础设施服务,使得AUTOSAR软件组件能够顺畅地进行通信,而且还充当了AUTOSAR软件组件访问基础软件模块(涵盖操作系统和通信服务等)的桥梁。因此,RTE在确保AUTOSAR架构内各组件有效协同工作方面发挥着至关重要的作用。

  



#02
RTE服务  


RTE是一个综合性的概念,它涵盖了系统基础设施中的可变元素以及标准化的服务。这些可变元素主要源于组件到ECU的不同映射方式。从逻辑层面来看,RTE可以被划分为两个核心子部分,旨在实现两大功能:一是软件组件之间的通信,二是软件组件的调度。   

         

 

为了全面而准确地描述RTE的概念,我们还必须考虑Basic Software Scheduler(基本软件调度器)的作用。Basic Software Scheduler是AutoSAR架构中BSW(基础软件)的一个组成部分,专门用于调度和管理基础软件模块的执行。Basic Software Scheduler负责调度基本软件模块中的可调度实体,这些实体在某些文档中也被称为主处理函数。值得注意的是,由于软件组件和基本软件模块的调度可能会使用相同的OS Task(操作系统任务),因此RTE的调度部分与Basic Software Scheduler之间存在着紧密的关联,二者在实际操作中难以明确分离。

         

 

为了确保RTE和基本软件调度程序能够最大程度地适应并优化每个ECU的性能,我们需要为每个ECU单独生成相应的RTE和基本软件调度程序。这样一来,无论是RTE的通信功能、调度功能,还是Basic Software Scheduler的调度能力,都能得到充分的发挥,从而共同支撑起ECU的高效稳定运行。

   



#03
RTE对一些AUTOSAR概念的实现 


RTE架构图


AUTOSAR 软件组件位于架构图中RTE的上方和下方。在RTE下面还有具有 AUTOSAR 接口的软件实体。这些是 AUTOSAR 服务、ECU抽象和复杂设备驱动程序CDD。对于这些软件,不仅要描述 AUTOSAR 接口,还可以在基本软件模块描述中提供有关其内部结构的信息。


下面看看不同的 AUTOSAR 软件组件类型,以及它们对 RTE 的影响。


1. AUTOSAR 软件组件(SWC) 


在AUTOSAR架构中,"Application"软件在概念层次上位于AUTOSAR RTE之上,它由两大核心部分组成。


首先,"AUTOSAR应用软件组件"构成了其一部分,这些组件具有高度的通用性和独立性,既不依赖于特定的ECU,也不受车辆中安装位置的影响,因此具备较高的可重用性和灵活性。


其次,"AUTOSAR传感器-执行器组件"是另一重要组成部分,这些组件则紧密依赖于ECU的硬件特性,由于性能优化和效率提升的考量,它们的设计往往与特定的硬件实现紧密绑定,因此相较于应用软件组件,传感器-执行器组件在系统中的重新定位较为困难。   

         

 

这意味着,在系统配置期间,受系统设计师设定的约束条件限制,AUTOSAR软件组件可以部署到任何可用的ECU上。此时,RTE负责确保组件之间能够通信,并确保无论组件部署在哪里,系统都能按预期继续运行。对于传感器/执行器软件组件而言,它们可能只能直接访问本地ECU的抽象层。因此,如果需要访问远程ECU的抽象层,则必须通过中间的传感器/执行器软件组件来实现,该组件会在远程ECU上广播相关信息。因此,如果将传感器/执行器软件组件移动到不同的ECU上,可能也意味着需要将与之相连的设备(传感器/执行器)也移动到同一个ECU上(如果需要高效访问的话)。

         

 

AUTOSAR软件组件由组件接口的类型定义来定义。当组件部署到ECU上时,会实例化该组件类型。在同一ECU上,一个组件类型可以被实例化多次,此时称该组件类型为“多次实例化”。RTE支持按实例划分的内存区域,这使得每个组件实例都能拥有私有状态。

         

 

2. 基础软件模块 


在AUTOSAR环境中,ECU不仅包含“AUTOSAR软件组件”,还包含了基础软件模块。这些基础软件模块能够直接访问ECU抽象层以及其他基础软件模块。基本软件模块提供的功能不能在另一个ECU中重新用。然而,一些基本软件模块的源代码可以在其他ECU上重用。

         

 

相比之下,“AUTOSAR软件组件”无法直接访问基础软件模块,所有的通信都必须通过AUTOSAR接口进行,从而处于RTE的控制之下。这一不直接访问的要求适用于所有基础软件模块,包括操作系统和通信服务在内。简而言之,AUTOSAR架构通过明确的接口划分,确保了软件组件与基础软件模块之间的交互既规范又可控,从而提升了系统的整体稳定性和可维护性。   

         

 

3. 通信 


AUTOSAR软件组件的通信接口由多个端口组成,这些端口通过端口接口进行特征描述。一个AUTOSAR软件组件能够通过其接口与其他AUTOSAR软件组件(无论这些组件位于同一ECU上还是不同ECU上)或位于同一ECU上且具有端口和运行实体的基础软件模块进行通信。这种通信仅能通过组件的端口进行。

         

 

端口可以根据其接口类型分为发送-接收(sender-receiver)端口和客户-服务(client-server)端口。sender-receiver接口提供消息传递功能,而client-server接口则提供函数调用功能。简而言之,AUTOSAR软件组件通过特定类型的端口接口与其他组件或基础软件模块进行交互,这些交互包括消息传递和函数调用,且所有通信都必须通过组件的端口进行。


通信范式 


RTE为软件组件实例之间的通信提供了多种范式,包括发送者-接收(sender-receiver)、客户端-服务(client-server)、模式切换以及NvBlockSwComponentType(NvBlockSwComponentType 定义了非易失性数据,这些数据可以在 Sw ComponentPrototypes 之间共享)交互。这些通信范式均可应用于以下三种场景:同一分区内的软件组件分布(涵盖同一分区内的任务内和任务间分布)、跨分区的软件组件分布以及跨ECU的软件组件分布。

         

 

在任务内通信中,可运行实体被映射到同一个操作系统任务上,它们之间的通信就发生在这些实体之间。而任务间通信则发生在被映射到同一分区内不同任务的可运行实体之间。跨分区通信发生在被映射到同一ECU不同分区的组件中的可运行实体之间,这种通信需要跨越保护边界(如内存保护、时序保护以及核心隔离)。跨ECU通信则发生在被映射到不同ECU的组件中的可运行实体之间,这种通信本质上是并发的,且可能涉及不可靠的通信。   

         

 

通信模式 


RTE支持两种发送者与接收者之间的通信模式,这些模式确保了数据元素在组件之间的有效传输。这两种模式如下:

         

 

显式模式:在此模式下,组件通过显式调用RTE的应用程序接口(API)来发送和接收数据元素。这意味着组件需要主动使用RTE提供的API函数,以明确的方式指示何时发送数据以及何时接收数据。

         

 

隐式模式:RTE在可运行实体(runnable)被调用之前会自动读取一组指定的数据元素,并在该可运行实体终止后自动写入另一组(不同的)数据元素。这里的“隐式”一词指的是可运行实体本身并不主动发起数据的接收或传输。相反,RTE负责在适当的时机自动处理这些数据的读取和写入操作,从而简化了组件间的通信流程。

         

 

简单来讲:显式模式要求组件主动控制数据的发送和接收,而隐式模式则通过RTE的自动处理来简化这一过程。

         

 

4、并发 


AUTOSAR软件组件无法直接访问操作系统,因此在AUTOSAR应用中不存在“任务”的概念。相反,AUTOSAR中的并发活动是基于组件内的可运行实体(RunnableEntity)进行的,这些实体由RTE调用。   

         

 

AUTOSAR的VFB规范将可运行实体定义为“可以由RTE启动的指令序列”。一个组件通常提供一个或多个可运行实体,每个可运行实体都恰好有一个入口点。入口点定义了软件组件代码中提供可运行实体实现的符号。

         

 

RTE负责调用可运行实体——AUTOSAR软件组件无法(动态)创建私有的控制线程。因此,AUTOSAR应用中的所有活动都是由RTE作为RTE事件的结果触发可运行实体而启动的。RTE事件涵盖了所有可能触发RTE执行可运行实体的情境。RTE支持任何具有AUTOSAR接口的组件中的可运行实体,这包括AUTOSAR软件组件和基本软件模块。

         

 

简单总结来说,AUTOSAR架构通过RTE管理可运行实体的调用,实现了应用内的并发活动,而这些可运行实体是定义在组件中,并由RTE事件触发的指令序列。这一机制确保了AUTOSAR应用在没有直接操作系统访问权限的情况下,仍能有效地进行并发处理。

      



#04
小  结 


AUTOSAR RTE负责处理不同软件组件之间的事件触发和消息传递。它提供了标准化的数据接口和通信机制,确保数据能够在应用软件和基础软件之间高效、准确地传递。RTE也负责管理应用软件和基础软件之间的数据传递和通信,包括数据的读写、信号量的管理等。


RTE抽象了基础软件(BSW)和操作系统(OS),防止应用软件(SWC)直接访问它们,从而简化了应用软件的开发过程,并降低了对底层实现的依赖。



/ END /


  

 

      

汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 51浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 102浏览
  • 学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&
    youyeye 2024-11-30 14:30 70浏览
  • 《高速PCB设计经验规则应用实践》+PCB绘制学习与验证读书首先看目录,我感兴趣的是这一节;作者在书中列举了一条经典规则,然后进行详细分析,通过公式推导图表列举说明了传统的这一规则是受到电容加工特点影响的,在使用了MLCC陶瓷电容后这一条规则已经不再实用了。图书还列举了高速PCB设计需要的专业工具和仿真软件,当然由于篇幅所限,只是介绍了一点点设计步骤;我最感兴趣的部分还是元件布局的经验规则,在这里列举如下:在这里,演示一下,我根据书本知识进行电机驱动的布局:这也算知行合一吧。对于布局书中有一句:
    wuyu2009 2024-11-30 20:30 106浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 65浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 70浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 37浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 66浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 98浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 83浏览
  • 戴上XR眼镜去“追龙”是种什么体验?2024年11月30日,由上海自然博物馆(上海科技馆分馆)与三湘印象联合出品、三湘印象旗下观印象艺术发展有限公司(下简称“观印象”)承制的《又见恐龙》XR嘉年华在上海自然博物馆重磅开幕。该体验项目将于12月1日正式对公众开放,持续至2025年3月30日。双向奔赴,恐龙IP撞上元宇宙不久前,上海市经济和信息化委员会等部门联合印发了《上海市超高清视听产业发展行动方案》,特别提到“支持博物馆、主题乐园等场所推动超高清视听技术应用,丰富线下文旅消费体验”。作为上海自然
    电子与消费 2024-11-30 22:03 86浏览
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 41浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦