嵌入式
返回首页

应用笔记 | 如何利用TSMaster的系统变量触发标定和诊断功能?

2023-10-17 来源:elecfans

随着电子模块的迅速增加,ADAS、无人驾驶场景带来的海量数据交互和实时性要求,OTA技术带来的信息安全挑战,对汽车总线仿真、测试、诊断、标定工具链的性能提出了更高的要求。本文主要讲解如何利用TSMaster的系统变量触发标定和诊断功能。


1

标定和诊断概述


1、标定

1

XCP/CCP标定

通过CCP或者XCP协议来实现对控制器内部参数进行动态调整的过程称之为标定。CCP协议:是一种基于CAN总线的标定协议。XCP协议:通用测试标定协议,是继CCP之后的协议升级版,可以应用于多种总线。


2

特点

1)均采用主从的模式,单个主机可以同时与多个从机通讯。


2)主机通过下发命令与从机建立连接,解锁,读取数据,修改参数等操作。

XCP/CCP协议,配合A2L文件,可以直接在软件上更改某些参数,执行器就会给相应的反馈。TSMaster 标定模块依赖如下两类文件和运行 XCP 或 CCP 协议栈的ECU。


2、诊断

TSMaster 提供了诊断控制台基础功能,用户可以根据需求配置自己的发送和应答请求。目前已经支持 CAN/CANFD/LIN/UDS BootLoader,后续将会支持Some/IP和DoIP等。

5034e308-943e-11ed-ad0d-dac502259ad0.png503c4940-943e-11ed-ad0d-dac502259ad0.png


2

标定和诊断使用


1、创建TSMaster标定

1)选择创建新工程或者创建空工程(后续选择保存位置),单击即可。

50458942-943e-11ed-ad0d-dac502259ad0.png


2)点击应用 -> 标定管理器 ->设备配置(右击,新建ECU)->填写ECU名称确认即可创建成功。

504d4240-943e-11ed-ad0d-dac502259ad0.png


2、创建TSMaster诊断

点击Diagnositc ISO TP ->添加DIagnositc,页面将会弹出新的诊断框。

50543bc2-943e-11ed-ad0d-dac502259ad0.png


3、TSMaster系统变量触发标定

1)选择驱动,点击XCP即可选择XCP/CCP协议。

507848fa-943e-11ed-ad0d-dac502259ad0.png


2)选择数据库,导入A2L文件,导入成功即可通过数据库协议内存,测量列表查看和配置相关信息。

507f05dc-943e-11ed-ad0d-dac502259ad0.png


3)如需安全算法,点击协议 -> Speed和Key算法DLL文件,单击导入文件。

50883882-943e-11ed-ad0d-dac502259ad0.png


4)选择逻辑通道,配置内存地址映射。

508f7fca-943e-11ed-ad0d-dac502259ad0.png5095d960-943e-11ed-ad0d-dac502259ad0.png


5)点击连接ECU- >启动在线标定测量,即可成功连接。(如连接错误请检查逻辑通道,内存配置)

509d7fc6-943e-11ed-ad0d-dac502259ad0.png


6)点击数据库选择一个PWM信号,右击可以选择添加至信号激励、图形、面板、数值,如下所示:

50a484c4-943e-11ed-ad0d-dac502259ad0.png


7)通过修改信号激励或者面板变量的值去更改信号的数值,通过图形和数值显示,信号值已被更改。

50b1891c-943e-11ed-ad0d-dac502259ad0.png


8)同时支持C脚本更改变量的值,点击系统变量选择一个变量。

50c3cb5e-943e-11ed-ad0d-dac502259ad0.png


9)复制写入代码。

50cb8e52-943e-11ed-ad0d-dac502259ad0.png50d1f274-943e-11ed-ad0d-dac502259ad0.png


10)通过C脚本,Step函数,实现每隔一秒数值加一。

50d7b948-943e-11ed-ad0d-dac502259ad0.png


4、TSMaster系统变量触发诊断

1)首先点击诊断窗口 ->诊断 BasicConfig 窗体中,选中目标服务,然后右键菜单中把该诊断服务注册为系统变量,点击系统变量此变量将显示。

50dc98f0-943e-11ed-ad0d-dac502259ad0.png


2)在面板添加Button,关联此变量,更改面板值,可以观察图形中值已经被修改。

50e51958-943e-11ed-ad0d-dac502259ad0.png


3)通过C脚本使此变量0 1跳变,通过图形和面板可进行观察。

50ec3f8a-943e-11ed-ad0d-dac502259ad0.png


3

二次开发

1、支持其他语言进行二次开发,本例使用C# 调用TSMaster API实现标定功能,使用软件为Visual Studio 2019。

创建一个新工程,步骤如下:选择C# -> Windows窗体应用 ->点击下一步。

50f33c72-943e-11ed-ad0d-dac502259ad0.png


2、设置项目名称 -> 存储位置 ->点击创建。

50fa96ac-943e-11ed-ad0d-dac502259ad0.png


3、导入 TSMaster.dll文件,引用 -> 添加引用 选择dll文件,确认。

5101d516-943e-11ed-ad0d-dac502259ad0.png510aca72-943e-11ed-ad0d-dac502259ad0.png


4、点击引用,查看TSMaster 相关调用函数。

51130c8c-943e-11ed-ad0d-dac502259ad0.png


5、添加TSCalibration类

点击添加 -> 类,修改名称 -->添加(A).成功创建TSCalibration 类。

511d3edc-943e-11ed-ad0d-dac502259ad0.png


6、导入TSMaster 定义类型。

51248f02-943e-11ed-ad0d-dac502259ad0.png


7、通过public创建,读取和写入两个类。

512d7b44-943e-11ed-ad0d-dac502259ad0.png


8、打开TSMaster 仿真 ->系统变量 ->内部变量,滑动条滑动到底部,即可看见标定控制器状态(Calibration.Status),标定控制器自动化寄存器状态(Calibration.Controller)。

513484d4-943e-11ed-ad0d-dac502259ad0.png


9、只需对系统变量值进行读取和写入就可触发标定。

513d98c6-943e-11ed-ad0d-dac502259ad0.png


10、点击开启连接,打开最近关闭的TSMaster并启动,依次点击启动ECU,启动测量。

51467ec8-943e-11ed-ad0d-dac502259ad0.png


11、输入变量名点击读取,实时值显示变量值为25。写入变量名,写入值50,即可看见变量的值变为50。

5153fdfa-943e-11ed-ad0d-dac502259ad0.png


进入嵌入式查看更多内容>>
相关视频
  • PX4固件二次开发课程

  • RISC-V嵌入式系统开发

  • NuttX Workshop 2024

  • 自己动手写操作系统

  • SOC系统级芯片设计实验

  • 自己动手做一台计算机

精选电路图
  • 单稳态控制电路设计与分析

  • IGBT模块通过控制门极阻断过电流

  • 开关电源的基本组成及工作原理

  • 比较常见的功率整流器和滤波电路

  • 基于CA3193的热电偶放大器电路

  • 基于TDA1554的立体声放大器电路

    相关电子头条文章