在当今汽车电子系统的开发中,CAN总线作为车辆内部通信的骨干,承载着大量关键信号的传输。确保这些信号的高效、准确处理,对于车辆系统的稳定性和可靠性至关重要。

一、Signal Config Filter Editor

信号配置过滤器编辑器(Signal Config Filter Editor,简称SCFE),是ADTF(Automotive Data and Time-Triggered Framework)设备工具箱3中的高效组件,它允许我们从总线数据库文件中选择信号和参数,并将它们映射到为CAN、CAN FD或FlexRay等配置的编解码器过滤器的引脚上,如图1所示。

图1:SCFE

SCFE支持图形界面操作,用于配置编解码器过滤器。通过它,我们可以创建新的映射文件,选择信号,并将其映射到输出引脚上,从而实现对汽车中各种信号的解码和编码,如图2所示。

图2:SCFE操作界面

SCFE的主要功能包括:

  • 从总线数据库中选择信号和参数,实现个性化配置。
  • 将选定信号映射到输入或输出引脚,实现信号的精确控制。
  • 生成映射文件,定义信号与引脚的映射关系,便于管理和复用。
  • 设置引脚属性,包括通道、时间戳、延迟和打包等,以适应不同的通信需求。
  • 编辑信号属性,如位长、校正因子和默认值,确保信号的准确性。
  • 定义结构体和数组,使得多个信号可以作为一个整体进行处理。
  • 设置触发器,根据特定条件控制信号的发送时机。
  • 提供配置检查功能,帮助用户发现并修正潜在的错误。

二、快速原型制作

在ADTF Device Toolbox 3工具箱中,提供多个组件进行总线服务、解析、追踪可视化和处理等功能。结合SCFE组件功能,我们可以简易更快搭建工程,实现总线数据的解析和处理。比如搭建CAN FD 信号进行DBC编译工程,如图3所示。

图3:CAN FD DBC Config Encoder工程

在SCFE中可以信号引脚,属性等功能进行配置,如下图4所示。

图4:SCFE配置

运行效果图5所示:

三、数据库解析SDK

在ADTF Device Toolbox 3工具箱中,进一步提供了自定义总线数据库解析器SDK,如图6所示。支持开发者实现和部署针对特定总线通信协议的数据库解析服务。

图6:数据库解析SDK

这一SDK具备以下特点:

  • 支持特殊文件格式的解析,满足非标准通信数据库文件的读取需求。
  • 通过实现特定接口,构建灵活的解析服务,加载和处理通信规范。
  • 采用接口驱动设计,定义了数据库加载器、特定于总线的数据库接口和DBC数据库解析接口,确保兼容性和功能实现。
  • 通过数据库注册表管理不同总线类型的数据库加载器实例,确保数据库文件的正确加载和解析。

ADTF Device Toolbox 3通过Signal Config Filter Editor(SCFE)和数据库解析SDK,为汽车电子领域总线方面提供了一套工具链。在汽车研发阶段,SCFE用于配置信号,测试和验证通信系统的性能;在车辆故障诊断中,SCFE助力快速定位问题信号,提升诊断效率;在系统集成过程中,SCFE确保不同系统间的信号正确交互,避免通信冲突。这些工具不仅提高开发效率,也确保汽车电子系统的稳定性和可靠性。

康谋分享 | ADTF在CAN方面技术的深入探讨的更多相关文章

  1. 腾讯技术分享:GIF动图技术详解及手机QQ动态表情压缩技术实践

    本文来自腾讯前端开发工程师“ wendygogogo”的技术分享,作者自评:“在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦.” 1.GIF格式的历史 GIF ( Gr ...

  2. 分享一次大厂的技术面试通过,却因学历被拒发 offer 的悲惨经历

    概述 今天心情很down,快周末了,说点不开心的事情给大家开心一下,上周面试心仪已久的大厂,技术面很顺利的通过一面/二面/三面,最后到HR面也很顺利,然后被问到学历(自考本科)后,HR 语气发生一些转 ...

  3. 聚焦 2021 NGK 新加坡区块链技术峰会,探讨DeFi未来新生态!

    2021年1月31日14时,备受行业关注的"2021 NGK 新加坡区块链技术峰会"如期举行.本次峰会由NGK官方主办,以"DeFi"为主题,探讨了区块链技术革 ...

  4. 前端资料QQ群交流

    转:https://github.com/jsfront/src/blob/master/qq.md 这本来是我QQ群内部的一份公共约定的日常交流规则,后来得到大伙的一致认可,并用实际行动来捍卫它,使 ...

  5. 【转】apache kafka技术分享系列(目录索引)

    转自:  http://blog.csdn.net/lizhitao/article/details/39499283   估计大神会不定期更新,所以还是访问这个链接看最新的目录list比较好 apa ...

  6. 【腾讯Bugly干货分享】总结一个技术总监的教训和经验

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/Ry-G0Nikh6m-h3ZVC2cLyQ 导语 20 ...

  7. 让互联网更快:新一代QUIC协议在腾讯的技术实践分享

    本文来自腾讯资深研发工程师罗成在InfoQ的技术分享. 1.前言 如果:你的 App,在不需要任何修改的情况下就能提升 15% 以上的访问速度,特别是弱网络的时候能够提升 20% 以上的访问速度. 如 ...

  8. iOS逆向工程,(狗神)沙梓社大咖免费技术分享。

    序言 简介:本文针对于广大iOS开发者,作为一名开发者,仅仅专注于一门语言可能已经不适用现在的市场需求,曾经因高薪和需求量巨大,而火爆一时的移动端开发者(Android,ios),如今的路却是不再那么 ...

  9. 微信团队分享:Kotlin渐被认可,Android版微信的技术尝鲜之旅

    本文由微信开发团队工程是由“oneliang”原创发表于WeMobileDev公众号,内容稍有改动. 1.引言   Kotlin 是一个用于现代多平台应用的静态编程语言,由 JetBrains 开发( ...

  10. 网易技术分享:Nginx缓存引发的跨域惨案

    推荐:更多技术团队分享文章 关注:MAYOU18技术专栏 1. 前言 贵金属wap版直播间上线后,偶尔有用户反馈,在进入wap直播间的时候,出现空白页面,但是重新刷新又可以正常显示了.我们曾一度认为是 ...

随机推荐

  1. 从一指禅到无重复字符:最长子串问题的优雅解法|LeetCode 3 无重复字符的最长子串

    LeetCode 3 无重复字符的最长子串 点此看全部题解 LeetCode必刷100题:一份来自面试官的算法地图(题解持续更新中) 生活中的算法 你是否玩过"一指禅"游戏?就是沿 ...

  2. Apache Camel系列(4)----Akka Camel

    Akka是一个高性能,高容错的的分布式框架,并且对Camel也提供了很好的支持,下面创建一个Akka Camel的demo,运行环境:CentOS7 + IntelliJ + JDK8.这个demo分 ...

  3. Django项目实战:配置 setting.py

    Django项目实战:配置 setting.py Django项目的配置主要通过settings.py文件完成.这个文件位于项目的根目录下(与manage.py同级).为了让你的应用更加本地化,你可能 ...

  4. tomcat切割日志(log_cut.sh)

    vim log_cut.sh #!/bin/bash #auther by wangxp #tomcat日志位置 LOG_DIR=/u01/yhpt/yhpt_cda/sdmp/logs #切割日志名 ...

  5. .NET适配HarmonyOS进展

    1. 前言 目前国产化系统浪潮下,适配鸿蒙是中国软件大势所趋,.NET作为最适合开发客户端语言之一,适配鸿蒙系统(HarmonyOS Next)是目前.NET开发者最关心的事情.我目前业余时间正在移植 ...

  6. 项目中途引入Mybatis-plus后报错,报错Caused by: java.lang.ClassNotFoundException: org.mybatis.logging.LoggerFactory

    一.报错原因 mybatis-plus和pagehelper jar包冲突,注释mybatis-spring和pagehelper插件即可 <!-- SpringBoot集成mybatis框架 ...

  7. Tensorflow 安装和测试(Anaconda4.7.10+windows10)

    一. 软件下载 二. 配置相关 1. 修改 Jupyter notebook 默认工作路径 (1)打开 Anaconda Prompt ,输入 jupyter notebook --generate- ...

  8. Ruoyi-vue 左侧菜单栏默认保持收缩

    在项目的 src\store\modules\app.js 路径下 sidebar: { opened: Cookies.get('sidebarStatus') ? !!+Cookies.get(' ...

  9. 离线安装Docker社区版详细教程

    Docker是一个开源的应用容器引擎,使得开发者可以打包应用以及依赖包到一个轻量级的.可移植的容器中,然后发布到任何支持Docker的平台上.本文将详细介绍如何在离线环境下安装Docker社区版. 1 ...

  10. Typecho去除更新检测和后台日志

    Typecho去除官方日志 打开 admin/index.php,找到下面的代码并删除,在 93-102 行. 代码: <div class="col-mb-12 col-tb-4&q ...