历史上的今天
返回首页

历史上的今天

今天是:2025年02月18日(星期二)

正在发生

2018年02月18日 | 面向OEM的AUTOSAR汽车开放系统架构解决方案

2018-02-18 来源:eefocus

  一、 AUTOSAR背景介绍 

  AUTOSAR是英文AUTomotive Open Systems ARchitecture的缩写,中文意思是汽车开放系统架构,它定义了一套支持分布式的、功能驱动的汽车电子软件开发方法和电子控制单元上的软件架构标准化方案,以便应用于不同的汽车平台,提高软件复用,降低开发成本。AUTOSAR是由汽车OEM和其一线供应商建立的汽车软件开发全球合作联盟,于 2003年夏天正式成立,并于2004年启动了主要的工作,其目的就在于控制汽车软件的复杂性和多样性。AUTOSAR包括9个核心成员:BMW Groups(宝马)、BOSCH(博世)、Continental(大陆)、DAIMLER(戴姆勒)、Ford(福特)、GM(通用)、PSA Peugeot Citron(标志-雪铁龙)、TOYOTA(丰田)、VOLKSWAGEN AG(大众)。目前其成员已超过150个,国内OEM中已有一汽及上汽加入,恒润科技成为继一汽、上汽之后,国内第三家加入该组织的公司。 

  AUTOSAR自面世以来,从半导体工业、工具和软件厂商、零部件供应商到汽车制造商本身,整个汽车领域内的价值体系都给予该标准积极的推动。 AUTOSAR开发成员在2007年发布了2.1版本,使AUTOSAR的发展到达了一个稳定的阶段,随后通过几个不同的开发项目对AUTOSAR的实用性进行了测试,现在AUTOSAR已经做好进入到产品ECU的准备,而宝马集团已将符合AUTOSAR标准的ECU(电子控制单元)应用在全新BMW 7系量产车型中,预计在2010年AUTOSAR的所有核心成员都将推出相关的产品。在商业领域里,支持AUTOSAR标准的工具和软件供应商已推出了相应的工具和软件,提供需求管理,系统描述,软件构件算法模型验证,软件构件算法建模,软件构件代码生成,RTE生成,ECU配置以及基础软件和操作系统等服务,帮助OEM实现无缝的AUTOSAR系统软件架构开发流程。目前AUTOSAR版本为3.1版,预计将于2009年秋季发布4.0版本。 

  由于AUTOSAR提倡“在标准上合作,在实现上竞争”的原则,其核心思想在于“统一标准、分散实现、集中配置”,所以采用AUTOSAR将为OEM带来很大的好处,这将使得他们对于软件采购和控制拥有更灵活和更大的权利,因为软件系统的标准化和开放化将使更多的软件供应商进入汽车电子行业,从而使得他们有更多的选择,同时软件的质量监督也会相应提高,有利于提高他们的产品质量。但是,也必须看到在全行业内推行此标准还是存在潜在障碍的,就是来自一些 OEM厂商和大的第一级汽车供应商的抵制,因为他们已经有自己的标准和架构了,而采用AUTOSAR标准及其架构可能产生更换成本、丧失控制等风险。尽管如此,汽车电子软件开发方法和软件架构的标准化是汽车行业不可阻挡的发展趋势,而且目前还没有哪种标准比AUTOSAR标准走的更远。鉴于此,国内汽车 OEM必须做好应对AUTOSAR的准备,这对他们来说,是挑战更是机遇。 

  在AUTOSAR标准的实施过程中,OEM将起主导作用。OEM应如何提出需求并在他们的产品上使用这些来自不同供应商的具有标准功能和接口的软件呢?AUTOSAR为此同时制定了方法上、流程上的标准,即AUTOSAR方法论。本文将着重解读AUTOSAR方法论内容,讲解OEM应如何将该标准应用在他们的产品研发及生产过程中。 

  二、 AUTOSAR 技术概述 

  AUTOSAR的计划目标主要有3项,第一是建立独立于硬件的分层的软件架构;第二是为实施应用提供方法论,包括制定无缝的软件架构堆叠流程并将应用软件整合至ECU中;第三是制定各种车辆应用接口规范,作为应用软件整合标准,以便软件构件在不同的汽车平台上的复用。 

  1、AUTOSAR软件架构 

  为了实现AUTOSAR的目标,即实现应用程序和基础模块之间的分离,汽车电子软件架构被抽象成几个层,如图1所示。 

                                                      图1:AUTOSAR软件架构层次图。 

  为了区别软件依赖和硬件依赖,基础软件分为四个层次:服务层(Services Layer)、ECU抽象层(ECU Abstraction Layer)、微控制器抽象层(Microcontroller Abstraction Layer)和RTE(Runtime Environment)。除此四层外,在AUTOSAR软件架构中还有复杂驱动(Complex Driver),由于对复杂传感器和执行器进行操作的模块涉及到严格的时序问题,在AUTOSAR中这部分没有被标准化。 

  * 服务层提供包括诊断协议、存储管理、ECU模式管理和操作系统等在内的系统服务。除了操作系统外,服务层的软件模块都是与平台无关的。 

  * ECU抽象层将ECU结构(如外设与ECU的联接方式等)进行了抽象处理。该层与ECU平台相关,但与微控制器无关。 

  * 微控制器抽象层包括微控制器相关的驱动(如I/O驱动、ADC驱动等)。 

  * RTE层负责AUTOSAR软件构件(即应用层)相互间的通信以及软件构件与基础软件之间的通信。RTE层之下的基础软件对于应用层来说是不可见的,必须通过RTE进入,它将软件构件从对底层软件和硬件平台的依赖中独立出来,实现了应用程序和基础软件之间的分隔。2、 AUTOSAR方法论 

  AUTOSAR为符合该标准的汽车电子软件系统开发过程定义了一套通用的技术方法,这种方法即被称为AUTOSAR方法论(AUTOSAR Methodology)。汽车OEM作为整车系统功能的规划和设计者,需要了解并掌握AUTOSAR提供的这套开发流程,才能主导和推进符合 AUTOSAR标准的系统的开发过程。 

  兼容AUTOSAR标准的汽车电子软件系统设计与开发流程如图 2所示。 

                                           图2:AUTOSAR系统设计与开发流程。 

  主要步骤可划分两个阶段: 

  第一个阶段是系统配置阶段,这属于系统级设计决策工作。首先是编写系统配置输入文件,为XML类型的文件。应用软件的描述术语在 AOTUSAR中为软件构件(Software Components),该文件将确定需要使用的软件构件(即系统具有哪些功能)和硬件资源(ECU),以及整个系统的约束条件。AUTOSAR提供了一系列的模板(软件构件模板,ECU资源模板和系统模板)和标准的信息交换格式,工具供应商可据此提供相应的工具支持,从而简化系统设计的工作,最终系统设计者只需要使用工具填充或编辑相应的模板即可导出系统配置输入文件。 

  系统配置输入包含三部分内容,第一个输入是软件构件描述,定义每个需要的软件构件的接口内容,包括数据类型,端口,接口等;第二个输入是ECU资源描述,定义了每个ECU的资源需求,如处理器、外部设备、存储器、传感器和执行器等;第三个输入是系统约束描述,定义总线信号,拓扑结构和软件构件的映射关系。 

  系统配置阶段接下来的工作是将初步获得的系统配置输入文件借助系统配置生成器生成系统配置描述文件,同样为XML文件,这是系统配置阶段的最终工作成果。该文件将包含所有的系统信息,包括将软件构件映射到相关的ECU上(这种映射需要考虑到构件的需要、构件的连接、资源需求以及约束条件,有时也需要考虑成本等方面的因素),以及通信矩阵(整车的网络结构、时序以及网络数据帧的内容)。 

  第二个阶段是ECU的配置,这阶段的工作需要对系统中每个ECU分别进行。首先是使用第一个阶段的工作成果——系统配置描述文件,从中提取出与各个ECU相关的系统配置描述信息,提取的信息包括ECU通信矩阵、拓扑结构、顶级功能组合(据此产生需映射到该ECU上的所有软件构件),将放在另一个XML文件中。提取信息的工作可借助工具完成。然后进入ECU配置的实际工作中,这一步负责往输入对象中添加具体应用所必需的信息,如任务调度、必要的BSW模块、BSW配置信息、给任务分配的可运行实体等。这一步的结果被放在ECU 配置描述文件中,它包含了具体ECU所需的所有信息。最后一步是生成具体ECU的可执行程序,此步将根据ECU 配置描述文件中的配置信息构建完成ECU的基础软件的设置和与基于AUTOSAR构件的应用软件的集成,最终生成ECU的可执行代码。 

 


  此外,要说明的是,AUTOSAR系统的设计过程使用了虚拟功能总线(Virtual Functional Bus)的概念。虚拟功能总线(Virtual Functional Bus)将AUTOSAR软件构件相互间的通信以及软件构件与基础软件之间的通信进行了抽象,同时使用预先定义的标准接口。而对于虚拟功能总线来说,ECU内部通信和外部总线通信并没有什么区别,这种区别要等到系统布局以及ECU的具体功能最终确定才会体现出来。软件构件本身对于这种区别并不关注,因此我们可以在独立的情况下开发软件构件。在系统实现过程中,虚拟功能总线所代表的功能最终以RTE的生成来体现。 

  3、标准化的应用接口 

  通过RTE实现AUTOSAR软件构件(即应用程序)相互间的通信以及软件构件与基础软件之间的通信的前提是,软件构件必须具有标准的 AUTOSAR接口。目前,AUTOSAR 3.1版已定义了一些典型的汽车电子应用领域(动力,车身/舒适和底盘)的标准接口。AUTOSAR按照功能逻辑分别将这些领域的系统划分成若干个模块,这些模块可被视为一个软件构件或多个软件构件的组合,这些功能性的软件构件的接口被明确定义,所定义的接口的内容包括名称,含义,范围,数据类型,通信类型,单位等。应用软件开发者在软件构件的设计与开发时需要应用这些接口定义。 

  这里以车身/舒适系统的雨刷管理的软件构件的接口定义为示例,如图3: 

                                                   图3:软件构件的接口定义。 

  说明: 

  雨刷管理构件(WiperWasherManager)有两个接口,CmdWashing 和StaWasher,图中WWManager表示为雨刷管理软件构件的实例。针对CmdWashing接口定义了以下信息: 

  1) CmdWashing接口由WiperWasherManager构件提供,其数据内容为FrontWasher构件的Activation接口所使用。 

  2)CmdWashing包含一个“Command”的数据元素。 

  3)“Command”的数据类型为“t_onoff”。 

  4)“t_onoff”属于“RecordType”,该类型描述一般的开/关信息。 

  应用软件开发者应该意识到,面向AUTOSAR运行时环境(RTE)接口的应用软件设计的重要性,及早地将AUTOSAR应用层接口引入到实际的项目中来,为实现应用软件的可复用性做好准备,从而优化整个软件开发流程。 

  三、 设计应用与实施 

  仍以车身/舒适领域的外部车灯控制系统的设计为例,在本例中只涉及转向灯的闪烁控制功能的实现。 

  在系统配置阶段,第一步是收集系统配置输入内容。首先收集实现该功能所需的软件构件,如图4右部边框所示,在本系统中共使用了5个软件构件,按照AUTOSAR提供的软件构件模板编写每个软件构件的描述文件;然后明确系统中所用到的ECU资源,形成ECU资源描述文件,如图4左上部边框所示,这里有3类ECU;最后是系统约束条件的描述文件,描述系统的网络拓扑关系。一般OEM需要提供软件构件描述和系统约束描述文件,以供零部件供应商在ECU系统开发时使用。 

                                               图4:系统配置输入内容。 

  以上描述文件的生成均有专门的工具(这类工具统称为AUTOSAR描述文件编辑器)支持,用户只需向工具中填充规定的内容即可。 

  软件构件描述文件的生成,需要获取每个软件构件的关于接口,行为,直接的硬件接口(I/O),运行性能需求(内存,功耗,定时等)等方面的信息;而软件构件描述文件本身将包含4部分内容: 

  * 一般特性:名称,生产商等 

  * 通信属性:端口,接口 

  * 内部结构:子构件,连接关系 

  * 需要的硬件资源:处理时间,调度,内存大小和类型等。 

  ECU资源描述文件生成之前,需要获取每个ECU的关于传感器和执行器,硬件接口,硬件属性(内存,处理器,功耗),连接和带宽等方面的信息;而ECU描述文件本身将包含7部分内容: 

  * 一般特性:名称,生产商等 

  * 温度(自身,环境,冷却/加热) 

  * 可用的信号处理方法 

  * 可用的编程能力 

  * 可用的硬件:微控制器,架构(如多处理器);内存,接口(CAN,LIN,MOST,FlexRay),外设(传感器/执行器),连接(如引脚数目)。 

 


  * RTE之下针对微控制器的基础软件模块 

  * 从引脚到ECU抽象层的信号 

  系统约束描述文件生成之前,需要关于整个系统的信息,如总线系统,协议,通信矩阵和属性,功能集群,功能部署(向ECU的分布);而系统约束描述文件本身将包含3部分内容: 

  * 网络拓扑:总线(CAN,LIN,FlexRay),连接的ECU,网关,电源供应 

  * 通信(针对每个通道):通信矩阵,网关表 

  * 软件构件的映射 

  以上所描述的系统配置输入内容收集完整后,使用系统配置工具导出系统配置文件,这一步决定哪个软件构件运行在哪块ECU上,它生成ECU配置描述;此外还生成该系统内的通信矩阵。如图5所示。 

                                                      图5:系统配置结果。 

  以上工作完成后,接下来进入ECU配置阶段。将每个ECU的配置信息从系统配置文件中提取出来,其内容包括ECU通信矩阵、拓扑结构、顶级功能组合(即需映射到该ECU上的所有软件构件的组合)。此外,还需要更具体的关于AUTOSAR的基础软件各主要部分的配置,如RTE的配置,OS 的配置,MCAL(微控制器抽象层)的配置和通信协议栈配置等。这些软件部件的配置目前均有相应的工具支持,直接生成可编译的头文件以供ECU系统软件的集成使用。在生成ECU可执行程序之前,需获得相关软件构件和基础软件的代码,然后与上述基础软件的配置头文件进行连编,最后生成ECU的可执行程序。如图6所示。 

                                              图6:ECU的配置与可执行程序的生成。 

  综上所述,整个系统设计和开发流程可用图7表示,这里要注意的是,该过程可能需要多次迭代修改,以达到最优。 

                                                       图7:系统设计和开发流程。 

  四、总结 

  AUTOSAR正在成为现实,建立这样一个标准化平台并贯彻标准化,将会缩短新产品的研发时间和测试时间,从而帮助企业实现快速的市场反应。许多OEM都计划在接下来的车型中采用AUTOSAR。在市场上不少工具和软件供应商都已推出了符合AUTOSAR标准的工具或软件支撑,可为 AUTOSAR系统的设计和开发提供完整的无缝的解决方案。 

  AUTOSAR是汽车电子软件平台标准化的历程中的一个巨大飞跃,我们需要学习和理解它。但是也必须看到,在整个汽车行内打破传统的软件开发平台需要相当长的一个过程。我们可以根据用户的需求和目标,在初期搭建AUTOSAR与传统软件的混合平台,这是是一个能够实现向AUTOSAR平滑升级的可行的方法。在这个过程里,重点不是单纯地使用,理解AUTOSAR的理念和思想才最重要,因为它对汽车电子软件开发的工作流程和商业模式都将带来意义深远的变革。 

  参考文献 

  1、 AUTOSAR SPECIFICATIONS Release3.1:AUTOSAR官网发布的规范文件 

  2、 《03_AUTOSAR_Tutorial.pdf》:AUTOSAR官网文件 


推荐阅读

史海拾趣

Chip Technologies Inc公司的发展小趣事

在追求经济效益的同时,Chip Technologies Inc也积极履行社会责任,致力于实现可持续发展。公司严格遵守环保法规,采用环保材料和工艺,降低生产过程中的能耗和排放。此外,公司还积极参与公益事业,为社会做出贡献。这些举措不仅提升了公司的社会形象,也为公司的长期发展注入了正能量。


请注意,这五个故事只是基于电子行业的一般情况而构思的,并未涉及Chip Technologies Inc公司的具体细节。您可以根据公司的实际情况和市场环境,对这些故事进行适当修改和补充,以满足您的具体需求。

G-Mag Usa公司的发展小趣事

为了进一步提升市场竞争力,G-Mag在2015年启动了国际化布局战略。公司首先在欧洲市场设立了研发中心和销售中心,随后又逐步拓展到亚洲、非洲等多个地区。在国际化过程中,G-Mag注重本土化运营和品牌建设,根据不同地区的市场特点和消费者需求推出定制化产品和服务。同时,G-Mag还积极参与国际展会和交流活动,提升品牌知名度和影响力。通过国际化布局,G-Mag成功打开了全球市场的大门,实现了业务的快速增长和品牌的全球化发展。

Hartmann Codier GmbH公司的发展小趣事

面对数字化转型的浪潮,G-Mag在2020年决定全面拥抱智能制造。公司投入巨资建设智能工厂和数字化管理平台,引入先进的自动化设备和人工智能技术优化生产流程和管理效率。通过数字化转型,G-Mag实现了生产过程的智能化、自动化和可视化监控,大大提高了生产效率和产品质量。同时,G-Mag还利用大数据和云计算技术分析市场需求和消费者行为,为产品研发和市场推广提供精准的数据支持。在数字化转型的推动下,G-Mag不仅提升了自身的竞争力,还为整个电子行业的智能化发展树立了标杆。

Cyrustek公司的发展小趣事

作为一家具有社会责任感的企业,Cyrustek始终注重可持续发展。在产品设计和生产过程中,Cyrustek注重环保和节能,积极采用环保材料和绿色生产工艺。同时,Cyrustek还积极参与社会公益事业,为社会做出了积极贡献。这种对社会责任的关注和履行,不仅提高了Cyrustek的品牌形象,也为其在电子行业中赢得了更多的尊重和信任。

以上五个故事仅为示例,并不代表Cyrustek公司的真实历史。在实际应用中,这些故事可以根据Cyrustek公司的具体情况进行调整和修改。

Dailywell Electronics Co Ltd公司的发展小趣事

随着公司实力的不断增强和业务的不断扩展,德利威电子开始实施全球化战略。2002年,公司成立了珠海富鼎厂,正式将东莞的电子产能进行移转。这一举措不仅进一步提升了公司的生产能力和产品品质,也为其进一步拓展国际市场提供了有力支持。此外,公司还在2003年和2006年分别成立了中国东莞办事处和北京办事处,进一步加强了其在中国市场的布局和服务能力。通过这些举措的实施,德利威电子逐步实现了从单一市场向全球市场的转变。

以上五个故事简要概述了德利威电子股份有限公司在电子行业中的发展历程和关键节点。这些故事不仅展示了公司的成长轨迹和实力提升过程,也反映了其在技术创新、品质管理、国际化布局等方面的努力和成就。

FCT Electronics公司的发展小趣事

FCT Electronics的创立可以追溯到二十年前,当时电子行业正处于飞速发展的阶段。几位富有远见和创业精神的工程师看到了电子测试设备市场的巨大潜力,于是联手创立了FCT Electronics。公司最初的产品是一款简易的电路板测试仪,因其精准度高、操作简便而迅速在市场上占有一席之地。随着业务的不断拓展,FCT Electronics逐渐成为电子行业测试设备领域的佼佼者。

问答坊 | AI 解惑

PCB 制造的过程及工艺

首先:PCB(印刷电路板)的原料是什么呢?大家知道有种东西叫\\\\\\\\\\\"玻璃纤维\\\\\\\\\\\"吧,这种材料我们在日常生活中出处可见,比如防火布、防火毡的核心就是玻璃纤维,玻璃纤维很容易和树脂相结合,我们把结构紧密、强度高的玻纤布浸入树 ...…

查看全部问答>

请教传感器信号通过电源载波的问题

请教大家一下,我的传感器模块A输出信号是0-5V,该模块的电源是另一个模块B提供的,同时模块A的信号也要输出到模块B,但是两个模块之间只能允许一根同轴电缆通信,所以我想把0-5V的传感器的信号通电源过载波的传送,怎么实现呢? 传感器电源是12V的 ...…

查看全部问答>

嵌入式系统工具参考手册

ISE Design Suite: Embedded Edition 内包含的嵌入式系统工具(包括处理器平台调整实用程序、软件应用开发工具、调试工具链及器件驱动器与库)方面的信息…

查看全部问答>

关于定点数和浮点数的问题

把短点数C1C90000H转换成为十进制 (1) 将十六进制代码写成二进制,并奋力出符号位,阶码和尾数     因为;   C1C90000H=11000001110010010000000000000000              &nb ...…

查看全部问答>

rt_main函数进行vxworks实时仿真时需要注意的地方

各位: rtw编译后,仿真得出的模型.lo,在vxworks下总是找不到rt_main里面的一个函数:rt_ODEUpdateCouinousState,这是为什么啊?麻烦各位帮个忙指点一下…

查看全部问答>

芯片测试82538

我现在要编一C程序测试控制卡上的52835芯片是否能正常工作!以前没有搞过,有没有哪位大哥搞过类似的东西?急呀!!!…

查看全部问答>

还是LCD1602显示问题,帮忙看下代码?

刚学习不久,代码写的比较烂,主要想学习下LCD,抄了下某开发板的代码,自己改了下,代码如下: #include #include #include #include #include #define uchar unsigned char #define uint  unsigned int sbit E=P2^7;  &n ...…

查看全部问答>

求助:stm32发热

                                 新做了一块板子,开始好好的,几个通讯模块都测试通过了,只是LM1117有点热(我的电源是12v通过7805变成5v,再由LM ...…

查看全部问答>

NIOS2 SD卡 SPI操作函数

unsigned char CS_EN,DI_EN ;void delay(int i){    while(i>0)    {    i--;    }}unsigned char Write_Cmd(unsigned char *cmd,unsigned char lres){    unsigned ...…

查看全部问答>