2025 年 3 月 19 日,在第六届软件界说汽车论坛暨 AUTOSAR 中国日上,长城汽车总工程师杜建福先容了 EE 架构从传统单一 ECU 向整车 SOA 架构的演变欧洲杯体育,指出系统被折柳为本领劳动层和应用劳动层等多个层级。跟着本领发展,中央计较单位向 AP 平台挪动,但平台弃取尚未斡旋。在 SOA 成立过程中,靠近多核处理器环境兼容、C++ 东谈主才稀缺以及 Simulink 成立模式挪动等挑战。这些问题条目汽车行业在东谈主才和本领上不断改进,以稳健新的成立环境。
杜建福 | 长城汽车总工程师
随后,迈斯沃克首席应用工程师 / 本领客户司理龚小平先容了 MathWorks 针对 SOA 成立的管制决策。通过提供架构缠绵器具、自动代码生成本领和中间件劳动栈,MathWorks 助力汽车行业完了高效 SOA 成立。其管制决策复旧从架构缠绵到代码生成、部署的齐全历程,同期提供造谣仿真功能,加快成立程度。此外,推选聘请增量式部署方法,简化软件问题排查。
龚小平 | 迈斯沃克首席应用工程师 / 本领客户司理
以下为演讲内容整理:
EE架构的演变与软件体系缚构
在传统架构缠绵中,咱们主要聚焦于单一的 ECU,矜恤其应用层或底层软件架构的构建。着 SOA 理念在汽车行业中的兴起,架构缠绵的视角已拓展至整车的层面。在此架构下,系统被折柳为本领劳动层、应用劳动层等多个层级,表层承载着各样应用,而基层则由中央区域铁心器及一系列原子劳动等组成。
图源:演讲嘉宾素材
现时,车辆仍运行于传统的 CP 平台,诸如 VCU 或车身铁心器等组件均部署在此类平台上。然则,跟着本领的发展,部分中央计较单位已运转向 AP 平台挪动。对于畴昔平台的弃取,现在业界尚未达成共鸣,各方均在按照自己政策进行探索。但长久来看,概况"分久必合,合久必分",最终或将趋向于一种归一化的管制决策。
在 SOA 成立过程中,咱们靠近着一系列挑战。中央架构中不仅包含 A 核,还交融了 M 核与 R 核等多种类型的处理器。SOA 软件的成立需兼顾运行于 Posix 兼容系统内核的环境,以及运行于经典及时操作系统(RTOS)的 M 核(或 R 核)环境。
在 SOA 成立过程中,咱们遭受了诸多挑战。在式样初期,一个显耀的问题就是 C++ 东谈主才的匮乏,因为现时允洽 AP 递次的成立无数聘请 C++ 言语,而阛阓上此类专科东谈主才资源稀缺,招聘使命变得尤为勤快。即便能够招募到联系东谈主才,咱们也靠近着奈何将汽车行业豪放使用的 Simulink 成立模式灵验挪动到 AP 平台的问题。Simulink 原有的模子如安在新平台下完了复用,成为亟待管制的要道议题。
此外,对于习尚于基于 Simulink 模子成立的成立者而言,转向手工代码编写后,代码的可视化后果显耀松懈。相较于 MBD 成立,后者在可视化方面存在不及,对于算法进行仿真考据的方便性亦有所裁减。
测试面容亦靠近挑战。在模子成立环境下,成立者能够借助多种测试器具和仿真器具来提拔完成使命。然则,在手工代码编写的情境下,测试使命的便利性大打扣头,加多了成立难度和复杂度。
MathWorks SOA 管制决策
现时,EE 架构正履历着从散布式架构向域铁心器、区域铁心器乃至中央集成架构的演变,软件也随之发生相应的变革。咱们靠近的一大挑战在于奈何构建一个系统,该系统既能复旧基于信号的步地,又能兼容面向劳动的架构,并最大程度地分享这两种步地的历程。
MathWorks 在此范畴提供了一套相对完备的管制决策。架构方面,跟着软件复杂度的不断提高,行业无数认可"架构先行"的理念。在架构缠绵阶段,需要全面斟酌劳动的界说、功能折柳、端口创建以及劳动接口和端口的分派等要道要素。
现在有两种实施旅途可供弃取。第一种旅途是,聘请其他架构器具完成缠绵使命后,通过导出 AI Excel 文献的式样与 Simulink 进行对接。另一种旅途是告成在 Simulink 环境中哄骗架构缠绵器具进行缠绵,其显耀上风在于能够告成从架构组件中创建 Simulink 模子,从而幸免了中间文献信息可能丢失的问题。
对于 C++ 代码成立而言,要撰写高质地代码颇具挑战性,很大程度上依赖于成立东谈主员的教训水平,这种依赖性可能导致代码质地的不一致性。为了遁藏这一问题,咱们不错利用自动代码生成本领。该本领能够减少东谈主为要素带来的极端,提高代码生成的准确性和效力。咱们不错从 Simulink 自动生成允洽 AUTOSAR 递次的 C++ 代码。
代码生成完成后,咱们仍需面对一个要道问题,即奈何将这些代码编译并部署到中间件平台上。频频,与第三方中间件进行匹配时,王人会履历一个适配过程。为了加快这一部署历程,咱们自行提供了一套中间件劳动栈,该劳动栈涵盖了通讯、存储、日记记载、履行等软件成立中最常用的组件,旨在使用户无需依赖第三方劳动栈,即可告成将生成的代码编译并部署到一个可运行环境中。此外,咱们还提供了一个上位机交互界面以及测试与标定界面,行为追究部署到量产中间件之前的准备阶段。
在此基础上,咱们推选聘请增量式或渐进式的方法来部署 AUTOSAR 的 SOA 成立。第一步是在硬件造谣环境中运行咱们的原型栈,包括应用层算法,主要认识是考据劳动的功能和接口。随后,咱们不错将造谣环境替换为骨子的指标硬件,举例基于 IMA 的芯片,连接运行 SOA 劳动。在这一阶段,咱们不错进一步考据驱动层的性能。
在第三步中,咱们将原型栈替换为面向量产的中间件,这一过程允许咱们查验中间件与其他应用层软件之间的兼容性。增量式方法的一个显耀上风在于,它有助于软件解耦,从而在面对软件问题时,能够连忙定位问题源泉。软件问题的排查往来去杂且耗时,而此方法能灵验简化这一过程。
此外,咱们还具备造谣仿真功能。已往门预警系统为例,当咱们将算法部署到原型硬件上时,不错利用 UDP 条约、SUMIP 条约以及 consume LINK 进行原型连合仿真。在 Simulink 中运行的车辆模子能够模拟多样场景,从而完了齐全的闭环仿真。
除了 A 核能够完了造谣化除外,M 核相通具备造谣化的才气。咱们与勾通伙伴在亚马逊云平台上共同实施的一个案例中,咱们分别造谣了 A 核与 M 核,其中 A 核上运行的是 VCU,M 核上运行 BMS。两者通过商用 IP 进行通讯。相较于 A 核,M 核的造谣化过程稍显复杂,因为它需要借助第三方软件进行硬件模拟。通过这一造谣化考据过程,咱们能够完了统共成立历程的提前,即历程左移。
SOA 成立推行
SOA 成立层面,咱们总体上不错聘请三种方法。第一种方法是手工编写,同期也可融入部分自动化技能,统共 APP 的框架不错通过自动代码生成来完成,而算法部分则仍需手工编写。
第二种方法是纯 Simulink 成立,即透彻在图形化环境中进行。此时,利用 Simulink 生成统共框架和算法代码,并聘请 AUTOSAR 的 TLC 模板,告成利用其主函数和特定函数等原生组件。
第三种方法是将手工与 Simulink 两种方法相结合,成立者不错弃取使用自动或手工步地编写 APP 框架,随后利用 Simulink 生成算法代码。接着,通过 AUTOSAR 的 ERP 模板生成第三方代码,这些代码随后被手工代码或框架代码所调用。
针对聘请 Simulink 进行地谈的 AUTOSAR 成立,咱们进行了一些推行探索。在 AUTOSAR 框架下,存在一个数据辞书,它复旧 Events 和 Methods 的界说。对于 Events,不错通过老例的 input 与输出 output 以及添加一个 message box 来完了;而对于 Methods,则可通过 Simulink Function 和 Function Caller 模块来完了。Field 是 Event 和 Method 的组合体。
咱们利用了一款架构器具,来界说劳动的接口和方法,从而生成了劳动架构图。在 Simulink 环境中进行建模时,只需将架构器具生成的 ARXML 文献导入,并添加两行代码,即可浪漫构建劳动端和客户端。
在劳动端的模子中,需要更新一些联系建树,举例某些实体或 IDEA 在导入时可能因版块未更新而不被复旧,因此需要进行相应的更新。相通,客户端的联系参数也可能需要更新。
在 SOA 成立过程中,咱们不行幸免地会波及到 A 核与 R 核的成立。A 核中运行着多样应用,而这些应用需要与 R 核进行信号交互。因此,劳动与信号之间的缠绵成为了一个进攻面容。在该式样中,咱们弃取将 S2S 功能放在 A 核中完了信号与劳动的调遣,但相通也不错在传统的 M 核中完成这一任务。
在使用 MBD 成立过程中,咱们遇到了一些小问题。由于各家厂家对圭臬的泄露存在各异,他们在生成代码以及应用层与底层结合时,可能会遇到一些兼容性问题,这需要工艺厂家不断优化和蜕变。
在 CP 环境下,咱们的使命历程相对闇练。最初进行网罗拓扑缠绵,然后进行软硬架构缠绵。接下来,将缠绵文献导入到另一个架构器具中,进行里面行动的缠绵。最终,在 Simulink 中进行建模和算法成立。
(以上内容来自长城汽车总工程师杜建福和迈斯沃克首席应用工程师 / 本领客户司理龚小平于 2025 年 3 月 18 日 -19 日在第六届软件界说汽车论坛暨 AUTOSAR 中国日发表的《使用 MBD 进行 AUTOSAR 平台的 SOA 软件成立》主题演讲欧洲杯体育。)
Powered by 开云「中国」Kaiyun·官方网站-登录入口 @2013-2022 RSS地图 HTML地图