汽车开放系统架构(AUTOSAR)是什么

AUTOSAR联盟是在2003年由9家汽车行业的巨头(宝马、博世、大陆、戴姆勒、福特、通用、PSA、丰田、大众)建立的。这9家公司后来也称为AUTOSAR联盟的核心成员。截至2020年3月,AUTOSAR已经拥有了57家高级成员、50家开发成员、142家普通成员以及20家观察员公司及机构,包括全球各大主流整车厂、一级供应商、标准软件供应商、开发工具和服务提供商、半导体供应商、高校和研究机构等。许多中国厂商也是AUTOSAR联盟成员,例如长城、东风、一汽、上汽、吉利、蔚来、拜腾、宁德时代等。

比较特殊的是,目前炙手可热的特斯拉却没有加入AUTOSAR。这意味着他们很可能拥有自己的一套E/E开发流程和控制器软件架构。

从上个世纪80年代汽车控制器出现开始,汽车的电子控制系统一直在高速发展,面临的挑战也越来越多,主要体现在以下几个方面:

我们再来看看汽车行业里整车厂和供应商的关系。

汽车行业里有众多的整车厂(OEM)和供应商。一般来说,每一家OEM会生产不止一种车型,每一家OEM对不同子系统和零部件会选择不止一个供应商,每个供应商也会向不止一家OEM供货。减少开发成本最有效的办法就是,尽可能让产品可重复利用,用数量来分摊开发成本。OEM希望可以让同一套系统和部件用在不同的车型上;同一辆车上来自不同供应商的的各个系统和部件可以相互兼容;而供应商希望开发出来的部件和算法可以通过简单的软件调整就供给不同的OEM。

另一方面,各个供应商的开发进度往往是不同步的。人们希望可以在供应商开发的过程中就可以测试该部件能否与整车上的其它系统正确配合。因此需要一种统一的、标准化的系统描述方法。

这便是AUTOSAR的初衷,即通过提升OEM以及供应商之间软件模块的可复用性和可互换性来改进对复杂汽车电子电气架构的管理。

为此,AUTOSAR做了以下3件事情:

通过这些手段,AUTOSAR希望可以做到:

AUTOSAR提出了一个口号,叫做“Cooperateonstandards,competeonimplementation”。意思就是汽车行业的整车厂和供应商共同合作开发一套汽车电子系统的软件开发标准,这样大家就可以专注于功能的开发,而无需顾虑目标硬件平台。

打个简单的比方。整车和零部件就好比是电脑和外设的关系,它们之间通过标准的USB接口来连接。无论是联想的电脑,还是戴尔的电脑,无论是100块的鼠标,还是1000块的鼠标,它们都互相可以即插即用。电脑厂家可以专注做自己的电脑,而无需考虑会外接什么样的鼠标键盘;相应的,外设厂可以专注做自己的鼠标键盘,而无需考虑会用在什么样的电脑上。它们之间的接口和交换格式,已经由USB标准规定了。这就是标准化带来的便利。

在一个汽车控制器中,除了实现具体功能及算法的应用软件,还有许多底层软件来保证控制器的正常运行,比如CAN总线信号的收发、任务进程的调度、Flash数据的读写等等。一方面,不同控制器中这部分底层软件的功能重复度很高;而另一方面这部分底层软件又跟硬件紧密相连,在一个处理器平台上写好的软件,换一个处理器平台就不能用了。去为每一个控制器项目专门写一套底层软件显然是非常低效的,而且也容易出错。

于是人们就想通过标准化应用软件和底层软件之间的接口,来让应用软件开发者可以专注于具体应用功能的开发,而无需考虑控制器底层的运行过程。这样即使更换了处理器硬件,应用软件也无需做太多修改就可以被移植过去。而底层软件的开发则交给专门的公司,他们为每一个处理器硬件写好驱动,并封装成标准化接口提供给上层。这样底层软件就可以被高效地集成到不同项目中。而由于同一套底层软件被大量重复使用,发现bug的概率大大提高,从而可以很快得到修补,并且通过更新对其它项目进行同步修补。

为了让大家更直观地理解这套思想,我再打个比方。

假如小明现在要给小红寄一封信,需要分几步?我想大致可以分成以下几个步骤:

如果我们把上图中左边寄件人+邮筒+邮局看成一个ECU,其中写信人是应用软件,邮局是底层软件,邮筒是连接应用软件和底层软件的标准接口,把右半部分看成另一个ECU,把连接两个邮局之间的运输工具看成是汽车上的物理总线,那么整个AUTOSAR的基本思想是不是就变得直观了?

下面我们看看ClassicAUTOSAR平台的软件架构。它可以分为以下几部分:

其中基础软件层可以再细分成很多个小模块。下面是Vector公司给出的基础软件层的模块图。其中绝大部分的模块都由AUTOSAR作了详细描述,从具体的功能、工作流程到接口。一级供应商在开发的时候只需要根据实际需求,购买相应的基础软件模块,再进行配置和集成即可。这就有点像乐高积木一样。这使得供应商对控制器基础软件的开发由实现(implement)变成了配置(configurate),大大增加了开发效率,也减少了错误几率。

AUTOSAR遵循的是一种自上而下的开发方式。即先进行系统设计,再分别进行开发实现,最终进行系统集成。

下图便是AUTOSAR开发流程的一个简要概括。这里首先要提一下虚拟功能总线(VirtualFunctionalBus,VFB)。它是为SWC之间的通信和对BSW服务的调用提供一个虚拟的中间层。这样整车厂在初期进行系统设计(1)时,就可以专注于软件功能模块的设计,而无需考虑硬件的限制。SWC因而也可以重复利用,并在不同项目里自由组合。

完成系统功能架构设计后,第2步便是将SWC分割到不同的ECU上。同一个ECU内不同SWC之间的信息交换可以在ECU内部完成,而如果不同ECU的SWC之间需要信息交换的话,那就需要通过物理总线了,比如CAN。通常来说,功能相近的SWC要放在一个ECU上,这样可以减少总线上传递的信号数量,减少总线负载,也减少传输延迟。这一步会把整个网络细节定义好,包括信号的长度、处在哪个CAN报文的哪个位置、CAN总线的比特率等等。最终生成一个AUTOSARXML格式的系统描述文档(SystemDescription)。

完成系统设计之后,就可以为每个控制器单独生成一个控制器描述文档(ECUExtractofSystemDescription),同样是AUTOSARXML格式。它包含了系统里跟这个ECU有关的所有信息,例如拥有哪些总线,每个总线的参数(如CAN的比特率、LIN的ScheduleTable等等),在每条总线上都收发哪些信号,是否带E2E校验,包含哪些SWC,分别都收发哪些信号,等等。

接下来便是把这些控制器描述文档分发给各个控制器相应的供应商。供应商会从AUTOSAR基础软件提供商(如Vector、Elektrobit)购买相应的基础软件模块,并使用AUTOSAR开发工具导入控制器描述文档,就可以生成该控制器的大体框架。之后只需要完成对各个基础软件模块的具体参数配置,就可以自动生成基础软件的C代码,包括RTE。RTE会把基础软件层与应用层的接口封装好。而应用层软件的开发可以同步进行。前面已经定义好了各个SWC使用的接口,做应用层开发的时候只需要使用这些接口即可。应用层的开发即可以是由同一个控制器的供应商来做,也可以是整车厂自己做,甚至可以将同一个控制器的不同SWC交给不同的供应商来做。开发过程可以是基于模型的,也可以手动编写C代码。等到应用层和基础软件层都开发完毕之后,由于它们使用了预设好的统一的接口,最后可以很方便地集成到一起。

之后供应商便可以对控制器及相应的部件进行测试。前面说过,一辆车上各个部件往往是交给不同的供应商来做的。供应商之间的开发进度往往不同步,而且一般也不会互相往来。那么供应商如何在没有其他部件的情况下,测试自己的部件是否能在系统中正确工作呢?由于我们是在一个设计好的完整系统中切割出一个个ECUExtract的,所以它已经包含了跟系统中其它部件的接口信息。于是各个供应商可以通过仿真工具建立起一个虚拟的系统环境,来测试他们的部件是否与系统兼容。这也就是硬件在环测试(Hardwareintheloop,HIL)。

各个部件开发完成后,就可以集成到一起进行测试了。由于各个部件是基于同一个系统设计开发出来的,它们集成到一起后便可以互相配合了。当然,实际当中会很多问题在单独开发测试阶段没有被发现,集成到一起之后才会被发现。之后还需要不停地进行修改、测试。但在AUTOSAR框架下,这个过程也是非常清晰的。当需要修改两个控制器之间的信号时,只要先在系统描述文档里进行修改,再生成更新后的控制器描述文档,相应地供应商再将它们导入AUTOSAR开发工具中,更新相应的信号路径、参数等,就可以很快地生成新的C代码。

AUTOSAR的设想很美好,不过在实际应用当中还是有各种限制。首先,目前提供AUTOSAR开发工具链及基础层软件的基本上就Vector、Elektrobit(Continental)和Bosch三家,而由于各家对AUTOSAR标准的理解和具体实现方式不同,导致它们的基础层软件在某些方面是不兼容的。这使得应用时的灵活性受到了限制。其次,AUTOSAR的整套工具链价格还是相当昂贵的。AUTOSAR的优势是提高软件的可复用性来降低成本,但对于一些小供应商来说,如果做的量太小的话,这一优势相对于购置整套开发环境的成本便不那么明显了。另外,传统AUTOSAR的灵活性也是相对而言的。传统AUTOSAR用的是OSEKOS,是一个静态操作系统。其进程的数量、优先级、内存分配等等都是固定的。一旦需要做一个改动,比如添加一个通信信号,都需要重新生成一遍整个ECU的代码并刷写。于是人们又开发出了AdaptiveAUTOSAR,来满足汽车越来越高的智能化,越来越快的功能和软件更新频率要求。

个人觉得,AUTOSAR的出发点是好的。如果各个整车厂和供应商都遵循同一套软件开发标准,是可以大大提高开发效率和产品的灵活度的。而且要让整个汽车行业这么多企业坐在一起开发一套共同的标准,本来就不是一件简单的事。虽然现实应用中有各种不足,但随着AUTOSAR应用越来越广泛,标准逐步完善,AUTOSAR在汽车软件的开发中还是会扮演举足轻重的角色的。

THE END
1.汽车中什么叫网关起什么作用网关使用的网关电脑,也就是总线技术。网关计算机负责接收来自车辆的各种信号,那些不能被计算机直接接收的信号可以被网关计算机接收。网关计算机在汽车和网络中起着关键作用,它的安装位置大多在仪表电脑后面。 综上所述,汽车网关作用是多方面的,在汽车电子电气架构中扮演着举足轻重的角色,它的作用不仅负责数据传输和网络管https://www.yoojia.com/article/10441022422463247514.html
2.汽车网关的作用是什么?网关是汽车网络系统的核心控制装置,主要负责协调不同结构和特征的数据网络之间的数据交换、故障诊断等工作。以下是相关的具体介绍: 1、协调: 协调各个模块之间的信息传输。 2、优先级: 对于各个电脑模块所发送的数据,根据数据的轻重,进行优先选派原则。 3、调速: https://auto.china.com/mip/738899.html
3.(四)张家口市商务局市场建设运行领域百问百答扩大汽车消费是通过省级安排商贸流通发展专项资金,鼓励有条件的市统筹相关资金,各地组织汽车经销企业开展家用汽车促销、汽车以旧换新、新能源车推广和汽车下乡,通过发放消费券、赠送加油卡等方式对城乡居民汽车消费给予补贴,拉动汽车消费。 3.报废机动车回收拆解企业资质重新认定的时限是什么时间? https://www.zjk.gov.cn/content/bwbd/197919.html
4.汽车电子开发概念解析汽车电子系统开发介绍1、什么是ECU 某传统汽车的一个ECU 在现代社会中,几乎所有东西都是以某种方式内置电子设备。这类东西有个共有名称,即嵌入式系统。由于电子产品是内置在某东西中的,所以称之为嵌入式。嵌入式系统通过专门的嵌入式软硬件执行特定的工作。所以嵌入式系统不同于电脑/智能手机/平板,因为后者可以做很多事情,还可以安装额https://blog.csdn.net/qq_54140018/article/details/136243838
5.马可波罗网主站更多电脑/办公设备>> 机动车 摩托车/沙滩车 乘用车 电动汽车 客车 货车 三轮汽车/农用车 专用汽车/特种汽车 电车 牵引车 挂车/拖车 电动车 电瓶车 电动观光车 电动巡逻车 电动消防车 电动老爷车 电动环卫车 电动送餐车 电动货运车 防爆巡检车 非机动车 自行车 电动自行车/电动摩托车 代步车/代步滑板车 http://makepolo.com/
6.什么是CAN总线/LIN总线/FlexRay/以太网?汽车上面布满了各种控制单元,越是高级的汽车,其控制单元越多,控制系统越复杂。每个控制单元都可看做一台独立的电脑,它可以接受信息,同时能对各种信息进行处理、分析,然后发出一个指令。比如发动机控制单元会接受来自进气压力传感器、发动机温度传感器、油门踏板位置传感器、发动机转速传感器等等的信息,在经过分析和处理后会https://m.hqew.com/tech/fangan_2022292
7.关于车联网安全中,你必须知道的常见车端知识汽车是由许多子系统组成的一个大系统 上图中的每个子系统都由单独的或共享 ECU 进行控制,这些 ECU 相互之间又经过汽车内部网络(如CAN)相互连接,共同实现对汽车的整体控制 3.6.1 什么是ECU? ECU 类似于我们的个人电脑,是一个闭环控制系统。个人电脑通过键盘、鼠标等输入设备感知用户的意图或命令,并去驱动显示器、https://www.eet-china.com/mp/a167077.html
8.赵福全对话李斌(全):蔚来服务密码——对客户的体验全程负责李斌:是的,创业哪会有那么容易,容易的事情就轮不到你来干了。就我个人而言,我觉得创业必须有创新的成分,但一定要尊重基本规律来做事。比如蔚来的产品定位是智能电动汽车,而智能电动汽车产品有其基本规律,包括研发、质量、用户服务等都有基本规律,这些基本规律是不能忽视的,更不能逾越。相反,我们必须尊重规律,踏实前https://auto.ifeng.com/c/83BfzZOsN1M
9.汽车电子设备技术详解及汽车控制方案汇总安森美半导体公司的NCV7471系统基础芯片(SBC)集成了车体的汽车电控单元(ECU)的功能,提供和监视应用微控制器和其他负载的低压电源,通过看门狗监视应用软件,以及高速CAN和LIN收发器,使ECU成为多个通信节点或用作网关单元。 1.NCV7471 是一个系统基础芯片 NCV7471 是一个系统基础芯片(SBC),整合了汽车车身电子控制单元(ECUhttps://m.elecfans.com/article/362941
10.汽车车载网络系统检修(高职)全套教学课件.pptx检修人员利用汽车检测仪等仪器对该车检测后,判断可能是汽车车载网络系统中的一个网关出了问题,于是更换了该网关,清除故障码后试车,汽车恢复正常。请大家思考:什么是汽车车载网络系统?它由哪几部分组成呢? 任务引入 任务工单——认识汽车车载网络系统1.学生分组以3~5人为一组,选出组长并进行任务分工,将小组概况及https://max.book118.com/html/2024/0318/8014005140006046.shtm
11.美国访学生活攻略(部分内容基于田纳西州诺城的经验)重复提醒一下,开户前一定要问清楚有没有开户bonus,条件是什么,可否申办信用卡,有没有cash back/points奖励等。 4.租房合同、KUB(用电)账户、打印I94表 如果一家人同来,建议租房合同上写上所有家人的名字,这样大家都有了一个地址证明(考驾照等可用)。 https://blog.sciencenet.cn/blog-577790-1145337.html