新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 通过FPGA设计安全的高级辅助驾驶系统

通过FPGA设计安全的高级辅助驾驶系统

作者:时间:2016-10-29来源:网络收藏

随着道路上汽车数量的增加,我们需要更多的技术来进一步减少交通事故。过去几年,基于雷达和摄像机的新系统功能的出现使驾驶更加安全。很多高级辅助(ADAS)应用,如自动巡航控制、道路偏离报警、交通信号标志识别等,已经成为车辆上非常方便的功能,但对车辆行为没有影响或影响很小。然而,现在这些技术开始在车辆控制中扮演积极主动的角色,如车道辅助保持(LKA)或自动紧急刹车(AEB)等,以帮助实现减少交通事故的既定目标。这带来的挑战是,当系统出现故障时,必须确保系统不会对车辆和环境造成更大的损害。

本文引用地址:http://www.eepw.com.cn/article/201610/309976.htm

本文以单前端摄像机系统为例,对其进行深入分析,介绍它如何通过使用Altera Cyclone V SoC确定关键数据流.在现有的诊断机制下,如何找到故障;并提供一些诊断实例,通过灵活的可编程,在系统级实现诊断。与使用通用微处理器、数字信号处理(DSP)和其他平台相比,在某些情况下,针对实际应用使用定制诊断方法可以提高应用性能。

ADAS应用中的

上文提到的很多应用都有相对较高的计算需求,需要从雷达或视频图像中提取特征信号,确定目标及其踪迹。这通常要求高性能多核CPU体系结构。这些CPU能够灵活地对特殊事件重新编程,但缺点是效率较低,因为有些功能并非必需或很少使用。

功耗是需重点关注的另一因素。很多系统位于后视镜前面的挡风玻璃下面,直接暴露在阳光下,或位于散热器前保险杠中,因此无法高效地散热。当使用高频运行的多核通用CPU体系结构时,很难满足性能和功耗要求。使用可同时解决这些问题。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需要遵守的客户需求。

通过FPGA设计安全的高级辅助驾驶系统

ASIL-B是市场上的最低级别,而某些应用则要求采用ASIL-D以支持某些功能。越来越多的ASIL有更严格的要求。在某些具体实现中,组件的通用ASIL或者条目(系统)等级都会带来不必要的复杂度,对开发成本和进度有影响。建议应详细地了解应用需求。这一般通过分析系统概念,并从中得出安全概念和要求来实现。还可以把应用分成几种不同的步骤,具有不同的ASIL,更容易实现,效率更高。

ADAS单前端摄像机应用系统概念

本文举例的前端摄像机应用使用了ADAS中常见的一个图像传感器。图2显示了系统的整体框图。

通过FPGA设计安全的高级辅助驾驶系统

一个图像传感器连接至图像处理器,即Altera Cyclone V SoC。信号处理链和数据流被分成4部分:

◆ 通过把图像变换成更实用的表示,在像素级上进行底层处理。

◆ 对行图像或者块图像进行中间级处理,使用相应的算法,例如Sobcl滤波器或者Canny边沿探测算法等,提取出边沿等特征。

◆ 进行高级处理,提取出每一帧的数据,探测目标并分类。

◆ 跟踪识别出的目标,决定在危险环境下是否需要采取措施,例如刹车或者换挡电子控制单元(ECU)等会要求与微控制器进行通信。

在FPGA上能够非常高效地实现底层和中间级处理,但用户也可以在Cyclone V SoC硬核处理器系统(HPS)的Cortex—A9处理器等CPU上实现某些中间级处理。高级处理主要是控制代码,可以映射到HPS中的一个或两个Cortex—A9上。处理链的最后一步是目标跟踪和判决,可以在外部微控制器上完成这一步。

在整个处理过程中,每一步将输入数据进行简化得到更有意义的数据,数据减少意味着提高了安全临界。因此,底层实现可以分成质量管理(QM)或底层ASIL(如ASIL-A)。这样的原因是,一个像素期间引入的故障对后续算法性能的影响很小,可以忽略。在这个例子中,假设中间级处理符合ASIL-A或者ASIL-B,识别目标并进行分类的高级处理应符合ASIL-B。对目标进行分类后,生成目标表,提供给微控制器,进行目标跟踪和判决。这是信号链最关键的部分,我们假设它应该符合ASIL-D,这对汽车的行力有直接影响。

组件应用功能

图3显示了单前端摄像机系统实例的总体结构图。由一个外部电源管理电路为Cyclone V SoC提供电源。当供电电压不在额定工作范围内时,单独的电压监控功能会产生复位。外部非易失存储器连接至四路串行外设(quad SPI)模块,用于系统启动过程中装入应用程序并配置FP GA。执行应用代码,存储数据和图像帧时,我们使用DDR存储器。通过SPI连接外部微控制器,进行目标探测和最终判决,通过CAN总线接口与汽车基础结构的其他部分进行通信。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭