改搭可编程FPGA SoC ADAS系统性故障锐减
时间:04-23
来源:互联网
点击:
作者:Frank Noha,Altera工业和汽车业务部
基于雷达(RADAR)和摄影机设计的应用正大举进驻汽车驾驶安全领域。最初,自适应巡航控制和道路偏离警报等先进驾驶辅助系统(ADAS)只是一些非常便利的功能,而现在,它们在车辆控制上扮演更积极主动的角色,支持实现车道维持辅助(LKA)等功能。以前的高性能中央处理器(CPU)被认为是最适合这些应用的组件,但车厂须要综合考虑运算性能和低功率消耗,这促使工程师转向采用现场可编程门阵列(FPGA)组件。
ADAS须要满足特殊的功能安全要求。在2011年,ISO发布针对载重3.5吨以下客车的ISO26262标准,以降低系统出现故障后造成危险的风险。这个标准要求采用严密的设计过程,在应用执行过程中探测随机硬件故障,以减少系统性故障。
提升ADAS功能安全 FPGA SoC受青睐
应用开发人员定义了专门的安全目标,针对每个目标分配相应的汽车安全完整性等级(ASIL)。对于应用中最高级别的ASIL-D,通常定义了每一个组件从开发直至运作到寿命终了时应满足的要求。图1显示了从客户需求角度来看,ADAS应符合的ASIL目前的范围。
图1 ADAS所需ASIL规范等级
ASIL-B是市场上的最低级别,而某些应用则要求采用ASIL-D,以支持某些功能。越来越多的ADAS应用对ASIL有更严格的要求。在某些具体实现中,组件的通用ASIL或者项目(系统)等级都会带来不必要的复杂度,影响开发成本和进度。分析系统概念,得出安全概念和要求后,还可以把应用分成几种不同的步骤,具有不同的ASIL,如此一来,系统设计则可更容易实现,而且实现的效率更高。
例如,前方摄影机应用使用ADAS中常见的一个影像传感器,如图2显示的高阶结构图。一个影像传感器连接至图像处理器,该处理器可以是Altera Cyclone FPGA系统单芯片(SoC)或其他方案。讯号处理链路和数据流被分成四个部分。首先,透过把影像变换成更实用的表现方式,在像素层级上进行底层处理。然后,对影像或者区块图像进行中间层级处理,使用相应的算法,提取出边缘等特征。下一步,则会进行高阶处理,提取出每一个图帧的数据,探测目标并进行分类。然后,系统会追踪目标,如果需要采取措施,则与煞车或者转向引擎控制单元(ECU)进行通讯。
图2 高阶单一前方摄影机ADAS
除了能够在FPGA上非常高效率的实现底层和中间层级处理,用户也可以在Cyclone V系列FPGA SoC硬式核心处理器系统(HPS)的Cortex-A9等处理核心实现某些中间层级处理。高阶处理主要是句柄,可以映像到HPS中的一个或者两个Cortex-A9上。处理链路的最后一步是目标追踪和判断,可以在外部微控制器(MCU)上完成这一个步骤。
在整个处理过程中,工程师可将输入数据进行简化,以得到更有意义的数据,数据减少意味提高安全临界值。因此,底层实现可以分成质量管理(QM)或底层ASIL(例如ASIL-A)。会这样做的原因是因为单一个像素期间出现的故障对后续算法的性能影响很小,因此可以忽略。在这个例子中,假设中间层级处理符合ASIL-A或ASIL-B,识别目标并进行分类的高阶处理功能应符合ASIL-B。对目标进行分类后,会产生目标表,并提供给微控制器,进行目标追踪和判断。这是讯号链路最关键的部分,我们认为它应该符合ASIL-D,这对汽车的行为有直接影响。
实现分级安全处理 FPGA兼顾设计可靠度/效率
在这类应用中,最好对数据流进行更全面的分析,每一个层级的安全临界定义对整个系统的性能会产生直接影响。对前面运算层级有太高的安全要求会导致难以满足系统性能目标,而且对系统整体安全的影响很小。不过,处理链路底层也会出现故障,对系统安全功能产生较大的影响,例如,底层处理功能的永久故障会导致高层上的数据永久损害,透过合理性检查很容易探测到这类故障,对系统性能的影响相对较小。
图3显示单一前方摄像机系统实例的高阶结构图。由一个外部电源管理电路为Cyclone V SoC提供电源,当供电电压不在额定运作范围内时,单独的电压监控功能会产生重置,外部非挥发性内存连接至四路串行周边接口(Quad SPI)模块,系统启动过程中加载应用程序,配置FPGA时会使用这些模块。我们使用双倍数据率(DDR)内存来执行应用程序代码、储存数据和影像图帧,透过SPI连接外部微控制器,进行目标探测和最终判断,并利用控制器局域网络(CAN)接口与汽车底盘的其他部分进行通讯。
图3 单一前方摄影机系统实例
此应用所使用的图像处理器模块如图4所示。视讯端口接收来自影像传感器的数据,将其传送至图像处理模块,这一个模块相当于底层图像处理层级,在这个例子中,数据透过图像处理模块后,通过FPGA至HPS(F2H)桥接被写入到DDR内存中,也可以传送至下一层级,实现的效率更高。第二级是中间层级处理,由各种图像处理模块来完成,透过HPS至FPGA(H2F)桥接读出以前储存在DDR内存中的数据,再次将其写入到DDR内存中。在这个例子中,由HPS完成高阶处理层级。
图4 Cyclone V SoC电路架构图
基于雷达(RADAR)和摄影机设计的应用正大举进驻汽车驾驶安全领域。最初,自适应巡航控制和道路偏离警报等先进驾驶辅助系统(ADAS)只是一些非常便利的功能,而现在,它们在车辆控制上扮演更积极主动的角色,支持实现车道维持辅助(LKA)等功能。以前的高性能中央处理器(CPU)被认为是最适合这些应用的组件,但车厂须要综合考虑运算性能和低功率消耗,这促使工程师转向采用现场可编程门阵列(FPGA)组件。
ADAS须要满足特殊的功能安全要求。在2011年,ISO发布针对载重3.5吨以下客车的ISO26262标准,以降低系统出现故障后造成危险的风险。这个标准要求采用严密的设计过程,在应用执行过程中探测随机硬件故障,以减少系统性故障。
提升ADAS功能安全 FPGA SoC受青睐
应用开发人员定义了专门的安全目标,针对每个目标分配相应的汽车安全完整性等级(ASIL)。对于应用中最高级别的ASIL-D,通常定义了每一个组件从开发直至运作到寿命终了时应满足的要求。图1显示了从客户需求角度来看,ADAS应符合的ASIL目前的范围。
图1 ADAS所需ASIL规范等级
ASIL-B是市场上的最低级别,而某些应用则要求采用ASIL-D,以支持某些功能。越来越多的ADAS应用对ASIL有更严格的要求。在某些具体实现中,组件的通用ASIL或者项目(系统)等级都会带来不必要的复杂度,影响开发成本和进度。分析系统概念,得出安全概念和要求后,还可以把应用分成几种不同的步骤,具有不同的ASIL,如此一来,系统设计则可更容易实现,而且实现的效率更高。
例如,前方摄影机应用使用ADAS中常见的一个影像传感器,如图2显示的高阶结构图。一个影像传感器连接至图像处理器,该处理器可以是Altera Cyclone FPGA系统单芯片(SoC)或其他方案。讯号处理链路和数据流被分成四个部分。首先,透过把影像变换成更实用的表现方式,在像素层级上进行底层处理。然后,对影像或者区块图像进行中间层级处理,使用相应的算法,提取出边缘等特征。下一步,则会进行高阶处理,提取出每一个图帧的数据,探测目标并进行分类。然后,系统会追踪目标,如果需要采取措施,则与煞车或者转向引擎控制单元(ECU)进行通讯。
图2 高阶单一前方摄影机ADAS
除了能够在FPGA上非常高效率的实现底层和中间层级处理,用户也可以在Cyclone V系列FPGA SoC硬式核心处理器系统(HPS)的Cortex-A9等处理核心实现某些中间层级处理。高阶处理主要是句柄,可以映像到HPS中的一个或者两个Cortex-A9上。处理链路的最后一步是目标追踪和判断,可以在外部微控制器(MCU)上完成这一个步骤。
在整个处理过程中,工程师可将输入数据进行简化,以得到更有意义的数据,数据减少意味提高安全临界值。因此,底层实现可以分成质量管理(QM)或底层ASIL(例如ASIL-A)。会这样做的原因是因为单一个像素期间出现的故障对后续算法的性能影响很小,因此可以忽略。在这个例子中,假设中间层级处理符合ASIL-A或ASIL-B,识别目标并进行分类的高阶处理功能应符合ASIL-B。对目标进行分类后,会产生目标表,并提供给微控制器,进行目标追踪和判断。这是讯号链路最关键的部分,我们认为它应该符合ASIL-D,这对汽车的行为有直接影响。
实现分级安全处理 FPGA兼顾设计可靠度/效率
在这类应用中,最好对数据流进行更全面的分析,每一个层级的安全临界定义对整个系统的性能会产生直接影响。对前面运算层级有太高的安全要求会导致难以满足系统性能目标,而且对系统整体安全的影响很小。不过,处理链路底层也会出现故障,对系统安全功能产生较大的影响,例如,底层处理功能的永久故障会导致高层上的数据永久损害,透过合理性检查很容易探测到这类故障,对系统性能的影响相对较小。
图3显示单一前方摄像机系统实例的高阶结构图。由一个外部电源管理电路为Cyclone V SoC提供电源,当供电电压不在额定运作范围内时,单独的电压监控功能会产生重置,外部非挥发性内存连接至四路串行周边接口(Quad SPI)模块,系统启动过程中加载应用程序,配置FPGA时会使用这些模块。我们使用双倍数据率(DDR)内存来执行应用程序代码、储存数据和影像图帧,透过SPI连接外部微控制器,进行目标探测和最终判断,并利用控制器局域网络(CAN)接口与汽车底盘的其他部分进行通讯。
图3 单一前方摄影机系统实例
此应用所使用的图像处理器模块如图4所示。视讯端口接收来自影像传感器的数据,将其传送至图像处理模块,这一个模块相当于底层图像处理层级,在这个例子中,数据透过图像处理模块后,通过FPGA至HPS(F2H)桥接被写入到DDR内存中,也可以传送至下一层级,实现的效率更高。第二级是中间层级处理,由各种图像处理模块来完成,透过HPS至FPGA(H2F)桥接读出以前储存在DDR内存中的数据,再次将其写入到DDR内存中。在这个例子中,由HPS完成高阶处理层级。
图4 Cyclone V SoC电路架构图
Altera FPGA SoC 传感器 Cortex MCU 电源管理 电路 电压 看门狗 相关文章:
- 基于SoPC的汽车安全监控系统设计(07-09)
- FPGA实现的FIR算法在汽车动态称重仪中的应用(07-15)
- 基于ADPCM算法的汽车智能语音报警系统的设计(08-03)
- 如何进行汽车电子系统中的处理器选择(09-21)
- FPGA到ASIC的整合为车用微控制器带来灵活性(09-25)
- 基于SoPC汽车安全监控系统设计(09-14)