FPGA在汽车电子中应用-ADAS

server/2024/9/25 12:46:47/

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

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.ppmy.cn/server/121822.html

相关文章

【秋招笔试-支持在线评测】0919华为秋招(已改编)-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收集…

Python近红外光谱数据分析

ChatGPT4.0在近红外光谱数据分析、定性/定量分析模型代码自动生成等方面的强大功能,同时更加系统地学习人工智能(包括传统机器学习、深度学习等)的基础理论,以及具体的代码实现方法掌握ChatGPT4.0在科研工作中的各种使用方法与技巧…

C++ day03

思维导图 头文件 #ifndef SEQLIST_H #define SEQLIST_Husing datatype int;class seqlist { private:datatype *ptr; // 动态数组指针int size; // 顺序表最大容量int len 0; // 当前长度public:void init(int n); // 初始化顺序表bool empty(); …

Shopee 大促想爆单如何准备?EasyBoss ERP为你准备了一份攻略!

Shopee下半年第二个大促节点——10.10品牌大促即将来到,根据Shopee的官方的数据,9.9大促当天,Shopee Mall单量增至平日4倍。 老板们,准备好自己的热卖爆款冲击10.10大促了吗? 图源:Shopee 为助力大家迎战大…

关于ClickHouse建表 集群表 SQL

下面将介绍一下 ClickHouse 建表SQL ,集群名 star_cluster 我这里以test 表 test_all 集群表 为演示 可以执行下面的SQL 新建本地表 DROP TABLE IF EXISTS test ON CLUSTER star_cluster; DROP TABLE IF EXISTS test_all ON CLUSTER star_cluster; CREATE TABLE test …

MySQL数据库的备份与恢复

MySQL数据库的备份与恢复 在现代信息时代,数据已成为企业和个人的重要资产,数据的安全性和可恢复性直接影响到业务的连续性和稳定性。MySQL作为广泛使用的关系型数据库管理系统,其数据的备份与恢复显得尤为重要。本文将详细探讨MySQL数据库的…

新闻文本分类识别系统Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+TensorFlow+Django网页界面

一、介绍 文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集(“体育类”, “财经类”, “房产类”, “家居类”, “教育类”, “科技类”, “时尚类”, “时政类”, “游戏类”, “娱乐类”),然…

20240924前端-----------a标签报错跨域

a标签下载提示跨域 {“result”:“csrf error”} 问题描述&#xff1a; 直接点击a标签下载不了&#xff0c;必须刷新一下下载链接 解决办法&#xff1a; 在a标签增加 rel“nofollow noreferrer” <a href"https://xxxx.pdf" rel"nofollow noreferrer&qu…