1 引言
20世纪末,全球范围内兴起的信息革命浪潮,为汽车工业的突破性发展提供了千载难逢的机遇,信息技术的广泛应用是解决汽车带来的诸如交通拥挤、交通安全、环境污染、能源枯竭等问题的最佳途径。同时,随着汽车电子技术的发展,电子组件所占整车成本的比例也逐步上升。据统计资料表明,目前,在欧美国家生产的汽车上,电子组件已占到汽车总成本的20%~30%,并且,车用电子组件还以每年8.8%的速度快速增长,特别是数字信号处理器芯片(DSP)的用量更是将以每年25%的速度增长。估计到2005年,汽车电子组件的市场规模,将达到170亿美元。由此可见,电子化、集成化、数字化、信息化、网络化、智能化、小型化和个性化已经成为并且还将继续是汽车工业发展的重要趋势。本文仅集中探讨汽车电子中基于DSP和FPGA的数字化应用技术。
DSP和FPGA技术在许多领域均有广泛的应用,在汽车电子领域也有它广泛的应用舞台。由于具有极强的实时性,使其对话音进行实时处理成为可能;由于它是通过面向芯片结构指令的软件编程来实现其功能的,因而仅修改软件而不需改硬件平台就可以改进系统原有设计方案或原有功能,具有极大的灵活性;又由于DSP和FPGA芯片并非专门为某种功能设计的,因而使用范围广、产量大、价格可以降到很低。所以,DSP和FPGA在汽车电子系统中大量应用,将会极大地促进汽车电子技术的发展。
2 DSP和FPGA在汽车电子中的应用比较
DSP作为可编程超大规模集成电路(VLSI)器件,是通过可下载的软件或固件来实现扩展算法和数字信号处理功能的,其最典型的用途是实现FIR滤波器和FFT算法。在硬件上,DSP最基本的构造单元是被称为MAC的乘加器,它通常被集成在数据信道中,这使得指令周期时间可以跟硬件的算术周期时间相同。此外,DSP芯片还有若干个独立的片内存储器、ROM、RAM、并行功能单元、锁相环(PLL)、振荡器、几条8位或16位的总线、时钟中断电路等。为满足无线便携式器件无电保存数据的要求,DSP芯片还采用了诸如闪速存储器、铁电存储器等技术。当前,大多数的DSP芯片采用改进的哈佛结构,即数据总线和地址总线相互分离,使得处理指令和数据可以同时进行,提高了处理效率。另外还采用了流水线技术,将取指、取操作数、执指等步骤的指令时间可以重迭起来,大大提运算速度。
FPGA 指的是现场可编程门阵列,它的基本功能模块是由n输入的查找表,存储数据的触发器和复路器等组成。这样,只要正确地设置了其中的数据,查找表就能够通过对中的数据的读取而实现输入的任意布尔函数。触发发器则用来存储数据,如有限状态机的状态信息。复路器可以选择不同的输入信号的组合,将查找表和触发器用可编程的布线资源连接起来,就可以实现不同的组合逻辑和时序逻辑。由于FPGA内部结构的特点,它可以很容易的实现分布式的算法结构,这一点对实现汽车电子中的高速数字信号处理十分有利。由于FPGA器件实现的各功能块可以同时工作,从而实现指令级、比特级、流水线级甚至是任务级的并行执行,从而大大地加快了计算速度。由FPGA实现的计算系统可以达到现有通用处理器的数百甚至上千倍。并且,由于FPGA可动态地配置,系统的硅片面积不再是所支持无线接口数的线形函数,因此有可能在很少的几片甚至一片FPGA中集成一个支持所有标准的系统。不过,由于现有的FPGA的开发系统几乎都是为ASIC的原型验证而设计的,导致这些开发系统在节省工程开发时间上效率非常高, 而在FPGA资源的利用效率方面却比较差。HDL语言可大大提高设计能力,但在最大限度地发挥器件性能方面HDL的设计方法还有一定的局限性,还不能提供FPGA布局布线的优化和约束。
3 汽车电子中的DSP和FPGA应用
提到汽车电子的数字化,不能不想到目前无线通信很看好的软件无线电技术,尽管它是针对无线通信的,但软件无线电所要实现的思想,与汽车电子之所以要数字化处理所追求的目标却是殊路同归的。因此,有必要提及和采用这一技术的实现思路和思想。软件无线电概念的首次明确提出是在1992年5月,由MITRE公司的Joe Mitola提出,它是当今计算技术、超大规模集成电路和数字信号处理技术在无线通信中应用的产物;它所追求的基本思想和目标是:构造一个具有开放性、标准化、模块化的通用硬件平台,将多种功能,如工作频段、调制解调类型、数据格式、加密模式、通信协议等用软件来完成,以实现具有高度灵活性,开放性的通信产品。因此,对于汽车电子数字化产品的研究,完全可以吸取软件无线电的以下主要思想:第一,要使汽车电子产品摆脱硬件结构的束缚;第二,并不是不要硬件;第三,汽车电子产品应该具有开放性和兼容性,开放是指对使用的开放、对生产的开放和对研制的开放。下面,就基于软件无线电的思想探讨DSP和FPGA在汽车电子中的主要应用。
3.1基于DSP和FPGA的车用语音信号处理
汽车电子产品中的语音处理主要涉及到语音的数字化处理、语音编解码、语音压缩和语音识别。国外比较热门的汽车电子产品之一就是语音识别系统,语音识别系统具有潜在的应用前景,包括声控电话、语音操作导航、声控选择广播频道、防盗语音鉴别等。例如,一种基于隐式马可夫模型(HMM)的与讲话人无关、100条指令识别的应用,由文献可知,那幺声学HMM模型的大小将为。进行包括输入语音采样的细分/开窗、MFCC提取、概率计算和Viterbi搜寻等适时处理,对DSP的运算量要求一般为10000万次乘加(MAC)运算。对于连续语音信号的识别,则要求更好的数字信号处理速度和更大的存储空间。
由于语音识别系统要对声音进行实时处理和采样,需要大量的运算,如果以它们20%的计算资源分配用于1000万次MAC语音识别应用,那么需要处理器能够具有5000万次MAC的能力。因此,必须采用DSP和FPGA才能完成其任务。DSP和FPGA的处理速度对语音信号处理应用系统的复杂性和性能起着决定性作用,高速DSP和FPGA的实现可实现声道自适应和声域自适应等现代语音处理和识别技术。从理论上讲,DSP和FPGA处理速度越快,汽车语音处理和识别产品的应用性能就越好。
随着应用日益多样化, DSP和FPGA演变成不再是一块独立的芯片,而变成了构件内核。这使得设计师能选择合适的内核和专用逻辑“胶结”在一起形成专用DSP和FPGA方案,以满足信号处理的需要。目前,还出现把DSP核和ASIC微控制器集成在一起的芯片。汽车电子系统使用通用DSP和FPGA来实现语音合成,纠错编码。而语音合成、语音压缩与编码是DSP最早和最广泛的应用,矢量编码器用于将语音信号压缩到有限带宽的信道中。
3.2 基于DSP和FPGA的车用图像信号处理
数字图像处理与分析技术已是一门较为成熟的二维信号处理技术, 现已被广泛应用于通信、生物医学、工业检测和军事等各个方面,当然在汽车电子中也将涉及到大量的图像处理处理。汽车电子中的图像处理主要包括运动图像处理和静止图像处理。目前,很多行业的汽车都已经开通了全球定位系统(GPS)。车载GPS系统除了传送自己的位置坐标信息,还需传送自己所处环境的图像信息,例如救护伤员的现场图景、紧急救灾现场图像等。同时,各个交通路口的流量监控图像要传回交通指挥中心,也需要进行图像信号的处理。对于这种汽车运动图像,主要特点是:第一,多速率压缩。由于无线信道的时变特性,系统的有效带宽、传输方式和数据速率往往会不断的变化;相应地,需要采用多速率压缩方式,灵活地适应信道带宽的这种变化。第二,压缩比例大。比如NTSC电视图像的数据量约为167Mb/s,要将其压缩200至6000倍左右,才能适应传输带宽的要求。第三,运动图像的运动补偿。运动图像由于它本身的相对运动,会有多普勒频移问题。对于高速运动的汽车来说,这种频移往往是不能忽视,必须对所获图像进行运动补偿。
近年来,随着微电子技术的迅猛发展和芯片制造工艺的提高,DSP和FPGA不断涌现,过去的一个机箱、甚至一个机柜的信号处理系统,现在完全可以由单片的DSP或FPGA来完成,系统设计也将从过去的PCB板设计过渡到VLSI与UVLSI (甚大规模集成电路)芯片的设计。与此同时,由于DSP和FPGA技术的大量采用,数字图像处理就硬件结构方面也发生了重大变化,它已由基本的串行结构发展成平行处理结构,由单片DSP或FPGA处理器发展成多DSP或FPGA处理器系统, 或带阵列DSP和FPGA的高速处理系统。随着社会和经济的发展, 以及人们对数字图像处理系统实时性的要求也越来越高, 基于DSP和FPGA的数字图像处理系统在汽车电子产品中的应用范围将会越来越广, 例如车载会议电视、车载可视电话、车载机器视觉等。
3.3 基于DSP和FPGA的车用自适应实时处理
FPGA的时钟延迟可以达到纳秒级,结合DSP和FPGA的并行处理方式,因此DSP和FPGA非常适合超高速和实时信号处理领域。如前所述,由于FPGA内部结构的特点,它可以很容易的实现分布式的算法结构,这一点对实现汽车电子中的高速数字信号处理十分有利。因为汽车电子产品中通常都需要大量的滤波运算,而这些滤波函数往往需要大量的乘和累加操作,而通过分布式的算术结构,FPGA可以有效地实现乘和累加操作。另一方面,需要的大量的复杂的数学运算,可以依靠DSP或由DSP核组成的ASIC来完成的。在汽车电子产品中,对产品的大小、重量、功耗特别关注;在数据传输方面,在汽车电子系统中由声音信号数字化所产生的大量数据,要依靠高性能的DSP和FPGA来减少存储空间和传输带宽的要求,需要对视频信号与音频信号的编码、解码、彩色空间转换、回音消除、滤波、误码校正、复用、比特流协议处理等任务进行自适应实时处理,这是往往非DSP和FPGA不能完成的。
控制理论处理是汽车电子中的难点和重点问题,利用经典和现代控制理论而建立的开环、死循环、最优、自适应控制系统来实现汽车的最优化控制。建立这些控制系统首先对汽车某个系统,如点火提前角优化控制系统进行识别,建立该系统的数学模型,然后采用相应的控制方法进行优化控制。但是发动机本身结构比较复杂,影响点火的因素较多,理论推导优化点火状态下的数学模型比较困难。因此,一般采用实验的方法找出各种工况下的最佳点火提前角,然后存入基于DSP和FPGA或DSP和FPGA阵列加大容量外部存储器中;这样可以避免使用计算机。在控制过程中,系统实时地检测发动机的工况(如发动机转速、功率等),用查表的方法,查出该工况下的最佳点火提前角,进行修正后再去控制点火。这比传统的基于计算机的控制方法,一方面,大大地减少了体积;另一方面,更具有实时性、灵活性。悬架电子控制,是指计算机检测到转向和制动状况的信号后,能自适应地处理车辆的侧倾、前后仰,并自动调整减震器阻尼力的控制系统, 它能防止倾斜并提高车轮的地面附着力, 超声波高度传感器用来控制车身高度,空气弹簧用来调整弹性系统,光栅检测器用来测定转向角等等。而DSP和FPGA的出现和发展应用,已使各系统控制走向集中,形成整车的智能控制系统。
“智能交通系统”作为未来汽车和交通行业共同的追求方向,它将包括智能公路和智能汽车系统。它结合先进得公路信息处理技术和雷达防撞技术,将公路和汽车连为一个整体,可以极大地提高汽车流量,大幅度地降低交通事故的发生率。因此,汽车智能化相关的产品已受到汽车制造商们的高度重视。智能交通系统能根据驾驶员提供的目标资料,向驾驶员提供距离最短,而且能绕开车辆密度相对集中处的最佳行驶路线。“安全第一”永远是用户购车的第一选择,目前研究比较热的车用毫米波自适应防撞雷达,就是为解决高速公路上的由于撞车而造成的大量交通事故而研制的。由于在高速公路汽车间的相对速度都很高,而对雷达回波信号频差的提取是必须实时地。因而,对于对雷达回波信号频差的提取和处理,以及自适应防撞控制系统的反馈控制处理,往往是采用DSP或FPGA来实现的。
FPGA是英文Field-Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:
1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 --2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
目前FPGA的品种很多,有XILINX公司的Virtex系列、TI公司的TPC系列、ALTERA公司的Stratix系列等。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。
FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。
最近FPGA的配置方式已经多元化!
DSP数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。
DSP(digital singnal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器器,其主要应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:
(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据;
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;
(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件I/O支持;
(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。
CPLD是Complex PLD的简称,顾名思义,其是一种较PLD为复杂的逻辑元件。CPLD是一种整合性较高的逻辑元件。由于具有高整合性的特点,故其有性能提升,可靠度增加,PCB面积减少及成本下降等优点。CPLD元件,基本上是由许多个逻辑方块(Logic Blocks)所组合而成的。而各个逻辑方块均相似于一个简单的PLD元件(如22V10)。逻辑方块间的相互关系则由可变成的连线架构,将整个逻辑电路合成而成。
常见的CPLD元件有Altera公司的Max5000及Max7000系列。Cypress的Max340及Flash370系列等,一般来说CPLD元件的可逻辑闸数(gate count)约在1000~7000 Gate 之间。