Skip to content

Latest commit

 

History

History
628 lines (324 loc) · 27.3 KB

AN0001.md

File metadata and controls

628 lines (324 loc) · 27.3 KB

TSMaster 应用笔记

AN0001

How to use TOSUN Calibration XCP controller

如何使用同星XCP模块进行标定

作者: Link

2021-01-17

目录

TSMaster 应用笔记 1

AN0001 1

How to use TOSUN Calibration XCP controller 1

如何使用同星XCP模块进行标定 1

作者: Link 1

2021-01-17 1

Chapter 1 标定输入文件准备 3

1.1 A2L文件 3

1.2 Seed和Key算法文件 3

1.3 支持XCP的ECU 4

Chapter 2 同星XCP License授权 4

2.1 无XCP License的限制 5

2.2 XCP License特性 5

2.3 同星XCP License授权 5

Chapter 3 TSMaster XCP标定模块基本配置 6

3.1 TSMaster XCP模块用户界面 6

3.2 基本的测量功能配置 10

3.3 配置标定硬件通道并启动标定 12

3.4 基本的标定功能 13

3.4.1 通过系统变量观测ECU变量 14

3.4.2 通过系统变量修改标定量 17

3.4.3 通过信号激励窗口制造变量变化曲线 18

3.4.4 修改信号的测量模式 20

Chapter 4 信号记录功能 21

4.1 关联CAN数据库 21

4.2 配置符号映射引擎 22

4.3 激励CAN信号 26

4.4 查看映射变量 28

4.5 记录系统变量 29

Chapter 5 信号回放功能 31

5.1 添加记录文件 31

5.2 通过TSMaster回放记录文件 32

5.3 通过Matlab回放记录文件 33

  1. 标定输入文件准备

TSMaster XCP标定模块依赖如下两类文件和运行XCP协议栈的ECU。

图表 1 TSMaster依赖的A2L文件和Seed&Key文件

  1. A2L文件

A2L文件是采用ASAP2指定的一套类XML语言的描述性语言(采用开标签和关标签来描述信息)书写的文件,它里边包含了某个特定的ECU中的软件和系统信息,还包含了上位机和ECU通讯方式的约定,它用来指导上位机和ECU的通讯交互过程,让他们对交互的信息有一致的认识,从而是上位机工具准确且友好的将ECU中的信息展现给用户。

目前同星XCP模块只支持载入最高版本为1.6x的A2L文件,新版的(版本号大等于1.7)A2L文件仅仅支持部分载入,若只有新版A2L文件,请先通过相关工具另存为1.6x版本再使用TSMaster载入。

  1. Seed和Key算法文件

出于安全的考虑,ECU中的某些数据或者请求会被限制访问。控制器不正确的例程执行(如:钥匙学习、胎压标定等等)或数据下载(控制器程序刷新等)会损坏当前控制器或其它的车辆部件,可能会导致车辆无法正常行驶、车检不达标、车辆安全性降低等。这种访问限制的主要措施在于算法(类似于钥匙)的实现,即种子(seed)和密钥(key)。

上位机(手机、电脑等)向控制器请求seed种子,控制器随机产生一个随机数作为seed(例如:1122334455667788-长度不定,内容不定)。控制器将该种子返回给上位机。上位机利用控制器给定的算法(不同控制器可能存在不同算法)和种子生成密钥,并将密钥发送给控制器。控制器将自己生成的密钥(生成算法一致)和上位机发送的密钥进行对比,若一致则打开上位机的访问限制,否则上位机仍不能进行限制性的访问(如:刷新、标定学习等)。

由于seed是随机产生的,即控制器每次生成的均不同。因此上位机必须实现控制器的指定算法,否则访问限制不会解除。

若ECU支持seed和Key算法,则TSMaster依赖实施了对应解锁算法的DLL文件。关于此文件的制作方法,请参考AN0002。

  1. 支持XCP的ECU

由于演示需要,本例使用Vector安装包自带的XCPSim虚拟ECU作为示例,展示如何使用TSMaster对这个ECU进行标定。在实际应用中应当将ECU切换为用户真实的ECU。

XCPSim默认基于Vector虚拟1的硬件通道2运行,故应用程序只需连接Vector虚拟1的硬件通道1即可与之进行通信。

安装Vector CANoe Demo版本或Vector CANape后,使用everything搜索“XCPSim.exe”并启动它:

图表 2 Vector的XCPSim

  1. 同星XCP License授权

同星XCP模块是TSMaster免费软件中少数几个需要注册才能使用完整功能的模块之一,若没有注册同星XCP模块,在实际标定中会有如下限制:

  1. 无XCP License的限制
序号 功能 限制
1 支持的硬件 TSMaster所有支持的硬件(同星、Vector、PEAK、英特佩斯、Kvaser、周立功)都可以连接,但是只能监控变量,无法修改变量
2 监控变量数量 每个ECU可以同时监控最多8个变量
3 下载,修改变量 不支持
  1. XCP License特性

XCP License依赖硬件,且只能安装在同星的硬件中,故其他品牌的工具无法注册XCP License。注册同星XCP License后,使用方面需要注意的特性如下:

序号 功能 特性
1 支持的硬件 同星生产的硬件
2 监控变量数量 无限
3 下载,修改变量 支持,无限数量
4 支持的通道 安装License的硬件自带的所有CAN通道,注意,在一个TSMaster应用程序里仿真的其他工具的通道是不支持XCP License的
  1. 同星XCP License授权

请联系同星智能获取XCP License授权的相关信息。

联系方式如下:

地址:上海市嘉定区曹安公路4801号同济大学国家大学科技园嘉定分园

​邮箱:[email protected]

电话:+86-021-59560506

在获得了同星XCP License的授权,并得到了带License的硬件后,插入硬件,使用TSMaster连接硬件一次后,在TSMaster的关于页面中,将出现授权信息:

图表 3 授权信息将显示在TSMaster 的关于窗口中

  1. TSMaster XCP标定模块基本配置

    1. TSMaster XCP模块用户界面

根据如下步骤创建一个新工程,并使用标定模块:

  1. 新建工程

    点击新建工程将会弹出模板选择对话框。

图表 4 点击工具栏-工程-新建按钮

  1. 选择标定工程模板

图表 5 选择标定工程模板

  1. 这将创建一个标定空工程

图表 6 标定空工程

  1. 在标定窗口中,选中“设备”节点,在其上点击右键,选择“新建ECU”

图表 7 新建ECU

  1. 输入ECU的名称后点击确定,系统将自动添加并选中新创建的ECU

图表 8 新建的ECU

  1. 载入A2L文件,首先选中“数据库”一行,点击右侧的“打开”按钮,选中这个ECU的A2L文件,载入过程和文件大小有关,若文件很大,则需要耐心等待片刻

  2. 载入完成后系统会自动将源A2L文件拷贝至工程目录,并自动为A2L命名,其命名格式是:ECU名称作为前缀 + 源A2L文件名

图表 9 载入A2L文件后,界面将显示A2L文件名

载入A2L文件后,可以查看ECU节点下方展开的“数据库”、“协议”

  1. 数据库页面显示了A2L内部的测量量和特性等信息

图表 10 数据库信息

  1. 数据库支持搜索,可以输入任意关键字以过滤变量

图表 11 数据库的过滤功能

  1. 协议页面显示ECU的标定协议属性

图表 12 协议页面

  1. 点击“Seed和Key算法DLL文件”右侧的“打开”按钮,加载ECU的解锁算法DLL文件

  2. 载入Seed和Key的DLL文件后,系统会将此DLL拷贝到工程文件夹中,并自动为其命名,命名规则是:ECU名称作为前缀 + 算法DLL文件名

图表 13 载入Seed和Key算法DLL文件后,系统自动为其命名

  1. 将需要观测的变量添加到测量列表中

图表 14 标定模块的测量列表

  1. 记录引擎

    记录引擎默认是未激活状态,需要勾选最下方的激活复选框以使能记录引擎,在测量运行过程中自动记录所需要的变量值

图表 15 记录引擎默认状态

  1. 勾选记录引擎并编辑引擎注释,此注释信息将自动记录到目标mat文件中

图表 16 修改记录引擎属性

  1. 基本的测量功能配置

  2. 添加测量对象

图表 17 选中需要观测的变量后,点击右键选择添加至列表

  1. 切到“测量列表”页面,将看到刚才添加的测量对象

图表 18 添加的测量对象将出现在测量列表中

  1. 测量列表中定义了每个变量所使用的测量模式,若需要集体修改测量模式,可以按住shift多选测量对象,并在右侧任意一个选中的测量模式一列中,选择另一个测量模式,即可完成所选部分的全部切换

图表 19 测量模式集体切换

  1. 本示例设置前三个观测量为10ms DAQ,最后一个观测量为100ms DAQ

图表 20 测量模式设置

  1. 配置标定硬件通道并启动标定

  2. 设置硬件通道

在本例中,使用的是Vector 虚拟1的硬件通道1,在实际应用中,请选择ECU所在的通道

图表 21 硬件连接配置

连接TSMaster成功后,点击标定界面工具栏左上角的“连接”,将连接被测ECU,并自动解锁;连接成功后,再点击“运行”按钮,将启动DAQ,此时ECU将自动发送DAQ报文至工具端。

图表 22 依次点击标定窗口左上角的“连接”和“启动”按钮启动标定的测量功能

  1. 标定测量开始时,可从报文信息窗口观察XCP报文

图表 23 可从Trace窗口观察XCP报文

  1. 设置标定模块的自动运行

标定模块也可以随TSMaster应用程序的启动而自动启动,而不需要手动点击连接和启动按钮

图表 24 勾选窗口右上角的闪电按钮,将使得标定模块在TSMaster连接时自动运行

  1. 基本的标定功能

在DAQ启动后,TSMaster自动将ECU内部的每一个变量映射到与之对应的系统变量中,即ECU内部的变量的变化将直接作用在系统变量中,故可以通过观测这些系统变量来观测ECU内部的变量。而对于标定量来说,与其对应的系统变量时可写的,写入这些系统变量意味着修改ECU内部的标定量。

  1. 通过系统变量观测ECU变量

用户可以在TSMaster软件中任何可观测系统变量的窗口中(图形、面板、仪表盘、小程序、系统变量管理器等等),添加并观测所需观测的系统变量,当然也包括标定ECU关联的系统变量,以图形窗口为例,在信号列表中右键单击,在弹出的右键菜单中选择“添加系统变量”:

图表 25 图形中,添加系统变量

将弹出系统变量选择器:

图表 26 系统变量选择器

可以在选择器中过滤,例如输入“sine”:

图表 27 系统变量选择器的过滤功能

选择“ecu1.sineSignal”后点击确定按钮,将可以在图形窗口观察该变量的实时变化曲线:

图表 28 在图形窗口中添加了测量对象对应的系统变量

按照此方法逐个添加示例中已添加DAQ的四个观测量:

图表 29 四个DAQ观测量

选择分离视图,将四个坐标轴分开:

图表 30 选择分离视图

可看到分开显示的四个变量:

图表 31 图形窗口中分开显示的四个变量

  1. 通过系统变量修改标定量

修改标定量同样针对其所关联的系统变量,可通过小程序,系统变量管理器,信号激励等功能修改一个标定量,以信号激励窗口为例,首先打开信号激励窗口

图表 32 信号激励窗口

点击左上角的“添加系统变量”按钮,将打开系统变量选择器,注意,灰色的变量是只读变量,即观测量,这类变量是不能修改值的,故应当选择可写入的系统变量(即标定量):

图表 33 系统变量选择器选择标定量

信号激励窗口不但可以修改标定量,还可以修改除了标定意外的任意可写入的系统变量的值,例如让某个系统变量跟随一个特定的自定义曲线变化,故具有非常广泛的应用。

选择两个信号“ecu1.sineSignal”和“ecu1.sineSignalFreq”,点击确定后,信号激励列表将出现这两个新增的系统变量:

图表 34 向信号激励窗口新增系统变量

可以看到ECU内部这两个变量的默认值是1,点击第一个信号的物理值的上键,让其自增1:

图表 35 可通过按钮和文本框修改系统变量的值

当把幅值改为2后,切换到图形窗口,可以看到正弦波的幅值发生了变化:

图表 36 对修改后的标定量所影响的测量量进行观测

  1. 通过信号激励窗口制造变量变化曲线

将幅值信号的信号生成器类型选择为正弦波,可以控制ECU内部的标定量以正弦波方式变化

图表 37 选择信号生成器

选择后点击信号生成器一列最右侧的配置按钮,将打开信号生成器的配置界面,可以看到周期生成的属性中,周期是100 ms,表示激励的周期,可以增加或缩小,最小周期是1 ms,注意,周期越小,网络负荷越重。

此外可以修改信号的周期、幅值、相位和偏移量等等参数值:

图表 38 信号生成器属性配置

修改完毕后点击确定按钮,可以看到信号生成器还未启动,需要手动点击蓝色的启动箭头以启动信号生成,当然也可以勾选此窗口右上角的闪电选择框,让其在TSMaster应用程序启动时一同启动运行。

图表 39 点击信号生成器的运行按钮以启动信号修改

点击启动后,可以看到信号生成器处于运行状态,此时信号“ecu1.sineSignal”将以100 ms为周期产生变化,此时可以暂停信号生成或停止信号生成。

图表 40 信号生成器处于运行状态

切换到图形窗口,可以看到幅值被同时修改后的正弦曲线产生的变化:

图表 41 持续修改一个标定量后观测与其关联的测量量

  1. 修改信号的测量模式

除了ECU内部自带的DAQ测量模式外,系统还提供了查询(Polling)模式

图表 42 信号的测量模式

本例中修改noiseSignal为查询模式,并将pulseSignal进行分频:

图表 43 修改测量模式

随后启动标定测量,可以看到多种测量模式同时运行中。

图表 44 多种测量模式同时运行

  1. 信号记录功能

同星XCP模块支持直接将信号记录到mat文件中,这给基于MBD的算法开发和测试带来极大的便利。基本的信号记录功能参考之前的章节,本章节介绍如何将CAN信号和标定信号同时记录在一个文件中。

  1. 关联CAN数据库

断开TSMaster的连接,将dbc文件拖入TSMaster中,将自动打开数据库查看器并载入此数据库。数据库载入后需要配置信号映射功能,将CAN信号映射到系统变量中,这样的好处是系统的仿真,调试直接依赖系统变量,若后续更改了数据库,只需更改信号映射即可,而无需修改脚本,无需修改与系统变量相关的任何元素。

图表 45 拖入dbc文件,本例使用“Powertrain.dbc”

  1. 配置符号映射引擎

点击“仿真”工具栏中的“符号映射”,将打开符号映射管理器,在此例中我们希望记录“EngineData”报文中“EngSpeed”这个信号的值,在对话框左侧的过滤器中输入“speed”,过滤出带“speed”的数据库符号,在右侧的系统变量列表中,点击右键添加一个新的系统变量:

图表 46 符号映射对话框

系统变量选择器对话框将弹出:

图表 47 系统变量选择器

由于内部变量为系统自动生成,用户需要添加的变量都应当在用户变量列表中,故切换到用户变量页面,添加一个新的用户变量:

图表 48 创建用户变量

输入新的用户变量为“XCPSimBus.engine_speed”:

图表 49 添加新的用户变量

添加后的系统变量将在列表中显示出来:

图表 50 增加后的用户变量

选中这个变量后点击“确定”,将在符号映射中添加这个新创建的变量。添加后,同时选中左边栏的信号,和右边栏的系统变量,再在上方工具栏中点击“连接”按钮,将创建CAN信号到系统变量的符号映射。

图表 51 同时选中左侧的信号和右侧的变量,再点击工具栏上方的“连接”按钮

连接成功后将会提示映射创建成功:

图表 52 信号映射添加成功

符号映射引擎默认是关闭状态,需要勾选左上角的“激活”使其在应用程序连接时自动工作:

图表 53 激活映射引擎

  1. 激励CAN信号

在实际的应用中,变化的CAN信号来自接收到的报文,在本例中,为了演示需要,将构造一条发送报文来激励信号,打开CAN / CAN FD发送窗口,点击左上角的“添加”按钮,选择EngineData报文后点击确定:

图表 54 添加激励报文

选中“EngSpeed”信号,修改其激励属性:

图表 55 修改CAN信号生成器

本例中选择了正弦波:

图表 56 勾选发送窗口右上角的闪电按钮,使其自动激励

启动仿真后,可以看到这个信号的值呈现3秒周期的自动变化:

图表 57 右侧的报文信息窗口显示信号呈周期变化

  1. 查看映射变量

这时候我们可以在图形窗口中映射变量“XCPSimBus.engine_speed”的变化曲线,首先点击右键选择添加系统变量:

图表 58 添加映射变量

选择系统变量:

图表 59 选择需要观测的系统变量

图形将显示映射后的系统变量的变化曲线:

图表 60 映射后的系统变量变化曲线

  1. 记录系统变量

打开记录引擎的系统变量记录页面,此页面不但可以记录映射的系统变量,也可以记录其他任何系统变量。右键点击后,选择“添加”按钮:

图表 61 系统变量记录页面

在系统变量选择器中,选择需要记录的系统变量:

图表 62 选择需要记录的系统变量

选择后,记录系统变量界面增加了一条系统变量记录:

图表 63 系统变量记录配置

按F5启动应用程序,可以看到带系统变量记录的测量过程:

图表 64 带系统变量记录的测量过程

停止应用程序后,mat文件将自动创建在TSMaster二进制文件路径 bin\Logging\signals\ 下面。

  1. 信号回放功能

    1. 添加记录文件

在被测ECU的“测量记录”节点上点击右键,选择“载入”以加载并回放记录文件。加载后的文件的链接将保留在测量记录中,用户可以切换回放目标,并反复回放某个记录文件。

图表 65 添加并载入记录文件

在弹出的对话框中选择TSMaster输出的mat格式的记录文件:

图表 66 选择mat格式的记录文件

若记录文件很大,将显示回放进程对话框,用户可以随时打断回放过程:

图表 67 回放过程控制

  1. 通过TSMaster回放记录文件

可以在记录文件中点击右键,选择回放功能:

图表 68 回放记录文件

  1. 通过Matlab回放记录文件

直接将mat文件拖入Matlab界面中,即可在工作区载入此mat文件内容。

图表 69 mat文件载入

关于mat文件信号生成timeseries,以及在simulink回放等功能,请参考AN0003。