SOA中的软件模块在硬件中的最优化部署方法论(二):SOA的软件组件部署实例分析

汽车电子与软件 2022-09-11 22:54


SWC软件部署前言

整个软件的模块的部署需要对需求、软件架构、硬件、中间件平台Autosar,AP/CP都有较为深入的了解。其中流程分为三个主要的阶段:

首先,系统架构设计阶段:
专业针对最终实现的功能分配模块,总体讨论ECU融合方案、分配原则,形成初版针对控制器的需求。

其次,系统需求及软件架构设计阶段:
通过讨论功能需求涉及的产品能力PC、测试用例Usecase,生成对应的软件模块Module和软件元素SWC。

随后,软件架构设计阶段:
进行分配原则、非功能性需求讨论、SWC分配方案编写、专业讨论并更新控制器需求,搭建PreEvision/EA模型。



如上,最终基于软件架构,Module核SWC要分配到各个控制器中,区域控制器VIU中分配到MCU或MPU,MPU中分配到A核、R核,都需要详细的定义。


SWC的软件部署实例分析

本文以高级自动驾驶辅助功能NOA为例,详细讲解实现该功能需要如何定位并细化软件部署过程。

如前所述,所有的部署从本质上就是识别到所能承载软件组件运行能力的核资源,并进行软件集中嵌入该硬核资源的过程。主要包括如下几个关键步骤:

1)识别部署需求

这个阶段设计对部署对象,即需要部署的是哪个功能对应的SWC,该部署过程需要消耗多少部署资源,比如多少核计算能力;相关模块的快速识别,比如如何快速识别出可用于部署的核资源;同时利用设备抽象的概念分理处顶层软件抽象处理模块FDD、底层设备抽象处理模块EDD的颗粒度及部署方案。其中软件模块部署需求中,需要重点界定出AP端、CP端各自的特性,比如CP端非快速启动、快速启动、低功耗等相关特性。


2)搭建物理架构视角的功能链路


功能ID

功能名称

子功能

非功能性需求

Xxx

HWP

高速跟车、巡航、自动减速、车道保持、自动上下匝道、高速路口减速停车

执行器响应能力

传感器识别距离

端对端响应时间

传感器时间同步

功能安全等级

Xxx

TJP

拥堵跟车、巡航、跟停、起步、自动减速、车道保持

Xxx

ALC/ALCA

拨杆换道、自动换道、推荐换道

Xxx

SafeStop

换道安全停车、本车道安全停车

Xxx

AES

自动转向避让、自动换道避让


主要是根据功能项梳理物理架构视角功能连路图,同时提取非功能性需求。

整个物理架构视角开发的功能逻辑链路实际是类似于时序图中的对应部分,是考虑将整个功能在工作过程中的数据流进行梳理。

 


如上图表示了对NOP功能的开启与激活中的自动转向避障控制逻辑PC时序图,各应用模块的产品能力主要涉及对整个NOP系统自动转向控制的能力和交互过程,在我们进行软件组件SWC部署中,首先需要绘制类似上图中的功能交互图,从图中提取我们需要实现的子模块PC,并为每个PC设计对应的SWC即可获得我们需要的总体SWC。

3)梳理SWC软件模块

根据功能需求划分出来的SWC包含如下模块,各SWC分别位于SOA软件架构的不同分层中,对于软件SWC到硬件核的部署过程来说,需要根据其不同的功能子项合理的分配到对应的控制器中。

 


4)SWC部署到整车控制器

SWC的整个部署过程应尽量遵循如下原则:
(01)高等级的SWC尽可能地部署到对应的计算平台中;
(02)与传感器、执行器紧密耦合的SWC部署到S&A中;
(03)与彼此紧密耦合地SWC部署到一起;
(04)休眠后需要工作的SWC考虑功耗问题部署到CP端;
(05)功能安全相关的SWC按照ASIL等级拆解后归类部署;
(06)信息安全相关的SWC根据具体安全级别需求归类部署;
(07)与快速启动相关的SWC部署到CP实时核资源中;
(08)与强实时性要求相关的SWC部署到CP实时核资源中;
(09)功能链路交互避免过于复杂,接口过多;
(10)功能特性相同的SWC尽可能部署到同一个资源上;
(11)功能链路时间长度要满足用户体验;
(12)高等级的SWC尽可能部署到AP端;
(13)资源预留度尽可能多。

从整车功能层分配到控制器的角度可以对如上的SWC软件模块进行总体的功能分配。以自动驾驶系统高性能计算平台为轴心,外围存在其软件模块相关的各个区域控制单元。我们以SOA架构中各个软件子模块为部署的原子模块,为了实现各个模块信息间的通信和控制,我们可以实现如下的软件模块部署。

转向、制动、驱动、悬架等底盘控制单元,由于其功能安全较高,实时性要求较强,且往往与执行器紧密耦合,这类控制SWC可以考虑部署在高性能整车控制单元VDC中。其余如原BCM功能的车身控制及相关的传感执行器、模式控制单元SWC可部署在低功能安全等级PDC中。其余,如电源控制SWC由专门的电源控制单元PMIC进行硬件搭载。

 


5)SWC部署到HPC内核资源

进一步的,我们以高性能计算平台,针对性的对HPC中的云端单元,从SWC角度分配其功能到内核层面。考虑到不同ADAS功能子模块在SWC中需要遵循的原则,整个部署过程应尽量确保从架构实现、可靠性、高效率、功能安全、信息安全等方面进行全方位考量。

这里我们需要重点说明下关于通用ARM芯片常提到的R核与A核在部署过程中的关系原则。R核是指实时性能高只支持物理地址,并支持内存管理,用于实时性领域。比如,我们在软件部署过程中,通常将与制动、转向等功能安全等级高、实时性也高的软件SWC模块布置在R核中。同时,针对部分实时性操作系统RTOS也布置于R核上进行运行。

A核算力高支持虚拟地址和内存管理,用于应用领域,实时性比R核差些,考虑ADAS功能应用层规控软件功能安全级别有所区别,主要涉及系统管理、应用接口、环境、轨迹预测、规划决策、执行控制/显示等相应的模块。因此,可以将与ADAS应用层相关的软件功能部分布置在A核上。

如下表示了典型的基础软件的部署方案涉及对如下几个重点模块的布局,这里我们以TDA4中主要的核资源核软件Module为主要考虑点。

其中Framework负责为ServiceAPP和Module提供运行环境,并负责实体间通信,让ServiceAPP和Module专注于功能逻辑,以及监视运行环境的状态。因此,我们将服务管理、节点管理、错误管理、模式管理几个“上层服务”应用布置在该应用软件模块中。ServiceManager主要用于大通服务提供端和服务客户端的连接通道,同时提供服务监控;NodeManager主要用于进行进程和节点的生命周期管理、节点间的Com通道以及节点监控;ErrorManagement主要用于进行ADS系统及子系统的错误管理并发送错误报告;ModeManagement主要用于子系统的错误处理、降级管理等。

同时,如上这类框架性服务连同通信管理、执行管理、平台健康管理、状态管理几项都主要布局在TDA4服务级的A核中。

EAL相关的软件模块主要负责封装底层环境,包括底层硬件和OS、整车环境及云端等,提供相应的传感器底层I/O服务、总线通信服务,实现软硬件分离。因此,通常讲设备抽象模块EDD模块部署在EAL之上。

Core表示一种核心模块,主要是提供顶层应用框架与底层EAL的通用服务,并为ADS系统提供通用功能,同时为这些通用服务定义真正的外部环境和部署结构。
Module表示支持自动驾驶开发的基础模块,包含通常的感知、融合、规划、决策等几个模块。

这类软件模块处理任务包含:
  • 资源管理:系统、总线、传感器、存储、资源配置等管理;
  • HPC信息处理:DNN处理、CV处理、并行处理、算法嵌入等;
  • 协调端系统:传感器信息、车身信息、驾驶信息等;
  • ADS功能服务:数据记录、诊断等

 


从如上功能单元不难看出绝大部分Core资源所涉及的软件模块具备较高的功能安全等级和强实时性要求。同时从运算角度将,可以将其中的软件部署拆分成两个部分,其一是针对图像处理、深度学习模块的感知单元,这部分往往在功能安全上要求从ASILB起步,而后端规划控制和决策执行,则是更加倾向于更高级别功能安全等级。多数规控模块要求达到ASILD级别功能安全,且由于涉及与执行器之间的交互,很多情况下本身系统上层的交互信号安全等级也较高,可达到ASILD级别,同时考虑自动驾驶本身安全性需求,需要执行控制过程往往具备强实时性。因此,感知、融合这类前端计算量大,安全等级一般的SWC可部署于A核中间,而后端规控、执行安全等级、实时性都较高,可以考虑布置在R核中。为了减少对于后端MCU的计算压力,可以将轨迹规划和决策放在前端SOC的R核中,而执行控制、反馈调节等MPC过程可以考虑放在外围MCU中。

如下图表示了功能软件主要部署的几个大模块,以TDA4作为SOC表示的对系统功能需求相应的A核和R核部署方法。




汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论 (0)
  • 想不到短短几年时间,华为就从“技术封锁”的持久战中突围,成功将“被卡脖子”困境扭转为科技主权的主动争夺战。众所周知,前几年技术霸权国家突然对华为发难,导致芯片供应链被强行掐断,海外市场阵地接连失守,恶意舆论如汹涌潮水,让其瞬间陷入了前所未有的困境。而最近财报显示,华为已经渡过危险期,甚至开始反击。2024年财报数据显示,华为实现全球销售收入8621亿元人民币,净利润626亿元人民币;经营活动现金流为884.17亿元,同比增长26.7%。对比来看,2024年营收同比增长22.42%,2023年为7
    用户1742991715177 2025-05-02 18:40 193浏览
  • 某国产固态电解的2次和3次谐波失真相当好,值得一试。(仅供参考)现在国产固态电解的性能跟上来了,值得一试。当然不是随便搞低端的那种。电容器对音质的影响_电子基础-面包板社区  https://mbb.eet-china.com/forum/topic/150182_1_1.html (右键复制链接打开)电容器对音质的影响相当大。电容器在音频系统中的角色不可忽视,它们能够调整系统增益、提供合适的偏置、抑制电源噪声并隔离直流成分。然而,在便携式设备中,由于空间、成本的限
    bruce小肥羊 2025-05-04 18:14 160浏览
  • 浪潮之上:智能时代的觉醒    近日参加了一场课题的答辩,这是医疗人工智能揭榜挂帅的国家项目的地区考场,参与者众多,围绕着医疗健康的主题,八仙过海各显神通,百花齐放。   中国大地正在发生着激动人心的场景:深圳前海深港人工智能算力中心高速运转的液冷服务器,武汉马路上自动驾驶出租车穿行的智慧道路,机器人参与北京的马拉松竞赛。从中央到地方,人工智能相关政策和消息如雨后春笋般不断出台,数字中国的建设图景正在智能浪潮中徐徐展开,战略布局如同围棋
    广州铁金刚 2025-04-30 15:24 346浏览
  • 多功能电锅长什么样子,主视图如下图所示。侧视图如下图所示。型号JZ-18A,额定功率600W,额定电压220V,产自潮州市潮安区彩塘镇精致电子配件厂,铭牌如下图所示。有两颗螺丝固定底盖,找到合适的工具,拆开底盖如下图所示。可见和大部分市场的加热锅一样的工作原理,手绘原理图,根据原理图进一步理解和分析。F1为保险,250V/10A,185℃,CPGXLD 250V10A TF185℃ RY 是一款温度保险丝,额定电压是250V,额定电流是10A,动作温度是185℃。CPGXLD是温度保险丝电器元件
    liweicheng 2025-05-05 18:36 210浏览
  • 5小时自学修好BIOS卡住问题  更换硬盘故障现象:f2、f12均失效,只有ESC和开关机键可用。错误页面:经过AI的故障截图询问,确定是机体内灰尘太多,和硬盘损坏造成,开机卡在BIOS。经过亲手拆螺丝和壳体、排线,跟换了新的2.5寸硬盘,故障排除。理论依据:以下是针对“5小时自学修好BIOS卡住问题+更换硬盘”的综合性解决方案,结合硬件操作和BIOS设置调整,分步骤说明:一、判断BIOS卡住的原因1. 初步排查     拔掉多余硬件:断开所有外接设备(如
    丙丁先生 2025-05-04 09:14 89浏览
  • UNISOC Miracle Gaming奇迹手游引擎亮点:• 高帧稳帧:支持《王者荣耀》等主流手游90帧高画质模式,连续丢帧率最高降低85%;• 丝滑操控:游戏冷启动速度提升50%,《和平精英》开镜开枪操作延迟降低80%;• 极速网络:专属游戏网络引擎,使《王者荣耀》平均延迟降低80%;• 智感语音:与腾讯GVoice联合,弱网环境仍能保持清晰通话;• 超高画质:游戏画质增强、超级HDR画质、游戏超分技术,优化游戏视效。全球手游市场规模日益壮大,游戏玩家对极致体验的追求愈发苛刻。紫光展锐全新U
    紫光展锐 2025-05-07 17:07 86浏览
  • 你是不是也有在公共场合被偷看手机或笔电的经验呢?科技时代下,不少现代人的各式机密数据都在手机、平板或是笔电等可携式的3C产品上处理,若是经常性地需要在公共场合使用,不管是工作上的机密文件,或是重要的个人信息等,民众都有防窃防盗意识,为了避免他人窥探内容,都会选择使用「防窥保护贴片」,以防止数据外泄。现今市面上「防窥保护贴」、「防窥片」、「屏幕防窥膜」等产品就是这种目的下产物 (以下简称防窥片)!防窥片功能与常见问题解析首先,防窥片最主要的功能就是用来防止他人窥视屏幕上的隐私信息,它是利用百叶窗的
    百佳泰测试实验室 2025-04-30 13:28 622浏览
  • 这款无线入耳式蓝牙耳机是长这个样子的,如下图。侧面特写,如下图。充电接口来个特写,用的是卡座卡在PCB板子上的,上下夹紧PCB的正负极,如下图。撬开耳机喇叭盖子,如下图。精致的喇叭(HY),如下图。喇叭是由电学产生声学的,具体结构如下图。电池包(AFS 451012  21 12),用黄色耐高温胶带进行包裹(安规需求),加强隔离绝缘的,如下图。451012是电池包的型号,聚合物锂电池+3.7V 35mAh,详细如下图。电路板是怎么拿出来的呢,剪断喇叭和电池包的连接线,底部抽出PCB板子
    liweicheng 2025-05-06 22:58 222浏览
  • ‌一、高斯计的正确选择‌1、‌明确测量需求‌‌磁场类型‌:区分直流或交流磁场,选择对应仪器(如交流高斯计需支持交变磁场测量)。‌量程范围‌:根据被测磁场强度选择覆盖范围,例如地球磁场(0.3–0.5 G)或工业磁体(数百至数千高斯)。‌精度与分辨率‌:高精度场景(如科研)需选择误差低于1%的仪器,分辨率需匹配微小磁场变化检测需求。2、‌仪器类型选择‌‌手持式‌:便携性强,适合现场快速检测;‌台式‌:精度更高,适用于实验室或工业环境。‌探头类型‌:‌横向/轴向探头‌:根据磁场方向选择,轴向探头适合
    锦正茂科技 2025-05-06 11:36 316浏览
  • 随着智能驾驶时代到来,汽车正转变为移动计算平台。车载AI技术对存储器提出新挑战:既要高性能,又需低功耗和车规级可靠性。贞光科技代理的紫光国芯车规级LPDDR4存储器,以其卓越性能成为国产芯片产业链中的关键一环,为智能汽车提供坚实的"记忆力"支持。作为官方授权代理商,贞光科技通过专业技术团队和完善供应链,让这款国产存储器更好地服务国内汽车厂商。本文将探讨车载AI算力需求现状及贞光科技如何通过紫光国芯LPDDR4产品满足市场需求。 车载AI算力需求激增的背景与挑战智能驾驶推动算力需求爆发式
    贞光科技 2025-05-07 16:54 75浏览
  • 二位半 5线数码管的驱动方法这个2位半的7段数码管只用5个管脚驱动。如果用常规的7段+共阳/阴则需要用10个管脚。如果把每个段看成独立的灯。5个管脚来点亮,任选其中一个作为COM端时,另外4条线可以单独各控制一个灯。所以实际上最多能驱动5*4 = 20个段。但是这里会有一个小问题。如果想点亮B1,可以让第3条线(P3)置高,P4 置低,其它阳极连P3的灯对应阴极P2 P1都应置高,此时会发现C1也会点亮。实际操作时,可以把COM端线P3设置为PP输出,其它线为OD输出。就可以单独控制了。实际的驱
    southcreek 2025-05-07 15:06 91浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦