汽车标定的ASAM MCD-1 POD

2023-10-19 18:52
文章标签 汽车 标定 pod asam mcd

本文主要是介绍汽车标定的ASAM MCD-1 POD,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.导语   

        ​做汽车标定slave基础软件以及做参数标定的同学,对ASAM MCD-2-MC(ASAP2,人话A2L文件)、ASAM MCD-1-XCP(人话xcp协议)一定非常熟悉。

        常见的标定套件也是由很熟悉的供应商提供,例如ETAS的INCA+ES500系列产品、Vector的CANape+VN1600,占据了整个标定市场的85%。

  

        这种标定方式大都基于总线的通讯方式,例如XCP on CAN/ETH等,这也是在ASAM MCD-1-XCP协议的scope里。但还一个测量、标定方式就是通过数据\地址总线或者debug口对MCU内部资源进行直接快速访问,这就是所谓的POD(plug-on device),或者ETAS的ETK技术。这种技术的出现是为了满足严苛的高性能测量需求,但同时高度依赖硬件。由于其硬件的特殊性以及应用场景的稀少,最初这是不在XCP标准定义里。

        标定工具供应商盯准了这块肥肉,特别是ETAS这种厂商的特殊背景,他们开始设计属于自己的POD、接插件、转接板甚至向芯片厂商开始提出定制化需求,所以可以看到ST、IFX、Renseas等厂商出的芯片有很多我们看不懂的模块,例如EXEM\OLDA、DAM、OCDS等等。

        基于此,ASAM(号称非盈利组织,结果POD这协议6500欧)在2017年专门针对POD发布了ASAM MCD-1 POD V1.0.0版本,试图打破某厂一家垄断的局面。

2.标准解析

        那么这个POD v1.0具体讲了写什么呢?根据ETAS的官网描述

        在某芯片外围、ECU内部还增加许多额外的电路结构以及相应配套软件,以满足并行使用,最高速率可达100Mbits/s。

        因此,可以合理推测,硬件接口ASAM是没法参与了,ECU内部适配软件它可以来凑个热闹,因此ASAM MCD-1 POD就主要针对POD的适配软件提出了标准化,称之为POD Service Software(PSS),主攻POD配置、探测、初始化、同步测量和标定(VX1000的用法,这个步骤有没有很熟悉),试图通过标准化的方式来减少ECU开发对于工具供应商的依赖。

        如何减少依赖?假设我换个POD,例如把Vector的更换为ETAS的POD,如果按以前各自为战的局面,适配POD的软件也要更换为ETAS的。现在有了这个标准了,如果都是按照标准开发的PSS,就能够达到POD的即插即用。不过现目前,这还只是个幻想,毕竟基于INCA的A2L都不一定能在CANape上完美适配。

        那么这个标准主要是用在哪里的呢?既然是对XCP遗漏的地方进行一个补充,当然还是针对标定测量这个领域的。来看系统架构,如下图:

组件名描述
EAPECU Application
POD APIECU App与PSS之间的接口
ASAM PSSASAM定义的所有POD需具备的功能
Vendor PSS

Vendor自己开发的驱动(VX1000_Driver等),但需遵守POD协议定制的API

        其中,红框内部属于ASAM组织定义的标准组件,ECU interface由其他协议定义,例如JTAG、DAP、SWD等;POD在上位机连接时有两种,一种是debugger用于调试,一种是接标定工具,用于高性能测量和标定,如VX1000与POD之间就是通过XCP on ETH。

3.标准的Use-cases

        ASAM MCD-1 POD定义了POD使用上的三个要求以及POD的主要功能,分别是

  • POD的配置

  • POD的探测

  • PSS初始化

  • 标定、测量

        这里我将结合VX1000来进行实例说明。先上一张老图:

3.1 POD的配置

        POD配置主要是为了保证该POD可以适配当前所需要的工作场景;换句话说就是为POD选取工作电压、设置debug口类型、时钟频率等等,如下图:

        虽然不清楚POD里面是什么,但给人的感觉很像一个FPGA(瞎说)。

        涉及到指令如下:

        完成配置后,就需要进行POD Detection和 Initialization。

3.2 POD Dectection/Initialization

        POD探测主要是ECU检测POD的配置信息是否符合场景需求。以VX1000为例,通过VXconfig将数据写入POD之后,POD会将一些验证信息通过ECU interface写入到ECU预定义的mailbox(共享ram),ECU会去检测是否符合场景需求。一旦满足要求就会在硬件上显示,如下:

        mailbox数据定义如下:

        PSS的初始化不依赖硬件,该驱动可以激活如下功能:

3.3 同步测量和标定

        这个就和ASAM MCD-1 XCP里面描述的DAQ、Calibration一致了,根据A2L描述文件进行标定和测量即可。只是采用的命令和原理的标准有不同。

4.小结

        总的来说,ASAM MCD-1 POD定义了PSS和EAP之间的通讯API,但有些API是vendor独立的,有些是共用的。同时,POD协议拓展了关于XCP协议关于POD指定的命令和POD配置的事件等,定义了基于POD的A2L文件demo。


微信公众号:汽车MCU软件设计
在这里插入图片描述

这篇关于汽车标定的ASAM MCD-1 POD的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/241714

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

解析apollo纵向控制标定表程序

百度apollo采用标定表描述车辆速度、加速度与油门/刹车之间的关系。该表可使无人车根据当前车速与期望加速度得到合适的油门/刹车开合度。除了文献《Baidu Apollo Auto-Calibration System - An Industry-Level Data-Driven and Learning based Vehicle Longitude Dynamic Calibrating

k8s调度(pod亲和、反亲和、污点、容忍度)

pod亲和性 针对对象为Pod,目的是实现,新建Pod和目标Pod调度到一起,在同一个Node上。 示例: apiVersion: v1kind: Podmetadata:name: testpod01labels:app: myapp01env: test1spec:containers:- name: testpod01image: nginx:1.23.2---apiVersio

提升汽车制造质量:矫平技术在车门平整化中的应用

汽车制造业对每一个部件的精细度都有着极高的要求,尤其是车门这样的关键组件。车门不仅需要提供良好的密封性,还要在外观上展现出车辆的高端品质。然而,生产过程中的不平整问题往往成为提升制造质量的障碍。矫平技术的应用,为解决这一问题提供了有效的手段。 车门平整度的重要性 车门的平整度对于车辆的整体性能和美观至关重要。不平整的车门可能导致密封不良、噪音增大,甚至影响车门的正常开启和关闭。因此,确保车门的

Java语言的Netty框架+云快充协议1.5+充电桩系统+新能源汽车充电桩系统源码

介绍 云快充协议+云快充1.5协议+云快充1.6+云快充协议开源代码+云快充底层协议+云快充桩直连+桩直连协议+充电桩协议+云快充源码 软件架构 1、提供云快充底层桩直连协议,版本为云快充1.5,对于没有对接过充电桩系统的开发者尤为合适; 2、包含:启动充电、结束充电、充电中实时数据获取、报文解析、Netty通讯框架、包解析工具、调试器模拟器软件等; 源码合作 提供完整云快充协议源代码

Kubernetes Scheduler:Pod调度的双步骤—预选(Predicates)和优选(Priorities)

Kubernetes Scheduler:Pod调度的双步骤—预选(Predicates)和优选(Priorities) 1、预选(Predicates)2、优选(Priorities) 💖The Begin💖点点关注,收藏不迷路💖 在Kubernetes中,Pod的调度是由Scheduler负责的。Scheduler通过两个关键步骤——预选(Predicat

联众优车持续加大汽车金融服务投入与创新,赋能汽车消费新生态

近年来,中国汽车消费市场呈现出蓬勃发展的态势,而汽车金融服务作为降低购车门槛、优化购车体验的重要手段,正日益受到市场的青睐。《2023中国汽车消费趋势调查报告》显示,相较于前一年,今年选择汽车金融服务的市场消费者占比显著提升,其中潜在购车者占比高达67.8%,再购用户及现有用户占比也分别达到59.9%和49.4%。在这一背景下,作为汽车综合服务市场的领军企业,联众优车持续加大在汽车金融服务领域的投

蔚来汽车-测开日常实习-部分手撕代码题

基本上来自牛客的帖子,自己总结了一些题及其做法,之后也会更新其他公司的测开实习真题。 1.    【入门】- 输入十进制整数,输出该整数中1的数量。 感觉比较简单,不知道具体的用例,可能是特别长的输入?这样用字符串处理就行。 如果应规定输入的是long之类的数据类型,就用to_string 转为string类型即可。 int num = 123;std::string str = st

pod install 报错处理

由于墙的原因,pod install 、 pod update经常报错 有效的解决方案(推荐): 以SnapKit为例 找不报错的同事要以下两个文件(指定的版本) 1. /Users/xxx/Library/Caches/CocoaPods/Pods/Release/SnapKit 2. /Users/xxx/Library/Caches/CocoaPods/Pods/Specs

kubernetes Pod failed to create fsnotify watcher: too many open files

fs.nr_open: 控制单个进程可以打开的文件描述符的最大数量。单个进程的文件描述符限制可以通过 ulimit 命令来设置。 /proc/sys/fs/nr_open 是一个系统级别的全局参数,表示系统中单个进程能够打开的文件描述符总数的限制。/proc/sys/fs/file-max 系统级别,当前系统可打开的最大数量/etc/security/limits.conf 用户级别,指定用户