TSMaster如何使用同星标定模块

汽车电子技术高速发展,涉及到的电控ECU数量急剧增加,控制的对象也纷繁多样,控制的难度显著增加。控制的效果一方面取决于控制算法的设计,另一方面则更多的取决于参数的标定调试。

TSMaster是一款面向汽车电子应用的标定工具软件,将为广大的汽车电子研发工程师和标定工程师提供一个全新的选择。本章节我们主要介绍如何使用TSMaster进行标定。

本文目录:

一、标定输入文件准备

1. A2L文件

2. Seed & Key 算法文件

3. 支持标定的 ECU

二、同星标定 License 授权

1. 无标定 License 的限制

2. 标定 License 特性

3. 同星标定 License 授权

三、TSMaster 标定模块基本配置

1. TSMaster 标定模块用户界面

2. 基本的测量功能配置

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

4. 基本的标定功能

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

4-2. 通过系统变量修改标定量

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

4-4. 修改信号的测量模式

四、信号记录功能

1. 关联 CAN 数据库

2. 配置符号映射引擎

3. 激励 CAN 信号

4. 查看映射变量

5. 记录系统变量

五、信号回放功能

1. 添加记录文件

2. 通过 TSMaster 回放记录文件

3. 通过 Matlab 回放记录文件

一、标定输入文件准备

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

(TSMaster依赖的A2L文件和Seed&Key文件)

1、A2L文件

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

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

2、Seed & Key 算法文件

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

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

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

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

3、支持标定的 ECU 

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

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

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

TSMaster如何使用同星标定模块_第1张图片

(上图为Vector的XCPSim)

二、同星标定License授权

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

1、无标定License的限制

序号

功能

限制

1

支持的硬件

TSMaster所有支持的硬件(同星、Vector、PEAK、英特佩斯、Kvaser、周立功)都可以链接,但是只能监控变量,无法修改变量

2

监控变量数量

每个ECU可以同时监控最多8个变量

3

下载,修改变量

不支持

2、标定License特性

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

序号

功能

特性

1

支持的硬件

同星生产的硬件

2

监控变量数量

无限

3

下载,修改变量

支持,无限数量

4

支持的通道

安装 License 的硬件自带的所有 CAN 通道, 注意,在一个 TSMaster 应用程序里仿真的其

他工具的通道是不支持标定 License 的

3、同星标定License授权

请联系同星智能获取标定 License 授权的相关信息。联系方式如下。

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

邮箱:[email protected]

电话:+86-021-59560506

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

TSMaster如何使用同星标定模块_第2张图片

(授权信息将显示在 TSMaster 的关于窗口中)

三、TSMaster标定模块基本配置

1、TSMaster标定模块用户界面

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

1)新建工程

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

TSMaster如何使用同星标定模块_第3张图片(点击工具栏-工程-新建按钮)

2)选择标定工程模块

TSMaster如何使用同星标定模块_第4张图片

 3)创建一个标定空工程

TSMaster如何使用同星标定模块_第5张图片

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

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

TSMaster如何使用同星标定模块_第6张图片

 6)驱动选择,用户根据需要,在参数第一行,选择 XCP 还是 CCP 协议,在选择协议后,再载入数据库文件。若载入 A2L 文件后需要调整协议,则在协议更改后,需要再次载入一遍 A2L 文件。

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

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

TSMaster如何使用同星标定模块_第7张图片 (载入A2L文件后,界面将显示A2L文件名)

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

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

TSMaster如何使用同星标定模块_第8张图片

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

TSMaster如何使用同星标定模块_第9张图片

 11)协议页面显示 ECU 的标定协议属性

TSMaster如何使用同星标定模块_第10张图片

12)点击“Seed 和 Key 算法 DLL 文件”右侧的“打开”按钮,加载 ECU 的解锁算法 DLL 文件,若 ECU 无需解锁则可跳过此步骤。

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

14)将需要观测的变量添加到测量列表中

TSMaster如何使用同星标定模块_第11张图片

 15)记录引擎

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

TSMaster如何使用同星标定模块_第12张图片

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

TSMaster如何使用同星标定模块_第13张图片

 2、基本的测量功能配置

1)添加测量对象

TSMaster如何使用同星标定模块_第14张图片(选中需要观测的变量后,点击右键选择添加至列表)

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

TSMaster如何使用同星标定模块_第15张图片

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

TSMaster如何使用同星标定模块_第16张图片

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

TSMaster如何使用同星标定模块_第17张图片

 3、配置标定硬件通道并启动标定

1)设置硬件通道

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

TSMaster如何使用同星标定模块_第18张图片

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

TSMaster如何使用同星标定模块_第19张图片

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

TSMaster如何使用同星标定模块_第20张图片

 3)设置标定模块的自动运行

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

TSMaster如何使用同星标定模块_第21张图片

 4、基本的标定功能

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

4-1 通过系统变量观测ECU变量

用户可以在 TSMaster 软件中任何可观测系统变量的窗口中(图形、面板、仪表盘、小程序、系统变量管理器等等),添加并观测所需观测的系统变量,当然也包括标定 ECU 关联的系统变量。添加观测信号最为快捷的方法是从数据库中过滤所需的信号,选中单个或多个信号,点击右键,在右键菜单中选择添加至图形,或是面板。如下图所示:

TSMaster如何使用同星标定模块_第22张图片(直接从数据库向图形窗口添加观测量)

另一种方法是在已有的测量窗口中直接添加。以图形窗口为例,在信号列表中右键单击,在弹出的右键菜单中选择“添加系统变量”:

TSMaster如何使用同星标定模块_第23张图片

 将弹出系统变量选择器:

TSMaster如何使用同星标定模块_第24张图片

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

TSMaster如何使用同星标定模块_第25张图片(系统变量选择器的过滤功能)

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

TSMaster如何使用同星标定模块_第26张图片(在图形窗口中添加了测量对象对应的系统变量)

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

TSMaster如何使用同星标定模块_第27张图片

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

TSMaster如何使用同星标定模块_第28张图片

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

TSMaster如何使用同星标定模块_第29张图片

4-2 通过系统变量修改标定量

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

TSMaster如何使用同星标定模块_第30张图片

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

TSMaster如何使用同星标定模块_第31张图片

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

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

TSMaster如何使用同星标定模块_第32张图片(向信号激励窗口新增系统变量) 

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

(可通过按钮和文本框修改系统变量的值)

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

TSMaster如何使用同星标定模块_第33张图片(对修改后的标定量所影响的测量量进行观测)

4-3 通过信号激励窗口制造变量变化曲线

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

TSMaster如何使用同星标定模块_第34张图片

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

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

TSMaster如何使用同星标定模块_第35张图片(信号生成器属性配置)

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

TSMaster如何使用同星标定模块_第36张图片

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

TSMaster如何使用同星标定模块_第37张图片

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

TSMaster如何使用同星标定模块_第38张图片

4-4 修改信号的测量模式

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

TSMaster如何使用同星标定模块_第39张图片

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

TSMaster如何使用同星标定模块_第40张图片

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

TSMaster如何使用同星标定模块_第41张图片

四、信号记录功能

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

1、关联CAN数据库

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

TSMaster如何使用同星标定模块_第42张图片(拖入dbc文件,本例使用“Powertrain.dbc”)

2、配置符号映射引擎

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

TSMaster如何使用同星标定模块_第43张图片

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

TSMaster如何使用同星标定模块_第44张图片

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

TSMaster如何使用同星标定模块_第45张图片

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

TSMaster如何使用同星标定模块_第46张图片

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

TSMaster如何使用同星标定模块_第47张图片

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

TSMaster如何使用同星标定模块_第48张图片

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

TSMaster如何使用同星标定模块_第49张图片

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

TSMaster如何使用同星标定模块_第50张图片

3、激励CAN信号

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

TSMaster如何使用同星标定模块_第51张图片

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

TSMaster如何使用同星标定模块_第52张图片(修改CAN信号生成器)

本例中选择了正弦波:

TSMaster如何使用同星标定模块_第53张图片(勾选发送窗口右上角的闪电按钮,使其自动激励)

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

TSMaster如何使用同星标定模块_第54张图片

4、查看映射变量

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

TSMaster如何使用同星标定模块_第55张图片

选择系统变量:

TSMaster如何使用同星标定模块_第56张图片

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

TSMaster如何使用同星标定模块_第57张图片

5、记录系统变量

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

TSMaster如何使用同星标定模块_第58张图片

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

TSMaster如何使用同星标定模块_第59张图片

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

TSMaster如何使用同星标定模块_第60张图片

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

TSMaster如何使用同星标定模块_第61张图片

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

五、信号回放功能

1、添加记录文件

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

TSMaster如何使用同星标定模块_第62张图片

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

TSMaster如何使用同星标定模块_第63张图片

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

TSMaster如何使用同星标定模块_第64张图片

2、通过TSMaster回放记录文件

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

TSMaster如何使用同星标定模块_第65张图片

3、通过Matlab回放记录文件

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

TSMaster如何使用同星标定模块_第66张图片

 关于 mat 文件信号生成 timeseries,以及在 simulink 回放等功能,请见下周文章分享。

关于TSMaster软件

  //  TSMaster 是同星推出的虚拟仪器软件平台,可连接、配置并控制所有同星的硬件工具、设备,实现汽车总线嵌入式代码生成、监控、仿真、开发、诊断、标定、Bootloader、I/O 控制、测试测量、EOL 等多种场合的功能需求。且软件 90%功能免费。

TSMaster 自带的小程序功能支持用户自定义仿真测试面板,测试流程,测试逻辑,甚至测试系统和自动化生成报告。用户基于 TSMaster 所写的每一行代码具有硬件无关性,可分享,可引用,可跨硬件平台

此外,TSMaster 可支持 Matlab Simulink 联合仿真,支持联合 Carsim 完成带车辆动力学模型的 ECU 算法仿真测试(软实时 HIL)。内置 C 脚本、Python 脚本编辑器,可直接在 TSMaster 中执行 ECU 代码。

TSMaster 还可以支持 Vector、Kvaser、PEAK、ICS、周立功总线工具及市场上主流的仪器(示波器、波形发生器、数字万用表)、板卡(AI、DI、DO 等),可实现多硬件、多通道联合仿真、测试。

你可能感兴趣的:(软件工程,汽车)