FPGA(Field Programmable Gate Array)作为一种可编程的逻辑芯片,近年来在自动驾驶领域中的应用逐渐增多。FPGA的运算速度快,功耗低,可靠性高,十分适合在自动驾驶中处理大数据、完成实时计算、实现各种复杂的控制逻辑。本篇文章将从工程师的角度,结合实际案例,讨论FPGA在自动驾驶中的应用技术。
一、FPGA在自动驾驶中的基本应用
FPGA在自动驾驶中的应用相对来说还是比较基础的,主要分为以下几个方面:
1、图像处理
自动驾驶中需要通过摄像头获取、识别道路相关信息和行驶环境,这就需要大量的图像处理。FPGA在处理图像上的运算速度快,可并行性强,且功耗低,相较于其他芯片,FPGA更为适合于图像处理的应用。绝大多数的图像处理算法(如车道线/交通标志识别)都可以通过在FPGA上实现高效的图像算法来实现。
2、传感器数据预处理
自动驾驶汽车中通常会使用多种传感器,如激光雷达、摄像头、GPS等。在各种传感器的数据处理中,FPGA能够协助完成数据传输,处理和预处理,以使实时计算和反馈成为可能。
3、控制系统
自动驾驶汽车的控制系统是复杂的,它需要实现对车速、转向和刹车等多种信息的实时控。FPGA可以提供高速的控制逻辑,并通过实现控制算法来增加安全性。
二、案例分析
下面,我们通过以国内某个自动豪华车型的FPGA应用实例,具体讨论FPGA在自动驾驶中的应用技术。
国内某自动豪华车型的FPGA应用
该自动车型总共集成了3块FPGA,覆盖了传感器数据处理,视觉算法加速,车控算法优化等3个主要领域。
1、传感器数据处理
该车型配备了4个激光雷达、10个红外线传感器、5个环景摄像头和前后相机,其中激光雷达的数据需要快速收集和处理,以在分钟内判断行车环境。
FPGA通过同时支持FMC和PCI,实现了FPGA和ARM的高速数据交互。激光雷达的信号通过FPGA解算,可以直接反馈到车辆控制系统进行控制。
2、视觉算法加速
在自动车中,视觉算法是处理的重点,机器视觉算法需要在最短时间内完成对行车路况、交通标志和行人等判断,并给出相应的反应和措施。这就需要数百万像素的摄像头快速收集数据,然后通过FPGA进行高速处理和转化。FPGA利用自身并行处理和高速存储器的特点,能够极大地加快算法的执行速度,提高运算效率。在这个车型中,FPGA通过高速AD采集片和HDMI转化芯片与摄像头通信,并通过ASIC标准视频处理中的众多缓存、运算模块等等来进行图像分类和处理(例如HOG特征提取、直方图均衡、卷积神经网络等),从而实现对行车路况的识别。
3、车控算法优化
车辆控制系统需要时刻感知各种环境和车况信息,并根据各种业务需求进行速度、角度、力矩等方案计算,这些计算需要极短的响应时间来保证行车安全。
在这样的情况下,FPGA可以充分发挥其处理速度和可编程性,实现精度、实时性和可靠性的控制算法,大大提高了车辆控制系统的性能。
FPGA在自动驾驶中的应用领域不仅局限于此,还包括了自动泊车、自动刹车、防碰撞、自动驾驶拐弯等许多领域,FPGA的应用将会更加广泛。
经过本篇文章的介绍,我们可以看到,FPGA在自动驾驶中正在扮演一个至关重要的角色,它的高可编程性、高性能、低功耗、低延迟等特点,为自动驾驶的实现提供了强有力的支持。
相对于其他处理器,FPGA的优势我们可以用以下几个方面概括:
1、高性能,强并行性;
2、低功耗,高效处理,复杂算法得以快速实现;
3、内部配置灵活,可快速实现定制化的高性能算法
4、强韧性,长时间运行稳定。
所以说,未来FPGA将会是自动驾驶领域的重要一环,并将推动自动驾驶技术的快速发展。
FPGA可以实现复杂的信号处理和控制算法。例如,用于ADAS(高级驾驶辅助系统)的图像处理,雷达信号处理,汽车定位和导航等。这些算法通常需要高性能的计算资源和自定义的运算单元,FPGA可以很好地满足这些要求。
FPGA可以实现硬件加速和重构。许多汽车电子系统的关键任务,如电机控制,电池管理系统,都需要高性能的实时控制,FPGA可以通过硬件实现来提高系统性能,降低延迟。
FPGA具有可重构性,可以在不改变芯片的情况下更新功能和修复错误。这在需要长期维护和升级的汽车电子系统中尤为重要。
使用FPGA可以降低系统成本和功耗。由于FPGA可以在硬件级别实现定制化设计,相比通用处理器,它能够提供更高的性能功耗比,从而实现系统的成本和功耗优化。
FPGA可以实现功能安全和冗余机制来提高系统的可靠性与安全性。这也是新一代智能汽车对电子系统的重要要求。
全球汽车业正在步入以智能化、网联化、电动化、共享化为代表的“新四化”时代。IHS Markit的数据显示,到2023年,汽车电子系统总额将高达1800亿美元,平均每辆汽车会使用500美元以上的半导体器件,增幅最大的应用分别来自高级驾驶辅助系统、动力系统和车载娱乐信息系统。
新变化带来新要求
目前汽车行业的技术和架构都正在经历一个快速演变的过程,这一现象背后很重要的推手之一,就在于整车厂越来越意识到来自不同tier 1厂商的ECU之间彼此缺乏关联,他们不得不投入大量时间和资金加以整合,使得整合ECU成为一件“极为辛苦的工作”。但网联汽车和自动驾驶的快速发展正在改变这一现状——在今后的设计中,传统的分布式方案将被集成式方案取代,包括ECU、传感器在内的硬件会得到高度整合;汽车OEM会更关注客户在接口软件层面上的创新,以及为终端客户提供差异化产品的能力。
在智能座舱领域,以特斯拉为代表的造车新势力正通过将仪表板、信息娱乐系统和屏幕显示进行高度集成,使得一块屏幕上需要展示的内容日趋丰富,加之不同品牌车型间的显示器尺寸并不统一,从而对图像的分区切割显示和多元化融合提出了较高要求。但这对低功耗FPGA产品而言并非难事,很多车厂目前都在利用其可编程、并行处理能力强、功耗低、散热少的特点,加速引入相关FPGA平台。
同时,随着车载显示大屏化、多屏化、高清化和多形态化趋势日趋明显。很多新车搭载的屏幕数量均突破了2块,部分车型甚至达到了4-5块。随着车内显示屏数量和尺寸的增加,人们对显示质量提出了新的要求,希望能够获得更高的色域,更高的对比度等等。特别是为了缓解里程焦虑,如何提升大尺寸屏幕效率,使之更省电,会是未来几年行业面临的共同课题。
车载视觉系统和人工智能技术现在也被大量应用于驾驶员状态监测系统(DMS)、车舱内监控系统(IMS)中,包括:监测驾驶员的疲劳、注意力涣散或损伤;监控乘客,确保儿童/宠物不会被无意中锁在车内,或是包、手机和钱包等物品不会无意中遗忘在车内。
因此,ISP图像增强会是极具前景的应用之一。例如,对目前在汽车中大量使用的LCD屏幕,FPGA可以作定制的背光优化,以提升视觉效果和节约能耗。同时,为了支持车载4K显示,FPGA对高速数据处理、接口也进行了广泛的支持,包括1.5G-2.5Gbps MIPI、HDMI、DisplayPort等。
而在高级驾驶辅助系统应用中,最新数据显示,一辆L3级别的自动驾驶车辆将至少配置16个以上的各型传感器,由于主处理器需要连接不同的传感器接口进行数据处理,而且汽车接口也尚未实现真正标准化,所以利用FPGA的可编程特性对不同传感器进行聚合/桥接,或是实现I/O接口扩展,也是新趋势之一。同时,考虑到汽车平台的开发可能需要5-10年的时间,方案是否具备可拓展性也左右着用户的选型决心。
另一个值得关注的领域来自电动汽车,尤其是伴随着碳化硅等宽禁带半导体的广泛使用,传统DSP甚至多核DSP控制的精度越来越难以满足汽车行业对驱动控制的时效和正确度要求的提升,而FPGA作为替代方案正在被大量使用。
安全性同样需要引起高度关注。越来越多传感器、自动控制和网络连接的出现,在给汽车带来智能化、便捷化、舒适化体验的同时,也让系统更加容易遭受恶意攻击。OEM厂商必须要能够即时检测到漏洞并防止网络攻击,还需要电子系统能够在严酷的环境中稳定安全运行。对半导体器件来说,增加硬件安全引擎,使之能够在遭到未经授权的访问时对固件进行保护、检测和恢复,就显得更为关键。