在汽车领域,ADTF(Automotive Data and Time-Triggered Framework)是一个强大的工具,用于开发切实可行的汽车功能和复杂的应用程序,实现数据的转换、记录和可视化。而在ADTF软件中,过滤器图(如图1 Filter Graph所示)则是至关重要的,这也是我们理解和应用ADTF的关键所在。下面就让我们深入探索过滤器图的奥秘,揭示它在汽车功能开发中的核心作用。

图1 Filter Graph

一、例图解析

在过滤器图中,各种组件相互连接,构建了整个系统的基石。通过流源(Source),我们能够接入与硬件相关的各种数据源,比如摄像头视频数据、激光雷达点云数据和CAN总线数据等。过滤器作为处理单元,负责接收、处理、操纵和可视化数据。最后,通过流汇(Sink)连接各种设备,实现数据输出。数据在组件间以数据流(Stream)的形式传输,支持任意类型的容器数据。通过不同组件的相互连接,ADTF软件在面对复杂汽车功能开发时,展现出灵活性、可配置性和可重用性。

二、基本介绍

过滤器(如图2 Filter所示)是汽车功能开发的基石,它是ADTF中的小型处理单元,可以看作是汽车功能开发的基本构建块。它们负责接收、处理和发送数据,以及在运行时执行各种功能。通过过滤器,我们能够将整个汽车功能拆分成小的处理单元,使得开发更加灵活和模块化。

图2 Filter

三、功能特点

过滤器的功能多样,包括但不限于:

  • 通过输入引脚(In Pins)和相应的样本阅读器(Sample Reader)接收数据。
  • 通过输出引脚(Out Pins)和相应的样本写入器(Sample Writer)发送数据。
  • 在运行时执行各种任务,如解码流数据、预处理数据、实现算法、执行循环控制等。

过滤器就像是汽车功能中的“工具箱”,为开发人员提供了丰富的功能组件,可以根据需要组合使用,从而实现各种汽车应用。

通过ADTF配置编辑器(Configuration Editor),我们能够轻松创建过滤器图。这个图形化工具让我们设计应用程序变的得心应手。下图(图3 ADTF 工程)展示了ADTF软件驱动USB摄像头进行数据采集存储和可视化的示例。

图3 ADTF 工程

四、开发价值

在ADTF中开发汽车功能的价值:

1、模块化开发

过滤器允许开发人员以模块化的方式构建汽车功能。通过将不同的过滤器组合在一起,可以轻松实现复杂的汽车应用,同时保持代码的清晰和可维护性。

2、灵活性和可重用性

过滤器的设计使得其具有高度的灵活性和可重用性。开发人员可以设计通用的过滤器,然后在不同的过滤器图配置中重复使用,提高了开发效率和代码的可维护性。

3、数据处理的细粒度控制

过滤器允许对数据传输和运行时行为进行分离,为用户提供了在特定过滤器图中配置触发器的灵活性。用户可以根据需要选择数据触发或者时间触发,实现对数据处理的精细控制。

康谋技术 | 揭秘汽车功能的核心——深度解读ADTF中的过滤器图的更多相关文章

  1. 技术揭秘12306改造(一):尖峰日PV值297亿下可每秒出票1032张

    [编者按]12306网站曾被认为是"全球最忙碌的网站",在应对高并发访问处理方面,曾备受网民诟病. 2015年铁路客票春运购票高峰期已过,并且12306网站今年没"瘫痪& ...

  2. 声网 MetaKTV 技术揭秘之“声临其境”:3D 空间音效+空气衰减+人声模糊

    声网近期发布了"MetaChat 元语聊"."MetaKTV"解决方案,致力于提供一种全新的元宇宙互动社交.K 歌方式,其中都提到了"3D 空间音频& ...

  3. 【直播】APP全量混淆和瘦身技术揭秘

    [直播]APP全量混淆和瘦身技术揭秘 近些年来移动APP数量呈现爆炸式的增长,黑产也从原来的PC端转移到了移动端,通过逆向手段造成数据泄漏.源码被盗.APP被山寨.破解后注入病毒或广告现象让用户苦不堪 ...

  4. C++反汇编与逆向分析技术揭秘

    C++反汇编-继承和多重继承   学无止尽,积土成山,积水成渊-<C++反汇编与逆向分析技术揭秘> 读书笔记 一.单类继承 在父类中声明为私有的成员,子类对象无法直接访问,但是在子类对象的 ...

  5. 【MFC】利用单一对话框内的分页技术实现向导功能(转)

    原文转自 http://blog.csdn.net/yongh701/article/details/43793151 所谓的向导功能,在win32的程序中常常见于安装程序或者程序内的设置向导,该向导 ...

  6. [转帖]新iPhone的黑科技:UWB技术揭秘

    新iPhone的黑科技:UWB技术揭秘 http://blog.nsfocus.net/iphone-black-technology-uwb-technology-revealed/    阅读:  ...

  7. AI加持的阿里云飞天大数据平台技术揭秘

    摘要:2019云栖大会大数据&AI专场,阿里云智能计算平台事业部研究员关涛.资深专家徐晟来为我们分享<AI加持的阿里云飞天大数据平台技术揭秘>.本文主要讲了三大部分,一是原创技术优 ...

  8. MRAM技术进入汽车应用

    在整个地址空间范围内读写各种类型的数据.通常MRAM的操作和时序类似于32位微控制器的规范和时序.与DLFASH相比,当今的非易失性存储器可以接受MRAM设备的性能和吞吐量. 与当今的DFLASH相比 ...

  9. 声网Agora Lipsync 技术揭秘:通过实时语音驱动人像模拟真人说话

    元宇宙的火热让人们对未来虚拟世界的形态充满了幻想,此前我们为大家揭秘了声网自研的 3D 空间音频技术如何在虚拟世界中完美模拟现实听觉体验,增加玩家沉浸感.今天我们暂时离开元宇宙,回到现实世界,来聊聊声 ...

  10. (转) 技术揭秘:海康威视PASCAL VOC2012目标检测权威评测夺冠之道

    技术揭秘:海康威视PASCAL VOC2012目标检测权威评测夺冠之道 原创 2016-09-21 钟巧勇 深度学习大讲堂 点击上方“深度学习大讲堂”可订阅哦!深度学习大讲堂是高质量原创内容平台,邀请 ...

随机推荐

  1. CompletableFuture 超时功能有大坑!使用不当直接生产事故!

    CompletableFuture 超时功能有大坑!使用不当直接生产事故! 本文未经允许禁止转载! 上一篇文章<如何实现超时功能(以CompletableFuture为例)>中我们讨论了 ...

  2. LangChain基础篇 (06)

    LangChain 核心模块 Agent(构建复杂应用的代理系统) ReAct: Reasoning + Acting ReAct Prompt 由 few-shot task-solving tra ...

  3. day:3软件测试分类

    一.按开发阶段划分 (1)单元测试 (2)集成测试 (3)系统测试 (4)验收测试 二.按查看代码分类 (1)黑盒测试 定义:是一种功能测试,测试中把测试的软件当成一个盒子,不关心盒子内部结构是什么, ...

  4. SAM 学习笔记

    发现自己根本没有 SAM 基础,所以想补一篇学习笔记. SAM SAM 是一个可以接受字符串 \(s\) 的所有后缀的最小 \(DFA\)(确定性有限状态自动机).不过他最大的用处和后缀数组一样,都是 ...

  5. 当openlayers的地图所在的div的尺寸发生变化后,鼠标滚轮缩放地图发生偏移问题以及地图变形问题解决

    当地图的尺寸发生变化后,要调用map.updateSize()方法,强制使openlayers重新计算地图视口 updateSize() Force a recalculation of the ma ...

  6. SpringBoot - [02] 第一个SpringBoot程序

    jdk maven3.6.3 springboot最新版 idea 如果使用官网 Spring Initializr ,则需要jdk17.21.22,并且是Springboot3.x 可以在idea创 ...

  7. MyCat分库分表-安装

    准备3台虚拟机CentOS7,一台MyCat,两台MySQL 一.安装MySQL 打开MySQL官网mysql.com根据提示安装 1.yum仓库 https://dev.mysql.com/down ...

  8. php执行时间

    要计算代码的bai执行时间,在PHP来讲是du十分简单的,首先,zhi你需要知道,PHP是一种dao顺序执行的脚本语言,所以,可以按照以下步骤来计算代码的执行时间: <?php function ...

  9. Vulnhub-FristiLeaks_1.3

    一.靶机搭建 选择扫描虚拟机 选择路径即可 二.信息收集 靶机信息 产品名称:Fristileaks 1.3 作者:Ar0xA 发布日期: 2015 年 12 月 14 日 目标:获取root(uid ...

  10. ubuntu20.04使用EasyConnect

    起因:BUAA校外访问内网vpn的客户端 用的学校vpn内下载的deb包EasyConnect_x64_7_6_7_3.deb,就直接sudo apt install安装了,之后应用的目录在/usr/ ...