全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 可编程逻辑 >

TSMaster应用笔记2:如何使用XCP模块进行标定

时间:2022-04-29 10:51

人气:

作者:admin

标签: 模块 

导读:标定,作为整车及ECU开发过程中不可或缺的一个开发流程,对整车及ECU性能的优化起着至关重要的作用,可是行业内可供选择的标定工具种类却非常有限,TSMaster将为广大的研发工程师和...

标定,作为整车及ECU开发过程中不可或缺的一个开发流程,对整车及ECU性能的优化起着至关重要的作用,可是行业内可供选择的标定工具种类却非常有限,TSMaster将为广大的研发工程师和标定工程师提供一个全新选择。

接下来小星将通过几篇应用笔记,告诉大家如何使用TSMaster进行标定。

A

标定输入文件准备

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

8cd87fce-c71e-11ec-8521-dac502259ad0.png

1A2L文件

A2L文件是采用ASAP2指定的一套类XML语言的描述性语言(采用开标签和关标签来描述信息)书写的文件,它里边包含了某个特定的ECU中的软件和系统信息,还包含了上位机和ECU通讯方式的约定,它用来指导上位机和ECU的通讯交互过程,让他们对交互的信息有一致的认识,从而是上位机工具准确且友好的将ECU中的信息展现给用户。目前同星XCP模块只支持载入最高版本为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文件。关于此文件的制作方法,请参考随后的应用笔记。

3 支持XCP的ECU

由于演示需要,本例使用Vector安装包自带的XCPSim虚拟ECU作为示例,展示如何使用TSMaster对这个ECU进行标定。在实际应用中应当将ECU切换为用户真实的ECU。XCPSim默认基于Vector虚拟1的硬件通道2运行,故应用程序只需连接Vector虚拟1的硬件通道1即可与之进行通信。安装Vector CANoe Demo版本或Vector CANape后,使用everything搜索“XCPSim.exe”并启动它:

8cef3f34-c71e-11ec-8521-dac502259ad0.png

B

同星XCP license授权

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

1 无XCP License的限制

序号

功能

限制

1

支持的硬件

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

2

监控变量数量

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

3

下载,修改变量

不支持


2 XCP License特性

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

序号

功能

特性

1

支持的硬件

同星生产的硬件

2

监控变量数量

无限

3

下载,修改变量

支持,无限数量

4

支持的通道

安装License的硬件自带的所有CAN通道,注意,在一个TSMaster应用程序里仿真的其他工具的通道是不支持XCP License的

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

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

邮箱:sales@tosunai.cn

电话:+86-021-59560506

网址:www.tosunai.cn

技术论坛:www.tosun.tech

应用案例:https://github.com/TOSUN-Shanghai/TSMaster

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

8cffce9e-c71e-11ec-8521-dac502259ad0.png

C

TSMaster XCP标定模块基本配置

1 TSMaster XCP模块用户界面

根据如下步骤创建一个新工程,并使用标定模块:(1)新建工程点击新建工程将会弹出模板选择对话框。

8d2f4016-c71e-11ec-8521-dac502259ad0.png

(2)选择标定工程模版

8d4fda92-c71e-11ec-8521-dac502259ad0.png

(3)这将创建一个空的标定工程

8d6003a4-c71e-11ec-8521-dac502259ad0.png

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

8d6facaa-c71e-11ec-8521-dac502259ad0.png

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

8d7cf266-c71e-11ec-8521-dac502259ad0.png

(6)载入A2L文件,首先选中“数据库”一行,点击右侧的“打开”按钮,选中这个ECU的A2L文件,载入过程和文件大小有关,若文件很大,则需要耐心等待片刻。
(7)载入完成后系统会自动将源A2L文件拷贝至工程目录,并自动为A2L命名,其命名格式是:ECU名称作为前缀 + 源A2L文件名。

8da4973a-c71e-11ec-8521-dac502259ad0.png

载入A2L文件后,可以查看ECU节点下方展开的“数据库”、“协议”。
(8)数据库页面显示了A2L内部的测量量和特性等信息

8dbe003a-c71e-11ec-8521-dac502259ad0.png

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

8dd3c67c-c71e-11ec-8521-dac502259ad0.png

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

8de92012-c71e-11ec-8521-dac502259ad0.png

(11)点击“Seed和Key算法DLL文件”右侧的“打开”按钮,加载ECU的解锁算法DLL文件。
(12)载入Seed和Key的DLL文件后,系统会将此DLL拷贝到工程文件夹中,并自动为其命名,命名规则是:ECU名称作为前缀 + 算法DLL文件名。

8df8c6c0-c71e-11ec-8521-dac502259ad0.png

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

8e0da400-c71e-11ec-8521-dac502259ad0.png

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

8e377974-c71e-11ec-8521-dac502259ad0.png

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

8e53b288-c71e-11ec-8521-dac502259ad0.png

2 基本的测量功能配置

(1)添加测量对象
选中需要观测的变量后,点击右键选择添加至列表。

8e7cfa4e-c71e-11ec-8521-dac502259ad0.png

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

8e8c6fd8-c71e-11ec-8521-dac502259ad0.png

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

8ea7ff0a-c71e-11ec-8521-dac502259ad0.png

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

8eb8cae2-c71e-11ec-8521-dac502259ad0.png


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

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

8ee24afc-c71e-11ec-8521-dac502259ad0.png

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

8f28a222-c71e-11ec-8521-dac502259ad0.png

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

8f54b218-c71e-11ec-8521-dac502259ad0.png

(3)设置标定模块的自动运行标定模块也可以随TSMaster应用程序的启动而自动启动,而不需要手动点击连接和启动按钮,勾选窗口右上角的闪电按钮,将使得标定模块在TSMaster连接时自动运行。

8f64ef20-c71e-11ec-8521-dac502259ad0.png

4 基本标定功能
在DAQ启动后,TSMaster自动将ECU内部的每一个变量映射到与之对应的系统变量中,即ECU内部的变量的变化将直接作用在系统变量中,故可以通过观测这些系统变量来观测ECU内部的变量。而对于标定量来说,与其对应的系统变量时可写的,写入这些系统变量意味着修改ECU内部的标定量。
(1)通过系统变量观测ECU变量用户可以在TSMaster软件中任何可观测系统变量的窗口中(图形、面板、仪表盘、小程序、系统变量管理器等等),添加并观测所需观测的系统变量,当然也包括标定ECU关联的系统变量,以图形窗口为例,在信号列表中右键单击,在弹出的右键菜单中选择“添加系统变量”:

8f76394c-c71e-11ec-8521-dac502259ad0.png

在图形中,添加系统变量,将弹出系统变量选择器:

8f871280-c71e-11ec-8521-dac502259ad0.png

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

8f99119c-c71e-11ec-8521-dac502259ad0.png

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

8fdb23e8-c71e-11ec-8521-dac502259ad0.png

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

8fec6072-c71e-11ec-8521-dac502259ad0.png

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

8ffc023e-c71e-11ec-8521-dac502259ad0.png

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

900ca6ca-c71e-11ec-8521-dac502259ad0.png

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

901e0834-c71e-11ec-8521-dac502259ad0.png

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

90313800-c71e-11ec-8521-dac502259ad0.png

信号激励窗口不但可以修改标定量,还可以修改除了标定意外的任意可写入的系统变量的值,例如让某个系统变量跟随一个特定的自定义曲线变化,故具有非常广泛的应用。选择两个信号“ecu1.sineSignal”和“ecu1.sineSignalFreq”,点击确定后,信号激励列表将出现这两个新增的系统变量:

90529c84-c71e-11ec-8521-dac502259ad0.png

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

9062774e-c71e-11ec-8521-dac502259ad0.png

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

9072fd4e-c71e-11ec-8521-dac502259ad0.png

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

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

9099028c-c71e-11ec-8521-dac502259ad0.png

选择后点击信号生成器一列最右侧的配置按钮,将打开信号生成器的配置界面,可以看到周期生成的属性中,周期是100 ms,表示激励的周期,可以增加或缩小,最小周期是1 ms,注意,周期越小,网络负荷越重。此外可以修改信号的周期、幅值、相位和偏移量等等参数值:

90b667be-c71e-11ec-8521-dac502259ad0.png

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

90ec7e9e-c71e-11ec-8521-dac502259ad0.png

点击启动后,可以看到信号生成器处于运行状态,此时信号“ecu1.sineSignal”将以100 ms为周期产生变化,此时可以暂停信号生成或停止信号生成。切换到图形窗口,可以看到幅值被同时修改后的正弦曲线产生的变化:

911406c6-c71e-11ec-8521-dac502259ad0.png

4 修改信号的测量模式

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

913adbd4-c71e-11ec-8521-dac502259ad0.png

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

9156cace-c71e-11ec-8521-dac502259ad0.png

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

91617ba4-c71e-11ec-8521-dac502259ad0.png

D

信号记录功能

同星XCP模块支持直接将信号记录到mat文件中,这给基于MBD的算法开发和测试带来极大的便利。基本的信号记录功能参考之前的章节,本章节介绍如何将CAN信号和标定信号同时记录在一个文件中。1 关联CAN数据库断开TSMaster的连接,将dbc文件拖入TSMaster中,将自动打开数据库查看器并载入此数据库。数据库载入后需要配置信号映射功能,将CAN信号映射到系统变量中,这样的好处是系统的仿真,调试直接依赖系统变量,若后续更改了数据库,只需更改信号映射即可,而无需修改脚本,无需修改与系统变量相关的任何元素。

91924090-c71e-11ec-8521-dac502259ad0.png

2 配置符号映射引擎

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

91a33c10-c71e-11ec-8521-dac502259ad0.png

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

91b2fef2-c71e-11ec-8521-dac502259ad0.png

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

91c663d4-c71e-11ec-8521-dac502259ad0.png

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

91d76a62-c71e-11ec-8521-dac502259ad0.png

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

‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍920447a8-c71e-11ec-8521-dac502259ad0.png‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

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

92254d36-c71e-11ec-8521-dac502259ad0.png

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

924710b0-c71e-11ec-8521-dac502259ad0.png

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

926f307c-c71e-11ec-8521-dac502259ad0.png


3激励CAN信号

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

928e6456-c71e-11ec-8521-dac502259ad0.png

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

92b8bab2-c71e-11ec-8521-dac502259ad0.png

本例中选择了正弦波,勾选发送窗口右上角的按钮,使其自动激励:

92c953e0-c71e-11ec-8521-dac502259ad0.png

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

92da295e-c71e-11ec-8521-dac502259ad0.png

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

92eb5c56-c71e-11ec-8521-dac502259ad0.png

选择系统变量:

92fcddaa-c71e-11ec-8521-dac502259ad0.png

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

930ca9ec-c71e-11ec-8521-dac502259ad0.png


5 记录系统变量

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

93287780-c71e-11ec-8521-dac502259ad0.png

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

93380b0a-c71e-11ec-8521-dac502259ad0.png

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

934ddd36-c71e-11ec-8521-dac502259ad0.png

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

936719fe-c71e-11ec-8521-dac502259ad0.png

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

E

信号回放功能

1 添加记录文件

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

937f85de-c71e-11ec-8521-dac502259ad0.png

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

93abf77c-c71e-11ec-8521-dac502259ad0.png

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

93d2454e-c71e-11ec-8521-dac502259ad0.png

2 通过TSMaster回放记录文件

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

93ee84de-c71e-11ec-8521-dac502259ad0.png

3 通过Matlab回放记录文件

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

9414d13e-c71e-11ec-8521-dac502259ad0.png

关于mat文件信号生成timeseries,以及在simulink回放等功能,请参考后续的应用笔记。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信