AUTOSAR架构下XCP从0到1开发配置实践

原创 汽车电子嵌入式 2025-04-14 08:00

目录

前言

网上对于AUTOSAR XCP的概念介绍文章已经很多,所以本文不再对XCP的概念做过多的介绍,直接介绍如何从01配置基于CAN通信的XCP开发配置主要完成以下几个功能:

1.标定量和观测量能编译链接到指令的地址段。

2.完成最简的A2L文件且能导入上位机工具使用。

3.完成XCP模块的最简配置且集成XCP到代码工程中。

4.通过上位机工具能读取到观测量。

5.通过上位机能修改标定量。

XCP概念和原理参考的文章:

https://mp.weixin.qq.com/s/lWD6uggP7ICMbvp3nqxngg

通过《AUTOSAR_SWS_XCP》规范文档,知道XCP标定的通信时序图。XCP on CAN涉及到的主要模块为XCPCanIfCanTrcvCan Controller完成标定过程中的数据发送和接收。

根据XCP on CAN 标定功能的开发流程,整理出几个所需方向,以下是一个量产项目中关于XCP需要完成的工作内容。

注意:上图中是一个量产项目中XCP要做的工作,本文仅完成XCP Bringup的介绍。更多关于XCP的协议及使用的内容将在后续的CP系列文章中介绍。

工程实践环境:

AUTOSAR BSW ToolVector

AUTOSAR MCAL ToolEB

Hardware Platform: Infineon Tricore TC387

Build ToolTasking

Debug Tool: UDE

缩略词

简写

全称

XCP

Universal Calibration Protocol

A2L

File Extension for an ASAM 2MC Language File

ASAM

Association for Standardization of Automation and Measuring  Systems

CTO

Command Transfer Object

DAQ

Data AcQuisition, Data AcQuisition Packet

DTO

Data Transfer Object

MCD

Measurement Calibration and Diagnostics

ODT

Object Descriptor Table

STIM

Data Stimulation packet

TS

Time Stamp

正文

1.CAN功能开发

1.1 DBC的制作及导入

通过Vector的技术手册《TechnicalReference_DbcRules_Vector》可以知道如果一个Message的属性都配置未No但是Message Name中包含XCP(不区分大小写)的字符串,那么Davinci工具在导入DBC的时候就会认为这是XCP报文,也就是说Davinci会完成XCP的基本配置。

通过DavinciInput Files工具导入DBC.

这样Davinci工具会完成最基本的XCP相关配置,后文会一一介绍到。

1.2 CanTrcv模块配置

Cantrcv的配置包括CantrcvSTB, ENPin脚的配置,这个可以参考《AUTOSAR项目实战(6)-Port及Dio模块配置实践》一文。

Cantrcv模块的配置最重要的就是要映射CanTrcvCantrcvDioChannelAccessDio Channel.

关于CanTrcv的其他功能(比如,唤醒功能)这里不在赘述,在《AUTOSAR项目实战》专栏中会有专门的文章介绍。

1.3 Can Controller模块配置

同样,对于Can Controller的配置不是本文的中断,这里仅列出比较重要的配置项,在《AUTOSAR项目实战》专栏中会有专门的文章介绍Can Controller(滤波怎么最优配置,邮箱怎么最优配置,HO和硬件Buffer的对应关系等...)。也可以先参考《》一文,有对TC3xx芯片CAN模块的详细介绍。

根据ECU硬件设计选着芯片中CAN硬件单元

配置CAN波特率。

配置CAN滤波器。

配置CAN邮箱。

1.4 CanIf模块配置

我们的DBC携带了XCP的信息,所以导入DBC后,CanIf会自动将XCP报文上行到XCP模块。

2.XCP模块集成配置配置

2.1.XCP模块配置

通过DBC导入XCP报文后,Davinci会自动生成最简到XCP配置,足够完成我们XCP功能的bringup.至于复杂的DAQ等功能,后续文章再介绍。

2.2.XCP模块的Task Mapping

有两个XCP相关的Mainfunction映射到5ms Task.

2.3.XCP模块的初始化

BswM_Init中完成XCP相关的初始化。

3.在链接文件中定义标定段

Task编译器下链接文件定义标定段,可以参考《Tasking编译器下如何在链接文件中定义标定段》一文。

group CAL_DATA_ROM (ordered, load_addr=0x80004000) {    select".rodata.CAL_ROM";    "_cal_rom_start" = "_lc_gb_CAL_DATA_ROM";}group CAL_DATA_RAM (copy, ordered, run_addr=0x70000000){    select ".rodata.CAL_ROM";    "_cal_ram_start" = "_lc_gb_CAL_DATA_RAM";}

4.编写标定相关的测试程序

编译后,我们的标定量确实已经编译到对应RAM区域,其初始值存放在对应的ROM区。

5.编写A2L文件

有了标定量的地址后,我们就可以手写一个简单的A2L文件。

关于A2L文件可以参考:

https://www.zhihu.com/question/19928878/answer/3327571586

6.通过TMaster创建标定工程

参考:

https://www.bilibili.com/video/BV1M64y1x77C/?spm_id_from=333.337.search-card.all.click&vd_source=d0ae3080c1674b44125de3a5bb8be58a

 

注意Tmaster完整的标定功能需要购买lisence,没有lisence只能观测6个观测量且无法修改标定量。我们需要通过手动发报文来改写标定量的值。

7.测试

7.1.XCP建立连接

7.2.XCP断开连接

7.3.XCP读取观测量

7.4.XCP写标定量

由于TMaster没有lisence就不支持标定量的改写,所以只能手动发送XCP命令来测试改写标定量的值。

8.总结

本文详细介绍了AUTOSAR架构下XCP01的开发和配置过程。实现了:

1.标定量和观测量能编译链接到指令的地址段。

2.完成最简的A2L文件且能导入上位机工具使用。

3.完成XCP模块的最简配置且集成XCP到代码工程中。

4.通过上位机工具能读取到观测量。

5.通过上位机能修改标定量。


对于量产项目还需要继续以下的工作:

1.设计项目的Memory layout,在LD文件中分配规范的标定段

2. 使能overlay的功能,上位机可以直接发送Flash地址进行标定。

3. A2L文件的批量生成(目前就是一个最简的手写A2L文件,实际工程中应该是每个模块都是一个A2L文件,需要Merge到一个总的A2L文件当中)。

4. 配置XCP DAQ.

5. 将标定量写入hex文件中。



End

「汽车电子嵌入式在CSDN上同步推出AUTOSAR精进之路专栏,本专栏每个模块完全按实际项目中开发及维护过程来详细介绍。模块核心概念介绍、实际需求描述、实际工程配置、特殊需求介绍及背后原理、实际工程使用经验总结。 目的是让读者看完每一个章节后能理解原理后根据需求完成一个模块的配置或者解决一个问题。」


点击文章最后左下角的阅读原文可以获取更多信息


或者复制如下链接到浏览器获取更多信息

https://blog.csdn.net/qq_36056498/article/details/132125693


文末福利




1
.如需汽车电子嵌入式收集的学习文档,
后台回复“

资料

即可免费下载;

2.为便于技术交流,创建了汽车电子嵌入式技术交流群,可尽情探讨AP,CP,DDS,SOME/IP等前沿热点话题,后台回复“加群”即可加入;



注:本文引用了一些第三方工具和文档,若有侵权,请联系作者删除!


推荐阅读

汽车电子嵌入式精彩文章汇总第一期:20210530-20230703

汽车电子嵌入式精彩文章汇总第2期

汽车电子嵌入式精彩文章汇总第3期

【OS】AUTOSAR OS Event实现原理

【OS】AUTOSAR OS Spinlock实现原理(下篇)

【OS】AUTOSAR OS Spinlock实现原理(上篇)

CanNm处于PBS状态下接收到一帧诊断报文DCM会响应吗

TC3xx芯片CAN模块详解

AUTOSAR OS Alarm实现原理

AUTOSAR OsTask切换原理

TC3xx 芯片SPI模块详解

AUTSOAR ComStack如何实现PDU只收不发的

AUTOSAR OsStack监控原理

AUTOSAR架构下ICU唤醒详解

CanNm报文的触发发送详解

Can报文能发不能收问题分析

TC3xx芯片PFlash的ECC校验问题补充

AUTOSAR架构下唤醒源检测函数EcuM_CheckWakeup详解

什么是Copy Table及如何使用Copy Table

AUTOSAR架构下EcuM_StartupTwo函数功能详解

符合AUTOSAR标准的RTAOS-Schedule Tables详解(上篇)

AUTOSAR OS Schedule Table实现原理

符合AUTOSAR标准的RTAOS-Schedule Tables详解(下篇)

TJA1145收发器重要功能介绍

AUTOSAR架构下基于TJA1145收发器通信丢失问题分析

AUTOSAR架构下LIN报文发送失败问题分析

AUTOSAR项目实战(1)-数据地址访问对齐问题分析

AUTOSAR项目实战(2)-内存访问异常问题分析

AUTOSAR项目实战(4)-系统总线及外设错误问题分析

AUTOSAR项目实战(3)-OsCounter访问权限问题分析

AUTOSAR项目实战(4)-MCU模块配置实践

AUTOSAR架构下的Interrupt详解(上篇)

AUTOSAR架构下的Interrupt详解(下篇)

AUTOSAR项目实战(6)-Port及Dio模块配置实践

TJA1145异常设置唤醒源导致ECU休眠失败问题分析

Tasking编译器下如何在链接文件中定义标定段

什么Tasking编译器中的farrom及nearrom?

AUTOSAR架构下NvMBlock无效问题分析

AUTOSAR架构下基于SPI通信的驱动模块详解-以TJA1145为例




End


欢迎点赞,关注,转发,在看,您的每一次鼓励,都是我最大的动力!

汽车电子嵌入式

微信扫描二维码,关注我的公众号


评论 (0)
  •   复杂电磁环境模拟系统平台解析   一、系统概述   北京华盛恒辉复杂电磁环境模拟系统平台是用于还原真实战场或特定场景电磁环境的综合性技术平台。该平台借助软硬件协同运作,能够产生多源、多频段、多体制的电磁信号,并融合空间、时间、频谱等参数,构建高逼真度的电磁环境,为电子对抗、通信、雷达等系统的研发、测试、训练及评估工作提供重要支持。   应用案例   目前,已有多个复杂电磁环境模拟系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润复杂电磁环境模拟系统。这些成功案例为复杂电
    华盛恒辉l58ll334744 2025-04-23 10:29 47浏览
  •   卫星通信效能评估系统平台全面解析   北京华盛恒辉卫星通信效能评估系统平台是衡量卫星通信系统性能、优化资源配置、保障通信服务质量的关键技术工具。随着卫星通信技术的快速发展,特别是低轨卫星星座、高通量卫星和软件定义卫星的广泛应用,效能评估系统平台的重要性日益凸显。以下从技术架构、评估指标、关键技术、应用场景及发展趋势五个维度进行全面解析。   应用案例   目前,已有多个卫星通信效能评估系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润卫星通信效能评估系统。这些成功案例为卫
    华盛恒辉l58ll334744 2025-04-22 16:34 132浏览
  • 文/Leon编辑/cc孙聪颖‍4月18日7时,2025北京亦庄半程马拉松暨人形机器人半程马拉松正式开跑。与普通的半马比赛不同,这次比赛除了有人类选手,还有21支人形机器人队伍参赛,带来了全球首次人类与机器人共同竞技的盛况。参赛队伍中,不乏明星机器人企业及机型,比如北京人形机器人创新中心的天工Ultra、松延动力的N2等。宇树G1、众擎PM01,则是由城市之间科技有限公司购置及调试,并非厂商直接参赛。考虑到机器人的适用场景和续航力各有不同,其赛制也与人类选手做出区别:每支赛队最多可安排3名参赛选手
    华尔街科技眼 2025-04-22 20:10 53浏览
  •   电磁干扰抑制系统平台深度解析   一、系统概述   北京华盛恒辉电磁干扰抑制系统在电子技术快速发展、电磁环境愈发复杂的背景下,电磁干扰(EMI)严重影响电子设备性能、稳定性与安全性。电磁干扰抑制系统平台作为综合性解决方案,通过整合多元技术手段,实现对电磁干扰的高效抑制,确保电子设备稳定运行。   应用案例   目前,已有多个电磁干扰抑制系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁干扰抑制系统。这些成功案例为电磁干扰抑制系统的推广和应用提供了有力支持。   二
    华盛恒辉l58ll334744 2025-04-22 15:27 145浏览
  • 一、行业背景与市场需求高血压作为全球发病率最高的慢性病之一,其早期监测与管理已成为公共卫生领域的重要课题。世界卫生组织数据显示,全球超13亿人受高血压困扰,且患者群体呈现年轻化趋势。传统血压计因功能单一、数据孤立等缺陷,难以满足现代健康管理的需求。在此背景下,集语音播报、蓝牙传输、电量检测于一体的智能血压计应运而生,通过技术创新实现“测量-分析-管理”全流程智能化,成为慢性病管理的核心终端设备。二、技术架构与核心功能智能血压计以电子血压测量技术为基础,融合物联网、AI算法及语音交互技术,构建起多
    广州唯创电子 2025-04-23 09:06 72浏览
  •   电磁兼容故障诊断系统平台深度解析   北京华盛恒辉电磁兼容(EMC)故障诊断系统平台是解决电子设备在复杂电磁环境下性能异常的核心工具。随着电子设备集成度提升与电磁环境复杂化,EMC 问题直接影响设备可靠性与安全性。以下从平台架构、核心功能、技术实现、应用场景及发展趋势展开全面剖析。   应用案例   目前,已有多个电磁兼容故障诊断系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁兼容故障诊断系统。这些成功案例为电磁兼容故障诊断系统的推广和应用提供了有力支持。  
    华盛恒辉l58ll334744 2025-04-22 14:29 156浏览
  • 一、技术背景与市场机遇在智能家居高速发展的今天,用户对家电设备的安全性、智能化及能效表现提出更高要求。传统取暖器因缺乏智能感知功能,存在能源浪费、安全隐患等痛点。WTL580-C01微波雷达感应模块的诞生,为取暖设备智能化升级提供了创新解决方案。该模块凭借微波雷达技术优势,在精准测距、环境适应、能耗控制等方面实现突破,成为智能取暖器领域的核心技术组件。二、核心技术原理本模块采用多普勒效应微波雷达技术,通过24GHz高频微波信号的发射-接收机制,实现毫米级动作识别和精准测距。当人体进入4-5米有效
    广州唯创电子 2025-04-23 08:41 71浏览
  • 文/Leon编辑/cc孙聪颖‍在特朗普政府发起的关税战中,全球芯片产业受到巨大冲击,美国芯片企业首当其冲。据报道称,英伟达本周二公布的8-K文件显示,美国政府通知该公司向中国(包括中国香港及澳门)销售尖端芯片(H20)时,需要获得美国政府的许可。文件发布后,英伟达预计会在第一季度中额外增加55亿美元的相关费用计提。随后,英伟达股价单日下跌6.9%,市值一夜蒸发约1890亿美元(约合人民币1.37万亿元)。至截稿时,至截稿时,其股价未见止跌,较前日下跌4.51%。北京时间4月17日,英伟达创始人、
    华尔街科技眼 2025-04-22 20:14 54浏览
  •   电磁兼容(EMC)故障诊断系统软件解析   北京华盛恒辉电磁兼容故障诊断系统软件是攻克电子设备电磁干扰难题的专业利器。在电子设备复杂度攀升、电磁兼容问题频发的背景下,该软件于研发、测试、生产全流程中占据关键地位。以下为其详细介绍:   应用案例   目前,已有多个电磁兼容故障诊断系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁兼容故障诊断系统。这些成功案例为电磁兼容故障诊断系统的推广和应用提供了有力支持。   一、软件核心功能   干扰与敏感分析:深度剖析电磁干
    华盛恒辉l58ll334744 2025-04-22 14:53 139浏览
  • 在科技飞速发展的当下,机器人领域的每一次突破都能成为大众瞩目的焦点。这不,全球首届人形机器人半程马拉松比赛刚落下帷幕,赛场上的 “小插曲” 就掀起了一阵网络热潮。4月19日,北京亦庄的赛道上热闹非凡,全球首届人形机器人半程马拉松在这里激情开跑。20支机器人队伍带着各自的“参赛选手”,踏上了这21.0975公里的挑战之路。这场比赛可不简单,它将机器人放置于真实且复杂的动态路况与环境中,对机器人在运动控制、环境感知和能源管理等方面的核心技术能力进行了全方位的检验。不仅要应对长距离带来的续航挑战,还要
    用户1742991715177 2025-04-22 20:42 53浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦