随着科技的不断进步,汽车行业也在不断演变,而FPGA(可编程逻辑门阵列)的引入给汽车领域带来了革命性的变化。FPGA作为一种灵活且高性能的“处理器”,已经在汽车行业找到了广泛的应用
目前随着新能源汽车的发展,智能化成为一个重要的发展方向,而芯片领域的万金油-FPGA在发动机控制单元、辅助驾驶及通信系统(包括车辆对车辆(V2V)通信和车辆对基础设施(V2I)通信。通过V2V和V2I通信,车辆能够实现实时交通信息的共享,从而提高交通安全性和效率)等领域都发挥着重要作用。下面结合发动机控制单元和辅助驾驶介绍一下FPGA在这两方面的应用。
发动机控制单元(ECU)
发动机控制几乎从未被认为是获得更好燃油经济性的一种方式。但在燃油价格不断上涨的今天,电子技术可以非常有效地提高燃油经济性。使用 FPGA 实现 ECU 是一个很大的优势,因为它可以很容易地重新配置。
发动机控制算法,包括点火时机、燃油喷射量和气门正时等。通过使用FPGA,汽车制造商能够根据不同的发动机类型和驾驶条件来优化控制算法,从而提高燃油效率和性能。
基于上面,提出了一种循环地控制内燃发动机的方法。该方法包括:维护识别引擎的映射函数的训练数据;用给定气缸的自适应数据填充缓冲器,其中自适应数据是测量给定气缸的多个操作循环期间捕获的映射函数的输入和输出;将映射函数的训练数据与自适应数据相结合;使用最小加权二乘法从组合数据集中识别映射函数;使用映射函数和当前循环期间的输入测量来预测给定汽缸在下一个循环中的燃烧特征;使用一个或多个致动器在下一循环中基于给定汽缸的预测燃烧特征来控制发动机。
传统发动机控制单元上面理论只是控制运行该引擎的一小部分内容。下面参数和组件有助于更好地控制发动机。
Injection duration
Injection timing
喷射燃油压力
低压燃油泵
点火时间
DBW 阀门
翻滚阀门(Tumble valves)
短/长流道阀门
通常,传统 ECU 具有以下 I/O 设备来运行整个管理系统。
12 个喷油器输出,可用作辅助输出
8 个点火输出
8 个辅助输出,可驱动高电平或低电平
8 个数字输入,具有可配置的内部上拉/下拉电阻
5 个触发输入,可配置为磁阻器或数字IO
4 VSS 或涡轮速度输入,可配置为磁阻器或数字IO
16 个通用模拟输入,其中 4 个可配置用于温度传感,2 个适用于氧气传感器
在怠速时,可能会以 14.7:1 左右运行,但在轻负载时,可以比这更精简地运行,而不会出现发动机故障。精简程度取决于许多因素,包括传动装置、发动机燃烧效率等,但 16:1 左右的比率通常是可以接受的。在某些汽车中,轻载时的精简比可以达到 20:1。上面说明的是采用这种方法意味着可以根据负载和转速条件将发动机总混合比例从 16.5:1 的稀油比例设置到 12.5:1 的浓油比例。智能化意味着动态去调整这类参数。
机器学习提供了一种有效的方法来捕获复杂的循环燃烧模式,同时避免对底层混合物状态和成分的显式了解(假设选择了适当的抽象映射函数)。虽然机器学习方法有明显的好处,但一个关键问题是机器学习是数据驱动的,需要相对大量的数据才能充分覆盖大维空间。
这里推荐一个ECU的开源项目可用于学习相关理论。
https://github.com/rusefi/rusefi
驾驶辅助系统
FPGA在驾驶辅助系统中发挥着关键作用,如车道保持辅助、自适应巡航控制和自动紧急制动等。利用FPGA处理实时视频和传感器数据,汽车能够识别车道标记和障碍物,以及调整车速和方向以保持安全距离。
目前ASIC在这方面的发展比较迅速,像英伟达、华为海思等公司都有专用的ASIC。早期在这方面探索的时候FPGA还是有一定的优势的,但是目前没有了。所以在这里就不过多介绍了,下面的视频是基于FPGA搭建的智能辅助系统:
完整的系统架构如下:
论文链接:
https://www.hackster.io/javier-cristian/thefifthdriver-machine-learning-driving-assistance-on-fpga-98f295
代码链接:
https://gitlab.com/jracevedob/thefifthdriver
https://github.com/jracevedob/TheFifthDriverAI
总结
FPGA为汽车制造商带来了更高的性能、灵活性和功能。随着技术的不断进步,我们有理由期待FPGA在未来汽车技术中的更多创新应用,部分重配置等特点可以实现整合非并发功能和硬件级容错的新颖机制。
但是,FPGA在这方面更多的是探索,未来属于ASIC~