一文解析基于SOA设计平台的技术难点

关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯

来源:焉知智能汽车 
作者:Aimee

自动驾驶的应用有着高可靠、高性能、高并发以及模块化的需求特征,而实时、安全、开放的自动驾驶平台是实现这些的关键之一,同时也是推动“软件定义汽车”的重要基础。推动实现SOA所倡导的软件定义汽车的自动驾驶系统方案。

 SOA 应用在车端开发环境中,是一种从设计、开发、部署到管理离散逻辑单元(服务)模型。对于整个SOA开发过程而言,最主要的就是涉及从车辆特性、系统需求、系统开发、子系统开发、传感控制器总成开发。在 SOA 模型中,所有的功能都定义成了独立的服务。服务之间通过交互和协调完成业务的整体逻辑。所有的服务通过服务总线或流程管理器来连接。这种松散耦合的架构使得各服务在交互过程中无需考虑双方的内部实现细节,以及部署在什么平台上。SOA的细颗粒度、松耦合、服务可重用及标准化的服务接口等特性有利于OEM快速推出新功能,灵活迭代,支持软件定义汽车。利于更多方参与软件开发,以OEM为核心建立汽车生态系统。同时,精确定义的服务契约,独立于硬件、操作系统和编程语言的开发模式有利于更多方参与软件开发,以OEM为核心建立汽车生态系统。此外,便捷的云端访问,服务于精确封装,可有效地保证数据安全,使得车辆不在是信息孤岛,而是物联网中的一个节点,建立了真正的车-云通道。

可以说SOA完美的解决了汽车软件架构面临的各种挑战,并且为迎接汽车产业的变革打下必备的基础。

SOA车端E/E架构设计要素

SOA的开发过程相对于传统开发模式而言,仍然是以需求为输入,将需求以全面服务的模式进行细化,最终将定义的服务映射到软硬件架构中。

如上图所示,面向服务SOA架构的基本工作流程包括在底层设计过程中需要面向对象进行服务设计、服务分组以及服务映射。其中需要根据服务列表及服务接口设计服务,从而根据功能逻辑将服务映射值不同的模型,最后以服务组件到软件组件(SWC)的映射服务接口到软件接口。

SOA在自动驾驶架构设计中需要重点考虑基于服务设计的完整性和功能安全设计的完整性。以标准的ASPICE软件认证开发流程为基础蓝本,传统的开发流程以系统验证为SOP节点,后续运行维护及上市后不再进行软件更新,而基于SOA的软件开发模式需要在系统验收后持续不断的更新软件,迭代更多实用性功能,提升已有软件性能。SOP Release需要包括所有可能的Basic Service,不需要所有的Service都一次开发完成。

利用 SOA的思维架构进行自动驾驶设计过程中,需要根据SOA设计原则定义服务接口,统一开发基础共用的软硬件平台及开发环境,从而提高软件复用度。开发过程考虑继承系统层级到零部件层级设计的实现原则,例如,功能子模块需要进行封装,功能之间需要进行自我包含等。

整个SOA在其硬件设计中主要实现了从模块化、单域控制器、冗余计算平台再到中央计算平台的整体演进。其中各自体现在如下一些方面:

1)模块化分割:梳理自动驾驶各子功能模块的各自功能,形成模块化的分子架构模型;

2)域控制单元:将如上分子架构模型中的ECU合并至中央域控制器,从而减少成本、重量和功耗,利用半导体及软件技术革新优化域控能力。

3)冗余计算平台:SOA可直接访问存储单元,并行计算载体提供冗余和安全算法,并在开放的可裁剪平台上进行搭载;

4)中央计算平台:SOA通过网络访问、动态配置及无缝冗余,注入刀片式服务设计策略,实现真正的自动驾驶演进。

对于SOA的开发应用模式,在其软件设计中实现了更加灵活的软件架构,集成第三方生态合作伙伴应用,服务拓展更新更加便捷,实现插拔式软件设计。最终目标是实现如下多个交互实体的关系解耦:

I/O接口与计算解耦、计算平台与区域架构解耦、软件与硬件解耦、整车级抽象能力、软件与软件解耦、基于微服务的软件架构、配置数据与代码解耦、数据驱动I/O设备。

安全设计在SOA中的应用思考

SOA在重构软件生态时,其功能安全实现难度大幅增加。OEM开放3party开发平台,如何保证其不影响整车的功能安全,对于3party开发的服务,如何确保其不级联失效影响其它已有ASIL等级的服务,服务客户端 的ASIL等级的不确定性等问题都将是制约SOA能够有效实现的关键因素。

SOA 系统设计层面考虑应考虑进行服务分层(如下图),其中SOA的功能安全设计需要考虑到整个层面的设计过程。

SOA 系统设计层面考虑应充分考虑服务分层。结合安全因素将服务合理分层,针对不同开发主体确定不同限制策略。同时,还应该基于服务进行有效分类,基于服务的安全相关性对开发的服务和OEM服务进行分区,过程中需要考虑严格的安全审核机制。为了实现物理隔离,需要考虑将供应商开发的底层服务和OEM自己开发的顶层服务进行高性能计算分区和安全计算分区。



此外,SOA在安全机制上可以分为3层架构设计,因此其软件运行期间的动态监控是必不可少的。

整体来讲,构建面向服务的安全分析流程及框架包含如下几个关键部分:

首先是进行有效的服务过程建模(BPMN),随后是进行安全分析中的服务Hazard分析(SHA)和服务Failure分析(SFA),最后是进行SOA的错误分类。在后续开发层面主要通过安全案例和服务层一致性构建安全保障体系,实现高度自动化的模型集成环境。

SOA的软件应用局限及应对策略

SOA在智能驾驶的不断渗透,意味着汽车软件的竞争力将会成为其核心竞争力,它关乎所有关键商业指标,如TTM、生产率、成本以及创新。而软件研发过程中就意味着其复杂性带来的巨大挑战。比如如何应用有效的软件管理以及系统集成核心工具,发挥多核性能最有效方法,使得满足功能安全、信息安全要求,降解软件复杂度,提高软件重用率,使软硬件解耦。通过降解复杂度,使得软软解耦,通过零代码修改使得系统集成更加有效。通过健康监控使得软件可见可管理。

SOA挑战

问题解析

有效对策

软件产品管理

软件产品必然面临如何核算成本,如何管理开发,如何管理供应商,如何定义业务等。

拥抱开源、融入生态,专注产生差异化价值的软件开发,业务相关软件开发。尽量减少企业私有的软件,降低软件产品管理的不确定性和复杂度,减少软件的生命周期成本。

全生命周拥有成本

软件开发的一个重要特点是长期维护,长期更新,这为开发者带来持续改进的可能性,同时,应意识到这也是长期成本。

复杂性

协作开发

汽车软件代码体量已经超过1亿行,考虑到车型变型就更加复杂,人工智能算法、第三方软件集成等新需求让协作开发是发展的必然。

通过虚拟技术和容器等技术实现软硬解耦、软软解耦,管理软件的复杂性,支持多供应商同步开发,不同项目复用软件模型组。

兼顾实时、安全性需求

尤其自动驾驶领域和网络安全。

将实时性、安全性要求高的软件运行在实时操作系统上。

软件可维(护)可测(试)

为了验证复杂软件的可靠性,对代码有效管理,甚至必须牺牲一定的性能!

1、基于开源软件开发的代码,尽量通过开源社区维护,企业自身维护的代码尽量少,底层通过代码维护可以交给专业软件供应商维护。

2、使用自动化测试工具。

动态性

新技术的发展、半导体资源的升级、汽车开发越来越贴近消费端,都带来软件开发需求的变动加速和动态性。

敏捷流程,小步快跑的方式持续集成、持续发布(CI/CD),一体化开发、运维(DevOps)

SOA设计中的关键环节-中间件

下一代自动驾驶着力于基于服务开发相应的软件架构(SOA),其对于其从传感器,控制器到执行器所呈现的井喷式增长,对于开发者而言最直观的感受就是,软件系统日益庞大,代码行数快速增长;硬件的类型、数量和规格明显提升,电子系统的复杂性成倍增加;软件、硬件组合在一起所需克服的挑战,也像做乘法一样地被急剧放大。这就大幅提升了汽车对软硬件架构的要求。实际是该类型的软件架构需要同时解决当下系统开发难题,又要具备足够的前瞻性、兼容性和扩展性,后续可以有效的实现软件升级,硬件换代,模块增减和更替等。

自动驾驶的中间件,可以按需调整、满足各样自动驾驶过程中的开发需求。可以为上层的应用软件提供开发和运行所需的环境,方便开发者快速、高效、灵活地开发和集成自动驾驶软件。自动驾驶的中间件,也属于广义上的操作系统,但是它和QNX、Linux这些底层系统并不一样。本质上它是介于上层应用和底层系统之间的一套软件框架,是对软硬件资源进行管理、分配和调度的平台,充当着软件和硬件解耦的关键角色。

具体来说,中间件通常对传感器、计算平台等资源进行抽象,对算法、子系统、功能采取模块化的管理,通过提供的统一接口,让开发人员能够专注于各自业务层面的开发,而无需了解无关的细节。这样最直接的好处就是,整个系统的开发效率得到提高,软件部署得以简化,整体的扩展性也获得了提升。

常规的计算机操作系统对计算机的硬件和软件进行管理,会涉及处理器管理、存储管理、设备管理、文件管理、进程管理,比如Android、iOS、Windows、Linux,就是其中的典型代表。那自动驾驶中间件,对于软硬件的管理又会有哪些内容呢?自动驾驶需要接收不同的传感器信号,然后进行感知、规划和控制,并由转向、油门和制动这些硬件系统来完成整个过程。所以自动驾驶的中间件会涉及到ECU管理、传感器管理、车辆模型管理、通信管理、任务管理、数据管理、安全管理、诊断管理、OTA管理、可视化管理。

对于SOA来讲一个典型的例子就是,不同车型配置存在巨大差异。我们可以借助于中间件平台,插拔式设计在系统开发过程中根据需求进行不同程度的拓展。主要包含如下三个方面:

  • 系统设计阶段,有效的适配不同的传感器、域控制器芯片、车端平台等硬实体;

  • 软件开发阶段,提升开发效率并及时优化各类软件算法模块,升级低级别的自动驾驶功能;

  • 系统验证阶段,进行快速高效地软件迭代,并能够提供不同的优化方案,而不依赖任何第三方的组件。

SOA在汽车自动驾驶产品设计中,力争做到通过打造爆款车型,开发迭代的软件实现有效的升级盈利。其中软件灵活的迭代模式可以有效的缩短开发周期,硬件实现算力大幅扩展,传感器/执行器即插即用,打造可靠性高的安全架构体系,确保整车额功能安全、信息安全能力,最后是实现低成本,高品质的架构设计和软件研发,使主机厂、供应商共同受益。

关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯

智能汽车电子与软件 专注于汽车电子领域的信息交融平台,涵盖汽车电子行业资讯、市场动态、技术干货、知识见解、行业趋势等资讯深度覆盖。
评论
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 126浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 92浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 144浏览
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 112浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 170浏览
  • TOF多区传感器: ND06   ND06是一款微型多区高集成度ToF测距传感器,其支持24个区域(6 x 4)同步测距,测距范围远达5m,具有测距范围广、精度高、测距稳定等特点。适用于投影仪的无感自动对焦和梯形校正、AIoT、手势识别、智能面板和智能灯具等多种场景。                 如果用ND06进行手势识别,只需要经过三个步骤: 第一步&
    esad0 2024-12-04 11:20 109浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 140浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 114浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 96浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 143浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦