FPGA——智能汽车的大脑

发布时间:2010-07-13
分享到

辅助驾驶系统的开发和应用需要高性能图像处理,同时又希望不牺牲目标检测和汽车网络技术研发早期阶段所需要的灵活性。采用FPGA作为此类系统的核心,可提供DSP性能和网络连接标准支持能力,同时为系统设计师提供了一个完全灵活的设计平台。

根据Visteon公司进行的一项研究结果,对于汽车来说,安全性是客户最关心的问题, 也是其所关注问题的核心。

设备设计人员越来越多地转向可编程技术来使汽车驾驶更为安全。今天的“辅助驾驶系统”已经从物理领域演进到电子领域,远远不只是熟悉的轮胎和刹车技术,侧撞保护和安全气囊。最新的汽车能够不断监测和评估周围的环境、显示相关信息,并且在某些情况下,甚至接管车辆的控制。

更安全、更高效、更舒适

辅助驾驶系统可提供基本的安全功能,如增加红外相机来提高可视性,但更为先进的设备还可以在有潜在危险的时候提醒驾驶者。利用范围更为广泛的传感器,这些电子系统使车辆可以感知周围的交通状况、道路方向以及潜在的碰撞危险。最终的目标是使车辆能够做出自动响应,包括为驾驶者提供信息或者辅助车辆驾驶,这样可以使车辆的乘员更为安全。 例如,一些最新的卡车配备了视频相机,可以拍摄前面的道路图像。如果车辆在没有使用指示灯的情况下改变行驶路径,比如可能是司机太疲劳了,那么系统就会通过车内的扬声器给出声音告警。

 

辅助驾驶功能将常规动作自动化,从而可使司机的驾驶更舒适。例如,传统的巡航控制现在已经演化为自动巡航控制(ACC),可以自动控制汽车油门。ACC可以通过控制油门和刹车来保持与前面的车辆同样的速度,同时与其保持安全距离。如果前面的车辆加速开走或改变行驶路线,ACC会自动返回传统巡航控制的预设速度。

其他新发展也使得车辆行驶效率更高。例如,利用所谓的“电子牵引装置”,车队的领头卡车可以由司机手动驾驶,但后随的卡车则自动驾驶。除了可以减轻司机的许多负担以外,卡车间的距离也可大大缩短,因为电子驾驶系统的响应速度比人更为迅速。这样不仅可节约宝贵的道路面积空间,而且由于前面车辆的后向气流的影响,还可以节约燃料。

FPGA在辅助驾驶系统中的应用

辅助驾驶系统可划分为超高速输入处理和相对低速的传感器输入和输出控制信息,每个部分都在相应处理器(例如,一个Xilinx MicroBlazeTM 32位嵌入式软内核处理器或者Virtex-IIProTM FPGA中嵌入的IBM PowerPCTM)的控制之下。

高速部分专用于对安装在车辆前面的视频摄像信息进行实时处理。由于应用(防碰撞、紧急处理和告警)本身的特点,实时处理绝对是非常关键的。通常需要两个或更多相机来获得立体图像,这样就可以在FPGA中计算出图像的深度(直接与前面物体的实际距离相关)。结合雷达和激光测量,以及来自陀螺仪和车轮传感器的运动检测信息,可以相当准确地计算出车辆周围的情况和行驶路线。 实时捕捉并处理这些信息需要使用计算密集的数字信号处理(DSP)算法。软件处理无法满足此类应用的高性能要求,而且经常需要采用多个传统DSP处理才能完成如此高速的任务。通常,甚至ASSP(专用标准产品)视频处理器也无法与Xilinx FPGA的极高速DSP性能(也称为XtremeDSP TM处理功能)相比。

此外,利用完全灵活的FPGA来代替成品视频组件,设备制造商可以很容易地开发出区别于竞争厂商系统性能的独特的优化的边缘检测、图像深度和增强算法。

在视频处理完以后,决策树机制可以划分为针对紧急算法(如紧急的防碰撞过程)的硬件部分,以及用于行驶路径偏差等的声音告警的处理器软件部分。将速度关键的处理过程划分到FPGA硬件中还可以对实时速度进行测试,而这对于软件来说是不可能的。

XtremeDSP实时图像处理

那么,为什么Xilinx FPGA能够提供比传统DSP更快的视频处理性能呢?最根本的原因是由于FPGA结构能够实现数据的并行处理。与此相对比的是,DSP处理器按顺序执行指令和数据,并且以串行方式处理它们。

此外,来自Xilinx公司的最新Virtex-Pro系列器件还集成有嵌入式高性能乘法器模块阵列,可以进一步提高图像处理能力。因此FPGA可配置为能够并行执行多个操作(在单个时钟周期内)的大型乘法累加(MAC)单元阵列,而不是象传统的DSP那样需要多个时钟周期才能在一个或少量MAC单元中执行完毕。

Xilinx FPGA的另一个优点是可以准确地调整MAC阵列的大小来满足计算要求,这对于完成图像计算非常理想。这样就可对图像中的多个像素簇(如离散余弦变换(DCT)的宏块)进行并行计算,而不必顺序扫描整个图像。利用FPGA时,因为可以实时进行处理,因此缓冲像素值所需要的存储器数量可更少。

除了实时性能以外,Xilinx FPGA的可重编程能力还提供了优异的系统灵活性,支持算法升级(即使在部署以后)。这一功能非常重要,因为目前的辅助驾驶系统仍然处于早期研发阶段。随着边沿和目标检测算法的不断改进,硬件升级可在数分钟之内完成,而且不需要重新设计电路板。

桥接汽车网络

现在,多种网络技术的出现实现了汽车中各种各样的功能和特性。这些技术包括从驾驶舱内的面向多媒体的系统传输系统(MOST)直到汽车控制网络(如FlexRayTM汽车控制系统)。随着汽车里演化为真正的小型网络,设备制造商必须确定在众多的网络协议中哪种标准将是最成功的,哪些标准能够为自己带来最大的好处。

而且,与采用ASSP相比,采用FPGA最大的好处是允许工程师设计出精确满足系统要求的接口和外设。在开发的早期阶段试图连接到不同的汽车网络时,这一点特别有用。当试图快速将产品推向市场时,芯片组或ASIC(专用集成电路)重新设计既成本昂贵又耗费时间。

使用FPGA进行设计时,在标准实现的早期,如果网络协议规格有所变化,为了支持最新的版本,只需要简单地修改软件,然后再重新下载FPGA硬件配置就可以了。甚至还可以利用Xilinx IRLTM(因特网可重配置逻辑)通过广域网来完成这一点,这意味着不需要成本高昂的派工费用或额外的人力就可以通过远程维护完成硬件修改。

针对汽车应用的IQ解决方案

为满足汽车电子设备设计人员的需要,Xilinx公司推出了一系列支持扩展工业温度范围的新器件。称为“IQ”范围的这些新器件(见表1)包括符合扩展温度级(Q)要求的现有工业级(I)FPGA和CPLD。

符合新的IQ温度范围要求的第一批器件是密度范围从5K门至30K门的Spartan-XLTM 3.3V FPGA,以及36和72宏单元的XC9500XLTM 3.3V CPLD。随后IQ温度范围器件的扩展包括密度高达30万门的FPGA器件,以及密度高达512个宏单元的CPLD器件(见表2)。

结论

辅助驾驶系统的开发和应用需要高性能图像处理,同时又希望不牺牲目标检测和汽车网络技术研发早期阶段所需要的灵活性。采用FPGA作为此类系统的核心,可提供DSP性能和网络连接标准支持能力,同时为系统设计师提供了一个完全灵活的设计平台。可实时工作的此类系统能够为驾驶者提供紧急驾驶告警或辅助车辆控制功能,同时又能大大提高车辆驾驶性能和乘员的安全性。 

收藏
赞一下
0