当前位置: 首页 > article >正文

FPGA在汽车电子中应用-ADAS

之前某鱼上出现大量汽车控制板,如下图所示:

5c202e2f0b4a826de9bfbe4dff2c026c.jpeg

核心主控是ZYNQ UltraScale+系列FPGA。虽然目前新能源汽车主控已经转投英伟达+ARM了,但是FPGA还是有一定应用场景的。

aa0bff2458f2295a4fc753ecbd9c2062.jpeg小米su7上主要芯片

今天我们介绍一下FPGA在汽车上ADAS系统中的应用。

10a1836c201b766277e20e7809425ae7.png

ADAS(Advanced Driving Assistance System,高级驾驶辅助系统)在汽车上非常重要。该系统的主要功能是协助驾驶员避免事故,并确保驾驶员、车辆和道路安全。ADAS 系统现在是部分/有条件自动驾驶和完全自动驾驶的重要组成部分。

本方案基于 Xilinx Zynq UltraScale+ MPSoC-EV FPGA,将在其上使用 Vitis/Petalinux 方法运行机器学习模型(Vitis AI 模型和自定义模型)。使用 4 GMSL 摄像头系统作为视频源并执行预处理、机器学习部署以进行人员/行人检测、后视车牌检测和侧视车辆或物体检测,以确保车辆安全。

c7ec676b86c58094ddd8abfb81d38407.png

上图描绘了 ADAS FPGA 硬件设计的框图。FMC 模块具有 4 个摄像头 GMSL 链路解码 IC(https://www.avnet.com/shop/us/products/avnet-engineering-services/aes-fmc-mc4-ar0231at-g-3074457345635644762/)。四个摄像头数据均通过 MIPI CSI-2 接口到 FPGA。

PL 端将有三条管道设计。

  • 捕获管道:

该管道负责接收摄像头数据、预处理数据并将数据写入内存。管道由一系列模块组成,即 MIPI CSI-2 RX、Subset Converter, Stream Switch, and 预处理模块等。

摄像机数据以 MIPI CSI-2 数据格式进入 FPGA。然后生成 AXI-Stream数据。Stream Switch用于将单个流解复用为四个单独的流。这是因为四摄像头解串器将四摄像头数据复用到单个 MIPI CSI-2 接口。这就是为什么需要在 FPGA 中进行解复用,以便进一步访问和处理单个摄像头数据。接下来,每个数据流分别进入四个预处理模块。

7d1a44c8cd893f3fe3633a671dc2ce86.png

该管道由 Bayer2RGB IP、色彩空间转换器 (CSC)、缩放和缓冲区写入模块组成。Bayer2RGB 转换器将传感器数据的 RAW 格式转换为 RGB 格式。CSC 模块可以将 RGB 格式转换为其他格式,例如 YUV。缩放模块可以将传入的视频分辨率缩放为不同的输出分辨率。缩放后的分辨率将用于 ML 管道和显示管道。

缓冲区写入块用于将数据写入 DDR 内存的四个独立位置,具有特定的颜色格式和分辨率值。ML 管道将访问这些内存位置以检索相机数据并执行 ML 任务。

  • ML管道

该设计使用 DPU IP。

在此管道中使用 1xB4096 DPU IP 配置来运行机器学习模型。

ML管道运行以下 ML 模型:

  • 车牌识别模型

  • 人脸识别

  • 行人检测

  • VIVADO硬件设计

f257be26990f91e7e3125e17eb67f692.png
  • 显示管道

该管道有助于在车辆仪表板的平板显示屏上显示处理后的摄像头数据。视频叠加是该管道的主要模块,它将从内存中读取 ML 处理的数据并将其显示为覆盖层。模块中的 Axis2Video 将生成的视频数据转换为并行视频数据。该模块将流数据和视频时序作为输入并生成并行视频数据。这些数据将被馈送到实时显示端口 (DP) 接口。

  • HMI和GUI

基于 QT 框架开发的轻量级 GUI 将显示在 FPD 中,其中所有四个摄像头数据以及检测信息将使用 GST 管道显示在显示单元中。FPD 创建人机界面 (HMI),用户可以从中获取信息以及输入信息。另一方面,检测信息也可以通过视觉颜色标志和文本信号传递给用户。如果检测到,则可以显示红色警告和文本等等。

b42f7fef6d53bfcf3e1e2cf7e3193a2a.png

参考链接

https://logictronix.com/wp-content/uploads/2022/04/Logictronix_ADAS-Reference-Manual_v1_0_LRFD031.pdf

总结

ed08955ed4bdc337df91cdfdcb6b9554.png

上面就是一个使用FPGA进行ADAS系统设计的简单流程,FPGA的并行、实时处理特性及PS端ARM端运行嵌入式系统等特性,是该系统最大的特点。虽然目前新能源汽车上FPGA的使用率越来越低,但是在一些特殊场景中还是有一定应用价值,比如摄像头数据实时处理等低延时要求场景中。


http://www.kler.cn/news/324244.html

相关文章:

  • 基于 Debian 的系统(如 Ubuntu)上安装、启动和配置 SSH 服务的指令流
  • Redis篇(应用案例 - 商户查询缓存)
  • 深度学习反向传播-过程举例
  • opencv实战项目二十九:GrabCut分割人像
  • Kubernetes学习路线
  • 极狐GitLab 17.4 重点功能解读【一】
  • 基于php的酒店管理系
  • Arthas redefine(加载外部的.class文件,redefine到JVM里 )
  • C高级(Day22)
  • 前端学习笔记-JS进阶篇-02
  • Note2024092801_python 日历信息获取
  • 【算法题】5. 最长回文子串-力扣(LeetCode)
  • 小波去噪MATLAB实现
  • TLV解码 - 华为OD统一考试(E卷)
  • Linux网络:网络编程套接字
  • 努比亚 Z17 NX563J Root 教程三方REC刷写工具教程
  • 软件测试人员发现更多程序bug
  • 828华为云征文|华为云弹性云服务器FlexusX实例下的Nginx性能测试
  • 分库分表方案中的数据倾斜问题及解决方案详解
  • Android Glide(一):源码分析,内存缓存和磁盘缓存的分析,实现流程以及生命周期
  • Llama 3.2:利用开放、可定制的模型实现边缘人工智能和视觉革命
  • AG-Pose 部署笔记
  • 会员办理--足浴店系统开发代码———未来之窗行业应用跨平台架构
  • 【病理图像】如何获取全切片病理图像的信息python版本
  • 企业IT安全重保服务:守护关键时刻的坚固防线
  • 安全运维类面试题
  • 滚珠丝杆如何安装滚珠?
  • Study--Oracle-09--部署Openfiler存储服务器
  • 15年408计算机网络
  • 记忆osi七层模型的口诀/方法/谐音