利用FPGA协处理器优化汽车信息娱乐和信息通信系统
2011-10-19
集成了数据通信、本地服务和视频娱乐功能的高端汽车信息娱乐系统需要高性能的可编程处理技术支持,将FPGA协处理器整合进主流汽车信息通讯系统架构是最理想的解决方案。本文提出了汽车娱乐系统的要求,讨论了主流系统架构,并介绍如何将FPGA协处理器整合进硬件和软件架构以满足高性能处理要求、灵活性要求及降低成本的目标。
娱乐电子正成为豪华汽车之间差异化的主要方面,因而推动了其性能和功能的快速发展。如何折衷考虑性能、成本和灵活性要求是设计工程师面临的挑战。高端应用包括卫星收音机、后座娱乐、导航、各种类型的音频回放、语音合成和识别,以及其它新的应用。
汽车娱乐系统用的核心技术与传统的汽车应用有本质的区别。与汽车电子的其它领域不同,这些娱乐应用是天天要用的,需求也不断在发生变化。另外,过时的娱乐系统将成为新车销售的主要障碍,并且会影响汽车转售价格和出租价格。
车载娱乐系统的技术要求
传统的汽车电子为具有较长产品寿命、更宽温度范围和低成本要求的全面标准化推动,车载娱乐系统基本上也要满足这些要求。设计工程师不但需要设计长寿命的系统,并且要能适应系统功能的快速发展。这些要求需要很强的灵活性和性能,这是以传统的特定应用标准产品(ASSP)为基础的系统架构所不能提供的。
现在设计的车载娱乐系统的基本架构能够支持平板显示器,通过图形化的人机界面可以显示动态地图和汽车信息。这些架构周边有高度标准化的微控制器、各种标准接口以及支持低端图形处理的简单硬件加速器。这种架构能够以非常低的成本满足汽车市场的中等级娱乐系统要求,也能扩展到高端应用以适合顶级豪华汽车市场要求,视频图像处理和通信是典型的顶级应用例子。支持这些应用的各种标准包括视频的MPEG2、MPEG4和H.264,以及通信的GSM/EDGE、WCDMA、1XEVDO、卫星收音机、卫星电视、数字视频广播和WiFi,这些标准都依赖于不断发展的多种信号处理算法,这些算法需要特别高的可编程处理性能。
目前有三种半导体技术可用于实现这些高度复杂的算法,这三种技术分别是可编程数字信号处理器(DSP)、ASSP和现场可编程门阵列(FPGA)。DSP是一种高性能可编程处理器,专门设计用于信号处理,DSP处理器灵活性高、功耗低、性价比也较高,但没有硬件加速功能,不能提供当今高级图像处理和无线通信算法所需的计算能力;通常内含DSP处理器的ASSP能够为简单视频或通信标准提供优化解决方案,但不能被编程以适应不同的标准;而FPGA不仅具有很高的处理性能,而且可编程,因此可以满足多种应用和标准要求。与其它二种技术不同,FPGA的灵活性和性能可以满足所有潜在算法的要求。
图一 |
FPGA协处理器的应用
上文提到的信息通讯基本架构需要额外的处理芯片来处理高端应用,这些芯片一般是ASIC和ASSP,它们通过存储器或视频处理总线与处理器集成,从而成为特定应用协处理器。用FPGA替换这种特定应用硬件是一种非常好的方法,将FPGA和处理器集成在一起的应用称为FPGA协处理。FPGA的这种使用方式能够根据要求将新的特定应用加速器下载到FPGA中,从而协助完成任何高性能应用。这一概念被广泛应用于高级军事多标准无线电设备,通常称为软件无线电(SDR)技术。采用SDR技术,通过简单的按键就可以使一个无线电设备自动适应不同的无线电标准,这不仅有助于设备适应于未来的应用,也能减少执行不同任务时空闲的定制处理器的数量。这种软件无线电技术也可以用于车载通信和视频应用。
FPGA在视频处理和无线连接方面的灵活性还能节约设备成本,增加系统的价值。目前的基本架构需要ASSP才能支持每个新的视频编解码或无线标准。用一个FPGA替代多个ASSP可以减少汽车使用寿命期间必须配置和维护的次数。扩展车载娱乐系统的基本架构,使其包含FPGA就可以提供可编程的单一高端平台,从而涵盖更宽范围的视频和无线标准和性能。这种方法同样适合高级汽车娱乐系统架构使用。
Delphi Delco电子系统公司发布了先进的汽车娱乐系统架构范例。该平台采用了一个标准的SH-4微处理器和一个日立的HD64404“Amanda”ASIC器件,提供了80%中级汽车市场所需的基本功能。该系统提供了一个带标准API层的通用控制处理器,可以对硬件外设和协处理器进行抽象。ASIC提供基本的外围器件功能和一体化的图形处理器,这种图形处理器可以支持交互图形和扩展功能,但不能提供视频编解码或其它DSP功能。该系统提供了所有娱乐设备所需的基本功能,但仍需要额外的ASIC或ASSP才能完成视频编解码和无线通信。
图二 |
Delphi架构中的Amanda芯片(见图1,2 )使用了两条处理总线,即用于视频处理等高性能数据流的Pixel总线以及控制用的寄存器总线,这两条总线都相连于SH-4 MPX总线和外部存储器接口。总线和存储器接口的这种完美组合可以很好地支持基于FPGA协处理器的灵活视频编解码和无线通信平台。
FPGA协处理可使FPGA与控制或DSP处理器紧密整合在一起,因此可以分担大部分算法处理任务,同时保留标准编程接口于控制处理器上。当算法的主要数据流驻留于FPGA或相关存储器上时,这种整合的运行效果最佳。算法是由来自于控制处理器的缓慢控制信号控制。
该类型架构可以应用于无线通信,它能通过单个FPGA支持GSM/EDGE、WCDMA、1xEVD0中的数字处理以及各种802.11标准。其它方案只能是针对每个标准做专门的硬件设计,但这样做会成倍增加成本和电路板面积。
另外,在图像处理中应用FPGA协处理后可以由单个FPGA完成包含MPEG2、MPEG4和H.264在内的多标准视频编解码。事实上,这里可以使用与无线通信应用中相同的FPGA。
FPGA协处理器通过直接存储器访问(DMA)接口与基于处理器的系统整合在一起。运行于嵌入式处理器上的软件层为每个协处理器提供一个应用接口,每个协处理器都有一个初始化例程,可以通过正确的应用协处理器加载FPGA。在应用程序初始化后,软件就调用协处理器控制参数、时序和数据流进出协处理器。根据具体的实现标准不同,在FPGA协处理器和控制处理器之间可能会有高等级的交互,也可能FPGA协处理器完全独立工作。在这种情况下,控制处理器只是简单地加载算法,然后就处于独立运行状态。
加载进FPGA的每个程序映像(program image)需要整合进周边系统中。FPGA的可编程功能需要一个定义完善的系统接口才能实现,因为每个基于FPGA的加速器都要依赖于它才能完成通信。通常FPGA会有多个接口连接控制器、存储器及其它外围器件或连接器。FPGA可能同时包含多个协处理器,这些协处理器共享一个连接控制处理器的接口。每个外围器件或协处理器可以拥有额外的总线用于高性能数据流处理。
在视频编解码器中,一般有一个输入源和一个输出目标。Delphi系统架构中的视频输入接口是Amanda ASIC的一部分,并采用ITU-R BT.656接口用于视频流。这个接口以后可以通过ASIC进行扩展和管理,以适合不同种类的显示屏。FPGA可能需要连接到其它2条总线,即ASIC芯片上的存储器总线和主控制处理器的PCI/MPX总线。通过这三个连接,FPGA就能支持高带宽的视频和通信应用。
FPGA可以为特定应用处理架构提供可再编程的平台,从而弥补主处理器的不足。然而,FPGA程序与标准处理器架构的程序具有本质的区别。FPGA可以提供带可编程逻辑单元、布线资源、DSP处理模块、存储器和I/O的高性能硬件结构。FPGA的系统架构执行方式与标准ASSP基本相同,即系统的一些专用功能是通过硬件和软件开发工具设计和实现的。这些工具的输出是一种二进制映像文件,这些映像文件加载到FPGA中后将能确定所有可编程逻辑单元、布线资源、DSP处理模块等的功能。主处理器可以在系统运行期间将这些二进制映像文件加载进FPGA。可以创建各种不同的程序映像来支持汽车信息通信系统中可能会用到的MPEG2、MPEG4、H.264、GSM/EDGE、WCDMA、1xEVDO、GPS、3D图形加速器或其它算法。根据用户在娱乐系统中的菜单选择,特定应用程序可以由主处理器下载到FPGA中,然后接受主处理器的控制。
FPGA用于可编程功能要求良好定义的系统接口
主处理器对特定硬件加速器的控制一般是通过寄存器和存储器接口完成,每个寄存器控制硬件加速器工作的某些方面。Delphi系统中默认的协同芯片就是这样的,对于加载到FPGA的每个协处理器架构来说也将是这样。采用FPGA,对于处理像标准化寄存器和存储器接口以控制编程到器件中的协处理器这样的任务来说是很容易的。这个标准接口可以定义如何向协处理器读写数据、如何开始和停止读写、如何复位,并包含一套控制特定应用操作的寄存器。所有这些寄存器都是FPGA内部线性地址映射中的一部分,因此软件物理器件驱动器很容易访问这些寄存器。
用于协处理器的软件物理器件驱动器的抽象级别要比用硬件实现的寄存器接口高。软件驱动器提供了从系统的算法参数到控制寄存器的映射,因此应用软件非常容易编写和维护。更高层模型器件驱动器在底层硬件实现变化过程中仍保持相当的可移植性。Delphi系统中的软件架构可以支持软件或硬件协处理器来实现算法,它提供了几个抽象层,这些抽象层将在软件或硬件中的算法实现与物理实现分离开来。FPGA协处理器非常适合Delphi的软件和硬件架构。
FPGA被设计用于基本架构与Delphi系统架构类似的许多系统中。这些系统内含一个以上的控制或DSP处理器,并利用FPGA来加速那些需要高性能处理的任务。实现FPGA协处理器的关键挑战在于以下几个方面:设计用于FPGA的不同的硬件加速器;硬件加速器与外部控制处理器整合;创建控制硬件加速器的软件层。所有要求的硬件加速器包括用于视频和通信应用的主流算法。这样的应用今后会有广阔的市场,而且这种市场发展后会培养更多的特殊标准知识产权(IP)硬件加速器专业设计公司,这些公司能够提供可以直接用在先进的低成本FPGA中的现成算法。另外,也可以购买针对MPEG2、MPEG4、H.264、WiFi和其它视频与通信标准设计的商用IP模块。图3就是Amphion公司推出的MPEG4解码器IP模块框图,可用于ASIC或FPGA中。
图3 |
SOPC Builder的应用
下一步是将FPGA中的硬件加速器与用于控制、数据输入和输出的外部总线整合起来。设计工程师可以利用新型开发工具轻松地实现这一步。设计工程师可以使用Altera公司提供的系统集成工具SOPC Builder从可用的IP列表中选择合适的IP模块。在选择时工具会提供一份参数化菜单,用户可以在实现以前控制不同的架构选项。一旦参数设定后,模块就会包含在工程师准备集成的其它外围器件和处理器列表中。当每个IP模块都选好并设定参数后,还需要将其集成进处理架构中。
SOPC Builder使设计工程师可以定义高性能的交换架构(switch architecture),并通过交换架构将各种硬件加速器和周边器件与外部主处理器连接起来。在模块互连的直观矩阵图上通过点击鼠标就可以完成这种开关架构的定义。在定义好之后,SOPC Builder就能自动组合各个IP,然后生成硬件描述语言的描述,并自动综合成最终的FPGA程序。在运行期间将最终程序下载到FPGA,从而实现特定算法的协处理器。
硬件整合完成后,需要用软件物理器件将高层软件控制与用于控制硬件加速器的具体寄存器和存储器映射架构分隔开。用于控制硬件加速器的寄存器和存储器是参数化IP模块的标准组件。然而,多个外围器件与加速器的整合需要一份在FPGA上实现所有可编程特性的寄存器和存储器映射。SOPC Builder在将IP组装进用户定义的交换架构时能够自动创建这样的寄存器和存储器映射。
每个IP模块都包含一套预先定义好的软件物理器件驱动器,这些驱动器主要用于外部主处理器对IP模块的控制。SOPC Builder能够自动组装各个软件物理器件驱动器,并自动将每个驱动器与被它控制的IP模块相关的寄存器和存储器映射关联起来。因此SOPC Builder能够通过这种方式自动创建并整合FPGA协处理器和控制处理器的硬件与软件架构。SOPC Builder可以满足FPGA快速发展的性能要求,并适应FPGA不断增强在复杂系统实现中应用的能力。
推动FPGA技术快速发展的因素
可编程逻辑器件自从20年前推出以来得到了迅猛发展,已经从低水平的胶合逻辑发展成目前具有最低成本、最高可编程处理性能的器件。驱动FPGA性能和成本的二大关键要素是:FPGA架构的发展以及FPGA使用半导体技术的方式。FPGA架构提供的可编程逻辑单元阵列是与可编程布线资源组合在一起的。在早期的低密度FPGA中,这种架构能完成简单处理单元的互连。随着FPGA密度的提高,阵列架构可以提供高度并行处理的能力。目前FPGA架构的整个处理阵列内包含有存储器模块、DSP模块和可编程I/O,因此能够轻松满足汽车信息处理系统的性能要求。
FPGA发展的另外一个重要驱动源是工艺技术及其对性能和成本的影响。采用最新一代工艺技术可以提高FPGA的密度和性能,降低FPGA的成本。同时,FPGA的广泛应用反过来也促进工艺技术的发展。FPGA对半导体工艺技术的发展极具价值,因为它们使用的规则结构能够在其生命周期的早期就投入批量生产。FPGA的规则结构非常方便产品缺陷测试中统计数据的收集,这对精确调整工艺技术以达到更高制造良品率是非常重要的。FPGA和工艺技术之间的共生关系不断地提高着FPGA的密度,并降低器件的成本。因此相对专用ASIC和ASSP来说,目前Altera的Cyclone系列低成本FPGA在价格方面极具竞争性。
本文小结
汽车娱乐系统的技术和差异化在不断快速发展。先进的系统架构服务于大部分主流汽车市场,并通过附加ASSP和软件的支持实现高端产品的差异化。FPGA提供了高性能和灵活的协处理平台,并将许多ASSP的功能整合进一个可再编程平台。FPGA协处理器非常适合Delphi架构这样的主流汽车娱乐架构。将FPGA协处理器用作高端汽车娱乐系统架构的一部分后,汽车公司就可以通过软件编程提供ASSP无法单独提供的多种高端视频和通信性能。灵活的高端汽车娱乐架构利用FPGA可以在汽车销售甚至整个汽车生命期内不断实现新的功能。在销售和售后阶段增强汽车娱乐系统功能的能力可以提升汽车售中和售后的价值,而以前被租汽车的转售价值仍是汽车制造商赢利的主要来源。