AUTOSAR架构下XCP DAQ功能配置实现

admin 2025年5月13日00:58:47评论5 views字数 3288阅读10分57秒阅读模式

目录

AUTOSAR架构下XCP DAQ功能配置实现

前言

在《AUTOSAR架构下XCP从0到1开发配置实践》一文中我们介绍了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文件中。

本文就来配置实现XCP DAQ功能。

关于XCP DAQ的概念介绍,可以参考:

https://zhuanlan.zhihu.com/p/17215624759

工程实践环境:

AUTOSARBSW ToolVector

AUTOSAR MCAL ToolEB

Hardware Platform: Infineon TricoreTC387

Build ToolTasking

Debug Tool: UDE

缩略词

AUTOSAR架构下XCP DAQ功能配置实现

正文

1.Davinci配置XCP DAQ相关功能

1.1. 配置XcpCmdCOnfig中的DAQ命令

配置DAQ功能首先要配置XCP支持DAQ相关的命令,也就是配置XcpDaqAndStim配置容器。

AUTOSAR架构下XCP DAQ功能配置实现

XcpDaqAdnStim配置容器里面的具体内容保持默认配置就好,后面测试或者特殊需求实现的时候再去具体分析配置。

注意:本文目标是想让DAQ先工作起来,而不太深入去分析每个配置。实际工作中也注意在调试功能的时候要浅尝辄止,调通后再深入分析。

1.2. 配置XcpEventChannels

问题:什么是XCP Event Channel?

AUTOSAR架构下XCP DAQ功能配置实现

简单理解,就是ECU依赖XCP Event Channel来往外发送DAQ List数据。Event Channel是一个逻辑的通道概念,也就是配置了一些DAQ数据发送的优先级、DAQ数据发送的周期时间等,有了这个Event Channel的逻辑通过,上位机和ECU下位机之间就能通过这个逻辑Channel进行数据交互。

我们配置两个Event Channel, 一个10ms的,一个100ms的。

AUTOSAR架构下XCP DAQ功能配置实现
AUTOSAR架构下XCP DAQ功能配置实现

2.工程中集成DAQ功能

Xcp_Event这个函数需要用户在SWC中调用,10msEvent Channel10ms调用1次,100msEvent Channel100ms调用一次。

AUTOSAR架构下XCP DAQ功能配置实现
AUTOSAR架构下XCP DAQ功能配置实现
AUTOSAR架构下XCP DAQ功能配置实现

注意:如果是初次配置调试XCP DAQ功能,Xcp_Event需要用户调用这个知识点肯定不知道,作者也是在调试过程中发现问题后追根溯源才发现需要用户调用Xcp_Event的。

3.A2L文件添加DAQ配置

A2L文件中需要加入我们配置的Event Channel的信息,这样上位机在发送SET_DAQ_LIST_MODE指令的时候可以指定ECU通过哪个Event Channel发送DAQ数据。

注意:正如我们上文所述,Event Channel是一个逻辑通道概念,在ECU的配置代码中存在,然后A2L中也存在这个配置信息,这样上位机通过A2L文件也能拿到Event Channel的配置信息,这样上位机和ECU就能通过Event Channel交互了。

AUTOSAR架构下XCP DAQ功能配置实现

4.测试工程使用DAQ功能

第一步:加载添加Evnet ChannelA2L文件。

AUTOSAR架构下XCP DAQ功能配置实现

有两个Event Channel.

AUTOSAR架构下XCP DAQ功能配置实现

第二步:测量列表中,两个标定量各选一个Event Channel.

AUTOSAR架构下XCP DAQ功能配置实现

第三步:启动在线测量标定。

AUTOSAR架构下XCP DAQ功能配置实现

效果和Polling模式的一问一答不一样,DAQ模式下ECU会按Event Channel的周期定时发送数据出来。

5.测试Trace分析

上位机本身至此XCP协议的,我们在添加观测量到测量列表后启动在线测量后上位机会按照XCP DAP的指令发送命令出去,不用用户去手动输入命令。但是,我们抱着学习的心态,有必要分析下XCP报文,加深XCP协议的学习。

5.1. XCP异常报文分析

上述过程都是配置调试成功后的流程总结,其实在配置开发DAQ的过程中也遇到了挺多的问题,分析XCP异常报文更有助于我们后面的问题分析。

AUTOSAR架构下XCP DAQ功能配置实现

上位机发送数据:DA

DA对应GET_DAQ_PROCESSOR_INFO指令,正常ECU应该恢复FF xx xx xxx指令,实际回复了FE 20 xx xx指令。

AUTOSAR架构下XCP DAQ功能配置实现

ECU回复数据:FE 2000 08 00 00 01 01

FE : Error Packet Code 

AUTOSAR架构下XCP DAQ功能配置实现

20: ERR_CMD_UNKNOWN

AUTOSAR架构下XCP DAQ功能配置实现

问题原因ECU不支持DA D9XCP指令。

解决办法:配置XcpDaqAndStim.

AUTOSAR架构下XCP DAQ功能配置实现

上位机发送数据:E00000 0001 0001 0A

E0: SET_DAQ_LIST_MODE指令。

AUTOSAR架构下XCP DAQ功能配置实现

00: ALTERNATING

AUTOSAR架构下XCP DAQ功能配置实现

00 00: DAQ list Number.

01 00: EVENT_CHANNEL_NUMBER

01 : Prescaler

0A:DAQ list priority

ECU回复数据:FE 22 5F 31 30 6D 73 65

FE : Error Packet Code 

22: ERR_OUT_OF_RANGE

问题原因ECUEvent Channel 1不支持优先级为10的配置(100msEvent ChannelPriority没有配置为10)。

解决办法100msEvent ChannelPriority配置为10.

5.2. XCP正常报文分析

AUTOSAR架构下XCP DAQ功能配置实现

DA D9指令上文已经介绍,从D7指令开始分析。

上位机发送数据:D7 00 00 00

ECU回复数据:FF 04 01 15 01 00 00 00

AUTOSAR架构下XCP DAQ功能配置实现

上位机发送数据:F5 07

ECU回复数据:FF 58 63 70 45 76 65 6E

AUTOSAR架构下XCP DAQ功能配置实现

上位机发送数据:D6 

ECU回复数据:FF 6C 5F 31 30 6D 73 65

上位机发送数据:D5 00 02 00

ECU回复数据:FF 6C 5F 31 30 6D 73 65

AUTOSAR架构下XCP DAQ功能配置实现

上位机发送数据:D4 00 00 00 01

ECU回复数据:FF 6C 5F 31 30 6D 73 65

上位机发送数据:D4 00 01 00 01

ECU回复数据:FF 6C 5F 31 30 6D 73 65

AUTOSAR架构下XCP DAQ功能配置实现

AUTOSAR架构下XCP DAQ功能配置实现

上位机发送数据:D3 00 00 00 00 01

ECU回复数据:FF 6C 5F 31 30 6D 73 65

上位机发送数据:D3 00 01 00 00 01

ECU回复数据:FF 6C 5F 31 30 6D 73 65

AUTOSAR架构下XCP DAQ功能配置实现

上位机发送数据:E2 00 00 00 00 00

ECU回复数据:FF 6C 5F 31 30 6D 73 65

上位机发送数据:E1 FF 02 00 00 00 00 70

ECU回复数据:FF 6C 5F 31 30 6D 73 65

上位机发送数据:E2 00 01 00 00 00

ECU回复数据:FF 6C 5F 31 30 6D 73 65

上位机发送数据:E1 FF 02 00 02 00 00 70

ECU回复数据:FF 6C 5F 31 30 6D 73 65

AUTOSAR架构下XCP DAQ功能配置实现

上位机发送数据:E0 00 00 00 01 00 01 00

ECU回复数据:FF 6C 5F 31 30 6D 73 65

上位机发送数据:DE 02 00 00

ECU回复数据:FF 00 5F 31 30 6D 73 65

上位机发送数据:E0 00 01 00 00 00 01 00

ECU回复数据:FF 00 5F 31 30 6D 73 65

上位机发送数据:DE 02 01 00

ECU回复数据:FF 01 5F 31 30 6D 73 65

AUTOSAR架构下XCP DAQ功能配置实现

上位机发送数据:DD 01 

ECU回复数据:FF 01 5F 31 30 6D 73 65

AUTOSAR架构下XCP DAQ功能配置实现

上文都是上位机通过XCP协议在配置DAQ. 下文图中ECU开始发送DTO给到上位机。

AUTOSAR架构下XCP DAQ功能配置实现
AUTOSAR架构下XCP DAQ功能配置实现
AUTOSAR架构下XCP DAQ功能配置实现
AUTOSAR架构下XCP DAQ功能配置实现

6.总结

本文详细介绍了XCP01配置实践过程中的DAQ功能。配置调试DAQ需要进行以下操作:

1.配置XcpDaqAndStim

2.用户调用Xcp_Event.

3.A2L文件中添加Event Channel信息。

介绍了通过TMasterDAQ形式获取测量数据,并分析了异常和正常的XCP报文。读者着重需要掌握通过ERROR CODE调查XCP错误的方法。

End

原文始发于微信公众号(汽车电子嵌入式):AUTOSAR架构下XCP DAQ功能配置实现

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月13日00:58:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   AUTOSAR架构下XCP DAQ功能配置实现https://cn-sec.com/archives/4053153.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息