0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何去构建一个软件、硬件、车型平台相互解耦的系统

汽车电子工程知识体系 来源:汽车电子硬件设计 作者:汽车电子硬件设计 2020-10-12 16:13 次阅读

前言:

汽车的智能化和软件化,就像一个巨大的漩涡,吸引着各方势力卷入其中。就像上一篇文章提到的一样,在大家构建软件能力过程中,一些危机也正在酝酿之中,在缺乏良好设计的框架下,一旦进入正常的车型迭代,就会被以前历史的版本束缚住手脚。

我构思了很久,想以一种比较简明扼要的方式,展现出整个数字系统架构的全貌。花了很长的时间去梳理,终于有了下面这张图,现在看来,这是所有文章里面我最满意的一张图了,从整车的视角,展现出了如何去构建新一代整车数字化平台。 其实这也是一张作战地图,未来几年,群雄逐鹿,各方势力都将围绕地图中的各个主题进行展开。这张图比较清楚的展示出了如何去构建一个软件、硬件、车型平台相互解耦的系统。

full stack architecture 这张图是以A4纸的尺寸来进行绘制的。 画这张整体架构图,其实有以下几个目的:

技术在这场变革中很重要,但是不是最关键的,从全局的角度去思考打造体系化的能力,首先必须知道要做的事情是什么。

对于产业链上的朋友来讲也可以理解,究竟OEM客户需要什么,自己所提供的产品,扮演了什么样的角色。

对于投资圈朋友来讲,参考这张图可以了解到,感兴趣的投资标的究竟处在什么样的行业位置当中,想解决什么样的问题,未来想发展成什么样。

新平台的开发,技术链路非常长且复杂,所以我非常希望看到产业链上的各个环节能够形成合力。在这次变革当中,能够帮助到各方玩家,更快的完成架构的升级和转型。

整个工程就像一个庞大的战役,如果各方都能清楚,自己在这个战役当中的位置,作为执行者来讲,也能够发挥自己的主观能动性,去更加积极主动的解决相关问题,也能知道如何去配合上下游开展工作。

架构总览

整个架构可以总结为“6+4”:6层逻辑架构构建起了一个软硬解耦的系统;4层服务架构完成了服务的抽象与适配,建立了一个标准化的服务体系;六层逻辑架构包括:

可拓展电子电气架构,也叫计算与通信架构

可拓展硬件计算平台

操作系统内核

分布式服务中间件

标准化服务层

可编排应用层

这6层的架构设计,实现了软件、硬件、车型平台相互解耦,之前也介绍过可能会碰到的软件危机,而良好的架构设计是解决这其中很多问题的关键。总结下来,可以体现为以下几点:

基于标准服务的开发,能够提高应用的迭代速度,让产品经理更加深入的介入产品的开发过程。

分层的架构设计,便于进行分层测试与验证,减少集成测试的压力,问题发现的更充分,也能够提高版本发布的速度。

便于形成产品线和平台线的分工,产品线负责具体车型项目,平台线,负责构建技术中台。

可拓展的硬件计算平台,可以兼容多种传感器和外部设备,同时支持芯片和硬件的可升级。

可拓展的计算通信架构,可以加快车型开发的速度,平台能够快速地适配到新的车型之上,分层的结构,把车型之间的差异化缩到最小,能够减少后期多产品线维护的压力。

1. 可拓展计算与通信架构

主要目的是,提供一个与车型无关的统一平台,在此之上构建的所有车型都将采用统一架构。可拓展中央计算平台与模块化Zonal Controller 是构建这个标准电子架构的核心。中央计算单元将整合自动驾驶,智能座舱和车辆控制三大域的核心业务功能,标准化的区域控制器主要有三个职责:

电力分配

数据服务

区域网关

所谓的标准化区域控制器,是指所有的Zonal Controller都采用相同的硬件设计,拥有相同的IO接口。可以根据车型的需要灵活的去配置三个,四个,甚至更多的区域控制器,以满足不同车型对于拓展性的要求。

central+zonal 中央计算单元与区域控制器之间都会采用高速以太网相互连接。因此,中央计算单元将会集成一个高吞吐量的以太网交换机。为了满足车辆控制实时性的要求,核心网将会采用如TSN等的可靠通讯技术。在区域控制器下的局域网内,传统的CAN、Lin等通讯方式将会继续存在。局域网内可以以传统的信号的方式进行通信,在核心的以太网骨干网络中,将会以服务的方式进行数据之间的交互,就需要如DDS等通信中间件。 随着整车集成化的程度越来越高。越来越多ECU的功能将会慢慢的被吸收到区域控制器当中。所以,区域控制还同时承担,整车硬件抽象的重要职能,这一块在介绍服务层中的原子服务时会详细说明。 概括来讲,可拓展的电子架构就是要屏蔽车型之间的硬件差异。不管采用多少个区域控制器组成的通讯网络,其相互之间的通讯模式,都遵守同样的规则。同时区域控制器也承担其局域网内,ECU功能的抽象之责。

2. 可拓展中央计算平台

中央计算平台需要拥有统一的传感器及外设接口,同时需要能够兼容各家的芯片产品。随着整车智能化的提高,越来越多的芯片玩家进入到了车载芯片领域,在此之前,车载芯片的迭代速度非常慢,然而最近几年,车载芯片的迭代速度越来越快,各种高性能的芯片层出不穷。 如果每次换芯片都要进行换骨手术,对整个技术架构进行重构,会极大的拖慢新产品的开发速度。目前来看,车载芯片的发展速度,正在向消费电子靠近,消费电子领域基本是一年一代芯片。车载领域虽然稍微慢一点,但是升级换代的诉求也非常强烈。 关于中央计算单元的架构方式,之前的文章已专门做过阐述,有三种方式:分离SOC、硬件隔离、软件虚拟化,详细可参考这篇文章,《中央计算单元架构》

总结下来,中央计算平台需要拥有统一的传感器及外设接口,同时能够支持芯片的升级,其最终目的就是要实现在车生命周期内的硬件可升级,从而延长汽车的智能化生命周期。

3. 操作系统内核

关于操作系统的概念,之前的文章已经辨析过。目前各种操作系统的概念满天飞,但大部分都只是操作系统中间件。由于车辆的复杂性以及对于实时性的要求,没法用一个操作系统来统一所有的应用场景。这并不是一个软件问题,在此不做过多阐述,详细参考这篇文章,《软件定义汽车-概述》 在操作系统内核层面,最主要的就是要满足实时性的要求,能够保证系统的性能和稳定性。如果需要采用虚拟化的方案,很多虚拟化的工作也需要在这一层展开。这块不是车厂的强项,也不是能够体现产品差异化的地方。因为无论用谁家的,其实现的功能都非常相似。所以没必要车厂单独去开发一个内核,本身很多生态的建设靠车厂也无法完成,这个工作交给科技公司去做就好了,有很多成熟的可选的方案。 在上面的图中,也有一种类型的系统叫OS for MCU,最典型的就是Classic AutoSAR。从这个整体架构图当中,大家也可以看到,它的生与死其实根本就不关键。因为它只是整个计算系统当中非常小的一块儿。所有的代码量加起来也就几兆大小,对它的需求是成熟稳定,可用即可。在中央计算架构下,以太网是核心的通信方式,传统的MCU的网络管理、CAN通信、诊断等功能,将会被中央计算单元所吸收。未来中央计算单元的MCU承担的最主要的职责可能是电源管理

4. 分布式服务框架

很多人也把这层称为XX.OS,其本质上是一个操作系统中间件。其最核心的作用,就是提供一个分布式的计算和通信框架。对下屏蔽各类操作系统内核的差异,对上提供统一的服务开发框架。 其主要包含服务管理、网络管理、通信管理、升级、诊断、日志、状态等。Adaptive Autosar和ROS就是典型的分布式服务开发框架,此类中间件都是解决通用的技术问题,实质上也不是车厂的核心竞争力,当然有余力的也可以选择自己开发,详细可以参考这篇文章,《SOA基础软件框架与参考实现》

5. 标准化服务层

也有很多人把在这层也称之为XX.OS,其主要目的是把车上,硬件功能抽象为各种服务,并且进行分类分层,为上层应用提供良好的开发SDK。在上图的架构中,分为四层设计:

最下层是服务的适配层,运行在Zonal Controller之上,将对局域网内的ECU功能进行抽象化处理,面向具体车型的信号进行适配。

服务适配层向上对接的是原子服务,指的是硬件的一些基本功能,比如传感器、电机控制、门窗、车灯等,最基本一些操作。

在原子服务之上是逻辑服务,也称为组合服务,里面有一定的判断逻辑存在。比如打开车门,打开车灯,并不是在任何状态下都无条件执行,需要判断很多条件。

在逻辑服务之上是业务服务,和各域的功能联系的比较紧密。

服务的抽象也有一些方法论可以遵守,可以从原来ECU的信号出发,从下往上梳理,形成一系列原子服务。另外就是从业务功能出发,从上往下梳理,形成一系列的逻辑服务和业务服。关于SOA分类分层的介绍,可以参考这篇文章,《面向服务的架构设计》。 我想强调的是,服务层的设计其实是车厂的关键能力,因为无论是服务中间件还是操作系统内核,很多的Tier1都可以去做,因为这些都是一个纯技术性的通用工作。但是服务层的设计只有OEM厂商才能够做。因为任何Tier1都只能接触到其中的一部分,所以没法从全局的角度去设计整个服务的框架,而这一层最大的作用就是,提供一些灵活可重组的基础服务,以供上层应用场景的快速实现。为产品功能的快速迭代打下了很好的基础。

6. 可编排应用层

在服务层之上就是各域的应用功能,此处的“域”只是一个虚拟的概念,因为在中央计算的架构下,各域之间已经没有了明显的物理边界,逻辑上可以划分为以下四个:

自动驾驶

智能座舱

车辆控制

智能天线

前面几个都有过介绍,所谓的智能天线,其实就是集合了所有的与外界通信的功能,如BT、WIFI、NFC、V2X、5G等等。 一个产品的功能往往都是需要,各域的相互配合才能实现的,在之前的技术架构下,产品经理很难介入到整个产品功能的开发周期当中。因为技术架构过于复杂,更多情况下是系统工程师在主导。所以把服务层做厚,把应用层做薄,把底层架构做充分的解耦,可以让产品经理很深入的介入到产品功能的设计开发当中。 此时产品功能的开发已经不需要去关心底层中间件、操作系统、硬件、电子架构的的影响。基于服务层提供的SDK可以快速的开发出产品所需要的功能,这也是未来智能座舱和自动驾驶等产品功能快速迭代的一个技术基础。

结语

同样一个问题,有多种解决的途径,分析下来会有多种解决方案。但是需要做的事情分分类,也都殊途同归。所以右边的文字部分详细的列出了各块儿需要做的事情,可以供大家参考。每一个点都是非常庞大的主题,要讲清楚,需要花很长的篇幅。后续有机会我们将围绕这些工作,进行更加细致的阐述。 很多人也在问,有没有一些书或者成熟的方案可以借鉴,很难有,因为这是一个很新的领域,很多时候需要去创造产业链上没有的东西,所以正向的研发,正向的思考是非常关键的。一切从问题出发,正向去思考,分析解决这些问题的途径,自然而然的会形成一种比较一致的判断。技术方案其实是一个非常客观的东西,大家可以理性的去分析,也欢迎大家反馈自己的想法。 本来是准备写关于芯片定制化的一些思考,但是如果不解释清楚整个技术架构,讲芯片的定制化可能会让大家感到疑惑。其实在设计中央计算单元的时候,最大的挑战就是可用的芯片。目前没有一款芯片能够同时满足几大功能域的要求,只能用多个芯片拼起来。半导体行业其实已经有了从晶元级别去集成多个芯片的能力。下一期我们可以仔细聊聊这个话题

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OEM
    OEM
    +关注

    关注

    4

    文章

    402

    浏览量

    50357
  • 智能化
    +关注

    关注

    15

    文章

    4885

    浏览量

    55386
  • 数字系统
    +关注

    关注

    0

    文章

    143

    浏览量

    20851

原文标题:软件定义汽车 (第十集):决战架构之巅

文章出处:【微信号:QCDZYJ,微信公众号:汽车电子工程知识体系】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    电容的工作原理和特性

    电容,也被称为退电容,是电路中装设在元件的电源端的电容。它的工作原理基于电容器的基本原理,即通过两导体之间的电场来存储电荷。当电荷在电源线上发生波动或噪声时,
    的头像 发表于 10-10 15:19 665次阅读

    电容的摆放位置和作用

    电容(Decoupling Capacitor)在电子电路设计中扮演着至关重要的角色,它们用于减少电源线上的噪声,确保电路的稳定性和性能。电容的摆放位置和作用是电路设计中的
    的头像 发表于 09-19 10:54 610次阅读

    不平衡电网下基于功率的PWM整流器控制策略研究

    的闭环控制参数,建立了套较系统完整的控制器参数设计流程。最后,基于仿真软件Matlab/Simulink设计了套能实现功率
    的头像 发表于 07-23 14:40 192次阅读
    不平衡电网下基于功率<b class='flag-5'>解</b><b class='flag-5'>耦</b>的PWM整流器控制策略研究

    智能数采网关助力破解软硬件难题

    不同需求提供可靠的数字化支持。 软硬件是指将软件硬件进行分离,使得软件
    的头像 发表于 04-11 15:37 403次阅读
    智能数采网关助力破解软<b class='flag-5'>硬件</b><b class='flag-5'>解</b><b class='flag-5'>耦</b>难题

    详解电容:电容的PCB布局布线

    从电源上看,没有电容的时候如左侧的波形,加上了电容之后变成了右侧的样子,供电电压的波形变得干净了,我们称该电容的作用是去掉了和在干
    的头像 发表于 03-27 14:08 3533次阅读
    详解<b class='flag-5'>去</b><b class='flag-5'>耦</b>电容:<b class='flag-5'>去</b><b class='flag-5'>耦</b>电容的PCB布局布线

    鸿蒙开发学习:【驱动子系统

    OpenHarmony驱动子系统采用C面向对象编程模型构建,通过平台、内核
    的头像 发表于 03-17 22:05 605次阅读
    鸿蒙开发学习:【驱动子<b class='flag-5'>系统</b>】

    电感两两耦合怎么

    在电路设计中,电感的耦合和技术是非常重要的环。通过合理的电感耦合可以实现信号的传输和功率的传递,而电感的则可以消除干扰、提高
    的头像 发表于 03-09 10:50 4022次阅读

    电容的作用

    电容的作用是将信号电源引脚的输出干扰作为滤除对象,防止干扰信号返回电源。
    的头像 发表于 02-20 15:55 1461次阅读

    微处理器电源引脚上的电容应用

    电容Q从英文角度看就是连接的意思,那么从电容是上分析就是器件事物与另一个器件有练习,当其中
    的头像 发表于 02-18 15:36 491次阅读
    微处理器电源引脚上的<b class='flag-5'>去</b><b class='flag-5'>耦</b>电容应用

    旁路电容和电容的异同

    电容,也称为耦合电容或退电容,是电路中装设在元件的电源端的电容。它的主要作用是为电路提供较稳定的电源,并降低元件耦合到电源端的噪声,间接减少其他元件受此元件噪声的影响。
    的头像 发表于 02-18 15:20 959次阅读

    什么是电容 有什么作用

    电容(decoupling)通常放置在芯片的电源引脚附近,用于滤除由于芯片自身用电过程中信号跳变产生的电源引脚对外的波形输出。 在数字电路中,当电路从状态转换为另
    的头像 发表于 02-16 16:54 2012次阅读
    什么是<b class='flag-5'>去</b><b class='flag-5'>耦</b>电容 有什么作用

    电容越大越好吗,电容值的选择

     电容是种安装在电路中的电容,主要用于提供稳定的电源,同时降低元件耦合到电源端的噪声,间接可以减少其他元件受此元件噪声的影响。电容
    的头像 发表于 02-10 14:57 2515次阅读

    耦合和有什么区别,耦合电容和电容的作用分别是什么?

    的区别、作用以及在电路中的放置原则。 1. 耦合和的区别: 耦合指的是将电路的输出信号传递到另一个电路中,实现信号的传递或共享。耦合
    的头像 发表于 02-04 09:05 4127次阅读

    汽车软件开发CAEdge框架关键技术

    软件定义汽车中,汽车功能主要通过软件实现,不再仅仅依赖硬件。这种将软件硬件
    发表于 01-24 14:16 574次阅读
    汽车<b class='flag-5'>软件</b>开发CAEdge框架关键技术

    分享PCB中的电容设计

    在数字电路及IC控制器电路中,必须要进行电源。当元件开关消耗直流能量时,没有电容的电源分配网络中将发生
    发表于 01-10 15:31 432次阅读
    分享PCB中的<b class='flag-5'>去</b><b class='flag-5'>耦</b>电容设计