车载软件架构 --- 智能汽车软件

汽车   2024-11-05 08:26   上海  

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。人就应该满脑子都是前途,不再在意别人的看法不再害怕别人讨厌自己,不再畏手畏脚忧心忡忡也不会在睡前反回忆白天的行为,是否让对方产生误解用你那精神内耗的态度去搞学习搞事业搞钱,然后用躺平和摆烂的态度对待人际关系,烦恼能消失一大半。
无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。

时间不知不觉中,快要来到深秋。国庆假期结束,又开始新的忙碌。成年人的我也不知道去哪里渡自己的灵魂,独自敲击一些文字算是对这段时间做一个记录。

一、智能汽车软件架构的概述

继互联网和智能手机之后,智能汽车正引领新一轮的科技创新和产业变革。汽车从传统的高度机电一体化的移动终端逐步演变为万物互联时代的超级智能体。值得注意的是,智能汽车并非单纯依靠硬件配置打造差异化竞争力,而是通过软件能力的构建以提升用户满意度、产品附加值和品牌美誉度,并最终改善企业经营水平。

在软件定义汽车时代,智能汽车软件价值以及价值实现对于车企和供应商至关重要,是软件能力构建的关键考量。同时,车企和供应商的软件变革也进入了深水区。更多的车企与供应商通过组织变革、资源投入和生态构建等方式加速“软件转型”;然而,变革过程中困难重重,包括“资源投入、成本与收益难以平衡”、“软件集成能力依然较弱”、“软件供应商与车厂在软件交付 / 采购模式上的不匹配”等。

智能汽车软件架构是指支撑智能汽车各种功能和服务的软件系统的组织和结构。随着汽车智能化和网联化的不断发展,软件在智能汽车中扮演着越来越重要的角色。智能汽车软件架构的设计需要满足高安全性、高可靠性、高实时性以及良好的可扩展性和可维护性等要求。

二、软件层级

底层系统软件层:包括BSP(板级支持包)、虚拟机、系统内核、中间件组件等。这一层是智能汽车软件架构的基础,为上层软件提供运行环境和支持。

BSP(板级支持包):是介于主板硬件和操作系统之间的系统软件之一,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。

虚拟机:通过虚拟化技术,可以在一个物理硬件平台上运行多个操作系统或应用程序,实现资源的共享和隔离。

系统内核:是操作系统的核心部分,负责管理系统的进程、内存、设备驱动程序、文件和网络系统等。

中间件组件:提供了一组通用的服务,如消息传递、数据转换、安全控制等,以支持上层应用软件的开发和运行。

功能软件层:包括库组件、中间件等,位于操作系统、网络和数据库之上,应用软件的下层,为应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。这一层主要实现智能汽车的各种核心功能,如自动驾驶、智能座舱等。

自动驾驶功能模块:包括自动驾驶通用框架、网联模块、运控模块等,这些模块结合底层系统软件,共同构成自动驾驶操作系统。

智能座舱功能模块:主要实现车载娱乐信息系统功能以及HMI(人机界面)相应功能。

应用算法软件层:包括智能座舱HMI、ADAS/AD算法、网联算法、云平台等,用于实际实现对于车辆的控制与各种智能化功能。这一层主要实现智能汽车的各种应用场景和功能,如自动泊车、自动变道、智能导航等。

未来,不同层级软件价值占比结构将不会有根本性变化。包括板级支持包(BSP)、操作系统(OS)、中间件与应用层等不同层级软件将随着智能化、网联化等功能迭代而“水涨船高”式地升级;其中,应用层仍将占据价值主导地位。

-> 应用层:直接关乎用户体验,是不同车企竞争的焦点。随着功能持续迭代升级,其单车价值占比将持续占据绝对大头。以自动泊车功能为例,调研数据显示,如果其成功率低于80%,将极大降低用户体验和品牌粘性。车企在开发泊车功能时,务必解决常见的泊车长尾问题,如无车位线、停车线不规则、强光照射、车位线不清晰、停车位有障碍物等。此外,车企还应持续迭代泊车功能,从当前的自动泊车辅助、记忆泊车升级为自主代客泊车,以更大程度提升用户效率和满意度,并实现软件价值的变现。又如,针对用户全生命周期的数字化服务创新,结合用户驾驶行为习惯,同时优化保险定价模型,可以有效降低用户保险费用并持续提升用户忠诚度。

-> BSP:位于操作系统内核与硬件之间,包括引导装载程序(Bootloader)、硬件抽象层(HAL)、驱动程序、配置文档等。未来,智能座舱和自动驾驶等模块功能的持续升级将是BSP软件价值变化的关键驱动要素。预计BSP单车软件价值占比将持续占整车软件的约16%。例如,座舱内将融合越来越多的传感器(摄像头、毫米波雷达、麦克风、体征检测传感器等),实现语音、1.3 各层级软件价值占比相对稳定,应用层价值占比过半眼球、表情、手势、健康等信息的感知;此外,座舱芯片也将持续迭代(算力需求预计将上升至30 TOPS以上,甚至达到上百TOPS级别的水平),以提供更好的终端感知和决策能力支撑。

-> 中间件:实现了应用软件与OS的解耦,也实现了应用软件与硬件的解耦,是软件定义汽车时代的关键技术之一。未来,随着自动驾驶从L2向L3级别升级,中间件需要能够支持高功能安全级别、高算力芯片以及满足车云一体化趋势等,其功能也将进一步丰富。预计中间件软件绝对价值将不断提升,2022年至2030年复合增速约达8%,并将持续占据约25%的单车软件价值比例。与此同时,中间件需要针对不同客户的需求进行个性化的适配,对厂商技术的积累要求较高,也提升了行业竞争门槛。未来,头部厂商仍将持续拓展能力边界,提供的产品甚至包括部分功能软件、OS层级的模块等。

-> OS:车企在自动驾驶域和座舱域选择OS会考虑安全性、可靠性、开放性、可扩展性、易用性及成本等因素。而在传统动力、底盘和车身分布式控制单元等嵌入式软件中是不使用OS的,这也影响了OS在整车软件价值中的占比。整体来看,OS在2022年整车软件占比约为8%;未来,随着电子电气架构(EEA)集中化趋势加剧,传统功能域融合后也将通过OS执行多任务调度等功能,预计到2030年,OS软件绝对价值将增加至约1,700元,并维持整车价值占比相对稳定。

从不同车企在软件不同层级的价值来看,其内部价值比例没有结构性差异,但软件投入重点和绝对价值有所差异。车载OS是汽车软件的核心,其在智能汽车时代需要针对非单一功能软硬件资源进行管理,虽然绝对价值不高(不超过10%),但其决定了系统性能和稳定性。当前,由于车企自研OS内核成本高,更多是对OS内核进行改造。传统合资车企和豪华车企多是基于内核进行深度定制,开发难度较大,需要车企的长期投入。而当前国内新势力车企则多是基于内核进行有限定制,打造ROM型OS(有限定制型OS),开发难度相对较小,投入更低。针对中间件,由于跨国车企之前就在牵头推动相关标准的制定,其软件开发能力也相对具有优势,很多软件功能是通过软件模块(如信息安全增强)的形式交由供应商进行集成。

对于应用层软件来说,新势力和传统本土车企利用中国市场的规模优势和用户的高接受度进行快速迭代,因而应用层软件占比高、价值大。例如,新势力品牌针对语音功能做定制化开发,将语义分割、识别、分区等功能不断做到极致,并成为车企智能化的显著标签。又如,传统本土车企旗下的软件公司借鉴ChatGPT的实现思路,采用人类反馈强化学习(RLHF)技术,通过引入真实人驾接管数据,对自动驾驶认知决策模型进行持续优化。

三、总结

软件定义汽车的趋势正在成为汽车行业深度变革的驱动力。未来,车企和供应商需要进一步明确战略方向、重塑组织架构、优化开发体系以及建立数字底座,以打造可持续的竞争优势,制胜智能汽车时代。

1、明确战略方向

软件能力构建是一项需要持续投入的系统工程,要求企业有清晰的战略方向和持久的战略定力。车企和软件供应商均需明确通过软件能力构建而满足客户什么样的需求及需求优先级?实现什么用户价值?形成什么样的差异化竞争优势?如何设计自身商业模式?如何更好地支撑自身品牌向上而非被贴上僵化落后的标签?针对不同企业自身的差异,定制化的战略是其在软件定义汽车大趋势下找准自身定位的关键。唯有建立清晰的战略方向和应对举措,方能形成内部统一的认知、吸引/留住人才、增强供应链能力和产生可预期的收益。

2、 重塑组织架构

智能汽车软件能力的打造是战略、产品、研发、供应链及运营等跨部门合作的过程,也是电子电气架构、硬件、基础软件、功能软件、软件应用等跨领域专家密切配合的过程。其需要在公司高层的直接领导下,建立高效协作的内部环境和架构体系,使得员工充分参与并实现共同的组织目标。例如,相对扁平的组织架构有利于提升软件开发效率和软件功能的快速迭代。此外,在EEA集中化的趋势下,各功能域亦在不断融合创新。如何从职能职责定义层面明确软硬件协同的目标并有效提升软件质量和降低硬件资源占用?如何从流程上确保跨域功能开发的高效沟通和功能验证的完备性?当涉及底层软件时,如何处理软件与架构部门间不同流程之间的冲突以确定介入时间?怎样的流程和工具能使得用户运营反馈的软件问题得到有效传递并最终提升用户满意度?

3、优化开发体系

汽 车“新四化”需要强大的软件能力支撑,而软件能力不仅体现为高质量的软件产品,还体现在软件产品的快速迭代上。传统汽车电子基于V模型进行软件开发,软件设计是预先完成的,预计实现与设计一致,这样有利于需求和过程管理并明确开发范围和进度。而在软件定义汽车趋势下,软件和硬件开发过程正逐步解耦,软件需要反复迭代以满足用户对于功能升级的需求。例如,智能座舱相关软件的开发流程实则更接近敏捷开发。当前,汽车行业的软件工程师需探索如何将持续集成、持续交付的敏捷开发理念与传统开发模型相结合,以获得软件开发效率和质量的平衡。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者


车载诊断技术
分享车载诊断技术,包括车载网络(CAN、CAN FD、DoIP等)、诊断协议(14229、15765、13400、15031、22901等)、主流软件使用等;目的:1、分享基础知识;2、在车载诊断细分领域提供一个技术交流平台。
 最新文章