近年来人们越来越熟悉软件定义汽车这一概念,这意味着汽车软件的功能变得越来越强大,同时它的开发变得越来越复杂,从而为汽车电子的软件开发带来了更多挑战。为了解决相应的功能需求,维克多推出了满足AUTOSAR Adaptive规范的软件解决方案MICROSAR Adaptive,来助力新一代节点的软件开发。
在新一代的电子电器架构里面,通常把车内节点分成三类,分别是被称为车辆大脑的中央计算平台,在它上面搭载着众多来自于不同软件供应商的功能软件,由此实现车辆越来越复杂的功能。还有一类节点为集成节点,它负责连接每个方位域上的各个控制器,负责系统的集成和数据转化,比如说将中央计算平台发布的基于服务的数据转化成机械节点可以理解的基于信号的数据。最后一类是负责处理传感器和执行器相关功能的机械节点,这类节点通常不会涉及复杂的数据计算,所以具有很好的复用性。
针对这三类节点各自的功能特点,需要为它们设计相适应的软硬件架构。例如中央计算平台,由于它通常对算力有很高的要求,所以往往会选择微处理器作为硬件,上面搭载POSIX操作系统,采用C++作为开发语言。针对这类节点的软件开发,AUTOSAR Classic平台将不再适用,所以AUTOSAR组织在2017年首次推出了AUTOSAR Adaptive规范,为基于POSIX操作系统做软件开发的节点提供了规范支持。
通常来说负责传感器、执行器相关功能的机械节点会沿用AUTOSAR Classic平台的软硬件方案,采用基于信号的通讯方式,AUTOSAR Adaptive平台则被应用在中央计算平台和集成节点上面。
两种平台 各有千秋
下面对两种平台的差异性作一个简单的对比。
不管是AUTOSAR Classic平台,还是AUTOSAR Adaptive平台,都是为汽车电子软件开发的应用场景所设计的,所以都考虑到功能安全ISO26262的要求。二者的差异性主要围绕着不同种类节点的功能需求而来:
· 操作系统
AUTOSAR Classic平台搭载的操作系统是AUTOSAR OS,是一个静态的、实时的操作系统,而AUTOSAR Adaptive平台运行在POSIX OS之上;
· 开发语言
AUTOSAR Classic平台采用C语言进行开发,而AUTOSAR Adaptive平台,通常采用C++语言进行开发;
· 软件执行方式
AUTOSAR Classic平台在开发时,需要将基础软件和功能软件进行统一的编译链接,所以代码在单片机中的运行地址是固定的。而AUTOSAR Adaptive节点的应用支持独立地开发和部署,应用实际的运行地址由操作系统动态分配,所以没有固定的运行地址。
· 实时性和计算能力
基于两种平台各自的软硬件特性,通常情况下AUTOSAR Classic节点有很快的启动速度,同时由于单片机高集成度的特点,可以很方便地去操作外设,从而满足高实时性的要求。AUTOSAR Adaptive节点有非常高的计算能力,可以实现大数据的运算,同时每个模块之间开发的独立性更高,可以支持应用独立地开发和安装。
MICROSAR Adaptive产品,为基于POSIX操作系统做软件开发的节点提供满足AUTOSAR Adaptive规范的基础软件解决方案,为不同软件提供商开发的车载应用提供统一的运行环境。
维克多公司于1994年首次推出车载嵌入式软件产品,到目前为止已经在行业内积累了将近30年的经验,无论是基于OSEK规范的CANbedded产品,还是基于AUTOSAR Classic规范的MICROSAR Classic,在相关领域的市场占有率一直处于领先地位,同时收获了良好的口碑。
搭载MICROSAR Adaptive软件的节点,由于遵循相同的通信协议,可以实现和车内其他已有节点,比如MICROSAR Classic节点的无缝通信。MICROSAR Adaptive在国内外均已实现量产,该方案可以满足功能安全ISO 26262要求,最高等级可达ASIL D。
MICROSAR Adaptive 支持所有市场上主流的硬件和操作系统。维克多和众多的芯片厂商以及操作系统提供商都保持着密切的合作关系,针对具体的项目需求,维克多可以保证MICROSAR Adaptive在各种硬件和操作系统环境上的顺利集成。
如图,是MICROSAR Adaptive产品的架构图。 MICROSAR Adaptive的软件模块运行在POSIX操作系统之上,包含一系列功能模块,每个功能块都致力于解决Adaptive项目开发过程中所面临的不同挑战,在项目中客户可以根据实际功能需求来选择所需要使用的软件模块。
维克多MICROSAR Adaptive产品的软件模块
更加复杂的网络架构和更大的数据量对车载ECU的网络通信提出了更高的挑战。不同于手机、电脑等应用场景,汽车是对安全性要求更高的环境,所以车载ECU需要遵循专为汽车应用场景所设计的规范,以保证节点之间的通信安全并且高效。
MICROSAR Adaptive的通信管理模块ara::com,可以帮助Adaptive节点实现车载的网络通信,基于通信数据库中的需求定义,ara::com为Adaptive应用的开发提供基于服务的通信接口,让应用程序的开发独立于底层协议的部署,ara::com支持的传输协议包括SOME/IP,IPC,Signal2Service等, 同时,为了满足功能安全和信息安全的要求,ara::com还可以支持TLS和E2E.
另一个亟待解决的问题是车载诊断。Adaptive节点需要支持诊断协议来满足故障诊断的需求, MICROSAR Adaptive的诊断模块DM,可以为用户提供满足UDS(ISO 14229)和DoIP(ISO 13400)规范的诊断解决方案。
通过使用DM提供的接口,Adaptive应用可以轻松地实现故障记录、DID读取等一系列诊断功能。MICROSAR Adaptive的诊断协议栈除了支持ISO和AUTOSAR规范之外,还针对不同OEM的诊断规范做了定制化的功能拓展,以帮助客户满足特定项目的需求。
提到了故障诊断,就不得不说非易失性内存存储。ECU中有大量的数据需要被存储到非易失性内存中以保证数据掉电不丢失。Adaptive节点可以通过使用MICROSAR Adaptive的存储模块来实现相应的功能。
为了满足不同应用场景的需求,MICROSAR Adaptive的存储模块支持不同的数据存储格式,包括基于文件格式的存储方式和基于关键字的存储方式,应用程序通过直接调用存储模块提供的接口,即可实现数据存储的功能。
状态管理是另一个需要被重点关注的功能。随着汽车功能的复杂化,Adaptive节点的状态管理也变得尤为重要,例如有一些应用需要在车辆的驾驶状态下被使用,有一些则只需要在休闲娱乐时被激活,控制不同应用在车辆不同状态下的激活或关闭状态就需要用到状态管理。为了实现状态管理的功能,AUTOSAR Adaptive定义了Execution Management(EM)和State Management(SM)两个功能块来共同完成这一工作。
EM是MICROSAR Adaptive的标准模块,而由于SM通常和ECU的功能逻辑关系比较大,所以需要由用户根据ECU的实际需求做自主开发,MICORSAR Adaptive可以提供SM的开发框架,帮助客户快速上手。
Adaptive节点的一大亮点是支持应用的单独安装和更新。而这一功能的实现就需要用到MICROSAR Adaptive的UCM模块。UCM负责对接收到的安装包进行安全校验,校验通过之后再执行应用的安装、激活、回滚等动作。
应用的实际安装策略由一个单独的软件块来实现,在项目中,用户可以选择使用UCM自带的安装策略,也可以根据需求进行自主开发,以提高项目的灵活度。在满足AUTOSAR规范规定的功能之外,MICROSAR Adaptive的UCM还支持一些扩展功能,比如可以支持安装过程的暂停和续传等。
MICROSAR Adaptive的配置工具DaVinci Developer Adaptive
DaVinci Developer Adaptive是集成在Eclipse中的高效开发环境,支持在Linux和Windows环境中运行,是配置MICROSAR Adaptive项目和开发Adaptive应用的最佳工具。该工具对Adaptive项目开发过程中所涉及到的各个环节均可提供支持,比如,同时提供DML(DaVinci Modeling Language)与表格两种方式编辑数据库文件,并可兼容完整的上下游工具与第三方MBD工具。
DaVinci Developer Adaptive同时支持基于GUI和命令行的开发模式,通过与MICROSAR Adaptive代码包的关联,可以一键完成代码与manifest文件的生成。
维克多为Adaptive项目开发提供完整的工具链
维克多的工具链可覆盖AUTOSAR Adaptive项目开发的各个环节。
首先在需求定义阶段,PREEvision可以进行整车的架构设计,定义基于SOA架构的服务接口,完成服务和Adaptive应用之间的映射关系,从而抽离Adaptive节点的通信数据库。CANdelaStudio支持诊断数据库的设计,PREEvision和CANdela导出的数据库可以直接导入到Adaptive应用的开发工具DaVinci Developer Adaptive中进行应用开发。
通过与MICROSAR Adaptive协议栈相关联,vVIRTUALtarget复用协议栈配置生成Adaptive虚拟软件系统,可直接与CANoe连接以实现应用的开发与测试。
TA Tool Suite是一款分析工具,它可以可视化地还原进程的运行状态,例如在运行过程中与哪些进程、资源存在信息交互等,方便进行负载分析和资源优化,从而提高整个系统的效率。目前支持的trace工具有LTTng、Perf和QNX trace。
通过这些工具对各个开发环节的支持,维克多可以保证用户在Adaptive项目不同阶段之间的兼容性。目前相关工具都还在不断的更新维护中,相信通过不断丰富的功能和持续优化的体验,维克多一定可以助力客户顺利地完成Adaptive项目的开发。
本文来源:盖世汽车资讯