• 0
  • 0
分享

  我们总说汽车软件不同于互联网软件,要区别对待,也有很多说法,比如:

  ·汽车软件的实时性要求更高

  · 汽车软件的安全性要求更高

  · 汽车软件与硬件耦合度更高

  · 汽车软件所用编程语言不同

  · 汽车软件操作系统不同

  · 汽车软件的开发环境与工具链不同

  ......

  这些都没错,但又不怎么对。

  一来是,在座舱、智驾、后台软件大举进入以及电子电气架构不断演化后,汽车软件的内涵已经有了比较大的扩展。

  二来呢,这些都属于技术特性,技术差异点只能说明汽车的“软件”和互联网的“软件”,而非“汽车软件”与“互联网软件”。

  我们希望能从整体的角度来看汽车软件,这就引出了今天的话题——集成,它也是汽车软件独特性的核心体现。

  具体来看,集成可以分为以下5个层次:

  1. 将软件单元集成到一起

  2. 将软件集成到硬件上

  3. 将硬件集成到机械壳体上

  4. 将ECU集成到子系统中

  5. 将子系统集成到整车上

1.png

  第一层:将软件单元集成到一起

  当我们讲软件集成时,软件自身的集成是其最典型和最狭义的含义。

  简单说,软件集成就是将经过验证的软件单元集成为完整软件,操作层面的表现为将不同的.c或.h文件以及一些config文件通过集成工具集成构建成软件包。

  当然,由于实际项目的复杂性,集成会作为整个软件项目管理链条的一个环节。

  第一,开发工程师接受ALM工作流工具上的缺陷、变更或任务等的驱动,进行本地代码的修改,之后将代码push到代码仓库,把代码备好。

  第二,集成工程师也最好通过工作流工具接受集成任务,任务中要明确集成的分支策略、交付目的、时间计划、各单元信息等,而后基于这些输入要完成软件的构建。

  第三,集成工程师自然也需要对自身工作质量做一个确认,所以要完成静态或动态集成测试,相关结果可能会包括编译器的警告信息、代码扫描结果、资源消耗数据、堆栈分析内容、代码评审及冒烟测试情况等。

  第四,集成工程师将包括可执行文件、测试报告、配置信息、问题清单、releasenotes 等一系列必要材料打包对外发布。

  第二层:将软件集成到硬件上

  当完整的软件包就绪后,我们需要将软件集成到硬件上,准确来说是将软件刷写到MCU等芯片里。

  理论上讲,集成都是通过接口来完成的,软硬件集成也就是通过软硬件接口来进行,具体表现就是物理的芯片引脚和逻辑的传输数据的软件接口,具体方法如下:

  常规的产线或打样室刷新的方式基本是通过芯片引脚直接烧录

  如果硬件已经装在车上了,就可以通过OBD或USB口刷新

  非现场则可以通过远程OTA刷新

  另外,如果开发过程比较理想,这些接口应该在系统架构的部分进行过定义。

  第三层:将硬件集成到机械壳体上

  到这里,我们会得到一块有软件的电路板。

  进一步地,还需要电路板与机械外壳、接插件、屏幕等的集成,只不过这步集成更多有着机械装配的意味,落在现实工作里就是打一批样件了,结果就是形成我们所说的ECU或者控制模块。

  由于汽车电子需要面临各类复杂严苛的驾驶环境,所以这部分仍然对软件功能的发挥有很大影响,很典型的例子是内部传感器对安装环境有模态和尺寸要求。

  第四层:将ECU集成到子系统中

  ECU至少需要和一套传感器及一套执行器一起构成一套具备特定功能的系统,我们姑且称之为子系统,比如,驱动系统、刹车系统、转向系统、被动安全系统、照明系统、辅助驾驶系统等。

  对于这个层级的集成,操作上就是通过线束连接ECU、传感器、执行器这三者,并且将ECU固定在整车上。后两者通常来源于不同组织,所以特定集成的意义就更明确。

  至于集成效果,是需要通过在整车环境中完成布置确认、模态分析、传感信号校验、电子对手件联调、子系统功能确认、产线确认以及EMC、振动、冲击、水淋、盐雾、高低温等一系列的考验的。

  对于软件来说,尤其要考虑对手件联调,越来越多的电子功能需要多模块协同,最常见的诊断、通信问题就是该环节频繁识别出来的。

  另外,很多在子系统性能也是需要在整车环境下进行软件标定匹配的。

  第五层:将子系统集成到整车上

  传统汽车的各个子系统或者域通常是分离的,相互之间大体隔绝,所以涉及到的是装配,而非集成这个概念。

  但是,电子电气架构在不断走向跨子系统、跨域、域融合、中央集中,现在车辆子系统之间的边界越来越模糊,越来越多的功能特性需要聚焦在更整车、更终端才能得到验证与确认。

  写在最后

  整体来说,在汽车行业里做软件,要意识到,所有的代码其实都是最终服务于整车里的表现。

  另外一点,汽车的多层次集成其实是有历史原因的,主要是来源于汽车零部件全球模块化分工及采购这种模式。

  这种分工与标准化的好处不言自明,但也增加了很多集成点,集成点多了就会造成沟通协调复杂或者解决方案整合困难等弊端,而这也是我们做汽车软件要充分考量的。

  往长远看,我们现在从架构层面追求的中央化正在不断地减少集成点,同样也就会弱化集成的价值与必要性。


作者:佚名    

来源:http://www.51testing.com/html/07/n-7798207.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   首先,我觉得在软件测试面试的过程中,逻辑比较混乱的最大一个原因是,说明你没有形成一个一个整体的体系。导致你说的时候很多东西都杂乱无章。  我个人认为软件测试,其实开始首先进行的是一些需求的分析工作,之后呢,进行需求的评审,需求评审完成之后,当需求确定之后我们下来开始着手去写一些测试计划相关的内容。等测试计划编写完成之后,针对每个人分配好的固定模块,各自去编写一些测试用例。然后编写完成测试用例之后,进行测试用例的评审,评审完成之后大家形成一个统一的测试用例。  之后,在这个时候开发的软件已经开发的差不多了,我们对开发的软件输出一部分冒烟测试用例,要求开发对着冒烟的测试用例全部通过之后,进行提...
            0 0 825
            分享
          •   CNMO从外媒了解到,印度新德里将在2024年底前实施价值约1400亿卢比(折合人民币约120亿)的人工智能交通系统。该系统可以监测道路上的车流量、平均车速、停车时间等信息,除此之外,还将根据新德里的面积和地形,实时预测可能会出现的拥堵情况,以减少此类事情发生。  据外媒给出的数据,与世界上其他城市的驾驶员相比,新德里的驾驶员在交通上花费的时间大约多58%,因此新德里决定实施由AI驱动的交通管理系统(ITMS)。报道称,在印度第七届道路安全会议上,交通警察特别专员SurenderSinghYadav提到,智能交通管理系统(ITMS)还需要一年或一年半的时间才能全面实施,目前已耗资约140亿...
            0 0 521
            分享
          • 需求分析是整个项目计划阶段的重要活动,也是软硬件生存周期中的一个重要环节,该阶段是分析系统在功能上需要“实现什么”,而不是考虑如何去“实现”。需求分析的目标是把用户对待产品提出的“要求”或“需要”进行分析与整理,确认后形成描述完整、清晰与规范的文档,确定软硬件需要实现哪些功能,完成哪些工作。此外,软硬件的一些非功能性需求(如:软硬件性能、可靠性、响应时间、可扩展性等),软硬件设计的约束条件,运行时与其他软硬件的关系等也是软硬件需求分析的目标。第一步:整理需求池需求池整理示例。示例如下:列表字段:编号、需求分类、需求描述、场景描述、需求来源、提出时间、是否解决、优先级、备注等。文档说明:(1)&...
            12 12 1257
            分享
          •   经常会遇到一些面试官没事的时候问,为什么选择软件测试?  我都在这个行业,你怎么还问我为什么选择软件测试?  错误回答一:我觉得软件测试收入较高。  我们都知道软件测试收入是很高,但是这也不是你面试回答的点啊  行业收入高不高大家都知道,不应该成为你面试的回答点和你被录用的原因!!!  错误回答二:我觉得软件测试比较简单,好入门。  这个回答你想表达什么?  对你的面试有什么好处?  体现你没本事,就会做简单的吗?  多余的就不说了,我们来说说什么叫好的回答  经典回答一:  我大学期间就对软件很感兴趣,并且也了解到软件测试是一个非常细致的工作,我自己本身也是一个很细致的人,就专门自学了软...
            0 0 121
            分享
          •   背景:随着前后端分离、微服务等技术的广泛应用,接口测试在整个测试过程中扮演的角色越来越重要,如何更加高效地把接口测好、测得更加充分就成了一个亟待解决的难题。  当前在对具体的某一接口进行测试时,普遍采取的方法是测试人员按照接口文档中的字段取值规则使用接口测试工具(例如Postman等)手工来回修改接口报文中的某一个字段值来进行测试。  这种方法对于单个或者是简单接口相对比较友好,然而往往一个系统中会包含有大量的接口、接口逻辑复杂、接口里边包含有非常多的字段,这就给接口测试的开展带来了很多问题,比如费时费力、工作量大、漏测某些测试场景等。  同时还由于项目工期紧张等原因,在接口测试过程中一般...
            3 3 1377
            分享
      • 51testing软件测试圈微信