新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于FPGA的汽车ECU设计

基于FPGA的汽车ECU设计

作者:时间:2013-05-31来源:网络收藏

当今的汽车制造商正在把越来越多的高级功能添加到汽车电子控制单元(ECU)中,以改善驾驶体验,增强安全性,当然还期望超过同类竞争产品的销量。在这种情况下,汽车开放系统架构(AUTOSAR)计划和功能安全国际标准ISO 26262正在快速成为汽车ECU设计的技术和架构基础。

汽车产业利用可重配置硬件技术,可灵活地综合车载功能。

当今的汽车制造商正在把越来越多的高级功能添加到汽车电子控制单元(ECU)中,以改善驾驶体验,增强安全性,当然还期望超过同类竞争产品的销量。在这种情况下,汽车开放系统架构(AUTOSAR)计划和功能安全国际标准ISO 26262正在快速成为汽车ECU设计的技术和架构基础。

为了满足新车型日益提高的功能需求,汽车电子产品的密度不断增大,FPGA厂商也正在不断推出更大型的器件。这些器件能够集成所有的应用,而且与前代器件相比,功耗更低,价格更具竞争力。这种趋势意味着可重配置计算技术在汽车产业将会得到进一步推广和应用。

我们推出了一种具有开创性的方法,即使用可编程FPGA器件而非基于MCU的平台作为ECU的基础,设计出一款能够同时满足AUTOSAR和ISO 26262标准的汽车ECU。我们的设计方法对可重配置硬件的关键特性,比如并行性、可定制性、灵活性、冗余性和多功能性进行了充分的探索。在概念设计完成后,我们希望在原型中实现设计。赛灵思Zynq-7000可扩展处理平台成为了理想选择。该款FPGA平台将ARM双核Cortex-A9 MPCore硬处理器和具备动态部分可重配置功能的28nm赛灵思7系列可编程逻辑器件完美结合在一起,不但可充分满足所需要求,而且还配备有CAN和以太网等车载网络常用的片上通信控制器。

新兴应用

目前汽车计算能力借助通过通信网络互连的ECU来分配。在未来几年内,由于机动车辆中新应用的兴起,这样的计算能力有望进一步提高。这些新应用包括安全和驾驶员辅助功能、车辆间通信功能、舒适性和控制功能、车载娱乐功能以及为数众多的混合动力电动技术。毫无疑义,车辆电子设备的数量预计还会增加。根据分析人员的预测,汽车应用半导体市场的规模将在未来五年内以8%的年均复合增长率(CAGR)增长。其中增长最快的细分市场之一涉及到微控制器(MCU)和可编程逻辑器件,比如现场可编程门阵列(FPGA)。

在车载功能的数量和先进性与日俱增的同时,设计和管理这些系统变得日趋复杂,汽车制造商认为有必要采取有效方式来解决这一难题。其结果就是当今AUTOSAR和ISO 26262两大标准都在影响着实际汽车ECU软硬件系统的架构、设计和部署方式(见侧边栏)。

2003年由多家汽车制造商共同制定的AUTOSAR标准旨在为分布于车辆中的ECU定义标准的系统软件架构。而ISO 26262标准的目的则以功能安全性为中心,实质上是以避免或检测并处理故障为目的,从而减轻故障影响并防止出现对任何既有的系统安全目标的违反行为。随着全新的安全关键功能(比如驾驶员辅助或动态控制)的推出,功能安全性已经成为汽车开发中的关键问题之一。ISO 26262标准于2011年批准生效,可为软硬件的安全开发提供支持。

因此,整个ECU的设计和开发流程由需要系统性进程的标准进行管理。我们的工作就是设计一款高性价比嵌入式计算平台,采用可重配置硬件技术实现优化的系统架构。

系统架构

AUTOSAR和ISO 26262标准主要从软件开发的角度着眼,面向的是基于微控制器单元的计算平台。但是,硬件/软件联合设计和可重配置计算技术的应用可为这个领域带来众多优势。虽然标准的MCU往往是汽车ECU硬件平台的最佳选择,但随着新型FPGA成本的不断降低,加上部分FPGA产品内部集成有硬核处理器,使得FPGA器件也成为这个市场中值得广泛应用的理想解决方案。

为了在汽车应用中发挥可重配置硬件的全部优势,我们将以关于部署最终用户功能的汽车计算网络中最为重要的ECU之一——“车身控制器模块”为重点,通过使用案例展现这种技术的潜力。该ECU也称为“车身域控制器”,负责综合和控制车辆中主要的电子车身功能,比如挡风玻璃雨刷/喷水系统、车灯、摇窗器、引擎点火/熄火、车外后视镜和中控锁。我们的目标是在FPGA平台上设计出一款配备有安全关键功能且符合AUTOSAR的ECU系统。

实际情景

如果汽车制造商要想经济高效地管理日益复杂的车辆功能,经AUTOSAR提倡的ECU系统架构的标准化则是必由之路。它能够实现分布在ECU中的各项功能的高度集成和软件组件的重复使用。AUTOSAR的主要目的是定义一个统一的ECU架构,让硬件与软件分离。这样AUTOSAR通过定义硬件无关的接口,可提高软件的重复使用。换句话说,如果按照AUTOSAR标准编写的软件组件,只要正确集成到符合AUTOSAR标准的运行环境中,就能够在任何厂商的微控制器上运行。

这项功能给汽车制造商带来了更高的灵活性。由于AUTOSAR标准内在的即插即用特性,汽车制造商可以在整个汽车平台上以透明的方式更换不同供应商开发的相同软件模块的各个版本,且不会给汽车中其余功能的发挥造成负面效果。最终硬件和软件实现彼此高度独立。这种分离是通过标准软件的API将抽象层互联实现的。图1是AUTOSAR定义的功能层的分解图。


图1 从MCU到应用层的AUTOSAR分层模型

底部以黑色表示的是硬件层或物理层,由MCU自身(即CPU和与其相连的部分标准外设)构成。微控制器之上是基础软件(BSW),分为三层:粉色的微控制器抽象层(MCAL)、绿色的ECU抽象层(ECUAL)和复杂驱动程序、紫色的服务层(SRV)。这三层经组织形成了多个列或协议栈(存储器、通信、输入/输出等)。

紧贴硬件组件的是微控制器抽象层。正如其名所示,该层是MCU的抽象。该层的目的是提供一个硬件独立的API,负责处理微控制器中的硬件外设。微控制器抽象层的上一层是ECU抽象层,负责抽象ECU开发板上的其他智能器件,一般直接与MCU接触(例如,系统电压调节器、智能交换控制器、可配置通信收发器等)。接下来的第三层是服务层。该层基本具有硬件独立性,其作用是处理所需的不同类型的背景服务。例如网路服务,系统看门狗的NVRAM处理或管理。通过这三层,AUTOSAR定义了一套基础软件功能。这套软件功能在特定的硬件平台下支持着汽车ECU各高级抽象层的所有功能。

第四层是运行环境(RTE),为应用软件提供通信服务。它由可从上面的BSW层和应用层(APP)共同访问的一套信号(发送器/接收器端口)和服务(客户端和服务器端口)构成。该RTE从基础软件中抽象出应用,明确地勾勒出将通用的可交换软件代码(APP))与特定的硬件相关代码(BSW)分离的软件协议栈架构。换句话说,RTE可将软件应用与硬件平台分离。因此运行在RTE上的所有软件模块都具有平台无关性。

在RTE之上,通过应用层,软件架构方式从分层变为以组件为基础。功能主要封装在软件组件(SWC)中。因此,完成AUTOSAR软件组件接口的标准化是支持各项功能跨不同车辆平台的ECU实现可扩展性和可移植性的中心环节。除复杂驱动程序外,AUTOSAR标准明确地规定了这些组件的API及特性。SWC仅通过运行环境与其他模块(ECU间或内部)通信。

随着ECU不断集成越来越多的功能,FPGA器件成为了单核或多核MCU的明智替代。通过从总体上把握AUTOSAR的不同层次,可以预见设计人员将这种架构部署在可编程逻辑中所能带来的优势。下文将更深入地介绍我们的设计如何实现基于定制静态硬件(基于闪存或SRAM的FPGA技术)的解决方案,然后将这种方法延伸为一种运行时可重配置的硬件实现方案(基于SRAM的部分可重配置FPGA)。

基于FPGA静态硬件的ECU设计

AUTOSAR架构非常适合由CPU、存储器和可编程逻辑组成的嵌入式系统。ECU平台需要一个CPU或主机处理器来管理应用并处理分布在应用层的软件组件中的不同功能。同时,MCU层和部分基础软件层可以在可编程逻辑结构中的硬件中综合。因此,除了能够实现与CPU相连的标准外设,其它定制外设和协处理器也能够在硬件中并存,并在软件中完全或部分地加以管理。


另外从功能安全的角度来看,专用协处理器或内核处理器也非常适用,因为用它们实现功能可让硬件从源头避免干扰,即便要求冗余性,也能给系统设计带来高灵活性。另外,居于中间的RTE层可以在分布于FPGA中的RAM模块中,或者在嵌入在器件逻辑单元中的触发器中以及外部存储器中综合。而且,RTE信号接口经简单设计就能够同时进行读写操作(通过单端口存储器)或限制架构仅进行读操作或者写操作(通过配有两个独立读写端口的单个双端口存储器),以防范干扰,比如AUTOSAR所定义的彼此对应的发送器和接收器软件端口。


图2 将AUTOSAR ECU架构移植到FPGA平台上

建议将基于MCU的AUTOSAR ECU架构移植到可扩展处理平台(EPP)或者FPGA器件上,并在各层中确保清晰的系统分区,如图2所示。位于RTE层以下的有操作系统(OS)、存储器协议栈、通信协议栈、I/O协议栈等。位于RTE层以上的是软件组件,它们用于实现应用并通过AUTOSAR接口与RTE进行通信。

由于AUTOSAR架构内在的复杂性,需要功能强大的嵌入式计算平台才能进行部署。如今,典型的ECU设计基于运行在MCU平台上的32位单核处理器。但是单核越来越难以提供所需的全部计算能力。而使用多核CPU需要通过多处理器总线和仲裁机制共享程序/数据存储器,往往会导致高度复杂的解决方案,造成性能劣化。


上一页 1 2 3 4 下一页

评论


技术专区

关闭