我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。
老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:
屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。
无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。
时间不知不觉中,快要来到深秋。国庆假期结束,又开始新的忙碌。成年人的我也不知道去哪里渡自己的灵魂,独自敲击一些文字算是对这段时间做一个记录。
一、车载智能计算基础平台参考架构
车载计算基础平台侧重于系统可靠、运行实时、分布弹性、高算力等特点,实现感知、规划、控制、网联、云控等功能,最终完成安全、实时、可扩展的多等级自动驾驶核心功能。如图所示,车载计算平台的总体架构主要包含车控操作系统和异构分布硬件架构两部分。其中,运行于车载智能计算基础平台硬件及汽车电子控制单元硬件之上,支撑智能网联汽车驾驶自动化功能实现和安全可靠运行的软件集合,架构上包括系统软件和功能软件。
车载计算平台的总体架构
车载计算平台的总体架构确实主要包含两大部分:车控操作系统和异构分布硬件架构。这两部分紧密协作,共同支持智能网联汽车的各项功能。
1. 异构分布硬件架构
异构分布硬件架构是车载计算平台的基础,它通常由多种不同类型的硬件组件组成,包括但不限于:
-> 高性能处理器:用于处理复杂的计算任务,如图像识别、路径规划等。
-> 专用集成电路(ASIC):针对特定任务进行优化,如深度学习加速、传感器数据处理等。
-> 现场可编程门阵列(FPGA):提供灵活的硬件配置,可根据需求进行编程和重构。
-> 通信模块:支持车辆与外部环境(如V2X通信)、云服务器和其他车辆之间的数据传输。
-> 存储设备:用于存储操作系统、应用程序、数据日志等。
这些硬件组件通过高速总线或网络相互连接,形成一个分布式计算系统,能够高效地处理各种任务。
2. 车控操作系统
车控操作系统是运行在硬件之上的软件层,它负责管理和协调硬件资源,为上层应用提供稳定、可靠的运行环境。车控操作系统通常具有以下特点:
-> 高可靠性:采用冗余设计、故障检测和恢复机制等,确保系统在出现故障时仍能正常运行。
-> 实时性:能够及时处理关键任务,确保自动驾驶的实时响应。
-> 安全性:通过安全认证、数据加密、访问控制等手段,保护系统免受恶意攻击和数据泄露。
-> 可扩展性:支持新功能的添加和旧功能的升级,以适应不断变化的自动驾驶需求。
车控操作系统的架构上通常包括系统软件和功能软件两部分:
-> 系统软件:包括内核、设备驱动程序、网络通信协议栈等,为上层应用提供基本的系统服务。
-> 功能软件:包括感知、规划、控制、网联、云控等自动驾驶相关的功能模块,这些模块通过调用系统服务来实现自动驾驶的各项功能。
实现的核心功能
车载计算平台通过上述架构和组件,实现了以下核心功能:
-> 感知:通过摄像头、雷达、激光雷达等传感器收集周围环境的信息。
-> 规划:根据感知信息生成安全的行驶路径和速度规划。
-> 控制:根据规划结果控制车辆的转向、加速和制动等。
-> 网联:与外部环境(如交通信号灯、其他车辆)进行通信,获取更多信息以优化行驶策略。
-> 云控:与云服务器进行数据传输和交互,实现远程监控、更新和故障诊断等功能。
这些功能的实现使得智能网联汽车能够安全、实时、可扩展地实现多等级自动驾驶。
图 1 车载智能计算基础平台架构框图
二、系统软件层
系统软件是针对汽车场景定制的复杂大规模嵌入式系统运行环境,如图所示。系统软件一般包含操作系统内核、虚拟化管理(Hypervisor)、POSIX、系统中间件及服务等。
图 2 系统软件架构
1、操作系统内核
车控操作系统内核支持异构芯片,需考虑功能安全、实时性能要求。当前异构分布硬件架构各单元所加载的内核系统功能安全等级有所不同,AI 单元内核系统 QM~ASILB,计算单元内核系统QM~ASILD,控制单元内核系统 ASILD,因而出现不同安全等级的多内核设计或单内核支持不同安全等级应用的设计。保证差异化功能安全要求的同时满足性能要求,是车控操作系统系统软件设计的关键。另外,车载智能计算基础平台的复杂性也要求内核对功能软件及应用软件的库支持和高度可编程性。
2 虚拟化管理(Hypervisor)
Hypervisor技术是实现跨平台应用、提高硬件利用率的重要途径。Hypervisor 是一种硬件虚拟化技术,管理并虚拟化硬件资源(如CPU、内存和外围设备等)并提供给运行在 Hypervisor 之上的多个内核系统。车控操作系统通过 Hypervisor 实现有效的资源整合和隔离。
3 可移植操作系统接口(POSIX)
POSIX 是被主流操作系统广泛采用和遵守的标准。基于 POSIX的应用可以方便在不同操作系统间移植。POSIX 也能够很好地适应自动驾驶所需要的高性能计算和高带宽通编程。Adaptive AUTOSAR同样采用基于 POSIX 标准的内核系统,可使用 PSE51 子集的标准POSIX API,旨在满足未来高级自动驾驶的需求。车控操作系统系统软件基于实时嵌入式软件单元架构,可借鉴 Adaptive AUTOSAR平台思路,在不同内核系统采用 POSIX API 与应用软件、功能软件交互。
4 系统中间件及服务
系统中间件位于系统软件中,主要是管理计算资源和网络通讯,并为上层应用提供基础的系统服务。其中最主要的中间件是指分布式通信服务,它主要是以发布/订阅方式为 SOA 应用之间提供数据和信息交换服务。车控操作系统可建立跨多内核、多 CPU、多板的通用、高速、高效的通讯和数据共享机制。采用发布/订阅架构的分布式中间间,强调以数据为中心,提供丰富的 QoS 策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。其中有代表性的分布式通信中间件技术规范为 DDS、SOME/IP等。
5 安全域操作系统及功能服务
安全域操作系统是系统软件层上运行在 MCU 上的实时安全车控操作系统。安全域操作系统主要包含硬件抽象层、基础软件、实时操作系统内核和运行时环境等模块。安全域操作系统最基本的要求是高实时性。系统具备硬实时特性,需要在规定时间内完成资源分配、任务并发、同步等指定动作,可参考 CP 软件架构。
三、功能软件层
功能软件是车控操作系统根据面向服务的架构设计理念,通过提取智能驾驶核心共性需求,形成智能驾驶各共性服务功能模块,高效实现驾驶自动化功能开发的软件模块。如图 12 所示,功能软件由应用软件接口、智能驾驶通用模型、功能软件通用框架,以及数据抽象组成。
图 3 功能软件架构