关键字:辅助驾驶系统 车辆控制 图像处理 FPGA
随着道路上汽车数量的增加,我们需要更多的技术来进一步减少交通事故。过去几年,基于雷达和摄像机的新系统功能的出现使驾驶更加安全。很多高级辅助驾驶系统(ADAS)应用,如自动巡航控制、道路偏离报警、交通信号标志识别等,已经成为车辆上非常方便的功能,但对车辆行为没有影响或影响很小。然而,现在这些技术开始在车辆控制中扮演积极主动的角色,如车道辅助保持(LKA)或自动紧急刹车(AEB)等,以帮助实现减少交通事故的既定目标。这带来的挑战是,当系统出现故障时,必须确保系统不会对车辆和环境造成更大的损害。
本文以单前端摄像机系统为例,对其进行深入分析,介绍它如何通过使用Altera Cyclone V SoC确定关键数据流。在现有的诊断机制下,如何找到故障;并提供一些诊断实例,通过灵活的可编程FPGA,在系统级实现诊断。与使用通用微处理器、数字信号处理(DSP)和其他平台相比,在某些情况下,针对实际应用使用定制诊断方法可以提高应用性能。
ADAS应用中的FPGA
上文提到的很多应用都有相对较高的计算需求,需要从雷达或视频图像中提取特征信号,确定目标及其踪迹。这通常要求高性能多核CPU体系结构。这些CPU能够灵活地对特殊事件重新编程,但缺点是效率较低,因为有些功能并非必需或很少使用。
功耗是需重点关注的另一因素。很多系统位于后视镜前面的挡风玻璃下面,直接暴露在阳光下,或位于散热器前保险杠中,因此无法高效地散热。当使用高频运行的多核通用CPU体系结构时,很难满足性能和功耗要求。使用FPGA可同时解决这些问题。FPGA的功耗通常比标准逻辑高,但与通用计算体系结构相比,高效的定制实现某一算法实际上降低了功耗。FPGA的另一优点是,当实现流处理算法后,可以避免在内部和外部存储器之间传送数据。若使用外部DDR存储器进行数据处理,实际功耗会非常大。
就性能而言,流处理也降低了某些应用中遇到外部存储器带宽问题的风险。FPGA内在的可编程特性带来了通用计算体系结构所具有的某些优势。它甚至支持系列产品的在现场更新,实现在系统编程。在某些情况下,基于FPGA开发,要比基于CPU的高性能芯片体系结构容易得多。由于SoC越来越多,因此,FPGA能够很好地结合这两种体系结构,例如Altera Cyclone V SoC系列,它在一个芯片上集成了通用CPU系统和FPGA架构。Cyclone V SoC实现了两个ARM Cortex—A9 CPU,支持通用微控制器和处理器常用的很多外设。
性能安全
与目前市场上的其他解决方案相比,FPGA更加容易满足应用的功能安全需求。ADAS需要满足特殊的功能安全要求。2011年,发布了载重3.5吨以上的ISO26262标准,以降低系统出现故障后造成危险状态的风险。这一标准要求实现严密的设计过程,在应用执行过程中探测随机硬件故障,以减少系统性故障。它涉及到一个系统及多个系统的分析和开发,列出了系统中使用的每一硬件组件的指南(包括这些硬件组件上运行的软件),设定了产品整个安全生命周期中的要求。
应用开发人员定义了专门的安全目标,针对每一目标分配了相应的汽车安全完整性等级(ASIL)。对于应用中最高级别的ASIL,通常定义了每一组件从开发直至工作到寿命终了时应满足的要求。图1显示了ASlL目前的范围,来自ADAS需要遵守的客户需求。
图1 ADAS ASlL市场需求
ASIL-B是市场上的最低级别,而某些应用则要求采用ASIL-D以支持某些功能。越来越多的ASIL有更严格的要求。在某些具体实现中,组件的通用ASIL或者条目(系统)等级都会带来不必要的复杂度,对开发成本和进度有影响。建议应详细地了解应用需求。这一般通过分析系统概念,并从中得出安全概念和要求来实现。还可以把应用分成几种不同的步骤,具有不同的ASIL,更容易实现,效率更高。
|