将两种或更多不同微处理器 (MPUs) 和/或微控制器 (MCUs) 结合在一起的架构 -- 异构多核系统 -- 正快速成为汽车原始设备制造商及一级供应商的首选。这些系统的快速普及归因于汽车电子的使用越来越多,需要控制设计成本的同时又要满足越来越高的复杂性以及得益于汽车专用硅方面的重要改进。
当你查看一辆汽车的内部构造时,你会发现有很多的电子系统正在运作。如今的汽车系统可能包括:军用夜视装置来帮助识别人行道上的行人;先进的安全程序来确保安全气囊在毫秒时间内立刻打开;电子稳定控制和防抱死制动来帮助汽车在恶劣天气里正常行驶;后视袖珍摄像头(传感器)来帮助驾驶人在可视情况不佳的情况下看清楚;别忘了车载信息娱乐 (IVI) 系统带来的用户体验 -- 不论车载信息娱乐系统是否匹配了手持设备、只运行本地应用或是作为最新 4G/LTE 无线连接的节点。所有这些电子系统都需要电子控制单元 (ECUs) 实现正常运作。例如,当开发人员开始将车载信息娱乐子系统与仪表系统结合在一起时,就需要合理地安排一辆汽车中复杂的连接问题。如果一个优先级别分类相对较低的子系统与一个优先级别分类相对较高并且对安全至关重要的子系统共享一个电子控制单元时,你就会发现这些问题更加棘手。
本文将探索新的电子控制单元硅平台如何促进集成以及 AUTOSAR 在电子控制单元开发中的重要作用。
电子控制单元的崛起
由于电子控制单元的使用越来越多以及汽车上的新功能不断增加,半导体生产商们正在开发精密高端的系统芯片 (SoC) 架构。这些新架构包括各种处理器内核,这些处理器内核拥有更强的能力来执行复杂精密的任务。
集成一辆汽车内的多个电子控制单元已经成为全球领先汽车原始设备制造商们最重要的工作。近期的研究表明,如今一辆高档豪车内配有近100个电子控制单元,这就牵涉到制造成本、线束互连以及零件采购等问题。我们注意到,目前制造商们正从8到16位应用处理器转到低端32位电子控制单元,以便实现更高的性价比以及与复杂车载应用的更好融合。
AUTOSAR 和电子控制单元的重要性
电子控制单元的使用日益普及使生产商们更加重视标准化的制定以及汽车系统连接。此外,硬件平台的改变引发了对软件重新设计和支持的问题。AUTOSAR( 汽车开放系统架构)为业界带来了统一的电子控制单元架构定义并为原始设备制造商和一级供应商带来了统一的设计方法。
AUTOSAR 的核心在于提供了统一的电子控制单元界面定义并使设计工程师能够指定标准的可重复使用软件层级和部件,这些部件在每个汽车电子控制单元中都必不可少。这个标准不受硬件限制,因此应用软件和托管软件的硬件平台之间可以分开。AUTOSAR 支持多项总线技术,并使汽车设计人员能够灵活地将 FlexRay、CAN、LIN 和以太网等总线网络进行互连。网络可以按等级进行排列,例如,有关环绕摄像网络的子集群部署在以太网网络上,需要低数据率的电子控制单元组,如门锁仍然部署在传统的 CAN 总线群上。
拥有 AUTOSAR 标准化层级的电子控制单元以及缺乏AUTOSAR 标准化层级的电子控制单元。
随着子系统的复杂性提高,AUTOSAR 标准的复杂性也在提高。AUTOSAR 4.x 包括60多种不同的电子控制单元类型。基于 AUTOSAR 的电子控制单元满足了用于最重要的车内部件的 ASIL 安全要求。AUTOSAR 电子控制单元通常运行在基于OSEK规范的可靠的实时操作系统上。
从单核到多核设计...
如今的车辆拥有很多功能,包括单核和多核处理器架构。在只需要一个功能的情况下,单核设计才最适用于嵌入式系统。一辆汽车可以包括几个不同的设计,这就需要多核处理能力,或图像处理单元(GPU)。一辆汽车的仪表显示或车载信息娱乐系统就是利用多核平台的典型应用。
对于同时拥有单核和多核系统芯片的车辆,有许多使用案例:
每个系统芯片运行自己的操作系统或操作环境,使用为其操作环境和正在使用的特定应用而设计的工具开发。
每个系统芯片包含各种不同类型的离散处理器。应用类型推动处理器拥有从低端微控制器到高端应用处理器等不同选择。系统的每位“用户”对部件的所有硬件拥有完全的所有权。这些硬件包括处理器、GPU、内存、输入/输出端口、缓存等等。
系统的离散部件通常是松散地连接到一起。每个组件独立启动,通过一些物理连接信息与其它部件交流。每个系统组件与其它组件的用途无关,他们只需在启动并且准备通信时与其它部件相连。
.到异构设计
为了帮助集成汽车电子环境,半导体制造商创造了结合异构核心和其它设备的复杂系统芯片架构。事实上,汽车生态系统是如何将离散设备的复杂功能集成到一个多核异构系统芯片上的极好例子。TI OMAP5432便是这样一个系统芯片例子,它包括两个ARM? Cortex? A15 应用处理器、两个ARM Cortex? M4 微控制器、一个 Imagination 公司的GPU、一个数字信号处理器 (DSP) 以及其它处理器。
除了这些不同的处理内核,这个系统芯片上还有许多其它部件,包括内存、缓存、输入/输出端口、安全功能等等。这些系统芯片架构支持集成,反过来则有助于汽车原始设备制造商应对全球竞争压力。
异构多核系统芯片
到目前为止描述的范围涉及多个电子部件和各个部件间的通信。随着处理能力和整合功能的提升,先进的硬件设计和软件开发技术必不可少。因此,MentorGraphics 使用异构多核开发工具开发了业界首个能够提供全面的商业运行环境的解决方案,该方案可以选择整合 AUTOSAR 标准。德州仪器的异构多核 Jacinto 6平台便是拥有这样一个系统芯片环境的例子。
在异构多核系统芯片上整合范围。
异构系统芯片开发挑战
当项目从松散连接系统的离散开发搬到集成的异构环境中时,可能会出现巨大的开发挑战。在离散开发时通常不会出现这些挑战,因为开发人员能够在他们自己设备的范围内进行设计、开发、测试和优化,他们只需设计和测试与系统其他部分的通信接口。
但是如今通过异构集成,嵌入式开发人员必须解决许多新的挑战,包括:
系统架构
由于一个系统芯片拥有许多异构核心,他们拥有许多选择来向处理器内核、GPU 设备、内存、输入/输出端口以及如今广泛获得并可能共享的其它资源分配操作系统和应用。开发人员如今需要考虑架构如何才能最大程度满足系统需求。
配置:架构师不仅需要考虑系统布局,他们还需要一种方法来配置系统。按照以往的经验,初步拟定的架构可能不会按照架构师预期的运行,因此开发人员需要能够快速地重新配置系统并且确定是否能够满足系统需求。这个过程可能需要进行手动配置,较为缓慢,浪费了宝贵的开发周期。
启动:在离散使用案例中,每个操作环境在其自己的硬件上启动。而在异构多核的使用案例中,多个操作系统通常需要使用一个特定的序列启动,因此开发人员需要根据系统要求并且考虑到系统芯片上硬件的共同特性找到一种以协调的方式启动系统不同部分的框架和方法。在汽车环境中,控制器局域网通常需要在50毫秒内启动,这样才能托管于更低功耗的内核。功率更强大的搭载信息娱乐系统的内核可能需要更长的时间来启动。
调试:集成系统时,开发人员和测试人员需要找到一种方法来将系统视为一个整体。他们需要了解每个操作系统和应用环境是怎样工作的。他们需要知道哪里可能存在共享资源争用,或处理器、总线或设备的饱和。他们需要找到一种方法来了解系统某一部分的行为如何影响系统的另一部分,或被另一部分影响。开发人员需要一种方法来优化系统的整体性能。
隔离:设计人员需要确保,如果系统的一部分由于不良编程或恶意企图发生故障,集成系统的其它部分不会受到影响,或者整个系统不会被累及或整体瘫痪。
设备共享
由于可能有很多操作系统环境和应用集成到同一个系统,服务于这些功能需求的硬件设备可能有限。这可能需要共享有限的硬件资源。设计师和开发人员需要一种方法来共享这些设备,同时保证单项功能不受影响。
处理器间通信 (IPC)
多个应用整合到同一个系统芯片上需要一种方法来让这些应用互相之间或与系统之间能够通信。鉴于集成系统的异构性,这催生了对处理器间通信架构的需求,这种架构要能够根据不同的应用扩展升级,包括开源软件和注重 IP 保护的专有软件环境。比如,在同一个多核系统芯片上共享仪表和信息娱乐系统时,就可以使用 VirtIO 或 RPMsg 等安全通信连接在这两个领域共享有关车辆位置和速度的信息。
安全
凭借离散架构,系统设计师可以整合与外界连接的嵌入式设备内的某项独立功能,并使任何外部恶意攻击远离系统的其余部分。在集成过程中,这些安全功能可集成到一个异构多核系统芯片上,但系统芯片上硬件和其它设备的共享性质又给阻挡攻击带来了新的挑战。随着蓝牙和 Wi-Fi 等无线通信媒介越来越多地使用于汽车中,拒绝服务攻击的潜在访问点数量也在增加。
结论
现在人买汽车都希望有高性能多媒体、无线连接、语音处理、导航和位置服务以及车身各处多个摄像头和音频视频资料支持(仅举几例)。这些需求从而推动了对半导体厂商新的芯片系统解决方案的需求。异构多核系统芯片也必须支持多个网络接口,来实现与 AUTOSAR 及汽车中多个不同网络硬件层的使用安全软件协议的其它电子控制单元之间的通信。
受业务趋势的推动,系统集成和新的硬件异构系统芯片架构需求应运而生。原始设备制造商、设备制造商和设计团队需要把握这一趋势。毋庸置疑,随着越来越多异构系统的出现,传统的车内系统开发方法将被瓦解。